IMOBILE: A PROXY-BASED PLATFORM FOR MOBILE SERVICES Author: Chung-Hwa Herman Rao, Yih-Farn Robin Chen, Di-Fa Chang and Ming-Feng Chen NETWORK SERVICES RESEARCH CENTER, AT&T LABS Presented by Pengpeng Lu
Jan 19, 2016
IMOBILE: A PROXY-BASED PLATFORM FOR MOBILE SERVICES
Author: Chung-Hwa Herman Rao, Yih-Farn Robin Chen, Di-Fa Chang and Ming-Feng Chen
NETWORK SERVICES RESEARCH CENTER, AT&T LABS
Presented by Pengpeng Lu
OUTLINE
OBJECTIVE
INTRODUCTION
ARCHITECTURE OF IMOBILE
LET ENGINE AND USER/DEVICE PROFILES
SUMMARY
FUTURE WORK
OBJECTIVE
PROVIDE A PERSONAL AGENT ON THE NETWORK THAT ALLOWS MOBILE USERS TO ACCESS ALL SERVICES.
- NO MATTER WHERE THEY ARE.
- NO MATTER WHAT DEVICES.
INTRODUCTION
DIFFERENT DEVICE AND PROTOCOLS DO NOT COMMUNICATE EACH OTHER EASILY: - Palm PDA - Cell Phone - Email Devices - Pocket PCs
MOBILE USERS: - DIFFERENT NEEDS, MOTIVATION AND CAPABILITIES FROM WIRELINE USERS - MULTI-TASKING MODE - VERY TASK-ORIENTED
INTRODUCTION
FIGURE 1. Accessing iMobile Services Through Various Devices and Networks.
ARCHITECTURE OF IMOBILE
FIGURE 2. Architecture of iMobile
FIGURE 3. Architecture of iMobile
DEVLET
A DEVLET PROVIDES A PROTOCOL INTERFACE TO A DEVICE ON A PARTICULAR ACCESS NETWORK.
SUPPORT:
SMS protocol IMAP email protocol
AIM protocolICQ protocol
Telnet protocolWAP protocol HTTP protocol
DEVLET
EACH DEVLET INTERACTS WITH THE LET ENGINE INA STANDARD WAY:
•RECEIVE EACH REQUEST AS A CHARACTER STREAM
• SEND THE CHARACTER STREAM, INTERPREDTED AS AN IMOBILE COMMAND AND ASSOCIATED PARAMETERS TO THE LET ENGINE
• RETURNS RESULTS IN A MIME TYPE ACCEPTABLE BY THE RECEIVING DEVICE (DETERMINED BY THE CORRESPONDING DEVICE PROFILE STORED AT THE LET ENGINE
DEVLET
EACH COMMAND INVOKES AN APPLET THAT CORRESPONDS TO A SERVICE WITH A SET OF SERVICE PARAMETERS
EXAMPLES
TO ACCESS THE STOCK PRICE OF AT&T (T):• quote T
TO FORWARD THE RESULT TO [email protected]• forward mail: [email protected] quote T
INFOLET
RETRIEVE OR WRITE TO AN INFORMATION SPACE USINGAN ACCESS PROTOCOL APPROPRIATE FOR THE INFORMATION SOURCE AVAILABLE
INFORMATION SPACES:
- Stock quote, weather, flight schedule, etc (Access websites) Example: An AIM client of YihFarn talks to an iMoible AIM agent, issued the “flight 008” command to get flight information on the NorthWest airline and received the concise output that includes time and gate information of each leg of the flight
INFOLET
• Mapping from the flight command to the NorthWest airline
• Invoke necessary transcoding services to map to an appropriate format
FIGURE . Accessing Flight Info
Through iMobile.
INFOLET
INFORMATION SPACES (Continued):
- Corporate Database (Accessed through the JDBC and ODBC interfaces) iMobile hosts a JDBC infolet that allows mobile users to access or update enterprise database information (employee data, marketing/sales data, etc) through SQL-like queries.
- Network/Infrastructure Resources (Accessed through the CORBA interfaces) iMobile hosts a CORBA infolet that allows mobile users to request services from CORBA objects.
INFOLET
INFORMATION SPACES (Continued):
- Mobile Control of X10 Home Network Devices iMobile hosts an X10 infolet that controls home network devices connected to its server machine.
- Emailson Mail Servers iMobile supports and IMAP infolet called inbox that can query and view a user’s email account.
APPLET
IMPLEMENT BUSINESS OR APPLICATION LOGIC BY PROCESSING CONTENTS FROM DIFFERENT SOURCES AND RELAYING RESULTS TO VARIOUS DESTINATION DEVICES
An Applet may simply sends a message from one device to another without using any information sources ORHave complex interaction with other infolets.
LET ENGINE
• RECEIVE COMMANDS FROM DEVICES, TRANSLATE THE COMMANDS ACCORDING TO USER ALIASES AND PROFILES, AND THEN FORWARDS THE SERVICE REQUEST TO THE RIGHT APPLET OR INFOLET • INVOKE THE APPROPRIATE TRANSCODING SERVICE TO CONVERT RESULTS RETRUNED FROM INFOLETS OR APPLETS TO A FORMAT APPROPRIATE FOR THE TARGET DEVICE• ALL DEVLETS, INFOLETS, AND APPLETS MUST BE REGISTERED AT THE LET ENGINE FIRST BEFORE COMMUNICATIONS WITH OTHER AGENTS CAN OCCUR
DEVICE PROFILE
EVERY DEVICE MUST REGISTER ITS PROFILE INFORMATION WITH THE LET ENGINE FIRST
DEVICE NAME: protocol:acct_idA DEVICE PROFILE IS A LIST OF ATTRIBUTE-VALUE PAIRS: dev.format.accept: determine what MIME type the device is allowed to accept e.g.: dev.format.accept=text/plain dev.page.size=230
DEVICE PROFILE (CONTINUED)
EVERY DEVLET IS MODELED AS A SPECIAL DEVICE IT REQUIRES MORE INFORMATION IN THE DEVICE PROFILE TO TELL IMOBILE HOW AND WHEN TO ACCESS THIS DEVICE.
e.g.: mail.store.checktime=10000
DEVICE to USER MAPPING
EACH DEVICE HAS TO BE MAPPED TO A REGISTERED IMOBILE USER. REASONS:
- LIMITING ACCESS TO LEGITIMATE IMOBILE USERS ONLY- PERSONALIZE A SERVICE BASED ON THE USER PROFILE
A typical device-to-user map: sms: +886936731826=herman sms: +19087376842=chen mail:[email protected]=difa aim:webciao=chen …
USER PROFILE
A typical iMobile user profile:
name=Robin ChenPassword=xf2gbH3 # command aliasesdefault=$mail.1 sms.cmd.q=quote# my addresses sms.cmd.sn=sitenewssms.1=sms:+19087376842 # address aliases mail.1=mail:[email protected] sms.addr.cc=aim:chrischenmail.2=mail:[email protected]=$mail.1, $mail.2aim.1=aim:webciao
SUMMARY
IMIBILE INTRODUCES THREE ABSTRACTIONS ON TOP OF AN AGNET-BASED PROXY:• DEVLET TO INTERACT WITH VARIOUS ACCESS DEVICES AND PROTOCOLS• INFOLETS TO ACCESS MULTIPLLE INFORMATION SPACES• APPLETS TO IMPLEMENT APPLICATION AND SERVICE LOGICTHE LET ENGINE ARBITRATES THE COMMUNICATIONS AMONG DEVLETS, APPLETS, AND INFOLETS, IT MAINTAINS USER AND DEVICE PROFILES, WHICH ARE USED TO PROVIDE PERSONALIZED SERVICES AND TO PERFORM TRANSCODING BEFORE RETURNING CONTENTS TO RECEIVING DEVICES.
FUTURE WORK
INTEGRATE IMOBILE WITH LOCATION SERVICES TO FURTHER REDUCE THE PARAMETERS (ZIP CODE, LONGITUDE, LATITUDE, ETC.) THAT A MOBILE USER IS REQUIRED TO ENTER TO ACCESS USEFUL INFORMATION
EXPERIMENT WITH VOICE XML TECHNOLOGOES TO PROVIDE A VOICE-BASED DEVLET FOR INFORMATION RETRIEVALS