Independent distributed database system
First Claim
1. A distributed relational database system for a computer network, said system comprising:
- a plurality of sites;
each of said sites including processing means for storing and retrieving information locally and independent of said other sites, and wherein each of said sites is the logical peer of said other sites;
said sites having means for connecting to said network and communicating with other sites connected to the network;
said processing means including means for transferring selected information stored locally by connecting to said network and transferring said selected information to other sites connected to the network;
wherein said database system comprises a plurality of activities and each activitiectivities comprises selected sites belonging to an activity group;
wherein said sites comprise spine sites and non-spine sites, said spine sites exhibiting high availability to the network, and said non-spine sites exhibiting low availability to the network;
means for selectively manning said snine sites comprising a spanning tree having nodes corresponding to said spine sites; and
means for removing a spine site from said spanning tree in response to a site leaving said activity group.
6 Assignments
0 Petitions
Accused Products
Abstract
An independent distributed database system comprising a plurality of sites wherein all users at all sites work off-line with local data. All application transactions are against the local database only, and every site stores "all and only" the data it needs. On-line transactions occur only in the background, including a periodical "synch" between sites that transmits any changes to data of interest to that site. If the background operations are interrupted or the network is temporarily unavailable, the user does not see new changes made at other sites until the data link is available again, but is otherwise unaffected. It is a feature that no site acts as a "server" for any other site. Some sites may store more data or have more users than others, but all sites are logically peers.
-
Citations
31 Claims
-
1. A distributed relational database system for a computer network, said system comprising:
-
a plurality of sites; each of said sites including processing means for storing and retrieving information locally and independent of said other sites, and wherein each of said sites is the logical peer of said other sites; said sites having means for connecting to said network and communicating with other sites connected to the network; said processing means including means for transferring selected information stored locally by connecting to said network and transferring said selected information to other sites connected to the network; wherein said database system comprises a plurality of activities and each activitiectivities comprises selected sites belonging to an activity group; wherein said sites comprise spine sites and non-spine sites, said spine sites exhibiting high availability to the network, and said non-spine sites exhibiting low availability to the network; means for selectively manning said snine sites comprising a spanning tree having nodes corresponding to said spine sites; and means for removing a spine site from said spanning tree in response to a site leaving said activity group.
-
-
2. A distributed relational database system for a computer network, said system comprising:
-
a plurality of sites; each of said sites including processing means for storing and retrieving information locally and independent of said other sites, and wherein each of said sites is the logical peer of said other sites; said sites having means for connecting to said network and communicating with other sites connected to the network; said processing means including means for transfering selected information stored locally by connecting to said network and transferring said selected information to other sites connected to the network; wherein said database system comprises a plurality of activities and each of said activities comprises selected sites belonging to an activity group; wherein information is stored in tables, and said tables comprise columns and rows, and said tables are grouped into record fragments, each of said record fragments including one or more columns in a row; wherein said processing means includes a local clock and means for generating time-stamps for each of said fragments stored locally at said site, and said time-stamp providing an age for the corresponding fragment; and said means for transferring selected information comprises replication means for replicating selected fragments at other sites, and said selected fragments comprising most recent fragments as determined from said time-stamps. - View Dependent Claims (3, 4, 8)
-
-
5. A distributed relational database system for a computer network, said system comprising:
-
a plurality of sites; each of said sites including processing means for storing and retrieving information locally and independent of said other sites, and wherein each of said sites is the logical peer of said other sites; said sites having means for connecting to said network and communicating with other sites connected to the network; said processing means including means for transferring selected information stored locally by connecting to said network and transferring said selected information to other sites connected to the network; wherein said database system comprises a plurality of activities and each of said activities comprises selected sites belonging to an activity group; wherein information is stored in tables, and said tables comprise columns and rows, and said tables are grouped into record fragments, each of said record fragments including one or more columns in a row; wherein said processing means includes a local clock and means for generating time-stamps for each of said fragments stored locally at said site, and said time-stamp providing an age for the corresponding fragment; wherein said sites comprise spine sites and non-spine sites, said spine sites exhibiting high availability to the network, and said non-spine sites exhibiting low availability to the network; and replicator means for replicating changes to selected fragments between said spine and non-spine sites, said replicator means comprising means at each non-spite site for transmitting selected fragments to one of said spine sites, and said spine sites having means for sharing said selected fragments, and said spine sites including means for forwarding said shared data fragments to other non-spine sites which link with said spine sites. - View Dependent Claims (6)
-
-
7. A distributed relational database system for a computer network, said system comprising:
-
a plurality of sites; each of said sites including processing means for storing and retrieving information locally and independent of said other sites, and wherein each of said sites is the logical peer of said other sites; said sites having means for connecting to said network and communicating with other sites connected to the network; said processing means including means for transferring selected information stored locally by connecting to said network and transferring said selected information to other sites connected to the network; wherein said database system comprises a plurality of activities and each of said activities comprises selected sites belonging to an activity group; wherein said activity group is defined by said sites collaborating on an activity; wherein information is stored in tables, and said tables comprise a plurality of columns and rows, and said tables are grouped into record fragments, each of said record fragments including one or more columns in a row; means for securing an application for activity group; and wherein said means for securing includes a hierarchical trust structure comprising a trusted root, an organization certification authority and an application certification authority, said trusted root having means for generating license certificates for said organization certification authority, and said organization certification authority having means for generating license certificates for said application certification authority, and said application certification authority having means for generating license certificates for site and users belonging to said application network or activity group. - View Dependent Claims (9, 10, 11)
-
-
12. A distributed relational database system for a computer network, said system comprising:
-
a plurality of sites; each of said sites including processing means for storing and retrieving information locally and independent of said other sites and wherein each of said sites is the logical peer of said other sites; said sites having means for connecting to said network and communicating with other sites connected to the network; said processing means including means for transferring selected information stored locally by connecting to said network and transferring said selected information to other sites connected to the network; wherein said database system comprises a plurality of activities and each of said activities comprises selected sites belonging to an activity group; wherein said activity group is defined by said sites collaborating on an activity; wherein information is stored in tables, and said tables comprise a plurality of columns and rows, and said tables are grouped into record fragments, each of said record fragments including one or more columns in a row; means for securing an application for activity group including means for validating the integrity of a fragment; and wherein said means for validating comprises an encrypted field, and said site having means for generating said encrypted field, and said encrypted field being generated at the site at which the fragment was last changed. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A distributed relational database system for a computer network, said system comprising:
-
a plurality of sites; each of said sites including processing means for storing and retrieving information locally and independent of said other sites, and wherein each of said sites is the logical peer of said other sites; said sites having means for connecting to said network and communicating with other sites connected to the network; said processing means including means for transferring selected information stored locally by connecting to said network and transferring said selected information to other sites connected to the network; wherein said database system comprises a plurality of activities and each of said activities comprises selected sites belonging to an activity group; wherein said activity group is defined by said sites collaborating on an activity; wherein information is stored in tables, and said tables comprise a plurality of columns and rows, and said tables are grouped into record fragments, each of said record fragments including one or more columns in a row; means for creating distributed records for said fragments and providing each of said distribution records with a unique identity. - View Dependent Claims (22, 23)
-
-
24. In a distributed relational database system, a method for determining a reference time between sites belonging to said system and being coupled by a computer network, said sites having local processing means and time generators, said method comprising the steps of:
-
(a) sending a first message from an initiator site to a receiver site at a start time; (b) determining an arrival time when said first message is received at said receiver site; (c) said receiver site sending a second message to said initiator site in response to receipt of said first message; (d) determining a reply time when said second message is received at said initiator site; (e) said initiator site determining a reference time from the midpoint of the interval between said start and (f) said initiator site determining a reference time from the midpoint of the interval between said start and reply times, and said receiver site using said arrival time as its reference time.
-
-
25. In a distributed relational database system, a method for determining a reference time between sites belonging to said system and being coupled by a computer network, said sites having local processing means and clocks, said method comprising the steps of:
-
(a) sending a first message from an initiator site to a receiver site at a time t1; (b) said receiver site determining a time t2 when said first message is received; (c) said receiver site sending a second message at time t3 to said initiator site in response to receipt of said first message; (d) said initiator site determining a time t4 when said second message is received; (e) after said second message is received, said initiator site sending a third message at time t5 to said receiver site; (f) said receiver site determining a time t6 when said third message is received; (g) said initiator site determining a first time value by calculating a midpoint for the interval between said time t1 and said time t4, and generating a first time difference by comparing said first time value with said time t2 when said first message was received by said receiver site; (h) said receiver site determining a second time value by calculating a midpoint for the interval between said time t3 and said time t6, and said receiver site generating a second time difference by comparing said second time value with said time t4 when said second message was received by said initiator site; (i) averaging said first and second time differences to produce an average time difference, wherein said initiator site uses a reference time relative to its local clock, and said receiver site uses said average time difference to calculate a corresponding reference time relative to its local clock.
-
-
26. In a distributed relational database system comprising sites coupled by a computer network and the sites having local processing means and clocks, a method for checking the clocks at the sites, said method comprising the steps of:
-
(a) identifying a designated time keeper site from among said sites; (b) determining a time difference value between the clock of said designated time keeper site and the clock at the other site; (c) generating a time-stamp at said other site by off-setting the time of the local clock at said other site with said time difference value. - View Dependent Claims (27)
-
-
28. A method for securing information in a database, the information being stored in tables having columns and rows, and the information is grouped into record fragments and each of said fragments comprises one or more columns in a row, said method comprising the steps of:
-
(a) generating a digest of the contents of the fragment; (c) encrypting said stamp data value to produce an encrypted stamp data value, wherein said encrypting step uses an encryption key modified by information in said fragment.
-
-
29. A security structure in a distributed relational database system having a plurality of sites connected to a computer network and having means for communicating over the computer network, said security structure comprising:
-
(a) a trusted root, an organization certification authority, and an application certification authority; (b) said trusted root having means for generating license certificates for validating said organization certification authority; (c) said organization certification authority having means for generating license certificates for validating said application authority; and (d) said application certification authority having means for generating license certificates for selected sites wherein said selected sites belong to an application network and said selected sites use said license certificates for validating each other. - View Dependent Claims (30, 31)
-
Specification