Patents Assigned to EGNYTE, INC.
  • Patent number: 11010776
    Abstract: A novel system for performing valuations of file system objects include a processor configured to execute code and memory configured to store data and the code. The code includes an accumulator configured to accumulate secondary data associated with said file system objects, a data aggregator configured to arrange the secondary data in the memory, and a value generator configured to generate an object value indicative of the value of at least one of the file system objects to a particular entity. In a particular embodiment, the value generator creates a record in a valuation database to associate the object value with the at least one of the file system objects.
    Type: Grant
    Filed: March 27, 2018
    Date of Patent: May 18, 2021
    Assignee: Egnyte, Inc.
    Inventors: Nikita Loginov, Isabelle Stephanie Guis, Narayanan Achalu, Amrit Jassal
  • Patent number: 10909083
    Abstract: A method for synchronizing a file system (FS) and a remote file system (RFS) includes monitoring the FS for FS events, generating FS event records, receiving RFS event records of RFS events, generating file system operations (FSOs) based on the FS and RFS event records, and communicating the FSOs to the FS and RFS to synchronize them. A method for generating the FSOs includes accessing a plurality of FS and/or RFS event records, processing the accessed records to generate processed event records, generating the FSOs based on the processed event records, and outputting the FSOs to cause synchronization of the FS and RFS. Systems are also described. The invention facilitates event-based, steady-state synchronization of local and remote file systems.
    Type: Grant
    Filed: January 22, 2020
    Date of Patent: February 2, 2021
    Assignee: Egnyte, Inc.
    Inventors: Ravi Wijayaratne, Ray White, Manish Marathe, Markku Mielityinen, Amrit Jassal, Rajesh Ram, Sriram Gopalan, Aahz, Heikki J. Toivonen, Remus Koos
  • Patent number: 10909082
    Abstract: A method for synchronizing a local file system (LFS) and a remote (cloud) file system (RFS) includes the step of storing events indicative of differences between the LFS and the RFS, where the events are associated with file system objects of the LFS and RFS. The method further includes the steps of prioritizing the events, generating file system operations for the events based at least in part on the prioritization of the events, and performing at least some of the file system operations to synchronize the LFS and RFS. Prioritizing the events includes defining a plurality of service classes (e.g., based on type of event, event attribute, etc.), assigning a priority to each of the service classes, and assigning each event to one of said service classes. Systems are also described. The invention allocates limited synchronization resources based on a predefined policy to synchronize important file system objects sooner.
    Type: Grant
    Filed: August 13, 2019
    Date of Patent: February 2, 2021
    Assignee: Egnyte, Inc.
    Inventors: Ravi Wijayaratne, Remus Koos, Ray White, Manish Marathe, Dmitry Tisnek, Harikesavan Krishnan, Amrit Jassal
  • Patent number: 10873629
    Abstract: A method for storing objects in an object storage system includes the steps of establishing a network connection with a client over an inter-network, receiving an upload request indicating an object to be uploaded by the client, selecting at least two storage nodes on which the object will be stored, receiving the object from the client via the network connection, and streaming the object to each of the selected storage nodes such that the object is stored on each of the selected storage nodes. The method can also include writing an object record associating the object and the selected storage nodes to a shard of an object database and generating a Universally Unique Identifier (UUID). The UUID indicates the shard and the object ID of the object record, such that the object record can be quickly retrieved. Object storage infrastructures are also disclosed.
    Type: Grant
    Filed: April 18, 2018
    Date of Patent: December 22, 2020
    Assignee: Egnyte, Inc.
    Inventors: Sachin Shetty, Krishna Sankar, Amrit Jassal, Kalpesh Patel, Shishir Sharma
  • Patent number: 10853475
    Abstract: Cloud storage systems and methods are described for providing event-based user state synchronization among the various cloud elements. A global user directory is maintained on a remote cloud storage system. The global user directory includes a plurality of global user definitions associated with a plurality of user accounts, where each of the user accounts has access to at least one of a remote file system (RFS) hosted by the remote cloud storage system and a local file system (LFS) hosted by a local cloud storage system. As global user definition are altered on the remote cloud storage system, user events are generated and communicated to the local cloud storage system, where they are applied to synchronize the local user definitions with the global user definitions. The invention facilitates centralized control of user definitions, near real-time event delivery to local cloud storage systems, and separation of authentication processes from customers' active directory services.
    Type: Grant
    Filed: January 31, 2018
    Date of Patent: December 1, 2020
    Assignee: Egnyte, Inc.
    Inventors: Shishir Sharma, Debjit Bhattacharjee, Amrit Jassal, Kalpesh Patel, Deepak Mehta, Przemek Grzedzielski, Sachin Shetty, Krzysztof Gardo, Daniil Iaitskov, Harikesavan Krishnan, Manish Marathe
  • Patent number: 10812452
    Abstract: Methods in a cloud object store facilitate strong data encryption, customer-management of object (encryption) keys, reductions in latency, globally-distributed object storage, and handling of streamed uploads. A method for encrypting objects stored in a cloud includes encrypting each object with a unique encryption (object) key. The plaintext object keys are generated in advance of uploads. The plaintext object keys can be stored in an object database in the cloud. Alternatively, the plaintext object keys can be provided to a customer's HSM, encrypted, and returned to the cloud, such that encrypted object keys, encrypted by the customer, are stored in the cloud. The cloud can alternatively encrypt the customer's object keys with a master key for the customer, which is then encrypted by the customer's HSM before being stored in the cloud. Proxies are also deployed for efficiently communicating with customer security modules.
    Type: Grant
    Filed: March 31, 2017
    Date of Patent: October 20, 2020
    Assignee: Egnyte, Inc.
    Inventors: Sachin Shetty, Amrit Jassal, Krishanu Lahiri, Yogesh Rai, Manoj Chauhan, Leszek Jakubowski, Shishir Sharma
  • Patent number: 10805273
    Abstract: Methods in a cloud object store facilitate strong data encryption, customer-management of object (encryption) keys, reductions in latency, globally-distributed object storage, and handling of streamed uploads. A method for encrypting objects stored in a cloud includes encrypting each object with a unique encryption (object) key. The plaintext object keys are generated in advance of uploads. The plaintext object keys can be stored in an object database in the cloud. Alternatively, the plaintext object keys can be provided to a customer's HSM, encrypted, and returned to the cloud, such that encrypted object keys, encrypted by the customer, are stored in the cloud. The cloud can alternatively encrypt the customer's object keys with a master key for the customer, which is then encrypted by the customer's HSM before being stored in the cloud. Proxies are also deployed for efficiently communicating with customer security modules.
    Type: Grant
    Filed: March 31, 2017
    Date of Patent: October 13, 2020
    Assignee: Egnyte, Inc.
    Inventors: Sachin Shetty, Amrit Jassal, Krishanu Lahiri, Yogesh Rai, Manoj Chauhan, Leszek Jakubowski, Shishir Sharma
  • Patent number: 10762230
    Abstract: A method for providing access to objects associated with a particular client in a cloud storage system is disclosed. The method includes the steps of establishing a connection with a user, providing a client namespace associated with the client to the user, where the client namespace represents objects stored on the cloud storage system and objects stored on a private storage system apart from the cloud storage system, receiving a request from the user to access an object stored on the private storage system, and providing information to the user to facilitate access to the object stored on the private storage system by said user. Other systems and methods are also disclosed. Important advantages of the present invention are facilitated by separating the logic for user access (control plane) from the actual storage (Storage plane). Private file system access can still be managed from the cloud, while keeping the client data private.
    Type: Grant
    Filed: April 30, 2018
    Date of Patent: September 1, 2020
    Assignee: Egnyte, Inc.
    Inventors: Hakan Ancin, Xi Chen, Amrit Jassal, Daniel H. Jung, Gregory B. Neustaetter, Sean H. Puttergill, Ramakrishnan Sundararaj, Sanjay Vedanthan, Chandra Yalangi, Ramanathan Kavasseri, Ravi Kariyawasam Bodhitantri Wijayaratne, Shishir Sharma
  • Publication number: 20200159700
    Abstract: A method for synchronizing a file system (FS) and a remote file system (RFS) includes monitoring the FS for FS events, generating FS event records, receiving RFS event records of RFS events, generating file system operations (FSOs) based on the FS and RFS event records, and communicating the FSOs to the FS and RFS to synchronize them. A method for generating the FSOs includes accessing a plurality of FS and/or RFS event records, processing the accessed records to generate processed event records, generating the FSOs based on the processed event records, and outputting the FSOs to cause synchronization of the FS and RFS. Systems are also described. The invention facilitates event-based, steady-state synchronization of local and remote file systems.
    Type: Application
    Filed: January 22, 2020
    Publication date: May 21, 2020
    Applicant: Egnyte, Inc.
    Inventors: Ravi Wijayaratne, Ray White, Manish Marathe, Markku Mielityinen, Amrit Jassal, Rajesh Ram, Sriram Gopalan, Aahz, Heikki J. Toivonen, Remus Koos
  • Patent number: 10601782
    Abstract: Methods in a cloud object store facilitate strong data encryption, customer-management of object (encryption) keys, reductions in latency, globally-distributed object storage, and handling of streamed uploads. A method for encrypting objects stored in a cloud includes encrypting each object with a unique encryption (object) key. The plaintext object keys are generated in advance of uploads. The plaintext object keys can be stored in an object database in the cloud. Alternatively, the plaintext object keys can be provided to a customer's HSM, encrypted, and returned to the cloud, such that encrypted object keys, encrypted by the customer, are stored in the cloud. The cloud can alternatively encrypt the customer's object keys with a master key for the customer, which is then encrypted by the customer's HSM before being stored in the cloud. Proxies are also deployed for efficiently communicating with customer security modules.
    Type: Grant
    Filed: March 31, 2017
    Date of Patent: March 24, 2020
    Assignee: Egnyte, Inc.
    Inventors: Sachin Shetty, Amrit Jassal, Krishanu Lahiri, Yogesh Rai, Manoj Chauhan, Leszek Jakubowski
  • Publication number: 20200073854
    Abstract: A method for synchronizing a local file system (LFS) and a remote (cloud) file system (RFS) includes the step of storing events indicative of differences between the LFS and the RFS, where the events are associated with file system objects of the LFS and RFS. The method further includes the steps of prioritizing the events, generating file system operations for the events based at least in part on the prioritization of the events, and performing at least some of the file system operations to synchronize the LFS and RFS. Prioritizing the events includes defining a plurality of service classes (e.g., based on type of event, event attribute, etc.), assigning a priority to each of the service classes, and assigning each event to one of said service classes. Systems are also described. The invention allocates limited synchronization resources based on a predefined policy to synchronize important file system objects sooner.
    Type: Application
    Filed: August 13, 2019
    Publication date: March 5, 2020
    Applicant: Egnyte, Inc.
    Inventors: Ravi Wijayaratne, Remus Koos, Ray White, Manish Marathe, Dmitry Tisnek, Harikesavan Krishnan, Amrit Jassal
  • Patent number: 10558620
    Abstract: A method for synchronizing a file system (FS) and a remote file system (RFS) includes monitoring the FS for FS events, generating FS event records, receiving RFS event records of RFS events, generating file system operations (FSOs) based on the FS and RFS event records, and communicating the FSOs to the FS and RFS to synchronize them. A method for generating the FSOs includes accessing a plurality of FS and/or RFS event records, processing the accessed records to generate processed event records, generating the FSOs based on the processed event records, and outputting the FSOs to cause synchronization of the FS and RFS. Systems are also described. The invention facilitates event-based, steady-state synchronization of local and remote file systems.
    Type: Grant
    Filed: January 26, 2018
    Date of Patent: February 11, 2020
    Assignee: Egnyte, Inc.
    Inventors: Remus Koos, Ray White, Manish Marathe, Markku Mielityinen, Amrit Jassal, Rajesh Ram, Sriram Gopalan, Aahz, Heikki J. Toivonen, Ravi Wijayaratne
  • Publication number: 20200045550
    Abstract: A method of managing file permissions in a remote file storage system includes defining permissions for the remote file storage system and controlling access to objects on the remote file storage system according to the permissions of the remote file storage system. The permissions are transferred to a client file storage system remote from the remote file storage system, and access to objects on the client file storage system is controlled according to the permissions of the remote file storage system. A remote file storage system includes a permissions file generator operative to generate a permissions file, which is transmitted to a client file storage system for enforcement at the client file storage system.
    Type: Application
    Filed: August 13, 2019
    Publication date: February 6, 2020
    Applicant: Egnyte, Inc.
    Inventors: Amrit Jassal, Ravi Kariyawasam Bodhitantri Wijayaratne, Ray White, Manish Marathe, Aahz, Rajesh Ram
  • Patent number: 10437789
    Abstract: The invention prevents improper deletes of file system objects during rescan synchronizations of local and remote (cloud) file systems. File and folder deletes are validated (confirmed) during a rescan synchronization using events generated for a steady state synchronization process. Any improper deletes are fenced and not allowed to proceed during synchronization. A method for synchronizing local (LFS) and remote (RFS) file systems includes monitoring the LFS for changes, generating a first set of events as part of a first synchronization routine (e.g., a steady state synchronization routine), generating a second set of events as part of a second (rescan) synchronization routine, validating selected events of the second set with events of the first set to determine whether each of the selected events of the second set is valid or invalid, and synchronizing the file systems based on the events of the second set excluding those that have been invalidated. Storage systems are also disclosed.
    Type: Grant
    Filed: April 8, 2016
    Date of Patent: October 8, 2019
    Assignee: Egnyte, Inc.
    Inventors: Remus Koos, Ravi Wijayaratne, Manish Marathe, Ray White, Dmitry Tisnek, Roman Levin, Harikesavan Krishnan, Hakan Ancin, Purvi Talati
  • Patent number: 10382963
    Abstract: A method of managing file permissions in a remote file storage system includes defining permissions for the remote file storage system and controlling access to objects on the remote file storage system according to the permissions of the remote file storage system. The permissions are transferred to a client file storage system remote from the remote file storage system, and access to objects on the client file storage system is controlled according to the permissions of the remote file storage system. A remote file storage system includes a permissions file generator operative to generate a permissions file, which is transmitted to a client file storage system for enforcement at the client file storage system.
    Type: Grant
    Filed: October 20, 2016
    Date of Patent: August 13, 2019
    Assignee: Egnyte, Inc.
    Inventors: Amrit Jassal, Ravi Kariyawasam Bodhitantri Wijayaratne, Ray White, Manish Marathe, Aahz, Rajesh Ram
  • Patent number: 10380076
    Abstract: A method for synchronizing a local file system (LFS) and a remote (cloud) file system (RFS) includes the step of storing events indicative of differences between the LFS and the RFS, where the events are associated with file system objects of the LFS and RFS. The method further includes the steps of prioritizing the events, generating file system operations for the events based at least in part on the prioritization of the events, and performing at least some of the file system operations to synchronize the LFS and RFS. Prioritizing the events includes defining a plurality of service classes (e.g., based on type of event, event attribute, etc.), assigning a priority to each of the service classes, and assigning each event to one of said service classes. Systems are also described. The invention allocates limited synchronization resources based on a predefined policy to synchronize important file system objects sooner.
    Type: Grant
    Filed: July 21, 2015
    Date of Patent: August 13, 2019
    Assignee: Egnyte, Inc.
    Inventors: Ravi Wijayaratne, Remus Koos, Ray White, Manish Marathe, Dmitry Tisnek, Harikesavan Krishnan, Amrit Jassal
  • Publication number: 20180241821
    Abstract: A method for storing objects in an object storage system includes the steps of establishing a network connection with a client over an inter-network, receiving an upload request indicating an object to be uploaded by the client, selecting at least two storage nodes on which the object will be stored, receiving the object from the client via the network connection, and streaming the object to each of the selected storage nodes such that the object is stored on each of the selected storage nodes. The method can also include writing an object record associating the object and the selected storage nodes to a shard of an object database and generating a Universally Unique Identifier (UUID). The UUID indicates the shard and the object ID of the object record, such that the object record can be quickly retrieved. Object storage infrastructures are also disclosed.
    Type: Application
    Filed: April 18, 2018
    Publication date: August 23, 2018
    Applicant: Egnyte, Inc.
    Inventors: Sachin Shetty, Krishna Sankar, Amrit Jassal, Kalpesh Patel, Shishir Sharma
  • Patent number: 10037434
    Abstract: A method for providing access to objects associated with a particular client in a cloud storage system is disclosed. The method includes the steps of establishing a connection with a user, providing a client namespace associated with the client to the user, where the client namespace represents objects stored on the cloud storage system and objects stored on a private storage system apart from the cloud storage system, receiving a request from the user to access an object stored on the private storage system, and providing information to the user to facilitate access to the object stored on the private storage system by said user. Other systems and methods are also disclosed. Important advantages of the present invention are facilitated by separating the logic for user access (control plane) from the actual storage (Storage plane). Private file system access can still be managed from the cloud, while keeping the client data private.
    Type: Grant
    Filed: January 29, 2016
    Date of Patent: July 31, 2018
    Assignee: Egnyte, Inc.
    Inventors: Hakan Ancin, Xi Chen, Amrit Jassal, Daniel H. Jung, Gregory B. Neustaetter, Sean H. Puttergill, Ramakrishnan Sundararaj, Sanjay Vedanthan, Chandra Yalangi, Ramanathan Kavasseri, Ravi Wijayaratne, Shishir Sharma
  • Patent number: 10003650
    Abstract: A method for storing objects in an object storage system includes the steps of establishing a network connection with a client over an inter-network, receiving an upload request indicating an object to be uploaded by the client, selecting at least two storage nodes on which the object will be stored, receiving the object from the client via the network connection, and streaming the object to each of the selected storage nodes such that the object is stored on each of the selected storage nodes. The method can also include writing an object record associating the object and the selected storage nodes to a shard of an object database and generating a Universally Unique Identifier (UUID). The UUID indicates the shard and the object ID of the object record, such that the object record can be quickly retrieved. Object storage infrastructures are also disclosed.
    Type: Grant
    Filed: August 12, 2015
    Date of Patent: June 19, 2018
    Assignee: Egnyte, Inc.
    Inventors: Sachin Shetty, Krishna Sankar, Amrit Jassal, Kalpesh Patel, Shishir Sharma
  • Publication number: 20180165298
    Abstract: A novel method for restarting a steady-state synchronization process includes persisting synchronization data in non-volatile memory before restarting, and utilizing the persisted synchronization data to restart the synchronization where the prior steady-state synchronization process left off. In a particular embodiment, the synchronization data is indicative of a particular point of the synchronization process and is utilized to begin synchronizing from that point after the service is restarted. In a more particular embodiment, the synchronization data is a particular operation of a sequence of operations performed as part of the synchronization. In another particular embodiment, operations associated with a batch are applied before stopping the synchronization.
    Type: Application
    Filed: December 12, 2017
    Publication date: June 14, 2018
    Applicant: Egnyte, Inc.
    Inventors: Remus Koos, Tal Broner, Harikesavan Krishnan