Method and apparatus for fragmenting messages for a wireless network using group sharing of reference numbers
First Claim
1. A method for transmitting a message over a data network having a preferred message size, said method comprising:
- receiving the message to be transmitted over the data network, the message including at least message data;
obtaining a message size for the message;
determining whether the message size is greater than the preferred message size;
determining a group number for the message;
obtaining a reference number for the message based on the group number;
fragmenting the message to a plurality of message fragments when the message size is determined to be greater than the preferred message size, each of the plurality of the message fragments having a length not longer than the preferred message size and including at least a portion of the message data and the reference number but not including the group number; and
thereafter transmitting the message fragments sequentially over the data network.
6 Assignments
0 Petitions
Accused Products
Abstract
Improved techniques for providing reference numbers for purposes of fragmenting a message for transmission over a network (e.g., a wireless data network) that supports only a limited size message are disclosed. The reference numbers for the fragmented messages are shared by groups of destinations (e.g., subscribers or mobile devices). As a result, the number of reference numbers to be stored is small compared to the number of possible destinations, and the size of the reference numbers themselves is also kept small. The number of groupings and the size of the reference numbers can also be adjusted to fit system objectives.
-
Citations
22 Claims
-
1. A method for transmitting a message over a data network having a preferred message size, said method comprising:
-
receiving the message to be transmitted over the data network, the message including at least message data;
obtaining a message size for the message;
determining whether the message size is greater than the preferred message size;
determining a group number for the message;
obtaining a reference number for the message based on the group number;
fragmenting the message to a plurality of message fragments when the message size is determined to be greater than the preferred message size, each of the plurality of the message fragments having a length not longer than the preferred message size and including at least a portion of the message data and the reference number but not including the group number; and
thereafter transmitting the message fragments sequentially over the data network. - View Dependent Claims (2, 3, 4, 5)
indexing into a reference number table using the group number to select one of a plurality of reference numbers within the reference number table, each of the reference numbers being associated with a different group.
-
-
4. A method as recited in claim 3, wherein said determining of the group number comprises:
-
obtaining an address from the message; and
determining the group number based on the address from the message.
-
-
5. A method as recited in claim 4, wherein each of the plurality of message fragments comprises the address and a sequence number to signify an order in the message.
-
6. A method for transmitting a message over a data network having a limited message size, said method comprising:
-
receiving the message to be transmitted over the data network;
obtaining a message size for the message;
determining whether the message size is greater than the limited message size;
determining a group number for the message, said determining of the group number includes at least obtaining the destination address from the message, and determining the group number based on the destination address from the message;
obtaining a reference number for the message based on the group number;
fragmenting the message to a plurality of message fragments when the message size is determined to be greater than the limited message size, each of the plurality of the message fragments having a length not longer than the limited message size and including the reference number; and
thereafter transmitting the message fragments sequentially over the data network.
-
-
7. A method for transmitting a message over a data network having a preferred message size, said method comprising:
-
receiving the message to be transmitted over the data network;
obtaining a message size for the message;
determining whether the message size is greater than the preferred message size;
determining a group number for the message, said determining of the group number includes at least obtaining an address from the message, and performing a hash function on the address from the message to determine the group number for the message;
obtaining a reference number for the message based on the group number;
fragmenting the message to a plurality of message fragments when the message size is determined to be greater than the preferred message size, each of the plurality of the message fragments having a length not longer than the preferred message size and including the reference number; and
thereafter transmitting the message fragments sequentially over the data network. - View Dependent Claims (8, 9)
indexing into a reference number table using the group number to select one of a plurality of reference numbers within the reference number table, each of the reference numbers being associated with a different group.
-
-
10. A computer readable medium storing computer program code for transmitting a message over a data network having a limited message length, the message being transmitted to a receiving device, said computer readable medium comprising:
-
computer program code for receiving the message to be transmitted the message including at least message data;
computer program code for determining a group number for the message;
computer program code for obtaining a reference number for the message based on the group number;
computer program code for fragmenting the message to a plurality of message fragments, each of the message fragments having a length not longer than the limited message length and including at least a portion of the message data and the reference number but not including the group number; and
computer program code for transmitting the message fragments over the data network. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
computer program code for obtaining a message size for the message; and
computer program code for determining whether the message size is greater than the limited message length, and wherein when the message size is not greater than the limited message length, avoiding performance of said computer program code for fragmenting, and then transmitting the message without fragmentation.
-
-
14. A computer readable medium as recited in claim 10, wherein said computer program code for determining of the group number comprises:
-
computer program code for obtaining an address from the message; and
computer program code for determining the group number based on the address from the message.
-
-
15. A computer readable medium as recited in claim 10, wherein said computer program code for determining of the group number comprises:
-
computer program code for obtaining an address from the message; and
computer program code for performing a hash function on the address from the message to determine the group number for the message.
-
-
16. A computer readable medium as recited in claim 15, wherein the hash function operates substantially randomly with respect to determining the group number from the address from the message.
-
17. A computer readable medium as recited in claim 15, wherein said computer program code for obtaining the reference number for the message comprises:
computer program code for indexing into a reference number table using the group number to select one of a plurality of reference numbers within the reference number table, each of the reference numbers being associated with a different group.
-
18. A computer readable medium as recited in claim 10, wherein said computer program code for obtaining the reference number for the message comprises:
computer program code for indexing into a reference number table using the group number to select one of a plurality of reference numbers within the reference number table, each of the reference numbers being associated with a different group.
-
19. A computer readable medium as recited in claim 18, wherein said computer program code for determining of the group number comprises:
-
computer program code for obtaining the address from the message; and
computer program code for determining the group number based on the address from the message.
-
-
20. A computer readable medium as recited in claim 19, wherein the message is transmitted over a wireless communication protocol in the data network.
-
21. An apparatus for transmitting messages through a data network to mobile devices, said apparatus comprising:
-
a message buffer for storing a message to be transmitted to a particular mobile device over the data network a group determination unit operatively connected to said message buffer, said group determination unit determines a group number for the message, the group number identifying a group associated with the particular mobile device;
a reference number table operatively connected to said group determination unit said reference number table associating a different one of a plurality of reference numbers with each of the groups;
a fragmentation unit operatively connected to said reference number table and said message buffer, wherein said fragmentation unit receives a particular reference number from said reference number table based on the group number for the message and receives the message from the message buffer, and said fragmentation unit operates to fragment the message into sub-messages, with each of the sub-messages including the particular reference number and a portion of the message; and
a message transmission unit, said message transmission unit transmits the sub-messages to the particular mobile device. - View Dependent Claims (22)
-
Specification