Patents by Inventor Shardul Vikram
Shardul Vikram 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: 11645321Abstract: Methods, systems, and devices for analyzing communication messages (e.g., emails or activities) to determine relationship strength using a distributed graph are described. In some systems, a user may be associated with a specific tenant. A database server of the system may receive communication messages associated with the user and a target user. The server may perform a natural language processing (NLP) analysis on the communication messages to extract metadata, and may generate or update a distributed graph indicating connections between users based on the extracted metadata. Using the connections of the graph, the server may calculate a closeness score between the user and the target user. Additionally, the server may calculate closeness scores between the target and other users associated with the tenant, and may determine the users with the greatest closeness scores. The server may send a suggestion for the determined users to initiate communication with the target.Type: GrantFiled: November 3, 2017Date of Patent: May 9, 2023Assignee: Salesforce, Inc.Inventors: William Christopher Fama Roller, Shardul Vikram, Alex Michael Noe, Noah William Burbank, Alexis Roos, Rohith Ramprasad, Joseph Gerald Keller, Gabriel Starr Krupa, Scott Walter Bishel, Praveen Innamuri
-
Patent number: 11601495Abstract: A method and system that perform cluster node work assignments for tenants in a multi-tenant system. The method includes selecting a partition of a cluster tenant tracking structure having a hierarchical namespace and virtual nodes representing each tenant by a cluster node foreman controller, searching the selected partition for a tenant that is unlocked in the cluster tenant tracking structure, and initiating work for the tenant by the cluster node.Type: GrantFiled: January 31, 2020Date of Patent: March 7, 2023Assignee: salesforce.com, inc.Inventors: Yogesh Patel, Percy Mehta, Shardul Vikram, Mattia Padovani
-
Publication number: 20210243246Abstract: A method and system that perform cluster node work assignments for tenants in a multi-tenant system. The method includes selecting a partition of a cluster tenant tracking structure having a hierarchical namespace and virtual nodes representing each tenant by a cluster node foreman controller, searching the selected partition for a tenant that is unlocked in the cluster tenant tracking structure, and initiating work for the tenant by the cluster node.Type: ApplicationFiled: January 31, 2020Publication date: August 5, 2021Inventors: Yogesh Patel, Percy Mehta, Shardul Vikram, Mattia Padovani
-
Patent number: 11050700Abstract: Methods, systems, and devices for analyzing communication messages (e.g., emails) and selecting corresponding actions are described. In some database systems, a user may receive multiple messages at a user device. To efficiently determine responses to these messages, the user device may send the messages to a backend server for analysis. The server may perform natural language processing (NLP) to classify the message with one or more binary classifications and may extract metadata from each message. Based on the classifications and the metadata, the server may determine one or more actions the user device may perform to respond to each message. The server may send instructions to the user device indicating the suggested actions, and the user device may display these actions as options to a user. Additionally, the user device may use the classifications and metadata to automatically generate one or more communication templates in response to the message.Type: GrantFiled: November 3, 2017Date of Patent: June 29, 2021Assignee: salesforce.com, inc.Inventors: William Christopher Fama Roller, Shardul Vikram, Alex Michael Noe, Noah William Burbank, Sammy Adnan Nammari, Ascander Dost, Shuvajit Das, Oliver Qian Tang, Robert Christopher Ames, Madhav Vaidyanathan, Wing Hing Ku, Bhaskar Garg, Xu Yang, Madeleine Mary Gill, Percy Dara Mehta, Janelle Wen Hui Teng, Abraham Dio Suharli, Alexis Roos, Wenhao Liu, Nelson Esteban Acevedo, Joseph Gerald Keller, Rohit Deshpande, Sandeep Raju Prabhakar
-
Patent number: 10671589Abstract: A system may utilize a combination of real-time and polling connectors for data crawling. A real-time connector may use a collector to write data associated with a new event from a database to a channel and record external identifiers (IDs) associated the data. A polling connector may use a verifier to compare the recorded IDs with IDs associated with a batch of data, and may write any data of the batch of data to the channel that has not been written previously written by the collector. The system may include an onboarder for reading data previously stored in the database.Type: GrantFiled: March 3, 2017Date of Patent: June 2, 2020Assignee: salesforce.com, inc.Inventors: Ankush Goyal, Shardul Vikram, Nathaniel Richard Price, Sudarshan Vijay Sarolkar, Scott Walter Bishel, Praveen Innamuri, Jon Tomas Gretarsson
-
Publication number: 20190138653Abstract: Methods, systems, and devices for analyzing communication messages (e.g., emails or activities) to determine relationship strength using a distributed graph are described. In some systems, a user may be associated with a specific tenant. A database server of the system may receive communication messages associated with the user and a target user. The server may perform a natural language processing (NLP) analysis on the communication messages to extract metadata, and may generate or update a distributed graph indicating connections between users based on the extracted metadata. Using the connections of the graph, the server may calculate a closeness score between the user and the target user. Additionally, the server may calculate closeness scores between the target and other users associated with the tenant, and may determine the users with the greatest closeness scores. The server may send a suggestion for the determined users to initiate communication with the target.Type: ApplicationFiled: November 3, 2017Publication date: May 9, 2019Inventors: William Christopher Fama Roller, Shardul Vikram, Alex Michael Noe, Noah William Burbank, Alexis Roos, Rohith Ramprasad, Joseph Gerald Keller, Gabriel Starr Krupa, Scott Walter Bishel, Praveen Innamuri
-
Publication number: 20190140995Abstract: Methods, systems, and devices for analyzing communication messages (e.g., emails) and selecting corresponding actions are described. In some database systems, a user may receive multiple messages at a user device. To efficiently determine responses to these messages, the user device may send the messages to a backend server for analysis. The server may perform natural language processing (NLP) to classify the message with one or more binary classifications and may extract metadata from each message. Based on the classifications and the metadata, the server may determine one or more actions the user device may perform to respond to each message. The server may send instructions to the user device indicating the suggested actions, and the user device may display these actions as options to a user. Additionally, the user device may use the classifications and metadata to automatically generate one or more communication templates in response to the message.Type: ApplicationFiled: November 3, 2017Publication date: May 9, 2019Inventors: William Christopher Fama Roller, Shardul Vikram, Alex Michael Noe, Noah William Burbank, Sammy Adnan Nammari, Ascander Dost, Shuvajit Das, Oliver Qian Tang, Robert Christopher Ames, Madhav Vaidyanathan, Wing Hing Ku, Bhaskar Garg, Xu Yang, Madeleine Mary Gill, Percy Dara Mehta, Janelle Wen Hui Teng, Abraham Dio Suharli, Alexis Roos, Wenhao Liu, Nelson Esteban Acevedo, Joseph Gerald Keller, Rohit Deshpande, Sandeep Raju Prabhakar
-
Publication number: 20180253458Abstract: A system may utilize a combination of real-time and polling connectors for data crawling. A real-time connector may use a collector to write data associated with a new event from a database to a channel and record external identifiers (IDs) associated the data. A polling connector may use a verifier to compare the recorded IDs with IDs associated with a batch of data, and may write any data of the batch of data to the channel that has not been written previously written by the collector. The system may include an onboarder for reading data previously stored in the database.Type: ApplicationFiled: March 3, 2017Publication date: September 6, 2018Inventors: Ankush Goyal, Shardul Vikram, Nathaniel Richard Price, Sudarshan Vijay Sarolkar, Scott Walter Bishel, Praveen Innamuri, Jon Tomas Gretarsson
-
Patent number: 9729652Abstract: Systems and methods for providing user's access to a particular version of an electronic resource (e.g., a website, web resource or the like) where versions of such electronic resources are stored across a set of servers are disclosed. In one embodiment, user's requests may be received—either requesting a particular version or as an unversioned request. A version control module (for example, a load balancer) may receive these requests and assign the user's request to a first server according to different metrics, e.g., regarding version control rules and/or effective load balancing considerations. If the initial server assigned is not able to handle the user's request, the user's request may be proxied to another server, according to different metrics. If there is no server that may handle the user's request (after a certain number of proxied requests), the request may be returned to the user as not handled.Type: GrantFiled: April 22, 2013Date of Patent: August 8, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Shabbir Shahpurwala, Amar Shroff, Shardul Vikram, Derek Tsuchida, Sergio Ligregni, Joel Scaria, Kyle Richey, Baskaran Dharmarajan, Parker Shelton, Archana Manoj Gadkari
-
Publication number: 20140317289Abstract: Systems and methods for providing user's access to a particular version of an electronic resource (e.g., a website, web resource or the like) where versions of such electronic resources are stored across a set of servers are disclosed. In one embodiment, user's requests may be received—either requesting a particular version or as an unversioned request. A version control module (for example, a load balancer) may receive these requests and assign the user's request to a first server according to different metrics, e.g., regarding version control rules and/or effective load balancing considerations. If the initial server assigned is not able to handle the user's request, the user's request may be proxied to another server, according to different metrics. If there is no server that may handle the user's request (after a certain number of proxied requests), the request may be returned to the user as not handled.Type: ApplicationFiled: April 22, 2013Publication date: October 23, 2014Applicant: Microsoft CorporationInventors: Shabbir Shahpurwala, Amar Shroff, Shardul Vikram, Derek Tsuchida, Sergio Ligregni, Joel Scaria, Kyle Richey, Baskaran Dharmarajan, Parker Shelton, Archana Manoj Gadkari