×

Global variable migration via virtual memory overlay technique for multi-version asynchronous dynamic software update

  • US 10,528,479 B2
  • Filed: 06/02/2017
  • Issued: 01/07/2020
  • Est. Priority Date: 06/02/2017
  • Status: Active Grant
First Claim
Patent Images

1. A method for managing migration of global variables on a processing system during live program updates, comprising:

  • creating a shared data segment in a physical memory of the processing system;

    when a first version of a program is loaded by the processing system;

    allocating a logical address space for a first global variable data segment for a first version of a program and binding the first global variable data segment to the shared data segment;

    assigning physical addresses in the shared data segment for a plurality of global variables referenced in the first version of the program; and

    including virtual addresses in the first global variable data segment that map to the plurality of global variables;

    when an update version of the program is subsequently loaded by the processing system and is executed concurrently with the first version;

    allocating a logical address space for a second global variable data segment for the update version of the program and binding the second variable data segment to the shared data segment;

    assigning physical addresses in the shared data segment for added global variables that are referenced in the update version and not the first version;

    including virtual addresses in the second global variable data segment that map to the physical addresses in the shared data segment for common global variables referenced in both the first version and the update version, andincluding virtual addresses in the second global variable data segment that map to the physical addresses in the shared data segment for the added global variables;

    wherein the first global variable data segment for the first version of the program and the second global variable data segment for the update version of the program exist concurrently, and the first and second global variable data segments each map to the common global variables stored in the shared data segment.

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