Comnet.technion.ac.il/~cn23s00 Computer Networks Laborator y Technion Israel Institute of Technology BlueTooth High-Level Simulator A Base Platform For.

Slides:



Advertisements
Similar presentations
Operating Systems Components of OS
Advertisements

SYSTEM ADMINISTRATION Chapter 19
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Network Services Networking for Home and Small Businesses – Chapter 6.
COEN 445 Communication Networks and Protocols Lab 4
Network Layer and Transport Layer.
Data and Computer Communications Eighth Edition by William Stallings Lecture slides by Lawrie Brown Chapter 2 – Protocol Architecture, TCP/IP, and Internet-Based.
Computer Monitoring System for EE Faculty By Yaroslav Ross And Denis Zakrevsky Supervisor: Viktor Kulikov.
1 William Stallings Data and Computer Communications 7 th Edition Chapter 2 Protocols and Architecture.
Data and Computer Communications Eighth Edition by William Stallings Lecture slides by Lawrie Brown Chapter 2 – Protocol Architecture, TCP/IP, and Internet-Based.
A CHAT CLIENT-SERVER MODULE IN JAVA BY MAHTAB M HUSSAIN MAYANK MOHAN ISE 582 FALL 2003 PROJECT.
Performed by: Yair Sommer Rea Yeheskel Instructor: Idan Katz Cooperated with:Motorola הטכניון - מכון טכנולוגי לישראל הפקולטה להנדסת חשמל Technion - Israel.
Project Progress Presentation GENERATION OF NS2 TRACE FILES FOR SATELLITE-WIRELESS NETWORKS CS603 - Wireless Communications & Networks Summer II 2003 Wasim.
Networking Support In Java Nelson Padua-Perez Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
© Lethbridge/Laganière 2001 Chap. 3: Basing Development on Reusable Technology 1 Let’s get started. Let’s start by selecting an architecture from among.
Design and Implementation of a Server Director Project for the LCCN Lab at the Technion.
William Stallings Data and Computer Communications 7 th Edition Chapter 2 Protocols and Architecture.
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Transport Protocols Slide 1 Transport Protocols.
WXES2106 Network Technology Semester /2005 Chapter 8 Intermediate TCP CCNA2: Module 10.
COE 342: Data & Computer Communications (T042) Dr. Marwan Abu-Amara Chapter 2: Protocols and Architecture.
Fundamentals of Python: From First Programs Through Data Structures
Gursharan Singh Tatla Transport Layer 16-May
TCP/IP Tools Lesson 5. Objectives Skills/ConceptsObjective Domain Description Objective Domain Number Using basic TCP/IP commands Understanding TCP/IP3.6.
Automatic Software Testing Tool for Computer Networks ARD Presentation Adi Shachar Yaniv Cohen Dudi Patimer
What Can IP Do? Deliver datagrams to hosts – The IP address in a datagram header identify a host IP treats a computer as an endpoint of communication Best.
Process-to-Process Delivery:
1 Lab 3 Transport Layer T.A. Youngjoo Han. 2 Transport Layer  Providing logical communication b/w application processes running on different hosts 
Graduate Operating Systems Mini-Project: Hacking Bluetooth In Linux Alan Joseph J Caceres.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
Hands-On Microsoft Windows Server 2003 Networking Chapter Three TCP/IP Architecture.
Data and Computer Communications Eighth Edition by William Stallings Lecture slides by Lawrie Brown Chapter 2 – Protocol Architecture, TCP/IP, and Internet-Based.
70-291: MCSE Guide to Managing a Microsoft Windows Server 2003 Network Chapter 3: TCP/IP Architecture.
Presentation on Osi & TCP/IP MODEL
Lecture 2 TCP/IP Protocol Suite Reference: TCP/IP Protocol Suite, 4 th Edition (chapter 2) 1.
1 Lecture 4: Threads Operating System Fall Contents Overview: Processes & Threads Benefits of Threads Thread State and Operations User Thread.
Protocols and the TCP/IP Suite
Bluetooth Background Ericsson, IBM, Intel, Nokia, and Toshiba
William Stallings Data and Computer Communications 7 th Edition Data Communications and Networks Overview Protocols and Architecture.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Network Services Networking for Home and Small Businesses – Chapter 6.
Jozef Goetz, Application Layer PART VI Jozef Goetz, Position of application layer The application layer enables the user, whether human.
University of the Western Cape Chapter 12: The Transport Layer.
MANETS Justin Champion Room C203, Beacon Building Tel 3292,
Wireless Software R&D Group, IITP RAS Kirill Andreev, Aleksey Kovalenko, Dmitriy Lakontsev Realization of IEEE802.11s draft standard in NS-3.3 Institute.
COP 4930 Computer Network Projects Summer C 2004 Prof. Roy B. Levow Lecture 3.
The Socket Interface Chapter 21. Application Program Interface (API) Interface used between application programs and TCP/IP protocols Interface used between.
Lesson 5—Networking BASICS1 Networking BASICS Protocols and Network Software Unit 2 Lesson 5.
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.
Bluetooth on CE. Mid - Presentation Roman Zoltsman & Oren Haggai Group /2001 Instructor: Nir Borenshtein HSDSL Lab. Technion.
Comnet.technion.ac.il/~cn23s00 Computer Networks Laborator y Technion Israel Institute of Technology BlueTooth High-Level Simulator A Base Platform For.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Connecting Devices CORPORATE INSTITUTE OF SCIENCE & TECHNOLOGY, BHOPAL Department of Electronics and.
Network Protocols and Standards (Part 2). The OSI Model In 1984, the International Organization for Standardization (ISO) defined a standard, or set of.
Bluetooth In 1994, the L. M. Ericsson company became interested in connecting its mobile phones to other devices without cables. A SIG (Special Interest.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
Reading TCP/IP Protocol. Training target: Read the following reading materials and use the reading skills mentioned in the passages above. You may also.
The OSI Model A Framework for Communications David A. Abarca July 19, 2005.
Multithreading The objectives of this chapter are: To understand the purpose of multithreading To describe Java's multithreading mechanism.
Introduction Contain two or more CPU share common memory and peripherals. Provide greater system throughput. Multiple processor executing simultaneous.
UDP: User Datagram Protocol Chapter 12. Introduction Multiple application programs can execute simultaneously on a given computer and can send and receive.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
The OSI Model. Understanding the OSI Model In early 1980s, manufacturers began to standardize networking so that networks from different manufacturers.
1 Network Communications A Brief Introduction. 2 Network Communications.
1 K. Salah Application Layer Module K. Salah Network layer duties.
Data and Computer Communications Chapter 2 – Protocol Architecture, TCP/IP, and Internet-Based Applications.
Instructor Materials Chapter 9: Transport Layer
Chapter 3 Internet Applications and Network Programming
Real Life Networking Examples
Process-to-Process Delivery:
Chapter 2: Operating-System Structures
Chapter 2: Operating-System Structures
Process-to-Process Delivery: UDP, TCP
Exceptions and networking
Presentation transcript:

comnet.technion.ac.il/~cn23s00 Computer Networks Laborator y Technion Israel Institute of Technology BlueTooth High-Level Simulator A Base Platform For Simulating Packets Routing Algorithms Over A Bluetooth Scatternet Students: Ehud Eitan Instructor : Ran Cohen

BlueTooth High Level Simulator , ZLE Strategy summary BlueTooth Background  BlueTooth is a technology specification.  It describes how various electronic products, can interconnect with each other using a short-range wireless connection, and establish a network.  Some BlueTooth basic terms: Unit - The most primitive element in a BlueTooth scatternet. It can be any electronic product which implements the BlueTooth specification. At a single piconet, a unit can be a master unit or a slave unit. Unit - The most primitive element in a BlueTooth scatternet. It can be any electronic product which implements the BlueTooth specification. At a single piconet, a unit can be a master unit or a slave unit. Piconet - A “mini-network”, with small coverage area, which consist of o ne BlueTooth master unit, and o ne to seven slave units. Slaves communicate only with the master unit (and not with each other). Piconet - A “mini-network”, with small coverage area, which consist of o ne BlueTooth master unit, and o ne to seven slave units. Slaves communicate only with the master unit (and not with each other). A BlueTooth Scatternet Scatternet - Group of piconets with overlapping area of coverage. A unit can act as master & slave at the same time in different piconets or as slave in those piconets. It is possible to route packets in a scatternet. Scatternet - Group of piconets with overlapping area of coverage. A unit can act as master & slave at the same time in different piconets or as slave in those piconets. It is possible to route packets in a scatternet.

BlueTooth High Level Simulator , ZLE Strategy summary Project Objectives  Base platform for simulating routing algorithms over a scatternet.  Simulates connecting/disconnecting of units to the scatternet over the time axis.  The behavior of the unit is pre-defined by the user using different attributes.  Supporting run-time tracing over unit’s connectivity to the scatternet.  User Interference during run-time, can be used to connect/disconnect units form the piconet or the scatternet.

BlueTooth High Level Simulator , ZLE Strategy summary Our Implementation - General  Language: Java. Code can run on any platform. Code can run on any platform. Ready classes for networking and threads. Ready classes for networking and threads.  Each unit is represented by a separate process. Our code implements a single unit, which can be executed from the command prompt. Our code implements a single unit, which can be executed from the command prompt. Running a few units simultaneously, can create a piconet/ scatternet. Running a few units simultaneously, can create a piconet/ scatternet.  The units communicate over the network using UDP: UDP is best for simulation radio transmissions. UDP is best for simulation radio transmissions. Units can run on different machines. Units can run on different machines. Packets loss is simulated in application level. Packets loss is simulated in application level.  Acknowledge is needed for every packet transmissions (except broadcast & SCO connection), and is implemented in application level.

BlueTooth High Level Simulator , ZLE Strategy summary  Packets enumerating is used to distinguish packets: Avoiding duplicated packets/ack. to be executed more then once. Avoiding duplicated packets/ack. to be executed more then once. Use Responses Cache in order to save re-calculating a certain response, when duplicating request is received. Use Responses Cache in order to save re-calculating a certain response, when duplicating request is received.  Running the simulation can be done through script: Scripts Contain some attributes for each unit, in a single line. Scripts Contain some attributes for each unit, in a single line. It executes the processes/units one by one. It executes the processes/units one by one.  Command-line user interface can be used to change/see units’ attributes on run time: Changing the roles of a unit, means connecting disconnecting it from a specific piconet, or destroying it completely. Changing the roles of a unit, means connecting disconnecting it from a specific piconet, or destroying it completely. Seeing the units connectivity, and other information. Seeing the units connectivity, and other information. Our Implementation – General (cont.) Script Line Example: Btsim -master if Role of the unit Executable Name Role’s start time IP address of this role Use user interface Role’s end time Port number of this role

BlueTooth High Level Simulator , ZLE Strategy summary High Level Design – Classes Relations BT_sendBT_requestsTableBT_msgSendQueueBT_recv BT_udpConnection BT_responseCache BT_unitFuncManager BT_unitFunc 1 N SlaveMaster Inherited BT_scheduler BT_userInterface

BlueTooth High Level Simulator , ZLE Strategy summary High Level Design – Main Classes Description  BTudpConnection - A single network connection.  BTrecv - Inherited from thread class, and handles received massages from the network. There are two kind of received massages: Request - Contain a certain command that should be handled by the receiving unit. For example, a request from new slave unit to the piconet’s master to be added to this piconet. Request - Contain a certain command that should be handled by the receiving unit. For example, a request from new slave unit to the piconet’s master to be added to this piconet. Response – Contains the result of executing previous Request. There are two kinds of responses: Response – Contains the result of executing previous Request. There are two kinds of responses: – Immediate response – Indicates that the request and was received, and the receiving unit started to process it. It is sent when the processing time of the request might be long. – Final replay – Indicates that the receiving unit finished processing the request, and contains the requested data. As in the example above, the master can replay to the new unit with its identification number in the piconet or by denying the request  BTrequestsTable - Implements a table, that contains requests that were sent on the network, but no acknowledgements were received for them.

BlueTooth High Level Simulator , ZLE Strategy summary High Level Design – Main Classes Description (continue)  BTresponseCache - Caching implementation of the responses that the unit is sending to other units: When a request from the unit is received at the first time: When a request from the unit is received at the first time: – It is passed to BTunitFuncManager that generates a response. – The response is stored in the data structure of this class. If this request is received again (response was lost): If this request is received again (response was lost): – Its response is stored in the cache of receiving unit (BTrecv). – The response is read from the cache, and is send immediately. The time of computing the response again is saved.  BTmsgSendQueue - Implements a queue of massages that should to be sent: BTrecv & BTunitFunc classes fill this queue with massages. BTrecv & BTunitFunc classes fill this queue with massages. BTsend’, which run on separate thread, fetches the massages that is located on the top of this queue, and send them. BTsend’, which run on separate thread, fetches the massages that is located on the top of this queue, and send them.  BTsend -Inherited from thread class, and has two tasks: Sends to network the massages that are in BTmsgSendQueue. Each sent massage is also added to BTrequestsQueue. Sends to network the massages that are in BTmsgSendQueue. Each sent massage is also added to BTrequestsQueue. Re-send requests that weren’t acknowledged by the destination unit after a certain time (using BTrequestsQueue). Re-send requests that weren’t acknowledged by the destination unit after a certain time (using BTrequestsQueue).

BlueTooth High Level Simulator , ZLE Strategy summary High Level Design – Main Classes Description (continue)  BTunitFunc - Represents a single functionality of the unit in the Bluetooth scatternet. Such a functionality is either master or a slave in a single piconet. Such a functionality is either master or a slave in a single piconet. A unit can own more than one BTunitFunc, if it is in a few piconets. A unit can own more than one BTunitFunc, if it is in a few piconets. Those two functionalities are inherited from this class. Those two functionalities are inherited from this class.  BTunitFuncManager - Responsible for the following: Create a new BTunitFunc, or destroy an existing one. Create a new BTunitFunc, or destroy an existing one. – Creation or destruction of BTunitFunc is done, when a command is passed to this class from BTscheduler or BTuserInterface classes. Receive massages from BTrecv and deliver them to the right BTunitFunctional object. Receive massages from BTrecv and deliver them to the right BTunitFunctional object.  BTuserInterface - Inherited from thread class, & has the following tasks: Display unit’s information to the user on screen. Display unit’s information to the user on screen. Receive from the user some basic commands. Receive from the user some basic commands.  BTscheduler - It is the main stream of the unit, & has two main tasks: Create all other objects on proccess initialization. Create all other objects on proccess initialization. Schedule the creation and the destruction of BTunitFunc classes, by using functions of BTunitFuncManager Schedule the creation and the destruction of BTunitFunc classes, by using functions of BTunitFuncManager