DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Double Patenting
The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969).
A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on nonstatutory double patenting provided the reference application or patent either is shown to be commonly owned with the examined application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. See MPEP § 717.02 for applications subject to examination under the first inventor to file provisions of the AIA as explained in MPEP § 2159. See MPEP §§ 706.02(l)(1) - 706.02(l)(3) for applications not subject to examination under the first inventor to file provisions of the AIA . A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b).
The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The filing date of the application in which the form is filed determines what form (e.g., PTO/SB/25, PTO/SB/26, PTO/AIA /25, or PTO/AIA /26) should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to www.uspto.gov/patents/process/file/efs/guidance/eTD-info-I.jsp.
Claims 21-47 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1-7, 15-17 and 19-20 of U.S. Patent No. US 10,866,943 B1. Although the claims at issue are not identical, they are not patentably distinct from each other because it would be obvious to one of ordinary skill in the art at the time of invention that the claims cover substantially the same subject matter.
The table below shows how each of these claims is anticipated by the claims of U.S. Patent No. US 10,866,943 B1.
Instant Application 18/402,704
U.S. Patent No. US 10,866,943 B1
21. A nontransitory computer readable medium having stored thereon software instructions that, when executed by one or more processors, cause the processors to perform operations including:
receiving, at a processor, a selection of one or more keyed rows of the computer data system data object,
the selection being within a graphical user interface;
1. A computer-implemented method for processing keyed row selection of a computer data system data object, the method comprising:
receiving, at a processor, a selection of one or more keyed rows of the computer data system data object,
the selection being received from a graphical user interface that is displaying at least a portion of data from the computer data system data object;
in response to receiving the selection, when the computer data system data object is keyed on a given key field, automatically selecting other rows in the computer data system data object having a key field that is within a predetermined threshold value of the given key field of the one or more keyed rows in the received selection;
in response to receiving the selection, when the computer data system data object is keyed on a given key field, automatically selecting other rows in the computer data system data object having a key field that is within a predetermined threshold value of the given key field of the one or more keyed rows in the received selection;
adding, using the processor, one or more key values corresponding to the selection to a selected key values set stored in a computer readable medium coupled to the processor;
adding, using the processor, one or more key values corresponding to the selection to a selected key values set stored in a computer readable medium coupled to the processor,
receiving, at the processor, an indication of an operation that utilizes data corresponding to the one or more key values;
receiving, at the processor, an indication of an operation that utilizes data corresponding to the one or more key values;
determining, at the processor, whether the data corresponding to the one or more key values is stored within a local data store;
determining, at the processor, whether the data corresponding to the one or more key values is stored within a local data store;
when the data corresponding to the one or more key values is stored within the local data store: retrieving, using the processor, the data corresponding to the one or more key values from the local data store, providing, using the processor, data retrieved from the local data store to an application;
when the data corresponding to the one or more key values is stored within the local data store: retrieving, using the processor, the data corresponding to the one or more key values from the local data store;
providing, using the processor, data retrieved from the local data store to an application;
determining, at the processor, whether a portion of the data corresponding to the one or more key values is not stored in the local data store and is stored in a remote data store;
determining, at the processor, whether a portion of the data corresponding to the one or more key values is not stored in the local data store and is stored in a remote data store;
when a portion of the data corresponding to the one or more key values is not stored in the local data store and is stored in the remote data store: requesting, using the processor, data from the remote data store, receiving, at the processor, at least a portion of requested data from the remote data store, and providing, using the processor, data received from the remote data store to the application;
when a portion of the data corresponding to the one or more key values is not stored in the local data store and is stored in the remote data store:
requesting, using the processor, data from the remote data store; receiving, at the processor, at least a portion of requested data from the remote data store; and providing, using the processor, data received from the remote data store to the application;
and persisting selected key values as selected based on the selection within the graphical user interface when the selection is no longer visible within a viewable area of the graphical user interface.
and persisting selected key values as selected based on the selection within the graphical user interface when the selection is no longer visible within a viewable area of the graphical user interface.
22. (New) The nontransitory computer readable medium of claim 21, the operations further comprising updating the graphical user interface based on the selection.
2. The computer-implemented method of claim 1,
further comprising updating the graphical user interface based on the selection.
23. (New) The nontransitory computer readable medium of claim 21, wherein the one or more key values are one or more of a single value or a composite of several values that specifically define the one or more keyed rows.
1. wherein the one or more key values are one or more of a single value or a composite of several values that specifically define the one or more keyed rows
24. (New) The nontransitory computer readable medium of claim 21, wherein providing data received from the local data store to the application and providing data received from the remote data store to the application include storing received data in a temporary working data store.
3. The computer-implemented method of claim 1, wherein
providing data received from the local data store to the application and
providing data received from the remote data store to the application include storing received data in a temporary working data store.
25. (New) The nontransitory computer readable medium of claim 21, the operations further comprising:
receiving an update to the computer data system data object, wherein the update includes a change to the selection; and performing an update on the selection based on the update to the computer data system data object.
4. The computer-implemented method of claim 1, further comprising:
receiving an update to the computer data system data object, wherein the update includes a change to the selection; and performing an update on the selection based on the update to the computer data system data object.
26. (New) The nontransitory computer readable medium of claim 21, wherein the data returned from the remote data store includes indexes for accessing data stored on remote data store.
5. The computer-implemented method of claim 1, wherein
the data returned from the remote data store includes indexes for accessing data stored on the remote data store.
27. (New) The nontransitory computer readable medium of claim 21, the operations further comprising:
receiving, at the processor, an indication that a new row has been added to the computer data system data object; determining, using the processor, whether the new row is within the selection based on the selected key values set;
and if the new row is part of the selection: updating, using the processor, the graphical user interface to indicate the new row is within the selection, and providing, from the processor, the new row to the application.
6. The computer-implemented method of claim 1, further comprising:
receiving, at the processor, an indication that a new row has been added to the computer data system data object; determining, using the processor,
whether the new row is within the selection based on the selected key values set;
and if the new row is part of the selection: updating, using the processor, the graphical user interface to indicate the new row is within the selection; and providing, from the processor, the new row to the application.
28. (New) The nontransitory computer readable medium of claim 21, the operations further comprising resetting the selected key values set when a new selection is received.
7. The computer-implemented method of claim 1, further comprising
resetting the selected key values set when a new selection is received.
29. (New) The nontransitory computer readable medium of claim 21, wherein at least part of the data corresponding to the one or more key values is not displayed within the graphical user interface.
15. wherein at least part of the data corresponding to the one or more key values is not displayed within the graphical user interface;
33. (New) The system of claim 30, wherein providing data received from the one or more data stores to the application includes storing received data in a temporary working data store.
3. The computer-implemented method of claim 1, wherein providing data received from the local data store to the application and providing data received from the remote data store to the application include storing received data in a temporary working data store.
35. (New) The system of claim 30, wherein the data retrieved from the one or more data stores includes data retrieved from the remote data store, and wherein the data retrieved from the remote data store includes indexes for accessing data stored on the remote data store.
15. retrieving, using the processor, the data corresponding to the one or more key values from the remote data store;
5. The computer-implemented method of claim 1, wherein the data returned from the remote data store includes indexes for accessing data stored on the remote data store.
37. (New) The system of claim 30, further comprising resetting the selected key values set when a new selection is received from the graphical user interface including adding to the selected key values set one or more new key values corresponding to the new selection received from the graphical user interface.
7. The computer-implemented method of claim 1, further comprising resetting the selected key values set when a new selection is received.
1. adding, using the processor, one or more key values corresponding to the selection to a selected key values set stored in a computer readable medium coupled to the processor,
40. (New) The computer-implemented method of claim 39, further comprising updating the graphical user interface based on the selection,
wherein the graphical user interface is updated in one of: according to a graphical user interface refresh rate or when processing allows for the update.
16. The computer-implemented method of claim 15, further comprising updating the graphical user interface based on the selection.
17. The computer-implemented method of claim 16, wherein the graphical user interface is updated in one of: according to a graphical user interface refresh rate or when processing allows for the update.
42. (New) The computer-implemented method of claim 39,
wherein the one or more key values is a composite of several values that specifically correspond to the one or more keyed rows.
19. The computer-implemented method of claim 15,
wherein the one or more key values is a composite of several values that specifically correspond to the one or more keyed rows.
43. (New) The computer-implemented method of claim 39,
wherein one or more changes to data corresponding to the selection does not change the one or more key values until the selected key values set is cleared.
20. The computer-implemented method of claim 15,
wherein one or more changes to data corresponding to the selection does not change the one or more key values until the selected key values set is cleared.
44. (New) The computer-implemented method of claim 39, wherein the data retrieved from the one or more data stores includes data retrieved from the remote data store, and wherein the data retrieved from the remote data store includes indexes for accessing data stored on the remote data store.
15. retrieving, using the processor, the data corresponding to the one or more key values from the remote data store; and
5. The computer-implemented method of claim 1, wherein the data returned from the remote data store includes indexes for accessing data stored on the remote data store.
46. (New) The computer-implemented method of claim 39, further comprising resetting the selected key values set when a new selection is received from the graphical user interface including adding to the selected key values set one or more new key values corresponding to the new selection received from the graphical user interface.
7. The computer-implemented method of claim 1, further comprising
resetting the selected key values set when a new selection is received.
1. adding, using the processor, one or more key values corresponding to the selection to a selected key values set stored in a computer readable medium coupled to the processor
Each patent claim in the above chart contains all the limitations recited in the corresponding claim of the current application. In other words, each patent claim is either 1) narrower than or 2) substantially equivalent to the corresponding claim of the instant application. It would have been obvious to a person of ordinary skill in the data processing art at the time the invention was made to omit elements when the remaining elements perform as before. A person of ordinary skill could have arrived at the present claims by omitting the details of the patent claims. See In re Karlson (CCPA) 136 USPQ 184, decided January 16, 1963 (“Omission of element and its function in combination is obvious expedient if remaining elements perform same functions as before.”).
Claims 30 and 39 correspond to claim 21 and are rejected accordingly.
Claim 31 corresponds to claim 22, is rejected accordingly.
Claim 32 correspond to claim 23, is rejected accordingly.
Claims 34 and 41 correspond to claim 25, are rejected accordingly.
Claims 36 and 45 correspond to claim 27, are rejected accordingly.
Claims 38 and 47 correspond to claim 29, are rejected accordingly.
Claim 37 corresponds to claim 46, is rejected accordingly.
Claims 21 – 47 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1-9, 13, 15, 17, 20, 22-24 and 26 of U.S. Patent No. 11860948B2. Although the claims at issue are not identical, they are not patentably distinct from each other because they are obvious variants of each other.
The chart below shows the correspondence between the claims in the current application and the patent claims.
Current Application 18/402,704
U.S. Patent No. 11860948B2
21. (New) A nontransitory computer readable medium having stored thereon software instructions that, when executed by one or more processors, cause the processors to perform operations including: receiving, at a processor, a selection of one or more keyed rows of the computer data system data object, the selection being within a graphical user interface;
in response to receiving the selection, when the computer data system data object is keyed on a given key field, automatically selecting other rows in the computer data system data object having a key field that is within a predetermined threshold value of the given key field of the one or more keyed rows in the received selection;
adding, using the processor, one or more key values corresponding to the selection to a selected key values set stored in a computer readable medium coupled to the processor;
receiving, at the processor, an indication of an operation that utilizes data corresponding to the one or more key values;
determining, at the processor, whether the data corresponding to the one or more key values is stored within a local data store;
when the data corresponding to the one or more key values is stored within the local data store:
retrieving, using the processor, the data corresponding to the one or more key values from the local data store, providing, using the processor, data retrieved from the local data store to an application;
determining, at the processor, whether a portion of the data corresponding to the one or more key values is not stored in the local data store and is stored in a remote data store;
when a portion of the data corresponding to the one or more key values is not stored in the local data store and is stored in the remote data store:
requesting, using the processor, data from the remote data store,
receiving, at the processor, at least a portion of requested data from the remote data store, and
providing, using the processor, data received from the remote data store to the application; and
persisting selected key values as selected based on the selection within the graphical user interface when the selection is no longer visible within a viewable area of the graphical user interface.
1. A nontransitory computer readable medium having stored thereon software instructions that, when executed by one or more processors, cause the processors to perform operations including: receiving, at a processor, a selection of one or more keyed rows of the computer data system data object, the selection being received from a graphical user interface that is displaying at least a portion of data from the computer data system data object;
in response to receiving the selection, when the computer data system data object is keyed on a given key field, automatically selecting other rows in the computer data system data object having a key field that is within a predetermined threshold value of the given key field of the one or more keyed rows in the received selection;
adding, using the processor, one or more key values corresponding to the selection to a selected key values set stored in a computer readable medium coupled to the processor;
receiving, at the processor, an indication of an operation that utilizes data corresponding to the one or more key values;
determining, at the processor, whether the data corresponding to the one or more key values is stored within a local data store;
when the data corresponding to the one or more key values is stored within the local data store:
retrieving, using the processor, the data corresponding to the one or more key values from the local data store,
providing, using the processor, data retrieved from the local data store to an application;
determining, at the processor, whether a portion of the data corresponding to the one or more key values is not stored in the local data store and is stored in a remote data store;
when a portion of the data corresponding to the one or more key values is not stored in the local data store and is stored in the remote data store:
requesting, using the processor, data from the remote data store,
receiving, at the processor, at least a portion of requested data from the remote data store, and
providing, using the processor, data received from the remote data store to the application; and
persisting selected key values as selected based on the selection within the graphical user interface when the selection is no longer visible within a viewable area of the graphical user interface.
22. (New) The nontransitory computer readable medium of claim 21, the operations further comprising updating the graphical user interface based on the selection.
2. The nontransitory computer readable medium of claim 1, the operations further comprising updating the graphical user interface based on the selection.
23. (New) The nontransitory computer readable medium of claim 21, wherein the one or more key values are one or more of a single value or a composite of several values that specifically define the one or more keyed rows.
3. The nontransitory computer readable medium of claim 1, wherein the one or more key values are one or more of a single value or a composite of several values that specifically define the one or more keyed rows.
24. (New) The nontransitory computer readable medium of claim 21, wherein providing data received from the local data store to the application and providing data received from the remote data store to the application include storing received data in a temporary working data store.
4. The nontransitory computer readable medium of claim 1, wherein providing data received from the local data store to the application and providing data received from the remote data store to the application include storing received data in a temporary working data store.
25. (New) The nontransitory computer readable medium of claim 21, the operations further comprising:
receiving an update to the computer data system data object, wherein the update includes a change to the selection; and performing an update on the selection based on the update to the computer data system data object.
5. The nontransitory computer readable medium of claim 1, the operations further comprising:
receiving an update to the computer data system data object, wherein the update includes a change to the selection; and
performing an update on the selection based on the update to the computer data system data object.
26. (New) The nontransitory computer readable medium of claim 21, wherein the data returned from the remote data store includes indexes for accessing data stored on remote data store.
6. The nontransitory computer readable medium of claim 1, wherein the data returned from the remote data store includes indexes for accessing data stored on remote data store.
27. (New) The nontransitory computer readable medium of claim 21, the operations further comprising:
receiving, at the processor, an indication that a new row has been added to the computer data system data object; determining, using the processor, whether the new row is within the selection based on the selected key values set; and
if the new row is part of the selection: updating, using the processor, the graphical user interface to indicate the new row is within the selection, and providing, from the processor, the new row to the application.
7. The nontransitory computer readable medium of claim 1, the operations further comprising:
receiving, at the processor, an indication that a new row has been added to the computer data system data object;
determining, using the processor, whether the new row is within the selection based on the selected key values set; and
if the new row is part of the selection:
updating, using the processor, the graphical user interface to indicate the new row is within the selection, and
providing, from the processor, the new row to the application.
28. (New) The nontransitory computer readable medium of claim 21, the operations further comprising resetting the selected key values set when a new selection is received.
8. The nontransitory computer readable medium of claim 1, the operations further comprising resetting the selected key values set when a new selection is received.
29. (New) The nontransitory computer readable medium of claim 21, wherein at least part of the data corresponding to the one or more key values is not displayed within the graphical user interface.
9. The nontransitory computer readable medium of claim 1, wherein at least part of the data corresponding to the one or more key values is not displayed within the graphical user interface.
33. (New) The system of claim 30,
wherein providing data received from the one or more data stores to the application includes storing received data in a temporary working data store.
13. The system of claim 10, wherein providing data received from the one or more data stores to the application includes storing received data in a temporary working data store.
35. (New) The system of claim 30, wherein the data retrieved from the one or more data stores includes data retrieved from the remote data store, and wherein the data retrieved from the remote data store includes indexes for accessing data stored on the remote data store.
15. The system of claim 10, wherein the data retrieved from the one or more data stores includes data retrieved from the remote data store, and wherein the data retrieved from the remote data store includes indexes for accessing data stored on the remote data store.
37. (New) The system of claim 30, further comprising resetting the selected key values set when a new selection is received from the graphical user interface including adding to the selected key values set one or more new key values corresponding to the new selection received from the graphical user interface.
17. The system of claim 10, further comprising resetting the selected key values set when a new selection is received from the graphical user interface including adding to the selected key values set one or more new key values corresponding to the new selection received from the graphical user interface.
40. (New) The computer-implemented method of claim 39, further comprising updating the graphical user interface based on the selection,
wherein the graphical user interface is updated in one of: according to a graphical user interface refresh rate or when processing allows for the update.
20. The computer-implemented method of claim 19, further comprising updating the graphical user interface based on the selection,
wherein the graphical user interface is updated in one of: according to a graphical user interface refresh rate or when processing allows for the update.
42. (New) The computer-implemented method of claim 39,
wherein the one or more key values is a composite of several values that specifically correspond to the one or more keyed rows.
22. The computer-implemented method of claim 19, wherein the one or more key values is a composite of several values that specifically correspond to the one or more keyed rows.
43. (New) The computer-implemented method of claim 39,
wherein one or more changes to data corresponding to the selection does not change the one or more key values until the selected key values set is cleared.
23. The computer-implemented method of claim 19, wherein one or more changes to data corresponding to the selection does not change the one or more key values until the selected key values set is cleared.
44. (New) The computer-implemented method of claim 39, wherein the data retrieved from the one or more data stores includes data retrieved from the remote data store, and wherein the data retrieved from the remote data store includes indexes for accessing data stored on the remote data store.
24. The computer-implemented method of claim 19, wherein the data
retrieved from the one or more data stores includes data retrieved from the remote data store, and wherein the data retrieved from the remote data store includes indexes for accessing data stored on the remote data store.
46. (New) The computer-implemented method of claim 39, further comprising resetting the selected key values set when a new selection is received from the graphical user interface including adding to the selected key values set one or more new key values corresponding to the new selection received from the graphical user interface.
26. The computer-implemented method of claim 19, further comprising resetting the selected key values set when a new selection is received from the graphical user interface including adding to the selected key values set one or more new key values corresponding to the new selection received from the graphical user interface.
Claims 30 and 39 correspond to claim 21 and are rejected accordingly.
Claim 31 corresponds to claim 22, is rejected accordingly.
Claim 32 correspond to claim 23, is rejected accordingly.
Claims 34 and 41 correspond to claim 25, are rejected accordingly.
Claims 36 and 45 correspond to claim 27, are rejected accordingly.
Claims 38 and 47 correspond to claim 29, are rejected accordingly.
Claim 37 corresponds to claim 46, is rejected accordingly.
Each patent claim in the above chart contains all the limitations recited in the corresponding claim of the instant application. In other words, each patent claim is either 1) narrower than or 2) substantially equivalent to the corresponding claim of the instant application. It would have been obvious to a person of ordinary skill in the data processing art at the time the invention was made to omit elements when the remaining elements perform as before. A person of ordinary skill could have arrived at the present claims by omitting the details of the patent claims. See In re Karlson (CCPA) 136 USPQ 184, decided January 16, 1963 (“Omission of element and its function in combination is obvious expedient if remaining elements perform same functions as before.”).
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claims 30 and 39 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor, or for pre-AIA the applicant regards as the invention.
Regarding independent claim 30, the claim recites “retrieving the data corresponding to the one or more key values from one or more data stores including a local data store and/or a remote data store;”. The phrase “and/or” renders the claim indefinite because it is unclear whether the claim intends one, the other, or both. The claim needs to be rephrased for clarity.
Claim 39 corresponds to claim 30, and is rejected accordingly.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 21-27, 29-36, 38-41, 44-45 and 47 are rejected under 35 U.S.C. 103 as being unpatentable over Dettinger (US 7,747,640) in view of Crawford (US 2017 /0329740) in view of Wong (US 2013/0166551) in further view of Groff (5,787,411)
Regarding claim 21, Dettinger discloses: A nontransitory computer readable medium having stored thereon software instructions that, when executed by one or more processors, cause the processors to perform operations including: receiving, at a processor, a selection of one or more keyed rows of the computer data system data object, the selection being within a graphical user interface; (See Dettinger , column 2, line 27, the method generally provides for receiving results for an executed query, wherein the results contain two or more rows and wherein each row contains a data value in a restricting data field (corresponding to keyed rows). The query and the results are stored. The method further provides for reeving a request to update a selected subset of two or more rows in the stored results (corresponding to a selection of one or more keyed rows) , the subset being less than all of the two or more rows, and retrieving the stored query from storage; see also column 2, line 48, the graphical user interface generally includes a listing of two or more results rows, the results rows obtained from a query, and a graphical selection element for each of the two or more results rows which may be used to select each of the two or more results rows individually.)
adding, using the processor, one or more key values corresponding to the selection to a selected key values set stored in a computer readable medium coupled to the processor; (See Dettinger, column 2, line 35, in response to the request, the retrieved query is modified to retrieve the selected subset of rows without retrieving remaining portion of the two or more rows, wherein modifying the retrieved query comprises inserting a first query condition into the retrieved query, wherein the first query condition contains the respective data value in the restricting data field for the selected subset of rows; column 20, line 2- Values in restricting fields may be referred to as restricting values. As an example of the use of restricting fields, if the user uses the graphical user interface 600 to select row 2 to be updated, and if the Test_Type column is designated as a restricting field, the modified query will only update rows with a matching identifier value (Patient_ID equal to 456) and a matching restricting value in the restricting field (Test_ Type equal to "Type A", where "Type A" is the restricting value). According to one embodiment of the invention, the user may be allowed to specify which columns in the query results should be used as restricting fields.)
receiving, at the processor, an indication of an operation that utilizes data corresponding to the one or more key values; (See Dettinger, column 2, line 32, the method further provides for receiving a request to update (corresponding to an operation) a selected subset of two or more rows in the stored results, the subset being less than all of the two or more rows, and retrieving the stored query from storage.)
and persisting selected key values as selected based on the selection within the graphical user interface when the selection is no longer visible within a viewable area of the graphical user interface. (See Dettinger, column 15, line 16, after the request to update the query has been received, the stored query may be retrieved at step 516 and the identifier values for the selected rows may be loaded at step 518. The stored query and the identifier values are retrieved in order to create a modified query which will update the selected rows without having to run the original query and update the entire set of results. At step 520, the query may be modified to retrieve the selected subset of rows using the respective identifier value for each of the selected rows.)
However Dettinger does not disclose:
in response to receiving the selection, when the computer data system data object is keyed on a given key field, automatically selecting other rows in the computer data system data object having a key field that is within a predetermined threshold value of the given key field of the one or more keyed rows in the received selection; determining, at the processor, whether the data corresponding to the one or more key values is stored within a local data store;
when the data corresponding to the one or more key values is stored within the local data store: retrieving, using the processor, the data corresponding to the one or more key values from the local data store, providing, using the processor, data retrieved from the local data store to an application; determining, at the processor, whether a portion of the data corresponding to the one or more key values is not stored in the local data store and is stored in a remote data store;
when a portion of the data corresponding to the one or more key values is not stored in the local data store and is stored in the remote data store: requesting, using the processor, data from the remote data store, receiving, at the processor, at least a portion of requested data from the remote data store, and providing, using the processor, data received from the remote data store to the application;
However Crawford discloses:
determining, at the processor, whether the data corresponding to the one or more key values is stored within a local data store; (Crawford, page 1, right column, line 2- determining if the first rkey value for the specified data object is in the local cache of the one distributed client;)
when the data corresponding to the one or more key values is stored within the local data store: retrieving, using the processor, the data corresponding to the one or more key values from the local data store, (See Crawford [0034] At 46, the client 14 calls getinlocalcache (lcachekey) and this is handled by the client cache library 40 which, at 50, looks up to see if the lcachekey is cached in the local cache 44. If lcachekey is in the local cache, then at 52, the client uses an ActiveMessaging RDMA given the cached values for server IP address, port ID, and memory address to fetch the object.)
providing, using the processor, data retrieved from the local data store to an application; (See Crawford, [0024] Embodiments of the invention provide an approach to speed up client data access to the object storage servers by caching the lookup keys locally on the client within the application execution space via a library; [0035] If an object is returned, then at 54 the client side library 16 compares the rkey appended at the end of the returned storeobj to the locally cached rkey. If the rkeys are the same, the RDMA-ed object is returned, at 56, to the client application caller;)
determining, at the processor, whether a portion of the data corresponding to the one or more key values is not stored in the local data store and is stored in a remote data store; when a portion of the data corresponding to the one or more key values is not stored in the local data store and is stored in the remote data store: requesting, using the processor, data from the remote data store, receiving, at the processor, at least a portion of requested data from the remote data store, and providing, using the processor, data received from the remote data store to the application; (See Crawford [0033], line 4- If the key is not in the local client cache 44, the client library 40 is responsible for retrieving the value from the remote store using the standard get( ) function supplied with the storage library and then inserting the new value for that key into the local cache; [0036] If the lcachekey is not in the local cache 44, then at 60 the client library 16 calls the standard storage library get(lcachekey) to retrieve the object. If the client side cache library 40 does call the generic get( )function, then at 70 the library 16 updates (or inserts) its local cache with the new lcachekey, rkey) pair. The obj is retrieved from the server storage using atomic operations (e.g. locks) and returned to the calling application on the client.)
Therefore, it would have been obvious to a person of ordinary skill in the art at the time of invention was made to incorporate the teaching of Dettinger with the teaching of Crawford provide both uniqueness of keys as well as speed retrieval of data and optimizing runtimes to reduce latency and increase throughput to continue to support new applications as well as to provide competitive cloud and data center infrastructures. (Crawford, paragraph [0038] and [0023]).
However Dettinger in view of Crawford does not clearly disclose:
in response to receiving the selection, when the computer data system data object is keyed on a given key field, automatically selecting other rows in the computer data system data object having a key field that is within a predetermined threshold value of the given key field of the one or more keyed rows in the received selection; and persisting selected key values as selected based on the selection within the graphical user interface when the selection is no longer visible within a viewable area of the graphical user interface.
However Wong discloses:
and persisting selected key values as selected based on the selection within the graphical user interface when the selection is no longer visible within a viewable area of the graphical user interface. (See Wong, Fig. 5; see also [0028] e.g. line 1-At S215, a selection of a portion of the result set is received. For example, a user may operate a mouse or other input device to select one or more cells of result set 310, and such a selection is received at S215. The selected portion is associated with one or more of the one or more dimensions of the result set, with one or more of the one or more key figures of the result set, and with one or more rows of the result set. [0030] Turning to FIG. 5, the user has right-clicked on one of the selected cells of result set 310 and context menu 500 is displayed in response. The "Create Cubit" option is selected and, as a result, dialog window 600 of FIG. 6 is displayed. Window 600 allows the user to "tag" the selected portion (i.e., the "cubit) with a title, description and keywords. [0033] the key figure values of the selected portion are stored in association with the metadata in repository 140 at S225; [0034] FIG. 7 depicts user interface 700 for managing the saved templates according to some embodiments. (Note: selection of one more rows of the result set can be saved by the "Create Cubit" option and can be saved as shown in Fig. 6 and can be viewed as shown in Fig. 7)
Therefore, it would have been obvious to a person of ordinary skill in the art at the time of invention was made to incorporate the teaching of Dettinger in view of Crawford with the teaching of Wong to facilitate the selection of a portion of a result set, and to facilitate further usage of the portion, (Wong, [0004]), and to define portions of a report for further usage (Wong, [0001]).
However Dettinger in view of Crawford in view of Wong does not clearly disclose:
in response to receiving the selection, when the computer data system data object is keyed on a given key field, automatically selecting other rows in the computer data system data object having a key field that is within a predetermined threshold value of the given key field of the one or more keyed rows in the received selection;
However Groff discloses:
in response to receiving the selection, when the computer data system data object is keyed on a given key field, automatically selecting other rows in the computer data system data object having a key field that is within a predetermined threshold value of the given key field of the one or more keyed rows in the received selection; (See Groff, see column 2, line 38- through use of a keyboard and/or pointing device (e.g., mouse), the user highlights particular displayed values in the cells presently displayed on the user's computer display screen. The user then indicates that the methods of the present invention are to automatically construct a query (filter) which selects records from the displayed table where the selected records are to be "LIKE" the highlighted cell( s ). The generated query (filter) is then applied to the records of the displayed table, all qualifying records are retrieved as required, and the resultant table (the selected records) are presented on the user's computer display; see also column 3, line 16- Still other methods of the present invention generate any "inner join" clauses required to compare the highlighted cell value to the stored values in a related table by use of a common key value underlying the displayed column values;)
Therefore, it would have been obvious to a person of ordinary skill in the art at the time of invention was made to incorporate the teaching of Dettinger in view of Crawford in view of Wong with the teaching of Groff in order to automatically generating selection/filtration commands in a database management system which is easily directed by input of a non-expert user (Groff, column 2, line 8) and generate an SQL select (filter) command to selectively retrieve those records from the displayed records which match the user's highlighted values. (Groff, Abstract)
Regarding claim 22, Dettinger in view of Crawford in view of Wong in further view of Groff discloses all of the features with respect to claim 21 as outlined above. Claim 22 further recites: updating the graphical user interface based on the selection. (See Dettinger, Fig. 7; see also column 2, line 53, the method further provides for receiving a request to update one or more selected rows from the two or more results rows, wherein the graphical selection element for each of the two or more results rows is used to individually select the one or more selected rows and modifying the query to retrieve the one or more selected rows without retrieving a remaining portion of the two or more results rows.)
Claim 31 corresponds to claim 22, and is rejected accordingly.
Regarding claim 23, Dettinger in view of Crawford in view of Wong in further view of Groff discloses all of the features with respect to claim 21 as outlined above. Claim 23 further recites: wherein the one or more key values are one or more of a single value or a composite of several values that specifically define the one or more keyed rows. (See Dettinger, column 2, line 35, in response to the request, the retrieved query is modified to retrieve the selected subset of rows without retrieving remaining portion of the two or more rows, wherein modifying the retrieved query comprises inserting a first query condition into the retrieved query, wherein the first query condition contains the respective data value in the restricting data field for the selected subset of rows; column 20, line 2- Values in restricting fields may be referred to as restricting values. As an example of the use of restricting fields, if the user uses the graphical user interface 600 to select row 2 to be updated, and if the Test_Type column is designated as a restricting field, the modified query will only update rows with a matching identifier value (Patient_ID equal to 456) and a matching restricting value in the restricting field (Test_ Type equal to "Type A", where "Type A" is the restricting value). According to one embodiment of the invention, the user may be allowed to specify which columns in the query results should be used as restricting fields.)
Claim 32 corresponds to claim 23, and is rejected accordingly.
Regarding claim 24, Dettinger in view of Crawford in view of Wong in further view of Groff discloses all of the features with respect to claim 21 as outlined above. Dettinger fails to disclose: wherein providing data received from the local data store to the application and providing data received from the remote data store to the application include storing received data in a temporary working data store.
However Crawford discloses:
wherein providing data received from the local data store to the application and providing data received from the remote data store to the application include storing received data in a temporary working data store.