摘要:
Methods and apparatus are disclosed for providing a data framework and associated client/server protocol for storing and exchanging data among computers in a network. A data schema having an n-way tree-type structure with a root node layer, intermediate node layers, and a data layer for storing configuration data is described. The intermediate node layers contain a multitude of nodes containing categorical information relating to components and various aspects of the computer network. Following a tree structure, each intermediate node and root node has branches emanating to nodes below it. These subordinate nodes are referred to as children nodes. The data node layer is at the bottom of the tree and contains actual specific configuration data relating to components and other aspects of the computer network, such as information regarding users registered to use the network. Certain portions of the intermediate nodes and data nodes make up persistent dataspaces in which the actual specific configuration data in the data nodes is modified on either a client or a server computer, and is stored on the server computer. This allows the associated specific information to be nonvolatile and accessible by a multiplicity of client computers. The client/server protocol allows configuration data to be transferred between a client and server and for the maintenance of the connection between the client and the server. Configuration data and user profiles are stored on a server computer thereby minimizing the amount of memory needed by the client computer, which can be a device with low memory capabilities such as network computers, PDAs, or smart cards. The protocol also includes a method of coalescing configuration data before sending it to a client computer thereby reducing the memory requirements of the client computer.
摘要:
A method and system are disclosed for updating and managing a configuration database used to store configuration and user data in a computer network having multiple clients, such as network computers. The transaction management mechanisms described determine whether new data, such as a new user or specific property, is being added to the configuration database or whether an existing node in the database is being modified by a transaction. A locking mechanism obtains a lock on a node according to whether a new node is being added to the configuration database or an existing node is being modified. During this process, an identifier is assigned to the transaction that caused the lock that acts as a transaction handle. The transaction then proceeds to modify the configuration database by either adding new data or modifying existing data. The locking mechanism then commits the transaction by releasing the lock if the modification or insertion is successful, or aborts the transaction if the modification or insertion fails.
摘要:
A method and system for providing an intelligent intermediate form of an object-oriented database. The intermediate form is derived from a grammatical form of an object-oriented database through the process of compilation. The grammatical form is a persistent form of an object-oriented database expressed in a human-readable and human-editable textual form according to a grammar. The intermediate form comprises an array of intelligent entry objects which encapsulate data with methods for manipulating that data. The methods include creating a database entry, creating a property associated with an entry, creating an attribute associated with an entry or property, querying the last entry, property, or attribute created, and finalizing entry storage. The intermediate form lacks the infrastructure of the database, but the intermediate form can be used to populate the object-oriented database with entries. The object-oriented database is an object-oriented configuration database which stores configuration parameters pertaining to the software and hardware of a computer system, such as application programs, device drivers, system services, and other components. The object-oriented database is platform-independent and is therefore configured to be hosted on several different operating systems and computing platforms.
摘要:
Methods and apparatus for implementing a core application programming interface which is a part of more than one application programming interface are disclosed. According to one aspect of the present invention, a class structure in an object based system is arranged to provide application programming interfaces which enable access to a system database. The class structure includes a first set of classes that define a core application programming interface, a second set of classes that define a client application programming interface, and a third set of classes that define a server application programming interface. The second set of classes includes the first set of classes, and the third set of classes includes the second set of classes. In one embodiment, the first set of classes includes interfaces.
摘要:
Innovative managers of persistent data are provided. As an example, in a client/server environment, a persistent manager object may be initialized on both the client and server subsystems. The persistent manager objects may be instances of the same persistent manager class. The persistent manager object on the client subsystem may receive a request to store persistent data and the persistent manager object on the client sends the request to the persistent manager object on the server subsystem. The persistent manager object on the server subsystem may then store the persistent data to make it subsequently be available for the client subsystem.
摘要:
A cluster implements a virtual disk system that provides each node of the cluster access to each storage device of the cluster. The virtual disk system provides high availability such that a storage device may be accessed and data access requests are reliably completed even in the presence of a failure. To ensure consistent mapping and file permission data among the nodes, data are stored in a highly available cluster database. Because the cluster database provides consistent data to the nodes even in the presence of a failure, each node will have consistent mapping and file permission data. A cluster transport interface is provided that establishes links between the nodes and manages the links. Messages received by the cluster transports interface are conveyed to the destination node via one or more links. The configuration of a cluster may be modified during operation. Prior to modifying the configuration, a reconfiguration procedure suspends data access requests and waits for pending data access requests to complete. The reconfiguration is performed and the mapping is modified to reflect the new configuration. The node then updates the internal representation of the mapping and resumes issuing data access requests.
摘要:
A mechanism for securely decompiling representations of objects into copies of the objects is described. A virtual machine may include extensions for decompiling data representation language representations of objects into objects. The decompiler API may accept a data stream, which includes a representation of the object, and output a copy of the object. In one embodiment, during the decompilation of the representation of objects on a client, each message may be checked to verify that the user has access rights to the object. Access right information for the object may be embedded in the message(s) containing the representation of the object. In one embodiment, when the user is done using the client, the user may log off or otherwise signal the user is finished with the client. The client may detect that the user is finished, and may then proceed to delete objects created by decompilation of representations.
摘要:
A system and method for providing message-based leasing of resources in a distributed computing environment. Services may issue leases to clients and provide operations on those leases. The lease functionality of a service may be defined in an XML message schema. Gates may be used to perform lease operations. Leases may be granted for a period that may be negotiated. Leasing messages for performing leasing operations may be defined. The leasing messages may include messages to renew a lease and to cancel a lease. Leasing messages may include embedded credentials for authenticating the sender of the message. A client may embed a credential in messages sent to the service. The service may then authenticate the credential when received in a message from the client. The issuing and embedding of credentials in leasing messages may be used to provide a secure leasing environment, effectively prohibiting anyone but an authorized, credentialed client (and the service issuing the lease) from performing functions on the lease.
摘要:
A system and method of operating a client network computer in a disconnected mode. A client computer system includes a client storage device, a processor, a network interface, a failover server and a software manager. The processor is configured to execute software instructions stored in the client storage device. The network interface is configured to connect the client computer system to a remote network server unit. A failover server implemented on the client computer system is configured to provide functionality similar to the remote network server unit by accessing a copy of a network database file stored on the client storage device. A software manager stored in the client storage device is configured to cause the client computer system to connect to the remote network server unit if the remote network server unit is available or to cause the client computer system to connect to the failover server if the remote network server unit is not available. The remote network server unit is configured to provide a client cache image file to the client computer system. The client cache image file contains information, such as a copy of the operating system, a copy of client boot configuration files and a copy of the network database file, which causes the client computer system environment to appear to a user as though the client computer system is connected to the remote network server unit when the client computer system is actually connected to the failover server.
摘要:
A method and system for serializing a transient object-oriented database into a persistent form. The persistent form is a grammatical form, an expression of an object-oriented database in a textual form according to a grammar. The grammatical form is human-readable and human-editable. The grammar is designed to be platform-independent and programming-language-independent and therefore descriptive of any hierarchical object-oriented database. An object-oriented database is expressed as a plurality of entries in a transient, hierarchical, object-oriented form. The tree of entries is navigated and each entry is written to the persistent form as text according to the grammar. The serialized form stores only the key state of the database, not a “snapshot” of memory. Therefore, the persistent, serialized form is smaller than the in-memory, transient form of the object-oriented database. The object-oriented database is an object-oriented configuration database which stores configuration parameters pertaining to the software and hardware of a computer system, such as application programs, device drivers, system services, and other components. The object-oriented database is platform-independent and is therefore configured to be hosted on several different operating systems and computing platforms.