Systems and methods for migrating code units and data units between virtual memory regions
AssigneeCloud Linux Software Inc.
InventorsIgor Seletskiy, Pavel Iovevski
Life of this patent
Estimating the term…
Abstract
Disclosed herein are systems and method for migrating units of a program between virtual memory regions. A method includes: dividing system virtual memory into a set of virtual memory regions; storing (1) program code including instructions in a set of code units and (2) program variables and data values in a set of data units, wherein the set of code units and the set of data units are spread across the set of virtual memory regions; in response to detecting that a trigger condition of a first security policy is satisfied, executing a transfer action of the first security policy that transfers a code unit and/or data unit from an origin virtual memory region to a destination virtual memory region.
Claims19
A method for migrating units of a program between virtual memory regions, comprising:
- dividing system virtual memory into a set of virtual memory regions;
- storing program code comprising instructions in a set of code units and program variables and data values in a set of data units, wherein the set of code units and the set of data units are spread across the set of virtual memory regions;
- in response to detecting that a trigger condition of a first security policy is satisfied, executing a transfer action of the first security policy, including identifying a specific virtual memory region as the destination virtual memory region in response to determining that the first security policy indicates a transfer pattern comprising a sequence of virtual memory regions in the set of virtual memory regions and that the specific virtual memory region is the next virtual memory region in the sequence, and wherein the transfer action comprises:
- copying contents of a code unit or a data unit associated with the first security policy from an origin virtual memory region to a destination virtual memory region in the set of virtual memory regions;
- removing the contents of the code unit or the data unit from the origin virtual memory region;
- and
- updating a pointer or reference of the code unit or the data unit to reflect a new storage location in the destination virtual memory region.
A system for migrating units of a program between virtual memory regions, comprising:
- at least one virtual memory;
- at least one hardware processor coupled with the at least one virtual memory and configured, individually or in combination, to:
- divide the at least one virtual memory into a set of virtual memory regions;
- store program code comprising instructions in a set of code units and program variables and data values in a set of data units, wherein the set of code units and the set of data units are spread across the set of virtual memory regions;
- in response to detecting that a trigger condition of a first security policy is satisfied, execute a transfer action of the first security policy, including identifying a specific virtual memory region as the destination virtual memory region in response to determining that the first security policy indicates a transfer pattern comprising a sequence of virtual memory regions in the set of virtual memory regions and that the specific virtual memory region is the next virtual memory region in the sequence, wherein the transfer action comprises:
- copying contents of a code unit or a data unit associated with the first security policy from an origin virtual memory region to a destination virtual memory region in the set of virtual memory regions;
- removing the contents of the code unit or the data unit from the origin virtual memory region;
- and
- updating a pointer or reference of the code unit or the data unit to reflect a new storage location in the destination virtual memory region.
A non-transitory computer readable medium storing thereon computer executable instructions for migrating units of a program between virtual memory regions, including instructions for:
- dividing system virtual memory into a set of virtual memory regions;
- storing program code comprising instructions in a set of code units and program variables and data values in a set of data units, wherein the set of code units and the set of data units are spread across the set of virtual memory regions;
- in response to detecting that a trigger condition of a first security policy is satisfied, executing a transfer action of the first security policy, including identifying a specific virtual memory region as the destination virtual memory region in response to determining that the first security policy indicates a transfer pattern comprising a sequence of virtual memory regions in the set of virtual memory regions and that the specific virtual memory region is the next virtual memory region in the sequence, wherein the transfer action comprises:
- copying contents of a code unit or a data unit associated with the first security policy from an origin virtual memory region to a destination virtual memory region in the set of virtual memory regions;
- removing the contents of the code unit or the data unit from the origin virtual memory region;
- and
- updating a pointer or reference of the code unit or the data unit to reflect a new storage location in the destination virtual memory region.
Dependencies are inferred from the claim text.