DETAILED ACTION
Claims 1-20 are pending in this office action.
Response to Arguments
Applicant's arguments filed on 10/29/2025 have been fully considered but they are not persuasive.
For 101 rejection:
Applicant argued that the specific combination of deltalog maintenance, changeset computation through relational operations, and targeted API call generation represents an inventive concept that transforms the nature of the claims. The dependent claims particularly illustrate this inventive concept through their detailed recitations of database operations such as left joins, identification of new and missing rows, creation of additions and deletions data frames, and management of committed fields for tracking synchronization state.
These elements provide a specific technical implementation that goes beyond generic computer automation. The deltalog structure with committed field tracking, the use of relational join operations to compute changesets, and the two-stage API call strategy of claim 2 (first replacing the list, then issuing incremental updates) all represent concrete technical choices that embody the improved synchronization approach. This level of technical specificity distinguishes the claims from those that merely invoke computers generically to automate abstract ideas. They are not directed to abstract ideas when properly analyzed as a whole, but rather integrate any potentially abstract concepts into a practical application that improves computer functionality in distributed database synchronization. The specific technical operations recited-deltalog maintenance, changeset computation through database operations, and coordinated API call generation-cannot practically be performed in the human mind and represent improvements to computer technology that address recognized technical problems in distributed systems.
Examiner respectfully disagrees.
For independent claims 1, 8, 15:
The limitations of (update or updating a deltalog responsive to a change in the dataset; determine or determining that a list refresh is needed for the external system;
compute or computing a changeset based on the deltalog and the dataset, the changeset representing one or more of additions or deletions to the dataset) as drafted, is a process or system or medium that, under its broadest reasonable interpretation, covers performance of the limitations in the mind but for the recitation of generic computer components. If a claim limitation, under its broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components, then it falls within the “Mental Processes” grouping of abstract ideas. The human mind can perform step of updating, determining and computing. Accordingly, the claims recite an abstract idea.
The additional limitation of issue or issuing at least one application programming interface call to the external system based on the changeset to update a list of records stored by the external system (in claims 1, 8, 15) that represent well-understood, routine, conventional activity (See MPEP 2106.05(g) or 2106.05(d) for Presenting offers and gathering statistics, OIP Techs and Receiving or transmitting data over a network, e.g. see Intellectual Ventures v. Symantec; Storing and retrieving information in memory: Versata; Analyzing data: Genetic Techs; Determining: OIP Techs; Electronic recordkeeping: Alice Corp).
In addition:
a) step 2A Prong One,
Claims 1, 8, 15 similarly recite abstract limitations of
(update or updating a deltalog responsive to a change in the dataset;
determine or determining that a list refresh is needed for the external system;
compute or computing a changeset based on the deltalog and the dataset, the changeset representing one or more of additions or deletions to the dataset) as drafted, is a process or system or medium that, under its broadest reasonable interpretation, covers performance of the limitations in the mind but for the recitation of generic computer components. If a claim limitation, under its broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components, then it falls within the “Mental Processes” grouping of abstract ideas. The human mind can perform step of updating, determining and computing. Accordingly, the claims recite an abstract idea.
b) step 2A Prong Two:
Claims do not recite additional elements that integrate the judicial exception into a practical application because the additional limitations of database, persistent storage device, a connector, a computing device (in claim 1); and a non-transitory computer-readable storage medium, computer program instructions, a computer processor (in claim 15) that are recited at a high-level of generality such that it amounts no more than mere instructions to apply the exception using a generic computer component.
The additional limitations of a database storing a dataset, the database comprising a persistent storage device; and access data stored in the database and transfer data and commands to an external system (in claim 1); and the deltalog storing one or more of additions or deletions to data in the dataset, issue or issuing at least one application programming interface call to the external system based on the changeset to update a list of records stored by the external system (in claims 1, 8, 15) that represent well-understood, routine, conventional activity (See MPEP 2106.05(g) or 2106.05(d) for Presenting offers and gathering statistics, OIP Techs and Receiving or transmitting data over a network, e.g. see Intellectual Ventures v. Symantec; Storing and retrieving information in memory: Versata; Analyzing data: Genetic Techs; Determining: OIP Techs; Electronic recordkeeping: Alice Corp).
Accordingly, these additional elements do not recite additional elements that integrate the judicial exception into a practical application. The claims are not patent eligible.
c) step 2B:
Claims do not recite any additional elements that amount to significantly more than the judicial because database, persistent storage device, a connector, a computing device (in claim 1); and a non-transitory computer-readable storage medium, computer program instructions, a computer processor (in claim 15) that are recited at a high-level of generality such that it amounts no more than mere instructions to apply the exception using a generic computer component.
The additional limitations of a database storing a dataset, the database comprising a persistent storage device; and access data stored in the database and transfer data and commands to an external system (in claim 1); and the deltalog storing one or more of additions or deletions to data in the dataset, issue or issuing at least one application programming interface call to the external system based on the changeset to update a list of records stored by the external system (in claims 1, 8, 15) that represent well-understood, routine, conventional activity (See MPEP 2106.05(g) or 2106.05(d) for Presenting offers and gathering statistics, OIP Techs and Receiving or transmitting data over a network, e.g. see Intellectual Ventures v. Symantec; Storing and retrieving information in memory: Versata; Analyzing data: Genetic Techs; Determining: OIP Techs; Electronic recordkeeping: Alice Corp).
Accordingly, these additional elements do not amount to significantly more than the judicial exception. The claims are not patent eligible.
For dependent claims:
The limitations of “management of committed fields for tracking synchronization state” is not cited in claims.
However:
Claims 4, 11, 18 similarly recite limitation
(wherein updating a deltalog responsive to a change in the dataset comprises: performing a left join on the current deltalog table and the dataset to obtain a joined dataset; identifying new rows in the joined dataset; identifying missing rows in the joined dataset; and merging addition records based on the new rows to the current deltalog table) as drafted, is a process or system or medium that, under its broadest reasonable interpretation, covers performance of the limitations in the mind but for the recitation of generic computer components. If a claim limitation, under its broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components, then it falls within the “Mental Processes” grouping of abstract ideas. The human mind can perform step of updating, joining, identifying, identifying and merging. Accordingly, the claims recite an abstract idea.
The additional limitation of retrieving a current deltalog table that represent well-understood, routine, conventional activity (See MPEP 2106.05(g) or 2106.05(d) for Presenting offers and gathering statistics, OIP Techs and Receiving or transmitting data over a network, e.g. see Intellectual Ventures v. Symantec; Storing and retrieving information in memory: Versata; Analyzing data: Genetic Techs; Determining: OIP Techs; Electronic recordkeeping: Alice Corp).
Claims 5, 12, 19 similarly recite limitations
(wherein computing a changeset based on the deltalog and the dataset comprises: reading a current deltalog table; performing a left join on the current deltalog table and the dataset to obtain a joined dataset; creating an additions data frame based on the joined dataset; and creating a deletions data frame based on the joined dataset) as drafted, is a process or system or medium that, under its broadest reasonable interpretation, covers performance of the limitations in the mind but for the recitation of generic computer components. If a claim limitation, under its broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components, then it falls within the “Mental Processes” grouping of abstract ideas. The human mind can perform step of computing, reading, joining, creating, creating. Accordingly, the claims recite an abstract idea.
Claims 6, 13, 20 similarly recite limitations
(wherein updating a deltalog responsive to a change in the dataset comprises: updating a plurality of rows in a deltalog table based on a committed field; deleting a plurality of rows based on the committed field) as drafted, is a process or system or medium that, under its broadest reasonable interpretation, covers performance of the limitations in the mind but for the recitation of generic computer components. If a claim limitation, under its broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components, then it falls within the “Mental Processes” grouping of abstract ideas. The human mind can perform step of updating, deleting. Accordingly, the claims recite an abstract idea.
The limitation of (persisting the deltalog table) that represent well-understood, routine, conventional activity (See MPEP 2106.05(g) or 2106.05(d) for Presenting offers and gathering statistics, OIP Techs and Receiving or transmitting data over a network, e.g. see Intellectual Ventures v. Symantec; Storing and retrieving information in memory: Versata; Analyzing data: Genetic Techs; Determining: OIP Techs; Electronic recordkeeping: Alice Corp).
Claims 7, 14 recite limitation
(wherein determining that a list refresh is needed for the external system comprises one of periodically checking to determine if the list refresh is needed based on the deltalog or determining that the list refresh is needed upon detecting a change in the dataset) as drafted, is a process or system or medium that, under its broadest reasonable interpretation, covers performance of the limitations in the mind but for the recitation of generic computer components. If a claim limitation, under its broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components, then it falls within the “Mental Processes” grouping of abstract ideas. The human mind can perform step of determining and determining. Accordingly, the claims recite an abstract idea.
Accordingly, these additional elements do not recite additional elements that integrate the judicial exception into a practical application and do not amount to significantly more than the judicial exception. The claims are not patent eligible.
B) For 103 Rejection:
On pages 1-5, Applicant argued that the prior arts of the record do not teach
determine that a list refresh is needed for the external system;
compute a changeset based on the deltalog and the dataset, the changeset representing one or more of additions or deletions to the dataset, and
issue at least one application programming interface call to the external system based on the changeset to update a list of records stored by the external system.
Examiner respectfully disagrees.
Kadado teaches limitations
“determine that a list refresh is needed for the external system” as in order to ensure that the data in the derived record 118 accurately reflects the data in the base record 108, obtaining (paragraph 54) or retrieving updated data 122 about changes to the base record (fig. 1, abstract, paragraph 25) and transmitting the updated data 122 to an external system over the communication network(s) 130 so that the external system can accordingly update the derived record 118 based on the updated data 122, such that the derived record 118 is updated to reflect changes that have occurred at the base record 108 (paragraph 40).
The obtaining (paragraph 54) or retrieving updated data 122 (fig. 1, abstract, paragraph 25) and transmitting the updated data 122 to the external system to update the derived record 118 is represented as determining the updated data 122 is needed for the external system in order to ensure that the data in the derived record 118 accurately reflects the data in the base record 108 (paragraph 40).
The updated data 122 that corresponds to all available newer change entries (paragraphs 54, 56) or most recent change entries 114 (paragraph 63) is represented as a list refresh.
In particularly:
Data in the derived record 118 may become inaccurate or out-of-date when data in the base record 108 is changed (e.g., in response to one or more queries 128). In order to ensure that the data in the derived record 118 accurately reflects the data in the base record 108, the data in the derived record 118 may be at least occasionally updated based on the data in the base record 108. For example, the primary system 102 can transmit updated data 122 to an external system over the communication network(s) 130. The updated data 122 may be transmitted in the form of a “report,” which may represent one or more data packets indicating the updated data 122. The external system can accordingly update the derived record 118 based on the updated data 122, such that the derived record 118 is updated to reflect changes that have occurred at the base record 108 (paragraph 40).
By transmitting updated data 122 based on the most recent change entries 114 associated with individual base entries 110, without transmitting data associated with older change entries 114 associated with the same base entries 110 during the same reporting period, the size of the updated data 122 that is sent over the communication network(s) 130 and used to update derived records can be limited (paragraph 63);
“compute a changeset based on the deltalog and the dataset” as identify as compute a set of change entries 114 based on the entries 110 as the dataset and the change record 112 that is database and stores changes made to the entries 110 within a base record 108 (fig. 1, paragraphs 43, 50, 52) is represented as the deltalog. The set of change entries 114 is represented as a changeset.
In particularly:
[0050] The change record 112 may accordingly capture all changes, that have been performed on the base entries 110 over a period of time, in the change entries 114 of the change record 112. The change tracker 132 can maintain change entries 114 associated with previous changes to the base record 108 for at least a threshold period of time, such as a period of weeks, months, or years. In some examples, the change tracker 132 can be configured to maintain individual change entries 114 for at least a predefined audit or compliance period after the individual change entries 114 are added to the change record 112.
[0052] The change tracker 132 can be configured to identify a set of change entries 114 in the change record 112 that correspond to external queries 120 received from external systems 116. The change tracker 132 can accordingly provide the external systems with updated data 122 based on the identified set of change entries 114;
“the changeset representing one or more of additions or deletions to the dataset” as the set of change entries represents a complete set of the changes e.g., an addition, an updating or an deletion to the various base entries as the dataset within the base record 200 (paragraphs 81-82).
In particularly:
The set of change entries within the change record 206 can represent a complete set of the changes to the various base entries within the base record 200. For instance, a given change entry, which may include “Identifier m” and “Content m,” may include the identifier 202 and content 204 of a corresponding mth base entry among the n base entries in the base record 200, or a corresponding base entry that has been deleted from the base record 200, wherein the corresponding base entry has been changed (e.g., added, updated, or deleted) (paragraph 81);
“issue……to the external system based on the changeset to update a list of records stored by the external system” as transmit as issue to the external system based on the set of change entries as the changeset to update derived records stored in the external systems (paragraphs 25, 52).
In particularly:
The change tracking system 106 can be configured to receive external queries 120 from external systems, and transmit updated data 122 to the external systems that includes portions of the change record 112 selected based on the external queries 120. The external systems can use the updated data 122 to update derived records (paragraph 25).
The change tracker 132 can be configured to identify a set of change entries 114 in the change record 112 that correspond to external queries 120 received from external systems 116. The change tracker 132 can accordingly provide the external systems with updated data 122 based on the identified set of change entries 114 (paragraph 52).
Aha teaches limitation
“a persistent storage device” as read only memory (ROM) as a persistent storage device (paragraph 27);
“commands” as queries as commands (paragraph 54);
“at least one application programming interface call” as application programming interface call (paragraph 10).
Fink teaches limitation
“a persistent storage device” as read only memory (ROM) as a persistent storage device (paragraph 64);
“commands” as functions as commands (paragraphs 3-4);
“at least one application programming interface call” as application programming interface call (paragraphs 48-49, fig. 1).
As discussed above the combinations of references teach the above limitations.
C) Applicant argued that there is no suggestion in Kadado of a connector component that actively manages synchronization state through a deltalog, proactively determines when external systems need refreshing, and computes optimized changesets by jointly analyzing deltalog and dataset state.
In response to Applicant’s argument, the limitation “a connector component that actively manages synchronization state through a deltalog, proactively determines when external systems need refreshing, and computes optimized changesets by jointly analyzing deltalog and dataset state” is not recited in claims.
However, Kadado teaches limitations
“a database storing a dataset, the database comprising …… and a connector, the connector comprising a computing device configured to access data stored in the database and transfer data and …… to an external system, the connector configured to:” as primary system 102 as database storing base entries 110 as a dataset, the primary system 102 as the database comprises a base system 104 and the change tracking system 106 as a connector, the change tracking system 106 as the connector includes a change tracker 132 as a computing device configured to access data stored in base records 108 in the primary system as database (fig. 1, paragraphs 25-26, and transmit data and one or more packets to an external system(s) 116 (paragraphs 31, 40-42), the change tracking system 106 as the connector configured to: (fig. 1, paragraphs 25-26);
“update a deltalog responsive to a change in the dataset, the deltalog storing one or more of additions or deletions to data in the dataset” as update change record 112 in response a change in the base entries 110 as the dataset, the change record 112 stores an addition to an base entry as data in the base entries 110 as the dataset (paragraphs 46-49). The change record 112 that is database and stores changes made to the entries 110 within a base record 108 (fig. 1, paragraphs 43, 50, 52) is represented as the deltalog.
In particularly:
[0048] As a second example, the change tracker 132 may identify that a previously-existing base entry has been deleted from the base record 108. Based on the identification that the previous base entry has been deleted, the change tracker 132 may add a new change entry to the change record 112 that corresponds to the deletion of the previous base entry in the base record 108. The new change entry may include at least a portion (e.g., at least the primary key) of the previous base entry that has been deleted from the base record 108. The new change entry may include a change type element, or other type of additional element, that indicates that the previous base entry has been deleted from the base record 108. Further, the new change entry may include a timestamp, or other type of element, that indicates the time at which the previous base entry was deleted from the base record 108.
[0049] As a third example, the change tracker 132 may identify that an existing base entry has been updated in the base record 108. Based on the identification that the existing base entry has been updated, the change tracker 132 may add a new change entry to the change record 112 that corresponds to the update of the existing base entry. The new change entry may include at least the updated data in the existing base entry. In some cases, the new change entry may also include a change type element, or other type of additional element, that indicates that the existing base entry has been updated in the base record 108. The new change entry may further include a timestamp, or other type of element, that indicates the time at which the existing base entry was updated in the base record 108;
“determine that a list refresh is needed for the external system” as in order to ensure that the data in the derived record 118 accurately reflects the data in the base record 108, obtaining (paragraph 54) or retrieving updated data 122 about changes to the base record (fig. 1, abstract, paragraph 25) and transmitting the updated data 122 to an external system over the communication network(s) 130 so that the external system can accordingly update the derived record 118 based on the updated data 122, such that the derived record 118 is updated to reflect changes that have occurred at the base record 108 (paragraph 40).
The obtaining (paragraph 54) or retrieving updated data 122 (fig. 1, abstract, paragraph 25) and transmitting the updated data 122 to the external system to update the derived record 118 is represented as determining the updated data 122 is needed for the external system in order to ensure that the data in the derived record 118 accurately reflects the data in the base record 108 (paragraph 40).
The updated data 122 that corresponds to all available newer change entries (paragraphs 54, 56) or most recent change entries 114 (paragraph 63) is represented as a list refresh.
In particularly:
Data in the derived record 118 may become inaccurate or out-of-date when data in the base record 108 is changed (e.g., in response to one or more queries 128). In order to ensure that the data in the derived record 118 accurately reflects the data in the base record 108, the data in the derived record 118 may be at least occasionally updated based on the data in the base record 108. For example, the primary system 102 can transmit updated data 122 to an external system over the communication network(s) 130. The updated data 122 may be transmitted in the form of a “report,” which may represent one or more data packets indicating the updated data 122. The external system can accordingly update the derived record 118 based on the updated data 122, such that the derived record 118 is updated to reflect changes that have occurred at the base record 108 (paragraph 40).
By transmitting updated data 122 based on the most recent change entries 114 associated with individual base entries 110, without transmitting data associated with older change entries 114 associated with the same base entries 110 during the same reporting period, the size of the updated data 122 that is sent over the communication network(s) 130 and used to update derived records can be limited (paragraph 63);
“compute a changeset based on the deltalog and the dataset” as identify as compute a set of change entries 114 based on the entries 110 as the dataset and the change record 112 that is database and stores changes made to the entries 110 within a base record 108 (fig. 1, paragraphs 43, 50, 52) is represented as the deltalog. The set of change entries 114 is represented as a changeset.
In particularly:
[0050] The change record 112 may accordingly capture all changes, that have been performed on the base entries 110 over a period of time, in the change entries 114 of the change record 112. The change tracker 132 can maintain change entries 114 associated with previous changes to the base record 108 for at least a threshold period of time, such as a period of weeks, months, or years. In some examples, the change tracker 132 can be configured to maintain individual change entries 114 for at least a predefined audit or compliance period after the individual change entries 114 are added to the change record 112.
[0052] The change tracker 132 can be configured to identify a set of change entries 114 in the change record 112 that correspond to external queries 120 received from external systems 116. The change tracker 132 can accordingly provide the external systems with updated data 122 based on the identified set of change entries 114;
“the changeset representing one or more of additions or deletions to the dataset” as the set of change entries represents a complete set of the changes e.g., an addition, an updating or an deletion to the various base entries as the dataset within the base record (paragraphs 81-82).
In particularly:
The set of change entries within the change record 206 can represent a complete set of the changes to the various base entries within the base record 200. For instance, a given change entry, which may include “Identifier m” and “Content m,” may include the identifier 202 and content 204 of a corresponding mth base entry among the n base entries in the base record 200, or a corresponding base entry that has been deleted from the base record 200, wherein the corresponding base entry has been changed (e.g., added, updated, or deleted) (paragraph 81);
“issue……to the external system based on the changeset to update a list of records stored by the external system” as transmit as issue updated data 122 to the external system based on the set of change entries as the changeset to update derived records stored in the external systems (paragraphs 25, 52).
In particularly:
The change tracking system 106 can be configured to receive external queries 120 from external systems, and transmit updated data 122 to the external systems that includes portions of the change record 112 selected based on the external queries 120. The external systems can use the updated data 122 to update derived records (paragraph 25).
[0052] The change tracker 132 can be configured to identify a set of change entries 114 in the change record 112 that correspond to external queries 120 received from external systems 116. The change tracker 132 can accordingly provide the external systems with updated data 122 based on the identified set of change entries 114.
Aha teaches limitation
“a persistent storage device” as read only memory (ROM) as a persistent storage device (paragraph 27);
“commands” as queries as commands (paragraph 54);
“at least one application programming interface call” as application programming interface call (paragraph 10).
D) Applicant argued that the combination of Kadado and Aha and the combination of Kadado and Fink do not cure the fundamental architectural differences between the references and the claims. Adding Aha's API calls to Kadado's pull-based, query-driven change tracking system does not result in a push-based connector architecture that proactively determines refresh needs and computes changesets by analyzing both deltalog and dataset state. Kadado's external systems initiate updates by querying the change record; the claims recite the connector to determine when refresh is needed and compute appropriate changesets. This represents a shift in architectural control and responsibility that neither reference suggests.
Examiner respectfully disagrees.
In response to applicant's argument that reference(s) is nonanalogous art, it has been held that a prior art reference must either be in the field of the inventor’s endeavor or, if not, then be reasonably pertinent to the particular problem with which the inventor was concerned, in order to be relied upon as a basis for rejection of the claimed invention. See In re Oetiker, 977 F.2d 14, 24 USPQ2d 1443 (Fed. Cir. 1992). In this case,
Kadado teaches limitations
“a database storing a dataset, the database comprising …… and a connector, the connector comprising a computing device configured to access data stored in the database and transfer data and …… to an external system, the connector configured to:” as primary system 102 as database storing base entries 110 as a dataset, the primary system 102 as the database comprises a base system 104 and the change tracking system 106 as a connector, the change tracking system 106 as the connector includes a change tracker 132 as a computing device configured to access data stored in base records 108 in the primary system as database (fig. 1, paragraphs 25-26, and transmit data and one or more packets to an external system(s) 116 (paragraphs 31, 40-42), the change tracking system 106 as the connector configured to: (fig. 1, paragraphs 25-26);
“update a deltalog responsive to a change in the dataset, the deltalog storing one or more of additions or deletions to data in the dataset” as update change record 112 in response a change in the base entries 110 as the dataset, the change record 112 stores an addition to an base entry as data in the base entries 110 as the dataset (paragraphs 46-49). The change record 112 that is database and stores changes made to the entries 110 within a base record 108 (fig. 1, paragraphs 43, 50, 52) is represented as the deltalog.
In particularly:
[0048] As a second example, the change tracker 132 may identify that a previously-existing base entry has been deleted from the base record 108. Based on the identification that the previous base entry has been deleted, the change tracker 132 may add a new change entry to the change record 112 that corresponds to the deletion of the previous base entry in the base record 108. The new change entry may include at least a portion (e.g., at least the primary key) of the previous base entry that has been deleted from the base record 108. The new change entry may include a change type element, or other type of additional element, that indicates that the previous base entry has been deleted from the base record 108. Further, the new change entry may include a timestamp, or other type of element, that indicates the time at which the previous base entry was deleted from the base record 108.
[0049] As a third example, the change tracker 132 may identify that an existing base entry has been updated in the base record 108. Based on the identification that the existing base entry has been updated, the change tracker 132 may add a new change entry to the change record 112 that corresponds to the update of the existing base entry. The new change entry may include at least the updated data in the existing base entry. In some cases, the new change entry may also include a change type element, or other type of additional element, that indicates that the existing base entry has been updated in the base record 108. The new change entry may further include a timestamp, or other type of element, that indicates the time at which the existing base entry was updated in the base record 108;
“determine that a list refresh is needed for the external system” as in order to ensure that the data in the derived record 118 accurately reflects the data in the base record 108, obtaining (paragraph 54) or retrieving updated data 122 about changes to the base record (fig. 1, abstract, paragraph 25) and transmitting the updated data 122 to an external system over the communication network(s) 130 so that the external system can accordingly update the derived record 118 based on the updated data 122, such that the derived record 118 is updated to reflect changes that have occurred at the base record 108 (paragraph 40).
The obtaining (paragraph 54) or retrieving updated data 122 (fig. 1, abstract, paragraph 25) and transmitting the updated data 122 to the external system to update the derived record 118 is represented as determining the updated data 122 is needed for the external system in order to ensure that the data in the derived record 118 accurately reflects the data in the base record 108 (paragraph 40).
The updated data 122 that corresponds to all available newer change entries (paragraphs 54, 56) or most recent change entries 114 (paragraph 63) is represented as a list refresh.
In particularly:
Data in the derived record 118 may become inaccurate or out-of-date when data in the base record 108 is changed (e.g., in response to one or more queries 128). In order to ensure that the data in the derived record 118 accurately reflects the data in the base record 108, the data in the derived record 118 may be at least occasionally updated based on the data in the base record 108. For example, the primary system 102 can transmit updated data 122 to an external system over the communication network(s) 130. The updated data 122 may be transmitted in the form of a “report,” which may represent one or more data packets indicating the updated data 122. The external system can accordingly update the derived record 118 based on the updated data 122, such that the derived record 118 is updated to reflect changes that have occurred at the base record 108 (paragraph 40).
By transmitting updated data 122 based on the most recent change entries 114 associated with individual base entries 110, without transmitting data associated with older change entries 114 associated with the same base entries 110 during the same reporting period, the size of the updated data 122 that is sent over the communication network(s) 130 and used to update derived records can be limited (paragraph 63);
“compute a changeset based on the deltalog and the dataset” as identify as compute a set of change entries 114 based on the entries 110 as the dataset and the change record 112 that is database and stores changes made to the entries 110 within a base record 108 (fig. 1, paragraphs 43, 50, 52) is represented as the deltalog. The set of change entries 114 is represented as a changeset.
In particularly:
[0050] The change record 112 may accordingly capture all changes, that have been performed on the base entries 110 over a period of time, in the change entries 114 of the change record 112. The change tracker 132 can maintain change entries 114 associated with previous changes to the base record 108 for at least a threshold period of time, such as a period of weeks, months, or years. In some examples, the change tracker 132 can be configured to maintain individual change entries 114 for at least a predefined audit or compliance period after the individual change entries 114 are added to the change record 112.
[0052] The change tracker 132 can be configured to identify a set of change entries 114 in the change record 112 that correspond to external queries 120 received from external systems 116. The change tracker 132 can accordingly provide the external systems with updated data 122 based on the identified set of change entries 114;
“the changeset representing one or more of additions or deletions to the dataset” as the set of change entries represents a complete set of the changes e.g., an addition, an updating or an deletion to the various base entries as the dataset within the base record (paragraphs 81-82).
In particularly:
The set of change entries within the change record 206 can represent a complete set of the changes to the various base entries within the base record 200. For instance, a given change entry, which may include “Identifier m” and “Content m,” may include the identifier 202 and content 204 of a corresponding mth base entry among the n base entries in the base record 200, or a corresponding base entry that has been deleted from the base record 200, wherein the corresponding base entry has been changed (e.g., added, updated, or deleted) (paragraph 81);
“issue……to the external system based on the changeset to update a list of records stored by the external system” as transmit as issue updated data 122 to the external system based on the set of change entries as the changeset to update derived records stored in the external systems (paragraphs 25, 52).
In particularly:
The change tracking system 106 can be configured to receive external queries 120 from external systems, and transmit updated data 122 to the external systems that includes portions of the change record 112 selected based on the external queries 120. The external systems can use the updated data 122 to update derived records (paragraph 25).
[0052] The change tracker 132 can be configured to identify a set of change entries 114 in the change record 112 that correspond to external queries 120 received from external systems 116. The change tracker 132 can accordingly provide the external systems with updated data 122 based on the identified set of change entries 114.
Kadado does not explicitly teach limitations
a persistent storage device;
commands;
at least one application programming interface call.
Aha teaches limitation
“a persistent storage device” as read only memory (ROM) as a persistent storage device (paragraph 27);
“commands” as queries as commands (paragraph 54);
“at least one application programming interface call” as application programming interface call (paragraph 10).
Kadado and Aha disclose a method of updating data stored in a database based on a request. These references are in the same field with application’s field. Thus, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to apply Aha’s teaching to Kadado’s system in order to allow an application written in programming language to establish a connection with a database for transmitting and receiving query results from the database (Aha: paragraphs 48, 55) and further to allow a developer to perform operations including updating and deleting records from a given database without writing component from scratch (Aha: paragraphs 10,43).
In addition:
Fink teaches limitation
“a persistent storage device” as read only memory (ROM) as a persistent storage device (paragraph 64);
“commands” as functions as commands (paragraphs 3-4);
“at least one application programming interface call” as application programming interface call (paragraphs 48-49, fig. 1).
Kadado and Fink disclose a method of updating data stored in a database based on a request. These references are in the same field with application’s field. Thus, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to apply Fink’s teaching to Kadado’s system in order to reduce storage requirements but system still gives a consistent view of how the data has changed, to preserve monotonicity property while at the same time increasing performance of the event log including access time and storage requirements of event log (Fink: paragraph 54), further to achieve consistency such that a new user is only presented most recent copy and all subsequent events (Fink: paragraph 57).
As discussed above the combinations of these references teach all of limitations of claims 1, 8, 15 ( claims 8, 15 have the same limitation of claim 1).
E) The Office Action does not establish that one of ordinary skill in the art would have been motivated to transform Kadado's architecture into the specific deltalog-based connector system recited in the claims, nor that such a transformation would have been obvious given the fundamental differences in system design philosophy and technical approach.
Examiner respectfully disagrees.
In response to applicant’s argument that there is no teaching, suggestion, or motivation to combine the references, the examiner recognizes that obviousness may be established by combining or modifying the teachings of the prior art to produce the claimed invention where there is some teaching, suggestion, or motivation to do so found either in the references themselves or in the knowledge generally available to one of ordinary skill in the art. See In re Fine, 837 F.2d 1071, 5 USPQ2d 1596 (Fed. Cir. 1988), In re Jones, 958 F.2d 347, 21 USPQ2d 1941 (Fed. Cir. 1992), and KSR International Co. v. Teleflex, Inc., 550 U.S. 398, 82 USPQ2d 1385 (2007). In this case:
Kadado and Aha disclose a method of identifying changes of changeset to provide changes to an external system. Thus, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to apply Aha’s teaching to Kadado’s system in order to allow an application written in programming language to establish a connection with a database for transmitting and receiving query results from the database (Aha: paragraphs 48, 55) and further to allow a developer to perform operations including updating and deleting records from a given database without writing component from scratch (Aha: paragraphs 10,43); and
Kadado and Fink disclose a method of updating data stored in a database based on a request. Thus, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to apply Fink’s teaching to Kadado’s system in order to reduce storage requirements but system still gives a consistent view of how the data has changed, to preserve monotonicity property while at the same time increasing performance of the event log including access time and storage requirements of event log (Fink: paragraph 54), further to achieve consistency such that a new user is only presented most recent copy and all subsequent events (Fink: paragraph 57);
For to claims 4-6, 11-13, 18-20:
In response to applicant’s argument that there is no teaching, suggestion, or motivation to combine the references, the examiner recognizes that obviousness may be established by combining or modifying the teachings of the prior art to produce the claimed invention where there is some teaching, suggestion, or motivation to do so found either in the references themselves or in the knowledge generally available to one of ordinary skill in the art. See In re Fine, 837 F.2d 1071, 5 USPQ2d 1596 (Fed. Cir. 1988), In re Jones, 958 F.2d 347, 21 USPQ2d 1941 (Fed. Cir. 1992), and KSR International Co. v. Teleflex, Inc., 550 U.S. 398, 82 USPQ2d 1385 (2007). In this case: It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to apply Sri’s teaching to Kadado’s system in order to track changes in schema of a dataset over time such that the system can adaptively respond to user queries by understanding the schema changes and to represent an improvement in comparison to conventional systems which return zero results in response to a poor user query; and It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to apply Soza’s teaching to Kadado’s system in order to retrieve further data from a data source and update a target storage system based on the further retrieved data efficiently and correctly.
F) Applicant argued that Claim 4 recites performing a left join on the deltalog table and dataset, identifying new and missing rows, and merging addition records. Claim 5 recites creating separate additions and deletions data frames from the joined dataset. Claim 6 recites updating and deleting deltalog rows based on a committed field and persisting the deltalog table. These operations describe a stateful synchronization algorithm that maintains tracking information, computes deltas through relational operations, and manages commitment state to ensure accurate synchronization. Kadado's change record is a simpler append- only log that external systems query by timestamp; it does not describe the bidirectional analysis and stateful tracking recited in the dependent claims.
Examiner respectfully disagrees.
For claims 4, 11, 18, Kadado and Aha or Kadado and Fink teach limitation
“wherein updating a deltalog responsive to a change in the dataset comprises: retrieving ……” as updating change record 112 as deltalog based on a change in the base entries 110 as the dataset includes (Kadado: paragraphs 46-49) retrieving data (Kadado: paragraph 51) or retrieve all rows of table from a database (Aha: paragraph 49) or retrieving (Fink: paragraph 5).
Sri teaches limitations
“performing ……on ……and the dataset to obtain a joined dataset” as combining records in new dataset and existing dataset to obtain a combined dataset (fig. 4, paragraph 73);
“identifying new rows in the joined dataset” as assigning as identifying last two rows as new rows in the combined dataset with a schema (fig. 3F, paragraph 68);
“identifying ……in the joined dataset” as identifying rows in the combined data to assign schema (fig. 3F, paragraph 68); and
“merging addition records based on the new rows to ……” as combining additional records from new dataset 365 based on schema 2 of the last two rows as based on the new rows to existing dataset (fig. 3E paragraph 68).
Soza teaches limitations
a current deltalog table; the current deltalog table; the current deltalog table (current delta table of database as a current deltalog table: paragraphs 82-83);
“a left join” as left/right/full join (paragraph 422);
“missing rows” as rows which are deleted as missing rows are no longer present in the OPEN database, but remain in the CLOSED database (paragraph 197).
For claims 5, 12, 19, Kadado and Aha or Kadado and Fink teach limitation
“wherein computing a changeset based on the deltalog and the dataset comprises: reading……” as identifying as computing a set of change entries 114 as a changeset based on the entries 110 as the dataset and the change record 112 as deltalog includes (fig. 1, paragraphs 43, 49-50, 52) reading (Kadado: paragraphs 34, 51) or retrieving (Aha: paragraph 53) or retrieving (Fink: paragraph 5).
Sri teaches limitations
“performing ……on ……and the dataset to obtain a joined dataset” as combining records in new dataset and existing dataset to obtain a combined dataset (fig. 4, paragraph 73);
“creating an additions data frame based on the joined dataset” as assigning as creating a schema of the last two rows based on a combined dataset 370 (figs. 3D-3F, paragraphs 68-69, 75). The schema 3 of the last two rows that are added to the combined data set 360 is represented as an additions data frame;
“creating…… based on the joined dataset” as assigning schema 3 to the last two rows based on the combined dataset 355 (figs. 3D-3F, paragraphs 68-69, 75).
Soza teaches limitations
a current deltalog table; the current deltalog table (current delta table of database as a current deltalog table: paragraphs 82-83);
“a left join” as left/right/full join (paragraph 422);
“an additions data frame” as open database as an additions data frame that store rows that are inserted each day (paragraphs 196-197, 208);
“a deletions data frame” as closed database as a deletions data frame that store deleted records as deletions (paragraphs 61, 196-197, 208).
For claims 6, 13, 20, Kadado and Aha or Kadado and Fink teaches limitation
“wherein updating a deltalog responsive to a change in the dataset comprises:…” as update change record 112 as deltalog in response to a change in the base entries 110 as the dataset includes (Kadado: paragraphs 46-49) updating records (Aha: paragraph 49) or retrieving (Fink: paragraphs 5, 44);
“persisting……” as storing a number of applications in memory (paragraph 33).
Sri teaches limitations
“updating ……based on a committed field” as updating data values in dataset based on received request that includes identification of data entry as a committed field (paragraphs 33, 69-70);
“deleting ……based on the committed field” replace data sets based on received request that includes identification of data entry as a committed field (paragraphs 33, 69-70).
Soza teaches limitations
a plurality of rows in a deltalog table; a plurality of rows (as a plurality of rows in delta table that stores old snapshot and new snapshot is represented as deltalog table (fig. 8, paragraphs 82-83, 198, 202)
the deltalog table” as delta table that stores old snapshot and new snapshot is represented as deltalog table (fig. 8, paragraphs 82-83, 198, 202).
As discussed above the combination of references teach the limitations of claims 4-6.
As discussed above the 103 rejections in view of references for claims are proper. Thus, 103 rejection for claims are still maintained in this office action.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 1-20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more.
Step 1 (The Statutory Categories): Is the claim to a process, machine, manufacture or composition of matter? MPEP 2106.03
Per Step 1, claim 1 is directed to a system, claim 8 to a method, and claim 15 to a non- transitory computer-readable storage medium, which are statutory categories of invention per Step 1. However, the claims are rejected under 35 U.S.C. 101 because they are directed to an abstract idea, a judicial exception, without reciting additional elements that integrate the judicial exception into a practical application or are significantly more.
Step 2A:
a) In analyzing under step 2A Prong One, Does the claim recite an abstract idea law of nature or natural phenomenon? Yes.
Claims 1, 8, 15 similarly recite abstract limitations of
(update or updating a deltalog responsive to a change in the dataset;
determine or determining that a list refresh is needed for the external system;
compute or computing a changeset based on the deltalog and the dataset, the changeset representing one or more of additions or deletions to the dataset) as drafted, is a process or system or medium that, under its broadest reasonable interpretation, covers performance of the limitations in the mind but for the recitation of generic computer components. If a claim limitation, under its broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components, then it falls within the “Mental Processes” grouping of abstract ideas. The human mind can perform step of updating, determining and computing. Accordingly, the claims recite an abstract idea.
b) In analyzing under step 2A Prong Two, Does the claim recite additional elements that integrate the judicial exception into a practical application? NO.
Claims do not recite additional elements that integrate the judicial exception into a practical application because the additional limitations of database, persistent storage device, a connector, a computing device (in claim 1); and a non-transitory computer-readable storage medium, computer program instructions, a computer processor (in claim 15) that are recited at a high-level of generality such that it amounts no more than mere instructions to apply the exception using a generic computer component.
The additional limitations of a database storing a dataset, the database comprising a persistent storage device; and access data stored in the database and transfer data and commands to an external system (in claim 1); and the deltalog storing one or more of additions or deletions to data in the dataset, issue or issuing at least one application programming interface call to the external system based on the changeset to update a list of records stored by the external system (in claims 1, 8, 15) that represent well-understood, routine, conventional activity (See MPEP 2106.05(g) or 2106.05(d) for Presenting offers and gathering statistics, OIP Techs and Receiving or transmitting data over a network, e.g. see Intellectual Ventures v. Symantec; Storing and retrieving information in memory: Versata; Analyzing data: Genetic Techs; Determining: OIP Techs; Electronic recordkeeping: Alice Corp).
Accordingly, these additional elements do not recite additional elements that integrate the judicial exception into a practical application. The claims are not patent eligible.
c) In analyzing under step 2B, does the claim recite additional elements that amount to significantly more than the judicial exception? NO
Claims do not recite any additional elements that amount to significantly more than the judicial because database, persistent storage device, a connector, a computing device (in claim 1); and a non-transitory computer-readable storage medium, computer program instructions, a computer processor (in claim 15) that are recited at a high-level of generality such that it amounts no more than mere instructions to apply the exception using a generic computer component.
The additional limitations of a database storing a dataset, the database comprising a persistent storage device; and access data stored in the database and transfer data and commands to an external system (in claim 1); and the deltalog storing one or more of additions or deletions to data in the dataset, issue or issuing at least one application programming interface call to the external system based on the changeset to update a list of records stored by the external system (in claims 1, 8, 15) that represent well-understood, routine, conventional activity (See MPEP 2106.05(g) or 2106.05(d) for Presenting offers and gathering statistics, OIP Techs and Receiving or transmitting data over a network, e.g. see Intellectual Ventures v. Symantec; Storing and retrieving information in memory: Versata; Analyzing data: Genetic Techs; Determining: OIP Techs; Electronic recordkeeping: Alice Corp).
Accordingly, these additional elements do not amount to significantly more than the judicial exception. The claims are not patent eligible.
Dependent claims 2-7, 9-14, 16-20 include all the limitations of claims 1, 8, 15. Therefore, claims 2-7, 9-14, 16-20 recite the same abstract idea of calculating practically being performed in the mind, and the analysis must therefore proceed to Step 2A Prong Two.
In particularly:
Claims 2, 9, 16 similarly recite limitation
( wherein issuing at least one application programming interface call to the external system based on the changeset comprises: issuing a first application programming interface call to the external system to replace the list of records with a new list of records stored in the dataset; and issuing one or more addition or deletion application programming interface calls to the external system to update of records stored by the external system) that represent well-understood, routine, conventional activity (See MPEP 2106.05(g) or 2106.05(d) for Presenting offers and gathering statistics, OIP Techs and Receiving or transmitting data over a network, e.g. see Intellectual Ventures v. Symantec; Storing and retrieving information in memory: Versata; Analyzing data: Genetic Techs; Determining: OIP Techs; Electronic recordkeeping: Alice Corp).
Claims 3, 10, 17 similarly recite limitation
(wherein issuing at least one application programming interface call to the external system based on the changeset comprises: generating a set of addition or deletion application programming interface calls based on the changeset; and issuing the set of addition or deletion application programming interface calls to the external system to update of records stored by the external system) that represent well-understood, routine, conventional activity (See MPEP 2106.05(g) or 2106.05(d) for Presenting offers and gathering statistics, OIP Techs and Receiving or transmitting data over a network, e.g. see Intellectual Ventures v. Symantec; Storing and retrieving information in memory: Versata; Analyzing data: Genetic Techs; Determining: OIP Techs; Electronic recordkeeping: Alice Corp).
Claims 4, 11, 18 similarly recite limitation
(wherein updating a deltalog responsive to a change in the dataset comprises: performing a left join on the current deltalog table and the dataset to obtain a joined dataset; identifying new rows in the joined dataset; identifying missing rows in the joined dataset; and merging addition records based on the new rows to the current deltalog table) as drafted, is a process or system or medium that, under its broadest reasonable interpretation, covers performance of the limitations in the mind but for the recitation of generic computer components. If a claim limitation, under its broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components, then it falls within the “Mental Processes” grouping of abstract ideas. The human mind can perform step of updating, joining, identifying, identifying and merging. Accordingly, the claims recite an abstract idea.
The additional limitation of retrieving a current deltalog table that represent well-understood, routine, conventional activity (See MPEP 2106.05(g) or 2106.05(d) for Presenting offers and gathering statistics, OIP Techs and Receiving or transmitting data over a network, e.g. see Intellectual Ventures v. Symantec; Storing and retrieving information in memory: Versata; Analyzing data: Genetic Techs; Determining: OIP Techs; Electronic recordkeeping: Alice Corp).
Claims 5, 12, 19 similarly recite limitations
(wherein computing a changeset based on the deltalog and the dataset comprises: reading a current deltalog table; performing a left join on the current deltalog table and the dataset to obtain a joined dataset; creating an additions data frame based on the joined dataset; and creating a deletions data frame based on the joined dataset) as drafted, is a process or system or medium that, under its broadest reasonable interpretation, covers performance of the limitations in the mind but for the recitation of generic computer components. If a claim limitation, under its broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components, then it falls within the “Mental Processes” grouping of abstract ideas. The human mind can perform step of computing, reading, joining, creating, creating. Accordingly, the claims recite an abstract idea.
Claims 6, 13, 20 similarly recite limitations
(wherein updating a deltalog responsive to a change in the dataset comprises: updating a plurality of rows in a deltalog table based on a committed field; deleting a plurality of rows based on the committed field) as drafted, is a process or system or medium that, under its broadest reasonable interpretation, covers performance of the limitations in the mind but for the recitation of generic computer components. If a claim limitation, under its broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components, then it falls within the “Mental Processes” grouping of abstract ideas. The human mind can perform step of updating, deleting. Accordingly, the claims recite an abstract idea.
The limitation of (persisting the deltalog table) that represent well-understood, routine, conventional activity (See MPEP 2106.05(g) or 2106.05(d) for Presenting offers and gathering statistics, OIP Techs and Receiving or transmitting data over a network, e.g. see Intellectual Ventures v. Symantec; Storing and retrieving information in memory: Versata; Analyzing data: Genetic Techs; Determining: OIP Techs; Electronic recordkeeping: Alice Corp).
Claims 7, 14 recite limitation
(wherein determining that a list refresh is needed for the external system comprises one of periodically checking to determine if the list refresh is needed based on the deltalog or determining that the list refresh is needed upon detecting a change in the dataset) as drafted, is a process or system or medium that, under its broadest reasonable interpretation, covers performance of the limitations in the mind but for the recitation of generic computer components. If a claim limitation, under its broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components, then it falls within the “Mental Processes” grouping of abstract ideas. The human mind can perform step of determining and determining. Accordingly, the claims recite an abstract idea.
Accordingly, these additional elements do not recite additional elements that integrate the judicial exception into a practical application and do not amount to significantly more than the judicial exception. The claims are not patent eligible.
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, 8, 10, 15 are rejected under 35 U.S.C. 103 as being unpatentable over Kadado et al (US 20240354301) in view of Ahadian et al (or hereinafter “Aha”) (US 20080270980).
As to claim 1, Kadado teaches a system comprising:
“a database storing a dataset, the database comprising …… and a connector, the connector comprising a computing device configured to access data stored in the database and transfer data and …… to an external system, the connector configured to:” as primary system 102 as database storing base entries 110 as a dataset, the primary system 102 as the database comprises a base system 104 and the change tracking system 106 as a connector, the change tracking system 106 as the connector includes a change tracker 132 as a computing device configured to access data stored in base records 108 in the primary system as database (fig. 1, paragraphs 25-26, and transmit data and one or more packets to an external system(s) 116 (paragraphs 31, 40-42), the change tracking system 106 as the connector configured to: (fig. 1, paragraphs 25-26);
“update a deltalog responsive to a change in the dataset, the deltalog storing one or more of additions or deletions to data in the dataset” as update change record 112 in response a change in the base entries 110 as the dataset, the change record 112 stores an addition to an base entry as data in the base entries 110 as the dataset (paragraphs 46-49). The change record 112 that is database and stores changes made to the entries 110 within a base record 108 (fig. 1, paragraphs 43, 50, 52) is represented as the deltalog.
In particularly:
[0048] As a second example, the change tracker 132 may identify that a previously-existing base entry has been deleted from the base record 108. Based on the identification that the previous base entry has been deleted, the change tracker 132 may add a new change entry to the change record 112 that corresponds to the deletion of the previous base entry in the base record 108. The new change entry may include at least a portion (e.g., at least the primary key) of the previous base entry that has been deleted from the base record 108. The new change entry may include a change type element, or other type of additional element, that indicates that the previous base entry has been deleted from the base record 108. Further, the new change entry may include a timestamp, or other type of element, that indicates the time at which the previous base entry was deleted from the base record 108.
[0049] As a third example, the change tracker 132 may identify that an existing base entry has been updated in the base record 108. Based on the identification that the existing base entry has been updated, the change tracker 132 may add a new change entry to the change record 112 that corresponds to the update of the existing base entry. The new change entry may include at least the updated data in the existing base entry. In some cases, the new change entry may also include a change type element, or other type of additional element, that indicates that the existing base entry has been updated in the base record 108. The new change entry may further include a timestamp, or other type of element, that indicates the time at which the existing base entry was updated in the base record 108;
“determine that a list refresh is needed for the external system” as in order to ensure that the data in the derived record 118 accurately reflects the data in the base record 108, obtaining (paragraph 54) or retrieving updated data 122 about changes to the base record (fig. 1, abstract, paragraph 25) and transmitting the updated data 122 to an external system over the communication network(s) 130 so that the external system can accordingly update the derived record 118 based on the updated data 122, such that the derived record 118 is updated to reflect changes that have occurred at the base record 108 (paragraph 40).
The obtaining (paragraph 54) or retrieving updated data 122 (fig. 1, abstract, paragraph 25) and transmitting the updated data 122 to the external system to update the derived record 118 is represented as determining the updated data 122 is needed for the external system in order to ensure that the data in the derived record 118 accurately reflects the data in the base record 108 (paragraph 40).
The updated data 122 that corresponds to all available newer change entries (paragraphs 54, 56) or most recent change entries 114 (paragraph 63) is represented as a list refresh.
In particularly:
Data in the derived record 118 may become inaccurate or out-of-date when data in the base record 108 is changed (e.g., in response to one or more queries 128). In order to ensure that the data in the derived record 118 accurately reflects the data in the base record 108, the data in the derived record 118 may be at least occasionally updated based on the data in the base record 108. For example, the primary system 102 can transmit updated data 122 to an external system over the communication network(s) 130. The updated data 122 may be transmitted in the form of a “report,” which may represent one or more data packets indicating the updated data 122. The external system can accordingly update the derived record 118 based on the updated data 122, such that the derived record 118 is updated to reflect changes that have occurred at the base record 108 (paragraph 40).
By transmitting updated data 122 based on the most recent change entries 114 associated with individual base entries 110, without transmitting data associated with older change entries 114 associated with the same base entries 110 during the same reporting period, the size of the updated data 122 that is sent over the communication network(s) 130 and used to update derived records can be limited (paragraph 63);
“compute a changeset based on the deltalog and the dataset” as identify as compute a set of change entries 114 based on the entries 110 as the dataset and the change record 112 that is database and stores changes made to the entries 110 within a base record 108 (fig. 1, paragraphs 43, 50, 52) is represented as the deltalog. The set of change entries 114 is represented as a changeset.
In particularly:
[0050] The change record 112 may accordingly capture all changes, that have been performed on the base entries 110 over a period of time, in the change entries 114 of the change record 112. The change tracker 132 can maintain change entries 114 associated with previous changes to the base record 108 for at least a threshold period of time, such as a period of weeks, months, or years. In some examples, the change tracker 132 can be configured to maintain individual change entries 114 for at least a predefined audit or compliance period after the individual change entries 114 are added to the change record 112.
[0052] The change tracker 132 can be configured to identify a set of change entries 114 in the change record 112 that correspond to external queries 120 received from external systems 116. The change tracker 132 can accordingly provide the external systems with updated data 122 based on the identified set of change entries 114;
“the changeset representing one or more of additions or deletions to the dataset” as the set of change entries represents a complete set of the changes e.g., an addition, an updating or an deletion to the various base entries as the dataset within the base record (paragraphs 81-82).
In particularly:
The set of change entries within the change record 206 can represent a complete set of the changes to the various base entries within the base record 200. For instance, a given change entry, which may include “Identifier m” and “Content m,” may include the identifier 202 and content 204 of a corresponding mth base entry among the n base entries in the base record 200, or a corresponding base entry that has been deleted from the base record 200, wherein the corresponding base entry has been changed (e.g., added, updated, or deleted) (paragraph 81);
“issue……to the external system based on the changeset to update a list of records stored by the external system” as transmit as issue updated data 122 to the external system based on the set of change entries as the changeset to update derived records stored in the external systems (paragraphs 25, 52).
In particularly:
The change tracking system 106 can be configured to receive external queries 120 from external systems, and transmit updated data 122 to the external systems that includes portions of the change record 112 selected based on the external queries 120. The external systems can use the updated data 122 to update derived records (paragraph 25).
[0052] The change tracker 132 can be configured to identify a set of change entries 114 in the change record 112 that correspond to external queries 120 received from external systems 116. The change tracker 132 can accordingly provide the external systems with updated data 122 based on the identified set of change entries 114.
Kadado does not explicitly teach limitations
a persistent storage device;
commands;
at least one application programming interface call.
Aha teaches limitation
“a persistent storage device” as read only memory (ROM) as a persistent storage device (paragraph 27);
“commands” as queries as commands (paragraph 54);
“at least one application programming interface call” as application programming interface call (paragraph 10).
Kadado and Aha disclose a method of updating data stored in a database based on a request. These references are in the same field with application’s field. Thus, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to apply Aha’s teaching to Kadado’s system in order to allow an application written in programming language to establish a connection with a database for transmitting and receiving query results from the database (Aha: paragraphs 48, 55) and further to allow a developer to perform operations including updating and deleting records from a given database without writing component from scratch (Aha: paragraphs 10,43).
As to claims 3, 10, 17, Kadado and Aha teach limitations
“wherein issuing at least one application programming interface call to the external system based on the changeset comprises:” as transmit to the external system based on the updated data as the changeset (Kadado: paragraphs 40, 42, 52-54), API call (Aha: paragraph 10) includes (Kadado: paragraphs 40, 42, 52-54):
“generating a set of addition or deletion application programming interface calls based on the changeset” as generating based on the updated data as the changeset (Kadado: paragraphs 53-55) a collection of API calls for deletion records as a set of addition or deletion application programming interface calls (Aha: paragraph 10).
“issuing the set of addition or deletion application programming interface calls to the external system to update of records stored by the external system” as transmit to the external system based on the updated data as the changeset, a collection of API call for delete records from a given database as deletion application programming interface call (Aha: paragraph 10) to update of records stored by the external system (Kadado: paragraphs 40, 42, 52-54).
Claim 8 has the same claimed limitation as discussed in claim 1; thus claim 8 is represented under the same reason as discussed in claim 1.
Claim 15 has the same claimed limitation as discussed in claim 1; thus claim 15 is represented under the same reason as discussed in claim 1. In addition, Kadado teaches a non-transitory computer-readable storage medium for tangibly storing computer program instructions capable of being executed by a computer processor, the computer program instructions defining steps of: (paragraphs 15-16).
Claims 2, 9, 16 are rejected under 35 U.S.C. 103 as being unpatentable over Kadado in view of Aha and further in view of Fletcher et al (or hereinafter “Flet”) (US 20160103908)
As to claims 2, 9, 16, Kadado and Aha teach limitations
“wherein issuing at least one application programming interface call to the external system based on the changeset comprises:” as transmit to the external system based on the updated data as the changeset, API call (Aha: paragraph 10) includes (Kadado: paragraphs 40, 42, 52-54);
“issuing a first application programming interface call to the external system to ……” as transmit to the external system based on the updated data as the changeset, API call (Aha: paragraph 10) to update records (Kadado: fig. 1, paragraphs 25-26)
“issuing one or more addition or deletion application programming interface calls to the external system to update of records stored by the external system” as transmit to the external system based on the updated data as the changeset, API call for delete records from a given database as deletion application programming interface call (Aha: paragraph 10) to update records stored by the external system (Kadado: fig. 1, paragraphs 25-26, 40, 42).
Kadado and Aha do not explicitly teach limitation
replace the list of records with a new list of records stored in the dataset.
Flet teaches limitations
“replace the list of records with a new list of records stored in the dataset” as replace existing entity definition records in the data store as the dataset with new entity definition records (paragraphs 349, 356).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to apply Flet’s teaching to Kadado’s system in order to determine the relationships between the entities and services based on changes that are made to an environment without any user interaction, and further to reduce the amount of time and resources needed for updating records.
Claims 4-6 are rejected under 35 U.S.C. 103 as being unpatentable over Kadado in view of Aha and further in view of Srivastava et al (or hereinafter “Sri”) (US 20180075095) and Soza (US 20210011891).
As to claims 4, 11, 18, Kadado and Aha teach limitation
“wherein updating a deltalog responsive to a change in the dataset comprises: retrieving ……” as updating change record 112 as deltalog based on a change in the base entries 110 as the dataset includes (Kadado: paragraphs 46-49) retrieving data (Kadado: paragraphs 49, 51)
Kadado and Aha do not explicitly teach limitation
a current deltalog table;
performing a left join on the current deltalog table and the dataset to obtain a joined dataset;
identifying new rows in the joined dataset;
identifying missing rows in the joined dataset; and
merging addition records based on the new rows to the current deltalog table.
Sri teaches limitations
“performing ……on ……and the dataset to obtain a joined dataset” as combining records in new dataset and existing dataset to obtain a combined dataset (fig. 4, paragraph 73);
“identifying new rows in the joined dataset” as assigning as identifying, in the combined dataset, last two rows with a schema (fig. 3F, paragraphs 68-69), the last two rows that newly are created after combining datasets are represented new rows;
“identifying ……in the joined dataset” as identifying rows in the combined data to assign schema (fig. 3F, paragraphs 68-69); and
“merging addition records based on the new rows to ……” as combining additional records from new dataset 365 based on schema 2 of the last two rows as based on the new rows to Existing dataset (figs. 3E-3F, paragraph 68-69).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to apply Sri’s teaching to Kadado’s system in order to track changes in schema of a dataset over time such that the system can adaptively respond to user queries by understanding the schema changes and to represent an improvement in comparison to conventional systems which return zero results in response to a poor user query.
Soza teaches limitations
a current deltalog table; the current deltalog table; the current deltalog table (current delta table of database as a current deltalog table: paragraphs 82-83);
“missing rows” as rows which are deleted as missing rows are no longer present in the OPEN database, but remain in the CLOSED database (paragraph 197);
“a left join” as left/right/full join (paragraph 422);
“new rows” as updated rows (paragraphs 196, 208).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to apply Soza’s teaching to Kadado’s system in order to retrieve further data from a data source and update a target storage system based on the further retrieved data efficiently and correctly.
As to claims 5, 12, 19, Kadado and Aha teach limitation
“wherein computing a changeset based on the deltalog and the dataset comprises: reading……” as identifying as computing a set of change entries 114 as a changeset based on the entries 110 as the dataset and the change record 112 as deltalog includes (fig. 1, paragraphs 43, 49-50, 52) reading (Kadado: paragraphs 34, 51) or retrieving (Kadado: paragraph 49).
Kadado and Aha do not explicitly teach limitation
a current deltalog table;
performing a left join on the current deltalog table and the dataset to obtain a joined dataset;
creating an additions data frame based on the joined dataset; and
creating a deletions data frame based on the joined dataset.
Sri teaches limitations
“performing ……on ……and the dataset to obtain a joined dataset” as combining records in new dataset and existing dataset to obtain a combined dataset (fig. 4, paragraph 73);
“creating an additions data frame based on the joined dataset” as assigning as creating a schema of the last two rows based on a combined dataset 370 (figs. 3D-3F, paragraphs 68-69, 75). The schema 3 of the last two rows that are added to the combined data set 360 is represented as an additions data frame;
“creating…… based on the joined dataset” as assigning schema 3 to the last two rows based on the combined dataset 355 (figs. 3D-3F, paragraphs 68-69, 75).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to apply Sri’s teaching to Kadado’s system in order to track changes in schema of a dataset over time such that the system can adaptively respond to user queries by understanding the schema changes and to represent an improvement in comparison to conventional systems to notify users results corresponding a poor user query.
Soza teaches limitations
a current deltalog table; the current deltalog table (current delta table of database as a current deltalog table: paragraphs 82-83);
“a left join” as left/right/full join (paragraph 422);
“an additions data frame” as Open database as an additions data frame that store rows that are inserted each day (paragraphs 196-197, 208);
“a deletions data frame” as closed database as a deletions data frame that store deleted records as deletions (paragraphs 61, 196-197, 208).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to apply Soza’s teaching to Kadado’s system in order to retrieve further data from the data source and update the target storage system based on the further retrieved data efficiently and correctly.
As to claims 6, 13, 20, Kadado and Aha teach limitation
“wherein updating a deltalog responsive to a change in the dataset comprises:…” as update change record 112 as deltalog based on a change in the base entries 110 as the dataset includes (Kadado: paragraphs 46-49) updating records (Aha: paragraph 45);
“persisting……” as storing a number of applications in memory (paragraph 33).
Kadado and Aha do not explicitly teach limitations
updating a plurality of rows in a deltalog table based on a committed field; ` deleting a plurality of rows based on the committed field; and
persisting the deltalog table.
Sri teaches limitations
“updating ……based on a committed field” as updating data values in dataset based on received request that includes identification of data entry as a committed field (paragraphs 33, 69-70);
“deleting ……based on the committed field” replace data sets based on received request that includes identification of data entry as a committed field (paragraphs 33, 69-70).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to apply Sri’s teaching to Kadado’s system in order to track changes in schema of a dataset over time such that the system can adaptively respond to user queries by understanding the schema changes and to represent an improvement in comparison to conventional systems which notify a response to a poor user query.
Soza teaches limitations
a plurality of rows in a deltalog table; a plurality of rows (as a plurality of rows in delta table that stores old snapshot and new snapshot is represented as deltalog table (fig. 8, paragraphs 82-83, 198, 202)
“the deltalog table” as delta table that stores old snapshot and new snapshot is represented as deltalog table (fig. 8, paragraphs 82-83, 198, 202)
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to apply Soza’s teaching to Kadado’s system in order to retrieve further data from a data source and update a target storage system based on the further retrieved data efficiently and correctly.
Claims 7, 14 are rejected under 35 U.S.C. 103 as being unpatentable over Kadado in view of Aha and further in view of Lee (US 20060112018).
As to claims 7, 14, Kadado and Aha teach limitations
wherein determining that a list refresh is needed for the external system comprises …” as determine new set of updated data as a list refresh for the external system 116 includes (Kadado: fig. 1, paragraphs 56, 64) updating records (Aha: paragraph 45).
Kadado and Aha do not explicitly teach limitations
one of periodically checking to determine if the list refresh is needed based on the deltalog or determining that the list refresh is needed upon detecting a change in the dataset.
Lee teaches limitations
“one of periodically checking to determine if the list refresh is needed based on the deltalog or determining that the list refresh is needed upon detecting a change in the dataset” as creating or updating as determining a local inventory list 116 of recordings currently available to a set top box or other client node 106 when a data content of a recording changes on a connected removable storage device 102 (fig. 6, paragraphs 25, 42, 63-67)
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to apply Lee’s teaching to Kadado’s system in order to synchronize data stored in remote storage device with local storage correctly and efficiently and further to share and/or schedule a recording that exists on a removable storage device, across multiple nodes of the multimedia network.
Claims 1, 3, 8, 10, 15 are rejected under 35 U.S.C. 103 as being unpatentable over Kadado et al (US 20240354301) in view of Fink et al (US 20240012830)
As to claim 1, Kadado teaches a system comprising:
“a database storing a dataset, the database comprising …… and a connector, the connector comprising a computing device configured to access data stored in the database and transfer data and …… to an external system, the connector configured to:” as primary system 102 as database storing base entries 110 as a dataset, the primary system 102 as the database comprises a base system 104 and the change tracking system 106 as a connector, the change tracking system 106 as the connector includes a change tracker 132 as a computing device configured to access data stored in base records 108 in the primary system as database (fig. 1, paragraphs 25-26, and transmit data and one or more packets to an external system(s) 116 (paragraphs 31, 40-42), the change tracking system 106 as the connector configured to: (fig. 1, paragraphs 25-26);
“update a deltalog responsive to a change in the dataset, the deltalog storing one or more of additions or deletions to data in the dataset” as update change record 112 in response a change in the base entries 110 as the dataset, the change record 112 stores an addition to an base entry as data in the base entries 110 as the dataset (paragraphs 46-49). The change record 112 that is database and stores changes made to the entries 110 within a base record 108 (fig. 1, paragraphs 43, 50, 52) is represented as the deltalog.
In particularly:
[0048] As a second example, the change tracker 132 may identify that a previously-existing base entry has been deleted from the base record 108. Based on the identification that the previous base entry has been deleted, the change tracker 132 may add a new change entry to the change record 112 that corresponds to the deletion of the previous base entry in the base record 108. The new change entry may include at least a portion (e.g., at least the primary key) of the previous base entry that has been deleted from the base record 108. The new change entry may include a change type element, or other type of additional element, that indicates that the previous base entry has been deleted from the base record 108. Further, the new change entry may include a timestamp, or other type of element, that indicates the time at which the previous base entry was deleted from the base record 108.
[0049] As a third example, the change tracker 132 may identify that an existing base entry has been updated in the base record 108. Based on the identification that the existing base entry has been updated, the change tracker 132 may add a new change entry to the change record 112 that corresponds to the update of the existing base entry. The new change entry may include at least the updated data in the existing base entry. In some cases, the new change entry may also include a change type element, or other type of additional element, that indicates that the existing base entry has been updated in the base record 108. The new change entry may further include a timestamp, or other type of element, that indicates the time at which the existing base entry was updated in the base record 108;
“determine that a list refresh is needed for the external system” as in order to ensure that the data in the derived record 118 accurately reflects the data in the base record 108, obtaining (paragraph 54) or retrieving updated data 122 about changes to the base record (fig. 1, abstract, paragraph 25) and transmitting the updated data 122 to an external system over the communication network(s) 130 so that the external system can accordingly update the derived record 118 based on the updated data 122, such that the derived record 118 is updated to reflect changes that have occurred at the base record 108 (paragraph 40).
The obtaining (paragraph 54) or retrieving updated data 122 (fig. 1, abstract, paragraph 25) and transmitting the updated data 122 to the external system to update the derived record 118 is represented as determining the updated data 122 is needed for the external system in order to ensure that the data in the derived record 118 accurately reflects the data in the base record 108 (paragraph 40).
The updated data 122 that corresponds to all available newer change entries (paragraphs 54, 56) or most recent change entries 114 (paragraph 63) is represented as a list refresh.
In particularly:
Data in the derived record 118 may become inaccurate or out-of-date when data in the base record 108 is changed (e.g., in response to one or more queries 128). In order to ensure that the data in the derived record 118 accurately reflects the data in the base record 108, the data in the derived record 118 may be at least occasionally updated based on the data in the base record 108. For example, the primary system 102 can transmit updated data 122 to an external system over the communication network(s) 130. The updated data 122 may be transmitted in the form of a “report,” which may represent one or more data packets indicating the updated data 122. The external system can accordingly update the derived record 118 based on the updated data 122, such that the derived record 118 is updated to reflect changes that have occurred at the base record 108 (paragraph 40).
By transmitting updated data 122 based on the most recent change entries 114 associated with individual base entries 110, without transmitting data associated with older change entries 114 associated with the same base entries 110 during the same reporting period, the size of the updated data 122 that is sent over the communication network(s) 130 and used to update derived records can be limited (paragraph 63);
“compute a changeset based on the deltalog and the dataset” as identify as compute a set of change entries 114 based on the entries 110 as the dataset and the change record 112 that is database and stores changes made to the entries 110 within a base record 108 (fig. 1, paragraphs 43, 50, 52) is represented as the deltalog. The set of change entries 114 is represented as a changeset.
In particularly:
[0050] The change record 112 may accordingly capture all changes, that have been performed on the base entries 110 over a period of time, in the change entries 114 of the change record 112. The change tracker 132 can maintain change entries 114 associated with previous changes to the base record 108 for at least a threshold period of time, such as a period of weeks, months, or years. In some examples, the change tracker 132 can be configured to maintain individual change entries 114 for at least a predefined audit or compliance period after the individual change entries 114 are added to the change record 112.
[0052] The change tracker 132 can be configured to identify a set of change entries 114 in the change record 112 that correspond to external queries 120 received from external systems 116. The change tracker 132 can accordingly provide the external systems with updated data 122 based on the identified set of change entries 114;
“the changeset representing one or more of additions or deletions to the dataset” as the set of change entries represents a complete set of the changes e.g., an addition, an updating or an deletion to the various base entries as the dataset within the base record (paragraphs 81-82).
In particularly:
The set of change entries within the change record 206 can represent a complete set of the changes to the various base entries within the base record 200. For instance, a given change entry, which may include “Identifier m” and “Content m,” may include the identifier 202 and content 204 of a corresponding mth base entry among the n base entries in the base record 200, or a corresponding base entry that has been deleted from the base record 200, wherein the corresponding base entry has been changed (e.g., added, updated, or deleted) (paragraph 81);
“issue……to the external system based on the changeset to update a list of records stored by the external system” as transmit as issue updated data 122 to the external system based on the set of change entries as the changeset to update derived records stored in the external systems (paragraphs 25, 52).
In particularly:
The change tracking system 106 can be configured to receive external queries 120 from external systems, and transmit updated data 122 to the external systems that includes portions of the change record 112 selected based on the external queries 120. The external systems can use the updated data 122 to update derived records (paragraph 25).
[0052] The change tracker 132 can be configured to identify a set of change entries 114 in the change record 112 that correspond to external queries 120 received from external systems 116. The change tracker 132 can accordingly provide the external systems with updated data 122 based on the identified set of change entries 114.
Kadado does not explicitly teach limitations
a persistent storage device;
commands;
at least one application programming interface call.
Fink teaches limitation
“a persistent storage device” as read only memory (ROM) as a persistent storage device (paragraph 64);
“commands” as functions as commands (paragraphs 3-4);
“at least one application programming interface call” as application programming interface call (paragraphs 48-49, fig. 1).
Kadado and Fink disclose a method of updating data stored in a database based on a request. These references are in the same field with application’s field. Thus, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to apply Fink’s teaching to Kadado’s system in order to reduce storage requirements but system still gives a consistent view of how the data has changed, to preserve monotonicity property while at the same time increasing performance of the event log including access time and storage requirements of event log (Fink: paragraph 54), further to achieve consistency such that a new user is only presented most recent copy and all subsequent events (Fink: paragraph 57).
As to claims 3, 10, 17, Kadado and Fink teach limitations
“wherein issuing at least one application programming interface call to the external system based on the changeset comprises:” as transmit to the external system based on the updated data as the changeset (Kadado: paragraphs 40, 42, 52-54), API call (Fink: paragraph48-49) includes (Kadado: paragraphs 40, 42, 52-54);
“generating a set of addition or deletion application programming interface calls based on the changeset” as generating based on the updated data as the changeset (Kadado: paragraphs 53-55) API calls for deletion (Fink: paragraphs 49, 55);
“issuing the set of addition or deletion application programming interface calls to the external system to update of records stored by the external system” as transmit to the external system based on the updated data as the changeset to update of records stored by the external system (Kadado: paragraphs 40, 42, 52-54) API calls for deletion (Fink: paragraphs 49, 55)
Claim 8 has the same claimed limitation as discussed in claim 1; thus claim 8 is represented under the same reason as discussed in claim 1.
Claim 15 has the same claimed limitation as discussed in claim 1; thus claim 15 is represented under the same reason as discussed in claim 1. In addition, Kadado teaches a non-transitory computer-readable storage medium for tangibly storing computer program instructions capable of being executed by a computer processor, the computer program instructions defining steps of: (paragraphs 15-16).
Claims 2, 9, 16 are rejected under 35 U.S.C. 103 as being unpatentable over Kadado in view of Fink and further in view of Fletcher et al (or hereinafter “Flet”) (US 20160103908)
As to claims 2, 9, 16, Kadado and Fink teach limitations
“wherein issuing at least one application programming interface call to the external system based on the changeset comprises:” as transmit to the external system based on the updated data as the changeset includes (Kadado: paragraphs 40, 42, 52-54) API calls for deletion (Fink: paragraphs 49, 55):
“issuing a first application programming interface call to the external system to ……” as transmit to the external system based on the updated data changeset (Kadado: paragraphs 40, 42, 52-54) API calls for deletion (Fink: paragraphs 49, 55)
“issuing one or more addition or deletion application programming interface calls to the external system to update of records stored by the external system” as transmit to the external system based on the updated data as the changeset (Kadado: paragraphs 40, 42, 52-54) API calls for deletion (Fink: paragraphs 49, 55)
Kadado and Fink do not explicitly teach limitation
replace the list of records with a new list of records stored in the dataset.
Flet teaches limitations
“replace the list of records with a new list of records stored in the dataset” as replace existing entity definition records in the data store as the dataset with new entity definition records (paragraphs 349, 356).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to apply Flet’s teaching to Kadado’s system in order to determine the relationships between the entities and services based on changes that are made to an environment without any user interaction, and can update, also without user interaction and further to reduce the amount of time and resources needed for updating records.
Claims 4-6 are rejected under 35 U.S.C. 103 as being unpatentable over Kadado in view of Fink and further in view of Srivastava et al (or hereinafter “Sri”) (US 20180075095) and Soza (US 20210011891).
As to claims 4, 11, 18, Kadado and Fink teach limitation
“wherein updating a deltalog responsive to a change in the dataset comprises: retrieving ……” as updating change record 112 as deltalog in response to a change in the base entries 110 as the dataset includes (Kadado: paragraphs 46-49) retrieve all records of table from a database (Kadado: paragraph 49) or retrieving ( Fink: paragraph 5).
Kadado and Fink do not explicitly teach limitation
a current deltalog table;
performing a left join on the current deltalog table and the dataset to obtain a joined dataset;
identifying new rows in the joined dataset;
identifying missing rows in the joined dataset; and
merging addition records based on the new rows to the current deltalog table.
Sri teaches limitations
“performing ……on ……and the dataset to obtain a joined dataset” as combining records in new dataset and existing dataset to obtain a combined dataset (fig. 4, paragraph 73);
“identifying new rows in the joined dataset” as assigning as identifying last two rows as new rows in the combined dataset with a schema (fig. 3F, paragraph 68);
“identifying ……in the joined dataset” as identifying rows in the combined data to assign schema (fig. 3F, paragraph 68); and
“merging addition records based on the new rows to ……” as combining additional records from new dataset 365 based on schema 2 of the last two rows as based on the new rows to existing dataset (fig. 3E paragraph 68).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to apply Sri’s teaching to Kadado’s system in order to track changes in schema of a dataset over time such that the system can adaptively respond to user queries by understanding the schema changes and to represent an improvement in comparison to conventional systems which return zero results in response to a poor user query.
Soza teaches limitations
a current deltalog table; the current deltalog table; the current deltalog table (current delta table of database as a current deltalog table: paragraphs 82-83);
“a left join” as left/right/full join (paragraph 422);
“missing rows” as rows which are deleted as missing rows are no longer present in the OPEN database, but remain in the CLOSED database (paragraph 197);
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to apply Soza’s teaching to Kadado’s system in order to retrieve further data from a data source and update a target storage system based on the further retrieved data efficiently and correctly.
As to claims 5, 12, 19, Kadado and Fink teach limitation
“wherein computing a changeset based on the deltalog and the dataset comprises: reading……” as identifying as computing a set of change entries 114 as a changeset based on the entries 110 as the dataset and the change record 112 as deltalog includes (fig. 1, paragraphs 43, 49-50, 52) retrieving or reading (Kadado: paragraphs 34, 51) or retrieving (Fink: paragraph 5) .
Kadado and Fink do not explicitly teach limitation
a current deltalog table; performing a left join on the current deltalog table and the dataset to obtain a joined dataset; creating an additions data frame based on the joined dataset; and creating a deletions data frame based on the joined dataset.
Sri teaches limitations
“performing ……on ……and the dataset to obtain a joined dataset” as combining records in new dataset and existing dataset to obtain a combined dataset (fig. 4, paragraph 73);
“creating an additions data frame based on the joined dataset” as assigning as creating a schema of the last two rows based on a combined dataset 370 (figs. 3D-3F, paragraphs 68-69, 75). The schema 3 of the last two rows that are added to the combined data set 360 is represented as an additions data frame;
“creating…… based on the joined dataset” as assigning schema 3 to the last two rows based on the combined dataset 355 (figs. 3D-3F, paragraphs 68-69, 75).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to apply Sri’s teaching to Kadado’s system in order to track changes in schema of a dataset over time such that the system can adaptively respond to user queries by understanding the schema changes and to represent an improvement in comparison to conventional systems to notify users results corresponding a poor user query.
Soza teaches limitations
a current deltalog table; the current deltalog table (current delta table of database as a current deltalog table: paragraphs 82-83);
“a left join” as left/right/full join (paragraph 422);
“an additions data frame” as open database as an additions data frame that store rows that are inserted each day (paragraphs 196-197, 208);
“a deletions data frame” as closed database as a deletions data frame that store deleted records as deletions (paragraphs 61, 196-197, 208).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to apply Soza’s teaching to Kadado’s system in order to retrieve further data from the data source and update the target storage system based on the further retrieved data efficiently and correctly.
As to claims 6, 13, 20, Kadado and Fink teach limitation
“wherein updating a deltalog responsive to a change in the dataset comprises:…” as update change record 112 as deltalog based on a change in the base entries 110 as the dataset includes (Kadado: paragraphs 46-49) updating records (Fink: paragraphs 5, 44);
“persisting……” as storing a number of applications in memory (paragraph 33).
Kadado and Fink do not explicitly teach limitations
updating a plurality of rows in a deltalog table based on a committed field; ` deleting a plurality of rows based on the committed field; and
persisting the deltalog table.
Sri teaches limitations
“updating ……based on a committed field” as updating data values in dataset based on received request that includes identification of data entry as a committed field (paragraphs 33, 69-70);
“deleting ……based on the committed field” replace data sets based on received request that includes identification of data entry as a committed field (paragraphs 33, 69-70).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to apply Sri’s teaching to Kadado’s system in order to track changes in schema of a dataset over time such that the system can adaptively respond to user queries by understanding the schema changes and to represent an improvement in comparison to conventional systems which notify a response to a poor user query.
Soza teaches limitations
a plurality of rows in a deltalog table; a plurality of rows (as a plurality of rows in delta table that stores old snapshot and new snapshot is represented as deltalog table (fig. 8, paragraphs 82-83, 198, 202)
the deltalog table” as delta table that stores old snapshot and new snapshot is represented as deltalog table (fig. 8, paragraphs 82-83, 198, 202)
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to apply Soza’s teaching to Kadado’s system in order to retrieve further data from a data source and update a target storage system based on the further retrieved data efficiently and correctly.
Claims 7, 14 are rejected under 35 U.S.C. 103 as being unpatentable over Kadado in view of Fink and further in view of Lee (US 20060112018).
As to claims 7, 14, Kadado and Aha teach limitations
wherein determining that a list refresh is needed for the external system comprises …” as determine new set of updated data as a list refresh for the external system 116 includes (fig. 1, paragraphs 56, 64) updating records (Fink: paragraph 5,55).
Kadado and Fink do not explicitly teach limitations
one of periodically checking to determine if the list refresh is needed based on the deltalog or determining that the list refresh is needed upon detecting a change in the dataset.
Lee teaches limitations
“one of periodically checking to determine if the list refresh is needed based on the deltalog or determining that the list refresh is needed upon detecting a change in the dataset” as creating or updating as determining a local inventory list 116 of recordings currently available to a set top box or other client node 106 when a data content of a recording changes on a connected removable storage device 102 (fig. 6, paragraphs 25, 42, 63-67)
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to apply Lee’s teaching to Kadado’s system in order to synchronize data stored in remote storage device with local storage correctly and efficiently and further to share and/or schedule a recording that exists on a removable storage device, across multiple nodes of the multimedia network.
Conclusion
THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Contact Information
Any inquiry concerning this communication or earlier communications from the examiner should be directed to CAM-Y T TRUONG whose telephone number is (571)272-4042. The examiner can normally be reached (571) 272 4042.
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, SHERIEF BADAWI can be reached at (571) 272-9782. 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.
/CAM Y T TRUONG/ Primary Examiner, Art Unit 2169