Method and Apparatus For Sending Files By SMS
Field of the Invention
The present invention relates to a method and apparatus for sending files by Short Messaging Service ("SMS") and refers particularly, through not exclusively, to such a method and apparatus for sending a relatively large file by a series of SMS messages.
Background of the Invention
Short Messaging Service ("SMS") is an internationally recognized standard (IS- 41C) by which alphanumeric messages of up to 160 characters can be sent to and from mobile telecommunications enabled devices such, for example, mobile telephones, Personal Digital Assistants ("PDAs"), and the like. Such devices are hereinafter termed "mobile devices", and its grammatical equivalents.
If a mobile device is to send a relatively large file such as, for example, a photograph, it is normally done using multimedia messaging service ("MMS"). However, most service providers charge a relatively high fee for each MMS, yet allow many SMS messages for free.
However, with the 160-character (140bytes) limit for SMS with 7 bits per character, or 140 characters (140 bytes) for SMS with 8 bits per character, it is unsuited for sending relatively large files.
Summary of the Invention
According to a first aspect there is provided a method for sending a file from a mobile device by short messaging service ("SMS"). The method comprises compressing the file to form a compressed file and dividing the file into plurality of subdivisions, each subdivision not exceeding a maximum size. To each subdivision is attached a header containing a unique identity. Each subdivision with its header is sent as an SMS message.
According to a second aspect there is provided a method for a mobile device to receive and recreate a file sent compressed and as a plurality of SMS messages. The method comprises the mobile device receiving the SMS messages and checking a header of first of the plurality of SMS messages for a unique identity containing a total number of SMS messages and a number for the first SMS message. After receiving all of the plurality of SMS messages and assembling the SMS messages in their message number order, the compressed file is reformed and decompressed to form the file.
According to a third aspect there is provided a signal for an SMS message, the signal comprising a subdivision of a compressed file, each subdivision not exceeding a maximum size, and a header containing a unique identity of the subdivision.
According to a fourth aspect there is provided a mobile device for sending a file as a plurality of short messaging service ("SMS") messages. The mobile device comprises a compressor to compress the file to form a compressed file; a divider to divide the file into plurality of subdivisions, each subdivision not exceeding a maximum size; a header creator for creating a header containing a unique identity and attaching the header to each subdivision; and a transmitter for sending each subdivision with its header as an SMS message.
For all aspects, the unique identity may comprise a message number and a total number of messages. Each SMS message may not exceed 140 bytes. The header may be 32 bytes of the message. The header may also comprise one or more of: a control, date, time, and title. An address to which each SMS message is to be sent may be stored in a temporary memory and used for each SMS message, and may be deleted from the temporary memory when sending is completed.
The file may be at least one of: text, graphics, image, audio, ring tone, and V-card. The file may be downloaded to the mobile device from a computer.
A second mobile device may receive the SMS messages and check the unique identity for the total number of SMS messages. The SMS messages may be assembled in their message number order to reform the compressed file. The compressed file may be decompressed to form the file.
An alert for receipt of the file may be sounded after the forming of the file.
The received SMS messages may be assembled after all messages are received, or as they are received. If at least one SMS message is not received, an attempt may be made to reassemble the compressed file.
Brief Description of the Drawings
In order that the invention may be fully understood and readily put into practical effect, there shall now be described by way of non-limitative example only a preferred embodiment of the present invention, the description being with references to the accompanying illustrative drawings in which:
Figure 1 is perspective view of a preferred embodiment of a mobile device;
Figure 2 is a preferred embodiment of a system architecture;
Figure 3 is a block diagram of the structure of the mobile device;
Figure 4 is a block diagram of the structure of the CPU of the Figure 2;
Figure 5 is a flow chart for the operation of the preferred embodiment at the sending end; and
Figure 6 is a flow chart for the operation of the preferred embodiment at the receiving end.
Detailed Description of the Drawings
To refer to Figures 1 and 4, there is shown a first mobile device 10 that has casing 12, an antenna 14, a display 16, a keypad 18, and may have a camera lens 20. The first mobile device 10 is able to send an SMS message to a second mobile device 22 over a telecommunications network 24 in a known manner. If the first mobile device 10 is to send a relatively large file to second mobile device 22 the flow of Figures 3 and 4 will be followed.
The mobile device electronic structure's shown in Figure 3. The antenna (4) is operatively connected to a central processing unit ("CPU") 30 by a modulator/demodulator 26. Keypad 18 is also operatively connected to CPU 30, as is display 16. Relevant controllers/device drivers for keypad 18 and display 16 may be in CPU 30 and/or the keypad 18 and display 16 respectively. A memory 28 is also operatively connected to the CPU30.
Figure 4 shows the structure of CPU 30. In addition to its normal telecommunications functions 41, it also includes a compressor 34, divider 36 and header creator 38. These are all controlled by microprocessor 40.
As shown in Figure 5, when the first mobile device 10 has a relatively large file such as, for example, a photograph (301) the file is compressed using known lossy or lossless compression techniques by compressor 34. If the IS-41C standard is to be followed, and if the file is to be divided into no more than 100 subdivisions, the compression should be such that the compressed file will be no more than about 10.8KB of data. This is so the compressed file divided by the number of subdivisions gives a subdivided file portion that complies with IS-41C. Naturally, if the standard is changed there will be a corresponding change to this relationship. The file may be one or more of: text; graphics; image; audio data such as, for example, ring tones; V-card; and so forth.
After compression (303) the file is divided by divider 36 into a number of separate files (305). Division is such that the first subdivision file has the maximum permitted data, the second subdivision file has the maximum permitted data, and so forth, with the final subdivision file having the last remaining data. Under IS-41C the maximum permitted data is normally 108 bytes - derived from 160 characters at 7 bits each, less header data.
To each subdivision file is added a header (307) created by header creator 38. The header may comprise, for example, about 32 bytes of data and will include a unique identity (309) for each subdivision file and/or its SMS message. However, other header sizes may be used if required or desired, as long as the combination of the header and the subdivision file does not exceed 140 bytes (160 characters) to comply with IS-41C. The unique identity will include the total number of subdivision files, and the subdivision or message file number. The total number of subdivision files may be limited to, for example, 100. In that case the identity will include only two characters for the subdivision/message file number, and two characters for the total number of subdivisions/messages. For example, 1234 would be subdivision/message file number 12 of 34. If the number of subdivision files is greater, such as, for example, 1000 the identity will include three characters for the subdivision/message file number and three characters for the total number
of subdivisions/messages. However, one, two or three characters may be used, if required or desired. Characters may be any alphanumeric character.
The header may also comprise one or more of: a control, date, time and title. The control may be 3 bytes and may be alphanumeric; the date may be 6 bytes and may be in day, day, month, month, year, year (ddmmyy) format, or any other suitable format; the time may also be 6 bytes and may be in hour, hour, minute, minute, second, second (hhmmss) format, or any other suitable format; and the title may be 13 bytes and may be any combination of alphanumeric characters.
A query (311 ) is then raised by microprocessor 40 to determine if the address to which the message is to be sent has been entered. If not (313) it is obtained/inserted (315), the address is stored in a temporary memory portion 42 of memory 28 (319), and the message sent (321). The first subdivision file is sent first, and a query (323) raised if there are remaining subdivision files. If yes (325) the system reverts back to after division (305) and the header is attached to the next subdivision file (307).
The process repeats until there are no more subdivision files (327). The address is deleted from the temporary address (329) and the process ends (331 ).
As shown in Figure 6, upon the first message being received at second mobile device 22 (402) the second mobile device 22 checks the identity in the header of each message for the total number of messages (404) and for each message received, the number (406). It then queries if all messages have been received (407). If not (409), it cycles until all have been received (411) and the compressed file is reassembled in the correct order (408). The compressed file may be reassembled as the SMS messages are received, or after all SMS messages have been received. A second check is made (410) to ensure the file is complete. If some subdivisions are missing (412) the system waits for a predetermined period (414) of, for example, several seconds, to allow more time for the missing data to arrive. It then queries if the file can be reassembled with the data it has (416). If not (444), it requests retransmission of the missing messages (440). A query is there raised (442) to determine if all missing messages have been received. If not, an alert is sounded (420) and an error message displayed (422) and the process ends (424).
If at (410) the answer is 'no1 (426) or at (416) it is 'yes1 (430), or at (442) it is 'yes' the file is formed (428) by extracting the subdivisions from the headers. The reassembled file is then decompressed (432), the normal incoming message alert sounded (434), and receipt of the file displayed (436). The process ends (438) with the normal SMS receipt of message process being used to view the received file on second mobile device 22.
The alert (434) and display (436) only occur after all the messages have been received, and the test for the number of subdivisions received is satisfied.
To enter the file into mobile device 10, the mobile device 10 may be connected to a computer to download the file from the computer. The connection may be by a cable connection, or by a wireless connection.
Whilst there has been described in the foregoing description a preferred embodiment of the present invention, it will be understood by those skilled in the technology concerned that many variations a modifications in details of design, construction or operation may be made without departing from the present invention.