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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

How To Make A System Context Aware

How To Make A System Context Aware 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

How To Write A Network Operating System For A Network (Networking) System (Netware)

How To Write A Network Operating System For A Network (Networking) System (Netware) 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Chapter 3 Security and Firewall Protection

Chapter 3 Security and Firewall Protection Chapter 3 Security and Firewall Protection This chapter describes how to use the basic firewall features of the ADSL2+ Modem Router to protect your network. Firewall Settings You can set up the ADSL2+

More information

E-commerce: Competing the Advantages of a Mobile Enterprise

E-commerce: Competing the Advantages of a Mobile Enterprise 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

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

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

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

TCP/IP Support Enhancements

TCP/IP Support Enhancements TPF Users Group Spring 2005 TCP/IP Support Enhancements Mark Gambino AIM Enterprise Platform Software IBM z/transaction Processing Facility Enterprise Edition 1.1.0 Any references to future plans are for

More information

User Guide. BlackBerry Storm 9530 Smartphone. Version: 4.7

User Guide. BlackBerry Storm 9530 Smartphone. Version: 4.7 BlackBerry Storm 9530 Smartphone Version: 4.7 SWD-490426-0909090640-001 Contents Shortcuts... 9 BlackBerry basics shortcuts... 9 Phone shortcuts... 9 Camera shortcuts... 9 Media shortcuts... 9 Typing shortcuts...

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

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

Introduction to Android

Introduction to Android Introduction to Android Poll How many have an Android phone? How many have downloaded & installed the Android SDK? How many have developed an Android application? How many have deployed an Android application

More information

Advanced Computer Networks Project 2: File Transfer Application

Advanced Computer Networks Project 2: File Transfer Application 1 Overview Advanced Computer Networks Project 2: File Transfer Application Assigned: April 25, 2014 Due: May 30, 2014 In this assignment, you will implement a file transfer application. The application

More information

SIMPLIFY MULTI-PLATFORM ENTERPRISE MOBILITY MANAGEMENT

SIMPLIFY MULTI-PLATFORM ENTERPRISE MOBILITY MANAGEMENT DATASHEET SIMPLIFY MULTI-PLATFORM ENTERPRISE MOBILITY MANAGEMENT Silver level EMM Enterprise Mobility Management for Corporate-owned and BYOD devices BlackBerry Enterprise Service 10 is a powerful device,

More information

FioranoMQ 9. High Availability Guide

FioranoMQ 9. High Availability Guide FioranoMQ 9 High Availability Guide Copyright (c) 1999-2008, Fiorano Software Technologies Pvt. Ltd., Copyright (c) 2008-2009, Fiorano Software Pty. Ltd. All rights reserved. This software is the confidential

More information

PROFESSIONAL. Node.js BUILDING JAVASCRIPT-BASED SCALABLE SOFTWARE. Pedro Teixeira WILEY. John Wiley & Sons, Inc.

PROFESSIONAL. Node.js BUILDING JAVASCRIPT-BASED SCALABLE SOFTWARE. Pedro Teixeira WILEY. John Wiley & Sons, Inc. PROFESSIONAL Node.js BUILDING JAVASCRIPT-BASED SCALABLE SOFTWARE Pedro Teixeira WILEY John Wiley & Sons, Inc. INTRODUCTION xxvii CHAPTER 1: INSTALLING NODE 3 Installing Node on Windows 4 Installing on

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

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

Experimental Comparison of Hybrid and Native Applications for Mobile Systems

Experimental Comparison of Hybrid and Native Applications for Mobile Systems , pp. 1-12 http://dx.doi.org/10.14257/ijmue.2015.10.3.01 Experimental Comparison of Hybrid and Native Applications for Mobile Systems Seung-Ho Lim Department of Digital Information Engineering Hankuk University

More information

About This Guide... 4. Signature Manager Outlook Edition Overview... 5

About This Guide... 4. Signature Manager Outlook Edition Overview... 5 Contents About This Guide... 4 Signature Manager Outlook Edition Overview... 5 How does it work?... 5 But That's Not All...... 6 And There's More...... 6 Licensing... 7 Licensing Information... 7 System

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

How To Secure Cloud Computing

How To Secure Cloud Computing Resilient Cloud Services By Hemayamini Kurra, Glynis Dsouza, Youssif Al Nasshif, Salim Hariri University of Arizona First Franco-American Workshop on Cybersecurity 18 th October, 2013 Presentation Outline

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

Virtuozzo Virtualization SDK

Virtuozzo Virtualization SDK Virtuozzo Virtualization SDK Programmer's Guide February 18, 2016 Copyright 1999-2016 Parallels IP Holdings GmbH and its affiliates. All rights reserved. Parallels IP Holdings GmbH Vordergasse 59 8200

More information

HPC performance applications on Virtual Clusters

HPC performance applications on Virtual Clusters Panagiotis Kritikakos EPCC, School of Physics & Astronomy, University of Edinburgh, Scotland - UK pkritika@epcc.ed.ac.uk 4 th IC-SCCE, Athens 7 th July 2010 This work investigates the performance of (Java)

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

CSC 2405: Computer Systems II

CSC 2405: Computer Systems II CSC 2405: Computer Systems II Spring 2013 (TR 8:30-9:45 in G86) Mirela Damian http://www.csc.villanova.edu/~mdamian/csc2405/ Introductions Mirela Damian Room 167A in the Mendel Science Building mirela.damian@villanova.edu

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

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

Windows Operating Systems. Basic Security

Windows Operating Systems. Basic Security Windows Operating Systems Basic Security Objectives Explain Windows Operating System (OS) common configurations Recognize OS related threats Apply major steps in securing the OS Windows Operating System

More information

Chapter 4 Firewall Protection and Content Filtering

Chapter 4 Firewall Protection and Content Filtering Chapter 4 Firewall Protection and Content Filtering This chapter describes how to use the content filtering features of the ProSafe Dual WAN Gigabit Firewall with SSL & IPsec VPN to protect your network.

More information