Patents by Inventor Alexandre Hersans

Alexandre Hersans 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: 11748320
    Abstract: Disclosed herein are system, method, and computer program product embodiments for detecting duplicates with exact and fuzzy matching on encrypted match indexes using an encryption key in a cloud computing platform. An embodiment operates by determining a match rule index value upon reception of a new record. The embodiment encrypts the match index rule value using the customer's encryption key and a deterministic encryption method and stores the encrypted match rule index value. Duplicate detection may be later performed by using the same deterministic encryption method to determine a cypher text for a candidate entry and comparing the ciphertext to the stored encrypted match indexes.
    Type: Grant
    Filed: February 25, 2021
    Date of Patent: September 5, 2023
    Assignee: Salesforce, Inc.
    Inventors: Alexandre Hersans, Swaroop Shere, Chenghung Ker, Parth Vijay Vaishnav, Assaf Ben-Gur, Victor Weilin Liu, Daniel McGarry, Samatha Sanikommu
  • Patent number: 11700112
    Abstract: Methods, systems, and devices for distributed caching of encrypted encryption keys are described. Some multi-tenant database systems may support encryption of data records. To efficiently handle multiple encryption keys across multiple application servers, the database system may store the encryption keys in a distributed cache accessible by each of the application servers. To securely cache the encryption keys, the database system may encrypt (e.g., wrap) each data encryption key (DEK) using a second encryption key (e.g., a key encryption key (KEK)). The database system may store the DEKs and KEKs in separate caches to further protect the encryption keys. For example, while the encrypted DEKs may be stored in the distributed cache, the KEKs may be stored locally on application servers. The database system may further support “bring your own key” (BYOK) functionality, where a user may upload a tenant secret or tenant-specific encryption key to the database.
    Type: Grant
    Filed: April 30, 2020
    Date of Patent: July 11, 2023
    Assignee: Salesforce, Inc.
    Inventors: Alexandre Hersans, John Bracken, Assaf Ben Gur, William Charles Mortimore, Jr., Swaroop Shere
  • 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: 11487885
    Abstract: Methods, systems, and devices for enabling and validating data encryption are described. A data storage system (e.g., including a database and validation server) may receive an encryption request indicating a data object or data field. Prior to performing encryption, the validation server may perform one or more validations to determine whether the system supports encrypting the indicated data. The validation server may identify any formula fields that directly or indirectly (e.g., via other formula fields) reference the data object or field, and may determine whether each of these formula fields is encryption compatible. In some cases, the validation process may involve synchronously executing a first set of validators, marking the data as pending encryption, and asynchronously executing a second set of validators. Based on the results of the validation process, the system may or may not encrypt the indicated data, and may transmit an indication of the validation results.
    Type: Grant
    Filed: January 31, 2018
    Date of Patent: November 1, 2022
    Assignee: Salesforce, inc.
    Inventor: Alexandre Hersans
  • Patent number: 11354285
    Abstract: Provided herein are system, methods and computer program products for identifying duplicate records stored in a database system, comprising: generating a plurality of encrypted match indexes for each of a plurality of records stored in the database system, each of the plurality of encrypted match indexes encrypts a value of each encryption enabled field of a respective one of the plurality of records defined by at least one match rule, creating a cluster of records comprising at least one set containing at least two records of the plurality of records, the at least two records having respective encrypted match indexes corresponding to the at least one match rule, causing identification of duplicate records in the at least one set according to detection of records of the at least one set having respective match indexes matching the at least one match rule, and outputting an indication of the identified duplicate records.
    Type: Grant
    Filed: April 15, 2020
    Date of Patent: June 7, 2022
    Assignee: salesforee.com, inc.
    Inventors: Chenghung Ker, Danil Dvinov, Parth Vijay Vaishnav, Swaroop Shere, Alexandre Hersans
  • Publication number: 20210326311
    Abstract: Provided herein are system, methods and computer program products for identifying duplicate records stored in a database system, comprising: generating a plurality of encrypted match indexes for each of a plurality of records stored in the database system, each of the plurality of encrypted match indexes encrypts a value of each encryption enabled field of a respective one of the plurality of records defined by at least one match rule, creating a cluster of records comprising at least one set containing at least two records of the plurality of records, the at least two records having respective encrypted match indexes corresponding to the at least one match rule, causing identification of duplicate records in the at least one set according to detection of records of the at least one set having respective match indexes matching the at least one match rule, and outputting an indication of the identified duplicate records.
    Type: Application
    Filed: April 15, 2020
    Publication date: October 21, 2021
    Applicant: salesforce.com, inc.
    Inventors: Chenghung KER, Danil DVINOV, Parth Vijay VAISHNAV, Swaroop SHERE, Alexandre HERSANS
  • 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: 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: 20210182255
    Abstract: Disclosed herein are system, method, and computer program product embodiments for detecting duplicates with exact and fuzzy matching on encrypted match indexes using an encryption key in a cloud computing platform. An embodiment operates by determining a match rule index value upon reception of a new record. The embodiment encrypts the match index rule value using the customer's encryption key and a deterministic encryption method and stores the encrypted match rule index value. Duplicate detection may be later performed by using the same deterministic encryption method to determine a cypher text for a candidate entry and comparing the ciphertext to the stored encrypted match indexes.
    Type: Application
    Filed: February 25, 2021
    Publication date: June 17, 2021
    Applicant: salesforce.com, inc.
    Inventors: Alexandre HERSANS, Swaroop SHERE, Chenghung KER, Parth Vijay VAISHNAV, Assaf BEN-GUR, Victor Weilin LIU, Daniel MCGARRY, Samatha SANIKOMMU
  • Patent number: 10942906
    Abstract: Disclosed herein are system, method, and computer program product embodiments for detecting duplicates with exact and fuzzy matching on encrypted match indexes using an encryption key in a cloud computing platform. An embodiment operates by determining a match rule index value upon reception of a new record. The embodiment encrypts the match index rule value using the customer's encryption key and a deterministic encryption method and stores the encrypted match rule index value. Duplicate detection may be later performed by using the same deterministic encryption method to determine a cypher text for a candidate entry and comparing the ciphertext to the stored encrypted match indexes.
    Type: Grant
    Filed: July 3, 2018
    Date of Patent: March 9, 2021
    Assignee: salesforce.com, inc.
    Inventors: Alexandre Hersans, Swaroop Shere, Chenghung Ker, Parth Vijay Vaishnav, Assaf Ben-Gur, Victor Weilin Liu, Daniel McGarry, Samatha Sanikommu
  • Patent number: 10860727
    Abstract: Methods, systems, and devices for mass encryption management are described. In some database systems, users may select encryption settings for storing data records at rest. A database may receive a request to perform an encryption process on multiple data records corresponding to a user, for example, based on a user input or a change in encryption settings. A database server may partition the data records for encryption (e.g., encryption, decryption, key rotation, or scheme modification) into one or more data record groups of similar sizes, and may perform the encryption process on one record group at a time (e.g., to reduce overhead in the system). The database server may additionally support restricting user access to the data records being actively processed, estimating resources needed for the processing, determining data record encryption statuses to be displayed by a user device, or some combination of these features.
    Type: Grant
    Filed: October 29, 2019
    Date of Patent: December 8, 2020
    Assignee: salesforce.com, inc.
    Inventors: Alexandre Hersans, Je Woong Heo, Yunjia Zhou, Aleksandr Alexander, Assaf Ben Gur
  • Publication number: 20200322139
    Abstract: Methods, systems, and devices for distributed caching of encrypted encryption keys are described. Some multi-tenant database systems may support encryption of data records. To efficiently handle multiple encryption keys across multiple application servers, the database system may store the encryption keys in a distributed cache accessible by each of the application servers. To securely cache the encryption keys, the database system may encrypt (e.g., wrap) each data encryption key (DEK) using a second encryption key (e.g., a key encryption key (KEK)). The database system may store the DEKs and KEKs in separate caches to further protect the encryption keys. For example, while the encrypted DEKs may be stored in the distributed cache, the KEKs may be stored locally on application servers. The database system may further support “bring your own key” (BYOK) functionality, where a user may upload a tenant secret or tenant-specific encryption key to the database.
    Type: Application
    Filed: April 30, 2020
    Publication date: October 8, 2020
    Inventors: Alexandre Hersans, John Bracken, Assaf Ben Gur, William Charles Mortimore, JR., Swaroop Shere
  • 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
  • Patent number: 10680804
    Abstract: Methods, systems, and devices for distributed caching of encrypted encryption keys are described. Some multi-tenant database systems may support encryption of data records. To efficiently handle multiple encryption keys across multiple application servers, the database system may store the encryption keys in a distributed cache accessible by each of the application servers. To securely cache the encryption keys, the database system may encrypt (e.g., wrap) each data encryption key (DEK) using a second encryption key (e.g., a key encryption key (KEK)). The database system may store the DEKs and KEKs in separate caches to further protect the encryption keys. For example, while the encrypted DEKs may be stored in the distributed cache, the KEKs may be stored locally on application servers. The database system may further support “bring your own key” (BYOK) functionality, where a user may upload a tenant secret or tenant-specific encryption key to the database.
    Type: Grant
    Filed: September 27, 2017
    Date of Patent: June 9, 2020
    Assignee: salesforce.com, inc.
    Inventors: Alexandre Hersans, John Bracken, Assaf Ben Gur, William Charles Mortimore, Jr., Swaroop Shere
  • Publication number: 20200143065
    Abstract: Methods, systems, and devices for mass encryption management are described. In some database systems, users may select encryption settings for storing data records at rest. A database may receive a request to perform an encryption process on multiple data records corresponding to a user, for example, based on a user input or a change in encryption settings. A database server may partition the data records for encryption (e.g., encryption, decryption, key rotation, or scheme modification) into one or more data record groups of similar sizes, and may perform the encryption process on one record group at a time (e.g., to reduce overhead in the system). The database server may additionally support restricting user access to the data records being actively processed, estimating resources needed for the processing, determining data record encryption statuses to be displayed by a user device, or some combination of these features.
    Type: Application
    Filed: October 29, 2019
    Publication date: May 7, 2020
    Inventors: Alexandre Hersans, Je Woong Heo, Yunjia Zhou, Aleksandr Alexander, Assaf Ben Gur
  • Patent number: 10594490
    Abstract: During an encryption process, a database system may generate an index value based on the plaintext to be encrypted, an encryption key, a data field-specific salt, or a combination thereof. The database may store the index value in an index associated with the ciphertext output of the encryption process. In some cases, the database may receive a query specifying a plaintext value for filtering on a data field, where the database may return data objects with the specified plaintext value in the given data field. The database may compute a set of index values associated with the specified plaintext, and may identify indexes with index values included in the set of index values and associated with the given data field. The database may decrypt the ciphertexts associated with the identified indexes to check if they match the specified plaintext.
    Type: Grant
    Filed: April 24, 2017
    Date of Patent: March 17, 2020
    Assignee: salesforce.com, inc.
    Inventor: Alexandre Hersans
  • Publication number: 20190370363
    Abstract: Disclosed herein are system, method, and computer program product embodiments for detecting duplicates with exact and fuzzy matching on encrypted match indexes using an encryption key in a cloud computing platform. An embodiment operates by determining a match rule index value upon reception of a new record. The embodiment encrypts the match index rule value using the customer's encryption key and a deterministic encryption method and stores the encrypted match rule index value. Duplicate detection may be later performed by using the same deterministic encryption method to determine a cypher text for a candidate entry and comparing the ciphertext to the stored encrypted match indexes.
    Type: Application
    Filed: July 3, 2018
    Publication date: December 5, 2019
    Inventors: Alexandre HERSANS, Swaroop SHERE, Chenghung KER, Parth Vijay VAISHNAV, Assaf BEN-GUR, Victor LIU, Daniel MCGARRY, Samatha SANIKOMMU
  • Patent number: 10496830
    Abstract: Methods, systems, and devices for mass encryption management are described. In some database systems, users may select encryption settings for storing data records at rest. A database may receive a request to perform an encryption process on multiple data records corresponding to a user, for example, based on a user input or a change in encryption settings. A database server may partition the data records for encryption (e.g., encryption, decryption, key rotation, or scheme modification) into one or more data record groups of similar sizes, and may perform the encryption process on one record group at a time (e.g., to reduce overhead in the system). The database server may additionally support restricting user access to the data records being actively processed, estimating resources needed for the processing, determining data record encryption statuses to be displayed by a user device, or some combination of these features.
    Type: Grant
    Filed: October 12, 2017
    Date of Patent: December 3, 2019
    Assignee: salesforce.com, inc.
    Inventors: Alexandre Hersans, Je Woong Heo, Yunjia Zhou, Aleksandr Alexander, Assaf Ben Gur
  • Patent number: 10482106
    Abstract: Categorizing data in an on-demand database environment is provided. The categorized data is accessed to provide results based on statistical likelihood that records provide a desired result of a query. The categorization of the data includes organizing queries based on semantic terms, with categorization based on a multidimensional categorization of data in the database environment. The generating of results includes accessing relationship metadata both for individual records and for categories. Relationships along the same category, or among categories can provide records that may answer the query. The relationships and statistics are updated based on usage of the results data. Records and relationships identified as being used to solve the query, or being a desired solution to the query, can be weighted more heavily, thus increasing the likelihood of providing the most relevant data for subsequent queries.
    Type: Grant
    Filed: September 21, 2015
    Date of Patent: November 19, 2019
    Assignee: Salesforce.com, Inc.
    Inventors: Eugene Oksman, Alexandre Hersans
  • Publication number: 20190236284
    Abstract: Methods, systems, and devices for enabling and validating data encryption are described. A data storage system (e.g., including a database and validation server) may receive an encryption request indicating a data object or data field. Prior to performing encryption, the validation server may perform one or more validations to determine whether the system supports encrypting the indicated data. The validation server may identify any formula fields that directly or indirectly (e.g., via other formula fields) reference the data object or field, and may determine whether each of these formula fields is encryption compatible. In some cases, the validation process may involve synchronously executing a first set of validators, marking the data as pending encryption, and asynchronously executing a second set of validators. Based on the results of the validation process, the system may or may not encrypt the indicated data, and may transmit an indication of the validation results.
    Type: Application
    Filed: January 31, 2018
    Publication date: August 1, 2019
    Inventor: Alexandre Hersans