U.S. Pat. No. 9,310,961
VIRTUAL WORLD TELEPORTATION
AssigneeInternational Business Machines Corporation
Issue DateSeptember 25, 2013
Illustrative Figure
Abstract
The present invention is directed to teleporting avatars between disparate virtual worlds. A system is disclosed that includes a facility for creating a persona profile for an avatar in a first virtual world when the avatar wants to be teleported out of the first virtual world; a facility for transferring persona profiles to and from a disparate virtual world; and a facility for instantiating an inbound avatar based on a received persona profile. Persona profiles may include, e.g., rendering information, trait information, and inventory information.
Description
The drawings are merely schematic representations, not intended to portray specific parameters of the invention. The drawings are intended to depict only typical embodiments of the invention, and therefore should not be considered as limiting the scope of the invention. In the drawings, like numbering represents like elements. DETAILED DESCRIPTION OF THE INVENTION As noted, the present invention provides a platform for allowing avatars to teleport between disparate virtual worlds. More specifically, utilizing the teleportation platform, an avatar can be automatically disabled at a first virtual world and instantiated at a destination virtual world. From the user's perspective, this alleviates the need to log in and out of disparate virtual worlds to exploit different experiences. In addition, it allows the user to maintain characteristics and information held by the avatar in different virtual worlds. As described in further detail herein, the teleportation platform utilizes persona profiles to describe avatars to each virtual world using (i.e., participating in) the teleportation platform. Upon request, the teleportation platform collects and packages details (i.e., a persona profile) of the avatar at a current virtual world, and then transfers those details to a destination virtual world when a request for teleportation is received. From the user's prospective, there is little inconvenience, as the user's client is merely redirected to a new server. Each participating world includes a teleportation system, described below, to facilitate teleportation. Thus, at any point in time, a unique avatar may be rendered in any participating virtual world. The persona profile may include any relevant attributes, such as appearance, inventory, personality, past conversations and user preferences. It may also include other code segments that accompany the avatar, such as an MP3 music player or advanced rendering software which can be used to automatically determine the best location for the avatar to be ...
The drawings are merely schematic representations, not intended to portray specific parameters of the invention. The drawings are intended to depict only typical embodiments of the invention, and therefore should not be considered as limiting the scope of the invention. In the drawings, like numbering represents like elements.
DETAILED DESCRIPTION OF THE INVENTION
As noted, the present invention provides a platform for allowing avatars to teleport between disparate virtual worlds. More specifically, utilizing the teleportation platform, an avatar can be automatically disabled at a first virtual world and instantiated at a destination virtual world. From the user's perspective, this alleviates the need to log in and out of disparate virtual worlds to exploit different experiences. In addition, it allows the user to maintain characteristics and information held by the avatar in different virtual worlds.
As described in further detail herein, the teleportation platform utilizes persona profiles to describe avatars to each virtual world using (i.e., participating in) the teleportation platform. Upon request, the teleportation platform collects and packages details (i.e., a persona profile) of the avatar at a current virtual world, and then transfers those details to a destination virtual world when a request for teleportation is received. From the user's prospective, there is little inconvenience, as the user's client is merely redirected to a new server. Each participating world includes a teleportation system, described below, to facilitate teleportation. Thus, at any point in time, a unique avatar may be rendered in any participating virtual world.
The persona profile may include any relevant attributes, such as appearance, inventory, personality, past conversations and user preferences. It may also include other code segments that accompany the avatar, such as an MP3 music player or advanced rendering software which can be used to automatically determine the best location for the avatar to be transitioned or teleported to.
FIG. 1depicts an illustrative embodiment of a teleportation platform11. In this example, two participating but disparate virtual worlds, current virtual world14and destination virtual world16, are shown. In this example, a user10, via client computer12, has instantiated avatar A in current virtual world14. When user10wants to have avatar A teleported to destination virtual world16, the user10submits a request for teleportation from within the current virtual world14. Avatar A's persona profile is created/updated at the current virtual world14(e.g., in local database22), and is loaded to a shared remote database (RDB)18, where it is stored with other persona profiles20. Destination virtual world16is notified of an inbound avatar. Assuming the inbound avatar is to be let in, the associated persona profile is loaded from shared RDB18and loaded into local database24. Destination virtual world16then uses the persona profile to instantiate avatar A. Once the avatar is instantiated in destination virtual world16, control of the client computer12is passed from current virtual world14to destination virtual world16.
FIG. 2depicts an alternative embodiment of a teleportation platform in which the persona profile26of avatar A is packaged and sent directly to destination virtual world16from current virtual world14. In either case, the persona profile26may be implemented using a universal data construct, such as an XML file, for holding a collection of information about the avatar. When the user10, through his/her avatar A, requests a transfer or ‘teleport’ to another virtual world, the avatar is essentially frozen in time in the current virtual world14while the avatar's persona profile is created/updated. Illustrative data that makes up a persona profile may for example include:
(A) Rendering information of the avatar, which may comprise: physical format (human, animal, free-form, etc.); physical characteristics; visual characteristics (hair color, eye color, clothing, etc.); personality attributes (gestures, movements, voice, etc.); dimensional size within the virtual world; current capabilities; and unique identifier data.
A unique identifier (UID), analogous to a person's social security number, is embedded into each persona such that two persons with the same number could not be created. This UID is then used to ensure that the avatar can move between virtual world providers whilst rendering based on the same persona profile.
(B) Past behaviors and traits, which may include demonstrated traits and other actions that can be used to determine the tendencies of the avatar. This information is included in the persona profile to determine the current ‘personal tendencies’ of the avatar. For example, if the avatar chats with other avatars on a regular basis, this information should be stored such that the avatar may be categorized as “friendly” or “talkative”.
(C) Virtual World Civil and Criminal Record Violations and civil offenses, such as criminal offenses, citations, warnings, virtual jail time, ejections from virtual worlds or virtual world regions. Any information that relates to unsocial behaviors could also be stored in the profile. Similar to a driving record list of citations, this information would be used when evaluating whether the avatar should be authorized to transfer to or be accepted into another virtual world.
(D) Current and past Inventory, namely items carried and any associated valuables (e.g., a designer suit worth 100 points). Other information may include items once carried and discarded, currency and other items of trade (e.g., money, coupons, and other tradable items), special abilities and any associated values (e.g., can fly at warp speed worth 25 points). Any information that pertains to current inventory of the avatar including past items carried would be stored in the persona profile. Again, this information can be used to evaluate whether the avatar should be authorized to be transferred. As an example, an avatar may have a special ability of invisibility in the current virtual world, but upon attempting to transfer to a differing virtual world which does not allow invisible residents, the avatar would have to sacrifice this ability or be denied entry.
(E) Audit trail information, such as past locations visited, past conversations (e.g., keywords of interest), time on-line, interaction with other avatars or virtual world objects, other data usable for pattern recognition (e.g., Avatar A generally enters, goes to the virtual cafe, then teleports with a friend to another location).
Each of these pieces of information is parsed, formatted, and stored in a defined data construct that can be easily communicated and interpreted by each participating virtual world. Some of the persona profile information may be easily determined, e.g., current inventory, while other pieces of information may need to be collected and compiled on a periodic basis, such as behavioral traits. In the embodiment ofFIG. 1, data is stored and accessed using a shared relational database (RDB)18, in which persona profile data may be stored and extracted by participating virtual worlds using existing tools such as SQL. Another implementation may involve using a series of data objects or files, separated by object type (e.g., items A through E described above) combined into a single file. Yet another embodiment may utilize a binary data table populated using a code or key that defines the persona of the avatar.
The persona profile can be stored locally within the virtual world provider environment currently rendering the avatar, remotely or both. In order to prevent large amounts of processing to recreate persona profile data each time a transfer or ‘teleport’ is requested, the persona profile can be updated incrementally. RDB technology can be used to determine which fields of the persona profile have changed and when the change occurred. The determination could be used to update the destination virtual world16only with data that has changed since the avatar's last visit. Other techniques may be based on a time delay, or asynchronously when an avatar requests teleportation, up-to-date information would be incorporated into the profile. Persona profile data may be stored on nonvolatile storage such as a disk, CD, DVD, or other such devices.
During a request to teleport from one world to another (assuming that the persona profile has been created and is up-to-date), the data must be packaged, transferred and unpacked on the destination system. In an illustrative embodiment, this data can be accessed via a SQL request to a shared RDB18. It is also feasible that the transfer could be achieved via other techniques such as an FTP transfer or using TCP/IP sockets. The same algorithm used to create the persona profile (RDB records, tar, XML, ZIP, RAR, etc.) may be used to access and/or unpack the persona profile on the destination virtual world16. Once the persona profile has been transferred to the destination virtual world16and unpacked, it is used to recreate the avatar A. Using the UID stored in the persona profile, various checks may be made by the destination virtual world16, e.g., whether the avatar has already been rendered, whether the avatar should be allowed in, etc. In certain cases, the transfer would be denied.
Information in the persona profile may also be used to automatically select the ‘ideal’ region in the destination virtual world16to locate the incoming avatar A. Namely, predetermined information can be processed that can be used to specifically render the avatar in a region that is the most likely place the avatar would like to be. This intelligence can be built into the teleportation platform11such that the region within the destination virtual world16need not be specified.
Consider the following example of a persona profile with the following components:
Name: Chris Rolls
Age: 42
User Interests: Software Products
Habits: Chris likes to walk around rather than fly
Past Conversations: Chris has chatted mainly to IT specialists and Architects but has not chatted with other avatars on non-IT details
Likes: Flat regions where avatar can walk around. Likes other avatars with same interests to be near
Dislikes: Very crowded areas, loud music or other distractions, shopping.
Chris Rolls now wishes to teleport to a new virtual world provider because he has determined that there are a large number of avatars with interests in software products. In this case, Chris wants to teleport to the new virtual world provider but does not specify a specific region (either because the avatar does not know of the region, or because he would like to be automatically placed in the ‘best’ region based on his persona profile). The system controlling the destination virtual world16receives the persona profile information and analyzes the information to determine the best region to render the avatar in. The system determines that there is a region that is currently rendering many IT specialists and therefore chooses this region. Chris is therefore transferred to the selected region in the new virtual world provider.
A feature of transportation platform11includes a checking system that can scan the persona profile for information that may be necessary to allow or deny a transfer to another virtual world region. For example, modifications (e.g., indicative of a virus) to the persona profile can be checked, much the same way that a file is checked for viruses before it is sent via e-mail. Compatibility and compliance requirements can likewise be checked. For instance, rendering information, such as specific textures of clothes, which do not exist in the destination virtual world16, must be identified and dealt with. Anything that could generate errors or otherwise negatively impact the destination virtual world16provider can likewise be checked.
FIG. 3depicts a computer system30containing program code or the like for implementing a virtual world38that can accessed by users54. Virtual world38is generally instantiated by a service provider via one or more servers, and includes facilities for allowing users54to create and manipulate avatars as discussed above. Virtual world38includes a teleporting system40for teleporting outbound avatars to destination virtual worlds (e.g., provided by other providers on other computer systems), and for receiving inbound avatars being transported from different virtual worlds. Teleporting system40includes a persona profile management system42for creating and updating persona profiles58; a data transfer system46for transmitting and receiving persona profiles to and from other virtual worlds; an avatar instantiation system48for creating inbound avatars when virtual world38acts as a destination; and an avatar locating system52for determining where to locate the inbound avatar in the virtual world38.
As noted above, teleportation is implemented among participating disparate virtual worlds with use of persona profiles58that essentially describe all of the attributes of the avatar. A persona profile58is implemented using a predefined data construct44(i.e., format or schema) that is either universal to each of the participating virtual worlds, or can be readily interpreted or converted into a universal format. The persona profile58for an avatar can either be created on demand when a request for teleportation56is received from a user, or the persona profile58can be updated and maintained in a local or shared database.
Data transfer system46is responsible for transmitting and receiving persona profiles58to and from other virtual worlds. As noted above, this can be done in any manner. For instance, persona profiles58can be loaded and stored on a shared relational database that can be accessed by participating virtual worlds, be loaded directly between virtual worlds, etc. In the event that data construct44is implemented in a proprietary format, data transfer system46may also include an interface that, e.g., converts between the proprietary format and a shared format, or directly between proprietary formats of disparate virtual worlds.
Avatar instantiation system48is responsible for creating new avatars based on received persona profiles when avatars are teleported into the virtual world38. Avatar instantiation system48is also responsible for disabling avatars when an avatar teleports out of virtual world38. As part of the process, a checking system50is provided that determines whether an avatar is allowed to teleport into and/or out of virtual world38. Checking system50can examine any criteria for making such a determination, and may also check for other things, such as viruses, compatibilities, errors, etc.
Avatar locating system52determines where to locate an inbound avatar. In particular, avatar locating system52can look at any criteria, e.g., information in the persona profile58, specific requests, etc., to determine a region in virtual world38in which to instantiate the avatar.
Computer system30is shown as including a processing unit32, a memory36, at least one input/output (I/O) interface34, and a bus37. Further, the computer system30may also include other facilities such as external devices and storage systems. In general, the processing unit32executes computer program code, such as virtual world40, that is stored in memory36. While executing computer program code, the processing unit32can read and/or write data from/to the memory36, a storage system, and/or I/O interface(s)34. Bus37provides a communication link between each of the components in the computer system30. The external device(s) can comprise any device (e.g., display) that enables a user to interact with the computer system30or any device that enables the computer system30to communicate with one or more other computer systems.
The computer system30can comprise any general purpose computing article of manufacture capable of executing computer program code installed thereon (e.g., a personal computer, server, handheld device, etc.). However, it is understood that the computer system30is only representative of various possible computer systems that may perform the various processes of the invention. To this extent, in other embodiments, the computer system30can comprise any specific purpose computing article of manufacture comprising hardware and/or computer program code for performing specific functions, any computing article of manufacture that comprises a combination of specific purpose and general purpose hardware/software, or the like. In each case, the program code and hardware can be created using standard programming and engineering techniques, respectively.
Similarly, the virtual world platforms shown inFIGS. 1 and 2are only illustrative of various types of platforms that can be used to implement the present invention. For example, in an embodiment, the computer platform11can comprise two or more computer systems (e.g., a server cluster) that communicate over any type of wired and/or wireless communications link, such as a network, a shared memory, or the like, to perform the various processes of the invention. When the communications link comprises a network, the network can comprise any combination of one or more types of networks (e.g., the Internet, a wide area network, a local area network, a virtual private network, etc.). Regardless, communications between the computer systems may utilize any combination of various types of transmission techniques.
It is understood that the various systems can be implemented independently, combined, and/or stored in memory for one or more separate computer systems that communicate over a network. Further, it is understood that some of the systems and/or functionality may not be implemented, or additional systems and/or functionality may be included as part of the invention.
It is understood that the invention further provides various alternative embodiments. For example, in an embodiment, the invention provides a computer-readable medium that includes computer program code to enable a computer infrastructure to carry out and/or implement the various processes of the present invention. It is understood that the term “computer-readable medium” comprises one or more of any type of physical embodiment of the program code. In particular, the computer-readable medium can comprise program code embodied on one or more portable storage articles of manufacture (e.g., a compact disc, a magnetic disk, a tape, etc.), on one or more data storage portions of a computer system, such as the memory36and/or a storage system (e.g., a fixed disk, a read-only memory, a random access memory, a cache memory, etc.), and/or as a data signal traveling over a network (e.g., during a wired/wireless electronic distribution of the program code).
In another embodiment, the invention provides a business method that performs the processes of the invention on a subscription, advertising, and/or fee basis. A service provider can create, maintain, support, etc., a computer system30that performs the processes of the invention for one or more customers. In return, the service provider can receive payment from the customer(s) under a subscription and/or fee agreement and/or the service provider can receive payment from the sale of advertising space to one or more third parties.
In still another embodiment, a virtual world can be obtained (e.g., created, maintained, having made available to, etc.) and one or more systems for performing the processes of the invention can be obtained (e.g., created, purchased, used, modified, etc.) and deployed within a teleporting platform11. To this extent, the deployment of each system can comprise one or more of (1) installing program code on a computer system, such as the computer system30(FIG. 3), from a computer-readable medium; (2) adding one or more computer systems to the computer infrastructure; and (3) incorporating and/or modifying one or more existing systems of the computer infrastructure, to enable the computer infrastructure to perform the processes of the invention.
As used herein, it is understood that the terms “program code” and “computer program code” are synonymous and mean any expression, in any language, code or notation, of a set of instructions intended to cause a computer system having an information processing capability to perform a particular function either directly or after either or both of the following: (a) conversion to another language, code or notation; and (b) reproduction in a different material form. The program code can be embodied as one or more types of program products, such as an application/software program, component software/a library of functions, an operating system, a basic I/O system/driver for a particular computing and/or I/O device, and the like.
The foregoing description of the preferred embodiments of this invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed, and obviously, many modifications and variations are possible.
Claims
- A teleportation system for teleporting avatars between disparate virtual worlds, comprising: at least one processing unit;a memory associated with the at least one processing unit;and a teleportation system storable in memory and executable by the at least one processing unit, the teleportation system comprising: a system for creating a persona profile for an avatar in a first virtual world;a system for transferring persona profiles to and from a disparate virtual world;a system for instantiating an inbound avatar in the first virtual world from the disparate virtual world based on a received persona profile of the inbound avatar, wherein the received persona profile of the inbound avatar remains unchanged from a persona profile of an associated avatar in the disparate virtual world, and for disabling the associated avatar in the disparate virtual world;a system for analyzing information in the received persona profile of the inbound avatar and automatically selecting a region in the first virtual world to locate the inbound avatar based on the analyzed information in the received persona profile of the inbound avatar;and a checking system for granting or denying the inbound avatar access to the first virtual world.
- The teleportation system of claim 1 , further comprising a system for receiving a request for teleportation.
- The teleportation system of claim 1 , wherein the system for transferring includes loading and unloading persona profiles from a remote shared database.
- The teleportation system of claim 1 , wherein the system for transferring sends and receives persona profiles directly to and from the disparate virtual worlds.
- The teleportation system of claim 1 , further comprising an avatar locating system that selectively locates the inbound avatar in a region of the first virtual world.
- The teleportation system of claim 1 , wherein persona profiles are stored in a data construct common to all participating virtual worlds.
- The teleportation system of claim 1 , wherein persona profiles include rendering information, trait information, and inventory information.
Disclaimer: Data collected from the USPTO and may be malformed, incomplete, and/or otherwise inaccurate.