IP Library Granted Patent US 10,862,958
Granted Patent B1
US 10,862,958 · App. 16/528,756 · Granted Dec 8, 2020

Flexible associativity in multitenant clustered environments

Inventors: Sunil Yadav (Maharashtra, IN); Pranav Sarwate (Madhya Pradesh, IN)
Assignee: VERITAS TECHNOLOGIES LLC
H04L67/1034H04L41/082H04L67/10H04L67/34
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 10,862,958
App. No.
16/528,756
Granted
Dec 8, 2020
Kind
B1
Abstract

Disclosed herein are methods, systems, and processes for determining a rigidity associated with a dependent application, wherein the rigidity can be a hard rigidity, a firm rigidity, or a soft rigidity, and wherein these rigidities refer to the dependency between the dependent application and a dependee application. In response to detecting a failure of the dependee application, the disclosure provides for performing an appropriate action with respect to the dependent application, wherein that action is based, at least in part, on the rigidity associated with the dependent application. In certain embodiments, the appropriate action can further be based on a locality parameter associated with the dependent application.

Claims (99)

1. A method comprising:

determining a rigidity associated with a dependent application, wherein

the rigidity is one of a hard rigidity, a firm rigidity, or a soft rigidity, wherein

the hard rigidity requires the dependent application to be taken offline if a first dependee application fails,

the firm rigidity allows the dependent application to remain online and be associated with a second dependee application if the first dependee application fails, and

the soft rigidity allows the dependent application to remain online and does not require the dependent application to be associated with any other dependee application if the first dependee application fails;

detecting a failure of the first dependee application; and

in response to detection of the failure, performing an appropriate action with respect to the dependent application, wherein

the appropriate action comprises

taking the dependent application offline, if the rigidity is the hard rigidity,

associating the dependent application with the second dependee application, if the rigidity is the firm rigidity, and

permitting the dependent application to continue to operate, if the rigidity is the soft rigidity.

2. The method of claim 1 , wherein

the dependent application is dependent on data received from the first dependee application.

3. The method of claim 1 , wherein

prior to the failure, the first dependee application was executing on a first node in a cluster and the dependent application was executing on a second node in the cluster.

4. The method of claim 3 , further comprising:

determining a locality requirement associated with the dependent application, wherein

the locality requirement is determined using locality information that indicates a preference for either a local locality or a global locality,

wherein

the local locality indicates that, in the case of a failover or migration of the dependent application, preference should be given to another dependee application that is operating on the first node, and

the global locality indicates that, in the case of a failover or migration of the dependent application, the dependee application can be migrated to a different node in the cluster.

5. The method of claim 4 , wherein

the appropriate action further comprises

associating the dependent application with the another dependee application, if the locality parameter indicates the preference is the local locality, and

migrating the dependent application to the different node, if the locality parameter indicates the preference is the global locality.

6. The method of claim 1 , further comprising:

subsequent to determining that the dependent application has the hard rigidity and to taking the dependent application offline, determining that the dependee application has been brought back online; and

subsequent to determining that the dependee application has been brought back online, bringing the dependent application back online.

7. The method of claim 1 , wherein:

the first dependee application and the second dependee application are both container applications,

the dependent application is a pluggable application, and

the pluggable application is a production database.

8. The method of claim 1 , wherein:

at least one of the first dependee application, the second dependee application, or the dependent application are configured to be executed by a virtual machine.

9. A non-transitory computer-readable storage medium comprising program instructions executable to perform a method comprising:

determining a rigidity associated with a dependent application, wherein

the rigidity is one of a hard rigidity, a firm rigidity, or a soft rigidity, wherein

the hard rigidity requires the dependent application to be taken offline if a first dependee application fails,

the firm rigidity allows the dependent application to remain online and be associated with a second dependee application if the first dependee application fails, and

the soft rigidity allows the dependent application to remain online and does not require the dependent application to be associated with any other dependee application if the first dependee application fails;

detecting a failure of the first dependee application; and

in response to detection of the failure, performing an appropriate action with respect to the dependent application, wherein

the appropriate action comprises

taking the dependent application offline, if the rigidity is the hard rigidity,

associating the dependent application with the second dependee application, if the rigidity is the firm rigidity, and

permitting the dependent application to continue to operate, if the rigidity is the soft rigidity.

10. The non-transitory computer-readable storage medium of claim 9 , wherein

the dependent application is dependent on data received from the first dependee application.

11. The non-transitory computer-readable storage medium of claim 9 , wherein

prior to the failure, the first dependee application was executing on a first node in a cluster and the dependent application was executing on a second node in the cluster.

12. The non-transitory computer-readable storage medium of claim 11 , wherein the method further comprises:

determining a locality requirement associated with the dependent application, wherein

the locality requirement is determined using locality information that indicates a preference for either a local locality or a global locality,

wherein

the local locality indicates that, in the case of a failover or migration of the dependent application, preference should be given to another dependee application that is operating on the first node, and

the global locality indicates that, in the case of a failover or migration of the dependent application, the dependee application can be migrated to a different node in the cluster.

13. The non-transitory computer-readable storage medium of claim 12 , wherein

the appropriate action further comprises

associating the dependent application with the another dependee application, if the locality parameter indicates the preference is the local locality, and

migrating the dependent application to the different node, if the locality parameter indicates the preference is the global locality.

14. The non-transitory computer-readable storage medium of claim 9 , wherein the method further comprises:

subsequent to determining that the dependent application has the hard rigidity and to taking the dependent application offline, determining that the dependee application has been brought back online; and

subsequent to determining that the dependee application has been brought back online, bringing the dependent application back online.

15. The non-transitory computer-readable storage medium of claim 9 , wherein:

the first dependee application and the second dependee application are both container applications,

the dependent application is a pluggable application,

the pluggable application is a production database, and

at least one of the first dependee application, the second dependee application, or the dependent application are configured to be executed by a virtual machine.

16. A system comprising:

one or more processors; and

a memory coupled to the one or more processors, wherein the memory stores program instructions executable by the one or more processors to perform a method comprising:

determining a rigidity associated with a dependent application, wherein

the rigidity is one of a hard rigidity, a firm rigidity, or a soft rigidity, wherein

the hard rigidity requires the dependent application to be taken offline if a first dependee application fails,

the firm rigidity allows the dependent application to remain online and be associated with a second dependee application if the first dependee application fails, and

the soft rigidity allows the dependent application to remain online and does not require the dependent application to be associated with any other dependee application if the first dependee application fails;

detecting a failure of the first dependee application; and

in response to detection of the failure, performing an appropriate action with respect to the dependent application, wherein

the appropriate action comprises

taking the dependent application offline, if the rigidity is the hard rigidity,

associating the dependent application with the second dependee application, if the rigidity is the firm rigidity, and

permitting the dependent application to continue to operate, if the rigidity is the soft rigidity.

17. The system of claim 16 , wherein

the dependent application is dependent on data received from the first dependee application; and

prior to the failure, the first dependee application was executing on a first node in a cluster and the dependent application was executing on a second node in the cluster.

18. The system of claim 17 , wherein the method further comprises:

determining a locality requirement associated with the dependent application, wherein

the locality requirement is determined using locality information that indicates a preference for either a local locality or a global locality,

wherein

the local locality indicates that, in the case of a failover or migration of the dependent application, preference should be given to another dependee application that is operating on the first node, and

the global locality indicates that, in the case of a failover or migration of the dependent application, the dependee application can be migrated to a different node in the cluster.

19. The system of claim 18 , wherein

the appropriate action further comprises

associating the dependent application with the another dependee application, if the locality parameter indicates the preference is the local locality, and

migrating the dependent application to the different node, if the locality parameter indicates the preference is the global locality.

20. The system of claim 16 , wherein the method further comprises:

subsequent to determining that the dependent application has the hard rigidity and to taking the dependent application offline, determining that the dependee application has been brought back online; and

subsequent to determining that the dependee application has been brought back online, bringing the dependent application back online.

Assignments (13)
SECURITY INTEREST Recorded Dec 12, 2025
From: ARCTERA US LLC
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 073951/0470 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 070530/0497 Recorded Dec 1, 2025
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: ARCTERA US LLC
Reel/Frame 073833/0730 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 069585/0150 Recorded Dec 1, 2025
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: ARCTERA US LLC
Reel/Frame 073833/0848 →
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069697/0238 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
PATENT SECURITY AGREEMENT Recorded Dec 10, 2024
From: ARCTERA US LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069585/0150 →
SECURITY INTEREST Recorded Dec 10, 2024
From: ARCTERA US LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 069563/0243 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC
To: ARCTERA US LLC
Reel/Frame 069548/0468 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS AT R/F 052426/0001 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 054535/0565 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Apr 16, 2020
From: VERITAS TECHNOLOGIES, LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 052426/0001 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Mar 18, 2020
From: VERITAS TECHNOLOGIES LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 052189/0311 →
Continuity (1)
Continuation 15395109 · Dec 30, 2016