Distributed redundant database
First Claim
1. A distributed redundant database architecture for storing a plurality of files, comprising:
- a first set of processors each having a shared memory, said processors being divided into processor groups, each processor of a particular processor group having access to the shared memory of each of the other processors within the particular processor group;
a memory storage device coupled to each processor group, each memory storage device being simultaneously accessible by processors in its respective processor group;
said plurality of files each having a plurality of records, and being assigned to said processor groups and further to said processors in each processor group to achieve a substantially even distribution;
said plurality of files being stored in said memory storage devices of respective assigned processor groups, and further being mapped into said respective shared memories of said processors; and
a database manager associated with said processor groups for managing the distribution of said plurality files to said processors.
7 Assignments
0 Petitions
Accused Products
Abstract
A distributed redundant database architecture (10) primarily for storing a plurality of wireless service subscriber files (84, 86) is provided. The database architecture (10) include a first set of processors (44 46, 48) each having a shared memory (72, 74, 76), where the processors (44, 46, 48) are divided into processor groups (38, 40, 42). A memory storage device (80, 82) is coupled to each processor group (38, 40, 42) in a multi-initiator mode so that each memory storage device (80, 82) is accessible by the processors (44, 46, 48) in its respective processor group (38, 40, 42). The plurality of subscriber files (84, 86) are assigned to the processor groups (38, 40, 42) and further assigned to the processors (44, 46, 48) in each processor group (38, 40, 42) to achieve a substantially even distribution. The plurality of subscriber files are stored in the memory storage devices (80, 82) of respective assigned processor groups (38, 40, 42), and are mapped into the respective shared memories (72, 74, 76) of the processors. A database manager (52, 54, 66) associated with the processors and processor groups is provided for managing the distribution and redistribution of the subscriber files to the processors. A second set of similarly configured processors residing at a remote site (14) maintains a second copy of the subscriber files (84, 86) to provide database backup.
-
Citations
49 Claims
-
1. A distributed redundant database architecture for storing a plurality of files, comprising:
-
a first set of processors each having a shared memory, said processors being divided into processor groups, each processor of a particular processor group having access to the shared memory of each of the other processors within the particular processor group; a memory storage device coupled to each processor group, each memory storage device being simultaneously accessible by processors in its respective processor group; said plurality of files each having a plurality of records, and being assigned to said processor groups and further to said processors in each processor group to achieve a substantially even distribution; said plurality of files being stored in said memory storage devices of respective assigned processor groups, and further being mapped into said respective shared memories of said processors; and a database manager associated with said processor groups for managing the distribution of said plurality files to said processors. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A distributed redundant database architecture for storing a plurality of files, comprising:
-
a first set of processors each having a shared memory, said processors being divided into processor groups; a memory storage device coupled to each processor group, each memory storage device being simultaneously accessible by processors in its respective processor group; said plurality of files each having a plurality of records, and being assigned to said processor groups and further to said processors in each processor group to achieve a substantially even distribution; said plurality of files being stored in said memory storage devices of respective assigned processor groups, and further being mapped into said respective shared memories of said processors; and a database manager associated with said processor groups for managing the distribution of said plurality files to said processors, wherein each file is associated with a Red-Black Tree data structure having a plurality of nodes corresponding to a plurality of records of the file, said nodes of said Red-Black Tree being organized for speedy searches to facilitate quick location and access of corresponding records in said file.
-
-
13. A distributed redundant database architecture for storing a plurality of files, comprising:
-
a first set of processors each having a shared memory, said processors being divided into processor groups; a memory storage device coupled to each processor group, each memory storage device being simultaneously accessible by processors in its respective processor group; said plurality of files each having a plurality of records, and being assigned to said processor groups and further to said processors in each processor group to achieve a substantially even distribution; said plurality of files being stored in said memory storage devices of respective assigned processor groups, and further being mapped into said respective shared memories of said processors; and a database manager associated with said processor groups for managing the distribution of said plurality files to said processors, wherein said memory storage devices are multi-port disks.
-
-
14. A distributed redundant database architecture for storing a plurality of files, comprising:
-
a first set of processors each having a shared memory, said processors being divided into processor groups; a memory storage device coupled to each processor group, each memory storage device being simultaneously accessible by processors in its respective processor group; said plurality of files each having a plurality of records, and being assigned to said processor groups and further to said processors in each processor group to achieve a substantially even distribution; said plurality of files being stored in said memory storage devices of respective assigned processor groups, and further being mapped into said respective shared memories of said processors; and a database manager associated with said processor groups for managing the distribution of said plurality files to said processors, wherein said memory storage devices are coupled in a multi-initiator mode with said processor group.
-
-
15. A distributed redundant database architecture for storing a plurality of files, comprising:
-
a first set of processors each having a shared memory, said processors being divided into processor groups; a memory storage device coupled to each processor group, each memory storage device being simultaneously accessible by processors in its respective processor group; said plurality of files each having a plurality of records, and being assigned to said processor groups and further to said processors in each processor group to achieve a substantially even distribution; said plurality of files being stored in said memory storage devices of respective assigned processor groups, and further being mapped into said respective shared memories of said processors; and a database manager associated with said processor groups for managing the distribution of said plurality files to said processors, wherein said memory storage device is partitioned into X filesystems, said files being generally evenly distributed among said filesystems. - View Dependent Claims (16)
-
-
17. A distributed redundant database architecture for a wireless communications network, comprising:
first and second service control points, each service control point servicing one half of wireless service subscribers, each service control point including; a first set of processors each having a shared memory, said processors being divided into processor groups, each processor of a particular processor group having access to the shared memory of each of the other processors within the particular processor group, said processors of said processor groups being assigned subscriber files having records containing subscriber information, said files being substantially evenly distributed among said processors in each processor group; a pair of mirrored memory storage devices coupled to each processor group, each pair of mirrored memory storage device being accessible by its respective processor group; said subscriber files being stored in said pairs of mirrored memory storage devices of respective assigned processor groups, and further being mapped into said respective shared memories of said processors; and a database manager associated with said processor groups for managing the distribution of said files to said processors. - View Dependent Claims (18, 19, 20, 21, 22)
-
23. A distributed redundant database architecture for a wireless communications network, comprising:
-
first and second service control points, each service control point servicing one half of wireless service subscribers, each service control point including; a first set of processors each having a shared memory, said processors being divided into processor groups, said processors of said processor groups being assigned subscriber files having records containing subscriber information, said files being substantially evenly distributed among said processors in each processor group; a pair of mirrored memory storage devices coupled to each processor group, each pair of mirrored memory storage device being accessible by its respective processor group; said subscriber files being stored in said pairs of mirrored memory storage devices of respective assigned processor groups, and further being mapped into said respective shared memories of said processors; and a database manager associated with said processor groups for managing the distribution of said files to said processors; and first and second database synchronization processes associated with said first and second service control points respectively for transmitting updated transient data, such as subscriber location, in said subscriber files to one another.
-
-
24. A distributed redundant database architecture for a wireless communications network, comprising:
first and second service control points, each service control point servicing one half of wireless service subscribers, each service control point including; a first set of processors each having a shared memory, said processors being divided into processor groups, said processors of said processor groups being assigned subscriber files having records containing subscriber information, said files being substantially evenly distributed among said processors in each processor group; a pair of mirrored memory storage devices coupled to each processor group, each pair of mirrored memory storage device being accessible by its respective processor group; said subscriber files being stored in said pairs of mirrored memory storage devices of respective assigned processor groups, and further being mapped into said respective shared memories of said processors; and a database manager associated with said processor groups for managing the distribution of said files to said processors, wherein each subscriber file is associated with a Red-Black Tree data structure having a plurality of nodes corresponding to a plurality of records of the subscriber file, said nodes of said Red-Black Tree being organized for speedy searches to facilitate quick location and access of corresponding records in said subscriber file.
-
25. A distributed redundant database architecture for a wireless communications network, comprising:
first and second service control points, each service control point servicing one half of wireless service subscribers, each service control point including; a first set of processors each having a shared memory, said processors being divided into processor groups, said processors of said processor groups being assigned subscriber files having records containing subscriber information, said files being substantially evenly distributed among said processors in each processor group; a pair of mirrored memory storage devices coupled to each processor group, each pair of mirrored memory storage device being accessible by its respective processor group; said subscriber files being stored in said pairs of mirrored memory storage devices of respective assigned processor groups, and further being mapped into said respective shared memories of said processors; and a database manager associated with said processor groups for managing the distribution of said files to said processors, wherein said mirrored memory storage devices are multi-port disks.
-
26. A distributed redundant database architecture for a wireless communications network, comprising:
first and second service control points, each service control point servicing one half of wireless service subscribers, each service control point including; a first set of processors each having a shared memory, said processors being divided into processor groups, said processors of said processor groups being assigned subscriber files having records containing subscriber information, said files being substantially evenly distributed among said processors in each processor group; a pair of mirrored memory storage devices coupled to each processor group, each pair of mirrored memory storage device being accessible by its respective processor group; said subscriber files being stored in said pairs of mirrored memory storage devices of respective assigned processor groups, and further being mapped into said respective shared memories of said processors; and a database manager associated with said processor groups for managing the distribution of said files to said processors, wherein said mirrored memory storage devices are coupled to said processors in each processor group in a multi-initiator mode.
-
27. A distributed redundant database architecture for a wireless communications network, comprising:
first and second service control points, each service control point servicing one half of wireless service subscribers, each service control point including; a first set of processors each having a shared memory, said processors being divided into processor groups, said processors of said processor groups being assigned subscriber files having records containing subscriber information, said files being substantially evenly distributed among said processors in each processor group; a pair of mirrored memory storage devices coupled to each processor group, each pair of mirrored memory storage device being accessible by its respective processor group; said subscriber files being stored in said pairs of mirrored memory storage devices of respective assigned processor groups, and further being mapped into said respective shared memories of said processors; and a database manager associated with said processor groups for managing the distribution of said files to said processors, wherein said mirrored memory storage devices are each partitioned into X filesystems, said files being generally evenly distributed among said filesystems. - View Dependent Claims (28, 29)
-
30. A method for organizing data storage and access in a database, comprising the steps of:
-
organizing data in said database into a plurality of files, each file having a file index and contain a plurality of records; providing a first set of processors and dividing said processors into processor groups, each processor group coupled to a memory storage device, each processor within a particular processor group having a shared memory that is accessible by every other processor within the particular processor group; assigning said plurality of files to said processor groups and further to said processors in each processor group in an evenly distributed manner; and storing said assigned files in said memory storage device of each processor group according to said assignment, and mapping said files assigned to each processor from said memory storage device to the shared memory of each processor. - View Dependent Claims (31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43)
-
-
44. A method for organizing data storage and access in a database, comprising the steps of:
-
organizing data in said database into a plurality of files, each file having a file index and contain a plurality of records; providing a first set of processors and dividing said processors into processor groups, each processor group coupled to a memory storage device; assigning said plurality of files to said processor groups and further to said processors in each processor group in an evenly distributed manner; and storing said assigned files in said memory storage device of each processor group according to said assignment, and mapping said files assigned to each processor from said memory storage device to a shared memory of each processor; receiving data updates with reference to specific files; consulting a route table for file assignment to processors; and updating data stored in said shared memory of said processors assigned to said specific files; updating data stored in said memory storage device with data stored in said shared memories of each processor in said respective processor group, wherein said data updating step includes the steps of; initializing a synchronization timer; copying at least a portion of a file at the expiration of said synchronization timer to said memory storage device; and resetting said synchronization timer and repeating said copying and timer resetting steps to copy all files.
-
-
45. A method for organizing data storage and access in a database, comprising the steps of:
-
organizing data in said database into a plurality of files, each file having a file index and contain a plurality of records; providing a first set of processors and dividing said processors into processor groups, each processor group coupled to a memory storage device; assigning said plurality of files to said processor groups and further to said processors in each processor group in an evenly distributed manner; storing said assigned files in said memory storage device of each processor group according to said assignment, and mapping said files assigned to each processor from said memory storage device to a shared memory of each processor; synchronizing the data stored in shared memories of said first and second sets of processors; marking each record containing modified data as dirty as the data is being modified, said files having a plurality of records; transferring a copy of all dirty record of all the files to a buffer; and transmitting the buffer to said second set of processors. - View Dependent Claims (46)
-
-
47. A method for organizing data storage and access in a database, comprising the steps of:
-
organizing data in said database into a plurality of files, each file having a file index and contain a plurality of records; providing a first set of processors and dividing said processors into processor groups, each processor group coupled to a memory storage device; assigning said plurality of files to said processor groups and further to said processors in each processor group in an evenly distributed manner; and storing said assigned files in said memory storage device of each processor group according to said assignment, and mapping said files assigned to each processor from said memory storage device to a shared memory of each processor; associating a file index with each file; storing information on a wireless service subscriber in a record in one of said files; associating a personal subscriber number with said wireless service subscriber; and performing a modulo operation on said personal subscriber number to compute for said file index thereof.
-
-
48. A method for organizing data storage and access in a database, comprising the steps of:
-
organizing data in said database into a plurality of files, each file having a file index and contain a plurality of records; providing a first set of processors and dividing said processors into processor groups, each processor group coupled to a memory storage device; assigning said plurality of files to said processor groups and further to said processors in each processor group in an evenly distributed manner; and storing said assigned files in said memory storage device of each processor group according to said assignment, and mapping said files assigned to each processor from said memory storage device to a shared memory of each processor; associating each record of a file with a node in a Red-Black Tree data structure; and searching among nodes of said Red-Black Tree data structure to locate a specific record. - View Dependent Claims (49)
-
Specification