Home
About
Steering Committee
Research Network
Events
Human Mobility
Papers and Reports
Useful Links
Administrative
Mailing Lists
Announcements
Contact
Members Only
SC Only

 

About MiNEMA.

During the last decade it has been possible to observe impressive scientific, technological and experimental advances in the area of ad hoc networks. Although this technology is considered one of the main infrastructures for future applications, there is today the lack of appropriate middleware abstractions that adequately address the requirement of such challenging environment.

Europe had a significant role in the development and implementation of middleware abstractions for the wired infrastructure, namely those based on the Remote Procedure Call model. Indeed, the first industrial CORBA-like middleware (Common Object Request Broker Middleware), and the first implementation of the CORBA standard of the OMG (Object Management Group), namely, Orbix, came out of an European project. Orbix, and its new variants, can still be viewed as the state of the art middleware support.

The purpose of the current program is to bring together the main groups, from different communities, working on middleware for mobile environments, and to foster the definition and implementation of widely recognized middleware abstractions for new and emerging mobile applications. We would like to gather experts from programming languages, distributed systems, distributed algorithms, software engineering and networking.

The challenges of such a task are considerable, because the diversity of infrastructures and application requirements promotes the development of ad hoc, specialized middleware solutions that are hard to re-use in different contexts. The interest of this program is that it gathers research groups whose interests are close enough to promote the emergence of concrete solutions, while at the same time combining complementary expertises in the area of networks, algorithms, software engineering and application development.

 

Objectives.

The program intends to foster the definition and implementation of middleware abstractions for new and emerging applications on top of ad hoc networks. These range from so-called mobile and ubiquitous applications to peer-to-peer applications. It is felt by the subscribers of the current proposal that middleware is the critical component needed to leverage the development of a wide range of applications for the ad hoc infrastructure.

Despite their usefulness, only a limited number of applications have been designed for ad hoc networks. One of the reasons for the current scenario is that most research performed so far in the area has concentrated on communication and system level issues, such as network access, routing protocols, QoS preservation, or power consumption. While these issues are extremely important, enabling the programming of meaningful applications go first through encapsulating, through a high-level middleware layer, low-level routing and networking issues.

A fundamental challenge of middleware for ad hoc infrastructures is that the abstractions provided to the programmer must be implementable in an environment that is radically different from the fixed environment but, simultaneously, should be as close as possible to abstractions that are known, accepted and understood by most programmers. The definition of these abstraction requires the interaction of researchers with different expertises, including knowledge on ad hoc network protocols (the abstractions depend on a good characterization of the environment), distributed algorithms (to specify the relevant distributed protocols that support the abstractions), software engineering (the abstractions should be expressed using the appropriate language constructs), and applications (the abstractions must satisfy the applications requirements).

A number of paradigms, as described later, are emerging as candidates to play a significant role in ad hoc networks. The publish-subscribe paradigm is one example of a model of interaction that extends the more conventional remote procedure call (RPC) paradigm to address new types of applications. However, these abstractions by themselves do not have the breath needed to ease the development of applications. The middleware for fixed networks complements the basic remote invocation paradigm with a number of services (name services, transaction services, storage services, replication services, etc) that, in their current form, cannot be directly applied to the mobile environment. Therefore, a goal of the current programme is also to define the auxiliary services that should become first class citizens of the middleware environment for ad hoc networks.

 

Scientific background.

The main challenge of MiNEMA is to identify new paradigms, or new specializations and adaptations of known paradigms that are adequate for mobile and peer-to-peer systems. This requires a re-evaluation of solutions that have proven successful in the fixed and wired setting, which is typically characterized by good connectivity, high bandwidth connections and a rich availability of memory, processing and power resources. On the other hand, the environment targeted by MiNEMA is characterized by a huge heterogeneity of devices, scarce resources and poor or intermittent connectivity. It is expected that, in the target environment, computers will be embedded in a wide range of appliances ranging in size from door locks to vehicle controllers, and will co-operate to perform tasks on behalf of their human users ranging from automatically opening doors to routing vehicles to their intended destinations in co-operation with other vehicles' controllers.

Consider for instance the architecture of information systems in the wired setting. The heart of an information system has traditionally been the central database server. Several client processes can store and retrieve information of interest through a database server process. Such a client-server mode of interaction is typically done in a synchronous way where clients query-update the database server and resume their activities when the query-update is over, or in an asynchronous way by subscribing to the database and receiving information of interest whenever such information is published on the database. In the latter case, we talk about an active database and a publish-subscribe interaction scheme.

In a large scale environment, relying on a central database server does hardly make any sense. The database might easily turn out to be a single point of failure and a bottleneck performance. One might indeed consider implementing the database on a cluster of machines that provides acceptable performance and high availability, but this still poses the problem of accessing that cluster. A reasonable way to overcome the reachability problem is to replicate the database on several processes, and make sure that these processes are reachable to clients that potentially require the access to the information. In a mobile environment, ensuring however such a reachability is hopeless precisely because potential clients are mobile and it is not clear how to determine the adequate processes on which the database should be replicated. Therefore, one needs to consider a system where the database is everywhere, i.e., distributed in a way that it can be accessed despite the several impairments inherent to the mobile setting. We can identify a number of abstractions and mechanisms that need to be revisited in the context of MiNEMA to materialize this vision. Namely, the following issues will be addressed by the participants of the MiNEMA programme (the list is not exhaustive, as one of the aims of the projects is to identify unsolved problems and attract new participants):

  • Discovery and location services. Study mechanisms and algorithms that allow nodes to locate other nodes and relevant services. In the type of environments target by MiNEMA nodes will be interested in finding "near" server. Therefore, it is fundamental to understand which are the relevant "nearness" metrics. Discovery and location of services inside the network based on such metric.
  • Resource naming and addressing. Definition of an adequate namespace for mobile and highly dynamic environments. Namespace management must consider security and efficiency constraints. An individual (and his/her devices) can have multiple identities or roles: employee (acting on behalf of company), student (certain privileges), parent (with regard to child's devices), and private individual. The namespace must reflect these roles (also in terms of connections) and be managed in a secure and efficient way.
  • The use of location information to improve the operation of mobile applications. For instance, we can use location information to anticipate partitions and hence take preventive measures to ensure a graceful degradation of the application functionality. When disseminating information at large scale, it is of primary importance to consider locality. Participants which are ``close" should interchange information more often than "distant" ones.
  • The issue of supporting effectively group communication. This line activity will seek not only new protocols but includes also new definitions of membership, such as location-aware group membership services. We can easily imagine many cases where this would be interesting: in traffic management, for example, the area around a traffic-light could be used to define a group with cars in that vicinity becoming members of the group to receive notifications of changes to the state of the lights; in a similar way, we might want to define a group corresponding to the area around an ambulance in order to inform nearby cars to yield the right of way. This line of activity will also look for new protocols for data dissemination and message ordering.
  • Gossip-based multicast. Several gossip-based protocols have been proposed for information broadcasting (i.e., to the entire system), along with studies of their performance and reliability. Most of these protocols use intensively the network. New algorithms, more adequate to systems where the network is a scarce resource have to be designed.
  • Agreement and coordination services. Fundamental distributed agreement problems such as consensus, atomic commitment, reliable broadcast, totally ordered communication and leader election have been widely studied in the wired environment. Given their importance in the support of higher level abstractions, one needs to find similar counterparts for mobile networks. Not only new algorithms, more adequate to the characteristics of the environment have to be sought, but the definition of these services, itself has to be revisited.
  • Transactional services, weak consistency models and support for reconciliation. Serializability is the most used correctness criteria for distributed and concurrent transactions in the wired environment. Given the difficulty of enforcing this criteria in environments subject to disconnections, a myriad of weaker consistency models has been proposed during the last years. Some of these models allow participants to have divergent views of the information which can be later reconciled. It is important to identify the fundamental building blocks that will allow to support a wide range of complementary approaches.
  • Timeliness and QoS. Protocols that are able to offer predictable behaviour in the time domain, or to satisfy various qualities of service properties must be designed. Despite the challenges posed by the highly dynamic nature of the environment, protocols may exploit diversity of routes for supporting communications with real-time delay constraints such as multimedia messaging (data, voice and, possibly video).
  • Security. Security analysis of the MiNEMA environment (including the robustness to malicious attacks). Solutions for providing authentication, privacy, and robustness. Data cryptography and individuals/devices authentication are essential services that need to be provided for supporting a wide set of applications, ranging from messaging services up to complex multimedia applications and file sharing.
  • he issue of providing the adequate support for implementing messaging services in mobile environments.T Such service requires the integration of a myriad of distribution strategies for targeting messages to their destinations, while at the same time taking into account the heterogeneity of the underlying network, which may contain wired as well as wireless subnets. Additionally, the implementation of this service has to be much lighter-weight than their fixed counterparts, as it should also be able to be hosted on simple computers such as portable digital assistants.
  • Information retrieval. Mechanisms supporting efficient retrieval of the information are important middleware services for a virtual community, where each user has a set of local data that he may share with the other members of the community. Code mobility appears as an efficient solution for supporting information retrieval in an environment in which bandwidth is a scarce resource and users' mobility makes continuous communication a very complex (if not impossible) task.
  • Splitting knowledge. The interests of individual participants, as well as their identities, have to be managed in a non-centralized manner. The knowledge has to be split between participants, to increase scalability, and must nevertheless be redundant to ensure certain degree of reliability. It is important to seek strategies to disseminate information in such a way that it makes highly probable for a node to obtain the information it needs even in environments where nodes are moving and may become disconnected.
  • To apply techniques derived from complex adaptive systems. These techniques should enable the construction of robust, self-organizing and self-repairing information systems for deployment in ad-hoc, peer-to-peer and grid computing systems. The work on these aspects has ramifications with work on distributed artificial intelligence.
  • Cooperation Model. A self-organizing network must be based on the incentive to the users to collaborate. There must be a mechanism that encourages users to behave as "good citizens" by i) letting their device relay packets for the benefit of other users, ii) making their data available, and iii) providing support to the other computations. Our approach to stimulate such behaviour is founded on a credit-based cooperation model.
  • Reflection and adaptation. Reflection offers important techniques in creating middleware that is able to dynamically reconfigure itself based on environmental changes. This area seeks to create reflective middleware that best supports mobile applications within the heterogeneous and highly dynamic mobile environment.
  • Programming language constructs and conceptual framework. Development of new programming language constructs for supporting distributed, mobile, ubiquitous (pervasive) and peer-to-peer applications. Most programming languages paradigms - including procedural, functional- logic and object-oriented programming - are based on a programming model that assumes locality. During the last decades, object-oriented programming has become a dominant paradigm with languages such as Smalltalk, C++, and Java. Part of the success is that the OO paradigm is based on a conceptual framework for understanding phenomena and concepts in the real world, including conceptual means such as classification, generalization/specialization, composition/aggregation and association. This conceptual framework originated with the Simula languages in the sixties, but it does not cover distributed computing. In order to successfully discover new abstractions for distributed computing, it is important to develop associated conceptual means. A conceptual framework for distributed programming should include means for understanding notions such as publish/subscribe, gossip-based multicast, time, location and mobile agents.
  • New applications. In many cases, applications available for mobile and peer-to-peer systems are adaptations of applications previously developed for the fixed environment. The programme will also consider the study of new applications built from scratch having the MiNEMA environment in mind.
  • Integration of the results with industrial solutions.In particular, their integration into next versions of UML and CORBA. The notion of a smart component as a basic networked building block recently became popular. The characteristics emphasize the ability to cooperate in a decentralized setting. The project will take actions to intervene in standardization activities and will invite key people in this process to the open workshops.

 

Activities.
The programme includes the following planned activities:
  • Short term visit exchanges among the programme participants (PhD students).
  • Organization of a "closed" workshop for programme participants, to allow the dissemination of early research results and experiences.
  • Sponsoring of workshops and conferences in the area of MiNEMA.
  • Organization of a summer school and a winter school on the subjects covered by the programme.
  • Setting up for a comprehensive Internet research dissemination channel and publication activities.

 

Funding.

ESF scientific programmes are principally financed by the Foundation's Member Organizations on a à la carte basis. MiNEMA is supported by: Fonds zur Förderung der Wissenschaftlichen Forschung (FWF), Austria; Research Promotion Foundation, Cyprus; Statens Teknisk-Videnskabelige Forskningsrad, Denmark; Suomen Akatemia/Finlands Akademi, Finland; Deutsche Forschungsgemeinschaft (DFG), Germany; Enterprise Ireland, Ireland; Gabinete de Relações Internacionais da Ciência e do Ensino Superior (MCES), Portugal; Vetenskapsrådet, Sweden; The Swiss National Science Foundation for the promotion of scientific research, Switzerland; Engineering and Physical Sciences Research Council (EPSRC), U.K..