Source: http://patents.com/us-10089323.html
Timestamp: 2018-12-12 04:05:11
Document Index: 334290319

Matched Legal Cases: ['Application No. 2015', 'Application No. 201380018289', 'Application No. 2013243512', 'Application No. 201380018289', 'Application No. 2014140203', 'Application No. 2015', 'Application No. 201380018289', 'Application No. 13717645']

US Patent # 1,008,9323. Telemetry system for a cloud synchronization system - Patents.com
United States Patent 10,089,323
Chung; Richard (Kirkland, WA), Lueder; Roger (Redmond, WA)
Chung; Richard
Lueder; Roger
Family ID: 48142965
13/439,859
US 20130268491 A1 Oct 10, 2013
Current CPC Class: G06F 17/30174 (20130101); G06F 11/1662 (20130101); G06F 11/2094 (20130101)
Current International Class: G06F 17/30 (20060101); G06F 11/16 (20060101); G06F 11/20 (20060101)
7283986 October 2007 Okunseinde et al.
7735065 June 2010 Jain et al.
7747582 June 2010 Kaminski, Jr.
7933296 April 2011 Augustine et al.
2002/0133508 September 2002 LaRue et al.
2005/0149481 July 2005 Hesselink
2006/0230349 October 2006 Novak et al.
2007/0283050 December 2007 Savage
2009/0198702 August 2009 Novik et al.
2010/0242094 September 2010 Hussain et al.
2010/0293142 November 2010 Ackerman
2012/0066759 March 2012 Chen
1979516 Jun 2007 CN
1983662 Oct 2008 EP
2429134 Mar 2012 EP
2002032254 Jan 2002 JP
2004171278 Jun 2004 JP
2005537579 Dec 2005 JP
2007520760 Jul 2007 JP
2009510624 Mar 2009 JP
2010049647 Mar 2010 JP
2011511362 Apr 2011 JP
2011118771 Jun 2011 JP
2404450 Nov 2010 RU
"Iritroduction to Sync Framework Database Synchronization" , Retrieved at <<http://msdn.microsoft.corn/en-us/sync/bb887608>>, Retrieved Date: Feb. 27, 2012, pp. 5. cited by examiner .
Jha. et al. "Telemetry File Hash and Conflict Detection," U.S. Appl. No. 11/245,243, filed Oct. 23, 2011, pp. 27. cited by examiner .
"Invitation to Pay Additional Fees and Partial International Search Report Issued in PCT Patent Application No. PCT/US2013/035049", dated Feb. 10, 2014, Filed Date: Apr. 3, 2013, 4 Pages. cited by applicant .
Japanese Patent Office, Office Action Issued in Japanese Patent Application No. 2015-504693, dated Mar. 14, 2017, 23 Pages.(Submitted with English Summary of Office Action). cited by applicant .
Mexican Institute of Industrial Property, Office Action Issued in Mexican Patent Application No. Mx/a/2014/011988, dated Jan. 16, 2017, 4 Pages. (Submitted with Machine Translation of Office Action). cited by applicant .
"First Office Action and Search Report Issued in Chinese Patent Application No. 201380018289.3", dated Nov. 17, 2016, 16 Pages. cited by applicant .
IP Australia, Office Action Issued in Australian Patent Application No. 2013243512, dated Jul. 5, 2017, Melbourne, Australia, 3 Pages. cited by applicant .
State Intellectual Property Office of the People's Republic of China, Second Office Action Issued in Chinese Patent Application No. 201380018289.3, dated Jun. 9, 2017, Beijing, China, 20 Pages. (Submitted with Partial English Translation of Second Office Action and Search Report). cited by applicant .
Federal Service for Intellectual Property (ROSPATENT), Office Action Issued in Russian Patent Application No. 2014140203, dated Jun. 6, 2017, Moscow, Russia, 6 Pages. cited by applicant .
"Office Action Issued in Japanese Patent Application No. 2015-504693", dated Nov. 21, 2017, 26 Pages. cited by applicant .
"Office Action Issued in Chinese Patent Application No. 201380018289.3", dated Dec. 7, 2017, 3 Pages (W/o English Translation). cited by applicant .
"Introduction to Sync Framework Database Synchronization", Retrieved at <<http//msdn.microsoft.com/en-us/sync/bb887608>>, Retrieved Date: Feb. 27, 2012, pp. 5. cited by applicant .
Nakhimovsky, et al., "Enabling User-Controlled Collection of Application Crash Data with DTrace", Retrieved at <<Enabling User-Controlled Collection of Application Crash Data with DTrace>>, May 2005, pp. 9. cited by applicant .
"About Windows Error Reporting", Retrieved at <<https://winqual.microsoft.com/help/about_windows_error_reporting_- for_hardware.htm>>, Retrieved Date: Sep. 26, 2011, pp. 3. cited by applicant .
"ConflictManager Reference", Retrieved at <<http://www.symantec.com/business/support/resources/sites/BUSINESS- /content/live/DOCUMENTATION/1000/DOC1965/en_US/ConflictManager%208.0%20Ref- erence_V1.0.pdf>>, 2009, pp. 1-54. cited by applicant .
Jha, et al. "Telemetry File Hash and Conflict Detection," U.S. Appl. No. 11/245,243, filed Oct. 23, 2011, pp. 27. cited by applicant .
"Office Action Issued in European Patent Application No. 13717645.9", dated Mar. 6, 2018, 6 Pages. cited by applicant.
1. A machine-implemented method, comprising: in a synchronization process, sending a local file to a server for synchronization with a matching file; receiving a matching file metadata set describing a matching characteristic of the matching file, the matching file metadata set comprising a file hash of the matching file; generating a local file metadata set comprising a file hash of the local file produced by applying a hash function to contents of the local file; executing a synchronization verification by comparing the file hash of the matching file to the generated file hash of the local file to determine whether a synchronization error has occurred during the synchronization; creating a telemetry report describing the synchronization, including the synchronization error as determined by the synchronization verification; sending the telemetry report to a telemetry server; receiving a review report from the telemetry server, the review report comprising an error patch corresponding to a known error matching the synchronization error; and correcting the synchronization error using the error patch.
2. The method of claim 1, further comprising: presenting the review report containing at least one of an individual user performance record and an aggregate user performance record.
5. The method of claim 1, further comprising: presenting a user customizable timeline based on an individual user performance record in the review report.
6. The method of claim 1, further comprising: performing a resynchronization of the local file to the matching file.
7. The method of claim 1, further comprising: receiving an assertion failure during the synchronization of the local file and the matching file for the telemetry report.
8. The method of claim 1, further comprising: recognizing a synchronization stall during the synchronization of the local file and the matching file for the telemetry report.
9. The method of claim 1, further comprising: recording a synchronization performance metric for the telemetry report.
10. A tangible machine-readable medium having a set of instructions detailing a method stored thereon that when executed by one or more processors cause the one or more processors to perform the method, the method comprising: receiving from a client device a telemetry report comprising a telemetry data set describing a synchronization between a local file received by the client device and a matching file of the client device; identifying in the telemetry report a synchronization error as determined by a synchronization verification, the synchronization verification comprising a comparison of a file hash of the matching file received by the client device to a file hash of the local file produced by the client device by applying a hash function to contents of the local file; creating a review report comprising an error patch corresponding to a known error matching the synchronization error identified; and sending the review report to the client device, wherein the error patch is further used by the client device to correct the synchronization error.
11. The tangible machine-readable medium of claim 10, wherein the method further comprises: comparing the synchronization error in the telemetry report to a known error database to find a matching error.
12. The tangible machine-readable medium of claim 11, wherein the method further comprises: selecting the error patch for the review report based on the matching error.
13. The tangible machine-readable medium of claim 10, wherein the method further comprises: aggregating user performance records covering different demographic groupings of cloud synchronization system users.
14. The tangible machine-readable medium of claim 10, wherein the method further comprises: associating the telemetry data set with at least one of a user demographic data set for a cloud user account and a device profile for the client device.
15. The tangible machine-readable medium of claim 10, wherein the method further comprises: collecting an aggregate user performance record for the review report.
16. The tangible machine-readable medium of claim 10, wherein the method further comprises: collecting an individual user performance record for the review report.
17. The tangible machine-readable medium of claim 16, wherein the method further comprises: creating a user customizable timeline based on the individual user performance record.
18. A client device, comprising: a hardware data storage configured to store a local file and a file hash of the local file, the file hash of the local file produced by applying a hash function to contents of the local file; a processor configured to in a synchronization process, send the local file to a server for synchronization with a matching file; execute a synchronization verification by comparing a received file hash of the matching file to the file hash of the local file to determine whether a synchronization error has occurred during the synchronization process; create a telemetry report describing the synchronization process, including the synchronization error as determined by the synchronization verification; and correct the synchronization error using an error patch; and a hardware network interface configured to receive the matching file, send the telemetry report to a telemetry server, and receive from the telemetry server a review report comprising the error patch corresponding to a known error matching the synchronization error.
19. The client device of claim 18, wherein the telemetry report has at least one of assertion failure data, synchronization stall data, and a synchronization performance metric.
A modern computer user may have multiple computer devices, such as a desktop computer, a laptop computer, a tablet computer, or a cellular telephone with computational power, called a "smart phone". A user may keep the files in one device synchronized with files across multiple other devices. A user may transfer any changes to a file in one device to other copies of that file in other devices.
Synchronization stall data 420 in the telemetry data set 404 may describe a synchronization stall that has occurred during the synchronization of the local file 112 and the matching file 134, along with any stall log data 422 taken at the time of the synchronization stall. The service proxy 114 may attempt to self-diagnose any failure to progress on synchronization. If, for example, an upload fails from "precondition failed", but a subsequent change enumeration returns an error indicating no modification and no progress made, the service proxy 114 may identify the stall. The service proxy 114 may identify the stall based on no further progress being made until the cloud service allows the upload or returns a reason for a failure to upload.
Previous Patent US 10,089,322 | Next Patent US 10,089,324