IP Library › Granted Patent US 8,443,066
Granted Patent B1
US 8,443,066 · App. 13/178,486 · Granted May 14, 2013

Programmatic instantiation, and provisioning of servers

Inventors: Nakul Pratap Saraiya (Palo Alto, CA); Curtis M. Collins (San Jose, CA); Yuri Finkelstein (San Carlos, CA); Thomas Dean Lovett (Portland, OR); Shyam Mittur (Laguna Nigel, CA); Cosmos Nicolaou (Palo Alto, CA); Shreyas B. Shah (San Jose, CA); Fabio Onofrio Ingrao (Belmont, CA)
Assignee: Oracle International Corporation
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 8,443,066
App. No.
13/178,486
Granted
May 14, 2013
Kind
B1
Abstract

A networked computing system is taught that may be operated as one or more provisioned servers, each of the provisioned servers including capabilities as identified by a corresponding set of specifications and attributes, according to various embodiments. Typically the specifications (or constraints) and attributes are specified with a Server Configuration File. The networked computing system may be provisioned into any combination and number of servers according to needed processing and I/O capabilities. Each of these servers may include distinct compute, storage, and networking performance. Provisioned servers may be managed similar to conventional servers, including operations such as boot and shutting down.

Claims (144)

1. A method including the steps of:

accessing a networked computing system template;

automatically instantiating a networked computing system according to the template; and

wherein

the template includes a hardware manifest of required hardware primitives, and

the hardware manifest includes a description of a required number of partitions of a plurality of partitionable symmetric multiprocessors.

2. The method of claim 1 , wherein:

the template is an instance of a server specification.

3. The method of claim 1 , wherein:

the networked computing system is an instance of a provisioned server.

4. The method of claim 1 , wherein:

the act of instantiating the networked computing system is an instance of forming a provisioned server.

5. The method of claim 1 , wherein:

the hardware manifest is an instance of a hardware specification.

6. The method of claim 1 , wherein:

the act of automatically instantiating includes programmatically managing a free primitives pool.

7. The method of claim 6 , wherein:

the act of automatically instantiating further includes programmatically allocating resources from the free primitives pool according to the template.

8. The method of claim 1 , wherein:

the partitions are physical partitions and the partitionable symmetric multiprocessors are physically-partitionable symmetric multiprocessors.

9. The method of claim 1 , wherein:

each of the partitions couples to a switch fabric via a switch fabric interface.

10. The method of claim 9 , wherein:

each of the partitions is designed to independently couple to the switch fabric.

11. The method of claim 1 , wherein:

each of the partitionable symmetric multiprocessors is partitionable into a plurality of configurations, including a first configuration having a first number of partitions, and a second configuration having a second number of partitions.

12. The method of claim 11 , wherein:

the configurations include a third configuration having a single partition.

13. The method of claim 1 , wherein:

the template further includes hardware configuration information.

14. The method of claim 1 , wherein:

the template further includes a software manifest of required software primitives.

15. The method of claim 14 , wherein:

the template further includes software configuration information.

16. The method of claim 1 , wherein:

the required hardware primitives include a description of required compute primitives.

17. The method of claim 16 , wherein:

the required compute primitives include required application compute primitives.

18. The method of claim 17 , wherein:

the required number of partitions corresponds to a subset of the required application compute primitives.

19. The method of claim 16 , wherein:

the required compute primitives include required service compute primitives.

20. The method of claim 1 , further including:

altering the template.

21. The method of claim 20 , wherein:

the act of altering is at least in part via a command line interface.

22. The method of claim 20 , wherein:

the act of altering is at least in part via a graphical user interface.

23. A system comprising:

a processor; and

a memory coupled with and readable by the processor and storing a set of instructions which, when executed by the processor, cause the processor to perform a process comprising:

accessing a networked computing system template;

automatically instantiating a networked computing system according to the template; and wherein

the template includes a hardware manifest of required hardware primitives, and the hardware manifest includes a description of a required number of partitions of

a plurality of partitionable symmetric multiprocessors.

24. The system of claim 23 , wherein:

the template is an instance of a server specification.

25. The system of claim 23 , wherein:

the networked computing system is an instance of a provisioned server.

26. The system of claim 23 , wherein:

the act of instantiating the networked computing system is an instance of forming a provisioned server.

27. The system of claim 23 , wherein:

the hardware manifest is an instance of a hardware specification.

28. The system of claim 23 , wherein:

the act of automatically instantiating includes programmatically managing a free primitives pool.

29. The system of claim 28 , wherein:

the act of automatically instantiating further includes programmatically allocating resources from the free primitives pool according to the template.

30. The system of claim 23 , wherein:

the partitions are physical partitions and the partitionable symmetric multiprocessors are physically-partitionable symmetric multiprocessors.

31. The system of claim 23 , wherein:

each of the partitions couples to a switch fabric via a switch fabric interface.

32. The system of claim 31 , wherein:

each of the partitions is designed to independently couple to the switch fabric.

33. The system of claim 23 , wherein:

each of the partitionable symmetric multiprocessors is partitionable into a plurality of configurations, including a first configuration having a first number of partitions, and a second configuration having a second number of partitions.

34. The system of claim 33 , wherein:

the configurations include a third configuration having a single partition.

35. The system of claim 23 , wherein:

the template further includes hardware configuration information.

36. The system of claim 23 , wherein:

the template further includes a software manifest of required software primitives.

37. The system of claim 36 , wherein:

the template further includes software configuration information.

38. The system of claim 23 , wherein:

the required hardware primitives include a description of required compute primitives.

39. The system of claim 38 , wherein:

the required compute primitives include required application compute primitives.

40. The system of claim 39 , wherein:

the required number of partitions corresponds to a subset of the required application compute primitives.

41. The system of claim 38 , wherein:

the required compute primitives include required service compute primitives.

42. The system of claim 23 , further including:

altering the template.

43. The system of claim 42 , wherein:

the act of altering is at least in part via a command line interface.

44. The system of claim 42 , wherein:

the act of altering is at least in part via a graphical user interface.

45. A computer-readable memory device storing a set of instructions which, when executed by a processor, cause the processor to perform a process comprising:

accessing a networked computing system template;

automatically instantiating a networked computing system according to the template; and wherein

the template includes a hardware manifest of required hardware primitives, and the hardware manifest includes a description of a required number of partitions of

a plurality of partitionable symmetric multiprocessors.

46. The computer-readable memory of claim 45 , wherein:

the template is an instance of a server specification.

47. The computer-readable memory of claim 45 , wherein:

the networked computing system is an instance of a provisioned server.

48. The computer-readable memory of claim 45 , wherein:

the act of instantiating the networked computing system is an instance of forming a provisioned server.

49. The computer-readable memory of claim 45 , wherein:

the hardware manifest is an instance of a hardware specification.

50. The computer-readable memory of claim 45 , wherein:

the act of automatically instantiating includes programmatically managing a free primitives pool.

51. The computer-readable memory of claim 50 , wherein:

the act of automatically instantiating further includes programmatically allocating resources from the free primitives pool according to the template.

52. The computer-readable memory of claim 45 , wherein:

the partitions are physical partitions and the partitionable symmetric multiprocessors are physically-partitionable symmetric multiprocessors.

53. The computer-readable memory of claim 45 , wherein:

each of the partitions couples to a switch fabric via a switch fabric interface.

54. The computer-readable memory of claim 53 , wherein:

each of the partitions is designed to independently couple to the switch fabric.

55. The computer-readable memory of claim 45 , wherein:

each of the partitionable symmetric multiprocessors is partitionable into a plurality of configurations, including a first configuration having a first number of partitions, and a second configuration having a second number of partitions.

56. The computer-readable memory of claim 55 , wherein:

the configurations include a third configuration having a single partition.

57. The computer-readable memory of claim 45 , wherein:

the template further includes hardware configuration information.

58. The computer-readable memory of claim 45 , wherein:

the template further includes a software manifest of required software primitives.

59. The computer-readable memory of claim 58 , wherein:

the template further includes software configuration information.

60. The computer-readable memory of claim 45 , wherein:

the required hardware primitives include a description of required compute primitives.

61. The computer-readable memory of claim 60 , wherein:

the required compute primitives include required application compute primitives.

62. The computer-readable memory of claim 61 , wherein:

the required number of partitions corresponds to a subset of the required application compute primitives.

63. The computer-readable memory of claim 60 , wherein:

the required compute primitives include required service compute primitives.

64. The computer-readable memory of claim 45 , further including:

altering the template.

65. The computer-readable memory of claim 64 , wherein:

the act of altering is at least in part via a command line interface.

66. The computer-readable memory of claim 64 , wherein:

the act of altering is at least in part via a graphical user interface.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 19, 2013
From: HABANERO HOLDINGS, INC.
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 029661/0587 →
Continuity (11)
Continuation 12728250 · Mar 21, 2010
Continuation 11057048 · Feb 12, 2005
Continuation In Part 10889469 · Jul 12, 2004
Continuation In Part 10889468 · Jul 12, 2004
Continuation In Part 10889467 · Jul 12, 2004
Provisional Application 60650707 · Feb 7, 2005
Provisional Application 60651027 · Feb 7, 2005
Provisional Application 60603250 · Aug 20, 2004
Provisional Application 60563222 · Apr 17, 2004
Provisional Application 60544916 · Feb 13, 2004
Provisional Application 60651026 · Feb 7, 2005