IP Library Granted Patent US 7,827,216
Granted Patent B1
US 7,827,216 · App. 10/626,097 · Granted Nov 2, 2010

Method for coordinating relationships between multiple physical 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 7,827,216
App. No.
10/626,097
Granted
Nov 2, 2010
Kind
B1
Abstract

Two objects are identified. A relationship between the two objects is determined. A contract object is used to represent the relationship between the objects. The contract is useful in many applications: for example, file systems, relational databases, and spreadsheets. The contract can also have rules for processing events occurring to either of the objects related by the contract.

Claims (73)

1. A computer-implemented method comprising:

selecting a file comprising a list of associated contract objects;

selecting a collection comprising a list of associated contract objects;

determining a relationship between the file and the collection;

creating a contract object to represent the relationship between the file and the collection, the contract object comprising a contract object identifier, locator for the file, metadata for the file, a locator for the collection, and a rule table;

storing the contract object identifier in the lists of associated contract objects, wherein the file and the collection utilize the contract object identifier to locate the contract object;

storing within a transaction log a first entry and a second entry, the first entry representing creation of the contract object and the second entry representing a user request for the creation;

determining a first event that can occur to the file;

associating a first rule with the contract object, the first rule including the first event and a first action;

storing the first rule in the rule table;

receiving the first event occurring to the file;

locating the contract object to assess the rule table for the first rule associated with the contract object; and

updating at least one of the contract object, the file, and the collection according to the first rule as determined by the first action responsive to the first event, wherein the contract object is created and used without participation by a user, the file, or the collection.

2. A computer-implemented method according to claim 1 , wherein:

selecting the file includes identifying a plurality of files;

determining the relationship includes determining a plurality of relationships between each of the files and the collection; and

creating the contract object includes creating a plurality of contract objects to represent the plurality of relationships between the plurality of files and the collection.

3. A computer-implemented method according to claim 2 , wherein each contract object represents the relationship between exactly one of the plurality of files and the collection.

4. A computer-implemented method according to claim 1 , wherein:

selecting the file includes identifying a plurality of files;

selecting the collection includes identifying a plurality of collections;

determining a relationship includes determining a plurality of relationships between the plurality of files and the plurality of collections; and

creating the contract object includes creating a plurality of contract objects to represent the plurality of relationships between the plurality of files and the plurality of collections.

5. A computer-implemented method according to claim 4 , wherein each contract object represents the relationship between exactly one of the plurality of files and exactly one of the plurality of collections.

6. A computer-implemented method according to claim 1 , wherein:

the locator for the file includes:

a first identifier assigned to the file; and

the locator for the collection includes:

a second identifier assigned to the collection.

7. A computer-implemented method according to claim 1 , further comprising associating a second rule with the contract object, the second rule including a second event that can occur to the collection and a second action.

8. A computer-implemented method according to claim 1 , further comprising:

storing a first locator for the contract object in the file; and

storing a second locator for the contract object in the collection.

9. A computer-implemented method according to claim 1 , further comprising using at least one of the first and second entries reconstruct the contract object after the contract object is lost.

10. Computer-readable media storing a program executed by a processor, the program comprising:

software selecting a file comprising a list of associated contract objects;

software selecting a collection comprising a list of associated contract objects;

software determining a relationship between the file and the collection;

software creating a contract object to represent the relationship between the file and the collection, the contract object comprising a contract object identifier, locator for the file, metadata for the file, a locator for the collection, and a rule table;

software storing the contract object identifier in the lists of associated contract objects, wherein the file and the collection utilize the contract object identifier to locate the contract object;

software storing within a transaction log a first entry and a second entry, the first entry representing creation of the contract object and the second entry representing a user request for the creation;

software determining a first event that can occur to the file;

software associating a first rule with the contract object, the first rule including the first event and a first action software storing a first rule in the rule table;

software receiving the first event occurring to the file;

software locating the contract object to access the rule table for the first rule associated with the contract object; and

software updating at least one of the contract object, the file, and the collection according to the first rule as determined by the first action responsive to the first event, wherein the contract object is created and used without participation by a user, the file, or the collection.

11. Computer-readable media according to claim 10 , wherein:

the software to identify a file includes software to identify a plurality of files;

the software to identify a collection includes software to identify a plurality of collections;

the software to determine a relationship includes software to determine a plurality of relationships between the plurality of files and the plurality of collections; and

the software to use the contract object includes software to a plurality of contract objects to represent the plurality of relationships between the plurality of files and the plurality of collections.

12. Computer-readable media according to claim 11 , wherein each contract object represents the relationship between exactly one of the plurality of files and exactly one of the plurality of collections.

13. A computer-implemented method according to claim 1 , wherein:

the first event includes a rename event; and

the first action includes an update to the metadata for the file in the contract object.

14. A computer-implemented method according to claim 7 , further comprising:

receiving the second event;

accessing the second rule associated with the contract object; and

updating at least one of the contract object, the file, and the collection according to the second action responsive to the second event.

15. A computer-implemented method according to claim 14 , wherein accessing the second rule includes selecting the second rule from a plurality of rules based on receiving the second event occurring to the collection.

16. Computer-readable media according to claim 10 , wherein:

the first event includes a rename event; and

the first action includes an update of the metadata for the file in the contract object.

17. Computer-readable media according to claim 10 , further comprising software to associate a second rule with the contract object, the second rule including a second event that can occur to the collection and a second action.

18. Computer-readable media according to claim 17 , further comprising:

software to receive the second event;

software to access the second rule associated with the contract object; and

software to update at least one of the contract object, the file, and the collection according to the second action responsive to the second event.

19. Computer-readable media according to claim 18 , wherein the software to access the second rule includes software to select the second rule from a plurality of rules based on receiving the second event occurring to the collection.

20. A computer-implemented method according to claim 1 , further comprising removing the first entry from the transaction log after the contract object is created.

21. Computer-readable media according to claim 10 , further comprising software removing the first entry from the transaction log after the contract object is created.

22. A computer-implemented method according to claim 1 , wherein determining a relationship between the file and the collection includes determining the relationship between the file and the collection, the relationship between the file and the collection having been established without the participation of the file and the collection.

23. Computer-readable media according to claim 10 , wherein the software determining includes software determining the relationship between the file and the collection, the relationship between the file and the collection having been established without the participation of the first file and the collection.

Assignments (16)
RELEASE OF SECURITY INTEREST REEL/FRAME 035656/0251 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.)
Reel/Frame 062623/0009 →
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0718 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC); BORLAND SOFTWARE CORPORATION; MICRO FOCUS (US), INC.; SERENA SOFTWARE, INC; ATTACHMATE CORPORATION; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062746/0399 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT TYPO IN APPLICATION NUMBER 10708121 WHICH SHOULD BE 10708021 PREVIOUSLY RECORDED ON REEL 042388 FRAME 0386. ASSIGNOR(S) HEREBY CONFIRMS THE NOTICE OF SUCCESSION OF AGENCY. Recorded Jul 26, 2018
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 048793/0832 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ATTACHMATE CORPORATION; BORLAND SOFTWARE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE, INC.; ENTIT SOFTWARE LLC; ARCSIGHT, LLC; SERENA SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0718 →
NOTICE OF SUCCESSION OF AGENCY Recorded May 2, 2017
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 042388/0386 →
CHANGE OF NAME Recorded Sep 13, 2016
From: NOVELL, INC.
To: MICRO FOCUS SOFTWARE INC.
Reel/Frame 040020/0703 →
SECURITY INTEREST Recorded May 13, 2015
From: MICRO FOCUS (US), INC.; BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; NOVELL, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 035656/0251 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 028252/0216 Recorded Nov 24, 2014
From: CREDIT SUISSE AG
To: NOVELL, INC.
Reel/Frame 034470/0680 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 028252/0316 Recorded Nov 24, 2014
From: CREDIT SUISSE AG
To: NOVELL, INC.
Reel/Frame 034469/0057 →
GRANT OF PATENT SECURITY INTEREST SECOND LIEN Recorded May 23, 2012
From: NOVELL, INC.
To: CREDIT SUISSE AG, AS COLLATERAL AGENT
Reel/Frame 028252/0316 →
GRANT OF PATENT SECURITY INTEREST FIRST LIEN Recorded May 23, 2012
From: NOVELL, INC.
To: CREDIT SUISSE AG, AS COLLATERAL AGENT
Reel/Frame 028252/0216 →
RELEASE OF SECURITY INTEREST IN PATENTS FIRST LIEN (RELEASES RF 026270/0001 AND 027289/0727) Recorded May 22, 2012
From: CREDIT SUISSE AG, AS COLLATERAL AGENT
To: NOVELL, INC.
Reel/Frame 028252/0077 →
RELEASE OF SECURITY IN PATENTS SECOND LIEN (RELEASES RF 026275/0018 AND 027290/0983) Recorded May 22, 2012
From: CREDIT SUISSE AG, AS COLLATERAL AGENT
To: NOVELL, INC.
Reel/Frame 028252/0154 →
GRANT OF PATENT SECURITY INTEREST (SECOND LIEN) Recorded May 13, 2011
From: NOVELL, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 026275/0018 →
GRANT OF PATENT SECURITY INTEREST Recorded May 12, 2011
From: NOVELL, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 026270/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 7, 2004
From: TAYSOM, PAUL JAMES
To: NOVELL, INC.
Reel/Frame 015233/0303 →