Sesame Software has focused on data integration, data replication and automated data warehouses for over 14 years. During this time, we have learned a lot about reliability, scalability, performance, and automation. For instance, our Salesforce data replication product is 100 times faster than it was originally, and can reliably handle terabytes of Salesforce data.

The knowledge that is embodied in our replication products is protected by United States patents. There are five patents currently awarded and five patents pending for data replication, data integration, and data recovery techniques. Sesame Software vigorously protects its intellectual property.

Method of Integrating Remote Databases by Automated Client Scoping of Update Requests

February 21, 2012

United States Patent 8,122,040 yields a major competitive advantage for Sesame Software’s Relational Junction replication and data warehouse offerings, which includes products for Salesforce, NetSuite and QuickBooks. Among the vendors offering replication and integration tools, only Relational Junction effectively replicate massive amounts of data for integration and analysis with other corporate data and for data backup to meet regulatory compliance mandated in a variety of industries.

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.

Sesame Software’s patented technique of segmenting data by variable date ranges means that our Relational Junction for Salesforce and Relational Junction for NetSuite products are the only data replication products that can effectively handle tens of millions of records. Some of Sesame Software’s customers have up to half a terabyte of data in the cloud, and we are able to load it to the on-premise database despite numerous timeouts and restarts required 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.

 

Data Replication of Related Records to SaaS Data Sources

February 12, 2013

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

June 3, 2014

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

March 27, 2018

 

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.

 

Method of integrating remote databases by automated client scoping of update requests prior to download via a communications network

September, 5, 2017

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.