Methods and apparatus for bandwidth reduction in a two-way paging system
FIELD OF THE INVENTION 
     The present invention relates generally to telecommunications systems, and, in particular, to a technique for reducing the transmission requirements of a pager device in a two-way paging system. 
     BACKGROUND OF THE INVENTION 
     Typical radio paging systems provide simple unidirectional transmission from a fixed location to a specifically addressed portable pager, such that when the transmission is received, the pager device provides an alerting tone, a simple text message, or both. Paging systems provide optimized one-way communication over a large region through a high power transmitter, typically a few kilowatts, that uses high antennas at multiple sites to provide reliable coverage throughout the region. Satellite-based paging systems are also in operation to provide extended service regions. The power requirements of a pager are typically very low because the pager is often simply a receiver with a small annunciator. A pager is, therefore, a small, light weight and relatively low cost device, which can operate for long intervals before its batteries need to be recharged or replaced. 
     Due to the advantage in size, cost and operating duration offered by pocket-size pagers, attempts have been made to impart limited two-way communication into paging systems, which are optimized for one-way traffic. One known attempt includes the incorporation of an acknowledgement message through reverse transmission links between the individual pagers and the fixed sites. Another known reverse-paging approach includes the use of codes corresponding to a series of messages, which may be tailored to a particular user. When the user wishes to send one of the messages, he activates his pager, types in the code corresponding to the predetermined message and a further code which indicates the destination of the message. A CPU associated with the fixed site receives the signals transmitted by the pager and determines the codes which have been transmitted. The CPU can then send the messages indicated by the codes to the desired destination. 
     When responding to a page or received message, however, it is often desirable to refer to the text of the original message or a portion thereof. Including the text of the original message in the response by the recipient of the page, however, would typically result in a lengthy reply, thus requiring additional bandwidth which may not be available for use in transmitting a response from the pager. Also, transmitting a lengthy reply typically requires more power than a shorter reply. Furthermore, known existing paging devices do not provide for predetermined codes which the recipient of the original page can use to refer to specified portions of the received message, because the text of the original message is not known by the recipient in advance. 
     It is, therefore, desirable to provide a two-way paging system that allows the recipient of a message on a paging device to respond by including references to the text of the original message without significantly increasing the bandwidth required to transmit the response. 
     SUMMARY OF THE INVENTION 
     The present invention provides for a two-way paging system and paging methods which solve the aforementioned problems. In accordance with the present invention, reply codes corresponding to portions of a message to be transmitted by a base station and received by a mobile pager device are computed either at the base station or at the pager according to various embodiments disclosed below. The reply codes, which are typically shorter and require less bandwidth than the full text to which they correspond, are incorporated by the pager into reply messages when the user of the pager device wishes to refer to portions of the text of the received message in his reply. The present invention thus advantageously allows the user of a pager device to respond to a received message by transmitting a reply message that incorporates or refers to part of the text of the original received message without significantly increasing the bandwidth required to transmit the response. 
     Other features and advantages of the present invention will be readily apparent by reference to the following detailed description and accompanying drawings. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a schematic block diagram of an exemplary pager system in which the present invention may be advantageously employed. 
     FIG. 2 shows the details of a single exemplary base station according to the principles of the present invention. 
     FIG. 3 shows the details of a single exemplary remote pager device according to the principles of the present invention. 
     FIG. 4 shows a side view of the exemplary pager. 
     FIG. 5 is a flow chart illustrating the steps of a preferred method according to the principles of the present invention. 
     FIG. 6 is a flow chart illustrating the steps of a second embodiment of the method according to the principles of the present invention. 
    
    
     DETAILED DESCRIPTION 
     As shown in FIG. 1, a pager system 100 in accordance with the present invention preferably comprises one or more base stations 105, which may send and receive messages to and from a network messaging center 115, and at least one mobile remote pager device 110. The system 100 typically will have a large number of pager devices 110. The pager devices can be carried by people or vehicles which are to be paged. 
     FIG. 2 shows the details of a single exemplary base station 105. The base station 105 preferably has a receiving antenna 202 and a receiver 204, as well as a transmitting antenna 206 and a transmitter 208, for receiving and transmitting paging messages, respectively. Although separate receiving and transmitting antennas 202, 206 are shown, a single shared antenna can be used. The base station 105 further includes a general purpose or dedicated microprocessor or other suitable processor 210 which processes messages received by the base station 105 and processes messages for transmission from the base station 105. The processor 210 may be programmed to process messages, as further explained below, according to software stored, for example, in a memory 212 such as a read only memory (ROM). Another memory 214 associated with the processor 210, which may suitably be a random access memory (RAM), stores the text of a message. 
     In one embodiment of the present invention, the memory 214 may also store codes corresponding to the various components of the message as explained in greater detail below. The memory 214 may conveniently have two sections, a message text memory 216 which stores the text of a message to be transmitted, and a reply code memory 218 which stores the codes corresponding to the various components of the message. Finally, the base station 105 may suitably have a modem 220 for receiving and sending messages to and from a network messaging center, such as the network messaging center 115. 
     FIG. 3 shows the details of a single exemplary remote pager device, such as the pager device 110. The pager device 110 preferably includes a receiving antenna 302 and a receiver 304, as well as a transmitting antenna 306 and a transmitter 308, for receiving and transmitting messages to and from the base station 105, respectively. Although separate receiving and transmitting antennas 302, 306 are shown, a single shared antenna can be used. The pager device 110 also includes a general purpose or dedicated microprocessor or other suitable processor 310. Signals representing a message sent by the base station 105 preferably are received by the processor 310 via an input port 312. The processor 310, which may be suitably programmed, then processes the received signals, and the corresponding message is displayed on a display 326. The display 326 is preferably an LCD or other low-power display and is preferably an integral part of the pager 110. A second input port 316 receives signals from a keypad 314 which is also preferably an integral part of the pager 110. The keypad 314 is activated by a person using the pager 110. 
     The processor 310 preferably processes the received signals, as further explained below, according to software stored, for example, in a memory 318 such as a read only memory (ROM). Another memory 320, which may suitably be a random access memory (RAM), may store the text of a message sent by the base station 105 to the pager 110. In one embodiment of the present invention, the memory 320 may also store codes corresponding to the various components of the message as explained in greater detail below. The memory 320 may conveniently have two sections, a message text memory 322 which stores the text of a received message, and a reply code memory 324 which stores the codes corresponding to the various components of the received message. 
     The entire pager 110 may conveniently be packaged in a miniature case 400, as illustrated in FIG. 4. As shown, the electronic components located inside the pager 110 would not be visible to a user of the pager. A user would, however, be able to view messages, such as a message 402, on the display 326. The user would also see a soft key status line 404 on the display 326. In addition, the user would be able to press keys or buttons 410-413 on the keypad 314, for example, in response to the message 402. Pressing one of the keys 410-413 would cause an appropriate signal to be sent to the processor 310 as explained further below. The keys 410-413 may advantageously be soft keys, whose function at a particular time is determined by the microprocessor 310. The pager also has a power source 420, preferably a low-power source such as a battery, which provides power to the pager components. 
     FIG. 5 is a flow chart illustrating the steps of a preferred method according to the principles of the present invention. This technique may be referred to as an explicit encoding technique. As shown in step 502, the base station 105 receives a data packet from the network messaging center 115 requesting or instructing it to send a message to the pager 110. The packet may also include an identifier associated with the particular message. Next, as indicated by step 504, the processor 210 executes a routine stored in the program memory 212 and computes reply codes corresponding to various reply components of the message. 
     The reply components of a message represent portions of the message which the user of the pager 110 may wish to incorporate in his response, if any, to the message. A particular message will have at least one reply component and may have multiple reply components. Consider, for example, the message &#34;LET&#39;S GET TOGETHER: DINNER BALLGAME THEATRE.&#34; A recipient of this message may wish to refer to one of the components of the message, such as &#34;DINNER&#34;, &#34;BALLGAME&#34; or &#34;THEATRE&#34;. The processor 210 would thus compute reply codes corresponding, for example, to the reply components &#34;DINNER&#34;, &#34;BALLGAME&#34; and &#34;THEATRE&#34;. 
     The computation of reply codes may be performed according to any one of several techniques, and the following list is intended to be exemplary only. First, a sequential labeling technique, whereby the first reply component is designated by &#34;1&#34; or &#34;A&#34;, the second reply component is designated by &#34;2&#34; or &#34;B&#34;, and so on, may be employed. For example, the base station 105 may have a counter which maintains a variable initialized to &#34;1&#34; and which is incremented by &#34;1&#34; for each additional reply component. Alternatively, a checksum technique may be used whereby each reply component is encoded using its binary checksum, obtained, for example, by performing the exclusive-or function for all of its component characters. Finally, a hash technique may be used whereby each reply component of the message is encoded with its hash value according to a specified hash function, such as the MD5 hash algorithm, described in &#34;The MD5 Message-Digest Algorithm&#34; by R. Rivest, MIT Laboratory for Computer Science and RSA Data Security, Inc., April, 1992, which is incorporated by reference herein. These encoding techniques may be implemented either in software or in hardware. Also, any of the explicit encoding techniques listed above may be used, and as long as the pager can identify the reply codes based upon the format of the reply-encoded message, it need not know the particular encoding technique used. 
     Whichever technique is used for obtaining the reply codes, the base station 105 stores the message and the reply codes, as indicated by step 506. The original message may be stored in the message text memory 216, and the reply codes may be stored, for example, in the reply code memory 218, such that the base station 105 retains sufficient information indicating the correspondence between the reply components of the message and the reply codes. The identification of the intended recipient of the message and any message identifier would also be stored in the memory 214. Next, as shown in step 508, the processor 210 inserts the reply codes into the appropriate positions in the original message, thereby creating a reply-encoded message. Specifically, each reply code would be inserted into the original message according to a predetermined format, such as immediately before or immediately following the corresponding reply component of the original message. 
     Finally, as indicated by step 510, the base station 105 transmits the reply-encoded message to the pager 110, preferably according to a predetermined formatting convention. In particular, the reply message should preferably be formatted so that the reply codes are readily identifiable as such by the pager 110. An identification of the intended recipient of the reply-encoded message also may be included in the reply-encoded message. Similarly, if a message identifier was received by the base station, it also may be included as part of the reply-encoded message transmitted to the pager 110. 
     Once the pager 110 receives the reply-encoded message, it stores the received reply-encoded message in the memory 320, as shown by step 512. The text of the original message may be stored in the message text memory 322, and the corresponding reply codes may be stored, for example, in the reply code memory 324. Alternatively, the entire reply-encoded message may be stored in a single section of the memory 320. In any event, as illustrated by step 514, the processor 310 extracts the original message, identifies the reply components of the message, and displays the original message on the display 326. The original message may be extracted and the reply components identified based upon the predetermined format known to both the base station 105 and the pager 110. 
     When the message is displayed, identification codes identifying the reply components of the message will also appear on the display. The identification codes may appear, for example, immediately before or immediately following the various reply components appearing on the display 326. These identification codes are for local use only and correspond to information appearing on the soft key status line 404. The soft key status line 404 indicates to the user the correspondence between a particular one of the soft keys 410-413 and a portion of the message appearing on the display 326. 
     With reference to FIG. 4, for example, the display 326 shows the message 402 &#34;LET&#39;S GET TOGETHER: DINNER BALLGAME THEATRE.&#34; Identification codes &#34;*&#34;, &#34;**&#34; and &#34;***&#34; appear on the display 326 as well and serve to identify the reply components &#34;DINNER&#34;, &#34;BALLGAME&#34; and &#34;THEATRE&#34;, respectively, with respect to this particular message. The identification codes also appear in the soft key status line 404 of the display 326, so as to indicate that the soft key 410 corresponds to the reply component &#34;DINNER&#34;, the soft key 411 corresponds to the reply component &#34;BALLGAME&#34;, and the soft key 412 corresponds to the reply component &#34;THEATRE&#34;. It should be noted that the identification codes &#34;*&#34;, &#34;**&#34; and &#34;***&#34; are exemplary only, and other identification codes may be used. 
     In general, the soft key status line 404 indicates the function of each soft key 401-413 at any given time. These functions are determined by the appropriately programmed processor 310. In addition to allowing a user to select one or more reply codes to be included in a reply message, pressing the soft keys allows a user to instruct the pager 110 to perform or execute other functions as well. These functions may include, among others, sending a reply message, scrolling through a displayed message, and displaying the identification codes for the portion of the message displayed on the display 326. Thus, for example, if the original message is too long for the entire message to be displayed at one time or if there are numerous reply components, then it may be necessary for the user to scroll through the message by pressing the appropriate soft key. When a component of the message which the user wishes to incorporate in a reply message appears on the display 326, the user would press the appropriate soft key requesting that the identification codes corresponding to any reply components in the displayed portion of the message also be displayed. The identification codes would appear in the display 326 and on the soft key status line 404 indicating which soft key corresponds to a particular reply component. The user would then press the soft key corresponding to the selected reply component. 
     When a user presses one of the soft keys 410-413 on the keypad 314, a signal is sent and received by the processor 310 via the input port 316. The processor 310 would then perform or execute the function indicated by the particular soft key at that time. With respect to FIG. 4, for example, if the user selected the reply component &#34;DINNER&#34; by pressing the soft key 410, then, as shown by step 516, a signal, such as an electronic signal, would be sent and received by the processor 310, indicating the selection of the specified reply component. Next, as indicated by step 518, the processor 310 identifies and retrieves the reply code corresponding to the specified reply component in response to the received signal. The processor 310 may retrieve the appropriate reply code by accessing the memory 320 where the reply-encoded message was stored. Finally, as shown in step 520, the pager 110 transmits a reply message incorporating the retrieved reply code to the base station 105. The reply message may be transmitted automatically after retrieval of the reply code or, alternatively, in response to the user&#39;s pressing the appropriate soft key indicating that the reply message should be sent. As indicated above, the pager 110 preferably uses a relatively low-power supply, and thus messages transmitted by the pager 110 are transmitted at a relatively low transmission rate. In particular, the message transmission rate on the uplink or return channel from the pager 110 to the base station 105 is preferably in the range of 1/10th to 1/100th the rate on the downlink or forward channel from the base station 105 to the pager 110. The reply message should preferably be formatted so that reply codes are readily identifiable as such by the base station 105. The reply message may also include an identification of the designated recipient of the message and the message identifier according to a predetermined format. 
     Upon receiving the reply message, the base station 105 identifies and retrieves the reply component corresponding to the reply code incorporated as part of the reply message, as indicated by step 522. The base station 105 may retrieve the appropriate reply component by accessing the memory 214 in which the original message and associated reply codes are stored. The reply component, which was part of the original message sent to the pager 110, may then be inserted into the reply message in place of the reply code, and the entire reply message, with the inserted reply component, may be transmitted to the designated recipient, as shown in step 524. 
     FIG. 6 is a flow chart illustrating the steps of a second embodiment of the method according to the principles of the present invention. This technique may be referred to as an implicit encoding technique. As shown in step 602, the base station 105 receives a data packet from the network messaging center 115 requesting or instructing it to send a message to the pager 110. The packet may also include an identifier associated with the particular message. Next, as indicated by step 604, the base station 105 stores the message, as well as the designated recipient and any message identifier, in the memory 214. In step 606, the base station 105 then sends the message with the message identifier to the pager 110, preferably according to a predetermined formatting convention such that portions of the message which may serve as reply components are identifiable by the pager 110. 
     Upon receiving the message, the pager 110 stores it in the memory 320, as indicated by step 608. Next, as shown by step 610, the pager 610 identifies the reply components of the received message based upon the predetermined formatting convention. As indicated by step 612, the pager 110 then displays the message on the display 326 with the reply components identified by identification codes in the same manner as described above with respect to FIG. 4. Also, as explained above, the user may scroll through the message and, if he wishes, select a reply component to be included in a reply message by pressing the appropriate soft key on the keypad 314. 
     Once the user presses one of the soft keys corresponding to the selected reply component, a signal is sent and received via the port 316 by the processor 310 as indicated by step 614. Then, as shown in step 616, the pager 110 computes a reply code corresponding to the selected reply component. Specifically, the processor 310 preferably may compute the reply code according to appropriate software code stored in the memory 318. 
     In the implicit encoding technique, the reply codes are computed according to any one of several techniques, and the following list is intended to be exemplary only. In general, any convention that is based upon the structure of the received message may be used. For example, a character-based addressing method can be used, whereby a message is interpreted as a character stream, and a reply component of the message is encoded by identifying the positions of the beginning and end characters of the reply component, respectively. Alternatively, a word-based addressing method may be used, whereby a message is interpreted as a sequence of words separated by spaces, and a reply component is encoded by identifying the positions of the beginning and end words of the reply component, respectively. In yet another embodiment, a line-based addressing method may be used, whereby a reply code identifies a reply component according to the line and position of the beginning and end of the reply component, respectively. Finally, a screen-based addressing method may be used, whereby the display or screen coordinates of the beginning and end positions of the reply component are used to encode the reply component. While any of these encoding techniques may be used in the implicit encoding technique, the particular technique employed should be known or communicated to both the base station 105 and the pager 110. Thus, for example, the technique may be predetermined for all communications between the base station 105 and the pager 110, or a method identifier indicating which technique is being used to obtain the reply codes may be included as part of the reply message. Of course, it is to be understood that when reply codes are based upon the structure of the original message, both the pager 110 and the base station 105 use a common reference point for encoding and decoding the reply codes. 
     As shown in step 618, the pager 110 transmits a reply message incorporating the computed reply code to the base station 105. The reply message may be transmitted automatically after computation of the reply code or, alternatively, in response to the user&#39;s pressing the appropriate soft key indicating that the reply message should be sent. As in the explicit encoding technique, messages transmitted by the pager 110 are transmitted at a relatively low transmission rate. In particular, the message transmission rate on the uplink or return channel from the pager 110 to the base station 105 is preferably in the range of 1/10th to 1/100th the rate on the downlink or forward channel from the base station 105 to the pager 110. The reply message should preferably be formatted so that reply codes are readily identifiable as such by the base station 105. The reply message may also include an identification of the intended recipient and the message identifier according to a predetermined format. 
     As shown by step 620, once the base station 105 receives the reply message, it identifies and retrieves the reply component corresponding to the specified reply code incorporated as part of the reply message. The processor 210 may retrieve the appropriate reply component by accessing the memory 214 in which the original message is stored and by determining which component of the original message the reply code refers to. The reply component may then be inserted into the reply message in place of the reply code, and the entire reply message, with the inserted reply component, may be transmitted to the designated location, as shown in step 622. 
     In both the explicit and implicit reply encoding techniques of the present invention, reply codes of several bytes in length are typically sufficient for most applications. A reply message incorporating a reply code in place of the full text or reply component to which it corresponds will, therefore, typically be shorter and require less bandwidth than a reply message incorporating the full text of the reply component. Thus, the present invention advantageously allows the user of a pager device to respond to a received message by transmitting a reply message that incorporates part of the text of the original received message without significantly increasing the bandwidth required to transmit the response. Also, the power consumption of the pager will typically be reduced by use of the reply codes. 
     The implicit reply encoding technique is additionally advantageous in that no pre-computation is required at the base station before a message is transmitted to the pager. A message may be delivered to the pager without undue delay caused by additional pre-processing. 
     On the other hand, the explicit reply encoding technique, while requiring the computation of the reply codes prior to transmitting the message, is also advantageous because it keeps the processing that occurs at the pager relatively simple. Specifically, in the explicit technique, the pager need only retrieve the reply code corresponding to the reply component selected by the user. The explicit technique thus takes advantage of the asymmetrical design of the two-way paging system by placing most of the processing and transmission requirements in the base station, thereby reducing the computational complexity and the message complexity of the response from the pager device. 
     In addition, the explicit reply encoding technique is generally more error-tolerant. Slight perturbation of an encoding does not usually result in another valid reply code because the encodings are unrelated to one another. Thus, for example, where the hash method of computing the reply codes is used, the hash values contained in a reply message must belong to the list of valid hash values transmitted in the original reply-encoded message. Otherwise, the reply will be deemed invalid. The explicit technique of reply encoding thus provides error detection in addition to any underlying error control mechanism in the paging system. 
     Although the present invention has been described with reference to specific embodiments, it will be appreciated that other arrangements within the spirit and scope of the present invention will be readily apparent to persons of ordinary skill in the art. The present invention is, therefore, limited only by the appended claims.