DETAILED ACTION
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA and is in response to communications filed on 5/07/2025 in which claims 1-20 are presented for examination.
Priority
Acknowledgment is made of provisional application No. 63/644060, filed on 05/08/2024.
Drawings
Drawings have been acknowledged and are acceptable for examination purposes.
Specification
Specification has been acknowledged and is acceptable for examination purposes.
Claim Rejections - 35 USC § 102
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
Claims 1-4, 7-12, and 14-20 are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Swaminathan et al. US 20240297876 A1 (hereinafter referred to as “Swaminathan”).
As per claim 1, Swaminathan teaches:
A method comprising:
receiving, by a central instance, a data synchronization pull request from a computational instance (Swaminathan, [0201] – Using backup or other secondary copy data to synchronize a source subsystem 201 (e.g., a production site) with a destination subsystem 203 (e.g., a failover site). Such a technique can be referred to as “live synchronization” and/or “live synchronization replication.” [0207] – Media agents CMA1-CMA3 in control tier 231 can also communicate with secondary storage pool 208, and may execute read and write requests themselves (e.g., in response to requests from other control media agents CMA1-CMA3) in addition to issuing requests to media agents in secondary tier 233),
wherein the central instance stores data shared by one or more other computational instances related to the computational instance (Swaminathan, [0086] – Storage manager 140 is a centralized storage and/or information manager that is configured to perform certain control functions and also to store certain critical information about system 100—hence storage manager 140 is said to manage system 100);
based on the data synchronization pull request (Swaminathan, [0204] – During a restore or recovery operation, client computing device 202 reads from the designated NFS network path, and the read request is translated by data agent 242. The data agent 242 then works with media agent 244 to retrieve, re-process (e.g., re-hydrate, decompress, decrypt), and forward the requested data to client computing device 202 using NFS),
determining portions of the data to be shared with the computational instance (Swaminathan, [0156] – A subclient may represent static or dynamic associations of portions of a data volume. Subclients may represent mutually exclusive portions. Thus, in certain embodiments, a portion of data may be given a label and the association is stored as a static entity in an index, database or other storage location. Subclients may also be used as an effective administrative scheme of organizing data according to data type, department within the enterprise, storage preferences, or the like. Depending on the configuration, subclients can correspond to files, folders, virtual machines, databases, etc. In one example scenario, an administrator may find it preferable to separate e-mail data from financial data using two different subclients);
validating that the computational instance is permitted access to the portions of the data (Swaminathan, [0238] – A user attempting to gain access to system 300 via user interface 317 will be asked for credentials, and authenticator microservice 351 will be invoked to verify whether those credentials are valid in order to authenticate the user. Authenticator microservice 351 will deny access to system 300 to users with invalid credentials. Thus, authenticator microservice 351 is invoked on demand, to validate user access to system 300 and can otherwise be dormant); and
transmitting, by the central instance and in response to the data synchronization pull request (Swaminathan, [0201] – As shown, the data can be copied from source to destination in an incremental fashion, such that only changed blocks are transmitted, and in some cases multiple incremental backups are consolidated at the source so that only the most current changed blocks are transmitted to and applied at the destination),
the portions of the data to the computational instance (Swaminathan, [0156] – A subclient may represent static or dynamic associations of portions of a data volume. Subclients may represent mutually exclusive portions. Thus, in certain embodiments, a portion of data may be given a label and the association is stored as a static entity in an index, database or other storage location. Subclients may also be used as an effective administrative scheme of organizing data according to data type, department within the enterprise, storage preferences, or the like. Depending on the configuration, subclients can correspond to files, folders, virtual machines, databases, etc. In one example scenario, an administrator may find it preferable to separate e-mail data from financial data using two different subclients).
As per claim 2, Swaminathan teaches:
The method of claim 1, wherein the computational instance is used as a production environment, and wherein the one or more other computational instances are used as non-production environments (Swaminathan, [0188] – The data storage systems herein build an index that reflects the contents of a distributed data set that spans numerous clients and storage devices, including both primary data and secondary copies, and online and offline copies. An organization may apply multiple information governance policies in a top-down manner over that unified data set and indexing schema in order to view and manipulate the data set through different lenses, each of which is adapted to a particular compliance or business goal).
As per claim 3, Swaminathan teaches:
The method of claim 1, wherein the portions of the data relate to an application (Swaminathan, [0154] – system 100 may construct and maintain a virtual repository for data stored in system 100 that is integrated across source applications 110, different storage device types, etc. According to some embodiments, e-discovery utilizes other techniques described herein, such as data classification and/or content indexing), and
wherein a second computational instance of the one or more other computational instances is configured to share the portions of the data with the computational instance (Swaminathan, [0170] – synchronize or otherwise distribute files or other data objects across multiple computing devices or hosted services).
As per claim 4, Swaminathan teaches:
The method of claim 3, wherein the portions of data are stored in the second computational instance according to a database schema, wherein the central instance has replicated the portions of the data into a copy of the database schema stored on the central instance (Swaminathan, [0142] – System 100 may create secondary copies and store them at disaster recovery locations using auxiliary copy or replication operations, such as continuous data replication technologies. Depending on the particular data protection goals, disaster recovery locations can be remote from the client computing devices 102 and primary storage devices 104, remote from some or all of the secondary storage devices 108, or both [0188] – An organization may apply multiple information governance policies in a top-down manner over that unified data set and indexing schema in order to view and manipulate the data set through different lenses, each of which is adapted to a particular compliance or business goal), and
wherein transmitting the portions of the data to the computational instance comprises transmitting the portions of the data from the copy of the database schema (Swaminathan, [0192] – Storage manager 140 may accesses data in its index 150 and/or management database 146 (and/or the respective storage policy 148A) associated with the selected backup copy 116A to identify the appropriate media agent 144A and/or secondary storage device 108A where the secondary copy resides. The user may be presented with a representation (e.g., stub, thumbnail, listing, etc.) and metadata about the selected secondary copy, in order to determine whether this is the appropriate copy to be restored, e.g., date that the original primary data was created. Storage manager 140 will then instruct media agent 144A and an appropriate data agent 142 on the target client computing device 102 to restore secondary copy 116A to primary storage device 104.).
As per claim 7, Swaminathan teaches:
The method of claim 1, further comprising, prior to receiving the data synchronization pull request:
receiving, by the central instance, a configuration synchronization pull request (Swaminathan, [0161] – Another type of information management policy 148 is an “audit policy” (or “security policy”), which comprises preferences, rules and/or criteria that protect sensitive data in system, wherein preferences, rules or other criteria is interpreted as configuration data);
determining, based on the configuration synchronization pull request, that configuration data indicates that the portions of the data are shareable with the computational instance (Swaminathan, [0161] – An audit policy may define “sensitive objects” which are files or data objects that contain particular keywords (e.g., “confidential,” or “privileged”) and/or are associated with particular keywords (e.g., in metadata) or particular flags (e.g., in metadata identifying a document or email as personal, confidential, etc.). Also, [0169]-[0171]); and
transmitting, by the central instance, a representation of the configuration data (Swaminathan, [0187] – At step 6, illustratively based on instructions received from storage manager 140 at step 5, the specified media agent 144B retrieves the most recent backup copy 116A from disk library 108A. At step 7, again at the direction of storage manager 140 and as specified in disaster recovery copy rule set 162, media agent 144B uses the retrieved data to create a disaster recovery copy 116B and store it to tape library 108B).
As per claim 8, Swaminathan teaches:
The method of claim 7, wherein the configuration data includes a list of the one or more other computational instances that have shared the portions of the data (Swaminathan, [0163] – The following is a non-exhaustive list of items that information management policies 148 may specify: [0164] schedules or other timing information, e.g., specifying when and/or how often to perform information management operations).
As per claim 9, Swaminathan teaches:
The method of claim 7, wherein the configuration data includes a list of one or more applications operable on the one or more other computational instances that are associated with the portions of the data (Swaminathan, [0177] – the identity of users, applications 110, client computing devices 102 and/or other computing devices that created, accessed, modified, or otherwise utilized primary data 112 or secondary copies).
As per claim 10, Swaminathan teaches:
The method of claim 1, further comprising:
receiving, by the central instance, a data synchronization push request from the computational instance, wherein the data synchronization push request includes further data from the computational instance (Swaminathan, [0148] – Depending on the embodiment, the data classification database(s) can be organized in a variety of different ways, including centralization, logical sub-divisions, and/or physical sub-divisions. For instance, one or more data classification databases may be associated with different subsystems or tiers within system 100. As an example, there may be a first metabase associated with primary storage subsystem 117 and a second metabase associated with secondary storage subsystem 118. In other cases, metabase(s) may be associated with individual components, e.g., client computing devices 102 and/or media agents); and
based on the data synchronization push request, updating one or more database tables of the central instance to include the further data (Swaminathan, [0187] – Media agent 144A can also update its index 153 to include data and/or metadata related to backup copy 116A, such as information indicating where the backup copy 116A resides on disk library 108A).
As per claim 11, Swaminathan teaches:
The method of claim 10, wherein the computational instance transmits the data synchronization pull request and the data synchronization push request according to different respective schedules (Swaminathan, [0159] – The default configuration can include a default storage policy, for example, and can specify any appropriate information sufficient to begin data protection operations. This can include a type of data protection operation, scheduling information, a target secondary storage device 108, data path information (e.g., a particular media agent 144), and the like).
As per claim 12, Swaminathan teaches:
The method of claim 10, wherein updating the one or more database tables of the central instance to include the further data comprises:
determining that the further data is stored according to a database schema; and
inserting, into a database table arranging based on the database schema, one or more rows containing the further data (Swaminathan, [0188] – An organization may apply multiple information governance policies in a top-down manner over that unified data set and indexing schema in order to view and manipulate the data set through different lenses, each of which is adapted to a particular compliance or business goal).
As per claim 14, Swaminathan teaches:
The method of claim 1, further comprising:
generating, for display on a graphical user interface, a representation of, for each respective database table of a plurality of database tables storing respective portions of the data:
(i) a name of which of the one or more computational instances from which the respective portions of the data were received (Swaminathan, [0073] – A data object name (e.g., a file name)),
(ii) a timestamp of when the respective portions of the data were last downloaded to the computational instance (Swaminathan, [0073] – The last modified time (e.g., the time of the most recent modification of the data object)),
(iii) a synchronization status of the respective portions of the data (Swaminathan, [0087] – Control information originates from storage manager 140 and status as well as index reporting is transmitted to storage manager), and
(iv) a name of the respective database table (Swaminathan, [0184] – File system data (e.g., regular files, file tables, mount points, etc.)).
As per claim 15, Swaminathan teaches:
The method of claim 1, wherein at least one value in the portions of the data is an aggregate value of values received from the one or more other computational instances (Swaminathan, [0183] – As shown, primary storage device 104 includes primary data 112A, which is associated with a logical grouping of data associated with a file system (“file system subclient”), and primary data 112B, which is a logical grouping of data associated with email (“email subclient”)).
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 of this title, 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 5-6 and 13 are rejected under 35 U.S.C. 103 as being unpatentable over Swaminathan et al. US 20240297876 A1 (hereinafter referred to as “Swaminathan”) in view of Gordon et al. US 12450229 B1 (hereinafter referred to as “Gordon”).
As per claim 5, Swaminathan doesn’t explicitly teach storing data in a serialized manner into a schema-less representation which comprises deserializing and transmitting the data, however, Gordon teaches:
The method of claim 3, wherein the data is stored in the second computational instance according to a database schema, wherein the central instance has replicated the data into a schema-less representation stored in a serialized manner on the central instance, and wherein transmitting the portions of the data to the computational instance comprises deserializing and transmitting the portions of the data from the schema-less representation (Gordon, column 4, lines 5-18 – The primary key and timestamp for each record can be read without deserializing the rest of the record so that applications can deserialize as little data as possible when merging updates).
It would have been obvious for one of ordinary skill in the art prior to the effective filing date of the claimed invention to modify Swaminathan’s invention in view of Gordon in order to include deserializing data and store it in a row-oriented format for a schema-less structure; this is advantageous because the system can then coordinate compaction of the database backup 142 such that future queries are efficient and fast enough to meet a threshold performance requirements of queries (Gordon, column 3, lines 5-18).
As per claim 6, Swaminathan as modified teaches:
The method of claim 5, wherein the schema-less representation is stored in the serialized manner within one row of a database table of the central instance (Gordon, column 4, lines 5-18 – The backup may be stored in a row-oriented format for a schema-less data using log structured merge tree (LSM-T) with a copy-on-write loss structure).
As per claim 13, Swaminathan as modified teaches:
The method of claim 10, wherein updating the one or more database tables of the central instance to include the further data comprises:
determining that the further data is stored in a schema-less representation (Gordon, column 4, lines 5-18 – The primary key and timestamp for each record can be read without deserializing the rest of the record so that applications can deserialize as little data as possible when merging updates;
serializing the further data (Gordon, the one or more items may be arranged according to respective timestamps to enable parallelized compaction); and
inserting, into a database table, a single row containing the further data as serialized (Gordon, column 4, lines 5-18 – The backup may be stored in a row-oriented format for a schema-less data using log structured merge tree (LSM-T) with a copy-on-write loss structure).
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure:
Rajbhandari et al US 20170337254 A1 teaches at least in [0034] – Data store 172 in central data storage system 108 not only includes a superset of the entities to be synchronized from instances 102 and 104, but it also includes the schemas for those entities from instances 102 and 104. The entities to be synchronized along with their schemas is indicated by block 224 in FIG. 2. However, it also teaches away from data replication in at least [0006] and [0072].
Zhenkai Zhu and Alexander Afanasyev, “Let’s ChronoSync: Decentralized Dataset State Synchronization in Named Data Networking”, https://users.cs.fiu.edu/~afanasyev/assets/papers/zhu2013lets.pdf
Contact Information
Any inquiry concerning this communication or earlier communications from the examiner should be directed to the current examiner working on this case, name: Matthew Ellis, telephone number: (571)270-3443, email: matthew.ellis@uspto.gov, normal business hours Monday-Friday 8AM-5PM EST.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Kavita Stanley can be reached on (571) 272-8352. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of an application may be obtained from the Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from either Private PAIR or Public PAIR. Status information for unpublished applications is available through Private PAIR only. For more information about the PAIR system, see http://pair-direct.uspto.gov. Should you have questions on access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative or access to the automated information system, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
May 15, 2026
/MATTHEW J ELLIS/Primary Examiner, Art Unit 2153