PER sonal A ssistance. Can Komar Computer Engineering Department Bogazici University firstname.lastname@example.org. Engin Deveci Computer Engineering Department Bogazici University devecien @boun.edu.tr. OVERALL PICTURE. OVERALL PICTURE. Locat ion Manager Session Manager
PERsonal Assistance Can Komar Computer Engineering Department Bogazici University email@example.com Engin Deveci Computer Engineering Department Bogazici University firstname.lastname@example.org
OVERALL PICTURE • Location Manager • Session Manager • PERsonal Assistance – PERA • PERA web component – PERAw
PERA • Presence • Location Based Services – LBS • Voice • Video • Session Initiation and negotiation via SIP • Instant Messaging - IM
SIP API • Provides • Abstraction of SIP Signalling • Easy to Use API • Efficient and Reliable • Compatible With SIP RFC 3261 • Features • Registration • Multiple Voice Call • Instant Messaging • Presence
SIP API • Architecture • Event Driven • Blocking / Non-Blocking use • Implementation in C/C++ • Example • SIPPlaceCall(sip_context , “Altug Simsek”,“altugsi”,“o2.com.tr”, “Engin Deveci”,“enginde”,“o2.com.tr”, local_sdp );
SESSION MANAGER • Registrar • Redirect • Proxy
SESSION MANAGER • FEATURES • Registration • Voice Call • Instant Messaging • Presence • ARCHITECTURE • RFC 3261 • C/C++
Performance of SM SM is on : • 256MB Ram • PIII 866 • Win2K Prof SP2 • 100 Mbps LAN Simulators are on: • 256MB Ram • PIII 800 • Win2K Prof SP3 • 100 Mbps LAN
Location Manager • WLAN Tracker is a server-client system that is implemented in a combination of Java and C • It is designed to track the users in different physical areas in a multithreaded manner and provide location based services (messages etc.) to them
Location Manager • Implemented in software, no extra hardware is used • Components of the system • Server: Collects and evaluates data • Client: Sniffs the wireless medium and informs the server • WAP: IEEE 802.11 compliant access points • Basic Idea • Every point on a surface has a different combination of signal levels received from different WAPs. Using this information a radio map of a surface can be prepared. • Server is implemented in pure Java thus platform independent. • Client is implemented in C and Java due to driver dependency.
Location Manager • Off-Tracking: In this phase, the radio map is prepared. (Data Collection phase.) • On-Tracking: In this phase, the clients transmit information to the server and the server tries to estimate their location and show on a map.
Location Manager • Uses the data collected in the previous phase. • Tries to estimate the location according to the data sent by the client. Data is sent via UDP datagrams. • Centralized server structure, the server displays all available maps and manages them in separate threads. • The configuration and precollected radiomap data are read from text files. • Clients are tracked according to IP address. If configured, the clients that have static IP can be configured to have distinct labels.
Location Manager • ETA 1st, 2nd and 3rd floors • 4 WAPs. At most 3 WAPs at a time. • 30 equally separated measurement points per floor.
Location Manager • An average of ~3m error in estimation • Multiple floor problem generally can be solved with signal power filter • Effects of history filter and number of WAPs are being studied.
Client and LM Communication • Via XML <SIGNAL> <MAC>Mac Number</MAC> <STRENGTH>Strength of Signal</STRENGTH> </SIGNAL>
Client and LM Communication • Via SIP Presence Packets • LM will SUBSCRIBE to the SM for each client it wanted to track. • Each NOTIFY packet will contain an extended XML body including the MAC address of the WAP and signal strength.
Client and SM Communication • SIP based. • INVITE for session initiation (VOICE, VIDEO). RFC 3261 • SUBSCRIBE/NOTIFY for presence. IETF simple-presence draft. • MESSAGE for instant messaging. IETF sip-message draft.
Client to Client Communication • RTP for voice and video • G711 , G723 for voice • H263, ... for video.
Q&A Thank You