Recording and serializing events
First Claim
Patent Images
1. A method comprising:
- at a server system,receiving, from a client, comprising a client device or system distinct from the server system, event data including;
event information with respect to events that occur at the client, client real time clock (RTC) timestamps associated with each event and unique sequence identification information associated with each event;
reconstructing at least one of;
a chronological order of the events on the client and the time when each event occurred at the client, wherein reconstructing comprises for a respective event, recording a time skew between the associated client RTC and a server RTC upon receipt of the event data at the server system and ordering the events by respective sequence identifications;
determining whether an ordering of the events by respective sequence identifications does not match a chronological order of the events based on client RTC timestamps; and
in accordance with a determination that the ordering of the events by respective sequence identifications does not match the chronological order of the events based on client RTC timestamps, normalizing the client RTC timestamps with the recorded time skew between the client RTC and the server RTC.
2 Assignments
0 Petitions
Accused Products
Abstract
Event information with respect to events that occur at a client is recorded. A current client real time clock (RTC) timestamp at the occurrence of each event is also recorded. Each event is assigned a unique sequence identification. Event data including the event information and the associated RTC timestamp and sequence identification information are transmitted to a server. The server reconstructs at least one of: a chronological order of the events on the client and the time when each event occurred at the client.
154 Citations
21 Claims
-
1. A method comprising:
at a server system, receiving, from a client, comprising a client device or system distinct from the server system, event data including;
event information with respect to events that occur at the client, client real time clock (RTC) timestamps associated with each event and unique sequence identification information associated with each event;reconstructing at least one of;
a chronological order of the events on the client and the time when each event occurred at the client, wherein reconstructing comprises for a respective event, recording a time skew between the associated client RTC and a server RTC upon receipt of the event data at the server system and ordering the events by respective sequence identifications;determining whether an ordering of the events by respective sequence identifications does not match a chronological order of the events based on client RTC timestamps; and in accordance with a determination that the ordering of the events by respective sequence identifications does not match the chronological order of the events based on client RTC timestamps, normalizing the client RTC timestamps with the recorded time skew between the client RTC and the server RTC. - View Dependent Claims (2, 3, 4)
-
5. A method comprising:
-
at a client, comprising a client device or system distinct from a server system, recording event information with respect to events that occur at the client; recording a current client real time clock (RTC) timestamp at the occurrence of each event; assigning each event a unique sequence identification; and transmitting event data, including the event information and associated RTC timestamp and sequence identification information to the server system, when a network connection is established between the client and the server system and any of a plurality of trigger conditions is met, the plurality of trigger conditions including;
collection of a predetermined amount of event data at the client and occurrence of a particular event or events at the client;at the server system, reconstructing at least one of;
a chronological order of the events on the client and the time when each event occurred at the client;
wherein reconstructing comprises for a respective event, recording a time skew between the associated client RTC and a server RTC upon receipt of the event data at the server system and ordering the events by respective sequence identifications;determining whether an ordering of the events by respective sequence identifications does not match a chronological order of the events based on client RTC timestamps; and in accordance with a determination that the ordering of the events by respective sequence identifications does not match the chronological order of the events based on client RTC timestamps, normalizing the client RTC timestamps with the recorded time skew between the client RTC and the server RTC. - View Dependent Claims (6, 7, 8)
-
-
9. A method comprising:
-
at a client, comprising a client device or system distinct from a server system, recording event information with respect to events that occur at the client; recording a current client real time clock (RTC) timestamp at the occurrence of each event; assigning each event a unique sequence identification; and transmitting event data including the event information and associated RTC timestamp and sequence identification information to the server system; at the server system, reconstructing at least one of;
a chronological order of the events on the client and the time when each event occurred at the client;
wherein reconstructing comprises for a respective event, recording a time skew between the associated client RTC and a server RTC upon receipt of the event data at the server system and ordering the events by respective sequence identifications;determining whether an ordering of the events by respective sequence identifications does not match a chronological order of the events based on client RTC timestamps; and in accordance with a determination that the ordering of the events by respective sequence identifications does not match the chronological order of the events based on client RTC timestamps, normalizing the client RTC timestamps with the recorded time skew between the client RTC and the server RTC. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A server system comprising:
-
one or more processors; memory storing one or more programs having instructions to be executed by the one or more processors; and a communication interface to receive, from a client, comprising a client device or system distinct from the server system, event data including;
event information with respect to events that occur at the client, client real time clock (RTC) timestamps associated with each event and unique sequence identification information associated with each event;the one or more programs stored in memory including; a reconstruction module to reconstruct at least one of;
a chronological order of the events on the client and the time when each event occurred at the client, wherein reconstructing comprises, for a respective event, recording a time skew between the associated client RTC and a server RTC upon receipt of the event data at the server system and ordering the events by respective sequence identifications; anda normalization module to conditionally normalize the client RTC timestamps with the recorded time skew between the client RTC and the server RTC in accordance with a determination that an ordering of the events by respective sequence identifications does not match a chronological order of the events based on client RTC timestamps. - View Dependent Claims (15, 16, 17)
-
-
18. A non-transitory computer readable storage medium storing one or more programs for execution by one or more processors of a server system, the one or more programs comprising:
-
a communication module to receive, from a client, comprising a client device or system distinct from the server system, event data including;
event information with respect to events that occur at the client, client real time clock (RTC) timestamps associated with each event and unique sequence identification information associated with each event;a reconstruction module to reconstruct at least one of;
a chronological order of the events on the client and the time when each event occurred at the client, wherein reconstructing comprises, for a respective event, recording a time skew between the associated client RTC and a server RTC upon receipt of the event data at the server system and ordering the events by respective sequence identifications; anda normalization module to conditionally normalize the client RTC timestamps with the recorded time skew between the client RTC and the server RTC in accordance with a determination that an ordering of the events by respective sequence identifications does not match a chronological order of the events based on client RTC timestamps. - View Dependent Claims (19, 20, 21)
-
Specification