In this modern age of wireless communications, fiber optics, and networking, we are told that distance is becoming irrelevant. And in a sense, it is true.

Transportation and communications technologies are changing the world. After all, you can pick up a phone and call anywhere in the world, or you can go on the internet and order a product from a company thousands of miles away. Yet, contrary to popular rhetoric, “Distance still matters.”

The speed of communication is ultimately limited by the speed of light. It would be impossible to communicate with someone in another galaxy, for instance, because the message would not arrive until they were long dead. Even in our own solar system, there is a considerable delay when NASA communicates with a spacecraft, and this has resulted in a number of unfortunate incidents.

Yet, how does the speed of communication affect us in everyday life? There is a noticeable delay when talking to someone in Europe over the telephone. We have to wait for web pages to load. And in networked video games, the person with the faster connection is more likely to win.

In networked video games and in video chat, the speed of communication is particularly important. In video games, significant delays may result in problems with motor coordination. And in video chat, talking to someone on a slow connection is not much fun at all. In fact, communication starts to break down with a delay of a half second or more.

This one half second mark, it seems, is a magic number of sorts. It is at this point when interpersonal communication begins to break down, where the brain begins to struggle to make sense of and interact within an environment, where babies will begin to cry, and where our perception of causality becomes distorted. Thus, in any 3-D virtual environment, involving real-time interaction, the delay should never exceed a half second. Or to put it a little differently, one half second is the maximum time which may be allotted for both computer processing and network communication for any real-time, immersive, virtual environment.

The Lueck Ratio
One may ask, how much time should be allotted for communication and how much for processing, respectively? If a “virtual world” server is to provide acceptable performance – delay of less than one half second – for clients anywhere in the world, the server must reserve an estimated 46% of the time on processing, and should leave 54% the time for communications.

The circumference of the earth is roughly 25,000 miles. If you want to talk to someone on the other side of the earth, they are 12,500 miles away. If you want to communicate with a server that is on the other side of the earth, it is 12,500 miles each way. If the speed of light is 186,000 miles per second, then how much time does it take to travel to the server and back? It takes 0.134 seconds.

Time = Distance / Velocity = 25,000 miles / 186,000 miles per second = 0.134 seconds

Yet, in the real world, a signal does not travel at 186,000 miles per second. In a fiber optic cable, for example, the speed of light is reduced because it is traveling through glass, by the fact that cables do not go in a straight line to your house, and because signals must be amplified. (Optical signals weaken and break up over a relatively short distance; and in order to remedy this problem, are converted into electrical signals, and then back into optical signals, resulting in significant delay.) Thus, current technological limitations prevent us from “truly” communicating at 186,000 miles per second (the speed of light in a vacuum).

Although it is clearly possible to estimate the average speed of communication, and the maximum distance a signal would have to travel, I will leave this task to someone more knowledgeable in the field. I would suggest, however, that a 0.27 second lag time is the best that we could possibly hope for.

If the maximum allowable delay is 0.5 seconds and 0.27 seconds must be allotted for communications, then only 0.23 seconds may be allotted for processing on the server. Or to put it differently, 54% of the time is allotted for communications, and 46% is allotted for processing. I call this ratio the “Lueck Ratio,” in honor of Dr. Jan English-Lueck.

The Lueck Ratio = 54% / 46% (just a guess)

Real-Time Virtual Environments
A one half second delay is certainly less than optimal. In order to decrease lag time, it may be necessary to reduce the distance a signal travels. How much we reduce the distance depends on how much processing we want to do, what kind of performance we required, and upon how much delay is acceptable.

What is the maximum allowable delay for optimal real-time interactions in a virtual environment? This is likely to be a matter of some debate. The brain handles different cognitive tasks differently, and different cognitive tasks are likely to have different maximum allowable delay times. Thus, the answer is not likely to be as straight-forward as one might think.

The maximum allowable delay is likely to be somewhere around 1/30th of a second. We are used to seeing film at 30 frames per second. If we move to 20 frames a second, motion is no longer smooth, so this gives us an idea of what our eye can pick up. Clearly a difference between frame rate and delay, yet this gives us some insight into the resolution of our visual perception.

Video games may give us some further insight in to this question. Generally speaking, the maximum delay time for a video game running at 30 frames per second is a little more than 1/30 of a second. Either something happens in time to be included in the next frame, and the delay is less than 1/30 of a second; or something happens to late to be included in the next frame, and the delay time is a little more than 1/30 of a second. In most video games, this delay goes for the most part unnoticed. Thus, a maximum delay of roughly 1/30 of a second appears to be acceptable. Although 1/60 of a second would certainly be better.

Here again, it is important to point out that there are different optimal maximum delays for different cognitive processes. A 1/30 second delay should not affect facial recognition, but it may impair motor coordination, at some level. In addition, it may be noted that delay times should be relatively constant. If delay times are variable, it may reduce human cognitive performance.

In order to alleviate delay problems, some simulators run at 120 frames per second. Unfortunately, this type of resolution and update rate is likely to be unrealistic for a central “virtual world” server, at least in the not-too-distant future. Fortunately, however, a delay of 1/30 of a second, appears to be acceptable in most environments – whether video conferencing, over the telephone, or in video games (at least many of them).

The Cooper Radius
If 1/30 of a second is the maximum allowable delay, then we may ask, how far can you be away from the server and still have optimum performance? Or to put it a little differently, what is the radius from a central point in which you have optimal performance? I have named this the “Cooper Radius,” in honor of Bob Cooper, who was one of my graduate advisors at SJSU. Within the Cooper Radius, it is possible to have optimal real-time interaction with anyone else within that radius. Thus, the Cooper Radius is the coverage area.

If we allot 75% of the time for processing, it only leaves 0.008 seconds for transmission. (There isn’t much available time, so most of it is going to have to be for processing, and 75% seems like a reasonable working number.) If light travels at 186,000 miles per second, it can travel 1,550 miles in 0.008 seconds.

Distance = Velocity x Time = 1,550 miles

It is important to remember, however, that the signal will have to travel to the server and back. Thus, the Cooper Radius is 775 miles.

In practice, however, the signal will not be will not be traveling at 186,000 miles per second (the speed of light in a vacuum), nor will it be traveling in a strait line. If we are using a fiber optic cable, for instance, the speed of light will be reduced by 1/3 (the index of refraction of glass is 1.5), and I am unsure of the delay resulting from signal amplification or switching. Yet, it is clear that there will be significant delay.

I would not be surprised if the Cooper Radius is less than a couple hundred miles. That means, in order to interact in a real-time virtual environment, you would need to be within several hundred miles of the “virtual world server.” This is a shocking and counter intuitive result. “Distance still matters.”

Cooper Radius < 775 miles (and perhaps no more than one or two hundred miles)

Before continuing, it may be noted that you may be able to talk to different people, depending on which server you are using and where it is located. In this way, it is possible to extend your effective Cooper Radius. In addition, it may be noted that different servers are likely to have slightly different Cooper Radii. After all, different servers may have different communications/processing time ratios, and different regions may utilize different communications technologies, altering the speed of transmission. (e.g. Shanghai would probably utilize wireless, whereas Los Angeles may use fiber.) Thus, it is possible to talk about the “Ideal Cooper Radius” (775 miles), the “Average Cooper Radius” (maybe 150 miles), the “Ideal Cooper Radius for a particular kind of server,” the “Realized Cooper Radius for a server at a particular location,” and so on and so forth.

The Global Village
It is possible to link virtual environments from all over the world into a single Virtual World. That is, it is possible to network all Cooper and Lueck servers together to create a spatially contiguous environment, a single geography.

The most strait forward approach would be to give each server a little virtual world of its own, and then to connect them. In this way, you would have “local real-time environments” and “global Lueck environments” side by side, connected spatially or by teleports. And you could move from one to another by walking across a boundary or through a door. It must be noted, however, that you would not be allowed to enter a real-time environment, unless you were within the Cooper Radius of the server. Thus, this approach is somewhat exclusive.

The advantage of this approach is simplicity. It simplifies the design of the server and allows you to optimize server performance. It also simplifies things for the user. In a virtual world hosted by a real-time server – “local space” – you can do x, y, and z. But when you go through the teleport, into a global space, you cannot do x, y, or z. But you can do A, B, and C. After all, a global server has more time for processing. This solution may be ideal because it makes it possible to network different servers with different characteristics, into a single Virtual World. The disadvantage is that you can’t have someone from Delhi over for dinner (at least if your house or dinning room is hosted on a real-time server).

An alternative approach would be to create a environment which combines elements of both real-time Cooper environments and delayed Lueck environments in a single environment. This may be easily accomplished by having your Cooper server double as a Lueck server, when you are interacting with someone outside the Cooper Radius. When using the Lueck server, your interactions would merely be limited. And, the interface could be used to provide cues to help to eliminate any confusion between different states of existence (real-time or delayed). Thus, if you were talking with someone from outside the Cooper Radius, they would be “in slow motion.” If you were outside your Cooper Radius – that is, you were connected to a server outside of your local area – you would be “in slow motion.”

The drawback to this approach is that local servers may be optimized for local connections; and, it may be difficult for local servers to synchronize “delayed Lueck signals” with “real-time signals” (possibly with different frame rates or resolutions) in a way that creates a seamless and smooth environment for the user.

For example, if you are playing ping pong with someone with a delayed signal, what happens? You hit the ball to them in real-time, but they are not playing in real-time. The ping-pong ball flies over the net, hits the table, and then it stops while you wait to see if they hit the ball. The obvious solution is to delay both signals equally. But then, what is the point of having a local server in the first place. In addition, does this mean that the delay must be added for anyone else who is watching, or god forbid, participating?

Thus, certain types of interaction are difficult with people from outside the Cooper Radius. As a result, it may necessary to prevent these interactions from occurring. How? Probably by creating a user interface which limits interactions with people from outside the Cooper Radius, although it is not obvious exactly how. People from outside the Cooper Radius are going to react very slowly and interpersonal communication is going to be more difficult.

Finally, it may also be noted that it would be possible to use a distributed architecture in which different servers worked together, on the same geography, at the same time. Yet, this may be difficult to accomplish and could be messy. In addition, in distributed architectures, where two or more servers are running the same simulation in parallel, there may be problems with simultaneity. If two people attempt to kick a soccer ball at the same time, what happens? Server A receives input from player A before it receives input from player B, and concludes that A got there first. (Signal B took longer for the signal to get there because the signal had further to go.) Whereas, Server B receives input from player B before it receives input from player A, and concludes that player B got there first. Thus, the two simulations diverge. This problem of divergence may be seen to a very limited extent in video games, where different people see different events. (And in fact, we could construct a theoretical scenario in which the simulations continue to diverge, leading to two divergent universes.)

As a result of the problems associated with coordinating real-time Cooper input with delayed-time Lueck input, and problems with simultaneity, complexity, and interoperability associated with using distributed architectures, linking server to geographic location may be the best approach.

The Cooper Radius changes the way we need to think about the future of communications. Even if server time is reduced to almost zero, the Cooper Radius cannot exceed a theoretical limit of 3,100 miles. Thus, the vision of a single networked Virtual World, in immersive real-time, is a vision that can never be achieved. In addition, the Cooper Radius emphasizes the importance of communications speeds, bandwidth, and server performance.

The Cooper Radius may also influence demographics, promoting the development of regional communities around central servers. An example of a regional community might be the Southern California area, Los Angeles, Orange County, and San Diego. And in the future, we might expect to see people moving closer and closer to one another, in order to enhance performance, reminding one of transistors in an integrated circuit.

Communication between people in different regions, of course, will be possible. But, communication will be limited. You are simply not going to be able to play basketball with someone in Madagascar. But, you will be able to communicate in person and to do business. As a result, the formation of regional communities is likely to reflect, in part, the desire to be near family or friends, or to be in a socially familiar social environment. And, it is likely to reinforce existing national, cultural, and geographic boundaries.

msc 06/23/06