Patents
See what makes Sesame Software the fastest, most scalable data movement solution.
Patents Protected by IPISC Intellectual Property Insurance
Sesame Software Patents
Sesame Software is a truly innovative software company in the field of data warehouse, data backup and recovery, and data integration. Our patent portfolio is growing, and is intended to document our product features as well as maintain exclusivity of our intellectual property against copycats.
What follows is a diagram showing the relationships of the numerous patents, and a brief layman’s description of the purpose of each patent. Some of the topics covered have several patents as we have evolved the product into having autonomous behavior, scalability, performance, data recovery features, and exception handling when transferring data as source schemas change structure and data types.
Scalable, Reliable, High Performance Replication of Cloud Data
Patent #:
8,122,040
Awarded:
February 21, 2012
Method of Integrating Remote Databases by Automated Client Scoping of Update Requests
United States Patent 8,122,040 yields a major competitive advantage for Sesame Software’s Relational Junction data warehouse offering, which includes dozens of source applications and databases and all popular databases for the warehouse.
This patent describes a scalability technique that breaks down the replication process into smaller data sets by ranges of time stamps in the source data. This allows Relational Junction replication products to copy unlimited data sets by breaking them into discreet ranges and checkpointing the results for restartability. The time ranges are variable length, depending on how much data is queried in the previous time range, and adjusted to prevent attempting to download too much in any one interval. This prevents timeouts from the SaaS data source and also makes the process restartable at the point of failure rather than having to repeatedly truncate and reload a database table when failures occur.
Some of Sesame Software’s customers have terabytes of data in the cloud, and we are able to load it to the on-premise or cloud data warehouse despite numerous timeouts and restarts during the initial load.
Abstract
A method for bi-directional data replication between a Web Service application and a relational database are provided. Techniques of Enterprise Application Integration (EAI) and Extract Transform Load (ETL) technology are employed to create a relational database schema, load the schema, synchronize the structure and the content of the schema, and replicate changes in the content of the schema to the web services application. Optional advanced techniques to support reporting, legacy data migration, and integration with other applications are also provided.
Method of integrating remote databases by automated client scoping of update requests prior to download via a communications network
United States Patent 9,754,001 provides a system method of patent 8,122,040.
Abstract
A system and method enable the selection of a time range of database records for download from a source database source and for transfer to a recipient database. A specifically bounded time period is selected to limit the number of data records selected for download in a particular action to those records that are individually associated with date time stamp values falling within the specified time period. This limitation of records selected for inclusion in a download process to data records having associations with date time stamps falling within a limited time range reduces a likelihood of overload in transferring data and thereby reduces the incidence of time-outs in the communication of a source database, any intermediary server or software action, and the recipient database in an updating of the recipient database to reflect a current state of the source database. A plurality of threads may be employed to contemporaneously download records associated with date time stamps having values within a requested time range whereby data records may be downloaded in parallel.
Patent #:
10,003,634
Awarded:
June 19, 2018
Multi-Threaded Download with Asynchronous Writing
United States Patent 10,003,634 further improves the art of multi-threaded loading of a relational database from a source application by storing the record identifiers that meet a specified query range or filter, multi-threading readers on the content, saving the records in memory, and writing the records from memory into a database. The scalability and performance of this technique allows massive amounts of data to be loaded quickly and with full restartability in the event of a failure.
Abstract
A system and method are presented for the facilitation of threaded download of software record identifiers and software records. Software record identifiers and software records are stored in separate one-dimensional stacks, which stacks feed a plurality of download threads in a first-in, first-out method. Software records and/or software record identifiers may optionally be written in parallel, or in an asynchronous manner. The total number of threads allowed to a user may optionally be limited to a pre-set number. The speed and efficiency of downloading records is increased through use of all of the cores of multi-cored computing systems to substantively concurrently download several threads. The method further allows a failed download thread to restart from the point at which it failed, rather than beginning again from the origin of the thread, thus ensuring that no software records are duplicated, and that no software records are skipped within a download thread.
Patent #:
10,657,123
Awarded:
May 5, 2019
Method and system for reducing time-out incidence by scoping date time stamp value ranges of succeeding record update requests in view of previous responses
United States Patent 10,657,123 provides additional techniques to query very large datasets of SaaS data without failure due to timeouts or governors in the SaaS system.
Abstract
A system and method to reduce the incidence of communications network time outs by tailoring the time length specified by an initial date time stamp and an ending date time stamp ranges of a new record update query request to be less likely to direct a responding system(s) to responsively communicate a count of individual record updates and/or a combined information volume that overburdens a communications channel, protocol or mode to cause a time-out. The number of record updates received in response to previous update queries are observed. In view of these observed query responses, the date time stamp ranges of the new update requests specified by the initial date time stamp and the ending date time of a new potential query are limited in magnitude to be unlikely to cause responding messages to contain a higher quantity of record updates than a preselected quantity of record updates and/or data volume.
Patent #:
10,838,983
Awarded:
November 17, 2020
Method of integrating remote databases by automated client scoping of update requests prior to download via a communications network
United States Patent 10,838,983 provides additional techniques to prevent query failure of SaaS data by limiting the scope of the query.
Abstract
A system and method enable the selection of a time range, or other record selection criteria, of database records for upload from a local database source and for transfer to a remote database. A specifically bounded time period is selected to limit the number of data records selected for upload in a particular action to those records that are individually associated with date time stamp values falling within the specified time period. This limitation of records selected for inclusion in an upload process to data records having associations with date time stamps falling within a limited time range, or other criteria, reduces a likelihood of overload in transferring data and thereby reduces the incidence of time-outs in the communication of a local database, any intermediary server or software action, and the remote database in an updating of the recipient database to reflect a current state of the local database. A plurality of asynchronous threads may be employed to contemporaneously upload records associated with date time stamps having values within a requested time range whereby data records may be uploaded in parallel.
Patent #:
10,812,567
Awarded:
October 20, 2020
Multi-Threaded Download with Asynchronous Writing
United States Patent 10,812,567 provides additional techniques to speed up replication of very large datasets.
Abstract
A system and method are presented for the facilitation of threaded download of software record identifiers and software records. Software record identifiers and software records are stored in separate one-dimensional stacks, which stacks feed a plurality of download threads in a first-in, first-out method. Software records and/or software record identifiers may optionally be written in parallel, or in an asynchronous manner. The total number of threads allowed to a user may optionally be limited to a pre-set number. The speed and efficiency of downloading records is increased through use of all of the cores of multi-cored computing systems to substantively concurrently download several threads. The method further allows a failed download thread to restart from the point at which it failed, rather than beginning again from the origin of the thread, thus ensuring that no software records are duplicated, and that no software records are skipped within a download thread.
Database and SaaS Recovery
Patent #:
8,375,010
Awarded:
February 12, 2013
Method of integrating applications with a network service application by creating new records in a relationship field
United States Patent 8,375,010 provides a way for Sesame Software’s Relational Junction replication offerings to create related records in Salesforce, NetSuite, and QuickBooks in one pass, keeping the child records pointing to the parents as new parents are created in the SaaS system. This technique allows a user of the system to create new parent-child records with temporary keys in the relationship fields. As the new parent records are created in the SaaS system during replication, the replication process is notified of the new key generated by the SaaS application. The replication process updates the local database with this key. Database triggers generated ahead of time are knowledgeable of the relationships in the data model, and look for related record with the old key, updating the key values where found.
Abstract
A computer-implemented method for integrating applications with a network service application is provided. A database management system automatically updates a local database of a computer with information contained within a remote database and an application is enabled to generate a new record in the local database with temporary values in the relationship fields such that the child records are logically related to one or more parent records by virtue of having the same relationship values. A new record is created by the web service for the parent record. When a changed value of the parent record’s key is detected, a value of the key of relevant changed parent record is written into one or more local related record’s relationship field.
Method for Generating Indexes for Downloading Data
United States Patent 8,745,029 provides a method for generating indexes for downloading data. This is essential to performance of the database triggers referenced in patent 8,375,010, “Data replication of related records to SaaS Data Sources”, and also boosts performance of reports and other operations that join tables.
Relational Junction provides an on-premise replicated database for SaaS data sources. The metadata provided by a mature SaaS API such as Salesforce.com enables the product to interrogate the relationship structure, and create a database schema with performance indexes on the relationship fields. The automation of this index creation is what sets Relational Junction apart from other vendor offerings in providing a fully indexed warehouse.
Abstract
A method for bi-directional data replication between a Web Service application and a relational database are provided. In an electronic communications network, a computer implemented method is provided for generating indexes of relationship fields by accessing the metadata of a remote web service. A plurality of records may be downloaded from the remote web service to a computer. The plurality of records may include metadata related to the identity of data fields involved in parent-child record relationships. An index may be built at least partially on the data fields involved in parent-child relationships.
Method for Generating Indexes for Downloading Data
United States Patent 9,928,255 provides a system method for patent 8,745,029
Abstract
A method for bi-directional data replication between a Web Service application and a relational database are provided. In an electronic communications network, a computer implemented method is provided for generating indexes of relationship fields by accessing the metadata of a remote web service. A plurality of records may be downloaded from the remote web service to a computer. The plurality of records may include metadata related to the identity of data fields involved in parent-child record relationships. An index may be built at least partially on the data fields involved in parent-child relationships.
Patent #:
10,540,237
Awarded:
January 21, 2020
System and method for procedure for point-in-time recovery of cloud or database data and records in whole or in part
United States Patent 10,540,237 provides a user interface and internal methods to recover complex relational data to a cloud or on-premise business application. The techniques allow a global recovery, subsetting the data by object name, time range, and record filters, restoring child records automatically, and recovering past versions of records, all in a user-friendly interface.
Abstract
A user interface, system and method are provided for the recovery and restoration of software records or elements thereof to earlier record or data iterations or versions in order to overcome or repair consequences of database corruption or data deletion. A source database and/or a current archive database further enable recording of records of the source database to an historical data archive, from which records or elements thereof may be recovered. A restore command is detectable by the system as directly input via a user interface and/or as sent via an electronics communications modality or network. The databases and archives may have access to multiple iterations/versions of a record including the original record version as stored in an historical archive or elsewhere in a network. The records may optionally be updated in a batch method, in real time, and/or as the software records are created.
Patent #:
10,089,333
Awarded:
July 27, 2017
Method and system for dynamically modifying database metadata and structures
United States Patent 10,089,333 solves the problem of attempting to load text data to a data warehouse when the text content is wider than the database column by dynamically adjusting the column width to fit the data.
Abstract
A system and method enable the selection of database records for editing and writing. A database record is queried for the size of the data fields contained therein. The size of the data field is compared to the field width limitation of a storage database. When it is determined that the data field displays a size greater than the size of the field width limitation of the storage database, a computing device extends the size of the limitation to accommodate the new database record data field. When the size of the limitation is expanded, the new database record is written to the storage database. The system and method may optionally include the input of a user at the final steps, wherein the user may optionally approve or disapprove the extension of the size of the field width limitation.
Patent #:
10,838,827
Awarded:
November 17, 2020
System and Method for Time Parameter-Based Database Restoration
United States Patent 10,838,827 describes a robust method of restoring data to a prior point in time within a relational database backup. This method is both granular to the record and field level, and can support a visual recovery user interface to tag and recover specific versions of the records that have been corrupted or deleted in the source system.
Abstract
A system and method are provided for the recovery and restoration of software records of a database server to record iterations previous to the current state of the selected records. This action may be taken in order to overcome the consequences of database corruption. An event-time maybe designated which is applied to select some or all of the earlier but most recent versions of each selected record. The system and method presented include a local target database for the purpose of recording software records to an archive, and may include a remote source database, from which records may be transmitted to the local target database. A restore command may be detected by the database server as sent from the remote source server, as received in an electronic message, as received via an electronics communications network, or as directly input. The local target database may have access to multiple iterations or versions of a software record including the original record version as stored in an archive, and may, upon instruction or command, revert to a previous iteration of a software record stored in the archive if corruption of later iterations is suspected. Alternatively or additionally, the local target database may not be restored with earlier versions of records but the remote source database may be restored with the selected record versions. The software records may optionally be updated in a batch method, or may alternatively be updated in real time, as the software records are created.
Patent #:
10,990,586
Awarded:
April 27, 2021
System and method for revising record keys to coordinate record key changes within at least two databases
United States Patent 10,990,586 describes a method of handling parent-child relationships when new parent records are created in an application. The new technique handles the relationship updates when parent keys are created by the application system must be maintained in the child record in a mass update mode instead of record-by-record. This improves efficiency in conventional row-organized database management systems, but also enables this on column-organized databases with good performance.
Abstract
A system and method to coordinate the changing of identifiers, i.e., primary keys and foreign keys, of new records generated by a first system by revision of these new records with alternate primary keys and foreign keys as generated and/or established by a second database system. The invention is an improvement over prior art transactional methods that maintain relationships among records when updating records of a first data base with replacement of primary and foreign keys provided by another database management system, and an improvement over prior art approaches to non-indexed schemas. Thus, the new method teaches how to batch update relationship fields in the first database with fewer database updates. The invention provides large savings for columnar databases, which are generally not indexed, and speeds up record key maintenance and harmonizing across two or more row-oriented databases.
Special Purpose
Patent #:
10,440,089
Awarded:
October 8, 2019
Method to Replicate Complex Data Structures Using Multiple Queries
United States Patent 10,440,089 handles queries that exceed the maximum complexity or length of the source query or the ability of the receiving database to insert or update all the columns at once by breaking the query into a subset of fields.
Abstract
A system and method enable the modification of software data queries for the purpose of overcoming the problem of large, cumbersome data queries. The method and system presented includes a client device, which may split a software data query into segments representing a fraction of the original query size, and submit the divided data query to a remote server. The division of the initial query may continue until the query size is usable by the remote server. The remote server may receive the segmented query, and transmit database records associated with the fields in the divided query to the client device. Further segments of the divided query may be transmitted until the full query has been transmitted to the remote server. The divided queries may include date time stamp bounds to determine the desired database records. A computing device created specifically for the above-listed tasks may be utilized.
Patent #:
11,194,769
Awarded:
December 7, 2021
Method to Federate Data Replication over a Communications Network
United States Patent Application 11,194,769 provides a method to synchronize an entire source and target database.
Abstract
A system and method to ensure the consistency of a data warehouse or backup database with a source database are described. The method alleviates issues of comparing two sets of the same data on disparate network systems and eliminates having to reload the entire target database or compare every field to ensure reasonable consistency of the contents. The process involves loading a unique record identifier, an optional record change timestamp, and an optional record archive field of a source database into a work file or temporary database table. Source work file records or temporary database tables records that do not exist in the target database or have timestamp mismatches are retrieved from the source database and added to or updated in the target database. Target database records that are archived or missing in the work file or temporary database table are archived or deleted from the target database.