Patent ID: 7962707
Filing Date: 2011-06-14
Classification: G06F

Abstract:
1. A method, comprising: identifying at least one application that can be executed in an execution environment, wherein the at least one application does not comprise functions or libraries that are not deterministic; executing the at least one application in the execution environment, the at least one application allocated a plurality of memory blocks in a memory during execution; and executing a predictive garbage collection process to reclaim at least one of the memory blocks in the memory from the at least one application wherein the reclamation of at least some of the memory blocks is hidden from the at least one application, wherein the memory used by the at least one application is managed on behalf of the at least one application by a deterministic memory manager, wherein the predictive garbage collection process is configured to defragment at least one of the plurality of memory blocks while reclaiming the memory block, and wherein the garbage collection process is broken up into a plurality of portions and executed periodically upon a determination that a free space in a heap memory exceeds a specified percentage; wherein the defragmenting includes searching for unused blocks that are a potential candidates to fill a free hole and scoring each individual candidate, wherein exact matches return a higher score and non-exact matches are scored based on their age, their number of free neighbors, and their sizes compared to a size of the free hole; and wherein a candidate or a combination of candidates having a score that exceeds a threshold is used to fill the free hole.