Jump to content

Patent Application 18806986 - MATERIALIZED VIEW SUB-DATABASE REPLICATION - Rejection

From WikiPatents

Patent Application 18806986 - MATERIALIZED VIEW SUB-DATABASE REPLICATION

Title: MATERIALIZED VIEW SUB-DATABASE REPLICATION

Application Information

  • Invention Title: MATERIALIZED VIEW SUB-DATABASE REPLICATION
  • Application Number: 18806986
  • Submission Date: 2025-04-10T00:00:00.000Z
  • Effective Filing Date: 2024-08-16T00:00:00.000Z
  • Filing Date: 2024-08-16T00:00:00.000Z
  • Examiner Employee Number: 83114
  • Art Unit: 2164
  • Tech Center: 2100

Rejection Summary

  • 102 Rejections: 0
  • 103 Rejections: 3

Cited Patents

The following patents were cited in the rejection:

Office Action Text


    
DETAILED ACTION

Notice of Pre-AIA  or AIA  Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .

Claims 1-30 are present. Claims 1-30 are pending. 

Drawings
The drawings received on August 16, 2024 are accepted by the Examiner.

This Office Action is Non-Final.

Priority
This application is a Continuation of U.S. patent application Ser. No. 18/295,987, filed Apr. 5, 2023, which is a Continuation of U.S. patent application Ser. No. 17/804,753, filed May 31, 2022 and now issued as U.S. Pat. No. 11,640,412, which is a Continuation of U.S. patent application Ser. No. 17/226,141, filed Apr. 9, 2021 and now issued as U.S. Pat. No. 11,372,891, which is a Continuation of U.S. patent application Ser. No. 16/944,983, filed Jul. 31, 2020 and now issued as U.S. Pat. No. 10,997,210, which claims priority to U.S. Provisional Patent Application Ser. No. 63/032,163, filed May 29, 2020.

Claims rejection 35 U.S.C. 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-8, 10-11, 13-18, 20-21, 23-28 and 30 are rejected under AIA  35 U.S.C. 103 as being unpatentable over Cruanes  et al. (US 20180068008 A1) in view of Kalekar et al. (US 9251020 B1).

Regarding claims 1, 11 and 21, Cruanes discloses a computer-implemented method for sub-database replication, the method comprising: 
receiving, by one or more processors, from a database user, an identification of a column in a data table for filtering (see Cruanes paragraph [0048], The system may use columnar scanning of partitions so that an entire partition is not scanned if a query only filters by one column. In other words, the closer the ratio of scanned micro-partitions and columnar data is to the ratio of actual data selected, the more efficient is the pruning performed on the table); 
clustering, by the one or more processors, the data table based on the column to generate one or more micro-partitions sorted in the column (see Cruanes paragraph [0028], As used herein the term clustering is given to describe the clustering properties or organization of partitions or micro-partitions; see Cruanes paragraph [0048], The system may use columnar scanning of partitions so that an entire partition is not scanned if a query only filters by one column. In other words, the closer the ratio of scanned micro-partitions and columnar data is to the ratio of actual data selected, the more efficient is the pruning performed on the table); 
accessing, by the one or more processors, metadata for the one or more micro-partitions of the data table, the metadata indicating a minimum value and a maximum value for the column in each micro-partition (see Cruanes paragraph [0030], The database service manager 102 may provide various services and functions that support the operation of the systems and components within the processing platform 100. Database service manager 102 has access to stored metadata associated with the data stored throughout data processing platform 100. The database service manager 102 may use the metadata for optimizing user queries; see Cruanes paragraph [0031], the metadata may include a number of distinct values; a number of null values; and a minimum value and a maximum value for each file, partition, or column. In an implementation, the metadata may further include string length information and ranges of characters in strings); 
performing, by the one or more processors, file-level filtering of the one or more micro-partitions based on the metadata without opening the one or more micro-partitions  (see Cruanes paragraph [0022], the ability to skip large chunks of data that are in different partitions, improved filtering and joins, as well as improved data manipulation language (DML) operations efficiency. As an example of improved filtering, when a query is received a large amount of data in different partitions may be filtered out based on query predicates); 
Kalekar expressly discloses generating, by the one or more processors, a replication policy based on the file-level filtering (see Kalekar Col. 1, lines 30-35, systems and methods for file-level replication by filtering file operations for specified files on primary volumes); and 
performing, by the one or more processors, sub-database replication of filtered micro-partitions from a first database to a second database in a different region using the replication policy (see Kalekar Col. 1, lines 30-50, a computer-implemented method for file-level replication may include 1) identifying a selection of at least one source file to replicate from a primary volume to a secondary volume, 2) identifying extent information that indicates a volume location of the source file within the primary volume, 3) identifying a volume offset within the primary volume of a write operation performed on the source file within the primary volume, 4) converting the volume offset to a file offset within the source file using the extent information, and 5) replicating the write operation and the file offset to the secondary volume).
It would have been obvious to a person of ordinary skill in art before the effective filing date of the claimed invention to incorporate the teaching of Kalekar into the method of Cruanes to have generating, by the one or more processors, a replication policy based on the file-level filtering.  Here, combining Kalekar with Cruanes, which are both related to file processing, improves Cruanes by providing and method improved systems and methods for file-level replication (see Kalekar paragraph [0005]).

Regarding claims 3, 13  and 23, Cruanes discloses  wherein performing the file-level filtering comprises determining whether to replicate a micro-partition based on the minimum value and the maximum value of the column in the metadata (see Cruanes paragraph [0032],  the metadata may include a number of distinct values; a number of null values; and a minimum value and a maximum value for each file, partition, or column. In an implementation, the metadata may further include string length information and ranges of characters in strings).

Regarding claims 4, 14 and 24, Cruanes discloses receiving, from the database user, a filtering behavior to be applied to the column (see Cruanes paragraph [0048], The micro-partition metadata maintained by the configuration and metadata manager 222 enables precise pruning of columns in micro-partitions at query run-time, including columns containing semi-structured data. In other words, a query that specifies a filter predicate on a range of values that accesses 10% of the values in the range should ideally only scan about 10% of the micro-partitions… The system may use columnar scanning of partitions so that an entire partition is not scanned if a query only filters by one column).

Regarding claims 5, 15 and 25, Kalekar expressly discloses wherein the first database is a primary database of the database user, and the second database is a secondary database of the database user (see Kalekar Col. 1, lines 30-50, a computer-implemented method for file-level replication may include 1) identifying a selection of at least one source file to replicate from a primary volume to a secondary volume, 2) identifying extent information that indicates a volume location of the source file within the primary volume, 3) identifying a volume offset within the primary volume of a write operation performed on the source file within the primary volume, 4) converting the volume offset to a file offset within the source file using the extent information, and 5) replicating the write operation and the file offset to the secondary volume).
It would have been obvious to a person of ordinary skill in art before the effective filing date of the claimed invention to incorporate the teaching of Kalekar into the method of Cruanes to have generating, by the one or more processors, a replication policy based on the file-level filtering.  Here, combining Kalekar with Cruanes, which are both related to file processing, improves Cruanes by providing and method improved systems and methods for file-level replication (see Kalekar paragraph [0005]).

Regarding claims 6, 16 and 26, Kalekar expressly discloses wherein the replication policy is a database object that the database user uses to define objects to replicate to the second database (see Kalekar Col. 1, lines 30-50, a computer-implemented method for file-level replication may include 1) identifying a selection of at least one source file to replicate from a primary volume to a secondary volume, 2) identifying extent information that indicates a volume location of the source file within the primary volume, 3) identifying a volume offset within the primary volume of a write operation performed on the source file within the primary volume, 4) converting the volume offset to a file offset within the source file using the extent information, and 5) replicating the write operation and the file offset to the secondary volume).
It would have been obvious to a person of ordinary skill in art before the effective filing date of the claimed invention to incorporate the teaching of Kalekar into the method of Cruanes to have generating, by the one or more processors, a replication policy based on the file-level filtering.  Here, combining Kalekar with Cruanes, which are both related to file processing, improves Cruanes by providing and method improved systems and methods for file-level replication (see Kalekar paragraph [0005]).

Regarding claims 7, 17 and 27, Kalekar expressly discloses wherein the sub-database replication is performed for a plurality of target accounts associated with a plurality of data consumers (see Kalekar Col. 2, lines 1-14, an additional method for file-level replication may include: 1) identifying a target file on a secondary volume as a replicated version of a source file on a primary volume, 2) receiving a replicated write operation to apply to the target file on the secondary volume, 3) identifying extent information that indicates a volume location of the target file within the secondary volume, 4) identifying a file offset of the replicated write operation, 5) converting the file offset to a volume offset of the replicated write operation within the secondary volume using the extent information, and 6) applying the replicated write operation on the secondary volume using the volume offset).
It would have been obvious to a person of ordinary skill in art before the effective filing date of the claimed invention to incorporate the teaching of Kalekar into the method of Cruanes to have generating, by the one or more processors, a replication policy based on the file-level filtering.  Here, combining Kalekar with Cruanes, which are both related to file processing, improves Cruanes by providing and method improved systems and methods for file-level replication (see Kalekar paragraph [0005]).

Regarding claims 8, 18 and 28, Cruanes discloses, wherein the column is a customer identification column (see Cruanes paragraph [0071],  the database or table data may be partitioned or clustered based on one or more of a natural division for the underlying data and/or an indication or rule from a user, such as an administrator, controlling program, or the like. For example, Internet-of-things (IoT) data may come in at periodic intervals such as on an hourly, daily, weekly, or any other interval. The periodic interval for data collection may provide a natural division for the data such that data for a specific day or interval may be included within the same partition. Other types of natural divisions include data type, data location (e.g., state, zip code, city, country, or the like), customer corresponding to the data, or any other metadata or information about the data).

Regarding claims 10, 20 and 30, Cruanes discloses further comprising: detecting a change to the data table; and updating the metadata for the one or more micro-partitions affected by the change (see Cruanes paragraph [0031], As part of the data processing platform 100, metadata may be collected when changes are made to the data using a data manipulation language (DML), which changes may be made by way of any DML statement. Examples of manipulating data may include, but are not limited to, selecting, updating, changing, merging, and inserting data into tables. Table data for a single table may be partitioned or clustered into various partitions. As part of the processing platform 100, files or partitions may be created and the metadata may be collected on a per file, per partition, and/or a per column basis).

Claims 2, 12 and 22 are rejected under AIA  35 U.S.C. 103 as being unpatentable over Cruanes  et al. (US 20180068008 A1) in view of Kalekar et al. (US 9251020 B1) further in view Rajan (US 20140081950 A1).

Regarding claims 2, 12 and 22, wherein the data table comprises a plurality of data table rows associated with a plurality of client identifiers including data content (see Rajan paragraph [0029], able 220 represents a base table of system 200. Table 220 is shown having N columns, 0 through N-1, and rows A, B, C, . . . . For purposes of illustration in system 200, assume that each row A, B, C, . . . , represents a separate client of the database system. Thus, for each client, there can be any number of rows of data. An alternative way to visualize table 220 would be for each row of data to identify the client as the first column of data, which could mean that multiple rows would have the same initial column of data identifying a particular client).
It would have been obvious to a person of ordinary skill in art before the effective filing date of the claimed invention to incorporate the teaching of Rajan into the method of Cruanes to have the data table comprises a plurality of data table rows associated with a plurality of client identifiers including data content.  Here, combining Rajan with Cruanes, which are both related to file processing, improves Cruanes by providing and database system that is or is part of an on-demand database environment that can provide to clients the quantity of database resources needed, and when they are needed (see Rajan paragraph [0027]).


Claims 9, 19 and 29 are rejected under AIA  35 U.S.C. 103 as being unpatentable over Cruanes  et al. (US 20180068008 A1) in view of Kalekar et al. (US 9251020 B1) further in view of Itkin et al. (US 20090300019 A1).

Regarding claims 9, 19 and 29, Itkin discloses, further comprising: detecting an update to an entitlements table associated with the data table, wherein the entitlements table includes a plurality of entitlements table rows associated with client identifiers, consumer account identifiers, and provider account identifiers; and performing incremental replication of the data table based on the update to the entitlements table (see Itkin paragraph [0018], the Entitlement table (106) specifies data to which a user has access. In one or more embodiments, the data to which a user has access is defined using entries from the Entitlement table (106) in combination with entries in the Chasing Rules table (110). As such, the system does not require an administrator to specify access to data on a per-table basis; rather, the administrator can specify one or more chasing rules (as defined in the Chasing Rules table (110)) and grant a user access to all tables between (and including) the source table and target table. In one or more embodiments, the Entitlement table (106) also specifies one or more operations (e.g., select, insert, delete, update, etc.) that a user can perform on the data. In one or more embodiments, the Entitlement table (106) may specify a role and/or a group of users that have access to a given set of data within the database. In such cases, the Entitlement table (106) also includes entries specifying that a particular user is part of group and/or assigned a role).
It would have been obvious to a person of ordinary skill in art before the effective filing date of the claimed invention to incorporate the teaching of Itkin into the method of Cruanes to have detecting an update to an entitlements table associated with the data table.  Here, combining Itkin with Cruanes, which are both related to file processing, improves Cruanes by providing and database system a method and system for enforcing fine-grained access to data within the database (see Itkin paragraph [0010]).

Remarks
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. Brodt et al (US 20180137186 A1) discloses method for copying data from a source database maintained by a first database engine to a target database maintained by a second database engine comprises executing, by the first database engine, one or more transactions, thereby changing rows of a source table of the source database.

Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to DINKU W GEBRESENBET whose telephone number is (571)270-1636. The examiner can normally be reached between 8:00AM-5:00PM.
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, Amy Ng can be reached on 571- 270-1698. 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.
/DINKU W GEBRESENBET/Primary Examiner, Art Unit 2164                                                                                                                                                                                                        


    
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
    


(Ad) Transform your business with AI in minutes, not months

Custom AI strategy tailored to your specific industry needs
Step-by-step implementation with measurable ROI
5-minute setup that requires zero technical skills
Get your AI playbook

Trusted by 1,000+ companies worldwide

Cookies help us deliver our services. By using our services, you agree to our use of cookies.