Patent Publication Number: US-6665722-B1

Title: Store-and-forward packet radio system and method

Description:
FIELD OF THE INVENTION 
     The present invention relates generally to packet radio networks and, more particularly, to systems and methods for providing improved user-friendly packet delivery techniques in mobile packet radio networks. 
     BACKGROUND OF THE INVENTION 
     Wireless data communication is often required in an environment where communications infrastructure, such as base stations or a wired backbone network, does not exist or is uneconomical or impractical to use. For example, in military or emergency environments, adequate infrastructure often does not exist in necessary locations and constructing such an infrastructure would be either impractical or uneconomical for the short-term use that is often required. Mobile wireless networks, which permit communication between wireless devices in the network over an air interface link without routing packets through any portion of a conventional cellular network, such as the wired backbone network, base station controllers, or base stations, have therefore been developed to provide wireless data communications in such environments. 
     Point-to-point communication in a mobile wireless network suffers from a number of disadvantages. One disadvantage is the limited transmission range associated with each wireless device in the network. Each wireless device in the network is limited in the distance over which it can reliably transmit, with transmission ranges of between a few feet and hundreds of feet being typical. Therefore, it is often the case that a source wireless device is out of transmission range with a destination wireless device with which the source device desires to communicate. The source wireless device user, therefore, has to wait until the destination wireless device comes within transmission range before attempting to communicate, or re-transmit the data at a later time when no acknowledgment is received from the destination device indicating that the device received the data from the source device. 
     FIG. 1 is a diagram of a two-node network illustrating this problem. The illustrative network includes a source device  115  and a destination device  120 . As shown, each device ( 115 ,  120 ) has an effective transmission range delineated by dotted lines  105  and  110 , respectively. Since the transmission range of source device  115  (dotted line  105 ) does not encompass destination device  120 , device  115  cannot communicate with node  120 . Device  115  must, therefore, move in closer proximity to device  120  to be able to transmit data to device  120 . FIG. 2 illustrates the situation where source device  115  and destination device  120  have moved within transmission range of one another. As shown, each device&#39;s ( 115 ,  120 ) effective transmission range (delineated by dotted lines  105  and  110 , respectively) encompasses the other device. Devices  115  and  120 , therefore, can communicate with each other. 
     An additional disadvantage with point-to-point communication in a mobile wireless network is that a source device may be unable to communicate with a destination device for a given period of time because the destination wireless device is either turned off or in an off-line status. In this case, the user of the source device must wait until the destination wireless returns to an on-line state, or turns on, before attempting once again to transmit data. 
     Therefore, there exists a need for a system and method that enables data communication between devices in a mobile wireless network, where the user of a sending device need only indicate data that is to be transmitted and the destination node to which the data is to be transmitted, and the sending device automatically attempts transmission of the data to the destination device, including re-transmission attempts if the destination device is out of transmission range, turned off, or off-line. 
     SUMMARY OF THE INVENTION 
     Systems and methods consistent with the present invention address this need by providing a wireless device that may store, and then forward, messages to destination devices when the destination devices come within transmission range of the wireless device. 
     In accordance with the purpose of the invention as embodied and broadly described herein, a method for introducing a first communication device to a second communication device in a communication network includes transmitting a message from the first communication device. The message includes presentation data that further includes at least one of audio, pictorial and video data representing an identity of the first communication device. The second communication device receives the message and extracts the presentation data from the message. The second communication device presents the presentation data to a user of the second communication device in auditory or visual form and receives user input in response to the presentation. The second communication device then stores the presentation data in memory in the second communication device based on the user input. 
     In another implementation consistent with the present invention, a method of providing an identifier for a communication device includes inputting at least one of auditory, pictorial and video information into the communication device and converting the auditory, pictorial and video information into device identifier data. The method further includes storing the device identifier data in a memory of said communication device. 
     In a further implementation consistent with the present invention, a method of sending a message to one or more recipients in a communications network includes retrieving device identifiers from a list of device identifiers stored in a memory of a first communication device. The device identifiers include at least one of audio, pictorial and video data. The method further includes presenting the audio, pictorial and video data to a user of the first communication device in auditory or visual form and receiving user input in response to said presentation. The method additionally includes designating a second communication device as a destination for the message based on said user input and sending the message to the second communication device. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate an embodiment of the invention and, together with the description, explain the invention. In the drawings, 
     FIG. 1 illustrates an exemplary network in which two wireless devices are located outside of one another&#39;s transmission ranges; 
     FIG. 2 illustrates an exemplary network in which two wireless devices have relocated within one another&#39;s transmission ranges; 
     FIG. 3 illustrates an exemplary wireless device consistent with the present invention; 
     FIG. 4 illustrates an exemplary database consistent with the present invention; 
     FIG. 5 illustrates a list of exemplary device identifiers consistent with the present invention; 
     FIG. 6 illustrates a list of exemplary messages received at a wireless device consistent with the present invention; 
     FIG. 7 illustrates a list of exemplary outgoing messages that are to be transmitted from a wireless device consistent with the present invention; 
     FIG. 8 illustrates a first exemplary user interface consistent with the present invention; 
     FIG. 9 illustrates a second exemplary user interface consistent with the present invention; 
     FIG. 10 illustrates an exemplary flow diagram of device initialization processing consistent with the present invention; 
     FIGS. 11-12 illustrate exemplary flow diagrams of device introduction processing consistent with the present invention; 
     FIGS. 13-14 illustrate exemplary flow diagrams of device processing for recording a message consistent with the present invention; 
     FIGS. 15-16 illustrate exemplary flow diagrams of device processing for sending a message consistent with the present invention; 
     FIGS. 17-19 illustrate exemplary flow diagrams of device processing for receiving a message consistent with the present invention; and 
     FIGS. 20-21 illustrate exemplary flow diagrams of device processing for reinitialization consistent with the present invention. 
    
    
     DETAILED DESCRIPTION 
     The following detailed description of the invention refers to the accompanying drawings. The same reference numbers in different drawings identify the same or similar elements. Also, the following detailed description does not limit the invention. Instead, the scope of the invention is defined by the appended claims. 
     Systems and methods consistent with the present invention improve the delivery of messages in wireless networks by permitting the temporary storage of messages in a sending device followed by the transmission or re-transmission of the messages when the destination devices come within the transmission range of the sending device. 
     EXEMPLARY DEVICE 
     FIG. 3 illustrates an exemplary wireless data communications device  300  in which a system and method, consistent with the present invention, for storing and forwarding messages can be implemented. Exemplary wireless device  300  may comprise a cellular phone, a personal or portable computer, a personal digital assistant (PDA) or the like. Wireless device  300  includes an antenna  305 , a wireless transceiver  310 , an output device  315 , an input device  320 , a processing unit  325 , a Random Access Memory (RAM)  330 , a Read Only Memory (ROM)  335 , a bus  340 , a vibration transducer  345 , a digital-to-analog (D/A) converter  350 , an analog-to-digital (A/D) converter  355 , a speaker  360  and a microphone  365 . 
     Antenna  305  may include a conventional antenna that facilitates reception and transmission of data packets by wireless transceiver  310 . Wireless transceiver  310  may include transceiver circuitry well known to one skilled in the art that can be tuned to multiple channels reserved for transmitting data in a wireless network (i.e., a channel can be a frequency, code, or time division of a physical radio frequency). 
     Input device  320  permits entry of data into wireless device  300  and includes a user interface (not shown). Output device  315  permits the output of data in video, audio, or hard copy format. Processing unit  325  performs all data processing functions for inputting, outputting, and processing of data. RAM  330  provides semi-permanent working storage of data and instructions for use by processing unit  325 . ROM  335  provides permanent or semipermanent storage of data and instructions for use by processing unit  325 . RAM  330  and ROM  335  may include large-capacity storage devices, such as a magnetic and/or optical recording medium and its corresponding drive. Bus  340  interconnects the various components of the device  300  to permit the components to communicate with one another. 
     Vibration transducer  345  includes a conventional mechanism for vibrating device  300  in response to command signals from processing unit  325 . Digital-to-analog (D/A) converter  350  includes conventional circuitry for converting digital audio signals from digital to analog signal form. Analog-to-digital (A/D) converter  355  includes conventional circuitry for converting analog audio input signals from microphone  365  to digital signal form. Speaker  360  includes a conventional mechanism for providing an auditory output of the D/A converted audio signals. Microphone  365  includes a conventional mechanism for converting auditory input into analog signals. 
     EXEMPLARY DATABASE 
     FIG. 4 illustrates an exemplary database  400 , consistent with the present invention, that may be stored within RAM  330  of device  300 . Database  400  may include device identifiers MY_UNIQUE_ID  405  and MY_ID  410  for device  300 , a list of device identifiers  415  for wireless devices other than device  300  consisting of FRIEND_ID — #1 through FRIEND_ID_#N, a list of messages  420  received by device  300  consisting of RECEIVED_MSG — #1 through RECEIVED_MSG 13  #N, a list of outgoing messages  425  that are queued for transmission in RAM  330  of device  300  consisting of OUTGOING_MSG — #1 through OUTGOING_MSG_#N, and a list  430  of speech data SPEECH_DATA — #1 through SPEECH_DATA_#N. 
     Device identifier MY_UNIQUE_ID  405  may include a global identifier that uniquely identifies device  300  and may consist of a unique series of bytes that are machine-readable. Audio identifier MY_ID  410  may include a recorded audio message that provides a human-understandable auditory identification for device  300 . Each data block from list  430  may include speech messages SPEECH_DATA — #1 through SPEECH_DATA_#N that are associated with the operation of device  300 . For example, when a message is received from another device, device  300  may play selected speech data from database  400 , containing an auditory message “A message has been received,” to a user of the device  300 . 
     FIG. 5 further illustrates list  415  which may include device identifiers for other devices with which device  300  communicates. List  415  consists of device identifiers FRIEND_ID — #1  505  through FRIEND_ID_#N  510 . Each device identifier FRIEND_ID — #1  505  through FRIEND_ID_#N  510  may include unique global identifiers MY_UNIQUE_ID — #1  515  through MY_UNIQUE_ID_#N  525  and audio identifiers MY_ID — #1  520  through MY_ID_#N  530 , respectively. Global identifiers MY_UNIQUE_ID — #1  515  through MY_UNIQUE_ID_#N  525  identify devices other than device  300 . Audio identifiers MY_ID — #1 through MY_ID_#N comprise recorded audio messages that can provide human-understandable auditory identifications for the devices identified by the global identifiers. 
     FIG. 6 illustrates received message list  420  includes messages that have been received from other devices at device  300  and stored in RAM  330 . Each individual message, RECEIVED_MSG — #1  605  through RECEIVED_MSG_#N  610  may consist of unique global identifiers MY_UNIQUE_ID — #1  515  through MY_UNIQUE_ID_#N  525  (described above), audio identifiers MY_ID — #1  520  through MY_ID_#N  530  (described above), and message data MESSAGE_DATA — #1  615  through MESSAGE_DATA_#N  620 , respectively. Each message MESSAGE_DATA — #1  615  through MESSAGE_DATA_#N  620 , may consist of audio, video, or pictorial data which includes the message from a device other than device  300 . 
     FIG. 7 illustrates outgoing message list  425  that include messages that are waiting in queue in RAM  330  for transmission to a selected destination device(s). Each individual message, OUTGOING_MSG — #1  705  through OUTGOING_MSG_#N  710 , may consist of the global device identifier MY_UNIQUE_ID  405  and audio identifier MY_ID  410  of device  300 , indicating device  300  as the message source. Each individual message from list  425  additionally may consist of unique global identifiers MY_UNIQUE_ID — #1  515  through MY_UNIQUE_ID_#N  525  (described above) and audio identifiers MY_ID — #1  520  through MY_ID_#N  530  (described above) indicating the devices to which each message is to be sent. Each individual message from list  425  further may further consist of audio, video, or pictorial message data MESSAGE_DATA — #1  615  through MESSAGE_DATA_#N  620  (described above) for each respective device to which device  300  is sending data. Furthermore, each outgoing message has a field  715  stored in database  400  that identifies when a message has been successfully delivered to an appropriate device. 
     EXEMPLARY USER INTERFACES 
     FIG. 8 illustrates a first exemplary user interface  800  for input device  320  of device  300 . User interface  800  may consist of a number of buttons disposed on the exterior package  845  of device  300  that can be selected for control of the operation of the device. These buttons include a RECORD button  805 , a PLAY button  810 , a SEND button  815 , a NEXT button  820 , a TO button  825 , a DISCARD button  830 , an ID button  835 , and a MSG button  840 . 
     RECORD button  805  initiates an audio recording function in which auditory input to microphone  365  is A/D converted and stored in RAM  335 . Selection of the PLAY button  810  initiates a playback function whereby audio data stored in RAM  335  is retrieved, D/A converted, and output through speaker  360 . SEND  815  button, when selected, indicates that a designated message is to be transmitted to a particular destination wireless device. The NEXT button  820 , when selected, indicates that the user wishes to proceed to a next message or identifier in a list of messages or identifiers. Selection of the TO button  825  indicates the selection of an identifier (FRIEND_ID) in device identifier list  415 . DISCARD button  830 , when selected, discards a received message (RECEIVED_MSG) in list  420  or a FRIEND_ID in the device identifier list  415 . Selection of the ID button  835  indicates that subsequent user input to device  300  refers to received message list  420  or a device identifier list  415 . MSG button  840 , when depressed, indicates that subsequent user input to device  300  refers to outgoing message list  425 . 
     FIG. 9 illustrates a second exemplary user interface  900  of input device  320  in which input device  320  and output device  315  may both reside within a video display  905 . Interface  900  includes a graphical user interface displayed upon video display  905  and includes graphical display “buttons” (shown as  805 - 840 ) for selecting the various functions described above with respect to FIG.  8 . The graphical display “buttons” can be selected using a movable cursor, a touch sensitive display screen or the like. Additionally, user interface  900  contains data field displays ( 910 ,  915 ,  920 ,  925 ) that can be scrolled through, using a specified “button,” to show the complete contents of data contained in lists  415 ,  420 ,  425 , and  430 . The graphical display buttons can also be used to select (highlight  930 ) a data item. 
     EXEMPLARY PROCESSING FOR INITIALIZATION 
     FIG. 10 is a flowchart of system processing, consistent with the present invention, for initializing device  300 . For purposes of providing a specific example in the following flow charts, assume that “Sally” operates a sending device and “Jim” operates a destination device, with both sending and destination devices being substantially similar to device  300 . 
     Initialization consists of device processing for permitting a user of device  300  to enter an auditory word or phrase that can be used as the user device&#39;s audio identifier MY_ID  410  when communicating with other devices. Device  300  first determines if the ID button  830  has been selected [step  1005 ]. If the ID button has been selected, device  300  next determines if the RECORD button  805  has also been selected [step  1010 ]. If the RECORD button  805  has been selected, then auditory input received at microphone  365  is analog-to-digital converted by A/D converter  355  and transferred, via processing unit  325 , to RAM  330  for storage as MY_ID  410  [step  1015 ]. RECORD button  805  can be de-selected to end the recording process [step  1020 ]. 
     Thus, if Sally or Jim desire to initialize their devices, each selects the ID function on their device and then selects the RECORD function. Sally and Jim then speak identifier phrases, such as “Sally” or “Jim” into microphone  365 . After speaking these phases, Sally and Jim de-select the RECORD function on their respective devices. Each of Sally and Jim&#39;s wireless devices respectively store audio identifiers MY_ID  410  in memory. 
     EXEMPLARY PROCESSING FOR INTRODUCTIONS 
     FIGS. 11-12 are flowcharts of system processing, consistent with the present invention, in which two wireless devices, such as Sally&#39;s and Jim&#39;s devices, are “introduced” to one another using a two-way “handshake”  protocol. Before initiation of the “handshake” protocol, the two wireless devices must first be brought within transmission range of one another. Once the devices are within transmission range, a sending device determines if the device&#39;s ID button  835  has been selected [step  1105 ] (FIG.  11 ). If the ID function  835  has been selected, the sending device next determines if the SEND button  815  has also been selected [step  1110 ]. Sally may, thus, initiate the introduction of her device with Jim&#39;s device by selecting the ID function  835  and SEND function  815 . 
     Once the SEND button  815  has been selected, the sending device transmits its MY_UNIQUE_ID  405 , MY_ID  410  (e.g., auditory phrase “Sally”), and an indication that the transmission is an identification message [step  1115 ]. When the destination device receives the identification message from the sending device [step  1120 ], the destination device alerts the user of the destination device of the receipt of the message [step  1125 ]. This alert can include an audible message, such as a chime or bell sound, and/or a vibration of the device using vibration transducer  345 . 
     After alerting the user, the destination device determines if the PLAY button  810  has been selected [step  1205 ] (FIG.  12 ). If so, the destination device retrieves speech data SPEECH_DATA_#x from database  400  and outputs the speech data, and then the sending device&#39;s audio identifier MY_ID  410 , to A/D converter  350  and speaker  360  [step  1210 ]. SPEECH_DATA_#x may consist of an auditory phrase such as “Making friends with . . . ”. In accordance with steps  1205 - 1210 , Jim may thus select the PLAY function  810  in response to an alert message from his device and hear the auditory messages “Making friends with . . . ” and “Sally” corresponding to SPEECH_DATA_#x and the sending device&#39;s MY_ID  410 . 
     After listening to the sending device&#39;s MY_ID  410  (e.g., phrase “Sally”), the user of the destination device then may determine whether or not to accept the sending device as a “friend.” If the user selects the DISCARD button  835  [step  1215 ], then the destination device removes from RAM  330  the MY_UNIQUE_ID  405  and MY_ID  410  data received from the sending device [step  1225 ]. If, however, the DISCARD button  835  is not selected, the sending device&#39;s MY_UNIQUE_ID  405  and MY_ID  410  are stored in list  415  of the destination device&#39;s ROM  335  as MY_UNIQUE_ID_#x and MY_ID_#x, respectively [step  1220 ]. Therefore, after hearing the phrases “Making friends with . . . ” and “Sally,” Jim may accept Sally as a friend by neglecting to select the DISCARD function  835 . 
     To complete the “introduction” process, the destination device also performs steps  1105  (FIG. 11) through  1230  (FIG. 12) either simultaneously with, or after, the sending device. After completion of these steps by both devices, the sending and destination devices complete the “introduction” process when the ID button  835  is de-selected at both devices [step  1230 ]. Sally and Jim may, thus, complete the “introduction” process by de-selecting the ID buttons  835 . Both Sally&#39;s device and Jim&#39;s device now retain the MY_UNIQUE_ID  405  and MY_ID  410  of each other&#39;s devices in memory. 
     EXEMPLARY PROCESSING FOR RECORDING A MESSAGE 
     FIGS. 13-14 are flowcharts of system processing, consistent with the present invention, in which wireless device  300  records a message. For purposes of providing a specific example, assume that Sally wishes to send a message to Jim, with whom she has previously introduced herself (described above) and that Jim&#39;s audio identifier MY_ID is the first identifier stored in list  415  (e.g., MY_ID — #1). 
     To record a message, device  300  first determines if the MSG function  840  has been selected [step  1305 ] (FIG.  13 ). Sally desires to send a message to Jim, therefore, she selects the MSG function  840 . Device  300  then retrieves the currently indexed (e.g., index=x) audio identifier (MY_ID_#x) from list  415  and outputs the identifier to D/A converter  350  and speaker  360  [step  1310 ]. Sally&#39;s device retrieves Jim&#39;s identifier MY_ID — #1 from list  415  and plays the identifier. Sally hears the phrase “Jim.” 
     Device  300  then determines if the NEXT function has been selected [step  1320 ]. If so, device  300  increments index x (i.e., x=x+1) [step  1315 ] and returns to step  1310 . In the case of Jim and Sally, Jim is the first identifier in list  415  and Sally, therefore, does not need to select the NEXT function  820 . If the NEXT function  820  has not been selected, then device  300  determines if the TO function  825  has been selected [step  1325 ]. If so, device  300  stores the currently indexed MY_UNIQUE_ID_#x in an outgoing message [step  1330 ]. Since Sally wishes to send a message to Jim, whose identifier MY_ID — #1 is currently indexed, Sally selects the TO function  825 . 
     Device  300  then determines if the NEXT function  820  has again been selected [step  1335 ]. If so, device  300  increments index x (i.e., x=x+1) and returns to step  1310  to permit the user to send a message concurrently to two or more devices. In the example, Sally wishes to send a message only to Jim, therefore, Sally does not select the NEXT function  820 . If the NEXT function is not selected, device  300  determines if the RECORD function  805  has been selected [step  1340 ]. If so, auditory input received at microphone  365  is analog-to-digital converted by A/D converter  355  and transferred, via processing unit  325 , to RAM  330  for storage as MESSAGE_DATA_#x [ 1345 ]. Device  300  ends the recording process after de-selection of the RECORD function  805  [step  1350 ]. To record a message for Jim, Sally selects the RECORD function  805 , speaks into microphone  365 , and de-selects the RECORD function  805  when she has finished. 
     Device  300  next determines if the PLAY function  810  has been selected [step  1405 ] (FIG.  14 ). If Sally wishes to hear the message that she has recorded, she selects the PLAY function  810 . If the PLAY function  810  is selected, device  300  plays recorded message MESSAGE_DATA_#x [step  1410 ]. Once playback of recorded message MESSAGE_DATA_#x completes, or the PLAY function  810  is de-selected [step  1415 ], device  300  determines if the RECORD function  805  is selected [step  1420 ]. If so, processing returns to step  1345  (FIG. 13) for re-recording of message MESSAGE_DATA_#x. In the example, if Sally chooses not to re-record the message after hearing her recorded message, she does not select the RECORD function  805 . If the RECORD function  805  is not selected, device  300  determines if the SEND function  815  has been selected [step  1425 ]. If so, device  300  queues MESSAGE_DATA_#x in RAM  330  for subsequent transmission [step  1430 ]. Sally&#39;s message to Jim, therefore, is queued as OUTGOING_MSG_#x in database  400 . 
     The exemplary processing in the flowcharts of FIGS. 13-14 illustrates the recording of audio input by a device user for inclusion in a message. One skilled in the art will appreciate, however, that this processing can be modified to include user input such as video or pictorial data. Such user input can further include handwritten pictures or messages using a digital stylus and “tablet.” 
     EXEMPLARY PROCESSING FOR SENDING A MESSAGE 
     FIGS. 15-16 are flowcharts of system processing, consistent with the present invention, in which device  300  transmits a message queued in RAM  330  to a destination device. As described above, Sally&#39;s message to Jim has been queued as OUTGOING_MSG_#x in database  400 . To initiate transmission of an outgoing message, the sending device first sends a probe message to the identified device(s) [step  1505 ] (FIG.  15 ). The probe message may include a request to send data to the destination device(s). The sending device then determines if the destination device(s) responds with an authorization message(s) [step  1510 ]. The authorization message authorizes the sending device to send the data to the destination device. If the destination device does not respond with authorization message(s), the sending device waits a configurable period of time before sending another probe message [step  1515 ]. The configurable period of time may be preset by the manufacturer or set by the device user. If the destination device(s) does respond with an authorization message(s), then the sending device  300  establishes a link-layer wireless connection with the responding device using conventional mechanisms [step  1520 ]. 
     In the example, Sally&#39;s device transmits a probe message to Jim&#39;s device, which responds with an authorization message. In response to receipt of the authorization message, Sally&#39;s device establishes a link-layer wireless connection with Jim&#39;s device. 
     After establishing the wireless connection, the sending device  300  transmits an outgoing message (OUTGOING_MSG_#x) including MY_UNIQUE_ID  405 , MY_ID  410 , and message data MESSAGE_DATA_#x [step  1525 ]. Sally&#39;s device would therefore transmit the outgoing message (OUTGOING_MSG_#x) queued in the memory of the device. 
     After transmission of the message, the sending device awaits receipt of a positive acknowledgment from the destination device, indicating that the destination device successfully received the message [step  1530 ]. Once received, the sending device marks (field  715  in database  400 ) the transmitted message as delivered [step  1605 ] (FIG.  16 ). The sending device then may optionally delete the transmitted message from database  400  [step  1610 ]. In the example, Sally&#39;s device awaits, after transmitting OUTGOING_MSG_#x, receipt of the positive acknowledgment from Jim&#39;s device. When the acknowledgment is received, Sally&#39;s device marks the transmitted message as delivered in field  715  of database  400 . 
     EXEMPLARY PROCESSING FOR RECEIVING A MESSAGE 
     FIGS. 17-19 are flowcharts of system processing, consistent with the present invention, for receiving a message at a destination device. The destination device receives a probe message from the sending device indicating that the sending device wishes to transmit a message to the destination device [step  1705 ] (FIG.  17 ). The destination device then compares the MY_UNIQUE_ID contained in the probe message from the sending device with the identifiers contained in the destination device&#39;s list  415  [step  1710 ]. If the sending device&#39;s MY_UNIQUE_ID matches an identifier within list  415  [step  1715 ], then the destination device responds with an authorization message to the sending device [step 1735 ]. If no match is found, the destination device responds with a non-authorization message to the sending device [step  1720 ]. The non-authorization message indicates that the destination device will not accept a message from the sending device. 
     In the example, Jim&#39;s device receives a probe message from Sally&#39;s device. Since Jim and Sally have previously been introduced, the Sally&#39;s MY_UNIQUE_ID contained in the probe message matches an identifier previously stored in list  415 . Jim&#39;s device therefore responds with an authorization message. 
     Optionally, the destination device may respond with an authorization message even if the sending device&#39;s MY_UNIQUE_ID does not match any identifiers in the destination device&#39;s list  415  [step  1725 ]. This may be advantageous in a multi-hop wireless network where point-to-point connectivity between a sending device and a destination device may be impracticable. Therefore, in such a wireless network, each device in the network may route messages, hop by hop, to intended destination devices. To forward messages intended for other wireless devices, the user of the destination may initiate a “forwarding” mode. If the “forwarding” mode has been initiated, the destination device receives a message from the sending device in response to the authorization message [step  1730 ] and then forwards the received message on to the intended destination device [step  1805 ] (FIG.  18 ). In the example, assuming that Jim&#39;s device receives a message from a device used by Bob, and the message is intended for Henry, Jim&#39;s device may forward the message on to Henry&#39;s device. 
     Returning to step  1715 , the destination device determines if the sending device&#39;s MY_UNIQUE_ID matches an identifier within list  415 . If so, the destination device responds with an authorization message to the sending device [step 1735 ]. In response to the authorization message, the destination device  300  receives a message from the sending device [step  1740 ]. The destination device alerts the device user that a message was received [step  1810 ] (FIG.  18 ). The destination device then determines if the PLAY button  810  has been selected [step  1815 ]. If so, the destination device plays the MY_ID_#x and MESSAGE_DATA_#x contained in the message received from the sending device (RECEIVED_MSG_#x) [step  1820 ]. In the example, Jim&#39;s device receives the message sent by Sally and then alerts Jim that the message has been received. In response to the alert, Jim selects the PLAY function  810  and listens to Sally&#39;s MY_ID audio identifier and Sally&#39;s message MESSAGE_DATA_#x. 
     The destination device user then may have the following options: 1) maintain the message in memory; 2) delete the message; 3) reply to the message; or 4) forward the message on to other devices. The destination device determines if the MSG button  840  has been selected indicating that the user desires to forward the message on to another device(s) [step  1830 ]. If not, then the destination device determines if the RECORD button  805  has been selected indicating that the user desires to reply to the received message [step  1835 ]. If the RECORD button  805  has been selected, then the destination device permits the user to reply to the message by performing message recording processing beginning at step  1325  of FIG.  13 . However, if the RECORD button  805  has not been selected, then the destination device determines if the DISCARD function  830  has been selected [step  1840 ] indicating that the user desires to delete the received message. If the DISCARD function  830  has not been selected, the message receiving processing is completed, with the device retaining the received message in memory. If the DISCARD function  830  has been selected, the destination device deletes the sending device&#39;s RECEIVED_MSG_#x from memory [step  1845 ]. 
     If, at step  1830 , the destination device determines that the MSG button  840  has been selected, then the destination device permits the user to forward the message to other devices by continuing processing at step  1850 . At this step, the destination device determines if the TO function  825  has been selected. If so, the destination device adds the selected FRIEND_ID as a destination identifier in an outgoing message [step  1905 ] (FIG.  19 ). 
     The destination device then determines if the NEXT function  820  has been selected [step  1910 ] indicating that the device user desires to select another device to receive the forwarded message. If so, the destination device continues processing at step  1850  (FIG.  18 ). If not, then the destination device determines if the SEND function  815  has been selected [step  1915 ]. If the SEND function  815  has been selected, the destination device queues the outgoing message for subsequent delivery [step  1920 ] (see “Message Sending Processing” of 
     Returning to the example, Jim, after listening to the message from Sally, elects to delete the message from memory, instead of replying to the message or forwarding the message, and therefore selects the DISCARD function  830 . 
     EXEMPLARY PROCESSING FOR RE-INITIALIZATION 
     FIGS. 20-21 are flowcharts of system processing, consistent with the present invention, for re-initializing device  300 . A user of device  300  may wish to re-initialize device  300  by removing MY_UNIQUE_ID  405  and all received messages (RECEIVED_MSG — #1  605  through RECEIVED_MSG_#N  610 ) that have been stored in database  400 . To re-initialize, device  300  determines if the MSG function  835  has been selected by the device user [step  2005 ] (FIG.  20 ). If so, device  300  determines if the DISCARD button  830  has further been selected [step  2010 ] indicating that the user desires to delete a received message from memory. If the DISCARD button  830  has been selected, device  300  deletes a current received message (RECEIVED_MSG_#x) stored in database  400  [step  2015 ]. Device  300  then determines if the message just discarded is the last received message [step  2020 ]. If not, processing returns to step  2010 . 
     In the example, Jim may partially re-initialize his device by first selecting the MSG function  840  and then repeatedly selecting the DISCARD function  830  until all of the received messages have been deleted from memory. 
     To re-initialize the device identifiers (FRIEND_ID — #1  505 -FRIEND_ID_#N  510 ), device  300  determines if the user has selected the ID function  835  [step  2105 ] (FIG.  21 ). If so, device  300  next determines if the DISCARD button  830  has been selected, indicating that the device user desires to delete a device identifier from memory [step  2110 ]. If so, device  300  deletes a current FRIEND_ID_#x in list  415  [step  2115 ]. Device  300  concludes re-initialization processing when the most recently deleted identifier is the last identifier in list  415  [step  2120 ]. 
     In the example, Jim may complete the re-initialization of his device by selecting the ID function  835  and then repeatedly selecting the DISCARD function  830  until all of the device identifiers have been deleted from memory. 
     CONCLUSION 
     Systems and methods consistent with the present invention provide mechanisms that improve the delivery of messages in wireless networks by permitting temporary storage of messages in a sending device followed by the transmission or re-transmission of the messages when the destination device(s) comes within the transmission range of the sending device. 
     The foregoing description of exemplary embodiments of the present invention provides illustration and description, but is not intended to be exhaustive or to limit the invention to the precise form disclosed. Modifications and variations are possible in light of the above teachings or may be acquired from practice of the invention. For example, while a series of steps have been presented with regard to the processing of FIGS. 10-21, the order of the steps does not matter. 
     In addition, while communication between wireless devices in the exemplary embodiments above has been disclosed as occurring directly across an air interface, communication between wireless devices may also occur across a cellular infrastructure and through a data network (e.g., the Internet). Such communication would allow messages to be stored on a data server connected to the data network. Storing the messages on a data server would permit wireless device users to archive voice recordings and mail recordings to other wireless devices. This would further advantageously permit wireless devices to exchange messages with other wireless devices anywhere in the world across the data network. 
     Furthermore, though the exemplary processing described above uses audio data as unique identifiers for each device, one skilled in the art will appreciate that the unique identifiers can include digital video or digital pictorial data. For example, a digital “stylus and tablet” can be associated with transceiver and processing circuitry to permit entry of handwritten pictures (e.g., signatures) for transmission as a MY_UNIQUE_ID device identifier. As another example, a digital camera can be associated with transceiver and processing circuitry to permit the entry of digital pictures (e.g., portraits) for transmission as a MY_UNIQUE_ID device identifier. As an additional example, a digital camcorder can be associated with transceiver and processing circuitry to permit the entry of digital video (e.g., video of the device user) for transmission as a MY_UNIQUE_ID device identifier. The transceiver and processing circuitry may be contained integrally within the digital “stylus and tablet,” digital camera, or digital camcorder. The digital “stylus and tablet,” camera, and camcorder can also be separate devices interconnected with device  300  so as to permit device  300  to download pictorial or video data. 
     The exemplary processing described above can be adapted to permit the entry and use of digital video or pictorial data, instead of audio data, for identifying devices. For example, when selecting a destination device for sending a message, a device user could scroll through digital pictures corresponding to other “friend” devices, instead of listening to audio identifiers, to select a message destination. As another example, the exemplary “initialization” processing, described above with respect to FIG. 10, can be adapted to permit the entry and storage of video or pictorial data from MY_UNIQUE_ID instead of recording a verbal phrase. Additionally, audio identifiers MY_UNIQUE_ID_AUDIO and video/pictorial identifiers MY_UNIQUE_ID_PIC can be used together for identifying a device. For example, when selecting a device as a destination for a message, a device user can scroll through digital pictures corresponding to other “friend” devices and hear the audio identifier associated with each visual picture. 
     The scope of the invention is defined by the following claims and their equivalents.