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|
| 5195086 | Multiple call control method in a multimedia conferencing system | Mar 16, 1993 | | 5206934 | Method and apparatus for interactive computer conferencing | Apr 27, 1993 | | 5347306 | Animated electronic meeting place | Sep 13, 1994 | | 5388196 | Hierarchical shared books with database | Feb 7, 1995 | | 5491743 | Virtual conference system and terminal apparatus therefor | Feb 13, 1996 | | 5572248 | Teleconferencing method and system for providing face-to-face, non-animated teleconference environment | Nov 5, 1996 | | RE36574 | Video game | Feb 15, 2000 |
Referenced by|
| 6380952 | System for continuous display and navigation in a virtual-reality world | Apr 30, 2002 | | 6396509 | Attention-based interaction in a virtual environment | May 28, 2002 | | 6414679 | Architecture and methods for generating and displaying three dimensional representations | Jul 2, 2002 | | 6480210 | Video browsing space | Nov 12, 2002 | | 6493001 | Method, apparatus and medium for describing a virtual shared space using virtual reality modeling language | Dec 10, 2002 | | 6499053 | Master/slave architecture for a distributed chat application in a bandwidth constrained network | Dec 24, 2002 | | 6512520 | Apparatus for and method of transmitting and receiving data streams representing 3-dimensional virtual space | Jan 28, 2003 | | 6557041 | Real time video game uses emulation of streaming over the internet in a broadcast event | Apr 29, 2003 | | 6559863 | System and methodology for video conferencing and internet chatting in a cocktail party style | May 6, 2003 | | 6559870 | User interface method for determining a layout position of an agent, information processing apparatus, and program storage medium | May 6, 2003 | | 6583795 | Display control apparatus, message display method, and storage medium for message display control software product | Jun 24, 2003 | | 6636237 | Method for creating and synchronizing links to objects in a video | Oct 21, 2003 | | 6656051 | Game progression control method, computer-readable recording medium, and game apparatus | Dec 2, 2003 | | 6690393 | 3D environment labelling | Feb 10, 2004 | | 6724407 | Method and system for displaying conventional hypermedia files in a 3D viewing environment | Apr 20, 2004 | | 6731314 | Network-based three-dimensional multiple-user shared environment apparatus and method | May 4, 2004 | | 6734885 | Information processing apparatus, method and computer program for virtual reality transparent avatars | May 11, 2004 | | 6772195 | Chat clusters for a virtual world application | Aug 3, 2004 | | 6801930 | Method and apparatus for maintaining information about users sharing the cells partitioning a computer-generated environment | Oct 5, 2004 | | 6853398 | Method and system for real-time video communication within a virtual environment | Feb 8, 2005 | | 6877024 | Network 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 session | Apr 5, 2005 | | 6907579 | User interface and method for interacting with a three-dimensional graphical environment | Jun 14, 2005 | | 6922689 | Method and apparatus for auto-assisting agents in agent-hosted communications sessions | Jul 26, 2005 | | 6942575 | Server and units | Sep 13, 2005 | | 6976846 | Telecommunications virtual simulator | Dec 20, 2005 | | 6981220 | Information processing apparatus and method, and storage medium | Dec 27, 2005 | | 6988127 | Advertising and managing communities within a virtual space | Jan 17, 2006 | | 7007065 | Information processing apparatus and method, and storage medium | Feb 28, 2006 | | 7054617 | Method and apparatus for providing a message creation reference associated with a real-time communication message | May 30, 2006 | | 7065553 | Presentation system with distributed object oriented multi-user domain and separate view and model objects | Jun 20, 2006 | | 7069299 | Method for creating and operating cyber-conference including paper presentations and system for the same | Jun 27, 2006 | | 7076525 | Virtual space system, virtual space control device, virtual space control method, and recording medium | Jul 11, 2006 | | 7086005 | Shared virtual space conversation support system using virtual telephones | Aug 1, 2006 | | 7107549 | Method and system for creating and distributing collaborative multi-user three-dimensional websites for a computer system (3D Net Architecture) | Sep 12, 2006 | | 7124372 | Interactive communication between a plurality of users | Oct 17, 2006 | | 7143358 | Virtual world internet web site using common and user-specific metrics | Nov 28, 2006 | | 7149691 | System and method for remotely experiencing a virtual environment | Dec 12, 2006 | | 7159008 | Chat interface with haptic feedback functionality | Jan 2, 2007 | | 7178095 | Method 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 medium | Feb 13, 2007 | | 7180889 | Personal control of address assignment and greeting options for multiple BRG ports | Feb 20, 2007 | | 7181518 | Method of and system for creating profiles | Feb 20, 2007 | | 7191434 | Loading object-oriented computer programs | Mar 13, 2007 | | 7213206 | Relationship user interface | May 1, 2007 | | 7275987 | Virtual world system, server computer and information processor | Oct 2, 2007 | | 7283135 | Hierarchical tile-based data structure for efficient client-server publishing of data over network connections | Oct 16, 2007 | | 7289489 | Method for billing IP broadband subscribers | Oct 30, 2007 | | 7293235 | Predicting avatar movement in a distributed virtual environment | Nov 6, 2007 | | 7342587 | Computer-implemented system and method for home page customization and e-commerce support | Mar 11, 2008 | | 7373380 | Methods and systems for configuration and dynamically switching between network communication architectures | May 13, 2008 | | 7433760 | Camera and animation controller, systems and methods | Oct 7, 2008 | | 7434168 | Method 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 medium | Oct 7, 2008 |
ClaimsWhat 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.
|