Method and apparatus for cache management of distributed objects
First Claim
Patent Images
1. A computer implemented method comprising:
- (a) determining when a cached entity has a corresponding existing entity in a datasource, andwhen said cached entity has said corresponding existing entity in said datasource then;
(b) determining when a preserve changes to said cached entity merge strategy is requested for said cached entity merging with said corresponding existing entity in said datasource, andwhen said preserve change to said cached entity merge strategy is requested for said cached entity merging with said corresponding existing entity in said datasource then;
(c) determining when said cached entity has a current version of said cached entity having a status of unmodified, and(c1) when said cached entity has said current version of said cached entity having said status of unmodified then;
(c1a) replacing said current version of said cached entity with data from said corresponding existing entity in said datasource, replacing an original version of said cached entity with said data from said corresponding existing entity in said datasource,(c2) when said cached entity has said current version of said cached entity having said status of unmodified then;
(c2a) leaving unchanged said status of said current version of said cached entity;
and wherein said current version of said cached entity is stored in hardware on said computer and is displayed for a user.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus for cache management of distributed objects have been disclosed. A query strategy, based on a fetch strategy and a merge strategy, may be used to query a database and reconcile data in a local cache. In one approach, a merge action depends upon whether an entity was added, deleted, or changed relative to the original version of the entity as it was last fetched.
21 Citations
15 Claims
-
1. A computer implemented method comprising:
-
(a) determining when a cached entity has a corresponding existing entity in a datasource, and when said cached entity has said corresponding existing entity in said datasource then; (b) determining when a preserve changes to said cached entity merge strategy is requested for said cached entity merging with said corresponding existing entity in said datasource, and when said preserve change to said cached entity merge strategy is requested for said cached entity merging with said corresponding existing entity in said datasource then; (c) determining when said cached entity has a current version of said cached entity having a status of unmodified, and (c1) when said cached entity has said current version of said cached entity having said status of unmodified then; (c1a) replacing said current version of said cached entity with data from said corresponding existing entity in said datasource, replacing an original version of said cached entity with said data from said corresponding existing entity in said datasource, (c2) when said cached entity has said current version of said cached entity having said status of unmodified then; (c2a) leaving unchanged said status of said current version of said cached entity; and wherein said current version of said cached entity is stored in hardware on said computer and is displayed for a user. - View Dependent Claims (2, 3, 4)
-
-
5. A computer implemented method comprising:
-
determining when a cached entity has a corresponding existing entity in a datasource, and when said cached entity has said corresponding existing entity in said datasource then; determining when an overwrite changes to said cached entity merge strategy is requested for said cached entity merging with said corresponding existing entity in said datasource, and when said overwrite changes to said cached entity merge strategy is requested for said cached entity merging with said corresponding existing entity in said datasource then; replacing a current version of said cached entity with data from said corresponding existing entity in said datasource, replacing an original version of said cached entity with said data from said corresponding existing entity in said datasource, changing a status to unmodified for a current version of said cached entity; wherein said cached entity is not obsolete after said replacing said current version of said cached entity with said data from said corresponding existing entity in said datasource and said replacing said original version of said cached entity with said data from said corresponding existing entity in said datasource and said changing said status to unmodified for said current version of said cached entity; and wherein said current version of said cached entity is stored in hardware on said computer and is displayed for a user.
-
-
6. A computer implemented method comprising:
-
determining when a cached entity has a corresponding existing entity in a datasource, and when said cached entity has said corresponding existing entity in said datasource then; determining when a preserve changes unless an original version of said cached entity is obsolete merge strategy is requested for said cached entity with said corresponding existing entity in said datasource, and when said preserve changes unless said original version of said cached entity is obsolete merge strategy is requested for said cached entity with said corresponding existing entity in said datasource then; determining when said cached entity is not obsolete, and when said cached entity is not obsolete then; determining when said cached entity has a current version of said cached entity having a status of unmodified, and when said cached entity has said current version of said cached entity having said status of unmodified then; replacing a current version of said cached entity with data from said corresponding existing entity in said datasource, replacing an original version of said cached entity with said data from said corresponding existing entity in said datasource, and leaving unchanged said status of said current version of said cached entity, and wherein said current version of said cached entity is stored in hardware on said computer and is displayed for a user; when said cached entity has said current version of said cached entity having said status of other than unmodified then; leaving unchanged a current version of said cached entity, leaving unchanged an original version of said cached entity, and leaving unchanged said status of said current version of said cached entity, and wherein said current version of said cached entity is stored in hardware on said computer and is displayed for a user; determining when said cached entity is obsolete, and when said cached entity is obsolete then; replacing a current version of said cached entity with data from said corresponding existing entity in said datasource, replacing an original version of said cached entity with said data from said corresponding existing entity in said datasource, changing said status to unmodified for said current version of said cached entity, and wherein said current version of said cached entity is stored in hardware on said computer and is displayed for a user. - View Dependent Claims (7)
-
-
8. A computer implemented method comprising:
-
determining when a cached entity has a corresponding existing entity in a datasource, and when said cached entity has said corresponding existing entity in said datasource then; determining when a preserve changes and update an original version of said cached entity merge strategy is requested for said cached entity with said corresponding existing entity in said datasource, and when said preserve changes and update said original version of said cached entity merge strategy is requested for said cached entity with said corresponding existing entity in said datasource then; determining when said cached entity has a current version of said cached entity having a status of unmodified, and when said cached entity has said current version of said cached entity having said status of unmodified then;
replacing said current version of said cached entity with data from said corresponding existing entity in said datasource,
replacing an original version of said cached entity with said data from said corresponding existing entity it in said datasource, and leaving unchanged said status of said current version of said cached entity, and wherein said current version of said cached entity is stored in hardware on said computer and is displayed for a user;determining when said cached entity has a current version of said cached entity having a status of added, and
when said cached entity has said current version of said cached entity having said status of added then;
leaving unchanged said current version of said cached entity, replacing an original version of said cached entity with data from said corresponding existing entity in said datasource, and changing said status to modified for said current version of said cached entity, and wherein said current version of said cached entity is stored in hardware on said computer and is displayed for a user;
determining when said cached entity has a current version of said cached entity having a status of other than added and having a status of other than unmodified, and
when said cached entity has said current version of said cached entity having said status of other than added and having said status of other than unmodified then;
leaving unchanged said current version of said cached entity, replacing an original version of said cached entity with data from said corresponding existing entity in said datasource, and leaving unchanged said status of said current version of said cached entity, and wherein said current version of said cached entity is stored in hardware on said computer and is displayed for a user. - View Dependent Claims (9)
-
-
10. A computer implemented method comprising:
-
determining when a cached entity has a corresponding existing entity in a datasource, and when said cached entity has said corresponding existing entity in said datasource then; determining when a preserve said existing entity in said datasource when said existing entity in said datasource is found in a cache merge strategy is requested for said cached entity merging with said corresponding existing entity in said datasource, and when a preserve said existing entity in said datasource when said existing entity in said datasource is found in said cache merge strategy is requested for said cached entity merging with said corresponding existing entity in said datasource then; leaving unchanged a current version of said cached entity, leaving unchanged an original version of said cached entity, and leaving unchanged a status of said current version of said cached entity, and wherein said current version of said cached entity is stored in hardware on said computer and is displayed for a user.
-
-
11. A computer implemented method comprising:
-
determining when a cached entity does not exist in a datasource, and when said cached entity does not exist in said datasource then; determining when a preserve changes to said cached entity merge strategy is requested for said cached entity merging with said datasource, and when said preserve changes to said cached entity merge strategy is requested for said cached entity merging with said datasource then; determining when said cached entity has a current version of said cached entity having a status of unmodified, and when said cached entity has said current version of said cached entity having said status of unmodified then; removing said cached entity, and wherein a remove status related to said removing of said cached entity is stored in hardware on said computer and is displayed for a user; determining when said cached entity has a current version of said cached entity having a status of other than unmodified, and when said cached entity has said current version of said cached entity having said status of other than unmodified then; leaving unchanged a current version of said cached entity, leaving unchanged an original version of said cached entity, and leaving unchanged said status of said current version of said cached entity, and wherein said current version of said cached entity is stored in hardware on said computer and is displayed for a user.
-
-
12. A computer implemented method comprising:
-
determining when a cached entity does not exist in a datasource, and when said cached entity does not exist in said datasource then; determining when an overwrite changes to said cached entity merge strategy is requested for said cached entity merging with said datasource, and when said overwrite changes to said cached entity merge strategy is requested for said cached entity merging with said datasource then; determining when said cached entity has a current version of said cached entity having a status of added, and when said cached entity has said current version of said cached entity having said status of added then; leaving unchanged a current version of said cached entity, leaving unchanged an original version of said cached entity, and leaving unchanged said status of said current version of said cached entity, and wherein said current version of said cached entity is stored in hardware on said computer and is displayed for a user; determining when said cached entity has a current version of said cached entity having a status of other than added, and when said cached entity has said current version of said cached entity having said status of other than added then; removing said cached entity, and wherein a remove status related to said of said cached entity is stored in hardware on said computer and is displayed for a user.
-
-
13. A computer implemented method comprising:
-
determining when a cached entity does not exist in a datasource, and when said cached entity does not exist in said datasource then; determining when a preserve changes to said cached entity unless an original version of said cached entity is obsolete merge strategy is requested for said cached entity merging with said datasource, and when said preserve changes to said cached entity unless said original version of said cached entity is obsolete merge strategy is requested for said cached entity merging with said datasource then; determining when said cached entity has a current version of said cached entity having a status of added, and when said cached entity has said current version of said cached entity having said status of added then; leaving unchanged a current version of said cached entity, leaving unchanged an original version of said cached entity, and leaving unchanged said status of said current version of said cached entity, and wherein said current version of said cached entity is stored in hardware on said computer and is displayed for a user; determining when said cached entity has a current version of said cached entity having a status of other than added, and when said cached entity has said current version of said cached entity having said status of other than added then; removing said cached entity, and wherein a remove status related to said removing of said cached entity is stored in hardware on said computer and is displayed for a user.
-
-
14. A computer implemented method comprising:
-
determining when a cached entity does not exist in a datasource, and when said cached entity does not exist in said datasource then; determining when a preserve changes and update an original version of said cached entity merge strategy is requested for said cached entity merging with said datasource, and when said preserve changes and update said original version of said cached entity merge strategy is requested for said cached entity merging with said datasource then; determining when said cached entity has a current version of said cached entity having a status of unmodified, and when said cached entity has said current version of said cached entity having said status of unmodified then; removing said cached entity, and wherein a remove status related to said removing of said cached entity is stored in hardware on said computer and is displayed for a user; determining when said cached entity has a current version of said cached entity having a status of modified, and when said cached entity has said current version of said cached entity having said status of modified then;
leaving unchanged a current version of said cached entity, leaving unchanged an original version of said cached entity, and changing said status of said current version of said cached entity to added, and wherein said current version of said cached entity is stored in hardware on said computer and is displayed for a user;determining when said cached entity has a current version of said cached entity having a status of other than modified and having a status of other than unmodified, and; when said cached entity has said current version of said cached entity having said status of other than modified and having said status of other than unmodified then;
leaving unchanged a current version of said cached entity, leaving unchanged an original version of said cached entity, and leaving unchanged said status of said current version of said cached entity, and wherein said current version of said cached entity is stored in hardware on said computer and is displayed for a user.
-
-
15. A computer implemented method comprising:
-
determining when a cached entity does not exist in a datasource, and when said cached entity does not exist in said datasource then; determining when a preserve said cached entity said cached entity is found in a cache merge strategy is requested for said cached entity merging with said datasource, and when said preserve said cached entity if said cached entity is found in said cache merge strategy is requested for said cached entity merging with said datasource then; leaving unchanged a current version of said cached entity, leaving unchanged an original version of said cached entity, and leaving unchanged said status of said current version of said cached entity, and wherein said current version of said cached entity is stored in hardware on said computer and is displayed for a user.
-
Specification