1,721,124 research outputs found

    Adaptability in Wireless Sensor Networks

    No full text
    Adaptability is a key strategy in the design of effective wireless sensor networks. Communication schemes need to adapt to dynamic topologies and fluctuating traffic rates. Applications have to alter their behavior to respond to mutated necessities or to cope with environmental changes. The network, as a whole, has to tolerate the disappearance of faulting nodes or the appearance of additional ones. This paper discusses the role of adaptability through a set of case studies

    Performance evaluation of the barycentric server model for mobile ad-hoc networks

    No full text
    By adopting code mobility techniques, distributed applications can make better use of network resources. This makes logical mobility particularly attractive in a mobile computing scenario, where the level of network resources changes continuously. However, it is sometimes difficult to express quantitatively the benefits, and also the overhead, introduced by logical mobility. In this paper, we present the performance evaluation of a migration model where the central component of the application, the server, moves towards the physical barycenter of a network made of mobile hosts. We evaluated both application-level metrics, such as the percentage of delivered messages and communication latency, and network-level metrics, such as the number of routed messages. In many cases, logical mobility contributed to a significant improvement of the considered performance indexes

    Embedding Remote Object Mobility in Java RMI

    No full text
    Mobile code offers several capabilities such as bandwidth-efficient communication, disconnected operation, and support for dynamic and flexible systems. Nevertheless, mobile code based programming paradigms have difficulty in flowing front research activities to commercial systems. The main reason seems to be the lack of integration between the language support for mobility and a familiar programming environment. This paper addresses this issue and describes the basic functionalities of MobileRMI, a toolkit that extends Java RMI with mechanisms for creating and moving remote objects across different address spaces. A key feature of MobileRMI is the automatic updating of remote references to mobile objects, necessary to support remote method invocation even in the presence of object mobility. The extensions to Java RMI only affect the semantics of the remote reference layer while leaving both the transport layer and the bytecode generation process unchanged

    MobileRMI: upgrading Java remote method invocation towards mobility

    No full text
    Code mobility is recognized as a promising design technique, able to improve flexibility, adaptability and bandwidth utilization in mobile computing applications. To promote and facilitate its use, researchers argue that code mobility should be made available to programmers in combination with, and not as an alternative to, more traditional programming models. This paper describes the design and implementation of the MobileRMI toolkit which, unlike agent-based systems, enables mobility-based programming within a widely accepted middleware platform, Java Remote Method Invocation (RMI). Our toolkit provides a set of mobility primitives that allow programmers to create, clone and move remote objects across a network. To preserve location transparency we implemented a novel, efficient scheme for automatically updating remote references by exploiting the distributed garbage collector. Programming examples are given and a case study where an adaptive application uses logical mobility to minimize communication over a mobile ad hoc network is presented. Experience from using MobileRMI confirmed the benefit of designing both static and mobile applications within the same programming framework

    On-demand Loading of Pervasive-oriented Applications Using Mass-market Camera Phones

    No full text
    Camera phones are the first realistic platform for the development of pervasive computing applications: they are personal, ubiquitous, and the built-in camera can be used as a context-sensing equipment. Unfortunately, currently available systems for pervasive computing, emerged from both academic and industrial research, can be adopted only on a small fraction of the devices already deployed or in production in the next future. In this paper we present an extensible programming infrastructure that turns {em mass-market} phones into a platform for pervasive computing

    Internet Emulation for Java Applications through Socket Factories

    No full text
    Network emulation provides the capability of evaluating distributed applications on a stand-alone system: Applications can be exposed to adverse and repeatable network conditions without requiring complex testbeds. This paper describes the design and implementation of a portable and object-oriented network emulator targeted to the development and test of Java-based Internet applications. The emulator is based on instrumented sockets, say EmuSockets, able to emulate the behavior of links with a given bandwidth and communication delay. The emulator is organized modularly, so that it is possible to plug-in user-defined classes for bandwidth and delay figures generation. Carrying out experiments with EmuSockets is as simple as running the tested application code on a single host

    Application-level network emulation: the EmuSocket toolkit

    No full text
    EmuSocket is a portable and flexible network emulator that can easily be configured to mimic the communication characteristics, in terms of bandwidth and delay, that occur with low-performance networks. The emulator works with Java applications by intercepting and perturbing application traffic at the socket API level. As traffic shaping takes place in the user-space by means of an instrumented socket implementation, using the toolkit does not require a modified interpreter. The way the emulator perturbs the communication preserves the TCP connection-oriented byte stream semantics
    corecore