Patent Document ID: 20120030683
Application ID: 12805363
Patent Flag: 0

Claim One:
1. A method of resource scheduling in a personal mobile grid, comprising the steps of: (a) forming a computational grid network from a plurality of networked devices; (b) dividing the plurality of networked devices into a plurality of task executers and a plurality of task composers; each said executer performing the following steps (c) through (o): (c) determining if a non-empty workspace exists in the computational grid network; (d) if a non-empty workspace exists, then contacting the non-empty workspace; (e) if a non-empty workspace does not exist, then determining if a composer help message has been generated by one of the task composers, and if a composer help message has been generated, then the executer transforms to a composer, and if a composer help message has not been generated, then polling an executer help list to determine if the executer help list is empty, and if the executer help list is not empty, then contacting the non-empty workspace, and if the executer help list is empty, then searching for a non-empty workspace; (f) determining if tasks are available for execution, and if no tasks are available, then returning to step (e); (g) randomly selecting a task to be executed; (h) assessing a quantity of remaining tasks in the workspace; (i) executing the task selected in step (g); (j) sending an unload request message; (k) assessing a waiting time; (l) comparing the waiting time with a waiting time threshold value, and if the waiting time is greater than the waiting time threshold value, then sending a composer help message; (m) determining if a ready message has been received, and if a ready message has been received, then sending task results of the executed task; (n) determining if a remaining workload is greater than or equal to an executer help threshold, and if the remaining workload is greater than or equal to the executer help threshold, then sending an executer help message and returning to step (d); (o) determining if the remaining workload is zero, and if the remaining workload is non-zero, then returning to step (d), and if the remaining workload is zero, then returning to step (e); each said composer performing the following steps (p) through (q): (p) determining if any tasks have complete results, and if any tasks have complete results, then randomly selecting a complete result, composing the result and sending job results to the user, and if no tasks with complete results exist, then determining if a composer help message has been received, and if a composer help message has been received, then transforming into an executer; and (q) returning to step (p).