Abstract:
A wireless device for processing an SMS message stores the message on a local first storage device, and sends the message to a wireless carrier SMS facility. The device further stores the message from the first storage device on a second storage device that is remote from the wireless device.

Description:
FIELD OF THE INVENTION 
       [0001]    One embodiment of the present invention is directed to wireless devices. More particularly, one embodiment of the present invention is directed to an enhanced short message service for wireless devices. 
       BACKGROUND INFORMATION 
       [0002]    Short message service (“SMS”) is the transmission of short text messages to and from a mobile phone, fax machine and/or IP address. Messages must be no longer than 160 alpha-numeric characters and contain no images or graphics. Messages are sent from the originating device to a Short Message Service Center (“SMSC”) of the wireless carrier, which must then get it to the appropriate mobile device. SMS is becoming an increasingly popular form of communications, particularly in Europe and Asia, due to its low costs, ease of use, and its relatively high speed. 
         [0003]    However, SMS has a number of drawbacks. For one, SMS messages are not logged or stored. This is a problem for corporations that for audit reasons are required to log all forms of communications. Second, SMS messages are not encrypted, so some corporations forbid SMS to be used to send sensitive information. Finally, SMS permits messages to be sent to only one recipient at a time. If the same SMS message is desired to be sent to multiple users, the message must by manually entered on the device multiple times. 
         [0004]    Based on the foregoing, there is a need for an enhanced SMS that overcomes the above problems. 
       SUMMARY OF THE INVENTION 
       [0005]    One embodiment of the present invention is a wireless device for processing an SMS message. The device stores the message on a local first storage device, and sends the message to a wireless carrier SMS facility. The device further stores the message from the first storage device on a second storage device that is remote from the wireless device. 
     
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0006]      FIG. 1  is a block diagram of the functional elements of a system for sending and receiving enhanced SMS messages in accordance with one embodiment of the present invention. 
           [0007]      FIG. 2  is a flow diagram of the functionality performed by an enhanced SMS module on a handheld device and system to transmit SMS messages in accordance to one embodiment of the present invention. 
           [0008]      FIG. 3  is a flow diagram of the functionality performed by an enhanced SMS module on a handheld device and system to receive SMS messages in accordance to one embodiment of the present invention. 
           [0009]      FIG. 4  is a flow diagram of the functionality performed by an enhanced SMS module on a handheld device and system to send a single SMS message simultaneously to a group of recipients in accordance to one embodiment of the present invention. 
       
    
    
     DETAILED DESCRIPTION 
       [0010]    One embodiment of the present invention is enhanced SMS that logs and encrypts SMS messages and that permits a single message to be simultaneously sent to multiple recipients. In one embodiment, SMS messages can be considered any message that is sent directly through a wireless carrier, in contrast to e-mail and other types of messages that are sent to e-mail application facilities, or other facilities, in addition to the wireless carrier. 
         [0011]      FIG. 1  is a block diagram of the functional elements of a system  50  for sending and receiving enhanced SMS messages in accordance with one embodiment of the present invention. The functional elements shown in  FIG. 1  can be implemented with any combination of hardware or software, including software executed by multiple computer systems or servers. 
         [0012]    System  50  includes wireless handheld devices  100 - 103  that are used for wireless communications, including transmitting and receiving SMS messages. In one embodiment, wireless devices  100 - 103  are BlackBerry handheld devices from RIM Corporation. However, wireless devices  100 - 103  can be any type of wireless or wired devices capable of transmitting and receiving SMS messages. In one embodiment, each of wireless data devices  100 - 103  include a storage/repository for storage of data and a processor for executing software instructions. Wireless devices  100  and  101  include an enhanced SMS module  40  in accordance to embodiments of the present invention and therefore send and receive SMS messages in accordance with embodiments of the invention as disclosed below. Wireless devices  102  and  103  execute prior art SMS to transmit and receive SMS messages. 
         [0013]    System  50  further includes a wireless gateway  107  that includes one or more wireless HyperText Transfer Protocol (“HTTP”) gateway servers  108  that take electronic information and make it compatible for transmission across a wireless network by encoding it in transmission protocols applicable to the wireless network. In one embodiment, gateway servers  108  are BlackBerry Enterprise Servers executing Mobile Data Service. Wireless gateway  107  communicates this electronic data to a network operations center  106  across a communication network  120 . Network operations center  106  monitors and manages various computer systems which interface to a carrier&#39;s wireless network  105 . An application server  113  includes one or more application programs running on one or more application servers in a clustered environment. Application server  113  contains business rules and program logic, responds to user requests and processes and formats data in a manner consistent with wireless data devices  100 - 101 . Application server  113  includes an SMS message upload module that, as disclosed below, interfaces with enhanced SMS module  40  to store SMS messages. The SMS message upload module is the server side companion component of the client-side enhanced SMS module  40 . A data repository  114  provides long-term data storage for system  50 . The storage may take the form of relational or hierarchical databases, sequential flat file storage, or any other method that allows data to be stored and retrieved. 
         [0014]    Application server  113  and data repository  114  are coupled to each other and form the application tier  10  of system  50 . Wireless gateway  107  (including wireless gateway servers  108 ) form the wireless gateway tier  20  of system  50  and is coupled to application tier  10 . In a corporate or large entity environment, wireless gateway tier  20  and application tier  10  are typically configured behind a corporate firewall  145 . 
         [0015]    Wireless gateway  107  communicates with network operations center  106  through communication link  120  across the Internet. Network operations center  106  is typically owned and operated by the provider of wireless data devices  100 - 102  (e.g., Blackberry). Network operations center  106  communicates to wireless data devices  100 - 101  via wireless carrier  105 . Wireless carrier  105  is the wireless provider through which the user of each wireless data device  100 - 103  subscribes to. For example, carrier  105  may be Verizon Wireless or Cingular Wireless. Carrier  105  includes an SMSC which receives and transmits SMS messages. Network operations center  106  and wireless carrier  105  form carrier network tier  30 . In one embodiment, wireless carrier  105  limits SMS message payloads to seven bits. 
         [0016]    Prior art wireless devices  102  and  103  send and receive SMS messages by sending the message directly to wireless carrier  105 . Thus, prior art SMS messages never pass through corporate firewall  145  and therefore, cannot be logged or stored by any devices behind corporate firewall  145 . As disclosed above, the prior art SMS messages sent and received by devices  102  and  103  are not encrypted. In contrast, as disclosed below, SMS messages sent and received by devices  100  and  101  are encrypted and are stored on data repository  114 . 
         [0017]      FIG. 2  is a flow diagram of the functionality performed by enhanced SMS module  40  on handheld device  100  and system  50  to transmit SMS messages in accordance to one embodiment of the present invention. In one embodiment, the functionality is implemented by software stored in memory and executed by a processor. In other embodiments, the functionality can be performed by hardware, or any combination of hardware and software. 
         [0018]      200 : The user creates a SMS message and elects to send it from handheld device  100  to handheld device  101 . 
         [0019]      210 : The message payload is first encrypted using TripleDES encryption in one embodiment. In other embodiments, other types of encryption can be used. The output of the TripleDES encryption is then modified using Base 64  encoding. This allows the message to be transmitted in whole over the seven-bit network of carrier  105 , In other embodiments, this modification is not necessary if the network is not limited to a specific number of bits. 
         [0020]      220 : The message is stored in the local persistent store of handheld device  100 . 
         [0021]      230 : The message is sent to the recipient at device  101  via the default SMS port on carrier  105 . 
         [0022]      240 : An attempt is made by enhanced SMS module  40  on device  100  to connect via http server  108  to application server  113  in order to upload the message in XML format to data repository  114 . The request goes through carrier  105  to network operations center  106  then through wireless gateway  107  to HTTP server  108  and finally to application server  113  where it is processed by the SMS Upload module. The SMS Message Upload module parses the XML formatted request and updates data repository  114  with the information. 
         [0023]      250 : A response to the upload attempt is received by enhanced SMS module  40  on device  100 . The SMS Message Upload module on application server  113  determines which response to send based on the success or failure of updating data repository  114 . It sends an XML formatted response from application server  113  through HTTP server  108  via wireless gateway  107  to network operations center  106 . From there it is sent via carrier  105  to device  100 . 
         [0024]      260 : If the upload is successful, the message status on enhanced SMS module  40  is modified as “Sent”. 
         [0025]      270 : If the upload is not successful, the flow will return to  240  and the message upload process will retry at set intervals. 
         [0026]      FIG. 3  is a flow diagram of the functionality performed by enhanced SMS module  40  on handheld device  101  and system  50  to receive SMS messages in accordance to one embodiment of the present invention. In one embodiment, the functionality is implemented by software stored in memory and executed by a processor. In other embodiments, the functionality can be performed by hardware, or any combination of hardware and software. 
         [0027]      300 : An incoming message is detected by enhanced SMS module  40  on the receiving device  101 . 
         [0028]      310 : In one embodiment, the message payload is decoded using the using a Base64 decoder. It is then decrypted using TripleDES. In other embodiments, the reverse of any encoding or encryption used by the transmitting device is used at  310 . 
         [0029]      320 : The message is stored in a local persistent store on receiving device  101 . 
         [0030]      330 : An attempt is made by enhanced SMS module  40  on device  101  to connect via http server  108  to application server  113  in order to upload the message in XML format to data repository  114 . The request goes through carrier  105  to network operations center  106  then through wireless gateway  107  to HTTP server  108  and finally to application server  113  where it is processed by the SMS Upload module. The SMS Message Upload module parses the XML formatted request and updates data repository  114  with the information. 
         [0031]      340 : A response to the upload attempt is received by enhanced SMS module  40  on device  101 . The SMS Message Upload module on application server  113  determines which response to send based on the success or failure of updating data repository  114 . It sends an XML formatted response from application server  113  through HTTP server  108  via wireless gateway  107  to network operations center  106 . From there it is sent via carrier  105  to device  101 . 
         [0032]      350 : If the upload is successful, the message status on enhanced SMS module  40  is modified as “Sent”. 
         [0033]      360 : If the upload is not successful, the flow will return to  330  and the message upload process will retry at set intervals. 
         [0034]      FIG. 4  is a flow diagram of the functionality performed by enhanced SMS module  40  on handheld device  100  and system  50  to send a single SMS message simultaneously to a group of recipients in accordance to one embodiment of the present invention. In one embodiment, the functionality is implemented by software stored in memory and executed by a processor. In other embodiments, the functionality can be performed by hardware, or any combination of hardware and software. 
         [0035]      410 : The user assigns contacts to a group list. 
         [0036]      420 : The user creates SMS message text to be sent to each contact on the group list. 
         [0037]      430  For each recipient/contact on the group list, the SMS message is sent to the recipient using the send routine of  FIG. 2 . Therefore, the message is stored in data repository  114  and encrypted. 
         [0038]    As disclosed, embodiments of the present invention retain a copy of all sent and received SMS messages, and encrypt all outgoing SMS messages for security reasons. Further, a single SMS message can be sent to a predefined group of recipients. 
         [0039]    Several embodiments of the present invention are specifically illustrated and/or described herein. However, it will be appreciated that modifications and variations of the present invention are covered by the above teachings and within the purview of the appended claims without departing from the spirit and intended scope of the invention.