U.S. Pat. No. 10,166,470
METHOD FOR PROVIDING A VIRTUAL WORLD LAYER
AssigneeInternational Business Machines Corporation
Issue DateAugust 1, 2008
Illustrative Figure
Abstract
A method for providing virtual world functionality to a user of a base virtual world having base virtual world functionality, including providing a virtual world layer having virtual world layer functionality beyond the base virtual world functionality, coupling the virtual world layer to the base virtual world and coupling the virtual world layer to the user. User access to the base virtual world functionality and to the virtual world layer functionality by the virtual world layer is provided.
Description
DETAILED DESCRIPTION Referring now toFIG. 2, there is shown the single layered virtual world system20. The single layered virtual world system20can include the base virtual world22and the base virtual world view24. In a manner substantially similar to the manner understood by those skilled in the art with respect to the prior art virtual world system10, a user community of the single layered virtual world system20can connect directly to the base virtual world22by way of the base virtual world view24. Accordingly, the user community can interact with objects whose existence and state the base virtual world22maintains by way of the base virtual world view24. However, according to a preferred embodiment of the invention, the single layered virtual world system20can also include a virtual world layer26and a layer virtual world view28. The layer virtual world view28can couple directly to the virtual world layer26, where a coupling between base virtual worlds, virtual world layers and layer virtual world views can be any type of communication or association known by those skilled in the art. Those skilled in the art can use a virtual world layer order notation VW[0] to represent the base virtual world22. The virtual world layer order notation VW[1] can represent the virtual world layer26. Furthermore, the virtual world layer order notation View[0] can represent the base virtual world view24, and View[1] can represent the layer virtual world view28. The virtual world layer order notation used herein can be a bracketed notation that is substantially similar to array notations common in many programming languages. In this virtual world layer order notation each bracketed numerical value following a virtual world name or virtual world view name can represent a tier. The virtual world layer26can be a middleware including a layered virtual world server, or multiple servers with disk arrays for storing the ...
DETAILED DESCRIPTION
Referring now toFIG. 2, there is shown the single layered virtual world system20. The single layered virtual world system20can include the base virtual world22and the base virtual world view24. In a manner substantially similar to the manner understood by those skilled in the art with respect to the prior art virtual world system10, a user community of the single layered virtual world system20can connect directly to the base virtual world22by way of the base virtual world view24. Accordingly, the user community can interact with objects whose existence and state the base virtual world22maintains by way of the base virtual world view24. However, according to a preferred embodiment of the invention, the single layered virtual world system20can also include a virtual world layer26and a layer virtual world view28. The layer virtual world view28can couple directly to the virtual world layer26, where a coupling between base virtual worlds, virtual world layers and layer virtual world views can be any type of communication or association known by those skilled in the art.
Those skilled in the art can use a virtual world layer order notation VW[0] to represent the base virtual world22. The virtual world layer order notation VW[1] can represent the virtual world layer26. Furthermore, the virtual world layer order notation View[0] can represent the base virtual world view24, and View[1] can represent the layer virtual world view28. The virtual world layer order notation used herein can be a bracketed notation that is substantially similar to array notations common in many programming languages. In this virtual world layer order notation each bracketed numerical value following a virtual world name or virtual world view name can represent a tier.
The virtual world layer26can be a middleware including a layered virtual world server, or multiple servers with disk arrays for storing the source virtual world objects of the layer26. The layer virtual world server can interact with the base virtual world22on behalf of the community of layered virtual world users. Any interaction of the virtual world layer26that affects the base virtual world22can pass through the virtual world layer26to the base virtual world22. Participants in the single layered virtual world system20who are not using the layer virtual world view28can interact with the base virtual world22by connecting directly to it, for example directly using the base virtual world view24. The single layered virtual world system20is inherently secure since the layer objects within the virtual world layer26do not exist in the base virtual world22. The only way participants of the virtual world layer26can interact with the layer objects is by accessing the layered virtual world server within the virtual world layer26.
The user community viewing the layer virtual world view28receives the enhanced functionality provided by the virtual world layer26including access to additional objects stored by its server by issuing commands to the virtual world layer26. Furthermore, access to the additional objects can be exclusive to the user community viewing the layer virtual world view28. The server within the virtual world layer26communicates with the base virtual world22to retrieve states, objects, textures, scripts, etc. However, the virtual world layer26can manage the state and persistence of its own objects and their relation and interaction with the objects of the base virtual world22.
Furthermore, the virtual world layer26can manage its own separate list of users. Clients of the virtual world layer26, such as the layer virtual world view28, may render and interact with all of the objects found in the base virtual world22, but they may also interact with all of the objects stored in the virtual world layer26. The single layer virtual world view24thus enables user access to objects that do not exist in the base virtual world22. For example, in the embodiment shown inFIG. 2, the virtual world layer26includes a football object which is not present in the objects of the base virtual world22. The football object is shown added to the objects from the base virtual world22when viewed from the layer virtual world view28.
In one preferred embodiment the layer virtual world view28may also provide additional interaction with objects managed in the base virtual world22. For example, virtual world designers may not want to permit the general population of the base virtual world22to change or delete objects in the base virtual world22. Such actions may be permitted for users of the layer virtual world view28, and only the user community interacting with the world through single layer virtual world view28may have the ability to change and delete functionality.
Accordingly, the use of a virtual world layer package including the single layered virtual world system20can extend the functionality and capacity of the existing base virtual world22, while minimizing the impact and the demand on the base virtual world22. The layer packages can be used to customize a base virtual world infrastructure without requiring the creator of the customized world to build or maintain a computational infrastructure to support the virtual world. The packages can contain objects, textures, scripts, etc. that describe a virtual world. The packages may describe a complete virtual world or may override only specific items of the base virtual world where the designers deploy them.
The single layered virtual world system20or single layered virtual world method20can enable an extension of the base virtual world22through the implementation of one or more virtual world infrastructures. The virtual world infrastructures can include the layered virtual world server that can act as a proxy between the user and the base virtual world22being extended. The layered virtual worlds or proxy virtual worlds can add functionality to the base virtual world22by implementing functionality present only on their infrastructure, and managing objects and users that are not part of, or exposed to, the base virtual world22or its users. The management of their own virtual world objects by the virtual world layers is in addition to any managing of the base world objects being passed through the layers from the base virtual world22to the user community of the virtual world layers.
In a typical virtual world environment such as the prior art virtual world10all participants connect to an instance of the virtual world. All participants interact with the same objects. However, within the single layered virtual world system20different user communities can have different interactions with the base virtual world22mediated by their different virtual world layers26. Thus, the additional virtual world servers may layer objects and functionality upon the objects and functionality provided by the base virtual world22. The layered, isolated and differentiated virtual worlds may thus support complementary communities and provide a solution to a number of problems afflicting the development and operation of virtual worlds. Furthermore, the single layered virtual world system20permits segregation of user communities whereby the base virtual world22does not require knowledge of the users on the single layered virtual world system20.
An important advantage of the single layered virtual world system20is that it can leverage the functionalities of the base virtual world22while requiring only enough infrastructures to support its own functionality and its own user community. For example, a layer such as the single layered virtual world system20can be designed to tint all of the buildings or selected buildings in a base virtual world a predetermined color. It can be designed to operate selectively on objects provided by the base virtual world according to any parameters or data. For example, a layer can be designed to operate on objects according to global positioning system data that may be associated with the base virtual world objects. In another alternate embodiment objects can be provided with receptor sites for associating images or video or other objects with the receptor sites. For example, the layer can cause images or video to be displayed upon a rendering of an object at the receptor sites of the object.
Participants are users of a virtual world who can interact with augmentations to the base virtual world by connecting exclusively to a layered virtual world server which manage the additional objects not visible or accessible by users of the base virtual world22. In order to do this its infrastructure communicates with the base virtual world22and one or more virtual world clients. Furthermore, single layered virtual world system20enables its users to interact with the users of the base virtual world22while providing complete segregation between the user communities.
Referring now toFIG. 3, there is shown the multiple layered virtual world system30. The multiple layered virtual world system30includes the base virtual world32and the base virtual world view34. A user community of the base virtual world32can connect directly to the base virtual world32. In a preferred embodiment of the invention, the multiple layered virtual world system30can also include any number of virtual world layers36a-n. Each virtual world layer36a-ncan include its own virtual world server for storing its own source virtual objects, as well as its own virtual world view38a-nconnected to it. For example, in the embodiment shown inFIG. 3, the virtual world layer36nincludes a soccer ball object which is not present in objects in the base virtual world32. The football object is shown added to the objects from the base virtual world32when viewed from the layer virtual world view38n. This is in addition to the football object added to the objects in the base virtual world32when viewed from the layer virtual world view38a. Thus, the multiple layered virtual world system30can support any number n of layers to support any layered security or design criteria. The notation VW[1]-VW[n] can represent the virtual world layers36a-n, and the notation View[1]-View[n] can represent the virtual world views38a-n.
The multiple layered virtual world system30embodiment permits multiple communities to access a single base virtual world32by way of its own virtual world view38a-n. It is modular and may be extended to as many layers as required. The base virtual world32can maintain the lowest common functionality and object states within the multiple layered virtual world system30, while the virtual world layers36a-ncan provide n additional separate sets of functionality and object states. Each virtual world layer of the virtual world layers36a-ninherits the functionality of the base virtual world32and the functionality of the virtual world layers between the base virtual world32and itself. Additionally, each virtual world layer of the virtual world layers36a-nadds its own additional functionality to the inherited functionalities. Accordingly, each of the virtual world layers36a-nprovides its inherited functionality and its own functionality, to its own distinct user community by way of its own virtual world view.
Referring now toFIGS. 4A,B,C, there are shown schematic representations of the parallel multiple layered virtual world system40. The parallel multiple layered virtual world system40includes the base virtual world42and the base virtual world view44. A virtual world layer46ais coupled directly to the base virtual world42. The virtual world layer46ais in turn coupled to additional virtual world layers extending up to the virtual world layer46n, as previously described with respect to the multiple layered virtual world system30, where it will be understood that the suffix n in the reference numeral46a-nor in the reference numeral46a-ncan be any appropriate integer value. Furthermore, if the suffix a, for example in the reference numeral46a-nor the reference numeral46a-n, has a value 1, then it will be understood that the reference numerals36a-nand46a-nindicate respective elements ranging from a first element36aor46athrough to an nthelement, for a total of n elements in each case. Each virtual world layer46a-ncan be coupled to its own virtual world view48a-n, as also previously described with respect to the multiple layered virtual world system30.
However, according to a preferred embodiment of the invention, the parallel multiple layered virtual world system40can also be provided with a further series of virtual world layers. The further series of virtual world layers can be coupled to the virtual world layer46aand can extend to the virtual world layer46m. Thus, the reference numeral46a-mcan be understood to indicate a total of m elements, ranging from a first virtual element46ato an mthelement46m, substantially in a manner as previously described with respect to the reference numeral46a-n. Furthermore, the string of the virtual world layers46a-nand the string of the virtual world layers46a-mwill be understood to include a common virtual world layer46a, which is coupled to the base virtual world42. Each of the virtual world layers46a-min the parallel multiple layered virtual world system40can inherit the functionality of the base virtual world and the virtual world layers it is layered upon and provide the inherited functionalities along with its own functionality to a user. Additionally, each virtual world layer46a-mcan be provided with its own virtual world view48a-mfor providing the combined functionalities to its user community. Therefore, a user community in the parallel multiple layered virtual world system40can view the base virtual world42by way of at least two virtual world layers.
Furthermore, any number of additional series of layered virtual worlds beyond layered virtual worlds shown and described can be added in parallel to the parallel multiple layered virtual world system40in substantially the same manner. The users coupled to a layer of the parallel multiple layered virtual world system40can obtain user access to the augmented functionality or the base virtual world42by issuing predetermined commands understood by those skilled in the art. Accordingly,FIG. 4Bwill be understood to be a more generalized representation of the parallel multiple layered virtual world system40as shown inFIG. 4A, wherein any configuration of parallel sequences of virtual world layers can be coupled to a base virtual world42substantially in the manner of spokes radiating from a hub.
Parallel layered virtual world systems such as the parallel multiple layered virtual world system40are believed to be advantageous for supporting user communities with complex management structures. For example, the parallel multiple layered virtual world system40can be useful in a simulation containing separate intelligence personnel supporting a training mission. Soldiers in the training scenario may, for example, connect to the base virtual world42. The immediate superiors of the soldiers could be provided with additional resources and functionality by attaching them to the various virtual world layer46a-n. Additionally, intelligence teams may attach to a layered virtual world view VW[2][1] that may contain information and functionality above the security clearance of the soldiers, and their immediate superiors. Trainers may connect to a parallel layered view of the parallel multiple layered virtual world system40, separate and distinct from that of the intelligence team. The virtual world layer VW[2][1] can provide functionality specific to trainers and command personnel that is not appropriate for the individual soldier or intelligence team members. In this scenario it may not be appropriate to layer intelligence functionality on top of command functionality, or vise versa.
An important benefit of the parallel multiple layered virtual world system40is thus the ability to provide independent resources for each independently participating team. This allows resources in a virtual world to be budgeted and allocated in a manner mirroring the resources allocated in a complex management structure. It can also allow for as many parallel layers as necessary in any series or parallel relationship in order to support any number of independent communities requiring well defined complete or partial isolation and separation from each other.
Referring now toFIG. 5, there is shown the compatible virtual world communication protocol50. The compatible virtual world communication protocol50can be used with virtual world systems such as the virtual world systems20,30,40for enabling the virtual world layers56a,btherein to communicate with a base virtual world, with each other, or with their clients58a,b. According to the compatible virtual world communication protocol50, one or both of the virtual world layers56a,bcan use the same communication protocol when communicating with its base virtual world that is uses when communicating with their clients58a,b. Furthermore, according to a preferred embodiment of the compatible virtual world communication protocol50, the virtual world layers56a,bcan also use the same communication protocol when communicating with any other base virtual worlds they may be layered upon. This can enable the clients of the virtual world layers56a,bto alternately connect with the base virtual world, the virtual world layers56a,b, or the virtual world layer56b, and easily and directly communicate using the same protocol.
The virtual world layers56a,bthat use the compatible virtual world communication protocol50can be any of the virtual world layers of the virtual world systems20,30,40, or any other virtual world systems. The clients58a,bof the virtual world layers56a,busing the compatible virtual world communication protocol50can be any of the user communities coupled to any of the various virtual world views of the virtual world systems20,30,40, or any other virtual world systems.
Referring now toFIG. 6, there is shown the incompatible virtual world communication protocol60. In the incompatible virtual world communication protocol60, the clients68a,bof the virtual world layers66a,bcan use a protocol to communicate with its virtual world layer66aor66bthat is different from the protocol it uses to communicate with its base virtual world. This can occur, for example, where virtual world layers66a,badd a substantially different functionality that requires a different method of communication between itself and its client68a,bor68a,b. According to a preferred embodiment, the virtual world layers66a,bcan use partially different or completely different communication protocols when performing the foregoing communications, especially when they are using the augmented functionality. Furthermore, according to the incompatible virtual world communication protocol60, the virtual world layers66a,bcan use the same or different communication protocol when communicating with virtual world layers they are layered upon.
The virtual world layers66a,bthat use the incompatible virtual world communication protocol60can be any of the virtual world layers of the virtual world systems20,30,40, or any other virtual world systems. The clients68a,bof the virtual world layers66a,busing the incompatible virtual world communication protocol60can be any of the user communities coupled to any of the various virtual world views of the virtual world systems20,30,40, or any other virtual world systems.
Referring now toFIG. 7, there is shown the concurrent virtual world communication protocol70. In the concurrent virtual world communication protocol70a single client78can communicate with both of the virtual world layers76a,b. Furthermore, in a preferred embodiment, the client78can communicate with a single common base virtual world by way of either or both virtual world layers76a,b. However, it is not necessary for either of the virtual world layers76a,bto pass all of the functionality of the common base virtual world through to the client78. Each of the virtual world layers76a,bcan pass a portion of the functionality of the base virtual world to the client78, although at times a single world layer76aor76bcan be permitted to pass the entire base virtual world through.
Additionally, each of the virtual world layers76a,bmay augment and enhance the capability of only the portion of the base virtual world it is passing through to the client78. Furthermore, it is possible for some portion or portions of the functionality of the base virtual world to be passed through to the client78by way of one or both of the virtual world layers76a,bwithout any augmentation. Additionally, a portion or portions of the base virtual world may be selectively augmented and passed by either of the virtual world layers76a,b, wherein the portion being selectively passed through can be determined and triggered by any means known to those skilled in the art. Thus, each of the virtual world layers76a,b, or other virtual world layers in addition to the virtual world layers76a,b, can provide an independent parallel augmentation of the functionality of the base virtual world to the client78.
Referring now toFIGS. 8A,B, there are shown schematic representations of the composite virtual world system80. The composite virtual world system80can include any number of base virtual worlds82a-n. Each base virtual world82a-ncan have its own corresponding virtual world view84a-n. Additionally, the composite virtual world system80can include a virtual world layer86. The virtual world layer86within the composite virtual world system80can have its own virtual world view88. Since the virtual world layer86can be layered over any number of the base virtual worlds82a-n, a user of the composite virtual world system80can interact with any of the base virtual worlds82a-nby way of the virtual world layer86and its virtual world view88. Furthermore, a user of the composite virtual world system80can interact with the base virtual worlds82a-nin substantially the same manner previously described with respect to the base virtual worlds and virtual world views of the virtual world systems or methods20,30,40, or any other virtual world systems or methods. Accordingly, those skilled in the art can also refer to the virtual world layer86as the composite virtual world86.
Thus, one skilled in the art can use the composite virtual world86to manage any number of base virtual worlds such as the base virtual worlds82a-n. The composite virtual world86is therefore useful for extending the functionality and capacity of the base virtual worlds82a-nwhile minimizing the impact and demand on the base virtual worlds82a-nbeing extended, as also previously described. For example, the composite virtual world86can enable virtual world extension through the implementation of one or more virtual world infrastructures that can act as proxies between a user of the composite virtual world86and the base virtual worlds82a-n. The proxy virtual worlds created in this manner can select functionality from any of the base virtual worlds82a-n, and create new virtual worlds that are composites of the selected base virtual worlds82a-nand the virtual world layer86.
In a typical virtual world environment many participants can connect to a single instance of a virtual world such as the composite virtual world86. The composite virtual world system80thus permits a single user to access multiple base virtual worlds through a single instance of the composite virtual world86. Additionally, composite virtual world system80can create new virtual worlds out of the objects, scripts, textures, etc. that can exist in the other virtual worlds. Creation of a virtual world using a composite proxy such as the composite virtual world86permits new virtual world experiences to be created quickly and without the expense of creating a large back-end virtual world processing infrastructure. Furthermore,FIG. 8Bwill be understood to be a more generalized representation of the composite virtual world system80as shown inFIG. 8A, wherein any number of base virtual worlds82a-ncan be coupled to the base virtual world42. Furthermore, any base virtual world82a-nof the composite virtual world system80can have additional virtual world layers coupled to it.
The composite virtual world system80can be advantageously applied to known virtual worlds because it enables the rapid creation of unique virtual world experiences by permitting composition of new virtual worlds from pieces of existing base virtual worlds. Furthermore, the composite virtual world system80permits a user to move rapidly between the base virtual worlds82a-nby way of the composite virtual world86. Additionally, the composite virtual world system80provides a single point of access for monitoring and managing a potentially large domain of virtual world servers. It allows administrative functionality to reside in a secure environment segregated from the domain of the virtual world servers under management.
Referring now toFIG. 9, there is shown the support composite virtual world system90. The support composite virtual world system90can be advantageously applied to the field of virtual world management, for example, within the entertainment industry. In the entertainment market it is common to create several parallel copies of a virtual world, for example game base virtual worlds92a-n, to support a large and geographically distributed player community. The number of parallel copies can range into the hundreds or higher. Managers of such base game virtual worlds92a-nin the entertainment industry often give the parallel virtual world copies unique names, so that users can connect to the specific base game virtual world92a-nthey want. In many such virtual world systems, many of the base game virtual worlds92a-ncan share the same or similar static content.
It is known to provide a mechanism for requesting assistance within the virtual world contexts. Due to the independent nature of the segregation methods, many different support requests can arise and exist independently, including within the base game virtual worlds92a-n. An entertainment company can create a separate support team for each virtual world. However, such an approach can be wasteful and expensive. Customer support in such an environment is difficult because it can be laborious for support personnel to log into multiple virtual worlds simultaneously. Support must be provided in-world for issues that arise within each distinct copy of the virtual world. Support personnel may need the implementation of special support functionality so they can assist customers, and support personnel may need equal access to all parallel copies of the virtual world.
Furthermore, virtual world functionality implemented for support personnel can be a target for mischievous security exploits. Therefore, support functionality can be a security risk if implemented in the base virtual worlds. Furthermore, independent parallel copies of a virtual world require support personnel to log off one copy of the virtual world and log on to another. This is a time consuming and therefore expensive task that reduces the ability of the support personnel to assist customers.
The support composite virtual world system90can solve many of these and other problems by creating a composite virtual world96for the support personnel to permit easy working access to all of the game base virtual worlds92a-nby way of the composite virtual world96. In another embodiment of the invention plural composite virtual worlds96can be provided for providing working access to the game virtual worlds92a-nfor the support personnel by way of plural paths. Furthermore, the support composite virtual world96created in this manner can expose the support functionally to only selected authorized personnel while connecting to all of the game base virtual worlds92a-n.
Therefore, an entertainment company can use standard segregation methods to support a large user population, the segregation method can require the entertainment company to create several identical copies of the virtual world, and the user population can be divided amongst the copies. In order to support the customer base efficiently the entertainment company can create a single or multiple layer composite virtual world96to provide specific segregated support functionality. The composite virtual world96can be accessible only to support personnel. The virtual world support layer96can maintain concurrent persistent communications with all of the virtual world instances. When a customer submits a support request, the layered virtual world96can create a support request object that can be activated by the support personnel. The support request object can be created within the virtual world layer96, and can consist of the support request data provided by the customer, and information to identify which specific virtual world instance92a-noriginated the request.
The support composite virtual world system90can represent the support request to the support personnel as a virtual world object or as a virtual world menu item. The support personnel can activate the request object, and the layer forming the composite virtual world96can provide access to the customer objects. Because each copy of the base virtual world92a-ncan be almost identical, only unique data specific to the requesting customer may need to be accessed by the support layer96. All actions taken by the support personnel on behalf of the customer can be reflected back to the customer specific instance of the base virtual world92a-nthrough known communications methods. Thus, in virtual world layer order notation, a support request can be made by a customer of VW[0][1]. The support personnel can activate the request object. The support personnel can be allowed to see to the customers virtual world objects. Actions taken in the virtual world are pushed down to the specific VWS[0][1].
The description of the composite virtual world systems80,90can be applied to the management of multiple virtual worlds such as the base virtual worlds82a-n,92a-nthat can be substantially similar to each other. However, layered composite worlds such as the composite virtual world systems80,90can also be used to compose new virtual worlds from disparate previously existing base virtual worlds. Such a use can select scripts, textures, objects, avatars, etc. from different base virtual worlds and create a new layered composite virtual world from the selected base world objects. These embodiments may normalize the physics engines for all base virtual worlds, such that objects from one base world could interact with users in the same manner as objects from another base world. Such a composite virtual world need not proxy interactions back to the base virtual worlds. Rather, in an alternate embodiment it could process interactions internally. The composite world embodiments created in this manner enable the rapid creation of new virtual worlds using objects, scripts, textures, etc. from other base virtual worlds.
Referring now toFIGS. 10A,B, there are shown the virtual world registration configuration1000and the virtual world registration process1050. The virtual world registration configuration1000can include the base virtual world1002, a registration virtual world layer1006, and a base virtual world view1004. In the preferred embodiment of the invention, the registration virtual world layer1006and the base virtual world view1004can be coupled directly to the base virtual world1002.
The registration virtual world layer1006can be used to make different virtual world software applications aware of each other and to enable them to add each other to their registration lists. In one preferred embodiment the registration list of a virtual world layer can include all of the users in its user community as well as any other virtual world layers it is coupled to, for example any base virtual worlds or any other virtual world layers it is coupled to. The registration list of a base virtual world can include all of the users in its user community as well as any virtual world layers it is coupled to. The registration process of the invention can be used when a new virtual world layer, such as a virtual world layer adding functionality or capability to a base virtual world, is about to be applied to the base virtual world. Under these circumstances a virtual world layer to be added can notify the base virtual world of it existence and that it is about to be applied. Additionally, it can notify the base virtual world what data, objects, etc. it can use or make available. The data, objects, etc. within the base that will be used by the virtual world layer can be referred to as the used data, used objects, etc. Furthermore, the virtual world layer must enable all of the layering operations previously described.
The virtual world registration configuration1000thus permits extending the functionality and capacity of existing virtual worlds such as the base virtual world1002while minimizing the impact and demand on the virtual world being extended. It enables the extension of the base virtual world1002through the implementation of one or more virtual world infrastructures that can register with the base virtual world1002and describe the objects and functions it can provide to the base virtual world server. The registered extensions can add functionality to the base virtual world1002through implementing the new functionality and managing objects and users that are not part of, or exposed to, the base virtual world1002, or the users of the base virtual world1002.
In many virtual world environments when the participants connect to an instance of a base virtual world such as the base virtual world1002they can all interact with the same objects, the objects of the base virtual world1002. The virtual world registration configuration1000permits differing user communities to register and have different interactions in the one base virtual world1002by way of the registration virtual world layer1006. Additional virtual world servers may also register with the base virtual world1002and provide functionality on top of that provided by the base virtual world1002in a similar manner. The registered world layers can be isolated and differentiated virtual worlds. They may support complementary communities and provide a solution to a number of problems afflicting the development and operation of virtual worlds. Furthermore, a system such as the virtual world registration configuration1000can permit segregation of the different user communities. Accordingly, the base virtual world1002does not require knowledge of the users of the other virtual worlds such as the virtual world1006.
In the virtual world registration configuration1000the infrastructure of the virtual world layer1006can thus leverage the infrastructure of the base virtual world1002, and require only enough capacity to support its own additional layer functionality and user community. Furthermore, the virtual world registration configuration1000can enable users of the virtual world layer1006to interact with users of the base virtual world1002while providing complete segregation between user communities.
The external virtual world registration provided in this manner by the virtual world registration configuration1000enables augmented functionality of an existing base virtual world such as the base virtual world1002without modification to the base virtual world1002itself. The registered layered virtual world can communicate with the base virtual world1002rather than directly with a client. This enables extension of the functionality of the base virtual world1002without modification to the infrastructure of the base virtual world1002. The virtual world layer1006does not necessarily add any additional virtual space to the base virtual world1002. However, it does add functionality and objects to those provided within the space of the base virtual world1002.
The virtual world registration configuration1000can thus permit the virtual world layer1006to register itself with the base virtual world1002. The registration process can inform the base virtual world1002of the objects, and functions the virtual world layer1006can provide and perform. When a client performs an action that requests functionality not provided by the base virtual world1002, the base virtual world1002can forward the request to the virtual world layer1006. The virtual world layer1006can process the request, and return the results to the base virtual world1002. The base virtual world1002can then forward the results to the requesting client. The registration process performed by the virtual world registration configuration1000may be embodiment dependant with multiple distinct methods for selecting and expanding functionality from the base virtual world1002to any number of registered layers.
A virtual world can be a complex system made up of computational hardware, data storage devices, data communications devices, executable software systems, and data. These systems may be decomposed into a client half and a server half. The client half can render a virtual world and enable users to interact with any number of objects. The server half can simulate interactions, maintain virtual world states, coordinate participants, persist data, communicate the state of the virtual world to clients, and provide any other virtual world functionality. The server infrastructure for layered virtual worlds operating according to the various embodiments can execute on server systems or other types of computer systems connected to a computer network, including computer networks coupled to the internet. The server infrastructure for operation of the virtual worlds can include the computers, storage and network equipment that provide the physical infrastructure to support the virtual worlds.
A preferred embodiment can include a system or method for encapsulating, transmitting, and installing any of the software components of a virtual world layer, also known as content. The content can be separate from the installing, maintaining and running of the virtual world server. A business model used by a company that creates virtual world content can be different from the business model used by a company that operates virtual world servers. It is therefore advantageous to enable such companies to operate independently and communicate through a standard. A layered virtual world package or bundle can provide this capability.
Thus, a registration virtual world1006can notify a base virtual world1002of its existence as shown in block1052of the virtual world registration process1050. The registration virtual world1006can also notify the base virtual world1002of its intention to overlay the base virtual world1002as shown in block1054. It can notify the base1002which objects, data, etc. it can use when the overlay is accomplished as shown in block1056. The functionality or functionalities of the base virtual worlds1002to be augmented by the layer1006can also be communicated to the base virtual world1002as shown in block1058. The base virtual world1002can add the virtual world layer1006to its list of users as shown in block1060. In a preferred embodiment the base virtual world1002and the virtual world layer1006can maintain segregated user lists as shown in block1062.
Referring now toFIG. 11, there is shown an embodiment of the virtual world layer package and method1100. The components of the virtual world layer package1100can be assembled as shown in block1110to create the package as shown in block1112. The package can be encapsulated as shown in block1114and, optionally, can be compressed as shown in block1116. The package can be uploaded as shown in block1118and transmitted to its operational environment where it can be unpacked as shown in block1120. The provisioning specification can be read and parsed as shown in block1122and the infrastructure of the operational environment can be provisioned accordingly as shown in block1124. The package can be installed and executed as shown in block1126.
Referring now toFIG. 12A, there is shown an alternate embodiment virtual world layer package1200. The virtual world layer package1200can be a collection of the executable software required for installing and operating a layered virtual world according to the present invention. It can include any type of middleware1202, virtual world data1204, automation software1206, and infrastructure specification that can be parts of, or useful for the operation of, a virtual world such as those including the virtual world layers26,36,46a-n,46a-m,56a,b,66a,b,76a,b,86,96,1006. For example, the virtual world layer package1200can also include any interpreters1208that may be required for interpreting any script1210that may be within it or at any other locations. It can also include any other objects1212or software useful or required for operation of a virtual world, such as any special operating systems1214, music1216, animation, sound effects, motion effect or visual effects1218, provisioning specification1220, and any other systems1222or objects.
The virtual world layer package1200can be encapsulated such that it can be copied and delivered from a virtual world content creator to a virtual world operator. A virtual world layer package1200can be a single object that is itself an aggregation of all of the objects relevant to a layered virtual world or a portion of the objects relevant to the layered virtual world. The virtual world layer package1200may utilize compression technologies to reduce its size, but this is not a requirement. In addition to the layered virtual world objects, the virtual world layer package1200may also contain an infrastructure provisioning specification1220, as well as installation automations.
The virtual world layer package1200is not required to define all objects within a virtual world. Some virtual world layer packages1200may define only the objects they are overriding within another virtual world on which it the package is to be deployed. The layer package may define the objects to override using references to the base world objects UUID or any other types of references known to those skilled in the art. It should be noted that virtual world layer packages1200may be chained, such that one virtual world layer package1200references another virtual world layer package1200and the base virtual world modifications are inherited through package references.
The provisioning specification of a virtual world layer package can include computing resources, operating system specifications, external middleware, external middleware configuration and networking configuration. Additionally, the provisioning specification may describe methods for user accounting support infrastructure. User and customer groups, rights and authorities are likewise specified in the provisioning package. In some embodiments, the specification may also describe external account authentication or authorization directories, such as LDAP, to use for authentication and authorization. Furthermore, in some embodiments a provisioning specification may specify a unique identifier for the layered virtual world and communication protocols including communication protocols that are different from the ones used by the base virtual world.
Referring now toFIG. 12B, there is shown an alternate embodiment of a virtual world encapsulation process1250for packaging and using a virtual world layer package. Once a layered virtual world package such as the virtual world layer package1100is created or partially created and encapsulated as shown in block1252, it can be compressed as shown in block1254. It can be transmitted to the infrastructure of an operator of a layered virtual world system as shown in block1256. The virtual world layer package1100can be used for transmitting virtual world objects when the objects are packaged and shipped to the user on media, initially downloaded, downloaded as needed or transmitted any other way.
A virtual world layer package1100can be encapsulated using any encapsulation technology known to those skilled in the art and agreed upon by, for example, a content creation company and a virtual world operating company. An operating company can receive and encapsulate the virtual world layer package1100and provide access to storage for the content to be uploaded. The virtual world layer package1100may be delivered from the content creator to the operator via any common and mutually agreed upon network communications protocols. The possible communications protocols for transmitting a virtual world layer package1100can include protocols such as the well known Internet Protocols and File Transfer Protocol, physical communications such as DVD transfer via courier, or any other protocol.
A transmitted virtual world layer package1100received by an operator infrastructure it can be received and unpacked as shown in block1258. Any method known to those skilled in the art can be used to extract the individual components from the transmitted layered virtual world package1100. Provisioning specification can then be performed as shown in1260. In this step the operator installation or other entity receiving a package can read the infrastructure provisioning specification and provision the appropriate computing, storage, operating system, middleware and network. The installation of the virtual world layer package1100on servers or other kinds of operational infrastructure can be performed as shown in block1262.
When the infrastructure is provisioned according to specification of the virtual world layer package1100, an installation automation can execute in any manner known to those skilled in the art as shown in block1264. The installation automation can distribute the layered virtual world objects and begin execution of middleware and software components required to operate the virtual world of the virtual world layer package1100. The installation automation can also create any user or customer account information that may be required. When the installation automation has completed its tasks, users can access the layered virtual world using the identifiers and protocols specified in the provisioning specification.
While the invention has been described in detail and with reference to specific examples thereof, it will be apparent to one skilled in the art that various changes and modifications can be made therein without departing from the spirit and scope thereof.
Claims
- A computer-implemented method comprising: providing a base virtual world having base virtual world functionality and having a list of base virtual world users;coupling a first virtual world layer to the base virtual world, the first virtual world layer having first virtual world layer functionality not provided by the base virtual world and having a list of first virtual world layer users;coupling a second virtual world layer to the first virtual world layer, the second virtual world layer having second virtual world layer functionality not provided by the first virtual world layer and not provided by the base virtual world layer and having a list of second virtual world layer users;coupling a third virtual world layer to the second virtual world layer, the third virtual world layer having third virtual world layer functionality not provided by the second virtual world layer, not provided by the first virtual world layer, and not provided by the base virtual world layer and having a list of third virtual world layer users;and providing access to at least a portion of each of the base virtual world functionality, the first virtual world layer functionality, the second virtual world layer functionality, and the third virtual world layer functionality via the third virtual world layer, wherein the first virtual world layer, the second virtual world layer, and the third virtual world layer are each registered as users of the base virtual world via the list of base virtual world users, wherein the base virtual world is added to a registration list of each of the first, second, and third virtual world layers.
- The method of claim 1 , further comprising: providing user access to any of the base virtual world, the first virtual world layer, the second virtual layer, and any combination thereof according to a user command.
- The method of claim 1 , further comprising: managing a state of a base virtual world object by the base virtual world to provide a base managed object;managing a state of a layer virtual world object by the first virtual world layer to provide a layer managed object;managing a state of the base managed object by the first virtual world layer to provide a further managed object;and providing user access to the layer managed object and to the further managed object by the first virtual world layer.
- The method of claim 3 , further comprising: providing user access to the base managed object by the first virtual world layer;and providing user access to the base managed object by the second virtual world layer.
- The method of claim 3 , wherein the further managed object is independent of any instantiation of the base virtual world object in the first virtual world layer.
- The method of claim 3 , wherein the layer managed object is independent of any instantiation of the layer virtual world object in the base virtual world.
- The method of claim 3 , wherein a further managed state of the further managed object comprises an object persistence.
- The method of claim 3 , wherein a further managed state of the further managed object comprises an object texture.
- The method of claim 1 , further comprising: managing a state of a base virtual world object by the base virtual world to provide a base managed object;and managing a state of a base managed object by the second virtual world layer.
- The method of claim 1 , further comprising: managing a second layer world virtual object by the second virtual world layer to provide a second layer managed object.
- The method of claim 10 , further comprising: providing user access to the second layer managed object by the second virtual world layer.
- The method of claim 1 , wherein a further user is coupled to the second virtual world layer and the first virtual world layer communicates with the further user using substantially the same communication protocol that the second virtual world layer uses to communicate with the further user.
- The method of claim 1 , wherein a further user is coupled to the second virtual world layer and the first virtual world layer communicates with the further user using a communication protocol that is substantially different from the communication protocol that the second virtual world layer uses to communicate with the further user.
- The method of claim 1 , wherein the base virtual world has a base virtual world object which is unalterable by the first virtual world layer.
- The method of claim 1 , wherein the base virtual world operates on base virtual world infrastructure, the first virtual world layer operates on first virtual world layer infrastructure, the second virtual world layer operates on second virtual world layer infrastructure, and the base virtual world infrastructure is separate from both the first virtual world layer infrastructure and the second virtual world layer infrastructure.
- The method of claim 1 , further comprising: segregating a user and a further user that are both coupled to the base virtual world for accessing the base world functionality.
- The method of claim 1 , further comprising: each of the first virtual world layer, the second virtual world layer, and the base virtual world managing its own list of users independently of each other.
Disclaimer: Data collected from the USPTO and may be malformed, incomplete, and/or otherwise inaccurate.