Technical Report Number
Service oriented computing is a new paradigm that is gaining popularity in dis-tributed computing environments due to its emphasis on highly specialized, modular and platform-agnostic code facilitating interoperability of systems. It borrows concepts from more mature paradigms such as object-oriented and component computing. This results in a progression from object-oriented computing to component computing and ﬁnally to service oriented computing, a new paradigm for designing and delivering software. Just as an object encapsulates state and behavior at a ﬁne level of granularity, a service oﬀers similar encapsulation at a larger scale. This evolution raises the level of abstraction at which systems are engineered, while preserving beneﬁcial properties such as modularity, substitution and encapsulation. Every participant in a service oriented computing system is a provider or user of a service, or both. The service oriented computing paradigm is characterized by a minimalist philosophy, in that a user needs to carry only a small amount of code in its local storage, and exploits other services by discovering and using their capabilities to complete its assigned task. This chapter is the result of our experiences with designing and building service oriented computing frameworks for ad hoc wireless networks (Handorean & Roman, 2002). It examines the salient imperatives required to deliver a service oriented computing frame-work for ad hoc wireless networks. Ad hoc wireless networks are collections of hosts capable of wireless communication. Hosts within proximity of each other opportunistically form a network which changes due to host mobility. An ad hoc wireless network is a dynamic environment by necessity, which exhibits transient interactions, decoupled computing, physical mobility of hosts, and logical mobility of code. The network infrastructure is supported by the participating hosts themselves and there is no dependence on external, ﬁxed resources. Ad hoc wireless environments are especially challenging to program when compared against other classes of ﬁxed wireless environments because of the implications of mobility, i.e., frequent disconnections and inherent dynamism of the network on program execution. An important class of ad hoc mobile systems is based on small, portable devices, and this class of systems is the focus of this chapter. Such devices have limited storage capacity and battery power, which restricts the number of programs they can store and run locally. Service oriented computing oﬀers a solution to this problem. By its very nature, service oriented computing is designed to facilitate sharing of capabilities while minimizing the amount of functionality a single host needs to maintain. Such a design is especially eﬀective in ad hoc networks where storage space on individual hosts is at a premium, yet where the open environment allows a large number of hosts to contribute small functions resulting in a rich set of capabilities being available in the network as a whole. Service oriented computing has received much attention from researchers worldwide. However, most of this work has been focused on architectures and implementations for wired networks. Migrating service oriented computing to ad hoc networks is non-trivial and requires a systematic rethinking of core concepts. Many lessons have been learned from the work done in the wired setting, especially regarding description and matching of services. However, the more demanding environment of an ad hoc wireless network requires novel approaches to advertising, discovering and invoking services. We envision such ad hoc networks being used in a range of application domains, such as response coordination by ﬁremen and police at disaster sites, or command and control of military units in a battleﬁeld. Such scenarios demand reliability despite the dynamic nature of the underlying network. The motivation for this chapter is to understand the unique imperatives for a viable service oriented computing framework in ad hoc wireless settings, and to illustrate selected solution strategies. We begin by examining current technologies, algorithms and capabilities that have been implemented for use in wired networks as a baseline. We then extend these concepts to cater to the special challenges of service oriented computing in ad hoc networks and direct the reader’s attention to research issues in this area, presenting some of our own contributions in the process. The rest of the chapter is organized as follows. We describe existing service oriented computing architectures and the Semantic Web eﬀort in the Background section. The section on Ad Hoc Wireless Network Perspective on Service Oriented Computing represents the main thrust of this chapter and discusses the elements of a service oriented computing framework, examining current technologies alongside our ideas on how these concepts may be applied to ad hoc networks. We cover potential areas of research in the Future Trends section. Finally, we summarize our ﬁndings in the Conclusion section.
Sen, Rohan; Handorean, Radu; Roman, Gruia-Catalin; and Gill, Christopher, "Service Oriented Computing Imperatives in Ad Hoc Wireless Settings" Report Number: WUCSE-2004-5 (2004). All Computer Science and Engineering Research.