×

Multi-version asynchronous dynamic software update system and method for applications with multiple threads

  • US 10,430,208 B2
  • Filed: 05/02/2017
  • Issued: 10/01/2019
  • Est. Priority Date: 05/02/2017
  • Status: Active Grant
First Claim
Patent Images

1. A method for updating a software component used by a multi-threaded application, comprising:

  • storing, in memory, a first function table that points to executable code in the memory for functions from a first version of the software component;

    setting a global pointer to point to the first function table;

    copying the global pointer to a local pointer of a first application thread of the multi-threaded application;

    storing, in the memory, a second function table that points to executable code in the memory for functions from a second version of the software component;

    referencing the first function table that the local pointer of the first application thread points to, when running the first application thread, to execute the functions from the first version of the software component;

    responsive to receiving a signal indicating that the second version of the software component is available, updating the global pointer to point to the second function table;

    copying the global pointer to a local pointer of a second application thread of the multi-thread application; and

    referencing the second function table that the local pointer of the second application thread points to, when running the second application thread that is active concurrently with the first application thread, to execute the functions from the second version of the software component.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×