Ambient-oriented Programming & AmbientTalk

Size: px
Start display at page:

Download "Ambient-oriented Programming & AmbientTalk"

Transcription

1 Ambient-oriented Programming & AmbientTalk Tom Van Cutsem Stijn Mostinckx Elisa Gonzalez Boix Andoni Lombide Christophe Scholliers Wolfgang De Meuter Software Languages Lab Brussels, Belgium

2 Agenda 2 Context: Mobile & Ubiquitous computing Approach: Ambient-oriented programming Tool: AmbientTalk Experiments: Demo applications

3 Context Mobile & Ubiquitous Computing

4 Ubiquitous Computing 4 Research vision postulated by Mark Weiser (1988, Xerox PARC)

5 Today s Applications 5 Smart Homes/Domotics RFID Inventory Management Tourism/City Guide Software Personal Area Networks

6 Issues 6 Hardware Issues: Miniaturisation Device Autonomy Interoperability Processor Speed Limited Memory Integration Cost Software Issues: Context-awareness Interaction with real world Portability New user interfaces Standards Distributed Applications

7 Issues 6 Hardware Issues: Miniaturisation Device Autonomy Interoperability Processor Speed Limited Memory Integration Cost Software Issues: Context-awareness Interaction with real world Portability New user interfaces Standards Distributed Applications

8 Mobile Ad Hoc Networks 7 Networks composed of mobile devices that communicate wirelessly

9 Mobile Ad Hoc Networks 7 Networks composed of mobile devices that communicate wirelessly Zero Infrastructure

10 Mobile Ad Hoc Networks 7 Networks composed of mobile devices that communicate wirelessly Zero Infrastructure Volatile Connections

11 Approach Ambient-oriented Programming

12 Observation #1: interaction with proximate peers Example: match making between proximate peers 9 demand type = Concert Ticket ticket.artist = U2 ticket.location = * offer type = Concert Ticket ticket.artist = U2 ticket.location = Hyde Park

13 Observation #1: interaction with proximate peers Example: match making between proximate peers 9 demand offer type = Concert Ticket ticket.artist = U2 ticket.location = Hyde Park type = Concert Ticket ticket.artist = U2 ticket.location = *

14 Observation #1: interaction with proximate peers Example: match making between proximate peers 9 demand offer type = Concert Ticket ticket.artist = U2 ticket.location = Hyde Park type = Concert Ticket ticket.artist = U2 ticket.location = * No reliance on fixed, alwaysavailable server infrastructure

15 Observation #2: intermittent connectivity 10

16 Observation #2: intermittent connectivity 10

17 Observation #2: intermittent connectivity 10

18 Observation #2: intermittent connectivity 10 Tolerate disconnections, because they occur frequently rather than exceptionally

19 Software concerns 11 umama

20 Software concerns 11 umama Discovery

21 Software concerns 11 umama Discovery Communication

22 Software concerns 11 umama 32% 21% Discovery Communication Synchronisation

23 Software concerns 12 umama Discovery Communication Synchronisation

24 Software concerns 12 umama Discovery Communication Synchronisation Failure handling

25 Tool AmbientTalk

26 AmbientTalk: fact sheet 14 Object-oriented scripting language Started in 2005 Pure implementation Runs on J2ME/CDC phones Open source implementation code.google.com/p/ambienttalk

27 How does AmbientTalk help? 15 Volatile Connections network connections are resilient to failures by default Zero Infrastructure service discovery protocol built into the language

28 Object-oriented 16 def makesong(artist, title) { object: { def printartist() { if: (artist == nil) then: { unknown artist ; } else: { artist; } } } }

29 Object-oriented 16 def makesong(artist, title) { object: { def printartist() { if: (artist == nil) then: { unknown artist ; } else: { artist; } } } } def song := makesong( U2, One ); song.printartist();

30 Event Loop Concurrency 17 AmbientTalk programs are event loops They react to events from the outside world They communicate asynchronously Event Event Queue Event Loop Event Handler

31 Examples of event loops 18 GUI Frameworks (e.g. Java AWT) Highly interactive applications (e.g. games) IPC in Operating Systems Discrete Event Modelling (e.g. simulations) Web servers

32 Event Loop Concurrency in AmbientTalk 19

33 Event Loop Concurrency in AmbientTalk 19 Event Loop Message queue

34 Event Loop Concurrency in AmbientTalk 19 local object

35 Event Loop Concurrency in AmbientTalk 19 remote object

36 Event Loop Concurrency in AmbientTalk 20

37 Event Loop Concurrency in AmbientTalk 20 do m immediately obj obj.m()

38 Event Loop Concurrency in AmbientTalk 20 do m eventually obj<-m()

39 Event Loop Concurrency in AmbientTalk 20 do m eventually obj<-m()

40 Event Loop Concurrency in AmbientTalk 20? future

41 Event Loop Concurrency in AmbientTalk 20? future when: future becomes: { value // process reply }

42 Event Loop Concurrency in AmbientTalk 20? future when: future becomes: { value // process reply }

43 Exporting & discovering objects 21 mplayer

44 Exporting & discovering objects 21 mplayer deftype MusicPlayer deftype MusicPlayer

45 Exporting & discovering objects 21 mplayer deftype MusicPlayer deftype MusicPlayer export: mplayer as: MusicPlayer

46 Exporting & discovering objects 21 mplayer deftype MusicPlayer deftype MusicPlayer export: mplayer as: MusicPlayer whenever: MusicPlayer discovered: { mplayer // open a session }

47 Exporting & discovering objects 21 mplayer deftype MusicPlayer deftype MusicPlayer export: mplayer as: MusicPlayer whenever: MusicPlayer discovered: { mplayer // open a session }

48 Far References 22 uploadsong session

49 Far References 22 uploadsong session

50 Far References 22 uploadsong session

51 Far References 22 session

52 Far References 22 session

53 Far References 22 session

54 Far References 22 session when: becomes: { ack // continue exchange } catch: TimeoutException using: { e // stop exchange }

55 Leasing 23 lease: 10.minutes session disconnect Connected (messages are forwarded) expire reconnect Expired (messages are dropped) Disconnected (messages are buffered) expire

56 Reacting to failures 24 lease: 10.minutes session disconnect Connected (messages are forwarded) expire reconnect Expired (messages are dropped) Disconnected (messages are buffered) expire

57 Reacting to failures 24 lease: 10.minutes session disconnect when: session disconnected: { // pause transmission } Connected (messages are forwarded) expire reconnect Expired (messages are dropped) Disconnected (messages are buffered) expire

58 Reacting to failures 24 lease: 10.minutes session disconnect when: session disconnected: { // pause transmission } when: session reconnected: { // resume transmission } Connected (messages are forwarded) expire reconnect Expired (messages are dropped) Disconnected (messages are buffered) expire

59 Reacting to failures 24 lease: 10.minutes session disconnect when: session disconnected: { // pause transmission } when: session reconnected: { // resume transmission } Connected (messages are forwarded) expire reconnect Expired (messages are dropped) Disconnected (messages are buffered) expire when: session expired: { // stop transmission }

60 Reacting to failures 24 lease: 10.minutes session disconnect when: session disconnected: { // pause transmission } when: session reconnected: { // resume transmission } when: session expired: { // stop transmission } Connected (messages are forwarded) expire reconnect Expired (messages are dropped) Disconnected (messages are buffered) expire when: session expired: { // clean up resources }

61 Event Notifications 25 when: type discovered: { obj... } whenever: type discovered: { obj... } when: obj disconnected: {... } whenever: obj disconnected: {... } when: obj reconnected: {... } whenever: obj reconnected: {... } when: obj expired: {... } when: 5.minutes elapsed: {... } whenever: 5.minutes elapsed: {... } when: future becomes: { result... }

62 Event Notifications 25 Discovery when: type discovered: { obj... } whenever: type discovered: { obj... } when: obj disconnected: {... } whenever: obj disconnected: {... } when: obj reconnected: {... } whenever: obj reconnected: {... } when: obj expired: {... } when: 5.minutes elapsed: {... } whenever: 5.minutes elapsed: {... } when: future becomes: { result... }

63 Event Notifications 25 when: type discovered: { obj... } Failure Handling when: obj disconnected: {... } whenever: type discovered: { obj... } whenever: obj disconnected: {... } when: obj reconnected: {... } whenever: obj reconnected: {... } when: obj expired: {... } when: 5.minutes elapsed: {... } whenever: 5.minutes elapsed: {... } when: future becomes: { result... }

64 Event Notifications 25 when: type discovered: { obj... } whenever: type discovered: { obj... } when: obj disconnected: {... } whenever: obj disconnected: {... } when: obj reconnected: {... } whenever: obj reconnected: {... } when: obj expired: {... } Synchronisation when: 5.minutes elapsed: {... } whenever: 5.minutes elapsed: {... } when: future becomes: { result... }

65 Language Interoperability 26 AmbientTalk Program AmbientTalk VM Interop. Layer Java Virtual Machine Scripting language on top of the JVM, cfr. JRuby, Jython, Groovy,... AmbientTalk can use Java libraries, Java can use AmbientTalk scripts

66 Batteries Included 27 def Button := jlobby.java.awt.button; def button := Button.new( Click Me ); button.addactionlistener(object: { def actionperformed(actionevent) { println( button clicked ); } }); button.setvisible(true);

67 Reflection 28 AmbientTalk code can introspect and change behavior of objects and actors def makesong(artist, title) { object: { def printartist() { if: (artist == nil) then: { unknown artist ; } else: { artist; } } } } def song := makesong( U2, One ); song.printartist();

68 Reflection 28 AmbientTalk code can introspect and change behavior of objects and actors def makesong(artist, title) { object: { def printartist() { if: (artist == nil) then: { unknown artist ; } else: { artist; } } } } def mirroronsong := (reflect: song); mirroronsong.invoke(song, createinvocation(`printartist, [])); mirroronsong.listslots(); mirroronsong.addslot(slot);... def song := makesong( U2, One ); song.printartist();

69 Implementation 29 Interactive interpreter ± SLOC of UDP & TCP/IP over WLAN Runs on top of J2ME/CDC QTek 9090 SmartPhones HTC Touch Cruise SmartPhones iphone [in progress] Android G1 [in progress]

70 Experiments Demo Applications

71 Case: Musical Match Maker 31 Demo

72 Experimental Results 32

73 Experimental Results 33

74 Causes 34 Explicit encoding of buffered, asynchronous communication using threads remote messages using objects timeouts using timer threads event notifications (lease expiration & renewal, calls & callbacks) using listeners + event loop threads Java RMI does not deal with service discovery

75 Case: Instant Messenger 35 Demo

76 Chat: Java vs AmbientTalk (LoC) 36

77 Chat: Java vs AmbientTalk (%) 37

78 A simple application but we do not need to explicitly manage: threads & locks low-level socket connections stubs, skeletons name server or lookup service timeouts, leasing

79 AmbientMorphic 39 Implementation of the Morphic UI framework from Self Demo: PortalPong

80 Conclusion 40 Mobile ad hoc networks: Ambient-oriented programming: AmbientTalk: Scripting language on top of the JVM Reactive, event-driven programs Applications: chat, match maker, multiplayer game

81 Conclusion 40 Mobile ad hoc networks: Zero Infrastructure Volatile Connections Ambient-oriented programming: AmbientTalk: Scripting language on top of the JVM Reactive, event-driven programs Applications: chat, match maker, multiplayer game

82 Conclusion 40 Mobile ad hoc networks: Zero Infrastructure Volatile Connections Ambient-oriented programming: Peer-to-peer Tolerate disconnections AmbientTalk: Scripting language on top of the JVM Reactive, event-driven programs Applications: chat, match maker, multiplayer game

83 Don t program the hardware of the future with the software of the past

COM 440 Distributed Systems Project List Summary

COM 440 Distributed Systems Project List Summary COM 440 Distributed Systems Project List Summary This list represents a fairly close approximation of the projects that we will be working on. However, these projects are subject to change as the course

More information

Cid Santos Luis Matos. Introduction to AllJoyn

Cid Santos Luis Matos. Introduction to AllJoyn 1 Cid Santos Luis Matos Introduction to AllJoyn 1 2 3 4 5 What is AllJoyn? How AllJoyn works Setup your Android Dev. Environment Development with java SDK Questions & Answers Agenda 3 Why Can t All Our

More information

Napster and Gnutella: a Comparison of two Popular Peer-to-Peer Protocols. Anthony J. Howe Supervisor: Dr. Mantis Cheng University of Victoria

Napster and Gnutella: a Comparison of two Popular Peer-to-Peer Protocols. Anthony J. Howe Supervisor: Dr. Mantis Cheng University of Victoria Napster and Gnutella: a Comparison of two Popular Peer-to-Peer Protocols Anthony J Howe Supervisor: Dr Mantis Cheng University of Victoria February 28, 2002 Abstract This article presents the reverse engineered

More information

ANDROID PROGRAMMING - INTRODUCTION. Roberto Beraldi

ANDROID PROGRAMMING - INTRODUCTION. Roberto Beraldi ANDROID PROGRAMMING - INTRODUCTION Roberto Beraldi Introduction Android is built on top of more than 100 open projects, including linux kernel To increase security, each application runs with a distinct

More information

Flocks: Enabling Dynamic Group Interactions in Mobile Social Networking Applications

Flocks: Enabling Dynamic Group Interactions in Mobile Social Networking Applications Flocks: Enabling Dynamic Group Interactions in Mobile Social Networking Applications Elisa Gonzalez Boix egonzale@vub.ac.be Tom Van Cutsem tvcutsem@vub.ac.be Andoni Lombide Carreton alombide@vub.ac.be

More information

Scala Actors Library. Robert Hilbrich

Scala Actors Library. Robert Hilbrich Scala Actors Library Robert Hilbrich Foreword and Disclaimer I am not going to teach you Scala. However, I want to: Introduce a library Explain what I use it for My Goal is to: Give you a basic idea about

More information

Android Fundamentals 1

Android Fundamentals 1 Android Fundamentals 1 What is Android? Android is a lightweight OS aimed at mobile devices. It is essentially a software stack built on top of the Linux kernel. Libraries have been provided to make tasks

More information

ELIXIR LOAD BALANCER 2

ELIXIR LOAD BALANCER 2 ELIXIR LOAD BALANCER 2 Overview Elixir Load Balancer for Elixir Repertoire Server 7.2.2 or greater provides software solution for load balancing of Elixir Repertoire Servers. As a pure Java based software

More information

Software design (Cont.)

Software design (Cont.) Package diagrams Architectural styles Software design (Cont.) Design modelling technique: Package Diagrams Package: A module containing any number of classes Packages can be nested arbitrarily E.g.: Java

More information

Handling Partial Failures in Mobile Ad hoc Network Applications: From Programming Language Design to Tool Support. Elisa González Boix

Handling Partial Failures in Mobile Ad hoc Network Applications: From Programming Language Design to Tool Support. Elisa González Boix Faculteit van de Wetenschappen Vakgroep Computerwetenschappen Laboratorium voor Programmeerkunde Handling Partial Failures in Mobile Ad hoc Network Applications: From Programming Language Design to Tool

More information

Fachbereich Informatik und Elektrotechnik SunSPOT. Ubiquitous Computing. Ubiquitous Computing, Helmut Dispert

Fachbereich Informatik und Elektrotechnik SunSPOT. Ubiquitous Computing. Ubiquitous Computing, Helmut Dispert Ubiquitous Computing Ubiquitous Computing The Sensor Network System Sun SPOT: The Sun Small Programmable Object Technology Technology-Based Wireless Sensor Networks a Java Platform for Developing Applications

More information

Unity New Networking System (UNet) Unite Asia 2015

Unity New Networking System (UNet) Unite Asia 2015 Unity New Networking System (UNet) Unite Asia 2015 Hello Sean Riley Game industry developer since 1997 Blizzard, NCSoft, EA Origin, Metaplace Works on the Unity Networking Team I work remotely from Florida,

More information

Lecture 17: Mobile Computing Platforms: Android. Mythili Vutukuru CS 653 Spring 2014 March 24, Monday

Lecture 17: Mobile Computing Platforms: Android. Mythili Vutukuru CS 653 Spring 2014 March 24, Monday Lecture 17: Mobile Computing Platforms: Android Mythili Vutukuru CS 653 Spring 2014 March 24, Monday Mobile applications vs. traditional applications Traditional model of computing: an OS (Linux / Windows),

More information

Computer Networks Practicum 2015

Computer Networks Practicum 2015 Computer Networks Practicum 2015 Vrije Universiteit Amsterdam, The Netherlands http://acropolis.cs.vu.nl/ spyros/cnp/ 1 Overview This practicum consists of two parts. The first is to build a TCP implementation

More information

Design Document. Offline Charging Server (Offline CS ) Version 1.0. - i -

Design Document. Offline Charging Server (Offline CS ) Version 1.0. - i - Design Document Offline Charging Server (Offline CS ) Version 1.0 - i - Document Scope Objective The information provided in this document specifies the design details of Operations of Offline Charging

More information

Resilient Partitioning of Pervasive Computing Services

Resilient Partitioning of Pervasive Computing Services Faculty of Sciences Department of Computer Science and Applied Computer Science Resilient Partitioning of Pervasive Computing Services A dissertation submitted in partial fulfillment of the requirements

More information

Development of a new service using Wi-Fi Direct

Development of a new service using Wi-Fi Direct COMPUTER NETWORKS COEN233 Development of a new service using Wi-Fi Direct HE SHOUCHUN MEENAKSHI HARIKUMAR NAGA TULASI SOUJANYA VADREVU 1 INDEX 6. Implementation--------------------------------------------------------------------------------------------3

More information

Division of Informatics, University of Edinburgh

Division of Informatics, University of Edinburgh CS1Bh Lecture Note 20 Client/server computing A modern computing environment consists of not just one computer, but several. When designing such an arrangement of computers it might at first seem that

More information

Mobile Cloud Computing: Paradigms and Challenges 移 动 云 计 算 : 模 式 与 挑 战

Mobile Cloud Computing: Paradigms and Challenges 移 动 云 计 算 : 模 式 与 挑 战 Mobile Cloud Computing: Paradigms and Challenges 移 动 云 计 算 : 模 式 与 挑 战 Jiannong Cao Internet & Mobile Computing Lab Department of Computing Hong Kong Polytechnic University Email: csjcao@comp.polyu.edu.hk

More information

Overview of CORBA 11.1 I NTRODUCTION TO CORBA. 11.4 Object services 11.5 New features in CORBA 3.0 11.6 Summary

Overview of CORBA 11.1 I NTRODUCTION TO CORBA. 11.4 Object services 11.5 New features in CORBA 3.0 11.6 Summary C H A P T E R 1 1 Overview of CORBA 11.1 Introduction to CORBA 11.2 CORBA architecture 11.3 Client and object implementations 11.4 Object services 11.5 New features in CORBA 3.0 11.6 Summary In previous

More information

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts

More information

UPnP Control Point for Mobile Phones in Residential Networks

UPnP Control Point for Mobile Phones in Residential Networks 1 UPnP Control Point for Mobile Phones in Residential Networks Andreas Häber 1, Frank Reichert 2, and Andreas Fasbender 3 Abstract Together, Ericsson and HiA are studying the role of WiFi-enabled mobile

More information

ICC. NetLink Version Info 10.21.2014 8.7.2014 7.12.2013 INDUSTRIAL CONTROL COMMUNICATIONS, INC.

ICC. NetLink Version Info 10.21.2014 8.7.2014 7.12.2013 INDUSTRIAL CONTROL COMMUNICATIONS, INC. Version Info 10.21.2014 1.3.2 release Updated graph layout and increased text size Added ability to resize graphs Added ability to zoom and scroll graphs using both image zoom and data zoom methods Graphs

More information

What can DDS do for You? Learn how dynamic publish-subscribe messaging can improve the flexibility and scalability of your applications.

What can DDS do for You? Learn how dynamic publish-subscribe messaging can improve the flexibility and scalability of your applications. What can DDS do for You? Learn how dynamic publish-subscribe messaging can improve the flexibility and scalability of your applications. 2 Contents: Abstract 3 What does DDS do 3 The Strengths of DDS 4

More information

Middleware Lou Somers

Middleware Lou Somers Middleware Lou Somers April 18, 2002 1 Contents Overview Definition, goals, requirements Four categories of middleware Transactional, message oriented, procedural, object Middleware examples XML-RPC, SOAP,

More information

Chapter 2: Remote Procedure Call (RPC)

Chapter 2: Remote Procedure Call (RPC) Chapter 2: Remote Procedure Call (RPC) Gustavo Alonso Computer Science Department Swiss Federal Institute of Technology (ETHZ) alonso@inf.ethz.ch http://www.iks.inf.ethz.ch/ Contents - Chapter 2 - RPC

More information

Java in Web 2.0. Alexis Roos Principal Field Technologist, CTO Office OEM SW Sales Sun Microsystems, Inc.

Java in Web 2.0. Alexis Roos Principal Field Technologist, CTO Office OEM SW Sales Sun Microsystems, Inc. Java in Web 2.0 Alexis Roos Principal Field Technologist, CTO Office OEM SW Sales Sun Microsystems, Inc. 1 Agenda Java overview Technologies supported by Java Platform to create Web 2.0 services Future

More information

Designing an NFS-based Mobile Distributed File System for Ephemeral Sharing in Proximity Networks

Designing an NFS-based Mobile Distributed File System for Ephemeral Sharing in Proximity Networks Designing an NFS-based Mobile Distributed File System for Ephemeral Sharing in Proximity Networks Nikolaos Michalakis Computer Science Department New York University, New York, NY Dimitris Kalofonos Pervasive

More information

Using mobile phones to access Web Services in a secure way. Dan Marinescu

Using mobile phones to access Web Services in a secure way. Dan Marinescu Using mobile phones to access Web Services in a secure way Dan Marinescu March 7, 2007 Abstract Web Services is a technology that has gained in acceptance and popularity over the past years. The promise

More information

IMPLEMENTATION OF AN AGENT MONITORING SYSTEM IN A JINI ENVIRONMENT WITH RESTRICTED USER ACCESS

IMPLEMENTATION OF AN AGENT MONITORING SYSTEM IN A JINI ENVIRONMENT WITH RESTRICTED USER ACCESS IMPLEMENTATION OF AN AGENT MONITORING SYSTEM IN A JINI ENVIRONMENT WITH RESTRICTED USER ACCESS Marietta A. Gittens (Dr. Sadanand Srivastava, Dr. James Gil De Lamadrid) {mgittens, ssrivas, gildelam}@cs.bowiestate.edu

More information

Handbook of Research on Mobile Software Engineering:

Handbook of Research on Mobile Software Engineering: Handbook of Research on Mobile Software Engineering: Design, Implementation, and Emergent Applications Paulo Alencar University of Waterloo, Canada Donald Cowan University of Waterloo, Canada Volume I

More information

Overview. Timeline Cloud Features and Technology

Overview. Timeline Cloud Features and Technology Overview Timeline Cloud is a backup software that creates continuous real time backups of your system and data to provide your company with a scalable, reliable and secure backup solution. Storage servers

More information

CHAPTER 1 INTRODUCTION

CHAPTER 1 INTRODUCTION CHAPTER 1 INTRODUCTION 1.1 Introduction Service Discovery Protocols (SDPs) are network protocols which allow automatic detection of devices and services offered by these devices on a computer network [1].

More information

Building Motion and Noise Detector Networks from Mobile Phones

Building Motion and Noise Detector Networks from Mobile Phones Building Motion and Noise Detector Networks from Mobile Phones Péter Ekler 1111 Budapest, Magyar Tudósok körútja 2. IL208, peter.ekler@aut.bme.hu Hassan Charaf Dr. 1111 Budapest, Magyar Tudósok körútja

More information

IST STREP Project. Deliverable D3.3.1u Middleware User s Guide Multi-Radio Device Management Layer. http://www.ist-plastic.org

IST STREP Project. Deliverable D3.3.1u Middleware User s Guide Multi-Radio Device Management Layer. http://www.ist-plastic.org IST STREP Project Deliverable D3.3.1u Middleware User s Guide Multi-Radio Device Management Layer http://www.ist-plastic.org Project Number : IST-26955 Project Title : PLASTIC Deliverable Type : Report

More information

Monitoring and control of users in open environments on the Android platform

Monitoring and control of users in open environments on the Android platform Monitoring and control of users in open environments on the Android platform DEGREE IN COMMUNICATIONS SYSTEMS ENGINEERING AUTHOR: TUTOR: Eric Bella Pulgarín Raúl Sánchez Reillo DIRECTOR: Aitor Mendaza

More information

Special Note Ethernet Connection Problems and Handling Methods (CS203 / CS468 / CS469)

Special Note Ethernet Connection Problems and Handling Methods (CS203 / CS468 / CS469) Special Note Connection Problems and Handling Methods (CS203 / CS468 / CS469) Sometimes user cannot find the RFID device after installing the CSL Demo App and the RFID reader is connected. If user cannot

More information

Mobile Operating Systems. Week I

Mobile Operating Systems. Week I Mobile Operating Systems Week I Overview Introduction Mobile Operating System Structure Mobile Operating System Platforms Java ME Platform Palm OS Symbian OS Linux OS Windows Mobile OS BlackBerry OS iphone

More information

Using J-ISIS in a Local Network

Using J-ISIS in a Local Network 23 December 2012 Author: Jean-Claude Dauphin jc.dauphin@gmail.com Status:draft Using J-ISIS in a Local Network 1. Introduction J-ISIS uses TCP/IP protocol to communicate between computers. TCP/IP like

More information

Trends in Mobile Computing From Mobile Phone to Context-Aware Service Platform

Trends in Mobile Computing From Mobile Phone to Context-Aware Service Platform Trends in Mobile Computing From Mobile Phone to Context-Aware Service Platform Thomas Strang German Aerospace Center (DLR) Oberpfaffenhofen, Germany thomas.strang@dlr.de 1 Outlook: Motivation Implications

More information

Q3 USER GUIDE. Read Me to Get the Most Out of Your Device...

Q3 USER GUIDE. Read Me to Get the Most Out of Your Device... Q3 USER GUIDE Read Me to Get the Most Out of Your Device... TO GET STARTED 1. Turn The Q3 On 2. Put It On 3. Listen In Model: Q3 Contents Charge Your Earpiece 6 Wearing the Q3 7 Pair Your Earpiece 7 Use

More information

Testing Mobile Applications

Testing Mobile Applications Testing Mobile Applications Published by 360logica software testing Services (www.360logica.com ) [ Testing Mobile applications ] Copyright 2011@ 360logica software testing services Testing Mobile Applications

More information

Adaptable Service Oriented Architectures

Adaptable Service Oriented Architectures Otwarte Studium Doktoranckie 1 Adaptable Service Oriented Architectures Krzysztof Zieliński Department of Computer Science AGH-UST Krakow Poland Otwarte Studium Doktoranckie 2 Agenda DCS SOA WS MDA OCL

More information

Exhibit B5b South Dakota. Vendor Questions COTS Software Set

Exhibit B5b South Dakota. Vendor Questions COTS Software Set Appendix C Vendor Questions Anything t Applicable should be marked NA. Vendor Questions COTS Software Set Infrastructure 1. Typically the State of South Dakota prefers to host all systems. In the event

More information

Fast remote data access for control of TCP/IP network using android Mobile device

Fast remote data access for control of TCP/IP network using android Mobile device RESEARCH ARTICLE OPEN ACCESS Fast remote data access for control of TCP/IP network using android Mobile device Vaibhav Muddebihalkar *, R.M Gaudar** (Department of Computer Engineering, MIT AOE Alandi

More information

AN APPLICATION OF INFORMATION RETRIEVAL IN P2P NETWORKS USING SOCKETS AND METADATA

AN APPLICATION OF INFORMATION RETRIEVAL IN P2P NETWORKS USING SOCKETS AND METADATA AN APPLICATION OF INFORMATION RETRIEVAL IN P2P NETWORKS USING SOCKETS AND METADATA Ms. M. Kiruthika Asst. Professor, Fr.C.R.I.T, Vashi, Navi Mumbai. venkatr20032002@gmail.com Ms. Smita Dange Lecturer,

More information

Remote Desktop Access through Android Mobiles and Android Mobiles Access through Web Browser

Remote Desktop Access through Android Mobiles and Android Mobiles Access through Web Browser Remote Desktop Access through Android Mobiles and Android Mobiles Access through Web Browser 1 Karan Sandeep Bhandari, 2 Vishnu Baliram Mandole, 3 Akash Dattatray Munde, 4 Sachin B. Takmare Bharati Vidyapeeth

More information

Towards Peer-to-Peer Long-Lived Mobile Web Services

Towards Peer-to-Peer Long-Lived Mobile Web Services Towards Peer-to-Peer Long-Lived Mobile s Fahad Aijaz, Bilal Hameed, Bernhard Walke RWTH Aachen University, Faculty 6 Communication Networks Kopernikusstr. 16, 52074 Aachen {fah, bhd}@comnets.rwth-aachen.de

More information

Using the Wireless Music Bridge

Using the Wireless Music Bridge Using the Wireless Music Bridge Stream music to a room in the home from your mobile devices Now you can control and stream music from your handheld Apple * ipod, ipod touch, iphone, ipad ; Bluetooth ;

More information

Computer and Set of Robots

Computer and Set of Robots Lesson 11:DESIGN PROCESS EXAMPLES Mobile-Phone, Mobile- Computer and Set of Robots 1 Mobile Phone 2 Mobile phone SoC (System-on-Chip) Hardware units Microcontroller or ASIP (Application Specific Instruction

More information

Ubiquitous access Inherently distributed Many, diverse clients (single purpose rich) Unlimited computation and data on demand

Ubiquitous access Inherently distributed Many, diverse clients (single purpose rich) Unlimited computation and data on demand Ubiquitous access Inherently distributed Many, diverse clients (single purpose rich) Unlimited computation and data on demand Moore s Law (Dennard scaling) is running out Scale out, not scale up Inescapably

More information

Application Note: AN00121 Using XMOS TCP/IP Library for UDP-based Networking

Application Note: AN00121 Using XMOS TCP/IP Library for UDP-based Networking Application Note: AN00121 Using XMOS TCP/IP Library for UDP-based Networking This application note demonstrates the use of XMOS TCP/IP stack on an XMOS multicore micro controller to communicate on an ethernet-based

More information

Studio 5.0 User s Guide

Studio 5.0 User s Guide Studio 5.0 User s Guide wls-ug-administrator-20060728-05 Revised 8/8/06 ii Copyright 2006 by Wavelink Corporation All rights reserved. Wavelink Corporation 6985 South Union Park Avenue, Suite 335 Midvale,

More information

PERFORMANCE COMPARISON OF COMMON OBJECT REQUEST BROKER ARCHITECTURE(CORBA) VS JAVA MESSAGING SERVICE(JMS) BY TEAM SCALABLE

PERFORMANCE COMPARISON OF COMMON OBJECT REQUEST BROKER ARCHITECTURE(CORBA) VS JAVA MESSAGING SERVICE(JMS) BY TEAM SCALABLE PERFORMANCE COMPARISON OF COMMON OBJECT REQUEST BROKER ARCHITECTURE(CORBA) VS JAVA MESSAGING SERVICE(JMS) BY TEAM SCALABLE TIGRAN HAKOBYAN SUJAL PATEL VANDANA MURALI INTRODUCTION Common Object Request

More information

Disclaimer: The contents in this document are only my personal opinions, do not reflect the opinions of my employer or anyone else.

Disclaimer: The contents in this document are only my personal opinions, do not reflect the opinions of my employer or anyone else. Disclaimer: The contents in this document are only my personal opinions, do not reflect the opinions of my employer or anyone else. Android overview From a system design perspective Xiao-Feng Li xiaofeng.li@gmail.com

More information

Design Patterns in C++

Design Patterns in C++ Design Patterns in C++ Concurrency Patterns Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa May 4, 2011 G. Lipari (Scuola Superiore Sant Anna) Concurrency Patterns May 4,

More information

What is NetOp Mobile?

What is NetOp Mobile? This White Paper deals with the GPRS usage of NetOp Remote Control and NetOp Mobile. What is NetOp Mobile? NetOp Mobile is an application that allows people on the move to be helped whenever they need

More information

Transparent Redirection of Network Sockets 1

Transparent Redirection of Network Sockets 1 Transparent Redirection of Network Sockets 1 Timothy S. Mitrovich, Kenneth M. Ford, and Niranjan Suri Institute for Human & Machine Cognition University of West Florida {tmitrovi,kford,nsuri}@ai.uwf.edu

More information

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts

More information

ANDROID APPLICATION DEVELOPER RESUME

ANDROID APPLICATION DEVELOPER RESUME 1 of 5 03/01/2015 20:09 ANDROID APPLICATION DEVELOPER RESUME Java Developers/Architects Resumes Please note that this is a not a Job Board - We are an I.T Staffing Company and we provide candidates on

More information

It is the thinnest layer in the OSI model. At the time the model was formulated, it was not clear that a session layer was needed.

It is the thinnest layer in the OSI model. At the time the model was formulated, it was not clear that a session layer was needed. Session Layer The session layer resides above the transport layer, and provides value added services to the underlying transport layer services. The session layer (along with the presentation layer) add

More information

Adaptable Mobile Applications: Exploiting Logical Mobility in Mobile Computing

Adaptable Mobile Applications: Exploiting Logical Mobility in Mobile Computing Adaptable Mobile Applications: Exploiting Logical Mobility in Mobile Computing Stefanos Zachariadis, Cecilia Mascolo and Wolfgang Emmerich Dept. of Computer Science, University College London Gower Street,

More information

Green Telnet. Making the Client/Server Model Green

Green Telnet. Making the Client/Server Model Green Green Telnet Reducing energy consumption is of growing importance. Jeremy and Ken create a "green telnet" that lets clients transition to a low-power, sleep state. By Jeremy Blackburn and Ken Christensen,

More information

Improved Digital Media Delivery with Telestream HyperLaunch

Improved Digital Media Delivery with Telestream HyperLaunch WHITE PAPER Improved Digital Media Delivery with Telestream THE CHALLENGE Increasingly, Internet Protocol (IP) based networks are being used to deliver digital media. Applications include delivery of news

More information

Hands-On Microsoft Windows Server 2008

Hands-On Microsoft Windows Server 2008 Hands-On Microsoft Windows Server 2008 Chapter 9 Server and Network Monitoring Objectives Understand the importance of server monitoring Monitor server services and solve problems with services Use Task

More information

Developing Applications for ios

Developing Applications for ios Developing Applications for ios Lecture 1: Mobile Applications Development Radu Ionescu raducu.ionescu@gmail.com Faculty of Mathematics and Computer Science University of Bucharest Content Key concepts

More information

Lecture 7: Java RMI. CS178: Programming Parallel and Distributed Systems. February 14, 2001 Steven P. Reiss

Lecture 7: Java RMI. CS178: Programming Parallel and Distributed Systems. February 14, 2001 Steven P. Reiss Lecture 7: Java RMI CS178: Programming Parallel and Distributed Systems February 14, 2001 Steven P. Reiss I. Overview A. Last time we started looking at multiple process programming 1. How to do interprocess

More information

About Firewall Protection

About Firewall Protection 1. This guide describes how to configure basic firewall rules in the UTM to protect your network. The firewall then can provide secure, encrypted communications between your local network and a remote

More information

Mobile Data Collection Using COMMANDmobile

Mobile Data Collection Using COMMANDmobile Addressing the Challenges of Going Mobile Mobile Data Collection Using COMMANDmobile Table of Contents Introduction... 3 Challenges of Going Mobile... 4 Existing Infrastructures... 4 Configuration Management...

More information

Why Threads Are A Bad Idea (for most purposes)

Why Threads Are A Bad Idea (for most purposes) Why Threads Are A Bad Idea (for most purposes) John Ousterhout Sun Microsystems Laboratories john.ousterhout@eng.sun.com http://www.sunlabs.com/~ouster Introduction Threads: Grew up in OS world (processes).

More information

Texas Instruments CC2540/41 Bluetooth Low Energy Sample Applications Guide v1.3.1

Texas Instruments CC2540/41 Bluetooth Low Energy Sample Applications Guide v1.3.1 Texas Instruments CC2540/41 Bluetooth Low Energy Sample Applications Guide v1.3.1 Document Number: SWRU297 Copyright 2011-2013 Texas Instruments, Inc. Table Of Contents TABLE OF CONTENTS... 2 REFERENCES...

More information

An Oracle White Paper September 2013. Advanced Java Diagnostics and Monitoring Without Performance Overhead

An Oracle White Paper September 2013. Advanced Java Diagnostics and Monitoring Without Performance Overhead An Oracle White Paper September 2013 Advanced Java Diagnostics and Monitoring Without Performance Overhead Introduction... 1 Non-Intrusive Profiling and Diagnostics... 2 JMX Console... 2 Java Flight Recorder...

More information

Jini Technology Applied to Railway Systems

Jini Technology Applied to Railway Systems Jini Technology Applied to Railway Systems Txomin Nieva a, b,, Andreas Fabri b, Abdenbi Benammour a a Institute for computer Communications and Applications (ICA) Communication Systems Dept. (DSC) Swiss

More information

ANDROID PROGRAMMING - INTRODUCTION. Roberto Beraldi

ANDROID PROGRAMMING - INTRODUCTION. Roberto Beraldi ANDROID PROGRAMMING - INTRODUCTION Roberto Beraldi Introduction Android is built on top of more than 100 open projects, including linux kernel To increase security, each application runs with a distinct

More information

Connecting to Wireless networks and hotspots

Connecting to Wireless networks and hotspots Connecting to Wireless networks and hotspots How to connect to a wireless network on the ipad and troubleshoot problems The ipad is ultimately a device that allows you to consume content in an easy and

More information

ODROID Multithreading in Android

ODROID Multithreading in Android Multithreading in Android 1 Index Android Overview Android Stack Android Development Tools Main Building Blocks(Activity Life Cycle) Threading in Android Multithreading via AsyncTask Class Multithreading

More information

This presentation covers virtual application shared services supplied with IBM Workload Deployer version 3.1.

This presentation covers virtual application shared services supplied with IBM Workload Deployer version 3.1. This presentation covers virtual application shared services supplied with IBM Workload Deployer version 3.1. WD31_VirtualApplicationSharedServices.ppt Page 1 of 29 This presentation covers the shared

More information

Instructions for use the VPN at the Warsaw School of Economics

Instructions for use the VPN at the Warsaw School of Economics Instructions for use the VPN at the Warsaw School of Economics Dariusz Jaruga. ver. 1.1 (19-01-2011) Introduction VPN is the abbreviation for Virtual Personal Network which allows you to connect your computer

More information

JoramMQ, a distributed MQTT broker for the Internet of Things

JoramMQ, a distributed MQTT broker for the Internet of Things JoramMQ, a distributed broker for the Internet of Things White paper and performance evaluation v1.2 September 214 mqtt.jorammq.com www.scalagent.com 1 1 Overview Message Queue Telemetry Transport () is

More information

DSA-1000 / PRT-1000 Device Server / Thermal Printer

DSA-1000 / PRT-1000 Device Server / Thermal Printer LevelOne DSA-1000 / PRT-1000 Device Server / Thermal Printer User Manual V2.0 TABLE OF CONTENTS 1. INTRODUCTION...- 3-2. DEVICE OVERVIEW...- 7-3. HARDWARE SETUP...- 10-4. SYSTEM CONFIGURATION...- 12 -,

More information

Dynamic Bluetooth File Sharing With Cellular Devices. Project Goals

Dynamic Bluetooth File Sharing With Cellular Devices. Project Goals Dynamic Bluetooth File Sharing With Cellular Devices Steve Brar George Chen Michael Hair Jon Wagoner Project Goals Establishing a Bluetooth connection Download application software to client Look up existing

More information

Jini. Kurzfassung als Kapitel für die Vorlesung Verteilte Systeme. (unter Nutzung von Teilen von Andreas Zeidler und Roger Kehr)

Jini. Kurzfassung als Kapitel für die Vorlesung Verteilte Systeme. (unter Nutzung von Teilen von Andreas Zeidler und Roger Kehr) Jini Kurzfassung als Kapitel für die Vorlesung Verteilte Systeme Friedemann Mattern (unter Nutzung von Teilen von Andreas Zeidler und Roger Kehr) Jini Infrastructure ( middleware ) for dynamic, cooperative,

More information

Real time vehicle tracking and driver behaviour monitoring using cellular handset based accelerometer and GPS data

Real time vehicle tracking and driver behaviour monitoring using cellular handset based accelerometer and GPS data Real time vehicle tracking and driver behaviour monitoring using cellular handset based accelerometer and GPS data 4 th Year Electronic and Computing Project Report 05416361 Supervisor: Mr Liam Kilmartin

More information

Android Geek Night. Application framework

Android Geek Night. Application framework Android Geek Night Application framework Agenda 1. Presentation 1. Trifork 2. JAOO 2010 2. Google Android headlines 3. Introduction to an Android application 4. New project using ADT 5. Main building blocks

More information

Transparent Redirection of Network Sockets 1

Transparent Redirection of Network Sockets 1 Transparent Redirection of Network Sockets Timothy S. Mitrovich, Kenneth M. Ford, and Niranjan Suri Institute for Human & Machine Cognition University of West Florida {tmitrovi,kford,nsuri@ai.uwf.edu.

More information

ACTOR-BASED MODEL FOR CONCURRENT PROGRAMMING. Sander Sõnajalg

ACTOR-BASED MODEL FOR CONCURRENT PROGRAMMING. Sander Sõnajalg ACTOR-BASED MODEL FOR CONCURRENT PROGRAMMING Sander Sõnajalg Contents Introduction to concurrent programming Shared-memory model vs. actor model Main principles of the actor model Actors for light-weight

More information

Profiling and Testing with Test and Performance Tools Platform (TPTP)

Profiling and Testing with Test and Performance Tools Platform (TPTP) Profiling and Testing with Test and Performance Tools Platform (TPTP) 2009 IBM Corporation and Intel Corporation; made available under the EPL v1.0 March, 2009 Speakers Eugene Chan IBM Canada ewchan@ca.ibm.com

More information

LICENSE4J FLOATING LICENSE SERVER USER GUIDE

LICENSE4J FLOATING LICENSE SERVER USER GUIDE LICENSE4J FLOATING LICENSE SERVER USER GUIDE VERSION 4.5.5 LICENSE4J www.license4j.com Table of Contents Getting Started... 2 Floating License Usage... 2 Installation... 4 Windows Installation... 4 Linux

More information

Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013

Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013 Mobility Introduction Android Duration 16 Working days Start Date 1 st Oct 2013 Day 1 1. Introduction to Mobility 1.1. Mobility Paradigm 1.2. Desktop to Mobile 1.3. Evolution of the Mobile 1.4. Smart phone

More information

Wireless Mesh Networks under FreeBSD

Wireless Mesh Networks under FreeBSD Wireless Networks under FreeBSD Rui Paulo rpaulo@freebsd.org The FreeBSD Project AsiaBSDCon 2010 - Tokyo, Japan Abstract With the advent of low cost wireless chipsets, wireless mesh networks became much

More information

Altiris Task Server 6.0 Help

Altiris Task Server 6.0 Help Altiris Task Server 6.0 Help Notice Altiris Task Server 6.0 Help 2000-2006 Altiris, Inc. All rights reserved. Document Date: December 27, 2006 Information in this document: (i) is provided for informational

More information

Chapter 6. CORBA-based Architecture. 6.1 Introduction to CORBA 6.2 CORBA-IDL 6.3 Designing CORBA Systems 6.4 Implementing CORBA Applications

Chapter 6. CORBA-based Architecture. 6.1 Introduction to CORBA 6.2 CORBA-IDL 6.3 Designing CORBA Systems 6.4 Implementing CORBA Applications Chapter 6. CORBA-based Architecture 6.1 Introduction to CORBA 6.2 CORBA-IDL 6.3 Designing CORBA Systems 6.4 Implementing CORBA Applications 1 Chapter 6. CORBA-based Architecture Part 6.1 Introduction to

More information

Web Application Testing. Web Performance Testing

Web Application Testing. Web Performance Testing Web Application Testing Web Performance Testing Objectives of Performance Testing Evaluate runtime compliance to performance requirements Check different properties such as throughput (bits/sec, packets/sec)

More information

Report of the case study in Sistemi Distribuiti A simple Java RMI application

Report of the case study in Sistemi Distribuiti A simple Java RMI application Report of the case study in Sistemi Distribuiti A simple Java RMI application Academic year 2012/13 Vessio Gennaro Marzulli Giovanni Abstract In the ambit of distributed systems a key-role is played by

More information

Invocación remota (based on M. L. Liu Distributed Computing -- Concepts and Application http://www.csc.calpoly.edu/~mliu/book/index.

Invocación remota (based on M. L. Liu Distributed Computing -- Concepts and Application http://www.csc.calpoly.edu/~mliu/book/index. Departament d Arquitectura de Computadors Invocación remota (based on M. L. Liu Distributed Computing -- Concepts and Application http://www.csc.calpoly.edu/~mliu/book/index.html) Local Objects vs. Distributed

More information

Review from last time. CS 537 Lecture 3 OS Structure. OS structure. What you should learn from this lecture

Review from last time. CS 537 Lecture 3 OS Structure. OS structure. What you should learn from this lecture Review from last time CS 537 Lecture 3 OS Structure What HW structures are used by the OS? What is a system call? Michael Swift Remzi Arpaci-Dussea, Michael Swift 1 Remzi Arpaci-Dussea, Michael Swift 2

More information

Quick Connect. Overview. Client Instructions. LabTech

Quick Connect. Overview. Client Instructions. LabTech LabTech Quick Connect QUICK CONNECT 1 Overview... 1 Client Instructions... 1 Technician Instructions... 4 VNC... 5 RDP... 6 RAssist (Remote Assistance)... 8 IE (Internet Explorer browser)... 9 CMD... 10

More information

ios Application Development &

ios Application Development & Introduction of ios Application Development & Swift Programming Language Presented by Chii Chang chang@ut.ee Outlines Basic understanding about ios App Development Development environment: Xcode IDE Foundations

More information

Tuple spaces and Object spaces. Distributed Object Systems 12. Tuple spaces and Object spaces. Communication. Tuple space. Mechanisms 2.

Tuple spaces and Object spaces. Distributed Object Systems 12. Tuple spaces and Object spaces. Communication. Tuple space. Mechanisms 2. Distributed Object Systems 12 Tuple spaces and Object spaces Tuple spaces and Object spaces Tuple spaces Shared memory as a mechanism for exchanging data in a distributed setting (i.e. separate from processes)

More information

WASP User Manual. Revision: 1.6. (c) 2012 North Pole Engineering, Inc.

WASP User Manual. Revision: 1.6. (c) 2012 North Pole Engineering, Inc. Revision: 1.6 2 1 Introduction WASP is a standalone unit providing a bridge for ANT+ devices to communicate wirelessly through Wi-Fi networks, to other devices on the local network or over the Internet.

More information