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
This Office action is in response to the Request for Continued Examination (RCE) filed on September 16, 2025.
Claims 1-20 are pending and examined below.
Claims 1, 3-5, 9, 11-13, 17, and 19-20 have been amended.
Response to Arguments
Applicant's arguments have been considered but are moot in view of new ground(s) of rejection. In these arguments applicant relies on the amended claims and not the original ones. See below rejections under 35 USC § 103 for response to arguments.
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 1, 3-4, 9, 11-12, 17, and 19 are rejected under 35 U.S.C. 103 as being unpatentable over US 2019/0034321 (hereinafter "Martin”), in view of US 11609986 (hereinafter “Khurana”), in view of US 2013/0339394 (hereinafter “Chirlian”), and further in view of US 11,657,047 (hereinafter “Shivarathri”).
In the following claim analysis, Applicant’s claim limitations are shown in bold text and Examiner’s explanations/notes/remarks are enclosed in square brackets and emphases are underlined.
As to claim 1, Martin discloses A system comprising (Martin, Abstract, Systems and methods are provided for creating a sandbox): a microprocessor (Martin, ¶ 109, When implemented on a general-purpose microprocessor, the computer program code segments configure the microprocessor to create specific logic circuits); and a computer readable medium, coupled with the microprocessor and comprising microprocessor readable and executable instructions that, when executed by the microprocessor, cause the microprocessor to (Martin, ¶ 109):
create a first sandbox database (Martin, Fig. 6, ¶ 91, One or more of the database systems 1200a-1200d may create a sandbox for an original tenant at any time … one or more authorized users of the database systems 1200a-1200d that are associated with the original tenant may request that a sandbox be created by one of the database systems 1200a-1200d) separate from a main database (Martin, Fig. 6, ¶ 91, The new or updated sandbox tenant data can be stored … elsewhere (e.g., such as a cache storage system, networked storage device, or the like) and can be changed without changing the original tenant data that existed as of the time of the creation of the sandbox, and the original tenant data can be changed or updated without changing the sandbox tenant data).
Martin discloses accessing data and metadata by an application in a test involving the application (Martin, ¶ 16, the sandbox tenant can use original tenant data without having to copy the original tenant data to the sandbox tenant's namespace. This point in time data can be used by the sandbox to test the application … One or more new sandbox tenants may be created from the original sandbox tenant, and may be used, for example, by developers to test an application), but does not appear to explicitly disclose receiving a first set of rules defining records and metadata to be accessed and [accessing] metadata defined by the first set of rules. However, in an analogous art to the claimed invention in the field of executing in a restricted environment, Khurana teaches receiving a first set of rules defining records and metadata to be accessed (Khurana, col. 2, ln. 37-39, identifying the at least one sandbox access policy is performed by a metadata service within the data access system …. the metadata service provides the sandbox environment with one or more dataset tools, wherein the one or more dataset tools are associated with the dataset and based on the at least one sandbox access policy; col. 6, ln. 42-44, Metadata service 130 may then write the dataset as a new entry into the sandbox according to access criteria associated with the user; Fig. 2; col. 6, ln. 65-67; col. 7, ln. 1, Metadata service 230 may create mappings such that each user of the sandbox has their own virtual version of the sandbox specific to the permissions and access policies associated with each user; col. 6, ln. 14-17, The schema registry is responsible for storing platform-wide dataset metadata, in some examples, wherein the policy engine controls access to those datasets). and [accessing] metadata defined by the first set of rules (Khurana, col. 6, ln. 14-17, The schema registry is responsible for storing platform-wide dataset metadata, in some examples, wherein the policy engine controls access to those datasets).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Martin’s teaching with the teaching taught by Khurana. The modification would be obvious because one of ordinary skill in the art would be motivated to define and manage data access policies for user sandboxes, which may be different than permissions for the individual databases and apply those policies at several different granularities including database, dataset, rows, columns, and cells (Khurana, col. 5, ln. 58-67).
Martin does not appear to explicitly disclose creating a first sandbox cache in the first sandbox database. However, in an analogous art to the claimed invention in the field of sandbox environment, Chirlian teaches creating a first sandbox cache in the first sandbox database (Chirlian, ¶ 53, if an entity has been either updated or inserted, or removed from a sandbox cache, this change is immediately persisted to the underlying sandbox database).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Martin’s teaching as modified with the teaching taught by Chirlian. The modification would be obvious because one of ordinary skill in the art would be motivated to store information in a respective sandbox cache and enable the user to manipulate the respective sandbox cache to change values in the data organized in the respective sandbox cache without changing values of data in other sandbox caches or in the database (Chirlian, Abstract).
Therefore, Martin as modified teaches creating, based on the first set of rules, a first sandbox cache in the first sandbox database.
Martin as modified teaches metadata defined by the first set of rules (Khurana, col. 6, ln. 14-17, ), but does not appear to explicitly disclose copying metadata from a main database to the first sandbox database, the metadata referencing one or more records in the main database; and copying, based on the copied metadata, the one or more records from the main database to the first sandbox cache, the one or more records being accessed by the software during software evaluation, wherein the first sandbox database isolates the main database from changes to the one or more records during the test. However, in an analogous art to the claimed invention in the field of sandbox environment, Shivarathri teaches copying metadata from a main database to the first sandbox database (Shivarathri, col. 4, ln. 40-48; DDL: As an acronym for Data Definition Language … An index is a data structure which is used to quickly locate and access the data in a database table [i.e., DDL and indices are metadata]; Fig. 4, Fig. 16A-16B, col. 13, ln. 13-28, For each of the objects (tables and views) identified (including its full object), extract the Definition of the object (also referred to as DDL) Statistics applied Indices related to the object … If the object is a table, execute the re-pointed DDL (as show in FIG. 4). This creates [copies] the object in the sandbox database. … all required objects are recreated [copied] in the sandbox database), the metadata referencing one or more records in the main database (Shivarathri, col. 13, ln. 13-17, For each of the objects (tables and views) identified (including its full object), extract the Definition of the object (also referred to as DDL) Statistics applied Indices related to the object); and copying, based on the copied metadata (Shivarathri, Fig. 4, col. 13, ln. 12-28, For each of the objects (tables and views) identified (including its full object), extract the Definition of the object (also referred to as DDL [copied metadata]) Statistics applied Indices related to the object … Re-point the object's DDL to point to the sandbox database … If the object is a table, execute the re-pointed DDL (as show in FIG. 4). This creates the object in the sandbox database), the one or more records from the main database to the first sandbox cache (Shivarathri, col. 13, ln. 19-24, Re-point the object's DDL to point to the sandbox database … If the object is a table, execute the re-pointed DDL (as show in FIG. 4). This creates the object in the sandbox database [i.e., the sandbox cache in Chirlian]; col. 13, ln. 40-47, All objects along with their data [including their DDL], indices, statistics and views are replicated in the sandbox database), the one or more records being accessed by the software during software evaluation (Shivarathri, Fig. 4, col. 8, ln. 36-41, Re-point all objects in the SQL query (as show in FIG. 4) to the newly created ones through the replication component … This re-pointed query will act as the main query [accessed by software), wherein the first sandbox database isolates the main database from changes to the one or more records during the test (Shivarathri, claim 1, replicating the received original SQL query statement in an isolated database environment … creating new objects in the isolated database environment; testing [under the test] a first performance of the starting functional query in the isolated database environment).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Martin’s teaching as modified with the teaching taught by Shivarathri. The modification would be obvious because one of ordinary skill in the art would be motivated to building a query under test in a sandbox environment from a received SQL query statement; successively adding one or more of the individual query elements to the query under test in iterations; and testing the query under test for a query performance metric after each iteration until one of the iterations shows a satisfactory improvement in the query performance metric (Shivarathri, col. 1, ln. 44-56).
Therefore, Martin as modified teaches copying metadata defined by the first set of rules, from a main database to the first sandbox database.
As to claim 3, the rejection of claim 1 is incorporated. Martin as modified further discloses The system of claim 1, wherein the copied metadata is copied to the first sandbox database before the one or more records (Khurana, col. 5, ln. 57-63, A policy engine may provide functionality for defining and managing data access policies that can be applied as data is accessed without interrupting service. … a policy engine may define and manage data access policies for user sandboxes; col, 6, ln. 20-25, The schema registry is responsible for storing platform-wide dataset metadata [Thus, one of ordinary skill in the art would readily comprehend that the metadata is copied before the one or more records]) wherein the one or more records are copied from the main database to the first sandbox cache (Shivarathri, col. 16, ln. 25-27, The Parsing component extracts lineage of each of the objects (including all aspects of the SQLs like select list, joins, etc.) used in the SQL query; col. 8, ln.36-40, Re-point all objects in the SQL query (as show in FIG. 4) to the newly created ones through the replication component (block 105). A comparison of the transaction database and sandbox database before and after replication [after copying] is shown in FIGS. 16A and 16B) responsive to a request to access the one or more records in the main database (Shivarathri, col. 14, ln. 35-36, An SQL query is given as the input) and wherein the copied metadata is a first subset of metadata from the main database (Shivarathri, col. 13, ln. 40-47, If the object is a table, re-point the indices to point to the table created on Step 1 and execute the index syntax to create the indices in the sandbox database … All objects along with their data [including their DDL], indices, statistics and views are replicated in the sandbox database), the request being generated based on the copied metadata (Khurana, col. 5, ln. 57-63, A policy engine may provide functionality for defining and managing data access policies that can be applied as data is accessed without interrupting service. … a policy engine may define and manage data access policies for user sandboxes; col, 6, ln. 20-25, The schema registry is responsible for storing platform-wide dataset metadata). The motivation to combine the references is the same as set forth in the rejection of claim 1.
As to claim 4, the rejection of claim 1 is incorporated. Martin as modified further discloses The system of claim 1, wherein the first sandbox database comprises a plurality of sandbox databases, wherein the first sandbox database is one of the plurality of sandbox databases (Martin, Fig. 6, ¶ 91, One or more of the database systems 1200a-1200d may create a sandbox for an original tenant at any time … one or more authorized users of the database systems 1200a-1200d that are associated with the original tenant may request that a sandbox be created by one of the database systems 1200a-1200d), wherein each of the plurality of sandbox databases is created based on a different set of rules (Khurana, col. 6, ln. 31-44, a sandbox is specific to a user, such as a personal sandbox environment, while in other scenarios, a user may access one or more team sandboxes having access rules according to the team and users of the team. A team sandbox may be utilized within a team for collaboration or sharing purposes … Metadata service 130 may then write the dataset as a new entry into the sandbox according to access criteria associated with the user), and wherein each of the plurality of sandbox databases is accessed by the software during software evaluation (Shivarathri, col. 8, ln. some examples of query text that may be analyzed and that others may be present and analyzed accordingly. Each text may represent a query object which may be used to construct a new partial form of the subject query (which may be referred to as a “query under test”) being analyzed for some examples of query text that may be analyzed and that others may be present and analyzed accordingly. Each text may represent a query object which may be used to construct a new partial form of the subject query (which may be referred to as a “query under test”) being analyzed for performance performance). The motivation to combine the references is the same as set forth in the rejection of claim 1.
As to claims 9 and 11-12, the claims are method claims corresponding to system claims 1 and 3-4. Therefore, they are rejected under the same rational set forth in the rejections of claims 1, and 3-4.
As to claims 17 and 19, the claims are computer medium claims corresponding to system claims 1 and 3. Therefore, they are rejected under the same rational set forth in the rejections of claims 1 and 3.
Claims 2, 10, and 18 are rejected under 35 U.S.C. 103 as being unpatentable over US 2019/0034321 (hereinafter "Martin”), in view of US 11609986 (hereinafter “Khurana”), in view of US 2013/0339394 (hereinafter “Chirlian”), further in view of US 11,657,047 (hereinafter “Shivarathri”), and further in view of US 2014/0297587 (hereinafter “Olsen”).
As to claim 2, the rejection of claim 1 is incorporated. Martin as modified further discloses The system of claim 1, wherein the microprocessor readable and executable instructions further cause the microprocessor to: copy the one or more records associated with the metadata (Shivarathri, Fig. 4, Fig. 16A-16B, col. 13, ln. 13-28, For each of the objects (tables and views) identified (including its full object), extract the Definition of the object (also referred to as DDL) Statistics applied Indices related to the object … If the object is a table, execute the re-pointed DDL (as show in FIG. 4). This creates [copies] the object in the sandbox database. … all required objects are recreated [copied] in the sandbox database), wherein the one or more copied records are stored in the first sandbox cache (Chirlian, ¶ 27, Global data can flow into the sandbox cache, if such data does not represent a conflict with any other user-defined data in the sandbox cache) based on one of: based on a read request (Martin, ¶ 26, The translation can map certain read operations issued by requests generated from users associated with the sandbox tenant onto original tenant data) using the copied metadata (Shivarathri, Fig. 4, Fig. 16A-16B, col. 13, ln. 13-28); and based on a write request (Martin, ¶ 77, the access layer 105 may request that the virtualization layer 115 retrieve the data requested by the query … may be returned [written] to the access layer 105 in response to the query received by the access layer 105) using the copied metadata (Shivarathri, Fig. 4, Fig. 16A-16B, col. 13, ln. 13-28).
Martin as modified does not appear to explicitly disclose a rule associated with the creating of the first sandbox database. However, in an analogous art to the claimed invention in the field of sandbox environment, Olsen teaches a rule associated with the creating of the first sandbox database (Olsen, ¶ 29, prior to storing updates to the sandbox in the database (150), the updates may be validated using one or more rules).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Martin’s system as modified with the system taught by Olsen including: based on a read request using the metadata. The modification would be obvious because one of ordinary skill in the art would be motivated to follow a rule when data passes through the database as multiple persons work with data to control data quality and standardization (Olson, ¶ 15).
As to claim 7, the rejection of claim 1 is incorporated. Martin as modified further discloses The system of claim 1, wherein one or more records are sent from the main database in at least one of the following ways: based on a request from the sandbox database that uses a metadata pull (Olson, ¶ 55, For each sandboxed environment (e.g. local environment), the database (150) may be connected to occasionally pull information or to get updates to data being worked on) based on the copied metadata ((Shivarathri, Fig. 4, Fig. 16A-16B, col. 13, ln. 13-28); based on a request from the sandbox database that uses a metadata push based on the copied metadata; based on a request from the main database that uses a metadata pull based on the copied metadata; and based on a request from the main database that uses a metadata push based on the copied metadata.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Martin’s system as modified with the system taught by Olsen including that records are sent from the main database in at least one of the following ways: based on a request from the sandbox database that uses a metadata pull. The modification would be obvious because one of ordinary skill in the art would be motivated to follow a rule when data passes through the database as multiple persons work with data to control data quality and standardization (Olson, ¶ 15).
As to claim 10, the claim is a method claim corresponding to system claim 2. Therefore, it is rejected under the same rational set forth in the rejection of claim 2.
As to claim 15, the claim is a method claim corresponding to system claim 7. Therefore, it is rejected under the same rational set forth in the rejection of claim 7.
As to claim 18, the claim is a computer medium claim corresponding to system claim 2. Therefore, it is rejected under the same rational set forth in the rejection of claim 2.
Claims 5, 8, 13, 16, and 20 are rejected under 35 U.S.C. 103 as being unpatentable over US 2019/0034321 (hereinafter "Martin”), in view of US 11609986 (hereinafter “Khurana”), in view of US 2013/0339394 (hereinafter “Chirlian”) in view of US 2009/0043800 (hereinafter “Fox”) and further in view of US 2023/0195885 (hereinafter “Khurana2”).
As to claim 5, the rejection of claim 4 is incorporated. Martin as modified does not appear to explicitly disclose The system of claim 4, wherein the first sandbox database of the plurality of sandbox databases copies a first subset of metadata and first subset of records from the main database, wherein a second sandbox database of the plurality of sandbox databases uses a second subset of metadata from the main database, and wherein the first subset of metadata and the second subset of metadata are different. However, in an analogous art to the claimed invention in the field of sandbox environment, Khurana2 teaches The system of claim 4, wherein the first sandbox database of the plurality of sandbox databases copies a first subset of metadata from the main database (Khurana2, Fig. 2, ¶ 37, a portion of metadata service 230 is carved out specifically to enable sandboxing; ¶ 38, In step 2, data access system 201 receives a request from sandbox 210 to access a dataset from database 220 [the main database] … metadata service 230 initiates production of the metadata entry into sandbox 210) and first subset of records from the main database (Shivarathri, col. 13, ln. 19-24, Re-point the object's DDL to point to the sandbox database … If the object is a table, execute the re-pointed DDL (as show in FIG. 4). This creates the object in the sandbox database; col. 13, ln. 40-47, All objects along with their data, indices, statistics and views are replicated [from the main database] in the sandbox database), wherein a second sandbox database of the plurality of sandbox databases copies a second subset of metadata (Khurana2, ¶ 33, a policy engine may define and manage data access policies for user sandboxes, which may be different than permissions for the individual databases; ¶ 35, a user may access one or more team sandboxes having access rules … Metadata service 130 may then write the dataset as a new entry into the sandbox according to access criteria associated with the user; ¶ 38, writing a metadata entry into the sandbox) and a second subset of records from the main database (Shivarathri, col. 8, ln. 27-29, the method 100 may replicate all the objects (used in the query and the lineage of objects identified) into a sandbox environment, wherein the first subset of records and the second subset of record are different (Khurana2, ¶ 33, a policy engine may define and manage data access policies for user sandboxes; ¶ 35, a user may access one or more team sandboxes having access rules according to the team and users of the team) and wherein the first subset of metadata and the second subset of metadata are different (Khurana2, ¶ 33, a policy engine may define and manage data access policies for user sandboxes, which may be different than permissions for the individual databases; ¶ 35, a user may access one or more team sandboxes having access rules according to the team and users of the team).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Martin’s system as modified with the system taught by Khurana2 including that the first sandbox database of the plurality of sandbox databases uses a first subset of metadata from the main database, wherein a second sandbox database of the plurality of sandbox databases uses a second subset of metadata from the main database, and wherein the first subset of metadata and the second subset of metadata are different. The modification would be obvious because one of ordinary skill in the art would be motivated to set up a sandbox that is specific to a user, such as a personal sandbox environment, while in other scenarios, a user may access one or more team sandboxes having access rules according to the team and users of the team and use a Metadata service to write metadata and dataset as a new entry into the sandbox according to access criteria associated with the user. The sandbox environment provides a means for easily obtaining samples or restricted access to datasets that a user may not otherwise be able to access, such as production datasets. Through the sandbox, a user may work with a digested, sampled, or restricted version of the dataset (Khurana2, ¶ 35).
As to claim 8, the rejection of claim 1 is incorporated. Martin as modified further discloses The system of claim 1, wherein the microprocessor readable and executable instructions further comprise: receiving an input identifying a number of nodes in the first sandbox (Khurana, Fig. 2, ¶ 38, metadata service 230 identifies policies associated with sandbox 210. The policies associated with sandbox 210 may be based on a user, a user group or team, a location, a device); and creating the number of nodes in the first sandbox, wherein the number of nodes in the first sandbox is different from a number of nodes in the main database (Khurana, ¶ 56, sandboxes may be implemented for groups, teams, and collaboration purposes; ¶ 35, The sandbox environment provides a means for easily obtaining samples or restricted access to datasets that a user may not otherwise be able to access, such as production datasets. Through the sandbox, a user may work with a digested, sampled, or restricted version of the dataset). The motivation to combine the references is the same as set forth in the rejection of claim 5.
As to claim 13, the claim is a method claim corresponding to system claim 5. Therefore, it is rejected under the same rational set forth in the rejection of claim 5.
As to claim 16, the claim is a method claim corresponding to system claim 8. Therefore, it is rejected under the same rational set forth in the rejection of claim 8.
As to claim 20, the claim is a computer medium claim corresponding to system claim 8. Therefore, it is rejected under the same rational set forth in the rejection of claim 8.
Claims 6 and 14 are rejected under 35 U.S.C. 103 as being unpatentable over US 2019/0034321 (hereinafter "Martin”), in view of US 11609986 (hereinafter “Khurana”), in view of US 2013/0339394 (hereinafter “Chirlian”), in view of US 11,657,047 (hereinafter “Shivarathri”), and further in view of US 9,087,067 (hereinafter “Gu”).
As to claim 6, the rejection of claim 1 is incorporated. Martin as modified does not appear to explicitly disclose The system of claim 1, wherein the first sandbox cache stores any changes to the one or more records in the first sandbox cache and wherein the changes to the one or more records stored in the first sandbox cache are used to synchronize the changes in the records back to the main database. However, in an analogous art to the claimed invention in the field of sandbox environment, Gu teaches The system of claim 1, wherein the first sandbox cache stores any changes to the one or more records in the first sandbox cache (Gu, col. 3, ln. 11-13, the sandbox cache stores information that has either been changed, added, or removed; col. 7, ln. 14-17, The system of claim 1, wherein the first sandbox cache stores any changes to records in the first sandbox cache and wherein the changes to the records stored in the first sandbox cache are used to synchronize the changes in the records back to the main database) and wherein the one or more changes to the records stored in the first sandbox cache are used to synchronize the changes in the records back to the main database (Gu, col. 3, ln. 39-41, despite changes made in, a sandbox cache, the underlying database remains unchanged unless the user chooses otherwise).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Martin’s system as modified with the system taught by Gu including that the first sandbox cache stores any changes to records in the first sandbox cache. The modification would be obvious because one of ordinary skill in the art would be motivated to model changes to entities in large scale sets of data for various portfolio holdings in different respective sandbox caches and enable the user to manipulate the respective sandbox cache to change values in the data organized according to the entity model in the respective sandbox cache without changing values of data in other sandbox caches or in the database (Gu, Abstract).
As to claim 14, the claim is a method claim corresponding to system claim 6. Therefore, it is rejected under the same rational set forth in the rejection of claim 6.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
US 2021/0012328 teaches that an application has a security sandbox manager with different policies. These policies relate to the level of access granted to the security sandboxed portion of the system.
Contact Information
Any inquiry concerning this communication or earlier communications from the examiner should be directed to DAXIN WU whose telephone number is (571) 270-7721. The examiner can normally be reached on M-F (7 am - 11:30 am; 1:30- 5 pm).
If attempts to reach the examiner by telephone are unsuccessful, the examiner' s supervisor, Wei Mui can be reached at (571) 272-3708. 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 Patent Center. Status information for published applications may be obtained from Patent Center. Status information for unpublished applications is available through Patent Center for authorized users only. Should you have questions about access to Patent Center, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free).
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) Form at https://www.uspto.gov/patents/uspto-automated- interview-request-air-form.
/DAXIN WU/ Primary Examiner, Art Unit 2191