System and method for mapping database changes

US10503727B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10503727-B2
Application numberUS-201715487224-A
CountryUS
Kind codeB2
Filing dateApr 13, 2017
Priority dateApr 26, 2016
Publication dateDec 10, 2019
Grant dateDec 10, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Software updates that cause changes to a database accessible by software can be identified. A first database can be modified using first instructions associated with a first software update to generate a first modified database, and a second database can be modified using second instructions associated with a second software update to generate a second modified database. A difference between the first and second modified databases can be determined, and one or more instructions of the first or second instructions that caused the difference can be identified based on the difference. The first and second instructions can be converted into operations that, when performed against the first and second databases, result in first and second many-to-many tables being generated. The many-to-many tables can be queried to identify the operations associated with the difference between the first and second modified databases.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for identifying updates to software that cause changes to databases accessible by the software, the method comprising: modifying a database storing data associated with a software application, wherein modifying the database comprises using first instructions associated with a first software update to the software application to generate a first modified database; modifying the database using second instructions associated with a second software update to the software application to generate a second modified database; generating a many-to-many table, wherein the many-to-many table maps one or more records in the database that were changed based on the first and second instructions, wherein the many-to-many table comprises information associated with respective application files from which the first software update and the second software update originated; determining a difference between the first modified database and the second modified database; and identifying, based on the difference, one or more instructions of the first instructions or the second instructions that caused the difference. 2. The method of claim 1 , wherein modifying the database using instructions associated with a software update to generate a modified database comprises: converting the instructions into one or more operations performed against at least one of the software or the database, wherein the database is modified responsive to performing at least some of the one or more operations. 3. The method of claim 2 , wherein entries of the many-to-many table are associated with respective ones of the at least some of the one or more operations. 4. The method of claim 3 , wherein a first many-to-many table is generated based on at least one of the one or more operations performed to generate the first modified database and a second many-to-many table is generated based on at least one of the one or more operations performed to generate the second modified database, and wherein identifying the one or more instructions of the first instructions or the second instructions that caused the difference comprises: querying the first many-to-many table and the second many-to-many table for entries associated with the difference, wherein the entries associated with the difference indicate an operation that caused the difference, wherein the operation is converted from at least one of the first instructions or the second instructions, and wherein the difference indicates any of a database record, a database field value, and a database structural element that differs between the first modified database and the second modified database. 5. The method of claim 3 , the method comprising: excluding, from the many-to-many table, data associated with ignored tables of the database. 6. The method of claim 1 , the method comprising: determining functional equivalence between a first database record of the first modified database and a second database record of the second modified database, wherein the first database record and the second database record are identical, and wherein database field values stored within the first database record and database field values stored within the second database record are not identical. 7. The method of claim 1 , the method comprising: determining a first count indicative of a first number of database records that differ between the first modified database and the second modified database; determining a second count indicative of a second number of database field values that differ between the first modified database and the second modified database; and determining a third count indicative of a third number of database records storing database field values that differ between the first modified database and the second modified database, wherein an error is indicated responsive to an inconsistency between the first count, the second count, and the third count. 8. The method of claim 1 , wherein the first modified database and the second modified database are identical before being modified. 9. A system for identifying updates to software that cause changes to databases accessible by the software, the system comprising: a memory configured to store one or more processor-executable routines; and a processor configured to communicate with the memory and to execute the routines stored therein, wherein the routines, when executed, cause the system to: modify a database storing data associated with a software application, wherein modifying the database comprises using first instructions associated with a first software update to the software application to generate a first modified database; modify the database using second instructions associated with a second software update to the software application to generate a second modified database; generate a many-to-many table, wherein the many-to-many table maps one or more records in the database that were changed based on the first and second instructions, wherein the many-to-many table comprises information associated with respective application files from which the first software update and the second software update originated; determine a difference between the first modified database and the second modified database; and identify, based on the difference, one or more instructions of the first instructions or the second instructions that caused the difference. 10. The system of claim 9 , wherein the routines to modify the database using instructions associated with a software update to generate a modified database, when executed, cause the system to: convert the instructions into one or more operations to be performed against at least one of the software or the database, wherein the database is modified responsive to a performance of at least some of the one or more operations. 11. The system of claim 10 , wherein entries of the many-to-many table are associated with respective ones of the at least some of the one or more operations. 12. The system of claim 11 , wherein a first many-to-many table is generated based on at least one of the one or more operations performed to generate the first modified database and a second many-to-many table is generated based on at least one of the one or more operations performed to generate the second modified database, and wherein the routines to identify the one or more instructions of the first instructions or the second instructions that caused the difference, when executed, cause the system to: query the first many-to-many table and the second many-to-many table for entries associated with the difference, wherein the entries indicate an operation that caused the difference, wherein the operation is converted from at least one of the first instructions or the second instructions, and wherein the difference indicates any of a database record, a database field value, and a database structural element that differs between the first modified database and the second modified database. 13. The system of claim 11 , wherein the routines, when executed, cause the system to: exclude, from the many-to-many table, data associated with ignored tables of the database. 14. The system of claim 9 , wherein the routines, when executed, cause the system to: determine functional equivalence between a first database record of the first modified database and a second database record of the second modified database, wherein the first database record and the second database record are identical, and wherein database field values stored within the first database record and database field values stored withi

Assignees

Inventors

Classifications

  • Updates performed during online database operations; commit processing · CPC title

  • Updates (security arrangements therefor G06F21/57) · CPC title

  • Ensuring data consistency and integrity · CPC title

  • Configuring for program initiating, e.g. using registry, configuration files · CPC title

  • Versioning file systems, temporal file systems, e.g. file system supporting different historic versions of files · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10503727B2 cover?
Software updates that cause changes to a database accessible by software can be identified. A first database can be modified using first instructions associated with a first software update to generate a first modified database, and a second database can be modified using second instructions associated with a second software update to generate a second modified database. A difference between th…
Who is the assignee on this patent?
Servicenow Inc
What technology area does this patent fall under?
Primary CPC classification G06F16/2379. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 10 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).