50320140501003
-
Upload
iaeme -
Category
Technology
-
view
60 -
download
0
Transcript of 50320140501003
International Journal of Information Technology & Management Information System (IJITMIS),
ISSN 0976 – 6405(Print), ISSN 0976 – 6413(Online), Volume 5, Issue 1, January - April (2014), © IAEME
30
GSM/WiFi INTELLIGENT SWITCHING AGENT USING JADE-LEAP
IN SYMBIAN AND J2ME ENVIRONMENT
Amjed Abbas Ahmed1, Israa Akram Fadhil
2, Ammar Jabbar Fattah
3
1Master Computer Science in Information Technology Management,
AL-IMAM AL-KADHUM COLLEGE for Islamic science (department of Diyala),
IRAQ-Baghdad, 2Master of Science in Computer Science,
UNIVERSITY OF BAGHDAD / College of Arts /Unit of Media and Information,
IRAQ-Baghdad 3CEO, Senior Researcher, Science Gate-Online Research Center
ABSTRACT
Mobile phone is the very essential device to be carried now days where product
companies are selling millions and millions every year, even though, the number is still
rapidly increasing.
Mobile companies have introduced a new mobile handset, which is the Dualband that
has the capability to connect to WiFi network and GSM network, such devices are
representing the new generation of mobile phone.
This paper is dedicated to design and implement intelligent switching JAVA agent
that would be installed in every dual band handset. This agent will monitor host calls through
the interaction with the internal telephony system and send message to the destination if the
calls are not accomplished for any reason.
The proposal will provide a backup communication line that will virtually keep the
GSM session valid even when GSM network is going down temporarily.
The system proposed in this paper has two essential software components: Symbian
based C++ module and J2ME software module. Symbian based module is a crucial due to the
unique capability in interaction system API and low level hardware.
Keywords: Intelligent Agent, J2ME, GSM, WiFi, JADE, Leap, Symbian s60, Telephony
system, MySql.
INTERNATIONAL JOURNAL OF INFORMATION TECHNOLOGY &
MANAGEMENT INFORMATION SYSTEM (IJITMIS)
ISSN 0976 – 6405(Print) ISSN 0976 – 6413(Online)
Volume 5, Issue 1, January - April (2014), pp. 30-41
© IAEME: http://www.iaeme.com/IJITMIS.asp
Journal Impact Factor (2014): 6.2217 (Calculated by GISI)
www.jifactor.com
IJITMIS
© I A E M E
International Journal of Information Technology & Management Information System (IJITMIS),
ISSN 0976 – 6405(Print), ISSN 0976 – 6413(Online), Volume 5, Issue 1, January - April (2014), © IAEME
31
1. INTRODUCTION
Many mobile subscribers are ready to start using their mobile phone as their primary
phone, and meeting this demand represents a prime growth opportunity for mobile operators.
By giving users what they want—high-quality mobile service at lower cost in the places
where they spend the most time, i.e., their homes and offices—operators can satisfy this
previously unmet communications need and create new streams of revenue.[9]
Enter Unlicensed Mobile Access (UMA) technology, the 3GPP standard for fixed-
mobile convergence (FMC). Enabled by the introduction of a new element into the core
mobile network, the UMA Network Controller (UNC), UMA allows operators to extend
mobile voice, data and IMS services over fixed broadband access networks.[9]
The most well-known application of UMA technology is cellular/Wi-Fi dual-mode
handset (DMH) services. By providing subscribers with UMA-enabled dual-mode handsets,
mobile operators can leverage the growing ubiquity of wireless LANs located within
subscriber homes, offices and public hot spots to deliver high-performance, low-cost voice,
data and IMS services where subscribers spend most of their time.[9]The UMA standard
effectively creates a parallel radio access network - the UMA Network (UMAN) that
interfaces to the mobile core network using existing GSM-defined standard interfaces. This
solution uses IP tunneling techniques to transparently extend mobile voice, data, and IMS
services over IP access networks. UMA enables service delivery to mobile phones over any
wireless WLAN access point, including Wi-Fi and Bluetooth as it is shown in figure (1).[9]
Figure 1: Dualband (WiFi / GSM) network architecture
International Journal of Information Technology & Management Information System (IJITMIS),
ISSN 0976 – 6405(Print), ISSN 0976 – 6413(Online), Volume 5, Issue 1, January - April (2014), © IAEME
32
UMA was developed to allow mobile operators to turn existing WLANs into seamless
extensions of their mobile networks, enabling subscribers to automatically roam and
handover between the cellular radio network and a home, office, or public WLAN. Neither
the location of the subscriber, nor mobility, affects the delivery of services. UMA also
enables seamless access to operator circuit services such as voice and Short Message Service
(SMS) over Wi-Fi. Equally compelling is how UMA supports seamless access to operator
packet services, specifically all IMS-based applications. In fact, UMA is the only defined
standard available today that enables access to, and mobility of, IMS services over Wi-Fi. [9].
2. SMARTPHONES AND SYMBIAN OS
Symbian OS is a full-featured mobile operating system that resides in most of today’s
smartphones. The demand for smartphone software is growing as these devices become more
powerful and more widely used.[3]
While Symbian OS-based smartphones are shipped with a variety of useful
applications built in, an exciting aspect of these phones is that they are ‘open’. This means
that users can download, install and uninstall applications written by third-party developers
(or by the users themselves). No special carrier service or device manufacturer’s agreement is
needed to distribute new smartphone applications – they can be downloaded by the user from
a PC to the smartphone through a link such as USB or using Bluetooth technology (limited by
the smartphone’s storage space). [3, 6]
In symbian OS the performance is extremely high where C++ applications run
natively on the device, so they are much faster than others running under other operating
system this is in a hand and the native APIs (Application Programming Interface) that
symbian provide grants the programmer the full accessibility to mobile device hardware such
as inter-process communication, accessing the hardware, controlling other native applications
such as the browser many other interaction with the hardware. [6]
3. TELEPHONY SYSTEM INTERACTION
The API is implemented as static linked library etel3rdparty.dll. The library must be
linked in the client applications to access the telephony functions. The client applications
access the functions with the CTelephony class.[4,6]
The CTelephony class provides a limited set of telephony functions to client
applications. The CTelephony is built on top of the core, multimode and packet data
telephony APIs as it is shown in figure (2). The CTelephony class provides client
applications with the functions to dial a call, answer a call, get the capabilities of the line,
the call and the network, and get information about the basic and supplementary services
of the network.[6]
International Journal of Information Technology & Management Information System (IJITMIS),
ISSN 0976 – 6405(Print), ISSN 0976 – 6413(Online), Volume 5, Issue 1, January - April (2014), © IAEME
33
The CTelephony class translates the client API request into the internal commands
and forwards them to the telephony server. The telephony server forwards the command
requests to the telephony server plug-in (TSY). The TSY is developed and customised by the
handset manufacturers. The telephony functions available to client applications depend on the
functions implemented in the TSY.[3, 4, 6]
Mobile telephony system has messages as many as the states it passed through, each
message is reflecting the state that the telephony system is currently in, as figure (3) shown
the interpretation of some messages and states of the call. [3,4]
CTelephony
CTelephony
Functions
Telephony API for Applications DLL
Core
Telephony
System
Symbian OS
Client Applications
Etel3rdparty.h
Figure 2: CTelephony class interaction to Core telephony system
International Journal of Information Technology & Management Information System (IJITMIS),
ISSN 0976 – 6405(Print), ISSN 0976 – 6413(Online), Volume 5, Issue 1, January - April (2014), © IAEME
34
4. SOFTWARE AGENT
The term ‘agent’, or software agent, has found its way into a number of technologies
and has been widely used, for example, in artificial intelligence, databases, operating systems
and computer networks literature. Although there is no single definition of an agent (see, for
example, Genesereth and Ketchpel, 1994; Wooldridge and Jennings, 1995; Russell and
Norvig, 2003), all definitions agree that an agent is essentially a special software component
that has autonomy that provides an interoperable interface to an arbitrary system and/or
behaves like a human agent, working for some clients in pursuit of its own agenda. Even if an
agent system can be based on a solitary agent working within an environment and if
necessary interacting with its users, usually they consist of multiple agents. These multi-agent
systems (MAS) can model complex systems and introduce the possibility of agents having
common or conflicting goals. These agents may interact with each other both indirectly (by
acting on the environment) or directly (via communication and negotiation). Agents may
decide to cooperate for mutual benefit or may compete to serve their own interests.[1,2]
5. JAVA AGENT DEVELOPMENT(JADE) (AGENT BOOK )
The first software developments, that eventually became the JADE platform, were
started by Telecom Italia (formerly CSELT) in late 1998, motivated by the need to validate
the early FIPA specifications.[1]
Partially funded by European Commission (FACTS project, ACTS AC317) a team
composed of Fabio Bellifemine, Agostino Poggi and Giovanni Rimassa were gathered with
the good will and dedications to promote the concepts of JADE and its compliant to FIPA. At
a certain point it was decided to move beyond a means of simply validating the FIPA
Figure 3: Telephony System in Mobile phones
International Journal of Information Technology & Management Information System (IJITMIS),
ISSN 0976 – 6405(Print), ISSN 0976 – 6413(Online), Volume 5, Issue 1, January - April (2014), © IAEME
35
specifications towards developing a fully fledged middleware platform. The vision was to
provide services to application developers and that were readily accessible and usable by both
seasoned developers and newcomers with little or no knowledge of the FIPA specifications.
Emphasis was placed on the simplicity and usability of the software APIs.[1,2]
In order to better facilitate industrial involvement, in May 2003 Telecom Italia Lab
and Motorola Inc. defined a collaboration agreement and formed the JADE Governing Board,
a not-for-profit organization of companies committed to contributing to the development and
promotion of JADE. The Board was formed as a contractual consortium with well-defined
rules governing the rights and obligations toward generated IPR. The Board is open with
members able to join and leave according to their needs. At the time of writing, Telecom
Italia, Motorola, France Telecom R&D, Whitestein Technologies AG and Profactor GmbH
have all become members of the Board.[1,2]
When JADE was first made public by Telecom Italia, it was used almost exclusively
by the FIPA community but as its feature set grew far beyond the FIPA specifications, so did
its usage by a globally distributed developer community. It is interesting to note that JADE
contributed to widespread diffusion of the FIPA specifications by providing a set of software
abstractions and tools that hid the specifications themselves; programmers could essentially
implement according to the specifications without the need to study them. This is considered
as one of the main strengths of JADE with respect to FIPA.[1,2]
6. JAVA 2 MICRO EDITION(J2ME)
Sun’s Java 2 Micro Edition [12] is standardized, portable, has a small footprint (Sun’s
KVM reference implementation has about 128 kilobytes), optimized for networking and very
flexible.[5]
To ensure portability among different manufacturers’ devices, the MIDP 1.0 (Mobile
Information Device Profile) and specification establishes some basic functionality for the first
generation Java-enabled mobile devices. This guarantees that the programs – “midlets” – will
run on any MIDP 1.0 certified hardware.[5,8]
MIDP 1.0 offers only HTTP type connections by default, but there are a few
workarounds to have always-on, flexible, raw socket connections – proprietary network
connections – between the server and the mobile device. MIDP 2.0 is more flexible in this
respect, but few mobile devices comply with it, at this time.
On need, the j2me agents can be easily extended with additional functions, enabling a
device’s additional testing abilities.[7]
7. JADE-LEAP
Light Extensible Agent Platform (LEAP) is an extension of JADE, mainly to allow
JADE agents to run on small devices, mainly wireless PDAs and mobile phones. The main
development platforms are MIDP and pJava.[1,7,8]
The idea is to have a Java Standard Edition Container on a full-blown PC and a small,
JADE-LEAP agent on the wireless device. Among the platforms considered as options for the
implementation of the J2ME agents society is The Platform for Lightweight Agents,
AgentLight. This is a lightweight Java agent platform for goal-driven and rule-based agents.
The inference engine is based on a Prolog-like FirstOrder-Logic implementation, which
allows for providing of artificial intelligence within the agents behavior.[1,5,7,8]
International Journal of Information Technology & Management Information System (IJITMIS),
ISSN 0976 – 6405(Print), ISSN 0976 – 6413(Online), Volume 5, Issue 1, January - April (2014), © IAEME
36
AgentLight offers a simple society model, in which agents are grouped into containers,
knowledge is shared among agents within a container, and this same container offers simple
but efficient communication channels through which FIPA ACL messages are exchanged. A
container is compiled into a single executable and deployed to the portable device.[1,7,8]
8. AGENT COMMUNICATION
At software level, the agents communicate with each other through the FIPA
(Foundation for Intelligent Physical Agents) ACL (Agent Communication Language) [11].
FIPA ACL specifications describe aspects of the structure of messages and the ontology
service. For now, our agents have a reduced language set, mainly allowing sharing test sets,
device test/repair data and system coverage plans. [1,2]
The FIPA MTP (Agent Message Transport Protocol) specifications present different
ways of communication for the agents to exchange data. IIOP (Internet Inter-ORB Protocol),
WAP (Wireless Application Protocol) and HTTP (HyperText Transfer Protocol), TCP/IP
over wireline are described, as well as generic wireless solutions. They also deal with bit-
oriented, string-oriented and XML-oriented message representations. Our agents, in their
current development status, use TCP/IP over wireline and wireless connections, with the
messages in ASCII string format. They ask information from the central database through
HTTP. A newer version, with XML, is being developed, to simplify inter-agent, agent-to-
database communication and use of protocols like HTTP and WAP. [1,2]
At hardware level, the agents use whatever communication layer is available for the
device (serial, I2C, Ethernet or other). We have also considered embedded TCP/IP solutions.
For a system with mobile subsystems to be tested, short range, standardized radio-based
Bluetooth chips can be used. For large, scattered systems, radio-based Wi-Fi solutions or
GPRS boards are available. Wi-Fi works even with public Access Points, while GPRS boards
are adequate for low-cost, always-on sporadic communication over large distances.[1,2]
9. GSM/WiFi INTELLIGENT SWITCHING AGENT
Intelligent Switching Agent is a software application installed in Symbian based dual
mode handset (GSM/WiFi) to automatically swing between voice network (GSM) and VoIP
(WiFi) network.
Software Agent can perceive its environment and make decisions when to switch
between available networks according to ontology used to define environmental concepts. In
this paper concepts are built upon telephony system events and WiFi availability and status.
The following examples are definitions of Keep, Swap , Available and DoSwap concepts:
1- ( EStatusDialling, EStatusRinging ) �Keep
2- (EStatusAnswering, NOT SignalStrengthChanged) �Keep
3- (EStatusAnswering, SignalStrengthChange < Threshold) �Swap
4- (EStatusReconnectPending, EstatusRinging, NOT EStatusAnswering) �Keep
5- ( WiFiLevel > Threshold , Registered(SSID)) �Available
6- (Available, Swap) �DoSwap
Intelligent Switching Agent is a combination of J2ME modules and Symbian
modules, where J2ME is limited in communicating low level system telephony system, this is
where CTelephony is used to help acquiring telephony system events. Also, WiFi availability
International Journal of Information Technology & Management Information System (IJITMIS),
ISSN 0976 – 6405(Print), ISSN 0976 – 6413(Online), Volume 5, Issue 1, January - April (2014), © IAEME
37
Symbian OS
J2ME
RF
GSM
RF
WiFi
ARM Core & DSP controller
C++ modules
Java Runtime
Environment
Event
Detector
VoIP
software
module
and status are tasks beyond the capability of J2ME, so, another symbian based classes
(CwlanMgmtClient, CWlanScanInfo) have been used to acquire WiFi availability and status.
Figure (4) presents the basic components of the Intelligent Switch Agent presented by
this paper, also, the allocation of these components are presented
Figure 4: Intelligent Switching Agent components and interaction
CTelephony
JADE-LEAP
Event
Handler
Java Intelligent Agent
Call
Status
Cell ID
Detector
Network
properties
WiFi
Dial-up
International Journal of Information Technology & Management Information System (IJITMIS),
ISSN 0976 – 6405(Print), ISSN 0976 – 6413(Online), Volume 5, Issue 1, January - April (2014), © IAEME
38
Figure (5) , presents basic events captured by CTelephony class, the captured events
are send to J2M2-Leap java agent which ,as it has been stated earlier, will interpret the
combination of these events as concepts and will take decisions upon these constructed
concepts.
EStatusRinging
EStatusDialling
GetTelephonyStatus
(CTelephony::iCurrentStatus)
EStatusAnswering
SignalStrengthCh
anged
EStatusReconnect
Pending
EStatusDisconnec
ting
PostStatusJ2me(iCurrentStatus)
Figure 5: Retrieving Telephony status using symbian CTelephony class
International Journal of Information Technology & Management Information System (IJITMIS),
ISSN 0976 – 6405(Print), ISSN 0976 – 6413(Online), Volume 5, Issue 1, January - April (2014), © IAEME
39
CwlanMgmtClient and CWlanScanInfo are used to make a list of available WiFi
service providers. Intelligent Switching Agent needs at least one WiFi provider to accomplish
its job. WiFi QoS is another metric for how efficient is the Intelligent Switching Agent
performs. Figure (6) presents using CwlanMgmtClient and CWlanScanInfo to get available
WiFi and the status of each. Figure (7) presents Intelligent Switching Agent calling other
mobile station; the (Swap) concept has been manually generated.
scanInfo->First();
WiFiLevel[counter] = scanInfo->RXLevel();
scanInfo->IsDone()
= NULL
CWlanScanInfo* scanInfo=CWlanScanInfo::NewL();
CleanupStack::PushL(scanInfo);
TInt8 *WiFiLevel = 0;
Tint my_RSSI = 0;
TWlanBssid *BSSID;
scanInfo->Bssid(BSSID[counter] );
scanInfo->Next();
counter = counter + 1;
WaitNextRefresh()
Figure 6: CwlanMgmtClient and CWlanScanInfo get available WiFi and status
International Journal of Information Technology & Management Information System (IJITMIS),
ISSN 0976 – 6405(Print), ISSN 0976 – 6413(Online), Volume 5, Issue 1, January - April (2014), © IAEME
40
10. CONCLUSIONS
1- Dual mode (GSM/WiFi) is a very promising technology in term of the usage of the
mobile device as a mobile computing device, which provides a new platform building
distributed computing network, using WiFi can efficiently overcome of the obstacle
of limited GPRS bandwidth which is the main challenge facing building professional
mobile applications.
2- Using WiFi as a cost effective channel to transfer voice is a potential as the voice
coding techniques evolved to the limit where it is possible to recruit VoIP protocol to
efficiently replace voice network.
3- Mobile phone roaming is easier with applying concepts of automatic switching
between GSM and WiFi and cost effective. ISPs (Internet Service Providers) are
covering, almost, the entire planet and roaming over Internet is an economical and
more reliable.
Figure 7: Intelligent Agent at (1234567814) is calling (1234567815)
International Journal of Information Technology & Management Information System (IJITMIS),
ISSN 0976 – 6405(Print), ISSN 0976 – 6413(Online), Volume 5, Issue 1, January - April (2014), © IAEME
41
11. REFERENCES
[1] Fabio Bellifemine, Giovanni Caire and Dominic Greenwood, "Developing multi-
agent systems with JADE", John Wiley & Sons, Ltd, 2007.
[2] Fabio Bellifemine, Giovanni Caire, Tiziana Tucco and Giovanni Rimassa, "JADE
Progammer's Guide", TILab S.P.A, 2010.
[3] Jane Sales, "Symbian OS Internals, Real-time kernel programming", John Wiley &
Sons, Ltd, 2005.
[4] Jo Stichbury, "Symbian OS Explained, Effective C++ Programming for
Smartphones", John Wiley & Sons, Ltd, 2005.
[5] Kim Topley, "J2ME in a Nutshell", Edition March 2002, O'Reilly.
[6] S60 3rd Edition SDK Supporting Feature Pack 1, for MIDP, User's Guide
[7] Sing Li and Jonathan Knudsen, "Beginning J2ME: From Novice to Professional",
Third Edition, 2005.
[8] Vartan Piroumian, "Wireless J2ME platform programming, Prentice Hall, Sun
microsystem, 2002.
[9] UMA kineto White Paper, "The Dual-Mode Handset Opportunity", Kineto Wireless,
Inc, 2007.
[10] Sanjeev Kumar Jha, Pankaj Kumar and Dr. A.K.D.Dwivedi, “An Experimental
Analysis of MYSQL Database Server Reliability”, International Journal of Computer
Engineering & Technology (IJCET), Volume 3, Issue 2, 2012, pp. 354 - 371,
ISSN Print: 0976 – 6367, ISSN Online: 0976 – 6375.
[11] Neelunihalani, Dr. Mahesh Motwani and Dr. Sanjay Silakari, ““Intelligent Query
Converter”: A Domain Independent Interface for Conversion of Natural Language
Queries in English to SQL”, International Journal of Computer Engineering
& Technology (IJCET), Volume 4, Issue 2, 2013, pp. 379 - 385, ISSN Print:
0976 – 6367, ISSN Online: 0976 – 6375.
[12] Prof. P.L.Ramteke and Dr.D.N.Chaudhari, “Eclipse & Java Based Modeling
Platforms for Smart Phone”, International Journal of Computer Engineering
& Technology (IJCET), Volume 4, Issue 2, 2013, pp. 260 - 266, ISSN Print:
0976 – 6367, ISSN Online: 0976 – 6375.
[13] Santosh Kumar Pani, Priya Arundhati and Mahamaya Mohanty, “An Effective
Methodology for Slicing C++ Programs”, International Journal of Computer
Engineering & Technology (IJCET), Volume 1, Issue 1, 2010, pp. 57 - 71,
ISSN Print: 0976 – 6367, ISSN Online: 0976 – 6375.