Digital still cameras and mobile agents: How to create a

Digital still cameras and mobile agents: How to create a
distributed service for image processing
Mirko Guarnera(1), Massimo Mancuso(1)
Antonio Puliafito(2), Massimo Villari(2)
(1): STMicroelectronics - AST Catania Lab - Digital Still Camera & Multimedia Mobile Group
e-mail: - [email protected] - [email protected]
(2): University of Messina, Department of Mathematics - Engineering Faculty
e-mail: - [email protected] - [email protected]
A BSTRACT
The new distributed multimedia applications require
more and more to manage user’s mobility. The opportunity of accessing the data at any time, from any place, and
with terminals having several processing capabilities, is
one of the most important features required. Adequate
mechanisms need therefore to be developed, in order to
manage the user’s mobility and the distributed processing of data transparently. In this scenario, we think that
an approach based on the mobile agent paradigm can be
particularly good for dealing with the described issues,
by making service provisioning highly flexible and customizable. In this context, this paper deals with the issues
of Internet photography and of the distributed processing
of digital images acquired by using a Digital Still Camera
(DSC). This project includes an architectural solution for
the distributed processing of high-quality images based
on the mobile agent communication paradigm. The prototype for a new DSC has been developed.
Keywords: Mobile agents, Digital Still Cameras, Security, Image Processing
1
I NTRODUCTION
The recent technological progress in the areas of highspeed networks, wireless systems, and low-cost multimedia workstations is enabling the development and the
diffusion of new types of distributed multimedia applications [1]. In this area, the user’s mobility is another important aspect to be considered. It introduces space and
time discontinuity for accessing the distributed system.
Adequate mechanisms need therefore to be developed, in
order to manage both the user’s temporary disconnection
from the system and his/her subsequent connection from
another client transparently. The system must therefore
be able to dynamically adapt the presentation modes of
data to the actual resources of user’s viewing and calculation, considering that they might change throughout the
time. For instance, the concept of Virtual Home Environment (VHE), which has been developed for the third generation of mobile networks (UMTS), provides the user
with the opportunity of service roaming on different networks and different access devices [2].
In this scenario, we think that an approach based on the
mobile agent paradigm can be particularly good for dealing with the described issues, by making service provi-
sioning highly flexible and customizable [3]. This would
happen in a distributed way, since the different elements
of the network become active entities in the provision of
the service, while controlling the quality of the service
provided, and in any necessary processing. As well as
the aspects related with the application features of agents,
agent systems may provide technical advantages such as
the reduction of communication costs, a reduced use of
bandwidth, the possibility of using customizable remote
interfaces, and a support for off-line computations [4].
The time and space distribution of the logic of service
adds the scalability of the system. This is a key feature,
when one wishes to provide a service on a wide area.
The distributed processing of digital images seems to
be a promising application. This is confirmed by the fact
that the demand for Digital Still Cameras (DSCs) has increased very rapidly over the last three years, being the
global market for the year 2000 from 13 to 15 million of
unit [5]. However, a DSC does not provide the user with
the same services available with the traditional photography systems. Furthermore, the management of photos
(long-term storage, post-processing, printing) requires a
PC able to connect to the Internet, in order to transfer
the images acquired through the DSC. For these reasons,
during the last few years, the market of online services
for digital photography has developed together with the
market of DSCs.
According to the specifications of the VHE [2], a direct
access - by means of a DSC - to the services described
would be interesting. The DSC connected in a wireless
mode, transfers the images to the Internet, in order to process them.
This solution is still limited, but proves how image
transmission is an essential component of wireless multimedia. The infrastructural elements included in Internet photography have been identified by Corcoran in [8]
and [9]. He shows how connectivity solutions can be
made by using a conventional PC, but also describes a
next generation of Internet connectivity through embedded Internet appliances. By using the opportunities provided by the connection to remote systems, in [7] Toi proposes to encode the image of the sensor, without doing
any processing within the DSC, but moving the phase of
processing to the Internet. However, good results can be
obtained only on low-quality images, such as the ones of
video conferences.
Starting from what has been considered so far, this
paper deals with the issue of Internet photography and
of the distributed processing of digital images acquired
by using a DSC. The prototype for a new DSC has been
developed. This DSC has no inner processing that can
be connected to the Internet in a wireless mode. Furthermore, several experiments have been made for validating
the solution proposed. The solution used makes a wide
use of the mobile agent technology. Furthermore, it is
based on strong security mechanisms, in order to protect
the user against an undesired use of his/her images, as
well as to protect the service provider with regard to
the user’s entity. This solution provides a new image
compression mode, which makes their Internet transfer
faster. The peculiarity of not having a processing within
the DSC, and the use of proprietary encoding before
sending the image, also give the opportunity of obtaining
considerable benefits in terms of power consumption
[11] and architectural complexity. The rest of this paper
is organized as follows. The reference architecture for
the distributed processing of images is described in section 2, where we show the use of mobile agents and the
modes of secure data transfer. In Section 3 we describe
the prototype implementation and the experimental
results obtained. In particular, in Section 3.1 we show
how we managed to create a prototype of wireless DSC
through the potential of PDA. In Section 3.3 we show the
new data compression mode used. Finally, in Section 4
we present the conclusions, as well as the future lines.
2
G ENERAL DESCRIPTION OF THE SYSTEM
Figure 1: Overview of the DSC connections
Unlike a conventional DSC (which processes, compresses, and then transfers images through the serial or
USB port to a PC, in order to view and process them), the
system we propose is different, since the DSC does not
perform any pre-processing, and delegates the task of image processing to the distributed service in the Internet.
As long as the new images are acquired, they are sent
to the DSC on the Internet through a wireless connection.
Some software agents, which have been appropriately developed, will access a set of distributed services, in order
to process the images according to the user’s requests.
The network (with its authentication, post-processing and
printing servers) becomes the core element of the architecture, thus enabling the user to access the service
notwithstanding the location where he/she is, the terminal
he/she uses (if necessary, the images might be transferred
through a modem), and the time. The service provided
would also be automatically adapted to the specific needs
declared within the user profile provided when subscribing the service.
The reference architecture is presented in Fig.1. The
images acquired by a low-cost DSC are transferred
through the Internet or through a wireless (GSM, GPRS,
UMTS) connection provided by a network operator, or
throug a wired connection. The service of distributed processing is created on the Internet, by using the features
made available by appropriately programmed servers.
They allow to access storage, e-mail, printing, special
effects, and Web gallery features. The communication
among the servers is based on the mobile agent communication paradigm, which provides flexibility and adaptability. The use of the services made available by the system is done after the user has been recognized. He/she
makes a service query, and therefore needs sophisticated
security mechanisms able to assure authentication and
privacy of data. According to the features of the mobile
terminal, the user will have the opportunity of sending
also other multimedia contents (as well as the single images), such as text or short audio streams. The multimedia packet obtained will be encrypted and sent to the
reception system, which will provide all the services the
user requested when he/she delivered the message.
In Fig. 2 we provide a detailed functional description
of the system. The message coming from the DSC (consisting of the image and the indication of the actions to
be made on the image) is authenticated by an authentication server. As we will clarify in Section 2.1, this starts
the phase of setup for the creation of the secure channel,
identifies the user through a query LDAP [19] sent to the
servers containing the data of the users enabled. Furthermore, the services enabled are checked, and the requests
are sorted among the agents designed for this task. The
agents search for any filter for processing the images that
can be customized by the users. The agents also process
the images, by selecting the server with the lowest computational load. They also solve any issue due to the unavailability of a server, and they meet the user’s general
needs.
These are the basic services provided:
• image storage: the images acquired are stored in secure servers.
• web gallery: the images are published in real time in
a Web page used as a photo album.
• image processing: the images are processed by using filters supplied by the service provider or developed by the user.
• printing: The images are printed on paper. Some
agreements could be stipulated with a service
provider, in order to print and deliver the photographs to the user’s home, once a given amount
of photos are taken.
• e-mail: the image is sent by e-mail, together with
any text or voice message.
• photo-CD: the images are stored on a CD.
One of the main advantages in the use of the agent
technology is that the connection of the wireless DSC to
• Check for the user’s state: one can imagine the existence of an agent able to search for users according
to specific conditions (for example, one may want
to contact the users whose credit has gone below a
specific threshold, promote new merchandising initiatives, etc.).
2.1
Figure 2: Architecture of the system
the network is not always guaranteed (unavailability of
the signal in non-covered areas): once the software agent
has been instructed, it can process the user’s request,
even if he/she can no longer be reached. The results of
this processing will therefore be visible at a second time.
The agents included within the architecture will therefore
need a minimum of intelligence, in order to communicate with other agents independently. In this sense, the
compliance with the FIPA standard is essential [6]. The
organization of the service according to the agent programming paradigm also provides the advantage of simple updated of the service. In fact, the service administrator will have the opportunity of introducing new features,
by sending new agents with advanced software, should
this become necessary.
Some of the reasons which justify the use of agent
technology are mentioned below:
• Initialization of the system: by using mobile agents,
the distribution is allowed for the code needed for
the operation of the system, together with the possibility of introducing new services and initializing
them. Furthermore, agents will be necessary for registering the new servers in the server list. Example:
a new machine is available. The agent platform is installed on it, and an agent is created. This agent migrates on all of the machine available so far, which
are thus notified about the presence of this new machine. The new server is thus initialized by means
of an agent coming directly from a main server [13].
• Code update: should a code vary, the changes would
be distributed among the agents [14]. Example: one
will just need to change the code on a machine directly, and to create an agent. By migrating from a
machine to another, the agent will distribute the new
code and install it.
• Balancing of the workload: once the user forwards
a generic request to the closest server, if it cannot
satisfy this request (for example, due to an overload [12]), it generates an agent that can migrate
and locate the most appropriate server for performing such request. This is done for optimizing the
throughput and to improve the effectiveness of the
system.
Communication & security protocol
We need to specify that the DSC does not send e-mails,
neither does it perform the other services. By means of a
client-server communication, the DSC (client) sends images and multimedia files to a server that manages the
generic user’s requests. In order to do so, the server receives other commands, containing the client’s requests.
An agent is triggered on MAP platform [16], and listens
on a port, waiting for a generic client to request for specific services. While developing the security mechanism
on which the prototype of the DSC is based, we needed
to solve the issue of avoiding to make the traffic heavier
(this specification is very binding in the wireless environment), and to equip the system with "strong" authentication and encryption mechanisms. The client-server communication protocol is very simple: first of all, a "packet"
is sent, containing an ID (32 bits) that identifies the user
(and thus the services he/she is enabled to use), and a 32bit symmetric key. This key is generated at random [20]
during each communication session, and will enable the
client to encrypt any multimedia files (even the one of the
commands), before sending them to the server. In order
to assure a secure transmission, the symmetric key (one
generated) is encrypted with the user’s private key [21].
The packet, consisting of the ID and of the encrypted
symmetric key, will be encrypted by the public key of
the server, and sent to it. The Fig. 3 shows this packet.
The server receives the packet and decrypts it by means
of its private key. The client’s ID is therefore worked out
from the packet. Now one needs to know the user’s public
key. This enables the server to decrypt the packet and to
extract the session symmetric key. This server, after being interrogated by entering the client’s ID, returns quite
the key that is being searched (if it is still valid). One of
the purposes that have been achieved is that of structuring the system in order to interact with servers distributed
in Internet according to LDAP queries. Once the client’s
identity has been verified, the authentication server opens
a session for that client on the DB. The rest of the communication between the client (digital still camera) and the
DSC system takes place by encrypting the "data" with the
symmetric key that is known by only the parties. An area
is created in the server for each new client, and a copy of
the user’s public key is saved in this area.
Figure 3: First packet with criypted data
3
E XPERIMENTAL ENVIRONMENT
In this section we will describe the main implementation decisions taken for creating the system described in
the previous section. In particular, we will focus our attention on the prototype of wireless DSC created, on the
new data compression mode used, and on the preparation
of the processing servers.
Figure 6: Web of User ID:1234 Web available at the URL
http://jada1.unime.it./˜dscnet
Figure 4: The wireless DSC prototype.
3.1
Client emulation
The client prototype has been created by using a PDA
of the new generation. This is Ipaq 3630 by Compaq
with a WinCe 3.0 operating system. It is connected to a
cam produced by STMicroelectronics, by means of a 115
Kbps RS232 channel. Figure 4 shows the prototype created. The feasibility has been assessed by using a LAN
wireless transmission system. A Wlan pcCard has been
used for the Ipaq.
A graphic interface has been created on the PDA. This
allows taking and previewing photos, enabling different
services, choosing the recipients (for sending photos by
e-mail), publishing the photos on the Web, or saving them
in one’s private area. As we can see in Figure 5, the interface created emulates the menus and submenus that
should exist in a real DSC.
during the registration to the service. The user addresses
to a service center, and obtains a SIM card with all its
services enabled, and a private key. The service center updates the LDAP server with the user’s public key
on-line. With regard to the core of the system shown
in the functional scheme of Figure 2 (and with regard to
the parts of authentication-verification and control), static
software agents have been developed, one for each functional block described. Our idea is that of creating different agents able to start different setup phases and/or different services. This technique provides some flexibility
to the system. Should a security strategy be inadequate or
should a service be obsolete, one will only need to send a
new agent with the relevant software, and kill the previous one, with no need to install the whole system again.
The same flexibility applies to the mobile agents that migrate from a server to another, and will be able to satisfy
more and more complex services, or to respond to the
users’ requests independently and simply.
The agents developed currently manage to select the
servers for image processing according to criteria of
costs. They also provide the filters selected by the user,
and perform the final phases of the service: e-mail forwarding, Web publishing, private storage, and print service. In the next paragraph our attention will be focused
on the internal architecture of the new DSC, and on a new
data compression technique in particular.
3.3
Figure 5: Graphic Interface Ipaq, user Id:180
The wireless communication between the PDA and the
network is assured by a WLAN(AC) Access Point.
3.2
Server architecture
A computer cluster has been arranged for hosting the
whole system. On some computers we used the MAP
platform. On other ones we used an LDAP server and
MySql databases, in order to assure the storage of photos.
The Web server provides the photos taken by each user in
real time. In Figure 6 we show the images taken by the
prototype, and made public by the User ID 1234.
The creation of the private area, of the Web area, and
of the public and private keys for each user take place
New DSC Architecture
A Digital Still Camera (DSC) acquires the information
from the sensor in a Color Filter Array (CFA) format,
usually Bayer Pattern [10]. To obtain a colored image we
need a Color Process that does not increase the information content of the image itself. If we want to store the
image or transmit it over a network infrastructure (wireless or wired), the resulted image is usually compressed.
So a large amount of data is processed and a large number
of operations are required. In order to generate a colored
image from a mobile terminal (such as a DSC), we have
focused on the possibility to transmit the image in an adequate format, to reduce the amount of calculation on the
mobile terminal and add to the terminal itself other multimedia capabilities. Actually there is, in a DSC, a kind
of paradox as explained in fig. 7
The data-computation-compression paradox resides in
all the operations needed to generate data required by
the Compression Standard. According to the traditional
timedia data are added and then packed in a proprietary
format. To guarantee data privacy and integrity a security system is expected (with the use of Public an Private
Keys, depending on the data to be transmitted) . At last,
an I/O interface allows to send the data on the wished
channel. The data to be transmitted can be sent on the
desired channel (Ethernet) or a wireless channel (GPRS),
so we need these interfaces in our system.
4
Figure 7: Image transmission Paradox
approach (see fig. 8a), after a Sensor Processing (PreProcessing) a large amount of data are elaborated with
high computational cost algorithms (Image Generation
Process) and the Compression Standard itself discards
some of the generated information in order to reduce
the amount of data. All This has an impact in term of
power consumption and architectural complexity. Thus,
as shown in fig. 8b, we have thought that the power
consumption could be reduced distributing the processing over the infrastructure/network and we need only a
proprietary Light Coding and Transcoding algorithm.
Figure 8: Traditional and proposed image transmission
schemes
The encoder system is designed in order to compress
directly the Bayer pattern array (sensor image) with a proprietary lossy compression scheme that not increase visible artifacts to the output JPEG image (on server side).
The Terminal System that performs these requirements is
shown in the following figure 9.
E XPERIMENTAL ASSESSMENTS
In this section we will analyze the purposes for the creation of the demos concerning the image processing by
means of distributed services. Two demos have been developed. One is a wired demo, while the second one is
wireless. The wired demo allowed to achieve these purposes:
• Testing the security mechanisms has been possible.
• Certificates complying with the X509 standard have
been created. Consequently, the LDAP server has
been remotely updated.
• The user’s area has also been remotely created, together with its Web space, private area, and the arrangement for the MySql database.
• The times for encryption-decryption and Web publishing have been checked.
• Finally, the time for performing the whole service
has been checked.
The strategies used for the management of security
have been effective. An equal compromise has been
achieved between the computational capabilities required
and the level of security guaranteed. Several successful
registrations to the service of distributed image processing have also been done, in order to emulate a real service
center, by assuring both the security in transactions, and
a simple interfacing to the system. With regard to the
execution time, a total average Ttot time of service performance of about 22 sec. Ttot is the time needed for
the complete processing and delivery of a 352x288 pixel
color image.
T tot = T a + T t + T b + T p;
Figure 9: Terminal Scheme
When a single scene is acquired, a sensor clock generator produces a clock signal which scans the sensor
producing analog values for every pixels. An analog to
digital converter produces a digital value for each pixel.
During the scan sequence, the pixels, acquired in the CFA
format, are divided in 3 single color channel subimages.
To avoid distortions due to the subsampling of the CFA
format, we perform a light color interpolation only for the
G channel. Thus, from a NxM image, we obtain 2 images
N/2 x M/2 and a NxM image. These data are stored in a
memory. Each image is then compressed using a standard coding algorithm (JPEG). To these data, other mul-
(1)
where Ta = 4 sec. Tt =7 sec. Tb = 5 sec. Tp = 6 sec. are
the average times detected during each activity.
Ta - time needed (t.n.) for the creation of service files and
image cryptography on the client side.
Tt - time needed for transferring the photo+service packet
from the laptop computer to the server, by using a 56Kbps
telephone connection. This parameter is greatly affected
by the traffic conditions of the network.
Tb - time needed for decrypting the image and the serv.
file, and forwarding them to a mobile agent.
Tp - time needed for processing the image and publishing
it in the Web.
With regard to the wireless demo, we wanted to estimate the transmission time through the wireless channel,
as well as the maximum distance that can be reached from
the base station in a wlan system. The DSC has been
connected to the Ipaq through a serial port. The GUI has
taken some photos and enabled the services. The pros and
cons of menus and submenus have been detected, and all
the necessary improvements have been done.
In Figure 10 we show the devices used in the wireless
demo. The laptop computer did not only guarantee the
Internet access with its integrated modem, but has also
guaranteed the wireless communication with the PDA,
thus acting as a DCHP gateway.
No difference has been found with the times obtained
pressor (the factor to multiplied to the Quantizer table).
This factor influences strongly the accuracy of the output
image.
Figure 11: Compression Factor vs Gain and PSNR vs
Gain estimations uncompressed
The Compression Factor (CF) was evaluated as:
CF =
Figure 10: Wireless Demo
in the first demo, during the time assessment. Actually, the wireless communication provides a high passing
bandwidth (close to 2 Mbps), even with palmtop devices.
The maximum operation range does not exceed 50m in a
closed environment with walls. In this demo we did not
use security. Consequently, the total Ttot time is lower,
since the times needed for the encryption/decryption of
images are not present. According to what we have said
so far, the use of Wlan systems is not considered appropriate for this type of applications. Conversely, the experiments made with wireless technologies have provided a
useful feedback about the validity of the architecture designed, and about the effectiveness of the distributed service.
The use of the mobile agent programming paradigm has
shown a considerable flexibility both in the phase of programming and in the phase of use of the system proposed.
At the moment, they are performing functions of information search and differentiation of services. The idea
of delegating the image processing to the agents is being considered. Sun has recently developed very effective
tools of Image Processing (IP) in Java [24].
With regard to image encoding before their transmission,
to perform a system where (by the compression of the
uninterpolated source image) the final color image has
no visible errors compared with the uncompressed color
image, we have used a Low Cost Digital Still Camera
by STMicroelectronics. The Bayer Pattern (BP) can be
firectly taken from this DSC; furthermore, its encoding
system has been totally implemented in software. With
reference to Figure 12, we have tested our system first,
without applying the Light color interpolation for G (Fig.
12b), and then applying it (Fig. 12c). These tests are
parameterized by the Gain factor (fig. 11) of the com-
Dim(BP )
(2)
Dim(Rjpeg) + Dim(Gjpeg) + Dim(Bjpeg)
The inverse of CF can be considered as the bpp(bit per
pixel). The PSNR is calculated between a picture processed before the transmission and the same picture processed after the transmission. The PSNR values are average values calculated for a Image test Database. From
fig. 11 is it clear that there is a tradeoff between accuracy
(PSNR) and compression. Notice that for PSNR grater
than 35 is difficult to find differences between the image
processed with the traditional process and the new proposed model. In the hypothesis of a desired PSNR=35,65
we obtain a CF=4. In this case if the image is in VGA
format, the Bayer Pattern is 304KB, the coloured image
should be 900KB, instead of we transmit only ˜80KB of
data.
Figure 12: Images obtained with different approaches.
5
C ONCLUSIONS
In this work we have presented an innovative solution
to the issue of Internet photography. A reference architecture, based on the use of the agent programming
paradigm, has been proposed for the creation of a secure
distributed service for processing the digital images acquired through a low-cost DSC that can be connected to
the Internet in a wireless mode. The issues that have been
dealt with during the work are typical of a Virtual Home
Environment (VHE) system where the access to the distributed information is going to be assured notwithstanding the user’s terminal, the location, and time. We think
that our solution can easily be extended to some situations that overcome the issue of Internet photography.
However, this area has seemed very interesting to us,
both for the potential number of users, and for the typically distributed nature of the issue. Due to the growing
number of terminals based on JVM Micro Edition, and
to the constant increase in the computational capabilities
they provide, one can expect that the opportunity of accessing (in a wireless mode) the processing and storage
services of distributed data in the Internet will be more
and more urgently requested by users. The security issues will therefore be a very interesting area. The same
way, we think that the potential provided by the agent
programming paradigm can be widely used in this area,
thanks to the flexibility it provides in the management of
situations related with the customization of services, the
control of the quality provided, and the increased reliability.
R EFERENCES
[1] Manufacturers pin hopes on 3G and Wireless
Internet.
IEEE Internet Computing, Vol. 4,
N. 6, pp. 12-15 November-December 2000.
http://dlib.computer.org/ic/books/ic2000/pdf/w6012.pdf
[2] The contents of 3GPP specification releases. Release 4, Services and system aspects: VHE.
http://www.3gpp.org/.
[3] David Kotz and Bob Gray, Mobile Agents and the
Future of the Internet, ACM Operating Systems Review, Vol. 33, N. 3, Aug 1999
[4] Michael N. Huhns ,Munindar P. Singh. Mobile
Agents, Agents on the Web, IEEE Internet Computing, Vol. 1, N. 3, pp. 80-82 May-June 1997.
[5] Journal of Electronic Imaging. JEI, January 2001,
http://www.spie.org/.
[6] FIPA, a non-profit organisation aimed at producing
standards for the interoperation of heterogeneous
software agents. http://www.fipa.org.
[7] Toi T., Ohta M. A subband coding technique for image compression in single ccd cameras with Bayer
color filter arrays. IEEE transaction on Consumer
Electronics, Vol. 45, N.1, February 1999
[8] Corcoran P.M., Bigioi P. Internet Enabled Digital
Photography. IEEE Transaction on Consumer Electronics, Vol. 45, N.3, August 1999
[9] Corcoran P.M., Steinberg E. Internet Connectivity
for Digital Photography. IEEE Transaction on Consumer Electronics, Vol. 46, N.3, August 2000
[10] Okada S., Matsuda Y. System on a Chip for Digital Still Camera. IEEE Transaction on Consumer
Electronics, Vol. 45, N.3, August 1999
[11] Appadwedula S., Goel M., Jones D. L., Ramachandran K. and Shanbhag N. R. Efficient wireless
image transmission under a total power constraint.
1998 IEEE Multimedia Signal Processing Workshop, Los Angeles, CA, Dec. 8-12, 1998.
[12] A. Bieszczad, T. White, and B. Pagurek. Mobile
Agents for Network Management. IEEE Communication Surveys, September 1998.
[13] V. A. Phan and A. Karmouch. Mobile Software
Agents: An Overview. IEEE Communication Magazine, Vol. 31, N. 7, pag.26-37, July 1998.
[14] D. Chess, B. Grosof, C. Harrison, D. Levine, C. Parris, and G. Tsudik. Itinerant agents for mobile computing. IEEE Personal Communications, Vol. 2, N.
5, pag.34-49, October 1995.
[15] H. de Meer, A. Puliafito, and O. Tomarchio. Management of QoS with Software Agents. Cybernetics
and Systems: An International Journal, Vol. 27, N.
5, 1998.
[16] A. Puliafito, O. Tomarchio, and L. Vita. MAP: Design and Implementation of a Mobile Agent Platform. Journal of System Architecture.
[17] International Telegraph and Telephone Consultative Committee (CCITT), Recom-mendation X.509,
The Directory - Authentication Framework, CCITT
Blue Book, Vol VIII.8, pp. 48-81, 1988.
[18] Netscape
has
a
freely
available
C
and
Java
software
developers
kit
at
http://developer.netscape.com/tech/
directory/.
The source for these kits can be found at
http://www.mozilla.org/ldap/.
[19] T. Howes and M. Smith, LDAP: Programming
Directory-Enabled Applications with Lightweight
Directory Access Protocol, Macmillan, Indianapolis, Ind., 1997.
[20] M. Ellison, B. Frantz, B. Lampson, R. Rivest,
B. M. Thomas, and T. Ylönen, SPKI Examples,
Internet-Draft draft-ietf-spki-cert-examples-01. txt,
work in progress, Internet Engineering Task Force,
March 1998.
[21] Li Gong, and R. Schemers, Implementing Protection Domains in the Java Devel-opment Kit 1.2, In
Proceedings of the 1998 Network and Distributed
System Security Symposium, San Diego, CA, March
11//13, 1998.
[22] B. Kaliski. RFC 1424: Privacy Enhancement for
Internet Electronic Mail: Part IV: Key Certification
and Related Services. February 1993.
[23] C. Adams, S. Farrell. RFC 2510: Internet X.509
Public Key Infrastructure Certificate Management
Protocols. March 1999.
[24] Java Media APIs.
http://java.sun.com/products/java-media/.