Load balancing interfaces
AssigneeMicrosoft Corporation
InventorsMaoni Z. Stephens, Patrick H. Dussud
Life of this patent
Estimating the term…
Abstract
Interfaces are provided to notify of conditions pertaining to memory management. Thus, efforts to avoid time-outs during execution of code in a managed execution environment may be implemented.
Claims13
At least one interface, embodied on one or more non-transitory computer-readable storage media, to be called during execution of managed code, the at least one interface comprising:
- one or more application program interfaces (APIs) to assess an amount of computer processing resources that would be used to process an anticipated computing operation relative to a predetermined computing resource threshold, wherein the assessment evaluates the anticipated computing operation to determine the amount of processing time that would be used to process the anticipated computing operation and wherein the on or more APIs to send a notification that memory allocation has exceeded a threshold value are instantiated by a garbage collector in a managed execution environment;
- and
- one or more APIs to determine, based on the assessed amount of computer processing time that would be used to process the anticipated computing operation, that one or more process threads of the executing managed code will time-out if the anticipated computing operation is executed in conjunction with the executing managed code and send both a notification that a scan of memory heap has been completed and a call to redirect execution of at least a portion of the managed code across an isolation boundary, wherein the one or more APIs to send the notification are instantiated by a garbage collector in the managed execution environment.
A transaction method, comprising:
- monitoring execution of managed code;
- assessing an amount of computer processing resources that would be used to process an anticipated computing operation relative to a predetermined computing resource threshold, wherein the assessment evaluates the anticipated computing operation to determine the amount of processing time that would be used to process the anticipated computing operation;
- sending a notification that memory allocation has exceeded a threshold value, wherein one or more APIs that send the notification are instantiated by a garbage collector in a managed execution environment;
- based on the assessed amount of computer processing time that would be used to process the anticipated computing operation, determining that one or more process threads of the executing managed code will time-out if the anticipated computing operation is executed in conjunction with the executing managed code;
- and
- based on the determination that the one or more process threads of the executing managed code will time-out, transmitting at least one call to redirect execution of at least a portion of the managed code across an isolation boundary and a notification that a scan of memory heap has been completed, wherein one or more APIs to transmit the notification are instantiated by a garbage collector in a managed execution environment.
A computer program product for implementing a method for load balancing among computing processes, the computer program product comprising one or more computer-readable storage media having stored thereon computer-executable instructions that, when executed by one or more processors of the computing system, cause the computing system to perform the method, the method comprising:
- monitoring execution of managed code;
- assessing an amount of computer processing resources that are being used to process a currently processing computing operation relative to a predetermined computing resource threshold, wherein the assessment evaluates the currently processing computing operation to determine the amount of processing time that is being used to process the currently processing computing operation;
- sending a notification that memory allocation has exceeded a threshold value, wherein one or more application program interfaces (APIs) that send the notification are instantiated by a garbage collector in a managed execution environment;
- based on the assessed amount of computer processing time that is being used to process the currently processing computing operation, determining that no process threads of the either the currently processing computing operation or the executing managed code will time-out if the currently processing computing operation continues to be executed simultaneously with the executing managed code;
- and
- based on the determination, transmitting at least one call to cease redirecting execution of at least a portion of the managed code and a notification that a scan of memory heap has been completed, wherein one or more APIs to send the notification are instantiated by a garbage collector in a managed execution environment.
Dependencies are inferred from the claim text.