UbiData: An Adaptable Framework for Information ... - CiteSeerX

8 downloads 435 Views 29KB Size Report
specific requirements. We also introduce the development process for UbiData's applications. Keywords: Mobile computing applications, Information-push, ...
UbiData: An Adaptable Framework for Information Dissemination to Mobile Users ECOOP’98 Workshop on Mobility and Replication POSITION PAPER Ana Paula Afonso, Francisco S. Regateiro, Mário J. Silva Faculdade de Ciências da Universidade de Lisboa Departamento de Informática Campo Grande, 1700 Lisboa – Portugal Email: [email protected]

Abstract We present the architecture of UbiData an adaptable framework for mobile computing information dissemination systems. Applications built upon this framework communicate using dynamic channels, an information push model with extensions to capture mobilityspecific requirements. We also introduce the development process for UbiData’s applications. Keywords: Mobile computing applications, Information-push, Object-oriented development.

1. Introduction Mobile computing environments pose new challenges and have spurred the development of a wide range of new information applications. Mobile computing intrinsic characteristics, which include poor connectivity and poor resources, complicate the design of mobile information systems. This requires a re-evaluation of the classic client-server model [7]. In this model, users must continuously poll the server to obtain the current data, resulting in multiple requests for the same data items from each user. The alternatives to the client-server model for information distribution in mobile computing environments are based on data dissemination models [5], where a set of publishers use channels to disseminate/distribute information to a large set of subscribers. Recently, push-based techniques [6] have been proposed as a solution in data delivery in these models. To face some of the mobility constraints (limited user interaction and poor connectivity), applications must anticipate user’s information needs as they roam with minimum user interaction. Given these intrinsic characteristics, we believe that the information-push paradigm is especially useful for the development of mobile applications. To address these needs, we are developing a general and adaptable framework for mobile computing dissemination systems. This framework has been specifically designed for providing a

1

solution to distribute information for a large set of mobile users, based on adaptations to the information channels and a hybrid scheme of dissemination of information. These channels are dynamic, in the sense that information pushed and presented to individual receivers depends on their location and changes as they roam. In the remainder of this paper we present UbiData’s information model, its architecture, the development process for UbiData’s applications and, finally, our conclusions. 2. Dissemination Model Our dissemination model is based on the notions introduced by Cheriton [5], and Viswanathan [8]. An information channel, shortly channel, is defined as an abstraction of communication and system resources necessary to achieve information distribution to a set of users. The framework implements the publisher/subscribe model [2,3], in which a user receiving information is called subscriber and a user sending information is called publisher. Publishers use channels to disseminate/distribute information to a large group of subscribers. The contents carried by a channel are grouped into logical and atomic units called items. An item may be a source file or a database object represented on a SQL statement in the case of a database source information. Our work is based on a hybrid schema of data delivery. Following the classification for data delivery mechanisms proposed by M. Franklin and S. Zdonik [2,3], we provide two different types of data delivery which may be combined to optimize application requirements: periodic pull (or smart pull) and aperiodic push (true push). In the periodic pull approach, the subscriber uses polling to obtain data from publishers, defining individual schedules for each of the items subscribed. This schema is useful to mobile users because network unavailability and disconnection of subscribers can occur frequently. In these environments, the key mechanisms for supporting these characteristics include information prefetch and replication. We use aperiodic push to broadcast information to reachable subscribers from the publisher. Publishers can associate notifications to the items. Push delivery is event-driven - a subscriber of an item with a notification receives an attention message triggered by an event such as a data modification in the item contents. This approach is useful to provide real-time access to information sources, a frequent requirement of mobile applications. A channel item of a channel has a region to model a geographical area, represented as a composite shape. We have augmented the channel concept with this characteristic to enable the adaptation of the items’ visualization behavior to the location of the subscribers.

2

The main objects of our dissemination model are transmitter and tuner. The former encloses what channels and items are to be disseminated, and the conditions to inform the subscribers about new data available - notifications. The later encloses which channels are subscribed, which items are activated, and which notifications the subscriber uses. Figure 1 shows a class diagram representing our dissemination model. A detailed description of the dynamic channel model is presented in [1]. Transmitter

Tuner

0..* Channel 1 name description

0..* Subscription 0..*

1..* Item

1..*

name description 1 location view region default schedule 0..* Notification 1 name description

Item Activation actual schedule 0..*

0..* Notification Activation 0..*

Figure 1: Class diagram for a Dynamic Channel

3. Framework architecture The architecture of UbiData follows the three-layered scheme common to information systems [9]. The Presentation Layer, which includes the graphical interface, enables the user to view data sent by the publisher. The Application Logic Layer encloses the objects representing domain concepts that fulfil application requirements (Domain Objects) and the supporting services (Service Objects). The Storage Layer encloses database or files that contain the information to be disseminated by the publisher and received by subscribers. Figure 2 illustrates UbiData’s general architecture. The fundamental domain objects are Transmitter and Tuner. The framework also includes a set of service objects: Positioning System Manager, Replication Manager, Web Server, Event Listener and Event Manager. The Transmitter is responsible for keeping the definitions of the channels disseminated by the

3

Subscriber Side

Publisher Side

Channel Viewer

Presentation

Domain Objects

DomainObjects

Tuner ItemActivation

Transmitter

Subscription NotificationActivation

Item

Channel

Notification

Application Logic Services Objects

Services Objects

Positioning System Manager Web Server

Storage

Replication Manager

Web Server

Event Listener

Replication Manager

Event Manager

Internet over GSM

Information Source

Information Source

Figure 2: UbiData architecture

publisher. It stores information about the associations between tuners and channel items, which is necessary to the notification mechanism. This component is responsible for interacting with the tuners, and for obtaining the information to disseminate from file systems or databases. The Tuner is responsible for the channel items replication, according to the settings of the corresponding subscriptions. This component includes an Event Listener, which receives the incoming notifications sent by the Transmitter, and passes them to the Tuner. The Positioning Service is responsible for supplying the geographic position of the subscriber to the Tuner. The Replication Manager, an object of the Tuner, uses positioning data to discriminate the items covering the current position, establishing an update priority for the remaining. This priority establishment is specially important for mobile computing operations because, as connectivity may be poor, the most relevant/important items are more likely to be updated using this technique. In addition, the replication manager may decide not to update low priority items. The Replication Manager is the object in our reference architecture responsible for maintaining the coherency among the items data. It has two parts, a subscriber-side, and a publisher-side. The publisher-side creates a new file containing the data representation of an item whenever its changes on the publisher’s database. At the time defined in the schedule, the client tries to contact

4

the server and perform the updates. In the case of a database source, the file is downloaded and the contents loaded into the local database; in the case of a set of files, they are downloaded to the corresponding directory on the subscriber. 4. Software development process In our perspective, the elaboration and construction of information dissemination applications consists in the personalization of our dissemination model and customizing the software components of UbiData. We organized the essential steps of the development process in a methodology based on UML. We start with the identification and characterization of the objects of the dissemination model. From this description, we create a channel description file (CDF), which is used as a configuration file by our mobile computing framework. This file is formatted as an extension of the CDF format [4], and captures mobility related information, such as location, notifications and support of database sources of information. Both the publisher and subscriber sides of the mobile information dissemination application take the CDF as an input. Publishers load the CDF files to know what information to disseminate, how to make it available, and when to notify subscribers about changes to the information. Subscribers load the CDF to get information about the channel items available, their relevance to the current position, and customize the notification and publisher polling schedules. 5. Conclusions We proposed extensions to the conceptual model of information channels to support mobilityrelated attributes. We have shown how we develop push-based mobile applications based on our mobile framework. In addition, we have proposed a systematic software development for analysis, design and implementation of mobile applications. In addition, to provide automatic support for the analysis phase of software development process, we have developed a prototype of a generator of channel description files from the class diagram for the system [1], which is created with Rational Rose. To illustrate these concepts, we are currently completing a first prototype of an application of UbiData, a fire information system for the Portuguese Civil Protection Service. The prototype implements all the characteristics described in this paper [1]. This summer, we will test its operation and evaluate its usability.

5

References [1]

A.P. Afonso, F.S. Regateiro, M.J. Silva, “Dynamic Channels: A New Methodology for Mobile Computing Applications,” Technical Report DI/FCUL TR-98-4, Department of Computer Science, University of Lisbon, April 1998.

[2]

M. Franklin, S. Zdonik, “Dissemination-Based Information Systems,” IEEE Data Engineering Bulletin, 19(3), September 1996.

[3]

M. Franklin, S. Zdonik, “A Framework to Scalable Dissemination-Based Systems,” ACM OOPSLA Conference (Invited Paper), October, 1997.

[4]

CDF, http://www.w3.org/TR/NOTE-CDFsubmit.html.

[5]

D. Cheriton, "Dissemination-Oriented Communication Systems,” Technical Report, Stanford University, 1992.

[6]

Push Publishing Technologies, http://www.strom.com/imc/t4a.html.

[7]

M. Satyanarayanan, “Fundamental Challenges in Mobile Computing,” 15 th ACM Symposia on Principles of Distributed Computing, 1996.

[8]

S. Viswanathan, "Publishing in Wireless and Wireline Environments,” PhD dissertation, State University of New Jersey at Rutgers, 1994.

[9]

A. Umar, Object-Oriented Client/Server Internet Environments, Prentice-Hall, 1997.

6