[go: up one dir, main page]

NZ335960A - Continual grant request polling of slave stations by master - Google Patents

Continual grant request polling of slave stations by master

Info

Publication number
NZ335960A
NZ335960A NZ335960A NZ33596096A NZ335960A NZ 335960 A NZ335960 A NZ 335960A NZ 335960 A NZ335960 A NZ 335960A NZ 33596096 A NZ33596096 A NZ 33596096A NZ 335960 A NZ335960 A NZ 335960A
Authority
NZ
New Zealand
Prior art keywords
request
cell
grant
slot
data
Prior art date
Application number
NZ335960A
Inventor
Thomas R Eames
Kenneth M Buckland
Lac X Trinh
Steven D Warwick
Original Assignee
Next Level Comm
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US08/430,730 external-priority patent/US5850400A/en
Application filed by Next Level Comm filed Critical Next Level Comm
Publication of NZ335960A publication Critical patent/NZ335960A/en

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Digital data is transported "bidirectionally" between a broadband network unit (1) and devices (5). The data is transmitted in a series of downstream and upstream frame intervals. Devices (5) may request use of cell slots in upstream frames. The broadband network unit (1) determines which requests to grant. If the request is granted, the device (5) may use the cell slot to transmit digital data. Acknowledgement of successful reception of data transmitted in an upstream frame is provided in a subsequent downstream frame interval.

Description

^•2,5 °\bO.
WO 96/34485 PCT/US96/05806 MEDIA ACCESS CONTROL FOR DIGITAL DATA INTRODUCTION Technical Field This invention relates to the bi-directional transport of digital data between a digital network and devices in customer premises, such as a residence or business, and more specifically, to the management of concurrent accesses to the transport medium by multiple devices in the customer premises, so that the devices can share the data transport 10 medium without Corruption of the data being transported.
Background Aa important problem that must be solved in a bi-directional transport system between a digital network and devices in customer premises is the management of contention between a number of devices in the customer premises so that they can all 15 access the shared media, generally, coaxial cable media. That is, all of the devices m each customer premise are directly attached to the same coaxial cable, and all of these devices seek to transmit signals to the digital network. As a result, some method is required of determining which device should transmit on to the cable at any given time In the absence of such a method, a number of devices could transmit simultaneously, 20 resulting in the corruption of all of their signals Methods that address this problem of contention are termed media access control (MAC) methods.
At the present time a number of MAC methods exist for transporting digital services over coaxial cable The majority of these approaches are designed to operate in the hybrid fiber-coax (HFC) topology, in which digital services are earned over the 25 coaxial cable infrastructure that was installed for transmission of analog cable television services This HFC topology requires that digital signals travel long distances between the digital network and the customer premises. Further, the HFC topology requires that all of the devices in many homes (often as many as 500) must all make use of the same shared coaxial media. The use of a single medium shared by multiple devices introduces 30 the possibility that multiple devices will contending for access to the media at the same time If not managed, this contention will result in multiple devices attempting to transport data on the medium at the same time, thereby corrupting the data and preventing its successful transmission The large number of devices that share the media in an HFC inteIIE^^opmroFm Or NZ 2 8 OCT I99g j —RECEIVED 1 configuration substantially increases the complexity of managing this contention, making such a configuration undesirable.
Another approach locates snail digital concentrators or switches close to a small number of customer premises, where the digital signal is transferred to and from a 5 high-bandwidth medium such as a fiber optic medium to coaxial cable This approach is referred to as fiber-to-the-curb (FTTC) topology These small digital concentrators or switches effectively move the boundary of the digital network much closer to each customer premise. The result is that a separate coaxial cable can be run to each premise so that contention for that media is restricted to die devices in a single premise This 10 difference, plus the shorter run of the coaxial cable itself, results in drastically different requirements for a FTTC MAC than for a HFC MAC Most currently available FTTC MACs are designed to transport ATM (asynchronous transport mode) cells to and from the customer premise The transport of ATM cells is important, but the currendy available MACs do not include any explicit 15 means by which to carry TDM (ame division multiplexed) signals, such as telephone signals. Existing MACs can carry TDM signals only by segmenting them into ATM cells and later reassembling them, or by carrying them over a parallel distribution system.
This is an unwieldy approach that results in buffering, latency and synchronization problems It is therefore an object of the present invention to provide a media access control approach that is specifically suited to the "fiber-to-the-curb" coaxial cable distribution topology It is a further object of the present invention to provide a media access control approach that is suited to the bi-directional transport of digital services over a coaxial cable to which many devices in the same customer premise are attached It is a 25 further object of the present invention to provide a media access control approach that is suited to the transport of TDM (ume division multiplexed) signals that are transmitted at regular intervals and that require minimal delay SUMMARY OF THE INVENTION 30 Briefly, the invention provides for the bidirectional transportation of digital data between a digital network and devices in a customer's premises, and for further data 2 transmission between the broadband network unit and a broadband digital terminal, and between the broadband digital terminal and a digital network, such as a synchronous optical network. A device including a network interface module exchanges data on a shared media such as a coaxial cable with the broadband network unit Each network 5 interface module thereby contributes a portion of an upstream signal to the broadband network unit The upstream signal comprises of a senes of frame intervals. A frame interval has a width that is a multiple of 125 microseconds. A frame interval has two major components, request slot packets and cell slot packets Request slot packets are allocated one for each network interface module. There are an arbitrary number of cell 10 slot packets The request slot packets are capable of transporting requests for cell slots to the broadband network unit The broadband network unit decodes the requests and determines which of the requests, if any, to grant. One way by which the broadband network unit may determine which of the request to grant is to create a number of ordered lists, each list containing a number of candidates for grant An ordered list can be created 15 for each discrete predetermined pnonty recognized by the broadband network unit The broadband network unit may then select candidates from the list according to the predetermined pnonties The broadband network unit transports to the network interface modules a downstream signal that encodes the grant, by identifying which cell slots are allocated to which devices Additionally, a request slot is capable of carrying penodic 20 data such as Time Division Multiplex data.
BRIEF DESCRIPTION OF THE DRAWINGS The present invention may be better understood, and its objects, features and advantages made apparent to those skilled in the art, by referencing the accompanying 25 drawings in which FIG. 1 depicts a system for the bidirectional transport of digital data communicating with a network FIG. 2 depicts an example of a coaxial cable distnbution topology using the 30 apparatus in a customer premises.
FIG. 3 depicts the format of an upstream signal. 3.
WO 96/34485 PCT/US96/05806 FIG. 4 depicts the format of an upstream request for one or more grants FIG. 5 depicts the format of a downstream grant.
FIG. 6 is a block diagram of a logical circuit implementing a prioritization procedure FIG. 7 depicts the logic circuit of figure 6 in greater detail.
FIG. 8 depicts a logic circuit to select a single grant request.
FIG. 9 is a block diagram of a logic circuit employing multiple instantiations of the logic circuit of figure 8 FIG. 10 depicts the format of a downstream signal 10 DESCRIPTION OF SPECIFIC EMBODIMENTS Topology and Signal Paths Figure 1 depicts a system for the bidirectional transport of digital data communicating with a network. A Broadband Digital Terminal (BDT) 2 is connected to a 15 network such as a synchronous optical network (SONET). BDT 2 transmits and receives digital signals to and from the network, multiplexing the signals to a number of Broadband Network Units (BNUs) 1 Typically, a single BDT may service up to 64 BNUs Each BNU 1 in turn is equipped with a number of ports Each port is capable of servicing a customer premises 7 such as a residential home, though a medium such as 20 coaxial cable 3. Typically, a BNU is equipped with 8 ports and can service 8 customer premises.
Figure 2 depicts an example of coaxial cable distribution topology into a customer premises 7 One or more devices 5 in customer premises 7 is connected to BNU 1 by means of coaxial cable 3 Examples of such devices include television set-25 tops, personal computers, digital telephones, burglar alarms, or any other device capable of transmitting or receiving digital data. A device 5 includes a Network Interface Module (NIM) 6, which is used to interface the device 5 with the connection to the BNU 1 Far.h device 5 transmits directly onto the cable 3 in a bussed manner All signals transmitted from each device on to the cable 3 are received by the BNU 1. 30 Signals transmitted from a device 3 to the BNU 1 are referred to as "upstream" signals Each device 5 also receives signals from BNU 1 by means of the cable 3 4.
Ail signals received by each device 5 are transmitted by the BNU 1. Signals transmitted from BNU 1 to one or more devices 5 are referred to as "downstream" signals. Downstream signals are, in effect, broadcast to each of the devices 5 by the BNU 1 The transmission of the upstream and downstream signals are arranged in 5 such a way that they do not interfere with each other. This can be done, for example, by placing diem m different portions of the spectrum The separation of the upstream and downstream allows signals to move m both directions simultaneously The MAC Upstream Format Figure 3 depicts the format of the upstream signal as used in the MAC The 10 upstream signal comprises a series of frame intervals 9 having a duration of time T Each frame interval is segmented into two portions: a first poruon containing a senes of request slots 11 and a second portion containing a senes of cell slots 13. In each frame interval, a request slot 11 is allocated for every device 5 being serviced by BNU 1 in customer premises 7 The number of request slots is variable and is determined according to the 15 number of active devices in the premises. In each frame interval, a number of cell slots 13 are allocated The number of cell slots is a fixed number X Each slot, regardless of whether it is a request slot or a cell slot, is separated from its adjacent slots by a guard time 15. The total time consumed by all request slots, all cell slots and all guard times in a given frame interval cannot exceed the frame interval 20 duration T Request Slots Each request slot 11 is always associated with a particular device 5. The request slots occur in a consistent order in each frame interval 9 so long as the number of devices 5 remains unchanged.
As shown in Figure 3, a request slot 11 comprises five fields These fields are the preamble 17, cell slot requests 21; maintenance words 23, penodic data words 25, and forward error correction (FEC) words 27 The preamble 17 provides synchronization, and are used by the BNU receiver to lock on to each incoming request slot The maintenance words 23 are employed by the BNU to control the transmission 30 circuitry of each device The maintenance words control maintenance functions such as error handling, diagnostics, and a datalink FEC words 27 are used to provide error PCT/US96/0S806 correction for the contents of the request slot 11 of which the FEC words are a part. In general die details of the preamble, maintenance words and FEC words provide support for, and are specific to, the modulation scheme employed for upstream transport, and the transmission environment in which it must operate. The modulation scheme and 5 transmission environment are not pertinent to the present invention and are not further described The cell slot request words 21 provide information that describes requests made by each device 5 for access to one or more cell slots 13. Each request includes the pnonty of the request and the number of cell slots requested The number of cell slots 10 requested can be any number up to and including the total number X of cell slots in a frame interval A given device 5 can initiate multiple ceil slot requests at different pnonty levels by indicating the number of cell slots required at each level.
Figure 4 depicts one possible format for cell slot request words. In this format, the cell slot request words are a sequence of 8 bits. The bits sequence is 15 segmented into four fields of two bits each PRQ1 33, PRQ2 35, PRQ3 37, and PRQ4 39.
Field PRQ1 33 represents the number of cell requests being made at the highest pnonty A bit pattern of '00' indicates that no cell slots are being requested at the highest pnonty A bit pattern of '01' indicates that one cell slot is being requested at the 20 highest pnonty A bit pattern of '10' indicates that two cell slots are being requested at the highest pnonty. A bit pattern of '11' indicates that three cell slots are being requested at the highest pnonty Field PRQ2 35 represents the number of cell requests being made at the next-to-highest pnonty Likewise, field PRQ3 37 represents the number of cell requests being 25 made at the next-to-lowest pnonty Finally field PRQ4 39 represents the number of cell requests being made at the lowest pnonty.
It is believed that allowing for four levels of pnonty provides sufficient granulanty to permit the BNU to optimally allocate cell slots among devices without undue complexity Each request slot optionally includes penodic data words 25 Penodic data words, typically zero to 36 in number, are words that are provisioned for the transport of 6 PCTAJS96/05806 ame division multiplex (TDM) services, such as voice telephony and the like. During each frame interval these words are transferred from the associated device to the BNU. The frequency with which each data byte is transferred to the BTN 1 is 1 JT If T is made equal to 125 microseconds, the transfer frequency of each byte is 8 kHz, which is die 5 frequency at which telephone signals are generally transported in the form of pulse code modulated bytes. Thus, use of a 125 microsecond frame interval is particularly suited to the transport of TDM data. However, other frame interval sizes may also be used.
Frame intervals that are a multiple of 125 microseconds may prove to be particularly advantageous 10 Cell Slots Cell slots 13 are fixed in location and number relative to each frame interval 9 The cell slots are immediately adjacent in the frame interval, separated only by guard tune 15. The last cell slot followed by a guard time terminates coincidentally with the frame interval 9 The start ame of each cell slot 13 relative to the beginning of its frame 15 interval 9 can thus be determined by consider the length T of the frame interval and the order of the cell slot among the set of adjacent cell slots within the frame interval This provides a means of addressing each cell slot based upon its start time withm the frame interval.
As shown in Figure 3, a cell slot 15 comprises four fields the preamble 17, 20 device ID words 29; ATM cell 31, and FEC words 27. The preamble 17 and FEC words 27 serve the same function in a cell slot 15 as in a request slot 13 The device ID words 29 are used to identify the particular device 5 to which the cell slot 13 is allocated Unlike request slots 11, cell slots 13 are not fixedly allocated to a particular device Instead, cell slots are allocated on a frame by frame basis to 25 various devices 5 in response to downstream grant signals as determined by the BNU 1 A cell slot uses device ID words 29 to indicate the particular device with which the cell slot is associated Each device 5 is identified by a device identifier, which is assigned to each device in the customer premises 7 when the device is initialized The device identifier is placed in each cell slot allocated to a device.
ATM words 31 define a standard 53-byte ATM cell for asynchronous transfer mode transmission. The form and content of the ATM cell is well-known in the art 7 PCT/DSM/05806 The MAC Downstream Format Figure 10 depicts an example of a downstream frame interval 94 suitable for use by the BNU In general, the fbnnat of die MAC downstream transmission is not critical to the operation of the apparatus The downstream transmission may be in any S format that is suitable for transmission of large amounts of digitally addressable data, and, m particular, for the transmission of both ATM cells and penodic TDM ffrtn In die example depicted in Figure 10, downstream frame interval 94 compnses a downstream frame header 87 and a downstream payload 89. The downstream frame header 87 compnses framing word 90, modem balance word 91, datalink word 92, at least one 10 grant word 41, alarm/control word 95, FEBE word 96 and reserved words 93. Reserved words 93 are not used and are generally set to zero FEBE word 96 is used to provide error correction for the remainder of the downstream frame header 94 Framing word 90 is used by NIMs 6 to lock onto downstream data. Modem balance word 91, datalink word 92, and alarm/control word 95 are employed to control transmission circuitry and to 15 control maintenance functions such as error handling, diagnostics, and datalink In general, the details of the framing word, the modem balance word, the datalink word, the alarm/control word, and the FEBE word provide support for and are specific to the modulation scheme employed for downstream transport, and the transmission environment in which it must operate. The modulation scheme and transmission environment are not 20 pertinent to the present invention and are not further described.
Downstream payload 89 compnses a senes of payload segments 99 In one implementation, each payload segment is 99 is 29 bytes in length A payload segment compnses a data block 98 and FEC 97 Data blocks 98, generally 25 bytes in length, contain data transmitted downstream to the addressed devices. FECs 97, generally 4 25 bytes m length, provide error correction for the immediately previous data block 98 Optionally, one or more payload segments 99 may include one or more words replicated from downstream frame header 87, such as grant word 41, datalink word 92, and alarm/control word 95, to provide redundancy for those words Preferably, no more than five bytes are so replicated 30 In order to synchronize with the upstream transmission, the downstream transmission should transmit using a frame interval having a size that is a multiple of the 8 upstream frame interval size T Complexity of implementation is reduced if this multiple is 1; that is, if the downstream frame interval and the upstream frame interval are of equal size.
In one implementation, the sum of the lengths of all downstream data blocks 5 98 is 795 bytes This provides for a payload capacity sufficient to carry fifteen 53-byte data slots Each of these 53-byte slots may be used to transport a 53-byte ATM cell. In such a case, the ATM cells are earned in the available payload bytes, one after the other Alternatively, one or more of the 53-byte data slots may be used to carry periodic data That is, a group of bytes in the payload that would normally be used to transport an ATM 10 cell can instead be treated as 53 bytes for periodic data transport. If the downstream frame interval is 125 microseconds, each such byte will transfer period data at a frequency of 8 kHz. This is ideal for the transport of TDM periodic data, such as telephony data.
One requirement for die downstream signal is that it must be capable of 15 transmitting a response to an upstream grant request to the devices 5 Such a response is referred to as an "upstream cell opportunity grant," or simply a "grant." Although grants may be transmitted in any of a number of ways, the use of a grant word m the downstream frame header is a convenient way of accomplishing this transmission In such a scheme, one grant is transmitted in a grant word in the downstream frame interval 20 for each cell slot position in the upstream frame interval 9 Each grant word corresponds to a predetermined cell slot; e g , the first grant word describes a grant, if any, for the first cell slot position, the second giant word describes a grant, if any, for the second cell slot position, etc.
Figure 5 depicts one implementation of a grant word 41 In this 25 implementanon, the grant word occupies 16 bits The grant comprises four fields M-bits 43, ACK bit 45, grant bits 47; and ECC bits 49.
M-bits 43 comprise two bits that together indicate whether a request is being granted and, if so, the nature of the grant An M-bit value of "11' indicates that a grant is being issued, and that the addressed device may use, in the next upstream frame 30 interval, the cell slot corresponding to this grant word.
An M-bit value of '01' indicates that the corresponding cell slot may be used 9 by any device for low-pnority access Because this grant is not directed to a specific device, the corresponding ceil slot is subject to "collision", that is, the cell slot may be used by multiple devices, resulting in data corruption Any device using a cell slot in response to such a grant must be capable of tolerating data loss or be capable of S retransmitting to avoid data loss. An M-bit value of' 10' indicates that the corresponding cell slot may be used by any device for high-priority access, a value of '10' is otherwise equivalent to a value of '01' An M-bit value of '00* indicates that no grant is being issued. This value is used to ensure that an occasional cell slot is not to be used by any configured device 10 Such cell slots are therefore available to be used by devices being added to the network A device S being connected may use such an unallocated cell slot during initialization to communicate to the BNU 1 to notify the BNU of its presence The BNU then allocates a new request slot 11 in future upstream frame intervals 9 for use by the new device ACK bit 45 is a one-bit field. An ACK value of' 1' indicates that the last 15 upstream transmission using the cell slot to which this grant word corresponds was successful An ACK value of '0' indicates that the last upstream transmission using the cell slot to which this grant word corresponds was not successful, e g., because of a collision or other error GRANT field 47 is a four-bit field that identifies the device for which die cell 20 slot is being granted This field is meaningful only when M-bits 43 have a value of ' 11' For example, a GRANT value of '0000* may be used to indicate that this grant is directed to device number 1, a value of '0001' that the grant is directed to device number 2, etc ECC field 49 is a 9-bit field that forms an error correction code to protect the 25 other fields in the grant word It will be readily apparent that other formats of grant slots may be used without departing from the present invention. For example, GRANT field 47 may be more or fewer than 4 bits m width to accommodate more or fewer devices In addiuon, for example, rather than using the posiuon of a grant word 41 to indicate the cell slot 13 30 to which the grant refers, a cell slot idenufier could be encoded within the grant In addition, for example, the M-bit field may be omitted, and its function communicated by . the use of a special-purpose device identifier that does not correspond to any configured device In addition, for example, the grant words may include a pnonty indicator to facilitate communication with a device 5 that is capable of transmitting data at more than one pnonty.
Arbitration by the BNU The BNU 1 makes all of the arbitration decisions to determine which cell slot requests which will be granted. The BNU may provide arbitration in a number of ways, depending on the charactenstics of the greater distnbuaon network, and on the expected patterns of upstream ATM cell traffic.
One example of an arbitration scheme is described as follows. In this arbitration scheme an assumption is made that there are two general types of cell traffic that will pass upstream: real-time streams and non-real-time streams Real-time-streams include continuous bit rate (CBR) traffic such as MPEG video telephony traffic that is tolerant of detail loss, and vanable bit rate (VBR) traffic such as MPEG video telephony IS traffic that is not tolerant of detail loss. Non-real-time streams include available bit rate (ABR) traffic such as file transfer Real-time streams are not tolerant of delay and are therefore given a higher pnonty than non-real-time streams Thus, there are two pnonties: high for real-time streams, and low for non-real-time streams In the example arbitration scheme, the BNU 1 considers all of the requests 20 made m a grven upstream frame interval and determines how the X available cell slots are to be distnbuted among the competing requests. The BNU builds two ordered lists of grant requests, one list for high pnonty grant requests, and one list for low pnonty grant requests Each list is sorted so that devices are considered in a round-robin fashion, with the device having obtained the most recent grant being considered last in each round-robm 25 circuit The "Pnonoze" Procedure Table 1 is a pseudocode representation of a "pnonoze" procedure to prepare such an ordered list: 11 function priont]ze(devicc_numbcr, requestjiumber, eligibility, valid, last_grant, reset) 1 when (reset = 1): 2 for (i = 1 to X) used[i] « 0 3. when (valid = 1)* 4 if (request jiumber > eligibility) requestjiumber = eligibility . for (i = requestjiumber to 1, decrement) 6 request_boost = X- i 7 if (devicejiumber < last_grant) request_boost = request_boost + 1 8 for (j = 1 to X): 9 if 0 = 1)* in_used[j] — 1 11 in_boost(j] = request_boost 15 12. in_deviceO] * devicejiumber 13 else 14. m_used[j] = out_used[] - 1] in_boost[j] = out_boost[j - 1] 16. m_device{j] = out_device(j -1] 17. if (m_used[j] = 1 and ((used|j] = 0) or (in_boost(j] > boost[j]) or ((m_boost[j] = boost[)]) and (m_device[j] > deviceU])))) 18. out_used[j] = usedQ] 19 out_boost(j] = boostjj] . out_deviceQ] = device [j] 21 usedjj] = m_used[j] 22. boostjj] = in_boostjj] 23. device Q] = in_device[)] 30 24. else out_used[j] = m_used(j] 12 PCT7US96/05806 27. 26 out_boost{j] = inboost[j] out_device[j] » mjleviceQ] 28. output(used[l...X], device[l...X]) Table 1.
The following parameters are taken as input to the "prioritize" procedure. The parameter "devicejiumber" is the device identifier, having a value of 0 to AM, where N is die number of devices in the configuration. The parameter "requestjiumber" is the 10 number of requests being made by the device, having a value of 0 to AT, where X is again the number of cell slots m an upstream frame interval.
The parameter "eligibility" is a number that indicates the maximum number of cell slots that are to be allocated to the device, having a value of 0 to X This parameter is provided by an external policing function that determines the number of cell requests that IS fall within a negotiated cell output rate for which the device is contracted No policing is performed on low priority requests; that is, in the instantiation of this procedure to produce a low-priority ordered list, "eligibility" is always set to X.
The parameter "valid" indicates whether the parameters "devicejiumber," "requestjiumber," and "eligibility" are valid. A value of "1" indicates that the 20 parameters are valid.
The parameter "last_grant" contains the device identifier of the last device to have been granted a cell slot for that pnonty level during the previous frame interval. The parameter "last_grant" has a value of 0 to N-l, where N is the number of devices in the configuration.
The parameter "reset" is asserted to begin a new round of pnontization The procedure analyzes all incoming cell slot requests of a given pnonty and selects X of them as candidates for granting The X candidates are stored m X candidate records. A candidate record consists of a "used" bit that indicates whether the record descnbes a valid candidate, a "boost" value, and a device number These three fields of 30 each record are considered to determine whether a new candidate should be inserted into the ordered records with the existing lowest order candidate being pushed out The 13. insertion number is determined by comparing, in order of importance, the "used" bit, the "boost" value, and the device number.
Lines 1 and 2 of the procedure clear the candidate records Line 3 begins an insertion determination when a valid request has arrived. Line 4 serves to limit the 5 number of requests granted to a paracular device to the value determined by the external policing function.
Line 5 begins performing calculations for each presented request made by each device Lines 6 and 7 use the "boost" value to prioritize requests based upon the device number of the previously granted request and the number of requests being made Lines 10 8-27 examine all ordered candidate records in the list to determine the appropriate insertion point and rippling records below the insertion point to the next lowest position, with the lowest order candidate being removed from the list Line 28 outputs the completed ordered list The "Prioritize" Circuit 15 The "prioritize" procedure can be readily implemented m dedicated hardware.
Figure 6 illustrates a circuit 50 to implement lines 8-27 of the "prioritize" function, where X is equal to 3 Each switcher 51 represents an instantiation of lines 8-27 of the procedure, rippling a candidate record to the immediately lower switcher Figure 7 depicts a detailed view of the switcher 51 Logic block 57 takes as input 20 a candidate record stored in latch 61 and the input values "m_used", "in_boost" and "in_device", and generates a truth value signal 52 having a value of 1 (true) or 0 (false) according to the conditional statement represented by line 17 of the "prioritize" procedure. The truth value signal controls 2 1 multiplexor 59 and latch 61. If the conditional evaluates as false, yielding a truth value signal of 0, multiplexor 59 passes the 25 input record values 63 out unchanged as output record values 65. If the condition evaluates as true, yielding a truth value signal of 1, multiplexor 59 produces output values 65, which correspond to the existing candidate record stored in latch 61 Simultaneously, the candidate record in latch 61 is replaced by the input 63 As shown in Figure 6, each switcher output, other than the last, is cascaded to the next lower switcher input, so that 30 all switchers, taken as a group, produce as output a set of signals that represent the X candidates selected for grant requests that make up the particular ordered list of 14.
PCT/US96/Q5806 candidates The "Grant" Procedure After the ordered lists are created, the lists are used as input to a "grant" procedure that selects the candidates to be granted from the lists Table 2 is a pseudocode 5 representation of a "giant" procedure to perform such selection: function grant(use<W>[l ..X], device»i«b[l.. X], spacer, usedjo»{l. X], devicejow[l...X], spaceiow) 1 for (j * 1 to X): 2 emptyO] = 1 3. if (usedum[j] = 1 and j # space**): 4 grantjj] = device^] priority [j] = 1 6. empty [j] = 0 7 else if (usedk>w[X - j + 1] and (X - j + 1) # spacer). 8. grant[j] = deviceiowfX - j + 1] 9. pnontylj] » 0 10 empty [j] = 0 11. if (usedu(ii[l] = 1 and 1 # space**.) 12 last_granthnh = devicew»b[l] 13 for 0 = 1 to X) 14 if (empty[j] * 0 and priority [j] = 0 and 0 = 1 or emptyU - 1] = 1 or pnontylj - 1] = 1)* last_grant«ow = deviceiow[X -j + 1] 16 output(empty[l X], pnontyfl . X], grantll.. X], las^grantuib, last_granti«) Table 2.
The "grant" procedure uses the output of two instantiations of the "pnontize" 30 function to generate cell slot grants One instantiation of the "pnontize" function is used to develop an ordered record of high pnonty cell slot candidates, the other for low pnonty cell slot candidates. This procedure considers these two sets of records and makes cell slot grant decisions based on the record contents and on the space available m the two upstream cell buffers (high and low pnonty).
The following parameters are taken as input to the "grant" procedure. The 5 parameter "use<W[l JC]" is an array of X binary values, one binary value for each of X candidate records produced as output by die application of the "pnontize" function of Table 1 on high pnonty grant requests. A value of 1 indicates that the candidate record is valid, a value of 0 indicates that the candidate record is not valid.
The parameter " device*^ 1..X]" is an array of X values, one value for each of X 10 candidate records produced as output by the application of the "pnontize" function of Table 1 on high prionty grant requests Each array element has value in the range of 0 to N-1, and represents the device identifier of the device making the request The parameter "space**" represents the number of cells that can be absorbed by an upstream buffer for high pnonty ceils. This number is dependent, m pan, on the 15 buffer size selected by the implementation.
The parameter "usedkw[l .X]" is an array of X binary values, one binary value for each of X candidate records produced as output by the application of the "pnontize" function of Table 1 on low pnonty grant requests A value of 1 indicates that the candidate record is valid, a value of 0 indicates that the candidate record is not valid 20 The parameter "devu»»[l..X]" is an array of X values, one value for each of X candidate records produced as output by the application of the "pnontize" function of Table 1 on low pnonty grant requests. Each array element has value in the range of 0 to JV-1, and represents the device identifier of die device making the request The parameter "spacer" represents the number of cells that can be absorbed by an 25 upstream buffer for low pnonty cells This number is dependent, in part, on the buffer size selected by the implementation.
Lines 1-10 of the procedure select X cell slot requests to grant. Line 2-10 are executed for each grant, as indexed by Line 1 Line 2 marks the cell slot as unallocated so that, if no candidate request is found for that cell slot, it remains 30 unallocated. Lines 3-6 select a high pnonty request, if one is eligible. If no high pnonty requests are eligible, Lines 7-10 select a low pnonty request If neither a high pnonty 16 PCT/CS9<y0S806 request nor a low pnonty request is eligible, the cell slot remains unallocated as set in Line 2 Lines 11-12 set the variable "last_grantwg*" to the device identifier of the last device to be granted a high pnonty cell slot. This variable will be used by the next 5 invocation of the "priontize" function for the high pnonty cell requests so that the devices other than the last device selected is preferred in the next invocation of the procedure. Lines 13-15 perform a comparable function for the low pnonty cell requests.
Line 16 produces output indicating the BNU's decisions for cell allocation. The "Grant* Circuit The "grant" procedure can be readily implemented in dedicated hardware Figure 8 illustrates a circuit 74 implementing an instantiation of lines 3-10 of the "grant" function, where X is equal to 3. Logic block 67 performs die function of lines 3-6, to select a high pnonty request, if any, for output. Logic block 67 takes as input a particular "used**" array element 66 and the "spaca^" parameter 68 and generates a 15 truth value signal 73 having a value of 1 (true) or 0 (false) according to the conditional statement represented by line 3 of the "grant" procedure. The truth value signal 73 is produced as output in the form of the "pnontyjj]" signal 77, and also serves as input to logic block 69 and multiplexor 71 Logic block 69 performs die function of lines 7-10, to select a low pnonty 20 request, if any, for output. Logic block 69 takes as input a particular "usedto." array element 70, the "space**" parameter 72, and truth value signal 73 Logic block 69 generates a truth value signal 75 having a value of 1 (true) or 0 (false) according to the conditional statement represented by line 7 of the "grant" procedure, ANDcd with the truth signal 73 from logic block 67 The resulting truth value signal 75 thus represents a 25 1 if neither a high pnonty request nor a low pnonty request is selected to be granted. The truth value signal 75 is produced as output in die form of the "empty[j]" signal 79.
A 2 1 multiplexor 71 takes as input a particular "devices" array element 81 and a particular "device*" array element 82. Multiplexor 71 is modulated by truth value signal 73 to select between the two array elements and produce grant signal 80. 30 Figure 9 depicts a three-way circuit 83 compnsing three grant circuits 80 to produce a set of three request grants 85 for use in an implementation where X is equal to 17 3 Effect of Denial of a Request During both rounds of arbitration cell slots can be denied to a device if it has been transmitting cells at a faster rate than it contracted for with the distribution system, or if 5 there is no buffer or transmission space available to carry cells of that pnonty further upstream If a request is refused it is discarded The requesting device then has the option of making the same request m future frame intervals until it is granted. Alternatively, a more elaborate version of this arbitration example could queue up requests in the order 10 they amve in high and low pnonty queues. These requests could then be attended to as cell slots become available AH publications and patent applications mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication or patent IS application was specifically and individually indicated to be incorporated by reference.
The invention now being fully described, it will be apparent to one of ordinary skill in die art that many changes and modifications can be made thereto without departing from the spint or scope of die appended claims. 18

Claims (10)

What we claim is
1 A system for bidirectional transport of digital services between a digital network and at least one network interface module, said system comprising- a broadband digital terminal attached to the network and capable of transferring data to and from the network, a broadband network unit attached to the broadband digital terminal and capable of transferring data to and from the broadband digital terminal, said broadband network unit comprising: means for accepting an upstream signal including a plurality of frame intervals, each frame interval having a plurality of w request slots and at least one cell slot, with each network interface module being ppresentable in at least one unique f request slot and each request slot being capable of indicating a request for a cell slot, means for decoding the request; oceans for determining whether to grant the request; and means for prodding a downstream signal capable of indicating that the request is granted.
2 . - The system of claim 1, wherein each frame intervalvhas a width that is a multiple of 125 microseconds.
3 The system o£ claim 2, wherem said multiple is 1
4. The system of claim 1, wherem each cell slot contains an ATM celL
5 The system of claim 1, wherein each request slot contains an indicator of a request for allocation of a cell slot.
6 The system of claim 1, each request slot contains periodic data. -19- P700
7 The system of claim 6, wherein said periodic data is Time Division Multiplex data.
8 The system of claim 1, wherem each request slot contains: an indicator of a request for allocation of a cell slot, and periodic data.
9 The system of claim 8, wherem said periodic data is Time Division Multiplex data.
10. The system of claim 1, wherem said means for determining whether to grant the request operates on a first set of ordered records and a second set of ordered records. 11 The system of claim 1 substantially as herein descnbed with reference,to the accompanying drawings. PIPERS Attorneys For: Ne't Level Communications -20- 18 OCT 1999 I —RECElVFn I
NZ335960A 1995-04-27 1996-04-25 Continual grant request polling of slave stations by master NZ335960A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/430,730 US5850400A (en) 1995-04-27 1995-04-27 System, method, and apparatus for bidirectional transport of digital data between a digital network and a plurality of devices
NZ307018A NZ307018A (en) 1995-04-27 1996-04-25 Bidirectional data transport system, grants in downstream frame intervals control use of upstream cell slot

Publications (1)

Publication Number Publication Date
NZ335960A true NZ335960A (en) 2000-05-26

Family

ID=26651715

Family Applications (1)

Application Number Title Priority Date Filing Date
NZ335960A NZ335960A (en) 1995-04-27 1996-04-25 Continual grant request polling of slave stations by master

Country Status (1)

Country Link
NZ (1) NZ335960A (en)

Similar Documents

Publication Publication Date Title
CA2218885C (en) Media access control for digital data
US6122279A (en) Asynchronous transfer mode switch
US6674750B1 (en) Apparatus and method for communicating time-division multiplexed data and packet data on a shared bus
US5926478A (en) Data transmission over a point-to-multipoint optical network
US20030007724A1 (en) System, method, and computer program product for optimizing video service in ethernet-based fiber optic TDMA networks
Dail et al. Adaptive digital access protocol: A MAC protocol for multiservice broadband access networks
US10841674B2 (en) Timeslot management method, a related network terminator, a related line terminator and an upstream signal frame structure for a time division multiple access system
EP2192723B1 (en) Optical burst transmission/reception control system, slave station apparatus to be used therein and optical burst transmission/reception control method
US20060067691A1 (en) Communication system
EP0952693B1 (en) Packet multiplexing apparatus
EP1434397B1 (en) Scheduling in an Ethernet-based optical network
JPH11500295A (en) Sell grant mechanism
NZ335960A (en) Continual grant request polling of slave stations by master
US20050027874A1 (en) Method for controlling upstream traffic in ethernet-based passive optical network
JP4719352B2 (en) Method for dividing upstream time slots in a time division multiple access system, associated line terminator, and associated network terminator
JP2002185542A (en) Communications system
Kotikalapudi et al. Adaptive MAC-layer protocol for multiservice digital access via tree and branch communication networks
JP3776409B2 (en) Packet communication method and packet multiplexer
CN114499680A (en) Optical line terminal and optical network unit
CA2233555A1 (en) Asynchronous transfer mode switch