Inter-HAN Service Interoperability With Krox Zohar Etzioni, John Keeney, Dave Lewis

Abstract — A number of service protocols have been deployed

for Home Area Networks (HAN). These protocols are typically limited to a single household, which therefore limits the potential for service interoperability to support sharing devices and services with friends and family in remote HANs. This paper presents the design, and evaluation of the Krox architecture that enables secure and performant sharing of HAN services using multiple service across groups of remote HANs1. Index Terms — Home Area Networks, UPnP, Jini, XMPP

I. INTRODUCTION In recent years the Home Area Network (HAN) has evolved as a service-oriented platform where device-embedded services are offered: to end users, to other devices or to applications integrating multiple services. Trends in online social networking and peer-to-peer file sharing have created an expectation from users to be able to share services and content in their home network with their friends and family. However, doing this in a way that is both respectful of media copyright and not reliant on third party media storage is still technologically challenging for home users. At the same time however, the expected growth in the number of HANs and the number of devices per HAN [6] will see demand for sharing services and content between HANs increase exponentially. A plethora of different service technologies such as UPnP [10], Jini [1], ZeroConf [3], DPWS [2], HAVi [9], have been suggested and deployed to address HAN device interoperability. These technologies and associated standards enable devices to connect to the network, to be discovered and to interact with each other. However, they have been intentionally limited in their scope to a single household and therefore to service interoperability within a single HAN.

II. MOTIVATION HAN service interoperability is defined as the ability of devices and services to discover, configure and control other devices and services in the home network [7]. We extend the scope of this definition to multiple HANs, which may then share a subset of their devices and services with each other. The resulting definition of inter-HAN service interoperability is: the ability of devices and services to be shared with remote HANs, and to be discovered, configured and controlled remotely. The widespread adoption of of service interoperability technologies within the home has opened new markets in applications that integrate and compose the 1 This work was funded by the Irish Government as part of the SFI Strategic Research Cluster (“FAME”): 08/SRC/I1403. Zohar Etzioni, John Keeney and Dave Lewis are with the Knowledge & Data Engineering Group in the School of Computer Science & Statistics, Trinity College Dublin (e-mail: {etzioniz, john.keeney, dave.lewis}@cs.tcd.ie).

services from multiple devices, e.g. UPnP control point applications. Similarly, extending service interoperability across the boundaries between HANs, in an open, easy to use manner with appropriate access control, will open up new markets in inter-home content and sharing applications between friends and family. Such applications could include copyright-safe media sharing, neighbourhood watch support and elder support and monitoring. Such inter-HAN sharing must, however, address the users’ wish to remain in control over what they share from their home and with whom, as opposed to unrestricted peer-to-peer file sharing. Privacy is also a major issue within a domestic setting, so resources may need to be shared with multiple HANs with different access control settings. Consistent with technical skill levels of home users, sharing must be easy to perform and easy to configure. Sharing must be performant enough to offer users the same interactive experience when they share and consume remote resources as they experience with local ones. Allowing users to share HAN devices, services, and content with their friends and family in such a controlled, usable, and performant manner will therefore increase the potential value of the HAN for both consumers and service providers.

III. RELATED WORK A number of systems in the literature attempt to tackle the challenges of enabling HAN resource sharing with different approaches. Several of them apply the concept of service virtualisation, where remote services are represented in the local HAN using a virtual service that can be discovered and interact with client applications in the local HAN in an identical manner to similar local devices or services, while tunnelling the communication with the physical device over some transport. Wegner [15] presents an R-OSGi based system with service virtualisation support. The advantage of R-OSGi is its modularity and existing support to a number of service protocols for local discovery and interaction. The main drawback is that the administration required to configure a system of R-OSGi servers may not be appropriate for nontechnical HAN users. Session Initiation Protocol (SIP) [13] based solutions [4,11] suggest the use of SIP for communication between remote HANs. SIP based approaches face challenges related to NAT traversal due to the use of UDP in SIP communication. Virtual Private Network (VPN) [8] based techniques for secure communications between HANs draw from the experience of multi-site enterprise secure communication [5][18]. However, VPN based solutions are typically limited to establishing ad-hoc point-to-point communication rather than managed fine-grained content and service access control between multiple HANs. Specialised solutions have been suggested in [12, 17] for inter-HAN

service interoperability based on proprietary communication channel, security model, and platform, and therefore lack support for interoperability between existing service technologies.

IV. KROX SYSTEM ARCHITECTURE The focus of this work is the Krox system architecture for supporting inter-HAN service interoperability across multiple service protocols. The architecture (figure 1) is based on standardised secure communication protocols that enables HAN services from remote HANs to be discovered in the local HAN and to interact seamlessly with local HAN services and client applications. Rather than supporting a specific service protocol, the Krox architecture is a multi-service protocol framework with an extensible event model that enables implementations to support inter-HAN service interoperability for different HAN service protocols.

A. System Architecture The Krox architecture (figure 1) is an open pluggable architecture with an extensible plug-in framework that enables multiple different HAN service protocols to be supported for inter-HAN service interoperability. This is accomplished without requiring modifications to the service protocols while supporting seamless integration with client applications in the local HAN. In order to address the challenges of sharing services from the HAN with friends in remote HANs the Krox architecture is based on the following concepts: Plug-in based architecture In order to meet the extensibility requirements, an open architecture with plug-in modules for each supported service protocol is suggested for handling the diversity of service protocols. A plug-in in Krox architecture is a module that implements the interfaces required by the Krox architecture and supports the required event model. A plug-in encapsulates the details of protocol specific discovery, automatic service virtualisation of services from remote HANs. Each service protocol is supported through a separate service protocol plugin, with our current implementation providing plug-ins for UPnP and Jini. Though not presented here, these plug-ins also support the mapping of the related service technology into a virtual service implementations conformant to the Web Service definition Language. This means different service technologies can be seamlessly integrated into the same client

application, including the execution of Business Process Execution Language workflows. Automatic resource virtualization The Krox architecture is based on representing resources from remote HANs (devices and services) in the local HAN using virtual resources. Virtual resources act as proxies for the communication with the remote HAN and provide an interface to the local HAN that is identical to the interface provided by local devices or services of the same technology. For example a remote UPnP media server would be represented in the local HAN using a virtual UPnP device. The virtual device would facilitate all the interaction with control point applications in the local HAN by tunnelling the communication over a secure communication system to the remote HAN hosting the “live” device. There, the tunnelled messages are received by the Krox system and forwarded to the “live” device. The response messages are tunnelled back to the virtual device. The resource virtualisation is enabled by the service-oriented nature of HAN service protocols, where devices and services are represented by interfaces that are abstracted from the implementation.. The Krox architecture automatically generates local virtual resources for devices from remote HANs that are shared with the local HAN. The automation is enabled by the availability of service interfaces in a parsable format, e.g. Java, WSDL, or XML. IM&P based user metaphor and communication Instant Messaging & Presence (IM&P) defines a user model that, when adapted for the multi-HAN setting, can greatly simplify required user administration. When applying the IM&P user metaphor, remote HANs can be represented as IM&P users. If an IM&P user is in the “buddy list” it indicates that the local HAN is sharing devices with the remote HAN represented by this IM&P user. This approach abstracts lower level configuration from the home user such as remote HAN IP addresses or phone numbers. The configuration of sharing with a remote HAN is therefore reduced to adding the username of the remote HAN to a “buddy list”. The Krox architecture leverages IM&P system capabilities to secure communication and messaging between remote HANs. The advantage of the IM&P based communication over SIP or VPN based alternatives is its integration of an embedded security (authentication, encryption),NAT and Firewall negotition, its simple setup and access control and its established scalability. In addition IM&P provides embedded presence features, which can be used to trigger communication initiation or termination between remote HANs.

B. System Design

Figure 1 Krox System Architecture

The design for the Krox system builds on our earlier work that used IM&P implementation based on the Extensible Messaging and Presence Protocol (XMPP) standard [14] to share UPnP services [16]. In this paper we abstract and generalise the support for sharing UPnP services into a generic framework and model that can be extended to support additional HAN service protocols. The design for Krox described below therefore provides a concrete instantiation of

Figure 2 Krox Communication Subsystem

the high level architecture described above and illustrates its main concepts. Communication subsystem The communication subsystem (figure 2) is based on wrapping XMPP for establishing secure byte stream communication channels between remote HANs. Each Krox system instance contains an XMPP endpoint and connects to an XMPP server. This connection enables plug-in components to securely exchange messages with remote counterpart plugin components in remote HANs with which sharing has been agreed. It also enables plug-ins to be notified on changes in the availability of remote HANs as indicated by the presence protocol. The communication subsystem abstracts the IM&P details from the communicating plug-in components and provides generic messaging and availability change notifications. Plug-in framework subsystem The plug-in framework defines the roles of plug-ins, their abstract interface, their interaction with the rest of the Krox system and how they are managed. Each plug-in has two main components for supporting service virtualisation and mapping to a web service: a Local Network Controller (LNC), and a Virtual Resource Manager (VRM). A protocol-specific LNC is responsible for interacting with the local devices and services supporting that service protocol in the local HAN, including discovery of resources, invocation of actions, and any other interaction supported by the protocol. A protocolspecific VRM is responsible for representing remote devices and services of the specific service protocol in the local HAN. When prompted by a remote HAN, the appropriate VRM automatically generates a virtual instance of the remote resource that can be interacted with in the local HAN without requiring additional steps. The plug-in event model (figure 3) specifies an extensible abstract set of events that describe the interaction between the plug-in specific VRM and LNC components in the local and remote HANs. The core event model contains discovery and state change events, which can also be extended by a plug-in to express required events and message exchange to efficiently share local devices with remote HANs and representing remote devices and services in the local HAN. Resource virtualization results in a distributed system with live devices and virtual resources interacting through the framework via an IM&P communication system. In order to demonstrate and validate the Krox architecture, service protocol plug-ins were designed and implemented for UPnP and Jini. The design and implementation of the plug-in

Figure 3 Plug-in Framework Event Model

illustrates the inter-HAN service interoperability across multiple service protocols. The selected technologies are representative of HAN service protocols with a parsable service interface. The Krox architecture is not limited to these protocols and can be extended to additional service protocols such as DPWS, HAVi, and others. UPnP plug-in The UPnP plug-in, as introduced in [16] facilitates sharing of UPnP services. The LNC acts as a UPnP control point in the local HAN and discovers local UPnP devices and services. When it is notified that a trusted remote HAN (in the “buddy list”) has come online, it sends information about the local devices and services shared with that HAN over the communication subsystem. In the remote HAN, the information is processed by the UPnP VRM to generate a local “virtual” UPnP device hosted by the VRM with a local identifier that is announced locally. The virtual device implements the UPnP specification of the remote device by delegating calls for description, control, and event subscription to the remote HAN where they are processed by the LNC and translated to interaction with the “live” device. This approach enables seamless integration of local applications with remote services via the virtual device interface. Another challenge for the UPnP plug-in is private IP addresses and NAT. However the plug-in does not attempt to access a remote device with its private IP address, but only through its locally advertised address as announced by the virtual device, which is in the local HAN’s address space. The VRM maintains a mapping between the locally advertised location of the device and the device identifier (UUID) and identifier of the HAN which hosts the “live” device. The UPnP plug-in supports discovery, description, invocation, and eventing protocols. Jini plug-in The Jini LNC listens to changes in the availability of local Jini services by listening to the local lookup services. When a new service becomes available in the local HAN, it is reported to all other HANs with which it is shared using the communication subsystem. In the remote HAN, the Jini VRM dynamically generates a Java service that corresponds to the notified service interface, extracts a Jini proxy for it, and registers it with the lookup service in the remote HAN. The virtual service implementation that is generated by the Jini VRM, which implements the Jini service Java interface by using the Java Dynamic proxy technique. The service implementation in the VRM uses the communication

Parameter

Average

Maximum

CPU utilisation

<4%

N/A

Heap utilisation

<6 megabytes

N/A

Search request processing

<1.5 seconds

<4 seconds

Discovery processing delay

<10 milliseconds

<250 milliseconds

Remote description delay

<10 milliseconds

<450 milliseconds

Remote invocation delay

<15 milliseconds

<175 milliseconds

Event notification delay

<15 milliseconds

<250 milliseconds

Table 1 Krox System Performance Summary for 100 Remote Shared Devices (i.e. 300 Remote Shared Services)

subsystem to delegate method calls to the remote HAN hosting the live device.

V. EXPERIMENTAL RESULTS In order to demonstrate and validate the design, we have fully implemented the Krox architecture and two service protocol examples for UPnP and Jini. The implemented plugins support sharing services directly from a local HAN with remote HANs. It represents remote services in the local HAN as regular local UPnP or Jini services, thereby enabling the desired seamless integration. The system was evaluated with a controlled environment of 5 HANs each running a variable number of emulated UPnP devices (corresponding to a UPnP media server) and an emulated UPnP control point. The number of devices shared from each HAN was progressively increased from 5 devices per HAN (hence 20 remote shared devices in each HAN) to 50 devices (hence 200 remote shared devices). The emulated UPnP device implements the UPnP specification, and interacts with control points in the local HAN. The emulated control point sends search request every 2 minutes with the requested service type “ssdp:all” which requires the UPnP device to respond on behalf of all of its services. For each root devices that is discovered by the control point (either via search response or via periodic device announcements), the emulated control point requests the device description. For 10% of the root devices, 2 consecutive SOAP requests were sent simulating the interaction with the remote device. The purpose of the emulated control point is to evaluate the Krox system under stress, to observe its performance and analyse and predict its scalability. The experiment evaluated a number of key performance indicators associated with sharing services from the HAN. Table 1 summarises the main findings of the evaluation. The measured delays neglect the network latency and only account for the processing time overhead added by the system. The results imply linear scalability to a relatively high number of shared devices and services and provide lower bounds on the expected performance of the system. The experiment also indicates that any delays will be impacted more by the network latencies inherent in cross-protocol HAN-to-HAN sharing rather than in the infrastructure required to support and manage such sharing with Krox.

VI. CONCLUSIONS We have described the design, implementation and evaluation of the Krox system, which enables HAN services to be shared with remote HANs, across multiple service protocol supporting seamless integration of remote devices with local

client applications. The performance of the system was evaluated with a controlled experiment, which demonstrated the linear scalability of the system even beyond what is required for sharing with a reasonable circle of family and friends. The inter-HAN service interoperability approach presented in this paper can therefore enable sharing of devices and services between HAN with performance similar to that expected within the home and with an implementation that is readily deployable on contemporary computing platforms within the home.

REFERENCES [1] Arnold, K., R. W. Scheifler, J. Waldo, A. Wollrath, B. O'Sullivan, The Jini Specification, Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 1999. [2] Chan, S., D. Conti, C. Kaler, T. Kuehnel, A. Regnier, B. Roe, D. Sather, J. Schlimmer, H. Sekine, J. Thelin, D. Walter, J. Weast, D. Whitehead, D. Wright, and Y. Yarmosh, "Devices Profile for Web Services," Feb. 2006. [3] Cheshire, S., and D. H. Steinberg, Zero Configuration Networking, the Definitive Guide O’Reilly, 2005. [4] Häber, A., J.G.R. De Mier, and F. Reichert, "Virtualization of Remote Devices and Services in Residential Networks," In Next Generation Mobile Applications, Services and Technologies, 2009. NGMAST '09. Third International Conference on (2009), pp.182-186, 15-18 Sept. 2009 [5] Haruyama, T., S. Mizuno, M. Kawashima, and O. Mizuno, "Dial-toConnect VPN System for Remote DLNA Communication," Consumer Communications and Networking Conference, 2008. CCNC 2008. 5th IEEE, pp.1224-1225, 10-12 Jan. 2008. [6] Gaw, J., "worldwide home networking 2007-2011 forecast, " IDC, October 2007. [7] Moon, K-D., Y-H. Lee, Y-S. Son, and K. Chae-Kyu, "Universal home network middleware guaranteeing seamless interoperability among the heterogeneous home network middleware," Consumer Electronics, IEEE Transactions on, vol.49, no.3, pp. 546- 553, Aug. 2003. [8] Kosiur, D., Building and Managing Virtual Private Networks, John Wiley and Sons, Inc., USA, 1998. [9] Lea, R., S. Gibbs, A. Dara-Abrams, and E. Eytchison, "Networking home entertainment devices with HAVi," Computer , vol.33, no.9, pp. 35-43, Sep 2000. [10] Miller, B., T. Nixon, Ch. Tai, and M. Wood, "Home networking with universal plug and play, " IEEE Communications Magazine, (Dec. 2001) 104-109. [11] Motegi, S., K. Tasaka, A. Idoue, and H. Horiuchi, "Proposal on Wide Area DLNA Communication System," Consumer Communications and Networking Conference, 2008. CCNC 2008. 5th IEEE, pp.233-237, 1012 Jan. 2008. [12] Lee, H.Y., and J.W. Kim, "An Approach for Content Sharing among UPnP Devices in Different Home Networks," Consumer Electronics, IEEE Transactions on, vol.53, no.4, pp.1419-1426, Nov. 2007. [13] Rosenberg, J., H. Schulzrinne, G. Camarillo, A. Johnston, J. Peterson, R. Sparks, M. Handley, and E. Schooler, "SIP: Session Initiation Protocol," RFC 3261, Internet Engineering Task Force (IETF), Jun. 2002. [14] Saint-Andre, P., "Extensible messaging and presence protocol (XMPP): Core," Internet Engineering Task Force RFC 3920, October 2004. [15] Wegner, T., "A Modular UPnP Proxy for Secure Remote Access," Digital Society, 2010. ICDS '10. Fourth International Conference on, pp.72-77, 10-16 Feb. 2010 [16] Zohar Etzioni, Kevin Feeney, John Keeney, Declan O’Sullivan, Federated homes: Secure sharing of home services, IEEE Consumer Communications and Networking Conference (CCNC 2011), Las Vegas, USA, 9th-12th January, IEEE, 2011 [17] Belimpasakis, P., S. Moloney, V. Stirbu, and J. Costa-Requena, J., "Home media atomizer: remote sharing of home content - without semitrusted proxies," Consumer Electronics, IEEE Transactions on, vol.54, no.3, pp.1114-1122, August 2008. [18] Song, T., Y. Kawahara, and T. Asami, "DAS: An intuitive DLNA content sharing system using SNS access control," Broadband Network & Multimedia Technology, 2009. IC-BNMT '09. 2nd IEEE International Conference on, pp.570-574, 18-20 Oct. 2009

Inter-HAN Service Interoperability With Krox

as a service-oriented platform where device-embedded services are offered: to end users, to other devices or to .... A plug-in in Krox architecture is a module that implements the interfaces required by the Krox .... When it is notified that a trusted remote HAN (in the “buddy list”) has come online, it sends information about the ...

443KB Sizes 1 Downloads 191 Views

Recommend Documents

Interoperability with multiple instruction sets
Feb 1, 2002 - ABSTRACT. Data processing apparatus comprising: a processor core hav ing means for executing successive program instruction. Words of a ...

Interoperability with multiple instruction sets
Feb 1, 2002 - 712/209,. 712/210. See application ?le for complete search history. ..... the programmer speci?es the sorting order is to pass the address of a ...

Runtime Semantic Interoperability for Gathering ...
expertise. Equipment centric network management systems ... by human network administrators. .... administrator-specified goals and maintain their constraints.

ONC Interoperability RFI FIN.pdf
Response: As we stated before, ONC's authority under the HITECH Act only extends to certified EHR. technology; therefore, we believe that in this case, the ...

IDEAS roadmap for eBusiness Interoperability
Mar 18, 2003 - (Source: CIO Magazine, Sept 2002) .... master plan for network operations overall network resource planning network ref.models network core.

Leading Interoperability and Innovation in Cloud Computing ...
... of the apps below to open or edit this item. Constantino Vazquez - OpenNebula - Leading Interope ... ty and Innovation in Cloud Computing Management.pdf.

COM and .NET Interoperability
Mar 24, 2001 - This book is dedicated to Mary and Wally Troelsen (aka Mom and Dad). Thanks for buying me my first computer (the classic Atari 400) so long ...

Adaptive Semantic Interoperability Strategies for ...
tool [17] to support the generation of the mappings. As an example .... mappings to load into the KBN router's application ontology. .... were chosen for testing.

Adaptive Semantic Interoperability Strategies for ...
Based Networking in the areas of Network & Telecoms Service Management, Autonomic. Systems and ... between the service providers, an information delivery mechanism capable of supporting ..... (NOMS 2006), Vancouver, Canada.

Model Interoperability in Building Information ... - Semantic Scholar
Abstract The exchange of design models in the de- sign and construction .... that schema, a mapping (StepXML [9]) for XML file representation of .... databases of emissions data. .... what constitutes good modelling practice. The success.