1 Introduction

Congestion control algorithms and active queue management (AQM) for Internet have been the focus of intense research since the seminal work of Kelly et al. [1]. Congestion control schemes can be divided into three classes: primal algorithms, dual algorithms and primal-dual algorithms [2]. In primal algorithms, the users adapt the source rates dynamically based on the route prices (the congestion signal generated by the link), and the links select a static law to determine the link prices directly from the arrival rates at the links. However, in dual algorithms, the links adapt the link prices dynamically based on the link rates, and the users select a static law to determine the source rates directly from the route prices and the source parameters. Primal-dual algorithms combine these two schemes and dynamically compute both user rates and link prices. In [3], a stability condition was provided for a single proportionally fair congestion controller with delayed feedback. Since then, this result was extended to networks in [4, 5]. In [4], the author studied the case of a network with users having arbitrary propagation delays to and from any links in the network. In [5], the authors studied a more general network with different roundtrip delays amongst different TCP connections.

In this paper, we consider a dual congestion control algorithm, which can be formulated as a congestion control system with feedback delay. The model is described by [7, 8]

p ˙ (t)=kp(t) [ f ( p ( t τ ) ) c ] ,
(1.1)

where f() is a non-negative continuous, strictly decreasing demand function and has at least third-order continuous derivatives. The scalar c is the capacity of the bottleneck link and the variable p is the price at the link. k is a positive gain parameter, τ is the sum of forward and return delays. A great deal of research has been devoted to the global stability, periodic solutions and other properties of this model, for which we refer to [7, 8].

Considering the need of scientific computation and real-time simulation, our interest is focused on the behaviors of a discrete dynamics system corresponding to (1.1). In this paper, we use a nonstandard finite-difference scheme [11, 12] to make the discretization for system (1.1). Firstly, we consider the autonomous delay differential equations

u ˙ (t)=f ( u ( t ) , u ( t 1 ) ) .

Then we get the following:

u n + 1 u n =Φ(h)f( u n , u n m ),
(1.2)

with the function Φ such that

Φ(h)=h+O ( h 2 ) ,

where h= 1 m (m Z + ) stands for stepsize, and u k denotes the approximate value to u(kh). This method can be seen as a modified forward Euler method.

The Neimark-Sacker bifurcation is the discrete analogue of the Hopf bifurcation that occurs in continuous systems. The Hopf bifurcation is extremely important in the continuous dual congestion control algorithm [7, 8]. Similarly, the Neimark-Sacker bifurcation is also highly relevant to the discrete dual congestion control algorithm. The purpose of this paper is to discuss this version as a discrete dynamical system by using Neimark-Sacker bifurcation theory of discrete systems.

The paper is organized as follows. In Section 2, we analyze the distribution of the characteristic equation associated with the discrete model and obtain the existence of the local Neimark-Sacker bifurcation. In Section 3, the direction and stability of a closed invariant curve from the Neimark-Sacker bifurcation of the discrete delay model are determined by using the theories of discrete systems in [13]. In Section 4, some computer simulations are performed to illustrate the theoretical results. Conclusions are given in the final section.

2 Neimark-Sacker bifurcation analysis

Let u(t)=p(τt). Then (1.1) can be rewritten as

u ˙ (t)=τku(t) [ f ( u ( t 1 ) ) c ] .
(2.1)

Assume Eq. (2.1) has a positive equilibrium point u . Then u satisfies

f ( u ) =c.

If we employ the nonstandard finite-difference scheme (1.2) to Eq. (2.1) and choose the function Φ as

Φ(h)= 1 e τ k h τ k ,

it yields the delay difference equation

u n + 1 = u n + ( 1 e τ k h ) u n [ f ( u n m ) c ] .
(2.2)

Note that u also is the unique positive equilibrium of (2.2). Set y n = u n u , then it follows that

y n + 1 = y n + ( 1 e τ k h ) ( y n + u ) [ f ( y n m + u ) c ] .
(2.3)

By introducing a new variable Y n = ( y n , y n 1 , , y n m ) T , we can rewrite (2.3) in the form

Y n + 1 =F( Y n ,τ),
(2.4)

where F= ( F 0 , F 1 , , F m ) T , and

F j = { y n + ( 1 e τ k h ) ( y n + u ) [ f ( y n m + u ) c ] , j = 0 y n j + 1 , 1 j m .
(2.5)

Clearly the origin is an equilibrium of (2.4), and the linear part of (2.4) is

Y n + 1 =A Y n ,

where

A= ( 1 0 0 ( 1 e τ k h ) u f ( u ) 1 0 0 0 0 1 0 0 0 0 1 0 ) .

The characteristic equation of A is given by

a(λ):= λ m + 1 λ m ( 1 e τ k h ) u f ( u ) =0.
(2.6)

It is well known that the stability of the zero equilibrium solution of (2.4) depends on the distribution of zeros of the roots of (2.6). In this paper, we employ the results from Zhang et al. [9] and He et al. [10] to analyze the distribution of zeros of characteristic Eq. (2.6). In order to prove the existence of the local Neimark-Sacker bifurcation at equilibrium, we need some lemmas as follows.

Lemma 2.1 There exists a τ ¯ >0 such that for 0<τ< τ ¯ all roots of (2.6) have modulus less than one.

Proof When τ=0, (2.6) becomes

λ m + 1 λ m =0.

The equation has, at τ=0, an m-fold root λ=0 and a simple root λ=1.

Consider the root λ(τ) such that λ(0)=1. This root depends continuously on τ and is a differential function of τ. From (2.6), we have

d λ d τ = k h e τ k h u f ( u ) ( m + 1 ) λ m m λ m 1
(2.7)

and

d λ ¯ d τ = k h e τ k h u f ( u ) ( m + 1 ) λ ¯ m m λ ¯ m 1 .
(2.8)

Noticing f() is a non-negative continuous, strictly decreasing function, we have

d | λ | 2 d τ | τ = 0 , λ = 1 = [ λ d λ ¯ d τ + λ ¯ d λ d τ ] | τ = 0 , λ = 1 =2kh u f ( u ) <0.

So, with the increase of τ>0, λ cannot cross λ=1. Consequently, all roots of Eq. (2.6) lie in the unit circle for sufficiently small positive τ>0, and the existence of the τ ¯ follows. □

A Neimark-Sacker bifurcation occurs when a complex conjugate pair of eigenvalues of A cross the unit circle as τ varies. We have to find values of τ such that there are roots on the unit circle. Denote the roots on the unit circle by e i ω , ω (π,π). Since we are dealing with complex roots of a real polynomial, we only need to look for ω (0,π).

Lemma 2.2 There exists an increasing sequence of values of the time delay parameter τ= τ j , j=0,1,2,,[ m 1 2 ] satisfying

{ cos ω j = 1 1 2 [ ( 1 e τ j k h ) u f ( u ) ] 2 , τ j = 1 k h ln ( 1 + sin ω j u f ( u ) sin m ω j ) , h = 1 m ,
(2.9)

where ω j ( 2 j π m , ( 2 j + 1 ) π m ), j=0,1,2,,[ m 1 2 ].

Proof Denote the roots of Eq. (2.6) on the unit circle by e i ω , ω (0,π). Then

e i ω 1 ( 1 e τ j k h ) u f ( u ) e i m ω =0.
(2.10)

Separating the real part and the imaginary part from Eq. (2.10), there are

cos ω ( 1 e τ k h ) u f ( u ) cosm ω =1
(2.11)

and

sin ω + ( 1 e τ k h ) u f ( u ) sinm ω =0.
(2.12)

So,

cos ω =1 1 2 [ ( 1 e τ k h ) u f ( u ) ] 2 .
(2.13)

Then the roots e i ω of (2.6) satisfy Eqs. (2.10)-(2.13). From (2.12) we get

τ = 1 k h ln ( 1 + sin ω u f ( u ) sin m ω ) .
(2.14)

Substituting (2.14) into (2.11), we have

sin(m+1) ω =sinm ω .
(2.15)

Then Eq. (2.15) has a unique solution ω in every interval ( 2 j π m , ( 2 j + 1 ) π m ), j=0,1,2,,[ m 1 2 ], we set

ω j := ω ( 2 j π m , ( 2 j + 1 ) π m ) ,j=0,1,2,, [ m 1 2 ] .
(2.16)

From (2.14), we have

τ j = 1 k h ln ( 1 + sin ω j u f ( u ) sin m ω j ) .
(2.17)

This completes the proof. □

Lemma 2.3 Let λ j (τ)= r j (τ) e i ω j ( τ ) be a root of (2.6) near τ= τ j satisfying r j ( τ j )=1 and ω j ( τ j )= ω j . Then

d r j 2 ( τ ) d τ | τ = τ j , ω = ω j >0.

Proof From (2.11) and (2.12), we obtain that

cosm ω j = cos ω j 1 ( 1 e τ j k h ) u f ( u ) ,
(2.18)
sinm ω j = sin ω ( 1 e τ j k h ) u f ( u ) .
(2.19)

It is easy to see that

cos(m+1) ω j =cosm ω j cos ω j sinm ω j sin ω j = 1 cos ω j ( 1 e τ j k h ) u f ( u ) .
(2.20)

From (2.7), (2.8) and using (2.18)-(2.20), we have

d r j 2 d τ | τ = τ j , ω = ω j = d | λ j | 2 d τ | τ = τ j , ω = ω j = [ λ d λ ¯ d τ + λ ¯ d λ d τ ] | τ = τ j , ω = ω j = 2 k h e τ j k h ( 2 m + 1 ) ( 1 cos ω j ) ( 1 e τ j k h ) | ( m + 1 ) e i m ω j m e i ( m 1 ) ω j | 2 > 0 .

This completes the proof. □

Lemmas 2.1-2.3 immediately lead to the stability of the zero equilibrium of Eq. (2.3), and equivalently, of the positive equilibrium u of Eq. (2.2). So, we have the following results on stability and bifurcation in system (2.2).

Theorem 2.1 There exists a sequence of values of the time-delay parameter 0< τ 0 < τ 1 << τ [ m 1 2 ] such that the positive equilibrium u of Eq. (2.2) is asymptotically stable for τ[0, τ 0 ) and unstable for τ> τ 0 . Equation (2.2) undergoes a Neimark-Sacker bifurcation at the positive equilibrium u when τ= τ j , j=0,1,2,,[ m 1 2 ], where τ j satisfies (2.13).

3 Direction and stability of the Neimark-Sacker bifurcation

In the previous section, we have obtained the conditions under which a family of invariant closed curves bifurcates from the steady state at the critical value τ= τ j , j=0,1,2,,[ m 1 2 ]. Without loss of generality, denote the critical value τ= τ j by τ . In this section, following the idea of Hassard et al. [14], we study the direction and stability of the invariant closed curve when τ= τ 0 in the discrete Internet congestion control model. The method we use is based on the theories of a discrete system by Kuznetsov [13].

Rewrite Eq. (2.3) as

y n + 1 = y n + ( 1 e τ k h ) u f ( u ) y n m + 1 2 ( 1 e τ k h ) [ 2 f ( u ) y n y n m + u f ( u ) y n m 2 ] + 1 6 ( 1 e τ k h ) [ 3 f ( u ) y n y n m 2 + u f ( u ) y n m 3 ] + O ( | y n 2 + y n m 2 | 2 ) .
(3.1)

So, system (2.3) is turned into

Y n + 1 =A Y n + 1 2 B( Y n , Y n )+ 1 6 C( Y n , Y n , Y n )+O ( Y n 4 ) ,
(3.2)

where

B( Y n , Y n )= ( b 0 ( Y n , Y n ) , 0 , , 0 ) ,C( Y n , Y n , Y n )= ( c 0 ( Y n , Y n , Y n ) , 0 , , 0 ) ,

and

b 0 ( ϕ , ψ ) = ( 1 e τ k h ) [ f ( u ) ϕ 0 ψ m + f ( u ) ϕ m ψ 0 + u f ( u ) ϕ m ψ m ] , c 0 ( ϕ , ψ , η ) = ( 1 e τ k h ) [ f ( u ) ϕ 0 ψ m η m + f ( u ) ϕ m ψ 0 η m + f ( u ) ϕ m ψ m η 0 + u f ( u ) ϕ m ψ m η m ] .
(3.3)

Let q=q( τ 0 ) C m + 1 be an eigenvector of A corresponding to e i ω 0 , then

Aq= e i ω 0 q,A q ¯ = e i ω 0 q ¯ .

We also introduce an adjoint eigenvector q = q (τ) C m + 1 having the properties

A T q = e i ω 0 q , A T q ¯ = e i ω 0 q ¯ ,

and satisfying the normalization q ,q=1, where q ,q= i = 0 m q ¯ i q i .

Lemma 3.1 (See [15])

Define a vector-valued function q:C C m + 1 by

p(ξ)= ( ξ m , ξ m 1 , , 1 ) T .
(3.4)

If ξ is an eigenvalue of A, then Ap(ξ)=ξp(ξ).

In view of Lemma 3.1, we have

q=p ( e i ω 0 ) = ( e i m ω 0 , e i ( m 1 ) ω 0 , , e i ω 0 , 1 ) T .
(3.5)

Lemma 3.2 Suppose q = ( q 0 , q 1 , , q m ) T is the eigenvector of A T corresponding to the eigenvalue e i ω 0 , and q ,q=1. Then

q = D ¯ ( 1 , α e i m ω 0 , α e i ( m 1 ) ω 0 , , α e i 2 ω 0 , α e i ω 0 ) T ,
(3.6)

where α=(1 e τ k h ) u f ( u ) and

D= ( e i m ω 0 + m α e i ω 0 ) 1 .
(3.7)

Proof Assign q satisfies A T q = z ¯ q with z ¯ = e i ω 0 , then the following identities hold:

{ q k = e i ω 0 q k 1 , k = 2 , , m , α q 0 = e i ω 0 q m .
(3.8)

Let q m =α e i ω 0 D ¯ , then

q = D ¯ ( 1 , α e i m ω 0 , α e i ( m 1 ) ω 0 , , α e i 2 ω 0 , α e i ω 0 ) T .

From normalization q ,q=1 and computation, Eq. (3.7) holds. □

Let a(λ) be a characteristic polynomial of A and λ 0 = e i ω 0 . Following the algorithms in [13] and using a computation process similar to that in [15], we can compute an expression for the critical coefficient c 1 ( τ 0 ),

c 1 ( τ 0 )= g 20 g 11 ( 1 2 λ 0 ) 2 ( λ 0 2 λ 0 ) + | g 11 | 2 1 λ ¯ 0 + | g 02 | 2 2 ( λ 0 2 λ ¯ 0 ) + g 21 2 ,
(3.9)

where

g 20 = q , B ( q , q ) , g 11 = q , B ( q , q ¯ ) , g 02 = q , B ( q ¯ , q ¯ ) , g 21 = q , B ( q ¯ , ω 20 ) + 2 q , B ( q , ω 11 ) + q , C ( q , q , q ¯ ) ,

and

ω 20 = b 0 ( q , q ) a ( λ 0 2 ) p ( λ 0 2 ) q , B ( q , q ) λ 0 2 λ 0 q q ¯ , B ( q , q ) λ 0 2 λ ¯ 0 q ¯ , ω 11 = b 0 ( q , q ¯ ) a ( 1 ) p ( 1 ) q , B ( q , q ¯ ) 1 λ 0 q q ¯ , B ( q , q ¯ ) 1 λ ¯ 0 q ¯ .

By (3.3), (3.5) and Lemma 3.2, we get

{ b 0 ( q ¯ , p ( e i 2 ω 0 ) ) = ( 1 e τ 0 k h ) [ f ( u ) e i m ω 0 + f ( u ) e i 2 m ω 0 + u f ( u ) ] , b 0 ( q , q ) = ( 1 e τ 0 k h ) [ 2 f ( u ) e i m ω 0 + u f ( u ) ] , b 0 ( q , q ¯ ) = ( 1 e τ 0 k h ) [ f ( u ) e i m ω 0 + f ( u ) e i m ω 0 + u f ( u ) ] , b 0 ( q ¯ , q ¯ ) = ( 1 e τ 0 k h ) [ 2 f ( u ) e i m ω 0 + u f ( u ) ] , b 0 ( q , p ( 1 ) ) = ( 1 e τ 0 k h ) [ f ( u ) e i m ω 0 + f ( u ) + u f ( u ) ] , c 0 ( q , q , q ¯ ) = ( 1 e τ 0 k h ) [ 2 f ( u ) e i m ω 0 + f ( u ) e i m ω 0 + u f ( u ) ] , a ( e i 2 ω 0 ) = e i 2 ( m + 1 ) ω 0 e i 2 m ω 0 ( 1 e τ 0 k h ) u f ( u ) , a ( 1 ) = ( 1 e τ 0 k h ) u f ( u ) .
(3.10)

Substituting these into (3.9), we can obtain c 1 ( τ 0 ).

Lemma 3.3 (See [6])

Given the map (2.4), assume

  1. (1)

    λ(τ)=r(τ) e i ω ( τ ) , where r( τ )=1, r ( τ )0 and ω( τ )= ω ;

  2. (2)

    e i k ω 1 for k=1,2,3,4;

  3. (3)

    Re[ e i ω c 1 ( τ )]0.

Then an invariant closed curve, topologically equivalent to a circle, for map (2.4) exists for τ in a one side neighborhood of τ . The radius of the invariant curve grows like O( | τ τ | ). One of the four cases below applies.

  1. (1)

    r ( τ )>0, Re[ e i ω c 1 ( τ )]<0. The origin is asymptotically stable for τ< τ and unstable for τ> τ . An attracting invariant closed curve exists for τ> τ .

  2. (2)

    r ( τ )>0, Re[ e i ω c 1 ( τ )]>0. The origin is asymptotically stable for τ< τ and unstable for τ> τ . A repelling invariant closed curve exists for τ< τ .

  3. (3)

    r ( τ )<0, Re[ e i ω c 1 ( τ )]<0. The origin is asymptotically stable for τ> τ and unstable for τ< τ . An attracting invariant closed curve exists for τ< τ .

  4. (4)

    r ( τ )<0, Re[ e i ω c 1 ( τ )]>0. The origin is asymptotically stable for τ> τ and unstable for τ< τ . A repelling invariant closed curve exists for τ> τ .

From the discussion in Section 2, we know that r ( τ )>0; therefore, by Lemma 3.3, we have the following result.

Theorem 3.1 For Eq. (2.2), the positive equilibrium u is asymptotically stable for τ[0, τ 0 ) and unstable for τ> τ 0 . An attracting (repelling) invariant closed curve exists for τ> τ 0 if Re[ e i ω 0 c 1 ( τ 0 )]<0 (>0).

4 Computer simulation

In this section, we confirm our theoretical analysis by numerical simulation. We choose f(u)= 1 u as in [8] and set k=0.01, m=20, c=50. Then τ 0 =3.0 is the Neimark-Sacker bifurcation value.

Figures 1-4 are about delay difference Eq. (2.2) when step size h=0.05.

Figure 1
figure 1

The equilibrium u of ( 2.2 ) is asymptotically stable for τ=2.9< τ 0 =3.0 .

Figure 2
figure 2

Phase plot of ( 2.2 ) on the plane (u(n),u(n20)) for τ=2.9< τ 0 =3.0 .

Figure 3
figure 3

Waveform plot of ( 2.2 ) for τ=3.1> τ 0 =3.0 .

Figure 4
figure 4

A bifurcating periodic solution appears on the plane (u(n),u(n20)) for τ=3.1> τ 0 =3.0 .

In Figures 1 and 2, we show the waveform plot and phase plot for (2.2) with initial values u j =0.05 (j=0,1,,20) for τ=2.9< τ 0 =3.0. The equilibrium u =0.02 of Eq. (2.2) is asymptotically stable. In Figures 3 and 4 we show the waveform plot and phase plot for (2.2) with initial values u j =0.05 (j=0,1,,20). The equilibrium u =0.02 of (2.2) is unstable for τ=3.1> τ 0 =3.0. When τ varies and passes through τ 0 =3.0, the equilibrium loses its stability and an invariant closed curve bifurcates from the equilibrium for τ=3.1> τ 0 =3.0. That is the delay difference Eq. (2.2) which has a Neimark-Sacker bifurcation at  τ 0 .

5 Conclusion

In this paper, we focus our study on the Neimark-Sacker bifurcation in a fair dual algorithm of an Internet congestion control system. By using communication delay as a bifurcation parameter, we have shown that when the communication delay of the system passes through a critical value, a family of periodic orbits bifurcates from the equilibrium point. Furthermore, we have analyzed the stability and direction of the bifurcating periodic solutions. The results of numerical simulations agree with the theoretical results very well and verify the theoretical analysis.