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: 20230179413Abstract: 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: ApplicationFiled: December 2, 2021Publication date: June 8, 2023Applicant: salesforce.com, inc.Inventors: Jayanth Parayil Kumarji, Mugdha Choudhari, Percy Mehta, Rajkumar Pellakuru, Kevin Terusaki
-
Publication number: 20230101004Abstract: 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: ApplicationFiled: September 30, 2021Publication date: March 30, 2023Inventors: Yogesh Prabhudas Patel, Syed Mohammad Raza Hussain, Rajkumar Pellakuru, Johannes Kienzle, Violet Gong
-
Patent number: 11321139Abstract: 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: GrantFiled: May 31, 2018Date of Patent: May 3, 2022Assignee: 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: 11126467Abstract: 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: GrantFiled: December 8, 2017Date of Patent: September 21, 2021Assignee: 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: 10936596Abstract: 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: GrantFiled: November 30, 2017Date of Patent: March 2, 2021Assignee: 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: 20210037073Abstract: 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: ApplicationFiled: October 19, 2020Publication date: February 4, 2021Inventors: Shreedhar Sundaram, Yogesh Patel, William Victor Gray, Shaahin Mehdinezhad Rushan, Mahalaxmi Sanathkumar, Anjani Gupta, Rajkumar Pellakuru, Bhaves Patel, William Edward Hackett
-
Patent number: 10904303Abstract: 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: GrantFiled: May 31, 2018Date of Patent: January 26, 2021Assignee: 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: 10812544Abstract: 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: GrantFiled: January 26, 2018Date of Patent: October 20, 2020Assignee: 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: 10740322Abstract: 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: GrantFiled: December 8, 2017Date of Patent: August 11, 2020Assignee: 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: 10671975Abstract: 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: GrantFiled: January 10, 2018Date of Patent: June 2, 2020Assignee: 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: 20190370080Abstract: 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: ApplicationFiled: May 31, 2018Publication date: December 5, 2019Inventors: 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: 20190373031Abstract: 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: ApplicationFiled: May 31, 2018Publication date: December 5, 2019Inventors: 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: 10455264Abstract: 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: GrantFiled: January 31, 2018Date of Patent: October 22, 2019Assignee: salesforce.com, inc.Inventors: Yogesh Patel, Mahalaxmi Sanathkumar, Shaahin Mehdinezhad Rushan, Bhaves Patel, Shreedhar Sundaram, Rajkumar Pellakuru, William Edward Hackett
-
Publication number: 20190238605Abstract: 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: ApplicationFiled: January 31, 2018Publication date: August 1, 2019Inventors: Yogesh Patel, Mahalaxmi Sanathkumar, Shaahin Mehdinezhad Rushan, William Victor Gray, Bhaves Patel, Shreedhar Sundaram, Rajkumar Pellakuru, William Edward Hackett, Avital Arora
-
Publication number: 20190238604Abstract: 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: ApplicationFiled: January 26, 2018Publication date: August 1, 2019Inventors: Shreedhar Sundaram, Yogesh Patel, William Victor Gray, Shaahin Mehdinezhad Rushan, Mahalaxmi Sanathkumar, Anjani Gupta, Rajkumar Pellakuru, Bhaves Patel, William Edward Hackett
-
Publication number: 20190238918Abstract: 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: ApplicationFiled: January 31, 2018Publication date: August 1, 2019Inventors: Yogesh Patel, Mahalaxmi Sanathkumar, Shaahin Mehdinezhad Rushan, Bhaves Patel, Shreedhar Sundaram, Rajkumar Pellakuru, William Edward Hackett
-
Publication number: 20190213552Abstract: 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: ApplicationFiled: January 10, 2018Publication date: July 11, 2019Inventors: ANJANI GUPTA, WILLIAM VICTOR GRAY, SHAAHIN MEHDINEZHAD RUSHAN, YOGESH PATEL, KSHAMA THACKER, SHREEDHAR SUNDARAM, MAHALAXMI SANATHKUMAR, RAJKUMAR PELLAKURU, WILLIAM EDWARD HACKETT
-
Publication number: 20190179673Abstract: 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: ApplicationFiled: December 8, 2017Publication date: June 13, 2019Inventors: William Victor GRAY, Yogesh PATEL, Shreedhar SUNDARAM, Shaahin Mehdinezhad RUSHAN, Mahalaxmi SANATHKUMAR, William HACKETT, Rajkumar PELLAKURU, Anjani GUPTA, Chandra S. CHADALAVADA
-
Publication number: 20190179931Abstract: 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: ApplicationFiled: December 8, 2017Publication date: June 13, 2019Inventors: Anjani GUPTA, William Victor GRAY, Shaahin Mehdinezhad RUSHAN, Yogesh PATEL, Shreedhar SUNDARAM, Mahalaxmi SANATHKUMAR, William HACKETT, Rajkumar PELLAKURU, Kshama THACKER
-
Publication number: 20190163791Abstract: 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: ApplicationFiled: November 30, 2017Publication date: May 30, 2019Inventors: Mahalaxmi Sanathkumar, Yogesh Patel, Shaahin Mehdinezhad Rushan, William Victor Gray, William Edward Hackett, Shreedhar Sundaram, Rajkumar Pellakuru, Anjani Gupta, Chandra S. Chadalavada