Difference between revisions of "User:Finrod Meriman/Scalability"

From Second Life Wiki
Jump to navigation Jump to search
(New page: == Some thoughts on scalability == ''DRAFT'' In the kickoff meeting of the Architecture Working Group Zero presented several scalability objectives: a platform that could support 60 mill...)
 
Line 1: Line 1:
== Some thoughts on scalability ==
== Some thoughts on scalability ==
''DRAFT''


In the kickoff meeting of the Architecture Working Group Zero presented
In the kickoff meeting of the Architecture Working Group Zero presented
Line 23: Line 21:
scalability as well.  
scalability as well.  


* The number of regions that share a common set of user identities
=== Scale Identity ===


In the Web every organization typically implements an identity service
As the number of organizations hosting regions increases, the complexity
to track its customers; e.g. I have distinct accounts at web sites
of managing a common identity increases. It becomes necessary to
hosted by Amazon, Ebay, ESPN, and CNN. Multiple attempts have been made
establish trust relationships between different organizations, an issue
to federate identity across multiple sites with relatively little
that his historically been limited by complexity of management and
success. In contrast, wireless carriers have established roaming
competing business models (there is a perception that the organization
agreements that tie customer billing records together across multiple
that owns the identity owns the customer).
domains; my identity as stored in my SIM card enables the carrier
 
hosting my roaming cell phone to bill my primary carrier for the minutes
In the Web each organization typically implements an identity service to
I use.
track its customers; e.g. I have distinct accounts at web sites hosted
by Amazon, Ebay, ESPN, and CNN. Multiple attempts have been made to
federate identity across multiple sites with relatively little success.
The wireless carriers have had some success with identity federation:
carriers establish roaming agreements that tie customer billing records
together across multiple domains; my identity as stored in my SIM card
enables the carrier hosting my roaming cell phone to bill my primary
carrier for the minutes I use.


The extent to which my identity scales (that is, the number of regions
The extent to which my identity scales (that is, the number of regions
Line 40: Line 45:
really hard.)
really hard.)


* The number of users that can concurrently share a single region
=== Scale Per Region Concurrency ===


The number of concurrent users in a single region (sim) right now is
The number of concurrent users in a single region (sim) right now is
Line 54: Line 59:
of the game, and operate within the same space. The shared social
of the game, and operate within the same space. The shared social
experience is what differentiates interactions in a virtual world from a
experience is what differentiates interactions in a virtual world from a
simple webcast. However, rich social interactions generally only occur
simple webcast. Ideally it should be possible to host a large event
with others who are nearby. Scaling the number of users at an event can
(like the Super Bowl) where the fans have sufficient fidelity of
leverage user expectations to maintain a reasonable experience.
interaction to enable a "virtual wave" through the stadium. However,
rich social interactions generally occur with others who are nearby.
Scaling the number of users at an event can leverage user expectations
to maintain a reasonable experience.


Early "large" Web events like coverage of the 1998 Winter Olympics in
Early "large" Web events like coverage of the 1998 Winter Olympics in
Line 64: Line 72:
world to handle that kind of traffic?
world to handle that kind of traffic?


* The number and complexity of objects in a region
=== Scale the Number of Objects ===
 
=== Scale the Complexity of Objects ===


* The complexity of behavior of objects
=== Scale the Complexity of Object Behavior ===


How many objects can have scripts? What can scripts control about
How many objects can have scripts? What can scripts control about
objects? How difficult is it to define new behaviors?
objects? How difficult is it to define new behaviors?

Revision as of 17:12, 13 November 2007

Some thoughts on scalability

In the kickoff meeting of the Architecture Working Group Zero presented several scalability objectives: a platform that could support 60 million regions, 2 billion total users, and 50 million concurrently connected users. These objectives reflect Zero's frequently stated intention to "instill a deep sense of platform" in the AWG.

One way to achieve the desired scalability objectives is to create a large number of independently hosted regions. As proof, consider how the current Web scales: any organization (or individual for that matter) can run an HTTP server and publish content. As of October 2007 Netcraft reports more than 140 million web servers surveyed on the public Internet (with countless additional servers deployed inside corporate firewalls). Scalability of the Web occurs largely because each server is independent of others.

Although Second Life could scale to meet Zero's targets by creating a number of independent regions (or a large number of independent copies of Second Life itself), there are implicit objectives that affect scalability as well.

Scale Identity

As the number of organizations hosting regions increases, the complexity of managing a common identity increases. It becomes necessary to establish trust relationships between different organizations, an issue that his historically been limited by complexity of management and competing business models (there is a perception that the organization that owns the identity owns the customer).

In the Web each organization typically implements an identity service to track its customers; e.g. I have distinct accounts at web sites hosted by Amazon, Ebay, ESPN, and CNN. Multiple attempts have been made to federate identity across multiple sites with relatively little success. The wireless carriers have had some success with identity federation: carriers establish roaming agreements that tie customer billing records together across multiple domains; my identity as stored in my SIM card enables the carrier hosting my roaming cell phone to bill my primary carrier for the minutes I use.

The extent to which my identity scales (that is, the number of regions over which my identity is known) will determine the extent to which my avatar can move transparently among regions. (And by the way, this is really hard.)

Scale Per Region Concurrency

The number of concurrent users in a single region (sim) right now is less than 100 (much less for practical use). Scaling the number of concurrent users opens the potential for many new applications including concerts, conferences, business meetings and large sporting events.

If we generalize the notion of "concurrent users in a region" to mean the number of users that can interact with each other at a single event, then it becomes a bit easier to define the expected behavior. If fifty-thousand people attend a baseball game, they all watch the same game, they see each other, they share a common interest in the outcome of the game, and operate within the same space. The shared social experience is what differentiates interactions in a virtual world from a simple webcast. Ideally it should be possible to host a large event (like the Super Bowl) where the fans have sufficient fidelity of interaction to enable a "virtual wave" through the stadium. However, rich social interactions generally occur with others who are nearby. Scaling the number of users at an event can leverage user expectations to maintain a reasonable experience.

Early "large" Web events like coverage of the 1998 Winter Olympics in Nagano enabled literally millions of people worldwide to remotely "participate" in the event (just a reminder: that was only five years after the Mosaic was launched). What would it take to scale a virtual world to handle that kind of traffic?

Scale the Number of Objects

Scale the Complexity of Objects

Scale the Complexity of Object Behavior

How many objects can have scripts? What can scripts control about objects? How difficult is it to define new behaviors?