# How Salesforce Speeds Up Data Processing Using Bulk Message Handling

> A method for cloud systems to grab multiple tasks at once instead of one by one, using a locking mechanism to ensure data stays consistent during bulk processing.

- **Patent:** US 10019297
- **Original title:** Systems and methods for implementing bulk handling in asynchronous processing
- **Owner:** Salesforce com Inc
- **Granted:** 2018
- **Status:** Active
- **Times cited:** 7
- **Field:** software, telecommunications, ai_ml

## What it does

This patent describes a way for a computer system to handle large volumes of background tasks more efficiently. Instead of processing messages one at a time, the system uses a broker to push one task to a worker thread, which then pulls additional tasks from the queue to group them together. The system then attempts to 'lock' this entire group of tasks in a database simultaneously. If the lock is successful, the system processes all the messages in the group at once, which is much faster than individual processing. If the lock fails, the system puts the messages back in the queue to try again later.

## What it does NOT cover

- Does not cover processing messages that do not require a database lock for synchronization.
- Does not cover systems that lack a message broker or queue-based architecture.
- Does not cover individual, non-bulk message processing methods.
- Does not cover methods that do not use a relational database to verify record existence before locking.

## The clever bit

The innovation lies in the 'pull' request from the thread to the broker to aggregate messages dynamically, combined with an atomic database lock check that ensures the system only processes a batch if all records are available and unlocked.

## Real-world examples

1. Salesforce background job processing
2. High-volume enterprise message queues
3. Cloud-based asynchronous task runners

## Why it matters

In large-scale cloud services like Salesforce, processing millions of user requests individually creates a massive bottleneck. This patent provides a specific architectural pattern to increase throughput by reducing the number of database transactions required. It is a foundational technique for maintaining performance in multi-tenant environments where many customers share the same infrastructure.

## Frequently asked questions

### What does How Salesforce Speeds Up Data Processing Using Bulk Message Handling cover?

A method for cloud systems to grab multiple tasks at once instead of one by one, using a locking mechanism to ensure data stays consistent during bulk processing.

### Who owns patent US 10019297?

Salesforce com Inc owns this patent, granted in 2018.

### When does this patent expire?

This patent is expected to expire on July 10, 2038, when the invention enters the public domain.

### What is patent US 10019297 cited by?

This patent has been cited by 7 later patents that build on its ideas.

### What problem does this patent solve?

In large-scale cloud services like Salesforce, processing millions of user requests individually creates a massive bottleneck. This patent provides a specific architectural pattern to increase throughput by reducing the number of database transactions required. It is a foundational technique for maintaining performance in multi-tenant environments where many customers share the same infrastructure.

### What does this patent NOT cover?

Does not cover processing messages that do not require a database lock for synchronization.

**Full plain-English explainer:** https://patentbrief.org/patent/us/10019297/power-bi

**Original patent:** https://patents.google.com/patent/US10019297

---

_Source: PatentBrief — https://patentbrief.org. Patent facts are from public records; the plain-English explanation is PatentBrief's._


## Related patents

Semantically similar inventions in the PatentBrief corpus:

- [How Computers Automatically Adjust Tasks to Run Faster in Data Centers](https://patentbrief.org/patent/us/9405582/aws-elastic-beanstalk) — A method for cloud computers to monitor their own performance while processing massive data tasks and automatically changing their settings or resource levels to stay efficient.
- [How to Send Data Streams Independently Without Connection Overload](https://patentbrief.org/patent/us/7904576/reliable-datagram-via-independent-source-destination-resources) — A method for sending multiple streams of data between devices using independent, reliable paths that keep data in the correct order without needing a constant connection.
- [How to Split Computer Tasks Between Different Types of Processors](https://patentbrief.org/patent/us/9477524/aws-cloudformation) — A system that uses a physical backplane to connect two different types of computer processors—one for general tasks and one for real-time tasks—to improve efficiency.
- [How Software Automatically Collects and Organizes Data from Multiple Websites](https://patentbrief.org/patent/us/8112476/amazon-ec2-elastic-compute-cloud) — A system that automatically logs into multiple websites, pulls information, and stores it locally before you even ask for it, so it is ready to view instantly.
- [How Google Distributed Machine Learning Across Many Computers](https://patentbrief.org/patent/us/7222127/google-adsense) — A 2003 Google patent describing a way to build machine learning models by splitting the work across a large network of computers rather than a single machine.
