Method and system for implementing a global information bus in a global ecosystem of interrelated services
First Claim
1. A method for implementing a Global Information Bus (GIB) system for managing a global ecosystem of interrelated services in an enterprise, the method comprising:
- deploying a service in a network domain, the enterprise comprising a plurality of non-local network domains in addition to the network domain, where each network domain is at least partially defined by a multicast radius;
discovering a domain registrar, the domain registrar being in the network domain and where discovery of the domain registrar is based on the multicast radius of the network domain;
registering the service with the domain registrar by passing information related to the service to the domain registrar, said information related to the service being one of location information for the domain registrar in the network domain where the service is registered or an implementation interface, and where said information is only visible to a client in the network;
finding a global lookup in the enterprise, the global lookup being outside the network domain; and
listing the service with the global lookup by passing information related to the service to the global lookup, said information related to the service being visible to a client in the enterprise.
7 Assignments
0 Petitions
Accused Products
Abstract
A Global Information Bus (GIB) architecture is an infrastructure for deploying and managing individual services on a global scale. The GIB is a series of services that may change from one execution to another, finding and collaborating with other services dynamically. This series of collaborating services may start to resemble an ecosystem, and GIB architecture may maintain the interconnectedness and stability of this ecosystem as it continually changes. To that end, the GIB includes an enterprise repository service for storing related information related to services running in the enterprise where the enterprise consists of a group of network domains.
247 Citations
115 Claims
-
1. A method for implementing a Global Information Bus (GIB) system for managing a global ecosystem of interrelated services in an enterprise, the method comprising:
-
deploying a service in a network domain, the enterprise comprising a plurality of non-local network domains in addition to the network domain, where each network domain is at least partially defined by a multicast radius; discovering a domain registrar, the domain registrar being in the network domain and where discovery of the domain registrar is based on the multicast radius of the network domain; registering the service with the domain registrar by passing information related to the service to the domain registrar, said information related to the service being one of location information for the domain registrar in the network domain where the service is registered or an implementation interface, and where said information is only visible to a client in the network; finding a global lookup in the enterprise, the global lookup being outside the network domain; and listing the service with the global lookup by passing information related to the service to the global lookup, said information related to the service being visible to a client in the enterprise. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
-
29. A method for implementing a Global Information Bus (GIB) system for managing a global ecosystem of interrelated services in an enterprise, the method comprising:
-
defining a plurality of network domains, each of a plurality of network domains comprising a plurality of host servers, where each of the plurality of network domains is partially defined by a multicast radius; homing a plurality of arbitrary services on each of the plurality of host servers; registering a first arbitrary service of the plurality of arbitrary services in a first network domain of the plurality of network domains in which the first arbitrary service is running, where the first arbitrary service is visible to a client running within the first network domain and not visible to a client running outside the first network domain based on the multicast radius of the first network domain; and registering a second arbitrary service of the plurality of arbitrary services, where the registering comprises listing the second arbitrary service with a global lookup service that provides enterprise-wide visibility for services listed within the global lookup service, where the second arbitrary service is registered in a second network domain of the plurality of network domains in which the second arbitrary service is running, and where the second arbitrary service is visible to a client running within the second network domain and visible to a client running outside the second network domain. - View Dependent Claims (30, 31, 32)
-
-
33. A program product embodied on a non-transitory computer processing system readable medium, having instructions executable by at least one processor, for implementing a method for implementing a Global Information Bus (GIB) system for managing a global ecosystem of interrelated services in an enterprise, the program product comprising:
instructions, when executed by the at least one processor, cause the processor to; deploy a service in a network domain, where the enterprise comprises a plurality of network domains and each network domain is at least partially defined by a multicast radius; discover a domain registrar, where the domain registrar is in the network domain and where discovery of the domain registrar is based in part on the multicast radius of the network domain; register the service with the domain registrar by passing information related to the service to the domain registrar, where said information related to the service is visible to a client from the domain registrar and comprises a proxy reference for the service, service attributes for the service, location information for the domain registrar in the network domain where the service is registered, or an implementation interface, the service being visible only to a client in the network domain; find a global lookup in the enterprise, where the global lookup is outside the network domain; and list the service with the global lookup by passing information related to the service to the global lookup, where said information related to the service is visible to a client in the enterprise. - View Dependent Claims (34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60)
-
61. A program product embodied on a non-transitory computer processing system readable medium, having instructions executable by at least one processor, for implementing a method for implementing a Global Information Bus (GIB) system for managing a global ecosystem of interrelated services in an enterprise, the program product comprising:
-
instructions, when executed by the at least one processor, cause the processor to; define a plurality of network domains, each of a plurality of network domains comprising a plurality of host servers, where each of the plurality of network domains is partially defined by a multicast radius; home a plurality of arbitrary services on each of the plurality of host servers; register a first arbitrary service of the plurality of arbitrary services in a first network domain of the plurality of network domains in which the first arbitrary service is running, where the first arbitrary service is visible to a client running within the first network domain and not visible to a client running outside the first network domain based on the multicast radius of the first network domain; and register a second arbitrary service of the plurality of arbitrary services in a second network domain of the plurality of network domains in which the second arbitrary service is running, where the second arbitrary service is visible to a client running within the second network domain and visible to a client running outside the second network domain, and where the registering comprises listing the second arbitrary service with a global lookup service that provides enterprise-wide visibility for services within the global lookup service. - View Dependent Claims (62, 63, 64)
-
-
65. A system for implementing a Global Information Bus (GIB) for managing a global ecosystem of interrelated services in an enterprise, the system comprising:
-
a first host processor for implementing an enterprise repository for the enterprise, where the enterprise repository receives related information for an arbitrary service and lists the related information therein for a client in the enterprise; a first network domain of a plurality of network domains, where the first network domain is at least partially defined by a first multicast radius; and a second network domain of the plurality of network domains, where the second network domain is at least partially defined by a second multicast radius, comprising; a second host processor for running a domain registry service for the second network domain, where the domain registry service receives related information for an arbitrary service, where the related information includes a proxy reference for the arbitrary service, service attributes for the arbitrary service, location information for the domain registry service or an implementation interface related to the arbitrary service, where the domain registry service lists the related information for the arbitrary service therein, and where discovery of the domain registry service is based in part on the second multicast radius of the second network domain; a third host processor for running a first arbitrary service, where the first arbitrary service discovers the domain registry service and passes related information to the domain registry service; and a fourth host processor for running a second arbitrary service, where the second arbitrary service discovers the domain registry service, passes related information to the domain registry service, finds the enterprise repository, and passes related information to the enterprise repository. - View Dependent Claims (66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92)
-
-
93. A data processing system for managing a global ecosystem of interrelated services in an enterprise, the system comprising:
-
a plurality of network domains, each of the plurality of network domains comprising a plurality of host servers, the host servers being implemented at least partially in hardware, each of the plurality of network domains being at least partially defined by a multicast radius, where one or more of the plurality of host servers comprising an enterprise repository for registering one or more arbitrary services so that the one or more arbitrary services have enterprise-wide visibility; a plurality of arbitrary services homed on each of the plurality of host servers; a first arbitrary service of the plurality of arbitrary services in a first network domain of the plurality of network domains in which the first arbitrary service is running, where the first arbitrary service registers in the first network domain and becomes visible to a client running within the first network domain and not visible to a client running outside the first network domain based in part on the multicast radius of the network domain; and a second arbitrary service of the plurality of arbitrary services in a second network domain of the plurality of network domains in which the second arbitrary service is running, where the second arbitrary service registers in the second network domain and becomes visible to a client running within the second network domain, and lists in the enterprise and becomes visible to a client running outside the second network domain in the enterprise. - View Dependent Claims (94, 95, 96)
-
-
97. A method for implementing a Global Information Bus (GIB) system for managing a global ecosystem of interrelated services in an enterprise that comprises a plurality of logical domains, the method comprising:
-
receiving a request for a service from a client in a first one of the plurality of logical domains of the enterprise, where the first one of the plurality of logical domains is at least partially defined by a multicast radius, where the request is received in the first one of the plurality of logical domains and further includes a service identifier for the requested service, and where the service identifier includes an attribute of the service or an interface for the service; looking up the service identifier in a domain registry for the first one of the plurality of logical domains, where said domain registry lists services registered in the first one of the plurality of logical domains that are only visible to clients in the first one of the plurality of logical domains and not visible to clients outside of the first one of the plurality of logical domains based in part on the multicast radius of the first one of the plurality of logical domains; receiving an indication that the requested service is not available in the first one of the logical domains; upon receiving the indication, accessing an enterprise repository for the requested service using the service identifier, where the enterprise repository lists services running in at least two of the plurality of the logical domains of the enterprise, where the list of the enterprise repository is visible to clients of more than one logical domain of the plurality of logical domains of the enterprise; and returning information related to the requested service to the client. - View Dependent Claims (114, 115)
-
-
98. A data processing system implemented in a Global Information Bus (GIB) system for managing a global ecosystem of interrelated services in an enterprise, the system comprising:
-
one or more processors to implement; a plurality of services running in the enterprise, the enterprise comprising a plurality of network domains and at least one of the plurality of services running in each of the plurality of network domains, where each network domain is at least partially defined by a multicast radius, said plurality of services comprising; a plurality of generic container services for running services, where each of the plurality of generic container services is running on a server in one of the plurality of network domains; a plurality of domain registrar services for registering services running on a server in one of the plurality of network domains, where at least one of the plurality of domain registrar services is running in each of the plurality of network domains for registering services running in the each of the respective plurality of network domains; a plurality of health services for monitoring and responding to changes in the health of a service, where at least one of the plurality of health services is running in each of the plurality of network domains; a plurality of loader services for loading service code to a server in a network domain from a remotely located code server, where each of the plurality of loader services responds to communications from a health service with respect to changes in the health of a service; a plurality of trawler services, where each of the trawler services trawls a domain registrar service from the plurality of domain registrar services for information regarding changes in services running in the respective plurality of network domains; a plurality of scavenger services for receiving information regarding changes in services running in the respective plurality of network domains from at least one of the plurality of trawler services and updating information related to at least some of the plurality of services running in the enterprise with the information regarding changes in services running in the respective plurality of network domains; a plurality of transaction management services for creating and managing transactions for services running on a plurality of servers in the plurality of network domains, where the plurality of transaction management services is to create transactions for certain of the plurality of services when the certain of the plurality of services requests one or more transactions; and a plurality of find services for finding components of the enterprise; a plurality of mobile codes for a respective plurality of services, where the plurality of mobile codes reside on a code server; and a global lookup for storing information related to at least some of the plurality of services running in the enterprise. - View Dependent Claims (99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113)
-
Specification