IP Library Granted Patent US 8,813,101
Granted Patent B2
US 8,813,101 · App. 11/728,995 · Granted Aug 19, 2014

Software technique to correlate conceptually similar entities

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,813,101
App. No.
11/728,995
Granted
Aug 19, 2014
Kind
B2
Abstract

Various technologies and techniques are disclosed for providing a framework with a common set of domain-specific entity identifier types that object models representing conceptually similar entities from a domain can use to correlate to model-specific object instances. A particular model-specific object instance of a particular one of the object models can be retrieved using a common set of domain-specific entity identifier types. An instance of a particular domain-specific entity identifier type can be retrieved from a corresponding one of the model-specific object instances. One or more extensibility mechanisms allow third parties to extend the set of domain-specific entity identifier types.

Claims (31)

1. A method for providing a framework that enables correlation of conceptually similar entities, comprising:

providing a framework with a common set of domain-specific entity identifier types that a plurality of object models representing conceptually similar entities from a single domain can use to correlate to model-specific object instances, the model-specific object instances including object instances obtained from specific model instances, each domain-specific entity identifier type of the common set being implemented in an abstract class and describing a corresponding conceptual entity in the single domain;

providing one or more extensibility mechanisms to allow third parties to extend the common set of domain-specific entity identifier types;

receiving a request associated with the one or more extensibility mechanisms for at least one of a model handle or an entity identifier from a third party of the third parties;

enabling a particular model-specific object instance of a particular one of the object models to be retrieved using the common set of domain-specific entity identifier types; and

enabling an instance of a particular domain-specific entity identifier type to be retrieved from a corresponding one of the model-specific object instances.

2. The method of claim 1 , wherein the domain-specific entity identifier types can be either unique or non-unique identifiers.

3. The method of claim 1 , wherein the framework provides a common set of abstractions and interfaces for creating the object models with the domain-specific entity identifier types.

4. The method of claim 1 , wherein domain-specific entity identifier types are provided through public classes.

5. The method of claim 1 , wherein the correlation using the domain-specific entity identifier types is independent of one or more types of the model-specific object instances.

6. The method of claim 1 , wherein the domain-specific entity identifier types derive from a common abstract base class.

7. The method of claim 1 , wherein the domain-specific entity identifier types contain only simple data types.

8. The method of claim 1 , wherein the domain-specific entity identifier types can be serialized and de-serialized.

9. The method of claim 1 ,

wherein the common set of domain-specific entity identifier types is extended by allowing one or more model-specific object instances to be provided for one or more domain-specific entity identifier types that a particular one or more of the object models did not originally support.

10. A computer-readable storage device having computer-executable instructions for causing a computer to perform steps comprising:

provide a framework with a common set of domain-specific entity identifier types that a plurality of object models representing a conceptually similar entity from a single domain can use to correlate model-specific object instances, the model-specific object instances including object instances obtained from specific model instances, each domain-specific entity identifier type of the common set being implemented in an abstract class and describing a corresponding conceptual entity in the single domain; and

provide one or more extensibility mechanisms to allow third parties to extend the common set of domain-specific entity identifier types, at least one of the one or more extensibility mechanisms configured to receive a request from a third party of the third parties via a user interface, and configured to validate the request based on a list of known extensions related to the common set of domain-specific entity identifier types.

11. The computer-readable storage device of claim 10 , wherein the domain-specific entity identifier types are operable to be extended by allowing one or more model-specific object instances to be provided for one or more domain-specific entity identifier types that a particular one or more of the object models did not originally support.

12. The computer-readable storage device of claim 10 , wherein the domain-specific entity identifier types are operable to be extended by allowing one or more domain-specific entity identifier types to be provided for model-specific object instances that a particular one or more of the object models did not originally support.

13. A method for providing an application programming interface for allowing correlation of conceptually similar entities, comprising:

providing an application programming interface with an abstract entity identifier class, with domain-specific entity identifier types being required to derive from the abstract entity identifier class, thereby allowing a plurality of object models representing a conceptually similar entity from a single domain to use the domain-specific entity identifier types to correlate model-specific object instances, the model-specific object instances including object instances obtained from specific model instances, each domain-specific entity identifier type being implemented in an abstract class and describing a corresponding conceptual entity in the single domain; and

providing one or more extensibility mechanisms to allow third parties to extend a set of domain-specific entity identifier types, based on a list of known extensions, that a particular one or more of the plurality of object models did not originally support.

14. The method of claim 13 , wherein the application programming interface can be applied to an object model.

15. The method of claim 14 , wherein the object model is allowed to be either a root object model or a sub object model.

16. The method of claim 14 , wherein the object model implements a method to retrieve one or more of the domain-specific entity identifier types.

17. The method of claim 14 , wherein the object model implements a method to retrieve one or more sub object models using one or more of the domain-specific entity identifier types.

18. The method of claim 13 , wherein the application programming interface further comprises an object handle interface.

19. The method of claim 18 , wherein the object handle interface implements a method for accessing one or more of the model-specific object instances.

20. The method of claim 13 ,

wherein the domain-specific entity identifier types are operable to be extended by allowing one or more model-specific object instances to be provided for one or more domain-specific entity identifier types or by allowing one or more domain-specific entity identifier types to be provided for model-specific object instances.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034542/0001 →