IP Library Granted Patent US 7,536,414
Granted Patent B2
US 7,536,414 · App. 11/533,618 · Granted May 19, 2009

Dynamically generated schema representing multiple hierarchies of inter-object relationships

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 7,536,414
App. No.
11/533,618
Granted
May 19, 2009
Kind
B2
Abstract

Dynamically generating a schema representing multiple hierarchies of inter-object relationships is described. In one aspect, a data polyarchy is created. Responsive to creation of the data polyarchy, a schema is automatically generated to represent multiple hierarchies of inter-object relationships between multiple objects in the data polyarchy. The schema is generated based on values of attributes of the objects.

Claims (51)

1. A method at least partially implemented by a server, the method comprising:

receiving data from one or more data sources at the server, wherein the server is configured to create a data polyarchy;

creating a data polyarchy at the server;

responsive to creating the data polyarchy, automatically generating, at the server, a schema to represent multiple hierarchies of inter-object relationships between a plurality of objects in the data polyarchy, the schema being generated based on values of attributes of the objects; and

facilitating graph creation to represent elastic inter-object connections at the server, wherein at least one object represented once by the inter-object connections participates in one or more of the hierarchies of inter-object relationships, the one or more of the hierarchies being defined by data defined at any point in time by respective ones of the objects represented in the inter-object relationships, the data being independent of a static naming convention.

2. The method of claim 1 wherein the automatically generating is implemented independent of any a-priori human knowledge of the inter-object relationships.

3. The method of claim 1 , wherein a distinguishing name of an object based on the schema is independent of a static location based on a data relationship with each other object in a data store based on the schema.

4. The method of claim 1 , wherein the method further comprises, responsive to programmatically detecting a change in a data value associated with an object, automatically updating, at the server, respective ones of the inter-object relationships in the data polyarchy to reflect the change, the data polyarchy representing multiple intersecting hierarchies of inter-object relationships.

5. The method of claim 1 , further comprising renaming, at the server, a parent object in the multiple hierarchies of inter-object relationships, a name of a child object that is subordinate to the parent object not changing responsive to the renaming, the name being a distinguished name that does not include a name of the parent object.

6. The method of claim 1 , further comprising:

receiving a request at the server from a client based on the schema; and

responsive to receiving the request:

accessing, at the server, an object of the objects based on the request;

transforming, at the server, the object into transformed data that expresses any inter-object relationship between the object and any other object of the objects based on the request; and

issuing the transformed data from the server to the client.

7. A computer-readable storage medium having computer-program instructions executable by a processor, the computer-program instructions performing operations when executed by the processor comprising:

generating a data polyarchy from data maintained by one or more data sources, the data polyarchy representing multiple hierarchies of inter-object relationships between a plurality of objects represented by the data;

facilitating graph creation to represent elastic inter-object connections, wherein at least one object represented once by the inter-object connections participates in one or more of the hierarchies of inter-object relationships, the one or more of the hierarchies being defined by data defined at any point in time by respective ones of the objects represented in the inter-object relationships, the data being independent of a static naming convention; and

responsive to generating the data polyarchy, automatically creating at least one elements of interest schema to indicate to an application how to display and manipulate the objects within respective ones of the multiple hierarchies of inter-object relationships represented by the data polyarchy.

8. The computer-readable storage medium of claim 7 , wherein the elements of interest schema comprises, for each object of the objects, an address referencing a virtual entity representing the object, attribute(s) of the object, an indication of one or more indexes to use on the attribute(s).

9. The computer-readable storage medium of claim 8 , wherein the virtual entity represents relative scope of object data with respect to distribution of the object data in the data polyarchy.

10. The computer-readable storage medium of claim 7 , wherein the at least one elements of interest schema is multiple elements of interest schemas, each schema of the multiple elements of interest schemas providing access to a respective subset of the objects independent of respective ones of the objects associated with other schemas of the multiple elements of interest schemas.

11. The computer-readable storage medium of claim 7 , wherein generating the data polyarchy further comprises:

determining whether attribute(s) of each object of the objects are distinguishing or non-distinguishing;

representing distinguishing attribute(s) as up-nodes of an interconnected graph representing a hierarchical dimension in the data polyarchy; and

representing non-distinguishing attribute(s) as a down node in at least one dimension of the data polyarchy, the at least one dimension being identified by attribute distribution.

12. The computer-readable storage medium of claim 7 , further comprising computer-executable instructions for performing operations comprising:

receiving a request from a client, the request being limited by the elements of interest schema to at least one subset of objects of the objects;

responsive to receiving the request:

accessing at least one object in the data polyarchy based on the request;

transforming the at least one object into transformed data that expresses any inter-object relationship between the at least one object and any other objects of the objects based on the request; and

issuing the transformed data to the client.

13. A computer comprising:

a processor; and

a memory coupled to the processor, the memory comprising computer-program instructions executable by the processor, the computer-program instructions when executed for performing operations comprising:

generating a data polyarchy from data maintained by one or more data sources, the data polyarchy representing multiple hierarchies of inter-object relationships between a plurality of objects represented by the data;

facilitating graph creation to represent elastic inter-object connections, wherein at least one object represented once by the inter-object connections participates in one or more hierarchies of inter-object relationships, the one or more hierarchies being defined by data defined at any point in time by respective ones of the objects represented in the inter-object relationships, the data being independent of a static naming convention; and

responsive to generating the data polyarchy, automatically creating at least one elements of interest schema to indicate to an application how to display and manipulate the objects within respective ones of the multiple hierarchies of inter-object relationships represented by the data polyarchy, the creating comprising:

determining whether attributes associated with respective ones of the objects are distinguishing, locating, or classifying;

representing distinguishing attributes as up-nodes in the data polyarchy; and

representing locating and classifying attributes as down-nodes in the data polyarchy, locating attributes being used to locate objects within the data polyarchy, classifying attributes being used to filter objects in the data polyarchy.

14. The computer of claim 13 , wherein the computer-executable instructions further comprise instructions for performing operations comprising:

receiving a request from a client based on the elements of interest schema;

responsive to receiving the request:

accessing one or more objects in the data polyarchy based on the request;

transforming the one or more of the objects into transformed data that expresses any inter-object relationships based on the request; and

communicating the transformed data to the client.

15. The computer of claim 13 , wherein the automatically creating is implemented independent of any a-priori human knowledge of the inter-object relationships.

16. The computer of claim 13 , wherein a distinguishing name of an object based on the elements of interest schema is independent of a static location based on a data relationship with each other object in a data store based on the elements of interest schema.

17. The computer of claim 13 , wherein the computer-program instructions further comprise instructions that are responsive to programmatically detecting a change in a data value associated with an object, the computer-program instructions when executed for automatically updating respective ones of the inter-object relationships in the data polyarchy to reflect the change, the data polyarchy representing multiple intersecting hierarchies of inter-object relationships.

18. The computer of claim 13 , wherein the elements of interest schema comprises, for each object of the objects, an address referencing a virtual entity representing the object, attribute(s) of the object, an indication of one or more indexes to use on the attribute(s), and wherein the virtual entity represents relative scope of object data with respect to distribution of the object data in the data polyarchy.

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