IP Library Granted Patent US 9,747,090
Granted Patent B2
US 9,747,090 · App. 14/755,259 · Granted Aug 29, 2017

Application deployment method and scheduler

Inventors: Jian Chen (Nanjing, CN); Hanyu Wei (Nanjing, CN); Hong Zhou (Nanjing, CN)
Assignee: Huawei Technologies Co., Ltd.
G06F8/60H04L67/10H04L67/32
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,747,090
App. No.
14/755,259
Filed
Jun 30, 2015
Granted
Aug 29, 2017
Kind
B2
Art Unit
2197
USPC
717/177
Abstract

An application deployment method and a scheduler are disclosed. The method includes: receiving, by a scheduler, an application deployment request sent for a first application by a cloud controller of a first cloud; after receiving the application deployment request, sending, by the scheduler, a first query message and a second query message to a cloud controller of a second cloud, and sending a second query message to a cloud controller of a third cloud; determining, by the scheduler, a target calculation unit from at least one calculation unit that is obtained by querying by using the first query message and the second query message and that has a first calculation capability; and deploying, by the scheduler, the first application to the target calculation unit.

Claims (44)

1. An application deployment method, comprising:

receiving, by a scheduler, an application deployment request sent for a first application by a cloud controller of a first cloud;

after receiving the application deployment request, sending, by the scheduler, a first query message to a cloud controller of a second cloud, wherein the first query message comprises information about a calculation capability required for the first application, the first query message is used to query identifier information of a calculation unit that is in the second cloud and that has the calculation capability, and the calculation capability required for the first application is a first calculation capability;

after receiving the application deployment request, sending, by the scheduler, a second query message to a cloud controller of a third cloud, wherein the second query message comprises the information about the first calculation capability, and the second query message is used to query identifier information of a calculation unit that is in the third cloud and that has the first calculation capability;

determining, by the scheduler, a target calculation unit from at least one calculation unit that is obtained by querying by using the first query message and the second query message and that has the first calculation capability; and

deploying, by the scheduler, the first application to the target calculation unit after determining that a runtime library required for the first application is installed in the target calculation unit, wherein the scheduler is configured to manage the first cloud, the second cloud, and the third cloud;

wherein when the at least one calculation unit is more than one calculation unit, the target calculation unit comprises:

a calculation unit that has a shortest distance from a user terminal requesting the first application and that is in the more than one calculation unit having the first calculation capability, wherein the distance comprises a network distance, or a weight distance, wherein the network distance is a forward hop count between two physical devices or a period of time during which a packet is transmitted between two physical devices, wherein the weight distance is a product of multiplying a physical distance by a weight coefficient, or, a product of multiplying a network distance by a weight coefficient, wherein the two physical devices are the user terminal and the target calculation unit.

2. The method according to claim 1 , wherein deploying, by the scheduler, the first application to the target calculation unit after determining that a runtime library required for the first application is installed in the target calculation unit comprises:

sending, by the scheduler, a runtime library query message to a cloud controller corresponding to the target calculation unit, and querying whether the runtime library required for the first application is installed in the target calculation unit;

after determining that the runtime library is not installed in the target calculation unit, informing the target calculation unit to install the runtime library; and

after the target calculation unit completes the installation of the runtime library, deploying, by the scheduler, the first application to the target calculation unit.

3. The method according to claim 1 , wherein deploying, by the scheduler, the first application to the target calculation unit after determining that a runtime library required for the first application is installed in the target calculation unit comprises:

sending, by the scheduler, a runtime library query message to a cloud controller corresponding to the target calculation unit, and querying whether the runtime library required for the first application is installed in the target calculation unit; and

after determining that the runtime library is installed in the target calculation unit, deploying the first application to the target calculation unit.

4. The method according to claim 1 , wherein the information about the first calculation capability comprises any one or more of a central processing unit (CPU) dominant frequency, a memory capacity, network bandwidth information, and programming language running environment information.

5. The method according to claim 1 , wherein:

the first cloud is a first central cloud, the second cloud is a first front-end cloud, and the third cloud is a second front-end cloud; or

the first cloud is a first front-end cloud, the second cloud is a first central cloud, and the third cloud is a second central cloud; or

the first cloud is a first front-end cloud, the second cloud is a second front-end cloud, and the third cloud is a third front-end cloud.

6. A scheduler for managing a first cloud, a second cloud, and a third cloud, the scheduler comprising:

an input/output (I/O) circuit;

a processor; and

a memory;

the I/O circuit configured to receive an application deployment request sent for a first application by a cloud controller of the first cloud;

after receiving the application deployment request, the I/O circuit is further configured to send a first query message to a cloud controller of the second cloud, wherein the first query message comprises information about a calculation capability required for the first application, the first query message is used to query identifier information of a calculation unit that is in the second cloud and that has the calculation capability, and the calculation capability required for the first application is a first calculation capability;

after receiving the application deployment request, the I/O circuit is further configured to send a second query message to a cloud controller of the third cloud, wherein the second query message comprises the information about the first calculation capability, and the second query message is used to query identifier information of a calculation unit that is in the third cloud and that has the first calculation capability;

the processor is configured to read an instruction stored in the memory to:

determine a target calculation unit from at least one calculation unit that is obtained by querying by using the first query message and the second query message and that has the first calculation capability; and

after it is determined that a runtime library required for the first application is installed in the target calculation unit, deploy the first application to the target calculation unit;

wherein when the at least one calculation unit is more than one calculation unit, the target calculation unit comprises:

a calculation unit that has a shortest distance from a user terminal requesting the first application and that is in the more than one calculation unit having the first calculation capability, wherein the distance comprises a network distance, or a weight distance, wherein the network distance is a forward hop count between two physical devices or a period of time during which a packet is transmitted between two physical devices, wherein the weight distance is a product of multiplying a physical distance by a weight coefficient, or, a product of multiplying a network distance by a weight coefficient, wherein the two physical devices are the user terminal and the target calculation unit.

7. The scheduler according to claim 6 , wherein the processor is further configured to read the instruction stored in the memory to:

send a runtime library query message to a cloud controller corresponding to the target calculation unit, and query whether the runtime library required for the first application is installed in the target calculation unit;

after it is determined that the runtime library is not installed in the target calculation unit, inform the target calculation unit to install the runtime library; and

after the target calculation unit completes the installation of the runtime library, deploy the first application to the target calculation unit.

8. The scheduler according to claim 6 , wherein the processor is further configured to read the instruction stored in the memory to:

send a runtime library query message to a cloud controller corresponding to the target calculation unit, and query whether the runtime library required for the first application is installed in the target calculation unit; and

after it is determined that the runtime library is installed in the target calculation unit, deploy the first application to the target calculation unit.

9. The scheduler according to claim 6 , wherein the information about the first calculation capability comprises any one or more of a central processing unit (CPU) dominant frequency, a memory capacity, network bandwidth information, and programming language running environment information.

10. The scheduler according to claim 6 , wherein:

the first cloud is a first central cloud, the second cloud is a first front-end cloud, and the third cloud is a second front-end cloud; or

the first cloud is a first front-end cloud, the second cloud is a first central cloud, and the third cloud is a second central cloud; or

the first cloud is a first front-end cloud, the second cloud is a second front-end cloud, and the third cloud is a third front-end cloud.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 30, 2015
From: CHEN, JIAN; WEI, HANYU; ZHOU, HONG
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 035938/0600 →
Priority Claims (1)
CN 2012 1 0592212 · Dec 31, 2012 · national
Continuity (2)
Continuation PCTCN2013090201 · Dec 23, 2013
Related Publication 20150301814A1 · Oct 22, 2015