IP Library Granted Patent US 7,844,618
Granted Patent B2
US 7,844,618 · App. 12/019,458 · Granted Nov 30, 2010

Techniques for managing interdependent data objects

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,844,618
App. No.
12/019,458
Granted
Nov 30, 2010
Kind
B2
Abstract

System and article of manufacture for managing modifications to at least one of a plurality of interdependent data objects. A computer-readable storage medium contains a program which, when executed by a processor, performs operations for managing modifications to at least one of a plurality of interdependent data objects. The operations include receiving a request for modification of a given data object having at least one dependent data object and accessing a directory of dependencies containing records for each of the interdependent data objects including the at least one dependent data object. Each record describes an interdependency between at least two of the interdependent data objects. A record for the at least one dependent data object describes an interdependency between the given data object and the at least one dependent data object. Using the accessed directory of dependencies, the interdependency between the given data object and the at least one dependent data object is identified. On the basis that the identified interdependency presents a possible undesired consequence if the requested modification is performed, a predefined action is performed.

Claims (79)

1. A computer-readable storage medium containing a program which, when executed by a processor, performs operations for managing modifications to at least one of a plurality of interdependent data objects, the operations comprising:

receiving a request for modification of a given data object having at least one dependent data object, wherein the given data object and the at least one dependent data object comprise logical fields defined according to a data abstraction model;

accessing a directory of dependencies containing at least one record for each of the plurality of interdependent data objects including the at least one dependent data object, wherein each record describes an interdependency between at least two of the interdependent data objects and wherein a record for the at least one dependent data object describes an interdependency between the given data object and the at least one dependent data object;

identifying the interdependency between the given data object and the at least one dependent data object using the accessed directory of dependencies, wherein the identified interdependency presents an indication that the at least one dependent data object will become invalid as a result of performing the modification;

as a result of having identified the interdependency, performing the requested modification resulting in the data abstraction model being modified; and

performing a predefined action on at least one of the modified data abstraction model and the at least one dependent data object by executing one or more instructions on a computer processor, wherein the predefined action is formulated to avoid the at least one dependent data object becoming invalid as a result of performing the requested modification.

2. The computer-readable storage medium of claim 1 , wherein accessing the directory of dependencies comprises issuing a query against the directory of dependencies in response to the request for modification; and wherein identifying the interdependency comprises receiving a result set containing those interdependent data objects affected by the request for modification.

3. The computer-readable storage medium of claim 1 , wherein the request for modification of the given data object comprises a request for at least one of:

(i) deleting the given data object;

(ii) renaming the given data object; and

(iii) changing one or more attributes of the given data object.

4. The computer-readable storage medium of claim 1 , wherein the predefined action comprises, for the given data object, at least one of:

(i) deleting the given data object;

(ii) renaming the given data object; and

(iii) changing one or more attributes of the given data object; and

for the at least one dependent data object at least one of:

(i) disabling access to at least one portion of the at least one dependent data object; and

(ii) deleting at least one portion of the at least one dependent data object.

5. The computer-readable storage medium of claim 1 , wherein performing the predefined action comprises:

modifying the given data object according to the requested modification; and

performing an action for the at least one dependent data object, wherein the action includes at least one of:

disabling access to the at least one dependent data object, and

deleting the at least one dependent data object.

6. The computer-readable storage medium of claim 1 , wherein performing the predefined action comprises:

denying the requested modification of the given data object.

7. The computer-readable storage medium of claim 1 , wherein the request for modification of the given data object is based on user input; the operations further comprising:

displaying a dependency list comprising the at least one dependent data object to the user; and

receiving user input specifying the predefined action on the basis of the dependency list.

8. The computer-readable storage medium of claim 1 , wherein the request for modification of the given data object comprises a request for a temporary modification of the given data object; and wherein performing the predefined action comprises:

temporarily modifying the given data object according to the requested modification; and

temporarily invalidating at least a portion of the at least one dependent data object.

9. A computer-readable storage medium containing a program which, when executed by a processor, performs operations for managing modifications to a data abstraction model abstractly describing data in a database and defining a plurality of logical fields, the operations comprising:

receiving a request for modification of a given logical field from the data abstraction model, the given logical field defining an abstract representation of a specific set of physical data in the database and having at least one dependent data object, wherein the at least one dependent data object comprises said logical fields defined according to the data abstraction model;

accessing a directory of dependencies containing at least one record for each of the plurality of logical fields and a plurality of interdependent objects including the at least one dependent data object, wherein each record describes an interdependency between at least two of the interdependent data objects and wherein a record for the at least one dependent data object describes an interdependency between the given logical field and the at least one dependent data object;

identifying the interdependency between the given data object and the at least one dependent data object using the accesses directory of dependencies, wherein the identified interdependency presents an indication that the at least one dependent data object will become invalid as a result of performing the modification;

as a result of having identified the interdependency, performing the requested modification resulting in the data abstraction model being modified; and

performing a predefined action on the at least one of the modified data abstraction model and the at least one dependent data object by executing one or more instructions on a computer processor, wherein the predefined action is formulated to avoid the at least one dependent data object becoming invalid as a result of performing the requested modification.

10. The computer-readable storage medium of claim 9 , wherein accessing the directory of dependencies comprises issuing a query against the directory of dependencies in response to the request for modification and wherein identifying the interdependency comprises receiving a result set containing those interdependent data objects affected by the request for modification.

11. The computer-readable storage medium of claim 9 , wherein the at least one dependent data object is an abstract query having one or more logical fields including the given logical field; and wherein the data abstraction model is adapted for transforming the one or more logical fields of the abstract query into a form consistent with a physical representation of the data in the database.

12. The computer-readable storage medium of claim 9 , wherein the request for modification of the given logical field comprises a request for at least one of:

(i) deleting the given logical field in the data abstraction model;

(ii) renaming the given logical field; and

(iii) changing one or more attributes of the given logical field.

13. The computer-readable storage medium of claim 9 , wherein the predefined action comprises, for the given logical field, at least one of:

(i) deleting the given logical field in the data abstraction model;

(ii) renaming the given logical field; and

(iii) changing one or more attributes of the given logical field; and

for the at least one dependent data object at least one of:

(i) disabling access to at least one portion of the at least one dependent data object; and

(ii) deleting at least one portion of the at least one dependent data object.

14. The computer-readable storage medium of claim 9 , wherein performing the predefined action comprises:

modifying the given logical field according to the requested modification; and

performing an action for the at least one dependent data object, wherein the action includes at least one of:

disabling access to the at least one dependent data object, and

deleting the at least one dependent data object.

15. The computer-readable storage medium of claim 9 , wherein performing the predefined action comprises:

denying the requested modification of the given logical field.

16. The computer-readable storage medium of claim 9 , wherein the request for modification of the given logical field is based on user input; the operations further comprising:

displaying a dependency list comprising the at least one dependent data object to the user; and

receiving user input specifying the predefined action on the basis of the dependency list.

17. The computer-readable storage medium of claim 9 , wherein the request for modification of the given logical field comprises a request for a temporary modification of the given logical field; and wherein performing the predefined action comprises:

temporarily modifying the given logical field according to the requested modification; and

temporarily invalidating at least a portion of the at least one dependent data object.

18. The computer-readable storage medium of claim 9 , wherein the predefined action is only performed on the at least one dependent data object if it is determined that the at least one dependent data object is affected by the modification of the given logical field.

19. The computer-readable storage medium of claim 9 , wherein performing the predefined action comprises:

modifying the given logical field according to the requested modification; and

validating the at least one dependent data object on the basis of the modified logical field.

20. The computer-readable storage medium of claim 19 , wherein the at least one dependent data object is an abstract query having one or more logical fields including the given logical field; and wherein the data abstraction model is adapted for transforming the one or more logical fields of the abstract query into a form consistent with a physical representation of the data in the database; and wherein validating the abstract query on the basis of the modified logical field comprises:

executing the abstract query against the database; and

determining, whether a valid query result is obtained.

21. A system, comprising:

a processor;

a plurality of interdependent data objects including a given data object having at least one dependent data object, wherein the given data object and the at least one dependent data object comprise logical fields defined according to a data abstraction model;

a directory of dependencies containing at least one record for each of the plurality of interdependent data objects including the at least one dependent data object, wherein each record describes an interdependency between at least two of the interdependent data objects and wherein a record for the at least one dependent data object describes an interdependency between the given data object and the at least one dependent data object; and

an object modifications management component which, when executed by the processor, is configured to:

receive a request for modification of the given data object;

identify the interdependency between the given data object and the at least one dependent data object using the accessed directory of dependencies, wherein the identified interdependency presents an indication that the at least one dependent data object will become invalid as a result of performing the modification;

as a result of having identified the interdependency, perform the requested modification resulting in the data abstraction model being modified; and

perform a predefined action on at least one of the modified data abstraction model and the at least one dependent data object by executing one or more instructions on a computer processor, wherein the predefined action is formulated to avoid the at least one dependent data object becoming invalid as a result of performing the requested modification.

Assignments (1)
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058553/0802 →