26
Chapter Eight - Internet Networked Virtual Environments VRML-Based Virtual VRML-Based Virtual Environments 251 Environments 251 Some Existing Some Existing Networked VRML Worlds Networked VRML Worlds 253 253 virtual reality transfer protocol virtual reality transfer protocol 262 262 Internet Gaming 263 Internet Gaming 263 Overview of Online Overview of Online Gaming Services 264 Gaming Services 264 Internet Gaming Internet Gaming Software Architectures Software Architectures 266 266 Future Internet Gaming Future Internet Gaming Directions 269 Directions 269 Conclusion 271 Conclusion 271 References 271 References 271

Chapter Eight - Internet Networked Virtual Environments VRML-Based Virtual Environments 251 Some Existing Networked VRML Worlds 253Some Existing Networked

Embed Size (px)

Citation preview

Chapter Eight - Internet Networked Virtual Environments

VRML-Based Virtual VRML-Based Virtual Environments 251Environments 251

• Some Existing Networked Some Existing Networked VRML Worlds 253VRML Worlds 253

virtual reality transfer virtual reality transfer protocol 262protocol 262

VRML-Based Virtual VRML-Based Virtual Environments 251Environments 251

• Some Existing Networked Some Existing Networked VRML Worlds 253VRML Worlds 253

virtual reality transfer virtual reality transfer protocol 262protocol 262

Internet Gaming 263Internet Gaming 263

• Overview of Online Overview of Online Gaming Services 264Gaming Services 264

• Internet Gaming Software Internet Gaming Software Architectures 266Architectures 266

• Future Internet Gaming Future Internet Gaming Directions 269Directions 269

Conclusion 271Conclusion 271

References 271References 271

Internet Gaming 263Internet Gaming 263

• Overview of Online Overview of Online Gaming Services 264Gaming Services 264

• Internet Gaming Software Internet Gaming Software Architectures 266Architectures 266

• Future Internet Gaming Future Internet Gaming Directions 269Directions 269

Conclusion 271Conclusion 271

References 271References 271

VRML-Based Net-VEsAre already dead but the xml/x3d look quite Are already dead but the xml/x3d look quite promising ...promising ...Are already dead but the xml/x3d look quite Are already dead but the xml/x3d look quite promising ...promising ...

Internet Game ArchitecturesOverview of Online Gaming ServicesOverview of Online Gaming Services

Internet Gaming Software ArchitecturesInternet Gaming Software Architectures

Future Internet Gaming DirectionsFuture Internet Gaming Directions

Overview of Online Gaming ServicesOverview of Online Gaming Services

Internet Gaming Software ArchitecturesInternet Gaming Software Architectures

Future Internet Gaming DirectionsFuture Internet Gaming Directions

Excerpt from technical feasibility document to the VCs ...• XXX has plans to develop a fully-3D web portal. We XXX has plans to develop a fully-3D web portal. We

plan on multiple 3D virtual channels operating in plan on multiple 3D virtual channels operating in parallel. Each VR channel will have its own content and parallel. Each VR channel will have its own content and our customers will be able to smoothly transition our customers will be able to smoothly transition between channels via environment selection off of our between channels via environment selection off of our web presence. There will be entertainment channels, web presence. There will be entertainment channels, where complex, multiplayer 3D worlds are navigated where complex, multiplayer 3D worlds are navigated in adventure fashion. There will be e-commerce in adventure fashion. There will be e-commerce channels and 3D storefronts. channels and 3D storefronts.

• XXX has plans to develop a fully-3D web portal. We XXX has plans to develop a fully-3D web portal. We plan on multiple 3D virtual channels operating in plan on multiple 3D virtual channels operating in parallel. Each VR channel will have its own content and parallel. Each VR channel will have its own content and our customers will be able to smoothly transition our customers will be able to smoothly transition between channels via environment selection off of our between channels via environment selection off of our web presence. There will be entertainment channels, web presence. There will be entertainment channels, where complex, multiplayer 3D worlds are navigated where complex, multiplayer 3D worlds are navigated in adventure fashion. There will be e-commerce in adventure fashion. There will be e-commerce channels and 3D storefronts. channels and 3D storefronts.

Excerpt from technical feasibility document to the VCs ...• The 3D storefronts will allow our customers to examine The 3D storefronts will allow our customers to examine

and purchase products in full 3D. Our virtual and purchase products in full 3D. Our virtual storefronts will have the ability to be staffed by storefronts will have the ability to be staffed by knowledgeable clerks able to answer questions via an knowledgeable clerks able to answer questions via an audio channel inside of the virtual environment. Virtual audio channel inside of the virtual environment. Virtual community channels will be available depending on community channels will be available depending on the synchronicity of customer interests. Our customers the synchronicity of customer interests. Our customers will be able to homestead in our virtual communities. will be able to homestead in our virtual communities.

• The 3D storefronts will allow our customers to examine The 3D storefronts will allow our customers to examine and purchase products in full 3D. Our virtual and purchase products in full 3D. Our virtual storefronts will have the ability to be staffed by storefronts will have the ability to be staffed by knowledgeable clerks able to answer questions via an knowledgeable clerks able to answer questions via an audio channel inside of the virtual environment. Virtual audio channel inside of the virtual environment. Virtual community channels will be available depending on community channels will be available depending on the synchronicity of customer interests. Our customers the synchronicity of customer interests. Our customers will be able to homestead in our virtual communities. will be able to homestead in our virtual communities.

Excerpt from technical feasibility document to the VCs ...• They will be able to meet with their friends in virtual They will be able to meet with their friends in virtual

space for interest area discussions or just chat. Our space for interest area discussions or just chat. Our customers will be able to create their own corner of customers will be able to create their own corner of the virtual space they desire to occupy. We will have the virtual space they desire to occupy. We will have virtual education channels where our customers will be virtual education channels where our customers will be able to attend lecturers and presentations in virtual able to attend lecturers and presentations in virtual space. space.

• They will be able to meet with their friends in virtual They will be able to meet with their friends in virtual space for interest area discussions or just chat. Our space for interest area discussions or just chat. Our customers will be able to create their own corner of customers will be able to create their own corner of the virtual space they desire to occupy. We will have the virtual space they desire to occupy. We will have virtual education channels where our customers will be virtual education channels where our customers will be able to attend lecturers and presentations in virtual able to attend lecturers and presentations in virtual space. space.

Chapter Nine - Perspective and Predictions

Better Library Support 275Better Library Support 275

• Bamboo 276Bamboo 276

• High Level Architecture High Level Architecture 279279

• Java-Based Toolkits 283Java-Based Toolkits 283

• Toolkits Being Developed Toolkits Being Developed Everywhere . . . 284Everywhere . . . 284

Better Library Support 275Better Library Support 275

• Bamboo 276Bamboo 276

• High Level Architecture High Level Architecture 279279

• Java-Based Toolkits 283Java-Based Toolkits 283

• Toolkits Being Developed Toolkits Being Developed Everywhere . . . 284Everywhere . . . 284

Toward a Better Internet Toward a Better Internet 285285

Research Frontiers 287Research Frontiers 287

Past, Present, and Future Past, Present, and Future 289289

References 290References 290

Toward a Better Internet Toward a Better Internet 285285

Research Frontiers 287Research Frontiers 287

Past, Present, and Future Past, Present, and Future 289289

References 290References 290

Better Library SupportBambooBamboo

High Level ArchitectureHigh Level Architecture

Java-Based ToolkitsJava-Based Toolkits

Toolkits Being Developed Everywhere ...Toolkits Being Developed Everywhere ...

BambooBamboo

High Level ArchitectureHigh Level Architecture

Java-Based ToolkitsJava-Based Toolkits

Toolkits Being Developed Everywhere ...Toolkits Being Developed Everywhere ...

Networked Virtual Environments - A Vision

Eventually, there will exist a persistent virtual Eventually, there will exist a persistent virtual environment simultaneously shared by millions.environment simultaneously shared by millions.

There can never be a global reboot.There can never be a global reboot.

All modifications must happen on the fly.All modifications must happen on the fly.

The development of participant programs (live & The development of participant programs (live & autonomous characters) for that VE must be as simple autonomous characters) for that VE must be as simple as writing a web page is today ...as writing a web page is today ...

Eventually, there will exist a persistent virtual Eventually, there will exist a persistent virtual environment simultaneously shared by millions.environment simultaneously shared by millions.

There can never be a global reboot.There can never be a global reboot.

All modifications must happen on the fly.All modifications must happen on the fly.

The development of participant programs (live & The development of participant programs (live & autonomous characters) for that VE must be as simple autonomous characters) for that VE must be as simple as writing a web page is today ...as writing a web page is today ...

Requirements for that Vision - Network Software Architecture

Extensible/Composable/InteroperableExtensible/Composable/Interoperable

• Cross-platform, component frameworksCross-platform, component frameworks

• Dynamic Behavior ProtocolsDynamic Behavior Protocols

Ability to Suspend/Resume StateAbility to Suspend/Resume State

• Persistent UniversePersistent Universe

Large-Scale/Infinite Number of PlayersLarge-Scale/Infinite Number of Players

• Area of Interest ManagementArea of Interest Management

Extensible/Composable/InteroperableExtensible/Composable/Interoperable

• Cross-platform, component frameworksCross-platform, component frameworks

• Dynamic Behavior ProtocolsDynamic Behavior Protocols

Ability to Suspend/Resume StateAbility to Suspend/Resume State

• Persistent UniversePersistent Universe

Large-Scale/Infinite Number of PlayersLarge-Scale/Infinite Number of Players

• Area of Interest ManagementArea of Interest Management

NSA Requirements - Extensible, Composable & Interoperable

Motivation - Cross-platform, component Motivation - Cross-platform, component frameworksframeworks

• The motivation behind cross-platform component The motivation behind cross-platform component frameworks is that we want to build systems that frameworks is that we want to build systems that are changeable overtime, systems whose updates are changeable overtime, systems whose updates are downloadable over the Internet, systems that are downloadable over the Internet, systems that can work on multiple platforms, systems whose can work on multiple platforms, systems whose pieces are small-enough that they are pieces are small-enough that they are understandable & reusable.understandable & reusable.

Motivation - Cross-platform, component Motivation - Cross-platform, component frameworksframeworks

• The motivation behind cross-platform component The motivation behind cross-platform component frameworks is that we want to build systems that frameworks is that we want to build systems that are changeable overtime, systems whose updates are changeable overtime, systems whose updates are downloadable over the Internet, systems that are downloadable over the Internet, systems that can work on multiple platforms, systems whose can work on multiple platforms, systems whose pieces are small-enough that they are pieces are small-enough that they are understandable & reusable.understandable & reusable.

NSA Requirements - Extensible, Composable & Interoperable

More Than Just Extending More Than Just Extending MemoryMemory

• Dynamically loaded modules Dynamically loaded modules require a consistent require a consistent framework in which to plug framework in which to plug into.into.

• The system must establish a The system must establish a convention such that modules convention such that modules can integrate into already can integrate into already running applications.running applications.

More Than Just Extending More Than Just Extending MemoryMemory

• Dynamically loaded modules Dynamically loaded modules require a consistent require a consistent framework in which to plug framework in which to plug into.into.

• The system must establish a The system must establish a convention such that modules convention such that modules can integrate into already can integrate into already running applications.running applications.

Netscape Portable Runtime

Bamboo Kernel

Lang-1Loader

Lang-NLoader

Lang-2Loader

Dynamic Behavior ProtocolsDesire - each entity in the VE able to define its own Desire - each entity in the VE able to define its own protocol modules, modules that are dynamically protocol modules, modules that are dynamically loadable from the web.loadable from the web.

• easy to maintaineasy to maintain

• always fully implementedalways fully implemented

• always optimized per individualalways optimized per individual

• never consumes unused system resourcesnever consumes unused system resources

• updateable in real-time!updateable in real-time!

Desire - each entity in the VE able to define its own Desire - each entity in the VE able to define its own protocol modules, modules that are dynamically protocol modules, modules that are dynamically loadable from the web.loadable from the web.

• easy to maintaineasy to maintain

• always fully implementedalways fully implemented

• always optimized per individualalways optimized per individual

• never consumes unused system resourcesnever consumes unused system resources

• updateable in real-time!updateable in real-time!

Dynamic Behavior Protocol Architecture

Object i

Object i Server

Object j Client Stub

Object kClient Stub

Object j

Object j Server

Object i Client Stub

Object kClient Stub

Object k

Object k Server

Object i Client Stub

Object jClient Stub

A Three-Tier Approach Seems the Way to Go ...

Global - An environment registryGlobal - An environment registry

• (help me find an environment (help me find an environment i.e. DNS, MAAS)i.e. DNS, MAAS)

Environment - An object registryEnvironment - An object registry

• (what objects are out there?)(what objects are out there?)

Object - A module registryObject - A module registry

• (input/output channels)(input/output channels)

Global - An environment registryGlobal - An environment registry

• (help me find an environment (help me find an environment i.e. DNS, MAAS)i.e. DNS, MAAS)

Environment - An object registryEnvironment - An object registry

• (what objects are out there?)(what objects are out there?)

Object - A module registryObject - A module registry

• (input/output channels)(input/output channels)

A Persistent UniverseMotivation - Motivation -

• By using dynamic protocols, along with components of the By using dynamic protocols, along with components of the existing Internet architecture, we can support the existing Internet architecture, we can support the persistence of a large-scale distributed virtual environment.persistence of a large-scale distributed virtual environment.

http Statelets - A platform independent file containing:http Statelets - A platform independent file containing:

• Names of archived classesNames of archived classes

• URLs of the modules containing the classesURLs of the modules containing the classes

• Archived classesArchived classes

Motivation - Motivation -

• By using dynamic protocols, along with components of the By using dynamic protocols, along with components of the existing Internet architecture, we can support the existing Internet architecture, we can support the persistence of a large-scale distributed virtual environment.persistence of a large-scale distributed virtual environment.

http Statelets - A platform independent file containing:http Statelets - A platform independent file containing:

• Names of archived classesNames of archived classes

• URLs of the modules containing the classesURLs of the modules containing the classes

• Archived classesArchived classes

Area of Interest Management - Large-Scale, Infinite Players

Multicast and area of Multicast and area of interest managers - to interest managers - to facilitate many-to-many facilitate many-to-many communications while communications while using limited bandwidth. using limited bandwidth.

Multicast and area of Multicast and area of interest managers - to interest managers - to facilitate many-to-many facilitate many-to-many communications while communications while using limited bandwidth. using limited bandwidth.

4 Keys to Success for Very Large Virtual Environments

Receive Receive onlyonly what you need to process. what you need to process.

Must be expandable Must be expandable

• dynamicallydynamically add new protocols, environments add new protocols, environments

Must have the ability to handle ‘crowd’ Must have the ability to handle ‘crowd’ situations.situations.

LowLow overhead for interest management. overhead for interest management.

Receive Receive onlyonly what you need to process. what you need to process.

Must be expandable Must be expandable

• dynamicallydynamically add new protocols, environments add new protocols, environments

Must have the ability to handle ‘crowd’ Must have the ability to handle ‘crowd’ situations.situations.

LowLow overhead for interest management. overhead for interest management.

Interest Management Issues• Network Latency, BandwidthNetwork Latency, Bandwidth

• The time to join a multicast group (0.5 seconds typical)The time to join a multicast group (0.5 seconds typical)

• Multicast Address Space/Allocation --> IPv6Multicast Address Space/Allocation --> IPv6

• Number of multicast groups supported by workstation/PC Number of multicast groups supported by workstation/PC NICsNICs

• Number of multicast routes supported by network Number of multicast routes supported by network routers.routers.

• Unreliable nature of large-scale multicast --> Need QoS Unreliable nature of large-scale multicast --> Need QoS supportsupport

• Network Latency, BandwidthNetwork Latency, Bandwidth

• The time to join a multicast group (0.5 seconds typical)The time to join a multicast group (0.5 seconds typical)

• Multicast Address Space/Allocation --> IPv6Multicast Address Space/Allocation --> IPv6

• Number of multicast groups supported by workstation/PC Number of multicast groups supported by workstation/PC NICsNICs

• Number of multicast routes supported by network Number of multicast routes supported by network routers.routers.

• Unreliable nature of large-scale multicast --> Need QoS Unreliable nature of large-scale multicast --> Need QoS supportsupport

Standards for Interoperability

We must be designing standards for We must be designing standards for interoperability that are as simple to interoperability that are as simple to use as writing a web page …use as writing a web page …

• So once we have done all the net-VE work So once we have done all the net-VE work on the previous slides, we can then think on the previous slides, we can then think about standardization ...about standardization ...

We must be designing standards for We must be designing standards for interoperability that are as simple to interoperability that are as simple to use as writing a web page …use as writing a web page …

• So once we have done all the net-VE work So once we have done all the net-VE work on the previous slides, we can then think on the previous slides, we can then think about standardization ...about standardization ...

Appendix - Network Communications in C, C++, and Java

Using TCP/IP from C and Using TCP/IP from C and C++ 293C++ 293

Managing Concurrent Managing Concurrent Connections in C and C++ Connections in C and C++ 297297

Using TCP/IP from Java 300Using TCP/IP from Java 300

Managing Concurrent Managing Concurrent Connections in Java 303Connections in Java 303

Using UDP/IP from C and Using UDP/IP from C and C++ 305C++ 305

Using TCP/IP from C and Using TCP/IP from C and C++ 293C++ 293

Managing Concurrent Managing Concurrent Connections in C and C++ Connections in C and C++ 297297

Using TCP/IP from Java 300Using TCP/IP from Java 300

Managing Concurrent Managing Concurrent Connections in Java 303Connections in Java 303

Using UDP/IP from C and Using UDP/IP from C and C++ 305C++ 305

Using UDP/IP from Java Using UDP/IP from Java 308308

Broadcasting from C and Broadcasting from C and C++ 310C++ 310

Broadcasting from Java Broadcasting from Java 310310

Multicasting from C and C+Multicasting from C and C++ 311+ 311

Multicasting from Java 312Multicasting from Java 312

References 313References 313

Using UDP/IP from Java Using UDP/IP from Java 308308

Broadcasting from C and Broadcasting from C and C++ 310C++ 310

Broadcasting from Java Broadcasting from Java 310310

Multicasting from C and C+Multicasting from C and C++ 311+ 311

Multicasting from Java 312Multicasting from Java 312

References 313References 313

2 3

5 7

10 12

Final

Any questions?Any questions?