• No results found

An Autonomic Service Delivery Platform for Service-Oriented Network Environments

N/A
N/A
Protected

Academic year: 2020

Share "An Autonomic Service Delivery Platform for Service-Oriented Network Environments"

Copied!
161
0
0

Loading.... (view fulltext now)

Full text

(1)

ABSTRACT

CALLAWAY, ROBERT DAVID. An Autonomic Service Delivery Platform for Service-Oriented Network Environments. (Under the direction of Michael Devetsikiotis and Yannis Viniotis.)

Service-oriented architectures offer a more effective and flexible approach to integrating

technology with business processes than traditional information technology (IT) architectures.

Service-oriented architectures are the foundation for both next-generation telecommunications

and middleware architectures, which are rapidly converging on top of commodity transport

ser-vices. Services such as triple/quadruple play, multimedia messaging, and presence are enabled

by the emerging service-oriented IP Multimedia Subsystem, and allow telecommunications

ser-vice providers to maintain, if not improve, their position in the marketplace. Serser-vice-oriented

architectures are aggressively leveraged in next-generation middleware systems as the system model of choice to interconnect service consumers and providers within and between enterprises.

We leverage previous research in active, overlay, and peer-to-peer networking

technolo-gies, along with recent advances in XML and Web Services, to create the paradigm of

service-oriented networking (SON). SON is an emerging architecture that enables network devices to

operate at the application layer to provide functions such as service-based routing, content

transformation, and protocol integration to consumers and providers. By adding

application-awareness into the network fabric, SON can act as a next-generation federated enterprise service

bus that provides vast gains in overall performance and efficiency, and enables the integration

of heterogeneous environments.

The contributions of this research are threefold: first, we formalize SON as an

ar-chitecture and discuss the challenges in building SON devices. Second, we discuss issues in

interconnecting SON devices to create large-scale service-oriented middleware and

telecommu-nications systems; in particular, we discuss the concept of federations of enterprise service

buses, and present two protocols that enable a distributed service registry to support the

feder-ation. Finally, we propose an autonomic service delivery platform for service-oriented network

environments. The platform enables a self-optimizing infrastructure that balances the goals

of maximizing the business value derived from processing service requests and the optimal

(2)

An Autonomic Service Delivery Platform for Service-Oriented Network Environments

by

Robert David Callaway

A dissertation submitted to the Graduate Faculty of North Carolina State University

in partial fulfillment of the requirements for the Degree of

Doctor of Philosophy

Computer Engineering Raleigh, North Carolina

2008

Approved By:

Dr. Adolfo F. Rodriguez Dr. Mihail L. Sichitiu

Dr. Yannis Viniotis Dr. Andrew J. Rindos

Co-Chair of Advisory Committee

(3)

DEDICATION

Dedicated to the memory of my late father,

Michael Brown Callaway,

(4)

BIOGRAPHY

Robert (Bob) David Callaway was born in May of 1982 in Charlotte, North Carolina. He

graduated cum laude from North Carolina State University in May of 2003, with Bachelor of Science degrees in Computer Engineering and Electrical Engineering and a minor in Business

Management. During his undergraduate education, he participated in the University Scholars

Program and was inducted into the Beta Eta Chapter of Eta Kappa Nu.

Bob has been working under the guidance of Professor Michael Devetsikiotis as a

Re-search Assistant since January of 2002 and joined the graduate program at NC State University

in the summer of 2003. He earned the Master of Science degree in Computer Networking in

December of 2004. He is currently a candidate for the Doctor of Philosophy degree in Computer

Engineering, focused on the area of service-oriented networking. His research and development

interests are in network performance, service engineering, and distributed systems. Bob was

awarded an IBM PhD Fellowship for the 2007-2008 academic year. He has also recieved two

IBM Invention Achievement Awards and has five patent applications pending in the U.S.

Upon completion of his doctoral degree, Bob will join the WebSphere Technology

Institute of IBM Software Group as an Advisory Software Engineer, focusing on the design and

(5)

ACKNOWLEDGEMENTS

I would like to express my profound appreciation to my advisor, Dr. Mike

Devetsikio-tis, for giving me the opportunity to work with him for the last six years. I am deeply indebted

to him for providing a supportive environment for my undergraduate and graduate research.

His insight, patience, and encouragement have been invaluable to me during this process and

have undoubtedly changed me for the better.

I would also like to give thanks to Dr. Yannis Viniotis for his passionate assistance

with the direction of this research. Our numerous discussions and his insightful suggestions

have greatly increased the quality, as well as the impact, of my PhD.

I would have never started this journey, if not for the advice of Dr. Andy Rindos.

He was just as helpful as our paths crossed again as he moved from the role of my “queueing

theory instructor” to my manager at IBM. His support of me and this work was crucial for its

completion, and for that I am sincerely appreciative. Also many thanks to Dr. Tom Bradicich

and Dr. Norm Strole for their advice that led me down this rewarding academic path.

I must also give special thanks to Dr. Adolfo Rodriguez for being a very patient

mentor and, more importantly, a good friend and colleague. His insight, vision, and guidance

were critical to the success of this work, and his support and confidence in me throughout the

last three years have made this a fulfilling and enjoyable endeavour.

Also, special thanks are due to Dr. Mihail Sichitiu and Dr. Sharon Setzer for serving

on my advisory committee, to Kyle Brown and Dr. Rick Robinson for their assistance with the

ESB federation work, and to Dr. Bart Vashaw for providing me with the opportunity to join

the WebSphere Technology Institute, as well as for the financial support that has sustained me

throughout the last three years.

On a more personal note, I would also like to express my love and gratitude to my

wife, Gina, for being there for me throughout the last nine years. Your patience, love, and

compassion are truly inspring to me, and I cannot even begin to thank you for all that you do

for me. I love you more than words can say, and I can’t wait for the rest of our lives together.

Very special thanks are also due to my family (Chris, Leslie, Logan, Dale, Maria, Steve,

Lois, Elaine, Ron, and Pam), my close friends (Josh, Kati, David, Liz, Amy, Erik, Praveen, and

Chris), my beloved basset hound, Bella, and my esteemed colleagues at IBM (John, Marcel,

and Murali) for their encouragement and support. Thank you all for the good times, laughter,

smiles, and friendship. You have helped make the time outside of the PhD memorable and

(6)

I would like to thank my brother, Tom, for always being there for his little brother.

Your courage is an inspiration to me, and I certainly owe you at least partially for my interest

in technology. I am proud to have you as a brother and grateful for your presence in my life.

Last, but surely not least, I am forever indebted to my parents for everything they

have given me. Mom, thank you for all that you have done in every part of my life. Dad, I owe

so much to you and I strive every day to make you proud of me. Thank you for having been a

(7)

TABLE OF CONTENTS

List of Figures . . . viii

List of Tables . . . x

1 Introduction & Motivation . . . 1

1.1 The Need for Adaptive Service-Oriented Systems in the 21st Century . . . 1

1.1.1 A Brief History of Information Technology . . . 2

1.2 Service-Oriented Architectures . . . 4

1.2.1 Enterprise Service Bus . . . 4

1.2.2 The Emergence of XML . . . 5

1.2.3 Web Services . . . 5

1.3 Contributions of this Dissertation . . . 6

1.4 Outline of this Dissertation . . . 8

2 Service-Oriented Networking . . . 10

2.1 Previous Efforts in Application-Aware Networking . . . 10

2.1.1 Active Networks . . . 10

2.1.2 Overlay Networks . . . 11

2.2 The Paradigm of Service-Oriented Networking . . . 11

2.2.1 Benefits . . . 12

2.2.2 Functions . . . 13

2.3 Research Challenges in Building SON Devices . . . 16

2.3.1 Implementation Considerations . . . 16

2.3.2 Robustness . . . 17

2.3.3 Specialized Hardware . . . 18

2.3.4 Security . . . 18

2.3.5 Resource Allocation . . . 18

2.4 Research Challenges in Interconnecting SON Devices . . . 19

2.4.1 Manageability . . . 19

2.4.2 Resource Allocation . . . 20

2.5 Conclusions . . . 21

3 Large-Scale Service-Oriented Systems . . . 22

3.1 Introduction & Motivation . . . 22

3.2 Current Approaches to ESB Federation . . . 24

3.2.1 Manual Configuration . . . 24

3.2.2 Broker ESB . . . 24

3.2.3 Centralized Registry . . . 25

3.3 Federation Architecture . . . 25

3.3.1 Related Work . . . 28

(8)

3.4.1 Service Request Forwarding . . . 32

3.5 Interconnecting Autonomous Federations . . . 35

3.5.1 Service Request Forwarding . . . 39

3.6 Conclusions . . . 41

4 An Autonomic Service Delivery Platform . . . 42

4.1 Introduction . . . 42

4.2 Architecture of Service Delivery Platform . . . 44

4.2.1 Overview . . . 44

4.2.2 Key Assumptions . . . 44

4.2.3 Methodologies Integrated in the Platform . . . 46

4.2.4 Related Work in Service Systems . . . 49

4.3 Analytic Framework of Service Delivery Platform . . . 50

4.3.1 Distributed Algorithm . . . 52

4.4 Engineering Tradeoffs in the Service Delivery Platform . . . 54

4.4.1 Fairness versus Efficiency . . . 54

4.4.2 Concavity versus Nonconcavity . . . 55

4.5 Simulation . . . 58

4.5.1 Experimental Setup . . . 58

4.5.2 No Congestion Functions . . . 60

4.5.3 Delay Sensitive Function . . . 70

4.5.4 Hop Count Congestion Function . . . 75

4.6 Conclusions . . . 79

5 Conclusions . . . 81

5.1 Summary of this Dissertation . . . 81

5.2 Future Work . . . 82

5.2.1 Multipath XML-Based Service Routing Protocols . . . 82

5.2.2 Minimizing Optimization Computations using Wavelet-Based Traffic Prediction . . . 82

5.2.3 Measurement of Effective Capacity of Resources . . . 83

Bibliography . . . 85

Appendices . . . 94

(9)

LIST OF FIGURES

Figure 1.1 Evolution of Information Technology Architectures . . . 2

Figure 1.2 Diagram of an Enterprise Service Bus . . . 5

Figure 1.3 Estimated Percentage of XML in Overall Network Traffic . . . 6

Figure 2.1 Example of Functional Offloading . . . 14

Figure 2.2 Example of Service Integration . . . 14

Figure 2.3 Example of Intelligent Routing . . . 16

Figure 2.4 Comparison of Software and Appliance Approaches . . . 17

Figure 2.5 Example of Adaptive Admission Control: SEDA Response Time Controller . . 19

Figure 3.1 Example Topology of Multiple ESB Deployments - Hub & Spokes . . . 26

Figure 3.2 Example Topology of Multiple ESB Deployments - Peer Business Divisions . . 26

Figure 3.3 Example Topology of Interconnected Autonomous Federations . . . 27

Figure 3.4 Message Exchange Between Two ESBs Within a Federation . . . 31

Figure 3.5 Example of Contents of Hello XML Message . . . 31

Figure 3.6 Example of Contents of Database Description XML Message . . . 32

Figure 3.7 Example of Contents of Acknowledgement Database Description XML Message 33 Figure 3.8 Example of Contents of Service State Update XML Message . . . 34

Figure 3.9 Flowchart for Forwarding Service Requests within a Federation of Enterprise Service Buses . . . 34

Figure 3.10 Message Exchange Between Two Autonomous Federations . . . 36

Figure 3.11 Example of Contents of Open XML Message . . . 36

Figure 3.12 Example of Contents of KeepAlive XML Message . . . 37

Figure 3.13 Example of Contents of Update XML Message . . . 37

Figure 3.14 Example of Contents of Notification XML Message . . . 38

Figure 3.15 Message Exchange Between Three Autonomous Federations . . . 38

Figure 3.16 Example of Contents of Open XML Message . . . 38

Figure 3.17 Example of Contents of KeepAlive XML Message . . . 38

Figure 3.18 Example of Contents of Update XML Message . . . 39

Figure 3.19 Example of Contents of Update XML Message . . . 40

Figure 3.20 Flowchart for Forwarding Service Requests Between Autonomous Federations of Enterprise Service Buses . . . 40

Figure 4.1 Example of SON Topology with Multiple Service Providers . . . 45

Figure 4.2 Examples of Nonconcave Utility Functions . . . 56

Figure 4.3 Service-Oriented Network Topology Used in Simulation . . . 58

Figure 4.4 Topology Matrix for Simulation . . . 59

Figure 4.5 Equal Service Priorities: Offered Rates vs. Time . . . 60

Figure 4.6 Equal Service Priorities: Utility vs. Time . . . 61

Figure 4.7 Equal Service Priorities: Service 1 Throughput vs. Path and Time . . . 64

(10)

Figure 4.9 Weighted Service Priorities: Offered Rates vs. Time . . . 65

Figure 4.10 Weighted Service Priorities: Utility vs. Time . . . 66

Figure 4.11 Weighted Service Priorities: Service 1 Throughput vs. Path and Time . . . 69

Figure 4.12 Weighted Service Priorities: Service 2 Throughput vs. Path and Time . . . 69

Figure 4.13 Delay Sensitive Service: Utility vs. Delay . . . 71

Figure 4.14 Delay Sensitive Service: Service 1 Throughput vs. Path and Delay . . . 74

Figure 4.15 Delay Sensitive Service: Service 2 Throughput vs. Path and Delay . . . 74

Figure 4.16 Hop Count Sensitive Service: Utility vs. Gamma . . . 76

Figure 4.17 Hop Count Sensitive Service: Service 1 Throughput vs. Path and Gamma . . . 78

Figure 4.18 Hop Count Sensitive Service: Service 2 Throughput vs. Path and Gamma . . . 78

Figure 5.1 Using Traffic Prediction Algorithms to Minimze Optimization Calculations . . 83

Figure A.1 Mediation State Machine . . . 110

(11)

LIST OF TABLES

Table 4.1 Equal Service Priorities: Node Throughput at Time 0 . . . 62

Table 4.2 Equal Service Priorities: Node Throughput at Time 100 . . . 62

Table 4.3 Equal Service Priorities: Node Throughput at Time 200 . . . 63

Table 4.4 Equal Service Priorities: Node Throughput at Time 300 . . . 63

Table 4.5 Weighted Service Priorities: Node Throughput at Time 0 . . . 66

Table 4.6 Weighted Service Priorities: Node Throughput at Time 100 . . . 67

Table 4.7 Weighted Service Priorities: Node Throughput at Time 200 . . . 67

Table 4.8 Weighted Service Priorities: Node Throughput at Time 300 . . . 68

Table 4.9 Delay Sensitive Service: Node D Delay = 1 . . . 72

Table 4.10 Delay Sensitive Service: Node D Delay = 5 . . . 72

Table 4.11 Delay Sensitive Service: Node D Delay = 6 . . . 72

Table 4.12 Delay Sensitive Service: Node D Delay = 7 . . . 73

Table 4.13 Delay Sensitive Service: Node D Delay = 8 . . . 73

Table 4.14 Hop Count Sensitive Service: Gamma = 0.005 . . . 76

Table 4.15 Hop Count Sensitive Service: Gamma = 0.01 . . . 77

Table 4.16 Hop Count Sensitive Service: Gamma = 0.05 . . . 77

Table A.1 IFRP Message Types . . . 101

Table A.2 IFRP Service State Advertisements (SSAs) . . . 102

Table A.3 Mediation State Transitions . . . 113

Table A.4 Peer State Transitions . . . 120

Table A.5 Mediation State Transitions . . . 133

Table A.6 The SSA’s Service State ID . . . 134

(12)

Chapter 1

Introduction & Motivation

1.1

The Need for Adaptive Service-Oriented Systems in the

21

st

Century

Over the past 15 years, the global economy has been dramatically altered by the

pervasive nature of information technology (IT) and networking. The resulting interconnected

global marketplace, where information is the transactional medium, has caused a dramatic shift

in the global economy. For example, the service sector of the U.S. economy, the primary user of

IT across all other economic categories, contributes to over eighty percent of the nation’s gross

domestic product [1]. Successful service-based systems can autonomically adapt to changes and

advances in business processes, IT, and the global marketplace [2]. Furthermore, the penetration

of the Internet into global culture further increases the importance for businesses to adapt to

an increasingly quality-sensitive, content-driven customer base. The ability to offer dynamic,

stable, robust, and high performance service offerings is, and will continue to be, crucial to

corporations in the 21st century.

One example of the transformation required in industries due to the influence of IT

can be observed in the case of telecommunications service providers. Telecommunications

ser-vices, such as the basic landline telephone system in the U.S., were relatively profitable for

service providers in the latter end of the 20th century. These traditional telephone providers

primarily depended on value-added services (such as long distance, caller ID, and voicemail)

to generate the majority of their operational profits, since they allowed the providers to

differ-entiate themselves in the marketplace. Today, however, telecommunications services like the

(13)

telecommunications providers. Network service providers are earning low profit margins with

high operational investments while being compelled to provide a near-perfect quality-of-service

to satisfy their customers. This is not surprising since basic economic theory states that profit

and degree of commoditization are inversely proportional to one another.

1.1.1 A Brief History of Information Technology

Due to the pervasive nature of IT in corporations, heterogeneity and change are the

greatest issues facing IT managers today [3]. Even with wider adoption of open standards, it

remains a daunting task to make legacy IT systems communicate across vendor, protocol, and

software differences. The rate of change in available hardware and software products enhances

the difficulty of supporting a dynamic infrastructure that is adaptable to business requirements

and industry trends.

The evolution of information technology architectures over the last sixty years enables

us to gain great insight into the motivation behind service-oriented architectures (SOA). Figure

1.1 (reprinted from [3]) gives a general description of the transitions between various computing

architectures. Many of the design principles behind SOA are based on the lessons learned in

the development of centralized and distributed computing systems of the past.

Figure 1.1: Evolution of Information Technology Architectures

Centralized computing emerged as the first prevalent IT architecture during the period

between 1950 and 1970. It is based on having a single source of computing power, known as the

(14)

numerous processors and thousands of users simultaneously. Users interacted with traditional

mainframes using “dumb-clients”, terminals that did not perform local processing of programs

or data that a user was requesting.

With the increase in development of smaller computers, and eventually with the release

of the personal computer (PC) in the early 1980s, the influence of the computer became more

widespread. With this, users possessed the capability to perform some processing on their own

PC, yet leave more complicated tasks to the mainframes or more powerful personal computers

known as servers. These innovations sparked the deployment of the first architecture based on

distributed computing principles that became known as the Client/Server model. Computer

and telecommunication networks played a larger role as systems became interconnected in order

to support this architecture.

The wide-scale adoption of the Internet and graphical user interface continued to

push the development of distributed systems even further. Basic applications, such as e-mail

clients and web browsers, became extremely popular; this led to the development of more

advanced Internet-enabled applications, such as instant messaging and e-commerce. Web sites

that featured dynamic content helped to drive the development of three-tier and multi-tier

architectures. In a three-tier architecture, the first tier would typically contain web servers

responsible for acting as user agents. These servers would format and send data received from

the second tier, which is comprised of application servers. Application servers, which execute

the requisite business logic based upon data retrieved from databases, comprise the third layer.

As computers continued to infiltrate into almost every industry, application servers

and middleware systems became more prevalent in corporations. However, many corporations

had disparate systems running a variety of applications that neededto cooperate with one

another. This need inspired the development and deployment of distributed objects, based

upon standards for software modules that are designed to work together but reside in multiple

systems throughout an organization; examples of these standards are the Common Object

Request Broker Architecture (CORBA) [4], Distributed Component Object Model [5], and

Java Remote Method Invocation [6].

The ability to componentize these distributed objects and their reuse throughout an

enterprise can have impact in terms of shorter application development time and fewer

soft-ware bugs. The three primary componentization efforts are CORBA Componentization Model,

Enterprise Java Beans (EJBs), and Component Object Model. The popularity of

(15)

languages and techniques.

Middleware consists of software agents acting as an intermediary between different

application components. Software packages, such as IBM WebSphere [7], support the

devel-opment and deployment of software components, such as EJBs. Middleware can be viewed as

the glue that enables the integration of disparate applications with other software components

within an enterprise.

1.2

Service-Oriented Architectures

Service-oriented architectures were designed to be the next generation of middleware

systems that directly addressed the issues of heterogeneity and change that existed in previous

IT architectures [8]. They integrate the concepts of enterprise service buses and web services,

which are discussed in Sections 1.2.1 and 1.2.3, respectively.

Services, the core unit of an SOA, are defined as “a course-grained, discoverable

soft-ware entity that exists as a single instance and interacts with applications and other services

through a loosely coupled, message-based communication model” [3]. Services are based on

the idea that IT infrastructures should be directly aligned with relevant business processes,

rather than with the more traditional horizontal or vertical alignment. Services are comprised

of a combination of various software components that, together, execute a reusable business

function.

One key property of services is that they are loosely coupled with one another within

the SOA. Loosely coupled is defined in [9] as having “no tight transactional properties among

the components.” This property is essential to SOA because it removes dependences on

imple-mentation specifics by relying on interaction between services through standardized interfaces.

Services can be implemented in different languages and deployed on different platforms. The

use of standardized interfaces is the key to the enablement of SOA as a flexible architecture.

If adopted and implemented correctly, SOA can provide a framework that leverages

elements of an existing IT infrastructure, which will reduce costs and provide a more flexible

and robust environment for the integration of IT and business processes.

1.2.1 Enterprise Service Bus

The key item for integration of services within an SOA is the Enterprise Service Bus

(16)

business logic of the enterprise to be developed and managed independently of the infrastructure,

network, and provision of those business services” [3]. Figure 1.2 (reprinted from [3]) shows the

interaction of the ESB with service providers and consumers. An ESB serves as the centralized

control and administration entity within the architecture, while also being responsible for the

integration and interaction of deployed services [10].

Figure 1.2: Diagram of an Enterprise Service Bus

1.2.2 The Emergence of XML

Furthermore, there has been a recent trend in the application/integration middleware

space towards XML-aware networking. The Extensible Markup Langage (XML) is a standard

for representing self-describing application data in a textual format, thus enabling heterogeneous

systems to easily operate on the data. Its simplicity, readability, and focus on interoperability

has been key to its success, while sacrificing size and/or processing performance. As such,

applications have embraced XML, not only for representing data amongst internal components,

but also for communicating this data across enterprises. As seen in Figure 1.3 (reprinted from

[11]), XML currently composes a large percentage of network traffic and this percentage is only

expected to increase in years ahead due to the increasing popularity of technologies that rely

on XML, such as Web Services.

1.2.3 Web Services

Web Services (WS) is an emerging standard for application to application

communi-cation over the Internet [12]. Based upon the passing and processing of XML documents, WS

aims to enable distributed computing using defined interfaces in a manner similar to services

currently offered through the World Wide Web.

The Web Services Description Language (WSDL) is an XML-based standard that

(17)

author-2002 2003 2004 2005 2006 2007 2008 0

5 10 15 20 25 30 35 40 45

Year

Percentage of Network Traffic

Figure 1.3: Estimated Percentage of XML in Overall Network Traffic

itatively enumerates the interface for accessing a WS. Typically, the SOAP protocol is used to

actually interact with a WS. The main container within the SOAP protocol is called the SOAP

envelope, and contains header information as well as the actual data to be passed to and from

a WS. The Universal Description, Discovery, and Integration (UDDI) language provides the

ability for users to search for a web service.

Web Services are a substantial building block in a complete SOA solution. They

provide a distributed computing approach for integrating heterogeneous applications over the

Internet based on open standards that provide interoperability between vendors and systems

[3].

1.3

Contributions of this Dissertation

We believe that a main underlying assumption of previous attempts at

application-aware networking, the inflexibility of the network layer, has become invalid due to advances in hardware, software, and networking technologies. Due to Moore’s Law, the cost of

high-performance, off-the-shelf hardware is decreasing. Innovations in hardware-based acceleration

(18)

introduced by XML. Linux, a free open-source operating system, has emerged as a cornerstone

in numerous enterprise computing environments due to its robust networking capabilities and

scalability as a platform for hosting mission-critical applications. The prevalence of optical

networking has removed the notion that bandwidth is a restricted commodity within

enter-prise networks. Furthermore, next-generation telecommunications and middleware systems are

converging under the theme of service-orientation. With this convergence, the properties of

network devices and the larger service-oriented network architecture are an emerging and open

research area that draws from a diverse background of prior work in numerous disciplines.

We argue that these factors combine to invalidate the assumption made in previous

attempts - that implementing application-awareness in the network fabric is too costly and

complex; this serves as the motivation for the paradigm of service-oriented networking. This

architecture assumes that XML is now thelingua franca of network communication, and lever-ages XML-aware devices placed in the network fabric to perform content-based routing, among

many other functions. It is the goal of our research to summarize the breadth of the research

area and make substantial in-depth contributions to particular problems that are currently open

in the literature.

The contributions of our research are as follows:

• We formally name and propose the concept of service-oriented networking (SON). SON

enables network components to become application-aware so that they are able to

under-stand data encoded in XML and act upon that data intelligently to make routing decisions,

enforce QoS or security policies, or transform the data into an alternate representation.

We describe the motivation behind service-oriented networking, the potential benefits

of introducing application-aware network devices into service-oriented architectures, and

discusses research challenges in the development of SON-enabled network appliances as

well as interconnecting them into large-scale service-oriented networks.

• It is often desirable to have multiple ESB deployments federate with one another to

provide a distributed integration platform that promotes the reuse of services within and

across enterprises. However, the existing solutions to federate ESBs are limited by their

inflexibility to change and inability to scale. We propose the enablement of a federation of

enterprise service buses via a distributed service registry and SON that distributes

policy-appropriate service metadata to federation members. We provide a high-level description

(19)

autonomous federations. We argue that the use of a distributed service registry and the

associated enabling protocols is a novel application of existing technology that creates a

robust, scalable, and flexible federation of ESBs that is essential to the next generation

of large-scale SOA deployments.

• Finally, we present a novel autonomic service delivery platform for service-oriented

net-work environments. The platform enables a self-optimizing infrastructure that balances

the goals of maximizing the business value derived from processing service requests and

the optimal utilization of IT resources. We believe that our proposal is the first of its kind

to integrate several well-established theoretical and practical techniques from networking,

microeconomics, and service-oriented computing to form a fully-distributed service

de-livery platform. The principal component of the platform is a utility-based cooperative

service routing protocol that disseminates congestion-based prices amongst intermediaries

to enable the dynamic routing of service requests from consumers to providers. We

pro-vide the motivation for such a platform and formally present our proposed architecture.

We discuss the underlying analytical framework for the service routing protocol, as well

as key methodologies that, together, provide a robust framework for our service delivery

platform that is applicable to the next-generation of middleware and telecommunications

architectures. We discuss issues regarding the fairness of service rate allocations, as well

as the use of nonconcave utility functions in the service routing protocol.

1.4

Outline of this Dissertation

The outline of the dissertation is as follows:

• In Chapter 2, we formally propose Service-Oriented Networking as an emerging

architec-ture. We discuss the challenges, both in building SON devices, as well as in interconnecting

the devices to form a service-oriented network.

• In Chapter 3, we continue the discussion regarding large-scale service-oriented networks.

We explicitly discuss a use case for SON, federations of enterprise service buses. We

describe how federations are enabled by a distributed service registry, and provide details

and examples of two protocols, based on Internet routing protocols, that enable a robust,

(20)

• In Chapter 4, we present our autonomic service delivery platform. The goal of this

platform is to optimally route requests from service consumers to providers. We provide

details of the underlying utility-based analytic framework, as well as results from an initial

experiment that shows the ability of the framework to optimally route and throttle load

under resource constraints.

• In Chapter 5, we summarize our work and propose extensions for future work on the

autonomic service delivery platform.

• In Appendix A, we provide the specification for the Intra-Federation Routing Protocol,

(21)

Chapter 2

Service-Oriented Networking

2.1

Previous Efforts in Application-Aware Networking

Application-aware networks, which provide differential treatment of traffic dependent

on application data, are an emerging technology that promises to provide increased

end-to-end system performance for next-generation applications and networks. Internet Protocol (IP)

routers currently attempt to be application-aware and regularly inspect application data

con-tained in packets; for example, a router may compare passing application data to a virus

signature and discard the traffic when a positive match is triggered. In the past, the bulk

of application data that traversed the network was built around a wide array of closed and

proprietary data specifications. As a result, the majority of network components have

re-mained application-agnostic. However, there have been two significant research areas that have

addressed issues in this area. Active and overlay networks have both attempted to provide

application-aware functionality in the network without an open standard for

application-to-application communication.

2.1.1 Active Networks

Active networks sought to improve the deployment of emerging networking

technolo-gies and protocols by adding application layer functionality in specificactive nodes. While data would still be passed in packets as in a traditional packet-switched network, active networks

would support “smart” packets, which would carry bytecode, along with data, to be executed

in active nodes. The main underlying assumption in active network research is that the

(22)

services. Since standardization of new protocols is often a lengthy process, active network

technology attempted to leverage advances in compilers, operating systems, and programming

languages that would facilitate running user-supplied code in active nodes [13, 14]. Several

groups [15, 16, 17] proposed examples of potential architectures for the organization of

infor-mation and program code into the packet headers, showing results in which active networks

suffer a slight degradation in performance when compared with a software router.

However, active networks were not widely deployed due to issues with security, resource

allocation, and the substantial cost of deployment. Since packets could contain arbitrary code

to be executed on an active node, precautions must be taken to ensure that a rogue user

could not execute code that would corrupt the operations of other users. It is essential to

manage the computing resources of the node to ensure that programs are fair to each other.

Furthermore, the deployment of active network technology in the network would require a

substantial investment for network operators in order to support this new architecture.

2.1.2 Overlay Networks

The development and subsequent deployment of active networks showed that enabling

application-awareness in the network by executing user-supplied code in the network layer is

infeasible. Overlay networks sought to provide application-aware functionality by pushing the

complexity of such algorithms towards the end users of the network. The major assumption

in overlay networks is that application-aware functionality should not reside in the network

layer due to the issues presented in active networks; rather, application-awareness should be

enabled in the application layer where issues of security and resource allocation could be more

easily addressed. Overlay networks consist of peer nodes that self-organize into a distributed

data structure based on application criteria. Strategically placed application-level agents serve

as intermediaries for forwarding data from a source to a set of destinations, in effect, forming

an overlay on top of the underlying IP substrate. Overlay networks can be used to deploy

new protocols such as multicast [18], or enable application-aware routing where messages are

forwarded based on application data or state.

2.2

The Paradigm of Service-Oriented Networking

The rapid adoption of XML, Web Services, and SOA have enabled network

(23)

traditional data-center. Differences in application data-encoding that once hindered the

net-work’s ability to comprehend true application intent are now described by XML. Routing has

become XML-oriented with the use of functions such as XPath routing [19] to direct traffic

based on XML content. Web Services Security (WS-Security) defines security criteria within

XML Web Services envelopes across service invocations. Further, additional offload

capabil-ities are now possible, such as XML transformation (XSLT) [20] to change XML content as

it traverses the network, and service mediation to enable the interoperability of Web Services

in heterogeneous environments. These have key benefits to SOA as they enable services to be

integrated in a loosely-coupled manner where implementation details of components are hidden

from the requester of the service.

Service-Oriented Networking (SON) is an emerging architecture that enables network

devices to operate at the application layer with ESB-like features such as offloading, protocol

integration, and content-based routing. By adding application-awareness into the network

fab-ric, SON can provide vast gains in overall performance and efficiency and enable the integration

of heterogeneous environments. We refer to this collection of network-resident application-level

operations as SON functions. Among others, SON functionality provides three key benefits:

service virtualization, locality exploitation and improved manageability.

2.2.1 Benefits Service Virtualization

Service virtualization transparently maps a set of services to the protected back-end

resources that actually provide the service. A SON device can serve as a proxy for actual

services by masking internal resources via XML transformation and routing techniques. The

SON device could also be leveraged to manage security and denial-of-service (DoS) policies for

incoming requests.

Locality Exploitation

By deploying certain functions in the network fabric, SON devices can be provisioned

and customized to handle unique workloads. For example, these systems can be provisioned

with cryptographic hardware assist for SSL or other security functions. Similarly,

domain-specific hardware to optimize XML processing can be installed to offset the cost of processing

(24)

lead to greater efficiencies and can be more cost-effective than provisioning the entire enterprise

with these capabilities. Lastly, a potential performance benefit is gained from exploiting locality

within co-located SON functions. For example, consider a function executing an XSLT schema

transformation while another is performing XPath routing. The two functions can communicate

to avoid parsing the request twice. Locality also has benefits at lower levels of the system, such

as in cache utilization.

Improved Manageability

Offloading function into the network enables centralized, and therefore simplified,

man-agement of the function and corresponding configuration. For example, style sheets, security,

caching and routing policies can all be centrally managed at SON devices versus decentralized

across a cluster of enterprise servers.

2.2.2 Functions

Three examples of SON functions include functional offloading, service integration,

and intelligent routing, each of which is described below: [21].

Functional Offloading

Offloading security-related operations has been a common practice for Internet-based

application environments; this practice is also applicable to document-centric service-oriented

environments. Like the HTTP server, a SON device can be specially provisioned to handle

cryptographic functions. This enables the device to optimize the validation of digital certificates

in the context of WS-Security. We illustrate this in Figure 2.1, where the SON appliance

intercepts WS-Security SOAP envelopes, performs the appropriate cryptographic functions,

and forwards the requests on to the service provider.

A SON device can also perform a firewall-like security function to validate service

requests (for example, against a corresponding WSDL or XSD document) before forwarding

them to the enterprise server for processing. These checks would ensure that only well-formed

service requests are forwarded. This prevents DoS attacks and ensures that enterprise servers

are encountering only valid service requests.

The most efficient form of offloading is in full-function offload where the service

(25)

Service Provider Encrypted &

Signed SOAP/XML

Decrypted & Authenticated SOAP/XML

WS-Security: Decryption & Authentication Service

Originator

SON Appliance

Figure 2.1: Example of Functional Offloading

technique that accomplishes this, is most effective for read-mostly interactions where requests

do not update back-end states or databases. For example, service requests that retrieve stock

quotes, where ticker values are updated every five minutes, are well suited for this type of

of-fload. If done correctly, a large proportion of the read traffic can be completely serviced by the

appropriate caching component, thereby reducing the load on enterprise database servers. A

cache policy contains rules that define how results from specified services requests are cached.

Service Integration

WidgetsRUS

Service Provider Purchase Order in

Widgets, Inc.

XML Schema

Purchase Order in

WidgetsRUS

XML Schema

XSL Transformation

Widgets, Inc.

Service Originator

SON Appliance

Figure 2.2: Example of Service Integration

Figure 2.2 illustrates the service integration aspect of the SON device in which a widget

retail store (Widgets, Inc.) is ordering a collection of parts by invoking a service request back

(26)

chooses the best parts supplier and forwards the service request to that supplier. However, in

this case, the XML schema ofWidgets, Inc. is different depending on the chosen supplier. The SON device is capable of transforming the original order to schemas of participating providers,

in this case WidgetsRUS. Other widget manufacturers would likely require different schemas, requiring the SON function to apply the appropriate XSLT transformation dependent on the

supplier.

Since the majority of corporate data today exists in mainframe databases, service

integration also provides the ability to interface with existing legacy systems, giving a system

architect more flexibility to migrate towards a service-oriented environment. This increases the

number of service consumers that can take advantage of these programs and data and extends

the reach of SON and SOA further into the enterprise.

Intelligent Routing

Content-based routing (CBR), like priority-based routing, is driven from policy

doc-uments. The policies typically apply a rule against some part of a service request (header or

content), and derive a token as a result. The token is then used to look up a corresponding

enterprise server address in a routing table. For example, a CBR policy might be created by

combining the port-type and operation-name of a service and mapping it to a specific enterprise

server. In a SON device, CBR can be realized by using XPath-based expressions to determine

the destination of the request as shown in Figure 2.3.

CBR also allows an affinity between a class of services and the enterprise server that

services the request; this concept is named service partitioning. Figure 2.3 illustrates this service

partitioning pattern. Service partitioning can be used as the foundation to address bottlenecks

that occur in high volume Online Transaction Processing applications that intensively read and

write data to databases and require the utmost in data consistency and availability. Examples

of such systems include trading, banking, reservation, and online auctioning systems. While a

strategically located SON device enables service partitioning, the value is actually garnered on

the enterprise application servers where the services are deployed. For example, service-based

applications can now assume that their variation of the service is not running elsewhere in the

enterprise server cluster. The applications can then aggressively cache interactions without the

processing overhead of maintaining data consistency within that cluster. Service partitioning

also enables other optimization techniques such as data batching where insertions, updates, and

(27)

Service Providers Unclassified

Requests

XPath Routing SON Appliance

Figure 2.3: Example of Intelligent Routing

2.3

Research Challenges in Building SON Devices

We believe that SON is an exciting new research area that can have a dramatic impact

on the design, performance, integration, and management of service-oriented environments.

Therefore, we believe that significant research is needed in the following areas in order to create

an adaptive and robust SON device that can provide the benefits of service-oriented networking

as we have described in this chapter:

2.3.1 Implementation Considerations

A tradeoff exists between the performance of implementing SON functions in a network

appliance versus software, the extensibility of arbitrary programs versus the hardened security

of an appliance based upon standardized security mechanisms, and the flexibility of a software

solution versus the increased consumability of an appliance; this tradeoff is depicted in Figure

2.4. Since care must be taken to ensure that the SON function improves the overall performance

of the architecture, rather than degrading it, we believe that network appliances that host SON

functionality can leverage hardened software and specialized hardware solutions and overcome

the limitations experienced in previous attempts to introduce application-awareness into the

network fabric. SON functions could be collocated within a switch or router, as in the Cisco line

(28)

Security Extensibility

Appliance Performance

Software Performance

Consumability

Flexibility

SON Appliance

Figure 2.4: Comparison of Software and Appliance Approaches

appliance as in several products sold by DataPower, recently acquired by IBM [23].

2.3.2 Robustness

The SON device should scale to support a large number of requests to be processed

concurrently. It should be robust to overload conditions, continuing to prioritize and process

high priority requests and shed low priority requests while operating in an overloaded regime.

Admission control ensures that a server always operates in a stable regime; even in overloaded

conditions, the server can scale and continue to provide differentiated service to its users. In

order for an SON device to provide services that are fair to the requesting users, a policy should

be defined that enumerates the differential treatment that requests are to receive. This policy

should define strategies to prioritize traffic under both normal and overloaded conditions. Since

requests must be classified before they can be prioritized, it is essential in overloaded conditions

that the system can continue to process high priority requests while possibly shedding lower

priority requests. Therefore, fast methods for classifying incoming requests are needed. The

classifications could be based on network layer information or upon information residing within

the XML content. Algorithms for executing XPath expressions on streaming XML such as

(29)

2.3.3 Specialized Hardware

One main benefit of SON is that it can leverage specialized hardware, such as

hardware-accelerated cryptographic or XML processing functionality, to enhance the overall performance

of the device. However, the SON device will contain software components that process requests

in conjunction with the available hardware devices. Since these components could block upon

the remote invocation of services, it will be important to ensure an efficient and robust

coop-eration scheme between these hardware and software components exists, as this scheme will be

crucial to the overall stability and performance of the SON device.

2.3.4 Security

As in active networks, SON provides software functionality that will be executed in

the network fabric. However, with the introduction of open standards such as XML and

WS-Security, we believe that SON devices will not suffer from the same security issues as active

networks. The use of XML in network operations raises new research questions regarding how

open standards such as XML and Web Services could be leveraged together in an SON appliance

in order to create a device that is hardened against XML and Web Services-based DoS attacks.

One approach is to leverage well-formedness checking and XML schema validation against all

incoming documents in order to ensure that only valid requests proceed within the device for

further processing.

2.3.5 Resource Allocation

The SON device should be adaptive, changing its underlying execution model to

sup-port different types of software components in order to maximize the efficiency of the system.

We believe thatconcurrency mechanisms will be a significant component of resource allocation within a scalable and adaptive SON device. Concurrency mechanisms have a dramatic effect

on the overall performance and efficiency of a device. Internet services are unique because they

require massive concurrency but also block while waiting on unavailable resources. It is this

unique combination of requirements that suggests a hybrid architecture that could be used to

exploit the benefits of different concurrency mechanisms. Models such as the Staged

Event-Driven Architecture (SEDA) [25] could prove useful in building an adaptive resource allocation

system for an SON device.

(30)

each having its own thread pool and is connected with others as a network of queues in order

to provide the desired application functionality. Admission control is used at each stage, and

adaptive controllers that can modify the thread pool size or the amount of requests that are

processed by each thread (batching) are included. Figure 2.5 (reprinted from [26]) shows how

admission control is performed on requests to a SEDA stage using a response time controller.

Figure 2.5: Example of Adaptive Admission Control: SEDA Response Time Controller

2.4

Research Challenges in Interconnecting SON Devices

The initial work presented here concentrates on enablement technologies that

logis-tically deliver and deploy SON functions manually; however, we look toward the autonomic

configuration and coordination amongst these functions.

2.4.1 Manageability

Specifically, we anticipate that enterprise applications of the future will begin to

lever-age distributed SON deployment patterns where large numbers of SON devices coordinate with

peers using network-wide application-specific policies. Manual configurations are not able to

scale with these environments, nor can they adapt the configuration to dynamic network and

application conditions. For example, a large-scale SON deployment could be leveraged to enable

(31)

appropriate points in the network to perform configuration changes based on prevailing network

and application conditions.

2.4.2 Resource Allocation

Also in this light, we envision that SON devices will need to collaborate to effectively

allocate their computing resources in order to effect the aforementioned application-specific

service policies. Our contributions in this area are discussed in Chapters 3 & 4; however, there

are some initial efforts towards collaborative resource allocation present in the literature that

we review below.

Kallitsis et. al introduce a pricing model that ensures efficient resource allocation that provides guaranteed quality of service while maximizing profit in multiservice networks

[27]. Specifically, they examine a centralized dynamic allocation policy that relies on online

measurements while operating each service class under a probabilistic bound delay constraint.

In [28], Kallitsis et. al continue their previous work regarding optimal resource allo-cation of next generation network services under a flat pricing scheme and quality of service

policies. They present a complete framework that dynamically allocates resources when it is

required. To in order to effect that, they apply an online traffic estimator and monitor traffic

changes using an Exponentially Weighted Moving Average control chart; therefore, the profit

maximization of the provider is done efficiently since their optimization algorithm will only

solve the problem when a traffic shift is detected that would yield a significant change in the

allocation.

Finally, Kallitsis et. al present a distributed algorithm that dynamically solves an optimization problem so as to allocate the available resources to delay-sensitive services offered

in a SON [29]. Somewhat similar to the work presented in Chapter 4, pricing is used to

differentiate services based on their quality-of-service requirements. Their performance metric

is the end-to-end delay that a service class would experience in the network; a deterministic

upper bound of end-to-end delay is derived from the theory of network calculus. The moving

average control scheme adopted for capturing traffic shifts in real time makes their solution

react adaptively to traffic alterations. Finally, they evaluated their system using real network

(32)

2.5

Conclusions

The emergence of XML along with advances in hardware, software, and networking

technologies serves as the catalyst for the development of service-oriented networking. SON

devices are application-aware network components that are able to understand data encoded in

XML and act upon that data intelligently to make routing decisions, enforce QoS or security

policies, or transform the data into an alternate representation. Using design patterns such as

functional offloading, service integration, and intelligent routing, SON can enable service

vir-tualization, increase manageability and exploit locality. In this chapter, we have described the

motivation behind SON, the potential benefits of introducing application-aware network devices

into service-oriented architectures, and discussed research challenges in the development and

in-terconnection of SON appliances. We believe that SON provides exciting new multidisciplinary

research opportunities in service-oriented computing, hardware, software, and networking that

(33)

Chapter 3

Large-Scale Service-Oriented

Systems

The enterprise service bus acts as the integration and communications platform for

connecting service consumers and providers. It is often desirable to have multiple ESB

deploy-ments federate with one another to provide a distributed integration platform that promotes

the reuse of services within and across enterprises. However, the existing solutions to federate

ESBs are limited by their inflexibility to change and inability to scale. In this chapter, we

pro-pose the enablement of a federation of ESBs via a distributed service registry that distributes

policy-appropriate service metadata to federation members. We provide a high-level

descrip-tion of two protocols that maintain the state of the distributed registry within and between

autonomous federations. We argue that these application of a distributed service registry and

the enabling protocols is a novel application of existing technology that creates a robust,

scal-able, and flexible federation of ESBs that is needed in the next generation of large-scale SOA

deployments.

3.1

Introduction & Motivation

As a critical infrastructural component of service-oriented architectures, the ESB acts

as the integration and communications platform for connecting service consumers and providers

[30]. As such, the ESB is responsible for, along with many other functions, the enforcement of

policies, routing of service requests, and performing content and/or transport protocol

(34)

As the number of services in an organization increases, the need for a service discovery

and governance platform arises. The service registry enables consumers to find available services

and providers to advertise available service instances. The registry can optionally serve as a

repository for governance metadata, policy documents, and XML schemas.

Instantiating the ESB in a message-oriented middleware product, along with deploying

a service registry, provides an intuitive solution towards implementing a small to medium-size

SOA. However, recent market trends show that SOA is being rapidly adopted; therefore,

strate-gies for creating more large-scale deployments are needed. A typical approach to transitioning

from a moderate-scale to a large-scale SOA deployment is to “scale-up”; that is, leave the

topology of the architecture fundamentally unaltered while adding additional resources to the

individual architectural components. “Scaling-out” yields a distributed approach to the

large-scale problem that involves altering the topology of interconnected architectural components.

Furthermore, we argue that the rapid adoption of SOA is causing an increase in the number

of business-to-business transactions between autonomous SOA deployments. Primarily for

rea-sons of governance, these types of interactions exemplify the need for a large-scale distributed

ESB; we refer to such a system as a federation of enterprise service buses.

In a federation of ESBs, the primary problem is to appropriately disseminate

infor-mation throughout nodes that comprise the ESB to enable policy-driven service discovery and

routing. We propose that a distributed service registry is a scalable and robust approach to

enabling federations of enterprise service buses. The distributed service registry is

hierarchi-cal in nature and is maintained by two protocols that synchronize relevant service metadata

amongst ESB deployments as appropriate under defined business policies. There are three main

advantages to our proposal over existing approaches:

• We enable the federation of ESB deployments within an enterprise in a flexible and scalable

manner.

• The distributed service registry and the supporting protocol allow our solution to adapt

autonomically to dynamic network and service conditions.

• This architecture provides the capability to support on-demand techniques such as fast

failover or priority-based load shedding in an autonomic fashion.

The remainder of the chapter is structured as follows: in the following section, we

(35)

our architecture that enables the dynamic and scalable federation of ESBs. In Section 3.4, we

present an overview of the first of two protocols that maintains the consistency and availability

of service metadata within an autonomous federation. In Section 3.5, we present the second

protocol that is responsible for the maintenance of interconnections of autonomous federations.

3.2

Current Approaches to ESB Federation

Currently, there are three approaches to addressing the problem of policy-driven

ser-vice metadata dissemination: manual configuring interconnections, deploying a broker ESB,

and utilizing a centralized registry across or between enterprises.

3.2.1 Manual Configuration

One way of federating ESBs is by manually configuring functionality within an ESB

that serves as a “proxy” to other ESBs in the federation. For each service that is managed by

a remote ESB, a mediation must be defined that selects appropriate requests to be forwarded

to the remote ESB, performs necessary content/protocol transformations, and subsequently

forwards the request onto the remote ESB. Matching mediations must exist on remote ESBs

in order to support bidirectional communication in this case. Since this configuration must be

done manually by a systems administrator at each ESB, the configuration of such a solution

is tedious and prone to error (for S services and N ESBs, there are possibly SN proxies to be configured). There is also no mechanism to change the properties of this mediation based

on changes in network or service availability. Manual configuration allows basic federation of

multiple ESBs; however, this is an inflexible and impractical solution for large scale enterprises.

3.2.2 Broker ESB

Rather than statically defining the routing mediations at each ESB, a separate ESB

called a “broker” ESB can be deployed, whose sole function is to implement the requisite

mediations to support federation. This helps to consolidate the many different mediations that

might exist in the manually configured solution described above into a single ESB. However, this

consolidation is still dependent on a systems administrator to manually define the mediations

required for each service (in this case, the number of proxies to be configured is minimized

(36)

service availability, the broker ESB solution is inflexible. The broker ESB then becomes the

architectural bottleneck, which introduces issues with scalability and fault tolerance.

3.2.3 Centralized Registry

The final known approach is to deploy a centralized registry for the entire enterprise.

When ESBs need to route service requests to other ESBs within the SOA, they would consult

the registry at runtime to make a forwarding decision based on the current location of a service

instance, thus addressing the manual configuration concerns raised by the previous solutions (as

with the broker ESB, the number of entries in the centralized registry is equal to the number of

services S). However, centralizing all service metadata and status into a single registry forces the registry to be the architectural bottleneck in such a federated system, thus causing concerns

with system performance, scalability, and fault tolerance. The centralized registry is ideal from

the standpoint of the consolidation of service information, but is infeasible in many realistic

business scenarios due to business-to-business interactions, disparate geographical locations,

and limitations imposed by business structures. Today, manual configuration of the centralized

registry is required to insert/update/delete service metadata, which limits the flexibility of this

solution.

3.3

Federation Architecture

The overarching goal of ESB federation is to provide a logically centralized (at an

appropriate scope) integration platform across different geographic and business boundaries;

that is, the topology formed by the federation of ESB deployments should align directly to the

structure of entities within an enterprise. Examples of federated ESB topologies that align with

common business structures are presented in [31].

Figure 3.1 shows the logical topology of a hub/spoke federated ESB. This type of

topology directly aligns with the Store/Branch business structure described in [31] and forces

all service routing to be done through the hub ESB deployment.

Figure 3.2 shows the logical topology of a directly-connected federated ESB. In this

topology, all ESB deployments are connected directly to one another, so that service requests

that are routed within the federation pass directly from the source ESB to destination ESB. This

type of topology directly aligns with the Multiple Geographies & Multiple Business Divisions

(37)

Figure 3.1: Example Topology of Multiple ESB Deployments - Hub & Spokes

Figure 3.2: Example Topology of Multiple ESB Deployments - Peer Business Divisions

A natural extension of the intra-federation topology is interconnecting multiple

fed-erations, as shown in Figure 3.3. There is a practical need for interconnected federations; the

need arises, for example, in business-to-business environments, in which separate enterprises

must interact to provide a service to each other or to create a composite service to be offered

to an external customer. The same need arises within a single but large enterprise (e.g., in

an e-government setting), when the enterprise itself is organized as multiple, autonomous, and

heterogeneous federations of ESBs.

A key concept in our proposal is the notion that the amount of service registry data

that is shared with a federation member is configurable via policy; we refer to this concept

as policy-based service advertisement. For example, in the hub & spoke case, it is desirable

for a spoke to share appropriate service information (as defined by policy) with the hub ESB,

and share no service information with any other spoke ESB. Policy-based service

advertise-ment allows different members of the federation to have different views of hosted services at

a particular federation member. We envision that certain services should only be exposed to

certain federation members, and that it may be desirable to allow or disallow the advertisement

(38)
(39)

policy documents is an orthogonal problem to the one we are addressing and is therefore outside

the scope of this manuscript.

Our method to achieve a dynamic and scalable federation of enterprise service buses

is based upon the concept of a distributed service registry. Federation members create a

dis-tributed service registry by sending policy-based service advertisements to peer members. Each

federation member will have its own (possibly unique) converged view of all routable service

endpoints in the federation, which it will use in making routing/forwarding decisions. This

model contrasts with the centralized registry solution described in Section 3.2; notably, the

distributed nature of the registry allows it to overcome the scalability and robustness concerns

that exist with a centralized solution. In order to allow the federation members to distribute

service state amongst themselves, protocols are needed that implement the policy-based service

advertisements in an automated fashion.

3.3.1 Related Work

There are several previous attempts that have been made towards developing federated

service discovery architectures that are based on service registries. The authors of [32] propose

defining a topology for collaborative service discovery, and subsequently floods the topology with

the discovery query, and all nodes respond to the client with the results. A similar proposal

is presented in [33], where UX servers are part of a federation, and a minimum spanning tree

is found in order to flood queries if an initial lookup returns null. However in both of these

proposals, flooding is required and such systems are known not to be scalable.

There are several proposals for distributed service discovery based upon distributed

hash tables (DHT) and P2P technologies. [34] proposes the integration of distributed hash

tables with UDDI registries to enable a larger distributed registry; however, they do not consider

governance issues in a cross-domain system in the proposal. The authors of [35] present the

use of DHT as a way to enable a scalable service discovery platform for Grid environments.

In [36], a P2P network is used to interconnect registries using a layered approach. Clients

issue queries about available services (that meet their desired semantics and QoS) to a gateway

layer, that is responsible for the translation of the query into the ontologies of the different

types of ontologies supported at the different registries within the federation, and then passes

the query off to a routing layer that transmits the query onto the appropriate registry. Finally,

[37] focuses on the discovery component of the service composition problem; they utilize Pastry

References

Related documents

The various instructional conditions could be categorized into three: instructional variables, mainly the instructional approaches adopted and teaching strategies

(18)   Los  párrafos  originales  de  Baroja  decían:  «Es  hora,  amigos  míos,  de  que  los  españoles  y  los  vascos  no  seamos  sólo  de  un  país 

Rather than deal with the technical challenges of traditional applications, organizations can immediately leverage the powerful functionality of TimeTrade to better serve their

In this manner, future service experiments should support gathering of both qualitative and quantitative data to provide good foundation for research under a

Appointed Circuit Judge by the Illinois Supreme Court in March 2000, Judge Hall was elected Circuit Judge in the 2000 general election and took his oath of office on December

El treball de recerca és més complet i complex, també està dividit en quatre blocs, no centrant-lo en el districte on hi ha situada l’escola sinó que ampliant-lo a la

STEP 6: Assigning Sales Organization with Company code STEP 7: Assigning Distribution Channel to Sales Organization STEP 8: Assigning Division to Sales Organization.. STEP