METHODS AND APPARATUS FOR PROVIDING A "QUALITY OF SERVICE" NETWORK PARALLEL TO AN EXISTING ETHERNET NETWORK USING EXISTING
CATEGORY FINE CABLE
This application is a continuation-in-part of application serial number 09/227,009, entitled "A PBX System Having Line Cards and Phone Cards Which Exhibit Reciprocal Relationships", filed January 7, 1999, the complete disclosure of which is hereby incorporated by reference herein.
BACKGROUND OF THE INVENTION
1. Field of the Invention
The invention relates to Local Area Networks (LANs) and PBX systems. More particularly, the invention relates to a network which combines voice service and data service while maintaining "quality of service" (QOS) for the voice service.
2. State of the Art
In recent years there has been tremendous growth in the number of small offices and home offices, the so-called "SOHO" market. Concurrently, there has been tremendous growth in the need for advanced telecommunication services. Many years ago a small office could manage with one or two telephone lines. Today, the average American home has more than two phone lines. Most small/home offices and even many homes without offices require or desire a dedicated phone line for a fax machine or a modem in addition to one or two lines for regular (voice) telephone calls.
The demand for telecommunication service has been further heightened by the recently rapid growth of the internet. Interest in the internet is broad based with education, entertainment, and business all taking part in an information-communication-marketing revolution. The number of schools, homes, and businesses connecting to the internet is increasing at an accelerating rate. In addition, the type of information available via the internet is becoming more sophisticated.
At present, data networks (LAN) and voice networks (PBX) are typically provided as separate networks requiring their own cable and separate installation. The most commonly used data network is ETHERNET with Category-5 cable. There is no standard PBX system. Some PBX systems operate over existing telephone wiring. These systems require that each phone set
be coupled to a separate pair of wires for each outside line accessible to it. Other PBX systems utilize a network hub approach where each phone set is coupled to a local hub or "switch". Each phone set communicates with the hub to access multiple outside lines.
Recently, several companies have offered integrated voice and data networks for SOHO. See, e.g.. "PBX meets the LAN", PC Magazine 12/14/99, page 123, "IP Telephony for the Office", Smart Reseller 11/29/99, [http://www.zdnet.com/products/stories/ reviews/0,4161,2398820,00.html] and "3Com NBX 100", PC Magazine 11/24/99 [http://www.zdnet.com/products/stories/reviews/
0j4161,2394097,00.html]. One objective of these networks is to eliminate the need for two separate cables, one for LAN and the other for PBX. Another objective of these hybrid networks is to enable the implementation of new multimedia services such as voice-over-IP (Internet Telephony). These hybrid networks rely on an installed ETHERNET network, digitize the voice traffic and PBX signalling, and carry the digitized voice and PBX signalling over the same network as the data, i.e. the ETHERNET LAN. The problem with this approach is that the ETHERNET protocol was never designed to handle "time sensitive" traffic such as streaming audio and has no provision for QOS. The ETHERNET protocol was designed to handle data packets which could be discarded and retransmitted without any adverse effect other than an apparent drop in bandwidth or delay in the arrival of data. Consequently, when traffic on the ETHERNET LAN is congested, digitized voice packets are discarded in the same manner as any other data packet on the network. This results in a serious degradation in the quality of the voice service.
SUMMARY OF THE INVENTION
It is therefore an object of the invention to provide methods and apparatus for implementing a "quality of service" network parallel to an existing ETHERNET network using existing ETHERNET cable.
It is another object of the invention to provide a combination LAN and PBX system which avoids the need for two separate cable systems.
It is also an object of the invention to provide a combination LAN and PBX system which enables the implementation of new multimedia services such as voice-over-IP ("internet telephony").
It is another object of the invention to provide a combination LAN and PBX system which maintains high quality of service for voice traffic.
It is still another object of the invention to provide a combination LAN and PBX system which is easy to install.
In accord with these objects which will be discussed in detail below, the present invention provides methods and apparatus which use existing ETHERNET cable to implement a "quality of service" (QOS) network in parallel to an existing ETHERNET network. The combination ETHERNET LAN and QOS network of the present invention takes advantage of the fact that one of the four pairs of wire in Category-5 cable is not otherwise used and is not designated by any standard for any particular use. In particular, Category-5 ETHERNET cable consists of four pairs of wires. According to the ISO IEC 11801 Class D standard, two pair are used for the ETHERNET LAN, one pair is designated for use as a single plain old telephone system (POTS) line, and one pair is not used; i.e., is undefined. The present invention utilizes this extra undefined pair of wires to provide a "parallel network" QOS network over existing Category-5 cable. An exemplary embodiment of the QOS network of the invention provides a combination LAN and PBX system. The parallel PBX network is based on the principles disclosed in parent application serial number 09/227,009 and includes its own quality of service management technique which prevents or minimizes loss of quality of streaming audio. The PBX network of the invention is unaffected by ETHERNET traffic even though it is carried via the same cable.
The exemplary apparatus of the invention generally includes a PBX hub and a plurality of phone modules. The PBX hub couples to the customer's ETHERNET hub and has a plurality of slots for receiving "line modules" or, more accurately, "gateway modules". The gateway modules include modules for coupling the PBX hub to POTS lines, Tl lines, xDSL modems, cable modems, etc. Each phone module has two RJ-45 jacks and an RJ-11 jack. The RJ-45 jacks enable the phone module to be coupled to a Category-5 cable at a point where some other device is coupled to the ETHERNET LAN without interrupting .the connection of the other device. The RJ-11 jack couples an ordinary single line phone (via the red and green conductors of the RJ-11 jack) to the phone module. According to a preferred embodiment, the phone modules include a circuit for detecting a failure of the parallel PBX network (e.g. a power failure) and for automatically uncoupling the single line phone from the undefined pair and coupling it to the POTS line carried by the Category-5 cable.
The QOS network of the invention operates as a "token network" in which all of the modules in the network take turns communicating. The hub administers access to the network by providing write tokens to the modules. According to the invention, traffic on the QOS network is packetized in frames which have a variable payload length and one or more fields for maintaining QOS. According to the presently preferred embodiment, the QOS fields include a field which identifies message type (e.g. stream, data event, ack, etc.) and a field which identifies latency. The latency field is a counter which indicates how long a packet has been waiting in a module's queue while the module is waiting for a write token. The counter is set to zero when the packet enters the queue and is incremented by a clock (e.g., every 1 ms) so long as the packet remains in the queue. According to the invention, two alternative methods of maintaining QOS are provided. According to the first method, the hub examines the latency field of each packet when it passes through the hub. If the value in the latency field is above a threshold, the hub provides more frequent write tokens to the module from which the packet originated. According to the second method, each module requests bandwidth (e.g. 100k per voice connection) from the hub as needed. Each module monitor the latency fields of its own packets as they exit the module queue. If the value in the latency field is above a threshold, the module requests additional bandwidth from the hub.
According to other aspects of the invention, modules and networks at remote locations can be connected to each other via the PSTN whereby all of the modules appear to be sharing the same data and voice network while maintaining voice QOS. In addition, a digital link such as xDSL can be provisioned utilizing the techniques of the invention by providing the LEC (local exchange company) with apparatus which implements the protocols of the invention.
Additional objects and advantages of the invention will become apparent to those skilled in the art upon reference to the detailed description taken in conjunction with the provided figures.
BRIEF DESCRIPTION OF THE DRAWINGS
Figure 1 is a schematic diagram of a prior art RJ-45 jack with pins labeled for an ETHERNET connection using Category-5 cable;
Figure 2 is a schematic diagram of a combined LAN and PBX system according to the invention;
Figure 3 is a schematic diagram of a phone module according to the invention;
Figure 4 is a schematic diagram of a PBX hub according to the invention;
Figure 4a is a schematic diagram of an alternate embodiment of a PBX hub according to the invention;
Figure 5 is a more detailed schematic diagram of a phone module and a hub transceiver according to the invention;
Figure 6 is a schematic diagram of a POTS gateway module according to the invention;
Figure 7 is a more detailed schematic diagram of a PBX network controller according to the invention;
Figure 8 is a schematic diagram of a combined LAN and PBX system according to the invention and a remote access module coupled to each other by analog links;
Figure 9 is a schematic diagram of the remote access module of Figure 8;
Figure 10 is a schematic diagram of a gateway access module for communicating with a remote access module; and
Figure 11 is a schematic diagram of two combined LAN and PBX systems and a remote access module coupled to each other by digital links.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
As shown in prior art Figure 1, Category-5 ETHERNET cable consists of eight conductors which couple to the eight pins of an RJ-45 connector. According to the ISO/TEC 11801 Class D standard, conductors 1, 2, 3, and 6 are used for the ETHERNET network. Specifically, conductors 1 and 2 form a transmission pair TD+, TD- and conductors 3 and 6 form a reception pair RD+, RD-. Conductors 4 and 5 are reserved by the standard for the red and green POTS line pair. Conductors 7 and 8 are not assigned any function by the standard.
As mentioned above, the combination LAN and QOS network system of the present invention takes advantage of the fact that conductors 7 and 8 of the Category-5 cable are not
used by ETHERNET and are not designated by any standard for any particular use. The present invention utilizes this extra pair of wires to provide a "parallel network" for PBX or any other QOS application over existing Category-5 cable without interfering with the existing ETHERNET network.
Turning now to Figure 2, an exemplary apparatus according to the invention provides a PBX system QOS network parallel to an existing ETHERNET network. The PBX system generally includes a PBX hub 10 and a plurahty of phone modules 12, 14, 16, 18, 20. The PBX hub 10 couples to the customer's ETHERNET hub 22 and to the existing Category-5 cables 24, 26, 28, 30, 32. The hub 10 has a plurahty of slots (Figure 4) for receiving "line modules" or, more accurately, "gateway modules". The gateway modules include modules for coupling the PBX hub 10 to POTS lines 34, Tl lines 36, xDSL service 38, cable modem service 40, etc. Each phone module 12, 14, 16, 18, 20 is coupled to a respective one of the Category-5 cables 24, 26, 28, 30, 32 and to an ordinary single line phone 42, 44, 46, 48, 50. Typically, each phone module 12, 14, 16, 18, 20 is also coupled to the ETHERNET interface of a computer 52, 54, 56, 58, 60 or to another ETHERNET equipped device such as a printer or scanner (not shown).
As shown in Figure 3, each phone module, (e.g., phone module 12) has two RJ-45 jacks 62, 64 and an RJ-11 jack 66. The RJ-45 jacks 62, 64 are coupled to each other in a pass through manner so that the phone module can be coupled to an ETHERNET LAN at a point where some other device (e.g. computer 52 in Figure 2) is coupled to the LAN without interrupting the connection of the other device. The aforementioned unassigned pair of conductors 68 are tapped and coupled to PBX networking circuits 70 such as those described in previously incorporated serial number 09/227,009 via a transceiver 71. The previously unassigned pair of conductors 68 are now used as the PBX network pair. According to the invention, the RJ-11 jack 66 is coupled to the PBX networking circuits 70 via a fallback circuit 72. The fallback circuit 72 is also coupled to the aforementioned POTS pair of conductors 74. The fallback circuit 72 and the network circuits 70 draw power via the PBX network pair 68 as described in more detail below with reference to Figure 5. If there is a power failure, the fallback circuit 72 uncouples the RJ-11 jack 66 from the network circuits 70 and couples it to the POTS pair 74. According to the presently preferred embodiment, the phone module is also provided with a serial port 73 (either RS-232C or USB or both) for coupling the PBX Networking circuits directly to a PC without utilizing any ETHERNET bandwidth. The serial port enables various computerized telephony applications (e.g. dialing from a software address book or Personal Information Management software) as well as direct configuration of the
phone module via a menu driven software application rather than via the DTMF keypad on the attached telephone set.
Since ETHERNET routers and hubs only connect to the two pair of conductors which are used by ETHERNET and do not pass through (couple) the other four conductors of Category-5 cables, it is necessary to intervene between the Category-5 cables and the ETHERNET hub in order to access the unassigned, now PBX (QOS) pair, and the POTS pair. Thus, as shown in Figure 4, the hub 10 according to the invention has a plurahty of pairs of RJ- 45 jacks, e.g. 76a, 76b, 78a, 78b, 80a, 80b, 82a, 82b. According to a presently preferred embodiment, the PBX hub 10 includes eight pair of RJ-45 jacks for coupling to an eight port ETHERNET hub. One member of each pair is coupled to a port of the ETHERNET hub and the other member of each pair receives the Category-5 cable which was previously coupled to the ETHERNET hub. The jacks in each pair are coupled to each other in a pass through manner and the two pair of conductors not used by ETHERNET are tapped. The POTS pairs from the RJ-45 jacks are coupled as described in more detail below with reference to Figures 5 and 6 to one or more POTS lines which will serve as "life lines" during a power failure. The unassigned pair from each RJ-45 jack is coupled to a respective transceiver 86, 88, 90, 92 and each transceiver is coupled to the PBX network controller. The network controller 94 receives power from a power supply 96 which is coupled to AC mains 98. Power is supplied by the hub 10 to the phone modules (Figures 2, 3, and 5) via the transceivers 86, 88, 90, 92, etc. as described in more detail below with respect to Figure 5. As mentioned above, the hub 10 is provided with a plurality of gateway modules e.g. 100, 102, 104, 106, 108 which are preferably modular and installable in slot-1 through slot-n in the hub. Each gateway module is coupled to the controller 94, e.g. via transceivers 101, 103, 105, 107, 109) so that each of the phones coupled to the network can have access to the gateway modules. Also as described in more detail below with reference to Figures 7 and 8, each of the computers coupled to the network are provided with access to gateway modules which provide a data link rather than a mere POTS line. In addition, the PBX hub 10 is provided with an ETHERNET interface 110 for coupling the PBX Network controller 94 to the same or a different ETHERNET network or directly to a configuration computer (not shown). If coupled to the same ETHERNET network, this allows the PBX Network controller 94 to be configured by a computer coupled to the same ETHERNET network and allows the PBX Network controller 94 to pass certain information, e.g. Caller ID information, to computers coupled to the ETHERNET network.
From the foregoing, those skilled in the art will appreciate that the PBX network of the invention is unaffected by ETHERNET traffic and ETHERNET TRAFFIC is unaffected by it
even though both networks are carried via the same cable. According to a presently preferred embodiment, up to four phone modules may be coupled to the same PBX pair of conductors provided that the last module has a terminating resistor. Thus, a single RJ-45 jack can service one ETHERNET device and four telephone sets. For example where four people share an office with only one computer, each can be provided with a separate phone using a single RJ-45. More computers can be added in the same office via the same RJ-45 with the addition of a conventional ETHERNET router/hub.
An alternate embodiment of a network hub 10' is shown in Figure 4a where similar reference numerals refer to similar parts. In this embodiment, the PBX controller 94' includes a built in ETHERNET hub thereby obviating the need for IN and OUT RJ-45s. All of the RJ-45 jacks (76', 78', 80', 82', 100', 102', 106', 108') are coupled to the network controller via their undefined pins and a corresponding transceiver (86', 88', 90', 92', 101', 103', 107', 109'). In addition, at least some of the RJ-45 jacks are coupled to the ETHERNET hub via the ETHERNET defined pins. Where some of the RJ-45 jacks are not coupled to the ETHERNET hub, the uncoupled jacks are designated for use with gateway modules only and the POTS pins from these RJ-45 jacks are distributed to RJ-45 jacks which are coupled to the ETHERNET hub. In the case where all of the RJ-45 jacks are coupled to the ETHERNET hub via the ETHERNET defined pins, the hub 10' is configurable to route the POTS lines from jacks which are used for gateway modules to jacks which are used for phone modules.
According to a preferred aspect of the QOS network system of the invention, all of the modules are powered by the hub via the undefined pair which is used for network communication. Moreover, as mentioned above, according to a preferred aspect of the exemplary PBX system of the invention, each of the phone modules includes a circuit for switching over to the POTS line in the event of a power failure. Figure 5 illustrates these two preferred aspects of the invention. As shown in Figure 5, each transceiver, e.g. transceiver 86 includes a differential amplifier 861 for receiving and a balanced driver 862 for transmitting. Both are coupled to the undefined pair 68 of Category-5 wire via an isolating transformer 865. A pair of 50-ohm terminating resistors 863, 864 are provided to terminate the 100-ohm impedance Category-5 wire and prevent reflection. DC voltage is applied to the wire pair 68 on the network side of the transformer 865 though a filter which is made up of inductors 867, 868, and capacitor 869. A DC blocking capacitor 866 is located in series between the transformer and the DC voltage source. The blocking capacitor 866 prevents the transformer from shorting out the DC power supply (not shown). The isolation transformer 865 provides common mode isolation and, in conjunction with the DC blocking capacitor 866, provides isolation from the
DC power. Similarly, the filter which is made up of inductors 867, 868, and capacitor 869 isolates the power supply from network signalling.
The transceiver 71 in a phone module, e.g. 12, contains a similar arrangement of components as shown in Figure 5 with similar reference numerals referring to similar components. Here, the filter which is made up of inductors 717, 718, and capacitor 719 couples DC voltage from the network pair 68 to the PBX networking circuits 70. According to the presently preferred embodiment, the DC voltage provided is approximately 40 volts and this voltage is stepped up or down by the circuits 70 to provide low voltage for operating semiconductors and higher voltage for providing a ring signal to pair 68b in the RJ-11 66 to ring an attached phone set (42 in Figure 2). Further, according to a fallback aspect of the invention, the circuits provide voltage to a DPDT relay 72, shown here in the fall back position in which the POTS line 74 is coupled to the RJ-11 66. When the network is operating normally, the networks pair 68 is coupled to the circuits 70 via the transceiver 71 and internal network pair 68a. The circuits apply a voltage to the relay 72 which causes the relay to couple the RJ-11 66 to the circuits 70 via internal pair 68b. When voltage is not supplied to the circuits 70 (e.g. in the case of a power failure), voltage is no longer supplied to the relay 72 and the relay couples the RJ-11 to POTS as shown in Figure 5.
In addition to powering the relay 72, the circuits 70 contain circuit elements which convert the network traffic on the network pair 68a to an apparent POTS line 68b and vice versa. The circuits 70 also include circuit elements which play a role in maintaining QOS. More specifically, the circuits 70 include a POTS emulator 701, a digital-to-analog converter 702, an analog-to-digital converter 703, a packet disassembler 704, a packet assembler 705, a token detector 706, a token receiver 707, an output queue 708, and a latency timer 709. Optionally, the circuits 70 also include a latency checker 7010 and a token requestor 7011. The POTS emulator 701 takes analog signals from the DAC 702 and modulates them onto the apparent POTS line 68b so that a phone coupled to the line 68b via the jack 66 operates as if it were coupled to a real POTS line. Thus, the POTS emulator includes circuits for generating a ring signal, a dialtone, etc. Further, the POTS emulator supplies analog signals received from the apparent POTS line to the ADC 703 for conversion into digital form. These analog signals include, audio (voice signals), DTMF tones, offhook-onhook indication, flash indication, etc. In the actual presently preferred embodiment, the "circuits 70" illustrated in Figure 5 are embodied as code in a microprocessor. Thus, dialtone is actually produced digitally and the offhook/onnhook do not necessarily pass through the analog-to-digital converter. Packets (the packet format is described below with reference to Table 1) from the network pair 68a pass
through a token detector 706 which diverts packets containing tokens to a token receiver 707 which controls the egress of packets from the output queue 708. All other packets go to the packet disassembler 704 which extracts digital data from the packet and sends the data to the DAC 702. Digital data from the ADC 703 destined for the network pair 68a is assembled into packets at 705 and placed in the output queue 708. As mentioned above and described in more detail below with reference to Table 1, one of the fields in each packet is a latency value which is set to zero when the packet enters the queue 708. Periodically, e.g. every millisecond, the latency value is incremented by the timer 709 so that the latency value is an indication of how long the packet has been waiting in the queue. According to one embodiment of the invention, this latency value is read by the network controller as described in more detail below with reference to Figure 7. According to an alternative embodiment, the latency value is read by the latency checker 7010 as the packet exits the queue 708. If the value exceeds a threshold, the token requestor 7011 assembles a packet which requests additional bandwidth from the network controller and places that packet in the queue 708.
Turning now to Figure 6 and with reference to Figures 4 and 5, external POTS lines 100a, 102a are coupled to the network of the invention via POTS gateway modules 100, 102 and transceivers 101, 103, shown schematically in Figure 4 and in more detail in Figure 6. Comparing Figures 4 and 6, it will be appreciated that the POTS gateway modules 100, 102 are very similar in design to the phone modules 12 (also 14, 16, 18, 20). Each gateway module 100,
102 includes a transceiver 1071 which is essentially the same as the transceiver 71 in the phone module 12 of Figure 5. the transceiver 1070 communicates with one of the transceivers 101,
103 in the hub 10 in the same manner as described above with reference to the phone module 12. The gateway modules 100, 102 also include networking circuits 1070 which are similar to the networking circuits 70. Those skilled in the art will appreciate that the POTS emulator in the POTS gateway modules will be somewhat different than the POTS emulator in the phone modules as the signals handled by each will be different. In particular, the phone module 12 will be required to transmit signals to the attached phone which are of the type expected to be received from a central office and to receive from the phone signals of the type expected to be received from a phone. The gateway modules do the opposite in transmitting to the central office signals expected to be received from a phone and receiving from the central office signals expected to be received from the central office. In other words, the gateway modules look like telephones to the central office. Otherwise, the ADC, DAC, packet assembly and disassembly are the same as in the phone module and the buffering of packets and latency timing are also the same. As seen in Figure 6, there is no fallback circuit per se. Rather, the POTS line is simultaneously coupled to the network circuits 1070 and to the configurable splitter 870 via
lines 1074. The configurable splitter is in the nature of dip switches or jumpers which couple the POTS tine from this particular module to particular ports in the hub (Figure 4) so that it is available as a life line to one or more of the phone modules. Depending on the number of POTS gateway modules, phone modules, and the configuration of the configurable splitter 870, some or all of the phones can be provided with the same or different life lines. According to an alternate, presently preferred embodiment, each POTS gateway module feeds a fall back POTS line to one ETHERNET run which may include up to four telephones which will share that POTS lifeline in the event of a power failure.
The PBX (QOS) network of the invention may be referred to as a "token hub network" in which all of the modules communicate via the hub. According to a preferred aspect of the invention, the hub administers access to the network by providing write tokens to the modules. Traffic on the network is packetized in frames which have a variable payload length and one or more fields for maintaining QOS. According to the presently preferred embodiment, tokens are dispensed by the network controller in a round robin manner to all of the modules coupled to the hub. After each token is dispensed, the network controller waits for a response from the module. Each module is permitted to send one packet per token received. Speech packets, according to the presently preferred embodiment, contain thirty-two samples at 8kHz.
According to the presently preferred embodiment, the QOS fields include a field which identifies message type (e.g. stream, data event, ack, etc.) and a field which identifies latency. The latency field is a counter which indicates how long a packet has been waiting in a module's queue while the module is waiting for a write token. The presently preferred embodiment of the frame is shown in Table 1.
Table 1
According to the invention, the QOS latency field is set to zero when the packet enters the queue and is incremented by a clock (e.g., every 1 ms) so long as the packet remains in the queue. According to the invention, two alternative methods of maintaining QOS are provided. According to the first method, the network controller in the hub examines the latency field of each packet when it arrives at the network controller. If the value in the latency field is above a threshold, the network controller provides more frequent write tokens to the module from which the packet originated. According to the second method, each module requests bandwidth (e.g. 100k per voice connection) from the network controller as needed. Each module monitors the latency fields of its own packets as they exit the module queue. If the value in the latency field is above a threshold, the module requests additional bandwidth from the network controller.
An example of portions of a presently preferred network controller is illustrated in Figure 7. As mentioned above, the hub has a plurality of transceivers, e.g. 86, 88, etc. for communicating with modules, a network controller 94, and an RJ-45 jack 110 for coupling the network controller to an ETHERNET network. As shown in Figure 7, the receiving portion of each transceiver 86, 88,... is coupled to a data detector 86a, 88a,... in the network controller which detects whether data is being received. The data detectors are coupled to an arbitrator 941 to which each data detector passes data along with an indication of from which port the data came. The arbitrator 941 is coupled to a circuit 942 which performs framing and similar functions and also to a bus 941a. When the arbitrator receives data from a data detector, it forwards the data to
the framer 942 and places it on the bus 941a. The transmitter portion of each transceiver 86, 88, ..., receives data from the bus 941a via a multiplexer 86b, 88b,..., each of which is enabled by the arbitrator 941 via lines 941b, 941c, etc.
Packets generally flow into the network controller 94 from one transceiver at a time and the arbitrator 941 broadcasts the packets out to every transceiver except for the one from which the packets were received. Each packet is also copied to the framer circuit 942 which reads the raw data, determines packet boundaries, etc., and passes the framed data to a microprocessor subsystem 943. According to one embodiment of the invention, the microprocessor 943 performs a latency check 949 on each packet by examining the latency field of the incoming packets and passes a bandwidth request 951 to the bandwidth allocator 944 if the latency of the packet is above the preset threshold. The bandwidth allocator 944 then directs the token generator 945 to pass tokens via a multiplexer 946 onto a bus 946a. The transmitter portion of each transceiver 86, 88, ..., receives packets containing tokens from the bus 946a.
According to another embodiment, the microprocessor 943 determines at 950 whether each packet contains a token request and passes a bandwidth request 951 to the bandwidth allocator 944 if a token request has been identified. The bandwidth allocator 944 then directs the token generator 945 to pass tokens via a multiplexer 946 onto a bus 946a.
Tokens are a special form of the frame of Table 1. According to the presently preferred embodiment, a token has a length of one plus the address of the recipient and no other bytes. When the token generator 945 is ready to transmit a token, it sends a signal to the arbitrator via line 945a and the arbitrator preferably enables all of the multiplexers 86b, 88b, etc. The token is then broadcast to all of the ports. This relieves the arbitrator from determining which port needs the additional tokens. As mentioned above, the token contains an address field. Thus, each of the modules coupled to the ports determine whether the token is for them or another module. However, it will be appreciated that the token generator could send an indication of the destination port to the arbitrator so that the tokens are sent only to the one port.
The microprocessor subsystem 943 is also coupled to a message former 947 and an ETHERNET subsystem 948. The message former generates messages which are placed on the bus 946a via the multiplexer 946. The ETHERNET subsystem 948 permits the exchange of information between the microprocessor subsystem 943 and an ETHERNET network via the RJ-45 110. This enables, for example, the setting of latency values 952. It will be appreciated that not all traffic on the network should be afforded the same priority. Thus, different latency
values will be set as the latency threshold for different message types. Depending on which embodiment of QOS implementation is used, the latency values will be stored at the network controller or will be stored at each module.
On various occasions, the microprocessor subsystem 943 will send a message to one or more modules via the message former 947. For example, if a checksum indicates an error requiring a packet to be resent, the message former will be used to send a resend message to the source of the faulty packet. When such a message is to be sent, the message former preferably signals the arbitrator via line 947a to enable all of the multiplexers 86b, 88b, etc. This frees the arbitrator from the task of determining which port should receive the message.
According to another aspect of the invention, a remote telephone and computer can be coupled to the combination data and PBX (QOS) network of the invention via POTS (or a broadband public network connection). Turning now to Figure 8, a small office 112 having a network according to the invention is coupled to a remote/home office 114 via the PSTN 116. The small office 112 is coupled to the PSTN 116 via multiple POTS lines 34 and/or integrated Tl access hne(s) 36 and the remote/home office 114 is coupled to the PSTN 116 via a single POTS line 34'. According to the invention, a remote analog phone module 120 is provided so that both an ordinary single line telephone 122 and a personal computer 124 can be coupled to the combination data and PBX network in the small office 112.
As shown in Figure 9, the remote analog phone module 120 has one RJ-45 jack 126 and two RJ-11 jacks 128, 130. The RJ-45 jack 126 is an ETHERNET port designed to be coupled to either a single computer (using a cross-over cable) or to a router/hub. The RJ-11 jack 128 is for coupling a single line telephone to the module 120 and the RJ-11 jack 130 is for coupling the module 120 to POTS line 34' (Figure 8). The RJ-45 jack 126 and the RJ-11 jack 128 are coupled to multiplexing and PBX networking circuits 132. The multiplexing and PBX networking circuits 132 are coupled to a V.90 modem 134 which is coupled to the RJ-11 jack 130. The PBX networking circuits 132 include a packet control and bandwidth allocation module 136, a downstream data demultiplexer 138, an upstream data multiplexer 140, an ETHERNET subsystem 142, a POTS emulator 144, a digital-to-analog converter 146, an analog-to-digital converter 148, a packet disassembler 150, and a packet assembler 152.
Downstream data from the modem 134 enters the packet control and bandwidth allocation module 136 where data is framed into packets, packets containing ETHERNET packets are distinguished from POTS and other data packets, and both types of packets are sent
to the demultiplexer 138. If the packets contain ETHERNET packets, the demultiplexer 138 is controlled via line 138a by the packet control and bandwidth allocation module 136 to dehver the packets to the ETHERNET subsystem 142 where the ETHERNET packets are extracted (from the payload portion of the packet frame shown in Table 1) and sent to the ETHERNET port 126. If the packets are determined to be other packets, the demultiplexer 138 is controlled via line 138a by the packet control and bandwidth allocation module 136 to dehver the packets to the packet disassembler 150 which extracts the other data (from the payload portion of the packet frame shown in Table 1) and sends it to the digital-to-analog converter 146. The DAC 146 converts the data to an analog signal and sends it to the POTS emulator 144. The POTS emulator includes circuits which emulate the "local loop" of a POTS line connected to a central office. The analog signal supplied to it by the DAC may include voice signals, ringing signals, busy signals, call waiting signals, caller ED signals, etc.
Upstream signals from the POTS emulator may include voice signals, DTMF signals, off-hook/on-hook signals, flash signals, etc. These signals are converted into digital data by the analog-to-digital converter 148 and sent to the packet assembler 152 where they are placed into the payload of an incomplete frame. The frame is sent to the packet control and bandwidth allocation module 136 via the upstream multiplexer 140. The packet control and bandwidth allocation module 136 partially completes the frame by filling in the address fields and setting the QOS latency field to zero. If other data is being sent or received, the partially completed frame is held in a queue with the QOS latency field being incremented until it is able to be sent. Just as it is about to be sent, the packet control and bandwidth allocation module 136 completes the frame of Table 1 by filling in the total packet length and the checksum, and filling in the latency field if it has not already been updated.
The packet assembler and packet disassembler may optionally include compression and decompression functions if desired.
Upstream ETHERNET packets from the ETHERNET port 126 are partially framed by the ETHERNET subsystem 142 and sent to the packet control and bandwidth allocation module 136 via the upstream multiplexer 140. The packet control and bandwidth allocation module 136 completes the frame and places it in a queue. According to the invention, voice packets are given priority over data packets. This is determined by the packet control and bandwidth allocation module 136 and implemented by controlling the demultiplexer 138 and multiplexer 140. More particularly, as shown in Figure 9, the packet control and bandwidth allocation module 136 includes downstream muxes 154, 158, upstream muxes 160, 164, an incoming data buffer 156,
and an outgoing data buffer 162. As discussed previously, downstream packets are sorted at 154 such that packets containing ETHERNET packets are placed in the incoming data buffer 156 and packets containing data for the POTS emulator are sent directly to mux 158. Similarly, upstream packets are sorted at 160 such that packets containing ETHERNET packets are placed in the outgoing data buffer 162 and packets containing data from the POTS emulator are sent directly to mux 164. If the incoming data buffer 156 overflows, it places a message in the outgoing buffer (shown by line 156a) indicating that an ETHERNET packet has been dropped and needs to be resent. Similarly, if the outgoing data buffer 162 overflows, it places a message in the outgoing buffer (shown by line 162a) indicating that an ETHERNET packet has been dropped and needs to be resent.
Returning to Figure 8, it will be appreciated that a module similar to 120 will be coupled to one of the slots of the PBX hub 10. Such a module is shown at 104 in Figure 4 and in more detail in Figure 10. Figure 10 shows alternate modules 104, 108 which are essentially the same except for the type of modem used. In module 104, a V.90 modem 104a is used. In module 108, an xDSL modem 108a is used. Each module includes packet control and bandwidth allocation circuits 236 which are essentially the same as the circuits 136 described above, multiplexers 237, 238, and speech processing and data control circuits 239 all of which allocate the bandwidth provided by the modem link so that speech packets are given priority. In addition, a network interface 240 is provided for transporting packets to and from the QOS network of the invention. The network interface circuits 240 are similar to the circuits 70, 71 described above. It is in the circuits 240 where the latency field is entered and (in one embodiment) read to determine latency and assure QOS.
In view' of the above, it will be appreciated that the connection between the small office 112 and the home office 114 (Figure 8) also enables all of the computers to share the same ISP 118 via a single high speed connection between the hub 10 and the ISP 118. As mentioned above, in addition to providing remote access via a POTS link, a digital link such as xDSL can be provisioned utilizing the techniques of the invention by providing the LEC (local exchange company) with apparatus which implements the protocols of the invention.
An example of how xDSL service is utilized by the invention is shown in Figure 11 where reference numerals which are the same or similar to those used in Figure 8 refer to the same or similar devices. As shown in Figure 11, a small office 112 and a small office 212 both having a network according to the invention are coupled to each other and a remote/home office 214 via xDSL connections 38, 38', 38". Accordingly, the network hubs 10 and 310 are coupled
to an xDSL "wire center" 400 via xDSL modems (not shown). Preferably, the xDSL modems are modified to carry out the QOS features of the invention. This may be accomplished using the same techniques discussed above with reference to Figure 10, or may be accomplished in a slightly different way utilizing the "built-in" QOS capabilities of some xDSL modems. As shown in Figure 11, the remote/home office 214 is shown coupled to the wire center via a module 220 which is virtually identical to the module 120 shown in Figure 9 except that the V.90 modem has been replaced by an xDSL modem.
Those skilled in the art will appreciated that the wire center 400 will include one or more DSLAMs (digital subscriber line access modules. Each of the xDSL lines 38, 38', 38" is coupled to a DSLAM by an xDSL modem (typically a card in a rack-not shown). According to the invention, the DSLAM 402 is modified with circuits 410 to carry out the QOS methods described above. As shown in Figure 11, the DSLAMs at the wire center are coupled to a gateway switch 502 at a local or regional switching center 500 via a broad band link such as an optical link. The gateway switch 502 is also preferably provided with circuits 510 for carrying out the QOS features of the invention. From the gateway, access is provided to the PSTN via the class 5 switch 512 and to an IP network 514. As shown in Figure 11 all of the computers at locations 112, 212, and 214 can communicate with each other and share the same ISP. Moreover, all of the telephone sets at locations 112, 212, and 214 can communicate with each other via a QOS PBX system as if they were all at the same location.
Those skilled in the art will appreciate that the invention may be embodied in hardware or a combination of hardware and software and/or firmware. The presently preferred embodiments of the hub and the modules are each built with a Seimens 161 20MHz 16-bit RISC processor having 2x64K RAM and 8 megabits ROM. The software stored in ROM is loaded into RAM by an ATMEL 8051 20MHz 8-bit processor.
Referring now to the Figures generally, the invention may be better understood by describing the processing of signals involved in the placing of a telephone call from a telephone (e.g.42 in Figures 2, 8, and 10) to another telephone (not shown) connected to the PSTN (116 in Figure 8). When the handset is lifted from the base of the phone 42, an off-hook indication is detected by the POTS emulator (701 in Figure 5) which supplies a current loop through the phone 42. The POTS emulator immediately supplies a local dialtone to the phone from which any other phone on the network (e.g. 44, 46, 48, 50) can be dialed. According to the presently preferred embodiment, if the first digit dialed is #, the call is interpreted to be a local (extension to extension) call. If the first digit is a number, the call is interpreted to require an outside line.
The POTS emulator records the digits dialed and directs the packet assembler (705 in Figure 5) to assemble a packet according to the frame shown in Table 1, and place the packet in the queue 708. According to the preferred embodiment, each phone module (12, 14, 16, 18, etc.) is programmable as to which, if any, gateway modules are available to it. Thus, the first packet assembled in the making of an outside call is addressed to the first gateway module in the hst of modules available to this phone module. The packet contains a message requesting that the gateway module be seized and dedicated to the phone module until the phone goes on-hook or until a time-out with no activity occurs.
The packet remains in the queue 708 with the timer 709 incrementing the latency field of the packet until a token is received by the token receiver 707 which causes the queue 708, to release the packet. As mentioned above, if latency QOS is implemented at the phone module, the latency field of the packet will be checked at 7010. It should be noted that the packet containing this dial message may be allowed a longer latency than a packet containing digitized voice.
The packet is transmitted by the transceiver 71 to the transceiver 86 in the hub 10 where it is detected by the detector 86a (Figure 7) and broadcast to all other modules by the arbitrator 941. Tokens from the token generator 945 continue to be dispensed in round robin fashion to the modules connected to transceivers 88, 90, 92,... etc. See Figure 4. Assuming that the packet was addressed to the gateway module in slot 1, when the transceiver 101 receives a token, the POTS gateway 100 (Figure 6) responds with a packet which includes an indication that it is now dedicated to servicing the phone module 12. If it is already in use, the gateway module 100 will send a packet containing a "not available" message; and the phone module will send a request message packet to the next gateway module on the list of modules available to it. If the phone module receives "not available" messages from all of the modules, it will generate, via the POTS emulator, a signal to the user indicating that no outside lines are available.
Meanwhile, the phone module accumulates either ten or seven digits, depending on whether the first digit dialed was a " 1 ". When the appropriate number of digits have been accumulated, the phone module 12 creates a packet containing the full phone number and sends the packet to the "seized" gateway module.
During the time between seizure of the gateway module and the sending of the packet containing the phone number to be dialed, a watch dog time-out is maintained so that the phone module does not occupy the gateway module without dialing a number. According to the
presently preferred embodiment, during this time, as well as during other transactions, the gateway module periodically sends "need me?" messages to the phone module. If a predetermined number of these messages go unanswered by the phone module, the gateway modules "de-seizes" itself from the phone module.
When the gateway module gets the packet containing the phone number to be dialed, it uses its POTS emulator to go off-hook and generate the appropriate DTMF tones. Upon completing the transmission of DTMF tones, an audio connection is formed between the gateway module and the phone module. The gateway module begins digitizing the audio received over the POTS line and sending audio packets to the phone module. The phone module also digitizes audio received from the POTS emulator and sends packets containing digitized audio to the gateway module. Both modules receive packets containing digitized audio, convert the audio to an analog signal, and send the analog signal through their respective POTS emulators.
All of the packets are buffered as described above with their latency fields being checked as described above. Additional (more frequent) tokens are dispensed to either the phone module or the gateway module or both in order to minimize latency to a tolerable set level and thereby assure QOS.
As mentioned above, in the event of a power failure, the phones attached to the phone modules are automatically coupled to POTS lines by the relays in the phone modules. The settings in the configurable splitter determine which POTS line gets connected to which phones.
There have been described and illustrated herein embodiments of a QOS Network which is provided parallel to an existing ETHERNET network utilizing existing category-5 wires. While particular embodiments of the invention have been described, it is not intended that the invention be hmited thereto, as it is intended that the invention be as broad in scope as the art will allow and that the specification be read likewise. Thus, while a PBX system has been disclosed, it will be appreciated that other QOS networks are enabled herein. Also, while particular circuits have been shown, it will be recognized that other types of circuits could be used with similar results obtained. Moreover, while particular configurations have been disclosed in reference to remote access via different kinds of wire hne modems, it wiU be appreciated that other configurations could be used as well, including wireless remote access. It will therefore be appreciated by those skilled in the art that yet other modifications could be made to the provided invention without deviating from its spirit and scope as so claimed.