Daniel Hagimont

Learn More
Java provides a serialization mechanism which allows the capture and restoration of objects’ state and therefore the migration of objects between machines. It also allows classes to be dynamically loaded and therefore to be moved between nodes. However, Java does not provide a mechanism for capturing and restoring a thread state. The stack of a Java thread(More)
Today, mobility and persistence are important aspects of distributed computing. They have many fields of use such as load balancing, fault tolerance and dynamic reconfiguration of applications. In this context, Java provides many useful mechanisms for the mobility of code via dynamic class loading, and the mobility or persistence of data via object(More)
The purpose of the Guide project is to explore the use of shared objects for communication in a distributed system, especially for applications that require cooperative work. Since 1986, two prototypes have been implemented respectively on top of Unix (Guide-1) and Mach 3.0 (Guide-2). They have been used for the development of distributed cooperative(More)
Distributed software environments are increasingly complex and difficult to manage, as they integrate various legacy software with proprietary management interfaces. Moreover, the fact that management tasks are performed by humans leads to many configuration errors and low reactivity. This paper presents Jade, a middleware for self-management of distributed(More)
This paper presents a component-based architecture for autonomous repair management in distributed systems, and a prototype implementation of this architecture, called JADE, which provides repair management for J2EE application server clusters. The JADE architecture features three major elements, which we believe to be of wide relevance for the construction(More)
This paper describes a protection scheme for mobile agents implemented on a Java environment. In this scheme, access to objects is controlled by means of software capabilities that can be exchanged between mutually suspicious agents. Each agent defines the access control rules that must be enforced when interacting with other agents. An important advantage(More)
The wide di usion of Java is partly due to its mechanisms for mobile computing. Java provides most of the functions required to implement mobile applications, essentially code mobility (i.e., dynamic class loading) and data mobility (i.e., object serialization). However, Java does not provide any mechanism for the mobility of the computation (i.e., threads(More)
The PerDiS (Persistent Distributed Store) project addresses the issue of providing support for distributed collaborative engineering applications. We describe the design and implementation of the PerDiS platform, and its support for such applications. Collaborative engineering raises systems issues related to the sharing of large volumes of ne-grain,(More)