US20080069082A1 - Service router for use with a service-oriented architecture environment - Google Patents

Service router for use with a service-oriented architecture environment Download PDF

Info

Publication number
US20080069082A1
US20080069082A1 US11/857,994 US85799407A US2008069082A1 US 20080069082 A1 US20080069082 A1 US 20080069082A1 US 85799407 A US85799407 A US 85799407A US 2008069082 A1 US2008069082 A1 US 2008069082A1
Authority
US
United States
Prior art keywords
service
router
segment
network
local
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US11/857,994
Inventor
Paul Patrick
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEA Systems Inc
Original Assignee
BEA Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by BEA Systems Inc filed Critical BEA Systems Inc
Priority to US11/857,994 priority Critical patent/US20080069082A1/en
Assigned to BEA SYSTEMS, INC. reassignment BEA SYSTEMS, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: PATRICK, PAUL
Publication of US20080069082A1 publication Critical patent/US20080069082A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/122Shortest path evaluation by minimising distances, e.g. by selecting a route with minimum of number of hops
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/508Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
    • H04L41/5096Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement wherein the managed service relates to distributed or central networked applications

Definitions

  • the invention is generally related to enterprise applications systems, and service-oriented architecture (SOA), and is particularly related to a service router for use with a service-oriented architecture environment.
  • SOA service-oriented architecture
  • SOA Service Oriented Architecture
  • IT Information Technology
  • each of these compartments contains an instance of an Enterprise Service Bus (ESB) at its core, providing an abstraction of location, evolution, and basic transformation capabilities for the services within that compartment.
  • EBS Enterprise Service Bus
  • the resulting environment is instead a new era of data silos, wherein the sharing of services is limited to the services that are contained within a compartment. This in turn limits the ability of an enterprise to transform its business and achieve greater agility. This is the area the present invention is designed to address.
  • Service Oriented Architecture (SOA) -based services require an infrastructure that can scale to the dimensions of today's computer networks, and that can address connectivity and resilience requirements that are not currently provided by the distributed Enterprise Service Bus (ESB) approach.
  • ESD distributed Enterprise Service Bus
  • the principles governing the topology of computer networks can be similarly applied to the service space—from small federated Service Segments (or sub-domains), to large public federated Service Domains.
  • Service Routers At the heart of the Service Network are one or more Service Routers, that are themselves responsible for transparently bridging between federated Service Segments.
  • the Service Routers determine where services reside in the Service Network and, based on routing information gathered through interaction with other Service Routers, Network Routers and other mechanisms (e.g., network routing protocols, and Web Service addressing protocols), deliver service requests, using optimal routes, from a source Service Segment to the target Service Segment.
  • an Enterprise Service Bus can abstract the location of services, and hide the existence of the Service Network (in particular, the Service Routers) from service requesters.
  • the ESB can be considered to play the role of a Service Switch that controls the routing (switching) within a federated Service Segment.
  • the Service Switch is then in charge of delivering service requests to a particular service implementation running within the Service Segment controlled by the Service Switch. If a service is not within the Service Segment, then the Service Switch communicates with a Service Router to ensure proper routing of service requests to the target destination.
  • FIG. 1 shows an illustration of a SOA development lifecycle, in accordance with an embodiment.
  • FIG. 2 shows an illustration of a system or infrastructure that comprises a Service Router, in accordance with an embodiment.
  • FIG. 3 shows an illustration of a system or infrastructure that comprises consumers, service providers, and a local service bus, in accordance with an embodiment.
  • FIG. 4 shows an illustration of a system or infrastructure that comprises two or more projects, in accordance with an embodiment.
  • FIG. 5 shows an illustration of a system or infrastructure that comprises a plurality of projects that can use a point to point connection, in accordance with an embodiment.
  • FIG. 6 shows an illustration of a system or infrastructure that comprises a plurality of projects, including services at different organizations, in accordance with an embodiment.
  • FIG. 7 shows an illustration of a system or infrastructure that comprises a mesh or mesh network, and can be used to broker services between different organizations, in accordance with an embodiment.
  • FIG. 8 shows an illustration of a Service Network layer model, in accordance with an embodiment.
  • FIG. 9 shows a flowchart of a Service Network method, in accordance with an embodiment.
  • FIG. 10 shows an illustration of how the Service Network can be incorporated into an application server environment, in accordance with an embodiment.
  • Service Oriented Architecture is becoming one of the main strategies that Information Technology (IT) organizations use to organize their business functions into interoperable, standards-based services, which can in turn be combined and reused quickly to meet the IT organization's business needs.
  • IT Information Technology
  • SOA technology can quickly result in a “service explosion” that does not scale well.
  • an enterprise begins to leverage the power of Service Oriented Architecture and attempts to share services located in different compartments, they find themselves faced with the task of having to configure a considerable amount of low-level infrastructure, typically in the form of queues that are necessary to interconnect the various Service Bus instances.
  • This “routing configuration” complexity grows as the number of compartments increases and still results in a point-to-point scenario, but now between the Service Bus instances both within a compartment, and across compartments. While this approach may provide the ability to ensure that a request is only delivered once to a particular destination, it also creates a situation where a request may remain in a queue for considerable periods of time since the path to the destination may not be available. This can be especially true if the path a request must follow must go through another compartment before reaching its destination.
  • These types of multi-hop scenarios typically require that the operations staff of multiple components must jointly share the routing capabilities and results in a situation where the impact of a failure or overload condition in an intermediary compartment is felt across the enterprise.
  • Service Oriented Architecture (SOA)-based services require an infrastructure that can scale to the dimensions of today's computer networks, and that can address connectivity and resilience requirements that are not currently provided by the distributed Enterprise Service Bus (ESB) approach.
  • SOA Service Oriented Architecture
  • EOB distributed Enterprise Service Bus
  • a system, method, and infrastructure referred to herein as a Service Network, is provided that can support an every-growing network of services.
  • Embodiments can also provide dynamic routing, to allow alternate paths to a destination to be found based on cost, availability, and congestion, and context.
  • a Service Network can be built using techniques that have been similarly applied to computer network technology. For example, the Internet-based Domain Naming Space (DNS) and its constituent routers are able to understand services protocols and can deal with network failure conditions to find the best route for sending Internet-based requests to the preferred places offering the corresponding information.
  • DNS Internet-based Domain Naming Space
  • the principles governing the topology of computer networks can be similarly applied to the service space—from small federated Service Segments (or sub-domains), to large public federated Service Domains.
  • the Service Network is designed to support the concept of “scale-free” networks, wherein some of the nodes in the network are more intelligent that others. It is also designed to follow the principle of Separation of Concerns, to ensure that an entity has a single purpose and that the entity is not responsible for attempting to address too many concerns. These principles, which are currently used in today's computer networks, can also be used to build a scalable Service Network architecture.
  • Service Routers that are themselves responsible for transparently bridging between federated Service Segments.
  • the Service Routers determine where services reside in the Service Network and, based on routing information gathered through interaction with other Service Routers, Network Routers and other mechanisms (e.g., network routing protocols, and Web Service addressing protocols), deliver service requests, using optimal routes, from a source Service Segment to the target Service Segment.
  • Service Routers focus on the header of the service requests, since they are only concerned about routing to a given service segment. As such, there is no need to unpack the message, and they have very low latency. Service Routers can be provided in a number of different packaging schemes, including service-aware network appliances.
  • an Enterprise Service Bus (ESB) at a particular service segment can abstract the location of services within that service segment, and hide the existence of the Service Network (in particular, the Service Routers) from service requesters. If compared to the analogy of computer network technology, then in accordance with an embodiment the ESB can be considered to play the role of a Service Switch that controls the routing (switching) within a federated Service Segment. The Service Switch is then in charge of delivering service requests to a particular service implementation running within the Service Segment controlled by the Service Switch. If a service is not within the Service Segment, then the Service Switch communicates with a Service Router to ensure proper routing of service requests to the target service segment and target destination.
  • FIG. 1 shows an illustration of a SOA development lifecycle, in accordance with an embodiment.
  • groups of architects 52 , business analysts 54 , developers 56 , and deployment teams 58 can all participate in a circular manner to design, implement, and update SOA applications and services that are used or that form part of the applications.
  • Some of these applications will be designed to be service providers, while some will be designed to be service consumers, and others may act both as both service providers and service consumers.
  • the SOA development process is largely circular, which allows applications to be quickly adapted to suit changing business needs.
  • information about the applications and the services they provide or use can be stored in a repository 60 . As applications are developed, the repository information can be changed to reflect the applications and services for a particular site, project, department, or organization.
  • the Service Network approach recognizes that it is necessary to link these neighborhoods of services into a network of services, in order to achieve the level of sharing that will then result in reduction in costs, greater efficiency, better utilization of resources, and greater agility. While the ESB approach can be expanded to include distributed bus Service Segments, that approach continues to be based on a point-to-point approach, wherein only a limited number of paths exist between each of the neighborhoods of services, and wherein the paths must be manually configured and constantly maintained. Oftentimes, queued message transports are used in order to achieve the resiliency. However, a failure in any intermediary can result in service disruption due to the inability of the ESB to utilize alternative paths to the target service.
  • the Service Network provides a network-based approach to routing, wherein the infrastructure between ESB instances, or between Service Segments, can adopt an adaptive routing approach that is based on the cost of using a path, its availability, its Quality of Service metrics, and other criteria.
  • the underlying logical infrastructure or “fabric” of the Service Network is thus more akin to that of the Internet, and less like that of a traditional message bus.
  • the Service Network fabric can thus be designed to support the ability to perform adaptive routing without the need for each possible path between Service Segments to be configured, and without a need for complicated routing tables to be manually maintained.
  • FIG. 2 shows an illustration of a system or infrastructure that comprises a Service Router, in accordance with an embodiment.
  • the infrastructure 100 comprises a plurality of Service Segments or projects 102 , 104 , 106 .
  • Each of the Service Segments can include one or more service consumers 108 - 126 (represented as “C” in FIG. 2 and in later figures), and/or service providers (represented as “S” or by numerals 1 - 16 in FIG. 2 and in later figures).
  • a service consumer can be either a pure consumer of services, or may also act at times as a service provider.
  • a service provider can be either a pure provider of services, or may also act at times as a service consumer.
  • Each Service Network, network neighborhood, or domain further comprises a Service Router 132 , 134 , 136 associated therewith.
  • the Service Router is responsible for knowing which services are presently being provided by its neighborhood of service providers, and can include additional features such as path-finding algorithms 144 , routing policies 146 , and in some embodiments an optional federated registry 148 , each of which are described in further detail below.
  • a mesh or mesh network 150 provides to link the Service Routers, and allow them to communicate, chat, and pass requests 154 from one to another.
  • the mesh itself can be either a full mesh (in which instance each of the routers are aware of each other router), or a partial mesh (in which instance each of the routers is aware of at least one other router, but not necessarily every router). As the Service Network grows larger, typically partial mesh provides performance benefits.
  • the mesh network can utilize a path-finding algorithm, such as Dijkstra's path-finding algorithm.
  • the Dijkstra algorithm is a well-understood algorithm that is often used by Internet Routers to determine the shortest and most appropriate path or route between a pair of Internet networks.
  • the Dijkstra algorithm can be used (and/or other algorithms), by the Service Routers to determine the shortest and most appropriate path or route between a pair of Service Segments.
  • mesh networks can be used to provide additional context, such as transport type, route costing, hops, and other criteria that can be used in the determination of the most appropriate path from a service consumer to the requested endpoint.
  • the Service Router that interconnects with other Service Routers using the mesh network can be addressable directly from Enterprise Service Bus Service Segments as a service proxy.
  • the Service Network approach can incorporate the use of an Enterprise Service Bus (ESB) or another type of service bus within a service segment.
  • the service bus can view or determine the services that exist in their service segment or neighborhood. By analogy, this is similar to a network switch that one might use in their home to connect their home network to the Internet.
  • the resources, or the segment as a whole may be a source or a destination for a particular service or type of service request.
  • a request is sent from a consumer in the service segment, from the consumers perspective the request is sent out into a service cloud, similar to that of the Internet, but in this instance provided by the mesh network.
  • the Service Router that is local to the consumer can determine whether to forward the request outside the segment, and if so, which next Service Router will be optimal for handling the request, or forwarding the request on again to yet another router.
  • the Service Network approach takes into account the fact that it is not always optimal to use a direct or straight path from one Service Router to another Service Router.
  • the Service Network and the Service Routers must cooperate to determine the optimal path for that service request.
  • Algorithms such as Dijkstra's shortest-path algorithm, routing policies, and the use of either fully mesh (every Service Router connected to one another) or partial mesh networks can all be configured to best handle certain requests. For example, in some implementations it is possible that the same service is offered at the same time by multiple service providers, however, a first service provider is easily accessible over a fast T1-based Internet connection, whereas the second service provider is accessible only over a slower dial-up Internet connection.
  • these service providers can be considered to be on different Service Segments.
  • the Service Network and the Service Routers must decide which of the service providers (Service Segments) to use to handle a particular request, and to best satisfy that request from a SOA perspective. If the SOA application has been designed to complete the service request within a particularly short period of time (e.g., milliseconds), then it may be more important to route the request on a path to the first service provider. If alternatively the SOA application has been designed to complete the request within a relatively longer period of time (e.g. minutes, or days), then there may be benefits in routing the request on a path to the second service provider.
  • a particularly short period of time e.g., milliseconds
  • a relatively longer period of time e.g. minutes, or days
  • the path finding to the destination or target service segment can be based simply on adjacency, i.e. which destination Service Router is closest to the consumer's own Service Router.
  • the context of the request can be taken into account, and a path chosen that is based on the weight associated with each path from a SOA perspective; together with algorithms such as the Dijkstra algorithm; the calculated cost to follow that route; and any additional parameters.
  • the Service Routers are responsible for performing these determinations, and then forwarding the request via the mesh network to the determined recipient service segment/Service Router, which then passes the request internally to the service provider in its segment (or to another Service Router in the mesh network).
  • some routers can be designated as being smarter than others, i.e. they can store more route information. This can be considered similar to the use of primary and secondary DNS servers.
  • the routers can perform similarly to Open Shortest Path First (OSPF) routers, in that they build their own routing tables over time. In each instance the objective is to figure out a destination domain, and then let the local router figure out the exact address to the service.
  • OSPF Open Shortest Path First
  • the Service Network can incorporate or use a Service Naming Registry.
  • the Service Naming Registry can also be optionally distributed, duplicated or federated throughout the Service Network using a convergence algorithm, to allow the routing information in the Service Network to “converge”, and to ensure that each router has a consistent view of the topology of the network.
  • the Service Routers still maintain their transparent nature, and act as a proxy, reading header information for each request (although not the content of each request). As the Service Routers chat with one another over time, they also use advertisements to perform a lightweight update of each other's local Registry.
  • each Service Router maintains within its local Registry information about other Service Routers, including the identification of each router, its attached service networks and domains, and their relative costs. In most instances the Service Routers do not need to tell each other of the existence or whereabouts of each other router; instead they generally inform the other routers in the Service Network of any other Service Routers that they are immediately adjacent to. To populate the registry, each Service Router can initially use a flooding or other means to send out, and to receive, advertisements about their own local Service Network. As the Service Router then receives other advertisements from other routers, it can propagate those advertisements to its neighboring routers, and so on throughout each region of the Service Network.
  • the cumulative advertisements can be gathered into a local database or a local Registry at each router.
  • each router can include each other router's information in its local database. Therefore, every Service Router eventually will have substantially the same local Registry information, and the same view of the Service Network.
  • the Service Routers are able to begin with a cold or empty directory space, and then through discovery, build their information about neighboring Service Routers. They do not need to maintain information about Service Routers beyond their neighboring Service Routers (i.e. further hops), since forwarding from that point on can be handled by that Service Router.
  • entries within a Service Router's routing table or local Registry can be optimized using the Dijkstra algorithm, or another algorithm, to determine the paths with the lowest accumulated cost to each service network.
  • routing policies can also be used to coerce Service Routers to prefer certain Service Routers over others, for handling particular requests, or servicing particular SOA needs.
  • FIG. 3 shows an illustration of a system or infrastructure that comprises consumers, service providers, and a local service bus, in accordance with an embodiment.
  • a service bus 172 can be use to provide access from consumers 176 to services (indicated in FIG. 3 and in the following examples by numerals 1 - 12 ).
  • services 5 and 7 are to be designated as shared services, while service 6 is to be designated an unshared service).
  • FIG. 4 shows an illustration of a system or infrastructure that comprises two or more projects 180 , 190 , in accordance with an embodiment.
  • a first project A 180 can be developed with consumers and services, and with or without the use of a service bus.
  • a second project B 190 can be developed with consumers and services, again with or without the use of a service bus.
  • services 1 , 2 , 3 , 5 and 7 are designated as shared services, while services 4 and 6 are designated as unshared services.
  • FIG. 5 shows an illustration of a system or infrastructure that comprises a plurality of projects 200 that can use a point to point connection, in accordance with an embodiment.
  • each Service Network, domain, or sub-domain 202 can includes a service access point 204 .
  • the service access point allows a Service Network, domain, or sub-domain to forward service requests 206 to another Service Network, domain, or sub-domain.
  • an enterprise begins to leverage the power of Service Oriented Architecture and attempts to share services located in different compartments such as those shown in FIG.
  • FIG. 6 shows an illustration of a system or infrastructure 220 that comprises a plurality of projects, including services at different organizations 224 , 226 , in accordance with an embodiment.
  • External organizations such as business partners 224 , or each division of a company 226 , can also have their own set of services, or in the context of the present disclosure, their own Service Network.
  • FIG. 7 shows an illustration of a system or infrastructure 230 that comprises a mesh or mesh network 240 , and can be used to broker services between different organizations, in accordance with an embodiment.
  • each of the Service Network, domain, or sub-domain includes a Service Router 244 - 250 associated therewith.
  • the Service Router allows a Service Segment, domain, or sub-domain to forward service requests to another Service Segment, domain, or sub-domain.
  • the Service Routers communicate with each other as part of a mesh network.
  • the mesh network shown in FIG. 7 is a fully mesh network, in that each Service Router appears to have communication with each other Service Router in the network.
  • each Service Router has communication with only one or several other Service Routers in the network.
  • additional divisions can also have their own Service Network, domain, or sub-domain including a Service Router.
  • External organizations such as business partners can also have their own Service Segment, domain, or sub-domain including a Service Router.
  • Some or all of these Service Segments, domains, or sub-domains can include a service bus, or another form of data service.
  • the Service Router allows Service Segments, domains, or sub-domains to forward service requests from one organization to another organization, or to other external data sources. This type of external service communication cannot be supported by the service bus alone.
  • FIG. 8 shows an illustration of Service Network layer model 300 , in accordance with an embodiment.
  • the Service Network layer model can be constructed similar to, for example, the OSI network layer model.
  • the Physical layer 304 can be the same as the corresponding OSI physical layer, for example TCP/IP, SMTP, or another file transfer protocol.
  • the Data Link layer 304 can also be the same as the corresponding OSI data link layer, for example SOAP, or WSDL.
  • the next logically higher layer is the Service Router layer 306 , which provides routing between Service Segments, and process orchestration.
  • the Service Router layer can be constructed similarly to the network, transport, and session layers of the OSI model.
  • the logically highest or topmost layer is the Service Switch layer 310 , which provides service invocation, service mediation, data transformation, end-point encryption, and reliable delivery.
  • the Service Router layer can be constructed similarly to the session, presentation, and application layers of the OSI model.
  • FIG. 9 shows a flowchart of a Service Network method, in accordance with an embodiment.
  • individual Service Segments are configured with SOA applications that can be service consumers and/or service providers.
  • external organizations such as business partners can also have their own Service Segment or Service Network.
  • the local Service Router at each Service Segment is configured to provide access to the service providers and services in the local Service Segment.
  • access is provided from each Service Router to the Service Network infrastructure.
  • the infrastructure receives service requests at the Service Network from SOA applications, for subsequent processing by service providers.
  • the Service Router is responsible for knowing which services are presently being provided by its neighborhood of service providers, and can include additional features such as path-finding algorithms, routing policies, and in some embodiments an optional federated registry, each of which are described in further detail below.
  • the Service Routers do not need to know the full path to the destination service provider. However, the Service Routers do not need to know the full path to the destination service provider, or the content of the request. Instead, the Service Router only needs to look at the header of the request, and know which next hop Service Router should receive the request.
  • the local Service Router and mesh network to be used determine an optimal path to the destination Service Router for this particular SOA request.
  • the request is forwarded to the destination Service Router, for subsequent forwarding to the next Service Router and/or to the destination Service Segment for processing.
  • the Service Network technology can have a profound impact on an enterprise, and potentially the entire computer industry.
  • plugging into the Service Network can be as simple as providing a computer with access to the Internet.
  • the many components of a Service Network can be sourced from different vendors, and in many forms.
  • Service Routers can be implemented as hardware appliances and sold by networking companies; many of these companies already provide XML-based appliances for use as firewalls or specialized routing devices.
  • Service Switching (and Service Bus) products are already available from different vendors and in the open source community. These products can be adapted to address the requirements of the Service Network.
  • FIG. 10 shows an illustration of how the Service Network can be incorporated into an application server environment, in accordance with an embodiment.
  • the Service Network approach can be incorporated or used with an application server environment such as the WebLogic application server and/or the Aqualogic suite from BEA Systems, Inc.
  • the application server environment 350 can comprise a Service Router that includes an administrative infrastructure, administrative server, and BPM framework.
  • Service Switches provide communication between different components of the Aqualogic suite, for example from the Web Browser, and management components, to SOA service endpoints.
  • the Service Router can also enable communication via the Service Network and mesh to other entities and organizations.
  • a distributed naming service, federated naming service, or other registry of services is provided, that is capable of recording the information needed for the construction of the service naming space, routing addressing and additional data needed by Service Routers and Services Switches, (for example, any data transformation required for data canocalization, security requirements, etc.)
  • the present invention may be conveniently implemented using a conventional general purpose or a specialized digital computer, microprocessor, or computer network or server, programmed according to the teachings of the present disclosure.
  • Appropriate software coding can readily be prepared by skilled programmers based on the teachings of the present disclosure, as will be apparent to those skilled in the software art.
  • the present invention includes a computer program product which is a storage medium (media) having instructions stored thereon/in which can be used to program a computer to perform any of the processes of the present invention.
  • the storage medium can include, but is not limited to, any type of disk including floppy disks, optical discs, DVD, CD -ROMs, microdrive, and magneto-optical disks, ROMs, RAMs, EPROMs, EEPROMs, DRAMs, VRAMs, flash memory devices, magnetic or optical cards, nanosystems (including molecular memory ICs), or any type of media or device suitable for storing instructions and/or data.

Abstract

A service router for use with a service-oriented architecture environment. In accordance with an embodiment, the principles governing the topology of computer networks can be similarly applied to the service space—from small federated Service Segments (or sub-domains), to large public federated Service Domains. At the heart of the Service Network are one or more Service Routers, that are themselves responsible for transparently bridging between federated Service Segments. The Service Routers determine where services reside in the Service Network and, based on routing information gathered through interaction with other Service Routers, Network Routers and other mechanisms, deliver service requests, using optimal routes, from a source Service Segment to the target Service Segment. Working in concert with the Service Router, an Enterprise Service Bus (ESB) can abstract the location of services, and hide the existence of the Service Network from service requestors.

Description

    CLAIM OF PRIORITY
  • This application claims the benefit of U.S. Provisional Patent Application titled “SYSTEM AND METHOD FOR SUPPORTING SERVICE NETWORKS IN A SOA ENVIRONMENT”; Inventor: Paul B. Patrick; application Ser. No. 60/826,217; Filed Sep. 19, 2006; and U.S. Provisional Patent Application titled “SYSTEM AND METHOD FOR SUPPORTING SERVICE NETWORKS IN A SOA ENVIRONMENT”; Inventor: Paul B. Patrick; Application Ser. No. 60/826,213; Filed Sep. 19, 2006; and is related to U.S. Patent Application titled “SYSTEM AND METHOD FOR SUPPORTING SERVICE NETWORKS IN A SERVICE-ORIENTED ARCHITECTURE ENVIRONMENT”; Inventor: Paul B. Patrick; application Ser. No.______; Filed Sep. 19, 2007; and PCT Patent Application titled “SYSTEM AND METHOD FOR SUPPORTING SERVICE NETWORKS IN A SERVICE-ORIENTED ARCHITECTURE ENVIRONMENT”; Inventor: Paul B. Patrick; application Ser. No.______; Filed Sep. 19, 2007, each of which applications are herein incorporated by reference.
  • COPYRIGHT NOTICE
  • A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
  • FIELD OF THE INVENTION
  • The invention is generally related to enterprise applications systems, and service-oriented architecture (SOA), and is particularly related to a service router for use with a service-oriented architecture environment.
  • BACKGROUND
  • Service Oriented Architecture (SOA) is becoming one of the main strategies that Information Technology (IT) organizations use to organize their business functions into interoperable, standards-based services, which can in turn be combined and reused quickly to meet the IT organization's business needs. However, as the number of services increase, the overall complexity of the system also increases and, without proper governance and infrastructure, SOA technology can quickly result in a “service explosion” that does not scale well.
  • As larger enterprises and organizations start to deploy SOA-based solutions, there is a trend to do so in a compartmentalized manner, typically on a project-by-project basis, rather than as one single enterprise-wide scheme. This trend in compartmentalization is driven by a number of factors, including the funding model for various projects, and the need to delegate or contain scope of control for certain projects. In some instances, each of these compartments contains an instance of an Enterprise Service Bus (ESB) at its core, providing an abstraction of location, evolution, and basic transformation capabilities for the services within that compartment. As a result, the concept or future of an enterprise-wide Service Bus, in which all of the services are integrated together, does not reflect the reality of today's SOA deployments. The resulting environment is instead a new era of data silos, wherein the sharing of services is limited to the services that are contained within a compartment. This in turn limits the ability of an enterprise to transform its business and achieve greater agility. This is the area the present invention is designed to address.
  • SUMMARY
  • Service Oriented Architecture (SOA) -based services require an infrastructure that can scale to the dimensions of today's computer networks, and that can address connectivity and resilience requirements that are not currently provided by the distributed Enterprise Service Bus (ESB) approach. In accordance with an embodiment, the principles governing the topology of computer networks can be similarly applied to the service space—from small federated Service Segments (or sub-domains), to large public federated Service Domains. At the heart of the Service Network are one or more Service Routers, that are themselves responsible for transparently bridging between federated Service Segments. The Service Routers determine where services reside in the Service Network and, based on routing information gathered through interaction with other Service Routers, Network Routers and other mechanisms (e.g., network routing protocols, and Web Service addressing protocols), deliver service requests, using optimal routes, from a source Service Segment to the target Service Segment. Working in concert with the Service Router, an Enterprise Service Bus (ESB) can abstract the location of services, and hide the existence of the Service Network (in particular, the Service Routers) from service requesters. When compared to the analogy of computer network technology, in accordance with an embodiment the ESB can be considered to play the role of a Service Switch that controls the routing (switching) within a federated Service Segment. The Service Switch is then in charge of delivering service requests to a particular service implementation running within the Service Segment controlled by the Service Switch. If a service is not within the Service Segment, then the Service Switch communicates with a Service Router to ensure proper routing of service requests to the target destination. Several modifications and variations of these and other features will be apparent to the practitioner skilled in the art.
  • BRIEF DESCRIPTION OF THE FIGURES
  • FIG. 1 shows an illustration of a SOA development lifecycle, in accordance with an embodiment.
  • FIG. 2 shows an illustration of a system or infrastructure that comprises a Service Router, in accordance with an embodiment.
  • FIG. 3 shows an illustration of a system or infrastructure that comprises consumers, service providers, and a local service bus, in accordance with an embodiment.
  • FIG. 4 shows an illustration of a system or infrastructure that comprises two or more projects, in accordance with an embodiment.
  • FIG. 5 shows an illustration of a system or infrastructure that comprises a plurality of projects that can use a point to point connection, in accordance with an embodiment.
  • FIG. 6 shows an illustration of a system or infrastructure that comprises a plurality of projects, including services at different organizations, in accordance with an embodiment.
  • FIG. 7 shows an illustration of a system or infrastructure that comprises a mesh or mesh network, and can be used to broker services between different organizations, in accordance with an embodiment.
  • FIG. 8 shows an illustration of a Service Network layer model, in accordance with an embodiment.
  • FIG. 9 shows a flowchart of a Service Network method, in accordance with an embodiment.
  • FIG. 10 shows an illustration of how the Service Network can be incorporated into an application server environment, in accordance with an embodiment.
  • DETAILED DESCRIPTION
  • Service Oriented Architecture (SOA) is becoming one of the main strategies that Information Technology (IT) organizations use to organize their business functions into interoperable, standards-based services, which can in turn be combined and reused quickly to meet the IT organization's business needs. However, as the number of services increase, the overall complexity of the system also increases and, without proper governance and infrastructure, SOA technology can quickly result in a “service explosion” that does not scale well. As an enterprise begins to leverage the power of Service Oriented Architecture and attempts to share services located in different compartments, they find themselves faced with the task of having to configure a considerable amount of low-level infrastructure, typically in the form of queues that are necessary to interconnect the various Service Bus instances. They can also define pieces of configuration information that describe the route that a request will make between one instance of a Service Bus and another. This “routing configuration” complexity grows as the number of compartments increases and still results in a point-to-point scenario, but now between the Service Bus instances both within a compartment, and across compartments. While this approach may provide the ability to ensure that a request is only delivered once to a particular destination, it also creates a situation where a request may remain in a queue for considerable periods of time since the path to the destination may not be available. This can be especially true if the path a request must follow must go through another compartment before reaching its destination. These types of multi-hop scenarios typically require that the operations staff of multiple components must jointly share the routing capabilities and results in a situation where the impact of a failure or overload condition in an intermediary compartment is felt across the enterprise.
  • Service Oriented Architecture (SOA)-based services require an infrastructure that can scale to the dimensions of today's computer networks, and that can address connectivity and resilience requirements that are not currently provided by the distributed Enterprise Service Bus (ESB) approach. In accordance with an embodiment, a system, method, and infrastructure, referred to herein as a Service Network, is provided that can support an every-growing network of services. Embodiments can also provide dynamic routing, to allow alternate paths to a destination to be found based on cost, availability, and congestion, and context.
  • A Service Network can be built using techniques that have been similarly applied to computer network technology. For example, the Internet-based Domain Naming Space (DNS) and its constituent routers are able to understand services protocols and can deal with network failure conditions to find the best route for sending Internet-based requests to the preferred places offering the corresponding information. In accordance with an embodiment, the principles governing the topology of computer networks can be similarly applied to the service space—from small federated Service Segments (or sub-domains), to large public federated Service Domains.
  • As with a typical computer network, the Service Network is designed to support the concept of “scale-free” networks, wherein some of the nodes in the network are more intelligent that others. It is also designed to follow the principle of Separation of Concerns, to ensure that an entity has a single purpose and that the entity is not responsible for attempting to address too many concerns. These principles, which are currently used in today's computer networks, can also be used to build a scalable Service Network architecture.
  • In accordance with an embodiment, at the heart of the Service Network one or more Service Routers, that are themselves responsible for transparently bridging between federated Service Segments. The Service Routers determine where services reside in the Service Network and, based on routing information gathered through interaction with other Service Routers, Network Routers and other mechanisms (e.g., network routing protocols, and Web Service addressing protocols), deliver service requests, using optimal routes, from a source Service Segment to the target Service Segment.
  • In accordance with an embodiment Service Routers focus on the header of the service requests, since they are only concerned about routing to a given service segment. As such, there is no need to unpack the message, and they have very low latency. Service Routers can be provided in a number of different packaging schemes, including service-aware network appliances.
  • Working in concert with the Service Router, an Enterprise Service Bus (ESB) at a particular service segment can abstract the location of services within that service segment, and hide the existence of the Service Network (in particular, the Service Routers) from service requesters. If compared to the analogy of computer network technology, then in accordance with an embodiment the ESB can be considered to play the role of a Service Switch that controls the routing (switching) within a federated Service Segment. The Service Switch is then in charge of delivering service requests to a particular service implementation running within the Service Segment controlled by the Service Switch. If a service is not within the Service Segment, then the Service Switch communicates with a Service Router to ensure proper routing of service requests to the target service segment and target destination.
  • The following are some of the main issues and characteristics that are addressed or provided by the Service Network:
      • 1. In accordance with some embodiments, the system can address the topology and scalability of a Service Naming Space. Segmentation can be used to divide the Service Naming Space into manageable federated Service Segments (i.e. Domains and/or Sub-domains). The model can follow that of the underlying structure of computer networks; another analogy that can be followed is that of a “metropolis”, i.e. a mega-city with many public and private services distributed across the many city neighborhoods (in this instance the Service Segments or Service Sub-Domains).
      • 2. Embodiments can provide a federated Service Registry, or other registry of services, that is capable of recording the information needed for the construction of the service naming space, routing addressing and additional data needed by Service Routers and Services Switches. (For example, the service registry can support the data transformation required for data canocalization, security requirements, etc.)
      • 3. In accordance with some embodiments, the Service Routing can be designed to be capable of understanding the current conditions of the underlying computer network; for example, discovering alternate routing paths to deal with failures, or with changes in the service or network topology. In accordance with these embodiments, the Service Routers only need to understand service routing information, and then work with the underlying network routers.
      • 4. Some embodiments support a Service Switching that is capable of abstracting the location of service instances within a particular Service Segment. Service Switches can route service requests based on the content of those requests. A Service switch can also perform other functions, such as transforming data from/to a canonical form, or perform filtering or security functions.
      • 5. In accordance with some embodiments, Service Discovery and Service Resolution capabilities can be included, to support different authoritative sources (for example, UDDI), and protocols (for example, WS-Metadata Exchange, WS-Trust), in an extensible way.
      • 6. Some embodiments can comprise configuration technologies that make it easier for an administrator to manage the Service Network.
      • 7. Some embodiments can comprise Governance technologies that allow administrators to control and track problems in the different components of the Service Network.
  • FIG. 1 shows an illustration of a SOA development lifecycle, in accordance with an embodiment. As shown in FIG. 1, in a SOA-based application development environment 50, groups of architects 52, business analysts 54, developers 56, and deployment teams 58 can all participate in a circular manner to design, implement, and update SOA applications and services that are used or that form part of the applications. Some of these applications will be designed to be service providers, while some will be designed to be service consumers, and others may act both as both service providers and service consumers. The SOA development process is largely circular, which allows applications to be quickly adapted to suit changing business needs. In accordance with an embodiment, information about the applications and the services they provide or use can be stored in a repository 60. As applications are developed, the repository information can be changed to reflect the applications and services for a particular site, project, department, or organization.
  • While SOA continues to be adopted by an increasing number of enterprises as a transformational approach to business agility, the typical deployment approach is still often one of creating silos of services that are centered around one or more related composite applications, and that are in turn made up of a limited number of shared services. This by itself does not provide the agility that is often sought by corporate enterprises, and is typically a result of organizational, political, and geographically boundaries. The original notion of Enterprise Service Bus (ESB) technology was an intention to link services from all over a virtual enterprise, to allow greater sharing of services and thus greater agility. However, recent deployment trends have been not so much as deploying an enterprise-wide bus structure, but rather to deploy neighborhoods of services.
  • The Service Network approach recognizes that it is necessary to link these neighborhoods of services into a network of services, in order to achieve the level of sharing that will then result in reduction in costs, greater efficiency, better utilization of resources, and greater agility. While the ESB approach can be expanded to include distributed bus Service Segments, that approach continues to be based on a point-to-point approach, wherein only a limited number of paths exist between each of the neighborhoods of services, and wherein the paths must be manually configured and constantly maintained. Oftentimes, queued message transports are used in order to achieve the resiliency. However, a failure in any intermediary can result in service disruption due to the inability of the ESB to utilize alternative paths to the target service. To address this, in accordance with an embodiment the Service Network provides a network-based approach to routing, wherein the infrastructure between ESB instances, or between Service Segments, can adopt an adaptive routing approach that is based on the cost of using a path, its availability, its Quality of Service metrics, and other criteria. The underlying logical infrastructure or “fabric” of the Service Network is thus more akin to that of the Internet, and less like that of a traditional message bus. The Service Network fabric can thus be designed to support the ability to perform adaptive routing without the need for each possible path between Service Segments to be configured, and without a need for complicated routing tables to be manually maintained.
  • FIG. 2 shows an illustration of a system or infrastructure that comprises a Service Router, in accordance with an embodiment. As shown in FIG. 2, in accordance with an embodiment, the infrastructure 100 comprises a plurality of Service Segments or projects 102, 104, 106. Each of the Service Segments can include one or more service consumers 108-126 (represented as “C” in FIG. 2 and in later figures), and/or service providers (represented as “S” or by numerals 1-16 in FIG. 2 and in later figures). Depending on the implementation, a service consumer can be either a pure consumer of services, or may also act at times as a service provider. Similarly, depending on the implementation, a service provider can be either a pure provider of services, or may also act at times as a service consumer. Each Service Network, network neighborhood, or domain, further comprises a Service Router 132, 134, 136 associated therewith. The Service Router is responsible for knowing which services are presently being provided by its neighborhood of service providers, and can include additional features such as path-finding algorithms 144, routing policies 146, and in some embodiments an optional federated registry 148, each of which are described in further detail below. A mesh or mesh network 150 provides to link the Service Routers, and allow them to communicate, chat, and pass requests 154 from one to another. In accordance with some embodiments, the mesh itself can be either a full mesh (in which instance each of the routers are aware of each other router), or a partial mesh (in which instance each of the routers is aware of at least one other router, but not necessarily every router). As the Service Network grows larger, typically partial mesh provides performance benefits.
  • Mesh networks include capabilities that provide a good basis for delivering the logical infrastructure or fabric of the Service Network. In accordance with an embodiment, the mesh network can utilize a path-finding algorithm, such as Dijkstra's path-finding algorithm. The Dijkstra algorithm is a well-understood algorithm that is often used by Internet Routers to determine the shortest and most appropriate path or route between a pair of Internet networks. As used herein, the Dijkstra algorithm can be used (and/or other algorithms), by the Service Routers to determine the shortest and most appropriate path or route between a pair of Service Segments.
  • In addition to the Dijkstra algorithm and other path-finding algorithms, mesh networks can be used to provide additional context, such as transport type, route costing, hops, and other criteria that can be used in the determination of the most appropriate path from a service consumer to the requested endpoint. In accordance with an embodiment, the Service Router that interconnects with other Service Routers using the mesh network can be addressable directly from Enterprise Service Bus Service Segments as a service proxy. This makes it possible to significantly reduce the complexity involved in the establishment of distributed Enterprise Service Bus Service Segments, abstract the addressing complexities associated with the multiple point-to-point connections that must be established between Enterprise Service Bus Service Segments, and simplify ESB decisions about how to locate and route to a service, but allowing the Bus to answer the simple question: “Is the business service connected to the current segment directly or not?”. If the business service is connected directly, then the Enterprise Service Bus can route the request directly to the target business services; otherwise it can route the request to the Service Router, which then determines the best path to target service and only needs to look at the header of the request. This separation of concerns approach results in significant performance improvements, since each hop in the route does not need to look into the request in order to determine routing information. The use of a mesh network also allows a particular application server provider to work with ESB and intermediary offerings from other vendors, allowing an organization to support much more heterogeneous environments.
  • In accordance with an embodiment, the Service Network approach can incorporate the use of an Enterprise Service Bus (ESB) or another type of service bus within a service segment. In these embodiments, the service bus can view or determine the services that exist in their service segment or neighborhood. By analogy, this is similar to a network switch that one might use in their home to connect their home network to the Internet. Within a particular service segment or neighborhood, the resources, or the segment as a whole, may be a source or a destination for a particular service or type of service request. When a request is sent from a consumer in the service segment, from the consumers perspective the request is sent out into a service cloud, similar to that of the Internet, but in this instance provided by the mesh network. The Service Router that is local to the consumer can determine whether to forward the request outside the segment, and if so, which next Service Router will be optimal for handling the request, or forwarding the request on again to yet another router.
  • In accordance with an embodiment, the Service Network approach takes into account the fact that it is not always optimal to use a direct or straight path from one Service Router to another Service Router. The Service Network and the Service Routers must cooperate to determine the optimal path for that service request. Algorithms such as Dijkstra's shortest-path algorithm, routing policies, and the use of either fully mesh (every Service Router connected to one another) or partial mesh networks can all be configured to best handle certain requests. For example, in some implementations it is possible that the same service is offered at the same time by multiple service providers, however, a first service provider is easily accessible over a fast T1-based Internet connection, whereas the second service provider is accessible only over a slower dial-up Internet connection. In the context of the Service Network, these service providers can be considered to be on different Service Segments. In these instances, the Service Network and the Service Routers must decide which of the service providers (Service Segments) to use to handle a particular request, and to best satisfy that request from a SOA perspective. If the SOA application has been designed to complete the service request within a particularly short period of time (e.g., milliseconds), then it may be more important to route the request on a path to the first service provider. If alternatively the SOA application has been designed to complete the request within a relatively longer period of time (e.g. minutes, or days), then there may be benefits in routing the request on a path to the second service provider.
  • In accordance with an embodiment, the path finding to the destination or target service segment can be based simply on adjacency, i.e. which destination Service Router is closest to the consumer's own Service Router. In other embodiments, the context of the request can be taken into account, and a path chosen that is based on the weight associated with each path from a SOA perspective; together with algorithms such as the Dijkstra algorithm; the calculated cost to follow that route; and any additional parameters. In accordance with an embodiment, the Service Routers are responsible for performing these determinations, and then forwarding the request via the mesh network to the determined recipient service segment/Service Router, which then passes the request internally to the service provider in its segment (or to another Service Router in the mesh network). In this way the Service Routers do not need to know the full path to the destination service provider. In accordance with an embodiment, some routers can be designated as being smarter than others, i.e. they can store more route information. This can be considered similar to the use of primary and secondary DNS servers. In other embodiments, the routers can perform similarly to Open Shortest Path First (OSPF) routers, in that they build their own routing tables over time. In each instance the objective is to figure out a destination domain, and then let the local router figure out the exact address to the service.
  • In accordance with an embodiment, the Service Network can incorporate or use a Service Naming Registry. In some embodiments, the Service Naming Registry can also be optionally distributed, duplicated or federated throughout the Service Network using a convergence algorithm, to allow the routing information in the Service Network to “converge”, and to ensure that each router has a consistent view of the topology of the network. In these embodiments, the Service Routers still maintain their transparent nature, and act as a proxy, reading header information for each request (although not the content of each request). As the Service Routers chat with one another over time, they also use advertisements to perform a lightweight update of each other's local Registry. In accordance with an embodiment of the convergence algorithm, each Service Router maintains within its local Registry information about other Service Routers, including the identification of each router, its attached service networks and domains, and their relative costs. In most instances the Service Routers do not need to tell each other of the existence or whereabouts of each other router; instead they generally inform the other routers in the Service Network of any other Service Routers that they are immediately adjacent to. To populate the registry, each Service Router can initially use a flooding or other means to send out, and to receive, advertisements about their own local Service Network. As the Service Router then receives other advertisements from other routers, it can propagate those advertisements to its neighboring routers, and so on throughout each region of the Service Network. The cumulative advertisements can be gathered into a local database or a local Registry at each router. By synchronizing or otherwise communicating the local Registry information between all neighboring routers (i.e. creating the Service Naming Registry), each router can include each other router's information in its local database. Therefore, every Service Router eventually will have substantially the same local Registry information, and the same view of the Service Network. Using this form of updating, the Service Routers are able to begin with a cold or empty directory space, and then through discovery, build their information about neighboring Service Routers. They do not need to maintain information about Service Routers beyond their neighboring Service Routers (i.e. further hops), since forwarding from that point on can be handled by that Service Router. As described above, entries within a Service Router's routing table or local Registry can be optimized using the Dijkstra algorithm, or another algorithm, to determine the paths with the lowest accumulated cost to each service network. As also described above, routing policies can also be used to coerce Service Routers to prefer certain Service Routers over others, for handling particular requests, or servicing particular SOA needs.
  • FIG. 3 shows an illustration of a system or infrastructure that comprises consumers, service providers, and a local service bus, in accordance with an embodiment. As shown in FIG. 3, within a particular project 170, that may include applications being developed, a service bus 172 can be use to provide access from consumers 176 to services (indicated in FIG. 3 and in the following examples by numerals 1-12). In this example, services 5 and 7 are to be designated as shared services, while service 6 is to be designated an unshared service).
  • FIG. 4 shows an illustration of a system or infrastructure that comprises two or more projects 180, 190, in accordance with an embodiment. As shown in FIG. 4, a first project A 180 can be developed with consumers and services, and with or without the use of a service bus. Similarly, a second project B 190 can be developed with consumers and services, again with or without the use of a service bus. In this example, services 1, 2, 3, 5 and 7 are designated as shared services, while services 4 and 6 are designated as unshared services.
  • FIG. 5 shows an illustration of a system or infrastructure that comprises a plurality of projects 200 that can use a point to point connection, in accordance with an embodiment. As shown in FIG. 5, if a Service Network is not used, then each Service Network, domain, or sub-domain 202 can includes a service access point 204. The service access point allows a Service Network, domain, or sub-domain to forward service requests 206 to another Service Network, domain, or sub-domain. However, as described above, as an enterprise begins to leverage the power of Service Oriented Architecture and attempts to share services located in different compartments such as those shown in FIG. 5, they find themselves faced with the task of having to configure a considerable amount of low-level infrastructure, typically in the form of queues that are necessary to interconnect the various Service Bus instances. The multi hop scenarios that are required typically in turn require that the operations staff of multiple components must jointly share the routing capabilities and results in a situation where the impact of a failure or overload condition in an intermediary compartment is felt across the enterprise.
  • FIG. 6 shows an illustration of a system or infrastructure 220 that comprises a plurality of projects, including services at different organizations 224, 226, in accordance with an embodiment. External organizations, such as business partners 224, or each division of a company 226, can also have their own set of services, or in the context of the present disclosure, their own Service Network.
  • FIG. 7 shows an illustration of a system or infrastructure 230 that comprises a mesh or mesh network 240, and can be used to broker services between different organizations, in accordance with an embodiment. As shown in FIG. 7, each of the Service Network, domain, or sub-domain includes a Service Router 244-250 associated therewith. The Service Router allows a Service Segment, domain, or sub-domain to forward service requests to another Service Segment, domain, or sub-domain. As also shown in FIG. 7, the Service Routers communicate with each other as part of a mesh network. The mesh network shown in FIG. 7 is a fully mesh network, in that each Service Router appears to have communication with each other Service Router in the network. However, in many instances, and particularly as the number of Service Routers increase, it is desirable to use a partial mesh network, so that each Service Router has communication with only one or several other Service Routers in the network. As also shown in FIG. 7, in addition to each of the Service Network, domain, or sub-domain including a Service Router, additional divisions can also have their own Service Network, domain, or sub-domain including a Service Router. External organizations, such as business partners can also have their own Service Segment, domain, or sub-domain including a Service Router. Some or all of these Service Segments, domains, or sub-domains can include a service bus, or another form of data service. The Service Router allows Service Segments, domains, or sub-domains to forward service requests from one organization to another organization, or to other external data sources. This type of external service communication cannot be supported by the service bus alone.
  • FIG. 8 shows an illustration of Service Network layer model 300, in accordance with an embodiment. As shown in FIG. 8, in accordance with an embodiment the Service Network layer model can be constructed similar to, for example, the OSI network layer model. In this embodiment, the Physical layer 304 can be the same as the corresponding OSI physical layer, for example TCP/IP, SMTP, or another file transfer protocol. The Data Link layer 304 can also be the same as the corresponding OSI data link layer, for example SOAP, or WSDL. The next logically higher layer is the Service Router layer 306, which provides routing between Service Segments, and process orchestration. In accordance with an embodiment the Service Router layer can be constructed similarly to the network, transport, and session layers of the OSI model. The logically highest or topmost layer is the Service Switch layer 310, which provides service invocation, service mediation, data transformation, end-point encryption, and reliable delivery. In accordance with an embodiment the Service Router layer can be constructed similarly to the session, presentation, and application layers of the OSI model.
  • FIG. 9 shows a flowchart of a Service Network method, in accordance with an embodiment. As shown in FIG. 9, in step 322, individual Service Segments are configured with SOA applications that can be service consumers and/or service providers. As described above, external organizations, such as business partners can also have their own Service Segment or Service Network. In step 324, the local Service Router at each Service Segment is configured to provide access to the service providers and services in the local Service Segment. In step 326, access is provided from each Service Router to the Service Network infrastructure. In step 328, the infrastructure receives service requests at the Service Network from SOA applications, for subsequent processing by service providers. The Service Router is responsible for knowing which services are presently being provided by its neighborhood of service providers, and can include additional features such as path-finding algorithms, routing policies, and in some embodiments an optional federated registry, each of which are described in further detail below. The Service Routers do not need to know the full path to the destination service provider. However, the Service Routers do not need to know the full path to the destination service provider, or the content of the request. Instead, the Service Router only needs to look at the header of the request, and know which next hop Service Router should receive the request. In step 330, the local Service Router and mesh network to be used determine an optimal path to the destination Service Router for this particular SOA request. In step 332, the request is forwarded to the destination Service Router, for subsequent forwarding to the next Service Router and/or to the destination Service Segment for processing.
  • As described above, the Service Network technology can have a profound impact on an enterprise, and potentially the entire computer industry. Depending on the particular implementation, plugging into the Service Network can be as simple as providing a computer with access to the Internet. In accordance with some embodiment, the many components of a Service Network can be sourced from different vendors, and in many forms. For example, Service Routers can be implemented as hardware appliances and sold by networking companies; many of these companies already provide XML-based appliances for use as firewalls or specialized routing devices. Service Switching (and Service Bus) products are already available from different vendors and in the open source community. These products can be adapted to address the requirements of the Service Network.
  • FIG. 10 shows an illustration of how the Service Network can be incorporated into an application server environment, in accordance with an embodiment. As shown in FIG. 10, the Service Network approach can be incorporated or used with an application server environment such as the WebLogic application server and/or the Aqualogic suite from BEA Systems, Inc. As shown in FIG. 10, the application server environment 350 can comprise a Service Router that includes an administrative infrastructure, administrative server, and BPM framework. Service Switches provide communication between different components of the Aqualogic suite, for example from the Web Browser, and management components, to SOA service endpoints. The Service Router can also enable communication via the Service Network and mesh to other entities and organizations. In accordance with some embodiments, a distributed naming service, federated naming service, or other registry of services is provided, that is capable of recording the information needed for the construction of the service naming space, routing addressing and additional data needed by Service Routers and Services Switches, (for example, any data transformation required for data canocalization, security requirements, etc.)
  • The present invention may be conveniently implemented using a conventional general purpose or a specialized digital computer, microprocessor, or computer network or server, programmed according to the teachings of the present disclosure. Appropriate software coding can readily be prepared by skilled programmers based on the teachings of the present disclosure, as will be apparent to those skilled in the software art.
  • In some embodiments, the present invention includes a computer program product which is a storage medium (media) having instructions stored thereon/in which can be used to program a computer to perform any of the processes of the present invention. The storage medium can include, but is not limited to, any type of disk including floppy disks, optical discs, DVD, CD -ROMs, microdrive, and magneto-optical disks, ROMs, RAMs, EPROMs, EEPROMs, DRAMs, VRAMs, flash memory devices, magnetic or optical cards, nanosystems (including molecular memory ICs), or any type of media or device suitable for storing instructions and/or data.
  • The foregoing description of the present invention has been provided for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations will be apparent to the practitioner skilled in the art. Particularly, it will be evident that while some of the examples above are described with reference to a WebLogic or Aqualogic implementation, it will be evident that the technologies and features of the Service Network, Service Router, Service Switch, and mesh network can be also used with other application servers, servers, and computer resources.
  • The embodiments were chosen and described in order to best explain the principles of the invention and its practical application, thereby enabling others skilled in the art to understand the invention for various embodiments and with various modifications that are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the following claims and their equivalence.

Claims (10)

1. A service router for use with a service-oriented architecture environment, comprising:
a routing table;
a routing policy; and
means for
receiving requests from service requestors on a local service segment,
determining where requested services reside in a service network, and,
based on both the routing table and the routing policy, delivering the service requests from the service router to a target service segment in the service network.
2. The service router of claim 1, wherein the local service segment includes a service bus that handles service requests that are local to the service segment.
3. The service router of claim 1, wherein each service router uses a path-finding algorithm for determining the lowest cost or optimal path from the local service segment to the target service segment, and wherein the lowest cost path to the target service segment can include interim service routers or hops.
4. The service router of claim 1, wherein the routing policy includes information that determines the optimal path from the local service segment to the target service segment based on the SOA requirements of the service requestor.
5. The service router of claim 1, wherein the service router maintains a local registry information about other service routers that are adjacent to the service router, including the identification of each router, its attached service networks and domains, and their relative costs, and wherein to populate the local registry, each service router sends and receives advertisements about their own local service segments, which advertisements are then use to populate the local registry at each service router.
6. A method for routing services in a SOA environment using a service router, comprising the steps of:
receiving requests from service requesters on a local service segment;
accessing a routing table that defines adjacent service routers in a service network;
determining where requested services reside in the service network;
accessing a routing policy associated with at least one or both of the service requestor or the requested service; and
delivering the service requests from the service router to a target service segment in the service network, based on both the routing table and the routing policy.
7. The method of claim 6, wherein the local service segment includes a service bus that handles service requests that are local to the service segment.
8. The method of claim 6, wherein each service router uses a path-finding algorithm for determining the lowest cost or optimal path from the local service segment to the target service segment, and wherein the lowest cost path to the target service segment can include interim service routers or hops.
9. The method of claim 6, wherein the routing policy includes information that determines the optimal path from the local service segment to the target service segment based on the SOA requirements of the service requestor.
10. The method of claim 6, wherein the service router maintains a local registry information about other service routers that are adjacent to the service router, including the identification of each router, its attached service networks and domains, and their relative costs, and wherein to populate the local registry, each service router sends and receives advertisements about their own local service segments, which advertisements are then use to populate the local registry at each service router.
US11/857,994 2006-09-19 2007-09-19 Service router for use with a service-oriented architecture environment Abandoned US20080069082A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/857,994 US20080069082A1 (en) 2006-09-19 2007-09-19 Service router for use with a service-oriented architecture environment

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US82621306P 2006-09-19 2006-09-19
US82621706P 2006-09-19 2006-09-19
US11/857,994 US20080069082A1 (en) 2006-09-19 2007-09-19 Service router for use with a service-oriented architecture environment

Publications (1)

Publication Number Publication Date
US20080069082A1 true US20080069082A1 (en) 2008-03-20

Family

ID=39201253

Family Applications (2)

Application Number Title Priority Date Filing Date
US11/857,994 Abandoned US20080069082A1 (en) 2006-09-19 2007-09-19 Service router for use with a service-oriented architecture environment
US11/857,988 Active US7814226B2 (en) 2006-09-19 2007-09-19 System and method for supporting service networks in a service-oriented architecture environment

Family Applications After (1)

Application Number Title Priority Date Filing Date
US11/857,988 Active US7814226B2 (en) 2006-09-19 2007-09-19 System and method for supporting service networks in a service-oriented architecture environment

Country Status (2)

Country Link
US (2) US20080069082A1 (en)
WO (1) WO2008036777A2 (en)

Cited By (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080133755A1 (en) * 2006-11-30 2008-06-05 Gestalt Llc Context-based routing of requests in a service-oriented architecture
US20080301784A1 (en) * 2007-05-31 2008-12-04 Microsoft Corporation Native Use Of Web Service Protocols And Claims In Server Authentication
US20090077251A1 (en) * 2007-09-13 2009-03-19 International Business Machines Corporation Protocol for enabling dynamic and hierarchical interconnection of autonomous federations of enterprise service buses
US20090080408A1 (en) * 2007-09-20 2009-03-26 Intel Corporation Healthcare semantic interoperability platform
US20090198535A1 (en) * 2008-02-01 2009-08-06 International Business Machines Corporation Defining Service Funding For A Service Oriented Architecture
US20090327557A1 (en) * 2008-06-25 2009-12-31 Fujitsu Limited Service bus linking method and service bus
US20100071028A1 (en) * 2008-09-18 2010-03-18 International Business Machines Corporation Governing Service Identification In A Service Oriented Architecture ('SOA') Governance Model
US20100080148A1 (en) * 2008-09-26 2010-04-01 International Business Machines Corporation Adaptive enterprise service bus (esb) runtime system and method
US20100138250A1 (en) * 2008-12-02 2010-06-03 International Business Machines Corporation Governing Architecture Of A Service Oriented Architecture
US20100138254A1 (en) * 2008-12-03 2010-06-03 International Business Machines Corporation Governing Exposing Services In A Service Model
US20100138252A1 (en) * 2008-12-02 2010-06-03 International Business Machines Corporation Governing Realizing Services In A Service Oriented Architecture
US20100280856A1 (en) * 2009-04-29 2010-11-04 International Business Machines Corporation Identifying service oriented architecture shared service opportunities
US20110010217A1 (en) * 2009-07-13 2011-01-13 International Business Machines Corporation Service Oriented Architecture Governance Using A Template
US20110022439A1 (en) * 2009-07-22 2011-01-27 International Business Machines Corporation System for managing events in a configuration of soa governance components
US20110107352A1 (en) * 2009-10-29 2011-05-05 Oracle International Corporation Declarative federation of registries
US20110208806A1 (en) * 2010-02-24 2011-08-25 Jiri Pechanec Link-based registry federation
US20110295956A1 (en) * 2010-05-25 2011-12-01 Jiri Pechanec Transport Cost Optimization For Enterprise Service
US20120005719A1 (en) * 2010-07-01 2012-01-05 Raytheon Company Proxy-Based Network Access Protection
CN102347983A (en) * 2011-08-26 2012-02-08 四川长虹电器股份有限公司 ESB (Enterprise Service Bus) system in SOA (Service-Oriented Architecture)
US20120176940A1 (en) * 2009-09-18 2012-07-12 Fujitsu Limited Course searching method and node device
US8321909B2 (en) 2009-12-22 2012-11-27 International Business Machines Corporation Identity mediation in enterprise service bus
US20130103837A1 (en) * 2011-10-25 2013-04-25 LonoCloud, Inc. Federated, policy-driven service meshes for distributed software systems
US20130136101A1 (en) * 2010-09-30 2013-05-30 Sony Corporation Method and apparatus for configuring communication resource sets and method and system of resource management
US20130254335A1 (en) * 2012-03-20 2013-09-26 International Business Machines Corporation Inter-domain replication of service information
US8660885B2 (en) 2008-02-04 2014-02-25 International Business Machines Corporation Defining service ownership for a service oriented architecture
US8725765B2 (en) 2010-07-16 2014-05-13 Red Hat, Inc. Hierarchical registry federation
US8726227B2 (en) 2010-09-15 2014-05-13 International Business Machines Corporation Modeling a governance process of establishing a subscription to a deployed service in a governed SOA
US8769483B2 (en) 2010-09-15 2014-07-01 International Business Machines Corporation Automating a governance process of optimizing a portfolio of services in a governed SOA
WO2015047435A1 (en) * 2013-09-28 2015-04-02 Mcafee, Inc. Context-aware network on a data exchange layer
US20160219116A1 (en) * 2013-09-28 2016-07-28 Christopher Smith Efficient request-response routing over a data exchange layer
US20170104683A1 (en) * 2015-10-08 2017-04-13 Samsung Sds America, Inc. Dynamically segmenting traffic for a/b testing in a distributed computing environment
US9807118B2 (en) 2014-10-26 2017-10-31 Mcafee, Inc. Security orchestration framework
CN109600426A (en) * 2018-11-26 2019-04-09 南京软智信息技术有限公司 One kind being based on SOA business development platform
CN109861848A (en) * 2019-01-04 2019-06-07 北京全路通信信号研究设计院集团有限公司 A kind of Rail traffic network construction method and system based on data/address bus

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070133520A1 (en) * 2005-12-12 2007-06-14 Microsoft Corporation Dynamically adapting peer groups
US7613703B2 (en) 2004-09-30 2009-11-03 Microsoft Corporation Organizing resources into collections to facilitate more efficient and reliable resource access
US8250230B2 (en) * 2004-09-30 2012-08-21 Microsoft Corporation Optimizing communication using scalable peer groups
US20110082928A1 (en) * 2004-10-22 2011-04-07 Microsoft Corporation Maintaining consistency within a federation infrastructure
US8095600B2 (en) * 2004-10-22 2012-01-10 Microsoft Corporation Inter-proximity communication within a rendezvous federation
US8014321B2 (en) * 2004-10-22 2011-09-06 Microsoft Corporation Rendezvousing resource requests with corresponding resources
US20060090003A1 (en) * 2004-10-22 2006-04-27 Microsoft Corporation Rendezvousing resource requests with corresponding resources
US8549180B2 (en) 2004-10-22 2013-10-01 Microsoft Corporation Optimizing access to federation infrastructure-based resources
US8392515B2 (en) * 2004-10-22 2013-03-05 Microsoft Corporation Subfederation creation and maintenance in a federation infrastructure
US20080288659A1 (en) 2006-11-09 2008-11-20 Microsoft Corporation Maintaining consistency within a federation infrastructure
US8095601B2 (en) * 2004-10-22 2012-01-10 Microsoft Corporation Inter-proximity communication within a rendezvous federation
US8051421B2 (en) * 2007-03-30 2011-11-01 Sap Ag Method and system for estimating resource provisioning
US7619991B2 (en) * 2007-03-30 2009-11-17 Sap Ag User interface for modeling estimations of resource provisioning
KR101504763B1 (en) * 2007-08-07 2015-03-23 삼성전자주식회사 System and method for providing article information in local area network
US8095670B2 (en) * 2007-09-11 2012-01-10 International Business Machines Protocol for enabling dynamic and scalable federation of enterprise service buses
US8195803B2 (en) * 2007-12-14 2012-06-05 International Business Machines Corporation Method and apparatus for modeling and managing quality of service (QoS) in a service-oriented architecture (SOA) environment
US8250521B2 (en) * 2007-12-14 2012-08-21 International Business Machines Corporation Method and apparatus for the design and development of service-oriented architecture (SOA) solutions
US7974965B2 (en) * 2007-12-17 2011-07-05 International Business Machines Corporation Federated pagination management
US20090198534A1 (en) * 2008-02-01 2009-08-06 International Business Machines Corporation Governing A Service Oriented Architecture
US20090198537A1 (en) * 2008-02-04 2009-08-06 International Business Machines Corporation Defining An SOA Strategy For A Service Oriented Architecture
US8583610B2 (en) * 2008-03-04 2013-11-12 International Business Machines Corporation Dynamically extending a plurality of manageability capabilities of it resources through the use of manageability aspects
US20090300750A1 (en) 2008-05-27 2009-12-03 Avaya Inc. Proxy Based Two-Way Web-Service Router Gateway
US7996394B2 (en) * 2008-07-17 2011-08-09 International Business Machines Corporation System and method for performing advanced search in service registry system
US7966320B2 (en) * 2008-07-18 2011-06-21 International Business Machines Corporation System and method for improving non-exact matching search in service registry system with custom dictionary
US20100082737A1 (en) * 2008-09-26 2010-04-01 Carlson Marketing Worldwide, Inc. Dynamic service routing
US20100138251A1 (en) * 2008-12-02 2010-06-03 International Business Machines Corporation Governing The Design Of Services In A Service Oriented Architecture
US8352912B2 (en) * 2008-12-15 2013-01-08 International Business Machines Corporation Method and system for topology modeling
US8301690B2 (en) * 2009-02-06 2012-10-30 International Business Machines Corporation Correlator system for web services
US8392567B2 (en) * 2009-03-16 2013-03-05 International Business Machines Corporation Discovering and identifying manageable information technology resources
US8533230B2 (en) * 2009-06-24 2013-09-10 International Business Machines Corporation Expressing manageable resource topology graphs as dynamic stateful resources
US8156140B2 (en) * 2009-11-24 2012-04-10 International Business Machines Corporation Service oriented architecture enterprise service bus with advanced virtualization
US8364745B2 (en) * 2009-11-24 2013-01-29 International Business Machines Corporation Service oriented architecture enterprise service bus with universal ports
US8607192B2 (en) 2010-09-15 2013-12-10 International Business Machines Corporation Automating a governance process of creating a new version of a service in a governed SOA
US8560566B2 (en) 2010-11-12 2013-10-15 International Business Machines Corporation Search capability enhancement in service oriented architecture (SOA) service registry system
US8352491B2 (en) 2010-11-12 2013-01-08 International Business Machines Corporation Service oriented architecture (SOA) service registry system with enhanced search capability
WO2012075442A1 (en) * 2010-12-02 2012-06-07 American International Group, Inc. Systems, methods, and computer program products for processing insurance claims
US20120203944A1 (en) * 2011-02-07 2012-08-09 Itg Software Solutions, Inc. Systems and Methods for Providing Access to Financial Trading Services
US8478753B2 (en) 2011-03-03 2013-07-02 International Business Machines Corporation Prioritizing search for non-exact matching service description in service oriented architecture (SOA) service registry system with advanced search capability
US8566842B2 (en) 2011-04-01 2013-10-22 International Business Machines Corporation Identification of a protocol used in a message
US9208344B2 (en) 2011-09-09 2015-12-08 Lexisnexis, A Division Of Reed Elsevier Inc. Database access using a common web interface
US9342558B2 (en) * 2013-01-31 2016-05-17 Red Hat, Inc. Systems, methods, and computer program products for selecting a machine to process a client request
US9516117B2 (en) 2013-08-21 2016-12-06 Red Hat, Inc. Dynamic shifting of service bus components
CN105519041B (en) 2013-09-28 2019-03-01 迈克菲股份有限公司 The frame of secure connection
US9407546B2 (en) 2014-02-24 2016-08-02 Red Hat, Inc. Routing a message using a routing table in a dynamic service mesh
US10097431B1 (en) * 2014-06-06 2018-10-09 Amazon Technologies, Inc. Routing to tenant services utilizing a service directory
US10250455B1 (en) 2014-06-06 2019-04-02 Amazon Technologies, Inc. Deployment and management of tenant services
US10498857B2 (en) * 2016-03-29 2019-12-03 Amazon Technologies, Inc. System interaction monitoring and component scaling
US10362141B1 (en) * 2016-03-29 2019-07-23 Amazon Technologies, Inc. Service group interaction management
US10826805B2 (en) * 2016-07-11 2020-11-03 Acronis International Gmbh System and method for dynamic online backup optimization
CN109450795B (en) * 2018-11-09 2020-08-11 浙江大学 Service router and service network system facing service network
CN112468345B (en) * 2020-12-11 2022-04-12 浙江大学 Cross-boundary service network architecture based on distributed spanning tree
CN114124735B (en) * 2022-01-29 2022-06-07 南昌国讯信息技术股份有限公司 Route design method and electronic equipment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060047742A1 (en) * 2004-06-15 2006-03-02 O'neill Brian Method and apparatus to accomplish peer-to-peer application data routing between service consumers and service providers within a service oriented architecture
US20060268879A1 (en) * 2005-05-11 2006-11-30 Texas Instruments Incorporated Quality of service aware robust link state routing for mesh networks
US20070011126A1 (en) * 2005-03-21 2007-01-11 Primitive Logic, Inc. Service-oriented architecture

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060047742A1 (en) * 2004-06-15 2006-03-02 O'neill Brian Method and apparatus to accomplish peer-to-peer application data routing between service consumers and service providers within a service oriented architecture
US20070011126A1 (en) * 2005-03-21 2007-01-11 Primitive Logic, Inc. Service-oriented architecture
US20060268879A1 (en) * 2005-05-11 2006-11-30 Texas Instruments Incorporated Quality of service aware robust link state routing for mesh networks

Cited By (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080133755A1 (en) * 2006-11-30 2008-06-05 Gestalt Llc Context-based routing of requests in a service-oriented architecture
US8516116B2 (en) * 2006-11-30 2013-08-20 Accenture Global Services Limited Context-based routing of requests in a service-oriented architecture
US20080301784A1 (en) * 2007-05-31 2008-12-04 Microsoft Corporation Native Use Of Web Service Protocols And Claims In Server Authentication
US8528058B2 (en) * 2007-05-31 2013-09-03 Microsoft Corporation Native use of web service protocols and claims in server authentication
US20090077251A1 (en) * 2007-09-13 2009-03-19 International Business Machines Corporation Protocol for enabling dynamic and hierarchical interconnection of autonomous federations of enterprise service buses
US20090080408A1 (en) * 2007-09-20 2009-03-26 Intel Corporation Healthcare semantic interoperability platform
US8850057B2 (en) * 2007-09-20 2014-09-30 Intel Corporation Healthcare semantic interoperability platform
US9961156B2 (en) 2007-09-20 2018-05-01 Intel Corporation Healthcare semantic interoperability platform
US20090198535A1 (en) * 2008-02-01 2009-08-06 International Business Machines Corporation Defining Service Funding For A Service Oriented Architecture
US7957994B2 (en) * 2008-02-01 2011-06-07 International Business Machines Corporation Defining service funding for a service oriented architecture
US8660885B2 (en) 2008-02-04 2014-02-25 International Business Machines Corporation Defining service ownership for a service oriented architecture
US20090327557A1 (en) * 2008-06-25 2009-12-31 Fujitsu Limited Service bus linking method and service bus
US7953918B2 (en) * 2008-06-25 2011-05-31 Fujitsu Limited Service bus linking method and service bus for linking plurality of service buses together
US20100071028A1 (en) * 2008-09-18 2010-03-18 International Business Machines Corporation Governing Service Identification In A Service Oriented Architecture ('SOA') Governance Model
US8570905B2 (en) * 2008-09-26 2013-10-29 International Business Machines Corporation Adaptive enterprise service bus (ESB) runtime system and method
US20100080148A1 (en) * 2008-09-26 2010-04-01 International Business Machines Corporation Adaptive enterprise service bus (esb) runtime system and method
US20100138252A1 (en) * 2008-12-02 2010-06-03 International Business Machines Corporation Governing Realizing Services In A Service Oriented Architecture
US20100138250A1 (en) * 2008-12-02 2010-06-03 International Business Machines Corporation Governing Architecture Of A Service Oriented Architecture
US10152692B2 (en) 2008-12-03 2018-12-11 International Business Machines Corporation Governing exposing services in a service model
US20100138254A1 (en) * 2008-12-03 2010-06-03 International Business Machines Corporation Governing Exposing Services In A Service Model
US20100280856A1 (en) * 2009-04-29 2010-11-04 International Business Machines Corporation Identifying service oriented architecture shared service opportunities
US9424540B2 (en) * 2009-04-29 2016-08-23 International Business Machines Corporation Identifying service oriented architecture shared service opportunities
US20110010217A1 (en) * 2009-07-13 2011-01-13 International Business Machines Corporation Service Oriented Architecture Governance Using A Template
US20110022439A1 (en) * 2009-07-22 2011-01-27 International Business Machines Corporation System for managing events in a configuration of soa governance components
US8386282B2 (en) * 2009-07-22 2013-02-26 International Business Machines Corporation Managing events in a configuration of SOA governance components
US20120176940A1 (en) * 2009-09-18 2012-07-12 Fujitsu Limited Course searching method and node device
US8649295B2 (en) * 2009-09-18 2014-02-11 Fujitsu Limited Course searching method and node device
US8285672B2 (en) * 2009-10-29 2012-10-09 Oracle International Corporation Declarative federation of registries
US20110107352A1 (en) * 2009-10-29 2011-05-05 Oracle International Corporation Declarative federation of registries
US8613043B2 (en) 2009-12-22 2013-12-17 International Business Machines Corporation Identity mediation in enterprise service bus
US8321909B2 (en) 2009-12-22 2012-11-27 International Business Machines Corporation Identity mediation in enterprise service bus
US20110208806A1 (en) * 2010-02-24 2011-08-25 Jiri Pechanec Link-based registry federation
US8407278B2 (en) * 2010-02-24 2013-03-26 Red Hat, Inc. Link-based registry federation
US20110295956A1 (en) * 2010-05-25 2011-12-01 Jiri Pechanec Transport Cost Optimization For Enterprise Service
US8761017B2 (en) * 2010-05-25 2014-06-24 Red Hat, Inc. Transport cost optimization for enterprise service
US8875220B2 (en) * 2010-07-01 2014-10-28 Raytheom Company Proxy-based network access protection
US20120005719A1 (en) * 2010-07-01 2012-01-05 Raytheon Company Proxy-Based Network Access Protection
US8725765B2 (en) 2010-07-16 2014-05-13 Red Hat, Inc. Hierarchical registry federation
US10387816B2 (en) 2010-09-15 2019-08-20 International Business Machines Corporation Automating a governance process of optimizing a portfolio of services in a governed SOA
US8726227B2 (en) 2010-09-15 2014-05-13 International Business Machines Corporation Modeling a governance process of establishing a subscription to a deployed service in a governed SOA
US8769483B2 (en) 2010-09-15 2014-07-01 International Business Machines Corporation Automating a governance process of optimizing a portfolio of services in a governed SOA
US20130136101A1 (en) * 2010-09-30 2013-05-30 Sony Corporation Method and apparatus for configuring communication resource sets and method and system of resource management
US9173132B2 (en) * 2010-09-30 2015-10-27 Sony Corporation Method and apparatus for configuring communication resource sets and method and system of resource management
CN102347983A (en) * 2011-08-26 2012-02-08 四川长虹电器股份有限公司 ESB (Enterprise Service Bus) system in SOA (Service-Oriented Architecture)
US20130103837A1 (en) * 2011-10-25 2013-04-25 LonoCloud, Inc. Federated, policy-driven service meshes for distributed software systems
US9519520B2 (en) * 2011-10-25 2016-12-13 Viasat, Inc. Federated, policy-driven service meshes for distributed software systems
US9313231B2 (en) 2012-03-20 2016-04-12 International Business Machines Corporation Inter-domain replication of service information
US10116706B2 (en) 2012-03-20 2018-10-30 International Business Machines Corporation Inter-domain replication of service information
US20130254335A1 (en) * 2012-03-20 2013-09-26 International Business Machines Corporation Inter-domain replication of service information
US10715553B2 (en) 2012-03-20 2020-07-14 International Business Machines Corporation Inter-domain replication of service information
US20130254328A1 (en) * 2012-03-20 2013-09-26 International Business Machines Corporation Inter-domain replication of service information
US8918477B2 (en) * 2012-03-20 2014-12-23 International Business Machines Corporation Inter-domain replication of service information
US9866593B2 (en) 2012-03-20 2018-01-09 International Business Machines Corporation Inter-domain replication of service information
US8930493B2 (en) * 2012-03-20 2015-01-06 International Business Machines Corporation Inter-domain replication of service information
US10135845B2 (en) 2013-09-28 2018-11-20 Mcafee, Llc Context-aware network on a data exchange layer
US20160219116A1 (en) * 2013-09-28 2016-07-28 Christopher Smith Efficient request-response routing over a data exchange layer
US10447714B2 (en) 2013-09-28 2019-10-15 Mcafee, Llc Context-aware network on a data exchange layer
WO2015047435A1 (en) * 2013-09-28 2015-04-02 Mcafee, Inc. Context-aware network on a data exchange layer
US10819804B2 (en) * 2013-09-28 2020-10-27 Mcafee, Llc Efficient request-response routing over a data exchange layer
US11418605B2 (en) 2013-09-28 2022-08-16 Musarubra Us Llc Efficient request-response routing over a data exchange layer
US9807118B2 (en) 2014-10-26 2017-10-31 Mcafee, Inc. Security orchestration framework
US20170104683A1 (en) * 2015-10-08 2017-04-13 Samsung Sds America, Inc. Dynamically segmenting traffic for a/b testing in a distributed computing environment
CN109600426A (en) * 2018-11-26 2019-04-09 南京软智信息技术有限公司 One kind being based on SOA business development platform
CN109861848A (en) * 2019-01-04 2019-06-07 北京全路通信信号研究设计院集团有限公司 A kind of Rail traffic network construction method and system based on data/address bus

Also Published As

Publication number Publication date
WO2008036777A2 (en) 2008-03-27
US7814226B2 (en) 2010-10-12
WO2008036777A3 (en) 2008-09-04
US20080069124A1 (en) 2008-03-20

Similar Documents

Publication Publication Date Title
US7814226B2 (en) System and method for supporting service networks in a service-oriented architecture environment
US11063819B2 (en) Managing use of alternative intermediate destination computing nodes for provided computer networks
US11563681B2 (en) Managing communications using alternative packet addressing
US10812384B2 (en) Customer-specified routing policies
US20220279040A1 (en) Managing replication of computing nodes for provided computer networks
CN114128229B (en) Method, system and apparatus for service and topology switching protocol
CN113826363B (en) Consistent route advertisement between redundant controllers in a global network access point
US10348571B2 (en) Methods and apparatus for accessing dynamic routing information from networks coupled to a wide area network (WAN) to determine optimized end-to-end routing paths
US9736016B2 (en) Managing failure behavior for computing nodes of provided computer networks
US10135683B1 (en) Dynamically generating application-layer traffic optimization protocol endpoint attributes
US9491002B1 (en) Managing communications involving external nodes of provided computer networks
US8224931B1 (en) Managing use of intermediate destination computing nodes for provided computer networks
US9973379B1 (en) Managing integration of external nodes into provided computer networks
US9634922B2 (en) Apparatus, system, and method for cloud-assisted routing
JP2021535694A (en) Independent data store in a network routing environment
US8094575B1 (en) Routing protocol extension for network acceleration service-aware path selection within computer networks
US10084851B1 (en) Managing use of intermediate destination hardware devices for provided computer networks
CN112673596A (en) Service insertion at a logical gateway
JP2008527860A (en) Provisioning-management within a message publish / subscribe system
Scharf et al. Monitoring and abstraction for networked clouds
Paul et al. OpenADN: a case for open application delivery networking
US11888735B2 (en) Using an attribute value to set a preferred egress point in multi-site logical routers
Dey et al. CAR: Cloud-assisted routing
Tian et al. Network Architectural Models
Malik et al. Peer-to-Peer Approach for Edge Computing Services

Legal Events

Date Code Title Description
AS Assignment

Owner name: BEA SYSTEMS, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:PATRICK, PAUL;REEL/FRAME:020164/0967

Effective date: 20071119

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION