WO1999066429A1 - Reseau d'environnement virtuel - Google Patents

Reseau d'environnement virtuel Download PDF

Info

Publication number
WO1999066429A1
WO1999066429A1 PCT/US1999/013829 US9913829W WO9966429A1 WO 1999066429 A1 WO1999066429 A1 WO 1999066429A1 US 9913829 W US9913829 W US 9913829W WO 9966429 A1 WO9966429 A1 WO 9966429A1
Authority
WO
WIPO (PCT)
Prior art keywords
distributed database
network
server
hierarchical distributed
database
Prior art date
Application number
PCT/US1999/013829
Other languages
English (en)
Inventor
Haraldur Haukur ÞORKELSSON
Original Assignee
Oz Interactive, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oz Interactive, Inc. filed Critical Oz Interactive, Inc.
Priority to AU46958/99A priority Critical patent/AU4695899A/en
Publication of WO1999066429A1 publication Critical patent/WO1999066429A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/282Hierarchical databases, e.g. IMS, LDAP data stores or Lotus Notes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Definitions

  • the invention relates generally to networks of computers and, in particular, to distributing and maintaining a database over a network which is able to be accessed by millions of clients simultaneously.
  • network applications are designed to communicate using either client-server interaction or peer-to-peer interaction.
  • client-server interaction in general provides a possibility for high reliability and accessibility, the client-server interaction can not be scaled to serve large numbers of users on the order of more than a million.
  • Problems with scalability of the client-server interaction can conventionally be partially fixed by applying replication of the server's database. Replication, however, can lead to data inconsistency among the replicated services.
  • Data inconsistencies on the replicated server are conventionally addressed by using a method to prevent data inconsistency or using a method to resolve the data inconsistency.
  • a method to prevent data inconsistency typically involves locking, which takes time to execute, permits only one client to access the locked data, and can cause dead locks.
  • the client determines that to fulfill the user's command, the client needs to update a common data state of the sever. To ensure no one else can change the common data state of the server while the client is accessing it, the client requests a lock on the data from the server. If the data is not already locked by someone else, the server locks the data and sends out a message to the client stating the client and only the client can now change the data. If the data is already locked, the client must wait for the lock to be released. Once the server acknowledges that the data is locked for exclusive use by the client, the client sends the modification for the data to the server. The server sends the changed data back to the client. Finally, the client sends a lock release message to the server.
  • Locking is time consuming and limits the number of clients that can modify the data at any one time to one in a real-time environment. This is unacceptable because it provides a finite number of maximum clients, which is determined by: (the average time to modify data)*(the maximum number of modifications need per timeslot)/(the minimum time slot size for real-time performance).
  • Locking can also cause deadlocks.
  • client A locks data A and then determines that it needs data B.
  • Client B at the same time locks data B and then determines that it needs data A to continue. Both clients A and B end up waiting forever, unless some deadlocking prevention is added.
  • Deadlocking prevention is time consuming and affects real-time performance.
  • the conventional methods to prevent data inconsistency can not be used in a real-time environment because of the disruption that the deadlocks cause to the client-server interaction.
  • resolving data inconsistency typically uses transaction time stamps.
  • Such a method results in lengthy rollbacks of the client-server interactions causing a break in the real-time environment and possibly overloading the system if too many rollbacks occur.
  • the rollbacks cause unacceptable behavior in a virtual environment as experienced by the affected users. For example, a user walks through a door in a virtual environment, and the user's client determines that the door is open, but later finds out that the door was locked by another user just before the user walked through the door. The client and server then need to drag the user back out of the room just entered because the user's being in the room does not consist with what other users presume to be accurate for the virtual environment. Hence, in the user's view of the virtual environment, events will be abstract when the user is bounced back through the door.
  • networked applications can be designed to communicate using peer-to-peer interaction.
  • Peer-to-peer interaction creates problems with controlling ownership and maintaining continuous data states when the users of the networked application log off.
  • peer-to-peer interaction also has problems with being scalable similar to that of the client-server interaction as discussed above.
  • Distributed database refers to a database maintained and distributed over a plurality of computers connected via a network.
  • Hierarchical distributed database refers to a distributed database having a hierarchical arrangement to its distribution.
  • Network refers to a system of connected computers. Non-limiting examples of a network include: a local area network ("LAN”); a wide area network; a broad band network, such as the network connecting automatic teller machines (“ATMs"); and the Internet.
  • LAN local area network
  • ATMs automatic teller machines
  • “Client” refers to a computer application running on one or more computers and accessing a network.
  • Server refers to a computer for controlling interactions on a network.
  • Virtual environment refers to a three-dimensional graphics computer application, a virtual reality computer application, or a virtual computer environment.
  • “User” refers to a human interacting with a computer.
  • “Computer” refers to a computer, a general purpose computer, an interactive television, a hybrid combination of a computer and an interactive television, and any apparatus comprising a processing unit, memory, the capability to receive input, and the capability to generate output.
  • One or more computers connected with a network can maintain a virtual environment accessible by one or more clients. It is an object of the invention to provide a distributed database for access by many users in real-time, where the distributed database is both scalable and hierarchical.
  • Another object of the invention is to provide a network and a server for maintaining a distributed database.
  • a further object of the invention is to maintain a virtual environment over a network using a distributed database.
  • Yet another object of the invention is to provide a distributed database accessible by many users via a network.
  • An additional object of the invention is to provide a system for maintaining a virtual environment using a network of servers that not only distributes the load of the virtual environment among the servers but also keeps the cohesion of the virtual environment as high as possible.
  • Still another object of the present invention is to provide a network that is scalable to accommodate an expanding hierarchical distributed database.
  • the apparatus of the invention includes a network for maintaining a hierarchical distributed database comprising: a plurality of servers connected to the network, each server comprising a partitionable relational database; and a plurality of clients connected to the network, each client accessing the hierarchical distributed database; wherein the hierarchical distributed database comprises the partitionable relational databases of the plurality of servers, the partitionable relational databases being arranged hierarchically; wherein each client accesses the hierarchical distributed database by connecting to one of the servers; and wherein each client can access the hierarchical distributed database without waiting for another client to finish accessing the hierarchical distributed database.
  • the apparatus of the invention also includes a server connected to a network, the network comprising: a hierarchical distributed database, the hierarchical distributed database being distributed over the network and arranged hierarchically; and the server comprising a partitionable relational database comprising a data table, the partitionable relational database being connected hierarchically to the hierarchical distributed database, the data table comprising at least one key-value pair comprising a key data structure and a value data structure, each value data structure comprising a data structure or a link for linking to the hierarchical distributed database hierarchically arranged below the partitionable relational database.
  • the method of the invention includes a method for maintaining over a network a hierarchical distributed database having a plurality of partitionable relational databases, comprising the steps of: providing a plurality of servers and a plurality of clients; arranging the partitionable relational databases of hierarchical distributed database in a hierarchy; assigning each of the partitionable relational databases of hierarchical distributed database to the plurality of servers; and permitting simultaneous access to the hierarchical distributed database by the plurality of clients.
  • Figure 1 illustrates the components of a server for the invention.
  • Figure 2 illustrates a partitionable relational database for the server illustrated in Figure 1.
  • Figure 3 illustrates an example of a partitionable relational database using the invention.
  • Figure 4 illustrates the functionality of the server executable kernel of Figure 1.
  • Figure 5 illustrates a hierarchical distributed database with two levels of servers, namely top level servers and second level servers.
  • Figure 6 illustrates server connections for the hierarchical distributed database of Figure 5.
  • Figure 7 illustrates alternative server connections for the hierarchical distributed database of Figure 5.
  • Figure 8 illustrates server connections for the hierarchical distributed database of the invention.
  • a hierarchical distributed database is maintained over a network comprising clients and servers.
  • the hierarchical distributed database is scalable and is able to support a virtual environment simultaneously accessible in real-time by a plurality of clients.
  • a client in the network interacts only with a set of related data.
  • the relation can be on any scale.
  • one server can maintain a database of rooms in a building, and additional servers can maintain things in the rooms in the building, and so on.
  • This configuration both distributes the load of the database and keeps the total network load of a single transaction limited to only a fraction of the network.
  • the clients can view the part of the database that is relevant to them and only that part, thus making the system scalable.
  • the network of the invention is expandable to serve an ever increasing hierarchical distributed database, such as a virtual environment, by increasing the size of the network.
  • a server 1 for the invention is illustrated and comprises several components.
  • the multicast data transmission protocol 2 of the server 1 provides for transmitting data over the network to the hierarchical distributed database and receiving data over the network from the hierarchical distributed database.
  • the multicast data transmission protocol minimizes network traffic of transactions and data streams.
  • a client requests to be updated on changes to a particular data, the client will be registered as a receiver of the particular data.
  • data changes rapidly, and a client must continually request the data by, for example, reading or polling the data.
  • a client can simply register for updates on the changes to the data.
  • a state change in the virtual environment is distributed in a single event, like a selective broadcast, over the network to the client who has requested the information. For example, if two clients on server 2 have requested information on the change in data on server 1 , server 1 only needs to send the requested data to server 2, and server 2 then forwards the data to the two clients on server 2.
  • This feature of the invention advantageously decreases traffic on the network when there are many clients.
  • the partitionable relational database 3 is a component of the hierarchical distributed database assigned to the server 1.
  • the partitionable relational database 3 of the server 1 is stored in the memory of the computer comprising the server 1.
  • the partitionable relational database 3 of server 1 of Figure 1 comprises at least one table.
  • the at least one table comprises a root data table 10 and zero or more additional data tables 11.
  • the root data table 10 and the data tables 11 each comprise an ordered list of one or more key- valued pairs.
  • the key 12 of the key- value pair functions as an address for the key-value pair.
  • the value 13 of the key- value pair can be any type of data structure.
  • Examples of the value 13 include: a web page for an Internet site; a file written in the hypertext markup language ("HTML"), the virtual reality markup language (“VRML”), or VRML2; a virtual environment description; a user description; an avatar description; an avatar position; a binary data file; text; and a numerical value.
  • “Avatar” refers to the representation of a user within a virtual environment.
  • the value 13 of the key- value pair can also be a link for linking, or a pointer for pointing, to a table located on the same server or located anywhere in the network.
  • Figure 3 illustrates an example of a partitionable relational database using the invention. The various connections between the tables of the database are illustrated. For example, the table "Info stored on server" has a link to the table "Users and Info.”
  • the authentication system 4 of the server 1 in Figure 1 authenticates data transmissions received by the server 1 over the network.
  • the authentication system 4 is connection based and, as such, the client is authenticated when first connecting to the network.
  • the client then has an authentication key it uses throughout the session on the network.
  • the authentication key is used, for example, when connecting to another server in the network.
  • the authentication key maps the client to its client information on the server, which can then confirm who the client is and use this client information for access control.
  • the distributed access control system 5 of the server 1 provides for accessing the hierarchical distributed database on the network by securing ownership and access to data contained within the hierarchical distributed database. Every access to any data, such as tables and key-value pairs, can be restricted to, for example, read, modify, delete, and administrator. For all data, access can be granted or denied by default, and an access table lists those clients with default access. An access table is a list of clients or groups of clients who have been granted or denied a specific type of access to the respective data.
  • a client requesting to perform actions on a data, such as read or modify is validated for access according to the default of the access table. Once validation is completed, information about the validation is added to the authentication key of the client.
  • the distributed atomic transaction interface 6 of the server 1 provides for interfacing with the network and enables the real-time interaction with the hierarchical distributed database.
  • An atomic transaction is a transaction that is performed in a single step. For example, for the atomic transaction of a client command to modify a data entity, the server responds positively or negatively after performing the action in a single step, without performing other actions at the same time. This feature of the invention prevents locking, which occurs in conventional networks.
  • the distributed atomic transaction interface 6 includes support for security.
  • the server executable kernel 7 of the server 1 is a program running on the computer of the server 1 for overseeing the operations of the server 1.
  • the kernel 7 is responsible for overseeing the multicasting, routing, and connections of the server 1 to clients and to other servers and for maintaining the partitionable relational database 3 of the server 1.
  • Figure 4 illustrates the functionality of the kernel 7 within the server 1.
  • Figure 5 illustrates the hierarchical distributed database of the invention.
  • the hierarchical distributed database of Figure 5 has two layers, a top layer for top level servers and a second layer for second level servers.
  • the top layer is shown with one top level server, and the second layer is show with two second level servers.
  • the top level server in Figure 5 has two tables, a "Users and info” table and a "regions handled by network” table.
  • the second level server on the right side of Figure 5 has three tables, a "Users on server” table, a "Region 1" table, and a "Users in region” table.
  • the second level server on the left side of Figure 5 has five tables, a "Users on server” table, a
  • the hierarchical distributed database of the invention is arranged in a hierarchical fashion. Further, the hierarchical distributed database of the invention is distributed and maintained on a plurality of servers.
  • Figure 6 illustrates an abstracted view of the relationship between the servers and the connections in Figure 5.
  • the two second level servers, Server 2 and Server 3 are connected to the top level server, Server 1.
  • the entry point for a client to access the hierarchical distributed database is through the top level server, Server 1, and then down the database to either Server 2 or Server 3, depending on the services and information needed.
  • Figure 7 illustrates an alternative to the relationship shown in Figure 6.
  • Server 3 is connected to Server 2, and not to Server 1 , as in Figure 6.
  • Figure 8 illustrates an alternative to the relationship shown in Figures 6 and 7.
  • the servers in Figure 8 are no longer arranged in a hierarchical fashion.
  • the distributed database in Figure 8 is still hierarchical.
  • top level servers are the entry points by which clients can access the hierarchical distributed database.
  • a client After entering the hierarchical database via a top level server, a client can logically "walk down" the structure of the database to access information relevant to the client's processing needs.
  • the top level servers are designated as the servers located close to the tables needed by clients.
  • the internal representation of the database in the client is not restricted to being hierarchical.
  • the internal representation maintained by the client of the hierarchical distributed database maintained by the servers can be any internal representation based on the client's needs or on the construction of the client's databases.
  • a server in the network only needs to be connected to the servers in the network that have tables to which the tables in the server have links.
  • a limitless network can be created by logically arranging the tables of the hierarchical distributed database such that no single table is larger than one server can handle and by connecting the clients to the top level servers.
  • the hierarchical distributed database is scalable and can support a few clients, over a million clients, and up to a limitless number of clients.
  • a real-time virtual environment can be created for simultaneous real-time access by a few clients, by over a million clients, by millions of clients, and up to a limitless number of clients.
  • Each user of the virtual environment has a client for accessing the hierarchical distributed database of the invention. Further, with the invention, real-time interaction between users in the virtual environment occurs.
  • a single server can be accessed by multiple clients, and a single server can maintain a state within the virtual environment.
  • a single server can maintain a state within the virtual environment.
  • many users represented by avatars can interact within a room of a virtual environment.

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

L'invention concerne un réseau connectant des clients et des serveurs de manière à maintenir une base de données à répartition hiérarchique. On configure la base de données à répartition hiérarchique en utilisant des bases de données relationnelles pouvant être segmentées, chacune de ces bases de données pouvant être attribuée à un serveur du réseau. Grâce à la base de données à répartition hiérarchique, on peut créer un environnement virtuel permettant un accès simultané à des millions de clients.
PCT/US1999/013829 1998-06-19 1999-06-18 Reseau d'environnement virtuel WO1999066429A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU46958/99A AU4695899A (en) 1998-06-19 1999-06-18 Network for a virtual environment

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US9995498A 1998-06-19 1998-06-19
US09/099,954 1998-06-19

Publications (1)

Publication Number Publication Date
WO1999066429A1 true WO1999066429A1 (fr) 1999-12-23

Family

ID=22277401

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1999/013829 WO1999066429A1 (fr) 1998-06-19 1999-06-18 Reseau d'environnement virtuel

Country Status (2)

Country Link
AU (1) AU4695899A (fr)
WO (1) WO1999066429A1 (fr)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001067787A2 (fr) * 2000-03-03 2001-09-13 Qualcomm Incorporated Procede et appareil pour participer a des services de communication de groupe dans un systeme de communication existant
WO2002001414A2 (fr) * 2000-06-12 2002-01-03 Reliable Network Solutions Systeme de traitement de donnees d'un reseau informatique reparti
WO2004013753A2 (fr) * 2002-07-26 2004-02-12 Peter Herold Dispositif et procede de traitement de donnees pour un acces multi-utilisateur interactif a de grandes quantites de donnees
US7890129B2 (en) 2001-05-15 2011-02-15 Eric Rosen Method and apparatus for delivering information to an idle mobile station in a group communication network
US8542091B2 (en) 2007-04-26 2013-09-24 Hitachi, Ltd. Control of transmitter peak power and duty ratio in a wireless system to maintain average transmitter power and increase communication range

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998020430A1 (fr) * 1996-11-01 1998-05-14 Peerdirect Inc. Systeme de base de donnees reparties independante

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998020430A1 (fr) * 1996-11-01 1998-05-14 Peerdirect Inc. Systeme de base de donnees reparties independante

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001067787A2 (fr) * 2000-03-03 2001-09-13 Qualcomm Incorporated Procede et appareil pour participer a des services de communication de groupe dans un systeme de communication existant
WO2001067787A3 (fr) * 2000-03-03 2003-03-06 Qualcomm Inc Procede et appareil pour participer a des services de communication de groupe dans un systeme de communication existant
US6928294B2 (en) 2000-03-03 2005-08-09 Qualcomm, Incorporated Method and apparatus for enabling group communication services in an existing communication system
CN100448316C (zh) * 2000-03-03 2008-12-31 高通股份有限公司 在现有的通信系统中参与小组通信服务的方法和设备
WO2002001414A2 (fr) * 2000-06-12 2002-01-03 Reliable Network Solutions Systeme de traitement de donnees d'un reseau informatique reparti
WO2002001414A3 (fr) * 2000-06-12 2003-11-20 Reliable Network Solutions Systeme de traitement de donnees d'un reseau informatique reparti
US7890129B2 (en) 2001-05-15 2011-02-15 Eric Rosen Method and apparatus for delivering information to an idle mobile station in a group communication network
US8359053B2 (en) 2001-05-15 2013-01-22 Qualcomm Incorporated Method and apparatus for delivering information to an idle mobile station in a group communication network
US8644873B2 (en) 2001-05-15 2014-02-04 Qualcomm Incorporated Method and apparatus for delivering information to an idle mobile station in a group communication network
WO2004013753A2 (fr) * 2002-07-26 2004-02-12 Peter Herold Dispositif et procede de traitement de donnees pour un acces multi-utilisateur interactif a de grandes quantites de donnees
WO2004013753A3 (fr) * 2002-07-26 2004-08-26 Peter Herold Dispositif et procede de traitement de donnees pour un acces multi-utilisateur interactif a de grandes quantites de donnees
US8542091B2 (en) 2007-04-26 2013-09-24 Hitachi, Ltd. Control of transmitter peak power and duty ratio in a wireless system to maintain average transmitter power and increase communication range

Also Published As

Publication number Publication date
AU4695899A (en) 2000-01-05

Similar Documents

Publication Publication Date Title
US6826606B2 (en) Method and apparatus for communicating among a network of servers
US6785726B1 (en) Method and apparatus for delivering local and remote server events in a similar fashion
US6922724B1 (en) Method and apparatus for managing server load
US9807097B1 (en) System for managing access to protected resources
US6789112B1 (en) Method and apparatus for administering a server having a subsystem in communication with an event channel
US7925751B1 (en) Mechanism for controlled sharing of files in a clustered application environment
EP1141828B1 (fr) Appareil et procede de determination d'un voisinage de programme pour un noeud client dans un reseau client-serveur
EP1785858B1 (fr) Arbitrage d'un serveur dorsal approprié pour recevoir des canaux d'une session client
US6973455B1 (en) File server system providing direct data sharing between clients with a server acting as an arbiter and coordinator
US20050166260A1 (en) Distributed policy enforcement using a distributed directory
EP1755041A2 (fr) Procédés pour l'exécution de programmes distribués avec association de type fichier dans un réseau client-serveur
US20050240622A1 (en) Multi-connection control system
US20050050319A1 (en) License control for web applications
Craft Resource management in a decentralized system
Burns Data management in a distributed file system for Storage Area Networks
US20040024766A1 (en) System for distributing files and transmitting/receiving distributed files
WO1999066429A1 (fr) Reseau d'environnement virtuel
US20030105871A1 (en) Method and system for modifying lock properties in a distributed environment
ord Neuman Scale in distributed systems
Hemmes et al. Cacheable decentralized groups for grid resource access control
EP1297412B1 (fr) Systeme et procede d'envoi de donnees operationnelles dans un reseau de serveurs
Van Steen Distributed systems principles and paradigms
AU2001257513B2 (en) A system and method for directing runtime data in a server network
EP1411429A2 (fr) Appareil et méthode pour déterminer un voisinage de programme pour un noeud client au sein d'un réseau client-serveur
Bomer et al. Long energy efficient Huffman sequences

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AU CA JP

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
122 Ep: pct application non-entry in european phase