Skip to main content

Why model Packet Arrivals as a Poisson Process?

In queuing theory-based analysis, we always assume arrivals to be according to a Poisson process. "Why we do so, why not it's uniform or some other distribution?" This was a question raised by my supervisor & a colleague while I was preparing for my Qualifying Exam. As I was not able to answer well, my supervisor gave some hints. I was worried that the same question may come up during the exam so searched for an answer on web. Unfortunately, no specific answer was found. So I'm trying to lay down an answer by adding bits & pieces from here & there & my supervisor's answer.

It can be answered by looking at the properties of a Poisson Process. Recall that Poisson Processes are used to model statistically rare events.

A counting process {Nt, t ≥ 0} is a Poisson process if:
  1. N0 = 0
  2. Nt has stationary independent increments
    • Nt1 - Ns1 is independent from Nt2 - Ns2
    • Memoryless
    • Inter arrival times are independently & identically distributed set of exponentially distributed random variables
  3. P{NΔt = 1} = λ(Δt) + o(Δt)
  4. P{NΔt = 2} = o(Δt)
Property 2 (memoryless) is the key. With uniform distribution if we say, "probability of an arrival of a packet is 0.1," if a packet doesn't arrive between [0 - 9] it has to arrive at t = 10. In a natural system, such arrivals are not necessary. A packet may or may not arrive or if an Earthquake doesn't happen in Yellowstone National Park for last 9 years it doesn't necessary mean it must occur in the coming year. Hence this reflect the natural behavior & makes the analysis easier.
Property 3 & 4 says that there will only be one arrival at a time (no batch arrivals). This holds for a small time interval Δt → 0. Hence, we only need to worry about 1 arrival at a time. Even if 2 Earthquakes occur during 5 minutes, it will happen one after another. This further simplify the analysis.
Given these properties Poisson is a better & simple approximation.

Please feel free to suggest any corrections or additions....


Eduardo said…
Hello, my name is Luis I just finished a master's at Brooklyn Poly in EE. I always wondered about the 3rd. property of the Poisson process, and I agree with you, it basically states that there are no simultaneous arrivals. However Im still trying to understand why this probability is lambda*delta_t. Have you figured this out?
Dilum Bandara said…
By definition:
λ = lim Δt → 0 P{N_(t + Δt) = N_t + 1}/Δt
therefore it make sense to define the 3rd property like that.
J said…
Thanks Dilum for your post. It is really helpful =)

Popular posts from this blog

1. Building P2P Simulators with OverSim - Where to Begin

This could be a series of blog posts about extending or developing your own OverSim applications & overlay networks. OverSim has a minimal tutorial on writing your own application & overlay network; however, it doesn't show the big picture. So, I'm wasting lots of time playing with code & trying to understand the rest. Good thing is, I like it more & more as I understand. You need to change/develop only a few things, but finding out which ones is a hell of a task. I hope this will not only make my life easy but also will be useful to new comers. Here's what you need to do: You need some background on OMNeT++ OverSim extend OMNeT++. But sometime it has its own way of doing things (to make your task even simple) so understand the differences.Develop several OMNeT++ simulators. TicToc is a good one to start with. Extend it as you imagine.Read Towards a Common API for Structured Peer-to-Peer Overlays, which is the basis for OvseSim's API. Here'…

Python Code to Calculate Gini index/coefficient, Robin Hood index, & Lorenz curve

Following Python code can be used to calculate Gini index, Gini coefficient, Robin Hood index, and points of Lorenz curve. Lorenz curve can be also plot if matplotlib is installed.
It's based on the steps given by Peter Rosenmai.


Other online tools:

Describing Experimental/Simulation Setup

Sometimes the results of a performance analysis may depend on the computers used and/or specific features of software/libraries. In such cases it is extremely important to describe the experimental/simulation set up in details. It enables others to repeat those experiments as well as check whether the results are rigorous, statistically sound, and unbiased. Unfortunately, "Simulation Setup" is the shortest section in many research papers where authors try to save space by cutting down as much as details. Here are some tips on what to include (in addition to describing the experimental/simulation setup) based on my experiences:
Type of Simulation Are the results based on Experimentation, Emulation, or Simulation? If simulations also mention further details like whether it is Discrete Event, Montacarlo, Stochastic, or Deterministic simulation. Are the results for Steady, Dynamic, Starting/ramp-up, or Terminating state(s)?Number of Experiments/Simulations No of sampl…