A telecommunications system and method is disclosed for implementing a semi-reliable retransmission protocol that utilizes both selective repeat Automatic Repeat Request (ARQ) and segmentation and assembly of data packets. The new semi-reliable retransmission protocol includes a timer based triggering of a retransmission timeout for retransmission protocols, which allows the retransmission timeout to become insensitive to variations in the channel rate. In addition, the retransmission timeout can be defined based upon the maximum delay allowable for the retransmission of corrupted data packets over the air interface. For every data packet received a timer monitoring the transmission time of the data packet is initialized. If the timer elapses for the data packet this data packet is marked as discarded in the transmitter, and a request is sent to the receiver to ensure that transmissions carrying that data packet are discarded in the receiver.

1. Field of the Invention
The present invention relates generally to cellular telecommunications systems and methods for transmitting data packets between a transmitter and a receiver over an air interface, and specifically to providing reliable transmission of the data packets over the air interface.
2. Background and Objects of the Present Invention
There are many applications where large volumes of digital data must be transmitted and received in a substantially error free manner. In telecommunications and satellite communications systems, in particular, it is imperative that the transmission of digital data over the air interface be completed in as accurate a manner as is possible. Accurate transmission and reception of digital data has, however, been difficult because the communications channels utilized for data transmissions over the air interface are plagued by error introducing factors. For example, such errors may be attributable to transient conditions in the channel, such as noise and distortion, or they may be due to recurrent conditions attributable to defects in the channel. The existence of transient conditions or defects results in instances where the digital data is not transmitted properly or cannot be reliably received.
Digital data is often transmitted in packets (or blocks or frames), in which each packet includes a number of information bytes followed by a frame check sequence of bits. The errors that typically occur in the transmission and reception of digital data are of two types: xe2x80x9crandomxe2x80x9d channel errors and xe2x80x9cburstxe2x80x9d channel errors. Random channel errors occur when the value of a single bit has been altered, while burst channel errors occur when the values of a continuous sequence of adjacent bits have been altered. The frame check sequence included in each data packet is used to detect when and where a channel error has been introduced into the data packet.
Considerable attention has been directed toward discovering methods for addressing the problems concerning errors which typically accompany data transmission activities over the air interface. For example, two common techniques of error correction include Forward Error Correction (FEC) and Automatic Repeat Request (ARQ). The FEC error correction technique adds redundant information in the transmitter, which is used by the receiver to correct transmission errors, whereas in the (ARQ) error correction technique, the receiver requests retransmission of data packets not correctly received from the transmitter. Typically, a combination of FEC and ARQ techniques are applied to recover from transmission errors. The applied ratio of FEC verses ARQ depends upon the type of data being transmitted. For instance, real time data with strong requirements on small delay, such as voice, are normally carried with only FEC. On the other hand, for data with loose requirements with respect to delay, such as file transfers, usually a combination of FEC and ARQ is applied to maximize the probability of correct delivery.
When examining existing data applications, different needs of transmission reliability can be observed. For instance, a file transfer application needs a transmission with high reliability, whereas an application transferring information of more temporary importance may only need moderate transmission reliability. If the high reliability and moderate reliability applications are retransmitted the same number of times, the retransmission of the moderate reliability application may utilize the channel capacity needed for retransmission of more important data. In addition, in the Internet, there is an increasing amount of applications exchanging information of time bounded importance. Examples include stock quota broadcast applications and interactive video games, in which position updating data is exchanged between players.
The degree of reliability of a cellular service using both FEC and ARQ is currently regulated by the number of retransmissions allowed before a data packet is dropped. For example, currently in the Global System for Mobile Communications (GSM) system, when a retransmission counter exceeds a predefined value, both the receiver and the transmitter will empty their entire buffers and all counters and timers are re-initialized. The GSM retransmission timeout mechanism is insufficient for many applications that require high reliability of data because all data packets are lost upon retransmission timeout, including those data packets that were correctly received but were out of sequence. Yet another approach is the approach taken for the IS-95 version of the Radio Link Protocol. In that approach, data packets are retransmitted twice at the most. Thereafter, the receiver releases whatever it has (whether corrupted or not) to the transmitter. In a system with variable rate channels, such as most packet-based systems, the number of allowed retransmissions does not translate directly to a finite delay. Thus, there arises a need to set the level of transmission reliability for cellular services, in order to optimally transmit data packets over the air interface.
It is, therefore, an object of the present invention to set transmission reliability for retransmission protocols.
A preferred embodiment of the present invention is directed to telecommunications systems and methods for implementing a semi-reliable retransmission protocol that utilizes both selective repeat ARQ error correction and segmentation and assembly of data packets. This novel semi-reliable retransmission protocol includes a discard timer for triggering a retransmission timeout. Thus, the retransmission timeout becomes insensitive to variations in the channel rate and is capable of being defined based upon the maximum delay allowable for the retransmission of corrupted data packets over the air interface. For every data packet received by the transmitter a discard timer monitoring the transmission time of the data packet is initialized. If the discard timer elapses during the transmission of the data packet, this data packet is marked as discarded in the transmitter, and a xe2x80x9cmove receiving windowxe2x80x9d request message is sent to the receiver to ensure that transmissions received by the receiver that carry that data packet are discarded in the receiver. The value for the discard timer can be set in various ways, depending upon the Quality of Service (QoS) levels in the network. In one embodiment of the present invention, the discard timer value can be set according to the maximum delay allowable for the type of data included within the packet.

System and method for implementing a semi reliable retransmission protocol


An exemplary system includes an access management facility and a message processing facility communicatively coupled to the access management facility. The access management facility is configured to generate and activate an access code, and initiate providing of the access code to a potential message source. The message processing facility is configured to receive an incoming message, determine whether the incoming message includes the access code, deliver the incoming message to a user if the incoming message is determined to include the access code, and not deliver the incoming message to the user if the incoming message is determined not to include the access code. In certain implementations, the access code is used in conjunction with a set of authorized message sources for selectively filtering the incoming message. In certain implementations, at least one tool is provided, the tool being configured to enable the user to manage the access code.

Advances in electronic communications technologies have interconnected people and allowed for distribution of information perhaps better than ever before. One popular form of communication is electronic mail messaging commonly known as "e-mail."
Unfortunately for users and operators of e-mail systems, e-mail has become an advertising tool widely used for mass distribution of unsolicited and unwanted e-mail messages, which are commonly referred to as "SPAM." It is a challenge for users and operators of e-mail systems to effectively deal with SPAM without inadvertently affecting legitimate e-mail messages. To this end, SPAM filters have been designed. To some extent SPAM filters help prevent SPAM from reaching users, but conventional SPAM filters are fraught with problems. For example, a typical SPAM filter relies on tools for scanning the contents of incoming e-mail messages. However, the scanning of content invades privacy and requires significant computing resources. In addition, senders of SPAM have become adept at quickly working around conventional SPAM filters. Consequently, operators of e-mail systems typically invest significant resources in what has become a continual battle against SPAM and senders of SPAM.
Once a user's e-mail address is exposed to unscrupulous senders of SPAM, it is extremely difficult, if not impossible, for the user to stop the barrage of SPAM that typically follows. In some cases, the SPAM may become overwhelming and force a user to spend significant time dealing with the SPAM (e.g., manually deleting the SPAM) or to relinquish the user's e-mail address in order to avoid the SPAM. However, relinquishing an e-mail address is not trivial and typically includes setting up and notifying personal contacts of a new e-mail address. Even after taking these steps, the user may inadvertently miss legitimate e-mail messages sent to the old e-mail address, or be forced to continue to check the old e-mail address for such messages.

Access management for messaging systems and methods