Patents by Inventor Shan-Cheng Ho

Shan-Cheng Ho 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: 11921750
    Abstract: A method and system are provided for assigning a particular record into a chunk of a partition within a non-relational database system. When a number of records in a particular candidate chunk is greater than a particular threshold number, an application performs an auto-balancing operation to split the particular candidate chunk such that records originally assigned to the particular candidate chunk are divided among the particular candidate chunk and a new chunk. Some of the number of records that were originally part of the particular candidate chunk are assigned to a new chunk and the other remaining ones of the number of records that were originally part of the particular candidate chunk remain assigned to the particular candidate chunk.
    Type: Grant
    Filed: October 29, 2018
    Date of Patent: March 5, 2024
    Inventor: Shan-Cheng Ho
  • Patent number: 11861399
    Abstract: The techniques may include maintaining a thread of events for a plurality of users, where each element of the thread corresponds to an event/activity and includes at least a next field that includes a first subset of the plurality of users and a previous field that includes a second subset of the plurality of users. These techniques may allow new events to be quickly added and prior elements may be updated to reflect the addition. Further, the thread elements may allow the thread to be quickly traversed to identify queried information such that the information may be displayed to a user.
    Type: Grant
    Filed: March 28, 2022
    Date of Patent: January 2, 2024
    Assignee: Salesforce, Inc.
    Inventors: Percy Dara Mehta, Shan-Cheng Ho, Clinton Tran, Kshama Lalit Thacker, Jayanth Parayil Kumarji
  • Patent number: 11630844
    Abstract: A method of syncing data across multiple systems includes: receiving a plurality of calendar events from a plurality of independent calendar systems that use different calendar system specific schemas; aggregating the calendar events at a unifying communication system; converting the calendar events from a calendar system specific schema to a unifying communication system specific schema; storing the plurality of calendar events in the unifying communication system specific schema; converting a calendar event received from a non-master calendar system to the master calendar system specific schema; and sending the converted calendar event to the master calendar system; wherein copies of the received calendar events that are formatted according to the calendar system specific schema of the master calendar system are stored with the master calendar system, and copies of the calendar events that are formatted according to the unifying communication system specific schema are stored with the unifying communication
    Type: Grant
    Filed: January 29, 2021
    Date of Patent: April 18, 2023
    Inventors: Yogesh Patel, Birva Joshi, Shan-Cheng Ho, Mahalaxmi Sanathkumar, Priya Sethuraman
  • Patent number: 11609886
    Abstract: A method and system of data deduplication for data streams in a multi-tenant system. The method receives, at a data accuracy manager, an event from an activity tracking component, determine whether the event is recorded in a probabilistic model that tracks previously received events from the activity tracking component, where the probabilistic model can accurately identify the event has not been previously received with a possible false positive response where the event has been previously received, determines whether information for the event is stored in a metric storage, where the metric storage is a database of metrics derived from the previously received events, and discards the event in response to determining that the event is recorded in the probabilistic model and in the metric storage.
    Type: Grant
    Filed: January 31, 2020
    Date of Patent: March 21, 2023
    Assignee: salesforce.com, inc.
    Inventors: Yogesh Patel, Percy Mehta, Mattia Padovani, Shan-Cheng Ho, Shaahin Mehdinezhad Rushan, Johannes Kienzle
  • Patent number: 11537572
    Abstract: A method enables data aggregation in a multi-tenant system. The method includes receiving, at a data aggregation manager, an event from an activity tracking component, generating, by the data aggregation manager, a first hash value based on a first identifier in the event, generating, by the data aggregation manager, a second hash value based on a second identifier in the event, and storing event message information to an entry of a metric storage database in a partition according the first hash value and the second hash value.
    Type: Grant
    Filed: January 31, 2020
    Date of Patent: December 27, 2022
    Assignee: salesforce.com, inc.
    Inventors: Yogesh Patel, Percy Mehta, Mattia Padovani, Shan-Cheng Ho, Shaahin Mehdinezhad Rushan, Johannes Kienzle
  • Patent number: 11500878
    Abstract: A method and system manage synchronization of data streams in a multi-tenant system. The method includes tracking by a flow control mechanism a recent flow rate of at least one data stream, determining by the flow control mechanism whether the flow rate of the at least one data stream varies from at least one related data stream, and adjusting by the flow control mechanism a throughput of the at least one data stream to correlate with the at least one related data stream, in response to determining that the at least one data stream has varied from the at least one related data stream.
    Type: Grant
    Filed: January 31, 2020
    Date of Patent: November 15, 2022
    Assignee: salesforce.com, inc.
    Inventors: Shan-Cheng Ho, Percy Mehta, Yogesh Patel, Lucas Ung, Birva Joshi, Wing Hing Ku, Mattia Padovani
  • Patent number: 11488082
    Abstract: Described is a method and system for verifying the end-to-end distribution of messages within an on-demand services platform. To provide the ability to monitor and trace such messages, the system may include a specialized and queryable datastore (or database) that allows the system to track the distribution and acknowledgement of messages throughout the services platform. Accordingly, a specialized verification process may be initiated to query the database to verify the receipt of a message has been acknowledged by various components within the system. In addition, the verification process may automatically retry the distribution the messages to ensure particular downstream components have received the message. Accordingly, the system alleviates the need to manual re-crawl various message source to ensure the end-to-end distribution of such messages.
    Type: Grant
    Filed: March 27, 2019
    Date of Patent: November 1, 2022
    Assignee: Salesforce, Inc.
    Inventors: Utsavi Benani, Zhidong Ke, Scott W. Bishel, Praveen Innamuri, Kevin Terusaki, Shan-Cheng Ho
  • Patent number: 11475049
    Abstract: A computer-implemented method is disclosed. The method includes determining whether a level of resource utilization of an organization having a first index and a first cluster requires that the organization is assigned to a second cluster, if the level of resource utilization requires that the organization is assigned to the second cluster, creating a second index for the organization in the second cluster, adding a consul entry in a consul that points to the second index, and upon completion of a data migration operation, changing an entry of the cluster routing controller for the organization, from the first index to the second index. A connection is established using the consul entry.
    Type: Grant
    Filed: January 31, 2020
    Date of Patent: October 18, 2022
    Assignee: SALESFORCE, INC.
    Inventors: Robert Stephen Logan, Gabriel Such Tobias, Shan-Cheng Ho
  • Publication number: 20220245170
    Abstract: A method of syncing data across multiple systems includes: receiving a plurality of calendar events from a plurality of independent calendar systems that use different calendar system specific schemas; aggregating the calendar events at a unifying communication system; converting the calendar events from a calendar system specific schema to a unifying communication system specific schema; storing the plurality of calendar events in the unifying communication system specific schema; converting a calendar event received from a non-master calendar system to the master calendar system specific schema; and sending the converted calendar event to the master calendar system; wherein copies of the received calendar events that are formatted according to the calendar system specific schema of the master calendar system are stored with the master calendar system, and copies of the calendar events that are formatted according to the unifying communication system specific schema are stored with the unifying communication
    Type: Application
    Filed: January 29, 2021
    Publication date: August 4, 2022
    Applicant: salesforce.com, inc.
    Inventors: Yogesh Patel, Birva Joshi, Shan-Cheng Ho, Mahalaxmi Sanathkumar, Priya Sethuraman
  • Publication number: 20220222110
    Abstract: The techniques may include maintaining a thread of events for a plurality of users, where each element of the thread corresponds to an event/activity and includes at least a next field that includes a first subset of the plurality of users and a previous field that includes a second subset of the plurality of users. These techniques may allow new events to be quickly added and prior elements may be updated to reflect the addition. Further, the thread elements may allow the thread to be quickly traversed to identify queried information such that the information may be displayed to a user.
    Type: Application
    Filed: March 28, 2022
    Publication date: July 14, 2022
    Inventors: Percy Dara Mehta, Shan-Cheng Ho, Clinton Tran, Kshama Lalit Thacker, Jayanth Parayil Kumarji
  • Patent number: 11314550
    Abstract: The techniques may include maintaining a thread of events for a plurality of users, where each element of the thread corresponds to an event/activity and includes at least a next field that includes a first subset of the plurality of users and a previous field that includes a second subset of the plurality of users. These techniques may allow new events to be quickly added and prior elements may be updated to reflect the addition. Further, the thread elements may allow the thread to be quickly traversed to identify queried information such that the information may be displayed to a user.
    Type: Grant
    Filed: February 26, 2020
    Date of Patent: April 26, 2022
    Assignee: salesforce.com, inc.
    Inventors: Percy Dara Mehta, Shan-Cheng Ho, Clinton Tran, Kshama Lalit Thacker, Jayanth Parayil Kumarji
  • Patent number: 11138204
    Abstract: Techniques are disclosed for generating metrics for a stream of interaction data. In some embodiments, a computing system receives a stream of interaction data that is based on user interactions with one or more computing systems, where the stream of interaction data includes information for multiple interaction characteristics including an interaction category. In response to receiving additional interaction information in the stream of interaction data, the computing system may generate cumulative metric values for one or more interaction categories.
    Type: Grant
    Filed: August 2, 2019
    Date of Patent: October 5, 2021
    Assignee: salesforce.com, inc.
    Inventors: Percy Dara Mehta, Yogesh Prabhudas Patel, Shaahin Mehdinezhad Rushan, Mattia Padovani, Aaron Yulong Zhang, Shan-Cheng Ho, Clinton Tran, Birva Pankaj Joshi, Mugdha Choudhari, Johannes Kienzle
  • Publication number: 20210240738
    Abstract: A computer-implemented method is disclosed. The method includes determining whether a level of resource utilization of an organization having a first index and a first cluster requires that the organization is assigned to a second cluster, if the level of resource utilization requires that the organization is assigned to the second cluster, creating a second index for the organization in the second cluster, adding a consul entry in a consul that points to the second index, and upon completion of a data migration operation, changing an entry of the cluster routing controller for the organization, from the first index to the second index. A connection is established using the consul entry.
    Type: Application
    Filed: January 31, 2020
    Publication date: August 5, 2021
    Applicant: salesforce.com, inc.
    Inventors: Robert Stephen LOGAN, Gabriel Such TOBIAS, Shan-Cheng HO
  • Publication number: 20210240714
    Abstract: A method and system manage synchronization of data streams in a multi-tenant system. The method includes tracking by a flow control mechanism a recent flow rate of at least one data stream, determining by the flow control mechanism whether the flow rate of the at least one data stream varies from at least one related data stream, and adjusting by the flow control mechanism a throughput of the at least one data stream to correlate with the at least one related data stream, in response to determining that the at least one data stream has varied from the at least one related data stream.
    Type: Application
    Filed: January 31, 2020
    Publication date: August 5, 2021
    Inventors: Shan-Cheng Ho, Percy Mehta, Yogesh Patel, Lucas Ung, Birva Joshi, Wing Hing Ku, Mattia Padovani
  • Publication number: 20210240679
    Abstract: A method and system of data deduplication for data streams in a multi-tenant system. The method receives, at a data accuracy manager, an event from an activity tracking component, determine whether the event is recorded in a probabilistic model that tracks previously received events from the activity tracking component, where the probabilistic model can accurately identify the event has not been previously received with a possible false positive response where the event has been previously received, determines whether information for the event is stored in a metric storage, where the metric storage is a database of metrics derived from the previously received events, and discards the event in response to determining that the event is recorded in the probabilistic model and in the metric storage.
    Type: Application
    Filed: January 31, 2020
    Publication date: August 5, 2021
    Inventors: Yogesh Patel, Percy Mehta, Mattia Padovani, Shan-Cheng Ho, Shaahin Mehdinezhad Rushan, Johannes Kienzle
  • Publication number: 20210240678
    Abstract: A method enables data aggregation in a multi-tenant system. The method includes receiving, at a data aggregation manager, an event from an activity tracking component, generating, by the data aggregation manager, a first hash value based on a first identifier in the event, generating, by the data aggregation manager, a second hash value based on a second identifier in the event, and storing event message information to an entry of a metric storage database in a partition according the first hash value and the second hash value.
    Type: Application
    Filed: January 31, 2020
    Publication date: August 5, 2021
    Inventors: Yogesh Patel, Percy Mehta, Mattia Padovani, Shan-Cheng Ho, Shaahin Mehdinezhad Rushan, Johannes Kienzle
  • Publication number: 20210149720
    Abstract: The techniques may include maintaining a thread of events for a plurality of users, where each element of the thread corresponds to an event/activity and includes at least a next field that includes a first subset of the plurality of users and a previous field that includes a second subset of the plurality of users. These techniques may allow new events to be quickly added and prior elements may be updated to reflect the addition. Further, the thread elements may allow the thread to be quickly traversed to identify queried information such that the information may be displayed to a user.
    Type: Application
    Filed: February 26, 2020
    Publication date: May 20, 2021
    Inventors: Percy Dara Mehta, Shan-Cheng Ho, Clinton Tran, Kshama Lalit Thacker, Jayanth Parayil Kumarji
  • Publication number: 20210034627
    Abstract: Techniques are disclosed for generating metrics for a stream of interaction data. In some embodiments, a computing system receives a stream of interaction data that is based on user interactions with one or more computing systems, where the stream of interaction data includes information for multiple interaction characteristics including an interaction category. In response to receiving additional interaction information in the stream of interaction data, the computing system may generate cumulative metric values for one or more interaction categories.
    Type: Application
    Filed: August 2, 2019
    Publication date: February 4, 2021
    Inventors: Percy Dara Mehta, Yogesh Prabhudas Patel, Shaahin Mehdinezhad Rushan, Mattia Padovani, Aaron Yulong Zhang, Shan-Cheng Ho, Clinton Tran, Birva Pankaj Joshi, Mugdha Choudhari, Johannes Kienzle
  • Publication number: 20200311637
    Abstract: Described is a method and system for verifying the end-to-end distribution of messages within an on-demand services platform. To provide the ability to monitor and trace such messages, the system may include a specialized and queryable datastore (or database) that allows the system to track the distribution and acknowledgement of messages throughout the services platform. Accordingly, a specialized verification process may be initiated to query the database to verify the receipt of a message has been acknowledged by various components within the system. In addition, the verification process may automatically retry the distribution the messages to ensure particular downstream components have received the message. Accordingly, the system alleviates the need to manual re-crawl various message source to ensure the end-to-end distribution of such messages.
    Type: Application
    Filed: March 27, 2019
    Publication date: October 1, 2020
    Applicant: salesforce.com, inc.
    Inventors: Utsavi Benani, Zhidong Ke, Scott W. Bishel, Praveen Innamuri, Kevin Terusaki, Shan-Cheng Ho
  • 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