Automatic Network Service Discovery and ... - Semantic Scholar

5 downloads 220539 Views 89KB Size Report
Service-Oriented Architecture (SOA) in network virtualization to address this problem. .... in Section III for network service discovery and selection. An information ...
Automatic Network Service Discovery and Selection in Virtualization-Based Future Internet Qiang Duan Information Science and Technology Department The Pennsylvania State University Abington, PA 19001 Email: [email protected]

Abstract—The next generation Internet is supposed to support a wide range of network applications with highly diverse requirements. Network virtualization, which is expected to play a key role in the future Internet, allows a large number of service providers to offer various network services upon shared network infrastructures. Therefore, selecting the appropriate network service for supporting the requirement of each application becomes an important issue in the virtualization-based future Internet. The research presented in this paper explores application of the Service-Oriented Architecture (SOA) in network virtualization to address this problem. This paper proposes a SOA-based broker system for automatic network service discovery and selection, and develops an information update mechanism for improving the broker performance. Multiple attribute decision making technique is also employed in the paper for developing an algorithm that can be used in the broker system for selecting the appropriate network service for each application.

I. I NTRODUCTION Recently numerous network-based computing applications have been developed and deployed on top of the Internet, and these applications have a wide spectrum of networking requirements. The highly diverse network application requirements have motivated research on various new networking technologies and even alternative architecture for the next generation Internet. The idea of virtualization was first applied in networking as an approach to developing virtual testbeds for evaluating new network architecture. For example network virtualization was employed in PlanetLab [1] and GENI [12] projects to build open experimental facilities for networking research. Then the network research community realized that fundamental changes must be made in the Internet architecture to allow networking systems with alternative architecture and different implementations to coexist upon a shared infrastructure platform. However the significant investments in current network infrastructures together with the end-to-end design principle of IP protocol create a barrier to any disruptive innovation in the Internet architecture and service models. To mitigate the ossifying force in current Internet, the role of virtualization in networking has been shifted from a tool for architecture evaluation to a fundamental diversifying attribute of the inter-networking paradigm [3], [5], [11]. Essentially network virtualization follows a well-tested principle–separation of policy from mechanism–in the internetworking environment. In this case, network service provi-

sioning is separated from data transportation mechanisms; thus dividing the traditional roles of ISPs into two entities: Infrastructure Providers (InPs) who manage physical infrastructures, and Service Providers (SPs) who create virtual networks for offering end-to-end services by aggregating networking resources from multiple network infrastructures. InPs are in charge of operations and maintenance of the physical network infrastructures and offer their resources through programmable interfaces to different SPs instead of providing direct services to end users. SPs lease networking resources from multiple InPs to create virtual networks and deploy customized protocols in the virtual networks by programming the resources in multiple infrastructures. A virtual network is a collection of virtual nodes connected together by a set of virtual links to form a virtual topology, which is essentially a subset of the underlying physical topology. Fig. 1 illustrates a network virtualization environment, in which the service providers SP1 and SP2 construct two virtual networks by using resources obtained from the infrastructure providers InP1 and InP2. Service Provider 2 (SP2)

end user

virtual network 2 Service Provider 1 (SP1)

end user

virtual network 1

InP1

Fig. 1.

physical network infrastructures

InP2

Illustration of a network virtualization environment

Network virtualization will bring a significant impact on network service provisioning in the future Internet. The besteffort Internet today is basically a commodity service that gives network service providers limited opportunities to distinguish themselves from competitors. Network virtualization offers a rich environment for innovations. This can stimulate

the development and deployment of a wide spectrum of new Internet services. Network virtualization enables a single SP obtain control over the entire end-to-end service delivery path across network infrastructures that belong to different domains, which will greatly facilitate the end-to-end QoS provisioning. In a network virtualization environment, SPs are released from the requirement of purchasing, deploying, and maintaining physical network equipments, which significantly lowers the barrier to entry of the Internet service market. It is reasonable to expect a large number of SPs coexisting upon shared infrastructure substrate to offer various Internet services. On the other hand, a key requirement to the next generation Internet is to support a wide range computing applications with highly diverse requirements on network services. Therefore, discovering available network services and selecting the most appropriate service for each application that meet the application requirements becomes an important issue in the virtualization-based future Internet, which is referred to as service discovery and selection problem in network virtualization environments. One of the key technical challenges to service discovery and selection in network virtualization environments lies in effective and flexible interactions between the network service customer, which are typically networking applications, and various SPs that offer various network services. The diversity of application and heterogeneity of network services in the future Internet make such interaction more challenging. The SOA, as a effective architectural principle for heterogeneous system integration, offers a promising approach to addressing this challenges; thus may greatly facilitate service discovery and selection in network virtualization environments. Research presented in this paper explores application of the SOA principle in network virtualization environments to address the network service discovery and selection problem. Specifically in this paper we first discuss application of SOA principles in network virtualization and its impact on Internet service provisioning, then develop a SOA-based broker system for automatic network service discovery and selection in network virtualization environment. An information update mechanism is proposed for improving the broker performance in large scale dynamic networking environments, and an algorithm that may be used by the broker for selecting network service is developed based on multi-attribute decision making technique. The rest of this paper is organized as follows. Section II introduces the SOA and its application in network virtualization environments. A SOA-based broker system is proposed in Section III for network service discovery and selection. An information update mechanism is also proposed in this section for improving the broker performance. Section IV develops a network service selection algorithm based on multi-attribute decision making technique. Section V draws conclusions and discusses future work.

II. T HE SOA

AND I TS A PPLICATION IN V IRTUALIZATION

N ETWORK

The SOA is a system architecture initially developed by the distributed computing community as an effective solution to coordinating computational resources in multiple heterogeneous systems to support various application requirements. The SOA as described in [2] is “an architecture within which all functions are defined as independent services with invokable interfaces that can be called in defined sequences to form business processes.” A service in the SOA is a computing module that is self-contained (i.e., the service maintains its own states) and platform-independent (i.e., the interface to the service is independent with its implementation platform). In essence, services in the SOA are modular, interoperable, composite entities that can cooperate with other services in the shape of service level agreements. Services can be described, published, located, orchestrated, and programmed through standard interfaces and messaging protocols. Collaboration among elements within the SOA is illustrated by Fig. 2. A service provider publishes a service description at a service registry. The service description is a machinereadable document that gives descriptive information about the functions and accessing interfaces of the service. A service customer performs dynamic service location by querying the service registry for a service that matches its criteria. If such a service exists, the registry provides the customer with the information for accessing that service. Typically a service broker maintains the service registry and processes service discovery requests for customers. service description

service broker/ registry service publication

service discovery

service customer

Fig. 2.

service access

service provider

The service-oriented architecture.

Currently the SOA is mainly realized based on Web services technologies. The key Web service technologies include service description, service registration, service discovery, and message delivery protocol. The current standards for these technologies include Web Service Description Language (WSDL) [14], Universal Description Discovery and Integration (UDDI) [19], and Simple Object Access Protocol (SOAP) [15], which are all based on the Extensible Markup Language (XML) as a standard for sharing data among computing systems. A key attribute of SOA is the loose-coupling interactions among heterogeneous systems in the architecture, including service providers, service customers, and the service broker and registry. The term coupling indicates the degree of dependency any two systems have on each other. In a loosely

coupled exchange, systems need not know how their partner systems behave or are implemented, which allows systems to connect and interact more freely. It is this features that makes SOA an attractive solution to the problem of coordinating heterogeneous IT systems to support various computing applications, which is essentially the same challenges faced by the network service discovery and selection in virtualizationbased Internet. Therefore, the SOA may provides a promising approach to enhancing the control intelligence in the future Internet for automatically discovering and selecting network services. Application of the service-orientation idea in telecommunications and networking recently attracted attention of the research community. Some efforts in this area include Web services-based application program interface specified by Parlay X, the Open Service Environment (OSE) developed by Open Mobile Alliance (OMA) [13], the optical network control architecture developed in UCLPv2 project [6], and the network management system for the experiment platform in FEDERICA project [10]. Survey about applications of the SOA concept and Web service technologies in telecommunications can be found in [9], [7]. By applying SOA in the field of networking, the resources in various network systems can be encapsulated into SOAcompliant “network services.” The capabilities of the network systems and the approach to accessing the networking resources in these systems are described in form of network service descriptions, which can be published at a network service registry. As shown in Fig. 3, SOA-based network virtualization environment has a three layer structure: network infrastructures on the bottom layer, networking applications on the top layer, and in the middle is an service provisioning layer that comprises virtual networks for meeting application requirements. Following the SOA principle, networking resources in various infrastructures can be encapsulated into infrastructure services and offered by InPs to SPs. SPs access underlying networking resources through an infrastructure-asa-service paradigm and compose infrastructure services into end-to-end network services. Applications utilize underlying networking platform by accessing the network services offered by SPs, which is essentially a network-as-a-service paradigm. application

application network-as-a-service network service 1

network service m

infrastructure service 1

InP 1

Fig. 3.

infrastructure-as-a-service

network infrastructures

infrastructure service n

InP n

A layered structure for SOA-based network virtualization.

Applying SOA in network virtualization makes loose-

coupling a key feature of both SP-InP interaction and collaboration among heterogeneous network infrastructures. Therefore, such a network virtualization paradigm inherits the merit of SOA that enables flexible and effective collaboration across heterogeneous systems for providing services that meet diverse application requirements. SOA-based network virtualization provides a means to present abstracted networking capabilities to upper-layer applications. Because of the heterogeneity of network protocols, equipments, and technologies, exposing networking capabilities to applications without virtualization would lead to unmanageable complexity. The abstraction of networking resources through service-oriented network virtualization can address the diversity and significantly simplify the interactions between applications and the underlying network platform. III. SOA-BASED B ROKER S YSTEM FOR N ETWORK S ERVICE D ISCOVERY AND S ELECTION In this section we propose a SOA-based broker system for automatic discovery and selection of network services in the virtualization-based Internet. The high-level structure for this system, as shown in Fig. 4, consists of a set of network services offered by various SPs, a network service registry, and a network service broker. In this system, every SP publishes a description for each of its network service at a network service registry. This network service description is a machine-readable XML document that provides all the necessary information needed for discovering, selecting, and accessing the network service. When an application needs to utilize the underlying network platform, it sends a request message to the network service broker. This request messages specifies the demanding for a network service and the criteria for service selection. On receipt of this request, the service broker will search the service registry for all available network services in the vicinity of the user; and then examines the service descriptions of these network services to select the one that meet the user application requirements. After this selection process, the service broker sends a reply message back to the application. In addition to the identification of the selected network service, the reply message should include all the information that the application needs to know for accessing the virtual network for this service; that is, information about the access infrastructure utilized by the selected network service. The proposed network service broker and registry can be realized by leveraging Web service technologies. The network service description can be implemented based on the WSDL standard, the network service registry can be built based on the UDDI standard, and the interactions among the service broker/registry, applications, and SPs/virtual networks can be realized based on the SOAP protocol. However, the currently available Web service standards and technologies for service description and discovery must be evolved to meet the special requirements of networking. A key characteristic that differentiates network services is their networking capabilities for offering a certain level of QoS. Therefore, networking

application 1

application m user request

broker reply

network access

network service broker

service registry

network service descriptions

network service 1

network service 2

network service n

Service Provider 1

Service Provider 2

Service Provider n

Fig. 4. A SOA-based broker system for network service discovery and selection in network virtualization environments.

capability information must be included in network service descriptions published at the service registry. World Wide Web Consortium (W3C) recently developed WS-Policy [16] specification as a general-purpose framework for expressing non-functional service characteristics such as performance requirements, preference, and capabilities as policies. WSPolicyAttachment sepcification [17], also from W3C, defines a mechanism to associate the policy expressions with the existing WSDL standard. Description of network service capabilities can be integrated into these specifications as domainspecific parameters. Network topology and state information can be described using Network Description Language (NDL) [8] developed based on Resource Description Framework (RDF). A general model for describing network service capabilities was also developed in [4]. In a large scale dynamic networking environment such as the future Internet, the network states and capability information of various virtual networks change frequently. Therefore keeping the latest network service information at the service registry is significant for discovering and selecting the appropriate network service. However, republishing the entire service description whenever a network state changes may cause a large amount of communication and management overhead between SPs and the service registry. This makes the service broker and registry a performance bottleneck. In order to solve this problem, an event-driven subscription-notification mechanism can be applied to reduce the overhead caused by frequent description update; thus improving the overall performance of network service discovery and selection. Event-driven processing introduces a notification pattern for SOA implementations. In this pattern an information producer sends one-way notification messages to one or more interested receivers. The message typically carries information about an event that has occurred. The message receivers must register to the producer before receiving notifications. The OASIS Web Service Notification [18] is a family of related specifications that define a standard approach to notification using a topicbased subscription-publication mechanism. By following this

mechanism, the service registry can subscribe to an SP and specify a set of network states as subscription topics. Then, the service registry will receive a notification message from the SP whenever a subscribed topic changes with a variation more than a pre-specified threshold. In this way the service registry can obtain the latest network information for supporting realtime network service discovery and selection. Since a notification message is only generated when variation goes beyond a threshold and the message contains only the changed network states instead of the entire description, this update mechanism greatly reduces the communication and management overhead. The interaction procedure for network service discovery and selection with the event-based update mechanism is shown in Fig. 5. network service broker/registry

application

network service provider

network registration service description WSDL document

network state subscription subscription confirm

notification message including network state update network service description update service request

network service discovery and selection

broker reply ID for the selected service start accessing the selected network service

Fig. 5.

Interaction procedure for network service discovery and selection.

IV. A LGORITHM

FOR N ETWORK S ERVICE AND S ELECTION

D ISCOVERY

In this section we develop an algorithm that can be used by the broker system proposed in Section III for automatically discovering and selecting network services. In general, network service discovery and selection process includes the following steps: • Network Service Registration: each service provider publishes a Network Service Description (NSD) at the service registry for each of its network service. • Service Request Submission: an application submits a service request that includes a set of required attributes, which must be guaranteed by the selected network service. • Network Service Discovery: the service broker searches the service registry to obtain a list of candidate network services. • Network Service Selection: the service broker applies some sort of decision making algorithm to select a network service from the set of candidates.

From this general process we can see that there are serval key technical issues must be addressed for implementing automatic network service discovery and selection. These issues include service attribute description, application requirement specification, candidate service discovery, and selection of the most appropriate service for each application request. What makes these issues more challenging is the heterogeneity of network services coexisting in network virtualization environments and the diversity of applications supported by the future Internet. Therefore an algorithm developed for the service broker must be applicable to discover and select heterogeneous network services to support applications with a wide spectrum of requirements. The problem of network service discovery and selection can be addressed by employing multi-attribute decision making (MADM) technique, which evaluates a set alternatives using a set of attributes. The alternatives represent different choices. The decision process ranks these alternatives in order of preference using the set of attributes that provide different aspects by which the alternatives can be viewed. Each NSD includes a set of attributes. Though the NSDs of different services may have different attributes, these attributes in general can be classified into two categories: nonQoS-related attributes and QoS-related attributes. Examples of non-QoS-related attributes include service provider name, geographic location, coverage area, authentication mechanism, access technology, etc. The values of attributes in this category do not change very often, therefore can be published at the service registration phase and do not need to be updated frequently. Examples of QoS-related attributes include available service capacity (bandwidth), service capacity utilization, networking delay and delay jitter, packet loss ratio, etc. These attributes are typically dynamic and need to be updated frequently. Each service request submitted by an application specifies a set of attributes, which can also be classified into the two categories (non-QoS-related and QoS-related attributes). Due to the diversity of application requirements, different attributes may be included in different service requests. Even the same set of attributes, especially QoS-related attributes, may have different levels of relative importance to different applications. MADM algorithms can be classified into non-compensatory algorithms and compensatory algorithms. In the class of noncompensatory MADM algorithms, advantages of one type of attribute value cannot be traded for disadvantages of another attribute value. Two types of methods in non-compensatory algorithms, conjunctive and disjunctive methods, are of particularly interest for network service selection. These two methods can be used to separate the available network services into acceptable and unacceptable groups. All network services in the acceptable group form the set of candidates for the selection process. In the case of conjunctive method, an acceptable service has to meet the minimum requirement for all the attributes under consideration. For the disjunctive method, an service is acceptable if one or more of the attributes meet or exceed the required value.

Applying a compensatory MADM algorithm for network service selection involves the following steps: • Identify all network service candidates and the compensatory service attributes that impact the decision process • Assign relative importance (weight) in the decision making process to each of the attribute • Use a compensatory MADM algorithm to get a ranking of the candidate services Now we consider a general case where selection has been narrowed down to n network services by using a noncompensatory algorithms. Each candidate network service Si , i = 1, 2, · · · , n, from a decision making perspective, can be represented by a vector with m elements, Si = (a1 , a2 , · · · , am ), where each element ai gives the value of the i-th attribute of this service. Because applications may have various networking requirements, service requests submitted by different applications may have different set of required attributes. The service attributes included in the vector S are determined by the required attributes specified in the service request. Therefore, network service attributes that are included in S could be a subset of the service attributes published by an SP. These set of attributes are referred to as impacting attributes since they have their impacts on the decision making process of service selection. For a given service request, the set of all candidate services and their impacting attributes can be represented by the following matrix   a1,1 a1,2 · · · a1,m  a2,1 a2,2 · · · a2,m   S=  . . . . . . . . . . . . . . . . . . . . . . an,1 an,2 · · · an,m where each element ai,j gives the value of the j-th attribute of the network service Si . Technique for Order Preference by Similarity to Ideal Solution (TOPSIS), which is commonly used compensatory MADM algorithm, can be applied to the matrix S to objectively decide on the best service. The TOPSIS algorithm is based on the assumption that the chosen solution has the shortest distance from the best solution but the longest distance from the worst solution. The following steps are involved in application of TOPSIS to network service selection • Normalize the value of each attribute in matrix S. • Determine the weight (relative importance) of each attribute that impacts decision making, and adjust the normalized values according to the weights. • Determine the best and worst values for each of the attribute. Depending on the attribute, the best (or worst) value can be either the maximum or minimum value. For example for the bandwidth utilization attribute the best value will the the minimum value, while for the attribute of available capacity the best value is the maximum value. • For each candidate service, calculate the measures of Euclidean distance for the best and worst cases, which are respectively denoted as dbest and dworst .



For each candidate service, calculate the preference p based on the relative closeness to the best and separation from the worst solution as dworst p= dbest + dworst

The network service with the highest preference value is selected. The assignment of weights to different attributes in a compensatory MADM algorithm plays a key role in network service selection. Different applications may have different requirements on network services, and also different levels of relative importance on different service attributes. Therefore it is proposed that weight assignment is based on the interpretation of service requests and application requirements. When an application submits a service request, in addition to specify a set of required attributes, the request can also include a weight vector •

W = (w1 , w2 , · · · , wm ), where each element wi , i = 1, 2, · · · , m, gives the weight assignment for the i-th impacting attribute used for service selection for this application request. Such a weight vector can be saved as a part of application profile at the service broker, and used by the broker each time for selecting a service for this application. V. C ONCLUSIONS

AND

D ISCUSSION

Network virtualization is expected to play a crucial role in the future Internet. By de-coupling service provisioning from network infrastructures, network virtualization significantly lowers the barrier to entry of Internet service market; thus allowing a large number of service providers coexisting in the future Internet. Therefore, discovering and selecting the appropriate network services for supporting applications with diverse requirements becomes an important research problem the virtualization-based Internet. The research presented in this paper tackles this challenging problem by applying the SOA principle and multi-attribute decision making techniques. The main contributions made in this paper include a SOAbased network virtualization paradigm that enables networkas-a-service, a service-oriented broker system for automatic network service discovery and selection, an information update mechanism that improves the broker system in large scale dynamic networking environments, and a MADM-based algorithm that can be used at the broker for network service selection. Network service discovery and selection in network virtualization environments is an important area that may have a significant impact on future Internet performance and deserves extensive investigation. As future work of the research progress reported in this paper, the author plans to conduct more thorough performance analysis on the proposed service broker system and the information update mechanism. Investigating the application of various multi-attribute decision making algorithms in network service selection and evaluating

the effectiveness of these algorithms in this area are also part of the future work. R EFERENCES [1] A. Bavier, M. Bowman, B. Chun, D. Culler, S. Karlin, S. Muir, L. Peterson, T. Roscoe, T. Spalink, and M. Wawrzoniak, “Operating System Support for Planetary-Scale Network Services,” Proc. of the 1st Symposium on Network System Design and Implementation (NSDI’04), March 2004 [2] K. Channabasavaiah, K. Holley, and E. Tuggle, “Migrating to a ServiceOriented Archiecture,” IBM developerWorks, Dec. 2003 [3] N. M. Chowdhury and R. Bourtaba, “Network virtualization: state of the art and research challenges,” IEEE Communications, vol. 47, no. 7, pp. 20–26, July 2009 [4] Q. Duan, “Network Service Description and Discovery for HighPerformance Ubiquitous and Pervasive Grids,” ACM Transactions on Autonomous and Adaptive Systems, vol. 6, no. 1, article 3, Feb. 2010. [5] N. Feamster, L. Gao, and J. Rexford, “How to lease the Internet in your spare time”, ACM SIGCOMM Computer Communications Review, Vol. 37, No. 1, pp. 61–64, Jan. 2007. [6] E. Grasa, G. Junyent, S. Figuerola, A. Lopez, and M. Savoie, “UCLPv2: a network virtualization framework built on Web services”, IEEE Communications, vol. 46, no. 3, pp. 126–134, March 2008 [7] D. Griffin and D. Pesch, “A Survey on Web Services in Telecommunications,” IEEE Communications, vol. 45, no. 7, pp. 28–35, July 2007. [8] J. van der Ham, P. Grosso, R. van der Pol, A. Toonk, and C. de Laat, “Using the Network Description Lanaguage in Optical Networks,” Proc. of the 10th IFIP/IEEE International Symposium on Integrated Network Management, May 2007. [9] T. Magedanz, N. Blum, and S. Dutkowski, “Evolution of SOA Concepts in Telecommunications,” EEE Computer, vol. 40, no. 11, pp. 46–50, Nov. 2007. [10] P. Szegedi, S. Figuerola, M. Campanella, V. Maglaris, and C. CervelloPastor, “With Evolution for Revolution: Managing FEDERICA for Future Internet Research,” IEEE Communications, vol. 47, no. 7, July 2009. [11] J. Turner and D. E. Taylor, “Diversifying the Internet,” Proc. of IEEE Globecom 2005, Nov. 2005. [12] GENI Planning Group, “GENI design principles,” IEEE Computers, vol. 39, no. 9, pp. 102–105, Sept. 2006. [13] The Open Mobile Alliance, “OMA Enabler Releases and Specifications - OMA Service Environment Architecture Document,” Nov. 2007 [14] World Wide Web Consortium (W3C), “Web Service Description Language (WSDL) v2.0,” March 2006. [15] World Wide Web Consortium (W3C), “Simple Object Access Protocol (SOAP) v1.2,” April 2007. [16] World Wide Web Consortium (W3C), “Web Service Policy Framwork (WS-Policy) v1.5,” Sept. 2007 [17] World Wide Web Consortium (W3C), “Web Service Policy Attachment (WS-PolicyAttachment) v1.5,” Sept. 2007. [18] Organization for the Advancement of Structured Information Standards (OASIS), “Web Services Base Notification (WS-BaseNotification) v1.3,” Oct. 2006 [19] Organization for the Advancement of Structured Information Standards (OASIS), “Universal Description, Discovery, and Integration (UDDI) v3.02,” Oct. 2004.