IP Library Granted Patent US 9,021,509
Granted Patent B1
US 9,021,509 · App. 14/114,524 · Granted Apr 28, 2015

Datacenter managed thread and multi-processing support

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,021,509
App. No.
14/114,524
Granted
Apr 28, 2015
Kind
B1
Abstract

Technologies are generally described for datacenter managed thread and multi-processing support. In some examples, a system may be provided for dynamic core allotment and provisioning within a server such that resources can be efficiently used to accomplish available work during lulls shorter than inter-server balancing time scales. A virtual machine manger (VMM) may enact core level provisioning and make optimal performance multi-processing information available via a virtual application programming interface (API) handler that receives and responds to messages sent to the VMM. The messages may not need to reach an external network and may therefore be exchanged at high speeds.

Claims (39)

1. A method to dynamically allot and provision cores within a server, the method comprising:

virtualizing access to a plurality of cores in a server for a plurality of virtual machines; and

providing local core-level provisioning to the virtual machines by:

providing optimal performance multi-processing information via a virtual application programming interface (API) handler to the virtual machines; and

enabling applications executed on the virtual machines to use API calls when building a multi-processing worker population to request input for one or more of a number of available cores or a size of a worker population to generate.

2. The method of claim 1 , wherein the virtual API handler receives and responds to messages sent to a virtual machine manager providing the local core-level provisioning.

3. The method of claim 1 , wherein providing the local core-level provisioning to the virtual machines is performed in cooperation with a management of a datacenter hosting the virtual machines.

4. The method of claim 1 , further comprising enabling the applications executed on the virtual machines to use HTTP protocol for the API calls.

5. The method of claim 1 , further comprising enabling the applications executed on the virtual machines to use virtualized drivers to communicate with a virtual machine manager.

6. The method of claim 1 , wherein an API request from the applications executed on the virtual machines and the virtual API handler are on the same server operating at system-call speed.

7. The method of claim 1 , further comprising performing the local core-level provisioning using data that is gathered about core and virtual machine level usage.

8. The method of claim 1 , wherein communication associated with the optimal performance multi-processing information is exchanged between a virtual machine operating system and a virtual machine manager.

9. The method of claim 1 , further comprising handling dynamic core counts by setting virtual machine operating systems to a largest potential core count and reporting a majority of the virtual machine operating systems in one of a nonfunctional state or a busy state.

10. The method of claim 9 , further comprising rendering one of the nonfunctional or the busy state to be detectable to one or more applications within each virtual machine.

11. A server to dynamically allot and provision cores within a datacenter, the server comprising:

a memory configured to store instructions; and

a processor coupled to the memory, wherein the processor is configured to execute a plurality of virtual machines and a virtual machine manager (VMM) configured to:

virtualize access to a plurality of cores in the server for the virtual machines; and

to provide local core-level provisioning to the virtual machines:

provide optimal performance multi-processing information via a virtual API handler to the virtual machines; and

enable applications executed on the virtual machines to use API calls when building a multi-processing worker population to request input for one or more of a number of available cores or a size of a worker population to generate.

12. The server of claim 11 , wherein the virtual API handler is configured to receive and respond to messages sent to the VMM providing the local core-level provisioning.

13. The server of claim 11 , wherein the VMM is configured to provide the local core-level provisioning to the virtual machines in cooperation with a management of the datacenter.

14. The server of claim 11 , wherein the VMM is further configured to enable the applications executed on the virtual machines to use HTTP protocol for the API calls.

15. The server of claim 14 , wherein the API calls are handled at a virtual machine manager level.

16. The server of claim 11 , wherein the VMM is further configured to enable the applications executed on the virtual machines to use virtualized drivers to communicate with the VMM.

17. The server of claim 11 , wherein an API request from the applications executed on the virtual machines and the virtual API handler are on the server operating at system-call speed.

18. The server of claim 11 , wherein the VMM is further configured to perform the local core-level provisioning using data that is gathered about core and virtual machine level usage.

19. The server of claim 11 , wherein communication associated with the optimal performance multi-processing information is exchanged between a virtual machine operating system and the VMM.

20. The server of claim 11 , wherein the VMM is further configured to handle dynamic core counts by setting virtual machine operating systems to a largest potential core count and reporting a majority of the virtual machine operating systems in one of a nonfunctional state or a busy state.

21. A cloud-based datacenter configured to provide dynamic core allotment and provisioning, the datacenter comprising:

at least one virtual machine (VM) operable to be executed on one or more physical machines, and

a datacenter controller operable to execute a virtual machine manager (VMM), wherein the VMM is configured to:

virtualize access to a plurality of cores in a server for the virtual machines; and

to provide local core-level provisioning to the virtual machines in cooperation with a management of the datacenter:

provide optimal performance multi-processing information via a virtual API handler to the virtual machines, wherein the virtual API handler is configured to receive and respond to messages sent to the VMM; and

enable applications executed on the virtual machines to use API calls when building a multi-processing worker population to request input for one or more of a number of available cores or a size of a worker population to generate.

22. The datacenter of claim 21 , wherein the API calls are handled at a virtual machine manager level.

23. The datacenter of claim 21 , wherein the VMM is further configured to handle dynamic core counts by setting virtual machine operating systems to a largest potential core count and reporting a majority of the virtual machine operating systems in one of a nonfunctional state or a busy state.

Assignments (6)
RELEASE OF SECURITY INTEREST IN PATENTS, RECORDED ON JANUARY 29, 2019 AT REEL 048373 FRAME 0217 Recorded Sep 22, 2025
From: CRESTLINE DIRECT FINANCE, L.P., AS COLLATERAL AGENT
To: EMPIRE TECHNOLOGY DEVELOPMENT LLC
Reel/Frame 072936/0464 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 15, 2021
From: EMPIRE TECHNOLOGY DEVELOPMENT LLC
To: INVINCIBLE IP LLC
Reel/Frame 055594/0500 →
RELEASE OF SECURITY INTEREST Recorded Oct 21, 2020
From: CRESTLINE DIRECT FINANCE, L.P.
To: EMPIRE TECHNOLOGY DEVELOPMENT LLC
Reel/Frame 054129/0627 →
SECURITY INTEREST Recorded Jan 29, 2019
From: EMPIRE TECHNOLOGY DEVELOPMENT LLC
To: CRESTLINE DIRECT FINANCE, L.P.
Reel/Frame 048373/0217 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 28, 2013
From: KRUGLICK, EZEKIEL
To: ARDENT RESEARCH CORPORATION
Reel/Frame 031493/0874 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 28, 2013
From: ARDENT RESEARCH CORPORATION
To: EMPIRE TECHNOLOGY DEVELOPMENT LLC
Reel/Frame 031493/0886 →