Instance Host
The Instance Host is an IIS-hosted .NET web service that accepts client connections and hosts run-time virtual world instances. It is a part of Layer One of the virtual world web infrastructure.
Contents
Responsibilities
The Instance Host represents a unit of scalability on a world operator's network. It hosts Instances of Scenes and provides connected users with a shared experience. Below are some of the major areas of functionality.
Client Connection Handler
After a brief interaction with Root Services and then the Service Provider, clients are eventually routed to an Instance Host where they establish a persistent TCP connection. Via this connection, protocol messages exchange information necessary for the user experience.
Resource Server
Instance Hosts serve game resources (scene files, textures, models, and other media) directly to users. They also accept file uploads from users who are involved in creating content.
Instance Host
Sounds redundant, but the main function of the Instance Host is to host Instances. An instance is the run-time manifestation of a Scene. Scene instances generally have a maximum user capacity, beyond which another instance of the same scene will need to be created, possibly on another Instance Host, to help balance load and provide an acceptably performant experience to the user.
Script Host
Each instance hosts a V8 JavaScript isolate in which Scripts can run to add interactivity and automation to the world (See the World Scripting Guide for more). Scripts are introduced through the Document Object Model which describes a scene's contents. Layer Two Components can extend this scripting environment to add any kind of functionality.
Component Host
The Instance Host loads all Layer Two Components and notifies them when various connection, instance, and interaction events take place. Components can take part in every part of the user experience. Indeed, component ultimately provide most of the "end user experience", essentially defining the functionality of the world. See the Component Programming Guide for more on components.