Electrical computers and digital processing systems: multicomput – Computer-to-computer session/connection establishing
Reexamination Certificate
1999-08-17
2001-05-15
Geckil, Mehmet B. (Department: 2152)
Electrical computers and digital processing systems: multicomput
Computer-to-computer session/connection establishing
C709S228000
Reexamination Certificate
active
06233617
ABSTRACT:
TECHNICAL FIELD
This invention relates to a system and method for providing updates to a network of partially replicated relational database systems, and, more particularly, for providing efficient access to a database by a remote client using a networked proxy server.
BACKGROUND
Relational databases are a commonly-employed data structure for representing data in a business or other environment. A relational database represents data in the form of a collection of two-dimensional tables. Each table comprises a series of cells arranged in rows and columns. Typically, a row in a table represents a particular observation. A column represents either a data field or a pointer to a row in another table.
For example, a database describing an organizational structure may have one table to describe each position in the organization, and another table to describe each employee in the organization. The employee table may include information specific to the employee, such as name, employee number, age, salary, etc. The position table may include information specific to the position, such as the position title (“salesman”, “vice president”, etc.), a salary range, and the like. The tables may be related by, for example, providing in each row of the employee table a pointer to a particular row in the position table, coordinated so that, for each row in the employee table, there is a pointer to the particular row in the position table that describes that employee's position. A relational database management system (RDBMS) supports “joining” these tables in response to a query from a user, so that the user making a query about, for example, a particular employee, may be provided with a report of the selected employee, including not only the information in the employee table, but also the information in the related position table.
Relational databases may be much more complex than this example, with several tables and a multiplicity of relations among them.
With the widespread use of inexpensive portable computers, it is advantageous to replicate a database onto a portable computer for reference at locations remote from the central computer. The replicated database may then be referenced by the user of the portable computer, without requiring reference to the main database, which may be maintained at a central location inconvenient to the user of the portable computer. However, there are a number of difficulties with the use of a replicated database.
One disadvantage is that a fill copy of the central database may require more data storage than is desired or economical. For example, a salesman working in the field may need to refer to the database for information regarding sales opportunities in his sales area, but have no need to refer to any information regarding sales opportunities outside of his area. One possible approach to reduce the amount of required data storage is to simply replicate only that portion of the database that is needed by the user. However, this approach does not recognize that the criteria to determine which portions of the data are required is likely to vary over time. For example, the salesman may have a new city added to his territory. Under conventional approaches, the salesman would need to re-replicate his local copy of the database, this time selecting data including the added city. Such a practice is inconvenient, subject to error, and time-consuming.
A further disadvantage to a replicated database is the difficulties encountered in attempting to update data using the replicated copy. A change made to the replicated database is not made to the central database, leading to a discrepancy between the information that is stored in the replicated copy of the database and the information that is stored in the central database. Although it is possible to journal modifications made to the replicated copy and apply an identical modification to the central database, one problem that this approach faces is the possibility of colliding updates; that is, where a user of a replicated copy makes a change to data that is also changed by a user of the central copy of by the user of another replicated copy.
It is therefore desirable to provide a capability to maintain one or more partially-replicated copies of a central database, in such a way that the degree of replication may be easily changed without requiring a refresh of the entire replicated database, and that permits updates to be coordinated among users of the central database and users of the partially replicated databases. In addition, it is also desirable to provide access to the central database by the users of the partially replicated databases over a wide area network, so that it is not necessary for each user to call the central database directly. The ability to use the Internet, a commercial online provider's network, or even a corporate intranet, significantly increases the utility of the partially replicated databases by providing excellent connectivity at relatively minimal cost. Further, the software and the replicated databases may be integrated with other services which use the Internet.
SUMMARY OF THE INVENTION
The present invention is directed to a method of maintaining a partially replicated database in such a way that updates made to a central database, or to another partially replicated database, are selectively propagated to the partially replicated database. Updates are propagated to a partially replicated database if the owner of the partially replicated database is deemed to have visibility to the data being updated. Visibility is determined by use of predetermined rules stored in a rules database. In one aspect of the invention, the stored rules are assessed against data content of various tables that make up a logical entity, known as a docking object, that is being updated.
In another aspect of the invention, the stored rules are assessed against data content of one or more docking objects that are not necessarily updated, but that are related to a docking object being updated. In one embodiment, the visibility attributes of the related docking objects are recursively determined.
In yet another aspect of the invention, changes in visibility are determined to enable the central computer to direct the nodes to insert the docking object into its partially replicated database. Such changes in visibility are determined so as to enable the central computer to direct a node to remove a docking object from its partially replicated database.
In a further aspect of the invention, the predetermined rules are in declarative form and specify visibility of data based upon structure of the data without reference to data content.
In still another aspect of the invention, the transactions made to the database are ordered and processed in such a way as to reduce the computational resources required to calculate the visibility of the transactions.
In another aspect of the invention, the transactions are transmitted over the Internet and provided to a networked proxy server which transmits the requests to the central computer for database access.
In yet another aspect of the invention, security and access control are provided for secure transmissions over an insecure network.
REFERENCES:
patent: 5319710 (1994-06-01), Atalla et al.
patent: 5590199 (1996-12-01), Krajewski, Jr. et al.
patent: 5657390 (1997-08-01), Elgamal et al.
patent: 5757925 (1998-05-01), Faybishenko
patent: 5812668 (1998-09-01), Weber
patent: 5923756 (1999-07-01), Shambroom
patent: 5933503 (1999-08-01), Schell et al.
patent: 6029195 (2000-02-01), Herz
patent: 6041357 (2000-03-01), Kunzelman et al.
Atkins, et al., PGP Message Exchange Formats, RFC 1991, Aug. 1996.
DCE 1.1 Online Documentation, Transarc Corporation, 1996, pp. 1-34, http://www.ux1.eiu.edu/-csjay/dce/intro_to_dce_4.html.
Adam Shostack, “An Overview of SSL (Version 2),” http://www.homeport.org/~adam/ssl.html, May 1995.
Coker John L.
Rothwein Thomas M.
Geckil Mehmet B.
Siebel Systems Inc.
LandOfFree
Determining the visibility to a remote database client does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Determining the visibility to a remote database client, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Determining the visibility to a remote database client will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2571054