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.
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.
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'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.
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.
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.
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.
200: The user creates a SMS message and elects to send it from handheld device 100 to handheld device 101.
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 Base64 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.
220: The message is stored in the local persistent store of handheld device 100.
230: The message is sent to the recipient at device 101 via the default SMS port on carrier 105.
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.
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.
260: If the upload is successful, the message status on enhanced SMS module 40 is modified as “Sent”.
270: If the upload is not successful, the flow will return to 240 and the message upload process will retry at set intervals.
300: An incoming message is detected by enhanced SMS module 40 on the receiving device 101.
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.
320: The message is stored in a local persistent store on receiving device 101.
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.
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.
350: If the upload is successful, the message status on enhanced SMS module 40 is modified as “Sent”.
360: If the upload is not successful, the flow will return to 330 and the message upload process will retry at set intervals.
410: The user assigns contacts to a group list.
420: The user creates SMS message text to be sent to each contact on the group list.
430 For each recipient/contact on the group list, the SMS message is sent to the recipient using the send routine of
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.
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.