SDN-Based Active Content Networking

This paper proposes a Software Defined Networking- (SDN-) based active content networking architecture for future media environments. The proposed architecture aims to provide customized delivery of various types of media content in order to satisfy users' demand and service requirements. To this end, we have developed an active content processing model which provides in-network content processing through service objects that are integral parts of active content. The main benefits provided by the proposed model are high flexibility and creativity to meet the evolving future media environments.


Introduction
Current networking models have mainly focused on intelligence at service platforms and user devices while networks deal media content as data and just provide data transmission.
However it has shown that this concept is inadequate to satisfy the demands of emerging media services.Taking into consideration continuous evolution of services and user requirements, emerging media services should enable service providers and customers to consume what they want, when and where they want in customized ways.More enhanced intelligence should be migrated into the network with an opened and controlled manner in order to provide useful and attractive services to customers [1].
In this regards, it is required to define additional capabilities for in-network content processing to allow customers to have the ability to accomplish their application-specific tasks.
However, the personalized control for in-network content processing is very complicated and hard for customers to be achieved [2].
In this paper, we propose a Software Defined Networking (SDN)-based active content networking model.SDN provides a programmable network service framework as well as open network interfaces to enable easy integration between application/services and cloud capabilities [3].In our proposal, service objects can dynamically create and deliver intelligent content, called 'Active Content' by using a semantic code attached to each content.It enables each content to be delivered and distributed over a network under its own control based on SDN.The main benefits provided by the proposed active content networking are high flexibility and creativity to meet the evolving future media environments.

Related Works
Nowadays, variations of consumer requirements and service environments could make current compositions less sufficient or sometimes useless.So, many researches attempted to deal with these challenges by concentrating on a web service approach to dynamically organize and compose services in Service Oriented Architectures (SOA) [4].
As the cloud computing advances, there have been a number of researches on the integration of SOA and cloud computing.Service Oriented Computing (SOC) is a paradigm for designing and developing software by means of interoperable services through abstracting various computing and storage resources based on cloud computing into web services that can be invoked.Each web service consists of one or more software components including service functionalities.SOC enables the composition of loosely coupled services with powerful computational and storage resources in the distributed cloud environment [5], [6].
Organizations and standards bodies, including Organization for the Advancement of Structured Information Standards (OASIS) and the Open Grid Forum (OGF), are also developing SOA standards based on cloud computing.A main issue with regards to SOC tackles efficient distributed service executions.Actually, this efficiency is associated to access to cloud services and exchange data among the distributed cloud services.SOC architecture will support challenges for emerging future media services in terms of self-containment of services, interoperability and loosely coupled services [7].
On the other hand, SDN is defined as a new networking paradigm which allows centralized, programmable network control and resource abstraction, where control is separated from network resources, so that network providers or 3rd parties can control and manage directly their own network resources without recognizing detailed hardware technologies.
Active networks are considered as an endeavor to add intelligence in the network to advance data packets with information code including the packet processing logic [8].Network nodes such as switches and routers execute the code embedded in the packet to support customized treatment of data packets [9], [10].This architecture mainly aims to enhance networks facilitates with computation abilities permitting the deployment of new services into the network in an on-demand manner.
There have been several researches on the active networks.In ANTS [11], packets can be replaced with smart capsules with forwarding routines and mechanisms.SwitchWare [12] proposed Programming Language for Active Networks (PLAN) which supports a secured execution of the packet with the code in network nodes.
However, there are some weak points in these approaches based on active network architecture.Normally, network providers do not want that service providers or users perform any networking operations that could potentially make routing decisions, by allowing user defined code to be executed via active networks.Interoperability between existing network functions and the active networking functions is also one of the critical issues in consideration of network stability [1].

Proposed Active Content Networking Framework
The active content networking framework is classified into a service stratum and a transport stratum.The service stratum is logically separated with its transport stratum.
According to the service type and attributes, the service stratum dynamically configures transport functions in the transport stratum.Furthermore, according to variation of the service environment including the type of user terminal and network traffic status, etc., the allocated transport functions could be changeable into adequate functions or its operations may be altered to support current service situation.This architecture makes it possible for different types of active content to be supported on the common transport functionalities.

Service Stratum Architecture
The delivery of active content is provided by utilizing the application layer, service control layer and service resource layer in the service stratum.The application layer maintains media applications such as social media App and intelligent media App.These applications receive service information from a service provider or a content provider and manage the received service information such as an address of source node, addresses of destination nodes, a content type, etc. Active content sent from its media source is delivered through service objects which are responsible for processing and distributing active content.
Service objects refer to the media processing resources based on SOC paradigm for use in the processing and distribution of an active content to provide media services.The service control layer controls and manages service objects located in distributed cloud systems for the purpose of media processing, content storage and networking and so on.Service object technologies are needed to support various mechanisms to enable interactions between service objects.In order to support these interactions, our active content networking framework provides two approaches to enable active content to customize its own in-network content processing.The first is to make active content self-routed in the sense that it can define its own path and travel among multiple service objects through the path.The second enables service objects to define in-network content processing for active content.A number of functions in both the service stratum and the transport stratum are needed to support active content networking.As shown in Figure 1, the active content management function has an interface with the transport control layer and acts as the mediator between the application layer and the transport layer for active content related network control.
In order to control and manage the service objects, the service control layer includes an active content management function, SOC service registration function, SOC orchestration function, SOC monitoring function, and so on.
When a request for the registration of a service object is received from a cloud system, the SOC registration function can verify and accept the service object.Moreover, the registration function also receives the resource information on the service object including its name, type, location and operation, and manages the resource information.
The SOC registration function records in an internal database or cache how many service objects of each cloud system are scheduled or allocated to active content.Accordingly, resource scheduling that can prevent previously allocated resources from being used again in response to another active content can be conducted.In addition, when a failure in the cloud system to which a service object has been allocated through the above procedure occurs, the SOC registration function may detect the failure and perform protection recovery for the active content.
Active content management function constructs networking paths consisted of service objects in order to properly and efficiently provide active content to the users.Upon the request of applications, active content management functions searches the SOC registration function to find proper service objects necessary for the active content on the basis of a service type, content attribute, locations for the request and configure an active content delivery path by aggregating service objects from cloud systems registered in the SOC registration function and offers the information on end-to-end active content delivery path to the application or a service object.

Transport Stratum Architecture
In the consideration of network congestion and service efficiency, there are some needs for flexibility in transport paths for the active content networking service connecting service objects which are located in geographically distributed places.In this proposed framework, SDN technologies are used to provide enhanced transport services to support active content networking through the distributed service objects.It enables active content service providers to control and manage transport resources for achieving better service quality and the seamless operation of active content networking.Furthermore, SDN supports service orchestration by interconnecting service objects in the active content networking.
By introducing basic SDN-based programmability to active content networking, service providers will be able to provide enhanced control functionality for delivery and distribution of active content.To improve the throughput of transport paths in the cases of the transfer of active content to other service objects, SDN enables service providers to automatically adjust the bandwidth of transport path in order to optimize overall service performance.
The SDN controller is used to provide application-driven transport resource management for active content.It can exchange topology and resource information with the active content management function.This allows service performance to be globally optimized across the service layer including service objects and the transport layer.The SDN controller performs the resource control based on active content networking information which is a set of data provided by the active content management function for a resource control request and derived from service information of the application.
By coordinating the resource control between the service layer and the transport layer, the active content management function is capable of reconfiguring the virtual links and topologies in the active content networking to achieve QoS and traffic optimization.Routing decisions for the active content are made considering transport nodes involved in the transport of the active content.
Since service objects in cloud systems are resource constrained and have limited functionality, the goal of the active content networking is to reduce the support required from service objects by placing active content property appropriately.
Each active content has a processing lifecycle consisting of admission, execution and migration.A service object needs to perform content admission control to prevent excessive active content.Upon admission, the service object examines and assigns resources to the active content.After finishing the execution on the active content, the service object determines next node where the active content should be delivered, encapsulates the active content by using a networking container and sends it via the transport network.

In-Network Content Processing Model
Basically, active content consists of content and a semantic code containing some information used to handle its content.However, according to the usage of the active content, the variety of active content container can be defined such as a basic content container, networking container, processing container, composition container, etc.
The basic content container is used to encapsulate the original content sent from a source node in an encapsulation object near the source node.By analyzing the original content and getting some information from its application, the encapsulation object adds a semantic code including content attribute information.Before or after the content container is processed and distributed, the corresponding service object automatically invokes the semantic code.
The encapsulation objects normally coexists with a networking object, so the basic content container can be nested again through a networking container, which is including a semantic code with its delivery information to the destination node.When a container is encapsulated by another container, the former is still an individual container so that it can be removed from the latter.
When the active content is delivered to a media processing object like transcoding, the media processing object uses the processing container for formatting its content after processing the original content.The processing container could consist of original content, modified content produced through the media processing as well as the semantic code with processing information.Finally, the composition container is used to combine different active content into one active content for the purpose of content composition.
When an active content requires a service, it migrates itself to one of service objects that can provide the service.Each service object is responsible for automatically offering its own services and resources to its active content and controlling its inner content.Upon receiving the active content which is encapsulated with various content container, the service object first analyzes its semantic code and can recognize the attribute of the content and how to deal with it.
Figure 2 shows the variety of nested containers to compose an active content.Generally, the basic container will be encapsulated again with the networking container, processing container or composition container according to its service needs

Use Cases of Active Content Networking
Media services are characterized by various demands of users and in that the source of content is provided by service providers as well as various third parties or individual manufacturers.Thus, there is a need for service systems and networking methods that are suitable for the media service characteristics.This section describes use cases to support emerging media service needs and service characteristics based on the active content networking.A media service to be transmitted using the active content networking includes a variety of services, such as adaptive content distribution service, content composition service, interactive media service, etc.The active content is delivered from the source node to the service objects by using SDNbased active content networking (step 1 as shown in Figure 3).A source node can send an original video content file to an ingress service object called 'Encapsulation Object'.
On receipt of the original video content via the transport network, the encapsulation object analyzes the received content and extracts the requirements for the multimedia content delivery by collaborating with active content management function, and issues the active content through the encapsulation procedure which adds content processing information including the content delivery path into the content (step 2).
Upon receiving the active content issued by the encapsulation object, networking objects analyze the content information carried in the active content in order to process it (step 3).
Optionally, the service objects such as an encapsulation object, a networking object, etc. can send a request to the active content management function to get more information on the active content or to collaborate in order to determine next service object for the active content.The active content management function will reply with IP addresses of the next service objects in response to the request from the service object where an active content is currently staying.If there may be found more than one of candidates, the active content management function checks the utilization or service availability information of each candidate service objects, selects suitable nodes based on the utilization information, and replies the IP address of the selected service object to the requested service object.The service objects are generally connected to transport nodes such as SDN routers or switches, and the active content from the service objects could be copied and distributed to others.
On the other hand, the content provider provides a video file on many heterogeneous devices such as a smart phone, tablet, computer, TV, etc.These devices have various display panel sizes and different resolutions from small to big considering heterogeneous networks.As shown in Figure 3, the active content sent from the networking object may be arrived at transcoding objects which is responsible to convert video format according to the user device capability (step 4 and 4').
Currently, timeshift play is prevalently used in TV.In order to support the timeshift play, the TV should have enough cache to store the content.A storage object can support the timeshift functions instead of the TV.In order to this, upon receiving an active content, the storage object will cache the content until the user is ready to watch the corresponding content (step 4'').

Conclusion
Customized content management, including content composition, transcoding and distributing content, plays an important role in future media services.However, current networking models, where routers deal media content as data and just provide data transmission, are inadequate to satisfy the demands of emerging media services.This paper has proposed a SDN-based active content networking architecture for future media environments.The proposed architecture enables intelligent content, called 'Active Content', to define its own delivery and processing of various types of media content in order to satisfy various demands of users and the requirements for customized multimedia services.

Fig. 1 .
Fig. 1.Active Content Networking Framework based on SDN