Abstract:
An apparatus and method for sending a message to a wireless device over a wireless network includes receiving the message transmitted over an external network in communication with the wireless network or a gateway in the network. The message includes an expiration instruction and expiration information indicating a time after which the message is not to be delivered to the wireless device. The wireless network or gateway attempts to deliver the message to the wireless device over the wireless network, and carries out the expiration instruction by deleting the message at the time indicated by the expiration information.

Description:
BACKGROUND OF THE INVENTION 
   This invention relates to an interactive wireless network, and in particular, message delivery features for text messages delivered over a wireless network. 
   Interactive messaging services provide for two-way communication, e.g., the transmission of text messages, between a wireless device such as a pager and an interactive wireless network connected to an external network such as the Internet. In current interactive messaging services, if a user&#39;s wireless device is turned off, not activated or outside the service range of the wireless network to be able to receive signals, a text message sent by a sender is kept in the user&#39;s “mailbox” at a storage location in the wireless system. The text message remains undelivered in the user&#39;s mailbox until the wireless device is able to receive the message. In such messaging services, the sender may not know that the user has not received an undelivered message, and might have otherwise preferred to forward the message to another user for immediate attention. 
   Wireless networks are also limited with respect to how much information can be sent with each data packet transmission, and are further limited by the screen on the wireless device which displays the transmitted information such as a text message. 
   SUMMARY OF THE INVENTION 
   In general, in one aspect, the invention features an apparatus for sending a message to a wireless device over a wireless network. The apparatus includes a gateway for receiving the message transmitted over an external network in communication with the gateway, the message including an expiration instruction and expiration information indicating a time after which the message is not to be delivered to the wireless device, for attempting to deliver the message to the wireless device over the wireless network, and for carrying out the expiration instruction by deleting the message at the time indicated by the expiration information. 
   Implementations of the invention may also include one or more of the following features. The gateway may include a database for storing the message. The database may have a directory structure for associating the wireless device with the message. The gateway may flag the message in the database with the expiration information and execute a protocol to determine when the flagged expiration information matches a time indicated by the gateway. 
   The gateway may transmit the message to the external network at the time indicated by the expiration information. The expiration information may indicate a length of time before the gateway carries out the expiration instruction, or a date and time for the gateway to carry out the expiration instruction. 
   The message may be a text message. The expiration instruction and expiration information may be included in the text message or in a header of the message. 
   The external network may be the Internet. The wireless device may be a pager. 
   The gateway may attempt to deliver the message to the wireless device over the wireless network at a predetermined time. 
   In general, in another aspect, the invention features a method of sending a message to a user of a wireless device over a wireless network. The message, including an expiration instruction and expiration information indicating a time after which the message is not to be delivered to the wireless device, is sent. The message is attempted to be delivered to the wireless device over the wireless network. The message is deleted at the time indicated by the expiration information. 
   Implementations of the invention may also include one or more of the following features. The message may be returned to a source external to the wireless network. The message may be a text message, and the expiration instruction and expiration information may be included in the message. The expiration instruction and expiration information may be included in a header of the message. 
   The method may include flagging the message with the expiration information and carrying out the expiration instruction by comparing the flagged message with a time indicated by the wireless system. The method may also include determining whether the message has been delivered to the wireless device prior to deleting the message. The message may be sent over the Internet through a connection to the wireless network. The message may be attempted to be delivered to the wireless device over the wireless network at a predetermined time. 
   In general, in another aspect, the invention features a method of sending a message to a user of a wireless device over a wireless network that maintains a mailbox for the user. A message, which includes an expiration instruction and expiration information indicating a time after which the message is not to be delivered to the wireless device, is sent to the user&#39;s mailbox. The message in the user&#39;s mailbox is flagged with the expiration information. The message in the user&#39;s mailbox is attempted to be delivered to the wireless device over the wireless network. The flagged message is compared with a time indicated by the wireless system. The message is deleted from the user&#39;s mailbox at the time indicated by the expiration information. 
   The present invention has the advantage of providing an easily implemented instruction that a message sent to a wireless device will expire or lapse if it is not delivered by a specified date and time. 
   The present invention has the further advantage that the instruction may be in a format recognizable by any wireless system protocol. 
   The present invention has the additional advantage that the expiration instruction is executed by a gateway without relying on any application over the Internet or contained in any wireless device. 
   Other features and advantages of the invention will become apparent from the following detailed description, and from the claims. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
       FIG. 1  is a schematic drawing of the components of an interactive wireless system according to the present invention. 
       FIG. 2  is a flow chart showing an implementation of the expired message feature of the present invention. 
       FIG. 3  is a flow chart showing an implementation of the deferred delivery feature of the present invention. 
       FIG. 4  is a flow chart showing an implementation of the “no mailbox” feature of the present invention. 
       FIG. 5  is a flow chart showing an implementation of the web site access feature of the present invention. 
   

   DESCRIPTION OF THE PREFERRED EMBODIMENTS 
   The present invention relates to message delivery features in an interactive wireless communications system between a wireless device such as a pager and an external network such as the Internet. One or more gateways allow different systems, i.e., the Internet or other wide area network and a wireless communication system such as a pager service, to communicate with each other over a wireless network. In the present invention, the gateway functions as an interface between an interactive wireless device such as a pager and the Internet, thus providing interactive communications over a wireless network. 
     FIG. 1  shows the components of an interactive wireless system  100  according to the present invention. A wireless device such as a pager  1  communicates with a wireless communication network  5 . An example of such a wireless communications network uses the Mobitex® technology of the Cingular Interactive Intelligent Wireless Network service provided by Cingular Wireless. The features of the present invention may be implemented, e.g., by Cingular Wireless&#39;s IM+Interactive Messaging Service. 
   The Mobitex® network is a two-way wireless data service that can be connected with other complimentary networks. A wireless data service such as the Mobitex® network includes a hierarchy of communications systems that can provide nationwide wireless service through a network of base stations and local switches under the control of higher order regional switches or exchanges. A wireless device such as a pager may operate with a wireless communications system using an over-the-air protocol such as HP98 or the Blackberry protocol developed by RIM. 
   Gateway  10  processes data received, e.g., from the Internet  70  for use in wireless communication network  5 . The components of gateway  10  may be connected over an internal network  12 ,  14 ,  16 , which may be a local area network (LAN). One or more wireless network exchanges such as Mobitex® regional switches  20 ,  22 ,  24 , which may be at separate locations, communicate with gateway  10  through Nrouters  30 ,  32 ,  34 . The communication between regional switches  20 ,  22 ,  24  and Nrouters  30 ,  32 ,  34  may use an X.25 protocol. Up to two dual-ported connectivity cards, e.g., those manufactured by Eicon Networks, can be placed in each Nrouter, permitting a total of four Fast-Sequenced Transport (FST) connections per Nrouter. Gateway  10  can handle up to 255 Nrouters. 
   The communications received by Nrouters  30 ,  32 ,  34  are processed by a series of protocol handlers  40 ,  42 ,  44 ,  46 . The protocol handlers communicate with the Nrouters using X-sockets over internal network  12 . Such sockets are point-to-point, two-way software communications interfaces that direct the protocol handlers to access the internal network by creating a communications end-point or socket and returning a file descriptor with which to access that socket. The underlying protocol for packaging and decoding text messages sent by wireless devices and received by the gateway is Simple Mail Transport Protocol (SMTP). 
   An unlimited number of protocol handlers may be employed. Each protocol handler may include up to five protocol processes, which may be any combination of HP98, HP99 or HPID-4 processes. Each protocol processor may back up the other protocol processors automatically. The protocols handled by protocol handlers  40 ,  42 ,  44 ,  46  specify that message storage and internal email access may be handled by the UNIX standard Network File System (NFS) distributed file system from SUNSOFT, which allows data to be shared across the network regardless of the protocol. Each protocol handler maintains a database cache, i.e., a small, fast memory holding recently accessed data, to speed up internal network communications and to limit database access requests over the LAN. 
   Protocol handlers  40 ,  42 ,  44 ,  46  process information contained in user database machines, e.g., user database  50 , user database backup  52 , message store  54  and message store backup  56 . The protocol machines communicate with the database machines using X-sockets over internal network  14 . The database machines contain an interface to content addressable memory (CAM) (not shown) for updating information, e.g., user account information and status. Multiple backup machines may be used in gateway  10 , each being synched automatically by sockets communications. 
   The user databases of the gateway may be configured with a directory structure. Every user account stored in the user database has a unique identifier such as a Mobitex® Access Number. 
   The results of protocols processed by protocol handlers  40 ,  42 ,  44 ,  46  using data from the user database machines are communicated externally to gateway  10  via network  16 . An Internet mail router  60  and Internet mail router backup  62  connected to the internal network handle inbound and outbound communications traffic with an external network such as the Internet  70 , as well as X-sockets traffic. If necessary, a separate X-sockets machine and backup machine (not shown) can be added. The transport protocol for communications over the Internet may be, e.g., TCP/IP or TELNET for remote login. 
   The internal network is also connected to wireless network subsystems  80  that communicate through wireless network  5 . Examples of wireless network subsystems are an Interactive Voice Response (IVR) system which processes remote entries by a user from a touch tone telephone to query a database and obtain computerized voice responses, and a wireless paging system using an advanced XTAP protocol. 
   The gateway may be configured from a standard Santa Cruz Operation (SCO) UNIX system, with the web access program being Windows NT by Microsoft. The system may use both TCP/IP and UDP for communications, and hypertext markup language (HTML) may be used to support Internet web browsers, including those provided by Netscape and Microsoft. The computer language used by the gateway components may be in the C programming language, java or HTML. The message delivery features of the present invention may be implemented in the C programming language. 
   The gateway as configured in such a wireless communications system includes a mailbox for the user of the wireless interactive device, e.g., in message store  54 . For example, when a sender sends a text message over the Internet to a user of a wireless device, the gateway stores the message in the user&#39;s mailbox and handles the communications and transmissions protocols to deliver the message over the wireless network. Based on information about the user in the user database, the gateway determines the user&#39;s wireless device type, and the gateway is programmed to handle a variety of protocols for different wireless devices. The gateway can access profile information, such as user preferences, for the user stored in the user database. The gateway also uses information in the user database to ensure that the user is a valid subscriber to the wireless service and to maintain billing information based on usage. The gateway performs the important function of managing the amount of data flow in the internal network and the volume of communications traffic over the wireless network, which has a limited bandwidth and which handles limited size data packets. 
   In operation, the gateway must first determine if the user&#39;s interactive wireless device is “on air” or capable of receiving messages. Depending on the on-air status of the interactive wireless device, the gateway delivers a message in the user&#39;s mailbox to the device. 
   A text message may be sent to a user of a wireless device through an external network that communicates with the wireless network. The features of the wireless network are controlled by the gateway, which issues the text message to the user. The present invention relates to text commands placed within or appended to the body of a text message to address and control the message delivery mechanism for the wireless service. The text message and related commands may be created and specified, e.g., using any Internet-compatible email service such as Microsoft Outlook. 
   The present invention concerns the use of key words or commands embedded in text messages or as SMTP headers to text message transmissions as instructions to the gateway for controlling the delivery of messages to the wireless device. The message delivery features can also be set up as SMTP-type leaders to automatically insert the command into the body of the text. Each command has an SMTP header equivalent, which may be implemented, e.g., as a windows-type shortcut button in an email program. 
   The gateway recognizes the key words as instructions to implement delivery protocols for the messages to which they relate. The key words have a format that is not likely to be used in a typical text message, and which provide a clear instruction for the sender, the user and the gateway. Since the message can be placed in the body of the text message itself, it may be recognized by any interactive wireless system protocol. 
   Accompanying the key words are numeric values which set the parameters for the message delivery features. The protocol handlers may be programmed to recognize a variety of formats, e.g., for specifying the date and time. For example, if a single number is specified, it may be read as a number of minutes for the gateway to wait before carrying out the protocol for the requested feature. Alternatively, the sender may specify the time and date in a format such as hh:mm/DD/MM, where hh:mm represents the time as hour hh and minute mm and DD and MM represent the day and month, respectively. When the time is specified, the sender may further indicate in which time zone he or she is located so that the gateway will apply the delivery feature at the correct time for the user. 
   To carry out the message delivery features of the present invention, the gateway includes a protocol that may append a file name flag to the message, whether the message is placed in the user&#39;s mailbox or at another storage location. The file name flag includes the date and time that the delivery feature is to be applied to the message. When the specified date and time are reached, protocols in the gateway open the designated file and perform the requested message delivery feature. 
   The message delivery features of the present invention are performed and controlled by the gateway. Such gateway functions are accessible by the Internet or an interactive wireless device, and do not rely on the operation of any Internet application or client application in the wireless device itself. Thus, these features are entirely user-initiated and user-controlled. 
   Expired Message Feature 
   One feature of an interactive wireless system of the present invention allows a sender to send a message to the user of a wireless device that will automatically “expire” or lapse if it is not received by the wireless device by a specified date and time. For example, a user may not be able to receive a message within a specified time period because the wireless device is outside the service range of the wireless network or is turned off. Otherwise, if the wireless device is on air and within range, it will immediately receive the message placed in the user&#39;s mailbox. 
     FIG. 2  is a flow chart  200  showing how the expired message feature may be implemented. Using an Internet-compatible email program, the sender sends a text message to the user including a key word such as .EXPIRE followed by date and time information (step  210 ). For example, the phrase .EXPIRE 5 in the text of the message may indicate an instruction to the gateway that the delivery time for the message will expire in five minutes, i.e., that if the message is not received by the user&#39;s wireless device within five minutes, then the message should be deleted from the system. Alternatively, the text command for the expired message feature may have the following format: .EXPIRE MM/DD/YY hh:mm, which represents an instruction to the gateway to attempt to deliver the message at month MM, day DD, year YY at hour and minute hh:mm. As an alternative to including the key word in the text message itself, the sender may include an SMTP header for the message having a format such as EXPIRE MM/DD/YY hh:mm. 
   The gateway recognizes the key word as an instruction regarding delivery of the message (step  220 ). The gateway flags and delivers the message to the user&#39;s mailbox (step  230 ), where it is stored until the specified expiration date and time. The file name associated with the flagged message is the date and time that the message will expire. 
   When the gateway determines that the specified expiration date and time have been reached, the gateway looks to see whether the message remains undelivered in the user&#39;s mailbox (step  240 ). In particular, the gateway may open the flagged file identified by the specified date and time. If the message is no longer in the user&#39;s mailbox because it has been delivered to the user&#39;s wireless device, the expired message feature is deemed to have lapsed (step  250 ). If the message remains undelivered in the user&#39;s mailbox, it is deleted from the user&#39;s mailbox (step  260 ), and is returned to the sender by a return email message (step  270 ). 
   To carry out the expired message feature, the gateway may include database having a directory called EXPIRE. This directory is divided into subdirectories corresponding to each user&#39;s access number, and each access number subdirectory having a further subdirectory for the flagged file name (i.e., the specified expiration date and time). The gateway continuously executes a program designated EXPIRE, and when the date and time match the date and time flag of a file in one of the subdirectories, the protocol machine opens the files with that designation, and if it still in a user&#39;s mailbox as undelivered, deletes the message. 
   Deferred Delivery Feature 
   Another feature of an interactive wireless system of the present invention allows the sender to send a message to the user of the wireless device, but defer delivery of the message until a specified date and time. Using the deferred delivery feature, the sender sets the delivery date and time for a message to be sent to the user. 
     FIG. 3  is a flow chart  300  showing how the deferred delivery feature may be implemented. Using an Internet-compatible email program, the sender sends a text message to the user including a key word such as .DELIVER followed by specified date and time information in the text of the message or in an SMTP header of the message (step  310 ). The text command for this feature may have the following format: .DELIVER MM/DD/YY hh:mm, which represents in instruction to the gateway to attempt to deliver the message at month MM, day DD, year YY at hour and minute hh:mm. 
   The gateway recognizes the key word as an instruction regarding delivery of the message (step  320 ). The gateway flags and stores the message in a message store database until the specified delivery date and time (step  330 ), similar to the protocol for the expired message feature. When the gateway determines that the specified delivery date and time have been reached, the message is delivered to the user&#39;s mailbox for delivery to the user&#39;s wireless device (step  340 ). For example, the gateway may store the message in a DELIVER subdirectory corresponding to the user&#39;s account number under a flagged file name including the specified delivery date and time. A DELIVER protocol executed by the gateway then determines whether the date and time match the date and time of a file in one of the DELIVER subdirectories, at which time the gateway places the message in the user&#39;s mailbox to be delivered to the user&#39;s wireless device. 
   The deferred delivery feature has several applications. One application is that a message sent by the sender, at a time that may be inconvenient for the user of the wireless device to receive the message or when the user cannot be disturbed, may be delivered at a more convenient time for the user. Another application is as a reminder service, in which a reminder message sent by the sender is delivered to the user of the wireless device at a specified date and time. 
   A related feature of the deferred delivery feature would allow the sender to cancel a deferred delivery message that the sender has sent or to modify the date and time at which the message is to be delivered to the user. 
   The deferred delivery feature may be combined with the mail expiration feature in a single message. Thus, the sender can specify that a message be delivered to the user at a specified date and time, but if the user is unable to receive the message at the specified date and time because the wireless device is not on air or is out of range, the message may expire within a specified amount of time and be deleted from the user&#39;s mailbox. 
   “No Mailbox” Feature 
   Another feature of the wireless system of the present invention allows the sender to designate that a message not immediately delivered to the user&#39;s wireless device be deleted from the user&#39;s mailbox and returned to the sender as undelivered. For example, the sender may desire that if a message containing an urgent request is not received immediately, he or she will resend the message to another user who is on air and can deal with the urgent request. 
     FIG. 4  is a flow chart  400  showing how the “no mailbox” feature may be implemented. Using an Internet-compatible email program, the sender sends a text message to the user including a key word such as .NOMAILBOX in the text of the message or in an SMTP header of the message (step  410 ). The gateway recognizes such a key word as an instruction regarding delivery of the message (step  420 ). The gateway then determines whether the user&#39;s wireless device is capable of receiving message, i.e., on air and within range (step  430 ). If the user&#39;s wireless device is on air and within range, the message is delivered to the user&#39;s wireless device (step  440 ). If the user&#39;s wireless device is not on air or is outside the service range, the message is deleted from the user&#39;s mailbox (step  450 ) and returned to the sender (step  460 ), e.g., by a return email message via the Internet. 
   The “no mailbox” feature is similar to the expired message feature, except that the message expires immediately if the wireless device does not receive the message. 
   Web Site Access 
   A further feature of the wireless system of the present invention allows the user of a wireless device to request text information from an Internet web site over the wireless network. To implement the web site access feature, a series of scripted formats are programmed as protocols performed by the gateway. 
     FIG. 5  is a flow chart  500  showing how the web site access feature may be implemented using the example of obtaining a stock price quote obtained from the Intenet. The user sends a message to a designated address in the gateway, e.g., DATA, with a service command in the subject line of the message (step  510 ). For example, the user may request a stock price quote for the publicly traded company identified by the initials BLS using a message having the following scripted format:
         TO: DATA   SUBJECT: QUOTE BLS       
   The gateway processes the user&#39;s message into the format of a request usable by a standard HTML page of a designated web site (step  520 ), and routes the request through the gateway to be transmitted over the Internet (step  530 ). The gateway sends an email request to a standard HTML page, instead of accessing a web page to look up the requested information. The request may be sent, e.g., to a service that provides current stock prices such as the stock quote service provided by Yahoo&#39;s Internet Service Provider. 
   The request asks for the desired stock quote information in the form of text information from the designated web site (step  540 ). The result is returned to the gateway in the form of an email message (step  550 ), which the gateway places in the user&#39;s mailbox for delivery to the user&#39;s wireless device (step  560 ). 
   Another example of information that the user may request using the web site access feature is airline flight information. For example, information for Delta Airlines Flight 001 may be requested in the form SUBJECT: DELTA 001 from a wireless device. The information returned to the wireless device may be the current status, arrival time and gate number for the specified flight. 
   The web site access feature may have an additional feature in which a list of available scripted formats may be obtained by sending a help message to the gateway, e.g., with a command in the form SUBJECT: HELP_ALL. 
   Other embodiments are within the scope of the following claims.