Probabilistic Verification of GBN Group Members: Lin Huang(lh2647), Yuechen Qin(yq2158), Xi Chen(xc2257), Runxi Zhou(rz2286), Shuang Zhang(sz2426) 04/08/2014.

Slides:



Advertisements
Similar presentations
PROTOCOL VERIFICATION & PROTOCOL VALIDATION. Protocol Verification Communication Protocols should be checked for correctness, robustness and performance,
Advertisements

Assume that a file is transferred from a node A to a node B. The file has been fragmented in 5 frames. Frame 0 is corrupted, the ACK of frame 1 is corrupted,
1 CONGESTION CONTROL. 2 Congestion Control When one part of the subnet (e.g. one or more routers in an area) becomes overloaded, congestion results. Because.
AVPF vs AVP RTCP Intevals
Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.
Quick Sort, Shell Sort, Counting Sort, Radix Sort AND Bucket Sort
Chapter 11 Data Link Control
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 13 Introduction to the Transport.
1 HeapSort CS 3358 Data Structures. 2 Heapsort: Basic Idea Problem: Arrange an array of items into sorted order. 1) Transform the array of items into.
CMPS1371 Introduction to Computing for Engineers SORTING.
1 Complexity of Network Synchronization Raeda Naamnieh.
Tirgul 10 Rehearsal about Universal Hashing Solving two problems from theoretical exercises: –T2 q. 1 –T3 q. 2.
Distributed Video Streaming Over Internet Thinh PQ Nguyen and Avideh Zakhor Berkeley, CA, USA Presented By Sam.
CS 206 Introduction to Computer Science II 03 / 16 / 2009 Instructor: Michael Eckmann.
Code and Decoder Design of LDPC Codes for Gbps Systems Jeremy Thorpe Presented to: Microsoft Research
20101 The Data Link Layer Chapter Design Issues Controls communication between 2 machines directly connected by “wire”-like link Services Provided.
1 Reliable Data Transfer. 2 r Problem: Reliability  Want an abstraction of a reliable link even though packets can be corrupted or get lost r Solution:
Error Checking continued. Network Layers in Action Each layer in the OSI Model will add header information that pertains to that specific protocol. On.
Sequencing Problem.
1 C++ Plus Data Structures Nell Dale Chapter 7 Programming with Recursion Slides by Sylvia Sorkin, Community College of Baltimore County - Essex Campus.
20-1 Computing Fundamentals with C++ Object-Oriented Programming and Design, 2nd Edition Rick Mercer Franklin, Beedle & Associates, 1999 ISBN
ARQ Mechanisms Rudra Dutta ECE/CSC Fall 2010, Section 001, 601.
11.1 Chapter 11 Data Link Control Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Ranking Queries on Uncertain Data: A Probabilistic Threshold Approach Wenjie Zhang, Xuemin Lin The University of New South Wales & NICTA Ming Hua,
Order Statistics The ith order statistic in a set of n elements is the ith smallest element The minimum is thus the 1st order statistic The maximum is.
The Selection Problem. 2 Median and Order Statistics In this section, we will study algorithms for finding the i th smallest element in a set of n elements.
Error/Flow Control Modeling (ARQ Modeling). Modeling of Go Back N.
CSC 211 Data Structures Lecture 13
Lecture 3: Uninformed Search
C++ Programming: From Problem Analysis to Program Design, Fourth Edition Chapter 19: Stacks and Queues (part 2)
C++ Programming: Program Design Including Data Structures, Fourth Edition Chapter 18: Stacks and Queues (part 2)
Copyright © Lopamudra Roychoudhuri
Memory-Efficient Algorithms for the Verification of Temporal Properties C. Courcoubetis Inst. Of Comp. Sci. FORTH, Crete, Greece M. Verdi IBM Almaden P.
Probabilistic Search Verification of the Go-Back-N Protocol Adeyemi Aladesawe Annjana Ramesh Lingxue Li Nanjun Lu.
Chapter 5 Linked List by Before you learn Linked List 3 rd level of Data Structures Intermediate Level of Understanding for C++ Please.
Stack Processing Algorithm for Go Back N protocol Team Members: Vinti (vv2236) Garvit Singh (gs2731) Pramod Nayak (ppn2106) Vidhatre Gathey (vvg2111)
Data Structures Evolution of algorithms for an array-based stack, queue, and linked-list. Evolved data structures used to evolve solutions to problems.
CS/EE 145A Reliable Transmission over Unreliable Channel II Netlab.caltech.edu/course.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Principles of reliable data transfer 0.
Chapter 17: Linked Lists. Objectives In this chapter, you will: – Learn about linked lists – Learn the basic properties of linked lists – Explore insertion.
CSMA/CA Simulation  Course Name: Networking Level(UG/PG): UG  Author(s) : Amitendu Panja, Veedhi Desai  Mentor: Aruna Adil *The contents in this ppt.
Probabilistic Verification Tong Wang tw2436 Yihan Zou yz2575 Hang Yin hy2368 Miaoqiong Wang mw2908 of Go-Back-N.
Formal Methods Project Design Yuanhui Luo yl3026, Ziwei Zhang zz2282, Yih-Nin Lai yl3030, Zhen Qiu zq2130.
Chi-Cheng Lin, Winona State University CS412 Introduction to Computer Networking & Telecommunication Data Link Layer Part II – Sliding Window Protocols.
Transmission Control Protocol (TCP) TCP Flow Control and Congestion Control CS 60008: Internet Architecture and Protocols Department of CSE, IIT Kharagpur.
Page 1 8/29/2001 Reachability Analysis CFSM: Communicating Finite State Machines C1 C2 +A+A Sender 2 1 -R-R +R+R -A-A Receiver 2 1 CFSM Communicating Finite.
Formal Methods Project Design Yuanhui Luo yl3026, Ziwei Zhang zz2282, Yih-Nin Lai yl3030, Zhen Qiu zq2130.
DATA LINK CONTROL. DATA LINK LAYER RESPONSIBILTIES  FRAMING  ERROR CONTROL  FLOW CONTROL.
Data Link Layer.
Weiqiang Sun DATA LINK CONTROL LAYER (DLC) – ARQ PROTOCOLS.
UNIT - IV SORTING By B.Venkateswarlu Dept of CSE.
Chapter 16: Linked Lists.
Reliable Transmission
Data Link Layer Flow Control.
Chapter 23 Introduction To Transport Layer
Topic:- ALGORITHM Incharge Faculty – Lokesh Sir.
CMPT 371 Data Communications and Networking
Stack Data Structure, Reverse Polish Notation, Homework 7
CONGESTION CONTROL.
Introduction to the Transport Layer
Chapter 23 Introduction To Transport Layer
Java Programming Loops
Probabilistic Verification
Chapter 11 Data Link Control
Java Programming Loops
Probabilistic Search Verification of the Go-Back-N Protocol
Sorting.
Error Checking continued
data link Control layer (DLC) – ARQ protocols
Presentation transcript:

Probabilistic Verification of GBN Group Members: Lin Huang(lh2647), Yuechen Qin(yq2158), Xi Chen(xc2257), Runxi Zhou(rz2286), Shuang Zhang(sz2426) 04/08/2014

Probabilistic Verification of GBN  Introduction  Test Algorithm  Discussion

Introduction  Probabilistic Verification of GBN ( Applied Tests )  For any possible state in the GBN protocol, we need to generate all the possible next state.  For each of the possible next state, call the step above recursively to check if it could successfully end up at a stop point.  If the protocol is right, the verification would end within a finite amount of time.

Test Algorithm  Components of States  Assumption  Algorithm Modules  Stack  Sender  Receiver  Channel(Forward, Reverse)  Implementation  Optimization

Test Algorithm : Components of States   S: sender state, range  R: receiver state, range  Fc: forward channel  Rc: reverse channel  Prob: low probability  action: service sequence  num: indices of messages  father: predecessor of the current state  son: successor of the current state

Test Algorithm : Assumption  At most 8 packets can be simultaneously in the forward channel  At most 4 packets can be simultaneously in the reverse channel  Channel would lose 1 packet at a time; Sender and Receiver process 1 packet at a time.  Given Window size of 4, for both sender and receiver, states that have the same value of S(or R) mod 4 are considered to be identical

Test Algorithm : Assumption  Time out  Fc == E & Rc == E  Stopping Points  S > 4 & R > 4 True stopping points for the protocol: S mod 4 ==1; R mod 4 == 1; Fc == E; Rc == E;  prob 4  The appearance of a state that has already been in the stack.

Test Algorithm : Algorithm Modules  Stack  Push  Check if the state already existed in the stack  Check if the prob == 4  Bubble sort to ensure that the stack locates the states with monotonically increasing low probability  Pop  Pop the state on top of the stack

Test Algorithm : Algorithm Modules  Sender  Input the current state to the sender function ; Let base = S;  If Fc == E & Rc == E, put Msg[base] ~ Msg[base + 3] in Fc  Extract the1 st packet in Rc, name it ack  If ack < base, do nothing  If ack == base, put Msg[base + 4] in Fc, base ++  If ack > base, put Msg[base + 4] ~ Msg[ack + 4] in Fc, base = ack +1  Return the new state

Test Algorithm : Algorithm Modules  Receiver  Input the current state to the receiver function ; Let ExpectedNum = R;  If Fc == E, do nothing;  Extract 1 st packet in Fc, name it Msg  If Msg == ExpectedNum, put Ack[ExpectedNum] in Rc  If Msg != ExpectedNum, put Ack[ExpectedNum - 1] in Rc  Return the new state

Test Algorithm : Algorithm Modules  Channel  Functionality  Generate all possible error situation (1 packet lost), low probability increases by 1 ( prob ++ ) ;  Push the generated state into the stack.

Test Algorithm : Implementation  Problem  Assume the current state is, what is the next state?  : ack1 arrives at sender first;  : msg2 arrives at receiver first;  : msg2 and msg3 are faster than ack1;  : msg2, msg3 and msg4 are all faster than ack1;  Solution  For a certain state, input it into three functions, which are sender, receiver, channel;  Output  State  sender: sender gets ack first;  state  receiver: receiver gets msg first;  state  channel: all possible packet-lost situation

Test Algorithm : Implementation  Example

Test Algorithm : Implementation  Steps  Push the initial state into the stack;  Check if stack is empty, if so, end; if not, continue;  Pop the top state in the stack;  Put the popped state into channel;  Put the popped state into sender and receiver, get the new state S1 and S2 accordingly; if S1 or S2 is different from the popped state, push it into the stack;  Go back to the 2 nd step

Test Algorithm : Optimization  Problem  (a): push E child of D into the stack, there’s already a E node in the stack  (b): push E child of C into the stack, there’s no E node in the stack  (c): E can be produced by another E

Test Algorithm : Optimization  Solution  Use an array to store all the states(/nodes) that have been in the stack  Check if the popped state is already in the array:  if so, check if this identical state in the array is one of the predecessor of the popped state;  if so, push it into the stack, otherwise discard;  If not, push it into the stack  Results  # of steps: 15,000+  400+

Discussion  Here the protocol failure is only possible when there are four packet losses happening continuously. Although this state is wiped out from the simulation due to its low probability, it may still happen, leading to the deadlock. Theoretically it may happen twice continuously so that the average sequence length is 0. However, only when the length is large enough, the probability can be larger than ”sufficiently small”, where we define as.  We mention that the time interval is the same as length interval, since the source xmits message once per second.

Discussion  Calculation of the probabilistic minimal interval  The failure rate  Here we make  And we can find out that

Thank you for attention!  Questions are warmly welcomed!