Search Images Maps Play YouTube News Gmail Drive More »
Advanced Patent Search | Web History | Sign in

Patents

The present invention provides a highly scalable architecture for a three-dimensional graphical, multi-user, interactive virtual world system. In a preferred embodiment a plurality of users interact in the three-dimensional, computer-generated graphical space where each user executes a client process to view a virtual world from the perspective of that user. The virtual world shows avatars representing the other users who are neighbors of the user viewing the virtual word. In order that the view can be updated to reflect the motion of the remote user's avatars, motion, information is transmitted to a central server process which provides positions updates to client processes for neighbors of the user at that client process. The client process also uses an environment database to determine which background objects to render as well as to limit the movement of the user's avatar.

InventorsDave Leahy, Judith Challinger, B. Thomas Adler, S. J. Ardron
Original AssigneeWorlds. Com Inc.
Primary Examiner: Cao (Kevin) Nguyen
Attorney: Neil G. Cohen
Current U.S. Classification715/706; 715/734; 715/854

View patent at USPTO
Search USPTO Assignment Database

Citations

Cited PatentFiling dateIssue dateOriginal AssigneeTitle
US5195086Apr 12, 1990Mar 16, 1993AT&T Bell LaboratoriesMultiple call control method in a multimedia conferencing system
US5206934Aug 15, 1989Apr 27, 1993Group Technologies, Inc.Method and apparatus for interactive computer conferencing
US5347306Dec 17, 1993Sep 13, 1994Mitsubishi Electric Research Laboratories, Inc.Animated electronic meeting place
US5388196Sep 7, 1990Feb 7, 1995Xerox CorporationHierarchical shared books with database
US5491743May 24, 1994Feb 13, 1996International Business Machines CorporationVirtual conference system and terminal apparatus therefor
US5572248Sep 19, 1994Nov 5, 1996Teleport CorporationTeleconferencing method and system for providing face-to-face, non-animated teleconference environment
US5596426Jun 7, 1995Jan 21, 1997Canon Kabushiki KaishaImage processing method and apparatus
US5659691Sep 23, 1993Aug 19, 1997Virtual Universe CorporationVirtual reality network with selective distribution and updating of data to reduce bandwidth requirements
US5736982Aug 1, 1995Apr 7, 1998Nippon Telegraph and Telephone CorporationVirtual space apparatus with avatars and speech
US5827120Jul 8, 1996Oct 27, 1998Fujitsu LimitedNetwork game system having communication characters for conversation changing into action characters for action gaming
US5829041Sep 14, 1995Oct 27, 1998Kabushiki Kaisha ToshibaMethod and apparatus for managing single virtual space suitable for distributed processing
US5841980May 15, 1996Nov 24, 1998RTime, Inc.Distributed system for communication networks in multi-user applications
US6042477Dec 12, 1996Mar 28, 2000Method of and system for minimizing the effects of time latency in multiplayer electronic games played on interconnected computers
US6229533Aug 2, 1996May 8, 2001Fujitsu LimitedGhost object for a virtual world
USRE36574Feb 9, 1998Feb 15, 2000Video game

Referenced by

Citing PatentFiling dateIssue dateOriginal AssigneeTitle
US7465212Dec 30, 2004Dec 16, 2008GanzSystem and method for toy adoption and marketing
US7468729Dec 21, 2004Dec 23, 2008AOL LLC, a Delaware Limited Liability CompanyUsing an avatar to generate user profile information
US7484176Dec 30, 2003Jan 27, 2009AOL LLC, a Delaware Limited Liability CompanyReactive avatars
US7503006Sep 25, 2003Mar 10, 2009Microsoft CorporationVisual indication of current voice speaker
US7534157Dec 30, 2004May 19, 2009GanzSystem and method for toy adoption and marketing
US7568964Oct 14, 2008Aug 4, 2009GanzSystem and method for toy adoption and marketing
US7604525Jan 22, 2009Oct 20, 2009GanzSystem and method for toy adoption and marketing
US7636755Dec 30, 2003Dec 22, 2009AOL LLCMultiple avatar personalities
US7677948Dec 30, 2004Mar 16, 2010GanzSystem and method for toy adoption and marketing
US7789726Oct 31, 2007Sep 7, 2010GanzSystem and method for toy adoption and marketing
US7846004Oct 2, 2007Dec 7, 2010GanzSystem and method for toy adoption marketing
US7862428Jul 2, 2004Jan 4, 2011GanzInteractive action figures for gaming systems
US7908554Dec 29, 2004Mar 15, 2011AOL Inc.Modifying avatar behavior based on user action or mood
US7913176Dec 21, 2004Mar 22, 2011AOL Inc.Applying access controls to communications with avatars
US7967657Nov 5, 2008Jun 28, 2011GanzSystem and method for toy adoption and marketing
US8000328May 22, 2007Aug 16, 2011Qurio Holdings, Inc.Filtering messages in a distributed virtual world based on virtual space properties
US8002605Jan 27, 2009Aug 23, 2011GanzSystem and method for toy adoption and marketing
US8116323Apr 12, 2007Feb 14, 2012Qurio Holdings, Inc.Methods for providing peer negotiation in a distributed virtual environment and related systems and computer program products
US8126985Dec 31, 2008Feb 28, 2012Qurio Holdings, Inc.Prioritizing virtual object downloads in a distributed virtual environment
US8128500Jul 14, 2008Mar 6, 2012GanzSystem and method for generating a virtual environment for land-based and underwater virtual characters
US8135018Mar 29, 2007Mar 13, 2012Qurio Holdings, Inc.Message propagation in a distributed virtual world
US8144633Sep 22, 2009Mar 27, 2012Avaya Inc.Method and system for controlling audio in a collaboration environment
US8161398May 8, 2009Apr 17, 2012International Business Machines CorporationAssistive group setting management in a virtual world
US8191001Apr 3, 2009May 29, 2012Social Communications CompanyShared virtual area communication environment based apparatus and methods
US8205158Dec 5, 2007Jun 19, 2012GanzFeature codes and bonuses in virtual worlds

Claims

1. A method for enabling a first user to interact with other users in a virtual space, wherein the first user and the other users each have an avatar and a client process associated therewith, and wherein each client process is in communication with a server process, wherein the method comprises:

(a) receiving a position of less than all of the other users' avatars from the server process; and

(b) determining, from the received positions, a set of the other users' avatars that are to be displayed to the first user,

wherein steps (a) and (b) are performed by the client process associated with the first user.

2. The method of claim 1, further comprising the steps of

(c) monitoring an orientation of the first user's avatar; and

(d) displaying the set of the other users' avatars from based on the orientation of the first user's avatar as monitored is step (c),

wherein steps (c) and (d) are performed by the client process associated with the first user.

3. The method of claim 1, wherein step (a) further comprises

(a)(1) receiving an orientation of less than all of the other users' avatars from the server process.

4. The method of claim 1, wherein step (1b) comprises

(b)(1) determining from the received positions an actual number of the other users' avatars;

(b)(2) determining a maximum number of the other users' avatars to be displayed; and

(b)(3) comparing the actual number to the maximum number to determine which of the other users' avatars are to be displayed wherein steps (b)(1)–(b)(3) are performed by the client process associated with the first user.

5. The method of claim 1, wherein step (b) comprises determining, from the received positions, the set of the other users' avatars that are to be displayed to the first user, wherein the number in the set is less than the number of avatars corresponding to the received positions.

6. A method for enabling a plurality of users to interact in a virtual space, wherein each user has a computer associated therewith, wherein each computer has a client process associated therewith, wherein each client process has an avatar associated therewith, and wherein each client process is in communication with a server process, comprising:

(a) monitoring, by each client process, a position of the avatar associated with the client process;

(b) transmitting, by each client process to the server process, the position of the avatar associated with the client process;

(c) transmitting, by the server process to each client process, the positions of less than all of the avatars that are not associated with the client process; and

(d) determining from the positions transmitted in step (c), by each client process, a set of the avatars that are to be displayed.

7. The method of claim 6, wherein the step (c) comprises the step of automatically transmitting, by the server process to each client process, the positions of the less than all of the avatars that are not associated with the client process.

8. The method of claim 6, wherein step (d) comprises

(d)(1) determining an actual number of avatars that are not associated with the client process based on the positions transmitted by the server process;

(d)(2) determining a maximum number of avatars that can be displayed; and

(d)(3) comparing the actual number to the maximum number to determine which of the avatars are to be displayed.

9. A method for operating a server to enable a plurality of users to interact in a virtual space, wherein each user has a computer associated therewith, wherein each computer has a client process associated therewith, wherein each client process has an avatar associated therewith, wherein the server has a process associated therewith, and wherein each client process is in communication with the server process, comprising:

(a) receiving, from each client process by the server process, data indicating a position of the avatar associated with the client process; and

(b) synchronously disseminating less than all of the positions of the avatars not associated with a particular client process to each of the other client processes so that the particular client process can determine from the positions a set of avatars that are to be displayed.

10. A system for enabling a first user to interact with other users in a virtual space, wherein the first user and the other users each have an avatar associated therewith, and wherein the system comprises a first process associated with the first user, other client processes associated with the other users, and a server process in communication with the first client process and the other client processes, wherein

(a) each of the other client processes is operable to
1. monitor a position of the avatar associated with the other user;
2. transmit the position of the avatar to the server process;

(b) the server process is operable to
1. receive the positions of the avatars associated with the other users;
2. transmit the positions of the avatars associated with less than all of the other users to the first client process; and
(c) the first client process is operable to
1. receive the positions of the avatars associated with less than all of the other users; and
2. determine from the received positions a set of the other users' avatars that are to be displayed.

11. A software program recorded on a machine-readable medium for enabling a first user interact with other users in a virtual space, wherein the first user and the other users each have an avatar a client process associated therewith, and wherein each client process is in communication with a server process,

wherein the software program comprises instructions for causing the client process associated with the first user to perform the following steps:

(a) receiving a position of at less than all of the other users' avatar from the server process; and

(b) determining, from the received positions, a set of the other users' avatars that are to be displayed to the first user.

12. The software program of claim 11, wherein the software program further comprises instructions for causing the client process associated with the first user to perform the following steps:

(c) monitoring an orientation of the first user's avatar; and

(d) displaying the set of the other users' avatars from based on the orientation of the first user's avatar as monitored is step (c).

13. The software program of claim 11, wherein step (b) comprises instructions for

(b)(1) determining from the received positions an actual number of the other users' avatars;

(b)(2) determining a maximum number of the other users' avatars to be displayed; and

(b)(3) comparing the actual number to the maximum number to determine which of the other users' avatars are to be displayed.

14. The software program of claim 11, wherein the instruction for step (b) comprises determining, from the received positions, the set of the other users' avatars that are to be displayed to the first user, wherein the number in the set is less than the number of avatars corresponding to the received positions.

15. A software program recorded on a machine-readable medium for enabling a plurality of users to interact in a virtual space, wherein each user has a computer associated therewith, wherein each computer has a client process associated therewith, wherein each client process has an avatar associated therewith, and wherein each client process is in communication with a server process, wherein the software program includes instructions for:

(a) monitoring, by each client process, a position of the avatar associated with the client process;

(b) transmitting, by each client process to the server process, the position of the avatar associated with the client process;

(d) transmitting, by the server process to each client process, the positions of less than all of the avatars that are not associated with the client process; and

(d) determining from the positions transmitted in step (c), by each client process, a set of the avatars that are to be displayed.

16. The software program of claim 15, wherein step (d) comprises

(d)(1) determining an actual number of avatars that are not associated with the client process based on the positions transmitted by the server process;

(d)(2) determining a maximum number of avatars that can be displayed; and

(d)(3) comparing the actual number to the maximum number to determine which of the avatars are to be displayed.

17. A computer readable medium including the software program of claim 15.

18. A software program recorded on a machine-readable medium for operating a server to enable a plurality of users to interact in a virtual space, wherein each user has a computer associated therewith, wherein each computer has a client process associated therewith, wherein each client process has an avatar associated therewith, wherein the server has a process associated therewith, and wherein each client process is in communication with the server process, wherein the software program comprises instructions for:

(a) receiving from each client process by the server process, data indicating a position of the avatar associated with the client process; and

(b) synchronously disseminating the positions of less than all of the avatars not associated with a particular client process to each of the other client processes so that the particular client process can determine from the positions a set of avatars that are to be displayed.

19. A computer readable medium including the software program of claim 11.

20. A computer readable medium including the software program of claim 18.