IP Library Granted Patent US 7,146,531
Granted Patent B2
US 7,146,531 · App. 09/753,082 · Granted Dec 5, 2006

Repairing applications

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,146,531
App. No.
09/753,082
Granted
Dec 5, 2006
Kind
B2
Abstract

Repairing applications includes detecting a failure in a request for a file made by a program running on a device and initiating a repair mechanism that is configured to repair the detected failure.

Claims (47)

1. A method comprising:

configuring a repair mechanism at a location remote from a device to monitor system calls made by an application on the device;

configuring the repair mechanism at the location remote from the device to repair the application if the repair mechanism detects a failure in at least one of the system calls made by the application;

receiving the repair mechanism from the location remote from the device;

monitoring the system calls made by the application on the device, wherein the monitoring includes examining the system calls to determine whether such system calls are executed properly;

detecting a failure in at least one system call made by the application; and

in response to the detecting of the failure in the at least one system call, initiating the repair mechanism to repair the application.

2. The method of claim 1 further comprising repairing the application with the repair mechanism.

3. The method of claim 2 further comprising restarting the application after the repair mechanism repairs the application.

4. The method of claim 1 in which a user of the device can determine the repair mechanism.

5. The method of claim 1 in which a user of the device can initiate the repair mechanism.

6. The method of claim 1 further comprising searching a collection of data including a plurality of repair mechanisms and a plurality of applications associated with each of the plurality of repair mechanisms for a repair mechanism that is configured to repair the application.

7. The method of claim 1 further comprising notifying a location remote from the device whether the repair mechanism successfully repaired the application.

8. The method of claim 1 further comprising recording the detected failure in a collection of data at a location remote from the device.

9. The method of claim 1 further comprising configuring a collection of data at a location remote from the device to include a plurality of repair mechanisms and a plurality of applications, each of the plurality of applications associated with a repair mechanism included in the plurality of repair mechanisms.

10. The method of claim 9 further comprising transmitting the collection of data to the device.

11. The method of claim 1 wherein the system calls are monitored by splicing in a function that determines if an error occurred before the system call is actually placed.

12. The method of claim 1 further comprising the step of determining when a previous attempt to repair the application was made.

13. An article comprising:

a machine-readable medium which contains machine-executable instructions, the instructions being executable to:

configure a repair mechanism at a location remote from a device to monitor system calls made by an application on the device;

configure the repair mechanism at the location remote from the device to repair the application if the repair mechanism detects a failure in at least one of the system calls made by the application;

receive the repair mechanism from the location remote from the device;

monitor the system calls made by the application on the device, wherein the monitoring includes examining the system calls to determine whether such system calls are executed properly;

detect a failure in at least one system call made by the application; and

in response to the detecting of the failure in the at least one system call, initiate the repair mechanism to repair the application.

14. The article of claim 13 further causing a machine to repair the application with the repair mechanism.

15. The article of claim 13 further causing a machine to restart the application after the repair mechanism repairs the failure.

16. The article of claim 13 further causing a machine to search a collection of data including a plurality of repair mechanisms and a plurality of applications associated with each of the plurality of repair mechanisms for a repair mechanism that is configured to repair the application.

17. The article of claim 13 further causing a machine to notify a location remote from the device whether the repair mechanism successfully repaired the application.

18. The article of claim 13 further causing a machine to record the failure in a collection of data at a location remote from the device.

19. The article of claim 13 wherein the system calls are monitored by splicing in a function that determines if an error occurred before the system call is actually placed.

20. A system comprising:

a first device configured to run an application;

a mechanism included in the first device and configured to:

monitor system calls made by the application, wherein the monitoring includes examining the system calls to determine whether such system calls are executed properly;

detect a failure in at least one system call made by the application; and

in response to the detecting of the failure in the at least one system call, initiate the mechanism to repair the application;

a second device that is remote from the first device and in electronic conmiunication with the first device over a network, the second device being configured to configure the mechanism and to provide the mechanism to the first device, wherein the second device configures the mechanism to monitor system calls made by the application on the first device and to repair the application if the mechanism detects a failure in at least one of the system calls made by the application; and

a third device that is remote from the first device and in electronic communication with the first device over the network, the third device being configured to track failures detected by the mechanism.

21. The system of claim 20 in which the mechanism is also configured to search a collection of data including a plurality of repair mechanisms and a plurality of applications associated with each of the plurality of repair mechanisms for a repair mechanism that is configured to repair the application.

22. The system of claim 21 in which the second device is also configured to configure the collection of data and to provide the collection of data to the first device.

23. The system of claim 20 in which the mechanism is also configured to perform the repair with the repair mechanism.

24. The system of claim 20 in which the mechanism is also configured to monitor the system calls made by the application.

25. The system of claim 20 in which the third device is also configured to notify the second device of the failure.

26. The system of claim 20 wherein the system calls are monitored by splicing in a function that determines if an error occurred before the system call is actually placed.

27. The system of claim 20 wherein the first device is a user terminal, the second device is an administrator terminal, and the third device is a core manager, wherein the user terminal is configured to run a plurality of applications, wherein the administrator terminal configures a healing program to be able to heal at least two of the applications on the user terminal, wherein the administrator terminal deploys the healing program to the user terminal, wherein the mechanism is configured to examine system calls made by at least two applications, wherein the healing program sends events regarding a failure to the core manager, and wherein the core manager stores the events in a database.

Assignments (20)
NOTICE OF SUCCESSION OF AGENCY FOR SECURITY INTEREST AT REEL/FRAME 054665/0873 Recorded Apr 29, 2025
From: BANK OF AMERICA, N.A., AS RESIGNING AGENT
To: ALTER DOMUS (US) LLC, AS SUCCESSOR AGENT
Reel/Frame 071123/0386 →
SECURITY INTEREST Recorded Dec 9, 2020
From: CELLSEC, INC.; PULSE SECURE, LLC; INVANTI, INC.; MOBILEIRON, INC.; INVANTI US LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 054665/0873 →
SECURITY INTEREST Recorded Dec 9, 2020
From: CELLSEC, INC.; PULSE SECURE, LLC; IVANTI, INC.; MOBILEIRON, INC.; IVANTI US LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 054665/0062 →
RELEASE OF SECURITY INTEREST : RECORDED AT REEL/FRAME - 41052/0762 Recorded Dec 1, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: CRIMSON CORPORATION
Reel/Frame 054560/0857 →
RELEASE OF SECURITY INTEREST : RECORDED AT REEL/FRAME - 41459/0387 Recorded Dec 1, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: CRIMSON CORPORATION
Reel/Frame 054637/0161 →
MERGER Recorded Apr 19, 2018
From: CRIMSON CORPORATION
To: IVANTI, INC.
Reel/Frame 045983/0075 →
RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 40183/0506 Recorded Jan 23, 2017
From: JEFFERIES FINANCE LLC
To: CRIMSON CORPORATION
Reel/Frame 041463/0457 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 40182/0345 Recorded Jan 23, 2017
From: JEFFERIES FINANCE LLC
To: CRIMSON CORPORATION
Reel/Frame 041463/0581 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jan 20, 2017
From: CRIMSON CORPORATION
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 041052/0762 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jan 20, 2017
From: CRIMSON CORPORATION
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 041459/0387 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Sep 29, 2016
From: CRIMSON CORPORATION
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 040182/0345 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Sep 29, 2016
From: CRIMSON CORPORATION
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 040183/0506 →
RELEASE OF SECURITY INTEREST IN PATENTS RECORDED AT R/F 031029/0849 Recorded Sep 28, 2016
From: JEFFERIES FINANCE LLC
To: CRIMSON CORPORATION
Reel/Frame 040171/0307 →
RELEASE OF SECURITY INTEREST IN PATENTS RECORDED AT R/F 032333/0637 Recorded Sep 28, 2016
From: JEFFERIES FINANCE LLC
To: CRIMSON CORPORATION
Reel/Frame 040171/0037 →
NUNC PRO TUNC ASSIGNMENT Recorded Sep 21, 2016
From: LANDESK SOFTWARE, INC.
To: CRIMSON CORPORATION
Reel/Frame 039819/0845 →
SECURITY AGREEMENT Recorded Feb 25, 2014
From: LANDESK SOFTWARE, INC.; CRIMSON CORPORATION
To: JEFFERIES FINANCE LLC
Reel/Frame 032333/0637 →
SECURITY AGREEMENT Recorded Aug 16, 2013
From: LANDESK GROUP, INC.; LANDSLIDE HOLDINGS, INC.; CRIMSON ACQUISITION CORP.; LANDESKSOFTWARE, INC.; CRIMSON CORPORATION
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 031029/0849 →
RELEASE OF SECURITY INTEREST Recorded Aug 12, 2013
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: LANDESK SOFTWARE, INC.
Reel/Frame 030993/0622 →
PATENT SECURITY AGREEMENT Recorded Jul 13, 2012
From: LANDESK SOFTWARE, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
Reel/Frame 028541/0782 →
RELEASE OF SECURITY INTEREST Recorded Jun 20, 2012
From: WELLS FARGO CAPITAL FINANCE, LLC
To: LANDESK GROUP, INC.; LANDSLIDE HOLDINGS, INC.; LANDESK SOFTWARE, INC.; CRIMSON ACQUISITION CORP.; CRIMSON CORPORATION
Reel/Frame 028413/0913 →