IP Library Granted Patent US 8,239,553
Granted Patent B2
US 8,239,553 · App. 12/109,208 · Granted Aug 7, 2012

Providing services for multiple business consumers

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,239,553
App. No.
12/109,208
Granted
Aug 7, 2012
Kind
B2
Abstract

Methods, systems, and apparatus, including computer program products, for providing services to business organization clients involve receiving a request for a particular service, identifying configuration data relating to the request, sending a service request to a service provider of the service, and providing the service to a service consumer in accordance with data returned in response to the service request. The service consumer is identified from the request for a particular service. Configuration data corresponding to the service consumer is identified. The service provider for the service and resource data corresponding to the service are identified from the configuration data. A service request is sent to the service provider and data relating to the service is returned from the service provider. The service is provided to the service consumer in a shared runtime environment based at least in part on the received data relating to the service.

Claims (77)

1. A method for providing services to a plurality of business organization clients, the method comprising:

receiving a request for a particular service provided by one of a plurality of service providers, wherein the request includes an identification of a first one of a plurality of business organization clients, wherein each of the business organization clients has corresponding configuration data;

identifying first configuration data corresponding to the first business organization client, at least a portion of the first configuration data designating a first environment under which the first business organization client operates, the first environment defining a first subset of service providers available to the first business organization client;

identifying a service provider for the particular service based at least in part on the first configuration data;

identifying first resource data from the first configuration data corresponding to the particular service;

sending a service request for the particular service to the identified service provider, wherein the service request identifies the first resource data;

receiving data relating to the service request from the identified service provider; and

providing the particular service to the first business organization client in a shared runtime environment based at least in part on the received data.

2. The method of claim 1 , further comprising:

receiving a second request for a second service provided by a service provider of the second service, wherein the second request includes an identification of a second one of a plurality of business organization clients;

identifying second configuration data corresponding to the second business organization client, at least a portion of the configuration data designating a second environment under which the second business organization client operates, the second environment defining a second subset of service providers, independent of said first subset, that is available to the second business organization client;

identifying the service provider of the second service based at least in part on the second configuration data;

identifying second resource data from the second configuration data corresponding to the second service;

sending a service request for the second service to the service provider of the second service, wherein the service request identifies the second resource data;

receiving data relating to the service request for the second service from the service provider of the second service; and

providing the second service to the second business organization client based at least in part on the received data relating to the service request for the second service.

3. The method of claim 1 wherein the request for a particular service further comprises payload data related to the particular service.

4. The method of claim 1 wherein providing the particular service comprises passing the data relating to the service request received from the identified service provider to the first business organization client.

5. The method of claim 1 further comprising processing the data relating to the service request received from the identified service provider prior to providing the particular service to the first business organization client in a shared runtime environment.

6. The method of claim 1 further comprising:

receiving a second request for a second service provided by one of the plurality of service providers, wherein the second request includes an identification of the first business organization client;

identifying second configuration data corresponding to the first business organization client in response to the second request;

identifying a service provider of the second service based at least in part on the second configuration data;

identifying second resource data from the second configuration data corresponding to the second service;

sending a service request for the second service to the identified service provider of the second service, wherein the service request for the second service identifies the second resource data corresponding to the second service;

receiving data relating to the service request for the second service from the identified service provider of the second service; and

providing the second service to the first business organization client in a shared runtime environment based at least in part on the received data relating to the service request for the second service.

7. The method of claim 1 further comprising:

receiving authentication data in connection with the identification of a first one of a plurality of business organization clients; and

affirming that the client credentials correspond to the first business organization client prior to sending the service request to the identified service provider.

8. The method of claim 1 further comprising:

caching data comprising at least one of the service request, payload data relating to the service request, or received data relating to the service request.

9. The method of claim 8 , the method further comprising:

masking at least a portion of the cached data based at least in part on the first resource data.

10. A system comprising:

a service manager that:

receives a request for a particular service from at least one of a plurality of business organization clients capable of transmitting the request for a particular service,

identifies a first business organization client from the request,

stores configuration data corresponding to each of the plurality of business organization clients, at least a portion of the configuration data defining an environment service profile, each environment service profile defining a different subset of service providers available to a respective business organization client;

identifies at least one service provider, capable of providing data corresponding to a request for a particular service, and first resource data based at least in part on first configuration data corresponding to the first business organization client;

sends a service request to the at least one service provider, wherein the service request comprises the first resource data;

receives data corresponding to the request for a particular service, and

provides the particular service to the first business organization client in a shared runtime environment based at least in part on the received data corresponding to the request for a particular service.

11. The system of claim 10 wherein the service manager comprises a user authentication module, wherein the user authentication module identifies the first business organization client from the request.

12. The system of claim 11 wherein the user authentication module further receives user credentials associated with the first business organization client and authenticates the first business organization client based at least in part on the user credentials.

13. The system of claim 10 wherein the service manager comprises a configuration module, wherein the configuration module identifies the at least one service provider and first resource data based at least in part on the first configuration data.

14. The system of claim 10 wherein the service manager simultaneously provides a plurality of services to a plurality of business organization clients.

15. The system of claim 10 wherein the service manager comprises a logger module that monitors service manager performance and stores data relating to service manager performance.

16. An article comprising a non-transitory machine-readable medium storing instructions for causing computer processing apparatus to perform operations comprising:

interpreting a received request for a particular service provided by one of a plurality of service providers to identify a first one of a plurality of business organization clients;

selectively retrieving stored configuration data corresponding to each of the plurality of business organization clients, at least a portion of the configuration data defining an environment service profile under which each business organization client operates, each environment service profile defining a different subset of service providers available to a respective business organization client;

identifying first configuration data from the stored configuration data corresponding to the first business organization client;

identifying a service provider for the particular service based at least in part on the first configuration data;

identifying first resource data from the first configuration data corresponding to the particular service;

sending a service request for the particular service to the identified service provider, wherein the service request identifies the first resource data;

receiving data relating to the service request from the identified service provider; and

processing the received data relating to the service request to provide the particular service to the first business organization client in a shared runtime environment.

17. The article of claim 16 wherein the machine-readable medium further stores instructions for causing computer processing apparatus to perform operations comprising:

interpreting a second received request for a second service provided by one of a plurality of remote service providers to identify a second one of a plurality of business organization clients;

identifying second configuration data from the stored configuration data corresponding to the second business organization client;

identifying a service provider for the second service based at least in part on the second configuration data;

identifying second resource data from the second configuration data corresponding to the second service;

sending a service request for the second service to the identified service provider for the second service, wherein the service request identifies the second resource data;

receiving data relating to the service request for the second service from the identified service provider for the second service; and

processing the received data relating to the service request for the second service to provide the second service to the second business organization client in a shared runtime environment.

18. The article of claim 16 wherein the machine-readable medium further stores instructions for causing computer processing apparatus to perform operations comprising:

receiving authentication data from the source of the request for the particular service; and

processing the authentication data to interpret whether the source of the request is authorized to request the particular service.

19. The article of claim 16 wherein the machine-readable medium further stores instructions for causing computer processing apparatus to perform operations comprising:

receiving a modification request from the first business organization client to modify configuration data relating to the first business organization client; and

modifying the configuration data in accordance with the modification request.

20. The article of claim 19 wherein the machine-readable medium further stores instructions for causing computer processing apparatus to perform operations comprising:

receiving authentication data from the source of the modification request; and

processing the authentication data to interpret whether the source of the modification request is authorized to modify configuration data relating to the first business organization client.

21. The article of claim 16 wherein the machine-readable medium further stores instructions for causing computer processing apparatus to perform operations comprising:

receiving a service update request from a first one of the plurality of service providers, wherein the service update requests updating configuration data related to at least one service administered by the service provider; and

modifying the configuration data in accordance with the service update request.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 13, 2017
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
To: ENT. SERVICES DEVELOPMENT CORPORATION LP
Reel/Frame 041041/0716 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 25, 2009
From: ELECTRONIC DATA SYSTEMS, LLC
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 022449/0267 →
CHANGE OF NAME Recorded Mar 24, 2009
From: ELECTRONIC DATA SYSTEMS CORPORATION
To: ELECTRONIC DATA SYSTEMS, LLC
Reel/Frame 022460/0948 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2008
From: MANNAR, SATEESH K.
To: ELECTRONIC DATA SYSTEMS CORPORATION
Reel/Frame 021100/0677 →