Patent ID: 8868064

Claim:
A method of troubleshooting a mobile communication device comprising: collecting, by a mobile communication device during operation, data of a metric of a functionality of the mobile communication device in a queue of the mobile communication device prior to an occurrence of a specific problem with the mobile communication device, wherein the data of the metric of the functionality of the mobile communication device comprises more than one of a call initiation time, a call duration, a call termination time, a call location, a dropped call occurrence, and a mobile communication device malfunction occurrence; processing, by the mobile communication device, the data in the queue, wherein processing the data comprises any of compressing the data, discarding duplicate data, and discarding some of the data in response to the some of the data not indicating any problems; storing, by the mobile communication device, the processed data from the queue in a circular data structure of a non-transitory memory of the mobile communication device; maintaining, by the mobile communication device, the circular data structure by eliminating older processed data from the circular data structure in the non-transitory memory and adding newer processed data to the circular data structure in the non-transitory memory when the newer processed data is presented; sending, by the mobile communication device, the processed data currently stored in the circular data structure in the non-transitory memory from the circular data structure of the non-transitory memory to a server computer; receiving, by the server computer, the processed data sent from the circular data structure in the non-transitory memory of the mobile communication device; after the occurrence of the specific problem, analyzing, by the server computer, the processed data sent by the mobile communication device to identify the specific problem with the mobile communication device; and based on the analysis, troubleshooting, by the server computer, the specific problem with the mobile communication device, wherein troubleshooting comprises any of opening a trouble ticket, downloading new software to the mobile communication device, downloading new firmware to the mobile communication device, and updating a preferred roaming list.