Lower overhead method for data transmission using ATM and SCDMA over hybrid fiber coax cable plant
First Claim
1. A method of processing and transmitting digital data from one of a plurality first circuits to a single second circuit in a physically distributed system, comprising:
- in each first circuit;
receiving local area network (hereafter LAN) packets and adding unique marker bits to the front of said LAN packet to mark the start thereof to generate modified packets;
parsing each said modified packet into a plurality of ATM cell payloads having a plurality of first bit groups and adding a plurality of additional bits to each ATM cell payload to generate from each ATM cell payload a modified ATM cell payload, and encoding said additional bits with auxiliary data indicating where the start of each said modified ATM cell payload is and also at least indicating which ATM cell payload contains the last bytes of said LAN packet;
parsing said modified ATM cell payloads into individual second bit groups which may or may not be the same size as said first bit groups, and transmitting each of said second bit groups to a synchronous code division multiple access transmitter in said first circuit;
receiving said second bit groups and spreading the spectra thereof using spreading codes assigned to said virtual link assigned to said first circuit and transmitting said spread spectra to said second circuit.
8 Assignments
0 Petitions
Accused Products
Abstract
A process for reducing the amount of overhead data in ATM cell headers prior to transmission both upstream and downstream on an HFC cable plant or other transmission media using SCDMA on at least the upstream path, without loss of either IP or Ethernet addressing information. A virtual link between each remote unit and a central unit is established using multiplexing to establish a virtual link to every remote unit. Downstream ATM cells are optimized by stripping off all but 2 bytes to leave a 50 byte cell. Incoming IP packets have their IP addressing information used to look up Ethernet domain address information for the RU and destination process to which this RU is coupled. An Ethernet header is appended to each IP packet as is RFC 1483 bytes to signal the start of the packet. The packet is parsed into 48 byte ATM cell payloads. VPI/VCI information for the virtual link of the remote unit to which the packet is bound is looked up using the Ethernet address information. The last cell in the packet is indicated by encoding 9th bits. The CU cable data modem formatter then generates optimized downstream 2-byte headers for each downstream ATM cell by stripping off all but 2 bytes of VPI/VCI data. 9th bits are added to each byte, and these 9th bits are encoded with last cell, normal cell and idle cell information and start codes so that cell boundaries can be located.
842 Citations
36 Claims
-
1. A method of processing and transmitting digital data from one of a plurality first circuits to a single second circuit in a physically distributed system, comprising:
in each first circuit; receiving local area network (hereafter LAN) packets and adding unique marker bits to the front of said LAN packet to mark the start thereof to generate modified packets; parsing each said modified packet into a plurality of ATM cell payloads having a plurality of first bit groups and adding a plurality of additional bits to each ATM cell payload to generate from each ATM cell payload a modified ATM cell payload, and encoding said additional bits with auxiliary data indicating where the start of each said modified ATM cell payload is and also at least indicating which ATM cell payload contains the last bytes of said LAN packet; parsing said modified ATM cell payloads into individual second bit groups which may or may not be the same size as said first bit groups, and transmitting each of said second bit groups to a synchronous code division multiple access transmitter in said first circuit; receiving said second bit groups and spreading the spectra thereof using spreading codes assigned to said virtual link assigned to said first circuit and transmitting said spread spectra to said second circuit. - View Dependent Claims (2, 3)
-
4. A method for transmitting data upstream from a plurality of customer premises equipment cable data modems (hereafter RUs or remote units), each RU coupled to one or more sources of data, said RUs coupled to a head end cable data modem (hereafter CU) over a transmission media, said CU being coupled to a router and a wide area network, said upstream data transmission accomplished using an ATM protocol and synchronous code division multiple access (hereafter SCDMA), comprising:
-
at each RU; receiving a plurality of LAN packets from said one or more sources; adding predetermined LAN packet identifier bits identifying the packet as a LAN packet to the front of each said LAN packet; adding a sufficient number of pad bits to each LAN packet prior to calculation of a predetermined number of CRC bits so as to make the total number of bits in said packet, counting said predetermined LAN packet identifier bits added to the front of each packet, the LAN packet itself, said CRC bits and said pad bits, equal to an integer number of cells, each cell comprised of 48 8-bit bytes, and inserting said pad bits into each said LAN packet just preceding said CRC bits to turn each LAN packet into an AAL5 sequence packet; computing CRC bits on each LAN packet including said predetermined LAN packet identifier bits, said LAN packet and said pad bits, and appending said CRC bits to the end of each said LAN packet after said pad bits; segmenting each AAL5 sequence packet into one or more optimized upstream ATM cell payloads, each said payload comprising 48 8-bit bytes; adding a 9th bit to each of said 48 8-bit bytes in each ATM cell payload to generate a plurality of optimized upstream ATM cells, and encoding a first predetermined plurality of 9th bits of each optimized upstream ATM cell with data which defines whether the cell is a normal cell, an idle cell for which the payload may be discarded or is the last cell in the AAL5 sequence packet, and encoding a second predetermined plurality of said 9th bits with a unique start code by which the start of each optimized upstream ATM cell can be determined, and receiving code assignment information for a frame in a virtual link assigned to said RU, said virtual link established using one or more SCDMA spreading codes assigned to encoding data to be transmitted between said RU and said CU over the transmission media coupling said RU to said CU, said code assignment information defining the SCDMA spreading codes assigned to said RU for transmission of data during said frame; receiving said optimized upstream ATM cells, and parsing each optimized upstream ATM cell into smaller groups of sequential 9-bit bytes, one said smaller group per frame, the number of 9-bit bytes in each group being equal in number to the number of SCDMA spreading codes assigned to said RU'"'"'s virtual link for the frame corresponding to said group; transmitting each said group of sequential 9-bit bytes to said CU using a synchronous code division multiple access (hereafter SCDMA) transmitter in said RU by spreading the spectrum thereof using spreading codes assigned to said RU'"'"'s virtual link for said frame to generate spread spectrum data, and modulating said spread spectrum data onto one or more carriers and transmitting the resulting modulated carrier(s) to said CU; and, at the CU; receiving the modulated carrier(s) and recovering the 9-bit bytes that were sent by said RU and sending each 9-bit byte to a formatting process along with information indicating from which RU each said 9-bit byte was transmitted, and using said recovered 9-bit bytes to reconstruct said optimized upstream ATM cells comprised of 48 9-bit bytes transmitted from said RU by determining from said second plurality of 9th bits with which of said collected 9-bit bytes the 48 9-bit byte optimized upstream ATM cell starts and then, starting from that byte, concatenating 48 9-bit bytes from the collected 9-bit bytes in the same sequence in which they were sent by said RU to said SCDMA transmitter in said RU and repeating this process for all 48 9-bit byte optimized upstream ATM cells sent by said RU; and using information identifying the virtual link in which each ATM cell was transmitted to construct predetermined fields of a standard 5 byte ATM cell header, and using the virtual link information and the information encoded into said first plurality of 9th bits to reconstruct a standard 5 byte ATM cell header for each optimized 48 9-bit bytes upstream ATM cell so as to generate a plurality of 53 byte upstream ATM cells; stripping off said 9th bits of each said 53 byte upstream ATM cell to generate standard 53 8-bit byte ATM cells, and transmitting said standard 53 8-bit byte ATM cells to a SAR process; in said router coupled to said CU; reconstructing AAL5 sequence packets by locating the packet boundaries by locating the 53 8-bit byte ATM cell which contains said predetermined LAN packet identifier bits and the 53 8-bit byte ATM cell indicated by a PTI field in the header thereof to be the last ATM cell into which said AAL5 sequence packet was parsed at said RU, and reconstructing said AAL5 sequence packet using these two ATM cells as the first and last groups of bytes in said AAL5 sequence packet after stripping off the 5 bytes of header information in each cell and using the sequence of all the 53 8-bit byte ATM cells between these first and last cells, minus the 5 byte header information of middle cells falling between said first and last cells, to comprise the middle portion of said packet; using CRC bits in said AAL5 sequence packet to error check said packet and, if there are no errors, stripping off said predetermined LAN packet identifier bits, said CRC bits and said pad bits to leave a packet with a LAN header, an IP header and a payload, and transmitting said packet to a routing process.
-
-
5. A method of transmitting digital data addressed to a particular one of a plurality of physically distributed first circuits from a single second circuit, comprising:
-
receiving a LAN packet having a header including a destination address from which the particular first circuit to which said LAN packet is to be transmitted can be derived, and appending to the header thereof unique marker bits marking the beginning of said LAN packet to generate a modified packet; parsing said modified packet into a plurality of ATM cell payload sections comprised of a plurality of first bit groups and using said destination address information and information regarding whether each ATM cell payload section contains the last data of said LAN packet to generate an ATM cell header which is appended to each ATM cell payload section which together comprise said LAN packet to generate an ATM cell, each ATM cell header containing destination address information and auxiliary information from which can be derived whether said ATM cell contains the last data of said LAN packet; transmitting said ATM cells to a formatter process where a plurality of additional bits are added which are encoded with auxiliary data including cell status and start codes indicating ATM cell boundaries and where said ATM cell header of each ATM cell is reduced to fewer bits containing at least destination address data, said formatter process encoding said auxiliary data into said additional bits as well as encoding therein a start code from which can be derived the beginning of each ATM cell to generate optimized downstream ATM cells; parsing said optimized downstream ATM cells into a plurality of component bit groups and transmitting said component bit groups to a transmission process; using said component bit groups to modulate one or more radio frequency carriers and transmitting said modulated one or more RF carriers to said plurality of first circuits. - View Dependent Claims (6)
-
-
7. A method of transmitting digital data from a central unit to a plurality of distributed remote units each remote unit having assigned thereto at least one virtual link indentifier, comprising:
-
in said central unit; receiving a packet from a first network coupled to said central unit, said packet having a header including destination address data defining the address within the address space of said first network of a destination node coupled to a remote unit by a second network; finding, in a table that maps addresses in the address space of said first network to addresses in the address space of said second network and to the virtual link identifier assigned to each said address in the address space of said second network, a destination address for said destination node in the address space of said second network which corresponds to said destination address data of said packet from said first network and to the virtual link identifier assigned to said destination address in the address space of said second network, and generating a second network header for said packet using said destination address in the address space of said second network and appending said second network header to said packet from said first network to generate a first modified packet; adding unique marker bits to the beginning of said first modified packet to create a second modified packet; adding a sufficient number of pad bits to create a third modified packet having a number of bits, counting CRC error detection bits to be calculated later and including all header and payload bits such that the total number of bits is sufficient in number to make the total number of 8-bit bytes in said third modified packet equal to an integer times 48; calculating said CRC error detection bits and appending them to the end of said second modified packet to create said third modified packet; parsing said third modified packet into an integer number of sequential 48 byte ATM cell payload sections and using said virtual link identifier assigned to the destination address of said packet in the address space of said second network and auxiliary data regarding which of said 48 byte ATM cell payload section so generated contains the last bytes of said third modified packet to generate standard 5 byte ATM cell headers and appending said standard 5 byte ATM cell headers to each 48 byte ATM cell payload section, the header of the last ATM cell made from said third modified packet including data in a PTI field thereof indicating that it is the last cell included within said third modified packet, and the header of each ATM cell including VPI/VCI fields that contain virtual link identifier data; transmitting said ATM cells to a formatting process; in said formatting process, optimizing the header of each ATM cell by stripping off all header information except 2 8-bit bytes from the VPI/VCI fields of each header to leave 50 8-bit byte cells, and adding a 9th bit to each of the 50 8-bit bytes of each cell; encoding a first predetermined plurality of said 9th bits of each cell with at least the last cell information formerly contained in the PTI field of its 5 byte header before optimization and encoding a second predetermined plurality of said 9th bits of each cell with a start code by which the RU receiver can locate the start of each ATM cell thereby generating a plurality of optimized downstream ATM cells; parsing said optimized downstream ATM cells into sequential individual 9-bit bytes and using said 9-bit bytes to modulate one or more RF carriers, and transmitting said modulated RF carriers to all said remote units; in each remote unit; receiving said modulated RF signals in each remote unit and recovering said 9-bit bytes transmitted by said central unit; reassembling said optimized downstream ATM cells by locating each optimized downstream ATM cell boundary by finding said start codes encoded in said 9th bits; examining 2-byte headers of each optimized downstream ATM cell and discarding any cells that are not addressed to this remote unit; using the remaining optimized downstream ATM cells to reassemble packets having the same structure and content as the third modified packets from which said optimized downstream ATM cells were generated by finding the boundaries of said third packet by locating in said optimized downstream ATM cells said predetermined unique marker bits and said last cell information; using said error detection bits to error check said third modified packet; and if the packet has no errors, retrieving said third modified packet, stripping off said predetermined unique marker bits and sending the remainder as a LAN packet on said second network to the destination node coupled thereto identified by the destination address data in said address space of said second network included in said second network header.
-
-
8. A method for transmitting data upstream from a plurality of customer premises equipment cable data modems (hereafter RUs or remote units), each RU coupled to one or more sources of data, said RUs coupled to a head end cable data modem (hereafter CU) over a transmission media, said CU coupled to a router, said upstream data transmission accomplished using an ATM protocol and synchronous code division multiple access (hereafter SCDMA), comprising:
-
at each RU; receiving a plurality of LAN packets from said one or more sources; adding predetermined LAN packet identifier bits identifying the packet as an LAN packet to the front of each said LAN packet; computing CRC bits on each LAN packet and appending them to the end of each said LAN packet; adding a sufficient number of pad bits to each LAN packet prior to calculation of said CRC bits so as to make the total number of bits in said packet, counting said predetermined bits added to the front of each packet, the packet itself, said CRC bits and said pad bits, equal to an integer number of cells, each cell comprised of 48 8-bit bytes, and inserting said pad bits into each said LAN packet just preceding said CRC bits to turn each LAN packet into an AAL5 sequence packet; segmenting each AAL5 sequence packet into one or more optimized upstream ATM cell payloads, each optimized upstream ATM cell payload comprising 48 8-bit bytes; adding a 9th bit to each of said 48 8-bit bytes in each ATM cell payload to generate an optimized upstream ATM cell, and encoding a first predetermined plurality of 9th bits of each optimized upstream ATM cell with last cell data which defines whether the cell is a normal cell, an idle cell for which the payload may be discarded or is the last cell in the AAL5 sequence packet, and encoding a second predetermined plurality of said 9th bits with a unique start card by which the start of each optimized upstream ATM cell can be determined; transmitting the optimized upstream ATM cells as a Utopia TDM stream to a formatter; receiving at said formatter timeslot information for a frame in a virtual link assigned to this RU, said virtual link established using one or more CDMA spreading codes assigned to encoding data to be transmitted by this RU over the virtual link assigned thereto, said timeslot information defining the timeslots assigned to this RU for transmission of data during said frame; receiving said Utopia TDM stream of optimized upstream ATM cells, and parsing each optimized upstream ATM cell into smaller groups of sequential 9-bit bytes, one group per frame, the number of 9-bit bytes in each group being equal in number to the number of timeslots assigned to this RU'"'"'s virtual link for the frame corresponding to said group; transmitting each said group to a synchronous code division multiple access (hereafter SCDMA) transmitter in said RU as a first TDM stream with one group per frame, said first TDM stream having a plurality of timeslots and comprising one of said 9-bit bytes from said smaller group transmitted to said SCDMA transmitter in one of said timeslots assigned to this RU'"'"'s virtual link during; receiving at said SCDMA transmitter the 9-bit bytes in the timeslots assigned to this RU in a frame, and spreading the spectrum thereof using spreading codes assigned to this RU'"'"'s virtual link for said frame to generate spread spectrum data, and modulating said spread spectrum data onto one or more carriers and transmitting the resulting modulated carrier(s) to said CU; and, at the CU; receiving the modulated carrier(s) and recovering the the 9-bit bytes that were sent by said RU and using said recovered 9-bit bytes to generate a second TDM stream which is a copy of said first TDM stream by having timeslots which correspond in number and assignment to various RU virtual links to the number and virtual link assignments of timeslots in said first TDM stream, and placing said 9-bit bytes transmitted by said RU into the same timeslots in said second TDM stream they were in within said first TDM stream; reconstructing an optimized upstream ATM cells comprised of 48 9-bit bytes transmitted from said RU by collecting 9-bit bytes from the timeslots of said second TDM stream assigned in each frame to said RU and determining from said second plurality of 9th bits of the collected 9-bit bytes with which of said collected 9-bit bytes the 48 9-bit byte optimized upstream ATM cell starts and then, starting from that byte, concatenating 48 9-bit bytes from the collected 9-bit bytes in the same sequence in which they were sent by said RU in said first TDM stream to said SCDMA transmitter in said RU and repeating this process for all 48 9-bit byte optimized upstream ATM cells sent by said RU; and using information derived from which timeslots in said second TDM stream in which the 9-bit bytes of each optimized upstream ATM cell arrived to determine the logical channel in which each ATM cell was transmitted and using the logical channel information and the information encoded into said first plurality of 9th bits to reconstruct a standard 5 byte ATM cell header for each optimized 48 9-bit byte upstream ATM cell to generate 53 byte upstream ATM cells; stripping off said 9th bits of each said 53 byte upstream ATM cell to generate standard 53 8-bit byte ATM cells, and transmitting said standard 53 8-bit byte ATM cells to a SAR process; in said router; reconstructing AAL5 sequence packets by locating the packet boundaries by locating the 53 8-bit byte ATM cell which contains said predetermined LAN packet identifier bits and the 53 8-bit byte ATM cell indicated by its PTI field to be the last cell in said AAL5 sequence packet, and reconstructing said AAL5 sequence packet using these two ATM cells as the first and last groups of bytes in said AAL5 sequence packet after stripping off the 5 bytes of header information in each cell and using the sequence of all the 53 8-bit byte ATM cells between these first and last cells, minus the 5 byte header information of these middle cells, to comprise the middle portion of said packet; using CRC bits in said AAL5 sequence packet to error check said packet and, if there are no errors, stripping off said predetermined LAN packet identifier bits, said CRC bits and said pad bits to leave a packet with an LAN header, an IP header and a payload, and transmitting said packet to a routing process.
-
-
9. A method for transmitting data upstream from a plurality of customer premises equipment cable data modems (hereafter RUs or remote units), each RU coupled to one or more sources of data, said RUs coupled to a head end cable data modem (hereafter CU) over a transmission media, said upstream data transmission accomplished using an ATM protocol and synchronous code division multiple access (hereafter SCDMA), comprising:
-
at each RU; receiving a plurality of Ethernet packets from said one or more sources; adding predetermined Ethernet packet identifier bits identifying the packet as an Ethernet packet to the front of each said Ethernet packet; adding a sufficient number of pad bits to each Ethernet packet prior to calculation of a predetermined number of CRC bits so as to make the total number of bits in said packet, counting said predetermined bits added to the front of each packet, the packet itself, said CRC bits and said pad bits, equal to an integer number of cells, each cell comprised of 48 8-bit bytes, and inserting said pad bits into each said Ethernet packet just preceding the spot where said CRC bits will be included so as to turn each Ethernet packet into an AAL5 sequence packet; computing said CRC bits on each Ethernet packet and appending them to the end of each said Ethernet packet; segmenting each AAL5 sequence packet into one or more optimized upstream ATM cell payloads, each optimized upstream ATM cell payload comprising 48 8-bit bytes; adding a 9th bit to each of said 48 8-bit bytes in each ATM cell payload to generate an optimized upstream ATM cell, and encoding a first predetermined plurality of 9th bits of each optimized upstream ATM cell with last cell data which defines whether the cell is a normal cell, an idle cell for which the payload may be discarded or is the last cell in the AAL5 sequence packet, and encoding a second predetermined plurality of said 9th bits with a unique start card by which the start of each optimized upstream ATM cell can be determined; transmitting the optimized upstream ATM cells as a Utopia TDM stream to a formatter; receiving at said formatter timeslot information for a frame in a virtual link assigned to this RU, said virtual link established using one or more CDMA spreading codes assigned to encoding data to be transmitted by this RU over the virtual link assigned thereto, said timeslot information defining the timeslots assigned to this RU for transmission of data during said frame; receiving said Utopia TDM stream of optimized upstream ATM cells, and parsing each optimized upstream ATM cell into smaller groups of sequential 9-bit bytes, one group per frame, the number of 9-bit bytes in each group being equal in number to the number of timeslots assigned to this RU'"'"'s virtual link for the frame corresponding to said group; transmitting each said group to a synchronous code division multiple access (hereafter SCDMA) transmitter in said RU as a first TDM stream with one group per frame, said first TDM stream having a plurality of timeslots and comprising one of said 9-bit bytes from said smaller group transmitted to said SCDMA transmitter in one of said timeslots assigned to this RU'"'"'s virtual link during; receiving at said SCDMA transmitter the 9-bit bytes in the timeslots assigned to this RU in a frame, and spreading the spectrum thereof using spreading codes assigned to this RU'"'"'s virtual link for said frame to generate spread spectrum data, and modulating said spread spectrum data onto one or more carriers and transmitting the resulting modulated carrier(s) to said CU; and, at the CU; receiving the modulated carrier(s) and recovering the the 9-bit bytes that were sent by said RU and using said recovered 9-bit bytes to generate a second TDM stream which is a copy of said first TDM stream by having timeslots which correspond in number and assignment to various RU virtual links to the number and virtual link assignments of timeslots in said first TDM stream, and placing said 9-bit bytes transmitted by said RU into the same timeslots in said second TDM stream they were in within said first TDM stream; reconstructing an optimized upstream ATM cells comprised of 48 9-bit bytes transmitted from said RU by collecting 9-bit bytes from the timeslots of said second TDM stream assigned in each frame to said RU and determining from said second plurality of 9th bits of the collected 9-bit bytes with which of said collected 9-bit bytes the 48 9-bit byte optimized upstream ATM cell starts and then, starting from that byte, concatenating 48 9-bit bytes from the collected 9-bit bytes in the same sequence in which they were sent by said RU in said first TDM stream to said SCDMA transmitter in said RU and repeating this process for all 48 9-bit byte optimized upstream ATM cells sent by said RU; and using information derived from which timeslots in said second TDM stream in which the 9-bit bytes of each optimized upstream ATM cell arrived to determine the logical channel in which each ATM cell was transmitted and using the logical channel information and the information encoded into said first plurality of 9th bits to reconstruct a standard 5 byte ATM cell header for each optimized 48 9-bit byte upstream ATM cell to generate 53 byte upstream ATM cells; stripping off said 9th bits of each said 53 byte upstream ATM cell to generate standard 53 8-bit byte ATM cells, and transmitting said standard 53 8-bit byte ATM cells to a SAR process; reconstructing AAL5 sequence packets by locating the packet boundaries by locating the 53 8-bit byte ATM cell which contains said predetermined Ethernet packet identifier bits and the 53 8-bit byte ATM cell indicated by its PTI field to be the last cell in said AAL5 sequence packet, and reconstructing said AAL5 sequence packet using these two ATM cells as the first and last groups of bytes in said AAL5 sequence packet after stripping off the 5 bytes of header information in each cell and using the sequence of all the 53 8-bit byte ATM cells between these first and last cells, minus the 5 byte header information of these middle cells, to comprise the middle portion of said packet; using CRC bits in said AAL5 sequence packet to error check said packet and, if there are no errors, stripping off said predetermined Ethernet packet identifier bits, said CRC bits and said pad bits to leave a packet with an Ethernet header, an IP header and a payload, and transmitting said packet to a routing process.
-
-
10. An apparatus comprising a CU modem for communicating data downstream to a plurality of distributed RU modems over a shared transmission media, comprising:
-
an interface circuit for interfacing to the networks or circuitry of various service providers or wide area networks or both to receive inbound packets having therein destination address data therein indicating the specific RU modem or a device coupled to said specific RU modem directly or by a local area network to which the packet is directed, each said RU modem or device coupled thereto having its own destination address, and adding bits to said inbound packet that at least identify said destination address and adding unique marker bits that identify the start of said packet to generate a modified packet; a segmentation and reassembly circuit for repacketizing said modified packets received from said interface circuit as ATM cells and encoding each ATM cell with data which indicates which ATM cell is the last cell in said inbound packet and identifying the destination address of the device to which the ATM cell is directed or a logical channel assigned to said RU modem to which said ATM cell is directed in order to get to the destination address identified by said bits added by said interface circuit; a formatter circuit for encoding said ATM cells with data marking the start and end of predetermined data in each ATM cell and parsing the ATM cells so modified into smaller bit groups; a head end cable modem for receiving said smaller bit groups and transmitting them to all said RU modems over a transmission media shared by all said RU modems and said CU modem using any transmitter capable of transmitting digital data modulated onto one or more radio frequency carriers. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A system for communicating data from packets received by a CU modem from service providers to a plurality of RU modems in a distributed system, comprising:
-
a CU modem comprising; an interface circuit for interfacing to the networks or circuitry of various service providers or wide area networks or both to receive inbound IP protocol packets having therein IP destination address data therein indicating the specific RU modem or a device coupled to said specific RU modem directly or by a local area network to which the packet is directed, each said RU modem or device coupled thereto having its own destination address in the IP address space, and looking up an Ethernet destination address in an address space of a local area network coupled to said RU modem to which said IP packet is directed and adding bits to said IP packet that at least identify said Ethernet destination address and adding RFC 1483 bits that identify the start of said Ethernet address added to said IP packet to generate a first modified packet; a segmentation and reassembly circuit for adding CRC bits and pad bits to said first modified packet to generate an AAL5 packet for each first modified packet, and then repacketizing each of said AAL5 packets as ATM cells and encoding each ATM cell with data which indicates which ATM cell is the last cell in said inbound packet and identifying a logical channel assigned to said RU modem to which each ATM cell is directed; a formatter circuit for encoding said ATM cells with data marking the start and end of predetermined data in each ATM cell and parsing the ATM cells so modified into smaller bit groups; a head end cable modem for receiving said smaller bit groups and transmitting them to all said RU modems over a transmission media shared by all said RU modems and said CU modem using any transmitter capable of transmitting digital data modulated onto one or more radio frequency carriers; and
a plurality of RU modems coupled to said CU modem by a shared transmission media,each said RU modem comprising; a receiver for receiving radio frequency signals transmitted by said CU modem and demodulating and detecting the digital data contained therein to generate an output digital data stream comprised of said smaller bit groups, each in a separate timeslot; a formatter circuit for receiving said smaller bit groups and finding ATM cell boundaries therein by looking for said data marking the start and end of said predetermined data where said predetermined data includes at least said payload bytes in each ATM cell and reassembles said ATM cells and for examining the destination address or logical channel identifier in the header data of each ATM cell and discarding any ATM cell not directed to said RU modem; a segmentation and reassembly circuit for receiving any ATM cells not discarded by said formatter circuit, and functioning to reassemble said AAL5 packets generated by said segmentation and reassembly circuit in said CU modem and error checking said AAL5 packet using said CRC bits therein and discarding any AAL5 packet in which an error has occurred, and, if no errors occurred, stripping said pad bits and CRC bits from said AAL5 packet and stripping the header information from each ATM cell and concatenating all the payload sections of the ATM cells which formed part of said AAL5 packet to generate a reconstructed AAL5 packet without said pad bits or CRC bits; and an Ethernet controller for transmitting each reconstructed AAL5 packet on an Ethernet local area network coupled to said RU modem.
-
-
28. An RU modem for transmitting data upstream to a single CU modem using ATM cells in a distributed system have a plurality of RU modems where more than one RU modem can simultaneously transmit to said CU modem, comprising:
-
an Ethernet controller for coupling to peripheral devices through an Ethernet local area network to receive IP packets that have an Ethernet address added thereto to generate modified packets; a segmentation and reassembly circuit for receiving said modified packets and adding RFC 1483 bits to mark the start of said Ethernet packet and adding pad bits and error check bits to the end of said modified packet to generate an AAL5 packet, and further functioning to parse the AAL5 packet into multiple 48 byte ATM cells payload sections starting with the RFC 1483 bits and ending with the error check bits, and generating and adding a 5-byte header to each 48 byte ATM payload section to generate an ATM cell and including data identifying the virtual link assigned to said RU modem to the VPI/VCI field of each ATM cell header and putting data into the PTI field of the header of the last ATM cell parsed out of each AAL5 packet to identify it as the last cell and calculating error check bits on each said header and including them within a HEC field in each header; a formatter for receiving said ATM cells and encoding them with data to identify the start of each ATM cell and to indicate which ATM cell is the last ATM cell parsed out of each said AAL5 packet and whether each cell is an idle cell or a normal cell, and using said virtual link identifier to identify timeslots assigned to a logical channel or virtual link assigned to said RU modem, and stripping the 5-byte header from each said ATM cell and parsing each payload section of an ATM cell into smaller bit groups and placing said smaller bit groups into the one or more of said timeslots assigned to said logical channel assigned to said RU modem on a TDMA bus; and an SCDMA transmitter coupled to receive said smaller bit groups from the timeslots of said TDMA bus and spread the spectrum thereof using one or more spreading codes assigned to said logical channel and use the resulting data to modulate one or more radio frequency carriers which are transmitted to said CU modem. - View Dependent Claims (29, 30)
-
-
31. An RU modem for transmitting data upstream to a single CU modem using ATM cells in a distributed system have a plurality of RU modems where more than one RU modem can simultaneously transmit to said CU modem, comprising:
-
means for coupling to peripheral devices through a local area network to receive IP packets that have a local area network address added thereto to generate a modified packet; means for receiving said modified packets and adding unique bits to mark the start of each said modified packet and adding pad bits and error check bits to the end of the modified packet to generate a second modified packet, and further functioning to parse the second modified packet into multiple ATM cells payload sections starting with the unique marker bits and ending with the error check bits, and generating and adding a header to each ATM cell payload section to generate an ATM cell said header including data identifying the virtual link assigned to said RU modem and putting data into said header of the last ATM cell parsed out of each second modified packet to identify it as the last cell and calculating error check bits on each said header and including them within said header; means for receiving said ATM cells and encoding them with data to identify the start of each ATM cell and to indicate which ATM cell is the last ATM cell parsed out of each said second modified packet and whether each ATM cell is an idle cell or a normal cell, and using said virtual link identifier to identify timeslots assigned to a logical channel or virtual link assigned to said RU modem, and stripping said header from each ATM cell, and parsing each payload section of an ATM cell into smaller bit groups, and placing said smaller bit groups into the one or more timeslots assigned to said logical channel assigned to said RU modem on a TDMA bus; and means coupled to receive said smaller bit groups and spread the spectrum thereof using one or more spreading codes assigned to said logical channel and use the resulting data to modulate one or more radio frequency carriers which are transmitted to said CU modem. - View Dependent Claims (32, 33)
-
-
34. A system for transmitting data upstream to a single CU modem using ATM cells in a distributed system have a plurality of RU modems where more than one RU modem can simultaneously transmit to said CU modem, comprising:
-
each RU modem comprising; means for coupling to peripheral devices through a local area network to receive IP packets that have a local area network address added thereto to generate a modified packet; means for receiving said modified packets and adding unique bits to mark the start of each said modified packet and adding pad bits and error check bits to the end of the modified packet to generate a second modified packet, and further functioning to parse the second modified packet into multiple ATM cells payload sections starting with the unique marker bits and ending with the error check bits, and generating and adding a header to each ATM cell payload section to generate an ATM cell said header including data identifying the virtual link assigned to said RU modem and putting data into said header of the last ATM cell parsed out of each second modified packet to identify it as the last cell and calculating error check bits on each said header and including them within said header; means for receiving said ATM cells and encoding them with data to identify the start of each ATM cell and to indicate which ATM cell is the last ATM cell parsed out of each said second modified packet and whether each ATM cell is an idle cell or a normal cell, and using said virtual link identifier to identify timeslots assigned to a logical channel or virtual link assigned to said RU modem, and stripping said header from each ATM cell, and parsing each payload section of an ATM cell into smaller bit groups, and placing said smaller bit groups into the one or more timeslots assigned to said logical channel assigned to said RU modem on a TDMA bus; and means coupled to receive said smaller bit groups and spread the spectrum thereof using one or more spreading codes assigned to said logical channel and use the resulting data to modulate one or more radio frequency carriers which are transmitted to said CU modem; and a CU modem comprising; an SCDMA receiver means for receiving transmissions from all said RU modems and recovering the smaller bit groups transmitted in each logical channel and place said recovered smaller bit groups transmitted in each logical channel into timeslots on a TDMA bus assigned to said logical channel; a means for demultiplexing the TDMA multiplexed smaller bits groups and reassembling said ATM cell payload sections therefrom and storing each ATM cell payload section in a portion of an ATM cell buffer devoted to the RU modem from which they came using the timeslot number(s) from which the smaller bit groups used to reassemble each ATM cell came to determine which portion of said buffer to store each ATM cell in; means for retrieving said ATM cell payload sections from said cell buffer and generating a header using information derived from the timeslots in which the data that makes up each ATM cell payload section arrived or the portion of said cell buffer in which each ATM cell payload section is stored and appending to each cell payload section the header so generated to form an ATM cell; means for receiving each said ATM cell, error checking the header thereof, stripping the header while retaining the last cell and logical channel information and reconstructing a second modified packet by concatenating ATM cell payload sections and using said last cell data to determine the last payload section to add to each reconstructed packet and adding unique marker bits to mark the start of said second modified packet, and checking second modified packet for errors using error check bits in at least one of said payload sections which were concatenated, and stripping unique marker bits and error check bits and any pad bits and sending the remainder of said packet as an IP packet to a router function for transmission to the destination address on said wide area network identified in said IP packet.
-
-
35. A process carried out in a distributed system comprised of a CU modem coupled by a shared transmission media to a plurality of RU modems each of which has a logical channel assigned thereto, comprising:
-
receiving a wide area network packet having a wide area network address addressed to a particular RU modem and looking up a local area network address that corresponds to said wide area network address and adding said local area network address to said wide area network packet and adding marker bits to mark the start of said packet to create a modified packet; converting said modified packet to ATM cells with headers identifying the logical channel of the RU modem to which each ATM cell is addressed; breaking said ATM cells into smaller bit groups; transmitting said smaller bit groups downstream to all said RU modems by modulating them onto one or more radio frequency carriers; in each RU modem, recovering the smaller bit groups and reassembling the ATM cells and discarding the ATM cells with headers having logical channel identifiers therein which do not match the logical channel number of the RU modem; reassembling a LAN packet suitable for transmission on said local area network from said retained ATM cells and transmitting said LAN packet to the device to which it is addressed over a local area network coupling said RU modem to said device.
-
-
36. A process carried out in a distributed system comprised of a CU modem coupled by a shared transmission media to a plurality of RU modems each of which has a logical channel assigned thereto, comprising:
-
receiving a wide area network packet which has had a local area network address added thereto at an RU modem and appending unique marker bits to mark the start of said packet and error check bits to generate a modified packet; parsing said modified packet into ATM cell payload sections and adding a header to each payload section which includes the virtual link identifier assigned to said RU modem and data identifying which ATM cell payload section was the last parsed from said second modified packet; stripping the header from each ATM cell but retaining the virtual link and last cell information and adding data to said ATM cells to mark the start of each payload section and the last ATM cell parsed from said second modified packet to generate optimized upstream ATM cells; parsing said optimized upstream ATM cells into smaller bit groups and placing them in timeslots assigned to the virtual link of said RU modem; receiving the smaller bit groups from the timeslots assigned to the virtual link assigned to the RU modem and spreading the spectrum thereof with orthogonal spreading codes assigned to said virtual link; using the spread spectrum data to modulate one or more radio frequency carriers and transmitting said modulated carriers to said CU modem; in said CU modem, recovering the smaller bit groups and placing them into a timeslots corresponding to the virtual link on which they were transmitted and reassembling said optimized upstream ATM cells and using timeslot data to define the memory portion where said optimized upstream ATM cells are stored; regenerating a header for each optimized upstream ATM cell stored in said memory using the timeslot information to define logical channel data included in said header; finding packet boundaries and reassembling said modified packet and error checking it using said error check bits in said modified packet; and stripping off unique marker bits and error check bits and transmitting resulting wide area network packet onto a wide area network.
-
Specification