from mainframe to cloud computing: a study of programming paradigms with the evolution of...

Upload: journal-of-computing

Post on 15-Apr-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/3/2019 From Mainframe to Cloud Computing: A Study of Programming Paradigms with the Evolution of Client-Server Archit

    1/7

    From Mainframe to Cloud Computing: A Study ofProgramming Paradigms with the Evolution of Client-Server ArchitectureDost Muhammad Khan1, Nawaz Mohamudally2

    1Assistant Professor, Department of Computer Science & IT, The Islamia University of Bahawalpur, Pakistan & PhD student,

    School of Innovative Technologies & Engineering, University of Technology, Mauritius

    2Associate Professor & Consultancy & Technology Transfer Centre, Manager, University of Technology, Mauritius (UTM)

    Abstract

    The rapid growth of distributed computing architectures createsnew approaches and opportunities for the software engineers todevelop new programming and structured information processingwithin an organization. New computing architectures provide the

    technologies that enable organizations to reengineer theirbusiness processes and the dominant of these new architecturesfor information processing is client-server architectures. Theclient-server systems have evolved in conjunction with advances

    in desk-top computing, new storage technologies, improvednetwork communications, and enhanced database technology.New development in client-server is allowing developing on-linebusiness systems with all the possible implementations that was

    dream of a few years ago. The wide spread of networks, and inparticular, of networks connected to each other, as the Internet,has imposed new needs that required new paradigms and new

    technologies. There are several network technologies availablewhich support user-level communication between processing ashared-memory. The client-server architectures are commonly

    used in distributed environment due to optimization, modularly,no wastage of resources, reliability, availability and providesgraphical user interface aid. This paper presents a study of theprogramming paradigms with the evolution of client-server

    architecture from mainframe to cloud computing.

    Keywords:Agent-Oriented Programming, Object-OrientedProgramming, Lightweight Programming

    1. Introduction

    Client-Server architecture is an environment that satisfies

    the business needs by appropriately allocating the

    application processing between the client and the server

    processors. The client requests services from the server;

    the server processes the request and returns the result to

    the client [1][2][3][4][5]. Figure 1 depicts typical client-server architecture.

    Fig. 1 A Client-Server Architecture

    One of the primary advantages of client-server model is

    that as data storage needs grow without affecting clients

    the way data is stored can be changed. The middle layer of

    system is commonly referred to as the application server

    can thus concentrate on centralizing business rule

    processing. The client-server model is based on the idea

    that one computer specializing in information presentation

    displays the data stored and processed on a remote

    machine. The client-server environment demands

    graphical user interface and network communications. A

    multi-user application is a slight variation on the typical

    client-server application. The only difference is thatinformation passes from one client through the server to

    other clients. On a typical client-server application,

    information flows only from the client to the server and

    then back. In an ideal environment, the server side of the

    application handles all common processing and the client

    side handles user-specific processing [3]. Strengths and

    weaknesses of client-server architecture are discussed in

    table 1.

    JOURNAL OF COMPUTING, VOLUME 3, ISSUE 12, DECEMBER 2011, ISSN 2151-9617

    https://sites.google.com/site/journalofcomputing

    WW.JOURNALOFCOMPUTING.ORG 21

  • 8/3/2019 From Mainframe to Cloud Computing: A Study of Programming Paradigms with the Evolution of Client-Server Archit

    2/7

    Table 1: Strengths and Weaknesses of Client-Server

    Strengths Weaknesses

    Highly interactive Fat Client

    Graphical User Interface(GUI) aid

    High Cost

    Modularly Data interaction and business rulesmoved to client

    The software process model applied for client-server

    systems has closely resemblance with object-oriented

    approaches. The developer has to describe objects,

    database and application components. In the analysis and

    design part of client-server systems, one has to use data-

    flow, entity-relationship diagrams, structures charts and

    other notations. The testing phase has to be modified by

    examine network communication and the relationships

    between software that resides both on client and server.

    The client-server environment demands dedicated testing

    tools that exercise the graphical user interface and the

    network requirements for both client and server. The

    components namely user interaction and presentation,

    application component and database management aremajor parts of testing tools. To access many servers

    applications from a client machine, through a common

    interface, typically a browser is called a middleware,

    which exists in all client-server systems, also known as

    nervous system of client-server system. Middleware is

    comprised of software elements that exists on both client

    and server and includes elements of network operating

    system as well as specialized application software that

    supports database-specific applications, object-request

    broker (ORB) standards group technologies,

    communication management and other features that

    facilitate the client-server connection. There are different

    configurations for the distribution of software components,which are: Distribution presentation, Remote presentation,

    Distributed logic, Remote data management and

    Distributed databases. The common linking mechanisms

    used to connect the various components of the client-

    server architecture are: Pipes, Client-Server SQL

    interaction, CORBA, RMI, ORB, DEC and many more.

    These technologies allow the distribution of processing

    across multiple processors and platforms [3].

    The rest of the paper is organized as: Section 2 is an

    overview of client-server architectures, namely, Code-on

    Demand, Remote Procedure Call (RPC), Simple Network

    Management Protocol (SNMP), Mobile Intelligent Agentand Cloud Computing, section 3 is about the results and

    discussion whereas conclusion is drawn in section 4.

    2. Overview of Client-Server Architectures

    In this section we will discuss commonly used client-

    server architectures such as Code-on Demand, Remote

    Procedure Call (RPC), Simple Network Management

    Protocol (SNMP), Mobile Intelligent Agent and Cloud

    Computing.

    2.1 Code-on Demand

    The Code-on Demand paradigm allows nodes to request

    programs from other nodes. An application of this

    paradigm is the world wide web where browsers routinely

    download code from remote sites. The idea is that a host

    is only required to execute a program when it explicitly

    demands the program. The best known example of such

    functionality is that provided by the JAVA language, as

    embedded within HTML. A user with a JAVA-

    compatible browser can request HTML pages that contain

    applets. These applets are downloaded along with all

    other images, text, forms, etc. and once downloaded, are

    executed on the users machine. The destination itself

    initiates the transfer of the program code. The client

    becomes thin, where most of the application resides and

    runs on the server. It has no hard disk, it is a networkcomputer and easier to use and more reliable [6]. Figure 2

    illustrates the working of code-on demand.

    Fig. 2 Function of Code-on Demand Paradigm

    The explanation of figure 2 is that client requests to a

    server for a code, the server in response acknowledge the

    clients request but instead of transferring the code, coderesides and runs on the server.

    2.2 Remote Procedure Call (RPC)

    A remote procedure call (RPC) also known as remote

    method invocation (RMI) is a protocol that allows a

    computer program running on one host to cause code to be

    executed on another host without the programmer needing

    to explicitly code for this. RPC is an easy and popular

    paradigm for implementing the client-server model of

    distributed computing. An RPC is initiated by the client;

    sending a request message to the server, to execute a

    certain procedure using arguments supplied, in response to

    this message a result message is returned to the client. It is

    based on extending the notion of conventional or local

    procedure calling, so that the called procedure need not

    exist in the same address space as the calling procedure.

    The two processes may be on the same system, or they

    may be on different systems with a network connecting

    them. By using RPC, programmers of distributed

    applications avoid the details of the interface with the

    JOURNAL OF COMPUTING, VOLUME 3, ISSUE 12, DECEMBER 2011, ISSN 2151-9617

    https://sites.google.com/site/journalofcomputing

    WW.JOURNALOFCOMPUTING.ORG 22

  • 8/3/2019 From Mainframe to Cloud Computing: A Study of Programming Paradigms with the Evolution of Client-Server Archit

    3/7

    network [7]. The function of Remote Procedure Call

    (RPC) is illustrated in figure 3.

    Fig. 3 Function of Remote Procedure Call (RPC) Paradigm

    The explanation of figure 4 is that local procedures are

    executed on Machine A; the remote procedure is actually

    executed on Machine B. The program executing onMachine A will wait until Machine B has completed the

    operation of the remote procedure and then continue with

    its program logic. The remote procedure may have a return

    value that continuing program may use immediately.

    2.3 Simple Network Management Protocol (SNMP)

    Simple Network Management protocol is a standard for

    gathering statistical data about network traffic and the

    behavior of network components. It is an application layer

    protocol that sits above TCP/IP stack. It is a set of

    protocols for managing complex networks. It enables

    network administrators to manage network performance,find and solve network problems and plan for network

    growth. It is a request/response type of protocol,

    communicating management information between two

    types of SNMP entities, one application is called

    Manager, which issue queries to get information about

    the status, configuration and performance of external

    network devices and the second application is Agent,

    which compliant devices; store data about themselves in

    MIBs (Each agent in SNMP maintain a local database of

    information relevant to network management is known as

    the Management Information Base) and return this data to

    the SNMP requesters [8][9]. The working of SNMP is

    illustrated in figure 4.

    Fig. 4 Function of SNMP Paradigm

    The explanation of figure 4 is that the agent is software

    that enables a device to respond to manager requests toview or update MIB data and send traps reporting

    problems or significant events. It receives messages and

    sends a response back. An Agent does not have to wait for

    order to act, if a serious problem arises or a significant

    event occurs, it sends a TRAP (a message that reports a

    problem or a significant event) to the manager (software in

    a network management station that enables the station to

    send requests to view or update MIB variables, and to

    receive traps from an agent). The Manager software which

    is in the management station sends message to the Agent

    and receives a trap and responses. It uses User Data

    Protocol (UDP, a simple protocol enabling an application

    to send individual message to other applications. Deliveryis not guaranteed, and messages need not be delivered in

    the same order as they were sent) to carry its messages.

    Finally, there is one application that enables end user to

    control the manager software and view network

    information [8][9].

    2.4 Mobile Intelligent Agent

    The term Mobile Intelligent Agent is derived from two

    different disciplines, term agent is created from Artificial

    Intelligence and code mobility is defined from the

    distributed systems. An agent is an object which has

    independent thread of control and can be initiated. Every

    agent looks like an object, when an agent is implementedin its frame work, it works as an independent thread and

    can be initiated from the server for execution according to

    its execution plan. This makes an Agent different from an

    ordinary object. Mobile intelligent agents are program that

    can be dispatched from one computer and delivered to a

    remote computer for execution. They are capable of

    autonomous actions in pursuit of a specific goal.

    Autonomy in agents implies that the software agent has

    JOURNAL OF COMPUTING, VOLUME 3, ISSUE 12, DECEMBER 2011, ISSN 2151-9617

    https://sites.google.com/site/journalofcomputing

    WW.JOURNALOFCOMPUTING.ORG 23

  • 8/3/2019 From Mainframe to Cloud Computing: A Study of Programming Paradigms with the Evolution of Client-Server Archit

    4/7

    the ability to perform its tasks without supervision, or at

    least with minimum supervision, in which it will be a

    semiautonomous software agent. Its autonomy

    distinguishes it from general software programs. Mobile

    agents are capable to perform concurrency, client-server

    asynchrony, reduce network usage (bandwidth +

    frequency), installation of client-specific interfaces and

    dynamic interface upgrades. The client becomes smart,an Internet-connected device that allows the users local

    applications to interact with server-based applications

    through the use of web services. It supports work offline.

    It can be deployed and updated in real time over the

    network from a centralized server. It supports multiple

    platforms and languages because of web services. It runs

    on any device that has Internet connectivity, including

    desktop, workstations, note books, PDAs and mobile

    phones [10][11][12][13]. The basic working of a mobileagent is depicted in figure 5.

    Fig. 5 Function of Mobile Intelligent Agent

    The explanation of figure 5 is that Computer A and

    Computer B are connected via a network. In step 1 a

    mobile agent is going to be dispatched from Computer A

    towards Computer B. In the mean time Computer A will

    suspend its execution. Step 2 shows this mobile Agent is

    now on network with its state and code. In step 3 this

    mobile Agent will reach to its destination, computer B,

    which will resume its execution.

    The following are areas but not limited to where mobileintelligent agents can be applied:

    1. Distributed Computing: Mobile agents can beapplied in a network using free resources for their

    own computations.

    2. Collecting Data: A mobile agent travels aroundthe net. On each computer it processes the data

    and sends the results back to the central server.

    3. Software Distribution and Maintenance: Mobileagents could be used to distribute software in a

    network environment or to do maintenance tasks.

    4. Mobile agents and Bluetooth: Bluetooth is atechnology for short range radio communication.

    Originally, the companies Nokia and Ericsson

    came up with the idea. Bluetooth has a nominal

    range of 10 m and 100 m with increased power.

    The applications for mobile agents are myriads.

    5. Mobile agents as Pets: Mobile agents are theideal pets. Imagine something like creatures.

    What if you could have some pets wandering

    around the internet, choosing where they want to

    go, leaving you if you dont care about them or

    coming to you if you handle them nicely? People

    would buy such things wont they?

    6. Mobile agents and offline tasks: Mobile agentscould be used for offline tasks such as, an agent is

    sent out into the internet to do some task, and the

    agent performs its task while the home computer

    is offline and returns with its results. Mobileagents could be used to simulate a factory,

    machines in factory are agent driven, agents

    provide realistic data for a simulation, e.g.

    uptimes and efficiencies, and simulation results

    are used to improve real performance or to plan

    better production lines [14][15].

    2.5 Cloud Computing Paradigm

    It is a new type of distributed computing still emerging

    field in computer science. The remote machines owned by

    other company which will run everything for the user is

    called cloud computing. It will change entire computerindustry. The only thing the user has to run interface

    software of cloud computing system. There is a significant

    workload shift i.e. the users computer will not run the

    applications. It will decrease the demand of hardware and

    software. There is no limit of its applications. Everything

    can be done through cloud computing. The major

    advantage of this is the client can access his data any

    where at any time. It will reduce the need for advanced

    hardware which will bring the cost of hardware down. The

    client can take the advantage of network processing power

    if the cloud computing is using a grid at its back end. This

    is a step backward to early computers having only

    keyboard and terminal. The major issues in cloud

    computing are: Data governance: Enterprises have

    sensitive data that requires proper monitoring and

    protection, moving data into cloud enterprise will lose

    their governance on own data. Manageability, Monitoring,

    Compliance, Cross-country Data migration, Reliability,

    availability and recovery and Security and privacy: are

    major concerns and issues in cloud computing. Figure 6

    depicts the cloud computing paradigm.

    JOURNAL OF COMPUTING, VOLUME 3, ISSUE 12, DECEMBER 2011, ISSN 2151-9617

    https://sites.google.com/site/journalofcomputing

    WW.JOURNALOFCOMPUTING.ORG 24

  • 8/3/2019 From Mainframe to Cloud Computing: A Study of Programming Paradigms with the Evolution of Client-Server Archit

    5/7

    Fig. 6 Cloud Computing Paradigm

    The followings are the advantages of cloud computing

    paradigm:1. It provides small and medium businesses a

    break to access web based advance tools as aresource. By grace of cloud, technology accessis no more a prime expenditure, as it is sameas your other utility services (Electricity,Telephone) you are going to pay just for whatyou have utilized, nothing more. Thats howcloud saves cost on important businessapplications and managed by SLA.

    2. On one hand where the cloud makes bettersecurity and observation within a central dataaccess, besides, it provides usage of automatedsystem interfaces. User does not need to careabout backend engineering, maintenance andtroubleshooting of ongoing operations.

    3. The idea is flourishing every coming day withgreat success in the upcoming time, as nowoffshore services are well-liked more than everand industrialists are putting their money inthe low capable countries in term oftechnology advancement and then sending offtheir cloud computing environment worldwide.

    4. In cloud computing, customers using webapplications, access the environment andservices retained by a third party. As a result,the idea of offshore software development inleast economic IT countries is running atenormous pace as developers can access theutility worldwide, at any time from a handhelddevice, PC, or a laptop, history making.

    5. Cloud computing is a thought that is based ontransforming the stack of IT away from firmsinto the hands of cloud providers. It buttressesa culture of modernization by eradicating amajor fraction of the economic risks linkedwith bearing out archetype of new ideas[16][17[18].

    3. Results and Discussion

    In code-on demand based client-server architecture, the

    client becomes thin; which has no hard disk, a network

    computer, easier to use, reliable and it supports the

    centralized and synchronous with no autonomy network

    management. In simple network management protocol, theclient becomes fat; which has its local databases, harder to

    deploy, runs slowly and it also supports centralized

    network management. In remote procedure call, the client

    is fat; which consume heavy network bandwidth and it

    supports distributed, synchronous and less autonomous

    network management. In mobile agent based client-server

    architecture, the client becomes smart; which supports

    work offline, can be deployed and updated in real time

    over the network from a centralized server, supports

    multiple platforms and languages because of web services

    and runs on any device that has Internet connectivity,

    including desktop, workstations, note books, PDAs and

    mobile phones. The cloud computing is a new and

    emerging paradigm which although supports smart clientbut also consume heavy bandwidth, which has only the

    user interface to interact with the cloud and has no

    processing power and no storage capacity, all the data is

    processed and stored in the cloud. It supports centralized

    network, uses both synchronous and asynchronous mode

    of communications and also uses both TCP and UDP as

    transport protocols. Table 2 presents a comparison of

    client-server architectures discussed in this paper.

    CORBA and Microsofts (OLE, COM, DCOM and

    ActiveX, and many more) objects are around for years.The concept of mobile agent is over a decade old, the

    technology proves not to be perfect yet; researchers are

    now developing methods for improving the technology,

    with more standardization, better programming

    environments, as well as design patterns that allow mobile

    agents to be used in products. It is obvious that the more

    an application gets intelligence, the more it also gets

    unpredictable, dangerous and uncontrollable. The mobile

    JOURNAL OF COMPUTING, VOLUME 3, ISSUE 12, DECEMBER 2011, ISSN 2151-9617

    https://sites.google.com/site/journalofcomputing

    WW.JOURNALOFCOMPUTING.ORG 25

  • 8/3/2019 From Mainframe to Cloud Computing: A Study of Programming Paradigms with the Evolution of Client-Server Archit

    6/7

    agents in most aspects are also considered to be a new

    programming paradigm. The concept of cloud computing

    is very new, there are some privacy and security issues

    that put a stop to widespread use of cloud. The center of

    attention in cloud development is the evolving of the cloud

    from the indoors (private cloud) to outdoors (public cloud).

    Table 3 shows different programming paradigms with the

    evolution of client-server architecture.

    The first generation of programming was machine

    programming, the structural unit was called a program,

    it was an era of mainframe computers where one machine

    was connected with many users having dump terminals atthe same time i.e. it was one-to-many interface. The next

    generation was structured programming, the structural

    unit was known as subroutine, it was an era of personal

    computers where one user could connect with one

    computer at a time i.e. it was one-to-one communication.

    The succeeding next generation was object-oriented

    programming (OOP), the structural unit was identified as

    an object, it was an era of networked computers where

    many users having personal computers could connect with

    one main server at a time i.e. it was many-to-one

    interaction. The subsequent next generation was agent-

    oriented programming (AOP), the structural unit was

    known as agent, the agent has the same properties like an

    object but only differ in its autonomous, proactive,

    intelligence and mobile behavior, it is an era of the people

    where many users are interacting with many intelligent

    devices at the same time i.e. it is many-to-many

    communication. There are not many applications that use

    mobile agents, so it hard for this technology to become

    widely adopted. Most work had been around the agents

    framework instead of developing the real applications. The

    client-server architecture and paradigm is well understood

    and quite mature as a technology, but the area of

    distributed control of mobile agent systems is still the

    subject of many research efforts. An agents envisioned

    autonomous behavior, involving collaboration with other

    agents at various network locations, creates a dynamic

    environment that requires new design methodologies and

    modeling tools to properly formulate and construct agent-

    based system. The latest generation of programming is

    lightweight programming, the structural unit is called a

    lightweight program and we are in the era of the people

    where many people can interact with many intelligent

    devices at the same time i.e. it is many-to-many

    communication. The codes to add two integer numbers are

    shown as an example in table 3 in all five programming

    paradigms. These lines of code are a program in

    Assembly Language, subroutines in FORTRAN 77, a

    class in Java, an agent in Kaariboga Java based Agent

    framework and finally a lightweight program in Phobos

    framework. This shows the changes in codes one

    programming paradigms to other.

    4. Conclusion

    In this paper, we discuss five different client-server

    architectures namely code-on demand, remote procedure

    call, simple network management protocol, mobile

    intelligent agent and cloud computing, and finally draw a

    comparison of these client-server architectures and their

    corresponding programming paradigms. First three

    architectures are based on centralized network, they are

    less autonomous, synchronous and use heavy network

    bandwidth, mobile intelligent agent architecture is basedon distributed, asynchronous execution and autonomy,

    robust and fault-tolerance behaviour, works in

    heterogeneous environment, reduces network traffic and

    overcomes network latency and the cloud computing is

    based on centralized network and supports both

    synchronous and asynchronous communications. The

    increasing popularity of distributed heterogeneous network

    and the Internet has created new technologies that lead a

    system to be based on some form of mobile agent and

    cloud computing. The ever growing amount of data that

    are stored in distributed form over network of

    heterogeneous and autonomous sources poses several

    problems such as communication minimization, autonomy

    preservation, scalability and privacy protection, therefore,

    mobile intelligent agents are autonomous, capable of

    adaptive and deliberative in nature are the best choice to

    solve these problems of distributed systems. Now the trend

    that every thing will be in a cloud increases the popularity

    and usage of cloud computing. We conclude our paper that

    with the advent of new client-server architecture based

    technologies require the changes in programming

    JOURNAL OF COMPUTING, VOLUME 3, ISSUE 12, DECEMBER 2011, ISSN 2151-9617

    https://sites.google.com/site/journalofcomputing

    WW.JOURNALOFCOMPUTING.ORG 26

  • 8/3/2019 From Mainframe to Cloud Computing: A Study of Programming Paradigms with the Evolution of Client-Server Archit

    7/7

    paradigms. At the evolutionary stage of each paradigm and

    then continuing to deploy applications will reach at critical

    mass before it becomes effectively main stream but that

    day is coming.

    Acknowledgment

    The authors are thankful to The Islamia University of

    Bahawalpur, Pakistan for providing financial assistance to

    carry out this research activity under HEC project 6467/F

    II.

    References[1] Somerville, Ian., Software Engineering, 6th Edition,. ISBN:

    020139815x, 2001[2] Pressman, R.S., Software Engineering: A Practitioners

    Approach, 6/e, ISBN: 0072853182, 2005[3] Lethbridge, T.C. ,and Laganiere, R., Object-orientedSoftware Engineering: Practical Software Development using

    UML and Java 2/e, ISBN: 0077109082McGraw Hill, 2001[4] Reis, Christian Robottom, Fortes, Renata Pontin de Mattos,An Overview of the Software Engineering Process and Tools inthe Mozilla Project, Brazil 13560-970, February 8, 2002.[5] Coulouris, George., Dollimore, Jean., and Hindberg, Tim, Distributed Systems Concepts and Design Third Edition,ISBN: 0201619180, 2000.

    [6] Laul, F.C.M, Berlaramani, N., Kwan, V.W.M., Siu, P.P.L.,Wing, W.K. and Wang, C.L., Code-on-demand and code

    adaptation for mobile computing, Department of ComputerScience, The University of Hong Kong.

    [7] Darby, Chad., Griffin, John., Haan, Psacal den., Haan, Peterden., Konstantinou, A.V., Li, Sing., MacLean. Sean., Mitchell II,G. E., Peach, Joel., Wansch, Peter., and Wright, William. ,

    Beginning Java Networking, Wrox Press. ISBN: 81-7366-399-8, 2001.[8] Stallings, W., SNMP, SNMPv2 and RMON: Practical

    Network Management,Addison-Wesley 1999.

    [9] Stallings, W., SNMP and SNMPv2: The Infrastructure forNetwork Management, IEEE Communications Magazine, vol.36, n_3, p. 3743, March 1998.

    [10] Ichiro, S., Reusable Mobile Agents for Cluster Computing, National Institute of Informatics. URLhttp://www.cs.hku.hk/cluster2003/presentation/technical/4B-1.pdf, 2003[11] Lang, D.B., Mobile Agents: Environments, Technologies,

    and Applications, In Proceedings of the Third InternationalConference on the practical Application of Intelligent Agents and

    Multi-Agent Technology,11-14, The Practical ApplicationCompany. 1998.

    [12] Ichiro, S., Selection of Mobile Agents, 24th IEEE,ICDCS 2004.[13] Bigus, J. P., Constructing intelligent agents using JAVA 2nd ed, ISBN: 0-471-39601-X. 2001.[14] Gray, R., Cybenko, G., Kotz, D., and Rus, D., Mobile

    Agents: Motivations and State of the Art, Handbook of Agent

    Technology, AAAI/MIT Press,2002,URLhttp://citeseer.ist.psu.edu/context/1209666/0.[15] web site at URL: www.agentlab.de/aose.html

    Dost Muhammad Khan: M.Sc.(Computer Science) from B.Z.University, Multan, Pakistan. Currently PhD Student at SITE, UTM,Mauritius. Assistant Professor Department of Computer Science &IT, The Islamia University of Bahawalpur, Pakistan. Published 5research papers in International Conferences & Journals. Fields ofinterest are Data Mining, Intelligent Agent, and Object RelationalDatabase Management.

    [16] Y. Chee, B. Rajkumar, D. Marcos, Y. Jia, S. Anthony, V.Srikumar, P. Martin, Utility Computing on Global GridsChapter 143, Hossein Bidgoli (ed.), The Handbook of ComputerNetworks, ISBN: (978-0-471-78461-6, John Wil ey & Sons,

    New York, USA, 2007.[17] Satyanarayanan. M., Fundamental Challenges in MobileComputing, School of Computer Science, Carnegie Mellon

    University, Proceedings of the fifteenth annual ACM symposiumon Principles of distributed computing Philadelphia,Pennsylvania, United States, Pages: 1 7, ISBN:0-89791-800-2[18] Satyanarayanan. M., Pervasive Computing: Vision andChallenges, School of Computer Science, Carnegie MellonUniversity, Personal Communications, IEEE, August 2001,Volume: 8, Issue: 4 On page(s): 10-17, ISSN: 1070-9916

    JOURNAL OF COMPUTING, VOLUME 3, ISSUE 12, DECEMBER 2011, ISSN 2151-9617

    https://sites.google.com/site/journalofcomputing

    WW.JOURNALOFCOMPUTING.ORG 27