Date post: | 31-Dec-2015 |
Category: |
Documents |
Upload: | leslie-benson |
View: | 217 times |
Download: | 3 times |
Presentation to University College London, January 14, 1999
Internetworked 3D Graphics andInternetworked 3D Graphics andvirtual reality transfer protocol (vrtp)virtual reality transfer protocol (vrtp)
Don BrutzmanDon BrutzmanNaval Postgraduate SchoolNaval Postgraduate School
[email protected]@nps.navy.mil
Goal outcomes
Network capabilities for multicastNetwork capabilities for multicast
Describe internetworked 3D graphicsDescribe internetworked 3D graphics
DIS-Java-VRML and examplesDIS-Java-VRML and examples
Dial-a-Behavior ProtocolDial-a-Behavior Protocol
vrtp componentsvrtp components
Future workFuture work
Network capabilities for multicastNetwork capabilities for multicast
Describe internetworked 3D graphicsDescribe internetworked 3D graphics
DIS-Java-VRML and examplesDIS-Java-VRML and examples
Dial-a-Behavior ProtocolDial-a-Behavior Protocol
vrtp componentsvrtp components
Future workFuture work
Differences
Graphics and networks are usually Graphics and networks are usually considered “different disciplines”considered “different disciplines”
Getting them to work together requires Getting them to work together requires understanding bothunderstanding both
Graphics and networks are usually Graphics and networks are usually considered “different disciplines”considered “different disciplines”
Getting them to work together requires Getting them to work together requires understanding bothunderstanding both
Application Layer interfaces
SocketsSockets
• one-one or many-many, reliable or unreliableone-one or many-many, reliable or unreliable
Uniform Resource Locators (URLs)Uniform Resource Locators (URLs)
• query servers, access scripts & databasesquery servers, access scripts & databases
Various virtual world toolkit librariesVarious virtual world toolkit libraries
• no single winner, your mileage may varyno single winner, your mileage may vary
• Kent Watsen working on Bamboo plugin architecture Kent Watsen working on Bamboo plugin architecture http:/npsnet.nps.navy.mil/Bamboohttp:/npsnet.nps.navy.mil/Bamboo
SocketsSockets
• one-one or many-many, reliable or unreliableone-one or many-many, reliable or unreliable
Uniform Resource Locators (URLs)Uniform Resource Locators (URLs)
• query servers, access scripts & databasesquery servers, access scripts & databases
Various virtual world toolkit librariesVarious virtual world toolkit libraries
• no single winner, your mileage may varyno single winner, your mileage may vary
• Kent Watsen working on Bamboo plugin architecture Kent Watsen working on Bamboo plugin architecture http:/npsnet.nps.navy.mil/Bamboohttp:/npsnet.nps.navy.mil/Bamboo
Transport Layer
Host-host byte stream or datagram Host-host byte stream or datagram communication between applicationscommunication between applications• reliable delivery connection-oriented TCPreliable delivery connection-oriented TCP• unreliable delivery connectionless UDPunreliable delivery connectionless UDP• experimental “reliable multicast” (not yet)experimental “reliable multicast” (not yet)
““Reliable” has numerous simultaneous Reliable” has numerous simultaneous competing tradeoffs competing tradeoffs
Basic goal remains simple: exchange datagrams Basic goal remains simple: exchange datagrams end-to-end with other hostsend-to-end with other hosts
Host-host byte stream or datagram Host-host byte stream or datagram communication between applicationscommunication between applications• reliable delivery connection-oriented TCPreliable delivery connection-oriented TCP• unreliable delivery connectionless UDPunreliable delivery connectionless UDP• experimental “reliable multicast” (not yet)experimental “reliable multicast” (not yet)
““Reliable” has numerous simultaneous Reliable” has numerous simultaneous competing tradeoffs competing tradeoffs
Basic goal remains simple: exchange datagrams Basic goal remains simple: exchange datagrams end-to-end with other hostsend-to-end with other hosts
Data Link/Physical Layer
Exchanges network-specific data Exchanges network-specific data frames with other similar devicesframes with other similar devices
Includes capability to screen multicast Includes capability to screen multicast packets by port number at packets by port number at hardware levelhardware level
Exchanges network-specific data Exchanges network-specific data frames with other similar devicesframes with other similar devices
Includes capability to screen multicast Includes capability to screen multicast packets by port number at packets by port number at hardware levelhardware level
Unicast and Broadcast
Unicast: point to point between hostsUnicast: point to point between hosts
• reliable (TCP) or unreliable (UDP)reliable (TCP) or unreliable (UDP)
• examples: e-mail, http requestexamples: e-mail, http request
Broadcast: all hosts on a LANBroadcast: all hosts on a LAN
• cannot be “ignored” and so costs cyclescannot be “ignored” and so costs cycles
• goes away in next-generation IPv6goes away in next-generation IPv6
Unicast: point to point between hostsUnicast: point to point between hosts
• reliable (TCP) or unreliable (UDP)reliable (TCP) or unreliable (UDP)
• examples: e-mail, http requestexamples: e-mail, http request
Broadcast: all hosts on a LANBroadcast: all hosts on a LAN
• cannot be “ignored” and so costs cyclescannot be “ignored” and so costs cycles
• goes away in next-generation IPv6goes away in next-generation IPv6
Multicast
Class D internet addressesClass D internet addresses
• 224.0.0.0 through 239.255.255.255224.0.0.0 through 239.255.255.255
Distributed over MBone topologyDistributed over MBone topology
• native multicast support in routersnative multicast support in routers
• otherwise a “tunnel” can encapsulate multicast otherwise a “tunnel” can encapsulate multicast inside unicast packet headersinside unicast packet headers
• can be confined to a LANcan be confined to a LAN
Class D internet addressesClass D internet addresses
• 224.0.0.0 through 239.255.255.255224.0.0.0 through 239.255.255.255
Distributed over MBone topologyDistributed over MBone topology
• native multicast support in routersnative multicast support in routers
• otherwise a “tunnel” can encapsulate multicast otherwise a “tunnel” can encapsulate multicast inside unicast packet headersinside unicast packet headers
• can be confined to a LANcan be confined to a LAN
Multicast Backbone = MBone
Virtual network topology over InternetVirtual network topology over Internet
Thousands of subnets connectedThousands of subnets connected
Slow steady sustained growthSlow steady sustained growth
Software tools for various platformsSoftware tools for various platforms
• audio, video, whiteboard, DIS etc.audio, video, whiteboard, DIS etc.
• Christophe has long been a major contributor Christophe has long been a major contributor • doesn’t matter what data is sentdoesn’t matter what data is sent
Virtual network topology over InternetVirtual network topology over Internet
Thousands of subnets connectedThousands of subnets connected
Slow steady sustained growthSlow steady sustained growth
Software tools for various platformsSoftware tools for various platforms
• audio, video, whiteboard, DIS etc.audio, video, whiteboard, DIS etc.
• Christophe has long been a major contributor Christophe has long been a major contributor • doesn’t matter what data is sentdoesn’t matter what data is sent
Key differences: unicast/multicast 1
individual multicast packets readable individual multicast packets readable by every host workstation on LAN by every host workstation on LAN
elimination of duplicate streamselimination of duplicate streams reduces bandwidth requirements reduces bandwidth requirements
individual multicast packets readable individual multicast packets readable by every host workstation on LAN by every host workstation on LAN
elimination of duplicate streamselimination of duplicate streams reduces bandwidth requirements reduces bandwidth requirements
Key difference: unicast/multicast 2
workstations screen unwanted workstations screen unwanted multicast packets at the hardware level, multicast packets at the hardware level, eliminating unnecessary computational eliminating unnecessary computational burden on applications burden on applications
(analogy: culling unwanted network traffic in (analogy: culling unwanted network traffic in hardware, not software)hardware, not software)
workstations screen unwanted workstations screen unwanted multicast packets at the hardware level, multicast packets at the hardware level, eliminating unnecessary computational eliminating unnecessary computational burden on applications burden on applications
(analogy: culling unwanted network traffic in (analogy: culling unwanted network traffic in hardware, not software)hardware, not software)
Getting connected
Price of admission: making the effortPrice of admission: making the effort
• read our paper, MBone books available alsoread our paper, MBone books available also
• need system administrator or other championneed system administrator or other champion
Multiplatform softwareMultiplatform software
• expect complete interoperability, high qualityexpect complete interoperability, high quality
• free, strong development community supportfree, strong development community support
No one is “in charge” No one is “in charge”
Price of admission: making the effortPrice of admission: making the effort
• read our paper, MBone books available alsoread our paper, MBone books available also
• need system administrator or other championneed system administrator or other champion
Multiplatform softwareMultiplatform software
• expect complete interoperability, high qualityexpect complete interoperability, high quality
• free, strong development community supportfree, strong development community support
No one is “in charge” No one is “in charge”
Hamming lecture series
First full academic course on Mbone, 1995First full academic course on Mbone, 1995
Now archived on a disk server Now archived on a disk server
• Wieland Hofhelder’s Wieland Hofhelder’s Mbone Video on DemandMbone Video on Demand
Hamming lecture series 2
Will evaluate at NPS and put onlineWill evaluate at NPS and put online
once it “works,” technicallyonce it “works,” technically
and pedagogicallyand pedagogically• http://devo.stl.nps.navy.mil/~auv/hamming
VRML Overview 1
Virtual Reality Modeling LanguageVirtual Reality Modeling Language
Began in earnest at SIGGRAPH 94Began in earnest at SIGGRAPH 94
VRML 2.0 stable since SIGGRAPH 96VRML 2.0 stable since SIGGRAPH 96
VRML 97 is ISO-approved version of 2.0VRML 97 is ISO-approved version of 2.0
3D Web browsers freely available for 3D Web browsers freely available for (most) (most) all computing platforms all computing platforms
Web-wide dynamic 3D graphicsWeb-wide dynamic 3D graphics
Virtual Reality Modeling LanguageVirtual Reality Modeling Language
Began in earnest at SIGGRAPH 94Began in earnest at SIGGRAPH 94
VRML 2.0 stable since SIGGRAPH 96VRML 2.0 stable since SIGGRAPH 96
VRML 97 is ISO-approved version of 2.0VRML 97 is ISO-approved version of 2.0
3D Web browsers freely available for 3D Web browsers freely available for (most) (most) all computing platforms all computing platforms
Web-wide dynamic 3D graphicsWeb-wide dynamic 3D graphics
VRML Overview 2
Large-scale internetworked 3D worlds Large-scale internetworked 3D worlds are are now possible now possible
Scaling up is both technical challenge Scaling up is both technical challenge and and “people” challenge “people” challenge
VRML is what we’ve been waiting for!VRML is what we’ve been waiting for!
Large-scale internetworked 3D worlds Large-scale internetworked 3D worlds are are now possible now possible
Scaling up is both technical challenge Scaling up is both technical challenge and and “people” challenge “people” challenge
VRML is what we’ve been waiting for!VRML is what we’ve been waiting for!
VRML Overview 3
Dynamic 3D scene description Dynamic 3D scene description language with behaviors andlanguage with behaviors and animationanimation
Rich set of graphics primitives gives Rich set of graphics primitives gives common-denominator file formatcommon-denominator file format
Well documentedWell documented
Dynamic 3D scene description Dynamic 3D scene description language with behaviors andlanguage with behaviors and animationanimation
Rich set of graphics primitives gives Rich set of graphics primitives gives common-denominator file formatcommon-denominator file format
Well documentedWell documented
VRML Overview 4
Web-capable similar to HTML: authors can Web-capable similar to HTML: authors can insert/add objects to scene (Inline node) or insert/add objects to scene (Inline node) or replace entire scene (Anchor node) replace entire scene (Anchor node)
Interpolators enable simple animation Interpolators enable simple animation and and interactioninteraction
Script nodes for Java and JavaScriptScript nodes for Java and JavaScript
Web-capable similar to HTML: authors can Web-capable similar to HTML: authors can insert/add objects to scene (Inline node) or insert/add objects to scene (Inline node) or replace entire scene (Anchor node) replace entire scene (Anchor node)
Interpolators enable simple animation Interpolators enable simple animation and and interactioninteraction
Script nodes for Java and JavaScriptScript nodes for Java and JavaScript
VRML Overview 5
Open technology, developed by (lots of) working Open technology, developed by (lots of) working groups, ISO standardization stablegroups, ISO standardization stable
Web3D Consortium: Web3D Consortium: http://www.web3d.org VRML VRML Repository Repository http://www.sdsc.edu/vrml
hello world
kelp forest exhibit
Extensible 3D (X3D)
Third-generation VRML scene graph Third-generation VRML scene graph
File format for geometry and behaviorsFile format for geometry and behaviors
API: XML’s Document Object Model (DOM)API: XML’s Document Object Model (DOM)
• but NOT another entry in the “war of the APIs”but NOT another entry in the “war of the APIs”
Demos LA, SIGGRAPH 99 Wed. April 11Demos LA, SIGGRAPH 99 Wed. April 11
Demos Monterey, Web3D 2000, Feb 21-14Demos Monterey, Web3D 2000, Feb 21-14
Meet first Friday of each month at SRIMeet first Friday of each month at SRI
Third-generation VRML scene graph Third-generation VRML scene graph
File format for geometry and behaviorsFile format for geometry and behaviors
API: XML’s Document Object Model (DOM)API: XML’s Document Object Model (DOM)
• but NOT another entry in the “war of the APIs”but NOT another entry in the “war of the APIs”
Demos LA, SIGGRAPH 99 Wed. April 11Demos LA, SIGGRAPH 99 Wed. April 11
Demos Monterey, Web3D 2000, Feb 21-14Demos Monterey, Web3D 2000, Feb 21-14
Meet first Friday of each month at SRIMeet first Friday of each month at SRI
Java
Numerous desirable attributes for the LSVE Numerous desirable attributes for the LSVE application domainapplication domain
• cross-platform, portable codecross-platform, portable code
• recompilation not requiredrecompilation not required
• network supportnetwork support
• VRML compatibilityVRML compatibility
• minor problems exist, no showstoppersminor problems exist, no showstoppers
• performance is satisfactoryperformance is satisfactory
Numerous desirable attributes for the LSVE Numerous desirable attributes for the LSVE application domainapplication domain
• cross-platform, portable codecross-platform, portable code
• recompilation not requiredrecompilation not required
• network supportnetwork support
• VRML compatibilityVRML compatibility
• minor problems exist, no showstoppersminor problems exist, no showstoppers
• performance is satisfactoryperformance is satisfactory
Integrating Java + VRML 1
Class libraries specified for Java-VRML Class libraries specified for Java-VRML interfaceinterface
Script nodes encapsulate Java objects Script nodes encapsulate Java objects embeddable in the VRML sceneembeddable in the VRML scene
ROUTEs link Java object fields/eventIns/ ROUTEs link Java object fields/eventIns/ eventOuts to 3D node fieldseventOuts to 3D node fields
Class libraries specified for Java-VRML Class libraries specified for Java-VRML interfaceinterface
Script nodes encapsulate Java objects Script nodes encapsulate Java objects embeddable in the VRML sceneembeddable in the VRML scene
ROUTEs link Java object fields/eventIns/ ROUTEs link Java object fields/eventIns/ eventOuts to 3D node fieldseventOuts to 3D node fields
Integrating Java + VRML 2
Java objects can query (and interact with) browser Java objects can query (and interact with) browser as well as Webas well as Web
createVRMLFromStringcreateVRMLFromString method method enables enables Java objects to generate Java objects to generate arbitrary VRML arbitrary VRML geometrygeometry
Collaboration with Sun: Java3D-VRML class Collaboration with Sun: Java3D-VRML class loaderloader
Java objects can query (and interact with) browser Java objects can query (and interact with) browser as well as Webas well as Web
createVRMLFromStringcreateVRMLFromString method method enables enables Java objects to generate Java objects to generate arbitrary VRML arbitrary VRML geometrygeometry
Collaboration with Sun: Java3D-VRML class Collaboration with Sun: Java3D-VRML class loaderloader
Integrating Java + VRML 3
See Annex C of VRML Specification for Java See Annex C of VRML Specification for Java Script Authoring Interface (JSAI)Script Authoring Interface (JSAI)
External Authoring Interface (EAI) is draft work in External Authoring Interface (EAI) is draft work in progress which progress which provides alternate Java-provides alternate Java-VRML-browser methodologyVRML-browser methodology
See CACM reference paper on VRML + JavaSee CACM reference paper on VRML + Java
See Annex C of VRML Specification for Java See Annex C of VRML Specification for Java Script Authoring Interface (JSAI)Script Authoring Interface (JSAI)
External Authoring Interface (EAI) is draft work in External Authoring Interface (EAI) is draft work in progress which progress which provides alternate Java-provides alternate Java-VRML-browser methodologyVRML-browser methodology
See CACM reference paper on VRML + JavaSee CACM reference paper on VRML + Java
General entity solution
VRMLVRML
JavaJava
renderingrendering
computationcomputation
data sharingdata sharingnetworknetwork
Potential of LSVEs
Serve as archive & interaction mediumServe as archive & interaction medium
Combine massive & dissimilar data sets, Combine massive & dissimilar data sets, streams of every type, and models that streams of every type, and models that recreate realityrecreate reality
Provide context and links between Provide context and links between isolated mountains of contentisolated mountains of content
LSVEs might impact all walks of lifeLSVEs might impact all walks of life
Serve as archive & interaction mediumServe as archive & interaction medium
Combine massive & dissimilar data sets, Combine massive & dissimilar data sets, streams of every type, and models that streams of every type, and models that recreate realityrecreate reality
Provide context and links between Provide context and links between isolated mountains of contentisolated mountains of content
LSVEs might impact all walks of lifeLSVEs might impact all walks of life
Outline: Interactivity
Four key network components for Four key network components for Large-Scale Virtual EnvironmentsLarge-Scale Virtual Environments
DIS-Java-VRML working group, testingDIS-Java-VRML working group, testing
dial-a-behavior protocoldial-a-behavior protocol
virtual reality transfer protocol (vrtp)virtual reality transfer protocol (vrtp)
Four key network components for Four key network components for Large-Scale Virtual EnvironmentsLarge-Scale Virtual Environments
DIS-Java-VRML working group, testingDIS-Java-VRML working group, testing
dial-a-behavior protocoldial-a-behavior protocol
virtual reality transfer protocol (vrtp)virtual reality transfer protocol (vrtp)
Four key network components for LSVEs
Light-weight interactionsLight-weight interactions
• Short state/event messages via multicastShort state/event messages via multicast
Network pointersNetwork pointers
• URLs to information resourcesURLs to information resources
Heavy-weight objectsHeavy-weight objects
• reliable client-server responsereliable client-server response
Real-time streams Real-time streams - audio, video etc- audio, video etc..
Light-weight interactionsLight-weight interactions
• Short state/event messages via multicastShort state/event messages via multicast
Network pointersNetwork pointers
• URLs to information resourcesURLs to information resources
Heavy-weight objectsHeavy-weight objects
• reliable client-server responsereliable client-server response
Real-time streams Real-time streams - audio, video etc- audio, video etc..
IEEE standard DIS protocol
Large-scale multicast applicationsLarge-scale multicast applications
Truly many-many communicationsTruly many-many communications
Single entity bandwidth ranges from Single entity bandwidth ranges from 230..15,000 bps (bits per second)230..15,000 bps (bits per second)
Latency & jitter compensated by Latency & jitter compensated by timestamps & dead reckoningtimestamps & dead reckoning
Example behavior/interaction protocolExample behavior/interaction protocol
Large-scale multicast applicationsLarge-scale multicast applications
Truly many-many communicationsTruly many-many communications
Single entity bandwidth ranges from Single entity bandwidth ranges from 230..15,000 bps (bits per second)230..15,000 bps (bits per second)
Latency & jitter compensated by Latency & jitter compensated by timestamps & dead reckoningtimestamps & dead reckoning
Example behavior/interaction protocolExample behavior/interaction protocol
DIS-Java-VRML
Networking is the key bottleneck, not Networking is the key bottleneck, not
3D graphics rendering3D graphics rendering
We think we can create virtual worlds We think we can create virtual worlds
• open standardsopen standards
• portable and scalableportable and scalable
• physics-basedphysics-based
• easy as building a web pageeasy as building a web page
DIS-Java-VRML web site examples
Java used for DIS library
Can be used to animate VRML scenes Can be used to animate VRML scenes via Script nodesvia Script nodes
Multicast capable (using JDK 1.1+)Multicast capable (using JDK 1.1+)
Available: Netscape, Internet ExplorerAvailable: Netscape, Internet Explorer
Portability across platforms enables Portability across platforms enables scaling up to many usersscaling up to many users
Initial performance is adequateInitial performance is adequate
Can be used to animate VRML scenes Can be used to animate VRML scenes via Script nodesvia Script nodes
Multicast capable (using JDK 1.1+)Multicast capable (using JDK 1.1+)
Available: Netscape, Internet ExplorerAvailable: Netscape, Internet Explorer
Portability across platforms enables Portability across platforms enables scaling up to many usersscaling up to many users
Initial performance is adequateInitial performance is adequate
Goals: DIS-Java-VRML WG
Freely available Java/C++ Freely available Java/C++ implementations of implementations of DIS protocolDIS protocol
Easily stolen examples Easily stolen examples
Produce recommended practices for Produce recommended practices for mapping mapping between DIS & VRMLbetween DIS & VRML
Utilities: record/playback, viewers etc.Utilities: record/playback, viewers etc.
Open membership:Open membership:www.stl.www.stl.npsnps.navy.mil/.navy.mil/disdis--javajava-vrml-vrml
Freely available Java/C++ Freely available Java/C++ implementations of implementations of DIS protocolDIS protocol
Easily stolen examples Easily stolen examples
Produce recommended practices for Produce recommended practices for mapping mapping between DIS & VRMLbetween DIS & VRML
Utilities: record/playback, viewers etc.Utilities: record/playback, viewers etc.
Open membership:Open membership:www.stl.www.stl.npsnps.navy.mil/.navy.mil/disdis--javajava-vrml-vrml
DIS Testing
Build testbed lab at NPSBuild testbed lab at NPS
• 10 Linux boxes, masters student10 Linux boxes, masters student
Round-the-clock exercisesRound-the-clock exercises
• statistics, toolset developmentstatistics, toolset development
• Low bandwidth going global on MBoneLow bandwidth going global on MBone
Emphasis on end-user resultsEmphasis on end-user results
Other sites welcome to collaborateOther sites welcome to collaborate
Build testbed lab at NPSBuild testbed lab at NPS
• 10 Linux boxes, masters student10 Linux boxes, masters student
Round-the-clock exercisesRound-the-clock exercises
• statistics, toolset developmentstatistics, toolset development
• Low bandwidth going global on MBoneLow bandwidth going global on MBone
Emphasis on end-user resultsEmphasis on end-user results
Other sites welcome to collaborateOther sites welcome to collaborate
Test results
Determine pertinent parameters and Determine pertinent parameters and corresponding values/distributionscorresponding values/distributions
• Large-Scale Multicast Applications (LSMA) IETF Large-Scale Multicast Applications (LSMA) IETF working group requirementsworking group requirements
• IRTF Reliable Multicast RGIRTF Reliable Multicast RG
Walk-before-run exercise complexityWalk-before-run exercise complexity
Build awareness what LSMAs look likeBuild awareness what LSMAs look like
Determine pertinent parameters and Determine pertinent parameters and corresponding values/distributionscorresponding values/distributions
• Large-Scale Multicast Applications (LSMA) IETF Large-Scale Multicast Applications (LSMA) IETF working group requirementsworking group requirements
• IRTF Reliable Multicast RGIRTF Reliable Multicast RG
Walk-before-run exercise complexityWalk-before-run exercise complexity
Build awareness what LSMAs look likeBuild awareness what LSMAs look like
Dial-a-behavior protocol
Don McGregor Ph.D. projectDon McGregor Ph.D. project
• We are building a DIS-like data protocol, modifiable We are building a DIS-like data protocol, modifiable on-the-fly, that will allow rapid development of network on-the-fly, that will allow rapid development of network communications tuned for large-scale multicast communications tuned for large-scale multicast applicationsapplications
• Public domain software written in Java/XMLPublic domain software written in Java/XML
• Virtual Reality Modeling Language (VRML) compatible Virtual Reality Modeling Language (VRML) compatible and scalableand scalable
Don McGregor Ph.D. projectDon McGregor Ph.D. project
• We are building a DIS-like data protocol, modifiable We are building a DIS-like data protocol, modifiable on-the-fly, that will allow rapid development of network on-the-fly, that will allow rapid development of network communications tuned for large-scale multicast communications tuned for large-scale multicast applicationsapplications
• Public domain software written in Java/XMLPublic domain software written in Java/XML
• Virtual Reality Modeling Language (VRML) compatible Virtual Reality Modeling Language (VRML) compatible and scalableand scalable
Terms
XML: eXtensible Markup LanguageXML: eXtensible Markup Language
• generalized markup, SGML subsetgeneralized markup, SGML subset
DTD: Document Type DefinitionDTD: Document Type Definition
• http://www.ucc.ie/xml/http://www.ucc.ie/xml/
Parser: API that can read/write/reflect XMLParser: API that can read/write/reflect XML
DOM: Document Object ModelDOM: Document Object Model
• http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001
XML: eXtensible Markup LanguageXML: eXtensible Markup Language
• generalized markup, SGML subsetgeneralized markup, SGML subset
DTD: Document Type DefinitionDTD: Document Type Definition
• http://www.ucc.ie/xml/http://www.ucc.ie/xml/
Parser: API that can read/write/reflect XMLParser: API that can read/write/reflect XML
DOM: Document Object ModelDOM: Document Object Model
• http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001
Dial-a-behavior protocol: defining over-the-wire formats
Protocol Protocol Definition Definition InterfaceInterface
Grammar Grammar parser builds parser builds replacement replacement
protocol protocol managermanager
MultiplayMultiplayer er
networkenetworked d
ApplicatioApplication Data n Data UnitsUnits
protocol guru
AOIM - Area AOIM - Area of Interest of Interest ManagersManagers
Shared 3D Shared 3D VRML VRML
WorldsWorlds
(XML-tagged data)
(XML DTD)
Packet contents
Payload fields delimited/defined by XML tagsPayload fields delimited/defined by XML tags
Payload fields have following attributes:Payload fields have following attributes:• abstract typeabstract type• bitsizebitsize• default valuesdefault values• semantics = object handler (optional, can be in DTD)semantics = object handler (optional, can be in DTD)
XML tags (and thus the protocol) are defined by a XML tags (and thus the protocol) are defined by a Document Type Definition (DTD) fileDocument Type Definition (DTD) file
• DTDs (and hence the protocol) redefinable at runtime, DTDs (and hence the protocol) redefinable at runtime, without stop/compile/restartwithout stop/compile/restart
Payload fields delimited/defined by XML tagsPayload fields delimited/defined by XML tags
Payload fields have following attributes:Payload fields have following attributes:• abstract typeabstract type• bitsizebitsize• default valuesdefault values• semantics = object handler (optional, can be in DTD)semantics = object handler (optional, can be in DTD)
XML tags (and thus the protocol) are defined by a XML tags (and thus the protocol) are defined by a Document Type Definition (DTD) fileDocument Type Definition (DTD) file
• DTDs (and hence the protocol) redefinable at runtime, DTDs (and hence the protocol) redefinable at runtime, without stop/compile/restartwithout stop/compile/restart
use client/server or peer-peer?
troublesome cul de sac: many conversations troublesome cul de sac: many conversations always seem to end up herealways seem to end up here
must we choose only one?must we choose only one?
client/server: browsers, http, object requestclient/server: browsers, http, object request
peer-peer: DIS PDU, other MBone streamspeer-peer: DIS PDU, other MBone streams
realization: networking is not bipolar, rather a realization: networking is not bipolar, rather a spectrum of functionality. Use spectrum of functionality. Use all of itall of it well. well.
why not use the full spectrum?
client server
peer peer
httpweb browsermulti-user worlds
audiovideo
DIS behaviors
examples in midspectrum
client server
peer peer
httpweb browsermulti-user worlds
audiovideo
DIS behaviors
“reliable” multicast
group-cached http servers
(NCSA)
what does desktop look like?
clientclient
• looking at someone else’s worldlooking at someone else’s world
serverserver
• showing others your worldshowing others your world
peerpeer
• scalable behavior interactionsscalable behavior interactions
““everything just works”everything just works”
what else is on desktop?
clientclient
• looking at someone else’s worldlooking at someone else’s world
serverserver
• showing others your worldshowing others your world
peerpeer
• scalable behavior interactionsscalable behavior interactions
““everything just works” means that everything just works” means that network monitornetwork monitor capabilities are needed capabilities are needed
clientclient
• looking at someone else’s worldlooking at someone else’s world
serverserver
• showing others your worldshowing others your world
peerpeer
• scalable behavior interactionsscalable behavior interactions
““everything just works” means that everything just works” means that network monitornetwork monitor capabilities are needed capabilities are needed
so where does vrtp live?
HTMLHTML
VRML 97VRML 97and otherand other
scene graph APIsscene graph APIs
httphttp
vrtpvrtp
vrtp IS NOT...
possible using just http possible using just http
yet another transport protocolyet another transport protocol
a competitor to existing protocolsa competitor to existing protocols
a step in an untested directiona step in an untested direction
about adding complexityabout adding complexity
hard for users to understandhard for users to understand
possible using just http possible using just http
yet another transport protocolyet another transport protocol
a competitor to existing protocolsa competitor to existing protocols
a step in an untested directiona step in an untested direction
about adding complexityabout adding complexity
hard for users to understandhard for users to understand
vrtp IS...
a framework for combining essential best-of-breed a framework for combining essential best-of-breed protocolsprotocols
a combination of existing softwarea combination of existing software
a way to give user scenes easy access to a full a way to give user scenes easy access to a full spectrum of network capabilitiesspectrum of network capabilities
URL extensions: client/server/multicast URL extensions: client/server/multicast
easy to useeasy to use
all about simplification & streamliningall about simplification & streamlining
a framework for combining essential best-of-breed a framework for combining essential best-of-breed protocolsprotocols
a combination of existing softwarea combination of existing software
a way to give user scenes easy access to a full a way to give user scenes easy access to a full spectrum of network capabilitiesspectrum of network capabilities
URL extensions: client/server/multicast URL extensions: client/server/multicast
easy to useeasy to use
all about simplification & streamliningall about simplification & streamlining
Bamboo: plugin architecture “universal platform” (Java/C++/ACE)
Kent Watsen Ph.D. projectKent Watsen Ph.D. project• dynamically extendible C++ runtime environmentdynamically extendible C++ runtime environment
• lightweight kernel linking core mechanisms common to lightweight kernel linking core mechanisms common to networked virtual environmentsnetworked virtual environments
• API toolkit for programmersAPI toolkit for programmers
• designed based on pluginsdesigned based on plugins
• ACE networking APIACE networking API
• Java Native InterfaceJava Native Interface
• http://www.npsnet.nps.navy.mil/npsnet/Bamboo.htmlhttp://www.npsnet.nps.navy.mil/npsnet/Bamboo.html
Kent Watsen Ph.D. projectKent Watsen Ph.D. project• dynamically extendible C++ runtime environmentdynamically extendible C++ runtime environment
• lightweight kernel linking core mechanisms common to lightweight kernel linking core mechanisms common to networked virtual environmentsnetworked virtual environments
• API toolkit for programmersAPI toolkit for programmers
• designed based on pluginsdesigned based on plugins
• ACE networking APIACE networking API
• Java Native InterfaceJava Native Interface
• http://www.npsnet.nps.navy.mil/npsnet/Bamboo.htmlhttp://www.npsnet.nps.navy.mil/npsnet/Bamboo.html
Large-scale multicast work
Howard Abrams Ph.D. projectHoward Abrams Ph.D. project
• Area-of-interest management (AOIM) research project Area-of-interest management (AOIM) research project intended for millions of users & entitiesintended for millions of users & entities
• Octree approach includes combination of regions and Octree approach includes combination of regions and individual multicast addresses for every userindividual multicast addresses for every user
• Each user subscribes/unsubscribes to addresses of Each user subscribes/unsubscribes to addresses of interest as needed to support the shared simulationinterest as needed to support the shared simulation
• Display shows multicast adds/drops of a very large number Display shows multicast adds/drops of a very large number of simulated entitiesof simulated entities
Howard Abrams Ph.D. projectHoward Abrams Ph.D. project
• Area-of-interest management (AOIM) research project Area-of-interest management (AOIM) research project intended for millions of users & entitiesintended for millions of users & entities
• Octree approach includes combination of regions and Octree approach includes combination of regions and individual multicast addresses for every userindividual multicast addresses for every user
• Each user subscribes/unsubscribes to addresses of Each user subscribes/unsubscribes to addresses of interest as needed to support the shared simulationinterest as needed to support the shared simulation
• Display shows multicast adds/drops of a very large number Display shows multicast adds/drops of a very large number of simulated entitiesof simulated entities
3D worlds Server component: Apache and QuICk
Apache http server: http://www.apache.orgApache http server: http://www.apache.org
QuICk: Mike Capps Ph.D. projectQuICk: Mike Capps Ph.D. project• QQuality of heterogenous representationsuality of heterogenous representations• IImportance of scene nodesmportance of scene nodes• CCost of rendering representationsost of rendering representations• High-fidelity user experience despite wide range of High-fidelity user experience despite wide range of
geometry loaded and/or culledgeometry loaded and/or culled• Decide retrieval of other geometryDecide retrieval of other geometry• Provide persistence of locally owned geometryProvide persistence of locally owned geometry• Local entity to (n-entity + scene) collision detectionLocal entity to (n-entity + scene) collision detection
Apache http server: http://www.apache.orgApache http server: http://www.apache.org
QuICk: Mike Capps Ph.D. projectQuICk: Mike Capps Ph.D. project• QQuality of heterogenous representationsuality of heterogenous representations• IImportance of scene nodesmportance of scene nodes• CCost of rendering representationsost of rendering representations• High-fidelity user experience despite wide range of High-fidelity user experience despite wide range of
geometry loaded and/or culledgeometry loaded and/or culled• Decide retrieval of other geometryDecide retrieval of other geometry• Provide persistence of locally owned geometryProvide persistence of locally owned geometry• Local entity to (n-entity + scene) collision detectionLocal entity to (n-entity + scene) collision detection
People + technology
Large scale and “big as the Web” Large scale and “big as the Web” means everyone AND everythingmeans everyone AND everything
This is a people process just as much This is a people process just as much as a as a technical processtechnical process
Computer geeks get in trouble when we Computer geeks get in trouble when we apply technical solutions to people problems apply technical solutions to people problems (or vice versa)(or vice versa)
Large scale and “big as the Web” Large scale and “big as the Web” means everyone AND everythingmeans everyone AND everything
This is a people process just as much This is a people process just as much as a as a technical processtechnical process
Computer geeks get in trouble when we Computer geeks get in trouble when we apply technical solutions to people problems apply technical solutions to people problems (or vice versa)(or vice versa)
Easy is important
The right answer has to be easy or The right answer has to be easy or people won’t bother doing itpeople won’t bother doing it
““Easy as building a web page” is a Easy as building a web page” is a meaningful metric for easy enoughmeaningful metric for easy enough
Until networked graphics are that Until networked graphics are that easy, growth won’t scale with Web...easy, growth won’t scale with Web...
The right answer has to be easy or The right answer has to be easy or people won’t bother doing itpeople won’t bother doing it
““Easy as building a web page” is a Easy as building a web page” is a meaningful metric for easy enoughmeaningful metric for easy enough
Until networked graphics are that Until networked graphics are that easy, growth won’t scale with Web...easy, growth won’t scale with Web...
All information ...
Information overload is already normInformation overload is already norm
People have easy access to more People have easy access to more information than any world leader ever did information than any world leader ever did until a few decades agountil a few decades ago
Scientific / information visualization plus Scientific / information visualization plus hyperlinked 3D space can display and link hyperlinked 3D space can display and link all mediaall media
Information overload is already normInformation overload is already norm
People have easy access to more People have easy access to more information than any world leader ever did information than any world leader ever did until a few decades agountil a few decades ago
Scientific / information visualization plus Scientific / information visualization plus hyperlinked 3D space can display and link hyperlinked 3D space can display and link all mediaall media
All information... interconnected
What does it mean when anyone can What does it mean when anyone can
create/join/ignore/compete with any stream of create/join/ignore/compete with any stream of
information?information?
No one really knowsNo one really knows
We will learn by doing itWe will learn by doing it
This is way cool!This is way cool!
• and cool is a quantitative term!and cool is a quantitative term!
What does it mean when anyone can What does it mean when anyone can
create/join/ignore/compete with any stream of create/join/ignore/compete with any stream of
information?information?
No one really knowsNo one really knows
We will learn by doing itWe will learn by doing it
This is way cool!This is way cool!
• and cool is a quantitative term!and cool is a quantitative term!
Time to close: next steps
Build lots of internetworked worldsBuild lots of internetworked worlds
Experimentation is crucial, we are Experimentation is crucial, we are exploring undiscovered countryexploring undiscovered country
Process is as important as productProcess is as important as product
Identify real bottlenecks to scaling up Identify real bottlenecks to scaling up
Build lots of internetworked worldsBuild lots of internetworked worlds
Experimentation is crucial, we are Experimentation is crucial, we are exploring undiscovered countryexploring undiscovered country
Process is as important as productProcess is as important as product
Identify real bottlenecks to scaling up Identify real bottlenecks to scaling up
Foundation for cyberspace
Combination of technical, political, Combination of technical, political, economic, social factors brings us to a new economic, social factors brings us to a new plateau:plateau:
we can now begin to build large-scale we can now begin to build large-scale networked virtual environments, networked virtual environments, connecting everyone to everything.connecting everyone to everything.
so let’s get busy!so let’s get busy!
Combination of technical, political, Combination of technical, political, economic, social factors brings us to a new economic, social factors brings us to a new plateau:plateau:
we can now begin to build large-scale we can now begin to build large-scale networked virtual environments, networked virtual environments, connecting everyone to everything.connecting everyone to everything.
so let’s get busy!so let’s get busy!
Contact
Don BrutzmanDon Brutzman
[email protected]@nps.navy.mil
http://www.stl.nps.navy.mil/~brutzmanhttp://www.stl.nps.navy.mil/~brutzman
Code UW/Br, Naval Postgraduate SchoolCode UW/Br, Naval Postgraduate School
Monterey California 93943-5000 USAMonterey California 93943-5000 USA
831.656.2149 voice831.656.2149 voice
831.656.3679 fax831.656.3679 fax
Don BrutzmanDon Brutzman
[email protected]@nps.navy.mil
http://www.stl.nps.navy.mil/~brutzmanhttp://www.stl.nps.navy.mil/~brutzman
Code UW/Br, Naval Postgraduate SchoolCode UW/Br, Naval Postgraduate School
Monterey California 93943-5000 USAMonterey California 93943-5000 USA
831.656.2149 voice831.656.2149 voice
831.656.3679 fax831.656.3679 fax