IP Library Granted Patent US 10,681,116
Granted Patent B2
US 10,681,116 · App. 14/914,286 · Granted Jun 9, 2020

Providing services as resources for other services

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 10,681,116
App. No.
14/914,286
Granted
Jun 9, 2020
Kind
B2
Abstract

Providing services can include receiving a request for a first service provided by a resource provider and provide a reference to an instantiated first resource that the resource provider instantiated. Providing services can include receiving a request for a second service provided by the resource provider. Providing services can include partitioning the instantiated first resource to create an instantiated second resource if the instantiated first resource is capable of providing the second service. Providing services can include registering an availability of the resource provider and the instantiated first resource for further partitioning in a chain of building blocks. Providing services can include updating one of the chain of building blocks and propagate the update to the chain of building blocks.

Claims (40)

1. A non-transitory machine-readable medium storing instructions executable by a machine to cause the machine to:

maintain a set of available resource providers in a form of a chain of building blocks, wherein each available resource provider in the set of available resource providers supports recursive instantiation by instantiating a particular resource of a particular resource type of a plurality of resource types to make available the particular resource in a form of a service via the instantiated particular resource and wherein the instantiated particular resource also serves as a resource provider;

receive a request to generate a first service provided by a resource provider of the set of available resource providers and provide a reference to an instantiated first resource that the resource provider instantiated;

receive a request to generate a second service provided by a new resource provider and provide a reference to an instantiated second resource that the instantiated first resource instantiated, the instantiated first resource being the new resource provider;

support the recursive instantiation of additional instantiated resources that also serve as resource providers by partitioning the instantiated first resource to create the instantiated second resource if the instantiated first resource is capable of providing the second service, wherein the instantiated second resource supports further recursive instantiation and partitioning;

make available the instantiated first resource for further partitioning in the chain of building blocks by adding the new resource provider to the set of available resource providers; and

update one of the chain of building blocks and propagate the update to the chain of building blocks.

2. The medium of claim 1 , wherein the instructions executable to update one of the chain of building blocks include instructions to manage the lifecycle of the first service.

3. The medium of claim 2 , wherein the instructions executable to manage the lifecycle of the first service include instructions to update the availability of the chain of building blocks.

4. The medium of claim 1 , wherein the instructions are executable to register a status of an availability of the instantiated second resource for further partitioning in the chain of building blocks.

5. The medium of claim 1 , wherein the instructions executable to partition the instantiated first resource include instructions to support isolated access to each of the partitions.

6. The medium of claim 1 , wherein the instructions executable to partition the instantiated first resource include instructions to provide each of a number of partitions of the instantiated first resource as instantiated resources to a number of different instances of an application.

7. The medium of claim 1 , wherein the plurality of resource types include one or more of a database type, a server type, a network connection type, and an operating system type.

8. A system comprising:

a processing resource; and

non-transitory computer-readable media having stored therein instructions, which when executed by the processing resource cause the processing resource to:

maintain a set of available resource providers in a form of a chain of building blocks, wherein each available resource provider in the set of available resource providers supports recursive instantiation by instantiating a particular resource of a particular resource type of a plurality of resource types to make available the particular resource in a form of a service via the instantiated particular resource and wherein the instantiated particular resource also serves as a resource provider;

receive a request to generate a first service provided by a resource provider of the set of available resource providers and provide a reference to an instantiated first resource that the resource provider instantiated;

receive a request to generate a second service provided by a new resource provider and provide a reference to an instantiated second resource that the instantiated first resource instantiated, the instantiated first resource being the new resource provider;

support the recursive instantiation of additional instantiated resources that also serve as resource providers by partitioning the instantiated first resource to create the instantiated second resource if the instantiated first resource is capable of providing the second service, wherein the instantiated second resource supports further recursive instantiation and partitioning;

make available the instantiated first resource for further partitioning in the chain of building blocks by adding the new resource provider to the set of available resource providers; and

update one of the chain of building blocks and propagate the update to the chain of building blocks.

9. The system of claim 8 , wherein the instructions that cause the processing resource to update one of the chain of building blocks include instructions to manage the lifecycle of the first service.

10. The system of claim 9 , wherein the instructions that cause the processing resource to manage the lifecycle of the first service include instructions to update the availability of the chain of building blocks.

11. The system of claim 8 , wherein the instructions further cause the processing resource to register a status of an availability of the instantiated second resource for further partitioning in the chain of building blocks.

12. The system of claim 8 , wherein the instructions that cause the processing resource to partition the instantiated first resource include instructions to support isolated access to each of the partitions.

13. The system of claim 8 , wherein the instructions that cause the processing resource to partition the instantiated first resource include instructions to provide each of a number of partitions of the instantiated first resource as instantiated resources to a number of different instances of an application.

14. The system of claim 8 , wherein the plurality of resource types include one or more of a database type, a server type, a network connection type, and an operating system type.

15. A computer-implemented method comprising:

maintaining a set of available resource providers in a form of a chain of building blocks, wherein each available resource provider in the set of available resource providers supports recursive instantiation by instantiating a particular resource of a particular resource type of a plurality of resource types to make available the particular resource in a form of a service via the instantiated particular resource and wherein the instantiated particular resource also serves as a resource provider;

receiving a request to generate a first service provided by a resource provider of the set of available resource providers and provide a reference to an instantiated first resource that the resource provider instantiated;

receiving a request to generate a second service provided by a new resource provider and provide a reference to an instantiated second resource that the instantiated first resource instantiated, the instantiated first resource being the new resource provider;

supporting the recursive instantiation of additional instantiated resources that also serve as resource providers by partitioning the instantiated first resource to create the instantiated second resource if the instantiated first resource is capable of providing the second service, wherein the instantiated second resource supports further recursive instantiation and partitioning;

making available the instantiated first resource for further partitioning in the chain of building blocks by adding the new resource provider to the set of available resource providers; and

updating one of the chain of building blocks and propagating the update to the chain of building blocks.

16. The method of claim 15 , wherein said updating comprises managing the lifecycle of the first service.

17. The method of claim 15 , further comprising registering a status of an availability of the instantiated second resource for further partitioning in the chain of building blocks.

18. The method of claim 15 , wherein said partitioning the instantiated first resource comprises supporting isolated access to each of the partitions.

19. The method of claim 15 , wherein said partitioning the instantiated first resource comprises providing each of a number of partitions of the instantiated first resource as instantiated resources to a number of different instances of an application.

20. The method of claim 15 wherein the plurality of resource types include one or more of a database type, a server type, a network connection type, and an operating system type.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 4, 2016
From: GUPTE, PRASHANT; NEWMAN, MATTHEW S; MAES, STEPHANE H.
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 039070/0915 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 27, 2016
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 038536/0001 →