Patents by Inventor Cody Marcel

Cody Marcel 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: 11663205
    Abstract: Systems, methods, and computer-readable media for asynchronous (async) querying are described. In embodiments, a system may convert a user-issued query into a distributed execution instruction set (DEIS), and issue the DEIS to data stores that may have various database structures. The system may obtain database objects from the data stores, and store a result set indicating the obtained database objects in a location specified by the user-issued query. The system may also provide mechanisms to allow users to view progress of their async query jobs and/or cancel ongoing async query jobs. Other embodiments may be described and/or claimed.
    Type: Grant
    Filed: May 4, 2017
    Date of Patent: May 30, 2023
    Assignee: SALESFORCE, INC.
    Inventors: Eli Levine, Samarpan Jain, James Ferguson, Jan Asita Fernando, Bharadwaj Tanikella, Saikiran Perumala, Cody Marcel
  • Patent number: 11640378
    Abstract: A method is provided for processing a query. In some embodiments, the method includes creating a historical schema defining an ordered set of fields based on a current schema of an object and a field modification of the current schema. The method includes inserting, based on the field modification, a new field at an end of the historical schema and archiving records into a second storage device. The method includes receiving a query, which includes a command specifying a subset of fields and which indicates a non-current field. The method includes searching in the second storage device for archive records having a second schema including the subset of fields and the non-current field. The first and second schemas follow the field order in accordance with the historical schema. The method further includes accessing the subset of fields and the non-current field in accordance with the command.
    Type: Grant
    Filed: June 25, 2021
    Date of Patent: May 2, 2023
    Assignee: salesforce.com,inc.
    Inventors: Jan Asita Fernando, Samarpan Jain, Matthew Davidchuk, Valliappan Annamalai Natarajan, Alexey Syomichev, Cody Marcel, Seshank Kalvala, Sahil Ramrakhyani, Alexandre Hersans
  • Patent number: 11520740
    Abstract: Systems, apparatus, methods and computer program products for deleting data of an object within a multi-tenant database via an efficient delete operation are described herein. The new delete operation (or method) may be configured to identify one or more records to be deleted within a data structure such as an object. In order to ensure that the operation is efficient, the mechanism may determine characteristics of a data store and determine whether the information provided within the data structure provides an efficient identification of the data to be deleted. Upon a successful validation, an initial delete request may be translated to an appropriate delete operation for the underlying database.
    Type: Grant
    Filed: December 23, 2020
    Date of Patent: December 6, 2022
    Assignee: Salesforce, Inc.
    Inventors: Jan Asita Fernando, Cody Marcel, Sahil Ramrakhyani, Samarpan Jain, Brian Esserlieu, James Ferguson, Saikiran Perumala, Charles Fineman, Jay Hurst, Seshank Kalvala
  • Patent number: 11314741
    Abstract: In accordance with embodiments, there are provided mechanisms and methods for facilitating metadata-based statistics-oriented query processing for large datasets in an on-demand services environment. In one embodiment and by way of example, a method comprises evaluating metadata associated with a query placed on behalf of a tenant in a multi-tenant environment, and computing process statistics for the query based on the metadata, where the process statistics reveal an estimation of resources needed for execution of the query within a predictable amount of time and using fewer than or equal to an allocated number of scans of a database. The method may further include associating, based on the process statistics, a set of rules and the estimated resources to process the query, and executing the query based on the set of rules and using the estimated resources such that the query is processed within the predictable amount of time and using fewer than or equal to the allocated number of scans of the database.
    Type: Grant
    Filed: September 18, 2018
    Date of Patent: April 26, 2022
    Assignee: salesforce.com, Inc.
    Inventors: Cody Marcel, Sahil Ramrakhyani, Saikiran Perumala, Brian Esserlieu, Seshank Kalvala
  • Publication number: 20210318997
    Abstract: A method is provided for processing a query. In some embodiments, the method includes creating a historical schema defining an ordered set of fields based on a current schema of an object and a field modification of the current schema. The method includes inserting, based on the field modification, a new field at an end of the historical schema and archiving records into a second storage device. The method includes receiving a query, which includes a command specifying a subset of fields and which indicates a non-current field. The method includes searching in the second storage device for archive records having a second schema including the subset of fields and the non-current field. The first and second schemas follow the field order in accordance with the historical schema. The method further includes accessing the subset of fields and the non-current field in accordance with the command.
    Type: Application
    Filed: June 25, 2021
    Publication date: October 14, 2021
    Inventors: Jan Asita FERNANDO, Samarpan JAIN, Matthew DAVIDCHUK, Valliappan ANNAMALAI NATARAJAN, Alexey SYOMICHEV, Cody MARCEL, Seshank KALVALA, Sahil RAMRAKHYANI, Alexandre HERSANS
  • Patent number: 11086819
    Abstract: Disclosed are examples of systems, apparatus, methods and computer program products for deleting data of an object within a multi-tenant database. Described is a mechanism for performing operations such as an efficient delete operation by introducing a new delete operation (or method) that is configured to allow a data structure such as an object to identify one or more records to be deleted. In order to ensure that the operation is efficient, the mechanism may determine characteristics of a data store and determine whether the information provided within the data structure provides an efficient identification of the data to be deleted. Upon a successful validation, an initial delete request may be translated to an appropriate delete operation for the underlying database.
    Type: Grant
    Filed: April 23, 2018
    Date of Patent: August 10, 2021
    Assignee: salesforce.com, inc.
    Inventors: Jan Asita Fernando, Cody Marcel, Sahil Ramrakhyani, Samarpan Jain, Brian Esserlieu, James Ferguson, Saikiran Perumala, Charles Fineman, Jay Hurst, Seshank Kalvala
  • Patent number: 11068483
    Abstract: In accordance with embodiments, there are provided mechanisms and methods for facilitating dynamic selection and application for rules for query processing for large datasets in an on-demand services environment according to one embodiment. In one embodiment and by way of example, a method comprises determining processing patterns of a query based on historical performances associated with the query placed on behalf of a tenant in a multi-tenant environment, and dynamically applying one or more rules to the query for processing of the query within a predictable amount of time, where the one or more rules are dynamically selected from sets of rules based on the processing patterns. The method may further include executing the query based on the one or more rules by scanning one or more portions of a database having contents pertinent to the query and generating results by processing the query based on the contents and within the predictable amount of time.
    Type: Grant
    Filed: September 18, 2018
    Date of Patent: July 20, 2021
    Assignee: salesforce.com, inc.
    Inventors: Cody Marcel, Sahil Ramrakhyani, Saikiran Perumala, Brian Esserlieu, Seshank Kalvala
  • Patent number: 11068448
    Abstract: A method is provided for processing a query. In some embodiments, the method includes creating a historical schema defining an ordered set of fields based on a current schema of an object and a field modification of the current schema. The method includes inserting, based on the field modification, a new field at an end of the historical schema and archiving records into a second storage device. The method includes receiving a query, which includes a command specifying a subset of fields and which indicates a non-current field. The method includes searching in the second storage device for archive records having a second schema including the subset of fields and the non-current field. The first and second schemas follow the field order in accordance with the historical schema. The method further includes accessing the subset of fields and the non-current field in accordance with the command.
    Type: Grant
    Filed: January 7, 2019
    Date of Patent: July 20, 2021
    Assignee: salesforce.com, inc.
    Inventors: Jan Asita Fernando, Samarpan Jain, Matthew Davidchuk, Valliappan Annamalai Natarajan, Alexey Syomichev, Cody Marcel, Seshank Kalvala, Sahil Ramrakhyani, Alexandre Hersans
  • Publication number: 20210117380
    Abstract: Disclosed are examples of systems, apparatus, methods and computer program products for deleting data of an object within a multi-tenant database. Described is a mechanism for performing operations such as an efficient delete operation by introducing a new delete operation (or method) that is configured to allow a data structure such as an object to identify one or more records to be deleted. In order to ensure that the operation is efficient, the mechanism may determine characteristics of a data store and determine whether the information provided within the data structure provides an efficient identification of the data to be deleted. Upon a successful validation, an initial delete request may be translated to an appropriate delete operation for the underlying database.
    Type: Application
    Filed: December 23, 2020
    Publication date: April 22, 2021
    Inventors: Jan Asita Fernando, Cody Marcel, Sahil Ramrakhyani, Samarpan Jain, Brian Esserlieu, James Ferguson, Saikiran Perumala, Charles Fineman, Jay Hurst, Seshank Kalvala
  • Patent number: 10860606
    Abstract: Disclosed are examples of systems, apparatus, methods and computer program products for deleting data of an object within a multi-tenant database. Described is a mechanism for performing operations such as an efficient delete operation by introducing a new delete operation (or method) that is configured to allow a data structure such as an object to identify one or more records to be deleted. In order to ensure that the operation is efficient, the mechanism may perform a validation of the values provided to the delete operation based on the type of data store used for storing the records. For example, the validation may ensure that the values provided to the method correspond to a composite primary key when records are stored in a non-relational data store. Upon a successful validation, an initial delete request may be translated to an appropriate delete operation for the underlying database.
    Type: Grant
    Filed: January 31, 2018
    Date of Patent: December 8, 2020
    Assignee: salesforce.com, inc.
    Inventors: Jan Asita Fernando, Cody Marcel, Sahil Ramrakhyani, Samarpan Jain, Brian Esserlieu, James Ferguson, Saikiran Perumala, Charles Fineman, Jay Hurst, Seshank Kalvala
  • Publication number: 20200218702
    Abstract: A method is provided for processing a query. In some embodiments, the method includes creating a historical schema defining an ordered set of fields based on a current schema of an object and a field modification of the current schema. The method includes inserting, based on the field modification, a new field at an end of the historical schema and archiving records into a second storage device. The method includes receiving a query, which includes a command specifying a subset of fields and which indicates a non-current field. The method includes searching in the second storage device for archive records having a second schema including the subset of fields and the non-current field. The first and second schemas follow the field order in accordance with the historical schema. The method further includes accessing the subset of fields and the non-current field in accordance with the command.
    Type: Application
    Filed: January 7, 2019
    Publication date: July 9, 2020
    Inventors: Jan Asita FERNANDO, Samarpan JAIN, Matthew DAVIDCHUK, Valliappan ANNAMALAI NATARAJAN, Alexey SYOMICHEV, Cody MARCEL, Seshank KALVALA, Sahil RAMRAKHYANI, Alexandre HERSANS
  • Publication number: 20200073987
    Abstract: Systems, methods, and computer-readable media for asynchronous (async) querying are described. In embodiments, an application server obtains a user-issued query comprising one or more query components; identifies data space characteristics of a data storage space associated with a user that issued the user-issued query; and analyzes the one or more query components to obtain performance data. The performance data is indicative of resource consumption for execution of the user-issued query. The application server selects a query execution engine to execute the user-issued query from among a plurality of query execution engines, and provides the user-issued query to the selected query execution engine. The selection is based on the data space characteristics and the performance data. Other embodiments may be described and/or claimed.
    Type: Application
    Filed: September 4, 2018
    Publication date: March 5, 2020
    Applicant: salesforce.com, inc.
    Inventors: Saikiran Perumala, Eli Levine, Jan Asita Fernando, Samarpan Jain, Cody Marcel, Brian D. Esserlieu
  • Publication number: 20190325039
    Abstract: Disclosed are examples of systems, apparatus, methods and computer program products for deleting data of an object within a multi-tenant database. Described is a mechanism for performing operations such as an efficient delete operation by introducing a new delete operation (or method) that is configured to allow a data structure such as an object to identify one or more records to be deleted. In order to ensure that the operation is efficient, the mechanism may determine characteristics of a data store and determine whether the information provided within the data structure provides an efficient identification of the data to be deleted. Upon a successful validation, an initial delete request may be translated to an appropriate delete operation for the underlying database.
    Type: Application
    Filed: April 23, 2018
    Publication date: October 24, 2019
    Inventors: Jan Asita Fernando, Cody Marcel, Sahil Ramrakhyani, Samarpan Jain, Brian Esserlieu, James Ferguson, Saikiran Perumala, Charles Fineman, Jay Hurst, Seshank Kalvala
  • Publication number: 20190236198
    Abstract: Disclosed are examples of systems, apparatus, methods and computer program products for deleting data of an object within a multi-tenant database. Described is a mechanism for performing operations such as an efficient delete operation by introducing a new delete operation (or method) that is configured to allow a data structure such as an object to identify one or more records to be deleted. In order to ensure that the operation is efficient, the mechanism may perform a validation of the values provided to the delete operation based on the type of data store used for storing the records. For example, the validation may ensure that the values provided to the method correspond to a composite primary key when records are stored in a non-relational data store. Upon a successful validation, an initial delete request may be translated to an appropriate delete operation for the underlying database.
    Type: Application
    Filed: January 31, 2018
    Publication date: August 1, 2019
    Inventors: Jan Asita Fernando, Cody Marcel, Sahil Ramrakhyani, Samarpan Jain, Brian Esserlieu, James Ferguson, Saikiran Perumala, Charles Fineman, Jay Hurst, Seshank Kalvala
  • Publication number: 20190057101
    Abstract: Methods and systems are provided for deleting archive records from a distributed archive database system (DADS). A deletion job scheduler (DJS) can run deletion jobs on a regular basis. For example, the DJS can run a deletion job for archive records of a tenant that have a particular object type. The DJS can dynamically determine a deletion window that includes archive records within the DADS that are potentially eligible for deletion, and calculate an oldest allowable archive timestamp value based on a tenant-defined archive retention period for that tenant for that object type. The DJS can then query the DADS using index keys to retrieve archive records that are within the deletion window and belong to the tenant such that they are ordered from oldest to newest based on their respective created dates. The DJS can then identify which of those archive records have expired, and mark them for deletion.
    Type: Application
    Filed: August 21, 2017
    Publication date: February 21, 2019
    Applicant: salesforce.com, inc.
    Inventors: BRIAN D. ESSERLIEU, SAMARPAN JAIN, JAN ASITA FERNANDO, JAMES FERGUSON, CODY MARCEL
  • Publication number: 20190042623
    Abstract: In accordance with embodiments, there are provided mechanisms and methods for facilitating dynamic selection and application for rules for query processing for large datasets in an on-demand services environment according to one embodiment. In one embodiment and by way of example, a method comprises determining processing patterns of a query based on historical performances associated with the query placed on behalf of a tenant in a multi-tenant environment, and dynamically applying one or more rules to the query for processing of the query within a predictable amount of time, where the one or more rules are dynamically selected from sets of rules based on the processing patterns. The method may further include executing the query based on the one or more rules by scanning one or more portions of a database having contents pertinent to the query and generating results by processing the query based on the contents and within the predictable amount of time.
    Type: Application
    Filed: September 18, 2018
    Publication date: February 7, 2019
    Inventors: Cody Marcel, Sahil Ramrakhyani, Saikiran Perumala, Brian Esserlieu, Seshank Kalvala
  • Publication number: 20190042573
    Abstract: In accordance with embodiments, there are provided mechanisms and methods for facilitating rules-based synchronous query processing for large datasets in an on-demand services environment according to one embodiment. In one embodiment and by way of example, a method comprises detecting, by a rules-management server computing device, at least one of efficient classes and inefficient classes associated with a query, and designating a set of rules to the query, where one or more of the set of rules are designated to the query to prevent the inefficient classes from being processed or allow the query to fail fast. The method may further include executing the query without processing the inefficient classes such that results are generated within a predictable amount of time, where executing includes accessing contents of one or more portions of a database as identified by the set of rules, and transmitting the results in response to the query.
    Type: Application
    Filed: August 1, 2017
    Publication date: February 7, 2019
    Inventors: Cody Marcel, Eli Levine, Jan Asita Fernando, Brian Esserlieu, Samarpan Jain
  • Publication number: 20190042622
    Abstract: In accordance with embodiments, there are provided mechanisms and methods for facilitating metadata-based statistics-oriented query processing for large datasets in an on-demand services environment. In one embodiment and by way of example, a method comprises evaluating metadata associated with a query placed on behalf of a tenant in a multi-tenant environment, and computing process statistics for the query based on the metadata, where the process statistics reveal an estimation of resources needed for execution of the query within a predictable amount of time and using fewer than or equal to an allocated number of scans of a database. The method may further include associating, based on the process statistics, a set of rules and the estimated resources to process the query, and executing the query based on the set of rules and using the estimated resources such that the query is processed within the predictable amount of time and using fewer than or equal to the allocated number of scans of the database.
    Type: Application
    Filed: September 18, 2018
    Publication date: February 7, 2019
    Inventors: Cody Marcel, Sahil Ramrakhyani, Saikiran Perumala, Brian Esserlieu, Seshank Kalvala
  • Publication number: 20180322168
    Abstract: Systems, methods, and computer-readable media for asynchronous (async) querying are described. In embodiments, a system may convert a user-issued query into a distributed execution instruction set (DEIS), and issue the DEIS to data stores that may have various database structures. The system may obtain database objects from the data stores, and store a result set indicating the obtained database objects in a location specified by the user-issued query. The system may also provide mechanisms to allow users to view progress of their async query jobs and/or cancel ongoing async query jobs. Other embodiments may be described and/or claimed.
    Type: Application
    Filed: May 4, 2017
    Publication date: November 8, 2018
    Applicant: salesforce.com, Inc.
    Inventors: Eli LEVINE, Samarpan Jain, James Ferguson, Jan Asita Fernando, Bharadwaj Tanikella, Saikiran Perumala, Cody Marcel