50320140501003

12
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 Ahmed 1 , Israa Akram Fadhil 2 , Ammar Jabbar Fattah 3 1 Master Computer Science in Information Technology Management, AL-IMAM AL-KADHUM COLLEGE for Islamic science (department of Diyala), IRAQ-Baghdad, 2 Master of Science in Computer Science, UNIVERSITY OF BAGHDAD / College of Arts /Unit of Media and Information, IRAQ-Baghdad 3 CEO, 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

Upload: iaeme

Post on 12-May-2015

56 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: 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

Page 2: 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

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

Page 3: 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

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]

Page 4: 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

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

Page 5: 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

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

Page 6: 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

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]

Page 7: 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

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

Page 8: 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

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

Page 9: 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

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

Page 10: 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

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

Page 11: 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

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)

Page 12: 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

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.