Patents by Inventor Rajkumar Pellakuru

Rajkumar Pellakuru 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: 20230179413
    Abstract: A system and method for rotating private encryption keys for tenants of a database system has been developed. First, three separate public-private encryption keys are generated for a tenant of the database system. The three separate private encryption keys for the tenant are then stored in cloud-based storage. A defined cadence is created to rotate the private encryption keys for the tenant. The three separate private encryption keys for the tenant are defined as a a past private key, a present private key and a future private key. Next, the public encryption key is stored for the tenant in a global tenant directory. The present private key and the public encryption key are retrieved to encrypt and decrypt data from the tenant. The three separate private encryption keys are rotated at the defined cadence, where the past private key is discarded, the present private key becomes a new past private key, the future private key becomes a new present private key, and a new future private key is generated.
    Type: Application
    Filed: December 2, 2021
    Publication date: June 8, 2023
    Applicant: salesforce.com, inc.
    Inventors: Jayanth Parayil Kumarji, Mugdha Choudhari, Percy Mehta, Rajkumar Pellakuru, Kevin Terusaki
  • Publication number: 20230101004
    Abstract: An indication to migrate requested data objects stored in a source database environment to a destination database environment is received. Some of data objects have many-to-one relationships with other data objects in the source database environment. At least one snapshot file generated by the source database environment is transferred to a destination database environment in bulk transfer mode. Subsequent incoming data received during bulk transfer mode, after the indication is stored in a temporary table. Upon completion of migration of the requested data objects the system transitions from bulk transfer mode to streaming mode. The subsequent incoming data from the temporary table is transferred to the destination database environment in response to the transition to streaming mode. Additional data received after the temporary table is empty is transferred from the source database environment to the destination database environment without use of the temporary table.
    Type: Application
    Filed: September 30, 2021
    Publication date: March 30, 2023
    Inventors: Yogesh Prabhudas Patel, Syed Mohammad Raza Hussain, Rajkumar Pellakuru, Johannes Kienzle, Violet Gong
  • 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
  • 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
  • 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: 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: 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
  • 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
  • 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
  • Publication number: 20190213552
    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: Application
    Filed: January 10, 2018
    Publication date: July 11, 2019
    Inventors: ANJANI GUPTA, WILLIAM VICTOR GRAY, SHAAHIN MEHDINEZHAD RUSHAN, YOGESH PATEL, KSHAMA THACKER, SHREEDHAR SUNDARAM, MAHALAXMI SANATHKUMAR, RAJKUMAR PELLAKURU, WILLIAM EDWARD HACKETT
  • Publication number: 20190179673
    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: Application
    Filed: December 8, 2017
    Publication date: June 13, 2019
    Inventors: William Victor GRAY, Yogesh PATEL, Shreedhar SUNDARAM, Shaahin Mehdinezhad RUSHAN, Mahalaxmi SANATHKUMAR, William HACKETT, Rajkumar PELLAKURU, Anjani GUPTA, Chandra S. CHADALAVADA
  • Publication number: 20190179931
    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: Application
    Filed: December 8, 2017
    Publication date: June 13, 2019
    Inventors: Anjani GUPTA, William Victor GRAY, Shaahin Mehdinezhad RUSHAN, Yogesh PATEL, Shreedhar SUNDARAM, Mahalaxmi SANATHKUMAR, William HACKETT, Rajkumar PELLAKURU, Kshama THACKER
  • Publication number: 20190163791
    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: Application
    Filed: November 30, 2017
    Publication date: May 30, 2019
    Inventors: Mahalaxmi Sanathkumar, Yogesh Patel, Shaahin Mehdinezhad Rushan, William Victor Gray, William Edward Hackett, Shreedhar Sundaram, Rajkumar Pellakuru, Anjani Gupta, Chandra S. Chadalavada