Patents by Inventor Shreedhar Sundaram

Shreedhar Sundaram 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: 11797575
    Abstract: A request may be received to transform records in a data lake that match one or more query criteria. Data lake records that match the criteria may be retrieved. The retrieved records may include two data lake records associated with the same data lake record identifier. A transformed record may be generated based on time stamps associated with the retrieved records.
    Type: Grant
    Filed: January 29, 2020
    Date of Patent: October 24, 2023
    Assignee: Salesforce, Inc.
    Inventors: Shreedhar Sundaram, Mahalaxmi Sanathkumar, Aaron Zhang, Parin Kenia, Violet Gong, Priya Sethuraman, Zhidong Ke, Kevin Terusak
  • Patent number: 11321139
    Abstract: A total number of messages in a set of messages that are processed by a computing node in a virtual computer cluster during a time interval is determined. The virtual computer cluster is deployed with a cloud computing service and includes the computing node and other computing nodes at an end time of the time interval. It is determined whether the total number of messages in the set of messages processed by the computing node is no less than a maximum per-interval message number threshold. In response to determining that the total number of messages is no less than a maximum per-interval message number threshold, the cloud computing service is caused to start an additional computing node in the virtual computer cluster after the time interval, wherein the additional computing node is used to process one or more subsequent messages to be processed after the time interval.
    Type: Grant
    Filed: May 31, 2018
    Date of Patent: May 3, 2022
    Assignee: salesforce.com, inc.
    Inventors: Yogesh Patel, William Victor Gray, William Hackett, Shaahin Mehdinezhad Rushan, Johannes Kienzle, Shreedhar Sundaram, Mahalaxmi Sanathkumar, Rajkumar Pellakuru, Bhaves Patel, Bertha Ching Wai Lam
  • Publication number: 20220012214
    Abstract: Techniques and mechanisms for incremental data ingestion are disclosed. Raw data is received from multiple disparate sources to be consumed in an environment for collecting unformatted raw data. The environment has at least a delta data table and a delta notification table. A write to an entry in the delta data table is attempted. Entries to the delta data table specify at least records indicating changes to objects in the environment. A write a corresponding entry to the delta notification table is attempted in response to a successful write attempt to the delta data table. The delta notification table entry includes information about delta data table entries for a specified period. At least one data consumer is notified that the delta data table has been modified.
    Type: Application
    Filed: July 7, 2020
    Publication date: January 13, 2022
    Inventors: Zhidong Ke, Kevin Terusaki, Yifeng Liu, Utsavi Benani, Heng Zhang, Aaron Zhang, Shreedhar Sundaram, Mahalaxmi Sanathkumar
  • Patent number: 11126467
    Abstract: A method by a computing system implementing a node within a cluster of nodes to load balance among the cluster of nodes using retroactive refusal. Each of the nodes within the cluster of nodes is capable of processing work items. The method includes accepting a work item to be processed by the node, monitoring a resource utilization of the node, determining whether the resource utilization of the node exceeds a predetermined threshold, and retroactively refusing the work item in response to a determination that the resource utilization of the node exceeds the predetermined threshold, wherein the retroactive refusal causes the work item to be reassigned from the node to another node within the cluster of nodes.
    Type: Grant
    Filed: December 8, 2017
    Date of Patent: September 21, 2021
    Assignee: SALESFORCE.COM, INC.
    Inventors: William Victor Gray, Yogesh Patel, Shreedhar Sundaram, Shaahin Mehdinezhad Rushan, Mahalaxmi Sanathkumar, William Hackett, Rajkumar Pellakuru, Anjani Gupta, Chandra S. Chadalavada
  • Publication number: 20210232603
    Abstract: A data lake partition identifier may be retrieved from a data lake update service. The data lake partition identifier may identify a partition of a data lake that stores a data lake records. Records may be retrieved using a query that includes one of the identifiers. Retrieved records may be transformed and transmitted to a downstream data service.
    Type: Application
    Filed: January 29, 2020
    Publication date: July 29, 2021
    Applicant: Salesforce.com, Inc.
    Inventors: Shreedhar SUNDARAM, Mahalaxmi SANATHKUMAR, Aaron ZHANG, Parin KENIA, Violet GONG, Priya SETHURAMAN, Zhidong KE, Kevin TERUSAK
  • Publication number: 20210232604
    Abstract: A request may be received to transform records in a data lake that match one or more query criteria. Data lake records that match the criteria may be retrieved. The retrieved records may include two data lake records associated with the same data lake record identifier. A transformed record may be generated based on time stamps associated with the retrieved records.
    Type: Application
    Filed: January 29, 2020
    Publication date: July 29, 2021
    Applicant: Salesforce.com, Inc.
    Inventors: Shreedhar Sundaram, Mahalaxmi Sanathkumar, Aaron Zhang, Parin Kenia, Violet Gong, Priya Sethuraman, Zhidong Ke, Kevin Terusak
  • Patent number: 10936596
    Abstract: Dynamic selection of data sources for streaming dynamic data is described. A data streaming service receives a dynamic selection of a data source after the data streaming service begins executing, the dynamic selection of the data source including an identifier of a host of a multi-tenant database and an identifier of a tenant of multiple tenants storing data in the multi-tenant database. The data streaming service streams dynamic data from the data source to a data destination.
    Type: Grant
    Filed: November 30, 2017
    Date of Patent: March 2, 2021
    Assignee: salesforce.com, inc.
    Inventors: Mahalaxmi Sanathkumar, Yogesh Patel, Shaahin Mehdinezhad Rushan, William Victor Gray, William Edward Hackett, Shreedhar Sundaram, Rajkumar Pellakuru, Anjani Gupta, Chandra S. Chadalavada
  • Publication number: 20210037073
    Abstract: Embodiments regard transfer of data streaming services to provide continuous data flow. An embodiment of an apparatus includes a processor to process data for streaming to one or more organizations; and a memory to store data for streaming to the one or more organizations, wherein the apparatus is to provide a centralized work distribution service to track status of each of a plurality of data streams to the one or more organizations, and a plurality of nodes, each node being a virtual machine to stream one or more data streams to the one or more organizations, each node including a first daemon service to monitor connectivity of the node to dependency services for the node and, upon detecting a loss of connection to one or more of the dependency services, the node to discontinue ownership of the one or more data streams of the node and a second daemon service to poll the centralized work distribution service for data streams that are not assigned.
    Type: Application
    Filed: October 19, 2020
    Publication date: February 4, 2021
    Inventors: Shreedhar Sundaram, Yogesh Patel, William Victor Gray, Shaahin Mehdinezhad Rushan, Mahalaxmi Sanathkumar, Anjani Gupta, Rajkumar Pellakuru, Bhaves Patel, William Edward Hackett
  • Patent number: 10904303
    Abstract: A cloud computing service is used to deploy a virtual computer cluster. The virtual computer cluster is initialized with a set of one or more streaming nodes for processing first messages of one or more streaming jobs. It is determined whether the virtual computer cluster is to process second messages of a non-streaming job. In response to determining that the virtual computer cluster is to process the second messages of the non-streaming job, for example using control messages, the cloud computing service is caused to start a non-streaming node in the virtual computer cluster. The non-streaming node is tasked to process the second messages of the non-streaming job.
    Type: Grant
    Filed: May 31, 2018
    Date of Patent: January 26, 2021
    Assignee: salesforce.com, inc.
    Inventors: Yogesh Patel, William Victor Gray, William Hackett, Shaahin Mehdinezhad Rushan, Johannes Kienzle, Shreedhar Sundaram, Mahalaxmi Sanathkumar, Rajkumar Pellakuru, Bhaves Patel, Bertha Ching Wai Lam
  • Patent number: 10812544
    Abstract: Embodiments regard transfer of data streaming services to provide continuous data flow. An embodiment of an apparatus includes a processor to process data for streaming to one or more organizations; and a memory to store data for streaming to the one or more organizations, wherein the apparatus is to provide a centralized work distribution service to track status of each of a plurality of data streams to the one or more organizations, and a plurality of nodes, each node being a virtual machine to stream one or more data streams to the one or more organizations, each node including a first daemon service to monitor connectivity of the node to dependency services for the node and, upon detecting a loss of connection to one or more of the dependency services, the node to discontinue ownership of the one or more data streams of the node and a second daemon service to poll the centralized work distribution service for data streams that are not assigned.
    Type: Grant
    Filed: January 26, 2018
    Date of Patent: October 20, 2020
    Assignee: salesforce.com, inc.
    Inventors: Shreedhar Sundaram, Yogesh Patel, William Victor Gray, Shaahin Mehdinezhad Rushan, Mahalaxmi Sanathkumar, Anjani Gupta, Rajkumar Pellakuru, Bhaves Patel, William Edward Hackett
  • Patent number: 10762109
    Abstract: Methods, systems, and devices for asynchronous deletion at a non-relational database are described. The non-relational database may store a set of data object associations. The non-relational database may receive a read request indicating a first data object identifier. Based on the first data object identifier indicated in the read request, the non-relational database may identify a second data object identifier according to a first data object association of the stored set of data object associations that is indexed in the non-relational database with the first data object identifier. The non-relational database may determine that a last data entry that is indexed in the non-relational database with the identified second data object identifier and is associated with the first data object identifier has been deleted from the non-relational database. The non-relational database may delete the first data object association from the non-relational database.
    Type: Grant
    Filed: July 27, 2018
    Date of Patent: September 1, 2020
    Assignee: salesforce.com, inc.
    Inventors: Shaahin Mehdinezhad Rushan, Percy D. Mehta, Yogesh Patel, Shan-Cheng Ho, Shreedhar Sundaram
  • Patent number: 10740322
    Abstract: A method is described for collapsing a plurality of detected changes to data in a database into a reduced set of changes. The method includes detecting a plurality of changes to the database; determining that one or more changes in the plurality of changes are superfluous to demonstrating the current state of data in the database to an external system; determining, in response to determining that one or more changes in the plurality of changes are superfluous, a reduced set of changes that demonstrates the current state of data in the database based on the plurality of changes, wherein a number of changes in the plurality of changes is greater than a number of changes in the reduced set of changes; and determining a set of messages to generate based on the reduced set of changes, wherein the set of messages demonstrate the current state of data.
    Type: Grant
    Filed: December 8, 2017
    Date of Patent: August 11, 2020
    Assignee: SALESFORCE.COM, INC.
    Inventors: Anjani Gupta, William Victor Gray, Shaahin Mehdinezhad Rushan, Yogesh Patel, Shreedhar Sundaram, Mahalaxmi Sanathkumar, William Hackett, Rajkumar Pellakuru, Kshama Thacker
  • Patent number: 10671975
    Abstract: In accordance with embodiments, there are provided mechanisms and methods for facilitating smart streaming of data between external systems and service providers in an on-demand services environment according to one embodiment. In one embodiment and by way of example, a method comprises splitting, by a streaming server computing device (“streaming device”), a file including messages associated with multiple tenants in a multitenant environment based on growth of the file over a time-period. The method may further include grouping, by the streaming device, the messages into multiple files based on intelligence fields associated with one or more of the messages and the tenants, where each file of the multiple files corresponds to a tenant of the multiple tenants. The method may further include uploading, by the streaming device, the multiple files to a database device associated with a service provider and coupled to the streaming server device.
    Type: Grant
    Filed: January 10, 2018
    Date of Patent: June 2, 2020
    Assignee: salesforce.com, inc.
    Inventors: Anjani Gupta, William Victor Gray, Shaahin Mehdinezhad Rushan, Yogesh Patel, Kshama Thacker, Shreedhar Sundaram, Mahalaxmi Sanathkumar, Rajkumar Pellakuru, William Edward Hackett
  • Publication number: 20200034473
    Abstract: Methods, systems, and devices for asynchronous deletion at a non-relational database are described. The non-relational database may store a set of data object associations. The non-relational database may receive a read request indicating a first data object identifier. Based on the first data object identifier indicated in the read request, the non-relational database may identify a second data object identifier according to a first data object association of the stored set of data object associations that is indexed in the non-relational database with the first data object identifier. The non-relational database may determine that a last data entry that is indexed in the non-relational database with the identified second data object identifier and is associated with the first data object identifier has been deleted from the non-relational database. The non-relational database may delete the first data object association from the non-relational database.
    Type: Application
    Filed: July 27, 2018
    Publication date: January 30, 2020
    Inventors: Shaahin Mehdinezhad Rushan, Percy D. Mehta, Yogesh Patel, Shan-Cheng Ho, Shreedhar Sundaram
  • Publication number: 20190373031
    Abstract: A cloud computing service is used to deploy a virtual computer cluster. The virtual computer cluster is initialized with a set of one or more streaming nodes for processing first messages of one or more streaming jobs. It is determined whether the virtual computer cluster is to process second messages of a non-streaming job. In response to determining that the virtual computer cluster is to process the second messages of the non-streaming job, for example using control messages, the cloud computing service is caused to start a non-streaming node in the virtual computer cluster. The non-streaming node is tasked to process the second messages of the non-streaming job.
    Type: Application
    Filed: May 31, 2018
    Publication date: December 5, 2019
    Inventors: Yogesh Patel, William Victor Gray, William Hackett, Shaahin Mehdinezhad Rushan, Johannes Kienzle, Shreedhar Sundaram, Mahalaxmi Sanathkumar, Rajkumar Pellakuru, Bhaves Patel, Bertha Ching Wai Lam
  • Publication number: 20190370080
    Abstract: A total number of messages in a set of messages that are processed by a computing node in a virtual computer cluster during a time interval is determined. The virtual computer cluster is deployed with a cloud computing service and includes the computing node and other computing nodes at an end time of the time interval. It is determined whether the total number of messages in the set of messages processed by the computing node is no less than a maximum per-interval message number threshold. In response to determining that the total number of messages is no less than a maximum per-interval message number threshold, the cloud computing service is caused to start an additional computing node in the virtual computer cluster after the time interval, wherein the additional computing node is used to process one or more subsequent messages to be processed after the time interval.
    Type: Application
    Filed: May 31, 2018
    Publication date: December 5, 2019
    Inventors: Yogesh Patel, William Victor Gray, William Hackett, Shaahin Mehdinezhad Rushan, Johannes Kienzle, Shreedhar Sundaram, Mahalaxmi Sanathkumar, Rajkumar Pellakuru, Bhaves Patel, Bertha Ching Wai Lam
  • Patent number: 10455264
    Abstract: Techniques are disclosed relating to bulk data extraction systems. In some embodiments, a streaming server system may receive a first request, from a data storage system, that is sent prior to initiation of a bulk data extraction for a first group of users. In response to the first request, the streaming server system may receive, from the data storage system, a first notification message that includes a particular event identifier for a most recent data event generated at the data storage system. The streaming server system may receive, from the data storage system, those messages associated with the bulk data extraction for the first group. Subsequent to completion of the bulk data extraction, the streaming server system may send, to the data storage system, a request to subscribe to notification messages for data events associated with the first group.
    Type: Grant
    Filed: January 31, 2018
    Date of Patent: October 22, 2019
    Assignee: salesforce.com, inc.
    Inventors: Yogesh Patel, Mahalaxmi Sanathkumar, Shaahin Mehdinezhad Rushan, Bhaves Patel, Shreedhar Sundaram, Rajkumar Pellakuru, William Edward Hackett
  • Publication number: 20190238605
    Abstract: Techniques are disclosed relating to verifying the sequence of messages sent via data streaming systems. In some embodiments, a streaming server system may receive a plurality of messages associated with events at a data storage system that is accessible to various groups of users. In some embodiments, each of the plurality of messages may include an event identifier for an associated event and a group-specific sequence number. The streaming server system may detect, based on group-specific sequence numbers included in a set of messages, that a particular message for a particular group has not been received. The streaming server system may send, to the data storage system, a request for the particular message and, in response to the request, may receive the particular message from the data storage system.
    Type: Application
    Filed: January 31, 2018
    Publication date: August 1, 2019
    Inventors: Yogesh Patel, Mahalaxmi Sanathkumar, Shaahin Mehdinezhad Rushan, William Victor Gray, Bhaves Patel, Shreedhar Sundaram, Rajkumar Pellakuru, William Edward Hackett, Avital Arora
  • Publication number: 20190238604
    Abstract: Embodiments regard transfer of data streaming services to provide continuous data flow. An embodiment of an apparatus includes a processor to process data for streaming to one or more organizations; and a memory to store data for streaming to the one or more organizations, wherein the apparatus is to provide a centralized work distribution service to track status of each of a plurality of data streams to the one or more organizations, and a plurality of nodes, each node being a virtual machine to stream one or more data streams to the one or more organizations, each node including a first daemon service to monitor connectivity of the node to dependency services for the node and, upon detecting a loss of connection to one or more of the dependency services, the node to discontinue ownership of the one or more data streams of the node and a second daemon service to poll the centralized work distribution service for data streams that are not assigned.
    Type: Application
    Filed: January 26, 2018
    Publication date: August 1, 2019
    Inventors: Shreedhar Sundaram, Yogesh Patel, William Victor Gray, Shaahin Mehdinezhad Rushan, Mahalaxmi Sanathkumar, Anjani Gupta, Rajkumar Pellakuru, Bhaves Patel, William Edward Hackett
  • Publication number: 20190238918
    Abstract: Techniques are disclosed relating to bulk data extraction systems. In some embodiments, a streaming server system may receive a first request, from a data storage system, that is sent prior to initiation of a bulk data extraction for a first group of users. In response to the first request, the streaming server system may receive, from the data storage system, a first notification message that includes a particular event identifier for a most recent data event generated at the data storage system. The streaming server system may receive, from the data storage system, those messages associated with the bulk data extraction for the first group. Subsequent to completion of the bulk data extraction, the streaming server system may send, to the data storage system, a request to subscribe to notification messages for data events associated with the first group.
    Type: Application
    Filed: January 31, 2018
    Publication date: August 1, 2019
    Inventors: Yogesh Patel, Mahalaxmi Sanathkumar, Shaahin Mehdinezhad Rushan, Bhaves Patel, Shreedhar Sundaram, Rajkumar Pellakuru, William Edward Hackett