IP Library Granted Patent US 7,401,131
Granted Patent B2
US 7,401,131 · App. 10/113,691 · Granted Jul 15, 2008

Method and system for implementing improved containers in a global ecosystem of interrelated 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 7,401,131
App. No.
10/113,691
Granted
Jul 15, 2008
Kind
B2
Abstract

A service container provides a runtime operating environment for services managed remotely, configured remotely, load their code remotely, and found and communicated with remotely. The container scheme is the concept of a generic service container into which arbitrary software services may be homed to a host server at runtime. Each virtual machine runs a small set of code which identifies it as a service container and registers it with registries for making the service container visible and allows for remote communication.

Claims (133)

1. A method for implementing a service container for supporting a global ecosystem of interrelated services in an enterprise, said enterprise comprising: a plurality of network domains, each of said plurality of network domains further comprising:

a plurality of ubiquitous server machines, wherein the plurality of ubiquitous server machines is deployed as servers having a plurality of operating platforms;

at least one service container, said at least one service container running on each of the plurality of ubiquitous server machines; and

a plurality of interrelated services, each of the plurality of interrelated services running on any of the at least one service container; said method comprising:

deploying a service container in a local network domain of the plurality of network domains, wherein the plurality of network domains comprises a plurality of non-local network domains in addition to the network domain;

discovering a domain registrar, wherein the domain registrar is in the local network domain;

registering the service container with the local domain registrar by passing information related to the service container to the local domain register, wherein said information related to the service container is visible to a client from the domain register;

finding a global lookup in the enterprise, wherein the global lookup is outside the local network domain; and registering the service container with the global lookup by passing information related to the service container to the global lookup, wherein said information related to the service container is visible to a client from the global lookup.

2. The method recited in claim 1 , wherein the service container is a virtual machine service container running directly on one of the plurality of operating platforms on each of the plurality of ubiquitous server machines.

3. The method recited in claim 2 , wherein the service container is a virtual machine heavy-weight process and deploying a service container in a local network domain further comprises:

executing a boot script;

booting a server of the plurality of ubiquitous server machines, wherein booting the server is in response to executing the boot script; and

launching a service container, wherein launching the service container is in response to executing the boot script.

4. The method recited in claim 2 , wherein the service container is a virtual machine heavy-weight process and deploying a service container in a local network domain is accomplished by one of, manually executing a script by telneting into one of the plurality of ubiquitous server machines, starting one of the plurality of ubiquitous server machines' operating system, using an operating system-specific scheduling mechanism, or using Remote Method Invocation (RMJ) activation.

5. The method recited in claim 3 , wherein the virtual machine heavy-weight process is multi-threaded and deploying a service container in a local network domain further comprises:

executing a first thread for a first service running in the service container; and

executing a second thread for a second service running in the service container.

6. The method recited in claim 3 , wherein the service container further comprises:

a plurality of generic container processes, wherein the plurality of generic container processes adaptable for running any generic service in the global ecosystem of interrelated services.

7. The method recited in claim 3 , wherein the service container designates itself as a particular type of service container for running a particular type of service.

8. The method recited in claim 7 , wherein the particular type of service is one of Global Information Bus (GIB), DataBus, Management Operations Center (MOC) or customer specific.

9. The method recited in claim 7 , wherein registering the service container with the local domain registrar by passing information related to the service container to the local domain register further comprises:

passing information related to the particular type of service that the service container is designated to run.

10. The method recited in claim 7 , wherein registering the service container with the global lookup by passing information related to the service container to the global lookup further comprises:

passing information related to the particular type of service that the service container is designated to run.

11. The method recited in claim 2 , wherein at least a portion of the plurality of ubiquitous server machines is deployed as servers further comprises a particular resource type.

12. The method recited in claim 11 , wherein the particular resource type further comprises:

a database resource.

13. The method recited in claim 11 , wherein the particular resource type further comprises:

a rules engine resource.

14. The method recited in claim 11 wherein the particular resource type further comprises:

one of a database resource and a rules engine resource.

15. The method recited in claim 14 , wherein the database resource type further comprises:

a particular vendors specific database type.

16. The method recited in claim 14 , wherein the service container designates itself as a particular type of service container based on the particular resource type managed by a particular server of the at least a portion of the plurality of ubiquitous server machines.

17. The method recited in claim 7 , wherein registering the service container with the local domain registrar by passing information related to the service container to the local domain register further comprises:

passing information related identifying the particular type of service that the service container designates to run.

18. The method recited in claim 7 , wherein registering the service container with the global lookup by passing information related to the service container to the global lookup further comprises:

passing information related to the particular type of service that the service container is designated to run.

19. The method recited in claim 2 further comprises: registering the service container with a Remote Method Invocation (RMI) registry, wherein registering includes passing information related to the service container to a Remote Method Invocation (RMJ) registry, said information comprising at least a URL address for a specific server of the plurality of ubiquitous server machines running said at least one service container.

20. The method recited in claim 2 , wherein the service container is substantially Java compliant.

21. The method recited in claim 7 further comprises: discovering the domain registrar, wherein the domain registrar is in the local network domain;

looking up the service container with the local domain registrar; and

launching a first service in the service container.

22. The method recited in claim 7 further comprises: discovering the domain registrar, wherein the domain registrar is in the local network domain;

looking up the service container with the local domain registrar;

finding a global lookup in the enterprise, wherein the global lookup is outside the local network domain;

looking up the service container in the global lookup; and

launching a first service in the service container.

23. The method recited in claim 22 further comprises: discovering the domain registrar, wherein the domain registrar is in the local network domain;

looking up the service container with the local domain registrar;

finding a global lookup in the enterprise, wherein the global lookup is outside the local network domain;

looking up the service container in the global lookup; and

launching a second service in the service container.

24. The method recited in claim 21 , wherein looking up the service container with the local domain registrar further comprises:

looking for a service container designated as a particular type of service container running in the local domain registrar.

25. The method recited in claim 21 , wherein looking up the service container in the global lookup further comprises:

looking for a service container designated as a particular type of service container running in the enterprise.

26. The method recited in claim 18 further comprises: discovering the domain registrar, wherein the domain registrar is in the local network domain;

looking up the service container with the local domain registrar; and launching a first service in the service container.

27. The method recited in claim 26 , wherein looking up the service container with the local domain registrar further comprises:

looking for a service container designated as a particular type of service container based on a particular resource type managed by a particular server of the at least a portion of the plurality of ubiquitous server machines, wherein the service container is running in the local domain registrar.

28. A data processing system implemented program product embodied on a data processing system readable medium for implementing a service container for supporting a global ecosystem of interrelated services in an enterprise, said enterprise comprising:

a plurality of network domains, each of said plurality of network domains further compnsing:

a plurality of ubiquitous server machines, wherein the plurality of ubiquitous server machines is deployed as servers having a plurality of operating platforms;

at least one service container, said at least one service container running on each of the plurality of ubiquitous server machines; and

a plurality of interrelated services, each of the plurality of interrelated services running on any of the at least one service container;

said program product comprising:

instruction for deploying a service container in a local network domain of the plurality of network domains, wherein the plurality of network domains comprises a plurality of non-local network domains in addition to the network domain;

instruction for discovering a domain registrar, wherein the domain registrar is in the local network domain;

instruction for registering the service container with the local domain registrar by passing information related to the service container to the local domain register, wherein said information related to the service container is visible to a client from the domain register;

instruction for finding a global lookup in the enterprise, wherein the global lookup is outside the local network domain; and

instruction for registering the service container with the global lookup by passing information related to the service container to the global lookup, wherein said information related to the service container is visible to a client from the global lookup.

29. The program product recited in claim 28 , wherein the service container is a virtual machine service container running directly on one of the plurality of operating platforms on each of the plurality of ubiquitous server machines.

30. The program product recited in claim 29 , wherein the service container is a virtual machine heavy-weight process and the instruction for deploying a service container in a local network domain further comprises:

instruction for executing a boot script;

instruction for booting a server of the plurality of ubiquitous server machines, wherein booting the server is in response to executing the boot script; and

instruction for launching a service container, wherein launching the service container is in response to executing the boot script.

31. The program product recited in claim 29 , wherein the service container is a virtual machine heavy-weight process and the instruction for deploying a service container in a local network domain is accomplished by one of, manually executing a script by telneting into one of the plurality of ubiquitous server machines, starting one of the plurality of ubiquitous server machines' operating system, using an operating system-specific scheduling mechanism, or using Remote Method Invocation (RMJ) activation.

32. The program product recited in claim 30 , wherein the virtual machine heavyweight process is multi-threaded and the instruction for deploying a service container in a local network domain further comprises:

instruction for executing a first thread for a first service running in the service container; and

instruction for executing a second thread for a second service running in the service container.

33. The program product recited in claim 30 , wherein the service container further comprises:

instruction for executing a plurality of generic container processes, wherein the plurality of generic container processes adaptable for running any generic service in the global ecosystem of interrelated services.

34. The program product recited in claim 30 , wherein the service container designates itself as a particular type of service container for running a particular type of service.

35. The program product recited in claim 34 , wherein the particular type of service is one of Global Information Bus (GIB), DataBus, Management Operations Center (MOC) or customer specific.

36. The program product recited in claim 34 , wherein the instruction for registering the service container with the local domain registrar by passing information related to the service container to the local domain register further comprises:

instruction for passing information related to identifying the particular type of service that the service container is designated to run.

37. The program product recited in claim 34 , wherein the instruction for registering the service container with the global lookup by passing information related to the service container to the global lookup further comprises:

instruction for passing information related to the particular type of service that the service container is designated to run.

38. The program product recited in claim 29 , wherein at least a portion of the plurality of ubiquitous server machines is deployed as servers further comprises a particular resource type.

39. The program product recited in claim 38 , wherein the particular resource type further comprises:

a database resource.

40. The program product recited in claim 38 , wherein the particular resource type further comprises:

a rules engine resource.

41. The program product recited in claim 38 wherein the particular resource type further comprises:

one of a database resource and a rules engine resource.

42. The program product recited in claim 41 , wherein the database resource type further comprises:

a particular vendor's specific database type.

43. The program product recited in claim 41 , wherein the service container designates itself as a particular type of service container based on the particular resource type managed by a particular server of the at least a portion of the plurality of ubiquitous server machines.

44. The program product recited in claim 34 , wherein the instruction for registering the service container with the local domain registrar by passing information related to the service container to the local domain register further comprises:

instruction for passing information related to the particular type of service that the service container is designated to run.

45. The program product recited in claim 34 , wherein the instruction for registering the service container with the global lookup by passing information related to the service container to the global lookup further comprises:

instruction for passing information related to the particular type of service that the service container is designated to run.

46. The program product recited in claim 29 further comprises:

instruction for registering the service container with a Remote Method Invocation (RMJ) registry, wherein registering includes passing information related to the service container to a Remote Method Invocation (RMJ) registry, said information comprising at least a URL address for a specific server of the plurality of ubiquitous server machines running said at least one service container.

47. The program product recited in claim 29 , wherein the service container is substantially Java compliant.

48. The program product recited in claim 34 further comprises:

instruction for discovering the domain registrar, wherein the domain registrar is in the local network domain;

instruction for looking up the service container with the local domain registrar; and

instruction for launching a first service in the service container.

49. The program product recited in claim 34 further comprises:

instruction for discovering the domain registrar, wherein the domain registrar is in the local network domain;

instruction for looking up the service container with the local domain registrar;

instruction for finding a global lookup in the enterprise, wherein the global lookup is outside the local network domain;

instruction for looking up the service container in the global lookup; and

instruction for launching a first service in the service container.

50. The program product recited in claim 49 further comprises:

instruction for discovering the domain registrar, wherein the domain registrar is in the local network domain;

instruction for looking up the service container with the local domain registrar;

instruction for finding a global lookup in the enterprise, wherein the global lookup is outside the local network domain;

instruction for looking up the service container in the global lookup; and

instruction for launching a second service in the service container.

51. The program product recited in claim 48 , wherein the instruction for looking up the service container with the local domain registrar further comprises:

instruction for looking for a service container designated as a particular type of service container running in the local domain registrar.

52. The program product recited in claim 48 , wherein the instruction for looking up the service container in the global lookup further comprises:

instruction for looking for a service container designated as a particular type of service container running in the enterprise.

53. The program product recited in claim 45 further comprises:

instruction for discovering the domain registrar, wherein the domain registrar is in the local network domain;

instruction for looking up the service container with the local domain registrar; and

instruction for launching a first service in the service container.

54. The program product recited in claim 53 , wherein the instruction for looking up the service container with the local domain registrar further comprises:

instruction for looking for a service container designated as a particular type of service container based on the particular resource type managed by a particular server of the at least a portion of a plurality of ubiquitous server machines, wherein the service container is running in the local domain registrar.

Assignments (8)
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED AT REEL: 032734 FRAME: 0502. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Nov 28, 2017
From: VERIZON BUSINESS GLOBAL LLC
To: VERIZON PATENT AND LICENSING INC.
Reel/Frame 044626/0088 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 16, 2015
From: VERIZON PATENT AND LICENSING INC.
To: EKMK LIMITED LIABILITY COMPANY
Reel/Frame 035169/0180 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 22, 2014
From: VERIZON BUSINESS GLOBAL LLC
To: VERIZON PATENT AND LICENSING INC.
Reel/Frame 032734/0502 →
CHANGE OF NAME Recorded Apr 10, 2007
From: MCI, LLC
To: VERIZON BUSINESS GLOBAL LLC
Reel/Frame 019138/0132 →
MERGER Recorded Apr 10, 2007
From: MCI, INC.
To: MCI, LLC
Reel/Frame 019138/0081 →
CHANGE OF NAME Recorded Sep 21, 2004
From: WORLDCOM, INC.
To: MCI, INC.
Reel/Frame 015154/0269 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2002
From: ROBERTSON, JAMES A.; GREENE, WILLIAM S.; STILLWELL, CHRIS
To: WORLDCOM, INC.
Reel/Frame 012891/0616 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 2, 2002
From: ROBERTSON, JAMES A.; GREENE, WILLIAM S.; STILLWELL, CHRIS
To: WORLDCOM, INC.
Reel/Frame 012866/0635 →