Academia.eduAcademia.edu

Service Orientation Paradigm in Future Network Architectures

The Internet can not keep up with changing application requirements and new network technologies as its network architecture makes it hard to introduce new functionality because existing functionalities in the Architecture are inherently tightly coupled. This article describes how the principles of Service Oriented Architecture (SOA) can help to develop more flexible network architecture. We argue that the SOA paradigm can be applied to networks by utilizing the concepts of self-contained building blocks, dynamic protocol graphs and selection and composition methods. In order to make use of flexible networks, applications must be decoupled from the protocols they use. We give a brief overview, of how some of these concepts are already implemented, by presenting few approaches. Finally we describe some challenges of service oriented network architecture.

2012 Sixth International Conference on Innovative Mobile and Internet Services in Ubiquitous Computing Service Orientation Paradigm in Future Network Architectures Rahamatullah Khondoker, Abbas Siddiqui, Bernd Reuther, Paul Mueller Integrated Communication Systems University of Kaiserslautern 67663 Kaiserslautern, Germany {khondoker, siddiqui, reuther, pmueller}@informatik.uni-kl.de [4]. Thus the Internet has become a complex system where it is hard to predict how does modification of one protocol or functionality affect the overall system. For example the many issues considered by the IETF IPv6 working group reflects this complexity [5]. Since, major changes of the Internet seem to be impossible, especially within a short time-line, disruptive new features are deployed in overlay networks. But without support of the network the efficiency of overlays is limited. In addition, overlays are usually designed only for a specific purpose such as file sharing, telephony, video-broadcasting, and are typically not open for arbitrary extensions or reuse. Hence overlays are no suitable alternative for a generic network infrastructure like the Internet. Thus, there is a need of rethinking network architecture in general [6]. This article presents basic concepts of network architectures based on the service orientation paradigm. The main goal is to develop a flexible network architecture which can be adapted to changing requirements and network capabilities as well as to integrate new functionality easily. Section II describes how software architecture principles can be used in future network architecture(s). In section III, general requirements of service oriented network architecture have been explained, section IV explores few research approaches on future network architecture and their compatibility with SOA concepts. In section V, some challenges are being discussed which could be faced while implementing SOA concepts in a future network architecture. Abstract—The Internet can not keep up with changing application requirements and new network technologies as its network architecture makes it hard to introduce new functionality because existing functionalities in the Architecture are inherently tightly coupled. This article describes how the principles of Service Oriented Architecture (SOA) can help to develop more flexible network architecture. We argue that the SOA paradigm can be applied to networks by utilizing the concepts of self-contained building blocks, dynamic protocol graphs and selection and composition methods. In order to make use of flexible networks, applications must be decoupled from the protocols they use. We give a brief overview, of how some of these concepts are already implemented, by presenting few approaches. Finally we describe some challenges of service oriented network architecture. I. I NTRODUCTION The Internet today faces many problems like security threats, rare support for mobility and multihoming, limited QoS capabilities, low efficiency for bulk data or the address space depletion [1]. The issue is not that researchers and developers are unable to solve such problems in general, but it is hard to change core mechanisms of the Internet. This so called ossification can not be solved by changing one or few existing protocols. The problem originates from the the fundamental organization of network functionality, their relationship and the lack of design and evolution principles, which are architectural [2] issues. The Internet architecture is organized as a layered system, where each layer enhances and abstracts functionality of lower layers. Accordingly, interface between layers should define the relationship of functionality. There are no universally accepted evolution principles of the Internet. But the OSI reference model, which is also a layered system, defines that it should be possible to modify or even exchange the implementation of a layer without the need to adapt to adjacent layers [3]. In today’s practice, there are a plenty of layer violations in the Internet, because of dependencies among protocols of different layers. For example UDP is aware of IP header and routers are aware of transport protocols. The relationship among functionality is mostly implementation dependent, because there are only few defined interfaces between layers, namely layer 2 functionality is offered via network adapters and transport functionality is offered via BSD socket or similar APIs. Also the evolution of the Internet “depends on rough consensus about technical proposals, and on running code” 978-0-7695-4684-1/12 $26.00 © 2012 IEEE DOI 10.1109/IMIS.2012.30 II. U SING S OFTWARE E NGINEERING TO B UILD N ETWORKS Current Internet is facing similar problems to Software Engineering (SE). It has evolved to manage complexities (e.g. maintenance, integration of new functionality, time and task management) of development process, which has direct affect in terms of cost, quality, development time. Similar kind of problems is part of the Internet which have not been addressed in the current design principle(s) of the Internet. As Internet has not been evolved with the change of trends, which made it victim of increased complexities. To deal with inflexibility and complexity issues of the Internet, we can learn and implement principle(s) and technique(s) from software engineering. The focus of the article is limited to the scope of SE architecture. 346 Software engineering architecture has advanced from structured programming till service oriented paradigm (SOP). The design of a future network architecture can benefit from software engineering architecture paradigms to make network architecture more flexible and easy to maintain rather than having an ossified architecture (e.g. Internet). In this section it will be argued how service oriented paradigm can be one of the suitable methodology for a future network architecture. Before arguing about why SOA could be a promising paradigm for a future internet, it will be helpful to describe fundamental principles [7] of SOA, which are following.                 1) Loose coupling: Coupling refers to the degree of dependencies and bounding between two components. Loose coupling defines independence of a service; where in order to execute own functionality, a service does not require to have a knowledge about other services. 2) Service contract: A communication agreement which is covered by service description(s) or related documents. 3) Autonomy: Control of a service over the logic it encapsulates characterize the autonomy. 4) Abstraction: Services are independent in logic they use and it is hidden from the outside world. 5) Reusability: A service should be independent and fine-grained enough thus reusability can be promoted. 6) Composability: An ability of a service to be coordinated to other services in a manner that they can form a composite service. Composability fosters reusability of a service. 7) Statelessness: A property in which services do not keep the state after request has been processed. 8) Discoverability: A Service should be descriptive enough to easily be discovered.               Fig. 1. Network functionality is inherently distributed in contrast to services on application level. of composability fosters ease integration of functionality. Nevertheless, statelessness principle of SOP might not be appropriate for all functionality of a network architecture as some functionality of network do require to keep the state (e.g. reliable transmission). III. S ERVICE O RIENTED N ETWORK A RCHITECTURES Now the question is: how to apply the SOA paradigm on networks? Implementation of SOA paradigm like WebServices is designed for the interplay of distributed autonomous functionality on application level (Figure 1 a). Network functionality like routing, data encoding or flow control itself is inherently distributed (Figure 1 b). Thus network architectures can not use same implementation like web-services and because of efficiency issues it wouldn’t be appropriate either to process exhausting meta tagging.This section provides an overview of such concepts, while section IV provides brief description of approaches implementing these concepts. Most of the issues in the Internet arise because of inflexibility and rigidness of the network architecture, which is built upon a protocol stack. Service oriented paradigm can provide new prospect to build a future network architecture as it addresses loose coupling, reusability and autonomy of a service, which are fundamental requirements of a flexible architecture. Protocol stack can be decomposed into a set of functionalities which are described with formal contract (i.e service description) which makes functionality autonomous and self-descriptive. Self-descriptive functionality has the ability to be discovered as it carries attached description which can be searched and processed by the searching entity. Abstraction should be taken into account while decomposing stack into various functionalities so that it should be at the abstract level where it does not rely on a particular implementation, thus, logic can be hidden from a consumer point of view. Characteristics of a functionality ,such as autonomy, description and reusability, makes it composable. Concept A. Concepts of SOA in Network Architecture Services are the essential elements of a SOA. A service reflects the effects of an activity rather than algorithms and data structures, i.e. a service represents a higher abstraction level since different algorithms may implement the same service. It is necessary that there are explicit service descriptions. Such a description includes the semantic of services and a definition of their interfaces. For example, Web-Service uses WSDL for interface specifications but does not define how to describe service semantics. A building block is the implementation of a service. A Micro-protocol(MP) can be an example of a building block such as retransmission MP, data encryption MP, Monitoring MP. Usually, each building block has several effects, for instance, reliable data transmission or confidential data transmission. But, there are also effects like increasing the end-to-end delay or reducing the maximum payload size. All the effects of a building block represents their covered 347 Without a predefined protocol graph, it must be determined which building blocks should be used and how these building blocks have to interact in order to provide a communication services. This process is called selection and composition 2 of building blocks (figure 3). The basis for selection and composition are the service descriptions of the available building blocks. The goal is to define an optimal protocol graph with regard to application requirements, network constraints and administrative policies. Several approaches for selection and composition are possible, ranging from manual defined protocol graphs to automatic composition at runtime. services. The interfaces of a building block should reflect the provided service and hide the implementation details to provide the abstraction property. Building blocks should also use generic interfaces (i.e. as used in Web-Services) so that interaction between building blocks does not require extra adapters. A new network architecture should be flexible by two ways. Firstly, networks should be able to adapt to specific customer or application needs and changing environmental conditions. Secondly, networks should be able to evolve, i.e. to add, change and even remove functionality. This flexibility is achieved by composing several fine-grained services to a more complex and specialized service. In today’s networks, complex protocols are organized in layers, building a static protocol graph ([8]). Service oriented network architectures aim at supporting dynamic composition of services, i.e. dynamic protocol graphs1 . Without being dependent on a static protocol graph it is easier to make use of new protocols (i.e. building blocks) and to reuse functionality on different levels. Having dynamic protocol graphs implies that there is no static placement of functionality as defined by the layers of the OSI reference model (see Figure 2). Thus, such networks will be layerless such that compression or encryption can be used for application payload only or also for some protocol headers. Furthermore it is not necessary that protocols are processed in a sequence, for example there might be different branches in the protocol graph to handle different but related data types within one flow, e.g. signaling and streaming media. In order to enable dynamic protocol graphs, the interaction between building blocks is not defined by the executable code, but by description which can be easily changed.                 Fig. 3.     Parameters for the definition / generation of workflows It is likely that flexible networks will offer several similar communication services to applications which might be implemented with different protocols. In such a scenario applications must not be aware of the implementation of protocols. To achieve this, applications must only be aware of the provided service while the selected implementation remains transparent for applications. This can be achieved by introducing a service broker which selects an appropriate service implementation at runtime (see Figure 4). A service is suitable to use if it fulfills all mandatory application requirements. In addition, services may differ regarding optional requirements which are used to determine the optimal service. A service broker might consider services provided by different sources. There may standard protocol stacks, precomposed services as well as dynamically composed services. This way a service broker also enables the simultaneous use of concurrent selection and composition approaches. B. SOA Principles in Networks The basic concepts of a service oriented network architecture described supports a service oriented design. Using a service as the basic element for the design of a system instead of algorithms or protocols foster loose coupling and abstraction. Service descriptions represent the service contracts and are also used to discover services. Building blocks should be largely independent of its environment to achieve autonomy. Generic interfaces of building blocks assist in the composition process. The layerless architecture implies higher probability for reuse of functionality which can be achieved by defining and using fine-grained services. Absolute statelessness can not be achieved in general because some functionality can be implemented only using statefull services. In addition there may be generic states, e.g. for the connection setup or release phase or states for failure or debug modes. IV. E XAMPLES OF S ERVICE O RIENTED N ETWORK A RCHITECTURES In this section, we briefly present some approaches for alternative network architectures and show how they implement some of the basic SOA concepts introduced earlier. Some of these approaches did not aim at developing a service oriented network architecture but implement the basic concepts nevertheless. C. Service composition and service selection In order to make use of flexible networks as mentioned above, it is necessary to define protocol graphs (i.e. execution and data flow of connected building blocks) and to select a communication service to be used. 1A      2 Often also the term “functional composition” is used, which implies that all building blocks can be represented as functions. protocol graph corresponds to workflows in SOA terminology. 348       Fig. 2.                    Layer vs. Service Oriented Paradigms            !               provides a Netlet execution environment intended for communication endpoints. In NENA, selection and composition of functionalities are done during design time. SONATE is also a node architecture aiming at high degree of flexibility by defining and providing fine-grained services and their composition possibility during design time, partial runtime or runtime for making a protocol graph. During the protocol graph composition, suitable and the best functionalities are selected and used in SONATE.   B. Implementing SOA Concepts Fig. 4. Selecting an appropriate communication service at runtime All of the approaches mentioned above basically make use of the building block concept. The common approach is to reuse “smaller elements” to create complex service(s). The granularity of the building blocks is not defined. For example in RBA a role may be a fine-grained functionality (e.g. a sequence counter) as well as a complete protocol like TCP. But in order to foster reusability fine-grained functionality is preferred. An exception is RNA, which encapsulates functionality in a so called meta protocol which builds up a layer. In this case considering fine-grained functionality will lead to too much overhead because of the recursive use of the metaprotocol. However, not all approaches rely on a static protocol graph. In RNA and SILO approach, functionalities are layered or sequentially ordered. But, the usage of the functionality and its ordering can be defined as needed, i.e. also RNA and SILO can be considered as a layerless approach in the sense of a given placement of functionality. All other mentioned approaches, in principle, allow arbitrary protocol graphs and thus are also layerless. This is not suprising because, to achieve greater flexibility and to overcome the limitations of today’s layered architecture is a common goal of the research in scope of future network architecture. Methods for selection and composition, i.e. defining a protocol graph, are not considered by all approaches. In the SILO, selection and composition is defined by a sequence of services based on an ontology. NENA requires that selection and composition is done at the design time, so that the process can be controlled or even can be performed by a human. The composition result is deployed a priory to all relevant nodes. SONATE accepts a description of a protocol graph (i.e. called workflow) as an input. This way arbitrary selection and composition methods can be used within SONATE. A. Brief Summary of Network Architecture Approaches Several approaches for a new network architecture have been introduced in the last years which aim on providing greater flexibility in the networks. Some of those are Role-Based Architecture (RBA) [9], Service Integration, controL and Optimization (SILO)[10], Recursive Network Architectures (RNA) [11], ”Netlet-based Network Architecture” (NENA) [12] and “Service Oriented Node Architecture” (SONATE). The RBA approach introduces a non-layered network architecture concept and organizes communication functionalities in functional units referred as “roles”. Roles are not hierarchically organized and thus may interact in many different ways. The main motivation for RBA is to address the frequent layer violations that occur in the current Internet architecture and to accommodate middle boxes. The SILO approach also introduces a non-layered design based on silos of atomic services . The overall goal of the SILO architecture is to facilitate cross-layer interactions in a manner that meets the user requirements accurately and to optimize the performance. The RNA approach examines the implications of using a single, tunable protocol for different layers. RNA reuses basic protocol operations across different protocol layers, avoiding redundancy of implementation as well as encouraging cleaner cross-layer interaction. NENA is a netlet based node architecture allowing to compose specialized communication services (Netlets). The goal is to handle many logical networks that fit to certain application requirements and network constraints [12]. NENA 349 V. C HALLENGES OF S ERVICE O RIENTED A PPROACHES IN F UTURE N ETWORK A RCHITECTURES communication service. These service descriptions are then used by the service broker and by the selection and composition process. At least the service broker, being used at runtime of an application, requires that service descriptions are machine processable. All kinds of service descriptions should use a common language to avoid language translations in the service broker or in the selection and composition process. Such a common description language must be comprehensive enough to describe all current communication services and the language must be extensible to describe future, yet unknown, services. It is likely to achieve this comprehensiveness and flexibility by using an RDF (Resource Description Framework) like syntax or defining sets of properties with (simple) attributes only. It is important that the language can be extended without the need of modifying the service broker or the selection and composition process because adaption and deployment of code will hinder extensions. The service description language must enable distinction between mandatory and optional requirements from the point of view of an application and also to distinguish guaranteed and not guaranteed properties of an offered service. The reason is that it must be decidable if a service is suitable to use, i.e. fulfills all mandatory requirements. Further non mandatory aspects of a service can be used to find the best service in terms of quality parameters. Several open issues remain for applying the SOA paradigm in a network architectures. A. Service Granularity SOA does not describe the granularity of a service, so design guidelines are required for the amount of logic every service must contain. A building block offers an atomic service which can be fine-grained (e.g. maintaining a sequence number) or coarse-grained (e.g. providing reliable transmission with flow control like TCP). While using many fine-grained services offer a greater flexibility but this increases the complexity for the selection and composition process. Coarse-grained services hide many relationsships of internal mechanisms, but reduce the ability of the network to adapt to current requirements and constraints. If some building blocks are often reused in the same composition then their granularity might be too fine, while superfluous functionality in composed services may indicate too coarse-grained functionality. B. Service Composition Approaches for selection and composition face a tradeoff between ’Composition time’ and ’Information availability’. Composition can be done at design time, deployment time and runtime. At design time, there are nearly no time limitations for the composition process and requirements of application(s) (or application classes) are already known. At deployment time (i.e. when an application is deployed on a platform), long running calculations are not suitable. But at this time also constraints of the platform, such as the available access networks and general resource limitations are known. At runtime there are hard time constraints for selection and composition, but only at this time specific user requirements (e.g. limits for costs) and dynamic network constraints (e.g. current network load) might be available. Examples for selection and composition approaches are: a) design time composition accomplished by humans possibly supported by tools; b) usage of templates, where the basic composition and especially the placement of functionality is defined at design time and some building blocks are selected later to fill out placeholders. c) selection and composition of coarse-grained building blocks, which have been pre-composed at an earlier time. As the examples b) and c) illustrate different steps of a selection and composition approach may be performed at different points in time. Selection and composition is still a research issue and it may turn out that no single composition approach is optimal in all cases. D. Feature Interaction Even though services should be designed and implemented so that they are autonomous, feature interaction among services is still possible. As an example, compression (i.e. compacting the payload) service and encryption (i.e. confidentiality) service where the processing sequence is not arbitrary as compression after encryption is senseless. If such interactions of feature between services of classes of services are known these may be described in policy rules. The problem is to ensure that all feature interactions are known, especially if new features are introduced. Beside feature interaction, some service implementations may define their own requirements. For example even though an application might accept low loss rates, a utilized protocol might require reliable transmission for signaling. Such requirements will be part of the service description of building blocks. Furthermore, there may be hints for the selection and composition process like which services should or should not be used together. For example reliable transmission should be accompanied by flow-control or there is no need to encrypt payload more than once. E. Heterogeneity C. Description Language A further challenging issue is how to handle different types of network nodes, to simultaneously make use of their provided services, and to ensure a conflict-free service composition at the same time. The network path for an end-toend communication consists of different network devices e.g. routers, switches, ISPs, proxy servers and so on. All of these nodes provide some defined services which can be used during Service descriptions are used to describe several kind of services. Firstly the service offered by building blocks must be described. Secondly also descriptions of composed service are required. In case services are composed dynamically also the corresponding service description must be generated. Finally applications use requirements description for requesting a 350 a data transmission. In such a case, it is necessary to identify which services are provided by which nodes and their compatibility for composing a specific workflow. These might be done before and during data transmission. The challenge here is to develop mechanisms or protocols to handle heterogeneous services offered by different devices on a communication path. VI. C ONCLUSION This article described how the principles of Service Oriented Architecture (SOA) can be helpful in designing network architectures. Focusing on a few implementation concepts, the paper has presented that some aspects show promises while other aspects are open challenges. Loose coupling of fine-grained functionality, such as micro-protocols, can enable more flexible networks, allowing adaptation of the network to an application’s needs and the network’s constraints. More importantly, this also allows the introduction, alteration and removal of network functionality. While this approach introduces more overhead, at least when compared to the current network stack, it trades performance for maintainability and flexibility. Security mechanisms face a similar trade off as security is necessary even though adding it reduces performance. A major goal for designing future network architectures is to achieve maintainability and flexibility with an acceptable overhead. It is hard to generalize the model or a definition for a flexible architecture as every domain has its own specifications of flexibility. Nevertheless, minimum interdependencies (i.e. loose-coupling) among components of an architecture is seen as a vital characteristic of a flexible architecture. SOA paradigm has evolved from other software engineering architecture paradigms to reinforce loose coupling. This paper can be a good ground to identify flexibility in the network architecture approaches with respect to SOA paradigm. R EFERENCES [1] M. Handley, “Why the internet only just works,” BT Technology Journal, vol. 24, no. 3, 2006. [2] I. Std., “Ieee std., 1471-2000 ieee recommended practice for architectural description of software-intensive systems -description,” 2000. [3] Recommendation, “Recommendation x.200 (07/94), x.200 information technology, open systems interconnection, basic reference model the basic model,” 1994. [4] B. Carpenter, “Architectural Principles of the Internet,” RFC 1958 (Informational), Internet Engineering Task Force, Jun. 1996, updated by RFC 3439. [Online]. Available: http://www.ietf.org/rfc/rfc1958.txt [5] J. A. Ralph Droms, “Ipv6 status pages,” Internet Engineering Task Force, March 2008. [Online]. Available: http://tools.ietf.org/wg/ipv6/ [6] R. Braden, D. Clark, S. Shenker, and J. Wroclawski, “Developing a next-generation internet architecture,” 2000. [7] T. Erl, “Service-oriented architecture,” 2006. [8] S. W, O’Malley, and L. L. Peterson, “A dynamic network architecture,” ACM Transactions on Computer Systems, vol. 10, pp. 110–143, 1992. [9] R. Braden, T. Faber, and M. Handley, “From protocol stack to protocol heap: role-based architecture,” SIGCOMM Comput. Commun. Rev., vol. 33, no. 1, pp. 17–22, 2003. [10] R. Dutta, G. Rouskas, I. Baldine, A. Bragg, and D. Stevenson, “The silo architecture for services integration, control, and optimization for the future internet,” in Communications, 2007. ICC ’07. IEEE International Conference on, June 2007, pp. 1899–1904. [11] V. P. Joseph D. Touch, Yu-Shun Wang, “A recursive network architecture,” 2006. [12] L. Voelker, D. Martin, I. E. Khayat, C. Werle, and M. Zitterbart, “A node architecture for 1000 future networks,” in International Workshop on the Network of the Future 2009, Dresden, Germany, 2009. 351