IP Library Granted Patent US 7,971,187
Granted Patent B2
US 7,971,187 · App. 11/379,974 · Granted Jun 28, 2011

Configurable software stack

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,971,187
App. No.
11/379,974
Granted
Jun 28, 2011
Kind
B2
Abstract

Described are software stacks for accepting and implementing portable packages containing encodings of processes. The packages are portable and distinct from the technology stacks. The packages may be in the form of declarative code for configuring the technology stacks and can be plugged into the technology stacks to allow the technology stack to play the packages, thereby automating the processes encoded by the packages. The technology stacks have components that are declaratively configurable such that they can provide their functionality autonomously and yet can also, as a unit, in performing their respective functions, cooperatively perform the processes encoded by the packages.

Claims (32)

1. A physical computer-readable medium comprising computer-executable instructions that, when executed by a computer, cause the computer to perform a method comprising:

providing a first service of a plurality of services wherein each of the services is autonomous and configured to perform a distinct function in an information technology (“IT”) infrastructure, and wherein the plurality of services is a stack in the IT infrastructure;

receiving configuration information from a loader based on a first code portion of a plurality of code portions in a package, wherein the first code portion is directed to the first service, and wherein at least one other code portion is directed to at least one other of the plurality of services, and wherein the package is distinct from the stack and the loader, and wherein the package includes a declarative encoding of a business or IT process;

further configuring the first service according to the configuration information, wherein the further configuring comprises searching, in the package, for references directed to the at least one other of the plurality of services, and wherein the first service comprises a linking framework configured to integrate the stack with systems outside the stack; and

interoperating, in response to the further configuring, with the at least one other of the plurality of services according to the configuration information and the declarative encoding of the business or IT process.

2. The physical computer-readable medium of claim 1 , wherein the first service comprises a workflow framework configured to manage and execute workflows.

3. The physical computer-readable medium of claim 1 , wherein the first service comprises a knowledge framework configured to provide a knowledge management IT application service.

4. The physical computer-readable medium of claim 1 , wherein the first service comprises a portal framework configured to manage and provide web portals.

5. The physical computer-readable medium of claim 1 , wherein the first service comprises an object store configured to store objects and relations therebetween.

6. The physical computer-readable medium of claim 5 , wherein the object store comprises a Configuration Management Database (CMDB).

7. The physical computer-readable medium of claim 1 , wherein the first service comprises a forms framework configured to provide a forms IT application service.

8. A method comprising:

providing a first service of a plurality of services wherein each of the services is autonomous and configured to perform a distinct function in an information technology (“IT”) infrastructure, and wherein the plurality of services is a stack in the IT infrastructure;

receiving configuration information from a loader based on a first code portion of a plurality of code portions in a package, wherein the first code portion is directed to the first service, and wherein at least one other code portion is directed to at least one other of the plurality of services, and wherein the package is distinct from stack and the loader, and wherein the package includes a declarative encoding of a business or IT process;

further configuring the first service according to the configuration information, wherein the further configuring comprises searching, in the package, for references directed to the at least one other of the plurality of services, and wherein the first service comprises a linking framework configured to integrate the stack with systems outside the stack;

interoperating, in response to the further configuring, with the at least one other of the plurality of services according to the configuration information and the declarative encoding of the business or IT process; and

wherein the method is performed by a computer.

9. The method of claim 8 , wherein the first service comprises a workflow framework configured to manage and execute workflows.

10. The method of claim 8 , wherein the first service comprises a knowledge framework configured to provide a knowledge management IT application service.

11. The method of claim 8 , wherein the first service comprises a portal framework configured to manage and provide web portals.

12. The method of claim 8 , wherein the first service comprises an object store configured to store objects and relations therebetween.

13. The method of claim 12 , wherein the object store comprises a Configuration Management Database (CMDB).

14. The method of claim 8 , wherein the first service comprises a forms framework configured to provide a forms IT application service.

15. A system comprising:

a computing device;

a first stack component configured to operate on the device, wherein the first stack component is one of a plurality of stack components, and wherein each stack component is autonomous and configured to provide a service of a plurality of services;

the first stack component further configured to provide a first service of the plurality of services wherein each of the services is configured to perform a distinct function in an information technology (“IT”) infrastructure, and wherein the plurality of stack components is a stack in the IT infrastructure;

the first stack component further configured to receive configuration information from a loader based on a first code portion of a plurality of code portions in a package, wherein the first code portion is directed to the first stack component, and wherein at least one other code portion is directed to at least one other of the plurality of stack components, and wherein the package is distinct from the stack and the loader, and wherein the package includes a declarative encoding of a business or IT process;

the first stack component further configured to configure the first service according to the configuration information, wherein the configure the first service comprises searching, in the package, for references directed to the at least one other of the plurality of services, and wherein the first service comprises a linking framework configured to integrate the stack with systems outside the stack; and

the first service further configured to interoperate, in response to the first service being configured according to the configuration information, with the at least one other of the plurality of services according to the configuration information and the declarative encoding of the business or IT process.

16. The system of claim 15 wherein the first stack component comprises a workflow framework configured to manage and execute workflow services.

17. The system of claim 15 wherein the first stack component comprises a knowledge framework configured to provide a knowledge management IT application service.

Assignments (4)
CORRECTIVE ASSIGNMENT TO CORRECT THE RECORDAL TO REMOVE INADVERTENTLY RECOREDED PROPERTIES SHOWN IN ATTACHED SHEET PREVIOUSLY RECORDED AT REEL: 047681 FRAME: 0916. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jul 18, 2019
From: MICROSOFT TECHNOLOGY LICENSING, LLC
To: SERVICENOW, INC.
Reel/Frame 049797/0119 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 29, 2018
From: MICROSOFT TECHNOLOGY LICENSING, LLC
To: SERVICENOW, INC.
Reel/Frame 047681/0916 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034542/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 14, 2006
From: SANGHVI, ASHVINKUMAR J.; ZIZYS, GIEDRIUS; RAJARAJAN, VIJ
To: MICROSOFT CORPORATION
Reel/Frame 017935/0223 →