Broadband-augmented computer communication system

Abstract: Computer data provided according to a first data protocol, such as the Internet protocol, is communicated over a digital television broadcast network using a second data protocol such as MPEG2. The computer data in the first data protocol is encapsulated in at least one data stream for distribution in conformance with the second data protocol. The at least one data stream encapsulating the computer data is multiplexed with a plurality of data streams conforming to the second data protocol for transmission over the network, which may be a cable or satellite television network. The data stream encapsulating the computer data is received from the network according to the second data protocol, and processed in accordance with the second data protocol to recover the computer data in the first data protocol. A prioritization scheme is provided wherein different messages in the first data protocol are prioritized in the output multiplex according to at least one of source address, destination address, data type and connection type.

Description: BACKGROUND OF THE INVENTION The present invention relates to communication systems, and more particularly to a method and apparatus for communicating computer data provided according to a first data protocol (e.g., the Internet protocol) over a digital television broadcast network which uses a second data protocol (e.g., MPEG2) to carry a plurality of data streams. Communication systems may be described as being unidirectional or bidirectional in nature. Unidirectional systems include broadcast services such as radio and television. Bidirectional systems include telephone and computer networks. It is expected that broadcast services, which currently use analog distribution schemes, will be transitioned to digital communication schemes. Presently, the most common way to encapsulate information for communication over a digital broadcast service is to use standards developed by the Moving Picture Experts Group (MPEG), and particularly the MPEG2 standard described in the International Standards Organization ISO/IEC 13818 standard. The digitization of broadcast services will provide many benefits. Among these are digital television and, ultimately, high definition television (HDTV). The availability of digital broadcast services can also provide for the communication of other types of information, such as Internet access. Presently, the most common way to encapsulate such computer information is to use the Internet protocol (IP). This protocol is entirely different from the MPEG2 protocol used, for example, in digital television broadcasting. The article "MULTIMEDIA SERVICES AND DATA BROADCASTING VIA SATELLITE" of A. Arcidiaconto in International Broadcasting Convention, 12-16 September 1996, Conference Publication No. 428, Amsterdam, NL, pages 127 to 128 (XP-002055255) refers to a digital platform for providing multimedia services via satellite services as well as data broadcasting. It mentions the possibility of delivering IP and MPEG2 data structures. It would be advantageous to provide Internet access via a subscription television service, such as cable or satellite television. It would be further advantageous to provide Internet access to users who do not own personal computers. Such access could be provided, for example, via their television sets. To date, most access via the Internet has been made by conventional analog telephone modems and integrated service digital networks (ISDN) which operate at higher speeds than standard telephone lines, but at significantly higher cost. One alternative to using conventional analog telephone modems and ISDN services is to access Internet services with modems that can operate on cable or satellite television networks. Such networks have much greater bandwidth than is provided by telephone lines, and can therefore be advantageously used for high speed Internet communications. Currently, most cable television (CATV) networks (and all television satellite networks) are one-way broadcast networks. Such networks only provide communication from a headend to a user, and not in the reverse direction. Although the industry is upgrading to two-way ("bidirectional") CATV networks at a high rate, more than one-half of the one-way networks presently in existence are expected to remain into the foreseeable future. Thus, it would be further advantageous to provide a cable or satellite modem that is low in cost, in order to enable cable and satellite television operators to provide low cost, high speed Internet access to their customers. It would be still further advantageous to provide low cost Internet access to the vast population of cable and satellite television subscribers. The present invention provides in accordance with independent claims 1 and 19 methods and in accordance with independent claims 10 and 25 apparatus having the aforementioned and other advantages. Further embodiments of the inventive methods are outlined in dependent claims 2 to 9 and 20 to 24. Further embodiments of the inventive apparatus are outlined in dependent claims 11 to 18 and 26 to 30. Computer data provided according to a first data protocol is communicated over a digital television broadcast network which uses a second data protocol to carry a plurality of data streams. The computer data in the first data protocol is encapsulated in at least one of the data streams for distribution in conformance with the second data protocol. A plurality of different messages can be provided in the first data protocol. The different messages are prioritized according to at least one of source address, destination address, data type and connection type. The different messages are multiplexed with the plurality of data streams for transmission over the network according to priorities determined by the prioritizing step. The prioritizing step can be implemented to extract priority determining conditions from the messages. The priority for each message is determined in accordance with the extracted conditions. Each message is then tagged with its respective priority. The at least one data stream encapsulating the computer data is multiplexed with the plurality of data streams conforming to the second data protocol for transmission over the network. At least one data stream is received from the network according to the second data protocol. The received at least one data stream is processed in accordance with the second data protocol to recover the computer data in the first data protocol. In an illustrated embodiment, the first data protocol is an Internet protocol and the second data protocol is a MPEG protocol, such as MPEG2. A method is provided for recovering computer data in an Internet protocol from a digital video data stream that carries a multiplex of different information signals using a digital video protocol. The multiplex is received from a digital video distribution channel. The multiplex is then processed using the digital video protocol to identify the computer data. The computer data is extracted from the multiplex and processed in accordance with the Internet protocol to recover information therefrom. The digital video protocol can be an MPEG protocol, such as MPEG2. Apparatus is provided for communicating computer data in a first data protocol over a digital television broadcast network. The network uses a second data protocol to carry the plurality of data streams. Means are provided for assigning a priority to different computer data messages received in the first data protocol. A queue stores the computer data messages according to their assigned priority. A driver is provided for encapsulating the prioritized computer data messages received from the queue in the first data protocol in at least one of the data streams for distribution in conformance with the second data protocol. A multiplexer multiplexes the at least one data stream encapsulating the computer data with the plurality of data streams conforming to the second protocol for transmission over the network. The means for prioritizing can be responsive to at least one of a source address, destination address, data type and connection type for each different message, in order to prioritize the message. In an illustrated embodiment, the means for prioritizing extract priority determining conditions from the messages. A priority is then determined for each message in accordance with the extracted conditions, and each message is tagged with its respective priority. In the illustrated embodiment, the first data protocol is an Internet protocol and the second data protocol is an MPEG protocol, in particular, MPEG2. Apparatus is also provided for recovering computer data in an Internet protocol from a digital video data stream carrying a multiplex of different information signals using a digital video protocol. A receiver receives the multiplex from a digital video distribution channel. Means are provided for processing the multiplex using the digital video protocol to identify the computer data. Means are also provided for extracting the computer data from the multiplex. The extracted computer data is then processed in accordance with the Internet protocol to recover information therefrom. The digital video protocol can comprise MPEG, and particularly MPEG2. BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 is a block diagram illustrating a client/server architecture in which the present invention can be used; Figure 2 is a block diagram illustrating an implementation of a server in accordance with the present invention; Figure 3 is a block diagram illustrating an implementation of a client in accordance with the present invention; Figure 4 is a diagram illustrating the prioritization queue in accordance with the present invention; and Figure 5 is flowchart illustrating the prioritization routine. DETAILED DESCRIPTION OF THE INVENTION Figure 1 is block diagram of a client/server system carrying MPEG2 data streams and data on a broadband channel. The MPEG2 data is input to a server 12 via terminal 10. Other MPEG2 data, such as MPEG2 data streams stored on a computer hard drive coupled to the server via, e.g., a SCSI interface, can be provided to the server from storage media 14. Other data, such as computer data in an Internet protocol (IP) format, are provided to server 12 via a standard network 20. The standard network can comprise, for example, a telephone line, a direct digital link (e.g., a serial communications path), Ethernet, Fast Ethernet, fiber distributed data interface (FDDI), asynchronous transfer mode (ATM), or any other communication network path known in the art. The server 12 multiplexes computer data received from the standard network 20 according to a first data protocol such as the Internet protocol (IP) which has been encapsulated in a second data protocol (e.g., MPEG2) with data streams in the second protocol received via terminal 10 or from data storage 14. Appropriate control messages are also multiplexed with the aforementioned data by server 12, which then transmits the multiplex via a broadband channel 16. The broadband channel may comprise, for example, satellite, CATV, multipoint microwave distribution system (MMDS), or LMDS. A client 18, which can comprise a digital television set top box or the like, receives data via the standard network connection 20 and on the broadband channel 16. In a digital television implementation, the video and audio data (e.g., MPEG2) is passed directly to the appropriate decompression hardware and/or software. The encapsulated computer data (e.g., IP data) which was sent using the second data protocol (e.g., MPEG2) is recovered from the second data protocol and is then sent to a first data protocol stack, which can be the same stack used by similarly formatted data received from the standard network path 20. In a preferred embodiment, the first data protocol stack (e.g., for IP protocol data) has a default route set so that all data out of the client 18 is communicated via the standard network connection 20. Figure 2 is a block diagram illustrating server 12 in greater detail. For purposes of describing the server 12 in Figure 2 and the client 18 in Figure 3, an implementation is shown wherein the first data protocol comprises the Internet protocol and the second data protocol comprises MPEG2. It should be appreciated, however, that the implementation illustrated in Figures 2 and 3 is an example only, and that the invention has application to other implementations and, more particularly, data carried using different protocols. As illustrated in Figure 2, server 12 provides streaming sources of MPEG2 from "network interfaces" 32 and "other interfaces" 30. The MPEG2 streams are passed to a multiplexing driver 56 via a loopback path 40 and priority module 50. The network interface data is received via the standard network 20. The other interface data is received on a real-time basis from terminal 10 or as stored data from storage media 14 which can comprise, for example, a hard drive incorporating a SCSI or other suitable interface. As indicated in the figure, the data from the other interfaces is provided to the loopback path 40 via line 34. Similarly, the network interface data is provided via line 36. The loopback path 40 provides a stream of MPEG streams to priority module 50, and can optionally adjust the program clock references (PCRs) and remap the program identifiers (PIDs) of the MPEG2 data streams if necessary. The priority module prioritizes the individual MPEG2 data streams using variable priority queuing described in greater detail in connection with Figures 4 and 5. The prioritized data streams are then provided to the multiplexing driver 56. IP data received via network interfaces 32 is communicated via line 38 to an IP routing path 42. The IP data is routed to a transport encapsulation module 44 which encapsulates the IP data into MPEG 2 transport packets. At module 46, standard MPEG2 headers are added to the transport packets, which are then passed to a priority module 48 which provides a similar function to the IP data that priority module 50 provides for the MPEG2 data. The prioritized IP data is then passed to the multiplexing driver 56. MPEG2 control messages are generated by module 54. If necessary, these messages can be prioritized in an optional priority module 52 before being passed to the multiplexing driver 56. After receiving the prioritized IP data, MPEG2 data, and the MPEG2 control messages, the multiplexing driver 56 multiplexes the various streams into an MPEG2 multiplex for communication over an appropriate communication channel. Multiplexing driver 56 also adjusts the PCRs as necessary to remove effects such as packet jitter from the new multiplex. Optional security elements 58 can be provided to encrypt or otherwise render the data, or selective parts of the data, secure. Forward error correction is provided in a conventional manner as indicated at block 60. Similarly, conventional modulation is used at box 62 in order to transmit the multiplex over broadband channel 16. The priority queuing provided by priority modules 48, 50 and optionally 52, can be used to provide reserved bandwidth for broadcast services or to provide different levels of quality for specific IP connections. In other words, certain connections can be provided with priority in the output multiplex. The effective data rate would be higher for packets traveling via connections having priority. Priority can be based, for example, on the source address for the IP data, the destination IP address, the data type and/or the connection type. The use of source addressing to establish priority is useful in a multicast service, to enable certain services to have a higher priority than others. Destination IP addresses can be used to establish priority based on a level of service purchased by a customer. For example, customers can be offered a high speed, priority Internet access service which will be faster than the standard service purchased by other customers for a lower fee. The IP address of each customer will be used to indicate the priority level depending on the level of service purchased by the customer. In some systems, it will be desirable to provide different data types with different priority levels. For example, transmission control protocol (TCP) data, such as Telnet and file transfer protocol (FTP) data used for interactive services may have a relatively low priority, whereas multicast data, which is broadcast to a plurality of receivers, may have a higher priority. User datagram protocol (UDP) data, which is not acknowledged but is repetitively sent to provide a "connectionless" service (i.e., without handshaking) may have the lowest priority. Additionally, different connection types, such as file transfer protocol (FTP) and Telnet, may be provided with different priorities. Typically, FTP files would have a higher priority, and Telnet would have a lower priority since Telnet typically consists of low data rate typed data. The multiplex transmitted from the server of Figure 2 is received by the client of Figure 3. Data from the broadband channel 16 is demodulated in a conventional demodulator 70, forward error corrected in forward error correction circuit 72 and if necessary, decrypted by optional security element 74. The resultant MPEG2 video and audio data is output directly to decompression hardware and/or software via line 76. The encapsulated IP data is detected by a PID filter 78 and passed on to a device driver 80. The PID filter decreases the client processor load by only accepting packets which the processor has an interest in. Device driver 80 unpacketizes the data and removes the transport layer. The data is then available to be sent directly to application programs 82 or, in the case of IP data, through a protocol stack/router 84 via line 88. IP data destined for application programs 82 is communicated via bidirectional line 85. Data from an application destined for outside the client is sent via IP routing module 84 and line 90 via a standard network interface 92 on network connection 20. Figures 4 and 5 illustrate the prioritization of IP data, MPEG2 data and/or MPEG2 control messages by priority modules 48, 50 and/or 52. In the case of control messages, high priority may always be used, obviating the need for priority module 52. In a preferred embodiment, the MPEG2 multiplexing driver 56 (Figure 2) is written to conform to the data length provider interface (DLPI) Specification Revision 2.0.0 published by Unix International, Inc. DLPI specifies a STREAMS kernel-level implementation of the ISO Data Link Service Definition (International Standards Organization - ISO 8886) and Logical Link Control (ISO 8802/2). STREAMS is a set of tools for the development of system communications services included in System V Release 4 of the Unix operating system. Figure 4 illustrates a priority queue used in a priority modules, such as priority module 48, to prioritize messages prior to multiplexing them for output on the broadband channel. Each message that enters the MPEG2 multiplexing driver 56 (Figure 2) has an associated priority assigned to it. The driver processes the queue from head (FIFO 108) to tail (FIFO 100). Messages with the same priority are processed in a first-in first-out manner. Each FIFO represents a different priority level, with the highest priority being assigned to the head FIFO 108 and the lowest priority (priority band 0) associated with the tail FIFO 100. FIFO's 106, 104 and 102 in between correspond to the remaining priority bands which in the example illustrated in Figure 4, comprise a total of 256 priority bands. The prioritizing module sets the priority band in the messages based on one or a combination of various conditions extracted from the messages. These conditions can comprise, for example, the destination IP address, the source IP address, the data type and/or the connection type. In each of these cases, the module looks at the incoming packet, extracts the condition variable, looks-up the priority band from a table, inserts the priority into the message and passes the message with the inserted priority along to the multiplexing driver. Figure 5 is a flowchart illustrating the prioritization process. The routine starts at box 200, and at box 204 a determination is made as to whether the priority queue is empty. If so, control returns to point A, and the routine continues until there is information in the queue to be prioritized. At this point, control passes to box 206, where a priority count (e.g., the high priority of 256) is initialized. Then, at box 210, a determination is made as to whether the priority inserted into the message matches the current priority count. If so, the message is removed as indicated at box 212, control passes back to point A, and the routine continues. If a determination is made at box 210 that the priority does not match, the priority count is decremented as indicated at box 216. Control then passes back to point B, and a determination is then made as to whether the priority of the message matches the current priority count. The process will continue until the next highest priority message is removed from the priority queue. At this point, control will pass from box 212 back to point A. In order to maintain throughput, the multiplexing driver 56 polls the queues provided by the priority modules 48, 50, 52 once every MPEG packet time. In this manner, messages can be derived from each MPEG packet and multiplexed for output on the broadband channel with the appropriate priorities. It should now be appreciated that the present invention provides methods and apparatus for augmenting a broadband communication system with data in a protocol that is not normally associated with the broadband system. In the particular embodiment illustrated, a broadband digital television system using the MPEG2 transmission standard is augmented to carry Internet data, enabling cable and satellite television operators to provide Internet access to their customers. The Internet access can be provided either via a PC coupled to the receive the recovered IP data, or via a television adapted to display the IP data. Although the invention has been described in connection with a particular embodiment thereof, it should be appreciated that various modifications and adaptations may be made thereto without departing from the scope of the invention as set forth in the claims.

Claims: A method for communicating computer data messages provided according to a first data protocol over a digital television broadcast network to a subscriber terminal using a digital video protocol, comprising the steps of: encapsulating the computer data messages in associated first transport packets that are provided in accordance with the digital video protocol; assigning respective priorities to the first transport packets; assigning respective priorities to second transport packets, said second transport packets carrying digital video data in accordance with the digital video protocol; and multiplexing the first and second transport packets in accordance with the respective assigned priorities to form a data stream for transmission over said network to said subscriber terminal, such that transport packets with a higher priority are provided in the data stream prior to transport packets with a lower priority. The method of claim 1, comprising the further step of: queuing the first and second transport packets in queues according to the respective assigned priorities thereof; and removing the first and second transport packets from the queues for said multiplexing. The method of claim 2, wherein: the queues have different priority levels associated therewith; and the transport packets are removed from the queues for said multiplexing according to a priority count that designates which queue is to output a transport packet, where the priority count decrements from a highest priority to a lowest priority. The method of one of the preceding claims, wherein: the digital video protocol is a Moving Picture Experts Group (MPEG) protocol. The method of one of the preceding claims, wherein: the first data protocol comprises an Internet Protocol. The method of one of the preceding claims, wherein: the respective priorities are assigned to the first transport packets according to at least one of source address, destination address, data type and connection type. The method of one of the preceding claims, wherein: the computer data messages in the first transport packets are tagged with information indicating the respective priority thereof. The method of one of the preceding claims, wherein: the assigning of the respective priorities of the first and second transport packets provides different levels of quality for different connections for the computer data messages. The method of one of the preceding claims, wherein: the assigning of the respective priorities of the first and second transport packets provides a reserved bandwidth for the digital video data. An apparatus for communicating computer data messages provided according to a first data protocol over a digital television broadcast network to a subscriber terminal using a digital video protocol, comprising: means (44) for encapsulating the computer data messages in associated first transport packets that are provided in accordance with the digital video protocol; means (48) for assigning respective priorities to the first transport packets; means (50) for assigning respective priorities to second transport packets, said second transport packets carrying digital video data in accordance with the digital video protocol; and means (56) for multiplexing the first and second transport packets in accordance with the respective assigned priorities to form a data stream for transmission over said network to said subscriber terminal, such that transport packets with a higher priority are provided in the data stream prior to transport packets with a lower priority. The apparatus of claim 10, further comprising: means (48) for queuing the first and second transport packets in queues according to the respective assigned priorities thereof; and means (56) for removing the first and second transport packets from the queues for said multiplexing. The apparatus of claim 11, wherein: the queues have different priority levels associated therewith; and the transport packets are removed from the queues for said multiplexing according to a priority count that designates which queue is to output a transport packet, where the priority count decrements from a highest priority to a lowest priority. The apparatus of one of claims 10 to 12, wherein: the digital video protocol is a Moving Picture Experts Group (MPEG) protocol. The apparatus of one of claims 10 to 13, wherein: the first data protocol comprises an Internet Protocol. The apparatus of one of claims 10 to 14, wherein: the respective priorities are assigned to the first transport packets according to at least one of source address, destination address, data type and connection type. The apparatus of one of claims 10 to 15, wherein: the computer data messages in the first transport packets are tagged with information indicating the respective priority thereof. The apparatus of one of claim 10 to 16, wherein: the assigning of the respective priorities of the first and second transport packets provides different levels of quality for different connections for the computer data messages. The apparatus of one of claims 10 to 17, wherein: the assigning of the respective priorities of the first and second transport packets provides a reserved bandwidth for the digital video data. A method for recovering computer data messages at a subscriber terminal in a digital television broadcast network, comprising the steps of: recovering a multiplex of transport packets, including first transport packets that are provided according to a digital video protocol, and that carry the computer data messages, and second transport packets that carry digital video data; wherein: the computer data messages are provided according to a first data protocol, and are encapsulated in the first transport packets; the first transport packets and second transport packets have respective priorities assigned thereto; and the multiplex is obtained by multiplexing the first and second transport packets in accordance with the respective assigned priorities such that transport packets with a higher priority are provided in the multiplex prior to transport packets with a lower priority; and decapsulating the computer data messages from the first transport packets to provide the computer data messages for processing in accordance with the first data protocol. The method of claim 19, wherein: the digital video protocol is a Moving Picture Experts Group (MPEG) protocol. The method of one of claims 19 and 20, wherein: the first data protocol comprises an Internet Protocol. The method of one of claims 19 to 21, wherein: the respective priorities are assigned to the first transport packets according to at least one of source address, destination address, data type and connection type. The method of one of claims 19 to 22, wherein: the assigning of the respective priorities of the first and second transport packets provides different levels of quality for different connections for the computer data messages. The method of one of claims 19 to 23, wherein: the assigning of the respective priorities of the first and second transport packets provides a reserved bandwidth for the digital video data. A subscriber terminal apparatus for recovering computer data messages in a digital television broadcast network, comprising: means (70-78) for recovering a multiplex of transport packets, including first transport packets that are provided according to a digital video protocol, and that carry the computer data messages, and second transport packets that carry digital video data; wherein: the computer data messages are provided according to a first data protocol, and are encapsulated in the first transport packets; the first transport packets and second transport packets have respective priorities assigned thereto; and the multiplex is obtained by multiplexing the first and second transport packets in accordance with the respective assigned priorities such that transport packets with a higher priority are provided in the multiplex prior to transport packets with a lower priority; and means (80) for decapsulating the computer data messages from the first transport packets to provide the computer data messages for processing in accordance with the first data protocol. The apparatus of claim 25, wherein: the digital video protocol is a Moving Picture Experts Group (MPEG) protocol. The apparatus of one of claims 25 and 26, wherein: the first data protocol comprises an Internet Protocol. The apparatus of one of claim 25 to 27, wherein: the respective priorities are assigned to the first transport packets according to at least one of source address, destination address, data type and connection type. The apparatus of one of claims 25 to 28, wherein: the assigning of the respective priorities of the first and second transport packets provides different levels of quality for different connections for the computer data messages. The apparatus of one of claims 25 to 29, wherein: the assigning of the respective priorities of the first and second transport packets provides a reserved bandwidth for the digital video data.

Inventors: GOTWALD FREDERICK L, GOTWALD, FREDERICK L.
Applicants: GEN INSTRUMENT CORP, GENERAL INSTRUMENT CORPORATION
Application year: 1997
Main classification: H04L29
IPC codes: H04N7, H04N5, H04L29