IP Library Granted Patent US 8,990,608
Granted Patent B1
US 8,990,608 · App. 13/603,177 · Granted Mar 24, 2015

Failover of applications between isolated user space instances on a single instance of an operating system

Inventors: Setu Gupta (Mahrashtra, IN); Sumit A. Mulewar (Maharashtra, IN)
Assignee: Symantec Corporation
G06F11/2028
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 8,990,608
App. No.
13/603,177
Granted
Mar 24, 2015
Kind
B1
Abstract

An application is failed-over between containers on a single operating system instance. A container is associated with the application, and the application runs therein. An identifier of the container currently associated with the application is maintained as a member of the application group. A listing of a current state of each container is maintained, for example in a file. If the current container goes offline or faults, a separate container currently in an available state is identified, and the identifier of the current container in the application group is updated. The application is subsequently started-up in the separate, container, thereby failing-over the application between containers on the single operating system instance.

Claims (60)

1. A computer implemented method for failing-over an application between different ones of a plurality of isolated user space instances on a single instance of an operating system, the computer implemented method comprising the steps of:

associating a specific one of the plurality of isolated user space instances on the single instance of the operating system with the application;

running the application in the specific, isolated user space instance associated with the application;

maintaining a listing of current states of each one of the plurality of isolated user space instances on the single instance of the operating system, each one the plurality of isolated user space instances being configured such that the application can run therein when the isolated user space instance is in an available state, wherein maintaining the listing of current states of each one of the plurality of isolated user space instances on the single instance of the operating system further comprises, for each separate one of the isolated user space instances, writing an identifying label and the current state of that isolated user space instance to the listing, by an agent that monitors the isolated user space instances;

determining that the application is to be moved from the specific isolated user space instance associated with the application to a separate, isolated user space instance which is currently in an available state for running the application therein;

identifying one of the plurality of isolated user space instances which is currently in an available state for running the application therein, the identified isolated user space instance being separate from the specific isolated user space instance associated with the application;

modifying the association between the application and the specific isolated user space instance, so that the application is no longer associated with the specific isolated user space instance and is instead associated with the separate, identified isolated user space instance; and

starting-up the application in the separate, identified isolated user space instance now associated with the application, thereby failing-over the application from the specific isolated user space instance on the single instance of the operating system to the separate, identified isolated user space instance on the single instance of the operating system.

2. The computer implemented method of claim 1 wherein determining that the application is to be moved from the specific isolated user space instance to a separate, isolated user space instance further comprises:

receiving an indication to move the application from the specific isolated user space instance to a separate, target isolated user space instance.

3. The computer implemented method of claim 1 wherein writing an identifying label and the current state of an isolated user space instance to the listing further comprises:

writing the identifying label and the current state of the isolated user space instance to a shared location located outside of any one of the isolated user space instances.

4. The computer implemented method of claim 1 wherein determining that the application is to be moved from the specific isolated user space instance to a separate, isolated user space instance further comprises:

detecting that the isolated user space instance associated with the application is not currently in an available state for running the application therein, responsive to monitoring the current state of at least the isolated user space instance associated with the application.

5. The computer implemented method of claim 4 wherein detecting that the isolated user space instance associated with the application is not currently in an available state for running the application therein further comprises:

detecting that the isolated user space instance associated with the application is offline.

6. The computer implemented method of claim 4 wherein detecting that the isolated user space instance associated with the application is not currently in an available state for running the application therein further comprises:

detecting that the isolated user space instance associated with the application is faulted.

7. The computer implemented method of claim 1 wherein identifying one of the plurality of isolated user space instances which is currently in an available state for running the application therein further comprises:

reading the listing of current states of each one of the plurality of isolated user space instances.

8. The computer implemented method of claim 1 wherein identifying one of the plurality of isolated user space instances which is currently in an available state for running the application therein further comprises:

identifying an isolated user space instance that is online and not faulted.

9. The computer implemented method of claim 1 wherein determining that the application is to be moved from the specific isolated user space instance to a separate, isolated user space instance further comprises:

detecting that the application is not running, responsive to monitoring the current state of the application.

10. The computer implemented method of claim 9 wherein detecting that the application is not running further comprises:

detecting that the application is faulted.

11. The computer implemented method of claim 10 further comprising:

attempting to restart the application in the isolated user space instance associated with the application.

12. The computer implemented method of claim 9 wherein detecting that the application is not running further comprises:

detecting that the application is offline.

13. The computer implemented method of claim 12 further comprising:

starting-up the application in the isolated user space instance associated with the application.

14. A computer implemented method for failing-over an application between different ones of a plurality of isolated user space instances on a single instance of an operating system, the computer implemented method comprising the steps of:

associating a specific one of the plurality of isolated user space instances on the single instance of the operating system with the application;

running the application in the specific, isolated user space instance associated with the application;

maintaining a listing of current states of each one of the plurality of isolated user space instances on the single instance of the operating system, each one the plurality of isolated user space instances being configured such that the application can run therein when the isolated user space instance is in an available state;

determining that the application is to be moved from the specific isolated user space instance associated with the application to a separate, isolated user space instance which is currently in an available state for running the application therein;

identifying one of the plurality of isolated user space instances which is currently in an available state for running the application therein, the identified isolated user space instance being separate from the specific isolated user space instance associated with the application;

modifying the association between the application and the specific isolated user space instance, so that the application is no longer associated with the specific isolated user space instance and is instead associated with the separate, identified isolated user space instance;

starting-up the application in the separate, identified isolated user space instance now associated with the application, thereby failing-over the application from the specific isolated user space instance on the single instance of the operating system to the separate, identified isolated user space instance on the single instance of the operating system;

maintaining an application group comprising the application, an identifier of an isolated user space instance currently associated with the application, and resources used by the application; and

for each separate one of the isolated user space instances, maintaining a separate isolated user space instance group, comprising resources used by the isolated user space instance.

15. The computer implemented method of claim 14 wherein:

the application group is dependent upon at least one of the isolated user space instance groups being in an available state for running the application.

16. The computer implemented method of claim 14 wherein modifying the association between the application and the specific isolated user space instance, so that the application is no longer associated with the specific isolated user space instance and is instead associated with the separate, identified isolated user space instance further comprises:

setting the identifier of the isolated user space instance currently associated with the application in the application group to identify the separate, identified isolated user space instance.

17. A computer implemented method for failing-over an application between different ones of a plurality of isolated user space instances on a single instance of an operating system, the computer implemented method comprising the steps of:

associating a specific one of the plurality of isolated user space instances on the single instance of the operating system with the application;

running the application in the specific, isolated user space instance associated with the application;

maintaining a listing of current states of each one of the plurality of isolated user space instances on the single instance of the operating system, each one the plurality of isolated user space instances being configured such that the application can run therein when the isolated user space instance is in an available state;

determining that the application is to be moved from the specific isolated user space instance associated with the application to a separate, isolated user space instance which is currently in an available state for running the application therein;

identifying one of the plurality of isolated user space instances which is currently in an available state for running the application therein, the identified isolated user space instance being separate from the specific isolated user space instance associated with the application, wherein identifying one of the plurality of isolated user space instances which is currently in an available state for running the application therein further comprises, responsive to none of the isolated user space instances being in an available state for running the application therein, brining one of the isolated user space instances online, and identifying the brought-online one of the isolated user space instances as being currently in an available state for running the application therein;

modifying the association between the application and the specific isolated user space instance, so that the application is no longer associated with the specific isolated user space instance and is instead associated with the separate, identified isolated user space instance; and

starting-up the application in the separate, identified isolated user space instance now associated with the application, thereby failing-over the application from the specific isolated user space instance on the single instance of the operating system to the separate, identified isolated user space instance on the single instance of the operating system.

18. The computer implemented method of claim 17 wherein determining that the application is to be moved from the specific isolated user space instance to a separate, isolated user space instance further comprises:

detecting that the isolated user space instance associated with the application is not currently in an available state for running the application therein, responsive to monitoring the current state of at least the isolated user space instance associated with the application.

19. The computer implemented method of claim 18 wherein detecting that the isolated user space instance associated with the application is not currently in an available state for running the application therein further comprises:

detecting that the isolated user space instance associated with the application is offline.

20. The computer implemented method of claim 18 wherein detecting that the isolated user space instance associated with the application is not currently in an available state for running the application therein further comprises:

detecting that the isolated user space instance associated with the application is faulted.

Assignments (10)
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC (F/K/A VERITAS US IP HOLDINGS LLC)
Reel/Frame 069712/0090 →
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 →
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 IN PATENTS AT R/F 037891/0726 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS US IP HOLDINGS, LLC
Reel/Frame 054535/0814 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
MERGER AND CHANGE OF NAME Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC; VERITAS TECHNOLOGIES LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038455/0752 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: SYMANTEC CORPORATION
To: VERITAS US IP HOLDINGS LLC
Reel/Frame 037697/0412 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 5, 2012
From: GUPTA, SETU; MULEWAR, SUMIT A
To: SYMANTEC CORPORATION
Reel/Frame 028898/0688 →