IP Library Granted Patent US 10,185,759
Granted Patent B2
US 10,185,759 · App. 14/869,695 · Granted Jan 22, 2019

Distinguishing event type

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 10,185,759
App. No.
14/869,695
Granted
Jan 22, 2019
Kind
B2
Abstract

An example computer-implemented method to determine if an event was triggered by an action performed by a client synchronization module begins with receiving an event from an operating system. The event can be associated with a content item. The computer can then compare the event to a log. The log can describe one or more recent actions performed by a client synchronization module. The computer can then determine whether the event was triggered by a recent action in the log. When the event is triggered by a recent action in the log, the computer can ignore the event. When the event is not triggered by a recent action in the log, the computer can process the event.

Claims (40)

1. A computer-implemented method comprising:

storing an indicator describing an action that will be performed;

recording, by a client synchronization service on a client device, a log of events identifying events generated by the client synchronization service on the client device, the client synchronization service being associated with a content management system;

receiving, by the client synchronization service on the client device, an event notification generated by an operating system on the client device, the event notification identifying an event for a content item managed by the client synchronization service;

after receiving the event notification, determining, based on the indicator, the log of events has not yet stored a description of the action that was to be performed;

waiting until the log of events has stored the description of the action that was to be performed before determining whether a recent action triggered the event notification;

determining whether the event notification received from the operating system was triggered by an action in the log of events of the client synchronization service based on the recent action in the log of events describing metadata of the content item, the metadata including at least one of a filename, a file size, a date modified, a creation date, or a path of the content item; and

processing the event identified by the event notification via the client synchronization service on the client device only when the client synchronization service determines that the event identified by the event notification from the operating system was not triggered by an action in the log of events of the client synchronization service on the client device.

2. The computer-implemented method of claim 1 , wherein the determining whether the event notification received from the operating system was triggered by an action in the log of events of the client synchronization service further comprises:

determining whether at least one difference in time between an event time and a time associated with the recent action in the log of events is below a predetermined amount.

3. The computer-implemented method of claim 1 , further comprising removing the indicator after storing the description of the action is stored in the log of events.

4. The computer-implemented method of claim 1 wherein the event notification describes at least one of: storing the content item, editing the content item, moving the content item, or deleting the content item.

5. The computer-implemented method of claim 1 , wherein the client synchronization service is configured to synchronize content items between the client device and the content management system.

6. A non-transitory computer-readable medium storing computer executable instructions which, when executed by one or more processors, cause a computer device to:

store an indicator describing an action that will be performed;

record, by a client synchronization service on the computer device, a log of events identifying events generated by the client synchronization service on the computer device, the client synchronization service being associated with a content management system;

receive an event notification generated by an operating system on the computer device, the event identifying an event for a content item managed by the client synchronization service;

after receiving the event notification, determine, based on the indicator, that a description of the action is not stored on the log of events;

wait until the log has stored the description of the action before determining whether a recent action triggered the event notification;

determine whether the event notification received from the operating system was triggered by an action in the log of events of the client synchronization service based on the recent action in the log of events describing metadata of the content item, the metadata including at least one of a filename, a file size, a date modified, a creation date, or a path of the content item; and

process the event identified by the event notification via the client synchronization service on the computing device only when the client synchronization service determines that the event identified by the event notification from the operating system was not triggered by an action in the log of events of the client synchronization service on the computing device.

7. The non-transitory computer-readable medium of claim 6 , wherein determine whether the event notification received from the operating system was triggered by an action in the log of events of the client synchronization service comprises:

determine whether at least one difference in time between an event time and a time associated with the recent action in the log of events is below a predetermined amount.

8. The non-transitory computer-readable medium of claim 6 , storing computer executable instructions which, when executed by the one or more processors, cause the computing device to remove the indicator.

9. The non-transitory computer-readable medium of claim 6 wherein the event notification describes at least one of: storing the content item, editing the content item, moving the content item, or deleting the content item.

10. The non-transitory computer-readable medium of claim 6 , wherein the client synchronization service is configured to synchronize content items with the content management system.

11. A system comprising:

one or more processors;

at least one non-transitory computer-readable medium; and

computer readable instructions stored on the non-transitory computer-readable medium, that when executed by the one or more processors cause the system to:

store an indicator describing an action to be performed;

record, by a client synchronization service on the system, a log of events identifying events generated by the client synchronization service on a computer device, the client synchronization service being associated with a content management system;

receive an event notification generated by an operating system on the system, the event notification identifying an event for a content item managed by the client synchronization service;

after receiving the event notification, determine, based on the indicator, that a description of the action is not stored in the log of events;

wait until the log has stored the description of the action to be performed before determining whether a recent action triggered the event notification;

determine whether the event notification received from the operating system was triggered by an action in the log of events of the client synchronization service based on a recent action in the log of events describing metadata of the content item, the metadata including at least one of a filename, a file size, a date modified, a creation date, or a path of the content item; and

ignore, by the client synchronization service, the event identified by the event notification when the client synchronization service determines that the event identified by the event notification from the operating system was triggered by the client synchronization service on the system.

12. The system of claim 11 , wherein determine whether the event notification received from the operating system was triggered by an action in the log of events of the client synchronization service comprises determine whether a difference in time between an event time and a time associated with the recent action is below a predetermined amount.

13. The system of claim 11 , wherein the event notification describes at least one of: storing the content item, editing the content item, moving the content item, or deleting the content item.

14. The system of claim 11 , wherein the client synchronization service is configured to synchronize content items on the system with the content management system.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: DROPBOX, INC.
Reel/Frame 069635/0332 →
SECURITY INTEREST Recorded Dec 12, 2024
From: DROPBOX, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069604/0611 →
RELEASE OF SECURITY INTEREST Recorded Dec 12, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: DROPBOX, INC.
Reel/Frame 069613/0744 →
PATENT SECURITY AGREEMENT Recorded Mar 10, 2021
From: DROPBOX, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 055670/0219 →
SECURITY INTEREST Recorded Apr 14, 2017
From: DROPBOX, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 042254/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: GOLDBERG, ISAAC
To: DROPBOX, INC.
Reel/Frame 036992/0717 →