IP Library Granted Patent US 9,197,519
Granted Patent B2
US 9,197,519 · App. 13/693,165 · Granted Nov 24, 2015

Tracking objects within dynamic environments

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 9,197,519
App. No.
13/693,165
Granted
Nov 24, 2015
Kind
B2
Abstract

Embodiments provide systems, methods, and computer program products for tracking objects within a domain and their possible changes and genealogy over time. An object identifier and an interval identifier are associated with an object that enters the domain with an unknown set of attributes and genealogy. The object identifier is analyzed to determine whether it is a pre-existing object identifier. A comparison of the interval identifier is performed to determine whether the object is a copy of a prior object. The object identifier is replaced with a new object identifier and the interval identifier reset when the object is new or a copy. Based on the object identifier and the interval identifier, which represents the possibility of change during each interval, information about the tracked object may be derived and analyzed to enhance performance.

Claims (52)

1. A method for tracking an object in a domain using a tracking server, comprising:

the tracking server receiving an object identifier and an interval identifier of the object from an agent, wherein the agent obtains the object identifier and the interval identifier by accessing a storage;

the tracking server determining whether the object identifier has been previously stored in a database when the object identifier does not equal zero, wherein the database is accessed by the tracking server;

the tracking server identifying the object as a copy when the object identifier has been previously stored in the database and the interval identifier is less than a previously stored interval identifier associated with the previously stored object identifier;

the tracking server replacing the object identifier with a newly generated object identifier and setting the interval identifier equal to zero, when either the object identifier equals zero or the object has been identified as a copy; and

the tracking server incrementing the interval identifier.

2. The method of claim 1 , further comprising:

transmitting the object identifier and the incremented interval identifier to the object.

3. The method of claim 2 , further comprising:

writing the object identifier and the interval identifier to the storage.

4. The method of claim 2 , further comprising:

issuing a commit token to the object along with the transmitted object identifier and the incremented interval identifier;

receiving the commit token from the object to confirm the incremented interval identifier; and

writing the incremented interval identifier to the database upon receipt of the confirmed commit token.

5. The method of claim 1 , wherein the object identifier and the interval identifier are read from an instance identity file by an identity agent upon entrance of the object in the domain.

6. The method of claim 1 , further comprising:

receiving current system configuration of the object upon startup of the object in the domain, wherein the object comprises a server instance.

7. The method of claim 1 , wherein the interval identifier is configured to identify a possibility of change of the object during an interval represented by the interval identifier.

8. The method of claim 1 , wherein the object identifier comprises a Universal Unique Identifier (UUID) that uniquely identifies the object across multiple domains.

9. A system for tracking an object within a domain, comprising:

a database configured to store object identifiers and associated interval identifiers, wherein the database is accessed by an identification module; and

the identification module configured to:

receive an object identifier and an interval identifier of the object from an agent, wherein the agent obtains the object identifier and the interval identifier by accessing a storage;

determine whether the object identifier has been previously stored in the database when the object identifier does not equal zero;

identify the object as a copy when the object identifier has been previously stored in the database and the interval identifier is less than a previously stored interval identifier associated with the object identifier previously stored;

replace the object identifier with a newly generated object identifier and set the interval identifier equal to zero, when either the object identifier equals zero or the object has been identified as a copy; and

increment the interval identifier.

10. The system of claim 9 , wherein the identification module is further configured to transmit the object identifier and the incremented interval identifier to a processor associated with the object in the domain.

11. The system of claim 10 , wherein:

the identification module is further configured to:

transmit a commit token to the processor associated with the object, and receive the commit token from the object to confirm the incremented interval identifier; and

write the incremented interval identifier to the database upon receipt of the confirmed commit token.

12. The system of claim 9 , wherein the object identifier and the interval identifier are read from an instance identity file by an identity agent upon entrance of the object in the domain.

13. The system of claim 9 , wherein the identification module is further configured to receive current system configuration information of the object upon startup of the object in the domain, wherein the object comprises a server instance.

14. The system of claim 13 , further comprising:

a service location broker configured to maintain a catalog of available services to the server instance for locating and monitoring the available services.

15. The system of claim 9 , wherein the identification module is configured to utilize the interval identifier to identify a possibility of change during an interval represented by the interval identifier.

16. The system of claim 9 , wherein the object identifier comprises a Universal Unique Identifier (UUID) that uniquely identifies the object across multiple domains.

17. A non-transitory computer-readable storage medium having control logic recorded thereon that, when executed by a processor, causes the processor to perform a method for tracking an object in a domain, the method comprising:

receiving an object identifier and an interval identifier of the object from an agent, wherein the agent obtains the object identifier and the interval identifier by accessing a storage;

determining whether the object identifier has been previously stored in a database when the object identifier does not equal zero, wherein the database is accessed by the processor;

identifying the object as a copy when the object identifier has been previously stored in the database and the interval identifier is less than a previously stored interval identifier associated with the previously stored object identifier;

replacing the object identifier with a newly generated object identifier and setting the interval identifier equal to zero, when either the object identifier equals zero or the object has been identified as a copy; and

incrementing the interval identifier.

18. The non-transitory computer-readable medium of claim 17 , further comprising:

transmitting the object identifier and the incremented interval identifier to the object;

issuing a commit token to the object along with the transmitted object identifier and the incremented interval identifier;

receiving the commit token from the object to confirm the incremented interval identifier; and

writing the incremented interval identifier to the database upon receipt of the confirmed commit token.

19. The non-transitory computer-readable medium of claim 17 , further comprising:

receiving current system configuration of the object upon startup of the object in the domain, wherein the object comprises a server instance.

20. The non-transitory computer-readable medium of claim 17 , wherein the interval identifier is configured to identify a possibility of change of the object during an interval represented by the interval identifier.

Assignments (16)
RELEASE OF SECURITY INTEREST Recorded Aug 11, 2023
From: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC; RIVERBED HOLDINGS, INC.
Reel/Frame 064673/0739 →
CHANGE OF NAME Recorded Feb 10, 2022
From: RIVERBED TECHNOLOGY, INC.
To: RIVERBED TECHNOLOGY LLC
Reel/Frame 059009/0906 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 27, 2021
From: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 058593/0108 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 27, 2021
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 058593/0046 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 27, 2021
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS U.S. COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 058593/0169 →
SECURITY INTEREST Recorded Dec 10, 2021
From: RIVERBED TECHNOLOGY LLC (FORMERLY RIVERBED TECHNOLOGY, INC.); ATERNITY LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS U.S. COLLATERAL AGENT
Reel/Frame 058486/0216 →
PATENT SECURITY AGREEMENT Recorded Oct 27, 2021
From: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 057943/0386 →
PATENT SECURITY AGREEMENT SUPPLEMENT - SECOND LIEN Recorded Oct 14, 2021
From: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
Reel/Frame 057810/0559 →
PATENT SECURITY AGREEMENT SUPPLEMENT - FIRST LIEN Recorded Oct 14, 2021
From: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 057810/0502 →
RELEASE OF SECURITY INTEREST IN PATENTS RECORED AT REEL 056397, FRAME 0750 Recorded Oct 13, 2021
From: MACQUARIE CAPITAL FUNDING LLC
To: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 057983/0356 →
SECURITY INTEREST Recorded May 26, 2021
From: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: MACQUARIE CAPITAL FUNDING LLC
Reel/Frame 056397/0750 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 30, 2020
From: RIVERBED TECHNOLOGY, INC.
To: ATERNITY LLC
Reel/Frame 054778/0540 →
CORRECTIVE ASSIGNMENT TO CORRECT THE CONVEYING PARTY NAME PREVIOUSLY RECORDED ON REEL 035521 FRAME 0069. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST IN PATENTS. Recorded Jun 2, 2015
From: JPMORGAN CHASE BANK, N.A.
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 035807/0680 →
SECURITY INTEREST Recorded May 1, 2015
From: RIVERBED TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 035561/0363 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Apr 28, 2015
From: BARCLAYS BANK PLC
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 035521/0069 →
PATENT SECURITY AGREEMENT Recorded Dec 27, 2013
From: RIVERBED TECHNOLOGY, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 032421/0162 →