← Back to Patent Explorer
US6446092B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Independent distributed database system

Assignee: Progress Software Corp
•
Filing: 1999-03-15
•
Granted: 2002-09-03
•
Expires: 2019-03-15
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

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.

Inventors

  • 👤 Herbert P. Sutter

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 04:23
CPC Classifications
G; G06; G06F; G06F21/00; G06F21/60; G06F21/62; G06F21/6218; G06F21/6227; G06F16/00; G06F16/20; G06F16/27; G06F16/273; Y; Y10; Y10S; Y10S707/00; Y10S707/99951; Y10S707/99952; Y10S707/99954

Claims Analysis

Total Claims: 58
Claim 1
Independent Claim 111 words
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 manipulating data independent of said other sites, and said data including a copy of data to be shared with said other sites; said sites having means for connecting to said network and communicating with other sites connected to the network; and said processing means including means for asynchronously propagating a copy of shared data stored locally by connecting to said network and transferring said shared data to other sites connected to the network so that said manipulated shared data is updated at said other sites.
Claim 2
Dependent Claim 111 words
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 manipulating data independent of said other sites, and said data including a copy of data to be shared with said other sites; said sites having means for connecting to said network and communicating with other sites connected to the network; and said processing means including means for asynchronously propagating a copy of shared data stored locally by connecting to said network and transferring said shared data to other sites connected to the network so that said manipulated shared data is updated at said other sites.
Claim 3
Dependent Claim 33 words
The distributed relational database system as claimed in claim 1 , wherein said database system comprises a plurality of activities and each of said activities comprises selected sites belonging to an activity group.
Claim 4
Dependent Claim 24 words
The distributed relational database system as claimed in claim 2 , wherein said activity group is defined by said sites collaborating on an activity.
Claim 5
Dependent Claim 30 words
The distributed relational database system as claimed in claim 3 , wherein each of said sites includes information pertaining to said activity, said information being stored locally at said site.
Claim 6
Dependent Claim 33 words
The distributed relational database system as claimed in claim 4 , wherein said information stored locally at each of said sites belonging to said activity group together forms a database for said activity.
Claim 7
Dependent Claim 48 words
The distributed relational database system as claimed in claim 3 , 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.
Claim 8
Dependent Claim 27 words
The distributed relational database system as claimed in claim 6 , wherein said fragments comprise fields and each of said fragments serves as a unit of replication.
Claim 9
Dependent Claim 19 words
The distributed relational database system as claimed in claim 7 , wherein said fields have a common update responsibility.
Claim 10
Dependent Claim 22 words
The distributed relational database system as claimed in claim 6 , further including means for securing an application for an activity group.
Claim 11
Dependent Claim 87 words
The distributed relational database system as claimed in claim 9 , wherein said means for securing includes a hierarchal 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 sites and users belonging to said application network or activity group.
Claim 12
Dependent Claim 27 words
The distributed relational database system as claimed in claim 10 , wherein said means for generating license certificates for said organization certification authority comprises a signing key.
Claim 13
Dependent Claim 41 words
The distributed relational database system as claimed in claim 10 , wherein said means for generating license certificates for sites and users belonging to said application network comprises a signing key for user certificates and a signing key for command certificates.
Claim 14
Dependent Claim 37 words
The distributed relational database system as claimed in claim 10 , wherein said means for generating license certificates for sites and users includes means for generating a site certificate for a new site added to said network.
Claim 15
Dependent Claim 25 words
The distributed relational database system as claimed in claim 13 , wherein said means for generating a site certificate comprises an application-site certification signing key.
Claim 16
Dependent Claim 25 words
The distributed relational database system as claimed in claim 9 , wherein said means for securing includes means for validating the integrity of a fragment.
Claim 17
Dependent Claim 33 words
The distributed relational database system as claimed in claim 15 , further including means for replacing an invalid fragment at one site with a valid version of said fragment replicated from another site.
Claim 18
Dependent Claim 48 words
The distributed relational database system as claimed in claim 15 , wherein said means for validating a fragment 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.
Claim 19
Dependent Claim 24 words
The distributed relational database system as claimed in claim 17 , wherein said encrypted field is derived from a fragHash value for said fragment.
Claim 20
Dependent Claim 25 words
The distributed relational database system as claimed in claim 9 , wherein said means for securing includes means for encrypting a field in a record.
Claim 21
Dependent Claim 27 words
The distributed relational database system as claimed in claim 19 , wherein said encrypted field is derived from a uniqueHash value for the field in said record.
Claim 22
Dependent Claim 23 words
The distributed relational database system as claimed in claim 9 , wherein said means for securing includes means for securing a local database.
Claim 23
Dependent Claim 23 words
The distributed relational database system as claimed in claim 21 , wherein said means for securing the local database comprises design-time security tables.
Claim 24
Dependent Claim 23 words
The distributed relational database system as claimed in claim 21 , wherein said means for securing the local database comprises run-time permissions tables.
Claim 25
Dependent Claim 29 words
The distributed relational database system as claimed in claim 23 , including means for applying permissions defined in said run-time permissions tables in groups to selected users or sites.
Claim 26
Dependent Claim 32 words
The distributed relational database system as claimed in claim 21 , further including means for determining a minimal set of cryptographic security keys for a selected user to work with said application.
Claim 27
Dependent Claim 32 words
The distributed relational database system as claimed in claim 6 , further including means for creating distributed records for said fragments and providing each of said distribution records with a unique identity.
Claim 28
Dependent Claim 34 words
The distributed relational database system as claimed in claim 26 , wherein said unique identity comprises a unique record identifier and a fragment number denoting the columns of the records that the fragment represents.
Claim 29
Dependent Claim 25 words
The distributed relational database system as claimed in claim 27 , wherein said means for creating distributed records includes means for allocating said unique identifiers.
Claim 30
Dependent Claim 44 words
The distributed relational database system as claimed in claim 2 , wherein an activity comprises a root record and a plurality of records directly or indirectly related to said root record, and said activity defines a shareable subset of data in the database system.
Claim 31
Dependent Claim 22 words
The distributed relational database system as claimed in claim 29 , wherein said activity includes an activity part comprising a selected table.
Claim 32
Dependent Claim 28 words
The distributed relational database system as claimed in claim 30 , wherein said activity part comprises a subset of columns belonging to one or more of said tables.
Claim 33
Dependent Claim 39 words
The distributed relational database system as claimed in claim 2 , 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.
Claim 34
Dependent Claim 20 words
The distributed relational database system as claimed in claim 32 , further including means for selectively mapping said spine sites.
Claim 35
Dependent Claim 31 words
The distributed relational database system as claimed in claim 33 , wherein said means for selectively mapping said spine sites comprises a spanning tree having nodes corresponding to said spine sites.
Claim 36
Dependent Claim 33 words
The distributed relational database system as claimed in claim 34 , further including means for reconfiguring said spanning tree, said means for reconfiguring being responsive to a node becoming unavailable to said network.
Claim 37
Dependent Claim 33 words
The distributed relational database system as claimed in claim 35 , wherein said spanning tree comprises a balanced tree having a minimum height and said nodes being weighted according to bandwidth and availability.
Claim 38
Dependent Claim 32 words
The distributed relational database system as claimed in claim 34 , further including means for removing a spine site from said spanning tree in response to a site leaving said activity group.
Claim 39
Dependent Claim 24 words
The distributed relational database system as claimed in claim 32 , further including means for selectively mapping said non-spine sites to said spine sites.
Claim 40
Dependent Claim 45 words
The distributed relational database system as claimed in claim 2 , 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.
Claim 41
Dependent Claim 44 words
The distributed relational database system as claimed in claim 39 , 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.
Claim 42
Dependent Claim 25 words
The distributed relational database system as claimed in claim 40 , wherein said fragments stored at said sites collectively form a database for said activity.
Claim 43
Dependent Claim 28 words
The distributed relational database system as claimed in claim 41 , wherein an activity comprises a root record and a plurality of records related to said root record.
Claim 44
Dependent Claim 39 words
The distributed relational database system as claimed in claim 41 , wherein said means for propagating comprises replication means for replicating selected fragments at other sites, and said selected fragments comprising most recent fragments as determined from said time-stamps.
Claim 45
Dependent Claim 27 words
The distributed relational database system as claimed in claim 43 , wherein said replication operation comprises a background data synchronization operation between sites connected to said network.
Claim 46
Dependent Claim 41 words
The distributed relational database system as claimed in claim 43 , wherein said time-stamp comprises a date and time field, and said date and time field is relative to said local clock at said site where said information unit is stored.
Claim 47
Dependent Claim 39 words
The distributed relational database system as claimed in claim 40 , 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.
Claim 48
Dependent Claim 78 words
The distributed relational database system as claimed in claim 46 , further including replicator means for replicating changes to selected fragments between said spine and non-spine sites, said replicator means comprising means at each non-spine 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 fragments to other non-spine sites which link with said spine sites.
Claim 49
Dependent Claim 27 words
The distributed relational database system as claimed in claim 47 , wherein said selected fragments comprise fragments having the most recent changes as determined from said time-stamps.
Claim 50
Dependent Claim 28 words
The distributed relational database system as claimed in claim 40 , further including compensating means for compensating drift in the local clocks for said sites in said network.
Claim 51
Dependent Claim 59 words
The distributed relational database system as claimed in claim 49 , wherein said clock drift compensating means comprises means for storing a past time difference between the clock at said site and the clocks of other sites, and means for comparing said past time difference to a current time difference and using said comparison for compensating said clock drift.
Claim 52
Dependent Claim 24 words
The distributed relational database system as claimed in claim 40 , further including means for generating a reference time between sites on said network.
Claim 53
Dependent Claim 78 words
The distributed relational database system as claimed in claim 51 , wherein said means for generating a reference time comprises means for sending a message from an initiator site to a sending site at a start time, and means for determining an arrival time when a reply message is received at said initiator site, and means for determining a reference time for said initiator site by calculating the midpoint for the interval from said start and arrival times.
Claim 54
Dependent Claim 39 words
The distributed relational database system as claimed in claim 40 , further including means for checking clocks of said sites comprising means for comparing clock readings at said sites with clock readings taken from a designated time keeping site.
Claim 55
Dependent Claim 44 words
The distributed relational database system as claimed in claim 1 , wherein said processing means includes a local clock and means for generating time-stamps for units of said information stored locally at said site, and said time-stamp providing an age for said information unit.
Claim 56
Dependent Claim 45 words
The distributed relational database system as claimed in claim 1 , further including means for specifying transactions to be utilized when applying changes at the destination site during the asynchronous propagation of updates to shared data from one of said sites to a destination site.
Claim 57
Dependent Claim 48 words
The distributed relational database system as claimed in claim 55 , wherein said means for specifying transactions comprises means for defining a group of one or more tables so that all the propagated updates to said group of tables are applied at said destination site in one transaction.
Claim 58
Dependent Claim 70 words
The distributed relational database system as claimed in claim 55 , wherein said means for specifying transactions comprises means for defining a set of related records organized as a tree, wherein said set includes a base record and a plurality of records directly or indirectly related to said base record so that all the propagated updates to said set of records are applied at said destination site in one transaction.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2005-09-02 2006-03-04 2006-09-03 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2009-09-02 2010-03-04 2010-09-03 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2013-09-02 2014-03-04 2014-09-03 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag