9009722

Collaborative Negotiation of System Resources Among Virtual Servers Running in a Network Computing Environment

PublishedApril 14, 2015
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
20 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A method for network computing environment services to negotiate with regard to the sharing of resources, the method comprising: a first resource agent of a first one of a plurality of network computing environment virtual machines monitoring resource allocation patterns of at least one limited resource of the first virtual machine; the first resource agent updating usage data in a resource availability map of the first virtual machine in response to the monitoring, wherein the update comprises at least one of a current limited resource usage, a scheduled increase or decrease of the current usage, or a projected increase or decrease of the current usage; comparing the updated usage data in the resource availability map usage data to a minimum operational requirements threshold, and to a surplus amount threshold that is greater than or equal to the minimum operational requirements threshold; in response to the updated usage data in the resource availability map failing to meet the minimum operational requirements threshold, determining an additional shortfall amount of resources that are needed in view of the updated usage data to meet the minimum operational requirements threshold, searching the resource availability map for offers of the shortfall amount of resources from the resource agents of one or more other virtual machines that are registered into a resource sharing arrangement with the first virtual machine within the network computing environment, and sending out a request to one of the other resource agents that is associated with an offer of the shortfall amount of resources; and in response to the compared updated usage data in the resource availability map meeting the minimum operational requirements threshold, determining a surplus amount of a resource that exceeds an amount of the resource needed to meet the surplus amount threshold, creating an offer of the surplus amount of resources, and broadcasting the offer to each of the resource agents of the other virtual machines that are registered into the resource sharing arrangement with the first virtual machine within the network computing environment.

2

2. The method of claim 1 , further comprising: the first resource agent broadcasting updates to the resource availability map data to each of the plurality of resource agents of the virtual machines that are registered into the resource sharing arrangement with the first virtual machine within the network computing environment environment; and in response to the updated usage data in the resource availability map failing to meet the minimum operational requirements threshold: searching the resource availability map for usage data broadcast and stored from the other virtual machines; identifying a likely or indicated resource surplus on a second of the virtual machines from the usage data broadcast and stored from the second virtual machine; and sending out a request to a resource agent of the second virtual machine that details a requested amount of the resource, and a requested time duration for use of the requested resource.

3

3. The method of claim 1 , wherein the offer of the surplus amount of resources that is broadcast to each of the resource agents of the other virtual machines that are registered into the resource sharing arrangement with the first virtual machine within the network computing environment environment comprises an offered amount of the resource and a time of execution and a time duration of the offer of the offered amount of the resource.

4

4. The method of claim 1 , further comprising: the first resource agent selecting a group of the offers in response to more favorable terms of each of the selected group of offers relative to terms of other, unselected ones of the offers; and the first resource agent executing each of the selected group of offers by acquiring portions of an entirety of the additional shortfall amount of resources from virtual machines of the resource agents associated with each of the selected group of offers.

5

5. The method of claim 1 , further comprising: integrating computer-readable program code into a computer system comprising a processing unit, a computer readable memory and a computer readable tangible storage medium, wherein the computer readable program code is embodied on the computer readable tangible storage medium and comprises instructions that, when executed by the processing unit via the computer readable memory, cause the processing unit to provide the first resource agent that: monitors resource allocation patterns of at least one limited resource of the first virtual machine; updates usage data in the resource availability map in response to the monitoring, compares the updated usage data in the resource availability map usage data to the minimum operational requirements threshold and to the surplus amount threshold; determines the additional shortfall amount of resources, searches the resource availability map for the offers of the shortfall amount of resources from the resource agents of one or more other virtual machines that are registered into the resource sharing arrangement with the first virtual machine within the network computing environment, and sends out the request to one of the other resource agents that is associated with the offer of the shortfall amount of resources, in response to the updated usage data in the resource availability map failing to meet the minimum operational requirements threshold; and determines the surplus amount of the resource, creates the offer of the surplus amount of resources, and broadcasts the offer to each of the resource agents of the other virtual machines that are registered into the resource sharing arrangement with the first virtual machine within the network computing environment, in response to the compared updated usage data in the resource availability map meeting the minimum operational requirements threshold.

6

6. The method of claim 1 , further comprising: a virtual machine licensing agent determining a loaned amount of the resource that was loaned by one of the other virtual machines to the first virtual machine in response to the request sent for the shortfall amount of resources, or that was loaned by the first virtual machine to one of the other virtual machines in response to an acceptance of the offer of the surplus amount of resources broadcast by the first machine; and the virtual machine licensing agent charging a cost to a one of the first virtual machine and the other virtual machines that borrowed the loaned amount of the resource, or providing a reward to a one of the first virtual machine and the other virtual machines that provided the loaned amount of the resource to the other of the first and the other virtual machines.

7

7. The method of claim 6 , further comprising: the virtual machine licensing agent determining an amount of the charged cost or the reward as a function of a difference in relative statuses of the first and the other virtual machines.

8

8. The method of claim 6 , further comprising: the virtual machine licensing agent determining an amount of the charged cost or the reward as a function of a priority status of the request or the broadcast offer.

9

9. A system, comprising: a processing unit in communication with a computer readable memory and a tangible computer-readable storage medium; wherein the processing unit, when executing program instructions stored on the tangible computer-readable storage medium via the computer readable memory, provides a first resource agent of a first virtual machine within a network computing environment, wherein the first resource agent: monitors resource allocation patterns of at least one limited resource of the first virtual machine; updates usage data in a resource availability map of the first virtual machine in response to the monitoring, wherein the update comprises at least one of a current limited resource usage, a scheduled increase or decrease of the current usage, or a projected increase or decrease of the current usage; compares the updated usage data in the resource availability map usage data to a minimum operational requirements threshold, and to a surplus amount threshold that is greater than or equal to the minimum operational requirements threshold; in response to the updated usage data in the resource availability map failing to meet the minimum operational requirements threshold, determines an additional shortfall amount of resources that are needed in view of the updated usage data to meet the minimum operational requirements threshold, searches the resource availability map for offers of the shortfall amount of resources from the resource agents of one or more other virtual machines that are registered into a resource sharing arrangement with the first virtual machine within the network computing environment, and sends out a request to one of the other resource agents that is associated with an offer of the shortfall amount of resources; and in response to the compared updated usage data in the resource availability map meeting the minimum operational requirements threshold, determines a surplus amount of a resource that exceeds an amount of the resource needed to meet the surplus amount threshold, creates an offer of the surplus amount of resources, and broadcasts the offer to each of the resource agents of the other virtual machines that are registered into the resource sharing arrangement with the first virtual machine within the network computing environment.

10

10. The system of claim 9 , wherein the first resource agent provided by the processing unit, in response to executing the program instructions stored on the computer-readable storage medium via the computer readable memory, further: broadcasts updates to the resource availability map data to each of the plurality of resource agents of the virtual machines that are registered into the resource sharing arrangement with the first virtual machine within the network computing environment; and in response to the updated usage data in the resource availability map failing to meet the minimum operational requirements threshold: searches the resource availability map for usage data broadcast and stored from the other virtual machines; identifies a likely or indicated resource surplus on a second of the virtual machines from the usage data broadcast and stored from the second virtual machine; and sends out a request to a resource agent of the second virtual machine that details a requested amount of the resource, and a requested time duration for use of the requested resource.

11

11. The system of claim 9 , wherein the first resource agent provided by the processing unit, in response to executing the program instructions stored on the computer-readable storage medium via the computer readable memory, broadcasts the offer of the surplus amount of resources to each of the resource agents of the other virtual machines that are registered into the resource sharing arrangement with the first virtual machine within the network computing environment by including in the offer an offered amount of the resource and a time of execution and a time duration of the offer of the offered amount of the resource.

12

12. The system of claim 9 , wherein the first resource agent provided by the processing unit, in response to executing the program instructions stored on the computer-readable storage medium via the computer readable memory, further: selects a group of the offers in response to more favorable terms of each of the selected group of offers relative to terms of other, unselected ones of the offers; and executes each of the selected group of offers by acquiring portions of an entirety of the additional shortfall amount of resources from virtual machines of the resource agents associated with each of the selected group of offers.

13

13. The system of claim 9 , wherein the processing unit, when executing the program instructions stored on the computer-readable storage medium via the computer readable memory, further provides a virtual machine licensing agent that: determines a loaned amount of the resource that was loaned by one of the other virtual machines to the first virtual machine in response to the request sent for the shortfall amount of resources, or that was loaned by the first virtual machine to one of the other virtual machines in response to an acceptance of the offer of the surplus amount of resources broadcast by the first machine; and charges a cost to a one of the first virtual machine and the other virtual machines that borrowed the loaned amount of the resource, or provides a reward to a one of the first virtual machine and the other virtual machines that provided the loaned amount of the resource to the other of the first and the other virtual machines.

14

14. The system of claim 13 , wherein the virtual machine licensing agent provided by the processing unit, in response to executing the program instructions stored on the computer-readable storage medium via the computer readable memory, further: determines an amount of the charged cost or the reward as a function of a difference in relative statuses of the first and the other virtual machine.

15

15. The system of claim 13 , wherein the virtual machine licensing agent provided by the processing unit, in response to executing the program instructions stored on the computer-readable storage medium via the computer readable memory, further: determines an amount of the charged cost or the reward as a function of a priority status of the request or the broadcast offer.

16

16. A computer program product for network computing environment services to negotiate with regard to the sharing of resources, the computer program product comprising: a computer readable tangible storage medium having computer readable program code embodied therewith, the computer readable program code comprising instructions that, when executed by a computer processing unit, cause the computer processing unit to provide a first resource agent of a first virtual machine within a network computing environment, wherein the first resource agent: monitors resource allocation patterns of at least one limited resource of the first virtual machine; updates usage data in a resource availability map of the first virtual machine in response to the monitoring, wherein the update comprises at least one of a current limited resource usage, a scheduled increase or decrease of the current usage, or a projected increase or decrease of the current usage; compares the updated usage data in the resource availability map usage data to a minimum operational requirements threshold, and to a surplus amount threshold that is greater than or equal to the minimum operational requirements threshold; in response to the updated usage data in the resource availability map failing to meet the minimum operational requirements threshold, determines an additional shortfall amount of resources that are needed in view of the updated usage data to meet the minimum operational requirements threshold, searches the resource availability map for offers of the shortfall amount of resources from the resource agents of one or more other virtual machines that are registered into a resource sharing arrangement with the first virtual machine within the network computing environment, and sends out a request to one of the other resource agents that is associated with an offer of the shortfall amount of resources; and in response to the compared updated usage data in the resource availability map meeting the minimum operational requirements threshold, determines a surplus amount of a resource that exceeds an amount of the resource needed to meet the surplus amount threshold, creates an offer of the surplus amount of resources, and broadcasts the offer to each of the resource agents of the other virtual machines that are registered into the resource sharing arrangement with the first virtual machine within the network computing environment.

17

17. The computer program of claim 16 , wherein the computer readable program code instructions, when executed by the computer processing unit, further cause the first resource agent provided by the computer processing unit to: broadcast updates to the resource availability map data to each of the plurality of resource agents of the virtual machines that are registered into the resource sharing arrangement with the first virtual machine within the network computing environment; and in response to the updated usage data in the resource availability map failing to meet the minimum operational requirements threshold: search the resource availability map for usage data broadcast and stored from the other virtual machines; identify a likely or indicated resource surplus on a second of the virtual machines from the usage data broadcast and stored from the second virtual machine; and send out a request to a resource agent of the second virtual machine that details a requested amount of the resource, and a requested time duration for use of the requested resource.

18

18. The computer program of claim 16 , wherein the computer readable program code instructions, when executed by the computer processing unit, further cause the first resource agent provided by the computer processing unit to: broadcast the offer of the surplus amount of resources to each of the resource agents of the other virtual machines that are registered into the resource sharing arrangement with the first virtual machine within the network computing environment by including in the offer an offered amount of the resource and a time of execution and a time duration of the offer of the offered amount of the resource.

19

19. The computer program of claim 16 , wherein the computer readable program code instructions, when executed by the computer processing unit, further cause the first resource agent provided by the computer processing unit to: select a group of the offers in response to more favorable terms of each of the selected group of offers relative to terms of other, unselected ones of the offers; and execute each of the selected group of offers by acquiring portions of an entirety of the additional shortfall amount of resources from virtual machines of the resource agents associated with each of the selected group of offers.

20

20. The computer program of claim 16 , wherein the computer readable program code instructions, when executed by the computer processing unit, further cause the computer processing unit to provide a virtual machine licensing agent that: determines a loaned amount of the resource that was loaned by one of the other virtual machines to the first virtual machine in response to the request sent for the shortfall amount of resources, or that was loaned by the first virtual machine to one of the other virtual machines in response to an acceptance of the offer of the surplus amount of resources broadcast by the first machine; and charges a cost to a one of the first virtual machine and the other virtual machines that borrowed the loaned amount of the resource, or provides a reward to a one of the first virtual machine and the other virtual machines that provided the loaned amount of the resource to the other of the first and the other virtual machines.

Patent Metadata

Filing Date

Unknown

Publication Date

April 14, 2015

Inventors

Adekunle Bello
Aruna Yedavilli

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “COLLABORATIVE NEGOTIATION OF SYSTEM RESOURCES AMONG VIRTUAL SERVERS RUNNING IN A NETWORK COMPUTING ENVIRONMENT” (9009722). https://patentable.app/patents/9009722

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.