pera per sonal a ssistance engin deveci computer engineering department bogazici university...
Post on 20-Dec-2015
220 views
TRANSCRIPT
PERA
PERsonal Assistance
Engin DeveciComputer Engineering Department
Bogazici University
Can KomarComputer Engineering Department
Bogazici University
PERA
OVERALL PICTURE
• Location Manager
• Session Manager
• PERsonal Assistance – PERA
• PERA web component – PERAw
PERA
PERA
• Presence
• Location Based Services – LBS
• Voice
• Video
• Session Initiation and negotiation via SIP
• Instant Messaging - IM
PERA
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
PERA
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 );
PERA
SESSION MANAGER
• Registrar• Redirect• Proxy
PERA
SESSION MANAGER• FEATURES
– Registration– Voice Call – Instant Messaging– Presence
• ARCHITECTURE– RFC 3261– C/C++
PERA
Performance of SM
0102030405060708090
100
10 thread 5 thread 1 thread
Thread #
CP
S
10000calls
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
•
PERA
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
PERA
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.
PERA
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.
PERA
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.
PERA
Location Manager
• ETA 1st, 2nd and 3rd floors
• 4 WAPs. At most 3 WAPs at a time.
• 30 equally separated measurement points per floor.
PERA
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.
PERA
Client and LM Communication
• Via XML
<SIGNAL>
<MAC>Mac Number</MAC>
<STRENGTH>Strength of Signal</STRENGTH>
</SIGNAL>
PERA
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.
PERA
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.
PERA
Client to Client Communication
• RTP for voice and video
• G711 , G723 for voice
• H263, ... for video.
PERA
Client Architecture
USER PROFILE
SIP CONTEXT
CALL CONTROL
TRANSACTION
GUI LOCATOR LM CONTEXTRTP CONTEXT
PERA
SM Architecture
USER PROFILE
SIP CONTEXT
CALL CONTROL
TRANSACTION
GUICALL CONTROL
CALL CONTROL
TRANSACTIONTRANSACTION