IP Library Granted Patent US 7,702,892
Granted Patent B1
US 7,702,892 · App. 11/243,129 · Granted Apr 20, 2010

System to provide computing as a product using dynamic computing environments

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 7,702,892
App. No.
11/243,129
Granted
Apr 20, 2010
Kind
B1
Abstract

A system enabling computing to be provided as a packaged product or as a remote resource to users. Computing is delivered as a product or a resource by providing dynamic computing environments to users based on users' choices of virtual components (hardware, software or network components). A customer can choose the components and configure a computing environment. The system packages this environment and makes it available for users to compute. A service provider can use the system to create computing environments, automatically, on demand and thus providing computing as a remote resource to customers. The system monitors the usage of the customers and they are billed accordingly. In either case users can carry out their computing activity remotely using a client device such as a web browser.

Claims (115)

1. A method comprising:

receiving user input selecting an abstraction for inclusion in a dynamic computing environment, wherein

the abstraction corresponds to one or more components, and

the abstraction has a corresponding constraint;

allocating the one or more components corresponding to the abstraction to the dynamic computing environment, wherein

the one or more components comprise one or more hardware components, and

the one or more hardware components comprises a processor that satisfies the corresponding constraint; and

providing a customer channel to the dynamic computing environment, wherein

the customer channel is provided over a network comprising a first router, and

the customer channel is configured to provide a user with access to use the dynamic computing environment for computing.

2. The method of claim 1 , wherein

the dynamic computing environment comprises one or more of: a software component, a hardware component, and a network component;

the software component comprises one or more of: an operating system and an application;

the hardware component comprises one or more of: a computing device and a storage device; and

the network component comprises one or more of: a second router, a switch, a gateway, and a network security element.

3. The method of claim 2 , wherein

the abstraction corresponds to a plurality of components, and

the plurality of components define a pre-configured computing environment component.

4. The method of claim 3 , further comprising:

allocating a plurality of sets of the components to provide a plurality of instances of the dynamic computing environment, wherein

each of the sets of the components is allocated as a different one of the instances of the dynamic computing environment; and

providing a plurality of customer channels, wherein

each of the customer channels is configured to provide access to a respective one of the instances of the dynamic computing environment, and

the customer channels provide concurrent access to the instances of the dynamic computing environment.

5. The method of claim 4 , wherein

the user input is received from a service provider,

each of the customer channels provides a separate one of a plurality of users with access to a separate one of the instances of the dynamic computing environment, and

the customer channels prevent one of the users from accessing an instance of the dynamic computing environment that is being accessed by another one of the users.

6. The method of claim 2 , further comprising:

receiving additional user input selecting one or more additional abstractions, wherein each of the one or more additional abstractions corresponds to one or more additional components; and

allocating the one or more additional components corresponding to each of the one or more additional abstractions to the dynamic computing environment.

7. The method of claim 2 , further comprising:

receiving user input specifying a configuration for the abstraction, wherein

the configuration identifies at least one of: an interconnection between the one or more components and one or more requirements for the one or more components.

8. The method of claim 2 , further comprising:

receiving user input scheduling a period of time for customer usage of the dynamic computing environment.

9. The method of claim 2 , further comprising:

monitoring the one or more components to ensure that a quality of service guarantee is being met by the dynamic computing environment.

10. The method of claim 2 , further comprising:

measuring the usage of the customer channel; and

generating a bill for usage of the dynamic computing environment, based on the measuring.

11. A system comprising:

a framework configured to receive user input selecting an abstraction for inclusion in a dynamic computing environment, wherein

the abstraction correspond to one or more components,

the abstraction has a corresponding constraint, and

the framework is configured to allocate the one or more components to the dynamic computing environment, wherein

the one or more components comprise one or more hardware components, and

the one or more hardware components comprises a processor that satisfies the corresponding constraint;

a resource pool coupled to the framework and comprising the one or more components; and

a customer channel coupled to the resource pool and the framework, wherein

the customer channel is provided over a network comprising a first router, and

the customer channel provides a user with access to use the dynamic computing environment for computing.

12. The system of claim 11 , wherein

the dynamic computing environment comprises one or more of: a software component, a hardware component, and a network component;

the software component comprises one or more of: an operating system and an application;

the hardware component comprises one or more of: a computing device and a storage device; and

the network component comprises one or more of: a second router, a switch, a gateway, and a network security element.

13. The system of claim 12 , wherein

the abstraction corresponds to a plurality of components, and

the plurality of components define a pre-configured computing environment component.

14. The system of claim 13 , wherein

the framework is configured to allocate a plurality of sets of the components to provide a plurality of instances of the dynamic computing environment,

each of the sets of the components is allocated as a different one of the instances of the dynamic computing environment; and

the system further comprises a plurality of customer channels, wherein

each of the customer channels provides access to a respective one of the instances of the dynamic computing environment, and

the customer channels provide concurrent access to the instances of the dynamic computing environment.

15. The system of claim 14 , wherein

the user input is received from a service provider,

each of the customer channels provides a separate one of a plurality of users with access to a separate one of the instances of the dynamic computing environment, and

the customer channels prevent one of the users from accessing an instance of the dynamic computing environment that is being accessed by another one of the users.

16. The system of claim 12 , wherein

the framework is configured to receive additional user input selecting one or more additional abstractions,

each of the one or more additional abstractions corresponds to one or more additional components; and

the framework is configured to allocate the one or more additional components corresponding to each of the one or more additional abstractions as part of the dynamic computing environment.

17. The system of claim 12 , wherein

the framework is configured to receive user input specifying a configuration for the abstraction,

the configuration identifies at least one of: an interconnection between the one or more components and one or more requirements for the one or more components, and

the framework is configured to provide the configuration within the dynamic computing environment.

18. The system of claim 12 , wherein

the framework is configured to receive user input scheduling a period of time for usage of the dynamic computing environment, and

the framework is configured to provide access to the dynamic computing environment during the period of time.

19. The system of claim 12 , wherein the framework comprises:

a resource monitoring system configured to monitor the one or more components to ensure that a quality of service guarantee is being met by the dynamic computing environment.

20. The system of claim 12 , wherein the framework comprises:

a metering system configured to measure the usage for the customer channel and to generate a bill for usage of the dynamic computing environment, based on the measured usage.

21. A system comprising:

means for receiving user input selecting an abstraction for inclusion in a dynamic computing environment, wherein

the abstraction corresponds to one or more components, and

the abstraction has a corresponding constraint;

means for allocating the one or more components corresponding to the abstraction to the dynamic computing environment, wherein

the one or more components comprise one or more hardware components, and

the one or more hardware components comprises a processor that satisfies the constraint; and

means for providing a customer channel to the dynamic computing environment, wherein

the customer channel is provided over a network comprising a first router, and

the customer channel is configured to provide a user with access to use the dynamic computing environment for computing.

22. The system of claim 21 , wherein

the dynamic computing environment comprises one or more of: a software component, a hardware component, and a network component;

the software component comprises one or more of: an operating system and an application;

the hardware component comprises one or more of: a computing device and a storage device; and

the network component comprises one or more of: a second router, a switch, a gateway, and a network security element.

23. A computer readable medium comprising program instructions executable to:

receive user input selecting an abstraction for inclusion in a dynamic computing environment, wherein

the abstraction corresponds to one or more components, and

the abstraction has a corresponding constraint;

allocate of the one or more components corresponding to the abstraction as part of the dynamic computing environment, wherein

the one or more components comprise one or more hardware components, and

the one or more hardware components comprises a processor that satisfies the corresponding constraint; and

provide a customer channel to the dynamic computing environment, wherein

the customer channel is provided over a network comprising a first router, and

the customer channel is configured to provide a user with access to use the dynamic computing environment for computing.

24. The computer readable medium of claim 23 , wherein

the dynamic computing environment comprises one or more of: a software component, a hardware component, and a network component;

the software component comprises one or more of: an operating system and an application;

the hardware component comprises one or more of: a computing device and a storage device; and

the network component comprises one or more of: a second router, a switch, a gateway, and a network security element.

Assignments (2)
SECURITY INTEREST Recorded Jan 11, 2017
From: MOTHEYE TECHNOLOGIES, LLC; SYNCHRONICITY IP LLC; TRAVERSE TECHNOLOGIES CORP.; 3D NANOCOLOR CORP.; BISMARCK IP INC.; MAGNUS IP GMBH; MUNITECH IP S.À.R.L.; VERMILION PARTICIPATIONS; MARATHON VENTURES S.À.R.L; NYANZA PROPERTIES; MARATHON IP GMBH; ORTHOPHOENIX, LLC; MEDTECH DEVELOPMENT DEUTSCHLAND GMBH; SYNCHRONICITY IP GMBH; TLI COMMUNICATIONS GMBH
To: DBD CREDIT FUNDING LLC, AS COLLATERAL AGENT
Reel/Frame 041333/0001 →
CHANGE OF NAME Recorded Oct 1, 2007
From: VERITAS OPERATING CORPORATION
To: SYMANTEC OPERATING CORPORATION
Reel/Frame 019899/0213 →