Persistent storage interface for a configuration...

Data processing: database and file management or data structures – Database design – Data structure types

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C707S793000, C707S793000, C709S203000, C709S219000, C709S250000, C709S241000

Reexamination Certificate

active

06233582

ABSTRACT:

CROSS-REFERENCE TO RELATED APPLICATIONS
This application is related to U.S. patent application Ser. No. 09/079,042, filed on May 14, 1998, entitled “PERSISTENT STORAGE MANAGERS FOR CONFIGURATION CLIENT/SERVER ENVIRONMENTS;” U.S. patent application Ser. No. 09/079,501, now U.S. Pat. No. 6,161,125, filed on May 14, 1998, entitled “A GENERIC SCHEMA FOR STORING CONFIGURATION INFORMATION ON A CLIENT COMPUTER;” U.S. patent application Ser. No. 09/079,102, filed on May 14, 1998, entitled “METHOD AND APPARATUS FOR A CORE APPLICATION PROGRAMMING INTERFACE;” U.S. patent application Ser. No. 09/079,499, now U.S. Pat. No. 6,119,157, filed on May 14, 1998, entitled “A PROTOCOL FOR EXCHANGING CONFIGURATION DATA IN A COMPUTER NETWORK;” and U.S. patent application Ser. No. 09/079,500, now U.S. Pat. No. 6,052,720 filed on May 14, 1998, entitled “A GENERIC SCHEMA FOR STORING CONFIGURATION INFORMATION ON A SERVER COMPUTER;” and U.S. Provisional Application No. 60/085,425, filed on May 14, 1998, entitled “JAVA SYSTEM DATABASE,” which are all incorporated herein by reference.
BACKGROUND OF THE INVENTION
1. Field of Invention
The present invention relates generally to client-server systems. More particularly, the present invention relates to methods and apparatus for enabling a system database server to interact with a persistent subsystem.
2. Description of the Related Art
The use of networked computing systems is increasing as the use of personal computers is becoming more prevalent. By networking, or otherwise linking, computer systems together, resources such as software applications may be shared by multiple users, i.e., computer systems. The sharing of resources over a network generally enables each networked user to more efficiently utilize and allocate resources that are local to the user.
In an effort to consolidate resources in a networked computing system, network computers are being developed. Network computers are generally systems which are arranged to access and operate using mostly remote databases and resources. Typically, a platform such as a network computer does not have local access to a writable storage device, e.g., a disk drive. As such, a user who uses a network computer may access and store information on a system database, e.g., a remote system database, that is shared by any number of users. As a result, it is not necessary for the network computer to, for example, have significant writable local storage capabilities.
In a system of network computers which share a system database, data, or entries, may be stored transiently and persistently. A transient entry is a volatile entry that is lost whenever the system database or a network computer associated with the system database crashes, or is shut down. Transient entries are typically entries that are dynamically reconstructed whenever the associated network computer is restarted. Therefore, transient entries are not permanently stored with respect to the system database. A persistent entry is a non-volatile entry and, hence, must be stored in a persistent storage location. One example of a persistent entry is configuration information, which is often a hierarchical structure of objects. Configuration information is information that is related to user environments, e.g., environments associated with specific network computers. In general, when a user logs on to a network computer, the last saved environment associated with the user must generally be retrieved in order to prevent the user from having to reset the environment. As such, persistently storing information related to the environment allows the information to be retrieved.
Persistent information may be stored on a variety of different persistent agents. As mentioned above, a platform such as a network computer generally will not have access to a local, writable storage device. Therefore, a network computer or, more specifically, a client, must effectively interact with a remote server to implement persistency. The remote server then interacts with a persistent agent, or a persistent storage subsystem, to access and store persistent data. The persistent agents include, but are not limited to, databases, directory services, and file systems.
In order for a server to interact with a persistent agent to retrieve, modify, or store entries on the persistent agent, a mapping mechanism is generally defined to transfer configuration information into a format suitable for storage on the persistent agent. For each persistent agent, a specific mapping mechanism must typically be used to transfer configuration information into a suitable format for the particular persistent agent. As a result, persistent agents are typically not “pluggable,” as one persistent agent is not necessarily compatible with another persistent agent. In other words, the mapping mechanism used for one persistent agent may not be used with another persistent agent.
Maintaining different mapping mechanisms, or persistent storage application programming interfaces (APIs), for different persistent agents is often inefficient, as the different mapping mechanisms are not generic. In other words, one mapping mechanism may not be used to support substantially any persistent agent. The inefficiency may further be due, at least partially, to code bloat, since separate mapping mechanisms must generally be separately coded for use with each persistent agent. In addition, the inefficiency may be due to the fact that a server, or a system database, may only support certain persistent agents for which mapping mechanisms are available, i.e., available with respect to the server.
Therefore, what is needed is a generic and efficient persistent storage API. In other words, what is desired is a persistent storage API which defines a mapping that may be used with a variety of different persistent storage agents.
SUMMARY OF THE INVENTION
The present invention relates to a persistent storage interface that may be used to store entries into a variety of different storage subsystems. According to one aspect of the present invention, an object-based system which is arranged to store and to retrieve configuration information includes a server and a client that is in communication with the server. The client communicates with the server using a client/server protocol. The system also includes at least one persistent agent that is arranged to store persistent entries, as well as a persistent storage application programming interface that allows the server to communicate with the at least one persistent agent. The persistent storage application programming interface is arranged to support multiple persistent agents such that different persistent agents may be used with respect to the system.
In one embodiment, the multiple persistent agents include a persistent database and a Java Naming and Directory Interface. In such an embodiment, the multiple persistent agents may further include a lightweight directory access protocol. In another embodiment, the persistent storage application programming interface further includes a mechanism arranged to store mapping information associated with a persistent entry. The mapping information is arranged to enable the persistent entry to be transferred from the server to the persistent agent.
According to another aspect of the present invention, a persistent storage application programming interface for a configuration object-based system is arranged to allow persistent information to be transferred between a server of the object-based system and a first persistent agent. The persistent storage application programming interface is further arranged to generate a representation of the persistent information that is suitable for use with respect to the first persistent agent. Such a persistent storage application programming interface includes methods that allow the server to access the first persistent agent as well as additional persistent agents which may be different from the first persistent agent. The methods include methods that define a transaction interface, a method that allows informatio

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Persistent storage interface for a configuration... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Persistent storage interface for a configuration..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Persistent storage interface for a configuration... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2514014

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.