Abstract:
A method and apparatus is provided for use in providing real-time, packet-switched service to an end-user over a cable data network. The method begins by transmitting over the cable data network a scheduled grant to an end-user gateway in accordance with an unsolicited grant service protocol. The grant authorizes the end-user gateway to transmit a data packet to a cable modem termination system (CMTS) located in the cable data network. Next, an adjustment is made to the time at which subsequent grants are transmitted. The adjustment, which is based on a response of the end-user gateway, is performed to reduce delay between a time when a subsequent data packet is generated and receipt of the subsequent grant.

Description:
FIELD OF THE INVENTION  
         [0001]    This invention relates generally to the provision of real-time services over a packet network, and more particularly to the provision of Internet telephony over a CATV cable network.  
         BACKGROUND OF THE INVENTION  
         [0002]    Today, access to the Internet is available to a wide audience through the public switched telephone network (PSTN). Typically, in this environment, a user accesses the Internet though a full-duplex dial-up connection through a PSTN modem, which may offer data rates as high as 56 thousand bits per second (56 kbps) over the local-loop plant.  
           [0003]    However, in order to increase data rates (and therefore improve response time), other data services are either being offered to the public, or are being planned, such as data communications using full-duplex cable television (CATV) modems, which offer a significantly higher data rate over the CATV plant than the above-mentioned PSTN-based modem. Services under consideration by cable operators include packet telephony service, videoconference service, T1/frame relay equivalent service, and many others.  
           [0004]    Various standards have been proposed to allow transparent bi-directional transfer of Internet Protocol (IP) traffic between the cable system headend and customer locations over an all-coaxial or hybrid-fiber/coax (HFC) cable network. One such standard, which has been developed by the Cable Television Laboratories, is referred to as Interim Specification DOCSIS 1.1. Among other things, DOCSIS 1.1 specifies a scheme for service flow for real-time services such as packet telephony.  
           [0005]    When real-time services are offered over a packet-switched network such as the Internet the delay in transmission between the time the packet is generated by a user at one end point and the time it is received at another endpoint can be problematic. This is particularly true if the real-time service being offered is packet telephony. Individuals can endure upwards of approximately 250 milliseconds of delay during a voice conversation before the conversation becomes awkward. One contribution to the delay is due to the time interval between the time a data packet is generated by the end user and the time it is actually transmitted to the cable system headend. This time interval, which can contribute about 20 milliseconds of delay, arises because of a lack of synchronization between the time when the data is ready to be transmitted and the time when the authorization to transmit is received  
           [0006]    Accordingly, it would be advantageous to reduce the end-to-end delay when providing real-time packet-switched service over a cable network.  
         SUMMARY OF THE INVENTION  
         [0007]    The present invention provides a method for use in providing real-time, packet-switched service to an end-user over a cable data network. The method begins by transmitting over the cable data network a scheduled grant to an end-user gateway in accordance with an unsolicited grant service protocol. The grant authorizes the end-user gateway to transmit a data packet to a cable modem termination system (CMTS) located in the cable data network. Next, an adjustment is made to the time at which subsequent grants are transmitted. The adjustment, which is based on a response of the end-user gateway, is performed to reduce delay between a time when a subsequent data packet is generated and receipt of the subsequent grant.  
           [0008]    In accordance with one aspect of the invention, at least one additional grant, or one pair of additional grants, is transmitted in addition to scheduled grants to reduce the delay.  
           [0009]    In accordance with another aspect of the invention, the scheduled grants are transmitted at a nominal grant time and the additional grant is transmitted at a time before the nominal grant time.  
           [0010]    In accordance with yet another aspect of the invention, the CMTS receives a data packet in response to the additional grant and another additional grant is transmitted at a time before the initial additional grant is transmitted.  
           [0011]    In accordance with another aspect of the invention, the CMTS receives a data packet in response to the additional grant. The data packet includes a queue indicator bit requesting another grant. In addition, a dribble grant is transmitted in response to the queue indicator bit.  
           [0012]    In accordance with another aspect of the invention, a cable modem termination system is provided for use in providing real-time packet-switched service to an end-user over a cable data network. The system includes an apparatus for transmitting over the cable data network a scheduled grant to an end-user gateway in accordance with an unsolicited grant service protocol. The grant authorizes the end-user gateway to transmit a data packet to a cable modem termination system (CMTS) in the cable data network. The system also includes an apparatus for adjusting a transmission time of subsequent grants, based on a response of the end-user gateway, to reduce delay between a time when a subsequent data packet is generated and receipt of the subsequent grant. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWING  
       [0013]    [0013]FIG. 1 shows an illustrative data communications system embodying the principles of the invention. 
     
    
     DETAILED DESCRIPTION  
       [0014]    An illustrative communications system embodying the principles of the invention is shown in FIG. 1. Other than the inventive concept, the elements shown in FIG. 1 are well known and will not be described in detail.  
         [0015]    As noted above, communications system  100  is representative of a network architecture in which a user associated with a residential gateway  110  accesses the Internet  175  and a Public Switched Telephone Network (PSTN)  140 . In particular, residential gateway  110  is in communication with the Internet  175  via a CATV network. Cable TV network access is provided by an MSO (Multi-Service Operator) (not shown). In this context, it is assumed the MSO provides (besides the traditional CATV access network facilities exemplified by communications link  117 ) CATV head-end  170  and cable modem  115 . This CATV network arrangement is also referred to herein as a cable data network. CATV network is typically an all-coaxial or a hybrid-fiber/coax (HFC) cable network. Residential gateway  110  is also in communication with PSTN  140  via the cable TV network, IP network  175 , and trunk gateway  130 .  
         [0016]    Residential gateway  110  includes customer premises equipment  122 , e.g., a telephone, a Digital Signal Processor (DSP)  124 , host processor  126  and Cable Modem (CM)  115 . Telephone  122 , DSP  124 , and host processor  126  are collectively representative of data terminal equipment, which is coupled to communications link  117  via CM  115 . CM  115  provides the access interface to the cable data network. In operation, DSP  124  generates data packets from the analog signals received from the telephone  122 . Typically, DSP  124  encodes the data with pulse code modulated samples digitized at a rate of 8 kHz. Host processor  126  receives the data packet from the DSP  124  and adds an appropriate header, such as required by the MAC, IP, and UDP layers. Once the packet is complete, it is sent to CM  115 , where it remains in a queue until it is transmitted over the cable data network to the CMTS  120  in the CATV headend  170 . For the purposes of the present invention, the service being provided is assumed to be a real-time service such as packet telephony. Accordingly, the data packets should be formatted in accordance with a suitable protocol such as the Real-Time Transport Protocol (RTP).  
         [0017]    An Internet Service Provider (ISP) provides Internet access. In the context of FIG. 1, it is assumed an ISP provides IP network  175 , which includes a cable data network access router (not shown) attached to communications link  132 . It should be noted that for illustrative purposes only it is assumed that the above-mentioned MSO and ISP Service provider are different entities even though this is not relevant to the inventive concept.  
         [0018]    CM  115  is coupled to CATV head-end  170  via cable facility  117 , which is, e.g., a CATV radio-frequency (RF) coax drop cable and associated facilities. CATV head-end  170  provides services to a plurality of downstream users (only one of which is shown) and comprises cable modem data termination system (CMTS)  120  and head-end router  125 . (CMTS  120  may be coupled to head-end router  125  via an Ethernet 100BaseX connection (not shown).) CMTS  120  terminates the CATV RF link with CM  115  and implements data link protocols in support of the residential service that is provided. Given the broadcast characteristics of the RF link, multiple residential customers and, hence, potentially many home-based LANs may be serviced from the same CMTS interface. (Also, although not shown, it is assumed that the CATV network includes a plurality of CMTS/head-end router pairs.)  
         [0019]    CM  115  and CMTS  120  operate as forwarding agents and also as endsystems (hosts). Their principal function is to transmit Internet Protocol (IP) packets transparently between the CATV headend and the customer location. Interim Specification DOCSIS 1.1 has been prepared by the Cable Television Laboratories as a series of protocols to implement this functionality. In accordance with section 8.2 of DOCSIS 1.1, the upstream, i.e., from the residential gateway  110  to the headend  170 , service flow for real-time service is provided by a scheduling service referred to as Unsolicited Grant Service (UGS). In this scheme, CM  115  generates and formats RTP packets at fixed intervals and the CMTS  120  provides opportunities for the CM  115  to transmit the RTP packets at the same fixed intervals. CMTS  120  provides these transmission opportunities in the form of grants, which are transmitted to the CM  115  on a periodic basis. The grants in effect authorize the CM  115  to transmit the RTP packets upstream to the CMTS  120 . The parameters specified by the grant include the size of the packet to be transmitted, the nominal grant interval, and the maximum tolerable jitter.  
         [0020]    As previously mentioned, when offering real-time services such as packet telephony it is important to minimize the total end-to-end delay. One way to reduce delay is to synchronize the generation of the RTP packets with the arrival of grants from the CMTS  120 . In this way the number of packets maintained in the queue of CM  115  can be kept to a minimum. Of course, because of variations in the CM and CMTS, a slight margin must be allowed to accommodate worst case jitter and thus some minimal delay should be retained between the time the RTP packets are generated and when the grants arrive at the CM. The earliest time at which a grant may be transmitted by the CMTS so that it arrives when a packet is ready is known as the nominal grant time. To date, most proposed solutions for achieving synchronization require the CM  155  to adjust the CMTS  120 . More specifically, the proposed solutions require the CM to determine the nominal grant time either by explicit notification or by measuring the grant arrival times. Once the CM has determined the nominal grant time, the CM must adjust the DSP so that the packets are generated at the proper time.  
         [0021]    One problem with the proposed solutions is that it is difficult for the CM to adjust the DSP sample collection and processing steps so that it is synchronized with the nominal grant time. To perform this synchronization, the CM must accurately predict or estimate the DSP imposed delay. This will be a complex task when the DSP is processing several calls concurrently, particularly when each call uses a different vocoder and packetization period. Other complications arise when voice samples are captured and processed outside the CM in a Multimedia Telephony Adapter (MTA) and routed through the CM via a Local Area Network (LAN). In this case, the CM must synchronize the collection and processing of voice samples within the MTA so that the data arrives via the LAN just in time to match the UGS grants. This becomes an even more difficult problem of estimation because the MTA has all same complications that arise in connection with the DSP along with the additional complication of predicting the delay and jitter inserted by the LAN. Since each LAN technology will behave differently, any estimate must take into account the particular LAN technology being employed and the specific LAN timing.  
         [0022]    To overcome these difficulties, the present invention requires the CMTS rather than the CM to make any adjustments that are needed to achieve synchronization. As before, the CMTS establishes the unsolicited grant service by transmitting grants at regular intervals and the CM transmits a packet upon receiving the grant. However, the CMTS now determines if it is properly synchronized with the CM. This is accomplished by adjusting the nominal grant time so that it occurs earlier in time. The nominal grant time is adjusted earlier and earlier until it arrives at the CM just when a packet has arrived in the que and is ready to be transmitted. That is, in the present invention, the CMTS schedules grants to accommodate the CM.  
         [0023]    The CMTS achieves synchonization by transmitting additional grants beyond those that are regularly scheduled. The additional grants effectively serve as experimental grants to determine the earliest possible grant time. If the CM queue contains untransmitted packets, they will be transmitted in response to the additional grants, thus indicating that the nominal grant time is not as early as possible. On the other hand, if the grant was transmitted too early, the CM will not transmit a packet because preparation of the packet was not yet complete. In other words, if the CMTS does not receive a packet in response to an additional grant, the additional grant was transmitted too early. Based on the response from the CM, the CMTS adjusts the time at which it transmits subsequent grants to achieve synchronization.  
         [0024]    The timing of the additional grants may be selected in a variety of different ways. For example, in one approach, the CMTS conducts an experiment by transmitting two additional grants, one earlier and one later than the current nominal grant time. If the CM transmits a packet in response to the earlier of the two additional grants, the nominal grant time can be adjusted to the time at which the earlier grant was sent. If instead the CM transmits a packet in response to the later of the two additional grants, then the earlier additional grant was sent too early. Accordingly, another experiment should be conducted by sending another pair of additional grants on a less aggressive schedule. That is, the earlier grant in this subsequent pair of grants should be sent at a time later than the previous earlier additional grant (but still earlier than the current grant time). The later of the pair of grants in effect serves as a backup grant to ensure that a grant will be available for any packet that may be in the CM que.  
         [0025]    The CMTS may continue to conduct such a series of experiments in this manner until the earliest acceptable nominal grant time has been determined. These experiments may be conducted in accordance with a methodical approach to achieve optimal synchronization. For example, an iterative approach such as a binary search scheme may be used. That is, the CMTS can continuously refine the nominal grant time by adjusting the timing of additional grants based on the response received from the previous additional grant. For instance, if a packet was transmitted in response to the previous additional grant, the next additional grant can be transmitted even earlier in time. In accordance with a binary search scheme, this subsequent grant should be transmitted at a time halfway between the packetization period and the time of the last successfully received grant. If this subsequent grant should fail (i.e., if the CM should not transmit a packet in response to the grant), an additional grant should be transmitted at a time halfway between the time of the earliest successful additional grant and the last failed additional grant. By repeating this process a number of times the earliest acceptable nominal grant time can be determined, thus achieving optimal synchronization. Typically, four to six iterations are expected to suffice. One advantage of conducting the experiment in this manner with a pair of grants is that packets will not be lost as a result of the experiment.  
         [0026]    Instead of sending a pair of additional grants, the CMTS may transmit a single additional grant per experiment. In other words, in contrast to the previously described approach, the CMTS transmits the earlier grant but not the later backup grant. In this case, if the additional grant was received too early, the next time the CM transmits a packet it will include a queue indicator bit in its header. The queue indicator bit requests that the CMTS transmit an additional grant to compensate for the lost grant which was received too early. Upon receiving the queue indicator bit, the CMTS can once again conclude that the additional grant was transmitted too early and adjust the grant interval accordingly. In response to receipt of the queue indicator bit, a so-called dribble grant may be transmitted by the CMTS as specified in DOCSIS 1.1. The dribble grant in effect serves as a backup grant. However, by waiting to receive a queue bit indicator before transmitting a dribble grant, packets are delayed in the CM queue and thus jitter may be introduced. One advantage of this procedure over the previously mentioned procedure in which a pair of grants is sent is that it employs a mechanism, i.e., the queue indicator bit and the dribble grant to which the CMTS is already programmed to respond. Accordingly, in some cases this procedure may be simpler to implement in already existing systems than a procedure that employs a pair of additional grants.  
         [0027]    After the CMTS determines a new nominal grant time, it adjusts its grant schedule accordingly. The CMTS may maintain this new grant schedule until it receives a request for a dribble grant from the CM, which indicates that proper synchronization has been lost. At this point the CMTS repeats the inventive synchronization procedure to determine a new, more optimized grant schedule.  
         [0028]    In addition to the detection of a request for a dribble grant, the CMTS may also try to anticipate changes in synchronization in other ways. For example, a dynamic service change in the service flow is likely indicative of a change in synchronization. Dynamic service changes include a change in packet size, grant time, or the addition or subtraction of a party to the service.  
         [0029]    Although various embodiments are specifically illustrated and described herein, it will be appreciated that modifications and variations of the invention are covered by the above teachings and are within the purview of the appended claims without departing from the spirit and intended scope of the invention. For example, while the invention has been described in terms of packet telephony service, one of ordinary skill in the art will recognize that the invention is equally applicable to the provision of other real-time services such as video conferencing, for example. Moreover, while the invention has been described in the context of unsolicited grant service in accordance with DOCSIS 8.2.1, the invention is also applicable to unsolicited grant service with activity detection in accordance with DOCSIS 8.2.3. This service is designed to support real-time services that may become inactive for substantial portions of time, such as often occurs with packet telephony.