Sign in

Scalable virtual world chat client-server system

 Dave Leahy et al
The present invention provides a highly scalable architecture for a three-dimensional graphical, multi-user, interactive virtual world system. A plurality of users can interact in the three-dimensional, computer-generated graphical space where each user executes a client process to view a virtual...
Inventors: Dave Leahy, Judith Challinger, B. Thomas Adler, S. Mitra Ardon
Assignees: Worlds, Inc.
Primary Examiner: Cao H. Nguyen

U.S. Classification
345/331; 709/204; 345/355

International Classification
G06F 1516

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
RE36574Video gameFeb 15, 2000

Referenced by

Patent NumberTitleIssue date
6380952System for continuous display and navigation in a virtual-reality worldApr 30, 2002
6396509Attention-based interaction in a virtual environmentMay 28, 2002
6414679Architecture and methods for generating and displaying three dimensional representationsJul 2, 2002
6480210Video browsing spaceNov 12, 2002
6493001Method, apparatus and medium for describing a virtual shared space using virtual reality modeling languageDec 10, 2002
6499053Master/slave architecture for a distributed chat application in a bandwidth constrained networkDec 24, 2002
6512520Apparatus for and method of transmitting and receiving data streams representing 3-dimensional virtual spaceJan 28, 2003
6557041Real time video game uses emulation of streaming over the internet in a broadcast eventApr 29, 2003
6559863System and methodology for video conferencing and internet chatting in a cocktail party styleMay 6, 2003
6559870User interface method for determining a layout position of an agent, information processing apparatus, and program storage mediumMay 6, 2003
6583795Display control apparatus, message display method, and storage medium for message display control software productJun 24, 2003
6636237Method for creating and synchronizing links to objects in a videoOct 21, 2003
6656051Game progression control method, computer-readable recording medium, and game apparatusDec 2, 2003
66903933D environment labellingFeb 10, 2004
6724407Method and system for displaying conventional hypermedia files in a 3D viewing environmentApr 20, 2004
6731314Network-based three-dimensional multiple-user shared environment apparatus and methodMay 4, 2004
6734885Information processing apparatus, method and computer program for virtual reality transparent avatarsMay 11, 2004
6772195Chat clusters for a virtual world applicationAug 3, 2004
6801930Method and apparatus for maintaining information about users sharing the cells partitioning a computer-generated environmentOct 5, 2004
6853398Method and system for real-time video communication within a virtual environmentFeb 8, 2005
6877024Network system and method for providing voice information to participants in a chat session set at an audible level corresponding to the number of participants currently logged in the chat sessionApr 5, 2005
6907579User interface and method for interacting with a three-dimensional graphical environmentJun 14, 2005
6922689Method and apparatus for auto-assisting agents in agent-hosted communications sessionsJul 26, 2005
6942575Server and unitsSep 13, 2005
6976846Telecommunications virtual simulatorDec 20, 2005
6981220Information processing apparatus and method, and storage mediumDec 27, 2005
6988127Advertising and managing communities within a virtual spaceJan 17, 2006
7007065Information processing apparatus and method, and storage mediumFeb 28, 2006
7054617Method and apparatus for providing a message creation reference associated with a real-time communication messageMay 30, 2006
7065553Presentation system with distributed object oriented multi-user domain and separate view and model objectsJun 20, 2006
7069299Method for creating and operating cyber-conference including paper presentations and system for the sameJun 27, 2006
7076525Virtual space system, virtual space control device, virtual space control method, and recording mediumJul 11, 2006
7086005Shared virtual space conversation support system using virtual telephonesAug 1, 2006
7107549Method and system for creating and distributing collaborative multi-user three-dimensional websites for a computer system (3D Net Architecture)Sep 12, 2006
7124372Interactive communication between a plurality of usersOct 17, 2006
7143358Virtual world internet web site using common and user-specific metricsNov 28, 2006
7149691System and method for remotely experiencing a virtual environmentDec 12, 2006
7159008Chat interface with haptic feedback functionalityJan 2, 2007
7178095Method and apparatus for sending E-mail, method and apparatus for receiving E-mail, sending/receiving method and apparatus for E-mail, sending program supplying medium, receiving program supplying medium and sending/receiving program supplying mediumFeb 13, 2007
7180889Personal control of address assignment and greeting options for multiple BRG portsFeb 20, 2007
7181518Method of and system for creating profilesFeb 20, 2007
7191434Loading object-oriented computer programsMar 13, 2007
7213206Relationship user interfaceMay 1, 2007
7275987Virtual world system, server computer and information processorOct 2, 2007
7283135Hierarchical tile-based data structure for efficient client-server publishing of data over network connectionsOct 16, 2007
7289489Method for billing IP broadband subscribersOct 30, 2007
7293235Predicting avatar movement in a distributed virtual environmentNov 6, 2007
7342587Computer-implemented system and method for home page customization and e-commerce supportMar 11, 2008
7373380Methods and systems for configuration and dynamically switching between network communication architecturesMay 13, 2008
7433760Camera and animation controller, systems and methodsOct 7, 2008
7434168Method and apparatus for sending E-mail, method and apparatus for receiving E-mail, sending/receiving method and apparatus for E-mail, sending program supplying medium, receiving program supplying medium and sending/receiving program supplying mediumOct 7, 2008

Claims

What is claimed is:

1. In a system for interaction between a plurality of users in a three-dimensional, computer-generated graphical space where the system includes at least one server coupling a plurality of clients where each client addresses a client display, a method of representing interactions among the plurality of clients on a display of a target client comprising the steps of:

identifying a position of a local avatar of a user of the target client, the position being a position relative to the graphical space;
determining a maximum displayable avatar count for the target client;
determining a total avatar count for the server, wherein the total avatar count indicates the number of clients connected to the server;
when the total avatar count is greater than the maximum displayable avatar count for the target client, limiting the number of avatars processed by the target client to the maximum displayable avatar count, wherein the step of limiting is performed at the target client; and
displaying, on the client display, the avatars processed by the target client.

2. The method of claim 1, wherein the step of determining a maximum displayable avatar count is a step of determining a maximum displayable count of avatars that can be handled by the computing and networking resources available to the local user display.

3. The method of claim 1, wherein the step of limiting is a step of determining which avatars are closest in the graphical space to the local avatar.

4. The method of claim 1, wherein the step of limiting is a step of limiting the number of avatars to a number N, the step further comprising the steps of:

identifying excluded avatars, wherein an excluded avatar is an avatar to be excluded from interaction with the local avatar regardless of the relative positions of the excluded avatar and the local avatar; and
determining which avatars other than the excluded avatars are closest in the graphical space to the local avatar.

5. An apparatus for interaction between a plurality of users in a three-dimensional, computer-generated graphical space, comprising:

(a) a plurality of client processes, wherein each client process is executed on a digital computer distinct from the digital computers executing others of the plurality of client processes;
(b) a central server comprising at least one process and executed by at least one digital computer, wherein the central server comprises:
(1) a plurality of user objects, wherein a user object is instantiated for each user in the plurality of users;
(2) a plurality of room objects, wherein a room object is instantiated for each occupied room in the virtual environment; and
(3) a plurality of world objects, wherein each world object includes a list of users, a list of rooms and communication connections with the plurality of user objects and the plurality of room objects;
(c) a network coupling the central server to the digital computers which execute the plurality of client processes, thereby coupling the plurality of client processes to the central server;
(d) means for communicating room, position and orientation information relating to a particular user in the graphical space from the particular user's client process to the central server;
(e) means for synchronously disseminating from the server to each of the client processes a packet of information updating a list of avatars displayable for that particular client;
(f) means for determining from said list of avatars a set of avatars to be displayed at each client process, wherein said means for determining is located at each client process;
(g) means for routing client communications to a particular server process according to which room the client is currently in; and
(h) means, on the digital computer executing the particular user's client process, for rendering a three-dimensional view from a viewpoint of the location of the particular user.