A Method for Evolving Networks by Introducing New Virtual Node/link Types using Node Plug-ins Yasusi Kanada Central Research Laboratory, Hitachi, Ltd. Totsuka-ku Yoshida-cho 292, Yokohama 244-0817, Japan Yasusi.Kanada.yq@hitachi.com Abstract—Network virtualization introduces two concepts: slice (i.e., virtual network), which consists of virtual nodes and links, and slice developer, which is the third role in networks. Slice developers can introduce new network services by using slices. A method for introducing new types of virtual nodes and links for new services into the slice-definition language and the virtualization infrastructure by evolving physical nodes (i.e., “virtualization nodes” or VNodes) is proposed. This evolution consists of two stages: the experimental stage and the operational stage. In the experimental stage, data and control plug-ins are developed and tested by the operator or vendor by using experimental sliver definitions. In the operational stage, which is focused on in this study, the plug-ins are integrated into original components in the infrastructure and are available for slice development by using normal sliver definitions. By mapping type names to plug-in identifiers and parameters, the proposed method enables abstract and simple definitions of slices by slice developers and authorization of plug-ins by the operator, but it remains the loose integration of the new function, i.e., the plug-in architecture used in the experimental stage. Prototyping and evaluation demonstrates that this method greatly simplifies both slice developers’ tasks and operators’ tasks. Index Terms—Slice developer, Network-node evolution, Node plug-in architecture, Data plug-in, Control plug-in, Network virtualization, Virtualization node, VNode infrastructure, Virtual-link type creation, Deep programmability. I. INTRODUCTION Development of new services generates new business chances, stimulates economies, and also stimulates the intelligence of users who may devise new ways of life or new types of business. To increase the chance of creating new communication services, it is important to make it simpler and more flexible and to reduce its cost. If this development becomes so, more and more people will try to create new services and, in doing so, they will increase the chance of creating successful new services. To enable simple, flexible, and cost-reduced service creation, network virtualization will play an important role by introducing two concepts: slice and slice developer. As for the first concept, network virtualization enables creation of various types of virtual networks, which are called slices, on a single physical network. Slices not only reduce development and maintenance costs of customized networks but also realize abstract, simple, and flexibly-customized networks because, if the virtualization function satisfies the clean-virtualization criteria [7], it enables creation of slices without being constrained by the underlying physical network. This means that any set of protocols, which is not constrained by the IP or Ethernet protocols or any other underlying protocols, can be used on slices, and any virtual topology can be created. Network virtualization therefore enables creation of new services with reduced cost. As for the second concept, network virtualization creates a new role called slice developer [21]. In the case of conventional networks, there are two roles: operator and user. Operators (including vendors) develop and operate physical networks, and (end) users contract with an operator and use the networks. However, because network virtualization generates slices, they must be created and managed by the third role, i.e., the slice developer. Slice developers develop slices, they (or their application programs) operate the slices, and users contract with a slice developer and use the slice. In this three- role model, an operator may be called an infrastructure provider, and a slice developer may be called a service provider [4]. Slice developers create a slice by selecting types of virtual nodes and links that are supported by the network- virtualization infrastructure, and they are allowed to program virtual nodes (and virtual links) if they are programmable. The Virtualization Node Project, or VNode Project [17], has developed a virtualization infrastructure, called “VNode infrastructure”, which makes it possible to create slices that is deeply programmable (that means the data-plane of the slices is programmable) by slice developers. The slices are defined (programmed) and managed by a centralized method, but the virtual nodes are programmed and controlled by a decentral- ized method. The programmed slices enable simple, flexible, and reduced-cost new services; that is, each slice developer independently, easily, and flexibly creates and manages a slice that supports a new service while development cost is reduced. In the VNode infrastructure, slice developers can create and program any number of virtual nodes of predefined types by using a slice-definition language; however, they cannot introduce new types and new software/hardware into the language and the infrastructure by themselves, so the infrastructure should have a method for introducing them. Although the infrastructure may sufficiently support various 978-1-4799-0913-1/14/$31.00 ©2014 IEEE