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 .
DETAILED ACTION
Response to Amendment
This Office Action is in response to the amendment filed on 01/16/26.
The applicant’s remarks and amendments to the claims were considered and results as
follow: THIS ACTION IS MADE FINAL.
Claims 1, 9, 17, 18, 19 and 20 have been amended. No claims have been cancelled. No claims have been added. As a result, claims 1-20 now pending in this office action.
Applicant’s amendments to claims 17-20 with respect to the rejection of
under 35 U.S.C. 101 has been fully considered. Therefore the 101 rejections has been
withdrawn.
Claim Rejections - 35 U.S.C. §103
5. In the event the determination of the status of the application as subject to AIA 35
U.S.C. §§ 102 and 103 (or as subject to pre-AIA 35 U.S.C. §§ 102 and 103) is incorrect,
any correction of the statutory basis for the rejection will not be considered a new
ground of rejection if the prior art relied upon, and the rationale supporting the rejection,
would be the same under either status.
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 1-2, 5, 9-10, 13 and 17-18 are rejected under 35 U.S.C. 103 as being unpatentable over Bagal et al. (US 2012/0221768 A1) in view of Kevorkian (US 2019/0179648 A1).
Regarding claim 1, Bagal teaches a data storage method, the method comprising:
deploying a database at a server, the database, (See Bagal paragraph [0041], the memory requirements in such multi-tenancy deployment is for administrators to allocate a small portion of volatile memory to the private buffer cache of each database instance), including a plurality of first data tables stored in a persistent storage space of the server, (See Bagal paragraph [0048], A database server process (or a "database server") is allocated computational resources such as memory and CPU time in order to perform one or more functionalities such as data management functions (including, but not limited to, reading data blocks from the persistent storage device(s)…to allocate disk space for databases and tables), and a second data table stored in a cache space of the server, (See Bagal paragraph [0029], the second instance first causes its clean data blocks to be stored in the common cache), the second data table, configured to store incremental data to be written to a first data table, (See Bagal paragraph [0015], the second data block was last written to the one or more storage devices; causing the second data block to be stored in the common cache); and
writing the incremental data in the second data table to the first data table in the persistent storage space, (See Bagal paragraph [0013], After the clean data item has been stored in the common cache, the data-processing instance removes the clean data item from its private cache in order to free up space for storing the additional data item(s) that need to be read from the persistent storage device(s).),
creating a new second data table corresponding to the metadata that changes, (See Bagal paragraph [0048], modify data in the data blocks stored in the private cache of the database instance)…processing queries and requests to create databases and tables), and recording newly obtained incremental data in the second data table, (See Bagal paragraph [0055], database instance 206A or a process thereof retrieves the lock incarnation number for this data block from the lock structure 212A corresponding to this data block. The lock incarnation number for a data block is a value that is incremented each time the data block is modified).
Bagal does not explicitly disclose in response to that metadata corresponding to a data table in the database changes, setting the second data table to change from a modifiable state to an unmodifiable state.
However Kevorkian teaches in response to that metadata corresponding to a data table in the database changes, (See Kevorkian paragraph [0003], the user interface updated by at least applying a first rule from the plurality of rules, and the update to the user interface comprising a change to a visibility, a modifiability, and/or an allowed value of a second parameter of the algorithm for processing data in the database), setting the second data table to change from a modifiable state to an unmodifiable state, (See Kevorkian paragraph [0007], the first rule may indicate that the second parameter unmodifiable based at least on the first input value associated with the first parameter. The update to the user interface may include setting the second parameter to one or more fixed values in the updated user interface).
It would have been obvious to one with ordinary skill in the art before the
effective filing date of the claimed invention was made, to modify in response to that metadata corresponding to a data table in the database changes, setting the second data table to change from a modifiable state to an unmodifiable state of Kevorkian for providing dynamic user interfaces for predictive data analytics.
Claim 17 recites the same limitations as claim 1 above. Therefore,
Claim 17 is rejected based on the same reasoning.
Regarding claim 2, Bagal taught the method of according to claim 1, as described above. Bagal further teaches wherein the deploying the database, includes deploying a metadata manager, (See Bagal paragraph [0037], management described herein may be implemented for multiple database instances that are deployed on the same computing device), the metadata manager configured to maintain metadata, (See Bagal paragraph [0051], allocated to block metadata 222, which stores block-identifying data for the data blocks stored in common cache 220), corresponding to a data table in the database and an identifier of the metadata, (See Bagal paragraph [0051], processing queries and requests to create databases and tables, to allocate disk space for databases and tables), wherein the first data table stores an identifier of first metadata corresponding to the first data table, (See Bagal paragraph [0040], a relational table that stores employee data in three columns named "ID", "first_name", and "last_name", a particular data row can store values for an employee ID, a first name, and a last name for a particular employee), and the second data table stores an identifier of second metadata corresponding to the second data table, See Bagal paragraph [0040], a relational table that stores employee data in three columns named "ID", "first_name", and "last_name", a particular data row can store values for an employee ID, a first name, and a last name for a particular employee).
Claims 10 and 18 recites the same limitations as claim 2 above. Therefore,
Claims 10 and 18 are rejected based on the same reasoning.
Regarding claim 5, Bagal taught the method of according to claim 2, as described above. Bagal further teaches further comprising:
determining that the metadata corresponding to the data table in the database changes in response to at least one of, (See Bagal paragraph [0048], perform various operations and transactions that read, insert, delete, and modify data…processing queries and requests to create databases and tables):
the metadata that corresponds to data table in the database and that is maintained by the metadata manager changes, (See Bagal paragraph [0048], processing queries and requests to create databases and tables, to allocate disk space for databases and tables, and/or to create and maintain user login information, role information); or
metadata corresponding to the incremental data that is newly obtained is different from the metadata corresponding to the second data table, (See Bagal paragraph [0055], database instance 206A or a process thereof retrieves the lock incarnation number for this data block from the lock structure 212A corresponding to this data block. The lock incarnation number for a data block is a value that is incremented each time the data block is modified).
Claim 13 recites the same limitations as claim 5 above. Therefore,
Claim 13 is rejected based on the same reasoning.
Regarding claim 9, Bagal teaches an electronic device, comprising one or more storage devices, one or more processors, (See Bagal paragraph [0075], a hardware processor), and a computer program that is stored, individually or collectively, in the one or more storage devices and that is capable of running on the one or more processors, (See Bagal paragraph [0075], one or more general purpose hardware processors programmed to perform the techniques pursuant to program instructions), wherein when the one or more processors executes the program, the one or more processors are enabled to, (See Bagal paragraph [0077], instructions to be executed by processor 404), individually or collectively, implement a database at a server, the database including a plurality of first data tables stored in a persistent storage space of the server, (See Bagal paragraph [0013], After the clean data item has been stored in the common cache, the data-processing instance removes the clean data item from its private cache in order to free up space for storing the additional data item(s) that need to be read from the persistent storage device(s)), and a second data table stored in a cache space of the server, (See Bagal paragraph [0029], the second instance first causes its clean data blocks to be stored in the common cache) the second data table configured to store incremental data to be written to a first data table, and to implement actions including, (See Bagal paragraph [0015], the second data block was last written to the one or more storage devices; causing the second data block to be stored in the common cache); and
writing the incremental data in the second data table to the first data table in the persistent storage space, (See Bagal paragraph [0013], After the clean data item has been stored in the common cache, the data-processing instance removes the clean data item from its private cache in order to free up space for storing the additional data item(s) that need to be read from the persistent storage device(s).).
creating a new second data table corresponding to the metadata that changes, (See Bagal paragraph [0048], modify data in the data blocks stored in the private cache of the database instance)…processing queries and requests to create databases and tables), and recording newly obtained incremental data in the second data table, (See Bagal paragraph [0055], database instance 206A or a process thereof retrieves the lock incarnation number for this data block from the lock structure 212A corresponding to this data block. The lock incarnation number for a data block is a value that is incremented each time the data block is modified).
Bagal does not explicitly disclose in response to that metadata corresponding to a data table in the database changes, setting the second data table to change from a modifiable state to an unmodifiable state.
However Kevorkian teaches in response to that metadata corresponding to a data table in the database changes, (See Kevorkian paragraph [0003], the user interface updated by at least applying a first rule from the plurality of rules, and the update to the user interface comprising a change to a visibility, a modifiability, and/or an allowed value of a second parameter of the algorithm for processing data in the database), setting the second data table to change from a modifiable state to an unmodifiable state, (See Kevorkian paragraph [0007], the first rule may indicate that the second parameter unmodifiable based at least on the first input value associated with the first parameter. The update to the user interface may include setting the second parameter to one or more fixed values in the updated user interface).
It would have been obvious to one with ordinary skill in the art before the
effective filing date of the claimed invention was made, to modify in response to that metadata corresponding to a data table in the database changes, setting the second data table to change from a modifiable state to an unmodifiable state of Kevorkian for providing dynamic user interfaces for predictive data analytics.
Claims 3-4, 6-8, 11-12, 14-16, 19-20 are rejected under 35 U.S.C. 103 as being unpatentable over Bagal et al. (US 2012/0221768 A1) in view of Kevorkian (US 2019/0179648 A1) and further in view of in view of Atherton et al. (US Patent No. 11, 762, 846 B1).
Regarding claim 3, Bagal together with Kevorkian taught the method of according to claim 2, as described above.
Bagal together with Kevorkian does not explicitly disclose wherein the metadata manager maintains the metadata in a form of a key-value pair, a key in the key-value pair is the identifier of the metadata, and a value in the key-value pair is the metadata.
However Atherton teaches wherein the metadata manager maintains the metadata in a form of a key-value pair, (See Atherton Col. 29 lines 48-49, a Key-Value datastore used by a distributed database to store metadata about the database), a key in the key-value pair is the identifier of the metadata, (See Atherton Col. 33 lines 18-20, the set of encryption keys being stored in a metadata database, the request including a tenant identifier), and a value in the key-value pair is the metadata, (See Atherton Col. 29 lines 48-49, a Key-Value datastore used by a distributed database to store metadata about the database).
It would have been obvious to one with ordinary skill in the art before the
effective filing date of the claimed invention was made, to modify wherein the metadata manager maintains the metadata in a form of a key-value pair, a key in the key-value pair is the identifier of the metadata, and a value in the key-value pair is the metadata. of Atherton in order to ensure such transactions execute and complete in a concurrent manner that protects the integrity and consistency of the data in such a distributed environment.
Claims 11 and 19 recites the same limitations as claim 3 above. Therefore,
Claims 11 and 19 are rejected based on the same reasoning.
Regarding claim 4, Bagal together with Kevorkian taught the method of according to claim 1, as described above.
Bagal together with Kevorkian does not explicitly disclose wherein the database includes an LSM-tree storage engine.
However, Atherton teaches wherein the database includes an LSM-tree storage engine, (See Atherton Col. 26 lines 2-3, an LSM tree can be utilized instead (or in addition to) the B-Tree due to structural similarities between the trees).
It would have been obvious to one with ordinary skill in the art before the
effective filing date of the claimed invention was made, to modify wherein the database includes an LSM-tree storage engine of Atherton in order to ensure such transactions execute and complete in a concurrent manner that protects the integrity and consistency of the data in such a distributed environment.
Claims 12 and 20 recite the same limitations as claim 4 above. Therefore,
Claims 12 and 20 are rejected based on the same reasoning.
Regarding claim 6, Bagal taught the method of according to claim 2, as described above. Bagal further teaches further comprising:
in response to that a data query request is obtained, querying a target data entry from the plurality of first data tables, (See Bagal paragraph [0051], processing queries and requests to create databases and tables, to allocate disk space for databases and tables).
Bagal together with Kevorkian does not explicitly disclose querying metadata corresponding to the target data entry from the metadata manager based on an identifier of metadata, corresponding to a first data table in which the target data entry is located.
However, Atherton teaches querying metadata corresponding to the target data entry from the metadata manager based on an identifier of metadata, (See Atherton Col. 7 lines 59-64, the compute service manager 108 may find the correct table by scanning table metadata across all the multiple tables in a given database. The compute service manager 108 may find a correct grouping of micro-partitions by scanning multiple grouping expression properties across the identified table), corresponding to a first data table in which the target data entry is located, (See Atherton Col. 7 lines 1-2, organize the data and to find where certain data is located within the table).
It would have been obvious to one with ordinary skill in the art before the
effective filing date of the claimed invention was made, to modify querying metadata corresponding to the target data entry from the metadata manager based on an identifier of metadata, corresponding to a first data table in which the target data entry is located of Atherton in order to ensure such transactions execute and complete in a concurrent manner that protects the integrity and consistency of the data in such a distributed environment.
Claim 14 recites the same limitations as claim 6 above. Therefore,
Claim 14 is rejected based on the same reasoning.
Regarding claim 7, Bagal together with Kevorkian taught the method of according to claim 2, as described above.
Bagal together with Kevorkian does not explicitly disclose combining the plurality of first data tables into a target first data table in response to a data table combination request for the plurality of first data tables.
However, Atherton teaches combining the plurality of first data tables into a target first data table in response to a data table combination request for the plurality of first data tables, (See Atherton Col. 6 lines 14-17, A new table version may be generated each time a transaction is executed on the table, where the transaction may include a DML statement such as an insert, delete, merge, and/or update command).
It would have been obvious to one with ordinary skill in the art before the
effective filing date of the claimed invention was made, to modify combining the plurality of first data tables into a target first data table in response to a data table combination request for the plurality of first data tables of Atherton in order to ensure such transactions execute and complete in a concurrent manner that protects the integrity and consistency of the data in such a distributed environment.
Claim 15 recites the same limitations as claim 7 above. Therefore,
Claim 15 is rejected based on the same reasoning.
Regarding claim 8, Bagal taught the method of according to claim 7, as described above. Bagal further teaches includes:
obtaining latest metadata from the metadata manager, (See Atherton Col. 3 lines 51-54, a metadata database 112 can store one or more credential objects 115. In general, a credential object 115 indicates one or more security credentials to be retrieved from a remote credential store), based on an identifier of metadata stored in each of the plurality of first data tables, (See Atherton Col. 7 lines 59-67, the compute service manager 108 may find the correct table by scanning table metadata across all the multiple tables in a given database. The compute service manager 108 may find a correct grouping of micro-partitions by scanning multiple grouping expression properties across the identified table. Such grouping expression properties include information about database data stored in each of the micro-partitions within the grouping); and
storing each data entry of the plurality of first data tables at a corresponding location in the target first data table based on the latest metadata, (See Atherton Col. 6 lines 3-5, The data structure includes table metadata pertaining to database data stored across a table of the database).
Bagal together with Kevorkian does not explicitly disclose wherein the combining the plurality of first data tables into the target first data table.
However, Atherton teaches wherein the combining the plurality of first data tables into the target first data table, (See Atherton Col. 6 lines 14-17, A new table version may be generated each time a transaction is executed on the table, where the transaction may include a DML statement such as an insert, delete, merge, and/or update command).
It would have been obvious to one with ordinary skill in the art before the
effective filing date of the claimed invention was made, to modify wherein the combining the plurality of first data tables into the target first data table of Atherton in order to ensure such transactions execute and complete in a concurrent manner that protects the integrity and consistency of the data in such a distributed environment.
Claim 16 recites the same limitations as claim 8 above. Therefore,
Claim 16 is rejected based on the same reasoning.
Response to Arguments
Applicant's arguments with respect to claims 1-20 have been considered but are moot in view of the new ground(s) of rejection.
Conclusions/Points of Contacts
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to MULUEMEBET GURMU whose telephone number is (571)270-7095. The examiner can normally be reached M-F 9am - 5pm.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Tony Mahmoudi can be reached at 5712724078. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/MULUEMEBET GURMU/Primary Examiner, Art Unit 2163