Consider the implementation strategies for massively multiplayer online games as discussed in Section 1.2.2. In particular, what advantages do you see in adopting a single server approach for representing the state of the multiplayer game? What problems can you identify and how might they be resolved?

What will be an ideal response?


The advantages of having a single server maintain a representation of the game are that: (1) there is a single
copy and hence no need to maintain consistency of multiple copies; and (2) clients have a single place to go
to discover this state. There may also be advantages to having a global view of the entire systems state.
The potential problems are that this single server may fail and may also become a bottleneck affecting
the performance and scalability of the approach. To handle failure, it would be necessary to introduce
replication, which in turn would require a solution to maintaining consistency across replicas. There are a
number of solutions to improving performance and scalability including running the server on a cluster
architecture as described in Section 1.2.2, or again using replication and load balancing within the distributed
environment. Alternatively, a peer-to-peer solution can be adopted. These techniques are covered throughout
the book.

Computer Science & Information Technology

You might also like to view...

Is this server a stateful server? If so, what kind of state information (global or session) does it maintain?

Using the three-tier software architecture presented in this chapter, design and implement a client-server suite for the following protocol (it is not a well-known service): Each client sends to the server a name. The server accumulates the names received from successive clients (by appending each, with a linefeed (‘ ’), to a static string). Upon receiving a name, the server sends the names that it has collected to the client. The figure below illustrates the sequence diagram of a session of the protocol.

Computer Science & Information Technology

Python performs name mangling on attributes that begin with ______ underscore(s).

Fill in the blank(s) with the appropriate word(s).

Computer Science & Information Technology

Kevin edits a digital photograph. If Kevin uses an image editing program for this purpose, the program will use the arithmetic/logic unit, with help from the _____ when needed, using only arithmetic and logical operations.

A. ?prefetch unit B. ?decode unit C. ?bus interface unit D. ?floating point unit

Computer Science & Information Technology

To examine multiple worksheets in the same workbook at the same time, you use New Window and Arrange All located on the ________ tab

A) INSERT B) VIEW C) DESIGN D) PAGE LAYOUT

Computer Science & Information Technology