Multiplex communications – Communication over free space – Combining or distributing information via time channels
Reexamination Certificate
1996-10-09
2001-01-09
Ton, Dang (Department: 2732)
Multiplex communications
Communication over free space
Combining or distributing information via time channels
C370S465000
Reexamination Certificate
active
06172972
ABSTRACT:
TECHNICAL FIELD
This invention relates to methods for sending computer network data, and particularly Internet Protocol (IP) data, over a satellite network. This invention also relates to a multi-packet transport structure that supports network data in packet sizes suitable for transmission over the satellite network, as well as other types of networks.
BACKGROUND OF THE INVENTION
Conventional satellite systems transmit data in standard size digital packets. As an example, one satellite network, referred to as the “digital satellite system” or “DSS” network, transmits data in 147-byte packets.
FIG. 1
shows a conventional DSS data packet
20
. It has a three-byte header
22
, a 127-byte payload
24
, and a 17-byte trailer
26
. The header
22
contains four flag bits, twelve addressing bits for the service channel identification number (SCID), four sequence bits, and four type bits. The payload
24
holds the actual data being transmitted. Trailer
26
contains forward error correction (FEC) information to help verify whether the packets are transmitted error free.
The data contained in each digital satellite packet resides in the 127-byte payload
24
. One common use of DSS packets is to carry video and audio signals, such as those used in satellite-based television. Video and audio signals require continuous streaming of data at a particular rate to produce an even, uninterrupted presentation of images and sounds. To convert the continuous data stream into individual packets, the data stream is broken into equal-size blocks of 127 bytes. Each block is inserted into a payload
24
of a DSS packet
20
. The individual packets are then transmitted over the satellite system to a user's residence. The data segments are extracted from the DSS packets and used to reconstruct the continuous data stream. These steps of packeting, transmitting, receiving, and reconstructing are carried out at a sufficiently high rate to enable the video/audio signals to be played in real time at the receiver's residence.
Within the networking community, data is likewise carried over data networks such as LANs (local area networks) and WANs (wide area networks) in discrete digital packets. One common and widely used type of network data is called Internet Protocol (IP) data. IP data defines a standard format for carrying data over essentially any underlying network, including the Ethernet and the Internet. The IP standard defines a packet used to encapsulate the data. The IP data is always encapsulated in this packet, regardless of the transmission network, enabling it to be carried over many different networks.
Conventional network data is typically encapsulated in packets that are much larger than 127 bytes. This presents a problem for satellite transmission because the size of a network data packet exceeds the payload size of a satellite packet, such as the 127-byte payload of DSS packet
20
. Moreover, the size of the network data packet can vary dramatically. Hence, defining a formula for converting one type of packet directly to another type of packet is not particularly useful. The same problem persists for other network data formats in addition to IP and other satellite formats in addition to DSS.
It would be beneficial to provide a transport layer that enables variable-length network data packets to be carried in fixed-size satellite packet, as well as other types of network packets.
Another issue concerns use of the data after it is transmitted over the satellite network. Computer applications use standard sets of Application Programming Interfaces (APIs) to transmit and receive data over networks and over the Internet. For example, applications designed to run on Windows®-based operating systems employ a standard set of APIs that are defined in the Windows Sockets Specification, a well known specification. These APIs have been defined by industry committees and are widely in use. The Sockets APIs provide a network independent way to send and receive data, no matter what the underlying computer network (e.g., Ethernet, asynchronous transfer mode (ATM), etc.). Computer applications do not need to be specially written to receive data from a particular network. Instead, a developer writes code for an application that interfaces to the Windows® Sockets API, enabling the application to send and receive data over a number of different networks supported by the computer's hardware.
It would be beneficial to devise a technique to repackage a network data packet, such as an IP data packet, into a format for compatible transmission over a satellite or other network system without losing the identify of the IP data packet. In this manner, the network data packet can be used by the computer application through a standard set of existing APIs, rather than through proprietary or non-standard functions known only to single monolithic client applications.
SUMMARY OF THE INVENTION
One aspect of this invention concerns a method for encoding network data, such as Internet Protocol (IP) data, into a format for transmission over a satellite system. The network data is configured in a packet having a data block and header information. As an example, an IP packet has a variable-length data block consisting of the IP data and a fixed-length header containing the IP header and a UDP (User Datagram Protocol) header.
According to the method, the network data packet is encoded into a variable-length multi-packet transport (MPT) frame. The MPT frame comprises a data frame and header information. The IP packet is inserted in its entirety into the data frame of the MPT frame.
The variable-length MTP frame is then encoded into one or more fixed-length MTP packets. Each MPT packet has a data fragment block comprising 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. In one implementation, the MPT packet header is a one-byte header which includes a start-of-frame bit and an end-of-frame bit. These two bits designate whether the data contained in the associated data fragment block of the MTP packet is the starting portion of the MPT frame, the ending portion of the MPT frame, or a middle portion of the MPT frame. More particularly, the start-of-frame bit is set if the data fragment block contains the starting portion of the MTP frame. The end-of-frame bit is set if the data fragment block contains the ending portion of the MTP frame. Both bits are reset if the associated data fragment block contains the middle portion of the MPT frame. In this manner, the header information helps re-assembly of the data fragments into the MPT frame.
The MPT packets are a size appropriate for transmission over the satellite system. In one implementation, the MPT packets are sized to 127 bytes. At this size, the entire MPT packet is embedded into the 127-byte payload of a conventional 147-byte DSS packet.
Using this method, data received over a data network (i.e., Ethernet or Internet) in large network data packets are broken into smaller packets defined by the multi-packet transport. These packets are then placed as the data payload within standard, fixed-size packets suitable for transmission across a particular distribution medium, such as the DSS network. The network data remains independent of the underlying network and can be easily extracted at the receiver for use by computer applications.
According to another aspect, a method for decoding computer network data from a satellite transmission signal is described. The satellite packets are received at a user-based receiving unit. The data payloads are removed from the satellite packets. Each data payload has the fixed-length multi-packet transport (MPT) packet, which comprises the data fragment block and associated header information. The decoding unit uses the header information of the MPT packet to arrange the MPT packets into a variable-length MPT frame. The MPT frame is then reconstructed from the data fragment blocks of the MPT packets and the network data is extracted from th
Birdwell Kenneth J.
Feinleib David
Moran Brian
Lee & Hayes PLLC
Microsoft Corporation
Ton Dang
LandOfFree
Multi-packet transport structure and method for sending... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Multi-packet transport structure and method for sending..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Multi-packet transport structure and method for sending... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2462495