|
Claims  |
|
|
What is claimed is:
1. A method in a communication system for reliably delivering messages to
at least one portable selective call receive from a communication
controller the method comprising within the communication controller, the
steps of:
(a) storing messages comprising address cyclical redundancy codes (CRCs),
and message data;
(b) transmitting the messages over a first communication medium for
reception by at least one portable selective call receiver, wherein the
CRCs transmitted within the messages are unique according to corresponding
message data and are used to identify the corresponding message data;
(c) receiving a message reconciliation request from one portable selective
call receiver of the at least one portable selective call receiver over a
second communication medium, different than the first communication
medium, the message reconciliation request identifying a predetermined
address for the one portable selective call receiver;
(d) reconciling stored messages with the one portable selective call
receiver over the second communication medium using the CRCs to identify
the transmitted messages to determine a reception status of the
transmitted messages for the one portable selective call receiver; and
(e) transmitting to the one portable selective call receiver, over the
second communication medium, at least the message data of the transmitted
messages having a reception status indicating that the one portable
selective call receiver failed to receive the transmitted messages for
reliably delivering messages to the at least one portable selective call
receiver in the communication system.
2. The method of claim 1 wherein the first communication medium is a radio
frequency paging channel.
3. The method of claim 1 wherein the second communication medium is a
dial-up telephone line interface using modem communication,
4. The method of claim 1 wherein the second communication medium is a radio
frequency communication channel,
5. The method of claim 1 wherein step (d) comprises the steps of:
(f) handshaking the CRCs of the stored messages that include the address
information matching the predetermined address to the one portable
selective call receiver; and
(g) receiving acknowledgment from the one portable selective call receiver
indicating the reception status of the messages identified by the
handshaking of the CRCs.
6. The method of claim 5, wherein the one portable selective call receiver
performs the, steps of:
(h) receiving the messages transmitted in step (b);
(i) searching the received messages that included address information
matching the predetermined address identified in the message
reconciliation request for matching the handshaking CRCs to the CRCs of
the searched messages;
(j) after determining that there is no match between one of the CRCs
handshaking in step (f) and the CRCs of the searched messages,
transmitting the acknowledgment indicating a reception status that the one
portable selective call receiver failed to receive a message corresponding
to the one of the CRCs handshaking in step (f); add
(k) receiving at least the message data of the message indicated as having
been failed to received in step (j) over the second communication medium
for reliably delivering messages to the at least one portable selective
call receiver in the communication system.
7. The method of claim 5, wherein the one portable selective call receiver
performs the steps of:
(l) receiving the messages transmitted in step (b);
(m) determining from a corresponding CRC that there is an error in one of
the received messages;
(n) identifying the predetermined address in the message reconciliation
request matching the address information of the one of the received
messages;
(o) matching one of the CRCs handshaking in step (f) with the corresponding
CRC of the one of the received messages;
(p) transmitting an acknowledgment in step (g) indicating a reception
status that the one portable selective call receiver failed to receive the
one of the received messages; and
(q) receiving at least the message data of the one of the received messages
indicated in step (p) over the second communication medium for reliably
delivering messages to the at least one portable selective call receiver
in the communication system.
8. The method of claim 7, wherein step (m) comprises the step of:
(r) determining error in one of the received messages by comparing the CRC
of the one of the received messages to a computed value based on the
content of the one of the received messages.
9. A method in a communication system for reliably delivering messages from
a communication controller to at least one portable selective call
receiver, the method comprising the steps of:
(a) storing messages at the communication controller, the messages
comprising address information, cyclical redundancy codes (CRCs), and
message data;
(b) transmitting the messages from the communication controller over a
first communication medium for reception by at least one portable
selective call receiver, wherein the CRCs transmitted within the messages
are unique according to the corresponding message data and are used to
identify the message data;
(c) receiving a message reconciliation request at the communication
controller from the at least one portable selective call receiver over a
second communication medium, different than the first communication
medium, the message reconciliation request identifying a predetermined
address for the portable selective call receiver;
(d) searching the messages stored at the communication controller for
locating the messages that were transmitted which include address
information matching the predetermined address identified in step (c);
(e) transmitting at least one of the CRCs of at least one of the messages
found in step (d) from the communication controller to the at least one
portable selective call receiver over the second communication medium;
(f) verifying at the at least one portable selective call receiver, in
response to receiving the at least one of the CRCs at the portable
selective call receiver, whether the portable selective call receiver
failed to receive the at least one of the messages identified by the at
least one of the CRCs, respectively;
(g) transmitting a reconciliation acknowledgment from the portable
selective call receiver to the communication controller over the second
communication medium to confirm a reception status of the at least one of
the messages identified by the at least one of the CRCs verified in step
(f) the reception status indicating that the portable selective call
receiver failed to receive the at least one of the messages or that it
correctly and completely received the at least one of the messages; and
(h) transmitting at least the message data of the at least one of the
messages identified by the at least one of the CRCs being acknowledged in
the reconciliation acknowledgment from the communication controller to the
portable selective call receiver over the second communication medium, the
reconciliation acknowledgment confirming that the portable selective call
receiver failed to receive the at least one of the messages identified by
the at least one of the CRCs.
10. A communication system for reliably delivering messages to at least one
communication receiver, the communication system comprising:
first memory means for storing messages destined for transmission to at
least one communication receiver, the messages comprising address
information, message data, and cyclical redundancy codes (CRCs) which are
unique according to corresponding message data and are used to identify
the corresponding message data;
first message transmitting means coupled to the memory means for
transmitting the messages over a first communication medium for reception
by the at least one communication receiver;
second message transmitting means coupled to the memory means for
transmitting at least the message data of the messages over a second
communication medium for reception by the at least one communication
receiver, the second communication medium being different than the first
communication medium;
retrieving means for retrieving messages stored in the first memory means;
and
message reconciliation request processing means coupled to the retrieving
means and to the second message transmitting means for receiving a message
reconciliation request from the at least one communication receiver over
the second communication medium, and in response to the message
reconciliation request:
determining that at least one message was not received by the at least one
communication receiver over the first communication medium,
retrieving at least the message data of the at least one message from the
first memory means, least the message data of the at least one message
being identified by the CRC of the at least one message, and
transmitting the message data of the at least one message over the second
communication medium for reception by the at least one communication
receiver, for reliably delivering messages from the communication system
to the at least one communication receiver over at least one of the first
communication medium and the second communication medium; and
the at least one communication receiver for communicating with the
communication system over the first communication medium and the second
communication medium.
11. The communication system of claim 10 wherein the second communication
medium is a dial-up telephone line interface using modem communication.
12. The communication system of claim 10 wherein the second communication
medium is a radio frequency communication channel. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
FIELD OF THE INVENTION
This invention relates generally to message delivery systems, such as for
electronic mail systems, and more specifically to a method and apparatus
for reliably delivering messages to one or more remote units from a
central communication system utilizing a paging transmitter system.
BACKGROUND OF THE INVENTION
Communication systems, such as paging systems, typically communicate
messages from an originating device to one or more destination devices.
These messages can include numeric and alphanumeric information for a user
of the destination device. The destination device, e.g., a selective call
receiver or pager, typically presents the information received to the user
by displaying the information on a display.
Contemporary paging systems offer a limited message length for
communicating information. For example, an alphanumeric message may be
typically 80 l characters or less. These typical message lengths have
provided reasonably reliable delivery Of messages to the users of the
communication system.
On the other hand, a distinct trend in the market is for customers desiring
much longer messages, such as from ten to one hundred times longer
messages or more. Transmission of these messages over a paging channel can
encounter a number of obstacles to reliable delivery of the longer
messages, such as different types of interference, fading, noise, and
other phenomena detracting from error-free and reliable communication of
the messages to the destination devices.
This difficulty in reliable transmission of the longer messages is
especially frustrating to customers that are used to communicating long
messages over a more reliable communication medium, such as direct wire
line or dial-up telephone communication. This:is particularly the case for
electronic mail system users which typically desire to send relatively
long messages with a high degree of certainty that the messages are
received error free. Typically, an originating device, such as a personal
computer or workstation, can send long messages to one or more destination
devices, such as other personal computers or workstations, over a direct
wire line interface, or over a local area network (LAN), or over a dial-up
telephone line connection using the public switched telephone network
(PSTN).
Therefore, a need exists to enhance the reliability of transmitting
messages, including long messages, in communication systems that utilize
paging systems for delivering the messages.
SUMMARY OF THE INVENTION
According to an embodiment of the present invention, there is provided a
method and apparatus for reliably delivering messages to a communication
receiver in a communication system. The communication system transmits
messages to the communication receiver and the communication receiver
receives transmitted messages over a first communication medium. The
communication receiver reconciles messages that it failed to receive,
e.g., missed messages and erroneously received messages, over the first
communication medium with the communication system over a second
communication medium. The reconciliation process between the communication
receiver and the communication system utilizes message identifiers
transmitted with the messages to identify the messages being reconciled.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram of a communication system in accordance with the
preferred embodiment of the present invention.
FIG. 2 is a message block diagram illustrating a transmitted message
according to the preferred embodiment of the present invention.
FIG. 3 is a message sequence diagram illustrating a first example of
received messages being stored in the memory of a remote unit of the
communication system according to the preferred embodiment of the present
invention.
FIG. 4 is a message sequence diagram illustrating a second example of
received messages being stored in the memory of a remote unit of the
communication system according to the preferred embodiment of the present
invention.
FIG. 5 is a block diagram illustrating messages stored in the memory of a
central terminal of the communication system and messages stored in the
memory of a remote unit before a reconciliation of messages between the
central terminal and the remote unit, in accordance with the preferred
embodiment of the present invention.
FIG. 6 is a flow diagram illustrating an operational sequence for a remote
unit, according to the preferred embodiment of the present invention.
FIGS. 7 and 8 are message sequence diagrams illustrating a timing aspect of
the second example of FIG. 4, in accordance with the preferred embodiment
of the present invention.
FIGS. 9 and 10 are flow diagrams illustrating operational sequences for the
central terminal of FIG. 1, according to the preferred embodiment of the
present invention.
FIGS. 11 and 12 are flow diagrams illustrating operational sequences for
the remote unit of FIG. 1, according to the preferred embodiment of the
present invention.
FIG. 13 is a message block diagram illustrating a transmitted message
according to an alternative embodiment 15 of the present invention.
FIG. 14 is a flow diagram illustrating an operational sequence for the
central terminal of FIG. 1, according to the alternative embodiment of the
present invention.
FIGS. 15 and 16 are flow diagrams illustrating an operational sequence for
the remote unit of FIG. 1, according to the alternative embodiment of the
present invention.
DESCRIPTION OF A PREFERRED EMBODIMENT
FIG. 1 shows a communication system 100 utilizing a paging transmitter
system 120, 122, 124, 126, for delivering messages to at least one
portable remote unit, e.g., a portable selective call receiver 130, in
accordance with the preferred embodiment of the present invention. A
central terminal 102 comprises input sections 110, 112 for receiving
inputs from a number of different devices 104, 106, 108, including
receiving page requests for initiating pages that are transmitted by the
paging transmitter system 120, 122, 124, 126, to the at least one portable
remote unit 130. The central terminal 102 has input sections 110 that
interface with the telephone company equipment, such as the public
switched telephone network (PSTN) 107. Personal computers or other
computing devices 104 can access the input sections 110 through the PSTN
using a dial-up telephone line and modem communication. Other calling
devices, such as telephone input devices 106 can access the input sections
110 of the central terminal 102 through the PSTN 107. Typically, these
input devices 104, 106, can remotely initiate page requests through the
central terminal 102 by calling up the input sections 110 of the central
terminal 102 over dial-up telephone lines of the PSTN 107.
Alternatively, other input sections 112 of the central terminal 102 can
receive inputs, such as page requests, from local computing devices 108,
such as a local personal computer or console or other terminal device.
Typically, the one or more local input devices 108 interface with the
input sections 112 of the central terminal 102 via direct wire line
connections using standard RS-232 or RS-422 interface.
The input sections 110, 112, communicate page requests to a controller 114
through a communication bus 116. The controller 114 may comprise
controller circuitry and associated memory such that an incoming page
request may be accepted and stored into available memory for subsequent
transmission to one or more selective call receivers 130. Additionally, a
non-volatile memory device 118, such as battery backed up RAM, one or more
disc drive units, or other non-volatile storage medium, is utilized by the
controller 114 for longer term storage of messages destined for the one or
more selective call receivers 103. The controller 114 typically couples
the message information and other associated information to the memory
device 118 via the bus 116. The message information, which can include
numeric, alphanumeric, or binary information, and other associated
information stored in the memory 118 can be used by the controller 114 for
reliable delivery of the message to the destination or remote unit 130, as
will be more fully discussed below.
The controller 114 couples messages to the paging encoder 120 over the bus
116 for encoding the messages for transmission over a paging channel. The
paging encoder 120 then couples the encoded messages over a communication
path 122' to one or more paging transmitter systems 124, 126, for
transmission over a paging communication channel. The communication path
122, in this example, will be labeled path B which routes the messages
from the central terminal 102 to a paging transmitter system 124, for
transmission and over a paging communication channel for reception by the
one or more selective call receivers 130. The general operation of a
communication system including a paging system of the type shown in FIG. 1
is more fully described in U.S. Pat. No. 5,138,311, issued Aug. 11, 1992,
entitled, "Communication System Having adaptable Message Information
Formats", which is assigned to the same assignee as the present invention
and is incorporated herein by reference.
The selective call receiver 130 preferably incorporates a paging receiver
134 that operates to receive messages transmitted over the paging
communication channel through the antenna 132. The operation of a paging
receiver 134 of the general type shown in FIG. 1 is well known and is more
fully described in U.S. Pat. No. 4,518,961 issued May 21, 1985, entitled,
"Universal Paging Device With Power Conservation", which is assigned to
the same assignee as the present invention and is incorporated herein by
reference.
The paging receiver 134 couples a received message to the controller 136
through the bus 138. The controller 136 address information in the
received message and then match predetermined address in the selective
call receiver 130. In this way, the controller 136 can determine whether
the received message is intended for the particular selective call
receiver 130. Further, a memory 140 is coupled to the paging receiver 134
and the controller 136 through the bus 138 for storing the received
message in the memory 140. A user can access user input means 141, such as
buttons or switches, at the remote unit 130 to cause the message data of a
received message to be displayed on a display, e.g., a liquid crystal
display (not shown). The user can then read the message that is visible on
the display. User input at the remote unit 130 can also cause the remote
unit 130 to perform other functions that are well known to users of
selective call receivers and portable personal computing devices.
A real time clock 142 is also coupled through the bus 138 to the controller
136 for providing time information thereto. The remote unit 130 is then
capable providing time information to the user by displaying the time
information on the display (not shown). Additionally, the controller 136
can utilize the, time information provided by the real time clock 142 to
keep track of the time when messages were received at the remote unit 130
and to perform and other useful operations that will be more fully
discussed below.
Furthermore, the selective call receiver 130 includes a modem transmitting
unit and a modem receiving unit 144 and the associated telephone
interfacing circuitry or other suitable communications apparatus (e.g.,
packet radio modem) which allows the user of the selective call receiver
130 to connect the selective call receiver to a telephone interface 150,
such as may be provided by an RJ11 plug 148 and associated wiring 146 at
the selective call receiver 130 and the complimentary wall jack 150 and
associated wiring 152 thereof. This telephone interface 144, 146, 148,
150, 152, allows the controller 136 of the selective call receiver 130 to
remotely access the central terminal 102 through a dial-up telephone line
and the PSTN 107. At the central terminal 102, a modem transmitting unit
and a modem receiving unit 111 is capable of communicating with the modem
144 at the selective call receiver 130. In this way, the selective call
receiver 130 can communicate with the central terminal 102 and receive
message information therefrom through a separate communication path which,
in this example, is labeled path A 152. Therefore, the selective call
receiver 130 cab receive message information from the central terminal 102
via path A 152 and via path B 122. The path A 152 communication medium and
the path B 122 communication medium can comprise any communication paths,
such as direct wired line path, telephone line path, or wireless
communication path including at least one radio communication channel
preferably path A 152 is different than path B 122.
In the preferred embodiment, path A 152 is a dial-up telephone line using
modem communication between the central terminal 102 and the remote unit
130. Also, preferably path B includes a paging communication channel for
transmitting messages to the selective call receiver 130. Alternatively,
path A may be a one-way or two-way radio frequency communication channel
between the remote unit 130 and the central terminal 102, and path B can
be a paging communication channel. Additionally, in another alternative,
path A and path B can be one-way or two-way radio frequency communication
channels. An advantage of delivering messages to the remote unit 130
through the paging communication channel Over the two-way radio frequency
communication channel is that typically more messages can be delivered
through the medium in the paging communication channel. This in turn
enhances the commercial viability of the communication system. However,
using two-way radio frequency communication channels for both path A and
path B may be perfectly acceptable in some systems.
By using a dial up telephone line interface for path A 152, and utilizing
modem communication between the remote unit 130 and the central terminal
102 in the preferred embodiment, the reliability of transferring messages
between the central terminal 102 and the remote unit 130 is relatively
high and approaches the reliability that users of conventional computing
systems have previously experienced. Hence, it is advantageous to transfer
messages over the dial-up telephone line interface 152 because it is a
more reliable communication medium than transmission over the paging
communication channel 122, e.g., over a radio paging channel. On the other
hand, the dial-up telephone line interface 152 has several draw backs.
First, dial-up telephone line interfacing typically interfaces between one
originating and one receiving device which significantly reduces the
number of remote units that can subscribe to any type of communication
system. Second, the telephone line interface 152 normally requires that
the remote unit 130 connect to a telephone line interface which may not
always be available. Third, the remote unit is not as portable due to the
requirement that it be interconnected with the telephone interface. In the
case of a paging communication channel transmission, the remote unit 130
is portable and can receive messages transmitted over the paging
communication channel while the remote unit 130 is being carried by a
user. Hence, although the telephone line interface communication tends to
be more reliable than the paging channel communication, it can
significantly limit the number of subscribing remote units 130 in the
communication system, and it tends to inconvenience users by requiring
them to connect their remote units 130 to a telephone line interface 152
for communication with the central terminal 102. Therefore, the preferred
embodiment of the present invention utilizes both path A and path B
communication of messages in a manner that significantly increases the
reliability of transmission of messages between the central terminal 102
and the remote units 130 while allowing large numbers of portable remote
units 130 to be serviced in the communication system, as will be more
fully discussed below.
The communication system 100 of the preferred embodiment of the present
invention allows high throughput of messages between the central terminal
102 and the portable remote units 130 by transmitting messages over the
path B 122, e.g., a radio frequency paging channel, for normal
communication of new messages between the central terminal 102 and the
remote units 130. Additionally, for a higher grade of service, the central
terminal 102 can transmit messages multiple tinges over path B 122 to
better guarantee that the remote unit 130 will receive at least one of the
transmissions of the same message. For example, the central terminal 102
can transmit a message three separate times over the paging channel 122
where each subsequent transmission of the same message is delayed by a
predetermined time interval from the previous transmission, e.g., three
minutes. In this way, the remote unit 130 has a higher probability of
receiving the message transmitted over the paging channel 122.
Nonetheless, there may be times when the message is not received by the
remote unit 130. In such event the communication system 100 provides a
means at the remote unit 130 for determining that a message was missed and
further for reconciling with the central terminal 102 to receive at least
the message information of a missed message over a more reliable
communication medium, such as provided through path A 152. However, the
required throughput of path A 152 can be much lower than the throughput of
messages through path B 122 because the number of missed messages will be
much lower than the number of new transmitted messages for the
communication system 100. Hence, the bulk of communication transmission
including the transmission of new messages can be handled through path B
122, e.g., the radio frequency paging channel. The reconciliation of
missed messages between the remote units 130 and the central terminal 102
can be handled over the more reliable communication medium provided
through path A 152. Further the portable remote units 130 can be carried
by a user while receiving new message transmissions over the paging
channel 122. The users of the remote units 130 will be minimally
inconvenienced by requiring that the remote unit 130 be connected with the
telephone line interface 152 to perform reconciliation of missed messages
because messages typically will be missed relatively infrequently.
Optionally, as mentioned earlier, path A 152 can be configured as a
one-way or two-way radio frequency communication channel between the
central terminal 102 and the remote units 130. In this case, the message
reconciliation can be performed while the users carry the remote selective
call receivers 130 such that. Hence, the users are minimally
inconvenienced.
PIG. 2 is a message block diagram illustrating a transmitted message
according to the preferred embodiment of the present invention. The
transmitted message 200 typically includes identification and control
information 202, as well as message data information 204. The message data
204 normally is the information that is communicated between an
originating party and the destination remote unit 130. That is, the
message data 204 is the message information communicated to the user of
the selective call receiver 130. The message data 204 can include numeric
information, alphanumeric information, and binary data. The identification
and control information 202 included with the message 200 normally is
required for delivering the message in the communication system 100. Such
information 202 includes address information 206 which identifies one or
more remote units 130 as the destination of that message data 204. Hence,
when a remote unit 130 receives a message 200 that was transmitted from
the central terminal 102, the remote unit 130 can determine whether that
particular message 200 was intended for reception by the particular remote
unit 130. Normally, the address information 206 included with the message
200 is decoded by the remote unit 130 and compared to a predetermined
address in the remote unit 130. If the address information 206 in the
message 200 matches the predetermined address in the remote unit 130 then
the message 200 was intended for that particular remote unit 130. The
remote unit 130 can then store the received message data 204 in a memory
140 in the remote unit 130, or optionally in a computer memory of a
computing device associated with the remote unit 130 for later processing.
A user of the remote unit 130 can subsequently review the message data 204
to communicate the message to the user. Typically, the user reviews the
message on a display on the remote unit 130. That is, for example, the
user can read the message on a display screen such as commonly available
on portable personal computers and portable selective call display
receivers.
Additionally, in the preferred embodiment of the present invention, the
message 200 includes other identification information fox enhancing the
reliability of delivering the message from the central terminal 102 to the
portable selective call receiver 130. For example, each message 200 can
include a message sequence number 208 which identifies the relative
sequence of the message 200 in a transmission sequence for messages
transmitted from the central terminal 102 to the remote unit 130 for a
particular address information 206. That is, each message that includes
the same address information 206, i.e., that is destined for reception by
the same one or more remote units 130, can be tagged with a message
sequence number 208 that identifies to the one or more remote units 130
when a transmitted message 200 is received out of sequence or when a
transmitted message was not received by the remote unit 130.
When a transmitted message 200 is received by the remote unit 130 and the
address information 206 in the message 200 matches a predetermined address
for the remote unit 130, then, if the message sequence number 208
identifies the message 200 as being out of sequence with a transmission
sequence established by previously received messages, the remote unit 130
may determine that one or more messages were transmitted by the central
terminal 102 and not received by the remote unit 130. Those transmitted
messages that intervened between the last received message in the
transmission sequence and the received message being out of sequence may
have been missed by the remote unit 130. However, the intervening messages
may not always have been missed.
For example, the communication system 100, as discussed earlier, can
transmit messages multiple times over the paging communication channel 122
to provide a higher grade of service for the destination remote units 130.
In this case a message 200 can be received by the remote unit 130 and the
message sequence number 208 may indicate that the received message 200 is
out of sequence with a transmission sequence established by previously
received messages at the remote unit 130. However, this may only indicate
that one transmission of a message was missed by the remote unit 130 and
that subsequent re-transmissions of that message may be received by the
remote unit 130, thereby reestablishing the transmission sequence of
received messages at the remote unit 130.
Preferably, a message repetition count 210 is included with each
transmitted message 200 to identify to a receiving remote unit 130 the
relative position of the received message 200 in a repetition sequence.
For example if under a grade of service, messages are repeatedly
transmitted three times for delivery to a receiving remote unit 130, where
the repeatedly transmitted messages have the same destination address 206,
a received message 200 including a message repetition count 210 of two may
identify to the receiving remote unit 130 that the received message 200
was the second transmission of that message from the central terminal 102.
Other information can be transmitted with a transmitted message 200, such
as error detecting and/or correcting code. For example, a cyclic
redundancy code (CRC) 212 can be included with each transmitted message
200 to help identify at the receiving remote unit 130 when received
message data 204 has been erroneously received, e.g., when the message
data 204 has been received with errors included therein. In this cage,
although the message 200 has been received by the remote unit 130, the
message data 204 may not ba completely and correctly communicated to the
user of the remote unit 130. Hence, the remote unit 130 has failed to
receive the message 200 accurately enough to communicate the message
information to the user of the remote unit 130. Hence, two possible
conditions can identify when the remote unit 130 has failed to receive a
transmitted mess | | |