© 2007 Open Grid Forum NSI CS Protocol State Machine Message Handling OGF 37.

Slides:



Advertisements
Similar presentations
COS 461 Fall 1997 Network Objects u first good implementation: DEC SRC Network Objects for Modula-3 u recent implementation: Java RMI (Remote Method Invocation)
Advertisements

FIPA Interaction Protocol. Request Interaction Protocol Summary –Request Interaction Protocol allows one agent to request another to perform some action.
Lawrence Berkeley National LaboratoryU.S. Department of Energy | Office of Science Network Service Interface (NSI) Inder Monga Co-chair, Network Services.
© 2006 Open Grid Forum Network Service Interface in a Nut Shell GEC 19, Atlanta, GA Presenter: Chin Guok (ESnet) Contributors: Tomohiro Kudoh (AIST), John.
CS3771 Today: deadlock detection and election algorithms  Previous class Event ordering in distributed systems Various approaches for Mutual Exclusion.
Remote Procedure Call Design issues Implementation RPC programming
CS542: Topics in Distributed Systems Distributed Transactions and Two Phase Commit Protocol.
CIS 720 Concurrency Control. Timestamp-based concurrency control Assign a timestamp ts(T) to each transaction T. Each data item x has two timestamps:
Distributed Network Control for Optical Networks Presented by, Sree Rama Nomula
Internet Networking Spring 2006 Tutorial 12 Web Caching Protocols ICP, CARP.
Implementing Remote Procedure Calls Authors: Andrew D. Birrell and Bruce Jay Nelson Xerox Palo Alto Research Center Presenter: Jim Santmyer Thanks to:
CS 582 / CMPE 481 Distributed Systems Replication.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #13 Web Caching Protocols ICP, CARP.
Distributed Systems Fall 2009 Replication Fall 20095DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
1 CCNA 2 v3.1 Module 8. 2 TCP/IP Suite Error and Control Messages CCNA 2 Module 8.
Chapter 26 Client Server Interaction Communication across a computer network requires a pair of application programs to cooperate. One application on one.
Click to add text © 2010 IBM Corporation Business Analytics software Using Cognos HTS for Report Review and Approvals.
Petrozavodsk State University, Alex Moschevikin, 2003NET TECHNOLOGIES Internet Control Message Protocol ICMP author -- J. Postel, September The purpose.
ICMP (Internet Control Message Protocol) Computer Networks By: Saeedeh Zahmatkesh spring.
1 Computer Communication & Networks Lecture 20 Network Layer: IP and Address Mapping (contd.) Waleed.
1 Version 3.1 modified by Brierley Module 8 TCP/IP Suite Error and Control Messages.
Distributed Transactions March 15, Transactions What is a Distributed Transaction?  A transaction that involves more than one server  Network.
Ad hoc On-demand Distance Vector (AODV) Routing Protocol ECE 695 Spring 2006.
6.1. Transport Control Protocol (TCP) It is the most widely used transport protocol in the world. Provides reliable end to end connection between two hosts.
TCP/IP Essentials A Lab-Based Approach Shivendra Panwar, Shiwen Mao Jeong-dong Ryoo, and Yihan Li Chapter 5 UDP and Its Applications.
© 2002, Cisco Systems, Inc. All rights reserved..
Chapter 19 Recovery and Fault Tolerance Copyright © 2008.
Chapter 6-2 the TCP/IP Layers. The four layers of the TCP/IP model are listed in Table 6-2. The layers are The four layers of the TCP/IP model are listed.
Content Addressable Network CAN. The CAN is essentially a distributed Internet-scale hash table that maps file names to their location in the network.
TCP/IP Honolulu Community College Cisco Academy Training Center Semester 2 Version 2.1.
ITEC 502 컴퓨터 시스템 및 실습 Chapter 2-1: Process Mi-Jung Choi DPNM Lab. Dept. of CSE, POSTECH.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Chapter 8 Fault.
CS 453 Computer Networks Lecture 9 Layer 2 – Data Link Layer.
AODV: Introduction Reference: C. E. Perkins, E. M. Royer, and S. R. Das, “Ad hoc On-Demand Distance Vector (AODV) Routing,” Internet Draft, draft-ietf-manet-aodv-08.txt,
ECEN “Internet Protocols and Modeling”, Spring 2012 Course Materials: Papers, Reference Texts: Bertsekas/Gallager, Stuber, Stallings, etc Class.
© 2006 Open Grid Forum Network Services Interface OGF 32, Salt Lake City Guy Roberts, Inder Monga, Tomohiro Kudoh 16 th July 2011.
EEC 688/788 Secure and Dependable Computing Lecture 10 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Chapter 8 Fault.
The Totem Single-Ring Ordering and Membership Protocol Y. Amir, L. E. Moser, P. M Melliar-Smith, D. A. Agarwal, P. Ciarfella.
Building Dependable Distributed Systems, Copyright Wenbing Zhao
CSCI 465 D ata Communications and Networks Lecture 2 Martin van Bommel CSCI 465 Data Communications & Networks 1.
Networks, Part 2 March 7, Networks End to End Layer  Build upon unreliable Network Layer  As needed, compensate for latency, ordering, data.
IEEE MEDIA INDEPENDENT HANDOVER DCN: XXXX Title: Panasonic’s MIH Proposal (Details) Date Submitted: January, 09,
© 2006 Open Grid Forum Network Services Interface Document roadmap, April 2014 Guy Roberts, Chin Guok, Tomohiro Kudoh.
COMPUTER NETWORKS Hwajung Lee. Image Source:
“Time” in the NSI Protocol Two notions of “Time” are important to NSI Connection Service – Absolute time Globally Coordinated Time and Date, “UTC” time.
1 Network Services Interface Connection Service v2.0 Tomohiro Kudoh (AIST) (OGF NSI-WG)
NSI Service Definition Federation of providers A group of network providers get together and decide that they wish to offer a multi-domain connection services.
© 2006 Open Grid Forum Network Services Interface CS Errata Guy Roberts, Chin Guok, Tomohiro Kudoh 29 Sept 2015.
1 Network Services Interface An Interface for Requesting Dynamic Inter- datacenter Networks Tomohiro Kudoh (AIST) Guy Roberts (DANTE) Inder Monga (ESnet)
Saturday, July OGF32 – Salt Lake City NSI-WG: Network Service Interface working group OGF NSI Protocol Protocol status and discussion John MacAuley.
1 A Proposal of NSI CS Client REST I/F Atsuko Takefusa National Institute of Advanced Industrial Science and Technology (AIST)
© 2006 Open Grid Forum Network Services Interface Policy-based routing enforcement John MacAuley, ESnet 4 th February 2015.
Thoughts on the Firewall NAT issue* 1 Tomohiro Kudoh * I think the issue we are discussing as the “firewall issue” is almost a NAT issue (i.e. a process.
Protocol = messaging + semantics – Arlington state machine is for messaging – Berkeley state machines is for semantics Issue of Arlington state machine.
GEANT OpenCall – NSI CONTEST NSI CONTEST – Demonstrator Giacomo Bernini Nextworks GENI Networking Conference 22, March 2015, Washington DC.
NSA RA SM PA SM RA SM NSA PA SM NSA RA SM PA SM NRM NSI messages Input/output internal to an NSA PA/RA state machines which only handles message exchange.
EEC 688/788 Secure and Dependable Computing Lecture 10 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
OGF NSI CS Protocol State Machine Converged single view July 16, 2011.
OGF NSI CS Protocol State Machine
Connection Versions in v2
Inder Monga Co-chair, OGF NSI-WG
Network Services Interface
NSI Service Definition
Network Services Interface
Network Services Interface
EEC 688/788 Secure and Dependable Computing
UNIVERSITAS GUNADARMA
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
Presentation transcript:

© 2007 Open Grid Forum NSI CS Protocol State Machine Message Handling OGF 37

Coordinator and Message Transport Layer (MTL) 2 Coor is a part of NSI stack, and uses MTL to send/receive messages Coor is primarily responsible for keeping track of messaging state, e.g. Who was the message sent to Was the message received (i.e. ack’ed or MTL timeout) Who has not replied to the message (e.g. *.cf, *.fl, etc) MTL is primarily responsible for sending and receiving messages, and notifying Coor if the message was received, or if a (MTL) timeout occurs MTL interface (to Coor) has 2 simple operations: Send: waits for ack to be returned by destination MTL, or timeout happens. Timeout value is implementation dependent. NB: The MTL may be implemented to retry sending messages, but this is opaque to the Coor Receive: a thread in Coor is invoked when a message is received NSA NSI Stack Message Transport Layer Coordinator

© 2007 Open Grid Forum NSA (ultimate) Provider Agent Message Transport Layer Network Resource Manager Coordinator NSA (ultimate) Requester Agent Message Transport Layer Coordinator NSA (ultimate) Provider Agent Message Transport Layer Aggregator Agent Message Transport Layer Network Resource Manager Coordinator NSA Aggregator Agent Message Transport Layer Coordinator NSA (ultimate) Provider Agent Message Transport Layer Network Resource Manager Coordinator Request Workflow Tree Example Dual function NSA (e.g. AG and uPA)

Message ack, reply and timeouts Ack is sent by MTL for each message – If ack is not returned in a certain period of time, MTL timeout occurs Reply is sent by Coor (via MTL) and is either confirm, fail or not_applicable – Coor can timeout if expected reply is not received from a child : MTL timeout may happen : Coor timeout may happen NSA Provider Agent MH MTL Coor NSA Requeste r Agent MTL Coor message ack request return reply message reply ack notification message ack return notification request

Timeouts Message transport layer (MTL) timeout – Underlying MTL (http/tcp) initiates a MTL timeout – Happens when an ack is not returned for a message. Coordinator timeout – Coor can timeout if a reply message is not returned in a certain period of time Coor notifies both MTL and Coor timeouts to the parent RA When a MTL/Coor timeout is notified, uRA can either retry or terminate the connection. – Retry is requested by NSI_messageRetry.rq, which has the original request message's id (correlation id) as a parameter – Coor keeps not-yet-replied requests in a table, so that it can re-send the request. 5

Notifications: Activation related There are no activateComplete.nt nor deactivateComplete.nt A general error message is used to notify following events. Those error are sent up the tree to uRA immediately – activateFailed: Activation failed at the time when uPA should activate its data plane – deactivateFailed: Deactivation failed at the time when uPA should deactivate its data plane – dataplaneError: Data plane is deactivate when deactivation is not expected. The error is recoverable. – forcedEnd: Something unrecoverable is happened in uPA/NRM 6

Notifications: modify timeout and MTL failure NSI_modifyTimeout.nt NSI_genericEvent.nt – Message delivery failure will be notified by this message (to be defined) When a MTL/Coor timeout is notified, uRA can either retry or terminate the connection. – Retry is requested by NSI_messageRetry.rq, which has the original request message's id (correlation id) as a parameter 7

Data plane activation Data plane should be activated if the PSM is in “Provisioned” state AND start_time < current_time < end_time Activation is done at the timing of following events (if the above condition is met), using the latest reservation information – PSM transits to “Provisioned” – At the start_time – Reservation is updated (by commit of modify) – Data plane is recovered from an error Data plane activation/deactivation are notified by DataPlaneStateChange.nt notification messages. Errors are notified by a generic error message 8

DataPlaneStateChage.nt (1) PA and aggregator has DataPlaneStatus information – (Boolean) Active: True if data plane is active. For an aggregator, this flag is true when data plane is activated in all participating children – (Int) Version: For a uPA, current (latest) reservation version number. For an aggregator, the largest version number of the participating children. This field is valid when Active is true. – (Boolean) VersionConsistent: Always true for uPA. For an aggregator, If version numbers of all children are the same, This flag is true. This field is valid when Active is true. When a valid filed of DataPlaneStatus is changed, DataPlaneStatusChange.nt is sent up. 9 Active Version VersionConsistent DataPlaneStatus

DataPlaneStateChange.nt(2) An aggregator keeps an array of statuses of its children, ChildrenDataPlaneStatus[1..n] Aggregator’s DataPlaneStatus is determined by the following rule 10 if all of ChildrenDataPlaneStatus[1..n].Active are true then { DataPlaneStatus.Active = true DataPlaneStatus.Version = maximum_of(ChildrenDataPlaneStatus[1..n].Version) If all ChildrenDataPlaneStatus[1..n].Version are the same, and all of ChildrenDataPlaneStatus[1..n].VersionCosistent are true then DataPlaneStatus.VersionConsistent = true else DataPlaneStatus.VersionConsistent = false } Active Ver. VC ChildrenDataPlaneStatus Active Ver. VC DataPlaneStatus Active Ver. VC Active Ver. VC Child 1Child 2Child n

1 Conn_ID, A-Z STPs, Parameters 1.1 Corr_ID, Status 1.2 Corr_ID, Status 1.1 NSA, Conn_ID, A-Z STPs, Parameters, RSM, PSM, LSM, Data_Plane 1.2 NSA, Conn_ID, A-Z STPs, Parameters, RSM, PSM, LSM, Data_Plane 1.n NSA, Conn_ID, A-Z STPs, Parameters, RSM, PSM, LSM, Data_Plane Corr_ID, Status Corr_ID, Status 1.1.n Corr_ID, Status Corr_ID, Status Corr_ID, Status 1.2.n Corr_ID, Status List of Connection Reservations connection_list(Conn_ID) List of children NSAs associated with a Connection Reservation connection_segment_list(Conn_ID, NSA) A connection reservation may be broken down into several smaller segment requests to other (children) NSAs Information generated per Reservation (Connection) Information generated per NSI Request (Message) List of (summary) NSI Requests associated with a Connection Request request_list(Conn_ID, Corr_ID) List of child NSA NSI Requests associated with a (summary) NSI Request request_segment_list(Conn_ID, NSA, Corr_ID) A connection reservation will consist of one or more NSI Requests An NSI request may result in several distinct child NSA NSI Requests Each NSA segment NSI Request is associated to the corresponding child NSA Connection Reservation Information tracked by Coordinator