overview of moca - endler/courses/mobile/transp/moca-overview.pdf1 laboratory for advanced...

17
1 Laboratory for Advanced Collaboration LAC Overview of MoCA: Mobile Collaboration Architecture Overview of MoCA: Mobile Collaboration Architecture Laboratory for Advanced Collaboration PUC-Rio, Brazil May 2007 2 Agenda Research Goals The big picture Main Components and their interaction Prototype Applications Papers and Contact Information

Upload: lamkhue

Post on 19-May-2018

229 views

Category:

Documents


1 download

TRANSCRIPT

1

Laboratory for Advanced Collaboration

LAC

Overview of MoCA:Mobile Collaboration

Architecture

Overview of MoCA:Mobile Collaboration

ArchitectureLaboratory for Advanced Collaboration

PUC-Rio, Brazil

May 2007

22

Agenda

Research GoalsThe big pictureMain Components and their interactionPrototype ApplicationsPapers and Contact Information

2

33

Research Goals

Main Goals: Design and implement a middleware to supportthe development and deployment of suchcollaborative applications;Experiment with new forms of context/location-aware collaboration, develop applications usingthe middleware, and evaluate their usability andusefulness.

Target setting:Structured wireless network (802.11)Users with laptops and palmtopsIntra-domain applications (e.g. for Universitycampus-community, corporation)

Mobile Collaboration Architecture (MoCA)

44

MoCA

Emphasis is on context-processing and -awarenessMoCA consists of basic services for collecting and processing

context information, synchronous & asyncronouscommunication and client/serverAPIs and a proxyFramework that facilitate the use of these services bydevelopers of applications for mobile networks.

Essentially, the basic services supportDistributed monitoring, storage and complex queries aboutthe execution context of mobile devices.Location inference based on IEEE 802.11Advertisement and dynamic discovery of applications andmiddleware services (not yet fully implemented)

3

55

The big Picture

Client

Cm+ECIM

UDS CIS CS

Local CIS/UDS?Contextinfo

req

subscrevent

reply

LIS

COPS

Core Services

OptionalServices

Server

Cm+ECI

Server

Application-specific adaptations

Application

SRM

ServicesHere?

Personalities

Glossary:Client and Server APIsCm: Communication ServiceECI: Event Communication InterfaceM: Monitor (/XP, /CE, /Sim)CS: Configuration ServiceCIS: Context Information ServiceLIS: Location Inference ServiceUDS: Ubiquitous Discovery ServiceCOPS: Context Privacy Service

66

MoCA´s Personalities

In order to widen the usability of MoCA’s core services, we have developed three additionalprogramming interfaces personalitiesMoCA/MAX – for use with Agent Framework JadeMoCA/WS – a proxy that works as a Web ServiceMoCA/ORB – a proxy talks IIOP

MoCA Core Services

MoCA/MAX MoCA/WS

Jade Application C# Application

SOAP/XMLFIPA

Java Application

Cm ECI(Pub/Sub)

MoCA/ORB

CORBA Appl.

IIOP

4

77

Communication APIs

Communication Service (Cm):Supports synchronous (req/reply) and asynchronouscommunication among Java programs using either TCP orUDP

Event-based Communication Interface (ECI):Supports asynchronous communication through topic-based publish/subscribeConsists of server and client API. A process may:

subscribe to events related to some topic (and satisfying an given SQL-like expression) and/or publish an event (an object) on a topic.

An event provider is in charge of dispatching events to all subscribers which have subscribed to this event and whose expression is satisfied by the event properties.

88

ECI: Singular Features

Subscription (with context expression E) willcause notifications both when E and ¬E becometrue

Allows the client to specify the number ofnotifications (once, N times, or regularly)

Interception: application (provider) canmanipulate the list of notification addressees

Any process may use the ECI server or client API

5

99

Core Services of MoCA

Monitor (at the mobile device):Is in charge of: (i) probing the state information (akaexecution context) of the mobile device and (ii) sendingthis information to the Context Information Service(CIS) executing in the static network;

Configuration Service (CS):Stores and manages the configuration of each mobile device:

MAC Address, (IP:port) pair of CIS, periodicity of theMonitor repots to the CIS, and (IP:port) pair of theDiscovery Service;

Context Information Service (CIS): stores and processes the state information received fromthe Monitors, and eventually sends notifications aboutcontext changes to Proxies which have subscribed to such notifications;

Other Services: Discovery Service, LocationInference Service & Symbolic Region Manager

1010

Main Components

Monitor (XP/CE/Sim)is a daemon executing on the mobile device;Periodically probes (and sends to the CIS) state informationabout the mobile device’s resources and wireless RF signals, e.g.:

Strength of RF signal received from all visible Access Points ;CPU utilization, available memory and energy;MAC Address, IP and currently used Access Point;other data....

RF signals are obtained through WiFi scan operations, in a uniform way, independently of the 802.11 network interface;

Implemented for WinXP and WinCEThe Monitor also reports to the CIS any change of the currentIP address or Access Point of the device (i.e. a migration)

6

1111

Monitor/XP

1212

Monitor/CE

For palmtops running Windows Mobile 5.0Probing of GPS coordinates (lat./long./height) for devices with GPS sensor.

Architecture:

MoCAMonitorDllCE (C)

MoCAMonitor (C# .NET CF)

NDIS

MoCAMonitorInterfaceCE (C# .NET CF)

Windows CE API GPSID

MoCAMonitorGPSDllCE (C)

7

1313

Monitor/CE

Adapted GUI for usage at Palmtops

1414

Context Information Service(CIS)Delivers context information to any application entity (e.g.

server/client/proxies), through direct queries or subscriptions withcontext expressions.Context variables used in expressions• CPU (Int – 0 to 100) %• EnergyLevel (Int – 0 to 100) %• AdvertisementPeriodicity (Int – 0 to 100000)• APMacAddress (String)• FreeMemory (Long) in Kbytes• DeltaT (Long)in ms• OnLine (Boolean)• IPChange (Boolean)• Roaming (Boolean)• RF Signal Strength from each AP (dB)• LinkQuality (dB)

Usually, applications are interested in:State of the device (e.g. available memory, enery level)Wireless connectivity statusAproximate position of the device

8

1515

Context Information Service(CIS)

CIS can be deployed as a pool of servers (each onecollecting the context information from Monitors);Each device has associated its context information(indexing through MAC-Address) CIS-Monitorcommunication uses sockets/UDP;CIS Clients subscribe to the service informing thedevices’s MAC-Address (as the Subject) and anSQL92-like expression defining the state ofcontext they are interested in. Example:

Subject=”02:DA:20:3D:A1:2B”, Properties = “roaming = True” OR “FreeMem < 15%” OR “CPU > 90%”;

1616

Static Context Information

Device static information from UAProfprofileAPI to obtain context attributes valuesExamples

DeviceProfile.HardwarePlatform.ScreenSizeWidthDeviceProfile.HardwarePlatform.ScreenSizeHeightDeviceProfile.HardwarePlatform.BitsPerPixelDeviceProfile.SoftwarePlatform.OSName

Context attributes can also be used in a subscription expression

subscribe("00:02:2D:A5:06:46", "Device.LocalResources.EnergyLevel > 30 AND DeviceProfile.HardwarePlatform.ColorCapable = TRUE")

9

1717

Context Information Service(CIS)

UAProfRepository

MoCA's Context Model

CIS

UAProfHandler

Controller

Con

text

Acce

ss A

PI UAProf Cache

Monitorvendor & model

context information

vendor & model

staticcontext

context information

UAProf Profile

Vendors servers

1818

Location Inference Service(LIS)LIS is a GPS-less positioning service for indoor applications,

based on IEEE 802.11 signal strength finger-printing thatuses a stochastic algorithm to correlate sinal patterns.

Usage is in two phases:Calibration:

Within the area of interest (e.g. a building, part of a campus) several reference points (RP) are defined (eachof which receives an identifier = symbolic name).At each RP, the RSSI from all visible 802.11 Access Pointsis sampled (e.g. N samples), which are stored at LIS’s database,A Symbolic Region is defined in terms of its RP’s identifiers.

Inference:At any time, LIS gets N samples of the signal strength atthe current position and identifies the set of k RPs in thedatabase that have the most similar signal distributionscompared to the current distribution.It then infers that the device is located in the symbolicregion determined by the majority of RPs.

10

1919

LIS Histogram Algorithm

2020

{-59,-80,-49} {-63,-85,-57} {-42,-60,-60} {-30,-45,-64}

{-90,-75,-42} {-92,-72,-53} {-82,-50,-89} {-55,-35,-78}

{-75,-78,-68} {-76,-77,-74} {-54,-55,-70}

Room 501 Room 502 Room 503 Room 504

Room 505 Room 506 Room 507 Room 508

Corridor

Access Point

Reference Points {Signal Pattern}

Device

Location Inference Service (LIS)

{-60,-78,-48}

Inferred Device Location:Inferred Device Location:Room 501

11

2121

LIS – Types of Access

LIS supports:Syncronous access

Symbolic region of a device DAll Devices within a reguion R

Asynchronous notificationsApplication instantiates either a RegionListener or a DeviceListenerWhenever a device enters or leaves a region, LIS notifies all subscribed applications about thecorresponding regionID or deviceID

Definition and Management of different regionhierarchies (built upon atomic regions)

2222

LIS – Asynchronous access

Basic API:void subscribe(String regionId, RegionListener listener)

onDeviceEntered(String regionId, String deviceId)onDeviceExited(String regionId, String deviceId)

void unsubscribe(String regionId, RegionListener listener)

void subscribe(String deviceId, DeviceListener listener)onRegionChanged(String deviceId, String regionId)void unsubscribe(String deviceId, DeviceListener listener)

void unsubscribe(String deviceId, DeviceListener listener)

12

2323

LIS-LIS Interaction

Monitor sends context data each 30 ms (configurable)Each second LIS queries CIS about Signal Strengths ofall devices (2) & (3)

LIS analyses the n most recent probes from each device, infers the current symbolic location, compares it with thelast seen (device, region) association, and possibly sendsnotifications (4) to all interested client applications

2424

Monitor/Sim

Is a tool which simulates a mobile device:Behavior defined by a configuration file (scans are read from different files)

Sends this information to CIS (like the “real” Monitor)Can be deployed on any host

This facilitates: Debugging of the context-aware applications in the usual networked environment (without having to physically move between regions)Evaluating the scalability of the application (test with hundreds/thousands of fake mobile devices)

monitor.scanInterval=1000 monitor.repeating=true cis.server.host=localhostcis.monitor.port=55010 file1=conf/Scan-Banco_01.txt interval1=5000 file2=conf/Scan-EspacoAberto.txt interval2=10000 file3=conf/Scan-Mesa_03.txt interval3=20000

loop

13

2525

Some Prototype Applications

Some location-aware prototypes developed using MoCA:W-Chat chat-tool with connectivity awarenessNotes in the Air (NITA) notes to locations (virtual

whiteboards) and location-based chatMobile Matchmaking Service location-based matching of

user interestsBuddySpaceLive on-line tracking of friend’s locationsWireless Marketing Service location-based discount

couponsVirtual Lines location-based reservation of a

position in a lineWho Are You? (WAY) proximity-based exchange of business

cardsuGuide allows to open region-specific URLs in

any browser

2626

W-Chat

Wireless Chat (W-Chat) shares the wirelessconnectivity status of the participants of a chatroom;

14

2727

Ubiquitous Guide - uGuide

Client/Server applicationAdmin registers at theserver one URL for each symbolic regionSymbolic Regionsmay be representendin an hierarchy, e.g.

/PUC-Rio/RDCBuilding/5thfloor/Room511

2828

uGuide @ the Client

User logs in Icon appears in task-barWhenever user entersa registered region, a pop-up opens withthe corresponding link Link can be opened in any Web browserPerhaps, user entersa non registeredregion

15

2929

Some uses of MoCA

MoCA has been used as the fundamental building block for other specialized middleware, developed by other groupsand universities. Some examples:MoGrid: a middleware for mobile Grids (LNCC/RJ) – PhDthesisContext-aware Exeption Handling for Ubiquitousenvironments (LES/PUC-Rio) - M.Sc. thesisContextTV: a context-aware middleware for interactivedigital TV on mobile devices (UF Pernambuco) – M.Sc. thesisIntegration of JSP with MoCA as a web service (UF Viçosa/MG) – undergraduate final projectMAG/MoCA: Interface for Grid access through handhelddevices (UF Maranhão) – Integrade Research project

3030

Selected Publications(available at www.inf.puc-rio.br/~endler/publ.html)

Overview:V. Sacramento, M. Endler, H.K. Rubinsztejn, L.S. Lima, K. Gonçalves, F.N.do Nascimento, G. Bueno, MoCA: A Middleware for Developing Collaborative Applications for Mobile UsersIEEE Distributed Systems Online, ISSN 1541-4922, vol. 5, no. 10, October, 2004.

LIS and NITA:K. Gonçalves, H.K. Rubinsztejn, M. Endler, B. Santana, S.D.J. Barbosa, Um aplicativo para comunicacão baseada em localização, 6o. Workshop de Comunicação sem Fio e Computação Móvel (WCSF 2004), Fortaleza, pages 225-231, October 2004. H.K. Rubinsztejn, M. Endler, V. Sacramento, K. Gonçalves, F.N. do Nascimento, Support for Context-aware Collaboration, First International Workshop on Mobility Aware Technologies and Applications (MATA 2004), Florianópolis, LNCS no. 3284, pages 37-47, October, 2004

16

3131

Selected Publications(available at www.inf.puc-rio.br/~endler/publ.html)

Proxy Framework:H.K. Rubinsztejn, M. Endler, N. Rodrigues, A Framework for Building Customized Adaptation Proxies, in Proc. of the IFIP conference on Intelligence in Communication Systems (INTELLCOMM 2005), Montreal, October 2005.

Privacy Service:V. Sacramento, M. Endler, F.N do Nascimento, A Privacy Service for Context-Aware Mobile Computing, Proc. of the IEEE Conference on Security and Privacy for Emerging Areas in Communication Networks (to appear), Athens, September 2005.

3232

Credits

The Middleware Guys:Vagner Sacramento Hana K. RubinsztejnRicardo C.A. da RochaLuciana dos S. LimaJosé Viterbo FilhoFernando Ney NascimentoGustavo Luis Baptista

The Application Guys:Kleder GonçalvesPedro NevesRodrigo PrestesMarcelo MalcherJordan Janeiro

Other Collaborators:Giulliano Bueno

17

3333

More Information...

For documentation and downloads visitMoCA’s Web Site:

www.lac.inf.puc-rio.br/moca

Send Email to:

[email protected]