Patents by Inventor Shishir Sharma

Shishir Sharma 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).

  • Publication number: 20170286696
    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: Application
    Filed: March 31, 2017
    Publication date: October 5, 2017
    Applicant: Egnyte, Inc.
    Inventors: Sachin Shetty, Amrit Jassal, Krishanu Lahiri, Yogesh Rai, Manoj Chauhan, Leszek Jakubowski, Shishir Sharma
  • Publication number: 20170286698
    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: Application
    Filed: April 1, 2017
    Publication date: October 5, 2017
    Applicant: Egnyte, Inc.
    Inventors: Sachin Shetty, Amrit Jassal, Shishir Sharma, Yogesh Rai, Manoj Chauhan, Leszek Jakubowski, Krishanu Lahiri
  • Publication number: 20170286695
    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: Application
    Filed: March 31, 2017
    Publication date: October 5, 2017
    Applicant: Egnyte, Inc.
    Inventors: Sachin Shetty, Amrit Jassal, Krishanu Lahiri, Yogesh Rai, Manoj Chauhan, Leszek Jakubowski, Shishir Sharma
  • Publication number: 20170177613
    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: Application
    Filed: December 22, 2016
    Publication date: June 22, 2017
    Applicant: 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
  • Publication number: 20170124111
    Abstract: A method for facilitating synchronization of a remote file system (RFS) and a local file system (LFS) includes maintaining a global revision identifier associated with the RFS, where the global revision identifier has a variable state, and responsive to the RFS being modified, updating metadata associated with one or more of the file system objects of the RFS based on a state of the global revision identifier. More particularly, the method includes updating the global revision identifier to a new state in response to the RFS modification and then updating the metadata of the folder(s) associated with the RFS modification. The RFS metadata is partitioned by folder and file to facilitate efficient searching based on a requested namespace view. Another method utilizes prior revision identifiers stored in the LFS to limit the RFS metadata returned to the local cloud during a rescan, by excluding the data set that has not changed, which improves the efficiency of the rescan synchronization.
    Type: Application
    Filed: June 10, 2016
    Publication date: May 4, 2017
    Inventors: Shishir Sharma, Manish Marathe, Amrit Jassal, Hakan Ancin, Dmitry Tisnek
  • Patent number: 9614912
    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: April 4, 2017
    Assignee: EGNYTE, INC.
    Inventors: Sachin Shetty, Krishna Sankar, Amrit Jassal, Kalpesh Patel, Shishir Sharma
  • Patent number: 9424437
    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: October 14, 2013
    Date of Patent: August 23, 2016
    Assignee: EGNYTE, INC.
    Inventors: Hakan Ancin, Xi Chen, Amrit Jassal, Daniel H. Jung, Gregory B. Neustaetter, Sean H. Puttergill, Ramakrishnan Sundararaj, Sanjay Vedanthan, Chandrasekhar Yalangi, Ramanathan Kavasseri, Ravi Kariyawasam Bodhitantri Wijayaratne, Shishir Sharma
  • Publication number: 20160149926
    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: Application
    Filed: January 29, 2016
    Publication date: May 26, 2016
    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
  • Publication number: 20160149888
    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: Application
    Filed: January 29, 2016
    Publication date: May 26, 2016
    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: 9348567
    Abstract: Profile guided optimization (PGO) in the presence of stale profile data as described herein can be based on path profiling, whereby different paths through a program's call graph are uniquely identified. Stale profile data is data collected in a training run of a previous version of the program. Profile data can be collected along these paths and optimization decisions can be made using the collected data. The paths can be numbered using an algorithm that assigns path increments to all the callees of a function. The path increment assignments (which can be stored in the profile database) can be used to locate the profile data for that path and to make corresponding optimization decisions. PGO optimizations along call graph paths involving edited functions can be performed.
    Type: Grant
    Filed: July 3, 2014
    Date of Patent: May 24, 2016
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC.
    Inventors: Shishir Sharma, Ankit Asthana, Terry Jack Mahaffey, Ten H. Tzen
  • Patent number: 9251114
    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: October 14, 2013
    Date of Patent: February 2, 2016
    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
  • Publication number: 20160004518
    Abstract: Profile guided optimization (PGO) in the presence of stale profile data as described herein can be based on path profiling, whereby different paths through a program's call graph are uniquely identified. Stale profile data is data collected in a training run of a previous version of the program. Profile data can be collected along these paths and optimization decisions can be made using the collected data. The paths can be numbered using an algorithm that assigns path increments to all the callees of a function. The path increment assignments (which can be stored in the profile database) can be used to locate the profile data for that path and to make corresponding optimization decisions. PGO optimizations along call graph paths involving edited functions can be performed.
    Type: Application
    Filed: July 3, 2014
    Publication date: January 7, 2016
    Inventors: Shishir Sharma, Ankit Asthana, Terry Jack Mahaffey, Ten H. Tzen
  • Publication number: 20150347453
    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: August 12, 2015
    Publication date: December 3, 2015
    Inventors: Sachin Shetty, Krishna Sankar, Amrit Jassal, Kalpesh Patel, Shishir Sharma
  • Publication number: 20150350326
    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: August 12, 2015
    Publication date: December 3, 2015
    Inventors: Sachin Shetty, Krishna Sankar, Amrit Jassal, Kalpesh Patel, Shishir Sharma
  • Patent number: 9135269
    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: December 7, 2012
    Date of Patent: September 15, 2015
    Assignee: EGNYTE, INC.
    Inventors: Sachin Shetty, Krishna Sankar, Amrit Jassal, Kalpesh Patel, Shishir Sharma
  • Publication number: 20140149794
    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: December 7, 2012
    Publication date: May 29, 2014
    Inventors: Sachin Shetty, Krishna Sankar, Amrit Jassal, Kalpesh Patel, Shishir Sharma