Publish subscribe framework for location based services

advertisement
Publish subscribe framework for location based services
- Prashant, Raghavendra, Praveen & Swagath
Motivation
Our motivation lies in building an application which can be used in the real-world. With
increasing developments in the field of mobile networks and applications, it has become necessary for
the use of IMS architecture to build location aware applications which people can use in day-to-day
life. The use of the Publish/Subscribe architecture also helps us build the server component such that
the functionalities are offered via a service based architecture. The clients can therefore subscribe to
particular services based on their interests. With a simple architectural model and through several
potential use-cases, our motivation lies in leveraging the uses of IMS to build applications which have
immediate end-user uses.
Problem
There has been a sudden explosion with regard to the use of location to offer appropriate
services to the clients. With numerous services being introduced, it has become necessary for building a
common framework for offering these services. Therefore, in order to offer a service, one would be
able to configure the framework for offering the service instead of building the server component from
scratch. All our services in this regard would be using the location information to provide appropriate
information to the clients. Our framework will be able to provide these services based on the common
location information of the clients. In the current project, we plan to build such a framework using
Publish/Subscribe mechanisms.
Related Work
There have been several efforts in this direction. [1] introduced Siena, a ubiquitous service
accessible from every site on a wide-area network. It is implemented as a distributed network of servers
that provide clients with access points offering an extended publish/subscribe interface. [2] proposes
the use of Pub/Sub engine including Spatial Event Model, Spatial Subscription Model and Notification
Model. These provide publish/subscribe models for offering services, Our system aims at leveraging
the IMS technology along with the publish/subscribe model in order to extend the services to the
mobile handsets that have a ubiquitous presence.
Proposed work
High Level Description
A publish subscribe framework provides an infrastructure using which a large number of services can
be provided. The real world is basically divided into two main categories – publisher and subscriber.
The publisher publishes a service with the service provider. The subscriber registers his profile with the
service provider listing his preferences like the malls he likes to visit, the activities he likes to do during
spare time and so on. The actual profile might contain a lot of other details. When the subscriber comes
in the vicinity of a publisher, contents of the matching publisher will be delivered to the subscriber via
a message/advertisement. There are quite a few location based services that solve problems relating a
particular domain like giving the timings of a particular bus route that cannot be used in other
scenarios. Our framework can be extended such that it can solve problems in various domains.
Use Cases
Case 1: Shopping Assistant
1. The stores publish their special offers/deals for the day with the service provider. Theaters
publish special events for the day with the service provider.
2. Users create a profile listing the items they like to buy or activities they want to do.
3. When the user travels/walks in the vicinity of the mall (identified by the location monitoring
module), the users profile is queried against the various publishers in the region.
4. Depending on the match, the user is sent promotional messages regarding the offers/deals of the
day.
5. The user might visit the store and buys the product as a result of advertisement that was sent
using the promotion code.
6. The publisher of the code can check the effectiveness of this form of advertising based on the
number of users using the promotion code.
Business Model
The service provider can charge both the publisher and the subscriber of the service.
The provider can be charged either on the number of offers/deals they publish per day, or they can
charge them a flat rate per month per Megabyte of Information published.
The people who subscribe to the service pay a small fee every month based on the size of their
subscription and the type of the subscription. Some of it can be free as well, as discussed below.
The advertisements/profile can be classified under categories like financial, domestic shopping,
planning family activities. The cost varies for each category. Financial services should be charged the
most followed by the family activities. The domestic shopping service can be given as a free service to
the customers, encouraging more and more people to use the technology. The vendors can be made to
pay for the customers that use this service and shop in their outlet. To attract Store owners, a
promotional offer of free service for one month of publication of size 1MB can be given. Once the trial
period ends, they will have to pay for the service. The store owners would continue to pay for the
service as it works out to be the cheapest mode of advertising wherein the advertisements are directed
at the right kind of audience.
For customers who want to use it to manage family activities, they need to pay for both the subscription
and profile. So these two can be clubbed into a single bill component, charging them for the service as
a whole. As an introductory offer, this can be given free of cost for one month and then they can be
made to pay for it.
Architecture Description
The system consists of three main components – publisher, subscriber and the service provider. The
generic framework of these three components along with a set of functionality provided by the service
provider can take care of the various use cases explained earlier.
Technical Description
The system can be divided into the following components.
1. The service provider composed of
a. A policy database containing policies set by individual users.
b. A storeDatabase database containing the published information.
c. An "intelligent system" component which can use the client's location to send the appropriate
information to the client.
d. The component that actually identifies the location of the user and reports to the system.
2. Our clients will use a lightweight UI for setting the profile information and sending it to the service
provider. The client must also be configured to receive alerts. This can be implemented as a message
sent by the service provider. In our simulation, the message can be simulated easily.
3. The publishers will also be required to send their updates in a pre-defined format. This information
will also be stored in another database - "storeDatabase". We plan to provider a simple UI which allows
publishers to publish/update their information to the service provider. However, since the data format is
pre-defined, the publishers may also use custom software to send it.
4. When a client enters a specific location, the "intelligent system" component at the service provider
will be responsible for sending the appropriate information which the client has subscribed to based on
his/her current location.
The components of the system will be implemented such that they are capable of distinguishing the two
use-case scenarios mentioned above.
High Level Project Plan
The project is planned to be carried out in five phases.
1. Implement the modules required to simulate the three main components, namely the publisher,
subscriber and the service provider (2 weeks).
2. Implement the query model that allows publishers and subscribers to register their data at the
service provider (2 weeks).
3. Implement the Location Identification service, that identifies the location of the end user (2
weeks).
4. Implement the profile matching service that matches the user's profile with the subscriptions
stored in the server service and sends alerts to the users (1 week).
5. Tweak the application to support the use cases (1 week).
Resources and Technologies being used
The technologies which will be used for the project comprises of technologies used in building IMS
applications. We are contemplating the use of the .NET framework to build the application rather than
the J2ME framework. The servers will be run on traditional machines containing 2 GB RAM and
Pentium Core 2 Duo processors while the clients will be initially tested on the emulators before the
application is ported on a real phone.
Project Plan
The IMS competition deadlines are due in the first week of April; our work is distributed over eight
weeks.
Week 1: Understand the IMS technologies
Week 2: Design the Framework
Week 3 and Week 4: Implement the framework
Week 5: Identifying Location information
Week 6: Developing use-cased based data information. (like shopping discount based information
mentioned in use-cases).
Week 7: Testing the use-case on the framework
Week 8: Documentation and Release
Evaluation and Testing methods
The evaluation of the system would be based on the ability of the service provider to supply
appropriate information to the clients as soon as the client enters the location where the service is being
offered. Based on the speed at which the server would be able to send the information to the client, the
efficiency of the framework can be tested. In a similar manner, the server will be also be stress tested to
find the optimal number of client that a server can handle.
Bibliography
1. Antonio Carzaniga, David S. Rosenblum and Alexander L. Wolf, Achieving Scalability and
Expressiveness in an Internet Scale Event Notification Service.
2. Xiaoyan Chen, Ying Chen and Fangyan Rao, An Efficient Spatial Publish/Subscribe System for
Intelligent Location Based Services.
3. Costin Raiciu, David S. Rosenblum and Mark Handley, Revisiting Content-Based Publish /
Subscribe.
4. http://en.wikipedia.org/wiki/IP_Multimedia_Subsystem
5. http://www.tech-invite.com/
6. https://www.ims-developer-program.com/
Download