Lime Team Adam Bazinet Hau San Si Tou. What is LIME?  LIME stands for Linda In a Mobile Environment Linda : a shared memory computing model developed.

Slides:



Advertisements
Similar presentations
Distributed Systems 1 Topics  What is a Distributed System?  Why Distributed Systems?  Examples of Distributed Systems  Distributed System Requirements.
Advertisements

LIME Team Adam Bazinet Hau San Si Tou. Project Goals Implement a ‘lightweight’ version of Lime that works with the M2MP – Anhinga Spaces – Devices will.
Software Architecture for Distributed and Mobile Systems Avinash Chiganmi Phaneesh Kuppahalli Lakshminarayana.
Concurrency Seminar : PeerSpaces Data-Driven Coordination on P2P Networks PeerSpaces: Data-Driven Coordination on P2P Networks (2003) From Nadia Busi,
An Associative Broadcast Based Coordination Model for Distributed Processes James C. Browne Kevin Kane Hongxia Tian Department of Computer Sciences The.
TAC Vista Security. Target  TAC Vista & Security Integration  Key customer groups –Existing TAC Vista users Provide features and hardware for security.
Distributed Systems Architectures
Threads Clients Servers Code Migration Software Agents Summary
Software Engineering and Middleware: a Roadmap by Wolfgang Emmerich Ebru Dincel Sahitya Gupta.
Outline : Motivation & background Mobile agents and enterprise computing Algebra of itineraries Implementation and applications Demo Scripting Mobile Agents.
The Bio-Networking Architecture: An Infrastructure of Autonomic Agents in Pervasive Networks Jun Suzuki netresearch.ics.uci.edu/bionet/
Information Retrieval in Distributed Environments Based on Context- Aware, Proactive Documents Current Research Information Systems (CRIS 2002) August.
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 6.
.NET Mobile Application Development Introduction to Mobile and Distributed Applications.
Chapter 4.1 Interprocess Communication And Coordination By Shruti Poundarik.
Ahmed Nabizadeh. A computer network, often simply referred to as a network, is a collection of hardware components and computers interconnected by communication.
*Law and Coordination Rodrigo Paes. © LES/PUC-Rio Agenda Integration Coordination BPEL example Birth *Law and Coordination Further Steps.
Distributed Systems 1 CS- 492 Distributed system & Parallel Processing Sunday: 2/4/1435 (8 – 11 ) Lecture (1) Introduction to distributed system and models.
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
Interoperating with Services in a Mobile Environment Andreas Dahl, Pål Rolfsen Grønsund, Per Thomas Kraabøl,
INTRODUCTION Bluetooth technology is code name for Personal Area Network (PAN) technology that makes it extremely easy to connect a mobile, computing device.
Addressing design Goals  We decompose the system to address complexity  Assigning each subsystem to team to work on  But we also need to address system.
UNIT - 1Topic - 2 C OMPUTING E NVIRONMENTS. What is Computing Environment? Computing Environment explains how a collection of computers will process and.
Enterprise JavaBeans. What is EJB? l An EJB is a specialized, non-visual JavaBean that runs on a server. l EJB technology supports application development.
© 2006 Cisco Systems, Inc. All rights reserved.Cisco PublicITE I Chapter 6 1 Connecting to the Network Networking for Home and Small Businesses – Chapter.
Designing Persistency Delos NoE, Preservation Cluster Workshop: Persistency in Digital Libraries 14. February 2006, Oxford Internet Institute.
Architectures of distributed systems Fundamental Models
Information System Development Courses Figure: ISD Course Structure.
Copyright © George Coulouris, Jean Dollimore, Tim Kindberg This material is made available for private study and for direct.
Locating Mobile Agents in Distributed Computing Environment.
Open Service Gateway Initiative (OSGi) Reporter : 林學灝 侯承育 1.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Connecting to the Network Networking for Home and Small Businesses.
Distributed Computing Systems CSCI 4780/6780. Geographical Scalability Challenges Synchronous communication –Waiting for a reply does not scale well!!
Coordination Languages and their Significance Paper by: David Gelernter Nicholas Carriero Presented by: Varuna Iyengar.
CPSC 372 John D. McGregor Module 3 Session 1 Architecture.
1 Advanced Behavioral Model Part 1: Processes and Threads Part 2: Time and Space Chapter22~23 Speaker: 陳 奕 全 Real-time and Embedded System Lab 10 Oct.
Transparent Mobility of Distributed Objects using.NET Cristóbal Costa, Nour Ali, Carlos Millan, Jose A. Carsí 4th International Conference in Central Europe.
1 BRUSSELS - 14 July 2003 Full Security Support in a heterogeneous mobile GRID testbed for wireless extensions to the.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
Egocentric Context-Aware Programming in Ad Hoc Mobile Environments Christine Julien Gruia-Catalin Roman Mobile Computing Laboratory Department of Computer.
Benjamin Post Cole Kelleher.  Availability  Data must maintain a specified level of availability to the users  Performance  Database requests must.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Object Oriented Analysis and Design 1 Chapter 9 From Design to Implementation  Implementation Model  Forward, Reverse, and Round-Trip Engineering  Mapping.
Distributed System Architectures Yonsei University 2 nd Semester, 2014 Woo-Cheol Kim.
Seminar on Service Oriented Architecture Distributed Systems Architectural Models From Coulouris, 5 th Ed. SOA Seminar Coulouris 5Ed.1.
CSC 480 Software Engineering Lecture 17 Nov 4, 2002.
Summer School on Telecommunications Lappeenranta August Calypso: System Components and Tools for Media Distribution over Broadband Networks Calypso:
Threads, SMP, and Microkernels Chapter 4. Processes and Threads Operating systems use processes for two purposes - Resource allocation and resource ownership.
Wrap up. Structures and views Quality attribute scenarios Achieving quality attributes via tactics Architectural pattern and styles.
Topic 4: Distributed Objects Dr. Ayman Srour Faculty of Applied Engineering and Urban Planning University of Palestine.
Android Mobile Application Development
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Distributed Systems.
SUPA/YMCA (Yang Models for Configuration and topology Abstraction)
Information exchanges between router agents
Introduction to J2EE Architecture
Service-centric Software Engineering
What is an Architecture?
Mobile Agents.
Activity Diagrams.
Architectures of distributed systems Fundamental Models
Unit V Mobile Middleware.
Architectures of distributed systems Fundamental Models
Sensor Networks in pervasive games “save the princess game”
JINI ICS 243F- Distributed Systems Middleware, Spring 2001
What is an Architecture?
Connecting to the Network
Architectures of distributed systems Fundamental Models
Ponder policy toolkit Jovana Balkoski, Rashid Mijumbi
Presentation transcript:

Lime Team Adam Bazinet Hau San Si Tou

What is LIME?  LIME stands for Linda In a Mobile Environment Linda : a shared memory computing model developed in the mid 1980’s  A Java-based middleware system for developing applications in mobile ad hoc networks  Provides a coordination layer to deal with both physical and logical mobility

Physical vs. Logical Mobility  Physical mobility concerns the movement of mobile hosts Hosts roam across the physical space and modify the topology of the network  Logical mobility concerns the movement of mobile agents Processes are able to migrate from one host to another while preserving their code and state

The LIME Environment  Coordination is achieved through a tuple space globally shared among components tuple space is a multiset of tuples that can be accessed concurrently by several processes  Components do not need to co-exist in time for them to communicate  Components can reside anywhere in the distributed system  Components can access the tuple space by inserting, reading, or withdrawing tuples containing information

LIME Distribution  Composed of 4 packages: lime contains the core functions of Lime lime.util contains the Launcher class, used for starting the runtime lime.util.console contains a graphical console for interacting with a LimeTupleSpace lime.mobileagent.mucode provides Lime-enabled mobile agents

Important Concepts  Lime Agents The only active entities in LIME The only components that carry a “concrete” tuple space with them. Programmatically represented by Java threads  Transiently Shared Tuple Spaces An extension of the standard Linda tuple space

More Concepts  Tuple Location The tuples in the tuple spaces are physically stored across the multiple hosts in the system Each tuple is an ordered sequence of typed data  Engagement/Disengagement of Hosts Engagement : the process of a host coming into range Disengagement : the departure of a host Both processes are atomic  Reacting to Changes in Context Reaction : defined by a method to be executed when a tuple matching a specific pattern is found in the tuple space

Tuple Space  Interface Tuple Space (ITS) Permanently and exclusively attached to the unit itself Contains tuples the mobile unit is willing to make availabe to other units, and that are concretely co-located with the unit itself The only content accessible to the unit when it is alone  Host-Level Tuple Space The transiently shared ITSs belonging to multiple agents co-located on a host

Tuple Space  Federated Tuple Space Connection of Host-Level Tuple Spaces Formed when components are within range i.e. mobile agents are on the same host or communication is available between mobile hosts which contain agents

Tuple Space Figure

“Applications”- a. k. a. Games  Roaming Jigsaw

RedRover

Project Objectives  Understand the software packages that are available  Work to implement a “lightweight” version of Lime that works with the m2m protocol- Anhinga Spaces  Develop and demonstrate some applications using our Lime bundle

The Source 