Presentation is loading. Please wait.

Presentation is loading. Please wait.

A Flexible Scatternet- wide scheduling Algorithm for Bluetooth Wensheng Zhang and Guohong Cao IPCCC 2002.

Similar presentations


Presentation on theme: "A Flexible Scatternet- wide scheduling Algorithm for Bluetooth Wensheng Zhang and Guohong Cao IPCCC 2002."— Presentation transcript:

1 A Flexible Scatternet- wide scheduling Algorithm for Bluetooth Wensheng Zhang and Guohong Cao IPCCC 2002

2 Outline Introduction The System Model Flexible Scatternet-wide Scheduling (FSS) Scheme Performance Evaluations Conclusions

3 Introduction The basic structure for communication in Bluetooth networks is piconet. It is an interconnect between a master node and up to seven active slave nodes. It is an interconnect between a master node and up to seven active slave nodes. Initially, the technology will be used as a replacement for cables.

4 Introduction To support high communication bandwidth, Bluetooth devices can form multiple piconets in a region, called scatternet. Connecting piconets via bridge nodes. Connecting piconets via bridge nodes.

5 Introduction Different from intra-piconet traffic scheduling, scatternet-wide traffic scheduling is distributed among multiple masters. The bridge conflict problem. The bridge conflict problem.

6 Introduction One simple solution is called the static scheme. A static reservation schedule is determined centrally when the scatternet is constructed. A static reservation schedule is determined centrally when the scatternet is constructed.FairnessSimplicity Low cost It may not be able to achieve high bandwidth utilization.

7 Introduction This paper propose a Fexible Scatternet- wide Scheduling (FSS) scheme to address the scatternet-wide traffic scheduling problem.

8 The System Model Scatternet topology Dedicated Masters Dedicated Masters Dedicated Slaves Dedicated Slaves Slave/slave Bridge nodes Slave/slave Bridge nodes Master/slave Bridge nodes Master/slave Bridge nodes

9 The System Model To simplify the scatternet-wide traffic scheduling protocol: There are only one type of bridges, namely slave/slave bridge. There are only one type of bridges, namely slave/slave bridge. Each piconet has at most two bridge nodes. Each piconet has at most two bridge nodes. Each bridge node connects at least two piconets. Each bridge node connects at least two piconets.

10 The System Model A scatternet topology

11 The System Model The switch table Each bridge maintains a switch-table. Each bridge maintains a switch-table. B 6 is synchronized to M 0 every n f frames. B 6 is synchronized to M 0 every n f frames. The B 6 [i] will poll B 6 at each (n f *k + i) th (where 0<= i < n f, and k=0,1, … ) frame.

12 The System Model The switch-table of a scatternet is constructed when the scatternet is formed. Bluetooth Topology Construction Protocol.(BTCP) Bluetooth Topology Construction Protocol.(BTCP) Bluetooth Topology Construction Protocol.(BTCP) Bluetooth Topology Construction Protocol.(BTCP)

13 Flexible Scatternet-wide Scheduling (FSS) scheme Flexible Traffic Scheduling Algorithm. The master poll its slaves in a weighted round robin manner. The master poll its slaves in a weighted round robin manner. Each slave has a polling weight which is represented by a tuple (P,R) Each slave has a polling weight which is represented by a tuple (P,R) P indicates that the slave should be polled every P schedule cycles. R represents the maximum times that the slave can be polled in a cycle.

14 Flexible Scatternet-wide Scheduling (FSS) scheme For each master M i, it maintains the following data structure: B j [k]: B j [k]=i indicated that M i can poll B j at frame k. B j [k]: B j [k]=i indicated that M i can poll B j at frame k. (P j,R j ) (P j,R j ) P j =k(k>1) indicates that M i should poll S j once every k meta-frames P j =1 and R j =k(k>=1) indicates that M i should poll S j k times every meta-frame.

15 Flexible Scatternet-wide Scheduling (FSS) scheme For each master M i, it maintains the following data structure: Poll_q i : queues the dedicated slaves that should be polled during this meta-frame. Poll_q i : queues the dedicated slaves that should be polled during this meta-frame. P max, R max : The maximum P and the maximum R. P max, R max : The maximum P and the maximum R.

16 S1S1 …… S2S2S2S2 poll_q i 3 Flexible Scatternet-wide Scheduling (FSS) scheme MMMM S1S1 S2S2 B1B1 B2B2 if (this frame is reserved as a SCO link between M i and S k ) then poll S k ; 1 Find a bridge B j, can be polled in this frame and should be polled in the rest of the metaframe. 2

17 Flexible Scatternet-wide Scheduling (FSS) scheme At the end of each frame, for each polled S j : If ( the poll is wasted ) then degrade_priority(S j ); else raise_priority(S j ); If ( the poll is wasted ) then degrade_priority(S j ); else raise_priority(S j ); Procedure degrade_priority(S j ) If (R j >1) then R j =R j -1; else if (P j 1) then R j =R j -1; else if (P j <P max ) then P j =P j +1; Procedure raise_priority(S j ) If (P j >1) then P j =P j -1; else if (R j 1) then P j =P j -1; else if (R j <R max ) then R j =R j +1;

18 Flexible Scatternet-wide Scheduling (FSS) scheme Flexible Switch-table Modification Algorithm. To let the bridge node dynamically change its switch-table based on the traffic load. To let the bridge node dynamically change its switch-table based on the traffic load.

19 Flexible Scatternet-wide Scheduling (FSS) scheme For each bridge B i, it maintains the following data structure: B i [k]: B i [k]=j (j<>0) represents that time slot B i [k] has been assigned to M j. B i [k]: B i [k]=j (j<>0) represents that time slot B i [k] has been assigned to M j. Borrower i : the node from which B i receives the time slot request. Borrower i : the node from which B i receives the time slot request. Lender i : the node that will lend the time slot. Lender i : the node that will lend the time slot.

20 Flexible Scatternet-wide Scheduling (FSS) scheme For each bridge B i, it maintains the following data structure: Slot i : the time slot that the borrower will get. Slot i : the time slot that the borrower will get. Confirm i : after the bridge receives the agree message from the lender, confirm i =true. Confirm i : after the bridge receives the agree message from the lender, confirm i =true. Wait_q i : queues the id of the masters which require more time slots. Wait_q i : queues the id of the masters which require more time slots. Len_q i : the queue length of the outgoing queue for B i at M j. Len_q i : the queue length of the outgoing queue for B i at M j. , , Len_q max : system parameters. , , Len_q max : system parameters.

21 Flexible Scatternet-wide Scheduling (FSS) scheme When B i receives a request from M j : If there exists B i [k]==-1 then B i [k]=j; send reply(k) to M j ; else if (borrower i <>-1) then enqueue(wait_q i, M j ); else Find_Lender(B i, M j ); If there exists B i [k]==-1 then B i [k]=j; send reply(k) to M j ; else if (borrower i <>-1) then enqueue(wait_q i, M j ); else Find_Lender(B i, M j );Find_Lender(B i, M j )Find_Lender(B i, M j )

22 Flexible Scatternet-wide Scheduling (FSS) scheme When B i receives a poll from M j : If (lender i ==j and confirm i ==false) then send borrow(slot i ) to the M j ; if (borrower i ==j and confirm i ==true) then send reply(slot i ) to M j ; if (wait_q i <>  ) then find_lender(B i, dequeue(wait_q i )); else borrower i =lender i =-1; process the remaining part of the poll message as normal; If (lender i ==j and confirm i ==false) then send borrow(slot i ) to the M j ; if (borrower i ==j and confirm i ==true) then send reply(slot i ) to M j ; if (wait_q i <>  ) then find_lender(B i, dequeue(wait_q i )); else borrower i =lender i =-1; process the remaining part of the poll message as normal;

23 Flexible Scatternet-wide Scheduling (FSS) scheme When M j receives the following message from B i : Borrow(slot i ): remove time slot i from its schedule, and send confirm to B i ; Borrow(slot i ): remove time slot i from its schedule, and send confirm to B i ; Reply(k): M j adds time slot k to its schedule; Reply(k): M j adds time slot k to its schedule; Fail: the borrower connot get any time slot. Fail: the borrower connot get any time slot.

24 Flexible Scatternet-wide Scheduling (FSS) scheme When B i receives a confirm from M j : Confirm i =true; B i [slot i ]=j; Confirm i =true; B i [slot i ]=j;

25 Flexible Scatternet-wide Scheduling (FSS) scheme ProcedureProcedure Find_Lender(B i, borrower) Procedure Find the lender M k which has the shortest queue length and has been assigned more than one time slot by B i ; if (len_q i borrower /len_q i k +1>  ) and len_q i k  ) and len_q i k <  *len_q max ) then borrower i =borrower; lender i =k; confirm i =false; slot i =m. else send fail to the borrower;

26 Performance Evaluations System parameters Len_qmax=800 packets Len_qmax=800 packets  =10%  =10%  =5%  =5% CBR Traffic Model CBR Traffic Model VBR Traffic Model VBR Traffic Model Scatternet model and the switch-table Scatternet model and the switch-table Scatternet model and the switch-table Scatternet model and the switch-table

27 Performance Evaluations The traffic generate configuration

28 Performance Evaluations

29

30

31

32 Conclusions Due to the bridge conflict problem, scatternet-wide scheduling is essential. A reservation based protocol (static scheme) can eliminate the bridge conflicts. It can not achieve desirable bandwidth utilization when the traffic load changes. It can not achieve desirable bandwidth utilization when the traffic load changes.

33 Thank you

34 Bluetooth Topology Construction Protocol VOTES(1) FHS packets

35 Bluetooth Topology Construction Protocol VOTES(2) Page scan VOTES(3) Page scan

36 Bluetooth Topology Construction Protocol P=  (17-sqrt(289-8N))/2  B=P(P-1)/2 (SLAVESLIST(X), BRIDGELIST(X)) (SLAVESLIST(Y), BRIDGELIST(Y))

37 Bluetooth Topology Construction Protocol


Download ppt "A Flexible Scatternet- wide scheduling Algorithm for Bluetooth Wensheng Zhang and Guohong Cao IPCCC 2002."

Similar presentations


Ads by Google