This research work employs two nomadic agent systems, Aglets and JADE, in coding, reassigning and decoding files from one host to another while comparing their public presentation. Quantitative analysis of the consequences of the public presentations is presented. The two nomadic agent systems are closely related in public presentation with JADE giving a somewhat better public presentation. Integrity cheques were conducted on the files after transportation with both nomadic agent systems retaining the same file sizes after transportation.
A nomadic agent has the alone ability to transport or migrate itself from one system in a web to another in the same web. This ability allows it to travel to a system incorporating an object with which it wants to interact and so to take advantage of being in the same host or web as the object ( Lange and Oshima, 1998 ) . Mobile agents are plans that migrate in a web in order to optimise their ingestion of resources, such as web bandwidth.
Mobile agents offer many benefits that have been supported by quantitative and qualitative appraisals. These benefits harmonizing to Chess et Al ( 1997 ) are based on the capableness of nomadic agents to work out the client-server web bandwidth job, cut down plan design hazard and work out jobs created by intermittent or undependable web connexions. The identified benefits of nomadic agents harmonizing to Lange and Oshima ( 1999 ) include web burden decrease by treating informations locally, they overcome web latency, they execute asynchronously and autonomously, they adapt dynamically, and they are robust and fault-tolerant. Mobile agents ‘ ability to respond dynamically to unfavourable state of affairss and events makes it easier to construct robust and fault-tolerant distributed systems. Mobile agent systems provide the executing environment for nomadic agents ( Chess et al, 1997 ) . Several nomadic agent systems have been developed in the class of research and these can be found at Gulyas et Al ( 2000 ) , Gray et Al ( 2001 ) and Mobile Agent List ( 2004 ) . Harmonizing to Versteeg ( 1997 ) any linguistic communication can be used to implement nomadic agents provided the linguistic communication is supported by an executing environment on the host. There are besides many general intent linguistic communications extended with a particular library that can be used to compose nomadic agents such as Tcl, C, C++ , Perl 5 and Python. Java, though non specifically designed for composing nomadic agents, has been adopted because of its high portability and valuable features. It has been used to implement nomadic agent systems such as Aglets and JADE.
Aglets are Java objects that can travel from one host on a web to another taking along its plan codification and its informations as it moves. The Aglet Software Development Kit ( ASDK ) was developed by IBM ‘s Tokyo Research Labs, and was one of the first and most publicized Java based nomadic agent models released ( Lange & A ; Oshima, 1998 ) . An aiglet, is a nomadic agent, dwelling of two parts, the nucleus and placeholder. The nucleus contains all of the aiglet ‘s internal informations and logic. It has interfaces through which the aiglet communicates with its environment. The proxy Acts of the Apostless as a shield against any effort to straight entree any of the aiglet ‘s internal informations or logic. A context is a stationary workplace that provides a unvarying executing environment where the host system is secured against malicious aiglets.
The Aglet Application Programming Interface ( API ) is used to make and run aiglets. It contains methods for initialising an aiglet, message handling and dispatching, abjuring, deactivating/activating, cloning and disposing of the aiglet. The Aglet category is the cardinal category in the Aglet API. This is the abstract category that the aiglet developer uses as a base category to make customized aiglets. The aiglet category defines methods for commanding its ain life rhythm, viz. , methods for cloning, despatching, deactivating and disposing itself. It besides defines methods that are supposed to be overridden in its subclasses by the aiglet coder and provides the necessary “ maulerss ” to custom-make the behavior of the aiglet.
JADE is the middleware developed by TILAB for the development of distributed multi-agent applications based on the peer-to-peer communicating architecture ( Bellifemine et al, 2001 ) . JADE is an acronym for Java Agent Development Framework. JADE is to the full developed in Java and is based on the undermentioned rules: interoperability, uniformity and portability, easy to utilize and the pay-as-you-go doctrine.
JADE includes both the libraries ( i.e. the Java categories ) required to develop application agents and the run-time environment that provides the basic services and that must be active on the device before agents can be executed. Each case of the JADE run-time is called container ( since it “ contains ” agents ) . The set of all containers is called platform and provides a homogenous bed that hides to agents ( and to application developers besides ) the complexness and the diverseness of the implicit in tyres ( hardware, runing systems, types of web, JVM ) . JADE is highly various and hence, non merely does it suit the restraints of environments with limited resources, but it has already been integrated into complex architectures such as.NET or J2EE where JADE becomes a service to put to death multi-party proactive applications ( XXXXXXXXXX, ) .
JADE is able to provides the basic services necessary for distributed peer-to- equal applications in the fixed and nomadic environment because it allows each agent to dynamically detect other agents and to pass on with them harmonizing to the peer-to-peer paradigm. JADE provides a set of skeletons of typical interaction forms to execute specific undertakings, such as dialogues, auctions and undertaking deputation. By utilizing these skeletons ( implemented as Java abstract categories ) , coders can acquire rid of the load of covering with synchronism issues, timeouts, mistake conditions and, in general, all those facets that are non purely related to the application logic
Cryptanalysis is necessary when pass oning over any untrusted medium, which includes merely about any web, peculiarly the Internet. Within the context of any application-to-application communicating, there are some specific security demands, including: Authentication, Privacy/confidentiality, Integrity, and Non-repudiation. There are, in general, three types of cryptanalytic strategies typically used to carry through these ends: secret key ( or symmetric ) cryptanalysis, public-key ( or asymmetric ) cryptanalysis, and hash maps. In all instances, the plaintext is encrypted into cypher text, which will in bend be decrypted into useable plaintext ( Kessler, 1998 ) . In secret key or symmetric encoding a individual key for both encoding and decoding is used. In public-key cryptanalysis, two keys, public key for encoding and private key for decoding are used. Hash maps, use no key, alternatively a fixed-length hash value is computed based upon the plaintext that makes it impossible for either the contents or length of the plaintext to be recovered. In this work, a secret key is used.
This paper simulates and evaluates the public presentation of two nomadic agents systems, Aglets and JADE, during encrypted file retrieval from hosts utilizing encoding and decoding clip, clip to direct and register unity as parametric quantities.
DEVELOPMENT OF PERFORMANCE EVALUATION ENVIRONMENT
This subdivision presents the Java bundle for the nomadic agent based file retrieval plan. A bundle contains a aggregation of normally related categories offering specific maps. The constituents of the bundle, categories, are shown in Figure1. The categories in the bundle with their several methods that perform the maps of the categories are:
HostContainer: A container “ contains ” agents. This is the chief category that hosts the nomadic agent for Aglet and JADE with different containers for each nomadic agent system. The methods in this category are:
private nothingness initComponents
public nothingness windowClosed
public nothingness windowClosing
public nothingness keyPressed
public nothingness keyReleased
private nothingness closeSocket
private nothingness changeIP
private nothingness configIPDialog
SelectFile: This category handles encoding and the hunt for the file through JADE. It besides attaches and exports the file via the agent. The methods are:
public File locatefile
public nothingness encryptAndProcessStream
public File getDirectory
AgletClient: This category handles encoding including exporting the key and file transportation through Aglet. The methods include:
public nothingness exportKey
public nothingness tally
public nothingness exportFile
SearchAglet: This category handles the file hunt for Aglets. The methods are:
public nothingness onCreation
public boolean handleMessage
public nothingness testFile
public void study
public String getIdentity
RecieverAgent: This category handles the reception of the agent on the mark system.
DecrypterAgent: This category handles the decoding of the file after transportation.
ResultsTableControls: This category handles consequences. Properties such as whether or non the values can be edited and informations type of the values are set here. The methods in this category are:
public boolean isCellEditable
public Class getColumnClass
Figure 1: Class Diagram of the Package
A user friendly interface designed for the nomadic agent systems has two major categories, ServerPlatform and ClientAgent. Figure 2 illustrates the relationships.
Contentss Tab & A ;
Figure 2: Interface design
SeverPlatform: This category handles the interface on the server side of the application. The ResultsTableRep handles the two checks ( Contents Tab and Results Tab ) on the waiter interface. The contents Tab shows where the decrypted file was stored on the waiter system while the Results Tab show the sum of clip it takes to code, decrypt and reassign the file. This category besides synchronizes clip on both platforms
ClientAgent: This category loads a new Client panel signifier. This interface besides handles the connexion scenes. That is, come ining the IP reference and Port figure of the waiter system. It besides has extra maps such as low-level formatting of encoding engine and making the trial files. The methods below perform the maps:
private nothingness createTestFiles
private nothingness selectSearchDirectory
private nothingness connectServer
private nothingness InitEncryptEngine
private nothingness EncryptStream
The application was run on a equal to peer web. The agents are migrated from the client with necessary cryptanalytic key to the system that runs the waiter. The cryptanalytic key was generated indiscriminately and transferred to the executing environment. Both parties in communicating had to be cognizant of the being of this key in order to successfully code and decode informations. The encoding criterion used was 64-bit DES. Ten dummy files, runing from 100KB to 1MB, were created to prove the application on the client system. A alone port figure, 2007, was chosen for the burden of categories and mobility of agents because Numberss below 1024 might already be running system plans.
The versions of Aglets and JADE used are 2.0.2 and 3.4.1 severally. Developing a platform to accurately to prove two different agent platforms was disputing therefore the a intercrossed agent platform was developed that successfully allows the codification and categories of both JADE and Aglets to run while giving existent clip public presentation informations about both agent systems. The graphical user interface ( GUI ) of the application was designed utilizing Java Swing architecture.
RESULTS AND DISCUSSION
The execution starts by running the ServerPlatform on System 1 ( figure 3 ) where all necessary agents are migrated. Figure 4 shows the connexion scenes on client Side where the host IP reference is entered. If decently configured, the ServerPlatform will bespeak that it has accepted connexion on the port.
Figure 3: Figure demoing port constellation of ServerPlatform
Figure 4: Figure demoing Connection Settings on ClientSide
On the client side the file name ( instance medium ) and extension is entered in the textbox as seen in figure 5 and the processed through the “ Process file ” button. The consequences can be viewed on the waiter on the Results TAB and are shown in Fig 6. The Results TAB displays a comparing between Aglets and JADE. All values are in msecs and the file size is measured in bytes.
Observations from the consequences indicate that JADE by and large gives better public presentation than Aglets in all trial instances although the consequences were really close and that as the file size additions, the clip taken to code, decrypt and reassign the file additions.
The consequences can be viewed on the waiter through the Results check. The Results check displays a comparing between Aglets and JADE. All values are in msecs and the file size is measured in bytes. Figure 2 below shows that there is a clip difference of about 5ms between Aglets and JADE when coding the file with the latter giving a shorter turnaround clip. In footings of decoding, the clip spread is besides approximately 5 MSs with JADE still giving a better public presentation. From Figure 2, it can be observed that the clip to direct ( TTS ) besides has a difference of 5ms with JADE presenting before Aglets.
Figure 6: Consequence for 100KB of file transportation
The consequences from running several trials were collated into three different tabular arraies. Table 1 is a comparing of Aglet and JADE in footings of the clip it takes to code each file from 100KB – 1MB.
Table 1: Time comparing between Aglet and JADE during encoding
ENCRYPTION TIME ( MS )
SIZE ( KB )
Table 2: Comparison between Aglet and JADE during decoding
Decoding TIME ( MS )
SIZE ( KB )
Table 3: Comparison between Aglet and JADE during file transmittal
TIME TO SEND ( MS )
SIZE ( KB )
File Integrity and Usability
To measure the nomadic agent systems in footings of file unity, files incorporating images and picture were used. The file sizes after transportation were checked and compared with the file size before transmittal. The file sizes remained the same and were useable. A major issue nevertheless, was that the application used to open the file had to be selected. This means that the person on the waiter side has to cognize what type of file has been transferred and what application to utilize. This was applicable to register sent on both nomadic agent systems.
This work evaluates the public presentation of two nomadic agent systems, Aglet and JADE, for encrypted file transportation in a computing machine web. The nomadic agent systems were simulated utilizing Java categories and the public presentation parametric quantities selected were encryption clip, decoding clip and transportation clip. The consequences showed that the two systems are closely related in public presentation when it comes to register transportation, encoding and decoding ; hence there is no important difference in footings of the selected parametric quantities.
The little difference in clip could nevertheless be attributed to the followers: all messages sent through JADE are carried out within an envelope. This allows the encoding of the message content separate from the envelope, which constantly reduces encoding clip ; all messages exchanged by JADE comply with FIPA specification and hence include merely the information required by the conveyance bed unlike the Aglet that exchanges all informations ; JADE supports Skeletons that are implemented as abstract categories that rid coders the load of covering with synchronism issues, timeouts and mistake conditions ; and Aglet uses ATP for agent transportation and RMI for message exchange. This is non inline with FIPA ordinances, which JADE uses.
These findings may non be unconnected with the fact that Aglets is one the first Java agent platforms and the chief development ended in 1998 with the latest version 2.0.2 released in 2004 while on the contrary, JADE is actively maintained and supported with the latest version 3.4.1 in November 2006. Future work could prove the nomadic agent systems across a wider base of parametric quantities such as memory use and mistake tolerance