Patents by Inventor Nipunn Koorapati

Nipunn Koorapati has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 10685038
    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.
    Type: Grant
    Filed: October 24, 2016
    Date of Patent: June 16, 2020
    Assignee: Dropbox Inc.
    Inventors: Nipunn Koorapati, Christopher Rude, Marcio von Muhlen, Nils Bunger
  • Patent number: 10599673
    Abstract: The disclosed technology relates to a system configured to identify at least one difference between a sync tree and at least one of a remote tree and a local tree. The sync tree represents a known synced state between a server state and a file system state, the remote tree represents the server state, and the local tree represents the file system state. The system may further generate, based on the at least one difference, a set of operations configured to converge the server state and the file system state and manage the execution of the set of operations.
    Type: Grant
    Filed: January 11, 2018
    Date of Patent: March 24, 2020
    Assignee: Dropbox, Inc.
    Inventors: Isaac Goldberg, Sujay Jayakar, John Lai, Robert Ying, Nipunn Koorapati, Gautam Gupta, Geoffry Song, Elmer Charles Jubb, IV
  • Publication number: 20190205426
    Abstract: The disclosed technology relates to a system configured to identify at least one difference between a sync tree and at least one of a remote tree and a local tree. The sync tree represents a known synced state between a server state and a file system state, the remote tree represents the server state, and the local tree represents the file system state. The system may further generate, based on the at least one difference, a set of operations configured to converge the server state and the file system state and manage the execution of the set of operations.
    Type: Application
    Filed: January 11, 2018
    Publication date: July 4, 2019
    Inventors: Isaac Goldberg, Sujay Jayakar, John Lai, Robert Ying, Nipunn Koorapati, Gautam Gupta, Geoffry Song, Elmer Charles Jubb, IV
  • Publication number: 20190205457
    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.
    Type: Application
    Filed: January 17, 2018
    Publication date: July 4, 2019
    Inventors: Nipunn Koorapati, David Wetterau, Braden Walker, James Cowling, Sujay Jayakar
  • Publication number: 20190205419
    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.
    Type: Application
    Filed: December 29, 2017
    Publication date: July 4, 2019
    Inventors: Elmer Charles Jubb, IV, Nipunn Koorapati, Robert Ying
  • Publication number: 20190205422
    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.
    Type: Application
    Filed: January 5, 2018
    Publication date: July 4, 2019
    Inventors: Robert Ying, Nipunn Koorapati, Gautam Gupta
  • Publication number: 20190205050
    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.
    Type: Application
    Filed: December 29, 2017
    Publication date: July 4, 2019
    Inventors: Nipunn Koorapati, Daniel Horn, Elmer Charles Jubb, IV
  • Publication number: 20190208012
    Abstract: The disclosed technology relates to a system configured to receive, from a content management system, an initial portion of a log of operations for a target namespace, build a subtree for the target namespace based on the initial portion of the log of operations, and mount the subtree for the target namespace at a mount location of a remote tree representing a server state for content items stored on the content management system.
    Type: Application
    Filed: January 5, 2018
    Publication date: July 4, 2019
    Inventors: Robert Ying, Nipunn Koorapati, Gautam Gupta
  • Publication number: 20190205427
    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.
    Type: Application
    Filed: January 11, 2018
    Publication date: July 4, 2019
    Inventors: Isaac Goldberg, Sujay Jayakar, John Lai, Robert Ying, Nipunn Koorapati, Gautam Gupta, Geoffry Song, Elmer Charles Jubb, IV
  • Publication number: 20190205428
    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.
    Type: Application
    Filed: January 11, 2018
    Publication date: July 4, 2019
    Inventors: Isaac Goldberg, Sujay Jayakar, John Lai, Robert Ying, Nipunn Koorapati, Gautam Gupta, Geoffry Song, Elmer Charles Jubb, IV
  • Publication number: 20190205458
    Abstract: The disclosed technology relates to a system configured to compute a difference between a local tree data structure representing a file system state for content items associated with a user account on the computing system and a sync tree data structure representing a known synchronization state between a content management system and the computing system. The system is configured to generate, based on the difference, a set of operations that when performed update the content items stored on the content management system to converge a server state for content items associated the user account on the content management system and the file system state.
    Type: Application
    Filed: January 11, 2018
    Publication date: July 4, 2019
    Inventors: Isaac Goldberg, Sujay Jayakar, John Lai, Robert Ying, Nipunn Koorapati, Gautam Gupta, Geoffry Song, Elmer Charles Jubb, IV
  • Publication number: 20190207929
    Abstract: An interface of a content management system manages storage and access of content on the system. For example, after receiving, from a client, a request to download a content item, the interface determines whether the request includes a valid token. If so, the interface sends a content item request to a storage service, retrieves the content item, and sends the content item to the client. Otherwise, the interface sends an authorization request to an authorization service, an authentication request to an authentication service, and a content item request to the storage service. Based on the requests, the interface determines whether the content item is available in storage and whether the client is authorized to access the content item. When the content item is available in storage and the client is authorized to access the content item, the interface retrieves the content item and sends the content item to the client.
    Type: Application
    Filed: January 10, 2018
    Publication date: July 4, 2019
    Inventors: Nipunn Koorapati, Daniel Horn, Elmer Charles Jubb, IV
  • Patent number: 10324903
    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.
    Type: Grant
    Filed: January 11, 2018
    Date of Patent: June 18, 2019
    Assignee: Dropbox, Inc.
    Inventors: Isaac Goldberg, Elmer Charles Jubb, IV, Sujay Jayakar, John Lai, Robert Ying, Nipunn Koorapati, Gautam Gupta, Geoffry Song
  • Patent number: 10133804
    Abstract: A content item block replication protocol for multi-premises hosting of digital content items. In one embodiment, for example, a method comprises: receiving, from a server, a server journal entry identifying one or more content item blocks of a content item represented by the server journal entry; storing a replication log entry corresponding to the server journal entry in a replication log, the replication log entry identifying the one or more content item blocks of the content item represented by the server journal entry and identifying a block server; and either offering to send the one or more content item blocks identified in the replication log entry to the block server identified in the replication log entry, or downloading the one or more content item blocks identified in the replication log entry from the block server identified in the replication log entry.
    Type: Grant
    Filed: May 23, 2017
    Date of Patent: November 20, 2018
    Assignee: Dropbox, Inc.
    Inventors: Nipunn Koorapati, Christopher Rude, Marcio von Muhlen, Nils Bunger
  • Patent number: 9998541
    Abstract: A content management system synchronizes content items across client computing systems. The content items are transmitted to the content management system and managed as blocks of data with a fixed size. When a new content item is added to synchronized data at a client, the client transmits the blocks and a blocklist to the content management system. The content management system uses the blocklist to determine blocks expected to be received at the content management system and the client begins to transmit blocks of the content item to the content management system. When blocks received at the content management system match expected blocks, the content management system notifies receiving clients to begin receiving blocks for the content item, prior to receipt of all blocks on the blocklist at the content management system. This enables content items to begin synchronization across clients prior to actual entry of the content item into the content management system.
    Type: Grant
    Filed: October 7, 2017
    Date of Patent: June 12, 2018
    Assignee: Dropbox, Inc.
    Inventors: Bogdan-Cristian Tataroiu, Nipunn Koorapati
  • Publication number: 20180139085
    Abstract: Techniques for apparent cloud access of a hosted content item. In one embodiment, for example, a method performed at a personal computing device executing a user agent comprises: receiving a block agent request for a content item from the user agent; determining content item block identifiers of content item blocks that make up the content item; determining which, if any, of the content item blocks that make up the content item are not stored in a local storage of the personal computing device; downloading, from a block server of an online content management system, any of the content item blocks that are not stored in a local storage of the personal computing device; and sending to the user agent, in a response to the block agent request, data of each of the content item blocks that make up the content item.
    Type: Application
    Filed: January 12, 2018
    Publication date: May 17, 2018
    Inventors: Nipunn Koorapati, Christopher Rude, Marcio von Muhlen, Nils Bunger
  • Publication number: 20180034910
    Abstract: A content management system synchronizes content items across client computing systems. The content items are transmitted to the content management system and managed as blocks of data with a fixed size. When a new content item is added to synchronized data at a client, the client transmits the blocks and a blocklist to the content management system. The content management system uses the blocklist to determine blocks expected to be received at the content management system and the client begins to transmit blocks of the content item to the content management system. When blocks received at the content management system match expected blocks, the content management system notifies receiving clients to begin receiving blocks for the content item, prior to receipt of all blocks on the blocklist at the content management system. This enables content items to begin synchronization across clients prior to actual entry of the content item into the content management system.
    Type: Application
    Filed: October 7, 2017
    Publication date: February 1, 2018
    Inventors: Bogdan-Cristian Tataroiu, Nipunn Koorapati
  • Patent number: 9882770
    Abstract: Techniques for apparent cloud access of a hosted content item. In one embodiment, for example, a method performed at a personal computing device comprising a user agent comprises: receiving a block agent request for a content item from the user agent; determining content item block identifiers of content item blocks that make up the content item; determining which, if any, of the content item blocks that make up the content item are not stored in a local storage of the personal computing device; downloading, from a block server of an online content management system, any of the content item blocks that are not stored in a local storage of the personal computing device; and sending to the user agent, in a response to the block agent request, data of each of the content item blocks that make up the content item.
    Type: Grant
    Filed: November 18, 2016
    Date of Patent: January 30, 2018
    Assignee: Dropbox, Inc.
    Inventors: Nipunn Koorapati, Christopher Rude, Marcio von Muhlen, Nils Bunger
  • Patent number: 9819740
    Abstract: A content management system synchronizes content items across client computing systems. The content items are transmitted to the content management system and managed as blocks of data with a fixed size. When a new content item is added to synchronized data at a client, the client transmits the blocks and a blocklist to the content management system. The content management system uses the blocklist to determine blocks expected to be received at the content management system and the client begins to transmit blocks of the content item to the content management system. When blocks received at the content management system match expected blocks, the content management system notifies receiving clients to begin receiving blocks for the content item, prior to receipt of all blocks on the blocklist at the content management system. This enables content items to begin synchronization across clients prior to actual entry of the content item into the content management system.
    Type: Grant
    Filed: November 22, 2016
    Date of Patent: November 14, 2017
    Assignee: DROPBOX, INC.
    Inventors: Bogdan-Cristian Tataroiu, Nipunn Koorapati
  • Publication number: 20170255687
    Abstract: A content item block replication protocol for multi-premises hosting of digital content items. In one embodiment, for example, a method comprises: receiving, from a server, a server journal entry identifying one or more content item blocks of a content item represented by the server journal entry; storing a replication log entry corresponding to the server journal entry in a replication log, the replication log entry identifying the one or more content item blocks of the content item represented by the server journal entry and identifying a block server; and either offering to send the one or more content item blocks identified in the replication log entry to the block server identified in the replication log entry, or downloading the one or more content item blocks identified in the replication log entry from the block server identified in the replication log entry.
    Type: Application
    Filed: May 23, 2017
    Publication date: September 7, 2017
    Inventors: Nipunn Koorapati, Christopher Rude, Marcio von Muhlen, Nils Bunger