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 .
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 .
Response to Amendment
This Action is responsive to the Applicant’s Amendment/Remarks filed on 12/22/2025. In the Amendment, applicant amended claims 1, 7 and 13. Claims 3, 9 and 15 are cancelled.
As to Arguments and Remarks filed in the Amendment, please see Examiner’s responses shown after Rejections - 35 U.S.C § 103.
Please note claims 1-2, 4-8, 10-14 and 16-18 are pending.
Examiner Note: Case would be allowable if the applicant provide the detailing of each steps of “invalidating a second set of cache entries based on comparing version numbers of each of the second set of cache entries with respective version numbers of the respective cache entry in the version update log in the metadata database”
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 § 2146 et seq. 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 1-2, 4-8, 10-14 and 16-18 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1-12 of U.S. Patent No. 12,210527. Although the conflicting are not patentably distinct from each other because since the claims of the Patent No. 12,210527 contains every element of the claims of the instant application, and as such, anticipate the claims of the instant application 18/987523. (See table below).
Instant Application claim 1
Patent No. 12,210,527 claim 1
A method comprising: storing, at a computing instance in a network-based data system, a first timestamp and a second timestamp, the first timestamp corresponding to an initial time the computing instance read from a version update log in a metadata database provided in the network-based data system and the second timestamp corresponding to a last time the computing instance read from the version update log in the metadata database, the first timestamp and second timestamp being logical timestamps;
invalidating, by the computing instance, a second set of cache entries based on comparing version numbers of each of the second set of cache entries with respective version numbers of the respective cache entry in the version update log in the metadata database;
reading, by the computing instance, records from the version update log that are associated with version timestamps greater than the second timestamp; retaining, by the computing instance a first set of cache entries in the cache; compiling, by the computing instance, a query without validating the first set of cache entries against the metadata database; confirming validity of a respective cache entry in the first set of cache entries by comparing a start time for the query to the second timestamp; and executing, by the computing instance, the query using the second set of cache entries.
A method comprising: storing, at a computing instance in a network-based data system, a first timestamp and a second timestamp, the first timestamp corresponding to an initial time the computing instance read from a version update log in a metadata database provided in the network-based data system and the second timestamp corresponding to a last time the computing instance read from the version update log in the metadata database, the version update log comprising a plurality of records, each record of the plurality of records comprising an entity identification of a respective metadata entity, a version of the metadata entity, and a logical timestamp at which the metadata entity was updated in the metadata database, the first timestamp and second timestamp being logical timestamps; reading, by the computing instance, records from the version update log that are associated with version timestamps greater than the second timestamp in a single range read; invaliding, by the computing instance, a first set of cache entries with older versions stored in a cache in the computing instance based on reading the records; retaining, by the computing instance a second set of cache entries in the cache; compiling, by the computing instance, a query without validating the second set of cache entries against the metadata database; confirming validity of a respective cache entry in the second set of cache entries by comparing a start time for the query to the second timestamp; and executing, by the computing instance, the query using the second set of cache entries.
Claims 1-4 of Patent No. 12,210527 satisfies all the elements of claims 2, 4-6 of the instant application, and as such, anticipates the claims of instant application.
Instant Application claim 8
Patent No. 12,210,527 claim 5
A machine-storage medium embodying instructions that, when executed by a machine, cause the machine to perform operations comprising:
storing, at a computing instance in a network-based data system, a first timestamp and a second timestamp, the first timestamp corresponding to an initial time the computing instance read from a version update log in a metadata database provided in the network-based data system and the second timestamp corresponding to a last time the computing instance read from the version update log in the metadata database, the first timestamp and second timestamp being logical timestamps;
invalidating, by the computing instance, a second set of cache entries based on comparing version numbers of each of the second set of cache entries with respective version numbers of the respective cache entry in the version update log in the metadata database;
reading, by the computing instance, records from the version update log
that are associated with version timestamps greater than the second timestamp;
retaining, by the computing instance a first set of cache entries in the cache;
compiling, by the computing instance, a query without validating the first set of cache entries against the metadata database;
confirming validity of a respective cache entry in the first set of cache
entries by comparing a start time for the query to the second timestamp; and
executing, by the computing instance, the query using the second set of cache entries.
A machine-storage medium embodying instructions that, when executed by a machine, cause the machine to perform operations comprising: storing, at a computing instance in a network-based data system, a first timestamp and a second timestamp, the first timestamp corresponding to an initial time the computing instance read from a version update log in a metadata database provided in the network-based data system and the second timestamp corresponding to a last time the computing instance read from the version update log in the metadata database, the version update log comprising a plurality of records, each record of the plurality of records comprising an entity identification of a respective metadata entity, a version of the metadata entity, and a logical timestamp at which the metadata entity was updated in the metadata database, the first timestamp and second timestamp being logical timestamps; reading, by the computing instance, records from the version update log that are associated with version timestamps greater than the second timestamp in a single range read; invaliding, by the computing instance, a first set of cache entries with older versions stored in a cache in the computing instance based on reading the records; retaining, by the computing instance a second set of cache entries in the cache; compiling, by the computing instance, a query without validating the second set of cache entries against the metadata database; confirming validity of a respective cache entry in the second set of cache entries by comparing a start time for the query to the second timestamp; and executing, by the computing instance, the query using the second set of cache entries.
Claims 5-8 of Patent No. 12,210527 satisfies all the elements of claims 8, 10-12 of the instant application, and as such, anticipates the claims of instant application.
Instant Application claim 13
Patent No. 12,210,527 claim 9
A system comprising:
at least one hardware processor; and
at least one memory storing instructions that, when executed by the at least one hardware processor, cause the at least one hardware processor to perform operations comprising:
storing, at a computing instance in a network-based data system, a first timestamp and a second timestamp, the first timestamp corresponding to an initial time the computing instance read from a version update log in a metadata database provided in the network-based data system and the second timestamp corresponding to a last time the computing instance read from the version update log in the metadata database, the first timestamp and second timestamp being logical timestamps;
invalidating, by the computing instance, a second set of cache entries based on comparing version numbers of each of the second set of cache entries with respective version numbers of the respective cache entry in the version update log in the metadata database;
reading, by the computing instance, records from the version update log
that are associated with version timestamps greater than the second timestamp;
retaining, by the computing instance a first set of cache entries in the cache;
compiling, by the computing instance, a query without validating the first set of cache entries against the metadata database;
confirming validity of a respective cache entry in the first set of cache
entries by comparing a start time for the query to the second timestamp; and
executing, by the computing instance, the query using the second set of cache entries.
A system comprising: at least one hardware processor; and at least one memory storing instructions that, when executed by the at least one hardware processor, cause the at least one hardware processor to perform operations comprising: storing, at a computing instance in a network-based data system, a first timestamp and a second timestamp, the first timestamp corresponding to an initial time the computing instance read from a version update log in a metadata database provided in the network-based data system and the second timestamp corresponding to a last time the computing instance read from the version update log in the metadata database, the version update log comprising a plurality of records, each record of the plurality of records comprising an entity identification of a respective metadata entity, a version of the metadata entity, and a logical timestamp at which the metadata entity was updated in the metadata database, the first timestamp and second timestamp being logical timestamps; reading, by the computing instance, records from the version update log that are associated with version timestamps greater than the second timestamp in a single range read; invaliding, by the computing instance, a first set of cache entries with older versions stored in a cache in the computing instance based on reading the records; retaining, by the computing instance a second set of cache entries in the cache; compiling, by the computing instance, a query without validating the second set of cache entries against the metadata database; confirming validity of a respective cache entry in the second set of cache entries by comparing a start time for the query to the second timestamp; and executing, by the computing instance, the query using the second set of cache entries.
Claims 9-12 of Patent No. 12,210527 satisfies all the elements of claims 14, 16-18 of the instant application, and as such, anticipates the claims of instant application.
Examiner Notes
Examiner cites particular columns, paragraphs, figures and line numbers in the references as applied to the claims below for the convenience of the applicant. Although the specified citations are representative of the teachings in the art and are applied to the specific limitations within the individual claim, other passages and figures may apply as well. It is respectfully requested that, in preparing responses, the applicant fully consider the references in their entirety as potentially teaching all or part of the claimed invention, as well as the context of the passage as taught by the prior art or disclosed by the examiner.
Claim Rejections - 35 USC § 103
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 (i.e., changing from AIA to pre-AIA ) 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.
The text of those sections of Title 35, U.S. Code not included in this action can be found in a prior Office action.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claims 1-18 are rejected under 35 U.S.C. 103 as being unpatentable over Lomet et al. (US PGPUB 2016/0110403, hereinafter Lomet), in view of Levandoski et al. (US PGPUB 2015/0379060, hereinafter Levandoski) and further in view of Bhattacharjee et al. (US PGPUB 2016/0103829, hereinafter Bhattacharjee) .
As per as claim 1, Lomet discloses:
A method comprising:
storing, at a computing instance in a network-based data system, a first timestamp and a second timestamp, the first timestamp corresponding to an initial time the computing instance read from a version update log in a metadata database provided in the network-based data system and the second timestamp corresponding to a last time the computing instance read from the version update log in the metadata database, the first timestamp and second timestamp being logical timestamps (Lomet, e.g., [0026-0027], “…logs…version store (e.g., versions of records,…)…timestamp order multi -version…” and see [0042], “…multiversion database refers to a database…specified time……updated data is “stamped” with a time…the time at which the data was updated…existed at a specified time…”);
reading, by the computing instance, records from the version update log that are associated with version timestamps greater than the second timestamp (Lomet, e.g., [0042], “…multiversion databases, also called temporal databases, updated data is “stamped” with a time value, usually with a time value corresponding to the time at which the data was updated…” and [0067-0069], “…assigning a timestamp TS1 to a transaction T1 such that all the transaction's writes are associated with TS1, and all reads are reads of versions that are visible at TS1…of timestamp order… the oldest active transaction is computed (the one with the oldest timestamp)…”) and [0073], “…last read time of the time…read time on the item…written version…timestamp order…”));
retaining, by the computing instance a first set of cache entries in the cache (Lomet, e.g., [0026-0027], “…logs…version store (e.g., versions of records,…)…timestamp order multi -version…”);
compiling, by the computing instance, a query without validating the first set of cache entries against the metadata database (Lomet, e.g., [0055-0058], [0162-0163], “…updated version of the current records …and a new entry…the updated version of the current record in the recovery log buffer… a record read ache is maintained for storing copies…” and [0378], “... compiled, interpreted, or machine languages, and can be deployed in any form... executable code (e.g., executable instructions) on a machine usable or machine readable storage device...”);
confirming validity of a respective cache entry in the first set of cache entries by comparing a start time for the query to the second timestamp (Lomet, e.g., [0073-0077] and [0081-0084], “… comparison is performed to ensure it is the correct key. The version list is then traversed to find the appropriate version to read… timestamp order concurrency control approach… a new version…keep all updated versions…” and [0097], “…always tracks the read and write timestamps of every version…”); and
executing, by the computing instance, the query using the first set of cache entries (Lomet, e.g., [0192-0196], and [0312-0314], “...SQL-like insert/update semantics...incremental update to the key...”).
To make records clearer regarding to language of “query without validating the first set of cache entries against the metadata database”.
However Levandoski, in an analogous art, discloses “query without validating the first set of cache entries against the metadata database”, (Levandoski, e.g., [0044-0045], “...search criteria, then the control component can skip accessing the secondary storage... control component for range queries...the storage interface component can include a plurality of differing types of access filters...” and further see [0085-0087], “...a set of operations and/or queries that can be conducted by the database management system... inserts new records into the primary storage...a new version of a record resulting from an update to the record can be inserted into the primary storage...”) (accessing data from the storage device)). Thus, it would have been obvious to one of ordinary skill in the art BEFORE the effective filling date of the claimed invention to combine the teaching of Levandoski and Lomet to accesses a record of the database for the transaction based on at least one of the timestamp notices of the update memo and migrate/remove inactive data/record to other storage with less impact on overall system performance to archiving in saving a storage space (Levandoski, e.g., [0002-0004]).
To further clarify the features of “invalidating, by the computing instance, a second set of cache entries based on comparing version numbers of each of the second set of cache entries with respective version numbers of the respective cache entry in the version update log in the metadata database”.
However Bhattacharjee, in an analogous art, discloses “invalidating, by the computing instance, a second set of cache entries based on comparing version numbers of each of the second set of cache entries with respective version numbers of the respective cache entry in the version update log in the metadata database”, (Bhattacharjee, e.g., [0006], “... invalidate older versions without in-place update...” and [0040-0042], “...a multi-version database. The in-page log manager 510 adds record invalidation information to the in-page log 120 when a corresponding one of the records is deleted or updated. The in-page log manager 510 consolidates the in-page log 120 for a recently updated one of the records or a recently deleted one of the records to determine a record visibility...” and further see [0054], [0096], “...invalidate or purge in-page log entries and the overflow pages when they are determined to be irrelevant to any active queries... invalidated or purged by marking the record invalidation information...”)). Thus, it would have been obvious to one of ordinary skill in the art BEFORE the effective filling date of the claimed invention to combine the teaching of Bhattacharjee, Levandoski and Lomet to maintains multi-version databases are that records will have many versions, and that updates will become inserts of new records and invalidate older versions without in-place update, and to associate the many versions of the record (Bhattacharjee, e.g., [0005-0006]).
As per as claim 2, the combination of Bhattacharjee, Levandoski and Lomet disclose:
The method of claim 1, wherein the reading is performed using a single range read (Lomet, e.g., [0067-0069], “…timestamp order schedule…” (range read)) and further see [0143], [0159]).
As per as claim 4, the combination of Bhattacharjee, Levandoski and Lomet disclose:
The method of claim 1, wherein the reading the records from the version update is triggered by receiving the query (Levandoski, e.g., [0058-0060], [0068-0070], “... version records of the exemplary table... reading a record, updating a record, deleting a record, and inserting a record...”).
As per as claim 5, the combination of Bhattacharjee, Levandoski and Lomet disclose: The method of claim 1, wherein the reading is triggered by a background process running periodically (Lomet, e.g., [0055-0058], “…retrains these versions in the read…” and [0067-0069], “…reads are reads of versions that are visible at TS1… order schedule of operations using the timestamps…” and [0143], “…oldest active transaction that is periodically determined by the transaction engine…associated with an oldest timestamp”).
As per as claim 6, the combination of Bhattacharjee, Levandoski and Lomet disclose: The method of claim 1, further comprising:
confirming validity of another cache entry in the first set of cache entries by comparing an entity timestamp to the first timestamp (Lomet, e.g., [0026-0027], “…logs…version store (e.g., versions of records,…)…timestamp order multi -version…” and see [0042], “…multiversion database refers to a database…specified time……updated data is “stamped” with a time…the time at which the data was updated…existed at a specified time…”).
Claims 7-8, 10-12: are essentially the same as claims 1-2, 4-6 except that they set forth the claimed invention as a machine storage medium rather than a method respectively and correspondingly, therefore are rejected under the same reasons set forth in rejections of claims 1-2, 4-6.
Claims 13-14 and 16-18: are essentially the same as claims 1-2, 4-6 except that they set forth the claimed invention as a machine storage medium rather than a method respectively and correspondingly, therefore are rejected under the same reasons set forth in rejections of claims 1-2, 4-6.
Response to Arguments
The Examiner respectfully reminds applicant of the broadest reasonable interpretation standard (See MPEP 2111), "During examination, the claims must be interpreted as broadly as their terms reasonably allow." In re American Academy of Science Tech Center, 367 F.3d 1359, 1369, 70 USPQ2d 1827, 1834 (Fed. Cir. 2004) (The USPTO uses a different standard for construing claims than that used by district courts; during examination the USPTO must give claims their broadest reasonable interpretation.) In Phillips v. AWH Corp., 415 F.3d 1303, 75 USPQ2d 1321 (Fed. Cir. 2005), the court further elaborated on the “broadest reasonable interpretation" standard and recognized that “The Patent and Trademark Office (“PTO") determines the scope of claims in patent applications not solely on the basis of the claim language, but upon giving claims their broadest reasonable construction." Thus, when interpreting claims, the courts have held that Examiners should (1) interpret claim terms as broadly as their terms reasonably allows and (2) interpret claim phrases as broadly as their construction reasonably allows.
Applicant’s arguments filed 12/22/2025 with respect to claims 1-2, 4-8, 10-14 and 16-20 have been considered but are moot in view of the new ground(s) of rejection necessitated by applicant's amendment to the claims. Applicant's newly amended features are taught implicitly, expressly, or impliedly by the prior art of record (See the new ground(s) of rejection set forth herein above).
Issue I: Regarding to claims 1-18 were rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1-12 of U.S. Patent No. 12,210527.
Response I: Applicant request holding these nonstatutory double patenting rejections until the pending claims are deemed allowable.
The Examiner respectfully submits that, with respect to the totally newly amended subject matter, the Examiner respectfully cited proper paragraphs from cited reference to reject the claim in responsive to the newly amended, please refer to the corresponding section of the office action.
Additional Art Considered
The prior art made of record and not relied upon is considered pertinent to the Applicants’ disclosure.
The following patents and papers are cited to further show the state of the art at the time of Applicants’ invention with respect to versions management to ensure that the data is still up to date during query processing which compares the version of the data in the cache with the version of the data at the source location.
a. Kamimura et al. (US PGPUB 20120284244 herein after Kamimura); “Transaction Processing Device, Transaction processing method and Transaction processing Program” discloses “group information storage unit that stores information relating to transactions, in association with information relating to groups generated by logically grouping records used in the transactions according to attribute values of a unique key common to the records, a group specification unit that specifies the group corresponding to the transaction by referencing the stored information based on the transaction corresponding to a processing request received from the application, a log management unit that manages logs of the records belonging to the specified group by collectively storing all contents of the logs in the physically same storage area, and a data updating unit that updates real data by reflecting the contents of the managed logs in the records corresponding to those logs”.
Kamimura also teaches version update and update log [0041], [0051], version log management [0046], [0049]. update metadata of file [0043].
Kamimura further teaches comparing version in management log [0052-0055], update log [0056].
Conclusion
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 extension fee 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 date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to TUAN A PHAM whose telephone number is (571)270-3173. The examiner can normally be reached M-F 7:45 AM - 6:30 PM.
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 on 571-272-4078. 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.
/TUAN A PHAM/Primary Examiner, Art Unit 2163