IP Library Granted Patent US 8,224,822
Granted Patent B2
US 8,224,822 · App. 12/620,810 · Granted Jul 17, 2012

Template based entity transformation

Assignee: Oracle International Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,224,822
App. No.
12/620,810
Granted
Jul 17, 2012
Kind
B2
Abstract

Systems, methods, and other embodiments associated with template based entity transformation are described. One example method includes generating a difference set that describes differences between an existing data entity and a template. The example method may also include applying the template to the existing data entity based on the difference set and conflict resolution choices.

Claims (36)

1. A non-transitory computer-readable medium storing computer executable instructions that when executed by a computer cause the computer to perform a method, the method comprising:

receiving a template that specifies a template entity for inclusion in a workspace, where the template entity is characterized by a template entity type;

generating a difference set that describes differences between an existing workspace and a template by;

accessing a type registration data store that maps respective entity types to respective data stores that store entities of the entity type to determine a data store that stores entities of the template entity type;

querying the data store to determine if the template entity is stored in the data store;

when the template entity is not stored in the data store, adding the template entity to an insert set that is a subset of the difference set; and

applying the template to the existing workspace based on the difference set.

2. The non-transitory computer-readable medium of claim 1 where generating the difference set comprises generating an update set that is a subset of the difference set and includes template entities already stored in the data store.

3. The non-transitory computer-readable medium of claim 2 where the update set describes items in the existing workspace to be modified.

4. The non-transitory computer-readable medium of claim 3 where applying the template to the existing workspace comprises modifying items in the existing data entity based on the update set.

5. The non-transitory computer-readable medium of claim 1 where applying the template comprises performing node-level conflict resolution on items contained in the existing workspace based on pre-specified conflict resolution choices.

6. The non-transitory computer-readable medium of claim 5 where the pre-specified conflict resolution choices comprise one or more of, type-level update choices and instance-level update choices.

7. The computer-readable medium of claim 1 where the determining the difference set is performed in a single roundtrip between a content server that receives the template and a data server that stores the template entities.

8. The non-transitory computer-readable medium of claim 1 where the template comprises a specification for creating a workspace.

9. The non-transitory computer-readable medium of claim 1 where applying the template to the existing workspace facilitates one or more of, updating the existing workspace to comply with a new version of a process, upgrading the existing workspace to a more advanced version, ensuring that the existing workspace complies with more than one template, and correcting a partially successful generation of the existing workspace.

10. A system, comprising:

a database server comprising a data store to store data entities and a difference set logic to generate a difference set that describes differences between a selected data entity in the data store and a template;

a content server comprising a template application logic to initiate the difference set logic and to control transformation of the selected data entity according to the difference set; and

where the difference set is created as a result of a single roundtrip between the content server and the data server.

11. The system of claim 10 where the difference set comprises an insert set describing data entities to be added to the selected data entity and an update set describing data entities of the selected data entity to be modified.

12. The system of claim 11 where the content server contains content interface logics that facilitate interactions between users and data entities in the data store.

13. The system of claim 12 where the template application logic controls transformation of the selected data entity by invoking functions of content interface logics.

14. The system of claim 12 where the difference set logic generates the difference set based on information obtained by invoking functions of content interface logics.

15. The system of claim 10 where the data server contains a type-registration data store that maps respective entity types to respective data stores that store entities of the entity type.

16. The system of claim 15 , where the type registration data store contains data identifying

a parent identifier that identifies a parent data entity associated with the data entity.

17. The system of claim 15 where the difference set logic generates the difference set by, upon receiving a request identifying the template and the selected data entity, for each template entity specified in the template:

accessing a type registration table; to determine a data store that stores entities of the template entity type

querying the data store to determine if the template entity is stored in the data store;

when the template entity is not stored in the data store, adding the template entity to an insert set that is a subset of the difference set; and

when the template entity is stored in the data store, adding the template entity to an update set that is a subset of the difference set.

18. The system of claim 17 where the insert set treats data entities as implied members of the insert set when a data entity is a child of a data entity identified in the insert set.

19. A system, comprising:

means for storing a data entity in a database associated with a database server;

means for generating a difference set as a function of comparing the data entity to a template received by a content server, where the difference set is generated as a result of a single roundtrip between the content server and the data server; and

means for applying the template to the data entity based on the difference set.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 18, 2009
From: CHATTERJEE, RAMKRISHNA
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 023535/0180 →
Continuity (1)
Related Publication 20110119314A1 · May 19, 2011