U.S. Pat. No. 9,398,115
Unified Location & Presence, Communication Across Real and Virtual Worlds
AssigneeAT&T Intellectual Property I, LP
Issue DateJanuary 17, 2014
Illustrative Figure
Abstract
A method and system for providing unified location and presence information of and intercommunication among a plurality of networked users is disclosed, where the users may be real world people or virtual world personae. Generally, after receiving data representative of both a first and second user's presence or location in the real or a virtual world over a communications network, the users are permitted to view each other's presence in a virtual network. The users are identified by endpoint addresses, and may intercommunicate using various types of media via the communications network.
Description
DETAILED DESCRIPTION OF THE DRAWINGS Embodiments of the disclosure will be described with reference to the accompanying drawing figures wherein like numbers represent like elements throughout. Before embodiments of the disclosure are explained in detail, it is to be understood that the disclosure is not limited in its application to the details of the examples set forth in the following description or illustrated in the figures. The disclosure is capable of other embodiments and of being practiced or carried out in a variety of applications and in various ways. Also, it is to be understood that the phraseology and terminology used herein is for the purpose of description and should not be regarded as limiting. The use of “including,” “comprising,” or “having” and variations thereof herein are meant to encompass the items listed thereafter and equivalents thereof as well as additional items. FIG. 1is a high level schematic of a first illustrative embodiment of a network100for implementing aspects of the present disclosure. Reference numeral102represents a first network access device (NAD), such as a traditional land-line telephone, i.e., Plain Old Telephone Service (POTS), or a mobile telephone or Personal Digital Assistant (PDA), i.e., Palm®, Blackberry®, or the like. These devices may utilize a Session Initiation Protocol (SIP) or other multimedia (MMS) signaling protocol commonly utilized for controlling multimedia communications sessions. A circuit or packet switched network104—such as a Telecom Service Provider/Network Operator network—includes an Application Server (AS)106and connects NAD102via SIP over a Broadband Internet Protocol (IP) connection, such as Digital Subscriber Line (DSL), Cable, Fiber Optic, copper, Wi-Fi or WiMax or any other method hereinbefore utilized or that may be developed hereinafter for network access. A Presence/Location (P/L) server108is configured with appropriate hardware, firmware and/or software to provide an “environment” where virtual and real worlds are comingled for networked users. In ...
DETAILED DESCRIPTION OF THE DRAWINGS
Embodiments of the disclosure will be described with reference to the accompanying drawing figures wherein like numbers represent like elements throughout. Before embodiments of the disclosure are explained in detail, it is to be understood that the disclosure is not limited in its application to the details of the examples set forth in the following description or illustrated in the figures. The disclosure is capable of other embodiments and of being practiced or carried out in a variety of applications and in various ways. Also, it is to be understood that the phraseology and terminology used herein is for the purpose of description and should not be regarded as limiting. The use of “including,” “comprising,” or “having” and variations thereof herein are meant to encompass the items listed thereafter and equivalents thereof as well as additional items.
FIG. 1is a high level schematic of a first illustrative embodiment of a network100for implementing aspects of the present disclosure. Reference numeral102represents a first network access device (NAD), such as a traditional land-line telephone, i.e., Plain Old Telephone Service (POTS), or a mobile telephone or Personal Digital Assistant (PDA), i.e., Palm®, Blackberry®, or the like. These devices may utilize a Session Initiation Protocol (SIP) or other multimedia (MMS) signaling protocol commonly utilized for controlling multimedia communications sessions. A circuit or packet switched network104—such as a Telecom Service Provider/Network Operator network—includes an Application Server (AS)106and connects NAD102via SIP over a Broadband Internet Protocol (IP) connection, such as Digital Subscriber Line (DSL), Cable, Fiber Optic, copper, Wi-Fi or WiMax or any other method hereinbefore utilized or that may be developed hereinafter for network access.
A Presence/Location (P/L) server108is configured with appropriate hardware, firmware and/or software to provide an “environment” where virtual and real worlds are comingled for networked users. In this regard server108is adapted to receive and process information from virtual and real-world software applications and end-points. Switching/access network104communicates with the P/L server108via the SIP or other protocol. Reference numeral110represents Virtual World (VW1) resources, which in an illustrative embodiment comprises a Gateway (GWa)112, Gateway (GWb)114and Virtual World (VW) Application116. VW application116may be further comprised of Presence and Location Software (P/LS)118and External Rendering Software (ERS)120. This application is advantageously adapted to confer functionality that (a) provides a networked user's presence/location to P/L server108corresponding to virtual participant(s), (b) supports communications with real networks and virtual world software program(s) and (c) supports communications with an internal virtual “persona” as an endpoint. Additionally, VW application116can be configured to facilitate session establishment (e.g., voice calls), addressing, and routing to real networks and virtual world software connecting real and virtual personae; including virtual-to-virtual connections. VW1 resources110couples to network104, P/L server108and a Wide Area Network (WAN)122via SIP/DSL, SIP and Internet Protocol/Gigabit Ethernet (IP/GigE), respectively. WAN122enables a plurality of NADs to connect to the system, such as a laptop computer characterized by reference numeral124.
The following is an implementation of the above-described exemplary embodiment. An avatar representation (e.g., “HeroGuy”) in virtual world 1 (VW1), for example Second Life, would like to advertise his presence and location information in the virtual world as “HeroGuy”, along with presence and location information in the real world as himself “Jack Doe”. Others, in real or virtual worlds, would be able to learn of the presence and location and even communicate with “HeroGuy” in VW1, or even join “HeroGuy” at his location in VW1.
More specifically and continuing with particular reference toFIG. 1, a “real world” network user—e.g., Jack Doe—has logged into VW1 via laptop124as HeroGuy@VW1.com and utilizes VW1 resources110. VW software116, in accordance with the “HeroGuy” user profile, instructs the system to place Presence/Location information for Jack Doe in P/L Server108as part of Jack Doe's overall presence/location information in the virtual world.
When another real world network user, e.g., “Mary” desires to contact Jack, for example, via a multimedia SIP connection from her NAD102, Mary initiates a multimedia ‘call’ using Jack's global address (e.g., 677-456-7890). Network104receives Mary's call request, which is handled by AS106that queries P/L server108to check Jack's “whereabouts.” The P/L server108then determines that Jack can be reached at HeroGuy@VW1.com. In this connection, Jack's user profile/screening criteria (as, say, stored in the AS106) permits Mary (Mary@att.com) to reach him at HeroGuy@VW1.com. Network104establishes a multimedia call to the called endpoint (VW1 resources/GWa)112. Through VW1 GWa112, VW software116detects an incoming call, specifically for HeroGuy@VW1.com and recognizes that it is a request for a multimedia call, so the ERS120can then execute to render an appropriate video+audio image to VW1 GWa112. HeroGuy's VW1 user profile may influence the video+audio image that is presented to Mary—e.g., it may be the sights and sounds of what HeroGuy is experiencing in VW1, or it might be a completely different audio/visual presentation that is only to be specifically provided to external callers. Likewise, ERS120can be configured to provide a multimedia presentation of Mary to HeroGuy in any desired and user-customized fashion.
It will appreciated by those skilled in the art that the users can communicate via different media in a conventional manner. In accordance with aspects of the disclosure, real world and virtual world users can intercommunicate over the communications network and into/out of virtual worlds, where real or virtual users are identified by addressing information and where addresses could be of the same sort for both real and virtual users—e.g., E.164 numbers, or sip addresses or http addresses, etc.
In accordance with an aspect of the disclosure, locations in virtual and real worlds may be merged within the system. For example, “Jack” may actually be located in New York City, as determined by, for example, his computer's IP address, or by data from the satellite Global Positioning System (GPS) associated with his network access device, or a separate device, or by mobile telephone locating technologies, or the like. Similarly, HeroGuy@VW1.com may actually be located in Chamber 3 of Level 9 of VW1. Thus, these users are enabled to view each other's respective location in the real and virtual worlds.
In alternative embodiments, virtual-virtual, virtual-real and real-real world communication scenarios are possible. For example, “WonderWoman” (Mary's virtual persona, not shown inFIG. 1), may wish to communicate with “HeroGuy” in a virtual-virtual world session. Similarly, “HeroGuy” may wish to communicate with “Mary” in a virtual-real world session, or “Jack” may wish to communicate with “Mary” in a conventional real-real session. Communications may be comprised of an exchange of voice, text, video, or other multimedia, and may include presence and/or location information, as permitted by user-specified profile permissions.
In another embodiment, P/L server108can be disposed within a specific network operator's domain, or it could be some federated system.
In yet another embodiment, a plurality of service networks may be employed as will be appreciated by those skilled in telecommunications. It is unnecessary for “Mary” and “Jack” to be customers of the same network.
In yet another embodiment, the address for the VW persona can be a POTS address served by VW1, instead of a SIP URL.
In yet another embodiment, contact permissions may be included with the Presence/Location function.
In yet another alternative embodiment, a virtual world persona can also ‘call out’ to a real person or to another persona in a different virtual world. A virtual persona could also have its presence/location information distinct from the real world user. For example, P/L Server108could list HeroGuy@VW1.com as a separate entry apart from JackDoe@att.com.
In addition, communications may encompass typical real world implementations, such as including but not limited to voice, video, MMS, short message service (SMS) texting, twittering, email, etc. Real and virtual world users may be conferenced together by existing conferencing capabilities in circuit or packet switched networks.
The following are definitions, descriptions, and clarifications (not limitations) of the present disclosure:
Virtual worlds—software-based alternative worlds (e.g. Second Life, Disney Toontown or the like), multi-player internet games, chat rooms, simulation environments, etc.—anything where a participant may have a virtual identity for which presence/location and/or communication is relevant.
Options for user-user communication—voice or video sessions, texting, email, RSS feeds, content sharing (still pictures, files, and so on), video-share, etc., as relevant for the capabilities of any particular virtual world as well as the real world. Communication may be point-to-point two-party, or conference multi-party, or broadcast multi-party or other configurations.
Opportunities for communication mode of presentation in a virtual world could be selected by the participant according to options supported within any given virtual world—; e.g. for voice call, it could simply come over audio, or could ring a phone in the virtual world; or a text message could be presented as text banner on the screen, or show up on a mobility device in the virtual world, or appear as (e.g.) skywriting or on a billboard; or video could show up on a TV screen in the virtual world or in a crystal ball there.
Sharing of information and opportunities to communicate may be made subject to user permissions and in accordance with network security protocols and policies as desired.
If a participant is to ‘join’ a virtual persona at its location in a virtual world—as another virtual persona, there may be an expedited way for that connection to take place, which can be made automated by virtue of the networked user simply joining the virtual world, thereby obviating the need to manually supply location coordinates.
Inter-virtual and real-virtual world communications do not necessarily require that the originating party belong as a member to the virtual world of the target virtual persona. Moreover, the communications aspect may include other known forums such as blogging, twitter, RSS feeds, and the like.
A presence/location server does not necessarily have to be a single monolithic piece of equipment. It may be distributed in nature. As one alternative, a given VW may keep its own presence/location information for its own virtual world personae, which may be queried by other presence/location servers, based on the address/identity of the entity whose presence/location information is being sought.
In another implementation, the presentation of the virtual persona can pair information to that of the real-world user associated therewith. In this manner, a user can request real world location information of the user who is manipulating the virtual persona in the virtual world. For example, a participant may be playing a character in a virtual world located in Florida, but he or she is actually located in Montana. A request through the system for the real-world location can generate a display of the same in the virtual world by pairing this information to that associated with the virtual persona.
The present disclosure may be implemented using hardware, firmware, software or any combination thereof, and may be implemented in one or more computer systems and/or other processing systems.FIG. 2is a schematic of an exemplary computer environment characterized by the reference numeral200that can be used as a network access device or a server to implement the functionality of the present disclosure. It will be appreciated by those skilled in the art that computer system200may operate as a server that is networked to other computers (network access devices) to operate as a client/server system, as known by those skilled in the art, or computer200may operate as a standalone system. Computer system200includes one or more processors, such as processor204. Processor204is connected to a communication infrastructure206(e.g., a communications bus, cross-over bar, or network). Computer system200can include a display interface202(e.g. a graphics card) that allows graphics, text, and other data from the communication infrastructure206(or from a frame buffer not shown) to be displayed on a display unit230. Computer system200also includes a main memory208, preferably random access memory (RAM), and may also include a secondary memory210. The secondary memory210may include, for example, a hard disk drive212and/or a removable storage drive214. The removable storage drive214has read/write functionality onto removable storage media218having stored therein computer software and/or data. In alternative embodiments, secondary memory210may include other similar devices for allowing computer programs or other instructions to be loaded into computer system200. Such devices may include, for example, a removable storage unit222and an interface220. Examples of such may include a program cartridge and cartridge interface (such as that found in video game devices), a removable memory chip (such as an erasable programmable read only memory (EPROM), or programmable read only memory (PROM)) and associated socket, and other removable storage units222and interfaces220, which allow software and data to be transferred from the removable storage unit222to computer system200. Computer system200may also include a communications interface224allowing software and data to be transferred between computer system200and external devices. Examples of communications interface224may include a modem, a network interface (such as an Ethernet card), a communications port, a Personal Computer Memory Card International Association (PCMCIA) slot and card, etc. Software and data transferred via communications interface224are in the form of signals (not shown), which may be electronic, electromagnetic, optical or other signals capable of being received by communications interface224. These signals are provided to communications interface224via a communications path (e.g., channel)226. This path226carries the signals and may be implemented using wire or cable, fiber optics, a telephone line, a cellular link, a radio frequency (RF) link and/or other communications channels. Computer programs (also referred to as computer control logic) are stored in main memory208and/or secondary memory210. Computer programs may also be received via communications interface224. Computer programs, when executed, enable the computer system200to perform the features of the present disclosure, as discussed herein. Accordingly, such computer programs represent controllers of the computer system200. In an embodiment where the disclosure is implemented using software, the software may be stored in a computer program product and loaded into computer system200using removable storage drive214, hard drive212, or communications interface224. The control logic (software), when executed by the processor204, causes the processor204to perform the functions of the disclosure as described herein. In another embodiment, the disclosure is implemented primarily in hardware using, for example, hardware components, such as application specific integrated circuits (ASICs) Implementation of the hardware state machine so as to perform the functions described herein will be apparent to persons skilled in the relevant art(s). In one exemplary embodiment, the system for the present disclosure may be implemented, for example, as a Microsoft.net® desktop application program (Microsoft.net® is made by Microsoft® Corporation of Redmond, Wash.), which may reside on a computer hard drive, database or other repository of data, or be uploaded from the Internet or other network (e.g., from a PC, minicomputer, mainframe computer, microcomputer, telephone device, PDA, or other network access device having a processor and input and/or output capability). Any available software tool capable of implementing the concepts described herein may be used to implement the system and method of the present disclosure. The method and system of the present disclosure may also be implemented as an application-specific add-on to a program, or as a standalone application.
The above-described methods may be implemented by program modules that are executed by a computer, as described above. Generally, program modules include routines, objects, components, data structures and the like that perform particular tasks or implement particular abstract data types. The term “program” as used herein may connote a single program module or multiple program modules acting in concert. The disclosure may be implemented on a variety of types of computers, including personal computers (PCs), hand-held devices, multi-processor systems, microprocessor-based programmable consumer electronics, network PCs, minicomputers, mainframe computers and the like. The disclosure may also be employed in distributed computing environments, where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, modules may be located in both local and remote memory storage devices.
An exemplary processing module for implementing the methodology above may be hardwired or stored in a separate memory that is read into a main memory of a processor or a plurality of processors from a computer readable medium such as a ROM or other type of hard magnetic drive, optical storage, tape or flash memory. In the case of a program stored in a memory media, execution of sequences of instructions in the module causes the processor to perform the process steps described herein. The embodiments of the present disclosure are not limited to any specific combination of hardware and software and the computer program code required to implement the foregoing can be developed by a person of ordinary skill in the art.
The term “computer-readable medium” as employed herein refers to any machine encoded medium that provides or participates in providing instructions to the processor. Such a medium includes but is not limited to non-volatile media, volatile media and transmission media. For example, non-volatile media can include optical or magnetic memory disks. Volatile media include dynamic random access memory (DRAM), which typically constitutes the main memory. Common expedients of computer-readable media are well-known in the art and need not be described in detail here.
The foregoing detailed description is to be understood as being in every respect illustrative and exemplary, but not restrictive, and the scope of the disclosure disclosed herein is not to be determined from the description of the disclosure, but rather from the claims as interpreted according to the full breadth permitted by the patent laws. It is to be understood that the embodiments shown and described herein are only illustrative of the principles of the present disclosure and that various modifications may be implemented by those skilled in the art without departing from the scope and spirit of the disclosure.
Claims
- A method comprising: receiving first location data associated with a first location of a first communication device over a communications network at a server;receiving second location data associated with a second location of a second communication device over the communications network at the server;receiving first virtual location data associated with a first user of the first communication device over the communications network at the server, wherein the first virtual location data represents a first position of a first avatar in a virtual world generated by computer instructions;receiving second virtual location data associated with a second user of the second communication device over the communications network at the server, wherein the second virtual location data represents a second position of a second avatar in the virtual world generated by the computer instructions;adjusting a multimedia session between the first communication device and the second communication device to simulate sounds and graphics experienced by the first avatar in the virtual world for presentation at the second communication device;and publishing to the virtual world the first and second locations and the first and second positions, wherein the publishing to the virtual world comprises enabling other users having other avatars in the virtual world to be presented with the first and second locations and the first and second positions.
- The method of claim 1 , wherein the first avatar represents the first user and the second avatar represents the second user.
- The method of claim 1 , wherein the first user is provided with the second location of the second communication device and the second position of the second avatar via the first avatar, and wherein the second user is provided with the first location of the first communication device and the first position of the first avatar via the second avatar.
- The method of claim 1 , further comprising: providing voice communication between the first and second communication devices;and graphically representing the voice communication between the first and second communication devices in the virtual world.
- The method of claim 1 , wherein the publishing to the virtual world is performed using text appearing in the virtual world.
- The method of claim 1 , wherein the first and second location data comprises global positioning system data.
- The method of claim 1 , comprising: receiving first presence information associated with the first user over the communications network at the server;and receiving second presence information associated with the second user over the communications network at the server.
- A server comprising: a memory medium;and a processor for executing machine executable instructions encoded in the memory medium which, when executed by the processor, cause the processor to perform operations comprising: receiving first location data associated with a first location of a first communication device;receiving second location data associated with a second location of a second communication device;determining a first position of a first avatar in a virtual world, wherein the virtual world is generated by computer instructions;determining a second position of a second avatar in the virtual world;adjusting a multimedia session between the first communication device and the second communication device to simulate sounds and graphics experienced by the first avatar in the virtual world for presentation at the second communication device;and publishing to the virtual world the first location of the first communication device and the first position of the first avatar.
- The server of claim 8 , wherein the first avatar represents a first user of the first communication device, and wherein the second avatar represents a second user of the second communication device.
- The server of claim 9 , wherein the operations further comprise: providing the first user with the second location of the second communication device and the second position of the second avatar via the first avatar;and providing the second user with the first location of the first communication device and the first position of the first avatar via the second avatar.
- The server of claim 9 , wherein the operations further comprise: receiving first presence information associated with the first user;and receiving second presence information associated with the second user.
- The server of claim 11 , wherein the first and second users communicate over a communications network utilizing user devices determined from the first and second presence information.
- The server of claim 8 , wherein the publishing to the virtual world comprises enabling other users having other avatars in the virtual world to be presented with the first location of the first communication device and the first position of the first avatar.
- The server of claim 8 , wherein the publishing to the virtual world is performed using text appearing in the virtual world.
- The server of claim 8 , wherein the first and second location data comprise global positioning system data.
- A non-transitory computer-readable storage medium comprising computer instructions which when executed by a processor cause the processor to perform operations comprising: receiving voice communication data from a first communication device associated with a first user;generating an avatar in a virtual world for presentation at a second communication device associated with a second user, wherein the virtual world is generated by computer instructions;and presenting the voice communication data in the virtual world to the avatar, wherein the voice communication data is presented by way of at least one of text and an audible message;obtaining virtual communication data from the second user utilizing the second communication device, wherein the voice communication data is obtained via interaction between the second user and the avatar;providing the virtual communication data to the first communication device;adjusting a multimedia session between the first communication device and the second communication device to simulate sounds and graphics experienced by the avatar in the virtual world for presentation at the second communication device;and publishing to the virtual world a location of the first communication device and a position of the avatar.
- The non-transitory computer-readable storage medium of claim 16 , wherein the avatar represents the second user.
- The non-transitory computer-readable storage medium of claim 16 , wherein the operations further comprise presenting at the second communication device the location of the first communication device via the avatar.
- The non-transitory computer-readable storage medium of claim 16 , wherein the publishing to the virtual world comprises enabling other users having other avatars in the virtual world to be presented with the location of the first communication device and the position of the avatar.
- The non-transitory computer-readable storage medium of claim 16 , wherein the publishing to the virtual world is performed using text appearing in the virtual world.
Disclaimer: Data collected from the USPTO and may be malformed, incomplete, and/or otherwise inaccurate.