13
A Mobile Agent Brokering Environment for The Future Open Network Marketplace David Chieng 1 , Ivan Ho 2 , Alan Marshall 1 , and Gerard Parr 2 1 Advanced Telecommunications Systems Laboratory, School of Electrical and Electronic Engineering, Ashby Bld, Stranmillis Road, The Queen's University of Belfast, BT9 5AH Belfast, Northern Ireland, UK {d.chieng, a.marshall}@ee.qub.ac.uk 2 Telecommunication and Distributed Systems Group, School of Information and Software Engineering, University of Ulster at Coleraine, BT52 1SA Northern Ireland, UK {wk.Ho, gp.Parr}@Ulst.ac.uk Abstract. The growth of commercial activities across networks has led to the network itself becoming a competitive marketplace with a multitude of vendors, operators and customers. In such an environment, users will ‘shop around’ for the best deals in terms of network financial costs and services. Intelligent, autonomous and mobile software agents introduce an alternative approach that facilitates expertise-brokering activities on behalf of the users. In this paper we present such an agent supported brokering scenario. The scenario involves interactions between Java-based mobile agents and an interactive model of the network. The paper describes how this prototyping environment can be used to examine the impact of mobile agents for brokering network resources in the future open network marketplace. 1 Introduction Over the past few years, a diverse variety of services have been rapidly introduced into the network. These have allowed a tremendous growth of trading activities across the networks. For example, in 1997, the global E-Commerce market was estimated at $10bn and this is predicted to rise to $200-300bn, by 2002. Additionally, over the same period, the global multimedia market will quadruple, from $150bn to $600bn [1]. This growth has led to the network itself becoming a competitive marketplace with a multitude of vendors, operators and customers. In this environment, users will be able to choose from a wide range of network services, which provide different bandwidth requirements and various Quality of Service (QoS), and which will operate under different pricing schemes [2]. It is anticipated that marketable resources will not be limited to end-user services. According to [3], technical and market forces are driving evolution towards the Traded Resource Service Architecture (TRSA) model whereby network resources such as bandwidth, buffer space and computational power will be traded in the same manner as existing commodities. To cope with these fast changing and complicated trading environments, users, whether buyers or sellers, need tools that facilitate expertise brokering activities such as buying or selling the

A Mobile Agent Brokering Environment for the Future Open Network Marketplace

  • Upload
    mimos

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

A Mobile Agent Broker ing Environment for TheFuture Open Network Marketplace

David Chieng1, Ivan Ho2, Alan Marshall 1, and Gerard Parr2

1 Advanced Telecommunications Systems Laboratory,School of Electrical and Electronic Engineering, Ashby Bld, Stranmilli s Road,

The Queen's University of Belfast, BT9 5AH Belfast, Northern Ireland, UK{d.chieng, a.marshall}@ee.qub.ac.uk

2 Telecommunication and Distributed Systems Group,School of Information and Software Engineering,

University of Ulster at Coleraine, BT52 1SA Northern Ireland, UK{wk.Ho, gp.Parr}@Ulst.ac.uk

Abstract. The growth of commercial activities across networks has led to thenetwork itself becoming a competitive marketplace with a multi tude of vendors,operators and customers. In such an environment, users will ‘shop around’ forthe best deals in terms of network financial costs and services. Intell igent,autonomous and mobile software agents introduce an alternative approach thatfacilit ates expertise-brokering activities on behalf of the users. In this paper wepresent such an agent supported brokering scenario. The scenario involvesinteractions between Java-based mobile agents and an interactive model of thenetwork. The paper describes how this prototyping environment can be used toexamine the impact of mobile agents for brokering network resources in thefuture open network marketplace.

1 Introduction

Over the past few years, a diverse variety of services have been rapidly introducedinto the network. These have allowed a tremendous growth of trading activities acrossthe networks. For example, in 1997, the global E-Commerce market was estimated at$10bn and this is predicted to rise to $200-300bn, by 2002. Additionally, over thesame period, the global multimedia market will quadruple, from $150bn to $600bn[1].

This growth has led to the network itself becoming a competitive marketplace witha multitude of vendors, operators and customers. In this environment, users will beable to choose from a wide range of network services, which provide differentbandwidth requirements and various Quality of Service (QoS), and which will operateunder different pricing schemes [2]. It is anticipated that marketable resources will notbe limited to end-user services. According to [3], technical and market forces aredriving evolution towards the Traded Resource Service Architecture (TRSA) modelwhereby network resources such as bandwidth, buffer space and computational powerwill be traded in the same manner as existing commodities. To cope with these fastchanging and complicated trading environments, users, whether buyers or sellers,need tools that facilit ate expertise brokering activities such as buying or selli ng the

right products, at the right price, and at the right time. This paper describes the use ofintelli gent mobile agent technology as a brokering tool for the various partiesinvolved in a future network marketplace.

In this paper, the trading of resources such as network bandwidth and end-userservices is examined. Similar studies have been conducted by Gibney [4], where amarket-based approach was used to allocate network resources. Here, cost is imposedon each link and traded by software agents. Sun Microsystems Laboratories andAgorics Inc., have also demonstrated a system whereby ATM network bandwidth canbe traded in real time between a bandwidth provider and a video server, and betweenthe video server and a client, with the assistance of the bidding agents [5]. Bothstudies have demonstrated the benefits of employing software agents for the brokeringof the network resources.

Section 2 gives a brief introduction to mobile agent technology and highlights itsadvantages over traditional client/server approach. A prototyping frameworkconsisting of a multi -operator network model and a number of associated real-timeagents, has been developed, and this is described in section 3. Section 4 explains theagent components' interactions and management. A number of case studies werecarried out using this prototype system and their results are discussed in section 5.Section 6 presents the conclusions and some comments on the future directions forthis work.

2 Mobile Agent Technology

Mobile Agent technology has been widely proposed as a key technology in thecreation of an open, active, programmable and heterogeneous network environment.Many network systems employ client-server architectures which usually requiresmultiple transactions before a given task can be accomplished. This results inincreased signalli ng throughout the network which can rapidly escalate, and reducenetwork utili sation as well as increasing the operating costs. An alternative approachis to dispatch a mobile agent to a host, where the interactions can take place locally,thus reducing the level of remote interactions required. Additionally, mobile agentexecutions are independent of both their runtime environments (i.e. operatingsystems) and the transmission system they transverse.

Software agents can be delegated to complete specific tasks on their own,providing that a certain set of constraints or rules have been defined. With the abilit yto move across the network, a software agent is no longer bound to the system whereit is created and executed. When an agent starts executing in a server and tries torequest a service that is not provided by that server, the agent then saves its currentstate and process and moves itself to a particular network node which provides thatservice. Upon arrival, the agent unwraps its process and state and resumes executionthere.

The attributes of a mobile agent can be classified as follows:

Table 1. Mobile agent attributes and descriptions.

Att r ibute DescriptionAutonomous Agents can be proactive and able make autonomous

decisions, based on their environment.Communication Agents can communicate with one another.Cooperate Agents can cooperate among themselves to achieve a

task.Mobilit y The abilit y to move itself across any networks and

platforms (Java-based).

There have been numerous works that have investigated the application of MobileAgent technology to Network Management [6], [7] and [8]. Agent Technology offersan alternative solution to Network Management issues such as automatic networkdiscovery, fault detection and more efficient bandwidth utili sation. This involves theremote execution and transmission of executable code between clients and servers ina distributed network environment. Hence, it becomes unnecessary to transferintermediate data across the network.

With the exponential growth on the usage of Internet, E-Commerce is another areain which agent technology can be adopted [9]. Using agent technology, buying orselli ng for a product on-line becomes more convenient. Users can predefine theconstraints for a product or service by which the agent would buy or sell for before itis launched into the network.

In order for mobile agents to work in a heterogeneous network, a platformindependent programming language is necessary. Java has become the de factolanguage for creating mobile agents. Java offers portabilit y, automated garbagecollection and memory management required by agents. An agent environmentframework is also required for the implementation, execution and management ofagents. Several commercial agent frameworks have been developed such asObjectSpace Voyager [10], IBM Aglet [11], General Magic Odyssey [12] and MeitcaConcordia [13]. The ObjectSpaceTM voyager ORB version 3.0 has been adopted forthe implementation of our Agent prototype system solely because of the detaileddocumentation available on the framework, the abilit y to construct remote objects inthe remote host and a set of control mechanisms that offer more flexible instructionson how the agent should terminate itself. There are two types of communicationmechanism, namely Method Calli ng and ObjectSpaceTM by which the Voyager agentsinteract with each other. The former mechanism enables an agent to call methods ofanother agent. This requires that the calli ng agent knows a-priori the method interfaceof the called agent. The latter mechanism enables the voyager agent to multi -cast anevent message to other agents.

The level of intelli gence in agents can range from hard-coded procedures tosophisticated reasoning and learning capabiliti es. The specific functions andrequirements of an intelli gent agent are the prime determinant of which techniquesshould be used. The amount of intelli gence required by an agent is related to thedegree of autonomy and the mobilit y that is required. If an agent must deal with awide range of situations then it needs a broad knowledge base and a flexible inference

engine. If it is mobile, there may be a premium on having a small , compactknowledge representation and a lightweight reasoning system in terms of code size.

For a software agent to perform actions, it must perceive events occurring aroundit, and have some concept of the state of its world by using sensors. A fundamentalcomponent of perception is the abilit y to recognise and filter out the expected eventsand attend to the unexpected. A software agent must be able to gather informationabout its environment actively or passively. The former involves sending messages toother agents or systems and the latter receives a stream of event messages from thesystem, the user or other agents. For example, in the context of an Interface Agent, itmust be able to distinguish normal events (mouse movements) from significant events(double click on an action icon). In a modern GUI environment such as Windows orXwindows, the user generates a constant stream of events to the underlyingwindowing system. The agents can monitor this stream and recognise sequences ofbasic use action as signalli ng some larger scale semantic event or user action.

Once an agent has perceptively recognised that an event has occurred, the next stepis to take some action. This action could be to realise there is no action to take or itcould be to send a message to another agent to take an action. Intelli gent agents useeffectors to take actions either by sending messages to other agents or by calli ngapplication libraries or system services directly.

3 The Prototype Multi-Operators Network Model

In order to carry out research on the agent brokering system, a prototype networkmodel has been developed using the Block Oriented Network Simulator (BONeS)[15] as an agent testbed. A scenario, which involves three competing networks and asystem of associated agents, is ill ustrated in Figure 1.

Fig. 1. Prototype Network Model for Agent Brokering Environment

Client

Agents

All NABsProvide TCP/IP

Interface

CP

ManagementStation

INAB

NAB

NAB

NAB

SP

INAB

Network A

Network B

Network C

The scenario presents three individual networks owned by different operators; eachis identical in terms of the number of devices, topology and available resources.Currently each network consists of nodes connected in a mesh topology. As a meansof creating competition, all three networks offer the same access to a remote ContentProvider (CP) which provides multimedia services such as voice, data and video.Network operators A, B and C will t hen be competing to sell their network links toclients through a representative agent host, the Network Access Broker (NAB). TheService Provider (SP) acts as a single point of contact between a Client and multipleNABs, rather than the client having their own negotiating agents hoping betweenmultiple network hosts. Hence several different customers’ resource requirements canbe aggregated together in order to achieve a lower cost to the individual [Greenwood,2]. The NAB provides TCP/IP socket interfaces for software agents to communicatewith the model. There is a Management Station (MS) for each network, and thismaintains routing tables, network pricing, resource updates, other managementinformation and network statistics. The Inter Network Access Broker (INAB)serves as an intermediary between two neighbouring networks. This allowsnegotiation for access to one another’s resources. This is useful i f, for example, whenNetwork A is unable to supply the requested bandwidth asked by a SP agent. Ratherthan turning down the request and hence losing potential revenue, Network A can buysupplemental bandwidth from Network B to compensate for the shortfall[Greenwood, 2]. Background traff ic loads are supplied to the networks in order tocreate a dynamic, realistic scenario of a network system.

4 Agent Interactions and Simulator Interface

Figure 2 ill ustrates the system components and its agent interactions. Our agents areIPC (Inter Process Communication) enabled, and this allows them to interact with theNetwork Simulator using a predefined protocol. At this stage, the security issues havenot been considered as essential for demonstrating the system. However, it isanticipated that future development of the agent system will need to address theseissues.

Fig. 2. System Components and Agent Interactions

Network AccessBroker

CustomerServiceProvider

ContentProvider

Network Provider(BONeS Network

Model)

Customer Agent

Service Provider Agent

Network Access Agent

Content Provider Agent

Local Agent - Manager Interface

There are five component parties in this architecture: the Customer, ServiceProvider, Content Provider, Network Access Broker and the Network Provider,which constitute the agent system. Each component consists of its own database,agent(s) and a manager. The manager's job is to provide service for any arrivingagent, handle data transactions, storage retrieval, agent creation and task assignment.Figure 2 shows that a customer agent requests a service by moving itself to the centralservice point (Service Provider) having being launched by the Customer and interactswith the local object (Manager), which contacts its server to create an agent anddelegates tasks to it. The event diagram of general inter-agent interactions isill ustrated in figure 3.

Fig. 3. Event Diagram for General Inter-Agent Interactions

The Network Access Broker and Content Provider serve as the selli ng partieswhereas the Service Provider agent acts as a customer representative for buyingnetwork resources and services.

Fig. 4. Agent Model

CustomerManager

ServiceProviderAgent

creates agent,assigns tasksand sends it

NetworkAccessAgent

ContentProviderManager

ContentProviderAgent

requestsservice on

behalf of user

completedrequest,

returns home

ServiceProviderManager

CustomerAgent

NetworkAccess

Manager

Mobile Agent Static Agent

creates agent,assigns tasksand sends it requests

service ornegotiates

informsCustomer &

ServiceProvider ofthe result

requests service ornegotiate

informs Customer & ServiceProvider of the result

creates agent,assigns tasks if requested

creates agent,assigns tasks if requested

Security

Kernel

Task List

Communication Negotiation

♦ Vector getMovieList();♦ void informCustomer();♦ boolean getConnection(double bandwidth,

String destinationNode);

♦ boolean quoteConnectionCost(doublecustomerOffer, double[] otherNetworkCost);

♦ ASPManagerI obtainASPManagerID();♦ VSPManagerI obtainVSPManagerID();♦ NABManagerI obtainNABManagerID();♦ CustomerI obtainCustomerID();

An agent must follow its task list in order to fulfil the assignment given by itsmanager as shown in figure 4. This list contains a set of operations that need to becarried out and the locations to be visited. An agent can alter the route plan dependingon the surrounding environment. The kernel of the agent contains its agent ID andlocal memory for operational and task related processes. The communicationcomponent manages all communication between the agent and external parties. Thisextends to: (i) access to host sites and (ii ) interaction with other local agents onceresident. The negotiation component is responsible for managing the bartering processbetween the agents. At this stage only a very rudimentary form of negotiation hasbeen implemented, enabling agents to request resources for a connection withbandwidth, QoS and cost requirements, directly from the local object (i.e. aNABManager). Finally, the security component has not yet been implemented butexists as a key constituent of the agent. The intention is to introduce an authenticationmechanism, whereby an agent can be assured that a potential host or neighbour agentis non-malicious and vice-versa.

5 Case Studies

A case study framework that demonstrates the usage of mobile agents is presented inthis section.

5.1 Par t A – Hunting for the Best Deal (e.g. Movie and Network Connection)

We start with a user who wishes to download a movie list from a remote videoprovider site, Video Service Provider (VSPServer) into his/her PC. A GUI is providedto specify preferences and is shown in figure 5.

Fig. 5. Screenshot of Customer GUI

As ill ustrated in figure 6, the user's agent (CAgent) is launched into the network andarrives at the central service point, Access Service Provider (ASPServer) and contactsthe local object (ASPManager) for movie list retrieval. After finishing the request,the CAgent returns to the Customer and waits for notification from ASPAgentlaunched by the ASPManager, the communication channel between the customer andASPServer is closed during the waiting period. It processes the request and sends anagent (ASPAgent) to the VSPServer to contact the local object (VSPManager). Therequest is passed to the VSPManager that stores/processes the request and hands overthe movie list to the ASPAgent. Before notifying the customer that the movie list hasbeen retrieved, it returns to the ASPServer to store the information and data.

Fig. 6. Getting Movie List

To get a network connection, a user’s mobile agent that contains a set ofpredefined criteria e.g. maximum afforded per view price and video quality is injectedinto the network. Upon arriving in the ASPServer as illustrated in Figure 7, the agentcontacts the local object, the ASPManager for a service request. The request is thenprocessed, stored and tasks are then delegated to an agent to query/negotiate theexternal entities (NABManager) which is resided in the remote host for that particularservice. The ASPAgent visits all the NABServer (A, B and C) to get the respectivequotations for the connection price according to its route plan. The inter-agentnegotiation processes are shown in figure 8 and are recorded into the agent’s virtualbase. The agent will return to the customer when the best deal is found. Currently, thepredefined criteria for service request, e.g. the network connection, are embedded inthe agent.

ASPServer

ASPManager

VSPServer

VSPManager

ASPAgent3-Asks VSP Manager for a movie list.4-Recevies movie list from Manager.5-Returns to ASPServer & store data.

Customer

0

CManager ASPAgent6-Gives the CManager the movie list.7-Returns to ASPServer.8-Waits for instruction.

CAgent1-Asks AManager for a movie list.2-Returns to Client & waits for ASPAgent to bring back the result

Injects ASPAgent

VSPAgent- Tells AManager a new movie is added.- Returns to VSPServer Waits for instruction

Injects ASPAgent

Injects CAgent

Process request & responseProcess request &

response

Fig. 7. Getting Network Connection

Fig. 8. Agents Interaction GUI

5.2 Part B - The Impact of Pr icing Strategy on Network Loads

In part B, we present an associated scenario where the three network operatorscompete to sell their bandwidth by constantly changing their prices. This has animpact on their network loads. The specifications for this scenario are:• Users request for video services such as MPEG2 video stream from the VSP

through ASP.• For preliminary studies, 10 units of f ixed bandwidth (BW Unit) were allocated for

each connection. 1 BW Unit can be abstractly defined as 1kbps, 100kbps or 1Mbps.In this case, 1 BW Unit can be considered as 100kbps.

ASPServer

ASPManagerNAB

ServerNABManager

ASPAgent

3-Ask Manager for network connection.4-Negotiate connection cost.5-If deal is done then return to ASPServer &store data.

Customer

0

CManager6-Inform Cmanager of result.7-Returns to ASPServer.8-Waits for instruction.

CAgent1-Ask AManager fornetwork connection2-Returns to Client &waits for ASPAgent tobring back the result

Process request &response

Injects ASPAgent

NABAgentTells ASPManagernetwork changes.Returns to NABServerWaits for instruction

Injects ASPAgent

Injects CAgent

Process request & response

Injects NABAgent

ASPAgent

• Since the maximum BW capacity per link is allocated as 100 units (10Mbps),therefore the maximum number of active connections at one time is 10.

• The VSP provides all kind of video services such as MTV, News, Documentaries,Movies etc. Hence the duration for each connection is randomly set between 5minsto 180mins.

• Users’ requests arrival rate for video services are according to a Poissondistr ibution and has an average of 7 requests per hour .

• The users will choose the cheapest network as the only preference at this stage. Inthe future scenarios, QoS selections and negotiations will be considered.

• The simulation is run for 2000 minutes or 33.33 hours (simulation time).

Figure 9 shows the changes in price and the corresponding number of connections(i.e. network loads) for each network operator, over the period of time.

Fig. 9. No. of Active Connections Per Network at One Time.

The initial costs for all the networks are shown in time interval T0. The changes inprice take place at the beginning of time intervals T1, T2 and T3 as displayed on the topof the graph. During time interval T0, Network A dominates the connection counts asshown because it is offering the cheapest connections. At T0 ≅ 200mins, Network Bbegins to get connections due to network reaching link saturation. Towards T0 +500,Network B begins to win custom through price reduction. This pattern continues witheach network winning connections and revenue from one another through acombination of price reduction and competitor link saturation [Greenwood, 2]. Fromthis rather straightforward pricing strategy, a question arises as to how many moreprice reductions can each network afford in order to constantly win/maintain

0.000

0.010

0.020

0.030

T0 T1 T2 T3

£

Net A Cost Net B Cost Net C Cost

customers. A consensus is therefore necessary regarding profit margin, pricing policy,etc. Furthermore, winning too many customers at one time will cause networkcongestion and consequently lose potential future customers due to link congestionand QoS degradation. Figure 10 shows the breakdown of revenue generated by eachnetwork.

Fig. 10. Revenue Generated at Time Intervals

Figure 10 shows the importance of setting the right price at the right time. Beingthe most expensive will result in losing all the customers. By contrast, offering thecheapest connection will l ead to network congestion and a drop off in profit. In thissimulation, users only pay at the end of the session. The calculation for revenue perconnection is based on:

Revenue = Cost/BW Unit * BW Used * No. of L inks * Session Length (mins)

6 Conclusions and Future Work

In this paper we have discussed how mobile agent technology can facilit ate brokeringactivities for network resources and services in the future open network marketplace.A prototyping framework, which consists of a multi -operator network model and anumber of associated real-time agents, has been developed to enable analysis. Theresults show that the use of mobile agents introduces a much greater dynamic to theprovision of network services. It is clearly seen that mobile agents have taken overmost transactions and negotiation tasks, and therefore increase the speed of decisionmaking according to user preferences. Furthermore this dynamic is accentuated by theincreased competition (on a per service basis, rather than on per day or per week)which can be introduced into the market by agents representing new or aggressivenetwork operators.

Revenue Generated

0

100

200

300

400

500

600

700

0-500 500-1000 1000-1500 1500-2000 Total

Time(Mins)

£Network A

Network B

Network C

The interactions between a customer’s agent and the static object in the remotehosts relies heavily on the usage of the “future call back” method which isdocumented on the Voyager ORB version 3.0’s user guide [10]. Each agent has a setof tasks, and each task can be performed at the server, which provides a local objectto interact with the mobile agent. The communication link between the NetworkAccess Brokers and the network model is based on socket processing which is theonly method to maintain the communication channel. In our current system, the ‘ rule-based approach’ is applied to enable the agents to negotiate.

Further developments are proposed for this framework. For the agent system, thecommunication between agents limits the syntax and semantic representation for areal negotiation to take place. In order to overcome this limitation, KQML [16] willbe implemented to enable a realistic bargaining between agents. Security is anotherconcern for the agent system; it prevents any hostile agent from violating anotheragent’s privacy. This introduces the implementation of a common place for all theagents to perform trading (i.e. a “virtual network marketplace”). Also, some forms offederation policy can be adopted to enable fair-trading between agents.

The simulation will be enhanced to offer alternative paths through the networkwhen congestion occurs. At the user level, service attributes such as QoS for movieviewing can be categorised in terms of Gold, Silver and Bronze. These may beprovided as value added services in our future model.

Acknowledgement

Funding from Fujitsu Telecommunications Europe Ltd. is acknowledged. Input fromDr Colin South and Dr Dominic Greenwood is also appreciated.

References

1. Foreword, Ian Morphett, Managing Director, BTUK, Products and Services, BTTechnology Journal, Vol. 17 No.3, July 1999.

2. C. Philips and P. Kirby, 'ATM and the future of telecommunication networking',Electronics & Communication Engineering Journal, June 1999, pp.108-124.

3. D. Greenwood, D. Chieng, A. Marshall , I. Ho, G. Parr, 'Brokering Marketable NetworkResouces Using Autonomous Agents', Submitted to World TelecommunicationsCongress/International Switching Symposium (WTC/ISS2000) conference, Birmingham,U.K., May 2000.

4. M.A.Gibney, N.R.Jennings, N.J. Vriend and J.M.Griff iths, 'Market-Based Call Routing inTelecommunications Networks using Adaptive Pricing and Real Bidding', IATA'99,Stockholm, Sweden, 1999.

5. Mark S. Mill er, David Krieger, Norman Hardy, Chris Hibbert, E. Dean Tribble, 'Chapter 5:An Automated Auction in ATM Network Bandwidth', Market-Based Control: A Paradigmfor Distributed Resource Allocation, Edited by S.H. Clearwater, World ScientificPublishing Hardcover, 1994, pp. 96-125.

6. R.G Davision, J Hardwick and M.Coz, 'Applying the agent paradigm to networkmanagement', BT technology Journal, Vol 16 No 3, July 1998, pp. 86-93.

7. D.Gavalas, M Ghanbari, D.Greenwood, M.O’Mahony, ‘A Hybrid Centralised DistributedNetwork Management Architecture’ .

8. Andrzej Bieszczad, Bernard Pagurek, Tony White, ‘Mobile Agents for NetworkManagement’ , IEEE Communications Survey magazine, Sept 1998.

9. http://agents.www.media.mit/edu/groups/agents/projects/10. http://www.objectspace.com/voyager11. http://www.trl.ibm.com/aglets12. http://www.generalmagic.com/technology/odyssey.html13. http://www.meitca.com/HSL/Projects/Concordia/14. http://www.infc.ulst.ac.uk/~phhwk/publication/IZS2000.htm15. BONeS DESIGNERâ Ver 4.01, Alta GroupTM of Cadence Design Systems, Inc.16. T.Finin, "Specification of the KQML as an Agent Communication Language",

http://www.cs.umbc.edu/lait/papers/kqmlspec.ps