×

Dynamic database mapping

  • US 10,296,499 B2
  • Filed: 11/15/2013
  • Issued: 05/21/2019
  • Est. Priority Date: 11/15/2013
  • Status: Active Grant
First Claim
Patent Images

1. A method for generating a mapping between a first data model and a second data model, the method being implemented by one or more data processors forming part of at least one computing device and comprising:

  • sending, by a server, in response to a request from at least one client device, a request for metadata to a data producer providing data using the second data model, the data producer being remote from the client device, the server in communication with and remote from the data producer and the client device;

    receiving, by the server, the metadata of the second data model and a service document from the data producer, the metadata comprising a description of feeds, types, properties, and relationships and the service document comprising lists of top-level feeds and addresses of the feeds;

    parsing and analyzing, by the server, the metadata of the second data model into an in-memory database to determine a structure of the second data model;

    based on the parsing and analysis of the metadata, creating, by the server and at the server, system tables, the system tables including a first set of tables for storing data from the data producer using the first data model, a second set of tables including information about the metadata of the second data model, and a third set of tables including a mapping between the metadata of the second data model and the first set of tables in the first data model;

    populating the first set of tables with data received from the data producer;

    sending the system tables to the client device; and

    enabling, by the server, access to the system tables to the at least one client device;

    wherein the first data model and the second data model are physical data models having different physical structures,wherein a protocol used to communicate between the data producer and the server is different from the protocol used to communicate between the server and the at least one client device,wherein containment properties in the second data model are mapped to containment tables in the first data model, containment tables include one column for each primary key of corresponding entity types,wherein the data producer is an information resource that comprises a semantic layer,wherein the mapping includes;

    an entity set and type of the second data model mapping to an entity table in the first data model; and

    properties of the entity type mapping to different columns in the table,wherein the properties of the entity type mapping to the different columns in the table includes;

    each primitive property mapping to a different column; and

    keys of the entity mapping to a column in the table including entity ID hashes generated based on the entity set and key properties of the entity,wherein the client device is operable to request an update to the data stored on the client device, the request including a delta link indicating when the data stored in the client device was requested from the data producer,wherein the server is operable to receive the request for the update from the client device, to request data from the data producer using the delta link, to transform data received from the data producer into the first data model, and to send transformed data to the client device, andwherein the server stores data in an in-memory data structure, data is transferred from the server using server driven paging in which each interim page includes a link to a next page, and a final page in a data transfer includes the delta link for obtaining changes to the data.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×