-
公开(公告)号:US11586590B2
公开(公告)日:2023-02-21
申请号:US17855842
申请日:2022-07-01
Applicant: Dropbox, Inc.
Inventor: Sourabh Yerfule , Parker Timmerman , Adam Arbree , Pranav Vishnu Ramabhadran , Zihao Yang , Lisa Fan , Kelson Reiss , Geoffry Song , Nipunn Koorapati
IPC: G06F16/178 , G06F16/27 , G06F3/0482 , G06F16/16 , H04L67/1095 , H04L67/1097
Abstract: The present technology pertains to synchronizing contents of a directory external to a synchronized directory by a content management system. The content management system is configured to synchronize only objects in the synchronized directory. Accordingly, the present technology creates an anchor object that represents the directory external to the synchronized directory within the synchronized directory. The anchor object includes special attributes that indicate to the synchronization client that the anchor object represents an external directory, and allows the contents of that directory to be synchronized directly to a server on the content management system without first storing the contents of the external directory on the hard drive of the client device.
-
公开(公告)号:US11514078B2
公开(公告)日:2022-11-29
申请号:US16991798
申请日:2020-08-12
Applicant: Dropbox, Inc.
Inventor: Elmer Charles Jubb, IV , Nipunn Koorapati , Robert Ying
IPC: G06F7/00 , G06F17/00 , G06F16/27 , G06F16/11 , G06F16/18 , G06F16/178 , G06F16/176 , G06F3/06 , G06F21/60 , G06F21/62 , H04L9/40 , H04L67/06 , H04L67/1097 , G06F16/958 , G06F16/2455 , G06F16/951 , G06F16/172 , G06F1/04 , G06F9/54 , G06F11/14 , G06F12/14 , G06F21/10 , H04L9/32 , H04L67/1095 , G06F16/23 , G06F16/22 , G06F16/182 , G06F16/185 , G06F16/16 , G06F16/13 , G06F16/174 , G06F16/14 , G06F16/907 , G06F16/17 , G06F16/901 , G06F16/955 , H04L67/306 , H04L67/01
Abstract: In some embodiments, a system for synchronizing content with client devices receives a request from a client device to synchronize operations pertaining to content items associated with a user account registered at the system. The request can include the operations and a cursor identifying a current position of the client in a journal of revisions on the system. Based on the operations, the system generates linearized operations associated with the content items. The linearized operations can include a respective operation derived for each of the content items from one or more of the operations. The system converts each respective operation in the linearized operations to a respective revision for the journal of revisions and, based on the cursor, determines whether the respective revision conflicts with revisions in the journal. When the respective revision does not conflict with revisions in the journal, the system adds the respective revision to the journal.
-
公开(公告)号:US11461365B2
公开(公告)日:2022-10-04
申请号:US16887714
申请日:2020-05-29
Applicant: Dropbox, Inc.
Inventor: Nipunn Koorapati , David Wetterau , Braden Walker , James Cowling , Sujay Jayakar
IPC: G06F16/30 , G06F16/27 , G06F16/11 , G06F16/18 , G06F16/178 , G06F16/176 , G06F3/06 , G06F21/60 , G06F21/62 , H04L9/40 , H04L67/06 , H04L67/1097 , G06F16/958 , G06F16/2455 , G06F16/951 , G06F16/172 , G06F1/04 , G06F9/54 , G06F11/14 , G06F12/14 , G06F21/10 , H04L9/32 , H04L67/1095 , G06F16/23 , G06F16/22 , G06F16/182 , G06F16/185 , G06F16/16 , G06F16/13 , G06F16/174 , G06F16/14 , G06F16/907 , G06F16/17 , G06F16/901 , G06F16/955 , H04L67/306 , H04L67/01
Abstract: A system can serialize moves and mounts across namespaces based on lamport clocks. In some examples, the system obtains a request to move a content item from a source namespace to a destination namespace. The system processes an incoming move at the destination and an outgoing move at the source. The system processes for the content item a delete at the source and an add at the destination. The system assigns a first clock to the incoming move and a second clock to the outgoing move, the first clock being lower than the second clock. The system assigns a third clock to the delete and a fourth clock to the add, the third clock being higher than the second clock and lower than the fourth clock. The system serializes the incoming and outgoing moves, the delete and the add based on the first, second, third and fourth clocks.
-
公开(公告)号:US11010402B2
公开(公告)日:2021-05-18
申请号:US15863751
申请日:2018-01-05
Applicant: Dropbox, Inc.
Inventor: Robert Ying , Nipunn Koorapati , Gautam Gupta
IPC: G06F16/10 , G06F16/27 , G06F16/11 , G06F16/18 , G06F16/178 , G06F16/176 , G06F3/06 , G06F21/60 , G06F21/62 , H04L29/06 , H04L29/08 , G06F16/958 , G06F16/2455 , G06F16/951 , G06F16/172 , G06F1/04 , G06F9/54 , G06F11/14 , G06F12/14 , G06F21/10 , H04L9/32 , G06F16/23 , G06F16/22 , G06F16/182 , G06F16/185 , G06F16/16 , G06F16/13 , G06F16/174 , G06F16/14 , G06F16/907 , G06F16/17 , G06F16/901 , G06F16/955
Abstract: The disclosed technology relates to a system configured to receive operations data from a content management system, wherein the operations data comprises a log of operations, execute the log of operations, and update, based on execution of the log of operations, a remote tree representing a server state for content items stored on the content management system.
-
公开(公告)号:US20210042325A1
公开(公告)日:2021-02-11
申请号:US17077719
申请日:2020-10-22
Applicant: Dropbox, Inc.
Inventor: Isaac Goldberg , Sujay Jayakar , John Lai , Robert Ying , Nipunn Koorapati , Gautam Gupta , Geoffry Song , Elmer Charles Jubb, IV
IPC: G06F16/27 , G06F16/11 , G06F16/18 , G06F16/178 , G06F16/176 , G06F3/06 , G06F21/60 , G06F21/62 , H04L29/06 , H04L29/08 , G06F16/958 , G06F16/2455 , G06F16/951 , G06F16/172 , G06F1/04 , G06F9/54 , G06F11/14 , G06F12/14 , G06F21/10 , H04L9/32 , G06F16/23 , G06F16/22 , G06F16/182 , G06F16/185 , G06F16/16 , G06F16/13 , G06F16/174 , G06F16/14 , G06F16/907 , G06F16/17 , G06F16/901 , G06F16/955
Abstract: The disclosed technology relates to a system configured to compute a difference between a remote tree data structure representing a server state for content items associated with an account on a content management system and a sync tree data structure representing a known synchronization state between the content management system and the computing system. The system is configured to generate, based on the difference, a set of operations that when performed on the computing system update the content items stored on the client device to converge a file system state on the computing system and the server state.
-
公开(公告)号:US20200293547A1
公开(公告)日:2020-09-17
申请号:US16887714
申请日:2020-05-29
Applicant: Dropbox, Inc.
Inventor: Nipunn Koorapati , David Wetterau , Braden Walker , James Cowling , Sujay Jayakar
IPC: G06F16/27 , G06F16/11 , G06F16/18 , G06F16/178 , G06F16/176 , G06F21/62 , G06F16/23 , G06F16/22 , H04L29/08 , G06F16/182 , G06F1/04 , G06F16/185 , H04L29/06 , G06F16/16 , G06F21/60 , G06F16/13 , G06F16/174 , G06F16/14 , G06F16/907 , G06F16/17 , G06F3/06 , G06F9/54 , G06F12/14 , G06F16/2455 , G06F16/172 , G06F11/14 , G06F21/10 , G06F16/958 , G06F16/901 , G06F16/951 , G06F16/955 , H04L9/32
Abstract: A system can serialize moves and mounts across namespaces based on lamport clocks. In some examples, the system obtains a request to move a content item from a source namespace to a destination namespace. The system processes an incoming move at the destination and an outgoing move at the source. The system processes for the content item a delete at the source and an add at the destination. The system assigns a first clock to the incoming move and a second clock to the outgoing move, the first clock being lower than the second clock. The system assigns a third clock to the delete and a fourth clock to the add, the third clock being higher than the second clock and lower than the fourth clock. The system serializes the incoming and outgoing moves, the delete and the add based on the first, second, third and fourth clocks.
-
公开(公告)号:US10762104B2
公开(公告)日:2020-09-01
申请号:US15858410
申请日:2017-12-29
Applicant: Dropbox, Inc.
Inventor: Elmer Charles Jubb, IV , Nipunn Koorapati , Robert Ying
IPC: G06F7/00 , G06F17/00 , G06F16/27 , G06F16/11 , G06F16/18 , G06F16/178 , G06F16/176 , G06F21/62 , G06F16/23 , G06F16/22 , H04L29/08 , G06F16/182 , G06F1/04 , G06F16/185 , H04L29/06 , G06F16/16 , G06F21/60 , G06F16/13 , G06F16/174 , G06F16/14 , G06F16/907 , G06F16/17 , G06F3/06 , G06F9/54 , G06F12/14 , G06F16/2455 , G06F16/172 , G06F11/14 , G06F21/10 , G06F16/958 , G06F16/901 , G06F16/951 , G06F16/955 , H04L9/32
Abstract: In some embodiments, a system for synchronizing content with client devices receives a request from a client device to synchronize operations pertaining to content items associated with a user account registered at the system. The request can include the operations and a cursor identifying a current position of the client in a journal of revisions on the system. Based on the operations, the system generates linearized operations associated with the content items. The linearized operations can include a respective operation derived for each of the content items from one or more of the operations. The system converts each respective operation in the linearized operations to a respective revision for the journal of revisions and, based on the cursor, determines whether the respective revision conflicts with revisions in the journal. When the respective revision does not conflict with revisions in the journal, the system adds the respective revision to the journal.
-
公开(公告)号:US10685038B2
公开(公告)日:2020-06-16
申请号:US15332782
申请日:2016-10-24
Applicant: Dropbox, Inc.
Inventor: Nipunn Koorapati , Christopher Rude , Marcio von Muhlen , Nils Bunger
IPC: H04L29/08 , H04L29/12 , G06F16/27 , G06F16/10 , G06F16/172 , G06F16/178 , G06F16/182 , H04L12/801
Abstract: A synchronization protocol for multi-premises hosting of digital content items. In one embodiments, for example, a method, comprising: detecting creation or modification of a content item; determining a content item namespace to which the content item belongs; obtaining an identifier of a block server to which the content item namespace is assigned; and uploading any content item blocks of the content item to the block server that are not already stored at the block server.
-
公开(公告)号:US20190205428A1
公开(公告)日:2019-07-04
申请号:US15868518
申请日:2018-01-11
Applicant: Dropbox, Inc.
Inventor: Isaac Goldberg , Sujay Jayakar , John Lai , Robert Ying , Nipunn Koorapati , Gautam Gupta , Geoffry Song , Elmer Charles Jubb, IV
CPC classification number: G06F16/137 , G06F1/04 , G06F3/0629 , G06F3/067 , G06F9/547 , G06F16/11 , G06F16/122 , G06F16/125 , G06F16/128 , G06F16/152 , G06F16/156 , G06F16/172 , G06F16/1734 , G06F16/1744 , G06F16/176 , G06F16/1767 , G06F16/178 , G06F16/1787 , G06F16/18 , G06F16/182 , G06F16/183 , G06F16/1844 , G06F16/185 , G06F16/2246 , G06F16/2379 , G06F16/24552 , G06F16/27 , G06F16/275 , G06F16/907 , G06F16/958 , G06F21/6218 , G06F2221/2141 , H04L9/3213 , H04L9/3247 , H04L63/10 , H04L63/101 , H04L67/06 , H04L67/1095 , H04L67/1097 , H04L67/306 , H04L67/42
Abstract: The disclosed technology relates to a system configured to obtain a set of tree data structures including a remote tree representing a server state of content items associated with a user account on a content management system, a local tree representing a file system state of content items associated with the user account on a client device, and a sync tree representing a known sync state between the content management system and the client device. The system is configured to determine that the user account on the content management system includes at least one modification not synchronized to the client device by comparing the remote tree and the sync tree.
-
公开(公告)号:US20190205050A1
公开(公告)日:2019-07-04
申请号:US15858430
申请日:2017-12-29
Applicant: Dropbox, Inc.
Inventor: Nipunn Koorapati , Daniel Horn , Elmer Charles Jubb, IV
CPC classification number: G06F16/137 , G06F1/04 , G06F3/0629 , G06F3/067 , G06F9/547 , G06F16/11 , G06F16/122 , G06F16/125 , G06F16/128 , G06F16/152 , G06F16/156 , G06F16/172 , G06F16/1734 , G06F16/1744 , G06F16/176 , G06F16/1767 , G06F16/178 , G06F16/1787 , G06F16/18 , G06F16/182 , G06F16/183 , G06F16/1844 , G06F16/185 , G06F16/2246 , G06F16/2379 , G06F16/24552 , G06F16/27 , G06F16/275 , G06F16/907 , G06F16/958 , G06F21/6218 , G06F2221/2141 , H04L9/3213 , H04L9/3247 , H04L63/10 , H04L63/101 , H04L67/06 , H04L67/1095 , H04L67/1097 , H04L67/306 , H04L67/42
Abstract: In some embodiments, an interface of a content management system manages synchronized content on storage systems. For example, the interface stores, on a metadata storage structure, records of metadata associated with blocks of data stored on a storage, the records including block identifiers that uniquely identify the blocks and timestamps associated with the blocks. The interface identifies a batch of storage operations associated with the blocks, including one or more delete operations. For each delete operation, the interface queries the metadata storage structure for a timestamp corresponding to a block of data associated with the delete operation, determines whether the delete operation creates a race condition between the delete operation and an add operation associated with the block of data, and rejects the delete operation when the delete operation creates the race condition or the timestamp corresponding to the block of data is newer than a predetermined period of time.
-
-
-
-
-
-
-
-
-