IP Library Granted Patent US 8,044,828
Granted Patent B2
US 8,044,828 · App. 12/238,955 · Granted Oct 25, 2011

Method and system for encoding communications between wireless and other devices

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,044,828
App. No.
12/238,955
Granted
Oct 25, 2011
Kind
B2
Abstract

A method for encoding a message communicated between devices, the message having at least one field, the method comprising: if the field is not optional and contains a value, writing the value to one or more data bytes in a byte buffer; and, if the field is optional and contains a default value, marking a bit in a reserved byte in the byte buffer to indicate that the field contains a default value.

Claims (39)

1. A method for encoding a message communicated between a sender device and a receiver device, the message having at least one field for conveying predefined data fields and non-predefined data fields, the method comprising:

inserting at the sender a reserve byte into a byte buffer for identifying the predefined data fields to be conveyed by the message, the reserve byte generated by:

mapping each bit position of the reserve byte to one of the predefined data fields in the message;

assigning a binary value to each bit position in the reserve byte based upon a value to be conveyed by the message in an associated predefined data field comprising:

marking the bit position in the reserve byte associated with the predefined data field to indicate that a default value is to be conveyed by the message wherein the value is not stored in the byte buffer; and

marking the bit position in the reserve byte associated with the predefined data field to indicate that a custom value is being conveyed in the associated predefined field position and inserting the custom value in the byte buffer;

inserting into the byte buffer non-predefined data fields, wherein the non-predefined fields are not mapped to a bit position of the reserve byte,

wherein the receiver can decode the message by extracting non-predefined fields and by determining from the reserve byte if known predefined values are to be used or if the custom value is to be extracted from the predefined data field in the message.

2. The method of claim 1 , further comprising inserting the reserved byte into the byte buffer upon first encountering a field in the message that contains a predefined data field.

3. The method of claim 1 , further comprising, if the reserved byte is full, inserting a next reserved byte into the byte buffer.

4. The method of claim 3 , further comprising maintaining a counter for bits in the reserved byte to determine if the reserved byte is full and incrementing the counter when a bit is marked.

5. The method of claim 1 , further comprising, if the field is an object field, marking a bit in the reserved byte in the byte buffer to indicate that the object field is either null or non-null.

6. The method of claim 1 wherein the default value is marked by a binary value of 1 and the custom value is indicated by a binary value of 0.

7. The method of claim 1 wherein the default value is marked by a binary value of 0 and the custom value is indicated by a binary value of 1.

8. The method of claim 1 , wherein the sender and receiver comprise either a wireless device and/or a data processing system, device or apparatus.

9. A system for encoding a message communicated between the system and a remote system over a network, the message having at least one field for conveying predefined data fields and non-predefined data fields, the system comprising:

a processor coupled to memory and an interface to the network, and adapted to:

insert at the system a reserve byte into a byte buffer for identifying the predefined data fields to be conveyed by the message, the reserve byte generated by:

mapping each bit position of the reserve byte to one of the predefined data fields in the message;

assigning a binary value to each bit position in the reserve byte based upon a value to be conveyed by the message in an associated predefined data field comprising:

marking the bit position in the reserve byte associated with the predefined data field to indicate that a default value is to be conveyed by the message wherein the value is not stored in the byte buffer; and

marking the bit position in the reserve byte associated with the predefined data field to indicate that a custom value is being conveyed in the associated predefined field position and inserting the custom value in the byte buffer;

insert into the byte buffer non-predefined data fields, wherein the non-predefined fields are not mapped to a bit position of the reserve byte,

wherein the remote system can decode the message by extracting non-predefined fields and by determining from the reserve byte if known predefined values are to be used or if the custom value is to be extracted from the predefined data field in the message.

10. The system of claim 9 , wherein the processor is further adapted to insert the reserved byte into the byte buffer upon first encountering a field in the message that contains a predefined data field.

11. The system of claim 9 , wherein the processor is further adapted to, if the reserved byte is full, insert a next reserved byte into the byte buffer.

12. The system of claim 11 , wherein the processor is further adapted to maintain a counter for bits in the reserved byte to determine if the reserved byte is full and to increment the counter when a bit is marked.

13. The system of claim 9 , wherein the processor is further adapted to, if the field is an object field, mark a bit in the reserved byte in the byte buffer to indicate that the object field is one of null and non-null.

14. The system of claim 9 wherein the default value is marked by a binary value of 1 and the custom value is indicated by a binary value of 0.

15. The system of claim 9 wherein the default value is marked by a binary value of 0 and the custom value is indicated by a binary value of 1.

16. The system of claim 9 , wherein the system and the remote system each comprise one of a wireless device and a data processing system, device or apparatus.

17. A computer program product having a computer readable medium tangibly embodying computer executable code for directing a system to encode a message communicated between the system and a remote system over a network, the message having at least one field, the computer program product comprising program code executable by a processor of a data processing device, system or apparatus for:

inserting at the sender a reserve byte into a byte buffer for identifying the predefined data fields to be conveyed by the message, the reserve byte generated by:

mapping each bit position of the reserve byte to one of the predefined data fields in the message;

assigning a binary value to each bit position in the reserve byte based upon a value to be conveyed by the message in an associated predefined data field comprising:

marking the bit position in the reserve byte associated with the predefined data field to indicate that a default value is to be conveyed by the message wherein the value is not stored in the byte buffer; and

marking the bit position in the reserve byte associated with the predefined data field to indicate that a custom value is being conveyed in the associated predefined field position and inserting the custom value in the byte buffer;

inserting into the byte buffer non-predefined data fields, wherein the non-predefined fields are not mapped to a bit position of the reserve byte,

wherein the receiver can decode the message by extracting non-predefined fields and by determining from the reserve byte if known predefined values are to be used or if the custom value is to be extracted from the predefined data field in the message.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 3, 2014
From: MOTOROLA MOBILITY LLC
To: GOOGLE TECHNOLOGY HOLDINGS LLC
Reel/Frame 034517/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 20, 2014
From: KARMAKAR, SRIMANTEE; GORING, BRYAN R; SHENFIELD, MICHAEL; VITANOV, KAMEN B; ROGERS, JEFFREY C
To: RESEARCH IN MOTION LIMITED
Reel/Frame 033569/0016 →
CHANGE OF NAME Recorded Oct 2, 2012
From: MOTOROLA MOBILITY, INC.
To: MOTOROLA MOBILITY LLC
Reel/Frame 029216/0282 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 15, 2012
From: MOTOROLA, INC.
To: MOTOROLA MOBILITY, INC.
Reel/Frame 027935/0808 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 6, 2010
From: RESEARCH IN MOTION LIMITED
To: MOTOROLA, INC.
Reel/Frame 024794/0427 →