Published on

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide


  1. 1. 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 Fadhil2 , Ammar Jabbar Fattah3 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
  2. 2. 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
  3. 3. 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]
  4. 4. 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
  5. 5. 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
  6. 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 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]
  7. 7. 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
  8. 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 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
  9. 9. 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
  10. 10. 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
  11. 11. 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)
  12. 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 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.