Membership tracking and data eviction in mobile middleware scenarios
First Claim
1. A method comprising:
- mapping native attributes for a mobile business object (MBO) to a relational structure;
building a list of unique surrogate keys that should currently be part of a subscription for a client, wherein the surrogate keys include values to be used by the client to account for an inability to access a key creation process, and wherein the list includes child mobile business objects (MBOs) referenced by parent MBOs that are expected to be on the client upon completion of a synchronization;
determining a set of deleted surrogate keys that the client currently has that are no longer in the list of unique surrogate keys that should currently be part of the subscription;
removing the deleted surrogate keys for the client from a client device database;
updating a surrogate key list the client is expected to have, wherein the updating comprises;
for surrogate keys the client already has, doing nothing; and
for each new surrogate key the client does not yet have;
inserting a row in the surrogate key list; and
setting a timestamp indicating when the new surrogate key first became part of what the client is expected to have.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems, methods, and computer program products are provided for ensuring coherency between user data in a client and their corresponding state in enterprise information systems (EIS) wherein data migrates and subscriptions change over time. A mobile business object (MBO) identifies an update to a subscription or a change in set membership in order to provide updates to a client device and EIS systems. Cached data is filtered for client device users who synchronize data they are interested in (i.e., subscribed to). In an embodiment, the method keeps track of set membership by remembering on a per remote identifier/business object basis the set membership for a parent business object. When set membership changes, the method sends delete notifications to the device to remove ex-members. The method recognizes common relationship types in a business scenario and handles reference-type relationships as well as containment-type relationships. The methods include key tracking and membership tracking.
-
Citations
15 Claims
-
1. A method comprising:
-
mapping native attributes for a mobile business object (MBO) to a relational structure; building a list of unique surrogate keys that should currently be part of a subscription for a client, wherein the surrogate keys include values to be used by the client to account for an inability to access a key creation process, and wherein the list includes child mobile business objects (MBOs) referenced by parent MBOs that are expected to be on the client upon completion of a synchronization; determining a set of deleted surrogate keys that the client currently has that are no longer in the list of unique surrogate keys that should currently be part of the subscription; removing the deleted surrogate keys for the client from a client device database; updating a surrogate key list the client is expected to have, wherein the updating comprises; for surrogate keys the client already has, doing nothing; and for each new surrogate key the client does not yet have; inserting a row in the surrogate key list; and setting a timestamp indicating when the new surrogate key first became part of what the client is expected to have. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A non-transitory computer-readable medium having computer-executable instructions stored thereon that, in response to execution by a computing device, cause the computing device to perform a method comprising:
-
mapping native attributes for a mobile business object (MBO) to a relational structure; building a list of unique surrogate keys that should currently be part of a subscription for a client, wherein the surrogate keys include values to be used by the client to account for an inability to access a key creation process, and wherein the list includes child mobile business objects (MBOs) referenced by parent MBOs that are expected to be on the client upon completion of a synchronization; determining a set of deleted surrogate keys the client currently has that are no longer in the list of unique surrogate keys that should currently be part of the subscription; removing the deleted surrogate keys for the client from a client device database; updating a surrogate key list the client is expected to have, wherein the updating comprises; for surrogate keys the client already has, doing nothing; and for each new surrogate key the client does not yet have; inserting a row in the surrogate key list; and setting a timestamp indicating when the new surrogate key first became part of what the client is expected to have.
-
-
13. A system comprising:
-
a memory configured to store modules comprising; a mapping module configured to map native attributes for a mobile business object (MBO) to a relational structure; a building module configured to build a list of unique surrogate keys that should currently be part of a subscription for a client, wherein the surrogate keys include values to be used by the client to account for an inability to access a key creation process, and wherein the list includes child mobile business objects (MBOs) referenced by parent MBOs that are expected to be on the client upon completion of a synchronization; a determining module configured to determine a set of deleted surrogate keys the client currently has that are no longer in the list of unique surrogate keys that should currently be part of the subscription; an eviction module configured to remove the deleted surrogate keys for the client from a client device database; an upsert module configured to update a surrogate key list the client is expected to have, wherein the upsert module is further configured to, for each new surrogate key the client does not yet have; insert a row in the surrogate key list; and set a timestamp indicating when the new surrogate key first became part of what the client is expected to have.
-
-
14. A method for synchronizing data updates between a mobile client device and an enterprise information system (EIS), the method comprising:
-
detecting an update to a subscription for a mobile client device or a change in set membership for a mobile business object (MBO); building a surrogate key list of globally unique surrogate keys that should currently be part of the subscription, wherein the surrogate keys include values to be used by the mobile client device to account for an inability to access a key creation process, and wherein the surrogate key list includes child mobile business objects (MBOs) referenced by the MBO that are expected to be on the mobile client device upon completion of a synchronization; filtering cached EIS data for a user associated with the mobile client device, wherein the filtering selects a subset of the cached EIS data to which the mobile client device is subscribed; in response to detecting an eviction of a member from a set; sending a delete notification to the mobile client device to remove the evicted member; and updating a row in the surrogate key list corresponding to the evicted member to indicate that data associated with the surrogate key is not expected to be on the mobile client device; and in response to detecting a change to or addition of a member in a set; sending an upsert notification to the mobile client device to update the changed or added member; updating a row in the surrogate key list corresponding to the changed or added member to indicate that the data associated with the surrogate key is expected to be on the mobile client device; and setting a timestamp in the surrogate key list indicating when data associated with the surrogate key first became a part of the subscription data that the mobile client device is expected to have. - View Dependent Claims (15)
-
Specification