MITSUBISHI ELECTRIC ITA
HORIZON SYSTEMS
LABORATORY
TECHNOLOGY AT A GLANCE
CONCORDIA - - JAVA MOBILE AGENT
TECHNOLOGY
Q: What is Concordia?
A: Concordia is a full-featured framework for the
development and management of network-efficient mobile agent
applications which extend to any device supporting Java.
Concordia is written in Java and is portable to any platform
running Java.
A Concordia System, at its simplest, is made up of a Java
Virtual Machine (VM), a Concordia Server, and at least one mobile
agent on 1 network node. Usually, the Concordia System will
consist of multiple machines in a local or wide area network,
each of which is running Java VMs, Concordia Servers, and mobile
agents.
The Java VM can be on almost any machine; essentially, it is a
standard environment available for most platforms.
The Concordia Server is a Java program which runs in the Java
VM on machines in the network where mobile agents may need to
travel. The Concordia Server is responsible for providing all
Concordia functionality on a given machine. The Concordia Server
manages the life cycle of the agent. It provides for agent
creation and destruction, and provides an environment in which
the mobile agent executes.
The mobile agent is a Java program. The Concordia Server
manages the mobile agent, including the mobile agents code,
data, and movement. The mobile agent is a mobile component of the
Application Program.
Q: What are Concordia mobile agents?
A: Concordia mobile agents are Java Objects. Concordia
mobile agents are a powerful and fundamentally new way to program
distributed applications. Mobile Agents overcome inherent
limitations of client/server architecture. In a Concordia mobile
agent solution, the flow of control actually moves around a
network; unlike the request/response architecture of
client/server. In effect, every node is a server and the agent
(program) moves to the location where it may find the services it
needs to run at each point in its execution. For example, a
mobile agent can travel to multiple databases located at
different nodes, search the database locally at each node, and
then carry the results back to the user.
Q: What are Concordias
Components?
- The Agent Manager provides the
communications infrastructure that allows for agents to
travel. It abstracts the network interface so that agent
programmers do not need network specifics or programming
interfaces.
- The Security Manager protects resources
and ensures the security and integrity of mobile agents
and their data. Concordia security can be configured via
a graphical user interface.
- The Persistence Manager maintains the
state of mobile agents and objects in transit around the
network. It makes it possible to restart mobile agents in
the event of a server failure and restart.
- The Inter-Agent Communication Manager handles
the registration, posting and notification of events to
and from mobile agents. It provides for multicast events
(send events to multiple recipients) and is distributed
such that the sender and receiver of an event need not be
on the same machine. Also, the Inter-Agent Communication
Manager provides an infrastructure which allows the
mobile agents to collaborate (i.e. synchronize and share
data with each other).
- The Queue Manager is responsible for the
scheduling and guaranteed delivery of mobile agents
between Concordia servers. It provides for reliable
transmission in an unreliable network.
- The Directory Manager provides a name
service for applications and agents. It allows agents to
find services in the network.
- The Administration Manager provides
remote administration of Concordia. Only one
Administration Manager is required in the Concordia
System. The Administration Manager supports simultaneous,
central administration of multiple servers. The
Administration Manager has a user interface component
which is its primary means of use.
- The Agent Tool Library is the set of
development tools provided by Concordia. This includes
all Concordia APIs (Administration APIs, Lightweight
Agent Transport APIs, Service Bridge API, etc.) and agent
classes needed to develop Concordia mobile agents.
Q: What are the main features of Concordia?
A: Following are some of the features provided by Concordia.
- Concordia employs existing TCP/IP communications
services. Concordia does not impose a protocol or
distributed computing service of its own.
- Advanced management functions allows thousands of
mobile agents to run on a single workstation. Concordia
administration can start, stop, suspend, and resume
Concordia Servers; view, stop, suspend, and resume agents
at a Concordia Server; create, modify, delete users
and/or permissions; upgrade and install Concordia
Servers, monitor Concordia Server performance, and manage
the components.
- Collaboration provides a number of benefits, such
as enabling parallel operation over multiple servers or
multiple networks. Using collaboration, an application
can divide a task into subtask, the subtask can be
carried out in the most appropriate places. The results
of these sub-tasks are then assembled by the
collaboration framework. A decision is made based upon
the results, which can be used to determine destination,
action, or other appropriate behavior.
- The Service Bridge allows a developer to add
services to a Concordia Server. Service Bridges may be
managed remotely via the Concordia Administration
Manager. For example, you can provide access to an
application-specific service so the service does not need
to travel with the mobile agent . The Service Bridge also
provides a way out of the Virtual Machine to the outside
world.
- Persistence and Queuing provides for automatic
retries of agent transmission and queue storage recovery
in case of server and/or network failures. These 2
features also provides for load balancing when machines
in a network provide different response time and the
order of execution is important.
- The Itinerary specifies where a mobile agent
travels. It provides a method to allow destinations to be
added or removed either by the application, mobile agent
or the Concordia Administration.
- Service Naming is a name service for applications
and agents. In an environment where information is
dynamic (i.e. the internet), this provides an easy way to
establish a list of locations where services reside.
- The Concordia Security Structure unlike most agent
systems provides security based on the rights of the user
of the applications - not the permissions given by the
developer of the application. This provides for more
control of which files, databases, resources, etc., are
available to a specific end user. In addition , the
security system protects resources from access by
unauthorized mobile agents and protects mobile agents
from being tampered with by unauthorized users.
- The Lightweight Agent Transporter API allows the
developer to embed within a client application the
ability to receive, execute, and launch Concordia Agents.
The application can receive notifications from the
mobile agent and can directly interact with mobile agent.
- Encryption is not technically a part of the
Security Manager - - we provide you with an option:
Concordia can provide Encryption as a security measure or
the developer can plug in their own encryption scheme.
Q: How Can Concordia Benefit My Application?
A: Concordia mobile agents can be used to develop new
applications, as well as, to enhance existing applications and
frameworks. Mobile agents can support off-line processing and
disconnected operation. By using Concordia, the applications can
be developed without special knowledge of underlying network
communications. Concordia both hides the details from the
programmer and user, as well as allows the mobile agent to adapt
to its environment and administration. Concordia mobile agents
provide security and reliability without requiring the programmer
to write additional code.
Listed below is a sample of application functions and
categories that can profit from implementing Concordia mobile
agents.
- Applications that access multiple databases/sites in
dynamic environment(i.e. locations and addresses of
services/information is continually changing)
- Enabling legacy applications that need to be accessible
to mobile workers (i.e. provide inventory information or
Contact information to a mobile sales force)
- Integrate with distributed objects e.g. CORBA (i.e.
providing Business-Business interfaces for Electronic
Commerce)
- Enabling Applications to accept a query, process that
query without active interface with the user, and then
provide notification to the user when completed (i.e.
Disconnected Computing)
- Enable applications with network latency issues to
process data locally on the network and report the
results (i.e. wireless communication to client devices
with small footprints)
- To provide Cross platform operability (i.e. applications
that need to access/deliver information via a combination
of laptops, PDAs, smartphones, windows, Macs, Email,
Voicemail, Pager, or FAX)
- To monitor Network nodes and report results or take
action without continue polling (i.e. Network Monitoring
Applications)
Q: What Business Opportunities does
Concordia provide?
A: Among the many opportunities Concordia mobile agent
technology provides are the following 3 opportunities sought by
every business venture.
- Extend the lifecycle of existing applications and
products by providing new capabilities (i.e.
Internet/Intranet Access, Mobile Computing Features,
Disconnected Computing Capabilities, etc.)
- Decrease the cost of development, time to market, and
support for new applications that would be developed
using client/server architecture in the past.
- New revenue source by providing mobile agent enabled
solutions without investments in expensive and scarce
resources (i.e. developers with mobile agent experience,
non-standard development tools).
We hope this quick glance helps to position Concordia to you
clearly. If you have other questions, please contact us at (408)
523-6843.
Or, visit our website: http://www.meitca.com/HSL/Projects/Concordia/.
To obtain :
- Whitepapers, Conference Papers , Data sheet, Contact
Information
- A Free 30 Day Evaluation Kit (Available 10/30)
- License Information and Purchase Instructions (Available
10/30)
- List of Concordia Business Partners, Press Releases and
Application Scenarios (Available 10/30)

Figure 1 - A Typical Concordia System Setup

Figure 2 - Concordia Server Architecture

Figure 3 - A Concordia Agent