63
Presentation to University College London, January 14, 1999 Internetworked 3D Graphics and Internetworked 3D Graphics and virtual reality transfer protocol (vrtp) virtual reality transfer protocol (vrtp) Don Brutzman Don Brutzman Naval Postgraduate School Naval Postgraduate School [email protected] [email protected]

Presentation to University College London, January 14, 1999

  • Upload
    dyre

  • View
    30

  • Download
    0

Embed Size (px)

DESCRIPTION

Internetworked 3D Graphics and virtual reality transfer protocol (vrtp) Don Brutzman Naval Postgraduate School [email protected]. Presentation to University College London, January 14, 1999. Goal outcomes. Network capabilities for multicast Describe internetworked 3D graphics - PowerPoint PPT Presentation

Citation preview

Page 1: Presentation to University College London, January 14, 1999

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

Page 2: Presentation to University College London, January 14, 1999

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

Page 3: Presentation to University College London, January 14, 1999

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

Page 4: Presentation to University College London, January 14, 1999

Correspondence: OSI & IP

Page 5: Presentation to University College London, January 14, 1999

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

Page 6: Presentation to University College London, January 14, 1999

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

Page 7: Presentation to University College London, January 14, 1999

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

Page 8: Presentation to University College London, January 14, 1999

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

Page 9: Presentation to University College London, January 14, 1999

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

Page 10: Presentation to University College London, January 14, 1999

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

Page 11: Presentation to University College London, January 14, 1999

Typical unicast / broadcast packet stream paths

Page 12: Presentation to University College London, January 14, 1999

Example multicast routers connecting streams

Page 13: Presentation to University College London, January 14, 1999

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

Page 14: Presentation to University College London, January 14, 1999

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)

Page 15: Presentation to University College London, January 14, 1999

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”

Page 16: Presentation to University College London, January 14, 1999

All media networked to all hosts is now possible...

Page 17: Presentation to University College London, January 14, 1999

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

Page 18: Presentation to University College London, January 14, 1999

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

Page 19: Presentation to University College London, January 14, 1999

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

Page 20: Presentation to University College London, January 14, 1999

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!

Page 21: Presentation to University College London, January 14, 1999

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

Page 22: Presentation to University College London, January 14, 1999

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

Page 23: Presentation to University College London, January 14, 1999

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

Page 24: Presentation to University College London, January 14, 1999

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

Page 25: Presentation to University College London, January 14, 1999

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

Page 26: Presentation to University College London, January 14, 1999

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

Page 27: Presentation to University College London, January 14, 1999

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

Page 28: Presentation to University College London, January 14, 1999

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

Page 29: Presentation to University College London, January 14, 1999

General entity solution

VRMLVRML

JavaJava

renderingrendering

computationcomputation

data sharingdata sharingnetworknetwork

Page 30: Presentation to University College London, January 14, 1999

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

Page 31: Presentation to University College London, January 14, 1999

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)

Page 32: Presentation to University College London, January 14, 1999

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..

Page 33: Presentation to University College London, January 14, 1999

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

Page 34: Presentation to University College London, January 14, 1999

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

Page 35: Presentation to University College London, January 14, 1999

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

Page 36: Presentation to University College London, January 14, 1999

DIS-Java-VRML Data Flow

Page 37: Presentation to University College London, January 14, 1999

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

Page 38: Presentation to University College London, January 14, 1999

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

Page 39: Presentation to University College London, January 14, 1999

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

Page 40: Presentation to University College London, January 14, 1999

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

Page 41: Presentation to University College London, January 14, 1999

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

Page 42: Presentation to University College London, January 14, 1999

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)

Page 43: Presentation to University College London, January 14, 1999

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

Page 44: Presentation to University College London, January 14, 1999

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.

Page 45: Presentation to University College London, January 14, 1999

why not use the full spectrum?

client server

peer peer

httpweb browsermulti-user worlds

audiovideo

DIS behaviors

Page 46: Presentation to University College London, January 14, 1999

examples in midspectrum

client server

peer peer

httpweb browsermulti-user worlds

audiovideo

DIS behaviors

“reliable” multicast

group-cached http servers

(NCSA)

Page 47: Presentation to University College London, January 14, 1999

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”

Page 48: Presentation to University College London, January 14, 1999

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

Page 49: Presentation to University College London, January 14, 1999

so where does vrtp live?

HTMLHTML

VRML 97VRML 97and otherand other

scene graph APIsscene graph APIs

httphttp

vrtpvrtp

Page 50: Presentation to University College London, January 14, 1999

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

Page 51: Presentation to University College London, January 14, 1999

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

Page 52: Presentation to University College London, January 14, 1999

vrtp working group http://devo.stl.nps.navy.mil/~brutzman/vrtp

Page 53: Presentation to University College London, January 14, 1999

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

Page 54: Presentation to University College London, January 14, 1999

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

Page 55: Presentation to University College London, January 14, 1999

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

Page 56: Presentation to University College London, January 14, 1999

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)

Page 57: Presentation to University College London, January 14, 1999

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...

Page 58: Presentation to University College London, January 14, 1999

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

Page 59: Presentation to University College London, January 14, 1999

Web3D Consortium

http://www.web3d.orghttp://www.web3d.orghttp://www.web3d.orghttp://www.web3d.org

Page 60: Presentation to University College London, January 14, 1999

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!

Page 61: Presentation to University College London, January 14, 1999

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

Page 62: Presentation to University College London, January 14, 1999

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!

Page 63: Presentation to University College London, January 14, 1999

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