Sign in

System and method for enabling users to interact in a virtual space

 Dave Leahy et al
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...
Inventors: Dave Leahy, Judith Challinger, B. Thomas Adler, S. J. Ardron
Assignee: Worlds. Com Inc.
Primary Examiner: Cao (Kevin) Nguyen
Attorney: Neil G. Cohen

U.S. Classification
715/706; 715/734; 715/854

View patent at USPTO

Citations

Patent NumberTitleIssue date
5195086Multiple call control method in a multimedia conferencing systemMar 16, 1993
5206934Method and apparatus for interactive computer conferencingApr 27, 1993
5347306Animated electronic meeting placeSep 13, 1994
5388196Hierarchical shared books with databaseFeb 7, 1995
5491743Virtual conference system and terminal apparatus thereforFeb 13, 1996
5572248Teleconferencing method and system for providing face-to-face, non-animated teleconference environmentNov 5, 1996
5596426Image processing method and apparatusJan 21, 1997
5659691Virtual reality network with selective distribution and updating of data to reduce bandwidth requirementsAug 19, 1997
5736982Virtual space apparatus with avatars and speechApr 7, 1998
5827120Network game system having communication characters for conversation changing into action characters for action gaming Oct 27, 1998
5829041Method and apparatus for managing single virtual space suitable for distributed processing Oct 27, 1998
5841980Distributed system for communication networks in multi-user applicationsNov 24, 1998
RE36574Video gameFeb 15, 2000
6042477Method of and system for minimizing the effects of time latency in multiplayer electronic games played on interconnected computersMar 28, 2000
6229533Ghost object for a virtual worldMay 8, 2001

Claims

What is claimed is:

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.