Method and apparatus for copying data that resides in a database
Abstract
A consistent set of data is supplied to a software application from databases. When a particular set of data is identified, a first process is requested to obtain a snapshot time from a database server associated with the first database. The snapshot time causes all subsequent reads of the first database by the first process to return data that reflects a database state associated with the snapshot time. A first set of data in the first database is locked in order to produce a copy of data from a first database. After locking the first set of data, a plurality of processes are requested to obtain snapshot times from a database server associated with the first database. The snapshot time caused all subsequent reads of the first database by the plurality of processes to return data from the first database as of the snapshot times.
Claims
exact text as granted — not AI-modified1. A method for supplying a consistent set of data to a software application, the method comprising the steps of:
launching said software application;
identifying a particular set of data that is required by the software application;
requesting a firstcausing each process of a first set of two or more processes to obtain a snapshot time from a database server associated with a first database, wherein the snapshot time causes all subsequent reads of said first database by the first process to return data that reflects a database state associated with the snapshot timetimes obtained by the first set of processes are associated with a same state of the particular set of data;
after the first each process of the first set of processes obtains the a snapshot time, causing the first process set of processes to extract the particular set of data from the first database; and
supplying said software application with the particular set of data that was extracted from the first database.
causing the first set of processes to store a first copy of the particular set of data that is extracted from the first database in one or more files that are separate from the first database;
causing a second set of one or more processes to store a second copy of the particular set of data that is stored in the one or more files, wherein the second copy is stored separate from the first database, and wherein no process in the second set of processes is in the first set of processes; and
allowing the software application to access the second copy of the particular set of data.
2. The method of claim 1 , further comprising the step of causing a second process to store the particular set of data wherein the second copy is stored in a second database.
3. The method of claim 2 , wherein the step of causing the second process to store the particular set of data in the second database includes the steps of :
writing the particular set of data tothe one or more files include one or more flat files; and
executing a loader process,the second set of processes is a set of one or more loader processes, wherein the set of loader processprocesses loads the second copy of the particular set of data into the second database based on the first copy that is stored in from the one or more flat files to the second database .
4. The method of claim 3 , wherein the step of writing the particular set of data to one or more flat files includes further comprising the steps of:
each process of the first set of processprocesses informing a coordinator process when itsaid each process has finished writing data to a particular flat file of the one or more flat files; and
after each process of the first set of processes informs the coordinator process, the coordinator process using the information to tell theinforming each loader process of the set of loader processes when itsaid each loader process can begin loading the second copy of the particular set of data into the second database based on each of the one or more flat filefiles into the second database .
5. The method of claim 3 , wherein the step of :
writing the particular set of data to the flat file includes the step of writing the particular set of data tothe one or more flat files comprises a plurality of flat files; and
executing the loader process includes the step of executingthe set of loader processes comprises a plurality of loader processes, wherein the plurality of loader processes loadloads the particular set of data from the plurality of flat files to the second database.
6. The method of claim 2 , wherein the step of supplying said software application with data from said particular set of data includes further comprising the steps of:
said software application reading the second copy of the particular set of data stored in the second database; and
said software application generating a planning schedule based on the second copy of the particular set of data.
7. The method of claim 1 , wherein the step of identifying the particular set of data includes the step of creating a copy table list, wherein the copy table list contains entries that identify the particular set of data in the first database.
8. The method of claim 7 , further comprising the steps of:
executing a set of one or more delete process processes, wherein the set of delete process processes uses the copy table list to identify data that needs to be deleted in a second database; and
deleting the identified data from the second database.
9. The method of claim 7 , where wherein the step of creating the copy table list includes the steps of:
communicating with the software application to identifying identify a set of planning data, where wherein the planning data is required for generating a planning schedule; and
creating the copy table list based on the identified set of planning data.
10. The method of claim 1 , wherein the step of supplying said software application with data from said particular set of data includes the steps of:
writing the particular set of data to the one or more files include one or more flat files; , and the method further comprises the steps of:
supplyingallowing the software application to access the one or more flat files to said software application, whereinsuch that said software application generatescan generate a planning schedule based on information contained in the one or more flat files.
11. A method for producing a copy of data from a first database, the method comprising the steps of:
locking a first set of data in the first database;
after locking the first set of data,
requesting each process in a plurality of processes to obtain its own snapshot times time from a database server associated with said first database, wherein the snapshot times cause all subsequent reads of the first database by the plurality of processes to return data from the first database as of said snapshot times;
waiting a particular period of time for the plurality of processes to be assigned snapshot times;
releasing the locks on the first set of data in the first database;
using a successful set of said plurality of processes to extract a copy of the first set of data from the first database, wherein:
said successful set of said plurality of processes includes only those processes of the plurality of processes that were assigned a snapshot time within the particular period of time; and
before the successful set of said plurality of processes finishes extracting the copy of the first set of data, the state of the first set of data is changed; and
storing the copy of the first set of data separate from said first set of data.
12. The method of claim 11 , wherein the step of identifying the first set of data includes the step of creating a copy table list, wherein the copy table list contains entries that identify the first set of data in the first database.
13. The method of claim 12 , where wherein the step of creating the copy table list includes the steps of:
identifying a set of planning data, where wherein the planning data is required to generate a planning schedule; and
creating the copy table list based on the planning data required to generate the planning schedule.
14. The method of claim 12 , further comprising the steps of:
executing a plurality of delete processes, wherein the plurality of delete processes use uses the copy table list to identify data that needs to be deleted in a second database; and
deleting the identified data from the second database.
15. The method of claim 11 , wherein the step of storing the copy of the first set of data includes the steps of:
writing the copy of the first set of data to a plurality of flat files; and
executing a plurality of loader processes, wherein the plurality of loader processes load the copy of the first set of data from the plurality of flat files to a second database.
16. The method of claim 15 , wherein:
the steps of writing the copy of the first set of data to a the plurality of flat files further includes the step of notifying a coordinator process that data has been written to one of the plurality of flat files; and
the steps of executing the plurality of loader processes further includes the step of the coordinator, upon being notified that data has been written to one of the plurality of flat files, launching a loader process to load the first set of data from one of the plurality of flat files to the second database.
17. The method of claim 15 , wherein the step of writing the copy of the first set of data to the plurality of flat files includes the steps of:
the plurality of process processes informing a coordinator process when it the plurality of processes has finished writing data to a particular flat file; and
the coordinator process using the information to tell one of the plurality of loader processes when it said one of the plurality of loader processes can begin loading the particular flat file into the second database.
18. The method of claim 11 , wherein the step of requesting the plurality of processes to obtain a snapshot time times includes the step of requesting the plurality of processes based on a user input parameter, wherein the user input parameter identifies how many processes should be requested to obtain a snapshot time times.
19. The method of claim 11 , wherein the plurality of processes is a plurality of snapshot processes, and wherein the step of extracting the copy of the first set of data from the database includes the steps of:
assigning a set of copy data to the plurality of snapshot processes; and
retrieving data from the first database based on the set of copy data that was assigned to the plurality of snapshot processes.
20. The method of claim 11 , wherein the step of storing the copy of the first set of data includes the steps of storing the copy of the first set of data as blob files that are separate from said first set of data.
21. The method of claim 11 , wherein the step of storing the copy of the first set of data includes the steps of storing the copy of the first set of data in said first of data database.
22. A computer-readable medium carrying one ore more sequences of one or more instructions for supplying a consistent set of data to a software application, the one or more sequences of one or more instructions including instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of:
launching said software application;
identifying a particular set of data that is required by the software application;
requesting a firstcausing each process of a first set of two or more processes to obtain a snapshot time from a database server associated with a first database, wherein the snapshot time causes all subsequent reads of said first database by the first process to return data that reflects a database state associated with the snapshot timetimes obtained by the first set of processes are associated with a same state of the particular set of data;
after the first each process of the first set of processes obtains the a snapshot time, causing the first process set of processes to extract the particular set of data from the first database; and
supplying said software application with the particular set of data that was extracted from the first database.
causing the first set of processes to store a first copy of the particular set of data that is extracted from the first database in one or more files that are separate from the first database;
causing a second set of one or more processes to store a second copy of the particular set of data that is stored in the one ore more files, wherein the second copy is stored separate from the first database, and wherein no process in the second set of processes is in the first set of processes; and
allowing the software application to access the second copy of the particular set of data.
23. The computer-readable medium of claim 22 , wherein the computer-readable medium further comprises instructions for performing the step of causing a second process to store the particular set of data wherein the second copy is stored in a second database.
24. The computer-readable medium of claim 23 , wherein the step of causing the second process to store the particular set of data in the second database includes the steps of :
writing the particular set of data tothe one or more files include one or more flat files; and
executing a loader process,the second set of processes is a set of one or more loader processes, wherein the set of loader processprocesses loads the second copy of the particular set of data into the second database based on the first copy that is stored in from the one or more flat files to the second database .
25. The computer-readable medium of claim 24 , wherein the step of writing the particular set of data to one or more flat files includes further comprising instructions for performing the steps of:
each process of the first set of processprocesses informing a coordinator process when itsaid each process has finished writing data to a particular flat file of the one or more flat files; and
after each process of the first set of processes informs the coordinator process, the coordinator process using the information to tell theinforming each loader process of the set of loader processes when itsaid each loader process can begin loading the second copy of the particular set of data into the second database based on each of the one or more flat filefiles into the second database .
26. The computer-readable medium of claim 22 , wherein the step of identifying the particular set of data includes the step of creating a copy table list, wherein the copy table list contains certain entries that identify the particular set of data in the first database.
27. A computer-readable medium carrying one or more sequences of one or more instructions for producing a copy of data from a first database, the one or more sequences of one or more instructions including instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of:
locking a first set of data in the first database;
after locking the first set of data,
requesting each process in a plurality of processes to obtain its own snapshot times time from a database server associated with said first database, wherein the snapshot times cause all subsequent reads of the first database by the plurality of processes to return data from the first database as of said snapshot times;
waiting a particular period of time for the plurality of processes to be assigned snapshot times;
releasing the locks on the first set of data in the first database;
using a successful set of said plurality of processes to extract a copy of the first set of data from the first database, wherein:
said successful set of said plurality of processes includes only those processes of the plurality of processes that were assigned a snapshot time within the particular period of time; and
before the successful set of said plurality of processes finishes extracting the copy of the first set of data, the state of the first set of data is changed; and
storing the copy of the first set of data separate from said first set of data.
28. The computer-readable medium of claim 27 , wherein the step of identifying the first set of data includes the step of creating a copy table list, wherein the copy table list contains entries that identify the first set of data in the first database.
29. The computer-readable medium of claim 27 , wherein the step of storing the copy of the first set of data includes the steps of:
writing the copy of the first set of data to a plurality of flat files; and
executing a plurality of loader processes, wherein the plurality of loader processes load the copy of the first set of data from the plurality of flat files to a second database.
30. The computer-readable medium of claim 29 , wherein the step of writing the copy of the first set of data to the plurality of flat files includes the steps of:
the plurality of process processes informing a coordinator process when it the plurality of processes has finished writing data to a particular flat file; and
the coordinator process using the information to tell one of the plurality of loader processes when it said one of the plurality of loader processes can begin loading the particular flat file into the second database.
31. The computer-readable medium of claim 27 , wherein the plurality of processes is a plurality of snapshot processes, and wherein the step of extracting the copy of the first set of data from the database includes the steps of:
assigning a set of copy data to the plurality of snapshot processes; and
retrieving data from the first database based on the set of copy data that was assigned to the plurality of snapshot processes.
32. A computer system for supplying a consistent set of data to a software application, the computer system comprising:
a memory;
one or more processors coupled to the memory; and
a set of computer instructions contained in the memory, the set of computer instructions including computer instructions which when executed by the one or more processors, cause the one or more processors to perform the steps of:
launching said software application;
identifying a particular set of data that is required by the software application;
requesting a firstcausing each process of a first set of two or more processes to obtain a snapshot time from a database server associated with a first database, wherein the snapshot time causes all subsequent reads of said first database by the first process to return data that reflects a database state associated with the snapshot timetimes obtained by the first set of processes are associated with a same state of the particular set of data;
after the first each process of the first set of processes obtains the a snapshot time, causing the first process set of processes to extract the particular set of data from the first database; and
supplying said software application with the particular set of data that was extracted from the first database.
causing the first set of processes to store a first copy of the particular set of data that is extracted from the first database in one or more files that are separate from the first database;
causing a second set of one or more processes to store a second copy of the particular set of data that is stored in the one or more files, wherein the second copy is stored separate from the first database, and wherein no process in the second set of processes is in the first set of processes; and
allowing the software application to access the second copy of the particular set of data.
33. The computer system of claim 32 , further including instructions for performing the step of causing a second process to store the particular set of data wherein the second copy is stored in a second database.
34. The computer system of claim 33 , wherein the step of causing the second process to store the particular set of data in the second database includes the steps of :
writing the particular set of data tothe one or more files include one or more flat files; and
executing a loader process,the second set of processes is a set of one or more loader processes, wherein the set of loader processprocesses loads the second copy of the particular set of data into the second database based on the first copy that is stored in from the one or more flat files to the second database .
35. The computer system of claim 34 , wherein the step of writing the particular set of data to one or more flat files includes further comprising instructions for performing the steps of:
each process of the first processset of processes informing a coordinator process when itsaid each process has finished writing data to a particular flat file of the one or more flat files; and
after each process of the first set of processes informs the coordinator process, the coordinator using the information to tell theprocess informing each loader process of the set of loader processes when itsaid each loader process can begin loading the second copy of the particular set of data into the second database based on each of the one or more flat filefiles into the second database .
36. The computer system of claim 32 , wherein the step of identifying the particular set of data includes the step of creating a copy table list, wherein the copy table list contains entries that identify the particular set of data in the first database.
37. A computer system for producing a copy of data from a first database, the computer system comprising:
a memory;
one or more processors coupled to the memory; and
a set of computer instructions contained in the memory, the set of computer instructions including computer instructions which when executed by the one or more processors, cause the one or more processors to perform the steps of:
locking a first set of data in the first database;
after locking the first set of data,
requesting each process in a plurality of processes to obtain its own snapshot times time from a database server associated with said first database, wherein the snapshot times cause all subsequent reads of the first database by the plurality of processes to return data from the first database as of said snapshot times;
waiting a particular period of time for the plurality of processes to be assigned snapshot times;
releasing the locks on the first set of data in the first database;
using a successful set of said plurality of processes to extract a copy of the first set of data from the first database, wherein:
said successful set of said plurality of processes includes only those processes of the plurality of processes that were assigned a snapshot time within the particular period of time; and
before the successful set of said plurality of processes finishes extracting the copy of the first set of data, the state of the first set of data is changed; and
storing the copy of the first set of data separate from said first set of data.
38. The computer system of claim 37 , wherein the step of identifying the first set of data includes the step of creating a copy table list, wherein the copy table list contains entries that identify the first set of data in the first database.
39. The computer system of claim 37 , wherein the step of storing the copy of the first set of data includes the steps of:
writing the copy of the first set of data to a plurality of flat files; and
executing a plurality of loader processes, wherein the plurality of loader processes load the copy of the first set of data from the plurality of flat files to a second database.
40. The computer system of claim 39 , wherein the step of writing the copy of the first set of data to the plurality of flat files includes the steps of:
the plurality of process processes informing a coordinator process when it the plurality of processes has finished writing data to a particular flat file; and
the coordinator process using the information to tell one of the plurality of loader processes when it said one of the plurality of loader processes can begin loading the particular flat file into the second database.
41. The computer system of claim 37 , wherein the plurality of processes is a plurality of snapshot processes, and wherein the step of extracting the copy of the first set of data from the database includes the steps of:
assigning a set of copy data to the plurality of snapshot processes; and
retrieving data from the first database based on the set of copy data that was assigned to the plurality of snapshot processes.
42. A method for extracting data from a first database, the method comprising the steps of:
causing each process in a set of two or more processes to obtain its own snapshot time that cause all subsequent reads of the first database by each process in the set of processes to return data from a same state of at least a portion of the first database as will be returned to all other processes in the set of processes; causing the set of processes to extract a copy of the portion of the first database; and wherein before the set of processes finish extracting said copy, the state of the portion of the first database is changed.
43. The method of claim 42 , wherein the set of processes are included in a plurality of processes, and the step of causing the set of processes to obtain snapshot times comprises the step of:
causing the plurality of processes to attempt to obtain snapshot times that cause all subsequent reads of the first database by each process of the plurality of processes that successfully obtains one of the snapshot times to return data from the same state of at least the portion of the first database as will be returned to all other processes of the plurality of processes that successfully obtain one of the snapshot times.
44. The method of claim 43 , wherein at least one process of the plurality of processes falls to one of the snapshot times within a particular period of time.
45. The method of claim 42 , wherein each process of the set of processes obtains a snapshot time by sending a request for a snapshot time to a database management system that is associated with the first database and that assigns a snapshot time in response to the request.
46. The method of claim 42 , wherein each process of the set of processes is assigned to extract a particular subset of the portion from the first database.
47. The method of claim 42 , wherein each process of the set of processes obtains a snapshot time within a particular period of time.
48. The method of claim 47 , wherein the set of processes does not begin to extract the copy of the portion until after expiration of the particular period of time.
49. The method of claim 47 , wherein at least one process of the set of processes begins to extract the copy of the portion prior to expiration of the particular period of time.
50. The method of claim 47 , further comprising the step of:
locking the portion of the first database during the particular period of time.
51. The method of claim 42 , further comprising the step of:
using a set transaction read only command such that each process of the set of processes can obtain a snapshot time.
52. The method of claim 42 , further comprising the step of:
storing the copy separate from the portion.
53. The method of claim 52 , wherein the step of storing the copy comprises the step of:
sorting the copy in a second database.
54. The method of claim 53 , wherein step of storing the copy in the second database comprises the step of:
storing the copy as one or more large binary objects in the second database.
55. The method of claim 52 , wherein the step of storing the copy comprises the step of:
storing the copy in the first database.
56. The method of claim 55 , wherein the step of storing the copy in the first database comprises the step of:
storing the copy as one or more large binary objects in the first database.
57. The method of claim 42 , wherein the copy is a first copy and the set of two or more processes is a first set of two or more processes, and wherein the method further comprises the steps of:
causing the first copy to be stored into one or more files by the first set of processes; and requesting each process of a second set of one or more processes to load a second copy into a second database, wherein the second copy is based on the first copy stored in the one or more files.
58. The method of claim 57 , wherein:
the one or more files include one or more flat files; the first set of two or more processes includes a set of two or more snapshot worker processes; the second set of one or more processes includes a set of one or more loader worker processes; and the second database is a snapshot table database.
59. The method of claim 57 , further comprising the steps of:
each process of the first set of processes informing a coordinator process when said each process of the first set of processes has finished writing to a particular file of the one or more files; and after each process of the first set of processes informs the coordinator process, the coordinator process informing each process of the second set of processes when said each process of the second set of processes can begin loading the second copy to the second database.
60. The method of claim 57 , further comprising the steps of:
allowing an application to read the second copy that is stored in the second database, wherein the application generates a schedule based on data within the second copy.
61. The method of claim 42 , further comprising the steps of:
causing the first copy to be stored into one or more files by the set of processes; and allowing an application to read the first copy that is stored in the one or more files, wherein the application generates a schedule based on data within the first copy.
62. The method of claim 42 , further comprising the step of:
using a list of database tables to identify the portion of the first database.
63. The method of claim 62 , wherein the set of processes uses the list of database tables to extract the copy from the first database.
64. The method of claim 62 , wherein the list of database tables is a copy table list that is generated by one process of the set of processes, and wherein the method further comprises the steps of:
requesting each process of a third set of processes to identify and delete, based on the copy table list, data from a second database.
65. The method of claim 62 , further comprising the steps of:
communicating with an application to identify a set of data for generating a schedule; and causing the list of database tables to be created based on the identified set of data.
66. A computer- readable medium carrying one or more sequences of one or more instructions for extracting data from a first databases, the one or more sequences of one or more instructions including instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of: causing each processor a set of two or more processes to obtain its own snapshot time that cause all subsequent reads of the first database by each process in the set of processes to return data from a same state of at least a portion of the first database as will be returned to all other processes in the set of processes; causing the set of processes to extract a copy of the portion of the first database; and wherein before the set of processes finish extracting said copy, the state of the portion of the first database is changed.
67. The computer- readable medium of claim 66 , wherein the set of processes are included in a plurality of processes, and the step of causing the set of processes to obtain snapshot times comprises the step of: causing the plurality of processes to attempt to obtain snapshot times that cause all subsequent reads of the first database by each process of the plurality of processes that successfully obtains one of the snapshot times to return data from the same state of at least the portion of the first database as will be returned to all other processes of the plurality of the processes that successfully obtain one of the snapshot times.
68. The computer- readable medium of claim 66 , wherein at least one process of the plurality of processes fails to one of the snapshot times within a particular period of time.
69. The computer- readable medium of claim 66 , wherein each process of the set of processes obtains a snapshot time by sending a request for a snapshot time to a database management system that is associated with the first database and that assigns a snapshot time in response to the request.
70. The computer- readable medium of claim 66 , wherein each process of the set of processes is assigned to extract a particular subset of the portion from the first database.
71. The computer- readable medium of claim 66 , wherein each process of the set of processes obtains a snapshot time within a particular period of time.
72. The computer- readable medium of claim 71 , wherein the set of processes does not begin to extract the copy of the portion until after expiration of the particular period of time.
73. The computer- readable medium of claim 71 , wherein at least one process of the set of processes begins to extract the copy of the portion prior to expiration of the particular period of time.
74. The computer- readable medium of claim 66 , further comprising instructions for performing the step of: locking the portion of the first database during the particular period of time.
75. The computer- readable medium of claim 66 , further comprising instructions for performing the step of: using a set transaction read only command such that each process of the set of processes can obtain a snapshot time.
76. The computer- readable medium of claim 66 , further comprising instructions for performing the step of: storing the copy separate from the portion.
77. The computer- readable medium of claim 76 , wherein the step of storing the copy comprises the step of: storing the copy in a second database.
78. The computer- readable medium of claim 77 , wherein step of storing the copy in the second database comprises the step of: storing the copy as one or more large binary objects in the second database.
79. The computer- readable medium of claim 76 , wherein the step of storing the copy comprises the step of: storing the copy in the first database.
80. The computer- readable medium of claim 79 , wherein step of storing the copy in the first database comprises the step of: storing the copy as one or more large binary objects in the first database.
81. The computer- readable medium of claim 66 , wherein the copy is a first copy and the set of two or more processes is a first set of two or more processes, and further comprising instructions for performing the steps of: causing the first copy to be stored into one or more files by the first set of processes; and requesting each process of a second set of one or more processes to load a second copy into a second database, wherein the second copy is based on the first copy stored in the one or more files.
82. The computer- readable medium of claim 81 , wherein: the one or more files include one or more flat files; the first set of two or more processes includes a set of two or more snapshot worker processes; the second set of one or more processes includes a set of one or more loader worker processes; and the second database is a snapshot table database.
83. The computer- readable medium of claim 81 , further comprising instructions for performing the steps of: each process of the first set of processes informing a coordinator process when said each process of the first set of processes has finished writing to a particular file of the one or more files; and after each process of the first set of processes informs the coordinator process, the coordinator process informing each process of the second set of processes when said each process of the second set of processes can begin loading the second copy to the second database.
84. The computer- readable medium of claim 81 , further comprising instructions for performing the step of: allowing an application to read the second copy that is stored in the second database, wherein the application generates a schedule based on data within the second copy.
85. The computer- readable medium of claim 66 , further comprising instructions for performing the steps of: causing the first copy to be stored into one or more files by the set of processes; and allowing an application to read the first copy that is stored in the one or more files, wherein the application generates a schedule based on data within the first copy.
86. The computer- readable medium of claim 66 , further comprising instructions for performing the steps of: using a list of database tables to identify the portion of the first database.
87. The computer- readable medium of claim 86 , wherein the set of processes uses the list of database tables to extract the copy from the first database.
88. The computer- readable medium of claim 86 , wherein the list of database tables is a copy table list that is generated by one process of the set of processes, and further comprising instructions for performing the step of: requesting each process of a third set of processes to identify and delete, based on the copy table list, data from a second database.
89. The computer- readable medium of claim 86 further comprising instructions for performing the steps of: communicating with an application to identify a set of data for generating a schedule; and causing the list of database tables to be created based on the identified set of data.
90. The method of claim 1 , wherein the set of two or more processes includes at least two processes that obtain different shapshot times.
91. The method of claim 11 , wherein the plurality of processes includes at least two processes that obtain different shapshot times.
92. The computer- readable medium of claim 22 , wherein the two or more processes includes at least two processes that obtain different shapshot times.
93. The computer- readable medium of claim 27 , wherein the plurality of processes includes at least two processes that obtain different shapshot times.
94. The computer system of claim 32 , wherein the set of two or more processes includes at least two processes that obtain different shapshot times.
95. The computer system of claim 37 , wherein the plurality of processes includes at least two processes that obtain different shapshot times.
96. The method of claim 42 , wherein the set of two or more processes includes at least two processes that obtain different shapshot times.
97. The computer- readable medium of claim 66 , wherein the set of two or more processes includes at least two processes that obtain different shapshot times.Join the waitlist — get patent alerts
Track USRE39549E — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.