Electrical computers and digital processing systems: multicomput – Computer-to-computer data routing – Least weight routing
Reexamination Certificate
1996-07-29
2001-01-30
Banankhah, Majid (Department: 2755)
Electrical computers and digital processing systems: multicomput
Computer-to-computer data routing
Least weight routing
C709S241000
Reexamination Certificate
active
06182151
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention is related to the field of information and storage management and, more particularly, to a client/server system and method for storing a plurality of objects in an object store in a batch storage mode without making an intermediary copy of the object.
2. Description of the Related Art
Client/server object storage systems have been used to store and manage a wide variety of digital objects such as documents, graphics, audio, video, spread sheets and word-processing text. Such digital objects are known generally as binary large objects (blobs).
A conceptual view of a conventional client/server system is shown in FIG.
1
and includes a library server
10
, one or more object servers
20
and a library client
30
. Each of the library and object servers and the client includes an information store. That is, the library server
10
includes a library catalog
12
, the object server
20
includes an object store
22
and the library client
30
includes a client cache
32
, as shown in FIG.
2
. Also, a communications isolator (not shown) is included which allows the library server, object server and library client to communicate with one another without concern for complex communications protocols. The library server, object servers and clients are connected by a communications network, such as a wide-area network (WAN), but also can be locally connected via a local area network (LAN).
In the conventional client/server library system the library client is implemented on a workstation, such as a personal computer, and the library and object servers are implemented on a host processor.
The library clients
30
each send requests to the library server
10
to store, retrieve, and update objects stored in object servers
20
, and to update and query the object indices and descriptive information stored in library catalog
12
. Library client requests are generated by library patrons. These patrons are users who have been granted privileges for the use of the library system.
Two types of library servers have been used, a host based library server (HBLS) and a LAN based library server (LBLS). The HBLS, is a program that can be implemented on a mainframe computer in an IBM MVS/ESA environment running under Customer Information & Communication System (CICS). The library catalog with which it interacts can be implemented with an IBM DATABASE 2 (DB2) database.
Before a library client request is processed, library server
10
checks library catalog
12
to ensure that the patron's name and password are valid. Next, the library server ensures that the patron has been granted the appropriate privileges to perform the requested action. Each patron is assigned a set of privileges by a system administrator. An example of a library privilege is the ability to delete objects.
Finally, the library server checks to ensure that the object's owner has granted the patron the privileges needed to do what is requested (e.g., update the object). The owner of an object is the patron who first stored the object. When an owner stores an object that owner must specify which other patrons are to have access to the object.
Objects stored in the library system can be checked out by a patron for a specified period of time. This feature can be used to ensure that one patron's updates to an object are not overwritten by another. While an object is checked out by a patron, other patrons can retrieve the object and view it, but they cannot update it. In typical implementations, there are groups of individuals who need access to the same objects. Therefore, to simplify the process of granting access to objects a system administrator can define patrons as members of a group. When a patron is defined as a member of a group, that patron is able to access any object for which the group has been granted privileges. Additionally, patrons can access objects for which they have been specifically granted individual privileges. A patron can set default groups whose members will have access to the objects the patron stores. When patrons store objects, they have the option to use this default group, to grant specific privileges to groups and individual patrons, or to do both.
If a library client request involves the storage, retrieval, or update of an object, library server
10
forwards the request to the object server
20
that contains or will store the object(s) referred to in the request based upon information provided by library catalog
12
. If the library client request is a query of the information stored in library catalog
12
, library server
10
will interact only with library catalog
12
and will not contact object server
20
.
The library catalog is analogous to a conventional library's card catalog. It is a single set of database tables which contain an index of all the objects stored in the library system. In addition, it can store information such as textual descriptions for each object, information on the type of object (e.g., image object, spreadsheet, text document), library patron names and privileges, access authorization data for each object, links between objects. The library catalog can also store a virtually unlimited number of property type/property value pairs for each object (e.g., name/John, Age/35, Address/1 Greenway Drive). These property type/property value pairs are known as an object's properties.
An object server
20
maintains objects stored within the library system. Objects are stored or retrieved from an object store
22
by object server
20
. Object server
20
receives requests from library server
10
and communicates with library client
30
to complete the requests. Such a library system can contain several distributed object servers.
In the conventional library client/server system, object server
20
communicates with the library client
30
via the client cache
32
. That is, when an object server retrieves an object from library client
30
, it retrieves the object from the client cache
32
. Similarly, when sending an object to library client
30
, object server
20
places a copy of the object in client cache
32
.
Two types of object servers have been used, a host based object server (HBOS) and a LAN based object server (LBOS). The HBOS is a program implemented on a mainframe computer, for example in a MVS/ESA environment running under CICS. It interacts with the IBM Object Access Method (OAM) to provide object storage. The LBOS is a program implemented in a workstation, such as in an OS/2 environment, and provides object storage on a LAN.
When a library patrons's privileges are defined a default object server can be set for the patron. When a patron stores an object, it will be stored in the default object server for that patron. If it is later determined that an object or a group of objects should be relocated to a different object server, a client application can move the objects from one object server to another.
An LBOS can be located on any workstation having sufficient hardware resources and is connected to the library server. Furthermore, LBOS can be located at a site remote from the library server and local to the user. This allows selected objects to be stored close to a remote group of library patrons who will frequently use these objects. This capability is called distributed object storage. Distributed object storage helps to reduce the costs associated with sending objects over communications lines and provides better performance in storing and retrieving objects.
The HBOS interacts with IBM OAM to implement an object store that is maintained as a set of IBM DB2 tables. These DB2 tables can be monitored, backed up, and recovered using standard DB2 utilities. OAM is capable of managing its information store using a combination of direct access storage devices (DASD) and write once read many (WORM) optical storage.
LBOS implements its object store by using a combination of the LBOS workstation hard drives and an optional optical library subsystem (often called an opt
Cheng Hsiuying
Hu Jung-hsin
Lee Kyung B.
Banankhah Majid
Caldwell P. G.
International Business Machines - Corporation
Sughrue Mion Zinn Macpeak & Seas, PLLC
LandOfFree
Method and apparatus for batch storage of objects in a... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Method and apparatus for batch storage of objects in a..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for batch storage of objects in a... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2553938