api.aoi

mexify_aoi

@brief MATLAB Coder script to generate MEX functions for aoi_ module.

This script generates MEX (MATLAB Executable) versions of Age of Information (AoI) metric functions for improved performance. Only pure scalar-in/scalar-out functions are included.

Skipped functions (Coder-incompatible):
aoi_lst_det, aoi_lst_exp, aoi_lst_erlang, aoi_lst_ph
  • Return function handles

aoi_fcfs_mgi1, aoi_fcfs_gim1, aoi_lcfspr_mgi1, aoi_lcfspr_gim1
  • Take function handle (LST) arguments

aoi_lcfss_mgi1, aoi_lcfss_gim1, aoi_lcfsd_mgi1, aoi_lcfsd_gim1
  • Take function handle (LST) arguments

aoi_is_aoi - SchedStrategy/NodeType enum dependencies aoi_extract_params - SchedStrategy, sn.proc cell array aoi_dist2ph - Cell array unpacking

See also CODER, CODER.CONFIG, CODER.TYPEOF, CODEGEN.

aoi_lcfspr_mm1(lambda, mu)

AOI_LCFSPR_MM1 Mean, variance, and peak AoI for M/M/1 preemptive LCFS queue

[meanAoI, varAoI, peakAoI] = aoi_lcfspr_mm1(lambda, mu)

Computes the Age of Information metrics for an M/M/1 queue with preemptive Last-Come First-Served (LCFS-PR) discipline.

In LCFS-PR, when a new update arrives, it preempts the current update in service (if any). This ensures the freshest update is always served, leading to lower AoI than FCFS.

Parameters:
  • lambda (double) – Arrival rate (Poisson arrivals)

  • mu (double) – Service rate (exponential service)

Returns:

meanAoI (double) – Mean (average) Age of Information varAoI (double): Variance of Age of Information peakAoI (double): Mean Peak Age of Information

Formulas (from Inoue et al., IEEE Trans. IT, 2019, Section IV):

Mean AoI: E[A] = (1/mu) * (1 + 1/rho) Peak AoI: E[Apeak] = 1/(lambda+mu) + 1/lambda + 1/mu

Note: LCFS-PR always achieves lower mean AoI than FCFS for M/M/1.

Reference:

Y. Inoue, H. Masuyama, T. Takine, T. Tanaka, “A General Formula for the Stationary Distribution of the Age of Information and Its Application to Single-Server Queues,” IEEE Trans. Information Theory, vol. 65, no. 12, pp. 8305-8324, 2019.

See also: aoi_fcfs_mm1(), aoi_lcfspr_mgi1(), aoi_compare

aoi_lcfsd_gim1(Y_lst, mu, E_Y, E_Y2)

AOI_LCFSD_GIM1 Mean AoI for GI/M/1 non-preemptive LCFS-D queue

[meanAoI, lstAoI, peakAoI] = aoi_lcfsd_gim1(Y_lst, mu, E_Y, E_Y2)

Computes the Age of Information metrics for a GI/M/1 queue with non-preemptive Last-Come First-Served with Discarding (LCFS-D) discipline.

In LCFS-D, when a new update arrives while the server is busy:
  • If there’s an update waiting in queue, it is discarded

  • The new update takes its place in the queue

  • When service completes, the waiting update (if any) is served

Parameters:
  • Y_lst (function_handle) – LST of interarrival time, @(s) -> complex

  • mu (double) – Service rate (exponential service)

  • E_Y (double) – Mean interarrival time (first moment)

  • E_Y2 (double) – Second moment of interarrival time

Returns:

meanAoI (double) – Mean (average) Age of Information lstAoI (function_handle): LST of AoI distribution (empty if not computed) peakAoI (double): Mean Peak Age of Information

Reference:

Y. Inoue, H. Masuyama, T. Takine, T. Tanaka, “A General Formula for the Stationary Distribution of the Age of Information and Its Application to Single-Server Queues,” IEEE Trans. Information Theory, vol. 65, no. 12, pp. 8305-8324, 2019.

See also: aoi_lcfss_gim1(), aoi_fcfs_gim1(), aoi_lcfspr_gim1()

aoi_fcfs_mgi1(lambda, H_lst, E_H, E_H2)

AOI_FCFS_MGI1 Mean AoI and LST for M/GI/1 FCFS queue

[meanAoI, lstAoI, peakAoI] = aoi_fcfs_mgi1(lambda, H_lst, E_H, E_H2)

Computes the Age of Information metrics for an M/GI/1 queue with First-Come First-Served (FCFS) discipline.

M/GI/1: Poisson arrivals with rate lambda, general independent service.

Parameters:
  • lambda (double) – Arrival rate (Poisson arrivals)

  • H_lst (function_handle) – LST of service time, @(s) -> complex

  • E_H (double) – Mean service time (first moment)

  • E_H2 (double) – Second moment of service time

Returns:

meanAoI (double) – Mean (average) Age of Information lstAoI (function_handle): LST of AoI distribution peakAoI (double): Mean Peak Age of Information

Formulas (from Inoue et al., IEEE Trans. IT, 2019, Theorem 2):

LST of AoI: A*(s) = (lambda * H*(s)) / (s + lambda - lambda*H*(s)) * W*(s) where W*(s) is the LST of waiting time (Pollaczek-Khinchine).

Mean AoI (Proposition 1): E[A] = E[H] + E[T] + (1-2*rho)/lambda - d/ds T*(s)|_{s=lambda} (exact)

Reference:

Y. Inoue, H. Masuyama, T. Takine, T. Tanaka, “A General Formula for the Stationary Distribution of the Age of Information and Its Application to Single-Server Queues,” IEEE Trans. Information Theory, vol. 65, no. 12, pp. 8305-8324, 2019.

See also: aoi_fcfs_mm1(), aoi_fcfs_gim1(), aoi_lst_exp(), aoi_lst_erlang()

aoi_fcfs_gim1(Y_lst, mu, E_Y, E_Y2)

AOI_FCFS_GIM1 Mean AoI and LST for GI/M/1 FCFS queue

[meanAoI, lstAoI, peakAoI] = aoi_fcfs_gim1(Y_lst, mu, E_Y, E_Y2)

Computes the Age of Information metrics for a GI/M/1 queue with First-Come First-Served (FCFS) discipline.

GI/M/1: General independent arrivals, exponential service with rate mu.

Parameters:
  • Y_lst (function_handle) – LST of interarrival time, @(s) -> complex

  • mu (double) – Service rate (exponential service)

  • E_Y (double) – Mean interarrival time (first moment)

  • E_Y2 (double) – Second moment of interarrival time

Returns:

meanAoI (double) – Mean (average) Age of Information lstAoI (function_handle): LST of AoI distribution peakAoI (double): Mean Peak Age of Information

Formulas (from Inoue et al., IEEE Trans. IT, 2019, Theorem 3):
The key parameter sigma is the unique root in (0,1) of:

Y*(mu - mu*sigma) = sigma

LST of AoI: A*(s) = (mu*sigma_s) / (s + mu - mu*sigma_s) * D*(s) where sigma_s solves Y*(s + mu - mu*sigma_s) = sigma_s and D*(s) is the LST of system delay.

Reference:

Y. Inoue, H. Masuyama, T. Takine, T. Tanaka, “A General Formula for the Stationary Distribution of the Age of Information and Its Application to Single-Server Queues,” IEEE Trans. Information Theory, vol. 65, no. 12, pp. 8305-8324, 2019.

See also: aoi_fcfs_mm1(), aoi_fcfs_mgi1(), aoi_fcfs_dm1()

aoi_lcfspr_mgi1(lambda, H_lst, E_H, E_H2)

AOI_LCFSPR_MGI1 Mean AoI and LST for M/GI/1 preemptive LCFS queue

[meanAoI, lstAoI, peakAoI] = aoi_lcfspr_mgi1(lambda, H_lst, E_H, E_H2)

Computes the Age of Information metrics for an M/GI/1 queue with preemptive Last-Come First-Served (LCFS-PR) discipline.

In LCFS-PR, when a new update arrives, it preempts the current update in service (if any). This ensures the freshest update is always served.

Parameters:
  • lambda (double) – Arrival rate (Poisson arrivals)

  • H_lst (function_handle) – LST of service time, @(s) -> complex

  • E_H (double) – Mean service time (first moment)

  • E_H2 (double) – Second moment of service time (for reference)

Returns:

meanAoI (double) – Mean (average) Age of Information lstAoI (function_handle): LST of AoI distribution peakAoI (double): Mean Peak Age of Information

Formulas (from Inoue et al., IEEE Trans. IT, 2019, Section IV):
For preemptive LCFS, the AoI simplifies significantly:

E[A] = E[Y] + E[H] = 1/lambda + E[H] E[Apeak] = -H*(lambda)’/H*(lambda) + 1/(lambda*H*(lambda))

LST of AoI: A*(s) = (lambda/(s+lambda)) * H*(s) This is the convolution of exponential interarrival and service time.

Reference:

Y. Inoue, H. Masuyama, T. Takine, T. Tanaka, “A General Formula for the Stationary Distribution of the Age of Information and Its Application to Single-Server Queues,” IEEE Trans. Information Theory, vol. 65, no. 12, pp. 8305-8324, 2019.

See also: aoi_fcfs_mgi1(), aoi_lcfspr_mm1(), aoi_lcfspr_gim1()

aoi_lcfspr_gim1(Y_lst, mu, E_Y, E_Y2)

AOI_LCFSPR_GIM1 Mean AoI and LST for GI/M/1 preemptive LCFS queue

[meanAoI, lstAoI, peakAoI] = aoi_lcfspr_gim1(Y_lst, mu, E_Y, E_Y2)

Computes the Age of Information metrics for a GI/M/1 queue with preemptive Last-Come First-Served (LCFS-PR) discipline.

In LCFS-PR, when a new update arrives, it preempts the current update in service (if any). This ensures the freshest update is always served.

Parameters:
  • Y_lst (function_handle) – LST of interarrival time, @(s) -> complex

  • mu (double) – Service rate (exponential service)

  • E_Y (double) – Mean interarrival time (first moment)

  • E_Y2 (double) – Second moment of interarrival time (for reference)

Returns:

meanAoI (double) – Mean (average) Age of Information lstAoI (function_handle): LST of AoI distribution peakAoI (double): Mean Peak Age of Information

Formulas (from Inoue et al., IEEE Trans. IT, 2019, Section IV):
For preemptive LCFS, the AoI simplifies significantly:

E[A] = E[Y] + E[S] = E[Y] + 1/mu E[Apeak] = E[S|success] + 1/(lambda*(1-Y*(mu)))

LST of AoI: A*(s) = Y*(s) * (mu / (s + mu)) This is the product of interarrival LST and exponential service LST.

Reference:

Y. Inoue, H. Masuyama, T. Takine, T. Tanaka, “A General Formula for the Stationary Distribution of the Age of Information and Its Application to Single-Server Queues,” IEEE Trans. Information Theory, vol. 65, no. 12, pp. 8305-8324, 2019.

See also: aoi_fcfs_gim1(), aoi_lcfspr_mm1(), aoi_lcfspr_mgi1()

aoi_fcfs_dm1(tau, mu)

AOI_FCFS_DM1 Mean, variance, and peak AoI for D/M/1 FCFS queue

[meanAoI, varAoI, peakAoI] = aoi_fcfs_dm1(tau, mu)

Computes the Age of Information metrics for a D/M/1 queue with First-Come First-Served (FCFS) discipline.

D/M/1: Deterministic arrivals with interarrival time tau (rate 1/tau),

exponential service with rate mu.

Parameters:
  • tau (double) – Deterministic interarrival time

  • mu (double) – Service rate (exponential service)

Returns:

meanAoI (double) – Mean (average) Age of Information varAoI (double): Variance of Age of Information peakAoI (double): Mean Peak Age of Information

Formulas (from Inoue et al., IEEE Trans. IT, 2019):

Uses GI/M/1 FCFS results with deterministic arrivals. For D/M/1, the key parameter is sigma, the root of:

sigma = exp(-mu*tau*(1-sigma))

which gives the probability an arriving customer finds system non-empty.

Reference:

Y. Inoue, H. Masuyama, T. Takine, T. Tanaka, “A General Formula for the Stationary Distribution of the Age of Information and Its Application to Single-Server Queues,” IEEE Trans. Information Theory, vol. 65, no. 12, pp. 8305-8324, 2019.

See also: aoi_fcfs_mm1(), aoi_fcfs_gim1(), aoi_lcfspr_dm1()

aoi_lcfss_gim1(Y_lst, mu, E_Y, E_Y2)

AOI_LCFSS_GIM1 Mean AoI for GI/M/1 non-preemptive LCFS-S queue

[meanAoI, lstAoI, peakAoI] = aoi_lcfss_gim1(Y_lst, mu, E_Y, E_Y2)

Computes the Age of Information metrics for a GI/M/1 queue with non-preemptive Last-Come First-Served with Set-aside (LCFS-S) discipline.

In LCFS-S, when a new update arrives while the server is busy:
  • The new update waits in the queue

  • When service completes, the most recent update in queue is served next

  • The older update remains in queue (is “set aside”)

Parameters:
  • Y_lst (function_handle) – LST of interarrival time, @(s) -> complex

  • mu (double) – Service rate (exponential service)

  • E_Y (double) – Mean interarrival time (first moment)

  • E_Y2 (double) – Second moment of interarrival time

Returns:

meanAoI (double) – Mean (average) Age of Information lstAoI (function_handle): LST of AoI distribution (empty if not computed) peakAoI (double): Mean Peak Age of Information

Reference:

Y. Inoue, H. Masuyama, T. Takine, T. Tanaka, “A General Formula for the Stationary Distribution of the Age of Information and Its Application to Single-Server Queues,” IEEE Trans. Information Theory, vol. 65, no. 12, pp. 8305-8324, 2019.

See also: aoi_lcfsd_gim1(), aoi_fcfs_gim1(), aoi_lcfspr_gim1()

aoi_is_aoi(sn)

AOI_IS_AOI Check if network is a valid AoI topology for aoi-fluid analysis

[isAoI, aoiInfo] = AOI_IS_AOI(sn)

Validates that the network structure is suitable for Age of Information analysis using the aoi-fluid MFQ solvers.

Requirements: - Single open class - Single-queue open system: Source -> Queue -> Sink - Queue capacity = 1 (bufferless) or 2 (single-buffer) - Single server (nservers = 1) - Scheduling: FCFS, LCFS, or LCFSPR - For capacity=2: arrivals must be exponential (Poisson)

Parameters:

sn (struct) – Network structure from Network.getStruct()

Returns:

isAoI (logical) – True if topology is valid for AoI analysis aoiInfo (struct): Contains topology information:

.sourceIdx, .queueIdx, .sinkIdx: Node indices .sourceStation, .queueStation: Station indices .capacity: Queue capacity (1 or 2) .schedStrategy: Scheduling strategy .systemType: ‘bufferless’ or ‘singlebuffer’ .errorMsg: Error message if not valid

aoi_extract_params(sn, aoiInfo, options)

AOI_EXTRACT_PARAMS Extract parameters from LINE network for aoi-fluid solvers

[aoiParams, aoiInfo] = AOI_EXTRACT_PARAMS(sn, aoiInfo, options)

Maps LINE model representation to aoi-fluid function inputs: - For bufferless (capacity=1): extract (tau, T, sigma, S, p) - For single-buffer (capacity=2): extract (lambda, sigma, S, r)

Parameters:
  • sn (struct) – Network structure from Network.getStruct()

  • aoiInfo (struct) – Topology information from aoi_is_aoi()

  • options (struct) – Solver options, may contain: - config.aoi_preemption: Override preemption probability (0-1)

Returns:

aoiParams (struct)

Parameters for aoi-fluid solver:
For bufferless:

.tau: Arrival initial probability vector .T: Arrival sub-generator matrix .sigma: Service initial probability vector .S: Service sub-generator matrix .p: Preemption probability (0=FCFS, 1=preemptive)

For single-buffer:

.lambda: Arrival rate (Poisson) .sigma: Service initial probability vector .S: Service sub-generator matrix .r: Replacement probability (0=FCFS, 1=replacement)

aoiInfo (struct): Updated with extracted parameters

aoi_dist2ph(proc)

AOI_DIST2PH Convert LINE process representation to PH format for aoi-fluid

[alpha, T] = AOI_DIST2PH(proc)

Converts LINE’s {D0, D1} MAP representation to (alpha, T) PH format where alpha is the initial probability vector and T is the sub-generator matrix.

In PH representation:
  • alpha: Row vector of initial probabilities (sums to 1)

  • T: Sub-generator matrix (negative diagonal, non-negative off-diagonal)

  • Absorption rates: -T * ones(n,1)

Parameters:

proc (cell) – LINE process representation {D0, D1} where: D0: Sub-generator matrix (like T in PH) D1: Completion/transition matrix

Returns:

alpha – Initial probability row vector T: Sub-generator matrix

See also: aoi_extract_params(), solveBufferless, solveSingleBuffer

aoi_lcfss_mgi1(lambda, H_lst, E_H, E_H2)

AOI_LCFSS_MGI1 Mean AoI for M/GI/1 non-preemptive LCFS-S queue

[meanAoI, lstAoI, peakAoI] = aoi_lcfss_mgi1(lambda, H_lst, E_H, E_H2)

Computes the Age of Information metrics for an M/GI/1 queue with non-preemptive Last-Come First-Served with Set-aside (LCFS-S) discipline.

In LCFS-S, when a new update arrives while the server is busy:
  • The new update waits in the queue

  • When service completes, the most recent update in queue is served next

  • The older update remains in queue (is “set aside”)

Parameters:
  • lambda (double) – Arrival rate (Poisson arrivals)

  • H_lst (function_handle) – LST of service time, @(s) -> complex

  • E_H (double) – Mean service time (first moment)

  • E_H2 (double) – Second moment of service time

Returns:

meanAoI (double) – Mean (average) Age of Information lstAoI (function_handle): LST of AoI distribution (empty if not computed) peakAoI (double): Mean Peak Age of Information

Formulas (from Inoue et al., IEEE Trans. IT, 2019, Section V):

The analysis is more complex than FCFS or preemptive LCFS. Mean AoI is computed using the results from Theorem 6.

Reference:

Y. Inoue, H. Masuyama, T. Takine, T. Tanaka, “A General Formula for the Stationary Distribution of the Age of Information and Its Application to Single-Server Queues,” IEEE Trans. Information Theory, vol. 65, no. 12, pp. 8305-8324, 2019.

See also: aoi_lcfsd_mgi1(), aoi_fcfs_mgi1(), aoi_lcfspr_mgi1()

aoi_lcfsd_mgi1(lambda, H_lst, E_H, E_H2)

AOI_LCFSD_MGI1 Mean AoI for M/GI/1 non-preemptive LCFS-D queue

[meanAoI, lstAoI, peakAoI] = aoi_lcfsd_mgi1(lambda, H_lst, E_H, E_H2)

Computes the Age of Information metrics for an M/GI/1 queue with non-preemptive Last-Come First-Served with Discarding (LCFS-D) discipline.

In LCFS-D, when a new update arrives while the server is busy:
  • If there’s an update waiting in queue, it is discarded

  • The new update takes its place in the queue

  • When service completes, the waiting update (if any) is served

This is also known as M/GI/1/2* (buffer size 2 with replacement).

Parameters:
  • lambda (double) – Arrival rate (Poisson arrivals)

  • H_lst (function_handle) – LST of service time, @(s) -> complex

  • E_H (double) – Mean service time (first moment)

  • E_H2 (double) – Second moment of service time

Returns:

meanAoI (double) – Mean (average) Age of Information lstAoI (function_handle): LST of AoI distribution (empty if not computed) peakAoI (double): Mean Peak Age of Information

Formulas (from Inoue et al., IEEE Trans. IT, 2019, Section VI):

The analysis uses the concept of effective service time which includes potential waiting while another update is being served.

Reference:

Y. Inoue, H. Masuyama, T. Takine, T. Tanaka, “A General Formula for the Stationary Distribution of the Age of Information and Its Application to Single-Server Queues,” IEEE Trans. Information Theory, vol. 65, no. 12, pp. 8305-8324, 2019.

See also: aoi_lcfss_mgi1(), aoi_fcfs_mgi1(), aoi_lcfspr_mgi1()

aoi_fcfs_mm1(lambda, mu)

AOI_FCFS_MM1 Mean, variance, and peak AoI for M/M/1 FCFS queue

[meanAoI, varAoI, peakAoI] = aoi_fcfs_mm1(lambda, mu)

Computes the Age of Information metrics for an M/M/1 queue with First-Come First-Served (FCFS) discipline.

Parameters:
  • lambda (double) – Arrival rate (Poisson arrivals)

  • mu (double) – Service rate (exponential service)

Returns:

meanAoI (double) – Mean (average) Age of Information varAoI (double): Variance of Age of Information peakAoI (double): Mean Peak Age of Information

Formulas (from Inoue et al., IEEE Trans. IT, 2019):

Mean AoI: E[A] = (1/mu) * (1 + 1/rho + rho^2/(1-rho)) Peak AoI: E[Apeak] = (1/mu) * (1 + 1/rho + rho/(1-rho))

Reference:

Y. Inoue, H. Masuyama, T. Takine, T. Tanaka, “A General Formula for the Stationary Distribution of the Age of Information and Its Application to Single-Server Queues,” IEEE Trans. Information Theory, vol. 65, no. 12, pp. 8305-8324, 2019.

See also: aoi_lcfspr_mm1(), aoi_fcfs_mgi1(), aoi_optimal_rate

aoi_fcfs_md1(lambda, d)

AOI_FCFS_MD1 Mean, variance, and peak AoI for M/D/1 FCFS queue

[meanAoI, varAoI, peakAoI] = aoi_fcfs_md1(lambda, d)

Computes the Age of Information metrics for an M/D/1 queue with First-Come First-Served (FCFS) discipline.

M/D/1: Poisson arrivals with rate lambda, deterministic service time d.

Parameters:
  • lambda (double) – Arrival rate (Poisson arrivals)

  • d (double) – Deterministic service time

Returns:

meanAoI (double) – Mean (average) Age of Information varAoI (double): Variance of Age of Information peakAoI (double): Mean Peak Age of Information

Formulas (from Inoue et al., IEEE Trans. IT, 2019):

Uses M/GI/1 FCFS results with deterministic service. For M/D/1:

E[H] = d, E[H^2] = d^2 (deterministic) rho = lambda * d E[W] = lambda * d^2 / (2*(1-rho)) (Pollaczek-Khinchine) E[T] = E[W] + d E[A] = d*(1/2 + 1/(2*(1-rho)) + ((1-rho)/rho)*exp(rho)) (exact)

Reference:

Y. Inoue, H. Masuyama, T. Takine, T. Tanaka, “A General Formula for the Stationary Distribution of the Age of Information and Its Application to Single-Server Queues,” IEEE Trans. Information Theory, vol. 65, no. 12, pp. 8305-8324, 2019.

See also: aoi_fcfs_mm1(), aoi_fcfs_mgi1(), aoi_lcfspr_md1()

aoi_lcfspr_md1(lambda, d)

AOI_LCFSPR_MD1 Mean, variance, and peak AoI for M/D/1 preemptive LCFS queue

[meanAoI, varAoI, peakAoI] = aoi_lcfspr_md1(lambda, d)

Computes the Age of Information metrics for an M/D/1 queue with preemptive Last-Come First-Served (LCFS-PR) discipline.

In LCFS-PR, when a new update arrives, it preempts the current update in service (if any). For M/D/1, an update is successful if no new arrivals occur during its deterministic service time d.

Parameters:
  • lambda (double) – Arrival rate (Poisson arrivals)

  • d (double) – Deterministic service time

Returns:

meanAoI (double) – Mean (average) Age of Information varAoI (double): Variance of Age of Information peakAoI (double): Mean Peak Age of Information

Formulas (from Inoue et al., IEEE Trans. IT, 2019, Section IV):
For preemptive LCFS with M/G/1:

E[A] = E[Y] + E[S] = 1/lambda + d

where S is the (successful) service time, which equals d.

Reference:

Y. Inoue, H. Masuyama, T. Takine, T. Tanaka, “A General Formula for the Stationary Distribution of the Age of Information and Its Application to Single-Server Queues,” IEEE Trans. Information Theory, vol. 65, no. 12, pp. 8305-8324, 2019.

See also: aoi_fcfs_md1(), aoi_lcfspr_mm1(), aoi_lcfspr_mgi1()

aoi_lcfspr_dm1(tau, mu)

AOI_LCFSPR_DM1 Mean, variance, and peak AoI for D/M/1 preemptive LCFS queue

[meanAoI, varAoI, peakAoI] = aoi_lcfspr_dm1(tau, mu)

Computes the Age of Information metrics for a D/M/1 queue with preemptive Last-Come First-Served (LCFS-PR) discipline.

In LCFS-PR, when a new update arrives, it preempts the current update in service (if any). For D/M/1, arrivals are deterministic (every tau time units) and service is exponential with rate mu.

Parameters:
  • tau (double) – Deterministic interarrival time

  • mu (double) – Service rate (exponential service)

Returns:

meanAoI (double) – Mean (average) Age of Information varAoI (double): Variance of Age of Information peakAoI (double): Mean Peak Age of Information

Formulas (from Inoue et al., IEEE Trans. IT, 2019, Section IV):
For preemptive LCFS with GI/M/1:

E[A] = E[Y] + E[S] = tau + 1/mu

where S is the service time (exponential).

Reference:

Y. Inoue, H. Masuyama, T. Takine, T. Tanaka, “A General Formula for the Stationary Distribution of the Age of Information and Its Application to Single-Server Queues,” IEEE Trans. Information Theory, vol. 65, no. 12, pp. 8305-8324, 2019.

See also: aoi_fcfs_dm1(), aoi_lcfspr_mm1(), aoi_lcfspr_gim1()

aoi_lst_ph(alpha, T)

AOI_LST_PH Laplace-Stieltjes transform for phase-type distribution

lst = aoi_lst_ph(alpha, T)

Returns a function handle for the LST of a phase-type (PH) distribution with initial probability vector alpha and sub-generator matrix T.

Parameters:
  • alpha (row vector) – Initial probability vector (1 x n)

  • T (matrix) – Sub-generator matrix (n x n)

Returns:

lst (function_handle) – LST function @(s) alpha * inv(s*I - T) * (-T*e)

The LST of PH(alpha, T) is: H*(s) = alpha * (s*I - T)^{-1} * t where t = -T * ones(n,1) is the exit rate vector.

For numerical stability, we use: H*(s) = alpha * ((s*I - T) t)

See also: aoi_lst_exp(), aoi_lst_erlang(), aoi_lst_det()

aoi_lst_exp(mu)

AOI_LST_EXP Laplace-Stieltjes transform for exponential distribution

lst = aoi_lst_exp(mu)

Returns a function handle for the LST of an exponential distribution with rate mu.

Parameters:

mu (double) – Rate parameter (mean = 1/mu)

Returns:

lst (function_handle) – LST function @(s) mu/(mu+s)

The LST of Exp(mu) is: H*(s) = mu / (mu + s)

See also: aoi_lst_erlang(), aoi_lst_det(), aoi_lst_ph()

aoi_lst_erlang(k, mu)

AOI_LST_ERLANG Laplace-Stieltjes transform for Erlang distribution

lst = aoi_lst_erlang(k, mu)

Returns a function handle for the LST of an Erlang-k distribution with rate parameter mu.

Parameters:
  • k (integer) – Shape parameter (number of phases)

  • mu (double) – Rate parameter per phase (mean = k/mu)

Returns:

lst (function_handle) – LST function @(s) (mu/(mu+s))^k

The LST of Erlang(k, mu) is: H*(s) = (mu / (mu + s))^k

See also: aoi_lst_exp(), aoi_lst_det(), aoi_lst_ph()

aoi_lst_det(d)

AOI_LST_DET Laplace-Stieltjes transform for deterministic (constant) distribution

lst = aoi_lst_det(d)

Returns a function handle for the LST of a deterministic distribution with constant value d.

Parameters:

d (double) – Constant value (must be positive)

Returns:

lst (function_handle) – LST function @(s) exp(-s*d)

The LST of a deterministic random variable X = d is: H*(s) = exp(-s*d)

See also: aoi_lst_exp(), aoi_lst_erlang(), aoi_lst_ph()