reclist through collaborative filtering algorithms; 4) music provider that push music streams to music players according to reclists, in both centralized and P2P.
State of the Art on Pervasive Service Computing Jiehan Zhou, Jukka Riekki, Mika Ylianttila Dept. of Electrical and Information Engineering, University of Oulu Oulu, Finland {first name. surname}@ee.oulu.fi
Abstract- Pervasive Service Computing (PSC) is proposed as a Web services-based solution to pervasive computing in our ongoing international joint project funded by National Natural Science Foundation of China (NSFC) and Academy of Finland. This paper presents the state of the art on the project. The state of the art consists of two parts. Part 1 collects the latest results achieved by Finnish partner, including a generic user activity model, conceptual modeling of service collaboration and peer coordination, a reference model for Pervasive Service Computing, and a contextaware pervasive service composition architecture. Part 2 collects the latest results achieved by Chinese partner, including iShadow architecture, U-lab model, context model for iCampus applications, Petri net modeling for contextaware workflow management, and iCampus prototypes. Keywords - pervasive computing, ubiquitous computing, pervasive service computing, service computing
I.
Jingyu Zhou, Feilong Tang, Minyi Guo Dept. of Computer Science and Engineering, Shanghai Jiao Tong University Shanghai, China {zhou-jy,tang-fl, guo-my}@cs.sjtu.edu.cn
Computing 1 . The state of the art consists of two parts. Section II presents part 1, which collects the latest results achieved by Finnish partner, including a generic user activity model [14], a conceptual model of service collaboration and peer coordination[15], a reference model for Pervasive Service Computing[16], and a context-aware pervasive service composition architecture [14]. Section III presents part 2, which collects the latest results achieved by Chinese partner, including iShadow architecture [20], U-Lab model [21], context model for iCampus applications [22], Petri net modeling for contextaware workflow management [22], a collaborative music recommendation system [23], and iCampus prototypes [20]. Future work and conclusion are given in Section IV.
INTRODUCTION
Motivated by Weiser’s vision [1] from early 1990s, many companies and research organizations have launched projects studying pervasive computing, ambient intelligence, calm technology, etc. Examples include Webbased services by IBM [2], T-engine by University of Tokyo [3], Aware home by Georgia Tech [4], Infopad by UC Berkeley[5], Cups and Smart-Its by Karlsruhe[6], and wearable computing by MIT [7]. The general goal for those projects aims at realizing the paradigm of ubiquitous computing. With the emergence of service-oriented computing [8, 9], and the continuous proliferation of Web services technologies, i.e., Web Service Description Language (WSDL) [10], Simple Object Access Protocol (SOAP) [11], and Universal Description Discovery and Integration (UDDI) [12], we see the SOA technology as one building block in realizing the vision of ubiquitous computing. The idea is to incorporate emerging Web services into fundamental technologies in facilitating people’s daily individual and group activities, respectively supported by service collaboration and service coordination. The concept of pervasive service computing was introduced in [13] as a Web services-based solution that realizes the pervasive computing paradigm. Fig. 1 illustrates the vision of Pervasive Service Computing. This paper aims to present the state of the art on our ongoing international joint project: Pervasive Service
Figure 1. Pervasive Service Computing Vision
II.
PART I – RESULTS BY FINNISH PARTNER
A. A Generic User Activity Model The activity model is depicted as follows (Fig. 2): (1) User’s generic activity starts with the goal planning phase. A goal usually consists of a set of tasks. (2) The task decomposition phase partitions the initial task into atomic entities (i.e., subtasks) that represent operable task units. Each task unit is automated by one or more service units. (3) A service is provided by consuming a resource; a resource is owned by a peer (an entity, a people or an organization), peers own services as well. Peers with the 1
http://www.mediateam.oulu.fi/projects/psc/?lang=en
same rights to control services belong to a peer group. Following task decomposition, the consequent step is peer coordination or service collaboration. If a goal is simple and only consists of small tasks which can be served by one service peer, then there is no need for peer coordination. Otherwise, peer coordination locates service peers. In this step, global contracts (e.g. definition of behavior, conditions, constraints) and observable processes are agreed among involved peers. These processes are independent of local processes within peers. (4) Once peer coordination is set down and services are identified, service collaboration comprises identified services that run on coordinated service peers. Once composed, service logics are executed as specified by service collaboration. (1)Goal-planning
(2)Task-composition Is it composed within one party? No Yes (3)Peer-coordination
(4)Service-collaboration
(5)Logic- execution
Figure 2. A generic user activity model
B. Modeling service composition By examining the above generic user activity model, we identify the following facts which play a role in a service composition: 1) A service composition is corresponding to one application for achieving a goal. 2) A service composition consists of a set of services provided by one or more service partners and a composer managing relationships and workflows between services. 3) Peer (namely, service party) is responsible for allocating Web resources and providing services. Each resource is identified to one service. It is possible for each party to own one or more resources. These resources can provide same functional services, but they feature different properties, e.g. accessing channels, cost, location, etc. So we regard them as identical functional services. If we consider the travel reservation goal illustrated in [13], there are four solutions to achieve it as follows: Solution 1 - seek a service composition consisting of a set of services within one party for achieving the travel reservation goal.
Solution 2 - seek an optimal service composition consisting of a set of services within one party for achieving the travel reservation goal taking account of constrains of service properties of cost, time, etc. Solution 3 - seek a service composition consisting of a set of services among multiple parties for achieving the travel reservation goal. Solution 4 - seek an optimal service composition consisting of a set of services among multiple parties for achieving the travel reservation goal taking account of constrains of service properties of cost, time, etc. C. Service composition formalization To formalize service composition, we define primitive concepts as follows. A goal refers to a state which a person or a system intends to achieve through consuming services. A goal set is defined A service refers to a Web service, is regarded as an independently deployable computational unit, interoperated, accessed, and executed over a network. A service set is defined as A resource unit is anything used to change the world state by providing an atomic computational service. A resource has an identity and limited availability. A resource set is defined as . It is assumed that there is a one-to-one mapping between and , i.e. . In addition, each resource has properties, e.g. cost, time, location, accessing channel, etc. Accordingly, each service inherits the resource properties of cost, time, location, etc. defines a set of service properties. A given set of properties can be used as variables for optimizing service compositions. Service party is the person or organization who allocates a set of resources, correspondingly administrates a set of services. A service party is defined as a two-tuple, , is a set of person or systems which has the authority to utilize service in set . An instance of is . A service collaboration is a service composition occurring within one service party. The set of service collaboration is defined as a two-tuple, , is a set of logic units which specify relationships between services in . An instance of service collaboration in is , where , is the set of services administrated by . Service coordination is a service composition occurring among multiple service parties. The set of service coordination is defined as a two-tuple too, , is a set of logic units which specify relationships between services in . An instance of service coordination among , , is , where , , . Correspondingly, the four solutions can be formalized with formula and objective functions as the following:
Problem 1. Is there an available service collaboration which consists of a set of services within one party for achieving a goal , i.e.
D. Design of Reference model for PSC An initial reference model for PSC (PSC-RM) (Fig. 3) abstracts functional modules for accommodating service collaboration and peer coordination. This initial model is composed as three layers - application layer, PSC system layer, and PSC enabling and enhancing layer.
Problem 2. Is there an optimal service collaboration which consists of a set of services within one party for achieving a goal , taking account of a set of constraints defined on service properties , i.e.
PSC-RM application layer illustrates our envisioned applications, including Web service-oriented composition, P2P-based composition and service provision, contextaware and semantic service composition, multimodal user interface-based composition, and trust-aware service composition. Those applications are expected to facilitate user’s daily activities in the context of pervasive service computing.
is the value set as the user expected, e.g. satisfaction in service cost, accessing speed, etc.
PSC-RM system layer illustrates a model for deriving multiple PSC architectures. This layer abstracts basic functional modules, including multimodal user interface, context management, core modules of peer coordination and service collaboration, service provisioning, service repository and database, and Pervasive Service Composition Language.
Problem 3. Is there an available service coordination which consists of a set of services among multiple parties for achieving a goal , i.e.
PSC enabling and enhancing layer consists of enabling and enhancing technologies identified by us, i.e. Serviceoriented PSC, P2P-based PSC, context-aware PSC, mobility-aware PSC, trust-aware PSC, MUI-aware PSC, wireless sensor networked PSC.
Problem 4. Is there an optimal service coordination which consists of a set of services among multiple parties for achieving a goal , taking account of a set of constrains defined on service properties , i.e.
is the value set as the user expected, e.g. satisfaction in service cost, accessing speed, etc.
Service-oriented composition
P2P-based composition
Context-aware composition
MUIs-based composition
Trust-aware composition
Complex daily activity management
Application layer
Peer coordination Multimodal HCI
Context management
Pervasive Service Composition (core)
Service repository Service provisioning
Service collaboration
Database
PSCL (Pervasive Service Composition Language)
PSC system layer
Service-oriented PSC Specified SOA Contemporary SOA Primary SOA
P2P-based PSC Pervasive computing @P2P SOA@P2P P2P networks
Context-aware PSC Knowledge representation
Mobility-aware PSC Connection management
Data reasoning & mining User-centric context
Resource management
Trust-aware PSC
MUI-aware PSC
Service security
Gesture-based UI
P2P network security
Touch-based UI
User privacy management
Speech-based UI
Wireless Sensor Networked PSC
PSC enabling and enhancing layer
Figure 3. Reference Model for Pervasive Service Composition
E. Context-aware PSC architecture design In this section, we design a context-aware PSC architecture (CAPSC) (Fig. 4), which intends to
accommodate context awareness in Pervasive Service Computing. The proposed architecture consists of two parts which are relevant for context-aware computing and
service composition respectively. The following major components are specified to support CAPSC applications.
User activity
The user Composition request
Context data
Composition adaptor
Process service adaptation
Sensors device Service repository
Utility service adaptation
User mng.
Resource mng.
Interface
Context reasoning
Peer coordination
Resource mng.
Security control
Context modeling
Computing device
Data bus
Context sensing
management, user management, context awareness, message management, service management and data management, where resource management and user management are two essential modules. The application layer of iShadow refers to various applications, relying on the services provided by middleware layer.
Resource mng.
Network device Devices layer
Middleware layer
Application layer
Figure 5. iShadow architecture Figure 4. CAPSC architecture design
Context sensing perceives contextual information and transmits it to the rest of the system. From a user’s perspective, the context information could be passively acquired from sensors, e.g. the user’s location information by GPS receiver, or actively sent by the user, e.g. process control instruction. Context modeling acquires and works with the context for converting it to the usable form through interpretation. Context modeling analyzes the context and represents it as an independent variable or combines it with other at a conceptual level. The context model is comprised of user context, peer context, service context and process context. These contexts consist of a name, type, and set of contextual states. Most context models use standard methodologies for describing context, such as key-value pairs and ontologies [17][18][19].
B. U-lab model U-Lab (Fig. 6) is a ubiquitous environment [21] to support college students, professors, and visitors in a laboratory to encourage positive research activities. Actions of people in the Ubiquitous Laboratory (U-Lab) are individually recorded by sensor networks and analyzed to provide suitable supports. Based on these collected information, U-Lab provides services such as to grasp a precise research progress and share research information among students and professors. In the U-Lab, research is considered as the main activity in the laboratory. For instance, the research activities include professor’s own investigation, group seminar, discussion between the professor and students, a regular colloquium, surveys, design and experiments based on individual level and so on.
Context reasoning makes a decision by examining contextual information or user requests against the predefined context model. Context storage stores context. Constant context availability is desired to maintain historical information of a service composition. Historical context information can be used to establish trends and predict future context values. Composition adaptor receives the command from context reasoning, chooses and performs context-aware service composition of peer coordination, process adaptation or utility service adaptation. Context-aware peer coordination takes care about peer management within the composition process. It emphasizes processing and exchanging peer context in an efficient composition application. It considers the changes in the process logic and adapts process services for maintaining a service composition session. Context-aware utility service adaptation pays attention to utility service adaptation into an interaction situation by examining service context. III.
PART II – RESUTLS BY CHINESE PARTNER
A. iShadow architecture Fig. 5 illustrates the hierarchical structure of iShadow [20], which consists of devices layer, middleware layer and application layers. The devices layer provides a means for users to access services in pervasive computing environments. The middleware layer consists of resource
Figure 6. U-Lab model
C. Petri net modeling for context-aware workflow A context-adaptive workflow (CAW) [22] is defined as a 7-tuple CAW=(P,T,I,O,IT,CO,M0), where P={p1,p2,…,pn} is a finite set of places, T={t1,t2,…,tn} is a finite set of transitions such that P ∩ T=∅ and T ∩ P= ∅ , I ⊆ P× T is a finite set of input arcs from pi to tj (1 ≤ i≤m,1≤j≤n), O⊆ T× P is a finite set of input arcs from tj to pi (1 ≤i≤m,1≤j≤n),
IT={IT1, IT2,…,ITk} is a finite set of user’s interesting targets, CO is a finite set of context information, and M0 is the initial marking. D. Context model for campus navigation Context dimensions for campus applications are identified as Table 1 [22].
navigation
TABLE 1. CONTEXT OF UBIQUITOUS CAMPUS Entity person
network
device
Attribute name sex age identity requirement preference connectivity bandwidth cost stability battery level available_data computing_capacity available_cache available_memory
Value name description male or female value of age teacher, student, etc. text description text description conncted,disconnected high, medium, low expensive, cheap, free good, medium, bad full, half, low yes or no high, medium, low full, half, low full, half, low
E. iCampus prototype The iCampus prototype [20] provides various services such as map service, photo sharing service, search service, daily work assisting service, and collaborative music recommendation service. The map service enables the user to navigate a campus in context of user identification. The photo sharing service enables the user to upload and share photos via social networks. The search service enables the user to search campus resource. The daily work assisting service enables the user to automate his/her routine daily tasks such as checking emails, notifying weather, etc. Fig. 7 illustrates the collaborative music recommendation system architecture combining centralized and P2P recommendation algorithms [23], which aims to provide consistent music recommendation services in a pervasive environment. The system consists of four components: 1) music players that are customized according to devices’ physical characteristics; 2) implicit rating extractor that extracts implicit ratings for both songs and artists out of playlists; 3) recommendation engine that generates a reclist through collaborative filtering algorithms; 4) music provider that push music streams to music players according to reclists, in both centralized and P2P networks. Music provider Reclists Streams
Recommendation engine
Ratings
Music players
Implicit rating extractor Playlists
Figure 7. Music recommendation system architecture
IV.
CONCLUSION AND FUTURE WORK
We coined the term Pervasive Service Computing (PSC) to describe leveraging Web services and pervasive
computing on supporting the user’s daily activities. PSC is regarded as a Web services-based solution that realizes the pervasive computing paradigm. Service composition is regarded as the cornerstone in the construction of Pervasive Service Computing. This paper presents the state of the art on the joint project of Pervasive Service Computing funded by National Natural Science Foundation of China (NSFC) and Academy of Finland. Our future work in Pervasive Service Computing will focus on exploring the major enabling and enhancing technologies as follows: Context sensing in PSC aims to explore the ability of collecting contextual information gathered by different sensors and techniques, for example with GPS receivers, Bluetooth beacons, and RFID readers. Modeling in PSC aims to explore appropriate information representation mechanisms for modeling Pervasive Service Computing environment, e.g. capturing data on person, object, location, device, networks, and services. Context reasoning in PSC aims to explore the ability of the composition of context units and deduction of higherlevel context data. P2P-based service composition in PSC aims to explore the opportunities of adoption of P2P into Pervasive Service Computing. The adoption is expected to make better use of heterogeneous resources, speeds up data access, eliminate single points of failure, improving scalability and reducing network bottlenecks. V.
ACKNOWLEDGEMENTS
This work was carried out in the SOPSCC project (Pervasive Service Computing: A Solution Based on Web Services), funded in the Ubiquitous Computing and Diversity of Communication (MOTIVE) program by the Academy of Finland and National Science Foundation of China (Grant No. 60811130528).
REFERENCES [1] M. WEISER, "The computer for the 21st century," Scientific American, vol. 265, pp. 94–104, 1991. [2] IBM, "Mobile and Pervasive Computing," Http://www.Zurich.Ibm.com/news/99/wap_sr.Html, Retrieved by 12th February 2010. [3] J. Krikke, "T-Engine: Japan's ubiquitous computing architecture is ready for prime time," Pervasive Computing, IEEE, vol. 4, pp. 4-9, 2005. [4] C. D. Kidd, R. Orr, G. D. Abowd, C. G. Atkeson, I. A. Essa, B. MacIntyre, E. D. Mynatt, T. Starner and W. Newstetter, "The aware home: A living laboratory for ubiquitous computing research," in CoBuild '99: Proceedings of the Second International Workshop on Cooperative Buildings, Integrating Information, Organization, and Architecture, 1999, pp. 191-198. [5] T. E. Truman, T. Pering, R. Doering and R. W. Brodersen, "The infopad multimedia terminal: a portable device for wireless information access," IEEE TRANSACTIONS ON COMPUTERS, VOL. 47, NO. 10, pp. 1073-1087,1998. [6] L. E. Holmquist, F. Mattern, B. Schiele, P. Alahuhta, M. Beigl and H. Gellersen, "Smart-its friends: A technique for users to easily establish connections between smart artefacts," in
UbiComp '01: Proceedings of the 3rd International Conference on Ubiquitous Computing, 2001, pp. 116-122. [7] A. Smailagic, "Wearable computers: a new paradigm in computer systems and their applications," Computers, IEEE Transactions on, vol. 52; 52, pp. 977-978, 2003. [8] Thomas Erl, Service-Oriented Architecture (SOA): Concepts, Technology, and Design. Prentice Hall, 2005. [9] M. P. Papazoglou, P. Traverso, S. Dustdar and F. Leymann, "Service-Oriented Computing Research Roadmap,"
ftp://ftp.cordis.europa.eu/pub/ist/docs/directorate_d/stds/services-research-roadmap_en.pdf, 2006. Retrieved by 12th February 2010 [10] W3C-WSDL, "WSDL: Web Services Description Language (WSDL) 1.1," Http://www.w3.org/TR/wsdl, 2005. Retrieved by 12th February 2010. [11] W3C-SOAP, "SOAP Version 1.2 Part 1: Messaging Framework," Http://www.w3.org/TR/2003/REC-soap12-part120030624/, 2003. Retrieved by 12th February 2010. [12] UDDI, "UDDI Version 3.0.2," Http://www.OasisOpen.org/committees/uddi-spec/doc/spec/v3/uddi-v3.0.220041019.Htm, 2004. Retrieved by 12th February 2010. [13] Jiehan Zhou, Jukka Riekki and Junzhao Sun, "Pervasive Service Computing toward Accommodating Service Coordination and Collaboration," in IEEE proceedings of Fourth International Conference on Frontier of Computer Science and Technology, 2009, pp. 686-691. [14] Jiehan Zhou and Jukka Riekki "Context-aware pervasive service composition," in IEEE proceedings of International Conference on Intelligent Systems, Modelling and Simulation, ISMS2010, 27 - 29 January 2010, Liverpool, UK., pp. 437-442. [15] Jiehan Zhou, Jukka Riekki and Mika Ylianttila, "Modeling service composition and exploring its characteristics," Proceedings of 2009 Congress on Services - I, 2009, pp. 446451. [16] Jiehan Zhou, Junzhao Sun, Mika Rautiainen, Oleg Davidyuk, Meirong Liu, Ekaterina Gilman, Xiang Su, Mika
Ylianttila, Jukka Riekki, "PSC-RM: Reference model for pervasive service composition," in IEEE Proceedings of Pervasive Service Computing and Application 2009 in Conjunction with FCST 2009, pp. 705-709 [17] T. Strang and C. Linnhoff-Popien, "A context modeling survey," in In: Workshop on Advanced Context Modelling, Reasoning and Management, UbiComp 2004 - the Sixth International Conference on Ubiquitous Computing, Nottingham/England, 2004, [18] Karen Henricksen, Jadwiga Indulska and Andry Rakotonirainy, "Modeling context information in pervasive computing systems," in Pervasive Computing , vol. 2414/2002, Anonymous Springer Berlin / Heidelberg, 2002, pp. 79-117. [19] S. W. Loke, "On representing situations for context-aware pervasive computing: six ways to tell if you are in a meeting," Pervasive Computing and Communications Workshops, 2006. PerCom Workshops 2006. Fourth Annual IEEE International Conference on, pp. 5 pp.-39, 2006. [20]Daqiang Zhang, Hu Guan, Jingyu Zhou, Feilong Tang, Minyi Guo. iShadow: "Yet Another Pervasive Computing Environment".2008 International Symposium on Parallel and Distributed Processing with Applications. pp. 261-268. [21] Mianxiong Dong, Kaoru Ota, Feilong Tang, Minyi Guo, Zixue Cheng. "Intelligence@Lab: A Smart Space for Researchers Based on Sensor Networks in Pervasive Computing Environment". International Journal of Smart Home. Vol. 2, No. 3, July, 2008.pp. 19-36. [22] Feilong Tang, Minyi Guo, Mianxiong Dong, Minglu Li, Hu Guan. "Towards Context-Aware Workflow Management for Ubiquitous Computing", The 2008 International Conference on Embedded Software and Systems (ICESS2008). pp. 221-228. [23] Linchun Cao, Minyi Guo. "Consistent Music Recommendation in Heterogeneous Pervasive Environment", 2008 International Symposium on Parallel and Distributed Processing with Applications. pp. 495-501