<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.secondlife.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Finrod+Meriman</id>
	<title>Second Life Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.secondlife.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Finrod+Meriman"/>
	<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/wiki/Special:Contributions/Finrod_Meriman"/>
	<updated>2026-06-21T23:57:43Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User:Finrod_Meriman&amp;diff=1195582</id>
		<title>User:Finrod Meriman</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User:Finrod_Meriman&amp;diff=1195582"/>
		<updated>2015-02-16T18:46:40Z</updated>

		<summary type="html">&lt;p&gt;Finrod Meriman: Blanked the page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Finrod Meriman</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User:Finrod_Meriman/Scalability&amp;diff=1195581</id>
		<title>User:Finrod Meriman/Scalability</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User:Finrod_Meriman/Scalability&amp;diff=1195581"/>
		<updated>2015-02-16T18:42:37Z</updated>

		<summary type="html">&lt;p&gt;Finrod Meriman: Blanked the page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Finrod Meriman</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User:Finrod_Meriman/AWG_Feedback&amp;diff=1195580</id>
		<title>User:Finrod Meriman/AWG Feedback</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User:Finrod_Meriman/AWG_Feedback&amp;diff=1195580"/>
		<updated>2015-02-16T18:42:13Z</updated>

		<summary type="html">&lt;p&gt;Finrod Meriman: Blanked the page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Finrod Meriman</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User:Finrod_Meriman&amp;diff=1195579</id>
		<title>User:Finrod Meriman</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User:Finrod_Meriman&amp;diff=1195579"/>
		<updated>2015-02-16T18:41:44Z</updated>

		<summary type="html">&lt;p&gt;Finrod Meriman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[User:Finrod Meriman/AWG Feedback]]&lt;br /&gt;
* [[User:Finrod Meriman/Scalability]]&lt;/div&gt;</summary>
		<author><name>Finrod Meriman</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Scalability_VAG&amp;diff=40799</id>
		<title>Scalability VAG</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Scalability_VAG&amp;diff=40799"/>
		<updated>2007-11-18T00:53:58Z</updated>

		<summary type="html">&lt;p&gt;Finrod Meriman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;: This is an early draft so scope and focus are still fairly open.  Please add comments to the [[Talk:Scalability VAG]] if you have slightly different concerns so that we can try to converge on a common viewpoint. Where appropriate, this discussion could expose the need for related sub-VAGs in this area.&lt;br /&gt;
&lt;br /&gt;
= Purpose =&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Scalability&#039;&#039;&#039; [[Viewpoint Advocacy Groups|&#039;&#039;&#039;V&#039;&#039;&#039;iewpoint &#039;&#039;&#039;A&#039;&#039;&#039;dvocacy &#039;&#039;&#039;G&#039;&#039;&#039;roup]] exists to provide input for architectural design that is focused on the expressed [[Project Motivation|Project Motivation]] of the project and the banner motto of AWG: &amp;quot;Making the Grid a Scalable Place&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
More specifically, the Scalability VAG is concerned with identifying all important dimensions of scalability, determining the relevant scaling pressures as numerically as possible, establishing both the end limits and realistic near-term goals for scalability and scaling, and ensuring that these concerns are addressed in the evolving architectural design.&lt;br /&gt;
&lt;br /&gt;
The Scalability VAG is a technical VAG.&lt;br /&gt;
&lt;br /&gt;
==== The Scalability VAG is an umbrella VAG ====&lt;br /&gt;
In view of the magnitude of the task described above, it is expected that the Scalability VAG will devolve into separate VAGs each concerned with one dimension of scalability, as well as other specialized VAGs.  To this end:&lt;br /&gt;
# This Scalability VAG will seek to avoid specialization, to avoid overlap with sub-VAGs.&lt;br /&gt;
# This Scalability VAG will provide references, analysis and tools as a resource for sub-VAGs.&lt;br /&gt;
# Where other VAGs have viewpoints that &#039;&#039;imply&#039;&#039; the need for scalability but lack technical expertise or interest:&lt;br /&gt;
#* This Scalability VAG will adopt the relevant scalability concerns, possibly in a sub-VAG.&lt;br /&gt;
#* This Scalability VAG will assist towards conformance of the architecture with those concerns of that VAG.&lt;br /&gt;
&lt;br /&gt;
See the [[Architecture Working Group]] and the [[Viewpoint Advocacy Groups]] for more information.&lt;br /&gt;
&lt;br /&gt;
Known sub-VAGs:&lt;br /&gt;
:* [[Event Scalability VAG]]&lt;br /&gt;
&lt;br /&gt;
=== Areas addressed by this viewpoint ===&lt;br /&gt;
* Identification of all [[Scalability_VAG#Dimensions of scalability|dimensions of scalability]] relevant to this platform.&lt;br /&gt;
* Scalability of the new system architecture in all dimensions of population growth:&lt;br /&gt;
:* For each dimension identified:&lt;br /&gt;
:::* determination of the relevant growth metrics&lt;br /&gt;
:::* assessment of current constraints on scalability&lt;br /&gt;
:::* consideration of new designs with improved scalability&lt;br /&gt;
:::* detailed scalability analysis of all design proposals&lt;br /&gt;
:::* measurement and presentation of levels of conformance&lt;br /&gt;
* Specific elements of maintenance scalability, especially in regard to graceful degradation:&lt;br /&gt;
:* Dynamic scalability of system architecture in response to:&lt;br /&gt;
:::* anomalous growth of total population over short periods of time&lt;br /&gt;
:::* variation of concurrent online users over the daily and weekly cycle&lt;br /&gt;
:::* anomalous population dynamics resulting from media events and special holiday periods&lt;br /&gt;
:::* unplanned resource malfunction and equipment failure&lt;br /&gt;
:::* withdrawal of services or resources for maintenance.&lt;br /&gt;
* Tools and methods by which scalability of designs and systems can be evaluated and documented.&lt;br /&gt;
&lt;br /&gt;
=== Areas not addressed by this viewpoint ===&lt;br /&gt;
* Scalability of interoperation is not addressed at this time, namely the rate and ease or otherwise with which worlds and grids can interconnect with the SL grid and vice versa.&lt;br /&gt;
* Functional scalability is not addressed at this time, for instance the rate and ease or otherwise with which worlds and grids can add new service definitions while maintaining interoperability.&lt;br /&gt;
&lt;br /&gt;
= Current State of Play =&lt;br /&gt;
&lt;br /&gt;
* It&#039;s hard to know exactly what to analyze for scalability in the new architecture until we know how the grid resources are partitioned into REST services.  Candidate partitionings have not been proposed yet, so this is on hold while work continues in the [[Core Grid Services, Protocols, and Structures VAG|REST Services VAG]] and through discussion with Zero at his Office Hours.&lt;br /&gt;
* Some tools were deemed appropriate for applying actual workloads to the reference implementation of REST services so that we could spot descaling trends early on.  That work is in progress in the [[Multi-Process Client VAG -- draft]], and despite that still being in draft form and at a very early design stage, there is reasonable progress there.  (Feel free to join. :P)&lt;br /&gt;
* The analysis of mitigating factors which reduce the arithmetic scalability requirements of regions to below the numbers calculated in [[Project_Motivation]] was started but not completed.  Completion of this work is a priority.&lt;br /&gt;
&lt;br /&gt;
= Scalability VAG Glossary =&lt;br /&gt;
The following terms and abbreviations are defined for this viewpoint with the purpose of reducing repetition and providing joint terms of reference for stakeholders of this VAG.  A small handful of terms overlap with those in the [[Architecture_Working_Group_Glossary|main AWG glossary]], but this is only to localise this VAG&#039;s lookups and to avoid cluttering up the main glossary with detailed scalability examples and explanations.&lt;br /&gt;
&lt;br /&gt;
==== Multi-Factor Scalability Limit (MFSL) ====&lt;br /&gt;
: A scalability limit which results from the combination of two or more partially disjoint or simpler scalability limits, &#039;&#039;ie.&#039;&#039; &#039;&#039;&#039;PPSL&#039;&#039;&#039;s.  It is of high practical value in specifying project scalability goals in a concise manner and without engaging further in-situ scalability analysis or discussion.&lt;br /&gt;
&lt;br /&gt;
: Example: under a (hypothetical) premise that dislike of crowds reduces event attendance by half when events attract more than 1,000 participants, then a &#039;&#039;&#039;PPSL&#039;&#039;&#039; scalability end-limit of 20,000 would be reduced to an &#039;&#039;&#039;MFSL&#039;&#039;&#039; of 10,000 participants.&lt;br /&gt;
&lt;br /&gt;
==== Population-Proportional Scalability Limit (PPSL) ====&lt;br /&gt;
: A scalability limit which results from direct arithmetic scaling of a current value along a given dimension in proportion to growth in a related dimension.  This is a &#039;&#039;raw&#039;&#039; scalability limit, in the sense that it is &#039;&#039;as far as possible&#039;&#039; unaffected by any other up-scaling nor down-scaling factors.  As such, it provides a well-defined element for use in scalability analysis rather than an actual target for scalability.&lt;br /&gt;
&lt;br /&gt;
: Example: the end limit of scalability in the number of avatars at an event, calculated from the projected growth in user population (2 bn) versus the current level of interest in attending a given event (100) given the current population (10m), yields a &#039;&#039;&#039;PPSL&#039;&#039;&#039; of (2000*100/10) = 20,000 people interested in attending that event.&lt;br /&gt;
&lt;br /&gt;
==== Resource ====&lt;br /&gt;
: Any finite architectural component or property or behaviour that is subject to exhaustion or which can become a bottleneck to system performance.  Resources are the primary focus in designing for scalability.  The resource-based approach to highly scalable design involves removal of barriers to massive replication of resources, in conjunction with providing a massively scalable access mechanism for concurrent acquisition of those resources.  The potential scalability of a system is however limited by additional factors, especially interdependency of resources, secondary resource exhaustion, etc.&lt;br /&gt;
&lt;br /&gt;
: Examples: client-server bandwidth, agent pool depth, database access mechanism, locks, transaction times, utilities, services.&lt;br /&gt;
&lt;br /&gt;
==== Scalability ====&lt;br /&gt;
: The ability of a system to grow effectively &#039;&#039;in a given dimension&#039;&#039; in proportion to the amount of resource or capacity provided.  The given dimension is often associated with a related dimension.  A specific system may attempt to be &#039;&#039;scaled&#039;&#039; by adding resources, but this is effective only if the system is &#039;&#039;scalable&#039;&#039;.  If a system is not scalable then adding more resources will not scale it, and may even descale it further.  Example:  scalability in the number of avatars at an event, viewed against the size of the user population, in proportion to the hardware allocated.&lt;br /&gt;
&lt;br /&gt;
= Source of Viewpoint =&lt;br /&gt;
No existing sources for this viewpoint have (yet) been sought.  This viewpoint is however highly reusable, and therefore existing sources are very likely to exist and should be investigated.&lt;br /&gt;
&lt;br /&gt;
Sub-VAGs that wish to reuse this viewpoint are required to specify the extent of reuse through inclusion and exclusion.&lt;br /&gt;
&lt;br /&gt;
= General concerns addressed by this viewpoint =&lt;br /&gt;
&lt;br /&gt;
The foregoing scalability viewpoint is founded on a few broad concerns:&lt;br /&gt;
&lt;br /&gt;
:* That all important dimensions of scalability be identified, to avoid costly surprises further downstream.&lt;br /&gt;
:* That identified dimensions of scalability be grounded in fact and basic arithmetic as far as possible.&lt;br /&gt;
:* That end limits of scalability be accompanied by well-reasoned near-term and mid-term projections.&lt;br /&gt;
:* That scalability of the architectural design be accompanied by concrete proposals for achieving it.&lt;br /&gt;
:* That all proposals are subject to effective scalability analysis and ceiling estimation.&lt;br /&gt;
:* That design costs and impact on other VAGs and aspects of the project be assessed.&lt;br /&gt;
:* That the concerns expressed in this viewpoint be addressed in a conformant system architecture.&lt;br /&gt;
&lt;br /&gt;
= Dimensions of scalability =&lt;br /&gt;
Like an incoming tide, the pressure of population growth is unstoppable (short of business throttling or termination), and therefore most discussion of scalability centers around population-related issues.  However, these are not the only ones that matter, so here we also list other significant dimensions of scalability of relevance to Second Life and other virtual worlds, for subsequent examination.&lt;br /&gt;
&lt;br /&gt;
== Scalability with respect to population growth ==&lt;br /&gt;
The following 4 population-related dimensions of scalability are captured from [[Project Motivation]] as an initial basis for this VAG.  The estimates in dimensions 1-3 and the &#039;&#039;&#039;PPSL/MFSL&#039;&#039;&#039; (see [[Scalability_VAG#Scalability VAG Glossary|our glossary]]) numbers are likewise only an initial basis:&lt;br /&gt;
&lt;br /&gt;
# Scalability of world extent:&lt;br /&gt;
#:* 60 million regions (probably more) (60 was mentioned [http://wiki.secondlife.com/wiki/User:Zero_Linden/Office_Hours/2007_Sep_18 here] by Zero Linden )&lt;br /&gt;
# Scalability of world population:&lt;br /&gt;
#:* 2 billion users (&#039;&#039;rationale for initial estimate required&#039;&#039;)&lt;br /&gt;
# Scalability of concurrent users:&lt;br /&gt;
#:* 50 - 100 million concurrency across all client types (&#039;&#039;rationale for initial estimate required&#039;&#039;)&lt;br /&gt;
# Scalability for events (concurrent users in a single region):	 &lt;br /&gt;
#:* PPSL: 20 thousand per region ([[Talk:Project_Motivation|calculated proportional to world population]])&lt;br /&gt;
#:* PPSL: 100 thousand per region ([[Talk:Project_Motivation|calculated proportional to concurrent users]])&lt;br /&gt;
#:* MFSL: &#039;&#039;analysis to be done&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Scalability of object population ==&lt;br /&gt;
&lt;br /&gt;
== Scalability of object complexity ==&lt;br /&gt;
&lt;br /&gt;
== Scalability of object dynamics ==&lt;br /&gt;
&lt;br /&gt;
== Scalability of physics ==&lt;br /&gt;
&lt;br /&gt;
== Scalability of interoperation ==&lt;br /&gt;
&lt;br /&gt;
= Specific concerns within this viewpoint =&lt;br /&gt;
Here we define the specific concerns relevant to each dimension of scalability:&lt;br /&gt;
&lt;br /&gt;
= Use Cases =&lt;br /&gt;
&lt;br /&gt;
= Proposals and Analysis =&lt;br /&gt;
&lt;br /&gt;
= Organization =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Joining ==&lt;br /&gt;
&lt;br /&gt;
Anyone with an interest in this Viewpoint is welcome to join. You should join the [[AW_Groupies]] group in Second Life.&lt;br /&gt;
&lt;br /&gt;
== In world meetings ==&lt;br /&gt;
&lt;br /&gt;
We meet once a week in-world and more if people are available.&lt;br /&gt;
&lt;br /&gt;
Also members are active on the wiki and in the SLDEV mailing list.&lt;br /&gt;
&lt;br /&gt;
Meetings Schedule:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Meeting Agendas ===&lt;br /&gt;
&lt;br /&gt;
* TBD&lt;br /&gt;
&lt;br /&gt;
=== Chat Logs ===&lt;br /&gt;
&lt;br /&gt;
* TBD&lt;br /&gt;
&lt;br /&gt;
= Architectural Descriptions/Views used to express this viewpoint =&lt;br /&gt;
This section identifies:&lt;br /&gt;
# the general form or representation of [[Architecture_Working_Group_Glossary#Architectural descriptions and views (ADV)|ADV]]s required to express the viewpoint&lt;br /&gt;
# the elements within such ADVs which will be used to express the viewpoint&lt;br /&gt;
# how these elements within such ADVs map to the concerns of this viewpoint&lt;br /&gt;
# the traceability to viewpoint concerns required for conformance with the viewpoint.&lt;br /&gt;
&lt;br /&gt;
None decided.&lt;br /&gt;
&lt;br /&gt;
= Tools employed by this VAG =&lt;br /&gt;
&lt;br /&gt;
* Normal wiki textual and graphic representations are expected to be sufficient for this VAG.&lt;br /&gt;
* Programmed tools are expected to be developed for scalability testing and measurement.  See [[Multi-Process Client VAG -- draft]].&lt;br /&gt;
&lt;br /&gt;
= External Links =&lt;br /&gt;
&lt;br /&gt;
= VAG wiki structure =&lt;br /&gt;
There is a balance to be found between excessive length of pages and excessively fine partitioning.  This VAG is a technical one, which means that cohesiveness of subject is especially important, and partitioning should be driven mainly by the need for clarity rather than by simple length.  Suggestions for improving partitioning under pressure of growth (highly on topic here) are very welcome, including but not limited to sub-VAG devolution.&lt;br /&gt;
&lt;br /&gt;
= Members (Stakeholders) =&lt;br /&gt;
&#039;&#039;Please note that the Scalability VAG is a non-hierarchical VAG in every respect, without exception. Any tags supplied with names are purely informational.  Stakeholder ordering is alphabetical.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:[[User:Jesrad Seraph|Jesrad Seraph]] 04:07, 12 November 2007 (PST) - per-resident sim scale approach advocate&lt;br /&gt;
:[[User:Morgaine Dinova|Morgaine Dinova]] 02:21, 18 October 2007 (PDT) - Founder, analyst&lt;br /&gt;
: [[User:Zha Ewry|Zha Ewry]] 07:57, 25 October 2007 (PDT) - Middleware and core architecture scalability, WEB scale approach advocate &lt;br /&gt;
:[[User:Finrod Meriman|Finrod Meriman]] 16:42, 17 November 2007 (PST) - Distributed systems researcher&lt;br /&gt;
&lt;br /&gt;
[[Category: AW Groupies]]&lt;/div&gt;</summary>
		<author><name>Finrod Meriman</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User:Finrod_Meriman/Scalability&amp;diff=40798</id>
		<title>User:Finrod Meriman/Scalability</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User:Finrod_Meriman/Scalability&amp;diff=40798"/>
		<updated>2007-11-18T00:47:03Z</updated>

		<summary type="html">&lt;p&gt;Finrod Meriman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Some thoughts on scalability ==&lt;br /&gt;
&lt;br /&gt;
In the kickoff meeting of the Architecture Working Group Zero presented&lt;br /&gt;
several scalability objectives: a platform that could support 60 million&lt;br /&gt;
regions, 2 billion total users, and 50 million concurrently connected&lt;br /&gt;
users. These objectives reflect Zero&#039;s frequently stated intention to&lt;br /&gt;
&amp;quot;instill a deep sense of platform&amp;quot; in the AWG. &lt;br /&gt;
&lt;br /&gt;
One way to achieve the desired scalability objectives is to create a&lt;br /&gt;
large number of independently hosted regions. As proof, consider how the&lt;br /&gt;
current Web scales: any organization (or individual for that matter) can&lt;br /&gt;
run an HTTP server and publish content. As of October 2007 Netcraft&lt;br /&gt;
reports more than 140 million web servers surveyed on the public&lt;br /&gt;
Internet (with countless additional servers deployed inside corporate&lt;br /&gt;
firewalls). Scalability of the Web occurs largely because each server is&lt;br /&gt;
independent of others. &lt;br /&gt;
&lt;br /&gt;
Although Second Life could scale to meet Zero&#039;s targets by creating a&lt;br /&gt;
number of independent regions (or a large number of independent copies&lt;br /&gt;
of Second Life itself), there are implicit objectives that affect&lt;br /&gt;
scalability as well. &lt;br /&gt;
&lt;br /&gt;
=== Scale Identity ===&lt;br /&gt;
&lt;br /&gt;
As the number of organizations hosting regions increases, the complexity&lt;br /&gt;
of managing a common identity increases. It becomes necessary to&lt;br /&gt;
establish trust relationships between different organizations, an issue&lt;br /&gt;
that his historically been limited by complexity of management and&lt;br /&gt;
competing business models (there is a perception that the organization&lt;br /&gt;
that owns the identity owns the customer).&lt;br /&gt;
&lt;br /&gt;
In the Web each organization typically implements an identity service to&lt;br /&gt;
track its customers; e.g. I have distinct accounts at web sites hosted&lt;br /&gt;
by Amazon, Ebay, ESPN, and CNN. Multiple attempts have been made to&lt;br /&gt;
federate identity across multiple sites with relatively little success.&lt;br /&gt;
The wireless carriers have had some success with identity federation:&lt;br /&gt;
carriers establish roaming agreements that tie customer billing records&lt;br /&gt;
together across multiple domains; my identity as stored in my SIM card&lt;br /&gt;
enables the carrier hosting my roaming cell phone to bill my primary&lt;br /&gt;
carrier for the minutes I use.&lt;br /&gt;
&lt;br /&gt;
The extent to which my identity scales (that is, the number of regions&lt;br /&gt;
over which my identity is known) will determine the extent to which my&lt;br /&gt;
avatar can move transparently among regions. (And by the way, this is&lt;br /&gt;
really hard.)&lt;br /&gt;
&lt;br /&gt;
=== Scale Per Region Concurrency === &lt;br /&gt;
&lt;br /&gt;
The number of concurrent users in a single region (sim) right now is&lt;br /&gt;
less than 100 (much less for practical use). Scaling the number of&lt;br /&gt;
concurrent users opens the potential for many new applications including&lt;br /&gt;
concerts, conferences, business meetings and large sporting events. &lt;br /&gt;
&lt;br /&gt;
If we generalize the notion of &amp;quot;concurrent users in a region&amp;quot; to mean&lt;br /&gt;
the number of users that can interact with each other at a single event,&lt;br /&gt;
then it becomes a bit easier to define the expected behavior. If&lt;br /&gt;
fifty-thousand people attend a baseball game, they all watch the same&lt;br /&gt;
game, they see each other, they share a common interest in the outcome&lt;br /&gt;
of the game, and operate within the same space. The shared social&lt;br /&gt;
experience is what differentiates interactions in a virtual world from a&lt;br /&gt;
simple webcast. Ideally it should be possible to host a large event&lt;br /&gt;
(like the Super Bowl) where the fans have sufficient fidelity of&lt;br /&gt;
interaction to enable a &amp;quot;virtual wave&amp;quot; through the stadium. However,&lt;br /&gt;
rich social interactions generally occur with others who are nearby.&lt;br /&gt;
Scaling the number of users at an event can leverage user expectations&lt;br /&gt;
to maintain a reasonable experience.&lt;br /&gt;
&lt;br /&gt;
Early &amp;quot;large&amp;quot; Web events like coverage of the 1998 Winter Olympics in&lt;br /&gt;
Nagano enabled literally millions of people worldwide to remotely&lt;br /&gt;
&amp;quot;participate&amp;quot; in the event (just a reminder: that was only five years&lt;br /&gt;
after the Mosaic was launched). What would it take to scale a virtual&lt;br /&gt;
world to handle that kind of traffic?&lt;br /&gt;
&lt;br /&gt;
=== Scale the Number of Objects ===&lt;br /&gt;
&lt;br /&gt;
=== Scale the Complexity of Objects ===&lt;br /&gt;
&lt;br /&gt;
=== Scale the Complexity of Object Behavior ===&lt;br /&gt;
&lt;br /&gt;
How many objects can have scripts? What can scripts control about&lt;br /&gt;
objects? How difficult is it to define new behaviors?&lt;br /&gt;
&lt;br /&gt;
=== Scale Geographies === &lt;br /&gt;
&lt;br /&gt;
The Second Life community includes users from all across the world. The&lt;br /&gt;
geographical distribution of users means that network latency and jitter&lt;br /&gt;
will be highly variable for the users in a region of the virtual&lt;br /&gt;
world. With the current architecture a region where most of the users&lt;br /&gt;
are from Europe may be co-located with a server where most users are&lt;br /&gt;
from Asia or North America. &lt;br /&gt;
&lt;br /&gt;
Consistent network behavior is extremely important for MMOG&#039;s where&lt;br /&gt;
users with low latency connections have a decided advantage over those&lt;br /&gt;
with a high latency connection. Although many interactions between users in&lt;br /&gt;
Second Life do not appear to have such tight latency bounds, the impact&lt;br /&gt;
of network behavior on end-user experience requires additional&lt;br /&gt;
study. &lt;br /&gt;
&lt;br /&gt;
Some background material on the impact of network behavior is available&lt;br /&gt;
from [http://www.thefengs.com/wuchang/work/ Wu-chang Feng] at Portland&lt;br /&gt;
State University.&lt;/div&gt;</summary>
		<author><name>Finrod Meriman</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User:Finrod_Meriman/Scalability&amp;diff=40555</id>
		<title>User:Finrod Meriman/Scalability</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User:Finrod_Meriman/Scalability&amp;diff=40555"/>
		<updated>2007-11-15T18:49:48Z</updated>

		<summary type="html">&lt;p&gt;Finrod Meriman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Some thoughts on scalability ==&lt;br /&gt;
&lt;br /&gt;
In the kickoff meeting of the Architecture Working Group Zero presented&lt;br /&gt;
several scalability objectives: a platform that could support 60 million&lt;br /&gt;
regions, 2 billion total users, and 50 million concurrently connected&lt;br /&gt;
users. These objectives reflect Zero&#039;s frequently stated intention to&lt;br /&gt;
&amp;quot;instill a deep sense of platform&amp;quot; in the AWG. &lt;br /&gt;
&lt;br /&gt;
One way to achieve the desired scalability objectives is to create a&lt;br /&gt;
large number of independently hosted regions. As proof, consider how the&lt;br /&gt;
current Web scales: any organization (or individual for that matter) can&lt;br /&gt;
run an HTTP server and publish content. As of October 2007 Netcraft&lt;br /&gt;
reports more than 140 million web servers surveyed on the public&lt;br /&gt;
Internet (with countless additional servers deployed inside corporate&lt;br /&gt;
firewalls). Scalability of the Web occurs largely because each server is&lt;br /&gt;
independent of others. &lt;br /&gt;
&lt;br /&gt;
Although Second Life could scale to meet Zero&#039;s targets by creating a&lt;br /&gt;
number of independent regions (or a large number of independent copies&lt;br /&gt;
of Second Life itself), there are implicit objectives that affect&lt;br /&gt;
scalability as well. &lt;br /&gt;
&lt;br /&gt;
=== Scale Identity ===&lt;br /&gt;
&lt;br /&gt;
As the number of organizations hosting regions increases, the complexity&lt;br /&gt;
of managing a common identity increases. It becomes necessary to&lt;br /&gt;
establish trust relationships between different organizations, an issue&lt;br /&gt;
that his historically been limited by complexity of management and&lt;br /&gt;
competing business models (there is a perception that the organization&lt;br /&gt;
that owns the identity owns the customer).&lt;br /&gt;
&lt;br /&gt;
In the Web each organization typically implements an identity service to&lt;br /&gt;
track its customers; e.g. I have distinct accounts at web sites hosted&lt;br /&gt;
by Amazon, Ebay, ESPN, and CNN. Multiple attempts have been made to&lt;br /&gt;
federate identity across multiple sites with relatively little success.&lt;br /&gt;
The wireless carriers have had some success with identity federation:&lt;br /&gt;
carriers establish roaming agreements that tie customer billing records&lt;br /&gt;
together across multiple domains; my identity as stored in my SIM card&lt;br /&gt;
enables the carrier hosting my roaming cell phone to bill my primary&lt;br /&gt;
carrier for the minutes I use.&lt;br /&gt;
&lt;br /&gt;
The extent to which my identity scales (that is, the number of regions&lt;br /&gt;
over which my identity is known) will determine the extent to which my&lt;br /&gt;
avatar can move transparently among regions. (And by the way, this is&lt;br /&gt;
really hard.)&lt;br /&gt;
&lt;br /&gt;
=== Scale Per Region Concurrency === &lt;br /&gt;
&lt;br /&gt;
The number of concurrent users in a single region (sim) right now is&lt;br /&gt;
less than 100 (much less for practical use). Scaling the number of&lt;br /&gt;
concurrent users opens the potential for many new applications including&lt;br /&gt;
concerts, conferences, business meetings and large sporting events. &lt;br /&gt;
&lt;br /&gt;
If we generalize the notion of &amp;quot;concurrent users in a region&amp;quot; to mean&lt;br /&gt;
the number of users that can interact with each other at a single event,&lt;br /&gt;
then it becomes a bit easier to define the expected behavior. If&lt;br /&gt;
fifty-thousand people attend a baseball game, they all watch the same&lt;br /&gt;
game, they see each other, they share a common interest in the outcome&lt;br /&gt;
of the game, and operate within the same space. The shared social&lt;br /&gt;
experience is what differentiates interactions in a virtual world from a&lt;br /&gt;
simple webcast. Ideally it should be possible to host a large event&lt;br /&gt;
(like the Super Bowl) where the fans have sufficient fidelity of&lt;br /&gt;
interaction to enable a &amp;quot;virtual wave&amp;quot; through the stadium. However,&lt;br /&gt;
rich social interactions generally occur with others who are nearby.&lt;br /&gt;
Scaling the number of users at an event can leverage user expectations&lt;br /&gt;
to maintain a reasonable experience.&lt;br /&gt;
&lt;br /&gt;
Early &amp;quot;large&amp;quot; Web events like coverage of the 1998 Winter Olympics in&lt;br /&gt;
Nagano enabled literally millions of people worldwide to remotely&lt;br /&gt;
&amp;quot;participate&amp;quot; in the event (just a reminder: that was only five years&lt;br /&gt;
after the Mosaic was launched). What would it take to scale a virtual&lt;br /&gt;
world to handle that kind of traffic?&lt;br /&gt;
&lt;br /&gt;
=== Scale the Number of Objects ===&lt;br /&gt;
&lt;br /&gt;
=== Scale the Complexity of Objects ===&lt;br /&gt;
&lt;br /&gt;
=== Scale the Complexity of Object Behavior ===&lt;br /&gt;
&lt;br /&gt;
How many objects can have scripts? What can scripts control about&lt;br /&gt;
objects? How difficult is it to define new behaviors?&lt;br /&gt;
&lt;br /&gt;
=== Scale Geographical Distribution ===&lt;/div&gt;</summary>
		<author><name>Finrod Meriman</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User:Finrod_Meriman/Scalability&amp;diff=40310</id>
		<title>User:Finrod Meriman/Scalability</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User:Finrod_Meriman/Scalability&amp;diff=40310"/>
		<updated>2007-11-14T00:12:26Z</updated>

		<summary type="html">&lt;p&gt;Finrod Meriman: /* Some thoughts on scalability */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Some thoughts on scalability ==&lt;br /&gt;
&lt;br /&gt;
In the kickoff meeting of the Architecture Working Group Zero presented&lt;br /&gt;
several scalability objectives: a platform that could support 60 million&lt;br /&gt;
regions, 2 billion total users, and 50 million concurrently connected&lt;br /&gt;
users. These objectives reflect Zero&#039;s frequently stated intention to&lt;br /&gt;
&amp;quot;instill a deep sense of platform&amp;quot; in the AWG. &lt;br /&gt;
&lt;br /&gt;
One way to achieve the desired scalability objectives is to create a&lt;br /&gt;
large number of independently hosted regions. As proof, consider how the&lt;br /&gt;
current Web scales: any organization (or individual for that matter) can&lt;br /&gt;
run an HTTP server and publish content. As of October 2007 Netcraft&lt;br /&gt;
reports more than 140 million web servers surveyed on the public&lt;br /&gt;
Internet (with countless additional servers deployed inside corporate&lt;br /&gt;
firewalls). Scalability of the Web occurs largely because each server is&lt;br /&gt;
independent of others. &lt;br /&gt;
&lt;br /&gt;
Although Second Life could scale to meet Zero&#039;s targets by creating a&lt;br /&gt;
number of independent regions (or a large number of independent copies&lt;br /&gt;
of Second Life itself), there are implicit objectives that affect&lt;br /&gt;
scalability as well. &lt;br /&gt;
&lt;br /&gt;
=== Scale Identity ===&lt;br /&gt;
&lt;br /&gt;
As the number of organizations hosting regions increases, the complexity&lt;br /&gt;
of managing a common identity increases. It becomes necessary to&lt;br /&gt;
establish trust relationships between different organizations, an issue&lt;br /&gt;
that his historically been limited by complexity of management and&lt;br /&gt;
competing business models (there is a perception that the organization&lt;br /&gt;
that owns the identity owns the customer).&lt;br /&gt;
&lt;br /&gt;
In the Web each organization typically implements an identity service to&lt;br /&gt;
track its customers; e.g. I have distinct accounts at web sites hosted&lt;br /&gt;
by Amazon, Ebay, ESPN, and CNN. Multiple attempts have been made to&lt;br /&gt;
federate identity across multiple sites with relatively little success.&lt;br /&gt;
The wireless carriers have had some success with identity federation:&lt;br /&gt;
carriers establish roaming agreements that tie customer billing records&lt;br /&gt;
together across multiple domains; my identity as stored in my SIM card&lt;br /&gt;
enables the carrier hosting my roaming cell phone to bill my primary&lt;br /&gt;
carrier for the minutes I use.&lt;br /&gt;
&lt;br /&gt;
The extent to which my identity scales (that is, the number of regions&lt;br /&gt;
over which my identity is known) will determine the extent to which my&lt;br /&gt;
avatar can move transparently among regions. (And by the way, this is&lt;br /&gt;
really hard.)&lt;br /&gt;
&lt;br /&gt;
=== Scale Per Region Concurrency === &lt;br /&gt;
&lt;br /&gt;
The number of concurrent users in a single region (sim) right now is&lt;br /&gt;
less than 100 (much less for practical use). Scaling the number of&lt;br /&gt;
concurrent users opens the potential for many new applications including&lt;br /&gt;
concerts, conferences, business meetings and large sporting events. &lt;br /&gt;
&lt;br /&gt;
If we generalize the notion of &amp;quot;concurrent users in a region&amp;quot; to mean&lt;br /&gt;
the number of users that can interact with each other at a single event,&lt;br /&gt;
then it becomes a bit easier to define the expected behavior. If&lt;br /&gt;
fifty-thousand people attend a baseball game, they all watch the same&lt;br /&gt;
game, they see each other, they share a common interest in the outcome&lt;br /&gt;
of the game, and operate within the same space. The shared social&lt;br /&gt;
experience is what differentiates interactions in a virtual world from a&lt;br /&gt;
simple webcast. Ideally it should be possible to host a large event&lt;br /&gt;
(like the Super Bowl) where the fans have sufficient fidelity of&lt;br /&gt;
interaction to enable a &amp;quot;virtual wave&amp;quot; through the stadium. However,&lt;br /&gt;
rich social interactions generally occur with others who are nearby.&lt;br /&gt;
Scaling the number of users at an event can leverage user expectations&lt;br /&gt;
to maintain a reasonable experience.&lt;br /&gt;
&lt;br /&gt;
Early &amp;quot;large&amp;quot; Web events like coverage of the 1998 Winter Olympics in&lt;br /&gt;
Nagano enabled literally millions of people worldwide to remotely&lt;br /&gt;
&amp;quot;participate&amp;quot; in the event (just a reminder: that was only five years&lt;br /&gt;
after the Mosaic was launched). What would it take to scale a virtual&lt;br /&gt;
world to handle that kind of traffic?&lt;br /&gt;
&lt;br /&gt;
=== Scale the Number of Objects ===&lt;br /&gt;
&lt;br /&gt;
=== Scale the Complexity of Objects ===&lt;br /&gt;
&lt;br /&gt;
=== Scale the Complexity of Object Behavior ===&lt;br /&gt;
&lt;br /&gt;
How many objects can have scripts? What can scripts control about&lt;br /&gt;
objects? How difficult is it to define new behaviors?&lt;/div&gt;</summary>
		<author><name>Finrod Meriman</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User:Finrod_Meriman/AWG_Feedback&amp;diff=40297</id>
		<title>User:Finrod Meriman/AWG Feedback</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User:Finrod_Meriman/AWG_Feedback&amp;diff=40297"/>
		<updated>2007-11-13T21:13:13Z</updated>

		<summary type="html">&lt;p&gt;Finrod Meriman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Some initial reactions to the architecture... ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Disclaimer&#039;&#039;&#039;: For those who don&#039;t know, I work for Intel. Although the comments are generally personal, I am participating in the working group as Intel&#039;s representative. I don&#039;t speak formally for Intel, but my affiliation certainly influences my position and interests. &lt;br /&gt;
&lt;br /&gt;
=== 1) Architecting the grid is not a once-and-done task. ===&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
In the meeting we discussed two primary motivations. The first is fairly&lt;br /&gt;
short-term: make it possible to scale performance of the second life&lt;br /&gt;
grid. The second is more long-term: lay an architectural foundation on&lt;br /&gt;
which virtual worlds (in general) could scale to millions of users&lt;br /&gt;
supporting a very diverse set of interactions (everything from WoW to&lt;br /&gt;
SL). Both motivations are very reasonable. But there is an obvious&lt;br /&gt;
tension between the two. In the short-term it is necessary to consider&lt;br /&gt;
the transition from the existing SL Grid though long-term scalability&lt;br /&gt;
might be best served by a more complete overhaul. It seems pretty&lt;br /&gt;
obvious that re-architecting the grid needs to be viewed as a multi-step&lt;br /&gt;
process not a once-and-done event. There will be lots of good ideas to&lt;br /&gt;
support a fully general, scalable grid that need to be put off for later&lt;br /&gt;
consideration (or we&#039;ll never make progress).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 2) Make our architectural &amp;quot;views&amp;quot; explicit. ===&lt;br /&gt;
&lt;br /&gt;
There is tremendous value in having multiple &amp;quot;views&amp;quot; of an architecture&lt;br /&gt;
(for those who care, you can look for IEEE 1471 in wikipedia to get an&lt;br /&gt;
idea how to define views formally). In the meeting I heard three&lt;br /&gt;
different views presented. The &amp;quot;communication view&amp;quot; described the&lt;br /&gt;
architecture in terms Certified HTTP using RESTful interactions and&lt;br /&gt;
LLSD. Most of the detail that was presented focused on the &amp;quot;interface&lt;br /&gt;
view&amp;quot; or &amp;quot;component view&amp;quot;. Each of the agent &amp;amp; region domains were&lt;br /&gt;
broken into services (with standardized interfaces) based on stateful &amp;amp;&lt;br /&gt;
stateless interactions. And we discussed a &amp;quot;transactional view&amp;quot; where we&lt;br /&gt;
hinted at how to sequence the invocation of various services to&lt;br /&gt;
accomplish a higher level task (eg the login example cascaded through&lt;br /&gt;
several different invocations... all of which were mandatory to set up&lt;br /&gt;
the correct state).&lt;br /&gt;
&lt;br /&gt;
One view that was missing from the discussion was the &amp;quot;data&amp;quot; or&lt;br /&gt;
&amp;quot;document&amp;quot; view. What I mean is that we didn&#039;t talk about what the data&lt;br /&gt;
looked like, where it moved around the system, and how the various&lt;br /&gt;
functions transformed the data. I&#039;m sure some of this will be derived&lt;br /&gt;
from the current grid architecture, but it still should be thought&lt;br /&gt;
through &amp;amp; documented. And of course there is the question (for the&lt;br /&gt;
long-term discussion) as to whether there are other standard 3D object&lt;br /&gt;
formats that should be adopted to encourage long term stability&lt;br /&gt;
(e.g. collada, obj, ...).&lt;br /&gt;
&lt;br /&gt;
Just a couple more comments on the communication piece... Putting aside&lt;br /&gt;
my biases about REST... One question I wanted to ask is how the&lt;br /&gt;
architecture supports caching &amp;amp; replication. How hard would it be to&lt;br /&gt;
take the appropriate pieces and distribute them through something like&lt;br /&gt;
Akamai (or some other distributed web cache/content distribution&lt;br /&gt;
system)? Should the architecture explicitly include a separate CDN to&lt;br /&gt;
improve performance? This question is, in some sense, a question of both&lt;br /&gt;
the communication and document views. And it might impact how the&lt;br /&gt;
services are decomposed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 3) We&#039;re missing a good functional decomposition. ===&lt;br /&gt;
&lt;br /&gt;
Most of the architecture drawings that were presented focused on the&lt;br /&gt;
separation into region &amp;amp; agent domains. Clearly this is an important&lt;br /&gt;
separation for enabling multiple administrative domains. However, I&lt;br /&gt;
think the first structural partitioning should be along functional lines&lt;br /&gt;
(yes, the agent &amp;amp; region domains already capture an implicit functional&lt;br /&gt;
breakdown). Just to be concrete... I&#039;ve been asked the question, by&lt;br /&gt;
several residents, why IM is so tightly bound to SL. There are many good&lt;br /&gt;
reasons to bind them (managability for one), but there are also good&lt;br /&gt;
reasons to separate them. In the case of IM, there are already a number&lt;br /&gt;
of very good and extensible IM systems such as XMPP (jabber &amp;amp; google&lt;br /&gt;
talk). &lt;br /&gt;
&lt;br /&gt;
A more thorough examination of the functions might help to figure out&lt;br /&gt;
which services belong in which boxes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 4) Managing trust is going to be really hard. ===&lt;br /&gt;
&lt;br /&gt;
It appears that transactions/patterns (such as login) involve services&lt;br /&gt;
in multiple domain. In the case of login, for example, the agent that is&lt;br /&gt;
created on behalf of a particular user executes services in a region&lt;br /&gt;
domain where the avatar is located. The agent domain proxies trust for&lt;br /&gt;
the user potentially across administrative domains. Proxying trust also&lt;br /&gt;
creates potential problems for tracking/controling where bits are&lt;br /&gt;
sent. This has impact in managing intellectual property. (Not that the&lt;br /&gt;
architecture needs to support DRM, but it shouldn&#039;t make it impossible&lt;br /&gt;
to provide some limits on distribution of IP.)&lt;/div&gt;</summary>
		<author><name>Finrod Meriman</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User:Finrod_Meriman/&amp;diff=40296</id>
		<title>User:Finrod Meriman/</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User:Finrod_Meriman/&amp;diff=40296"/>
		<updated>2007-11-13T21:10:23Z</updated>

		<summary type="html">&lt;p&gt;Finrod Meriman: User:Finrod Meriman/ moved to User:Finrod Meriman: Remove slash&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[User:Finrod Meriman]]&lt;/div&gt;</summary>
		<author><name>Finrod Meriman</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User:Finrod_Meriman&amp;diff=40295</id>
		<title>User:Finrod Meriman</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User:Finrod_Meriman&amp;diff=40295"/>
		<updated>2007-11-13T21:10:23Z</updated>

		<summary type="html">&lt;p&gt;Finrod Meriman: User:Finrod Meriman/ moved to User:Finrod Meriman: Remove slash&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;For those who don&#039;t know, I work for Intel. Although the comments are generally personal, I am participating in the architecture working group as Intel&#039;s representative. I don&#039;t speak formally for Intel, but my affiliation certainly influences my position and interests. &lt;br /&gt;
&lt;br /&gt;
Feel free to contact me in world or send email to mic.bowman@intel.com. &lt;br /&gt;
&lt;br /&gt;
* [[User:Finrod Meriman/AWG Feedback]]&lt;br /&gt;
* [[User:Finrod Meriman/Scalability]]&lt;/div&gt;</summary>
		<author><name>Finrod Meriman</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User:Finrod_Meriman/Scalability&amp;diff=40057</id>
		<title>User:Finrod Meriman/Scalability</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User:Finrod_Meriman/Scalability&amp;diff=40057"/>
		<updated>2007-11-11T05:10:04Z</updated>

		<summary type="html">&lt;p&gt;Finrod Meriman: New page: == Some thoughts on scalability ==  &amp;#039;&amp;#039;DRAFT&amp;#039;&amp;#039;  In the kickoff meeting of the Architecture Working Group Zero presented several scalability objectives: a platform that could support 60 mill...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Some thoughts on scalability ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;DRAFT&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In the kickoff meeting of the Architecture Working Group Zero presented&lt;br /&gt;
several scalability objectives: a platform that could support 60 million&lt;br /&gt;
regions, 2 billion total users, and 50 million concurrently connected&lt;br /&gt;
users. These objectives reflect Zero&#039;s frequently stated intention to&lt;br /&gt;
&amp;quot;instill a deep sense of platform&amp;quot; in the AWG. &lt;br /&gt;
&lt;br /&gt;
One way to achieve the desired scalability objectives is to create a&lt;br /&gt;
large number of independently hosted regions. As proof, consider how the&lt;br /&gt;
current Web scales: any organization (or individual for that matter) can&lt;br /&gt;
run an HTTP server and publish content. As of October 2007 Netcraft&lt;br /&gt;
reports more than 140 million web servers surveyed on the public&lt;br /&gt;
Internet (with countless additional servers deployed inside corporate&lt;br /&gt;
firewalls). Scalability of the Web occurs largely because each server is&lt;br /&gt;
independent of others. &lt;br /&gt;
&lt;br /&gt;
Although Second Life could scale to meet Zero&#039;s targets by creating a&lt;br /&gt;
number of independent regions (or a large number of independent copies&lt;br /&gt;
of Second Life itself), there are implicit objectives that affect&lt;br /&gt;
scalability as well. &lt;br /&gt;
&lt;br /&gt;
* The number of regions that share a common set of user identities&lt;br /&gt;
&lt;br /&gt;
In the Web every organization typically implements an identity service&lt;br /&gt;
to track its customers; e.g. I have distinct accounts at web sites&lt;br /&gt;
hosted by Amazon, Ebay, ESPN, and CNN. Multiple attempts have been made&lt;br /&gt;
to federate identity across multiple sites with relatively little&lt;br /&gt;
success. In contrast, wireless carriers have established roaming&lt;br /&gt;
agreements that tie customer billing records together across multiple&lt;br /&gt;
domains; my identity as stored in my SIM card enables the carrier&lt;br /&gt;
hosting my roaming cell phone to bill my primary carrier for the minutes&lt;br /&gt;
I use.&lt;br /&gt;
&lt;br /&gt;
The extent to which my identity scales (that is, the number of regions&lt;br /&gt;
over which my identity is known) will determine the extent to which my&lt;br /&gt;
avatar can move transparently among regions. (And by the way, this is&lt;br /&gt;
really hard.)&lt;br /&gt;
&lt;br /&gt;
* The number of users that can concurrently share a single region&lt;br /&gt;
&lt;br /&gt;
The number of concurrent users in a single region (sim) right now is&lt;br /&gt;
less than 100 (much less for practical use). Scaling the number of&lt;br /&gt;
concurrent users opens the potential for many new applications including&lt;br /&gt;
concerts, conferences, business meetings and large sporting events. &lt;br /&gt;
&lt;br /&gt;
If we generalize the notion of &amp;quot;concurrent users in a region&amp;quot; to mean&lt;br /&gt;
the number of users that can interact with each other at a single event,&lt;br /&gt;
then it becomes a bit easier to define the expected behavior. If&lt;br /&gt;
fifty-thousand people attend a baseball game, they all watch the same&lt;br /&gt;
game, they see each other, they share a common interest in the outcome&lt;br /&gt;
of the game, and operate within the same space. The shared social&lt;br /&gt;
experience is what differentiates interactions in a virtual world from a&lt;br /&gt;
simple webcast. However, rich social interactions generally only occur&lt;br /&gt;
with others who are nearby. Scaling the number of users at an event can&lt;br /&gt;
leverage user expectations to maintain a reasonable experience.&lt;br /&gt;
&lt;br /&gt;
Early &amp;quot;large&amp;quot; Web events like coverage of the 1998 Winter Olympics in&lt;br /&gt;
Nagano enabled literally millions of people worldwide to remotely&lt;br /&gt;
&amp;quot;participate&amp;quot; in the event (just a reminder: that was only five years&lt;br /&gt;
after the Mosaic was launched). What would it take to scale a virtual&lt;br /&gt;
world to handle that kind of traffic?&lt;br /&gt;
&lt;br /&gt;
* The number and complexity of objects in a region&lt;br /&gt;
&lt;br /&gt;
* The complexity of behavior of objects&lt;br /&gt;
&lt;br /&gt;
How many objects can have scripts? What can scripts control about&lt;br /&gt;
objects? How difficult is it to define new behaviors?&lt;/div&gt;</summary>
		<author><name>Finrod Meriman</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User:Finrod_Meriman/AWG_Feedback&amp;diff=40056</id>
		<title>User:Finrod Meriman/AWG Feedback</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User:Finrod_Meriman/AWG_Feedback&amp;diff=40056"/>
		<updated>2007-11-11T04:54:50Z</updated>

		<summary type="html">&lt;p&gt;Finrod Meriman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Some initial reactions to the architecture... ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Disclaimer&#039;&#039;&#039;: For those who don&#039;t know, I work for Intel. Although the comments are generally personal, I am participating in the working group as Intel&#039;s representative. I don&#039;t speak formally for Intel, but my affiliation certainly influences my position and interests. [[User:Finrod Meriman/]]&lt;br /&gt;
&lt;br /&gt;
=== 1) Architecting the grid is not a once-and-done task. ===&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
In the meeting we discussed two primary motivations. The first is fairly&lt;br /&gt;
short-term: make it possible to scale performance of the second life&lt;br /&gt;
grid. The second is more long-term: lay an architectural foundation on&lt;br /&gt;
which virtual worlds (in general) could scale to millions of users&lt;br /&gt;
supporting a very diverse set of interactions (everything from WoW to&lt;br /&gt;
SL). Both motivations are very reasonable. But there is an obvious&lt;br /&gt;
tension between the two. In the short-term it is necessary to consider&lt;br /&gt;
the transition from the existing SL Grid though long-term scalability&lt;br /&gt;
might be best served by a more complete overhaul. It seems pretty&lt;br /&gt;
obvious that re-architecting the grid needs to be viewed as a multi-step&lt;br /&gt;
process not a once-and-done event. There will be lots of good ideas to&lt;br /&gt;
support a fully general, scalable grid that need to be put off for later&lt;br /&gt;
consideration (or we&#039;ll never make progress).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 2) Make our architectural &amp;quot;views&amp;quot; explicit. ===&lt;br /&gt;
&lt;br /&gt;
There is tremendous value in having multiple &amp;quot;views&amp;quot; of an architecture&lt;br /&gt;
(for those who care, you can look for IEEE 1471 in wikipedia to get an&lt;br /&gt;
idea how to define views formally). In the meeting I heard three&lt;br /&gt;
different views presented. The &amp;quot;communication view&amp;quot; described the&lt;br /&gt;
architecture in terms Certified HTTP using RESTful interactions and&lt;br /&gt;
LLSD. Most of the detail that was presented focused on the &amp;quot;interface&lt;br /&gt;
view&amp;quot; or &amp;quot;component view&amp;quot;. Each of the agent &amp;amp; region domains were&lt;br /&gt;
broken into services (with standardized interfaces) based on stateful &amp;amp;&lt;br /&gt;
stateless interactions. And we discussed a &amp;quot;transactional view&amp;quot; where we&lt;br /&gt;
hinted at how to sequence the invocation of various services to&lt;br /&gt;
accomplish a higher level task (eg the login example cascaded through&lt;br /&gt;
several different invocations... all of which were mandatory to set up&lt;br /&gt;
the correct state).&lt;br /&gt;
&lt;br /&gt;
One view that was missing from the discussion was the &amp;quot;data&amp;quot; or&lt;br /&gt;
&amp;quot;document&amp;quot; view. What I mean is that we didn&#039;t talk about what the data&lt;br /&gt;
looked like, where it moved around the system, and how the various&lt;br /&gt;
functions transformed the data. I&#039;m sure some of this will be derived&lt;br /&gt;
from the current grid architecture, but it still should be thought&lt;br /&gt;
through &amp;amp; documented. And of course there is the question (for the&lt;br /&gt;
long-term discussion) as to whether there are other standard 3D object&lt;br /&gt;
formats that should be adopted to encourage long term stability&lt;br /&gt;
(e.g. collada, obj, ...).&lt;br /&gt;
&lt;br /&gt;
Just a couple more comments on the communication piece... Putting aside&lt;br /&gt;
my biases about REST... One question I wanted to ask is how the&lt;br /&gt;
architecture supports caching &amp;amp; replication. How hard would it be to&lt;br /&gt;
take the appropriate pieces and distribute them through something like&lt;br /&gt;
Akamai (or some other distributed web cache/content distribution&lt;br /&gt;
system)? Should the architecture explicitly include a separate CDN to&lt;br /&gt;
improve performance? This question is, in some sense, a question of both&lt;br /&gt;
the communication and document views. And it might impact how the&lt;br /&gt;
services are decomposed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 3) We&#039;re missing a good functional decomposition. ===&lt;br /&gt;
&lt;br /&gt;
Most of the architecture drawings that were presented focused on the&lt;br /&gt;
separation into region &amp;amp; agent domains. Clearly this is an important&lt;br /&gt;
separation for enabling multiple administrative domains. However, I&lt;br /&gt;
think the first structural partitioning should be along functional lines&lt;br /&gt;
(yes, the agent &amp;amp; region domains already capture an implicit functional&lt;br /&gt;
breakdown). Just to be concrete... I&#039;ve been asked the question, by&lt;br /&gt;
several residents, why IM is so tightly bound to SL. There are many good&lt;br /&gt;
reasons to bind them (managability for one), but there are also good&lt;br /&gt;
reasons to separate them. In the case of IM, there are already a number&lt;br /&gt;
of very good and extensible IM systems such as XMPP (jabber &amp;amp; google&lt;br /&gt;
talk). &lt;br /&gt;
&lt;br /&gt;
A more thorough examination of the functions might help to figure out&lt;br /&gt;
which services belong in which boxes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 4) Managing trust is going to be really hard. ===&lt;br /&gt;
&lt;br /&gt;
It appears that transactions/patterns (such as login) involve services&lt;br /&gt;
in multiple domain. In the case of login, for example, the agent that is&lt;br /&gt;
created on behalf of a particular user executes services in a region&lt;br /&gt;
domain where the avatar is located. The agent domain proxies trust for&lt;br /&gt;
the user potentially across administrative domains. Proxying trust also&lt;br /&gt;
creates potential problems for tracking/controling where bits are&lt;br /&gt;
sent. This has impact in managing intellectual property. (Not that the&lt;br /&gt;
architecture needs to support DRM, but it shouldn&#039;t make it impossible&lt;br /&gt;
to provide some limits on distribution of IP.)&lt;/div&gt;</summary>
		<author><name>Finrod Meriman</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User:Finrod_Meriman/AWG_Feedback&amp;diff=40055</id>
		<title>User:Finrod Meriman/AWG Feedback</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User:Finrod_Meriman/AWG_Feedback&amp;diff=40055"/>
		<updated>2007-11-11T04:54:10Z</updated>

		<summary type="html">&lt;p&gt;Finrod Meriman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Some initial reactions to the architecture... ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Disclaimer&#039;&#039;&#039;: For those who don&#039;t know, I work for Intel. Although the comments are generally personal, I am participating in the working group as Intel&#039;s representative. I don&#039;t speak formally for Intel, but my affiliation certainly influences my position and interests. [[User:Finrod Meriman]]&lt;br /&gt;
&lt;br /&gt;
=== 1) Architecting the grid is not a once-and-done task. ===&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
In the meeting we discussed two primary motivations. The first is fairly&lt;br /&gt;
short-term: make it possible to scale performance of the second life&lt;br /&gt;
grid. The second is more long-term: lay an architectural foundation on&lt;br /&gt;
which virtual worlds (in general) could scale to millions of users&lt;br /&gt;
supporting a very diverse set of interactions (everything from WoW to&lt;br /&gt;
SL). Both motivations are very reasonable. But there is an obvious&lt;br /&gt;
tension between the two. In the short-term it is necessary to consider&lt;br /&gt;
the transition from the existing SL Grid though long-term scalability&lt;br /&gt;
might be best served by a more complete overhaul. It seems pretty&lt;br /&gt;
obvious that re-architecting the grid needs to be viewed as a multi-step&lt;br /&gt;
process not a once-and-done event. There will be lots of good ideas to&lt;br /&gt;
support a fully general, scalable grid that need to be put off for later&lt;br /&gt;
consideration (or we&#039;ll never make progress).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 2) Make our architectural &amp;quot;views&amp;quot; explicit. ===&lt;br /&gt;
&lt;br /&gt;
There is tremendous value in having multiple &amp;quot;views&amp;quot; of an architecture&lt;br /&gt;
(for those who care, you can look for IEEE 1471 in wikipedia to get an&lt;br /&gt;
idea how to define views formally). In the meeting I heard three&lt;br /&gt;
different views presented. The &amp;quot;communication view&amp;quot; described the&lt;br /&gt;
architecture in terms Certified HTTP using RESTful interactions and&lt;br /&gt;
LLSD. Most of the detail that was presented focused on the &amp;quot;interface&lt;br /&gt;
view&amp;quot; or &amp;quot;component view&amp;quot;. Each of the agent &amp;amp; region domains were&lt;br /&gt;
broken into services (with standardized interfaces) based on stateful &amp;amp;&lt;br /&gt;
stateless interactions. And we discussed a &amp;quot;transactional view&amp;quot; where we&lt;br /&gt;
hinted at how to sequence the invocation of various services to&lt;br /&gt;
accomplish a higher level task (eg the login example cascaded through&lt;br /&gt;
several different invocations... all of which were mandatory to set up&lt;br /&gt;
the correct state).&lt;br /&gt;
&lt;br /&gt;
One view that was missing from the discussion was the &amp;quot;data&amp;quot; or&lt;br /&gt;
&amp;quot;document&amp;quot; view. What I mean is that we didn&#039;t talk about what the data&lt;br /&gt;
looked like, where it moved around the system, and how the various&lt;br /&gt;
functions transformed the data. I&#039;m sure some of this will be derived&lt;br /&gt;
from the current grid architecture, but it still should be thought&lt;br /&gt;
through &amp;amp; documented. And of course there is the question (for the&lt;br /&gt;
long-term discussion) as to whether there are other standard 3D object&lt;br /&gt;
formats that should be adopted to encourage long term stability&lt;br /&gt;
(e.g. collada, obj, ...).&lt;br /&gt;
&lt;br /&gt;
Just a couple more comments on the communication piece... Putting aside&lt;br /&gt;
my biases about REST... One question I wanted to ask is how the&lt;br /&gt;
architecture supports caching &amp;amp; replication. How hard would it be to&lt;br /&gt;
take the appropriate pieces and distribute them through something like&lt;br /&gt;
Akamai (or some other distributed web cache/content distribution&lt;br /&gt;
system)? Should the architecture explicitly include a separate CDN to&lt;br /&gt;
improve performance? This question is, in some sense, a question of both&lt;br /&gt;
the communication and document views. And it might impact how the&lt;br /&gt;
services are decomposed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 3) We&#039;re missing a good functional decomposition. ===&lt;br /&gt;
&lt;br /&gt;
Most of the architecture drawings that were presented focused on the&lt;br /&gt;
separation into region &amp;amp; agent domains. Clearly this is an important&lt;br /&gt;
separation for enabling multiple administrative domains. However, I&lt;br /&gt;
think the first structural partitioning should be along functional lines&lt;br /&gt;
(yes, the agent &amp;amp; region domains already capture an implicit functional&lt;br /&gt;
breakdown). Just to be concrete... I&#039;ve been asked the question, by&lt;br /&gt;
several residents, why IM is so tightly bound to SL. There are many good&lt;br /&gt;
reasons to bind them (managability for one), but there are also good&lt;br /&gt;
reasons to separate them. In the case of IM, there are already a number&lt;br /&gt;
of very good and extensible IM systems such as XMPP (jabber &amp;amp; google&lt;br /&gt;
talk). &lt;br /&gt;
&lt;br /&gt;
A more thorough examination of the functions might help to figure out&lt;br /&gt;
which services belong in which boxes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 4) Managing trust is going to be really hard. ===&lt;br /&gt;
&lt;br /&gt;
It appears that transactions/patterns (such as login) involve services&lt;br /&gt;
in multiple domain. In the case of login, for example, the agent that is&lt;br /&gt;
created on behalf of a particular user executes services in a region&lt;br /&gt;
domain where the avatar is located. The agent domain proxies trust for&lt;br /&gt;
the user potentially across administrative domains. Proxying trust also&lt;br /&gt;
creates potential problems for tracking/controling where bits are&lt;br /&gt;
sent. This has impact in managing intellectual property. (Not that the&lt;br /&gt;
architecture needs to support DRM, but it shouldn&#039;t make it impossible&lt;br /&gt;
to provide some limits on distribution of IP.)&lt;/div&gt;</summary>
		<author><name>Finrod Meriman</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User:Finrod_Meriman&amp;diff=40054</id>
		<title>User:Finrod Meriman</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User:Finrod_Meriman&amp;diff=40054"/>
		<updated>2007-11-11T04:52:53Z</updated>

		<summary type="html">&lt;p&gt;Finrod Meriman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;For those who don&#039;t know, I work for Intel. Although the comments are generally personal, I am participating in the architecture working group as Intel&#039;s representative. I don&#039;t speak formally for Intel, but my affiliation certainly influences my position and interests. &lt;br /&gt;
&lt;br /&gt;
Feel free to contact me in world or send email to mic.bowman@intel.com. &lt;br /&gt;
&lt;br /&gt;
* [[User:Finrod Meriman/AWG Feedback]]&lt;br /&gt;
* [[User:Finrod Meriman/Scalability]]&lt;/div&gt;</summary>
		<author><name>Finrod Meriman</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User:Finrod_Meriman&amp;diff=40053</id>
		<title>User:Finrod Meriman</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User:Finrod_Meriman&amp;diff=40053"/>
		<updated>2007-11-11T04:51:15Z</updated>

		<summary type="html">&lt;p&gt;Finrod Meriman: New page:  For those who don&amp;#039;t know, I work for Intel. Although the comments are generally personal, I am participating in the architecture working group as Intel&amp;#039;s representative. I don&amp;#039;t speak for...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
For those who don&#039;t know, I work for Intel. Although the comments are generally personal, I am participating in the architecture working group as Intel&#039;s representative. I don&#039;t speak formally for Intel, but my affiliation certainly influences my position and interests. &lt;br /&gt;
&lt;br /&gt;
Feel free to contact me in world or send email to mic.bowman@intel.com. &lt;br /&gt;
&lt;br /&gt;
* [[AWG Feedback]]&lt;br /&gt;
* [[Thoughts on Scalability]]&lt;/div&gt;</summary>
		<author><name>Finrod Meriman</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User:Finrod_Meriman/AWG_Feedback&amp;diff=32718</id>
		<title>User:Finrod Meriman/AWG Feedback</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User:Finrod_Meriman/AWG_Feedback&amp;diff=32718"/>
		<updated>2007-09-25T22:38:43Z</updated>

		<summary type="html">&lt;p&gt;Finrod Meriman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Some initial reactions to the architecture... ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Disclaimer&#039;&#039;&#039;: For those who don&#039;t know, I work for Intel. Although the comments are generally personal, I am participating in the working group as Intel&#039;s representative. I don&#039;t speak formally for Intel, but my affiliation certainly influences my position and interests.&lt;br /&gt;
&lt;br /&gt;
=== 1) Architecting the grid is not a once-and-done task. ===&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
In the meeting we discussed two primary motivations. The first is fairly&lt;br /&gt;
short-term: make it possible to scale performance of the second life&lt;br /&gt;
grid. The second is more long-term: lay an architectural foundation on&lt;br /&gt;
which virtual worlds (in general) could scale to millions of users&lt;br /&gt;
supporting a very diverse set of interactions (everything from WoW to&lt;br /&gt;
SL). Both motivations are very reasonable. But there is an obvious&lt;br /&gt;
tension between the two. In the short-term it is necessary to consider&lt;br /&gt;
the transition from the existing SL Grid though long-term scalability&lt;br /&gt;
might be best served by a more complete overhaul. It seems pretty&lt;br /&gt;
obvious that re-architecting the grid needs to be viewed as a multi-step&lt;br /&gt;
process not a once-and-done event. There will be lots of good ideas to&lt;br /&gt;
support a fully general, scalable grid that need to be put off for later&lt;br /&gt;
consideration (or we&#039;ll never make progress).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 2) Make our architectural &amp;quot;views&amp;quot; explicit. ===&lt;br /&gt;
&lt;br /&gt;
There is tremendous value in having multiple &amp;quot;views&amp;quot; of an architecture&lt;br /&gt;
(for those who care, you can look for IEEE 1471 in wikipedia to get an&lt;br /&gt;
idea how to define views formally). In the meeting I heard three&lt;br /&gt;
different views presented. The &amp;quot;communication view&amp;quot; described the&lt;br /&gt;
architecture in terms Certified HTTP using RESTful interactions and&lt;br /&gt;
LLSD. Most of the detail that was presented focused on the &amp;quot;interface&lt;br /&gt;
view&amp;quot; or &amp;quot;component view&amp;quot;. Each of the agent &amp;amp; region domains were&lt;br /&gt;
broken into services (with standardized interfaces) based on stateful &amp;amp;&lt;br /&gt;
stateless interactions. And we discussed a &amp;quot;transactional view&amp;quot; where we&lt;br /&gt;
hinted at how to sequence the invocation of various services to&lt;br /&gt;
accomplish a higher level task (eg the login example cascaded through&lt;br /&gt;
several different invocations... all of which were mandatory to set up&lt;br /&gt;
the correct state).&lt;br /&gt;
&lt;br /&gt;
One view that was missing from the discussion was the &amp;quot;data&amp;quot; or&lt;br /&gt;
&amp;quot;document&amp;quot; view. What I mean is that we didn&#039;t talk about what the data&lt;br /&gt;
looked like, where it moved around the system, and how the various&lt;br /&gt;
functions transformed the data. I&#039;m sure some of this will be derived&lt;br /&gt;
from the current grid architecture, but it still should be thought&lt;br /&gt;
through &amp;amp; documented. And of course there is the question (for the&lt;br /&gt;
long-term discussion) as to whether there are other standard 3D object&lt;br /&gt;
formats that should be adopted to encourage long term stability&lt;br /&gt;
(e.g. collada, obj, ...).&lt;br /&gt;
&lt;br /&gt;
Just a couple more comments on the communication piece... Putting aside&lt;br /&gt;
my biases about REST... One question I wanted to ask is how the&lt;br /&gt;
architecture supports caching &amp;amp; replication. How hard would it be to&lt;br /&gt;
take the appropriate pieces and distribute them through something like&lt;br /&gt;
Akamai (or some other distributed web cache/content distribution&lt;br /&gt;
system)? Should the architecture explicitly include a separate CDN to&lt;br /&gt;
improve performance? This question is, in some sense, a question of both&lt;br /&gt;
the communication and document views. And it might impact how the&lt;br /&gt;
services are decomposed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 3) We&#039;re missing a good functional decomposition. ===&lt;br /&gt;
&lt;br /&gt;
Most of the architecture drawings that were presented focused on the&lt;br /&gt;
separation into region &amp;amp; agent domains. Clearly this is an important&lt;br /&gt;
separation for enabling multiple administrative domains. However, I&lt;br /&gt;
think the first structural partitioning should be along functional lines&lt;br /&gt;
(yes, the agent &amp;amp; region domains already capture an implicit functional&lt;br /&gt;
breakdown). Just to be concrete... I&#039;ve been asked the question, by&lt;br /&gt;
several residents, why IM is so tightly bound to SL. There are many good&lt;br /&gt;
reasons to bind them (managability for one), but there are also good&lt;br /&gt;
reasons to separate them. In the case of IM, there are already a number&lt;br /&gt;
of very good and extensible IM systems such as XMPP (jabber &amp;amp; google&lt;br /&gt;
talk). &lt;br /&gt;
&lt;br /&gt;
A more thorough examination of the functions might help to figure out&lt;br /&gt;
which services belong in which boxes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 4) Managing trust is going to be really hard. ===&lt;br /&gt;
&lt;br /&gt;
It appears that transactions/patterns (such as login) involve services&lt;br /&gt;
in multiple domain. In the case of login, for example, the agent that is&lt;br /&gt;
created on behalf of a particular user executes services in a region&lt;br /&gt;
domain where the avatar is located. The agent domain proxies trust for&lt;br /&gt;
the user potentially across administrative domains. Proxying trust also&lt;br /&gt;
creates potential problems for tracking/controling where bits are&lt;br /&gt;
sent. This has impact in managing intellectual property. (Not that the&lt;br /&gt;
architecture needs to support DRM, but it shouldn&#039;t make it impossible&lt;br /&gt;
to provide some limits on distribution of IP.)&lt;/div&gt;</summary>
		<author><name>Finrod Meriman</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Architecture_Working_Group&amp;diff=32716</id>
		<title>Architecture Working Group</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Architecture_Working_Group&amp;diff=32716"/>
		<updated>2007-09-25T22:33:58Z</updated>

		<summary type="html">&lt;p&gt;Finrod Meriman: /* Individual Reviews and Feedback */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:slarch.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Goal==&lt;br /&gt;
&lt;br /&gt;
Discuss and implement the architecture of the future Second Life Grid.&lt;br /&gt;
&lt;br /&gt;
==Materials==&lt;br /&gt;
&lt;br /&gt;
[[Project Motivation]]&lt;br /&gt;
&lt;br /&gt;
[[Proposed Architecture|Architecture proposed by Linden Lab]]&lt;br /&gt;
&lt;br /&gt;
[[Components and Roles]]&lt;br /&gt;
&lt;br /&gt;
[[Use Cases]]&lt;br /&gt;
&lt;br /&gt;
[[Brainstorming]]&lt;br /&gt;
&lt;br /&gt;
[[AWG:  Zha&#039;s Desiderata for evaluating the proposed design]]&lt;br /&gt;
&lt;br /&gt;
==Meetings==&lt;br /&gt;
&lt;br /&gt;
[[ArchWG_Mtg_1_Agenda|September 13th 2007, Meeting 1]] &lt;br /&gt;
&lt;br /&gt;
[[Workitems for Meeting 1]]&lt;br /&gt;
&lt;br /&gt;
[[ Zha&#039;s comments on meeting 1]]&lt;br /&gt;
&lt;br /&gt;
[[ Tree&#039;s comments on meeting 1]]&lt;br /&gt;
&lt;br /&gt;
[http://taotakashi.wordpress.com/2007/09/24/second-life-grid-architecture-meetup-transcript/ Transcript and Slides from Tao Takashi&#039;s informal meetup on 2007/09/23]&lt;br /&gt;
&lt;br /&gt;
==Individual Reviews and Feedback==&lt;br /&gt;
&lt;br /&gt;
[[Diva Canto&#039;s Review]]&lt;br /&gt;
&lt;br /&gt;
[[Mic&#039;s Feedback]]&lt;br /&gt;
&lt;br /&gt;
==Discussions==&lt;br /&gt;
&lt;br /&gt;
[[DRM, IP and permissions]] (from the mailing list)&lt;br /&gt;
&lt;br /&gt;
==IRC Chat Logs==&lt;br /&gt;
&lt;br /&gt;
[[Chatlog from 2007/09/16]] (Gigs, otakup0pe and Tao_T talk about possible forms of regions etc.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Architecture Working Group]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Finrod Meriman</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User:Finrod_Meriman/AWG_Feedback&amp;diff=32717</id>
		<title>User:Finrod Meriman/AWG Feedback</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User:Finrod_Meriman/AWG_Feedback&amp;diff=32717"/>
		<updated>2007-09-25T22:33:34Z</updated>

		<summary type="html">&lt;p&gt;Finrod Meriman: New page: Just some initial reactions to the architecture...   1) Architecting the Grid is not a once-and-done task.   In the meeting we discussed two primary motivations. The first is fairly short-...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Just some initial reactions to the architecture...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) Architecting the Grid is not a once-and-done task. &lt;br /&gt;
&lt;br /&gt;
In the meeting we discussed two primary motivations. The first is fairly&lt;br /&gt;
short-term: make it possible to scale performance of the second life&lt;br /&gt;
grid. The second is more long-term: lay an architectural foundation on&lt;br /&gt;
which virtual worlds (in general) could scale to millions of users&lt;br /&gt;
supporting a very diverse set of interactions (everything from WoW to&lt;br /&gt;
SL). Both motivations are very reasonable. But there is an obvious&lt;br /&gt;
tension between the two. In the short-term it is necessary to consider&lt;br /&gt;
the transition from the existing SL Grid though long-term scalability&lt;br /&gt;
might be best served by a more complete overhaul. It seems pretty&lt;br /&gt;
obvious that re-architecting the grid needs to be viewed as a multi-step&lt;br /&gt;
process not a once-and-done event. There will be lots of good ideas to&lt;br /&gt;
support a fully general, scalable grid that need to be put off for later&lt;br /&gt;
consideration (or we&#039;ll never make progress).&lt;br /&gt;
&lt;br /&gt;
2) Make our architectural &amp;quot;views&amp;quot; explicit.&lt;br /&gt;
&lt;br /&gt;
There is tremendous value in having multiple &amp;quot;views&amp;quot; of an architecture&lt;br /&gt;
(for those who care, you can look for IEEE 1471 in wikipedia to get an&lt;br /&gt;
idea how to define views formally). In the meeting I heard three&lt;br /&gt;
different views presented. The &amp;quot;communication view&amp;quot; described the&lt;br /&gt;
architecture in terms Certified HTTP using RESTful interactions and&lt;br /&gt;
LLSD. Most of the detail that was presented focused on the &amp;quot;interface&lt;br /&gt;
view&amp;quot; or &amp;quot;component view&amp;quot;. Each of the agent &amp;amp; region domains were&lt;br /&gt;
broken into services (with standardized interfaces) based on stateful &amp;amp;&lt;br /&gt;
stateless interactions. And we discussed a &amp;quot;transactional view&amp;quot; where we&lt;br /&gt;
hinted at how to sequence the invocation of various services to&lt;br /&gt;
accomplish a higher level task (eg the login example cascaded through&lt;br /&gt;
several different invocations... all of which were mandatory to set up&lt;br /&gt;
the correct state).&lt;br /&gt;
&lt;br /&gt;
One view that was missing from the discussion was the &amp;quot;data&amp;quot; or&lt;br /&gt;
&amp;quot;document&amp;quot; view. What I mean is that we didn&#039;t talk about what the data&lt;br /&gt;
looked like, where it moved around the system, and how the various&lt;br /&gt;
functions transformed the data. I&#039;m sure some of this will be derived&lt;br /&gt;
from the current grid architecture, but it still should be thought&lt;br /&gt;
through &amp;amp; documented. And of course there is the question (for the&lt;br /&gt;
long-term discussion) as to whether there are other standard 3D object&lt;br /&gt;
formats that should be adopted to encourage long term stability&lt;br /&gt;
(e.g. collada, obj, ...).&lt;br /&gt;
&lt;br /&gt;
Just a couple more comments on the communication piece... Putting aside&lt;br /&gt;
my biases about REST... One question I wanted to ask is how the&lt;br /&gt;
architecture supports caching &amp;amp; replication. How hard would it be to&lt;br /&gt;
take the appropriate pieces and distribute them through something like&lt;br /&gt;
Akamai (or some other distributed web cache/content distribution&lt;br /&gt;
system)? Should the architecture explicitly include a separate CDN to&lt;br /&gt;
improve performance? This question is, in some sense, a question of both&lt;br /&gt;
the communication and document views. And it might impact how the&lt;br /&gt;
services are decomposed.&lt;br /&gt;
&lt;br /&gt;
3) We&#039;re missing a good functional decomposition.&lt;br /&gt;
&lt;br /&gt;
Most of the architecture drawings that were presented focused on the&lt;br /&gt;
separation into region &amp;amp; agent domains. Clearly this is an important&lt;br /&gt;
separation for enabling multiple administrative domains. However, I&lt;br /&gt;
think the first structural partitioning should be along functional lines&lt;br /&gt;
(yes, the agent &amp;amp; region domains already capture an implicit functional&lt;br /&gt;
breakdown). Just to be concrete... I&#039;ve been asked the question, by&lt;br /&gt;
several residents, why IM is so tightly bound to SL. There are many good&lt;br /&gt;
reasons to bind them (managability for one), but there are also good&lt;br /&gt;
reasons to separate them. In the case of IM, there are already a number&lt;br /&gt;
of very good and extensible IM systems such as XMPP (jabber &amp;amp; google&lt;br /&gt;
talk). &lt;br /&gt;
&lt;br /&gt;
A more thorough examination of the functions might help to figure out&lt;br /&gt;
which services belong in which boxes.&lt;br /&gt;
&lt;br /&gt;
4) Managing trust is going to be really hard.&lt;br /&gt;
&lt;br /&gt;
It appears that transactions/patterns (such as login) involve services&lt;br /&gt;
in multiple domain. In the case of login, for example, the agent that is&lt;br /&gt;
created on behalf of a particular user executes services in a region&lt;br /&gt;
domain where the avatar is located. The agent domain proxies trust for&lt;br /&gt;
the user potentially across administrative domains. Proxying trust also&lt;br /&gt;
creates potential problems for tracking/controling where bits are&lt;br /&gt;
sent. This has impact in managing intellectual property. (Not that the&lt;br /&gt;
architecture needs to support DRM, but it shouldn&#039;t make it impossible&lt;br /&gt;
to provide some limits on distribution of IP.)&lt;/div&gt;</summary>
		<author><name>Finrod Meriman</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Architecture_Working_Group&amp;diff=32715</id>
		<title>Architecture Working Group</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Architecture_Working_Group&amp;diff=32715"/>
		<updated>2007-09-25T22:32:52Z</updated>

		<summary type="html">&lt;p&gt;Finrod Meriman: /* Individual Reviews and Feedback */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:slarch.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Goal==&lt;br /&gt;
&lt;br /&gt;
Discuss and implement the architecture of the future Second Life Grid.&lt;br /&gt;
&lt;br /&gt;
==Materials==&lt;br /&gt;
&lt;br /&gt;
[[Project Motivation]]&lt;br /&gt;
&lt;br /&gt;
[[Proposed Architecture|Architecture proposed by Linden Lab]]&lt;br /&gt;
&lt;br /&gt;
[[Components and Roles]]&lt;br /&gt;
&lt;br /&gt;
[[Use Cases]]&lt;br /&gt;
&lt;br /&gt;
[[Brainstorming]]&lt;br /&gt;
&lt;br /&gt;
[[AWG:  Zha&#039;s Desiderata for evaluating the proposed design]]&lt;br /&gt;
&lt;br /&gt;
==Meetings==&lt;br /&gt;
&lt;br /&gt;
[[ArchWG_Mtg_1_Agenda|September 13th 2007, Meeting 1]] &lt;br /&gt;
&lt;br /&gt;
[[Workitems for Meeting 1]]&lt;br /&gt;
&lt;br /&gt;
[[ Zha&#039;s comments on meeting 1]]&lt;br /&gt;
&lt;br /&gt;
[[ Tree&#039;s comments on meeting 1]]&lt;br /&gt;
&lt;br /&gt;
[http://taotakashi.wordpress.com/2007/09/24/second-life-grid-architecture-meetup-transcript/ Transcript and Slides from Tao Takashi&#039;s informal meetup on 2007/09/23]&lt;br /&gt;
&lt;br /&gt;
==Individual Reviews and Feedback==&lt;br /&gt;
&lt;br /&gt;
[[Diva Canto&#039;s Review]]&lt;br /&gt;
[[Mic&#039;s Feedback]]&lt;br /&gt;
&lt;br /&gt;
==Discussions==&lt;br /&gt;
&lt;br /&gt;
[[DRM, IP and permissions]] (from the mailing list)&lt;br /&gt;
&lt;br /&gt;
==IRC Chat Logs==&lt;br /&gt;
&lt;br /&gt;
[[Chatlog from 2007/09/16]] (Gigs, otakup0pe and Tao_T talk about possible forms of regions etc.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Architecture Working Group]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Finrod Meriman</name></author>
	</entry>
</feed>