Abstract:
A method of multimedia communication in a mobile communications network is provided. The method comprises allocating data in a message to be transmitted via a multimedia messaging service (MMS) protocol to a sequence of protocol data units (PDU), wherein each PDU in the sequence is associated with a sequence number identifying the position of the PDU in said sequence; transmitting a first PDU in said sequence; transmitting a subsequent PDU in the sequence according to the PDU&#39;s sequence number, in response to an acknowledgment received confirming receipt of a previously transmitted PDU; retransmitting a PDU if a respective acknowledgement is not received for the PDU.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     Pursuant to 35 U.S.C. §119(a), this application claims the benefit of earlier filing date and right of priority to Korean Application No. 10-2004-00020129, filed on Mar. 24, 2004, and No. 10-2005-00019762, filed on Mar. 9, 2005, the contents of which are hereby incorporated by reference herein in its entirety. 
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to communicating messages within a mobile communication system, and particularly, to transmitting units of a message between a mobile terminal and a server and automatically re-transmitting units that have errors generated during the message transmission. 
     2. Description of the Related Art 
     In general, a Multimedia Messaging Service (MMS) sends and receives messages containing various multimedia contents such as text messages, pictures, sounds and short videos. A user may send a relatively high bit rate MMS message to another party&#39;s terminal. 
     The MMS is the evolution of Short Message Service (SMS) for communicating text messages, and is based on methods used to send SMS messages. In the related art, when a user sends an MMS message to another terminal using a mobile communication terminal, data of the message is sent at once via an MMS Center (MMSC), which functions as an intermediate baseband communication link. 
     If a call is disconnected or a network error is generated during MMS message transmission, the entire MMS message is re-transmitted from either the transmitting terminal to the MMSC or from the MMSC to a receiving terminal. The re-transmission of MMS message results in inefficient use of wireless resources. Thus, a method or system is needed to overcome this shortcoming. 
     SUMMARY OF THE INVENTION 
     A method for communicating a multimedia messaging service message is disclosed. In accordance with one embodiment, a method of multimedia communication in a mobile communications network comprises allocating data in a message to be transmitted via a multimedia messaging service (MMS) protocol to a sequence of protocol data units (PDU), wherein each PDU in the sequence is associated with a sequence number identifying the position of the PDU in said sequence; transmitting a first PDU in said sequence; transmitting a subsequent PDU in the sequence according to the PDU&#39;s sequence number from a transmitting terminal, in response to an acknowledgment received confirming receipt of a previously transmitted PDU; retransmitting a PDU if a respective acknowledgement is not received for the PDU. 
     The method may further comprise correcting an error in communication if an acknowledgement is not received for a corresponding PDU. Each PDU comprises a data field for indicating the sequence number of the PDU. A zero value, for example, is assigned to the data field for the first PDU in one embodiment. In another embodiment, no value is assigned to the data field for the first PDU. The first PDU may also comprise a data field for indicating total number of the PDUs in said sequence. 
     Additional advantages, objects, and features of the invention will be set forth in part in the description which follows and in part will become apparent to those having ordinary skill in the art upon examination of the following or may be learned from practice of the invention. The objectives and other advantages of the invention may be realized and attained by the structure particularly pointed out in the written description and claims hereof as well as the appended drawings. 
     It is to be understood that both the foregoing general description and the following detailed description of the present invention are exemplary and explanatory and are intended to provide further explanation of the invention as claimed. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The accompanying drawings, which are included to provide a further understanding of the invention and incorporated herein constitute a part of the application, illustrate embodiment(s) of the invention and together with the description serve to explain the principle of the invention. 
         FIG. 1  illustrates one example of a general mobile communication environment in which the present invention may be employed. 
         FIG. 2  is a block diagram illustrating a method of sending a MMS message in accordance with one embodiment of the present invention. 
         FIG. 3  is a block diagram illustrating a method of sending a MMS message in accordance with another embodiment of the present invention. 
         FIG. 4  is a flow chart that illustrates transmission of a MMS message in units and automatic re-transmission thereof in accordance with one embodiment of the present invention. 
     
    
    
     Reference will now be made in detail to the preferred embodiments of the present invention, examples of which are illustrated in the accompanying drawings. Wherever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts. 
     DETAILED DESCRIPTION OF THE INVENTION 
     Referring to  FIG. 1 , an exemplary embodiment is a mobile communication system that comprises mobile communication terminals  110 , 120  and an MMSC  130 . The mobile communication terminals  110 ,  120  and the MMSC  130  communicate messages and data through an application layer protocol. In this exemplary embodiment, the application layer protocol is MM1. The MM1 is a seventh layer application protocol utilized for information exchange between application programs through a network. The MM1 is defined as an interface between a mobile communication terminal and an MMSC by 3GPP (3rd Generation Partnership Project). 
     Referring to  FIG. 2 , in an exemplary embodiment, a mobile communication system communicates a MMS message wherein data of the MMS message is allocated into protocol data units (PDUs). In this exemplary embodiment, the PDUs are sequentially transmitted to the MMSC  130 . By adding the following information fields to each protocol data unit (PDU), as shown in Table 1, the MMSC  130  recognizes the contents of the MMS message and a sequential order of the PDUs. 
     
       
         
               
               
               
             
           
               
                   
                 TABLE 1 
               
               
                   
                   
               
               
                   
                 Information Fields 
                 Value 
               
               
                   
                   
               
             
             
               
                   
                 Field name 
                 &lt;X-Mms-packet-value&gt; 
               
               
                   
                 Field value 
                 &lt;Packet-count-value&gt; 
               
               
                   
                 Description 
                 &lt;Optional&gt; 
               
               
                   
                   
               
             
          
         
       
     
     Thus, by analyzing the contents of the information fields, the sequential order for a plurality of the PDUs is detected. When an error is generated during an MMS message transmission, the PDU generating the error is detected, and re-transmission of the MMS message continues from the detected PDU. 
     One field value (e.g., &lt;packet-count-value&gt;) indicates a sequence number for each PDU. The field value added to the first PDU may be zero. In an alternative embodiment, no field value may be designated. Thus, in one example, the PDUs are sent according to a set of sequential numbers, such as 0, 1, 2, 3, . . . . The PDU that has a first field value of zero is the first PDU in one exemplary embodiment. In another example, if the PDUs are sent according to their sequential numbers, such as 1, 2, 3, . . . , no value is associated with the first field. In one embodiment, the first PDU comprises a header field, which contains information on the contents and size of the message. 
     Message transmission starts when a transmitting terminal  110  (e.g., Tx Terminal  110 ) transmits a first PDU (PDU 1 ), which includes a transmission request to the MMSC  130  (S 202 ). MMSC  130  receives the PDU 1  and references the header field of the PDU 1  to determine the content of the message and the total number of PDUs in the transmitted message. MMSC  130  determines that the received PDU is the first of the PDUs by referring to the respective information field. 
     In one embodiment, MMSC  130  checks the information fields and sends to the transmitting terminal  110  an acknowledge signal (ACK) confirming that the MMSC  130  has transmitted the message and has successfully received the PDU (S 204 ). An information field is contained in the ACK. Accordingly, the terminal or the MMSC, which receives an ACK, receives the number of successfully transmitted PDUs. 
     The transmitting terminal  110  receives the ACK and transmits a second PDU (e.g., PDU 2 ) (S 206 ). The MMSC  130  receives PDU 2  and transmits an ACK to the transmitting terminal  110  (S 208 ). The transmitting terminal  110 , which has received the ACK, transmits a third PDU (e.g., PDU 3 ) to the MMSC  130  (S 210 ), and respectively receives an ACK from the MMSC  130  (S 212 ). If an error is not generated during the transmission of PDUs and the ACK, the MMS message transmission, it is determined that the entire message is successfully transmitted once the last PDU and ACK are transmitted. 
     Referring back to  FIG. 2 , once MMSC  130  has received the last PDU, it transmits the received MMS message to the receiving terminal  120 . In one embodiment, the MMSC  130  transmits PDU 1  comprising a transmission request, i.e., send request, to the receiving terminal  120  (S 220 ). As mentioned above, the PDU 1  may have no field value or the field value of 0 depending on implementation to indicate that PDU 1  is the first PDU in a sequence of PDUs included in the MMS message. 
     The receiving terminal  120  (e.g., Rx Terminal  120 ) receives the contents of the message and determines the number of PDUs in the message by referring to the header field of PDU 1 . The receiving terminal  120  checks the information fields and sends to MMSC  130  an acknowledge signal (ACK) to confirm message transmission and normal reception of the PDU (S 222 ). 
     The MMSC  130  receives the ACK and transmits the second PDU (e.g., PDU 2 ) (S 224 ). The receiving terminal  120  receives PDU 2  and transmits an ACK to MMSC  130  (S 226 ). The MMSC  130  receives the ACK and transmits the third PDU (e.g., PDU 3 ) (S 228 ). MMSC  130  receives an ACK from the receiving terminal  120  (S 230 ). If the PDUs and the ACKs are sequentially transmitted, as described above, and an error is not generated until the final PDU and the following ACK are transmitted, the MMS message transmission of the receiving terminal  120  is successfully completed. 
     Referring to  FIG. 3 , to indicate that message transmission is started, the transmitting terminal  110  transmits PDU 1  that includes a transmission request, (i.e., send request) to MMSC  130  (S 302 ). MMSC  130  determines the contents of the message and the number of PDUs (i.e., the size of the message) by reference to a header field of PDU 1 . MMSC  130  determines from the information field, if the received PDU is the first of the PDUs. 
     MMSC  130  checks the information field and sends an ACK to the transmitting terminal  110  that the MMSC  130  has confirmed the message transmission and has successfully received the PDU (S 304 ). An information field is included in the ACK. The terminal or the MMSC receives an ACK and determines the number of PDUs that have been successfully transmitted. 
     The transmitting terminal  110  receives the ACK and transmits PDU 2  (S 306 ). The MMSC  130  receives the PDU  2  and transmits an ACK to the transmitting terminal  110  (S 308 ). The transmitting terminal  110  that received the ACK transmits PDU 3  (S 310 ). If MMSC  130  does not successfully receive PDU 3  as a call switch, a network error has occurred during transmission. 
     In a preferred embodiment, MMSC  130  creates a response message that comprises error information value (e.g., &lt;Error-message-sending-count&gt;) or an &lt;X-Mms-packet-value&gt;). MMSC  130  constitutes a field name area, instead of transmitting an ACK with respect to PDU 3 , and transmits the response message to the transmitting terminal  110  (S 312 ). The transmitting terminal  110  recognizes the generation of the error from the error information value, and temporarily stops transmission of the PDU. 
     In one embodiment, transmitting terminal  110  recognizes which PDU has generated an error, determines a cause or causes of one or more errors that are generated between a transmitting terminal (e.g., terminal  110 ) and a receiving terminal (e.g., MMSC  130 ) and corrects the cause or causes of one or more errors at the application protocol layer (S 314 ). If the error cannot be corrected immediately (e.g. a network error) then the transmitting terminal  110  stops the MMS message transmission, and notifies a user that message transmission has been stopped and the reason why it has been stopped. 
     If the causes of the error generation are corrected, the transmitting terminal  110  determines which of the PDU from the error information value included in the response message, is causing the error. The transmitting terminal  110  resumes message transmission from, for example, PDU 3  (S 316 ) and receives an ACK from the MMSC  130  (S 318 ). If the PDUs and the following ACK are sequentially transmitted, as described above, and an error is not generated, then the PDU and the following ACK have been successfully transmitted. 
     To begin message transmission between MMSC  130  and a receiving terminal  120 , MMSC  130  transmits PDU 1  comprising a transmission request to the receiving terminal  120  (S 330 ). The receiving terminal  120 , which has received the PDU 1 , knows the contents of the message, the number of PDUs, which comprise the entire message, through reference to the header field of PDU 1 . The receiving terminal  120  determines if the received PDU is the first of the PDUs by referring to the information field. The terminal  120  determines the information field, and sends to MMSC  130  an acknowledge signal (ACK) that the terminal  120  has confirmed the message transmission and has successfully received the PDU (S 332 ). 
     MMSC  130  receives the ACK and transmits PDU 2 ) (S 334 ). If the receiving terminal  120  does not successfully receive PDU 2  as a call switch, then a network error or the like has occurred during transmission. In this case, the receiving terminal  120  has an error information value such as &lt;Error-message-sending-count&gt; or an &lt;X-Mms-packet-value&gt;, which constitutes a field name area of a response message. The error information value, instead of an ACK, is transmitted to MMSC  130  in response to the third PDU (S 336 ). The MMSC  130  recognizes the error message, and temporarily stops the transmission of the PDU. 
     Accordingly, MMSC  130  recognizes which PDU has generated the error, finds the causes or cause of one or more errors generated between a transmitting terminal  110  and a receiving terminal (e.g., MMSC  130 ) and corrects the cause or causes of one of more errors at the application protocol layer (S 338 ). If the error cannot be corrected immediately such as due to a network error, the MMSC  130  stops the MMS message transmission, and notifies a user that the message transmission has been stopped and the reason message transmission has stopped. 
     If the causes of the error are corrected, the MMSC  130  checks which PDU the transmission was stopped at through reference to the error information value included in the response message, resumes transmission beginning with the second PDU, which includes transmission retrieve and receives an ACK from the MMSC  130  (S 342 ). 
     In one embodiment, MMSC  130  receives the ACK and transmits PDU 3  (S 344 ). MMSC  130  waits to receive an ACK from the receiving terminal  120  (S 346 ). If the PDUs and the following ACK are successfully transmitted when an error is not generated upon transmission of the PDU and the following ACK. 
     Referring to  FIG. 4 , when the transmission of an MMS message is set for the first time, a transmitting terminal divides the MMS message into a plurality of PDUs of an MM1 Protocol (S 410 ), and transmits preferably in a sequential order the plurality of PDUs (S 420 ). 
     Whenever sending a PDU, the transmitting terminal checks a response message from a receiving terminal (S 430 ), and determines whether the response message is sent to indicate that the reception of the PDU has been completed or not (S 440 ). 
     If the response message is sent to indicate that the reception of the PDU has not been completed, the transmitting terminal stops the PDU transmission, finds causes of the error generation between the transmitting terminal and the receiving terminal, corrects the causes of error (S 450 ), and resumes the PDU transmission from the last transmitted PDU (S 460 ). 
     If the response message is sent to indicate that the reception of the PDU has been completed, the transmitting terminal determines whether the transmission of every PDU is completed (S 470 ). If the transmission has not been completed yet, the process of transmitting PDUs in sequential order is performed again, and the process (S 420 -S 47 ) is repeated. Upon completing transmission of the PDUs, the MMS message transmission is terminated and the wireless connection is released (S 480 ). 
     As so far described, the present invention transmits an MMS message upon dividing and automatically re-transmitting PDUs when an error is generated during transmission of a MMS message. The re-transmission is started from the last transmitted PDU, where the error was generated, without re-transmitting the entire message so that wireless resources are more efficiently utilized. 
     An error generated during message transmission, in the present invention, is corrected at the application layer, and automatic re-transmission of the message is performed so that an error generated not only from the corresponding layer but also from a lower layer may be checked and corrected. 
     As the present invention may be embodied in several forms without departing from the spirit or essential characteristics thereof, it should also be understood that the above-described embodiments are not limited by any of the details of the foregoing description, unless otherwise specified, but rather should be construed broadly within its spirit and scope as defined in the appended claims, and therefore all changes and modifications that fall within the metes and bounds of the claims, or equivalence of such metes and bounds are therefore intended to be embraced by the appended claims.