1. Field of the Invention
The present invention relates to the fields of telecommunications and computing. More particularly, the present invention relates to a protocol for voice-data integrated multiaccess to FDD (frequency division duplex) or TDD (time division duplex) local- or wide-area networks.
2. Description of the Related Art
The emerging convergence of telecommunications and computing has brought about considerable significance to dynamic multiplexing of voice and data over both wireline and wireless multiaccess channels, such as used in cellular and hybrid fiber-coax (HFC) networks. Bandwidth efficiency is a key consideration for voice-data integration and has been addressed in many studies by applying packet switching to both voice and data portions of the traffic, shunning circuit switching altogether.
For conventional multiple access, speech packets generated during active speech periods contend for channel access in a manner similar to that used for data packets, for instance, on Ethernet LANs. Packet reservation multiple access (PRMA) and derivatives of PRMA, as well as D-TDMA, are the most familiar medium access control (MAC) protocol examples that operate on this basis. Nevertheless, speech packets may encounter excessive delays for conventional multiple access, thereby resulting in speech clipping.
As is well known, bandwidth efficiency is not the only issue that merits attention in packet transmission. Quality of service is another critical factor that must be taken into account to meet the requirements of the underlying applications. In this regard, speech transmission delay should be always upper-bounded to a certain threshold for a satisfactory reception.
What is needed is a technique for dynamically multiplexing voice and data over a multiaccess channel that provides a predetermined quality of service for voice transmission by providing a speech access delay that is always upper bounded to a predetermined threshold.
The present invention provides a technique for dynamically multiplexing voice and data over a multiaccess channel that provides a predetermined quality of service for voice transmission by providing a speech access delay that is always upper bounded to a predetermined threshold.
The advantages of the present invention are provided by a MAC protocol that operates on an uplink and a downlink channel. The uplink channel has a plurality of frames, such that each frame has a first selectable number of minislots and a second selectable number of slots. When a user has voice traffic that is to be sent, the user sends a reservation request of a first type into a first selected minislot of a selected frame of the uplink channel using a contention-free technique. The reservation request of the first type is for requesting an assignment of at least one slot in at least one frame that is immediately subsequent to the selected frame for transmitting the voice traffic of the user. When a user has data traffic that is to be sent, the user sends a reservation request of a second type into a second selected minislot of the selected frame when such a minislot is available in the selected frame using a contention-based technique. The reservation request of the second type is for requesting an assignment of at least one slot in at least one frame that is subsequent to, but not necessarily immediately after the selected frame, for transmitting the data traffic. The rules for making a contention-based request for transmitting new or previously-colliding reservation requests of the second type by user terminals and for allocating the corresponding uplink channel resources by the central station are governed by a pseudo-Bayesian controlled Aloha algorithm or by a nonobvious blocked-access binary tree algorithm. The central station generates and sends a downlink channel feedback message prior to the end of the selected frame of the uplink channel. The feedback message contains bandwidth assignment information for the next frame of the uplink channel of minislots assigned for reservation requests of the first type, slots assigned to reservations requests of the first type received during the selected frame and, if sufficient bandwidth is available the next frame, minislots assigned for contention-based reservation requests of the second type and/or slots assigned for data traffic corresponding to reservation requests that were successfully sent in the selected frame or a frame prior to the selected frame.
The present invention is illustrated by way of example and not limitation in the accompanying figures in which like reference numerals indicate similar elements and in which:
The present invention provides a MAC protocol that allows dynamic allocation of voice and data packets over the same channel or set of channels, provides silence compression and background imitation for voice, and guarantees a speech transmission delay to within an acceptable threshold, regardless of the data load that may be sharing the same channel(s). Voice data is served using a contention-free reservation technique, while data applications are served on a best-effort basis. Bandwidth resources are not occupied when the data applications are inactive. Additionally, the present invention is Internet protocol (IP) compatible.
Slots are assigned through bandwidth reservation requests, and used for voice traffic transmission during active speech intervals. Minislots are assigned at the end of speech talkspurts and used for background noise transmission during speech silence intervals. An assigned minislot is used, when a voice user becomes active again, for sending a reservation request in a contention-free manner for a slot assignment for timely transmitting the next active speech talkspurt. Silence compression is used for voice traffic, thereby freeing most of the idle bandwidth that would otherwise be occupied by an inactive voice user during speech silence so that it can be used by concurrent data applications, and thereby increasing channel throughput for data users.
A contention-based reservation scheme is used for sending bandwidth reservation requests for data traffic transmission. Such a reservation request is generated by a data user, when the user has new data arrivals for transmission. The decision of whether to send a reservation request in each frame by a data user and of how to allocate the minislots to all data users is based on the pseudo-Bayesian controlled Aloha algorithm or on the nonobvious blocked-access binary tree algorithm. Slots are assigned upon a successful reservation request for data traffic transmission for each data user.
The communication traffic in a direction from a user terminal 11 to central station 12 over common channel 13 is referred to herein as an uplink. A user terminal 11 may generate different types of traffic, or bit streams, simultaneously, provided that generation and transmission of the respectively different types of traffic, such as periodic (voice) or bursty (data), are controlled by separate “terminals” sharing the same user transceiver. A user message consists of speech or/and data packets. Communication traffic in the other direction over common channel 13 from central station 12 to a user terminal 11 provides essential feedback information in a broadcast mode, and is referred to herein as a downlink.
Preferably, central station 12 and user terminals work together to execute a centralized-distributed algorithm, with central station 12 operating in a “master” mode and user terminals 11 operating in a “slave” mode. Central station 12 monitors uplink multiple access activities, including both contention-free and contention-based reservations, and information transmissions from all admitted user terminals 11, and provides channel status feedback via downlink for contending terminals, as well as minislot and slot assignment for terminal reservation and transmission. User terminals 11 monitor to the downlink feedback message broadcast from central station 12 and accordingly transmit their reservation requests and information packets based on the content of the feedback message. Preferably, the uplink and downlink channels are frequency-division duplex (FDD) channels and time-aligned appropriately.
A multiaccess channel may be a single TDMA-type channel having time slots along the time axis.
A multiaccess channel may also be expanded into a set of FDMA-type channels pooling several frequency bands and thus occupying two dimensions over time and frequency, or into a set of CDMA-type channels formed by both time slots and user codes on a two-dimensional plane as well.
In
To accommodate the periodic nature of speech and to utilize the server-client layout of the multiaccess channel of the present invention, constant-length frames are used for grouping time slots and minislots so that transmissions in both directions proceed frame by frame, such as shown in
In
The end indication message is sent during the assigned slot of the penultimate frame of the talkspurt (45 in frame m+p) so that there is sufficient time for the central office to process the end indication message, assign a minislot, and for the voice terminal to respond to the subsequent minislot assignment. That is, assigned slot 44 may be located relatively late in a frame and there may be insufficient time for the central station to process an end indication message and for the voice terminal to respond to a minislot assignment by the beginning of the next frame.
In
In
When the VAD detects a silence interval lasting at least three frames, allocation of a minislot to the inactive speaker limits the delay for transmitting the next active speech packet to between one to three frames. In the situation when the number of admitted voice calls does not exceed the number of slots in a frame (i.e., less than the channel capacity as measured by circuit switching), each voice user occupies either a slot or a minislot at any given time during the duration of the voice user's call. If the frame size is not greater than, for example, 10 ms, the access delay does not become excessive and no speech clipping occurs. In contrast to contention-based protocols, the contention-free speech access of the present invention simultaneously achieves delay bounding, silence compression and background imitation.
According to the present invention, a significant portion of the channel bandwidth can be shared with data traffic during speech silence intervals without jeopardizing speech transmission. That is, the bandwidth resource freed by silence compression can be made available to data sources. Consequently, the basic channel structure shown in
To illustrate the shared bandwidth aspect of the present invention, speech traffic statistics for a speech source are first analyzed. As has been often previously done, the alternating active and inactive periods of the speech source can be modeled using independent exponential distributions, and the corresponding probability density functions can be written as
ƒA(tA)=(1/TA)exp(−tA/TA),tA≧0 (1)
ƒI(tI)=(1/TI)exp(−tI/TI),tI≧0, (2)
where TA and TI are the means for active and inactive talk periods, respectively. Accordingly, the number of speech packets generated in an active period is distributed by
pA(nA)=∫(n
Similarly, the number of packets declared by a VAD to be inactive over a silence period is distributed by
pI(nI)=∫(n
where F in both Eqs. (3) and (4) denotes the frame length. Thus, the expected number of packets classified as active or inactive by the VAD is given by
By virtue of ergodicity, that is, based on the renewal nature of alternating, independent active and inactive periods, the average number of active and inactive packets
As described above, the speech access protocol of the present invention operates by respectively sending active and inactive packets in slots and minislots on a frame-by-frame basis. By design, NV≦NF. Thus,
To serve the bursty nature of data sources, data transmission is predicated upon a random-access reservation. The minislots in each frame that are unused by voice calls are made available for reservation requests for data messages that have arrived at user data terminals and are waiting transmission to the central station. Each successful reservation is entered into a transmission queue that is maintained at the central station. The central station then allocates slots in one or more of the subsequent frames based on a first-come-first-served (FCFS) policy, or another service priority policy (if any), for the exclusive transmission of a data message corresponding to a reservation requesting the transmission. If a minislot used for data reservations is not located sufficiently near to the beginning of a frame, the feedback message relating to the contention status of the minislot (i.e., collision or not) will not be available in the subsequent frame, but will be one frame later. A successful reservation is entered into the central transmission queue in the same delay fashion. Before a data message is transmitted, however, a host terminal (more precisely, the MAC controller inside the host terminal) will not send out another message. The boundary between minislots and slots can be adjusted on a frame-by-frame basis so that new messages promptly secure reservation requests, and that reserved requests promptly transmit their associated messages.
The reservation-transmission (R-T) boundary separating minislots and slots is adjusted from frame to frame so that the overall access delay, that is, the average time for successful reservation plus waiting time for message transmission, is minimized. One suboptimal policy used by the central station for determining and broadcasting the number of minislots and slots, NR and NT, respectively, for data reservation and transmission in the next frame is based on the reception of the reservations and transmissions from all the user terminals in the previous frame.
For example, suppose that only the minislots located in the first NI slots of a given frame are processed by a central station and have their status feedback available by the end of the same frame. The remaining minislots N2=NF−NI, if any, are processed by the central station and corresponding status feedback is provided in one later frame. Thus, given q data reservations entered in the central transmission queue that are yet to be served, the next frame will have
NR=mr(NF−NA−NT)−NI (7)
where if q≦N2 or q−NTM>N2−NA, with NTM=NF−NA−┌NI/mr┐, then
NT=min(q,Nm), (7a)
or else, with N′R=mrmin(NI,NF−NA)−NI, then
NT=min(q,NF−NA−(NI+N′R)/mr). (7b)
Here, NA and NI respectively denote the number of slots and minislots that will be used by the admitted voice calls in the next frame. NA and NI will be known to the central station before the feedback message for the next frame is broadcast. NTM specifies the maximum number of slots that may be assigned to data transmission in the next frame accounting for the current speech load. Equation (7a) therefore implies that if the size of the current transmission queue is relatively small or large with respect to the value of N2, the queue will be served to the extent of the next available slots. Equation (7b) applies to a moderate queue size, which is used to preclude reservation requests from being sent into the last N2 slots of the next frame.
After the data transmission slots have been allocated, all the remaining slots are converted into minislots for data reservation so that no slots are wasted in any given frame. Nevertheless, the appearance of NI and N2 in Eqs. (7a) and (7b) reflects a constrained effort to make data users send reservations in only the first NI slots in any given frame so that their respective reservation status is timely reflected in the subsequent frame. If reservation requests were indeed sent in minislots such that the status feedback message is not available by the end of the same frame, the terminals sending reservations into those particular minislots resume their appropriate action after one intervening frame based on the feedback message corresponding to the next frame.
Adaptive adjustment of the R-T boundary on a frame-by-frame basis enables voice loaded multiaccess channel to provide data throughput approaching the maximum limit. The maximum data throughput Tmax in packets per slot may be determined from the equations of equilibrium governing data reservation and transmission, Smax
In the absence of voice calls (i.e.,
For the pseudo-Bayesian control, a terminal is considered to be backlogged as soon as the terminal receives a new message. All contention attempts are performed based on the (approximate) knowledge of the channel backlog at the start of each slot (frame), thereby maximizing successful transmissions (reservations) slot by slot (frame by frame). In its primitive form for a (non-reservation) slotted channel, pseudo-Bayesian controlled Aloha requires backlogged terminals, i.e., terminals having a packet to send, to transmit independently with probability p=min(1,1/n+), where n+ is the estimated backlog at the beginning of each slot and may be updated successively from the value n− at the last slot. Thus,
In Eq. (9), λ accounts for new packet arrivals per slot. It has been found that setting λ=1/e, the maximum Aloha throughput, results in no appreciable performance difference. Under such control, as long as the arrival rate is less than the maximum throughput, the protocol remains stable, and no message will be dropped due to repeated collisions.
For a framed, reservation-based voice-loaded multiaccess channel having a pseudo-Bayesian Aloha control for data access according to the present invention, an R-T bandwidth allocation scheme, similar to that defined using Eqs. (7), (7a) and (7b), is described first. The only exception for the present invention is in connection with Eq. 7(b) by the introduction of N′R instead of NR. Accordingly, N′R is defined to be N′R=mrmin(NI,NF−NA,ND)−NI, where ND=┌(NI+N+)/mr┐, and N+ is the current estimated backlog of data messages pending reservation. N+ is updated over each frame in conjunction with the operation of the algorithm. In view of Eqs. (7) and (7b), the purpose for introducing ND is for allocating as many minislots for data reservations in the next frame for data messages not yet securing a reservation for moderate transmission queue sizes.
For convenience in describing the preferred contention-based algorithms of the present invention, each data message consists of only one packet that requires only one slot for transmission. Thus, the following contention-based algorithms for data traffic illustrate a most conservative reservation-based data transmission protocol, that is, a packet-by-packet contention scheme. Such a packet-by-packet-based protocol provides a lower-bound performance of practical protocols that allow multislot transmission per successful contention by, for example, initial bandwidth reservation or/and by piggybacking requests for additional bandwidth during message transmission.
At step 601 in
At step 608, the central station determines the R-T boundary between minislots and slots for the next frame. At step 609, at least one slot in the next frame is assigned to each continuously-talking and to each newly-talking user. At step 610, a minislot in the next frame is assigned to each continuously-silent and to each newly-silent voice user. At step 611, if slots in the next frame are available, a slot in the next frame is assigned to each data user that successfully sent a reservation request in the current frame or in a previous frame, but still has data to send. At step 612, minislots in the next frame that are available for data users to send reservation requests are determined and allocated.
At step 613, the permission probability is determined for data users having a reservation request to send in the minislots allocated as available for data users as p=min(1, NR/N+), where NR is the number of allocated minislots and N+ is the estimated number of current data users having a reservation request to send, i.e., backlogged. The current backlog N+ is re-estimated at the central station based on the backlog N− and the number of minislots assigned for data reservations NR− in the previous frame. To do this, the central station takes into account the number of non-collision nu and collision minislots nc that occurred in the last frame. Thus,
Here, the term “non-collision” means the transmission of zero or one reservation request into a minislot, and the term “collision” means the transmission of more than one reservation request into the same minislot. In Eq. (10), λF designates new message arrivals per frame and, analogously with Eq. (9), may be set to be the maximum value sustainable over the next frame. In view of Eq. (8), λF is selected to be λF=Smax[(NF−NA)mr−NI]/(1+mrSmax), with Smax=1/e. In deriving Eq. (10) from Eq. (9), a Poisson distribution for the overall backlog has been assumed, which, if independently routed to k minislots in a random fashion, becomes k sub-backlogs that are independently, identically distributed (i.i.d.) according to Poisson having a mean scaled down by a factor of k. Accordingly, the mean is approximated by the estimate.
If no minislots were available for data reservation during the current frame, that is, all minislots were allocated to silent voice users, only the new data message arrivals are used for updating the backlog for the current frame, viz., N+=λF+N−. If a minislot used for data reservation in the current frame cannot have feedback available by the end of the current frame because of the relative lateness of the minislot in the current frame, the backlog associated with that particular minislot, as well as the successful reservation (if one) out of that minislot, will not be reflected in the next frame, but is reflected in the frame after the next frame. The “partial” backlog based on the relatively-late minislots may be estimated separately by associating nu and nc, appearing in Eq. (10), with the relatively late minislots only. A terminal that contends in a relatively late minislot knows of the relative lateness of the minislot either by a priori convention or by suitable indication in the feedback message. If a terminal contends in a relatively late minislot, the terminal refrains from further action during the next frame and waits for the feedback message for the next frame.
The maximum voice-loaded data throughput is the same as given in Eq. (8). The multiaccess channel will have guaranteed stability provided the data arrival rate is below the throughput limit.
At step 614, the information relating to data users that successfully sent a reservation request by contention is broadcast by the central station in a downlink feedback message. Additionally, information relating to minislot and slot assignment for both voice and data users, as well as permission probability p are broadcast in the feedback message. Minislots and slots are assigned to voice users on an individual basis for contention-free transmission into them. Slots are also individually assigned to data users for contention-free transmission, but minislots are collectively assigned to data users for contention-based transmission.
In
The second preferred random access (contention-based) reservation scheme for data is based on a non-obvious blocked-access basic binary tree algorithm, which provides a good tradeoff with respect to performance, complexity, and robustness. In its basic operation on a single slotted channel, collision is resolved by statistically dividing a group of colliding terminals into two subgroups, which then contend separately to transmit their respective data packets as follows.
In
If no or only one data terminal sends a data packet into time slot 82a, then there is no collision. (Assume, for purposes of this example, that the central station provides a feedback message so that each data terminal can monitor the channel status of each slot.) When no packets collide, the top level of the stack is removed and each level of the virtual stack is raised, or moved upward, towards the top of the stack by one level.
If two or more data terminals send a data packet in time slot 82; the packets will collide and the central station will not receive any of the data packets. Upon learning that there was a collision, each of the data terminals that sent a packet in time slot 82; i.e., data terminals occupying the top level of the stack randomly selects a 0 or a 1 with equal probability, and each data terminal in a waiting interval lowers their respective level in the stack by one level. Each colliding data terminal that selected a 0 remains at the top level of the stack and resends the data packet in time slot 82b, while each colliding data terminal that selected a 1 lowers its level in the stack by one level to occupy the next to the top level of the stack. All terminals then wait the outcome of time slot 82b. If there is no collision in time slot 82b, then each data terminal occupying a level in the stack raises its level by one. Data terminals occupying an updated top level after a “no collision” event would send their data packet during the next time slot. If there is a collision during time slot 82b, then the colliding terminals randomly select a 0 or a 1 with equal probability. Each colliding terminal selecting a 0 stays on the top level of the stack and sends its data packet in the next time slot. Each colliding terminal selecting a 1 lowers its level in the stack by one level, as does all other terminals at lower levels in the stack waiting to send a data packet. The process continues with data terminals having newly arriving data packets in later and later allocation intervals occupying lower and lower levels of the stack.
The allocation interval size Δ may be chosen for maximizing channel throughput. For Poisson traffic, the channel attains a maximal throughput of Smax=0.4285356 packets per slot when SmaxΔ=1.035758 packets, i.e., when Δ=2.4169705 slots. As long as the arrival rate (in packets per slot) is below Smax, the channel will be stable.
Preferably, the blocked-access binary tree contention process utilized by the present invention applies to data terminals sending reservation requests into minislots of a framed channel for obtaining a slot assignment for sending a data message. According to this aspect of the invention, the number of minislots available in the next frame is dynamically determined by the central station and communicated in the feedback message. A contending terminal monitors the feedback message and determines whether its reservation request will be (re)transmitted in a minislot in the next frame based on the outcome of the contention on the data minislots in the last frame and the update of allocation intervals as well as the availability of data minislots in the next frame. Any number of minislots can be available for reservation requests, including the situation when no minislots are available. When no minislots are available, all contending terminals wait until available minislots are indicated by the feedback message. Moreover, available minislots used for sending reservation requests do not need to be consecutively adjacent to each other in a frame, but merely need to be identified so that contending terminals can determine which minislot(s) is (are) available.
The availability of multiple minislots in a given frame also allows for parallel operation of several allocation intervals and for parallel resolution within individual allocation intervals. New groups of terminals in a reservation waiting set may be accepted for contention when additional minislots are available while existing groups or subgroups undergo collision resolution. The allocation length on the arrival time axis of each new group for the reservation system δ can be optimized for maximum system throughput, which is attained at Tmaxδ=1.035758 packets, where Tmax is given as in Eq. (8) in terms of packets per slot with Smax=0.4285356. Thus, δ is selected to be δ=1.035758/Tmax slots, or equivalently, δ=1.035758/NFTmax frames, where NF denotes the size of a frame in slot units. A separate virtual stack is established based on allocation intervals for tracking the order of contention of terminals having messages to transmit but have not successfully sent a reservation request.
The tree algorithm operates in conjunction with an R/T policy as follows. Suppose the central station has just processed the mini slots located in the first NI slots of the last frame, with minislots located in the remaining N2 slots (if any) being processed in the next frame because of feedback delay considerations. Also, suppose that the central station has determined that there are now q reservations in the transmission queue yet to be given transmission slots (waiting period) and that there are c subgroups of terminals pending the collision resolution of their reservation requests in the next frame. The central station then removes the groups (or subgroups) that did not experience collision in the last frame from the stack and the levels of the remaining groups advance accordingly. The central station also calculates the number of minislots and slots for data reservation and transmission, NR and NT, respectively, in the next frame according to Eqs. (7), (7a) and (7b), where N′R=mrmin(NI,NF−NA,ND)−NI,ND=┌NI+N+)/mr┐, N+=c+└(tƒ−tb−)/δ┘, in which tƒdenotes the start time of the next frame, and tb− denotes the last blocking point on the message arrival time axis.
As for pseudo-Bayesian controlled Aloha, N+ is an estimate of the pending message reservations in terms of next contention subgroups. The introduction of ND again attempts to match the number of minislots for next data reservation with that of data messages yet to obtain a reservation for moderately sized transmission queues. If NR>c, new allocation intervals can be opened from the waiting set (for reservation), thus advancing the next blocking point to tb+=min(tƒ,tb−+δ(NR−c)).
Upon receiving the feedback message from the central station, data terminals having unsuccessful reservations update their respective positions in the virtual stack maintained locally based on the announced number of colliding and non-colliding groups of terminals that sent reservation requests into minislots in the last frame. The update by all the backlogged terminals brings the number of total new resolution-pending subgroups to c.
In the case where NR>c, all updated subgroups send their respective reservation requests into their corresponding minislots out of the NR minislots assigned for the next data reservation. The correspondence is the link of the order of the subgroup positions in the virtual stack to the order of the announced minislots. Terminals that had message arrivals after the previous blocking point tb−, but before the new blocking point tb+, send their reservation requests independently into any one of the NR−c minislots set aside for new reservations. The position of the minislots chosen determines their associated groups and, hence, their respective levels in the virtual stack, which already contained c levels of subgroups. On the other hand, when NR<c, no new reservation requests will be initiated, and only NR of the c subgroups that are located in the first NR levels in the virtual stack contend for a data reservation in the next frame. The remaining subgroups wait for their reservation opportunities in subsequent frames. The process thus repeats from one frame to the next.
If data reservations used minislots belonging to the last N2 slots of a given frame, their reservation status will be reflected, not in the next frame, but one frame later. Accordingly, the central station does not account for the contending groups of terminals using the relatively late minislots, nor will the contending groups of terminals take any action themselves until one frame later.
Finally, the maximum data throughput of the multiaccess channel at a given voice load is given as in Eq. (8), with Smax=0.4285356, for the non-obvious blocked-access basic binary tree algorithm as used for data reservation according to the present invention.
At step 901 in
At step 908, the central station determines the R-T boundary between minislots and slots for the next frame. At step 909, at least one slot in the next frame is assigned to each continuously-talking and to each newly-talking user. At step 910, a minislot in the next frame is assigned to each continuously-silent and to each newly-silent voice user. At step 911, if slots in the next frame are available, a slot in the next frame is assigned to each data user that successfully sent a reservation request in the current frame or in a previous frame, but still has data to send. At step 912, minislots in the next frame that are available for data users to send reservation requests are determined and allocated.
At step 913, the central station updates the number of contention subgroups of data users in the virtual stack as c=c−−nidle−nsuccess+ncollision, where c− is the number of contention subgroups in the last frame, and nidle, nsuccess, and ncollision are the number of minislots assigned for data reservation in last frame that experienced an idle, a success, or a collision, respectively, as described above. Conceptually, the contention subgroups are each located in a level of a stack. The occurrence of an idle or success minislot removes the contention subgroup that was assigned to that minislot out of the stack, thus moving each subgroup that was located below the removed subgroup up in the stack. The occurrence of a collision minislot statistically splits the particular contention subgroup that was assigned to that minislot into two subgroups, with one subgroup remaining at the original level and the other subgroup being located one level below. As a result, each subgroup that was located below the split subgroup will be lowered one additional level in the stack.
At step 914, if NR<c, the central station assigns a minislot out of the NR minislots allocated for data users to each of the NR contention subgroups located at the top of the updated stack. If, at step 914, NR>c, the central station advances the allocation time (i.e., the blocking point) to tb+=min(tƒ,tb−+δ(NR−c)), where tƒ denotes the start time of the next frame, tb− denotes the previous allocation time on the message arrival time axis, and δ=1.035758/Tmax slots, with Tmax defined in Eq. (8). By advancing the allocation time, the central station statistically divides the users having data arriving between the old allocation time tb− and the new allocation time tb+ into nnew=NR−c subgroups. The central station further appends these subgroups in the stack, with each subgroup occupying a level. The central station then assigns a minislot out of the NR minislots allocated for data users to each of the NR contention subgroups contained in the updated stack.
At step 915, the information relating to data users that successfully sent a reservation request by contention is broadcast by the central station in a downlink feedback message. Additionally, information relating to minislot and slot assignment for both voice and data users, as well as allocation time tb+ and the number of new contention subgroups nnew are broadcast in the feedback message. Minislots and slots are assigned to voice users on an individual basis for contention-free transmission into them. Slots are also individually assigned to data users for contention-free transmission, but minislots are collectively assigned to data users of the same contention subgroups for contention-based transmission.
In
At step 1006, each data user of existing contention groups that unsuccessfully sent a reservation request in last frame statistically splits each such contention group into two subgroups. Then, the data users of statistically split new subgroups send a reservation request into respective minislots that were assigned to the updated contention subgroups, if any minislots were allocated and assigned. If no minislots were allocated for new contention subgroups, the allocation time remains unchanged and each data user with data arrival time>allocation time is prohibited from sending a reservation request into any minislot.
At step 1007, each data user that has data to send, but has been prohibited from sending a reservation request statistically splits into nnew contention subgroups if tb+>its data arrival time. These particular data users then each independently choose, with equal probability, any one of the minislots assigned to the nnew contention subgroups and send a reservation request into their respective chosen minislots. Otherwise, these particular data users take no action.
At step 1008, each data user that has successfully sent a reservation request messages in a previous frame other than the immediately preceding frame, but were not assigned minislots for retry in last frame, now send a reservation request message into any minislots assigned to their contention subgroups, if any such minislots were available and allocated. Otherwise, these particular data users take no action.
Although the present invention has been described in terms of voice traffic having priority over data traffic, the present invention is not so limited. In actuality, the present invention is applicable to any type of communication traffic that has priority over another type of communication traffic. For example, access to a communication channel can be controlled for data traffic having a relatively high level of service priority based on the contention-free aspect of the present invention, and access to the channel for data traffic having a relatively lower level of service priority can be controlled based on the contention-based aspect of the present invention.
While the present invention has been described in connection with the illustrated embodiments, it will be appreciated and understood that modifications may be made without departing from the true spirit and scope of the invention.
The present application is a continuation of U.S. patent application Ser. No. 12/647,530, filed Dec. 27, 2009, now U.S. Pat. No. 8,811,165, which is a continuation of Ser. No. 11/183,452, filed Jul. 18, 2005, now U.S. Pat. No. 7,860,053, which is a continuation of patent application Ser. No. 09/597,392, filed Jun. 19, 2000, now U.S. Pat. No. 6,963,545, all of the above cited applications are herein incorporated by reference in their entirety. The present application is related to application Ser. No. 09/596,712, entitled Voice-Data Integrated Multiaccess By Self-Reservation and Blocked Binary Tree Resolution, invented by J.-M. Ho, and filed Jun. 19, 2000, and is a continuation-in-part patent application of patent application Ser. No. 09/222,879, entitled Multimedia Packet Multiple Access To High-Speed Local-Loop Broadcast Channels: Algorithm Design, invented by J.-M. Ho, and filed Dec. 30, 1998; a continuation-in-part patent application of patent application Ser. No. 09/222,878, entitled “Multimedia Packet Multiple Access to High-Speed Local-Loop Broadcast Channels: Protocol Architecture, invented by J.-M. Ho, and filed Dec. 30, 1999; each of which is related to Provisional patent application 60/103,370, filed Oct. 7, 1998, now expired; each of which is incorporated by reference herein.
Number | Name | Date | Kind |
---|---|---|---|
4059730 | Messerschmitt et al. | Nov 1977 | A |
4295217 | Fennell | Oct 1981 | A |
5012469 | Sardana | Apr 1991 | A |
5016247 | Cidon et al. | May 1991 | A |
5303234 | Kou | Apr 1994 | A |
5384777 | Ahmadi et al. | Jan 1995 | A |
5506848 | Drakopoulos | Apr 1996 | A |
5515363 | Ben-Nun et al. | May 1996 | A |
5581544 | Hamada et al. | Dec 1996 | A |
5594720 | Papadopoulos et al. | Jan 1997 | A |
5623495 | Eng et al. | Apr 1997 | A |
5634204 | Takahashi et al. | May 1997 | A |
5638371 | Raychaudhuri et al. | Jun 1997 | A |
5644576 | Bauchot et al. | Jul 1997 | A |
5644715 | Baugher | Jul 1997 | A |
5717688 | Belanger et al. | Feb 1998 | A |
5729531 | Raith | Mar 1998 | A |
5729542 | Dupont | Mar 1998 | A |
5752193 | Scholefield et al. | May 1998 | A |
5787080 | Hulyalkar et al. | Jul 1998 | A |
5793747 | Kline | Aug 1998 | A |
5867494 | Krishnaswamy et al. | Feb 1999 | A |
5875186 | Belanger et al. | Feb 1999 | A |
5883884 | Atkinson | Mar 1999 | A |
5886993 | Ruszczyk | Mar 1999 | A |
5892769 | Lee | Apr 1999 | A |
5896385 | Achilleoudis | Apr 1999 | A |
5949768 | Citta et al. | Sep 1999 | A |
5953344 | Dail | Sep 1999 | A |
5960000 | Ruszczyk et al. | Sep 1999 | A |
5963557 | Eng | Oct 1999 | A |
5970062 | Bauchot | Oct 1999 | A |
5978382 | Citta et al. | Nov 1999 | A |
5982748 | Yin et al. | Nov 1999 | A |
6034967 | Citta et al. | Mar 2000 | A |
6049549 | Ganz et al. | Apr 2000 | A |
6115390 | Chuah | Sep 2000 | A |
6119214 | Dirks | Sep 2000 | A |
6151329 | Berrada et al. | Nov 2000 | A |
6169748 | Barbas et al. | Jan 2001 | B1 |
6172971 | Kim | Jan 2001 | B1 |
6181684 | Turcotte et al. | Jan 2001 | B1 |
6226277 | Chuah | May 2001 | B1 |
6236656 | Westerberg et al. | May 2001 | B1 |
6240083 | Wright et al. | May 2001 | B1 |
6262976 | McNamara | Jul 2001 | B1 |
6263204 | Kusaki et al. | Jul 2001 | B1 |
6283204 | Brady et al. | Sep 2001 | B1 |
6285886 | Kamel et al. | Sep 2001 | B1 |
6307839 | Gerszberg et al. | Oct 2001 | B1 |
6317438 | Trebes, Jr. | Nov 2001 | B1 |
6327254 | Chuah | Dec 2001 | B1 |
6356555 | Rakib et al. | Mar 2002 | B1 |
6366577 | Donovan | Apr 2002 | B1 |
6370153 | Eng | Apr 2002 | B1 |
6373860 | O'Toole et al. | Apr 2002 | B1 |
6377548 | Chuah | Apr 2002 | B1 |
6404738 | Reininger et al. | Jun 2002 | B1 |
6407992 | Pasternak et al. | Jun 2002 | B1 |
6411611 | van der Tuijn | Jun 2002 | B1 |
6445701 | Bahl | Sep 2002 | B1 |
6449484 | Grubeck | Sep 2002 | B1 |
6452915 | Jorgensen | Sep 2002 | B1 |
6469991 | Chuah | Oct 2002 | B1 |
6501741 | Mikkonen et al. | Dec 2002 | B1 |
6507587 | Bahl | Jan 2003 | B1 |
6515972 | Gage et al. | Feb 2003 | B1 |
6519462 | Lu et al. | Feb 2003 | B1 |
6529520 | Lee et al. | Mar 2003 | B1 |
6538985 | Petry et al. | Mar 2003 | B1 |
6538989 | Carter et al. | Mar 2003 | B1 |
6542490 | Ahmadvand et al. | Apr 2003 | B1 |
6543053 | Li et al. | Apr 2003 | B1 |
6563793 | Golden et al. | May 2003 | B1 |
6567408 | Li et al. | May 2003 | B1 |
6567416 | Chuah | May 2003 | B1 |
6577609 | Sharony | Jun 2003 | B2 |
6587453 | Romans et al. | Jul 2003 | B1 |
6587457 | Mikkonen | Jul 2003 | B1 |
6587465 | Dempo | Jul 2003 | B1 |
6590885 | Jorgensen | Jul 2003 | B1 |
6597682 | Kari | Jul 2003 | B1 |
6600744 | Carr et al. | Jul 2003 | B1 |
6625156 | Shaio et al. | Sep 2003 | B2 |
6628629 | Jorgensen | Sep 2003 | B1 |
6631122 | Arunachalam et al. | Oct 2003 | B1 |
6640248 | Jorgensen | Oct 2003 | B1 |
6657965 | Shaffer et al. | Dec 2003 | B1 |
6657981 | Lee et al. | Dec 2003 | B1 |
6680922 | Jorgensen | Jan 2004 | B1 |
6704321 | Kamiya | Mar 2004 | B1 |
6704932 | Matsunaga et al. | Mar 2004 | B1 |
6708034 | Sen et al. | Mar 2004 | B1 |
6728365 | Li et al. | Apr 2004 | B1 |
6738361 | Immonen et al. | May 2004 | B1 |
6741576 | Alimi et al. | May 2004 | B1 |
6747959 | Ho | Jun 2004 | B1 |
6747968 | Seppala et al. | Jun 2004 | B1 |
6754176 | Gubbi et al. | Jun 2004 | B1 |
6765872 | Tazaki | Jul 2004 | B1 |
6785252 | Zimmerman et al. | Aug 2004 | B1 |
6788950 | Raissinia et al. | Sep 2004 | B1 |
6804222 | Lin | Oct 2004 | B1 |
6813260 | Fogle | Nov 2004 | B1 |
6850918 | Burchetta et al. | Feb 2005 | B1 |
6850981 | Ho | Feb 2005 | B1 |
6862270 | Ho | Mar 2005 | B1 |
6862622 | Jorgensen | Mar 2005 | B2 |
6898194 | Vedrine | May 2005 | B1 |
6931448 | Holler et al. | Aug 2005 | B2 |
6934752 | Gubbi | Aug 2005 | B1 |
6950397 | Ho | Sep 2005 | B1 |
6963545 | Ho | Nov 2005 | B1 |
6970422 | Ho | Nov 2005 | B1 |
6999442 | Ho | Feb 2006 | B1 |
7027400 | O'Neill | Apr 2006 | B2 |
7031287 | Ho | Apr 2006 | B1 |
7039032 | Ho | May 2006 | B1 |
7046680 | McDysan et al. | May 2006 | B1 |
7050459 | Kandala | May 2006 | B2 |
7068632 | Ho | Jun 2006 | B1 |
7068633 | Ho | Jun 2006 | B1 |
7079508 | Ayyagari et al. | Jul 2006 | B2 |
7151762 | Ho | Dec 2006 | B1 |
7151781 | MeLampy et al. | Dec 2006 | B2 |
7298724 | Lin | Nov 2007 | B2 |
7359971 | Jorgensen | Apr 2008 | B2 |
7366147 | O'Neill | Apr 2008 | B2 |
7403538 | Ho | Jul 2008 | B1 |
7423971 | Mohaban et al. | Sep 2008 | B1 |
7450504 | Ho | Nov 2008 | B1 |
7466660 | Pani et al. | Dec 2008 | B2 |
7466705 | Saito et al. | Dec 2008 | B2 |
7571238 | Reeves et al. | Aug 2009 | B1 |
7630351 | Ho et al. | Dec 2009 | B1 |
7639657 | Ho et al. | Dec 2009 | B1 |
7639674 | Yeh et al. | Dec 2009 | B2 |
7646756 | Ho et al. | Jan 2010 | B1 |
7664068 | Ho et al. | Feb 2010 | B1 |
7664072 | Ho et al. | Feb 2010 | B1 |
7738378 | Ho et al. | Jun 2010 | B1 |
7756092 | Ho et al. | Jul 2010 | B1 |
7756095 | Lin et al. | Jul 2010 | B2 |
7756378 | Lin et al. | Jul 2010 | B2 |
7860053 | Ho | Dec 2010 | B1 |
7899012 | Ho | Mar 2011 | B2 |
8009649 | Ho et al. | Aug 2011 | B1 |
8014372 | Ho et al. | Sep 2011 | B2 |
8130732 | Ho | Mar 2012 | B1 |
8320355 | Ho | Nov 2012 | B1 |
8437323 | Ho et al. | May 2013 | B2 |
8687614 | Coppage et al. | Apr 2014 | B2 |
20010024434 | Ayyagari et al. | Sep 2001 | A1 |
20020075857 | LeBlanc | Jun 2002 | A1 |
20020150062 | Zheng et al. | Oct 2002 | A1 |
20020159418 | Rudnick et al. | Oct 2002 | A1 |
20020163928 | Rudnick et al. | Nov 2002 | A1 |
20020194130 | Maegawa et al. | Dec 2002 | A1 |
20030058827 | Chow et al. | Mar 2003 | A1 |
20030086515 | Trans et al. | May 2003 | A1 |
20030088515 | Cooper et al. | May 2003 | A1 |
20030198248 | Pronk | Oct 2003 | A1 |
20040095914 | Katsube et al. | May 2004 | A1 |
20050002420 | Jeanne et al. | Jan 2005 | A1 |
20060109829 | O'Neill | May 2006 | A1 |
20080013544 | Ginde et al. | Jan 2008 | A1 |
20080043690 | Chow et al. | Feb 2008 | A1 |
20080049761 | Lin et al. | Feb 2008 | A1 |
20080137625 | Hori et al. | Jun 2008 | A1 |
Number | Date | Country |
---|---|---|
0853407 | Jul 1998 | EP |
02072736 | Mar 1990 | JP |
WO-0031929 | Jun 2000 | WO |
Entry |
---|
Aad, Imat & Castelluccia, Claude, “Introducing Service Differentiation into IEEE 802.11”, IEEE, 2000, pp. 438-443. |
Ganz, Aura & Wongthavarawat, Kitti, “IEEE 802.11 Wireless LAN Association Procedure for Multimedia Applications”, IEEE, 1999, pp. 1287-1291. |
Ho, Jin-Meng & Lin, Wei, “IEEE P802.11 Wireless LANs, MediaPlex-An IEEE 802.11 Enhanced Protocol for QoS-Driven Wireless LANs”, AT&T, Nov. 2000, pp. 1-25. |
Gong, Zhijun et al., “QoS Guaranteed Wireless LAN” International Conference on Communication Technology, ICCT, Oct. 22-24, 1998. |
N. Ek, “IEEE 802.1 P,Q—QoS on the MAC level,” Apr. 24, 1999, XP000864158 Retrieved from the Internet: URL:Http://www.tml.hut.fi/0pinnot/Tik-110.551/1999/papers/08IEEE802.1Qosl- nMac/qos.html retrieved Jun. 27, 2002, paragraphs 0003-0006. |
Y. Drabu, “A survey of QoS techniques in 802.11”, Internet ′Online! Jan. 1999, XP000864159, Retrieved from the Internet: URL:http://trident.mcs.kent.edu/ydrabu/research/wmac/mac.pdf, retrieved on Jun. 27, 2002, paragraphs 0001-03.21, 0004-4.2.1. |
R. Yavatkar et al., “SBM: A Protocol for RSVP-based Admission Control over IEEE-802-style Networks”, Internet Engineering Task Force, RFC 2814, May 2000. |
R. Braden, “Resource Reservation Protocol (RSVP) ver. 1” Internet Engineering Task Force, RFC 2205, Sep. 1997. |
Cali et al. “IEEE 802.11 Wireless LAN: Capacity Analysis and Protocol Enhancement,” IEEE, 0-7803-4386-7/98, pp. 1-8, 1998. |
Ho, “Frame Classification for QOS-Driven Wireless LANS (Abandoned US Application)”, Jul. 14, 2000, 58 pages. |
Deng et al. “A Priority Scheme for IEEE 802.11 DCF Access Method,” IEICI Trans. Comm., vol. E82-B, No. 1, pp. 96-102, Jan. 1999. |
Jin-Meng Ho, U.S. Appl. No. 09/222,879, “Multimedia Packet Multiple Access to High-Speed Local-Loop Broadcast Channels:” Algorithm Design, filed Dec. 30, 1998, (HO7/Abandoned). |
Jin-Meng Ho, U.S. Appl. No. 11/877,097, filed Oct. 23, 2007, inventor Ho. |
Jin-Meng Ho, U.S. Appl. No. 09/222,878, “Multimedia Packet Multiple Access to High-Speed Local-Loop Broadcast Channels: Protocol Architecture,” filed Dec. 30, 1998 (HO8/Abandonded). |
Number | Date | Country | |
---|---|---|---|
20140355549 A1 | Dec 2014 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 12647530 | Dec 2009 | US |
Child | 14462001 | US | |
Parent | 11183452 | Jul 2005 | US |
Child | 12647530 | US | |
Parent | 09597392 | Jun 2000 | US |
Child | 11183452 | US |