Abstract:
A method for communications channel reservation in a computer network telephony system, the method including a) a local gateway sending a resource reservation request to a local gatekeeper for at least one remote telephone line, b) the local gatekeeper sending the resource reservation request to a remote gatekeeper via a network, c) the remote gatekeeper querying a remote gateway to determine if the remote gateway has any telephone lines that the remote gateway may provide for the termination of telephone calls, d) the remote gatekeeper reserving for the local gatekeeper in response to the reservation request at least one terminatable telephone line at the remote gateway, e) the remote gatekeeper notifying the local gatekeeper of the reservation for the local gatekeeper, and f) the local gatekeeper forwarding information regarding the reservation to the local gateway.

Description:
FIELD OF INVENTION  
         [0001]    The present invention relates to computer network telephony in general, and more particularly to communications channel management in computer network telephony systems.  
         BACKGROUND OF THE INVENTION  
         [0002]    Computer network telephony protocols, such as H.323, SIP, and MGCP, specify the components, protocols, and procedures providing for the transmission of real-time audio, video, multimedia, and data communications over packet-based networks, such as the Internet. One of the primary goals of computer network telephony protocols is interoperability of disparate networks, such as a computer network with a Public Switched Telephone Network (PSTN). This interoperability is often achieved through the use of a “gateway” which performs network and signaling translation between disparate networks.  
           [0003]    The H.323 protocol, for example, specifies four kinds of components, which, when networked together, provide point-to-point and point-to-multpoint multimedia-communication services:  
           [0004]    terminals  
           [0005]    gateways  
           [0006]    gatekeepers  
           [0007]    multipoint control units MCUs).  
           [0008]    A terminal is typically used by the end user for audio, video, and/or data input and/or output. A terminal is typically a personal computer (PC) or a stand-alone device.  
           [0009]    A gateway connects two dissimilar networks, such as the Internet and a PSTN, in which case the gateway typically has a finite number of PSTN lines, the availability of which often varies at different times.  
           [0010]    A gatekeeper may provide addressing, authorization, and authentication services for terminals and gateways, as well as bandwidth management, accounting, billing, and call-routing services.  
           [0011]    MCUs provide support for conferences of three or more terminals.  
           [0012]    All terminals, gateways, and MCUs managed by a single gatekeeper define a “zone,” one or more of which are typically grouped into an “administrative domain” belonging to a single service provider.  
           [0013]    Call signaling is generally performed in one of two modes: Gatekeeper Routed Call (GRC) mode and Direct Routed Call (DARC) mode. In GRC mode, signaling messages traverse the gatekeeper in the zone in which the call originates, the gatekeeper in the zone in which the call is to be terminated, or both gatekeepers. In DRC mode, an originating gateway or PC terminal sends signaling messages directly to a terminating gateway or PC terminal.  
           [0014]    An exemplary H.323 interzone or interdomain telephony call between two PSTN terminals (i.e., a telephone) is initiated by an originating teal in a first zone A and handled by the local terminal&#39;s gateway. The zone A gateway then requests routing information from the zone A gatekeeper which in turn contacts the terminating gatekeeper in the destination zone B and requests routing information. The terminating gatekeeper finds a terminating gateway that can potentially terminate the call based on the terminating gatekeeper&#39;s knowledge of the availability of lines at each of its gateways, with his information typically being provided periodically by the gateways. The terminating gatekeeper determines which gateway can potentially provide both a physical telephone line as well as the necessary network connection from the potentially terminating gateway to the originating gateway or PC terminal at the time that the originating gatekeeper requests routing information. The terminating gatekeeper returns the network address of the potentially terminating gateway (in DRC mode) or its own address (in GRC mode) to the originating gatekeeper in zone A. The zone A gatekeeper then forwards the address to the zone A gateway which establishes the connection between the zone A gateway or PC terminal and the zone B gateway, either directly (in DRC mode) or via the originating and/or terminating gatekeeper (in CRC mode).  
           [0015]    The above per-call line request and allocation method requires contacting the remote zone/domain for each and every call. Information about the specific call is provided and the remote zone/domain responds with information sufficient for terminating (connecting to a terminus) the specific call. While this method provides precise resource management; as the remote domain controls the load on its equipment deterministically, from the local terminal&#39;s perspective this method has the greatest post dial delay (PDD) since the call&#39;s termination is dependent on how the remote zone/domain responds, and there is no guarantee that termination resources will be available. Network traffic is also relatively high, since several messages (i.e., request and response) must be sent for each call.  
           [0016]    In another method resources are requested and allocated for several calls simultaneously. In this method the remote zone/domain is contacted once for every several calls. The remote zone/domain responds with information sufficient for terminating several calls, typically for a limited time. While this method has less PDD than the previous method since not every call is delayed until the remote zone/domain responds, and network traffic is relatively low since request/respond messages are not sent for every call, this method suffers from poor resource management, since the remote zone/domain has no knowledge about whether and how multiple call authorizations are ultimately going to be used and what resources will ultimately be required. For example, all N authorized calls may be terminated simultaneously, in which case N free lines are used simultaneously, or alternatively, only one call at a tine may be terminated, in which case only a single free line is used at any given time.  
           [0017]    In another method routing information about terminating gateways in a domain may be shared with other gatekeepers within the domain or zone as well as outside of the domain or zone. Thus, each gatekeeper may directly access this information and use it for terminating calls without prior authorization from the terminating gatekeeper. While this method also reduces PDD since calls are not delayed until the remote zone/domain responds to a resource allocation request, and network traffic is relatively low since only the shared routing information is sent to update the gatekeepers and not resource allocation requests themselves, this method also suffers from poor resource management, since the remote domain/zone has no knowledge regarding how other gatekeepers will use it for terminating their calls and what resources will be required, and only knows where to route certain calls when received. Thus, the number of resource allocation requests may exceed the amount of available resources, causing some of the call termination attempts to fail,  
         SUMMARY OF THE INVENTING  
         [0018]    The present invention seeks to provide a novel approach to resource allocation in a computer network telephony system in which reservation of remote resources, such as actual PSTN lines on the PSTN side of a gatekeeper, is made prior to, and therefore independent from, call requests. In the present invention a local gatekeeper requests from a gatekeeper in a remote zone/domain that one or more communications lines be reserved in advance for the local gatekeeper&#39;s use at a later time, typically for a specified time period. The present invention reduces post dial delay (PDD) since termination of call requests is not delayed until the remote zone/domain gatekeeper responds. Network traffic is reduced, since request/respond messages are not sent for every call and line reservation is requested only periodically and not in response to call requests. The present invention allows for precise resource management, since the remote zone/domain gatekeeper knows how many lines are allocated, to whom, and for how long.  
           [0019]    There is thus provided in accordance with a preferred embodiment of the present invention a method for communications channel reservation in a computer network telephony system, the method including a) a local gateway sending a resource reservation request to a local gatekeeper for at least one remote telephone line, b) the local gatekeeper sending the resource reservation request to a remote gatekeeper via a network, c) the remote gatekeeper querying a remote gateway to determine if the remote gateway has any telephone lines that the remote gateway may provide for the termination of telephone calls, d) the remote gatekeeper reserving for the local gatekeeper in response to the reservation request at least one terminatable telephone line at the remote gateway, e) the remote gatekeeper noting the local gatekeeper of the reservation for the local gatekeepers and ) the local gatekeeper forwarding information regarding the reservation to the local gateway.  
           [0020]    Further in accordance with a preferred embodiment of the present invention the sending a resource reservation request step a) includes sending a request for reserving resources for a reservation period.  
           [0021]    Still further in accordance with a preferred embodiment of the present invention the sending a resource reservation request step a) includes sending a request for reserving resources for a reservation period specifying an amount of time starting from the time the request is made.  
           [0022]    Additionally in accordance with a preferred embodiment of the present invention the sending a resource reservation request step a) includes sending a request for reserving resources for a reservation period specifying a time of day.  
           [0023]    Moreover in accordance with a preferred embodiment of the present invention the querying step c) includes querying the remote gateway in response to receiving the request from the local gatekeeper.  
           [0024]    Further in accordance with a preferred embodiment of the present invention the querying step c) includes periodically querying the remote gateway.  
           [0025]    Still further in accordance with a preferred embodiment of the present invention the reserving step d) includes reserving for an actual reservation period not exceeding the requested reservation period.  
           [0026]    Additionally in accordance with a preferred embodiment of the present invention the reserving step d) includes reserving where the telephone line has not been previously reserved for a period that at least partly overlaps the actual reservation period.  
           [0027]    Moreover in accordance with a preferred embodiment of the present invention the notifying step e) includes notifyig the local gatekeeper of the actual reservation period.  
           [0028]    Further in accordance with a preferred embodiment of We present invention the method further includes a terminal sending a call termination request to the local gateway, the local gateway connecting to the remote gateway where the telephone line is reserved for the local gateway and forwarding the call termination request to the remote gateway, and the remote gateway terminating the call via the reserved telephone line.  
           [0029]    Still further in accordance with a preferred embodiment of the present invention the method further includes a terminal sending a call termination request to the local gateway during the actual reservation period, the local gateway connecting to the remote gateway where the telephone line is reserved during the actual reservation period for the local gateway and forwarding the call termination request to the remote gateway, and the remote gateway terminating the call via the reserved telephone line.  
           [0030]    Additionally in accordance with a preferred embodiment of the present invention the local gateway is a network-telephony enabled PC.  
           [0031]    Moreover in accordance with a preferred embodiment of the present invention the local gateway is operative to function as a terminal.  
           [0032]    Further in accordance with a preferred embodiment of the present invention the noting step e) includes the remote gatekeeper providing to the local gatekeeper 1) the network address of the remote gateway and 2) the number of the telephone lines that have been reserved for the local gatekeeper at the remote gateway.  
           [0033]    Still further in accordance with a preferred embodiment of the present invention the notifying step e) includes the remote gatekeeper providing to the local gatekeeper 1) the number of the telephone lines that have been reserved for the local gatekeeper.  
           [0034]    Additionally in accordance with a preferred embodiment of the present invention the notifying step e) further includes the remote gatekeeper providing to the local gatekeeper 1) the address of the terminating gatekeeper.  
           [0035]    Moreover in accordance with a preferred embodiment of the present invention the method further includes a terminal sending a call termination request to the local gateway, the local gateway connecting to either of the local gatekeeper and the remote gatekeeper and forwarding the call termination request thereto, and the remote gatekeeper effecting the call termination via the reserved telephone line at the remote gateway.  
           [0036]    Further in accordance with a preferred embodiment of the present invention the notifying step e) includes the remote gatekeeper providing to the local gatekeeper 1) the network address of the remote gateway, 2) the number of the telephone lines that have been reserved for the local gatekeeper at the remote gateway, and 3) the actual reservation period for each of the reserved telephone lines.  
           [0037]    Still further in accordance with a preferred embodiment of the present invention the notifying step e) includes the remote gatekeeper providing to the local gatekeeper 1) the number of the telephone lines that have been reserved for the local gatekeeper and 2) the actual reservation period for each of the reserved telephone lines.  
           [0038]    Additionally in accordance with a preferred embodiment of the present invention the notifying step e) further includes the remote gatekeeper providing to the local gatekeeper 1) the address of the terminating gatekeeper.  
           [0039]    Moreover in accordance with a preferred embodiment of the present invention the method firer includes a terminal sending a call termination request to the local gateway, the local gateway connecting to either of the local gatekeeper and the remote gatekeeper and forwarding the call termination request thereto, and the remote gatekeeper effecting the call termination via the reserved telephone line at the remote gateway.  
           [0040]    There is also provided in accordance with a preferred embodiment of the present invention a method for communications channel reservation in a computer network telephony system, the method including c) querying a remote gateway to determine if the remote gateway has any telephone lines that the remote gateway may provide for the termination of telephone calls, and d) reserving at least one terminatable telephone line at the remote gateway,  
           [0041]    Further in accordance with a preferred embodiment of the present invention the method further includes a) a local gateway sending a resource reservation request to a local gatekeeper for at least one remote telephone line, and b) the local gatekeeper sending the resource reservation request to a remote gatekeeper via a network, and the querying step c) and the reserving step d) are performed by the remote gatekeeper, and S the reserving step d) includes reserving in response to receiving the resource reservation request.  
           [0042]    Still further in accordance with a preferred embodiment of the present invention the querying step c) and the reserving step d) are performed by a remote gatekeeper, and the method fisher includes e) the remote gatekeeper notifying a local gatekeeper of the reservation, and f) the local gatekeeper forwarding information regarding the reservation to a local gateway.  
           [0043]    Additionally in accordance with a preferred embodiment of the present invention the sending a resource reservation request step a) includes sending a request for reserving resources for a reservation period.  
           [0044]    Moreover in accordance with a preferred embodiment of the present invention the sending a resource reservation request step a) includes sending a request for reserving resources for a reservation period specifying an amount of time starting from the time the request is made.  
           [0045]    Further in accordance with a preferred embodiment of the present invention the sending a resource reservation request step a) includes sending a request for reserving resources for a reservation period specifying a time of day.  
           [0046]    Still further in accordance with a preferred embodiment of the present invention the querying step c) includes querying the remote gateway in response to receiving the request from the local gatekeeper.  
           [0047]    Additionally in accordance with a preferred embodiment of the present invention the querying step c) includes periodically querying the remote gateway.  
           [0048]    Moreover in accordance with a preferred embodiment of the present invention the reserving step d) includes reserving for an actual reservation period not exceeding the requested reservation period.  
           [0049]    Further in accordance with a preferred embodiment of the present invention the reserving step d) includes reserving where the telephone line has not been previously reserved for a period that at least partly overlaps the actual reservation period.  
           [0050]    Still further in accordance with a preferred embodiment of the present invention the notifying step e) includes notifying the local gatekeeper of the actual reservation period.  
           [0051]    Additionally in accordance with a preferred embodiment of the present invention the method further includes a terminal sending a call termination request to the local gateway, the local gateway connecting to the remote gateway where the telephone line is reserved for the local gateway and forwarding the call termination request to the remote gateway, and the remote gateway terminating the call via the reserved telephone line.  
           [0052]    Moreover in accordance with a preferred embodiment of the present invention the method further includes a terminal sending a call termination request to the local gateway during the actual reservation period, the local gateway connecting to the remote gateway where the telephone line is reserved during the actual reservation period for the local gateway and forwarding the call termination request to the remote gateway, and the remote gateway terminating the call via the reserved telephone line.  
           [0053]    Further in accordance with a preferred embodiment of the present invention the local gateway is a network-telephony enabled PC.  
           [0054]    Still further in accordance with a preferred embodiment of the present invention the local gateway is operative to function as a terminal.  
           [0055]    Additionally in accordance with a preferred embodiment of the present invention the notifying step e) includes the remote gatekeeper providing to the local gatekeeper ) the network address of the remote gateway and ) the number of the telephone lines that have been reserved for the local gatekeeper at the remote gateway.  
           [0056]    Moreover in accordance with a preferred embodiment of the present invention the notifying step e) includes the remote gatekeeper providing to the local gatekeeper 1) the number of the telephone lines that have been reserved for the local gatekeeper.  
           [0057]    Further in accordance with a preferred embodiment of the present invention the not g step e) further includes the remote gatekeeper providing to the local gatekeeper 1) the address of the terminating gatekeeper.  
           [0058]    Still further in accordance with a preferred embodiment of the present invention the method further includes a terminal sending a call termination request to the local gateway, the local gateway connecting to either of the local gatekeeper and the remote gatekeeper and forwarding the call termination request thereto, and the remote gatekeeper effecting the call termination via the reserved telephone line at the remote gateway.  
           [0059]    Additionally in accordance with a preferred embodiment of the present invention the notifying step e) includes the remote gatekeeper providing to the local gatekeeper 1) the network address of the remote gateway, 2) the number of the telephone lines that have been reserved for the local gatekeeper at the remote gateway, and 3) the actual reservation period for each of the reserved telephone lines.  
           [0060]    Moreover in accordance with a preferred embodiment of the present invention the notifying step e) includes the remote gatekeeper providing to the local gatekeeper 1) the number of the telephone lines that have been reserved for the local gatekeeper and 2) the actual reservation period for each of the reserved telephone lines.  
           [0061]    Further in accordance with a preferred embodiment of the present invention the notifying step e) further includes the remote gatekeeper providing to the local gatekeeper 1) the address of the terminating gatekeeper.  
           [0062]    Still further in accordance with a preferred embodiment of the present invention the method further includes a terminal sending a call termination request to the local gateway, the local gateway connecting to either of the local gatekeeper and the remote gatekeeper and forwarding the call termination request thereto, and the remote gatekeeper effecting he call termination via the reserved telephone line at the remote gateway.  
           [0063]    The disclosures of all patents, patent applications, and other publications mentioned in this specification and of the patents, patent applications, and other publications cited therein are hereby incorporated by reference.  
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0064]    The present invention will be understood and appreciated more fully from the following detailed description taken in conjunction with the appended drawings in which:  
         [0065]    [0065]FIG. 1 is a simplified conceptual illustration of a computer network telephony system in a resource reservation mode for PSTN terminal to PSTN terminal communications, constructed and operative in accordance with a preferred embodiment of the present invention;  
         [0066]    [0066]FIG. 2 is a simplified flowchart illustration of a method of operation of the system of FIG. 1, operative in accordance with a preferred embodiment of the present invention;  
         [0067]    [0067]FIG. 3 is a simplified conceptual illustration of a computer network telephony system in a call request mode, constructed and operative in accordance with a preferred embodiment of the present invention; and  
         [0068]    [0068]FIG. 4 is a simplified flowchart illustration of a method of operation of the system of FIG. 3, operative in accordance with a preferred embodiment of the present invention. 
     
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS  
       [0069]    Reference is now made to FIG. 1, which is a simplified conceptual illustration of a computer network telephony system in a resource reservation mode for PSTN terminal to PSTN terminal communications, constructed and operative in accordance with a preferred embodiment of the present invention, and additionally to FIG. 2, which is a simplified flowchart illustration of a method of operation of the system of FIG. 1, operative in accordance with a preferred embodiment of the present invention. In the system of FIG. 1 and method of FIG. 2, a gateway  100  in a local zone/domain sends a resource reservation request to a gatekeeper  102  in the same zone/domain for one or more telephone lines in a remote zone/domain to be reserved for gateway  100 &#39;s use for termination of calls at the remote zone/domain, typically for a specified period of time, hereinafter referred to as the reservation period. The reservation period may specify an amount of time starting from the time the request is made, such as “the next three hours,” or, alternatively, may specify a time of day, such as “between 3 pm and 4 pm.” Gateway  100  preferably makes its request based on a statistical analysis of historical call requests during various time periods that are placed by one or more terminals  104  connected to and serviced by gateway  100  to the remote domain in question. Alternatively, gatekeeper  102  may determine its own needs for communications lines independently, prior to receiving such requests by gateway  100 , also by using statistical analysis techniques. Gatekeeper  102  then sends the resource reservation request to a gatekeeper  106  in the remote zone/domain via a network  108 , such as the Internet.  
         [0070]    Gatekeeper  106  queries a gateway  110  to determine if gateway  110  has any telephone lines that are currently available and that gateway  110  may provide for the termination of telephone calls. The distinction between “currently available” telephone lines at gateway  110  and telephone lines that may be provided at gateway  110  for the termination of telephone calls refers to the situation where the total number of telephone lines physically connected to gateway  110  may be greater than the total number of calls that gateway  110  may actually terminate due to limitations such as the number of computer network connections available to gateway  110  and/or limited processing power. Gatekeeper  106  may query gateway  110  for this information in response to the request from gatekeeper  102  and/or may periodically query gateway  110  for such information. Of the number of currently available and terminatable telephone lines at gateway  110 , gatekeeper  106  may reserve up to the number of telephone lines requested by gatekeeper  102  for an actual reservation period of up to the reservation period requested by gatekeeper  102 , provided that the telephone lines have not been previously reserved for a reservation period that coincides with or overlaps the actual reservation period, which information is preferably maintained by gatekeeper  106 . Gatekeeper  106  then notifies gatekeeper  102  of the number of telephone lines reserved for its use and of the actual reservation period granted, in addition to the network address or other connectivity identification of gateway  110 . Gatekeeper  102  then typically forwards this information to gateway  100 . It is appreciated that the resource request from the local zone/domain need not necessarily coincide with the resource reservation request made at the remote zone/domain between gatekeeper  106  and gateway  110 .  
         [0071]    The total number of telephone lines connected to gateway  110 , the total number of telephone calls that gateway  110  may actually terminate via these telephone lines, as well as the number of non-operational telephone lines, may be stored at gatekeeper  106  and/or reported by gateway  110  to gatekeeper  106  periodically or in response to a query.  
         [0072]    In a preferred implementation, particularly useful for reservation periods expressed as an amount of time from the time the reservation request is made, gatekeeper  106  maintains three pools of telephone line information for gateway  110  as follows:  
         [0073]    1. A pool (a) of telephone lines currently available for reservation;  
         [0074]    2. A pool (b) of reserved telephone lines and their granted reservation periods; and  
         [0075]    3. A pool (c) of telephone lines that are currently non-operational.  
         [0076]    When a reservation for a telephone line is made, the reserved telephone line is taken from pool (a) and transferred to pool (b) along with the granted reservation period. When the granted reservation period has elapsed for a reserved telephone line in pool (b), the line is transferred from pool (b) back to pool (a). When a report is received from gateway  110  indicating that a telephone line is non-operational, the telephone line is transferred from pool (a) to pool (c). When a report is received from gateway  110  indicating that a telephone line has become operational, the telephone line is transferred from pool (c) to pool (a).  
         [0077]    Reference is now made to FIG. 3, which is a simplified conceptual illustration of a computer network telephony system in a call request mode, constructed and operative in accordance with a preferred embodiment of the present invention, and additionally to FIG. 4, which is a simplified flowchart illustration of a method of operation of the system of FIG. 3, operative in accordance with a preferred embodiment of the present invention. In the system of FIG. 3 and method of FIG. 4, once the resource reservation has been made. i.e., the reservation of communications lines at the remote zone/domain has been made, gateway  100  receives from terminals  104  one or more requests for call termination at the remote zone/domain during the granted reservation period. Gateway  100  then, using conventional techniques, connects to remote gateway  110  using its network address or other connectivity identification, as gateway  100  knows gateway  110  has resources reserved for it, and requests that the call be terminated at remote gateway  110 . Remote gateway  110  then terminates the call via an appropriate reserved line. Termination is thus ensured with minimal post-dial delay.  
         [0078]    It is appreciated that the systems and methods of FIGS.  1 - 4  may be adapted for PC terminal to PSTN terminal communications, where a single network-telephony enabled PC acts as both gateway and terminal, and incorporates the functionality of both gateway  100  and terminal  104  as described hereinabove.  
         [0079]    In any of the above methods it is appreciated that more than one call may be assigned one after another to a given remote communication line during the reservation period, and that multiple simultaneous calls may be collectively terminated at any given time during the reservation period by a corresponding number of allocated communication lines relating to one or a number of remote gateways.  
         [0080]    In any of the above methods, where call signaling is to be performed in DRC mode, the terminating gatekeeper may return to the originating gatekeeper one or more sets of parameters, each set including 1) the network address of a gateway, 2) the number of telephone lines that have been reserved for the originating gatekeeper at the gateway, and 3) the reservation time for each reserved line. The originating gatekeeper then passes this information to the originating gateway, such as where the originating terminal is a telephone, or to the originating terminal, such as where the originating terminal is a PC. Thereafter, when the originating teal attempts to make a call, it may contact the terminating gateway directly without the intervention of either the originating or terminating gatekeepers.  
         [0081]    Alternatively, where call signaling is to be performed in GRC mode, the terminating gatekeeper may return to the originating gatekeeper a single set of parameters including 1) the number of telephone lines that have been reserved for the originating gatekeeper, 2) the reservation time for each reserved line and, optionally, 3) the address of the terminating gatekeeper, such as where the terminating gatekeeper that is contacted by the originating gatekeeper is not the terminating gatekeeper that will ultimately route the call. It should be noted that the originating gateway is unaware of the exact telephone line reservations per terminating gateway, yet merely knows the total number of reserved lines. Thereafter, when the originating terminal attempts to make a call, signaling requests are sent by the originating terminal (e.g., if it is a PC). the originating gateway, or the originating gatekeeper to the terminating gatekeeper which forwards them to an appropriate terminating gateway at which a telephone line has been reserved for the originating side.  
         [0082]    It is appreciated that one or more steps of any of the methods described herein may be implemented in a different order than that shown while not departing from the spirit and scope of the invention.  
         [0083]    While the present invention may or may not have been described with reference to specific hardware or software, the present invention has been described in a manner sufficient to enable persons having ordinary skill in the art to readily adapt commercially available hardware and software as may be needed to reduce any of the embodiments of the present invention to practice without undue experimentation and using conventional techniques.  
         [0084]    While the present invention has been described with reference to one or more specific embodiments, the description is intended to be illustrative of the invention as a whole and is not to be construed as limiting the invention to the embodiments shown. It is appreciated that various modifications may occur to those skilled in the art that, while not specifically shown herein, are nevertheless within the true spirit and scope of the invention.