OIC Open Source Work Group. 1 Architecture IoTivity v1.0 CA API CA Control Network Config. Network Config. CoAP Protocol CoAP Protocol Interface Controller.

Slides:



Advertisements
Similar presentations
CCNA – Network Fundamentals
Advertisements

Review of Important Networking Concepts
Traffic Management - OpenFlow Switch on the NetFPGA platform Chun-Jen Chung( ) SriramGopinath( )
Socket Programming.
1 Some TCP/IP Basics....NFSDNSTELNETSMTPFTP UDPTCP IP and ICMP Ethernet, serial line,..etc. Application Layer Transport Layer Network Layer Low-level &
TCP/IP Protocol Suite 1 Chapter 11 Upon completion you will be able to: User Datagram Protocol Be able to explain process-to-process communication Know.
CS335 Networking & Network Administration Tuesday, April 20, 2010.
The OSI Model FTP API 7. Application 6. Presentation 5. Session 4. Transport 3. Network 2. Data Link 1. Physical HTTP Software.
Defining Network Protocols Application Protocols –Application Layer –Presentation Layer –Session Layer Transport Protocols –Transport Layer Network Protocols.
1 IP Forwarding Relates to Lab 3. Covers the principles of end-to-end datagram delivery in IP networks.
1 Review of Important Networking Concepts Introductory material. This slide uses the example from the previous module to review important networking concepts:
1.  A protocol is a set of rules that governs the communications between computers on a network.  Functions of protocols:  Addressing  Data Packet.
Network Management Concepts and Practice Author: J. Richard Burke Presentation by Shu-Ping Lin.
Introduction An introduction to the equipment and organization of the Internet Lab.
CP476 Internet ComputingCh.1 # 1 Lecture 2. A Brief Introduction to the Internet The objective is to understand The history of Internet What the Internet.
ECE 544 Project3 Kush Patel Siddharth Paradkar Ke Dong.
Sales Kickoff - ARCserve
Exploring the Packet Delivery Process Chapter
Page 19/13/2015 Chapter 8 Some conditions that must be met for host to host communication over an internetwork: a default gateway must be properly configured.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.1 ISP Services Working at a Small-to-Medium Business or ISP – Chapter 7.
Jaringan Komputer Dasar OSI Transport Layer Aurelio Rahmadian.
Automatic Software Testing Tool for Computer Networks ADD Presentation Dudi Patimer Adi Shachar Yaniv Cohen
Chapter 7 Low-Level Protocols
TCP/IP Essentials A Lab-Based Approach Shivendra Panwar, Shiwen Mao Jeong-dong Ryoo, and Yihan Li Chapter 5 UDP and Its Applications.
Traffic Management - OpenFlow Switch on the NetFPGA platform Chun-Jen Chung( ) Sriram Gopinath( )
1 IP: putting it all together Part 1 G53ACC Chris Greenhalgh.
SMUCSE 4344 transport layer. SMUCSE 4344 transport layer end-to-end protocols –transport code runs only on endpoint hosts encapsulates network communications.
Fundamentals of Computer Networks ECE 478/578 Lecture #19: Transport Layer Instructor: Loukas Lazos Dept of Electrical and Computer Engineering University.
Microsoft Windows Server 2003 TCP/IP Protocols and Services Technical Reference Slide: 1 Lesson 11 User Datagram Protocol (UDP)
IoTivity.
Chapter 4: Interprocess Communication‏ Pages
Networking Components Daniel Rosser LTEC Network Hub It is very difficult to find Hubs anymore Hubs sends data from one computer to all other computers.
Draft-kellil-sam-mtocp-01.txt – CEA, LIST - 78th IETF Meeting, 29July Multiparty Transport Overlay Control Protocol (MTOCP) draft-kellil-sam-mtocp-01.txt.
Remote Shell CS230 Project #4 Assigned : Due date :
OS Services And Networking Support Juan Wang Qi Pan Department of Computer Science Southeastern University August 1999.
INDEX oWoWhat is TCP/IP protocol suite ? oDoDifferent layers. oEoEncapsulation. oPoProtocol Interface.
2/26/021 Pegasus Security Architecture Author: Nag Boranna Hewlett-Packard Company.
CPSC 441 TUTORIAL – FEB 13, 2012 TA: RUITNG ZHOU UDP REVIEW.
Presented by Rebecca Meinhold But How Does the Internet Work?
IoTivity Client Application
1 Bus topology network. 2 Data is sent to all computers, but only the destination computer accepts 02608c
Introduction An introduction to the equipment and organization of the Internet Lab.
Slide #1 CIT 380: Securing Computer Systems TCP/IP.
IP1 The Underlying Technologies. What is inside the Internet? Or What are the key underlying technologies that make it work so successfully? –Packet Switching.
Chapter 36 Network Management & SNMP. Network management monitors network related hardware & software; troubleshoot network problems Detects major failures.
Network ManagerConnection Manager Connectivity and Messaging block Protocol Marshaller Factory.
- 1 - DPNM Review of Important Networking Concepts J. Won-Ki Hong Dept. of Computer Science and Engineering POSTECH Tel:
1 COMP 431 Internet Services & Protocols The IP Internet Protocol Jasleen Kaur April 21, 2016.
Client-server communication Prof. Wenwen Li School of Geographical Sciences and Urban Planning 5644 Coor Hall
Network Layer 1. OSI network layer  OSI model layer 3  TCP/IP model Internet layer Application Presentation Session Transport Network Data link Physical.
Cisco Routers Routers collectively provide the main feature of the network layer—the capability to forward packets end-to-end through a network. routers.
SOCKET PROGRAMMING Presented By : Divya Sharma.
Application Layer Functionality and Protocols Abdul Hadi Alaidi
Instructor Materials Chapter 6: Network Layer
A quick intro to networking
03 – Remote invoaction Request-reply RPC RMI Coulouris 5
Distributed Systems.
Scaling the Network: The Internet Protocol
Working at a Small-to-Medium Business or ISP – Chapter 7
Network Architecture Introductory material
Computer Networks 9/17/2018 Computer Networks.
Working at a Small-to-Medium Business or ISP – Chapter 7
Wireless Communication between Android Application and Sensors
Review of Important Networking Concepts
Working at a Small-to-Medium Business or ISP – Chapter 7
Setting Up Firewall using Netfilter and Iptables
Unit – 2 TCP.
Scaling the Network: The Internet Protocol
Virtual LAN (VLAN).
Presentation transcript:

OIC Open Source Work Group

1 Architecture IoTivity v1.0 CA API CA Control Network Config. Network Config. CoAP Protocol CoAP Protocol Interface Controller Interface Controller Transport Adapter BLE Adapter BLE Adapter BT Adapter BT Adapter Platform Adapter Ubuntu Android Tizen Arduino Android Interface Android Interface Ubuntu Interface Ubuntu Interface Tizen Interface Tizen Interface Arduino Interface Arduino Interface TCP Adapter TCP Adapter IP Adapter IP Adapter Resource Encapsulation IoTivity Application NFC Adapter NFC Adapter Message Switching Routing Manager Message Forwarder Configuration Resource Introspection Legend CA ComponentCA ModuleExternalUbuntuAndroidTizenArduino CA Control Component Target network selection and interface control and monitoring CoAP message serialization and parsing Blockwise messaging flow control Transport Adapter Component Data transmission over UDP, TCP, BLE( GATT ), BT( SPP ) and NFC Secure data exchanging using DTLS Platform Adapter Component Ubuntu Wifi, Ethernet and BLE Android Wifi, BLE and BT Tizen Wifi, BLE and BT Arduino Wifi, Ethernet and BLE Message Switching Gateway resource discovery Routing table update and managing Message routing( forwarding ) Blockwise Transfer

2 CA API CAResult_t CAInitialize(); void CATerminate(); CAResult_t CAStartListeningServer(); CAResult_t CAStopListeningServer(); CAResult_t CAStartDiscoveryServer(); void CARegisterHandler( CARequestCallback ReqHandler, CAResponseCallback RespHandler, CAErrorCallback ErrorHandler ); CAResult_t CACreateEndpoint( CATransportFlags_t flags, CATransportAdapter_t adapter, const char *addr, uint16_t port, CAEndpoint_t **object ); void CADestroyEndpoint(CAEndpoint_t *object); CAResult_t CAGenerateToken(CAToken_t *token, uint8_t tokenLength); void CADestroyToken(CAToken_t token); CAResult_t CASendRequest(const CAEndpoint_t *object, const CARequestInfo_t *requestInfo); CAResult_t CASendResponse(const CAEndpoint_t *object, const CAResponseInfo_t *responseInfo); CAResult_t CASelectNetwork(CATransportAdapter_t interestedNetwork); CAResult_t CAUnSelectNetwork(CATransportAdapter_t nonInterestedNetwork); CAResult_t CAGetNetworkInformation(CAEndpoint_t **info, uint32_t *size); CAResult_t CAHandleRequestResponse(); CAResult_t CASetRAInfo(const CARAInfo_t *caraInfo); *input parameter *output parameter

3 CA API | Dynamic View (Operation: Initialize) Connectivity Abstraction Layer > ConnectivityManager Resource Introspection Layer > Ubuntu / Tizen / Android / Arduino platform «thread» CA Common Queue > Interface Controller > Message Handler > Remote Handler > Network Configurator «thread» CA Adapter Queue > Protocol Message > Retransmission Handler > Adapter Common 1. API Request (CAInitialize) 1.1 Request 6. Request 6.1 Request 4. init > Block Wise Transfer 6.2 Init 3. Initialize Common Queue / Thread 5. init 2. CB init > IPAdapter EDRAdapter > BLEAdapter > TCPAdapter > RAAdapter >

4 CA API | Dynamic View (Operation: Select Network) Connectivity Abstraction Layer > ConnectivityManager Resource Introspection Layer > Ubuntu / Tizen / Android / Arduino platform «thread» CA Common Queue > Interface Controller > Adapter Common > Message Handler > Remote Handler > Network Configurator «thread» CA Adapter Queue > Protocol Message > Retransmission Handler 1. API Request(CASelectNetwork) > Block Wise Transfer 2. Add Network type 3. Start adapter 3.1 Request 4. Initialize&Start Adapter Thread > IPAdapter EDRAdapter > BLEAdapter > TCPAdapter > RAAdapter > 5. Start Network

5 CA API | Dynamic View (Operation: Start Server) Connectivity Abstraction Layer > ConnectivityManager Resource Introspection Layer > Ubuntu / Tizen / Android / Arduino platform «thread» CA Common Queue > Interface Controller > Adapter Common > Message Handler > Remote Handler > Network Configurator «thread» CA Adapter Queue > Protocol Message > Retransmission Handler 1. API Request (CAStartDiscoveryServer) 3. Request 1.1 Request > Block Wise Transfer > IPAdapter EDRAdapter > BLEAdapter > TCPAdapter > RAAdapter > 4. Start Multicast Server 2. Get Network list

6 CA API | Dynamic View (Operation: Start Server) Connectivity Abstraction Layer > ConnectivityManager Resource Introspection Layer > Ubuntu / Tizen / Android / Arduino platform «thread» CA Common Queue > Interface Controller > Adapter Common > Message Handler > Remote Handler > Network Configurator «thread» CA Adapter Queue > Protocol Message > Retransmission Handler 1. API Request (CAStartDiscoveryServer) 3. Request 1.1 Request > Block Wise Transfer > IPAdapter EDRAdapter > BLEAdapter > TCPAdapter > RAAdapter > 4. Start Multicast Server 2. Get Network list

7 CA API | Dynamic View (Operation: Create Endpoint ) Connectivity Abstraction Layer > ConnectivityManager Resource Introspection Layer > Ubuntu / Tizen / Android / Arduino platform «thread» CA Common Queue > Interface Controller > Adapter Common > Message Handler > Remote Handler > Network Configurator «thread» CA Adapter Queue > Protocol Message > Retransmission Handler 1. API Request (CACreateEndPoint) 2. Create Endpoint Object > Block Wise Transfer > IPAdapter EDRAdapter > BLEAdapter > TCPAdapter > RAAdapter >

8 CA API | Dynamic View (Operation: Generate Token) Connectivity Abstraction Layer > ConnectivityManager Resource Introspection Layer > Ubuntu / Tizen / Android / Arduino platform «thread» CA Common Queue > Interface Controller > Adapter Common > Message Handler > Remote Handler > Network Configurator «thread» CA Adapter Queue > Protocol Message > Retransmission Handler 1. API Request (CAGenerateToken) 2. Request > Block Wise Transfer > IPAdapter EDRAdapter > BLEAdapter > TCPAdapter > RAAdapter >

9 CA API | Dynamic View (Operation: Send Request/Response) Connectivity Abstraction Layer > ConnectivityManager Resource Introspection Layer > Ubuntu / Tizen / Android / Arduino platform «thread» CA Common Queue > Interface Controller > Adapter Common > Message Handler > Remote Handler > Network Configurator «thread» CA Adapter Queue > Protocol Message > Retransmission Handler 4. Generate PDU 6.2 Add PDU Data 7. Process PDU Data 7.1 Send Data 1. API Request (CASendRequest) > Block Wise Transfer 3.1 Add CA Data 1.1 Request 6. Request 6.1 Request 6.4 Request Retry 3.2 Process CA Data 2. Prepare Send Data > IPAdapter EDRAdapter > BLEAdapter > TCPAdapter > RAAdapter > 6.3 if CON, Add Retransmission List 3. Request 5. Request

10 CA API | Dynamic View (Operation: Send Request/Response) if BLE, TCP Connectivity Abstraction Layer > ConnectivityManager Resource Introspection Layer > Ubuntu / Tizen / Android / Arduino platform «thread» CA Common Queue > Interface Controller > Adapter Common > Message Handler > Remote Handler > Network Configurator «thread» CA Adapter Queue > Protocol Message > Retransmission Handler 4. Generate PDU 5.2 Add PDU Data 6. Process PDU Data 7. Send Data 1. API Request (CASendRequest) > Block Wise Transfer 3. Add CA Data 1.1 Request 5. Request 5.1 Request 5.4 Request Retry 2. Prepare Send Data 5.3 if CON, Add Retransmission List > IPAdapter EDRAdapter > BLEAdapter > TCPAdapter > RAAdapter > 3.1 Process CA Data

11 CA API | Dynamic View (Operation: Receive Request/Response) Connectivity Abstraction Layer > ConnectivityManager Resource Introspection Layer > Ubuntu / Tizen / Android / Arduino platform «thread» CA Common Queue > Interface Controller > Adapter Common > Message Handler > Remote Handler > Network Configurator «thread» CA Adapter Queue > Protocol Message > Retransmission Handler > Block Wise Transfer 1.2 Response 1.1 Response 1. Receive Data 7. Response 4. Stop if ACK/RST 2. Parsing PDU 3. Generate CA Data 5. Response > IPAdapter EDRAdapter > BLEAdapter > TCPAdapter > RAAdapter > 6.1 Process CA Data 6. Add CA Data

12 CA API | Dynamic View (Operation: Receive Request/Response) if more blocks follow Connectivity Abstraction Layer > ConnectivityManager Resource Introspection Layer > Ubuntu / Tizen / Android / Arduino platform «thread» CA Common Queue > Interface Controller > Adapter Common > Message Handler > Remote Handler > Network Configurator «thread» CA Adapter Queue > Protocol Message > Retransmission Handler > Block Wise Transfer 1.2 Response 1.1 Response 1. Receive Data 2. Parsing PDU 3. Generate CA Data 5. Response > IPAdapter EDRAdapter > BLEAdapter > TCPAdapter > RAAdapter > 7. Add CA Data to sendThread 6. Send Block message 4. Stop if ACK/RST

13 CA API | Dynamic View (Operation: Receive Response) if BLE, TCP Connectivity Abstraction Layer > ConnectivityManager Resource Introspection Layer > Ubuntu / Tizen / Android / Arduino platform «thread» CA Common Queue > Interface Controller > Adapter Common > Message Handler > Remote Handler > Network Configurator «thread» CA Adapter Queue > Protocol Message > Retransmission Handler > Block Wise Transfer 1.2 Response 1.1 Response 1. Receive Data 6. Response 4. Stop if ACK/RST 2. Parsing PDU 3. Generate CA Data 5. Add CA Data > IPAdapter EDRAdapter > BLEAdapter > TCPAdapter > RAAdapter > 5.1 Process CA Data

14 CA API | Dynamic View (Operation: Retransmission Fail – time out) Connectivity Abstraction Layer > ConnectivityManager Resource Introspection Layer > Ubuntu / Tizen / Android / Arduino platform «thread» CA Common Queue > Interface Controller > Adapter Common > Message Handler > Remote Handler > Network Configurator «thread» CA Adapter Queue > Protocol Message > Retransmission Handler > Block Wise Transfer 1. Add CA Data (timeout) 3. Response 2. Process CA Data > IPAdapter EDRAdapter > BLEAdapter > TCPAdapter > RAAdapter >

15 CA API | Dynamic View (Operation: Get Network Information) Connectivity Abstraction Layer > ConnectivityManager Resource Introspection Layer > Ubuntu / Tizen / Android / Arduino platform «thread» CA Common Queue > Interface Controller > Adapter Common > Message Handler > Remote Handler > Network Configurator «thread» CA Adapter Queue > Protocol Message > Retransmission Handler > Block Wise Transfer 1. Request 1.1 Request 1.2 Request 2. Get Network info > IPAdapter EDRAdapter > BLEAdapter > TCPAdapter > RAAdapter >