Claims
- 1. A method for encoding Internet Protocol (IP) data into a format for transmission over a satellite system, comprising the following steps:
receiving an IP packet having an IP data block and header information; encoding the IP packet into a variable-length multi-packet transport (MPT) frame having a data frame and header information so that the data frame of the multi-packet frame comprises the IP packet; and encoding the variable-length MTP frame into one or more fixed-length MTP packets, each MPT packet having a data fragment block comprising at least a portion of the MTP frame and associated header information to designate what portion of the MTP frame is contained in the data fragment block.
- 2. A method as recited in claim 1, wherein the header information of each MPT packet designates whether the data contained in the associated data fragment block is from a starting portion of the MPT frame, an ending portion of the MPT frame, or a middle portion of the MPT frame.
- 3. A method as recited in claim 2, wherein the header information of each MPT packet comprises a one-byte header having a start-of-frame bit which is set if the data contained in the associated data fragment block of the MTP packet comprises the starting portion of the MTP frame and an end-of-frame bit which is set if the data contained in the associated data fragment block of the MTP packet comprises the ending portion of the MTP frame, the start-of-frame and end-of-frame bits both being reset if the data contained in the associated data fragment block of the MTP packet comprises the middle portion of the MPT frame.
- 4. A method as recited in claim 2, wherein the header information of each MPT packet comprises a multi-byte address in an event that the data contained in the associated data fragment block is the starting portion of the MPT frame.
- 5. A method as recited in claim 1, further comprising the step of calculating error correction information for the one or more MPT packets.
- 6. A method as recited in claim 5, further comprising the step of attaching the error correction information to one of the MPT packets.
- 7. A method as recited in claim 1, further comprising the step of adding a header including an address and a trailer with error correction information to each fixed-length MPT packet to form satellite-transmittable packets.
- 8. A method as recited in claim 7, fuirther comprising the step of transmitting the satellite-transmittable packets.
- 9. A transmission medium carrying the MPT packet embedded satellite-transmittable packets constructed and transmitted according to the steps in the method as recited in claim 8.
- 10. A storage medium storing the MPT frame and MPT packets constructed according to the steps in the method as recited in claim 1.
- 11. A computer programmed to perform the steps of the method as recited in claim 1.
- 12. A computer-readable memory which directs a computer to perform the steps of the method as recited in claim 1.
- 13. A method for encoding Internet Protocol (IP) data into a format for transmission over a satellite system, comprising the following steps:
receiving an IP packet having an N-byte IP data block, an A-byte transport protocol header, and a B-byte IP header; constructing a variable-length multi-packet transport (MPT) frame having an M-byte data payload and a C-byte header; inserting the entire (N+A+B)-byte IP packet into the M-byte data payload of the MPT frame; and constructing from the (M+C)-byte MPT frame one or more fixed-size multi-byte MPT packets, each MPT packet having at least one header to designate what portion of the MTP frame is contained in the MPT packet.
- 14. A method as recited in claim 13, further comprising the step of calculating error correction information for the one or more MPT packets.
- 15. A method as recited in claim 14, further comprising the step of attaching the error correction information as a multi-byte trailer to one of the MPT packets.
- 16. A method as recited in claim 13, further comprising the step of transmitting the MPT packets.
- 17. A storage medium storing the variable-length data group packet constructed according to the steps in the method as recited in claim 13.
- 18. A computer programmed to perform the steps of the method as recited in claim 13.
- 19. A computer-readable memory which directs a computer to perform the steps of the method as recited in claim 13.
- 20. A method for encoding network data packets into a format for transmission over a distribution system, comprising the following steps:
adding a header to a network data packet to form a variable-length multi-packet transport (MPT) frame; and segmenting the MPT frame into one or more data fragment blocks; and adding a header to each data fragment block to form fixed-length MPT packets of a size appropriate for transmission over the distribution system.
- 21. A method as recited in claim 20, wherein the header of each MPT packet designates whether the data contained in the associated data fragment block is from a starting portion of the MPT frame, an ending portion of the MPT frame, or a middle portion of the MPT frame.
- 22. A method as recited in claim 20, wherein the header of each MPT packet comprises a one-byte header having a start-of-frame bit which is set if the data contained in the associated data fragment block of the MTP packet comprises the starting portion of the MTP frame and an end-of-frame bit which is set if the data contained in the associated data fragment block of the MTP packet comprises the ending portion of the MTP frame, the start-of-frame and end-of-frame bits both being reset if the data contained in the associated data fragment block of the MTP packet comprises the middle portion of the MPT frame.
- 23. A method as recited in claim 20, further comprising the step of adding padding bits as a trailer to the network data packet to form the MPT frame.
- 24. A method as recited in claim 20, wherein the step of adding a header comprises the step of adding a header which designates what portion of the MTP frame is contained in the data fragment block.
- 25. A method as recited in claim 20, further comprising the step of adding an address to a first data fragment block.
- 26. A method as recited in claim 20, further comprising the step of calculating error correction information for the MPT packets.
- 27. A method as recited in claim 26, further comprising the step of attaching the error correction information to one of the MPT packets.
- 28. A method as recited in claim 20, further comprising the step of adding a header including an address and a trailer with error correction information to each fixed-length MPT packet to form satellite-transmittable packets.
- 29. A method as recited in claim 28, further comprising the step of transmitting the satellite-transmittable packets over a satellite distribution system.
- 30. A storage medium storing the MPT frame and MPT packets constructed according to the steps in the method as recited in claim 20.
- 31. A computer programmed to perform the steps of the method as recited in claim 20.
- 32. A computer-readable memory which directs a computer to perform the steps of the method as recited in claim 20.
- 33. A method for decoding computer network data from a satellite transmission signal, comprising the following steps:
receiving multiple satellite packets, individual satellite packets having a data payload; removing the data payloads from the satellite packets, each data payload comprising a fixed-length multi-packet transport (MPT) packet having a data fragment block and associated header information; using the header information of the MPT packet to arrange the MPT packets into a variable-length MPT frame; reconstructing the MPT frame from the data fragment blocks of the MPT packets; and extracting the network data from the reconstructed MPT frame.
- 34. A storage medium storing the MPT packets and the MPT frame recovered according to the steps in the method as recited in claim 33.
- 35. A computer programmed to perform the steps of the method as recited in claim 33.
- 36. A computer-readable memory which directs a computer to perform the steps of the method as recited in claim 33.
- 37. A satellite transmission system, comprising:
an encoding unit to encode a computer network data packet into one or more satellite packets, the encoding unit being configured to (1) add a header to the network data packet to form a variable-length multi-packet transport (MPT) frame, (2) segment the MPT frame into one or more data fragment blocks, (3) add a header to each data fragment block to form fixed-length MPT packets, and (4) add header/trailer information to each MPT packet to form one or more satellite packets; a satellite transmission unit coupled to receive the satellite packets from the encoding unit, the satellite transmission unit transmitting the satellite packets over a satellite network; a receiving unit to receive the satellite packets from the satellite network; and a decoding unit coupled to the receiving unit to recover the MPT packets from the satellite packets, reconstruct the MPT frame from the MPT packets, and extract the network data packet from the MPT frame.
- 38. An encoding unit for encoding network data packets into a format for transmission over a satellite system, comprising:
means for adding a header to a network data packet to form a variable-length multi-packet transport (MPT) frame; and means for segmenting the MPT frame into one or more data fragment blocks; and means for adding a header to each data fragment block to form fixed-length MPT packets of a size appropriate for transmission over the satellite system.
- 39. An encoding unit as recited in claim 38, wherein the header for the MPT packets designates what portion of the MTP frame is contained in the data fragment block.
- 40. An encoding unit as recited in claim 38, further comprising means for adding padding bits as a trailer to the network data packet to form the MPT frame.
- 41. An encoding unit as recited in claim 38, further comprising means for adding an address to a first data fragment block.
- 42. An encoding unit as recited in claim 38, further comprising means for calculating error correction information for the MPT packets and attaching the error correction information to one of the MPT packets.
- 43. An encoding unit as recited in claim 38, further comprising means for adding a header including an address and a trailer with error correction information to each MPT packet to form satellite-transmittable packets.
- 44. A receiving unit for decoding computer network data received as part of a Vertical Blanking Interval (VBI) of a broadcast video signal, comprising:
a receiver to receive multiple satellite packets, individual satellite packets having a data payload comprising a fixed-length multi-packet transport (MPT) packet, each MPT packet having a data fragment block and associated header information; a device driver coupled to the receiver; one of the receiver or device driver being configured to remove the MPT packets from the satellite packets and use the header information of the MPT packet to arrange the MPT packets into a variable-length MPT frame, said one of the receiver or device driver being further configured to reconstruct the MPT frame from the data fragment blocks of the MPT packets and extract the network data from the reconstructed MPT frame.
- 45. A computer-readable memory having a packet structure that can be encoded into a satellite data packet for transmission over a satellite network, the packet structure comprising:
a data block containing at least a portion of a computer network data packet; a header positioned before the data block, the header designating whether the portion of the network data packet contained in the associated data block is a starting portion of the network data packet, an ending portion of the network data packet, or a middle portion of the network data packet; in an event that the data block contains the starting portion of the network data packet, an address header positioned before the data block; and in an event that the data block contains the ending portion of the network data packet, an error correction trailer containing error correction data positioned after the data block.
- 46. A computer-readable memory as recited in claim 45, wherein the portion header is one byte, the address header is six bytes, and the error correction trailer is four bytes.
RELATED APPLICATION
[0001] This application is based on Provisional Application No. 60/018527, which was filed May 28, 1996, to which priority is claimed.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60018527 |
May 1996 |
US |
Continuations (1)
|
Number |
Date |
Country |
Parent |
08728066 |
Oct 1996 |
US |
Child |
09755877 |
Jan 2001 |
US |