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: 20170286696Abstract: 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: ApplicationFiled: March 31, 2017Publication date: October 5, 2017Applicant: Egnyte, Inc.Inventors: Sachin Shetty, Amrit Jassal, Krishanu Lahiri, Yogesh Rai, Manoj Chauhan, Leszek Jakubowski, Shishir Sharma
-
Publication number: 20170286698Abstract: 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: ApplicationFiled: April 1, 2017Publication date: October 5, 2017Applicant: Egnyte, Inc.Inventors: Sachin Shetty, Amrit Jassal, Shishir Sharma, Yogesh Rai, Manoj Chauhan, Leszek Jakubowski, Krishanu Lahiri
-
Publication number: 20170286695Abstract: 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: ApplicationFiled: March 31, 2017Publication date: October 5, 2017Applicant: Egnyte, Inc.Inventors: Sachin Shetty, Amrit Jassal, Krishanu Lahiri, Yogesh Rai, Manoj Chauhan, Leszek Jakubowski, Shishir Sharma
-
Publication number: 20170177613Abstract: 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: ApplicationFiled: December 22, 2016Publication date: June 22, 2017Applicant: 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: 20170124111Abstract: 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: ApplicationFiled: June 10, 2016Publication date: May 4, 2017Inventors: Shishir Sharma, Manish Marathe, Amrit Jassal, Hakan Ancin, Dmitry Tisnek
-
Patent number: 9614912Abstract: 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: GrantFiled: August 12, 2015Date of Patent: April 4, 2017Assignee: EGNYTE, INC.Inventors: Sachin Shetty, Krishna Sankar, Amrit Jassal, Kalpesh Patel, Shishir Sharma
-
Patent number: 9424437Abstract: 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: GrantFiled: October 14, 2013Date of Patent: August 23, 2016Assignee: 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: 20160149926Abstract: 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: ApplicationFiled: January 29, 2016Publication date: May 26, 2016Inventors: 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: 20160149888Abstract: 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: ApplicationFiled: January 29, 2016Publication date: May 26, 2016Inventors: 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: 9348567Abstract: 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: GrantFiled: July 3, 2014Date of Patent: May 24, 2016Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC.Inventors: Shishir Sharma, Ankit Asthana, Terry Jack Mahaffey, Ten H. Tzen
-
Patent number: 9251114Abstract: 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: GrantFiled: October 14, 2013Date of Patent: February 2, 2016Assignee: 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: 20160004518Abstract: 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: ApplicationFiled: July 3, 2014Publication date: January 7, 2016Inventors: Shishir Sharma, Ankit Asthana, Terry Jack Mahaffey, Ten H. Tzen
-
Publication number: 20150347453Abstract: 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: ApplicationFiled: August 12, 2015Publication date: December 3, 2015Inventors: Sachin Shetty, Krishna Sankar, Amrit Jassal, Kalpesh Patel, Shishir Sharma
-
Publication number: 20150350326Abstract: 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: ApplicationFiled: August 12, 2015Publication date: December 3, 2015Inventors: Sachin Shetty, Krishna Sankar, Amrit Jassal, Kalpesh Patel, Shishir Sharma
-
Patent number: 9135269Abstract: 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: GrantFiled: December 7, 2012Date of Patent: September 15, 2015Assignee: EGNYTE, INC.Inventors: Sachin Shetty, Krishna Sankar, Amrit Jassal, Kalpesh Patel, Shishir Sharma
-
Publication number: 20140149794Abstract: 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: ApplicationFiled: December 7, 2012Publication date: May 29, 2014Inventors: Sachin Shetty, Krishna Sankar, Amrit Jassal, Kalpesh Patel, Shishir Sharma