13 research outputs found

    M2MI service discovery middleware framework

    Get PDF
    M2MI has been thought of as a paradigm for applications running on ad hoc networks of fixed and mobile wireless proximal devices. For this to function, so far, we have relied on the human configuration of the devices sharing the same application. This includes, setting up the M2MI layer through Java, and starting the M2MI application. M2MI has worked fine under this scheme. A more general approach is to join a network and automatically discover any services available, in the case we have the M2MI layer already started. Afterwards, we can choose the service that we want to use. For this, a service discovery protocol and middleware would be in demand, applied in the same fashion by all devices implementing M2MI technology. Thus, this service middleware should be included into the M2MI library

    Generic framework for the personal omni-remote controller using M2MI

    Get PDF
    A Generic Framework for the Personal Omni-Remote Controller Using M2MI is a master’s thesis outlining a generic framework for the wireless omni-remote controller that controls neighboring appliances by using Many-to-Many Invocation (M2MI). M2MI is an object-oriented abstraction of broadcast communication. First, this paper introduces the history of remote controllers and analyzes omni-remote controller projects made by other researchers in this area, such as the Pebbles PDA project at Carnegie Mellon University and HP’s COOLTOWN project. Second, this paper depicts a generic framework of the personal omni-remote controller system including architecture, type hierarchy, and service discovery. In this framework, a module approach and a decentralized dual-mode service discovery scheme are introduced. When users request a certain type of service, their omni-remote controller application will first discover the available appliances in the vicinity and then bring up the corresponding control module for the target appliance. Thus, users can control the appliance through the User Interface of the control module. To join the omni-remote controller system, servers and clients need to follow the type hierarchy convention of the system. Finally, several implementations are given to show the control of different appliances with different capabilities. These appliances include thermostats, TVs with parental control, and washing machines

    Many-to-Many Invocation: A New Object Oriented Paradigm for Ad Hoc Collaborative Systems

    Get PDF
    Many-to-Many Invocation (M2MI) is a new paradigm for building collaborative systems that run in wireless proximal ad hoc networks of xed and mobile computing devices. M2MI is useful for building a broad range of systems, including multiuser applications (conversations, groupware, multiplayer games); systems involving networked devices (printers, cameras, sensors); and collaborative middleware systems. M2MI provides an object oriented method call abstraction based on broadcasting. An M2MI invocation means \Every object out there that implements this interface, call this method. An M2MI-based application is built by de ning one or more interfaces, creating objects that implement those interfaces in all the participating devices, and broadcasting method invocations to all the objects on all the devices. M2MI is layered on top of a new messaging protocol, the Many-to-Many Protocol (M2MP), which broadcasts messages to all nearby devices using the wireless network\u27s inherent broadcast nature instead of routing messages from device to device. M2MI synthesizes remote method invocation proxies dynamically at run time, eliminating the need to compile and deploy proxies ahead of time. As a result, in an M2MI-based system, central servers are not required; network administration is not required; complicated, resource-consuming ad hoc routing protocols are not required; and system development and deployment are simplifi ed

    A New Framework for Building Secure Collaborative Systems in Ad Hoc Network

    Get PDF
    Maturing software development organizations are beginning to identify a distinct role in the software team: Software Process Engineer. A software process engineer designs the software processes used by the organization. The software process includes the process content (identification of the roles, activities, and work products of the processes, along with specific techniques, tools, guidance, examples and other supporting information) and the lifecycle model (the ordering of and dependencies between software engineering activities and work products). A process engineer assembles a process from existing process components, choosing and tailoring components to provide the balance of agility and discipline necessary for their organization and projects. We have developed a graduate software engineering course to educate our students on the basic concepts of software process engineering. We use the OMG Software Process Engineering Metamodel and the IEEE Standard for Developing a Software Project Life Cycle Process as ways to model and compare process design alternatives and to provide mechanisms to assemble reusable process components into enactable processes. We use the Open Unified Process as an example process and we survey a wide range of techniques and methods that can be incorporated into a process. We use the Eclipse Process Framework Composer and associated process component libraries to assemble processes for specific projects. This paper describes the process engineering course and provides an informal assessment of the course effectiveness

    Many-to-Many Invocation: A New Framework for Building Collaborative Applications in Ad Hoc Networks

    Get PDF
    Many-to-Many Invocation (M2MI) is a new paradigm for building collaborative systems that run in wireless proximal ad hoc networks of fixed and mobile computing devices. M2MI is useful for building a broad range of systems, including service discovery frameworks; groupware for mobile ad hoc collaboration; systems involving networked devices (printers, cameras, sensors); and collaborative middleware systems. M2MI provides an object oriented method call abstraction based on broadcasting. An M2MI invocation means ``Every object out there that implements this interface, call this method.\u27\u27. M2MI is layered on top of a new messaging protocol, the Many-to-Many Protocol (M2MP), which broadcasts messages to all nearby devices using the wireless network\u27s inherent broadcast nature instead of routing messages from device to device. In an M2MI-based system, central servers are not required; network administration is not required; complicated, resource-consuming ad hoc routing protocols are not required; and system development and deployment are simplified

    Ad hoc file system

    Get PDF
    Ad hoc File System (AFS) is middleware for peers wishing to share and access data in ad hoc fashion. AFS permits processes to export local files and import files shared by other processes. Communication between hosts is facilitated by the M2MI Framework, a novel paradigm for building collaborative systems. The API provided by AFS allows for data to be exported to the middleware, which become accessible to hosts running AFS. Interested peers can import exported data to their local system, allowing uniform access to local and remote files. Peers can also unexport and unimport data undoing effects of export and import operations. To illustrate functionalities of Ad hoc File System, two user applications have been developed. The first is a character based console application similar to shells, such as the K shell, and the second is a visual application that demonstrates how the file system in AFS changes due to different operations

    Volatile Sets: Event-driven Collections for Mobile Ad-Hoc Applications

    Get PDF
    In mobile peer-to-peer applications, a common pattern is to maintain a collection of remotely-hosted objects. Traditional approaches require programmers to manually track the connectivity state of these remote objects and add them or remove them from local collections on a per-object basis. Because this happens concurrently with the rest of the application code, it hinders the composability of such collections and leads to subtle and hard to find bugs. In this paper, we propose an abstraction called volatile sets that allows the contents of the set to be specified intensionally. Additionally, volatile sets offer an event-driven API that signals when remote objects appear, disappear or change. Finally, volatile sets can be easily and efficiently composed through traditional set operations. We show how volatile sets ease the development of a collaborative peer-to-peer drawing application

    Ad hoc collaborative photo sharing with a tuple board

    Get PDF
    The tuple board is a new distributed computing paradigm based on the tuple space concept invented by Gelernter in 1985. Designed for ad hoc mobile wireless networks, tuple board is a serverless architecture that differs from the original client-server paradigm proposed in tuple space. In this project, Tuple Board, a tuple board implementation has been developed based on the M2MP protocol. Comparing to the previous implementation in Bondada\u27s work, the following improvements have been made: (1) M2MP, instead of M2MI, is used as the underlying network protocol for data communication, (2) notification is available in the tuple board implementation for tuple status changes, (3) a JavaSpaces Entry-like approach is used rather than using Java Class/Object arrays to represent tuple objects. To further study the strength and the limitations of Tuple Board, a collaborative photo sharing application has been developed. The application allows users in ad hoc mobile networks to share selected photos and view photos posted by other users based on dynamically defined rules. Photos available in the application can be shared or withdrawn by the owner
    corecore