This application claims priority to Chinese Patent Application No. 201410450906.3 filed on Sep. 5, 2014, the contents of which are hereby incorporated by reference.
The disclosure generally relates to computing methods and systems, and more particularly relates to distributed computing methods and systems utilizing computing power of mobile computing devices.
Mobile computing devices such smart phones, PDAs and tablet PCs are getting more and more powerful. However, the duty cycle of such devices is typically quite small, focusing on brief, ad-hoc, on-demand activities. Furthermore these devices have become ubiquitous, and via “always on” connections will be permanently accessible to a global network of other devices. There will thus be an explosive growth of well-connected “unused” CPU cycles sitting in people's back pockets.
Many aspects of the disclosure can be better understood with reference to the following drawings. The components in the drawings are not necessarily drawn to scale, the emphasis instead being placed upon clearly illustrating the principles of the disclosure. Moreover, in the drawings, like reference numerals designate corresponding parts throughout the views.
It will be appreciated that for simplicity and clarity of illustration, where appropriate, reference numerals have been repeated among the different figures to indicate corresponding or analogous elements. In addition, numerous specific details are set forth in order to provide a thorough understanding of the embodiments described herein. However, it will be understood by those of ordinary skill in the art that the embodiments described herein can be practiced without these specific details. In other instances, methods, procedures and components have not been described in detail so as not to obscure the related relevant feature being described. The drawings are not necessarily to scale and the proportions of certain parts may be exaggerated to better illustrate details and features. The description is not to be considered as limiting the scope of the embodiments described herein. It should be noted that references to “an” or “one” embodiment in this disclosure are not necessarily to the same embodiment, and such references can mean “at least one.”
The term “comprising” means “including, but not necessarily limited to”; it specifically indicates open-ended inclusion or membership in a so-described combination, group, series and the like.
The host computer 11 can establish a communication connection with the mobile computing devices 12 via a communication network 13. The communication network 13 can be, but not limited to be, an Ethernet LAN, a WIFI network, a cellular data network, or other IP network.
The host computer 11 can communicate with the mobile computing devices 12 via the communication network 13. Each of the mobile computing devices 12 can send information of its computing capability to the host computer 11 via the communication network 13. The host computer 11 can count the number of the mobile computing devices 12 which are in communication with the host computer 11. The computing capability of the mobile computing device 12 can refer to the hardware level of the mobile computing device 12, such as the processing capacity of a CPU, the storage capacity of a memory, a bandwidth of data transmission.
The host computer 11 can split a computing task into a plurality of independent calculations according to the number of the mobile computing devices 12 and the computing capabilities of the mobile computing devices 12. Then the host computer 11 can assign the independent calculations to the mobile computing devices 12 via the communication network 13. The host computer 11 can determine a number of the independent calculations which are assigned to a mobile computing device 12 based on the computing capability of the mobile computing device 12. For example, if the computing capability of a mobile computing device 12 is small, the host computer 11 can assign a small number of the independent calculations to the mobile computing device 12; if the computing capability of a mobile computing device 12 is great, the host computer 11 can assign a great number of the independent calculations to the mobile computing device 12.
The host computer 11 can establish an unassigned task pool and an assigned task pool in a local storage device of the host computer 11. The host computer 11 can place the unassigned independent calculations in the unassigned task pool and place the assigned independent calculations in the assigned task pool.
When the mobile computing devices 12 receive the independent calculations from the host computer 11, the mobile computing devices 12 can execute the independent calculations and transmit the results of the independent calculations to the host computer 11 via the communication network 13.
When the host computer 11 receives the results the independent calculations from the mobile computing devices 12, the host computer 11 can obtain an end result of the computing task by combining the results of the independent calculations.
In some embodiments, the host computer 11 can associate a deadline with each of the independent calculations. When the host computer 11 does not receive a result of an independent calculation from a mobile computing device 12 by a deadline of the independent calculation, the host computer 11 can send a revoking message to the mobile computing device 12 to revoke the independent calculation and reassign the independent calculation to another mobile computing device 12.
When a mobile computing device 12 intends to quit the distributed computing system or suspends providing computing power to the host computer 11, the mobile computing device 12 can send a rejecting message to the host computer 11. When the host computer 12 receives the rejecting message from the mobile computing device 12, the host computer 12 can disconnect from the mobile computing device 12.
Referring to
At block 201, a host computer 11 establishes a communication connection with a plurality of mobile computing devices 12 via a communication network 13. The communication network 13 can be, but not limited to be, an Ethernet LAN, a WIFI network, a cellular data network, or other IP network.
At block 202, each of the mobile computing devices 12 sends information of its computing capability to the host computer 11 via the communication network 13. The computing capability of the mobile computing device 12 can refer to the hardware level of the mobile computing device 12, such as the processing capacity of a CPU, the storage capacity of a memory, a bandwidth of data transmission.
At block 203, the host computer 11 splits a computing task into a plurality of independent calculations according to the number of the mobile computing devices 12 and the computing capabilities of the mobile computing devices 12.
At block 204, the host computer 11 assigns the independent calculations to the mobile computing devices 12 via the communication network 13. In some embodiments, the host computer 11 determines a number of the independent calculations which are assigned to a mobile computing device 12 based on the computing capability of the mobile computing device 12.
At block 205, when the mobile computing devices 12 receive the independent calculations from the host computer 11, the mobile computing devices 12 execute the independent calculations.
At block 206, the mobile computing devices 12 transmit the results of the independent calculations to the host computer 11 via the communication network 13.
At block 207, when the host computer 11 receives the results the independent calculations from the mobile computing devices 12, the host computer 11 obtains an end result of the computing task by combining the results of the independent calculations.
The embodiments shown and described above are only examples. Even though numerous characteristics and advantages of the present technology have been set forth in the foregoing description, together with details of the structure and function of the present disclosure, the disclosure is illustrative only, and changes may be made in the detail, including in matters of shape, size and arrangement of the parts within the principles of the present disclosure up to, and including, the full extent established by the broad general meaning of the terms used in the claims.
Number | Date | Country | Kind |
---|---|---|---|
201410450906.3 | Sep 2014 | CN | national |