+ All Categories
Home > Documents > Chapter Four - Communication Architectures Two Players on a LAN 87 Multiplayer Client-Server Systems...

Chapter Four - Communication Architectures Two Players on a LAN 87 Multiplayer Client-Server Systems...

Date post: 03-Jan-2016
Category:
Upload: abraham-fitzgerald
View: 218 times
Download: 2 times
Share this document with a friend
27
Chapter Four - Communication Architectures Two Players on a LAN 87 Two Players on a LAN 87 Multiplayer Client-Server Multiplayer Client-Server Systems 90 Systems 90 Multiplayer Client-Server, with Multiplayer Client-Server, with Multiple-Server Architectures 94 Multiple-Server Architectures 94 Peer-to-Peer Architectures 95 Peer-to-Peer Architectures 95 Conclusion 98 Conclusion 98 References 98 References 98
Transcript
Page 1: Chapter Four - Communication Architectures Two Players on a LAN 87 Multiplayer Client-Server Systems 90 Multiplayer Client-Server, with Multiple-Server.

Chapter Four - Communication Architectures

Two Players on a LAN 87Two Players on a LAN 87

Multiplayer Client-Server Multiplayer Client-Server Systems 90Systems 90

Multiplayer Client-Server, Multiplayer Client-Server, with Multiple-Server with Multiple-Server Architectures 94Architectures 94

Peer-to-Peer Architectures Peer-to-Peer Architectures 9595

Two Players on a LAN 87Two Players on a LAN 87

Multiplayer Client-Server Multiplayer Client-Server Systems 90Systems 90

Multiplayer Client-Server, Multiplayer Client-Server, with Multiple-Server with Multiple-Server Architectures 94Architectures 94

Peer-to-Peer Architectures Peer-to-Peer Architectures 9595

Conclusion 98Conclusion 98

References 98References 98

Conclusion 98Conclusion 98

References 98References 98

Page 2: Chapter Four - Communication Architectures Two Players on a LAN 87 Multiplayer Client-Server Systems 90 Multiplayer Client-Server, with Multiple-Server.

Two Players on a LAN

Logical architecture --> Message flowLogical architecture --> Message flow

Physical architecture --> How is it really wired Physical architecture --> How is it really wired & how do our messages really flow?& how do our messages really flow?

Logical architecture --> Message flowLogical architecture --> Message flow

Physical architecture --> How is it really wired Physical architecture --> How is it really wired & how do our messages really flow?& how do our messages really flow?

Page 3: Chapter Four - Communication Architectures Two Players on a LAN 87 Multiplayer Client-Server Systems 90 Multiplayer Client-Server, with Multiple-Server.

Two Players on a LANLatencyLatency

• 100 milliseconds100 milliseconds

• 200 milliseconds200 milliseconds

• Or what?Or what?

• How long before we can’t control or react to the How long before we can’t control or react to the other players across the net? This the THE BIG other players across the net? This the THE BIG DEAL, IN FACT THE WHOLE DEAL with Net-VEs.DEAL, IN FACT THE WHOLE DEAL with Net-VEs.

LatencyLatency

• 100 milliseconds100 milliseconds

• 200 milliseconds200 milliseconds

• Or what?Or what?

• How long before we can’t control or react to the How long before we can’t control or react to the other players across the net? This the THE BIG other players across the net? This the THE BIG DEAL, IN FACT THE WHOLE DEAL with Net-VEs.DEAL, IN FACT THE WHOLE DEAL with Net-VEs.

Page 4: Chapter Four - Communication Architectures Two Players on a LAN 87 Multiplayer Client-Server Systems 90 Multiplayer Client-Server, with Multiple-Server.

Two Players on a LANDIS Protocol PDUDIS Protocol PDU

• 144 bytes in length and contains the information 144 bytes in length and contains the information necessary to manage entity state for the various necessary to manage entity state for the various players.players.

• Graphics performance - 30 frames per second.Graphics performance - 30 frames per second.

DIS Protocol PDUDIS Protocol PDU

• 144 bytes in length and contains the information 144 bytes in length and contains the information necessary to manage entity state for the various necessary to manage entity state for the various players.players.

• Graphics performance - 30 frames per second.Graphics performance - 30 frames per second.

Page 5: Chapter Four - Communication Architectures Two Players on a LAN 87 Multiplayer Client-Server Systems 90 Multiplayer Client-Server, with Multiple-Server.

Two Players on a LANNPSNET-IV Performance with DISNPSNET-IV Performance with DIS

• Aircraft 12 PDUs per secondAircraft 12 PDUs per second

• Ground vehicles 5 PDUs per secondGround vehicles 5 PDUs per second

• Weapon firing 3 PDUs per secondWeapon firing 3 PDUs per second

• Fully articulated humans 30 PDUs per second Fully articulated humans 30 PDUs per second (frame rate)(frame rate)

• Heartbeat PDU every 5 seconds.Heartbeat PDU every 5 seconds.

NPSNET-IV Performance with DISNPSNET-IV Performance with DIS

• Aircraft 12 PDUs per secondAircraft 12 PDUs per second

• Ground vehicles 5 PDUs per secondGround vehicles 5 PDUs per second

• Weapon firing 3 PDUs per secondWeapon firing 3 PDUs per second

• Fully articulated humans 30 PDUs per second Fully articulated humans 30 PDUs per second (frame rate)(frame rate)

• Heartbeat PDU every 5 seconds.Heartbeat PDU every 5 seconds.

Page 6: Chapter Four - Communication Architectures Two Players on a LAN 87 Multiplayer Client-Server Systems 90 Multiplayer Client-Server, with Multiple-Server.

Two Players on a LANSome network parametersSome network parameters

• 56K bps for V.90 modems56K bps for V.90 modems

• 10 Mbps for our Ethernet LAN (saturates at 70% 10 Mbps for our Ethernet LAN (saturates at 70% utilization)utilization)

• 1.5 Mbps for T-1 lines1.5 Mbps for T-1 lines

Some network parametersSome network parameters

• 56K bps for V.90 modems56K bps for V.90 modems

• 10 Mbps for our Ethernet LAN (saturates at 70% 10 Mbps for our Ethernet LAN (saturates at 70% utilization)utilization)

• 1.5 Mbps for T-1 lines1.5 Mbps for T-1 lines

Page 7: Chapter Four - Communication Architectures Two Players on a LAN 87 Multiplayer Client-Server Systems 90 Multiplayer Client-Server, with Multiple-Server.

Two Players on a LANHow many players can we support?How many players can we support?

• Ethernet LANEthernet LAN

• V.90 modemsV.90 modems

How many players can we support?How many players can we support?

• Ethernet LANEthernet LAN

• V.90 modemsV.90 modems

Page 8: Chapter Four - Communication Architectures Two Players on a LAN 87 Multiplayer Client-Server Systems 90 Multiplayer Client-Server, with Multiple-Server.

Ethernet LAN• 7 Mbps of available bandwidth7 Mbps of available bandwidth

• A PDU is 8 bits/byte times 144 bytes or 1152 bits.A PDU is 8 bits/byte times 144 bytes or 1152 bits.

• Meaning we can send about 6,076 PDUs per Meaning we can send about 6,076 PDUs per second on our Ethernet LAN.second on our Ethernet LAN.

• 7 Mbps of available bandwidth7 Mbps of available bandwidth

• A PDU is 8 bits/byte times 144 bytes or 1152 bits.A PDU is 8 bits/byte times 144 bytes or 1152 bits.

• Meaning we can send about 6,076 PDUs per Meaning we can send about 6,076 PDUs per second on our Ethernet LAN.second on our Ethernet LAN.

Page 9: Chapter Four - Communication Architectures Two Players on a LAN 87 Multiplayer Client-Server Systems 90 Multiplayer Client-Server, with Multiple-Server.

Ethernet LAN• If we assume mayhem, all players firing once If we assume mayhem, all players firing once

each second, we can make some statements each second, we can make some statements about the outer bounds of what we can support.about the outer bounds of what we can support.

– Fully articulated humans (30 PDUs/second) Fully articulated humans (30 PDUs/second) firing once per second (3 PDUs/second) --> we firing once per second (3 PDUs/second) --> we can have 184 humans on such a LAN.can have 184 humans on such a LAN.

• If we assume mayhem, all players firing once If we assume mayhem, all players firing once each second, we can make some statements each second, we can make some statements about the outer bounds of what we can support.about the outer bounds of what we can support.

– Fully articulated humans (30 PDUs/second) Fully articulated humans (30 PDUs/second) firing once per second (3 PDUs/second) --> we firing once per second (3 PDUs/second) --> we can have 184 humans on such a LAN.can have 184 humans on such a LAN.

Page 10: Chapter Four - Communication Architectures Two Players on a LAN 87 Multiplayer Client-Server Systems 90 Multiplayer Client-Server, with Multiple-Server.

Ethernet LAN• Assume all aircraft (12 PDUs/second) firing once Assume all aircraft (12 PDUs/second) firing once

per second (3 PDUs), we can have 405 aircraft.per second (3 PDUs), we can have 405 aircraft.

• Assume all ground vehicles (5 PDUs/second) firing Assume all ground vehicles (5 PDUs/second) firing once per second (3 PDUs), we can have 759 once per second (3 PDUs), we can have 759 ground vehicles.ground vehicles.

• So we can support between 184 to 759 players on So we can support between 184 to 759 players on our LAN, assuming away all other usage.our LAN, assuming away all other usage.

– NPSNET-IV maxed out at about 300 players.NPSNET-IV maxed out at about 300 players.

• Assume all aircraft (12 PDUs/second) firing once Assume all aircraft (12 PDUs/second) firing once per second (3 PDUs), we can have 405 aircraft.per second (3 PDUs), we can have 405 aircraft.

• Assume all ground vehicles (5 PDUs/second) firing Assume all ground vehicles (5 PDUs/second) firing once per second (3 PDUs), we can have 759 once per second (3 PDUs), we can have 759 ground vehicles.ground vehicles.

• So we can support between 184 to 759 players on So we can support between 184 to 759 players on our LAN, assuming away all other usage.our LAN, assuming away all other usage.

– NPSNET-IV maxed out at about 300 players.NPSNET-IV maxed out at about 300 players.

Page 11: Chapter Four - Communication Architectures Two Players on a LAN 87 Multiplayer Client-Server Systems 90 Multiplayer Client-Server, with Multiple-Server.

V.90 Modems• 56Kbps implies about 48 PDUs/second.56Kbps implies about 48 PDUs/second.

– 1 human, 3 aircraft or 6 ground vehicles.1 human, 3 aircraft or 6 ground vehicles.

• If we do better than that and make our packets If we do better than that and make our packets only 22% of that size, we can have 218 only 22% of that size, we can have 218 PDUs/second.PDUs/second.

– 6 humans, 14 aircraft or 27 ground vehicles.6 humans, 14 aircraft or 27 ground vehicles.

• 56Kbps implies about 48 PDUs/second.56Kbps implies about 48 PDUs/second.

– 1 human, 3 aircraft or 6 ground vehicles.1 human, 3 aircraft or 6 ground vehicles.

• If we do better than that and make our packets If we do better than that and make our packets only 22% of that size, we can have 218 only 22% of that size, we can have 218 PDUs/second.PDUs/second.

– 6 humans, 14 aircraft or 27 ground vehicles.6 humans, 14 aircraft or 27 ground vehicles.

Page 12: Chapter Four - Communication Architectures Two Players on a LAN 87 Multiplayer Client-Server Systems 90 Multiplayer Client-Server, with Multiple-Server.

Multi-Player Client Server - Logical Architecture

Servers are bottlenecks!Servers are bottlenecks!

• But useful for compression & admin tasksBut useful for compression & admin tasks

Servers are bottlenecks!Servers are bottlenecks!

• But useful for compression & admin tasksBut useful for compression & admin tasks

Page 13: Chapter Four - Communication Architectures Two Players on a LAN 87 Multiplayer Client-Server Systems 90 Multiplayer Client-Server, with Multiple-Server.

Multi-Player Client Server - Physical Arch. on a LAN

It might really look like this physically!It might really look like this physically!It might really look like this physically!It might really look like this physically!

Page 14: Chapter Four - Communication Architectures Two Players on a LAN 87 Multiplayer Client-Server Systems 90 Multiplayer Client-Server, with Multiple-Server.

Multi-Player Client Server - Physical Arch. - Phone Lines

Or this, if we are using phone lines & modems …Or this, if we are using phone lines & modems …

• Think simple video game architectures ...Think simple video game architectures ...

Or this, if we are using phone lines & modems …Or this, if we are using phone lines & modems …

• Think simple video game architectures ...Think simple video game architectures ...

Page 15: Chapter Four - Communication Architectures Two Players on a LAN 87 Multiplayer Client-Server Systems 90 Multiplayer Client-Server, with Multiple-Server.

Multi-Player Client Server with Multiple Servers

Or this, if we are using a multiplayer Or this, if we are using a multiplayer videogame service company ...videogame service company ...Or this, if we are using a multiplayer Or this, if we are using a multiplayer videogame service company ...videogame service company ...

Page 16: Chapter Four - Communication Architectures Two Players on a LAN 87 Multiplayer Client-Server Systems 90 Multiplayer Client-Server, with Multiple-Server.

How many players can we support with a DIS-like architecture?

Table 4 - 1 Players supportable in a DIS-like networked virtual environment versus various available network technologies.

Assumptions1. Infinite compute cycles at each node.2. Infinite graphics cycles at each node.3. Network interface with infinite cycles.

Bytes BitsPacket size for DIS-like VEs = 144 1152Packet size for Game-like VEs = 32 256

Video/audio stream (bytes/second) = 70,000 560000 Origin - Media 100 Natural Video rate.

Just moving MayhemArticulated humans (PDUs/second) = 30 33 Mayhem used for Min. PlayersAircraft (PDUs/second) = 12 15 Not used but here for completeness.Ground vehicles (PDUs/second) = 5 8 Mayhem used for Max. Players

Technology Min. Speed Max. Speed Min. Players Max. Players Min. Players Max. Players Min. Players Max. Playersbps bps DIS-like DIS-like Game-like Game-like Game & Video Game & Video

V.90 Modem 28,800 56,000 1 6 7 27

DSL 384,000 1,500,000 39 163 178 732 111 459

T-1 1,500,000 1,500,000 39 163 178 732 111 459

Cable Modems 2,000,000 10,000,000 263 1085 1184 4883 1117 4609

10BT 7,000,000 10,000,000 263 1085 1184 4883 1117 4609

100BT 70,000,000 100,000,000 2630 10851 11837 48828 11771 48555

References

Dawson, Fred "XDSL Market Blooming," Interactive Week, Vol. 5, No. 39, 12 Oct. 1998, pp. 28-29.

Cable Modem FAQ, http://www.cox.com/highspeed/modemfaq.html

Page 17: Chapter Four - Communication Architectures Two Players on a LAN 87 Multiplayer Client-Server Systems 90 Multiplayer Client-Server, with Multiple-Server.

Peer-to-peer on a LAN

Broadcast or multicast?

Peer-to-peer - when each player speaks directly to Peer-to-peer - when each player speaks directly to the player/players to whom it needs to the player/players to whom it needs to communicate state.communicate state.

Peer-to-peer - when each player speaks directly to Peer-to-peer - when each player speaks directly to the player/players to whom it needs to the player/players to whom it needs to communicate state.communicate state.

Page 18: Chapter Four - Communication Architectures Two Players on a LAN 87 Multiplayer Client-Server Systems 90 Multiplayer Client-Server, with Multiple-Server.

Limitations of broadcastFloods the network with packets.Floods the network with packets.

All packets must be brought up through the All packets must be brought up through the kernel of the operating systems of all players kernel of the operating systems of all players on the net.on the net.

• Even if the packet is not for that machine!Even if the packet is not for that machine!

– Thereby wasting CPU time.Thereby wasting CPU time.

Floods the network with packets.Floods the network with packets.

All packets must be brought up through the All packets must be brought up through the kernel of the operating systems of all players kernel of the operating systems of all players on the net.on the net.

• Even if the packet is not for that machine!Even if the packet is not for that machine!

– Thereby wasting CPU time.Thereby wasting CPU time.

Page 19: Chapter Four - Communication Architectures Two Players on a LAN 87 Multiplayer Client-Server Systems 90 Multiplayer Client-Server, with Multiple-Server.

VE Software Scalability Statement• Virtual environment software architectures can Virtual environment software architectures can

exploit wide area multicast communications and exploit wide area multicast communications and entity relationships to partition the virtual world entity relationships to partition the virtual world and enable the development of scalable VEs.and enable the development of scalable VEs.

• Virtual environment software architectures can Virtual environment software architectures can exploit wide area multicast communications and exploit wide area multicast communications and entity relationships to partition the virtual world entity relationships to partition the virtual world and enable the development of scalable VEs.and enable the development of scalable VEs.

Page 20: Chapter Four - Communication Architectures Two Players on a LAN 87 Multiplayer Client-Server Systems 90 Multiplayer Client-Server, with Multiple-Server.

Multicast• Multicast services allow arbitrarily sized groups to Multicast services allow arbitrarily sized groups to

communicate on a network via a single communicate on a network via a single transmission by the source.transmission by the source.

• Can internetwork (route over the network layer) Can internetwork (route over the network layer) with multicast.with multicast.

• Multicast services allow arbitrarily sized groups to Multicast services allow arbitrarily sized groups to communicate on a network via a single communicate on a network via a single transmission by the source.transmission by the source.

• Can internetwork (route over the network layer) Can internetwork (route over the network layer) with multicast.with multicast.

Page 21: Chapter Four - Communication Architectures Two Players on a LAN 87 Multiplayer Client-Server Systems 90 Multiplayer Client-Server, with Multiple-Server.

Areas of interest in the VE• In the real world, which virtual environments In the real world, which virtual environments

emulate, entities have a limited “areas of emulate, entities have a limited “areas of interest”.interest”.

• We can exploit this with multicast We can exploit this with multicast communications.communications.

• Interactions are mediated by an AOIM software Interactions are mediated by an AOIM software layer.layer.

• In the real world, which virtual environments In the real world, which virtual environments emulate, entities have a limited “areas of emulate, entities have a limited “areas of interest”.interest”.

• We can exploit this with multicast We can exploit this with multicast communications.communications.

• Interactions are mediated by an AOIM software Interactions are mediated by an AOIM software layer.layer.

Page 22: Chapter Four - Communication Architectures Two Players on a LAN 87 Multiplayer Client-Server Systems 90 Multiplayer Client-Server, with Multiple-Server.

Area of Interest Management (AOIM) Software Layer

Page 23: Chapter Four - Communication Architectures Two Players on a LAN 87 Multiplayer Client-Server Systems 90 Multiplayer Client-Server, with Multiple-Server.

Area of Interest Management Partitioning Classes

SpatialSpatial

Temporal Temporal

FunctionalFunctional

SpatialSpatial

Temporal Temporal

FunctionalFunctional

Page 24: Chapter Four - Communication Architectures Two Players on a LAN 87 Multiplayer Client-Server Systems 90 Multiplayer Client-Server, with Multiple-Server.

Area of interest management is distributed• Partition the simulation into workable chunks to reduce Partition the simulation into workable chunks to reduce

computational load on hosts and minimize communications computational load on hosts and minimize communications on tail links.on tail links.

• Distribute partitioning algorithms among hosts.Distribute partitioning algorithms among hosts.

• Partition the simulation into workable chunks to reduce Partition the simulation into workable chunks to reduce computational load on hosts and minimize communications computational load on hosts and minimize communications on tail links.on tail links.

• Distribute partitioning algorithms among hosts.Distribute partitioning algorithms among hosts.

Page 25: Chapter Four - Communication Architectures Two Players on a LAN 87 Multiplayer Client-Server Systems 90 Multiplayer Client-Server, with Multiple-Server.

Simulation• Does partitioning using our architecture reduce Does partitioning using our architecture reduce

bandwidth and computational requirements for bandwidth and computational requirements for large-scale virtual environments?large-scale virtual environments?

• Does the architecture scale and if so how well?Does the architecture scale and if so how well?

• Does partitioning using our architecture reduce Does partitioning using our architecture reduce bandwidth and computational requirements for bandwidth and computational requirements for large-scale virtual environments?large-scale virtual environments?

• Does the architecture scale and if so how well?Does the architecture scale and if so how well?

Page 26: Chapter Four - Communication Architectures Two Players on a LAN 87 Multiplayer Client-Server Systems 90 Multiplayer Client-Server, with Multiple-Server.

How we did the simulation ...• We took real world data from the National We took real world data from the National

Training Center from a battle scenario.Training Center from a battle scenario.

• We used a constructive model on the real world We used a constructive model on the real world data to fill in the player positions and actions.data to fill in the player positions and actions.

• We ran a simulation of our Area of Interest We ran a simulation of our Area of Interest Manager and kept records on the distribution of Manager and kept records on the distribution of players among the hexes.players among the hexes.

• We took real world data from the National We took real world data from the National Training Center from a battle scenario.Training Center from a battle scenario.

• We used a constructive model on the real world We used a constructive model on the real world data to fill in the player positions and actions.data to fill in the player positions and actions.

• We ran a simulation of our Area of Interest We ran a simulation of our Area of Interest Manager and kept records on the distribution of Manager and kept records on the distribution of players among the hexes.players among the hexes.

Page 27: Chapter Four - Communication Architectures Two Players on a LAN 87 Multiplayer Client-Server Systems 90 Multiplayer Client-Server, with Multiple-Server.

More simulation analysis ...– Peak Multicast traffic around 2Mbits/second, Peak Multicast traffic around 2Mbits/second,

just over T-1 speed (flat for the hex sizes).just over T-1 speed (flat for the hex sizes).

– Peak at 1,500 players in an area of interest for Peak at 1,500 players in an area of interest for Multicast.Multicast.

∆ Apparently unbounded number of players Apparently unbounded number of players (packets) per machine for broadcast, with (packets) per machine for broadcast, with the app having to deal with these packets.the app having to deal with these packets.

– Peak Multicast traffic around 2Mbits/second, Peak Multicast traffic around 2Mbits/second, just over T-1 speed (flat for the hex sizes).just over T-1 speed (flat for the hex sizes).

– Peak at 1,500 players in an area of interest for Peak at 1,500 players in an area of interest for Multicast.Multicast.

∆ Apparently unbounded number of players Apparently unbounded number of players (packets) per machine for broadcast, with (packets) per machine for broadcast, with the app having to deal with these packets.the app having to deal with these packets.


Recommended