IP Library Patent Application 14681872
Patent Application
App. No. 14/681,872

Methods, Systems, and Media for Protecting Applications from Races

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 None
App. No.
14/681,872
Abstract

Methods, systems, and media for protecting applications from races are provided. In some embodiments, methods for protecting applications from races are provided, the methods comprising: adding to at least one cycle of the application an update check to determine when an update to the application is to be made; adding an update engine to the application, wherein the update engine is configured to: receive an update plan that is based on an execution filter that specifies how operations of the application are to be synchronized; and cause synchronization operations to be added to the application based on the update plan that prevent the race from occurring.

Claims (30)

1 . A method for protecting an application from a race, comprising:

adding to at least one cycle of the application an update check to determine when a software update to software of the application is to be made; and

adding an update engine to the application, wherein the update engine is configured to:

receive an update plan that is based on an execution filter that specifies how operations of the application are to be synchronized; and

cause synchronization operations to be added to the application as part of a software update based on the update plan that prevent the race from occurring.

2 . The method of claim 1 , further comprising adding a mechanism to prevent blocking calls from blocking updates.

3 . The method of claim 1 , further comprising adding at least one slot function that adds synchronization operations to the application based on the update plan.

4 . The method of claim 1 , further comprising adding an instrumented copy of at least a part of the application that can be executed instead of the at least a part of the application in response to the update plan.

5 . The method of claim 1 , wherein the execution filter controls execution order of at least two portions of the application.

6 . The method of claim 1 , wherein the execution filter causes the execution of at least two portions of the application to be mutually exclusive.

7 . The method of claim wherein the execution filter causes a single portion of the application to be unilaterally executed.

8 . A method for protecting an application from a race, comprising:

executing in at least one cycle of the application an update check to determine when a software update to software of the application is to be made;

receiving an update plan that is based on an execution filter that specifies how operations of the application are to be synchronized; and

performing synchronization operations as part of a software update based on the update plan that prevent the race from occurring.

9 . The method of claim 8 , further comprising preventing blocking calls from blocking updates.

10 . The method of claim 8 , further comprising adding synchronization operations to the application based on the update plan.

11 . The method of claim 8 , further comprising executing an instrumented copy of at least a part of the application instead of the at least a part of the application in response to the update plan.

12 . The method of claim 8 , wherein the execution filter controls execution order of at least two portions of the application.

13 . The method of claim 8 , wherein the execution filter causes the execution of at least two portions of the application to be mutually exclusive.

14 . The method of claim 8 , wherein the execution filter causes a single portion of the application to be unilaterally executed.

15 . A method for protecting an application from a race, comprising:

creating an execution filter that specifies how operations of an application are to be synchronized;

generating an update plan for updating the software of the application that is based on the execution filter; and

causing synchronization operations to be performed at the application as part of a software update based on the update plan that prevent the race from occurring.

16 . The method of claim 15 , further comprising causing synchronization operations to be added to the application based on the update plan.

17 . The method of claim 15 , further comprising causing an instrumented copy of at least a part of the application to be executing instead of the at least a part of the application in response to the update plan.

18 . The method of claim 15 , wherein the execution filter controls execution order of at least two portions of the application.

19 . The method of claim 15 , wherein the execution filter causes the execution of at least two portions of the application to be mutually exclusive.

20 . The method of claim 15 , wherein the execution filter causes a single portion of the application to be unilaterally executed.

Assignments (2)
CONFIRMATORY LICENSE Recorded Jun 8, 2016
From: COLUMBIA UNIVERSITY
To: AFRL/RIJ
Reel/Frame 038915/0372 →
CONFIRMATORY LICENSE Recorded Jul 7, 2015
From: COLUMBIA UNIVERSITY
To: NATIONAL SCIENCE FOUNDATION
Reel/Frame 036074/0368 →