The Computer Communication Lab (236340) Spring 2005 Universal Plug and Play on Mobile Phone With Qualcomm - Device -

Slides:



Advertisements
Similar presentations
Universal Plug and Play protocol (UPnP)
Advertisements

TU/e Service Discovery Mechanisms: two case studies / IC2002 Service Discovery Mechanisms: Two case studies Control point Device UPnP Terminal Domain Host.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Addressing the Network – IPv4 Network Fundamentals – Chapter 6.
CISCO Discovery Protocol (CDP) ByAlexander Alperovich Alexandra Davidov Boris Kostenko.
Lecture 5 Middleware: Peer-to-Peer Computing
COEN 445 Communication Networks and Protocols Lab 4
Internet Networking Spring 2006 Tutorial 12 Web Caching Protocols ICP, CARP.
Rheeve: A Plug-n-Play Peer- to-Peer Computing Platform Wang-kee Poon and Jiannong Cao Department of Computing, The Hong Kong Polytechnic University ICDCSW.
Socket Programming.
1 Java Networking – Part I CS , Spring 2008/9.
Page: 1 Director 1.0 TECHNION Department of Computer Science The Computer Communication Lab (236340) Summer 2002 Submitted by: David Schwartz Idan Zak.
CS490T Advanced Tablet Platform Applications Network Programming Evolution.
User Interface. The Protocol Interface The service we have tested is a clock: the control point sends a request to the device (demo device in this case)
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #13 Web Caching Protocols ICP, CARP.
Networks: HTTP and DNS 1 The Internet and HTTP and DNS Examples.
(NHA) The Laboratory of Computer Communication and Networking Network Host Analyzer.
Design and Implementation of a Server Director Project for the LCCN Lab at the Technion.
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
Universal Plug and Play (UPnP) Presented by: Kamal Kamal Kamal Kamal Mohammad Atieh Mohammad Atieh.
VSP Video Station Protocol Presented by : Mittelman Dana Ben-Hamo Revital Ariel Tal Instructor : Sela Guy Presented by : Mittelman Dana Ben-Hamo Revital.
Certification Test Tool Update Toby Nixon Program Manager Microsoft Corporation.
Gursharan Singh Tatla Transport Layer 16-May
Lecture 8 Modeling & Simulation of Communication Networks.
CSIT 320 (Blum)1 Client-Server Interaction Based on Appendix 1 in Computer Networks and Internets, Comer.
INTRODUCTION TO WEB DATABASE PROGRAMMING
IT 210 The Internet & World Wide Web introduction.
Network Layer4-1 NAT: Network Address Translation local network (e.g., home network) /24 rest of.
Socket Lab Info. Computer Network. Requirement Use TCP socket to implement a pair of programs, containing a server and a client. The server program shall.
Web application architecture
Enabling Workflow in UPnP Networks Andreas BobekUniversity of Rostock Faculty of Computer Science and Electrical Engineering Andreas Bobek, Hendrik Bohn,
Chapter 1: Introduction to Web Applications. This chapter gives an overview of the Internet, and where the World Wide Web fits in. It then outlines the.
1.1 What is the Internet What is the Internet? The Internet is a shared media (coaxial cable, copper wire, fiber optics, and radio spectrum) communication.
HTTP HTTP stands for Hypertext Transfer Protocol. It is an TCP/IP based communication protocol which is used to deliver virtually all files and other.
Enabling Embedded Systems to access Internet Resources.
Networks – Network Architecture Network architecture is specification of design principles (including data formats and procedures) for creating a network.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Network Services Networking for Home and Small Businesses – Chapter 6.
© McLean HIGHER COMPUTER NETWORKING Lesson 1 – Protocols and OSI What is a network protocol Description of the OSI model.
Universal Plug and Play (UPnP) and XML Shridhar Bhat
Module 12: Routing Fundamentals. Routing Overview Configuring Routing and Remote Access as a Router Quality of Service.
Implementing Universal Plug And Play In Smart Objects And Intelligent Appliances Bengt Christensson CTO Axis Communications.
The Inter-network is a big network of networks.. The five-layer networking model for the internet.
UPnP Introduction 教授 : 逄愛君 組員 : 資訊三 張弘霖 資訊四 陳錦翰 資訊四 蔡旻諧.
Internet Real-Time Laboratory Arezu Moghadam and Suman Srinivasan Columbia University in the city of New York 7DS System Design 7DS system is an architecture.
1 Chapter 28 Networking. 2 Objectives F To comprehend socket-based communication in Java (§28.2). F To understand client/server computing (§28.2). F To.
ECEN “Internet Protocols and Modeling”, Spring 2012 Course Materials: Papers, Reference Texts: Bertsekas/Gallager, Stuber, Stallings, etc Class.
Prepared by: Azara Prakash L.. Contents:-  Data Transmission  Introduction  Socket Description  Data Flow Diagram  Module Design Specification.
1 Web Servers (Chapter 21 – Pages( ) Outline 21.1 Introduction 21.2 HTTP Request Types 21.3 System Architecture.
Service Discovery Protocols Mobile Computing - CNT Dr. Sumi Helal Professor Computer & Information Science & Engineering Department University.
A D - HOC MOBILE APPLICATION Submitted by: Artem Barger Itai Gannon Tatiana Shvartzman.
Web Server.
Web Services. 2 Internet Collection of physically interconnected computers. Messages decomposed into packets. Packets transmitted from source to destination.
CS 6401 The World Wide Web Outline Background Structure Protocols.
GENA (General Event Notification Architecture) RTLAB 이 남 지 2003/01/08.
Intro to Web Services Dr. John P. Abraham UTPA. What are Web Services? Applications execute across multiple computers on a network.  The machine on which.
Transport Protocols.
Requirements storage (in network / backend) simulation of events / algorithms support of a wide variety of technologies synchronization of several data.
COMP2322 Lab 4 Socket Programming Toby Lam March 2, 2016.
Java Networking I IS Outline  Quiz #3  Network architecture  Protocols  Sockets  Server Sockets  Multi-threaded Servers.
The Internet Technological Background. Topic Objectives At the end of this topic, you should be able to do the following: Able to define the Internet.
COMPUTER NETWORKS Hwajung Lee. Image Source:
Java’s networking capabilities are declared by the classes and interfaces of package java.net, through which Java offers stream-based communications that.
USING ANDROID WITH THE INTERNET. Slide 2 Lecture Summary Getting network permissions Working with the HTTP protocol Sending HTTP requests Getting results.
SOCKET PROGRAMMING Presented By : Divya Sharma.
COMP2322 Lab 4 Socket Programming
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
The Internet and HTTP and DNS Examples
Network Connected Devices
Starting TCP Connection – A High Level View
TA: Donghyun (David) Kim
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Presentation transcript:

The Computer Communication Lab (236340) Spring 2005 Universal Plug and Play on Mobile Phone With Qualcomm - Device -

Project Team Submitted by: –Gal –Einav Instructor: Constantine Elster Supervisor: Guy Sela

Project Goal Port the UPNP technology and develop a discovery protocol on Qualcomm mobile phones.

Background UPnP is an architecture for pervasive peer-to-peer network connectivity of intelligent appliances, wireless devices, and PCs of all form factors. It is designed to bring easy-to-use, flexible, standards-based connectivity to ad-hoc or unmanaged networks whether in the home, a small business, public spaces, or devices attached to the Internet. The UPnP Device Architecture defines the protocols for communication between control points and devices. In order to establish a UPnP connection the following steps have to be performed: discovery, description, control, eventing, and presentation. These steps will be discusses in detail later. UPnP uses an extended protocol stack to execute those steps.

Steps in UPnP Networking Step 1 – Discovery When a device is added to the network, the UPnP discovery protocol allows that device to advertise its services to control points on the network. Similarly, when a control point is added to the network, the UPnP discovery protocol allows that control point to search for devices of interest on the network. The fundamental exchange in both cases is a discovery message containing a few essential specifics about the device or one of its services, e.g., its type, identifier, and a pointer to more detailed information.

Steps in UPnP Networking Step 2 – Description The information supplied in the discovery step is not enough for the control point to learn about the device and its capabilities, or to interact with it. The control point uses the URL, provided in the discovery step, to retrieve the required information. The UPnP description for a device is partitioned into two: a device description describing the physical and logical containers, and one or more service descriptions describing the capabilities exposed by the device. In order to retrieve the service/device's description, the control point issues an HTTP GET request to the URL in the discovery message, and the device returns its description in the body of an HTTP response

Steps in UPnP Networking Step 3 – Control After getting the information about the device and its services, the control point can ask those services to invoke actions. When an action is completed (or failed), the service returns the action's results or errors. In case of a non-evented variable (will be explained in step 4 – eventing), the control point can poll the service for the variable's value.

Steps in UPnP Networking Step 4 – Eventing A UPnP service description includes a list of actions the service responds to and a list of variables that model the state of the service at run time. If one or more of these state variables are changed during the service's run time, the service publishes updates, and a control point may subscribe to receive this information. Some state variables may change value too rapidly or may contain very large values. For this, or other reasons, a service may designate one or more state variables as non-evented and never send event messages to subscribers. To determine the current value for such non-evented variables, control points must poll the service explicitly.

Steps in UPnP Networking Step 5 – Presentation If a device has a URL for presentation, then the control point can retrieve a page from this URL, load the page into a browser and, depending on the capabilities of the page, allow a user to control the device and/or view device status.

Project Description The current implementation contains the root device and one service that has one action. The service is a calculator and its action calculates the cosinus of an angle. The service’s state variable determines whether the calculation is performed in degrees or radians. The service changes the state variable frequently.

Project Description – Cont. Note: The implementation does not perform multicast transmissions (although defined in the protocol) since it is not supported in the Brew simulator.

Project Description – Cont. The project contains the following modules: 1.utilities 2.upnpdevice 3.parsers 4.headers 5.discovery 6.description 7.Control 8.Eventing

Utilities Module This module contains general functions that do not depend on the device’s structures. Examples: Printing to the simulator’s screen. Common conversions.

Upnpdevice Module This module contains the basic steps for initializing and cleaning up the system, and the basic operations for communicating over the network. It contains the following structures: 1.STUpnpDevice – This is the structure required by the Brew simulator for keeping the global variables. There is only one instance of this structure. Main members: Socket to listen on TCP incoming messages. Socket to listen on UDP incoming messages. Socket to send alive calls. List of subscribers.

Upnpdevice Module – Cont. List of services. 2.STSubscriber –Defines a subscriber. Main members: Subscription ID. IP and port to send events. The service id the subscriber is subscribed to. Pointer to the STUpnpDevice structure. Event key – the number of events sent to the subscriber. 3.STUserSession – Defines a session. Main members: Pointer to the STUpnpDevice structure. Pointer to the socket. Pointer to the message buffer. 4.STService – Defines a service. Main members: Service id. IP and port the service is listening on. State variable name and value. (Should be )

Parsers Module This module contains parsers for all kind of received messages. Note: No parsing for xml messages.

Headers Module This module contains functions to build the different packets of the protocol.

Discovery Module This module performs all operations that required for the Discovery step, i.e. send alive calls, responses to m-search, and byebye messages.

Description Module This module performs operations that required for the Description step. Note: In the current implementation the description files of the device and service exist in the project directory and are loaded from there.

Control Module This module performs operations that required for the Control step, i.e. invoking action and querying state variable.

Eventing Module This module performs operations that required for the Eventing step. Note: The implementation supports multi- subscribers.

Modules Relations eventing control discovery utilities upnpdevice headers parsers description

Data Structures STUpnpDevice STSubscriber STSubscriber STSubscriber STService STService STService STStateVarSTStateVar

Demonstration The demonstration uses a control point stub and contains 2 demos. Each message that the control point receives from the device is written into a file corresponding to the type of the message. Messages from the same type are concatenated to the same file.

Demo 1 1.The control point waits for alive calls. 2.The device starts and automatically sends alive messages every minute. 3.The device receives m-search message and sends response. 4.The device receives request for the device description and sends the device description to the control point. 5.The device receives request for the service description and sends the service description to the control point. 6.The device receives request to invoke action and sends the result to the control point.

Demo 1 – Cont. 7.The device receives query of state variable and sends the response to the control point. 8.The device receives subscription request for 20 seconds. Update with SID = 1. 9.The device sends event messages to the subscriber every 15 seconds. 10.After 10 seconds the device receives re-subscription request from the same subscriber for 40 seconds. The device continue sending event messages to the subscriber seconds later the device removes the subscriber from the subscribers list and stop sending him event messages.

Demo 2 1.The control point waits for alive calls 2.The device sends alive messages every minute. 3.The device receives subscription request for 60 seconds. Update with SID = 2. 4.The device receives subscription request for 60 seconds. Update with SID = 3. 5.Both subscribers receive event messages. 6.After 20 seconds the device receives un-subscribe message from the subscriber with SID = 2. The device removes this subscriber from the subscribers list and stop sending him event messages. 7.After 60 seconds the device removes the subscriber with SID = 3 from the subscribers list and stop sending him event messages. 8.The device sends byebye message to the control point and disconnect.