# US 2019/0171479 A1 · Method and system for scheduling transactions in a data system

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2019/0171479 A1
- Document ID: US20190171479A1
- Status: Published application
- Kind: A1
- Application number: 16/266,144
- Filed: 2019-02-04
- Published: 2019-06-06
- Earliest claimed: 2015-04-20
- Assignees: Oath Inc.
- Applicants: Oath Inc.
- Inventors: Guangxin Yang; Dongyue Wang; Xinyu Wang; Wei Liang; Sihan Ge
- Web page: https://patentgrep.com/patent/US20190171479A1

## CPC

- G06F 9/466: {Transaction processing}
- G06F 9/485: {Task life-cycle, e.g. stopping, restarting, resuming execution (G06F9/4881 takes precedence)}
- G06F 9/4887: {involving deadlines, e.g. rate based, periodic}
- G06F 16/2379: {Updates performed during online database operations; commit processing}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

The present teaching relates to scheduling transactions at a node in a data system. In one example, a request is obtained for performing a first transaction at the node. A mixing condition associated with the first transaction is determined. The first transaction is initiated. The first transaction is suspended when the mixing condition is met. A second transaction is carried out at the node. The first transaction and the second transaction are directed to a same portion of data at the node.

## Claims

### Claim 1

A method, implemented on a machine having at least one processor, storage, and a communication platform connected to a network for scheduling transactions at a node, the method comprising:
initiating a first transaction directed to a portion of data at the node, the first transaction being associated with a workload mixing condition;
suspending the first transaction in response to the workload mixing condition being satisfied;
identifying, in response to the suspending, a second transaction that is directed to the portion of data at the node in accordance with a priority model;
carrying out the second transaction at the node; and
setting a status flag for at least one record included in the portion of data based on the second transaction, the status flag indicating a manner by which the first transaction is to interact with the record upon being resumed.

### Claim 2 (depends on 1)

The method of claim 1, wherein the priority model is selected based on information related to a first transaction.

### Claim 3 (depends on 2)

The method of claim 2, wherein the priority model identifies the second transaction based on a user associated with the first transaction.

### Claim 4 (depends on 1)

The method of claim 1, wherein the workload mixing condition is one of:
the first transaction running for a pre-determined period of time since the first transaction was initiated or last suspended; and
a first portion of the first transaction having been executed since the first transaction was initiated or last suspended, wherein the first portion is at least one of: a fragment of the first transaction, a step in a fragment, a pre-determined number of blocks in a step, and a pre-determined number of records in a step.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
continuing the first transaction after the second transaction is completed or when the second transaction is executed for a period of time.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
recording an execution context for the first transaction before carrying out the second transaction; and
retrieving the execution context and the status flag after carrying out the second transaction.

### Claim 7

A machine-readable, non-transitory and tangible medium having information recorded thereon for scheduling transactions at a node in a data system, wherein the information, when read by the machine, causes the machine to perform the following:
initiating a first transaction directed to a portion of data at the node, the first transaction being associated with a workload mixing condition;
suspending the first transaction in response to the workload mixing condition being satisfied;
identifying, in response to the suspending, a second transaction that is directed to the portion of data at the node in accordance with a priority model;
carrying out the second transaction at the node; and
setting a status flag for at least one record included in the portion of data based on the second transaction, the status flag indicating a manner by which the first transaction is to interact with the record upon being resumed.

### Claim 8 (depends on 7)

The medium of claim 7, wherein the priority model is selected based on information related to a first transaction.

### Claim 9 (depends on 8)

The medium of claim 8, wherein the priority model identifies the second transaction based on a user associated with the first transaction.

### Claim 10 (depends on 7)

The medium of claim 7, wherein the workload mixing condition is one of:
the first transaction running for a pre-determined period of time since the first transaction was initiated or last suspended; and
a first portion of the first transaction having been executed since the first transaction was initiated or last suspended, wherein the first portion is at least one of: a fragment of the first transaction, a step in a fragment, a pre-determined number of blocks in a step, and a pre-determined number of records in a step.

### Claim 11 (depends on 7)

The medium of claim 7, the method further comprising:
continuing the first transaction after the second transaction is completed or when the second transaction is executed for a period of time.

### Claim 12 (depends on 7)

The medium of claim 7, the method further comprising:
recording an execution context for the first transaction before carrying out the second transaction; and
retrieving the execution context and the status flag after carrying out the second transaction.

### Claim 13

A system, having at least one processor, storage, and a communication platform connected to a network for scheduling transactions at a node in a data system, the system comprising:
a transaction execution module configured for:
initiating a first transaction directed to a portion of data at the node, the first transaction being associated with a workload mixing condition;
suspending the first transaction in response to the workload mixing condition being satisfied;
identifying, in response to the suspending, a second transaction that is directed to the portion of data at the node in accordance with a priority model;
carrying out the second transaction at the node; and
setting a status flag for at least one record included in the portion of data based on the second transaction, the status flag indicating a manner by which the first transaction is to interact with the record upon being resumed.

### Claim 14 (depends on 13)

The system of claim 13, wherein the priority model is selected based on information related to a first transaction.

### Claim 15 (depends on 14)

The system of claim 14, wherein the priority model identifies the second transaction based on a user associated with the first transaction.

### Claim 16 (depends on 13)

The system of claim 13, wherein the workload mixing condition is one of:
the first transaction running for a pre-determined period of time since the first transaction was initiated or last suspended; and
a first portion of the first transaction having been executed since the first transaction was initiated or last suspended, wherein the first portion is at least one of: a fragment of the first transaction, a step in a fragment, a pre-determined number of blocks in a step, and a pre-determined number of records in a step.

### Claim 17 (depends on 13)

The system of claim 13, wherein the transaction execution module is further configured for:
continuing the first transaction after the second transaction is completed or when the second transaction is executed for a period of time.

### Claim 18 (depends on 13)

The system of claim 13, wherein the transaction execution module is further configured for:
recording an execution context for the first transaction before carrying out the second transaction; and
retrieving the execution context and the status flag after carrying out the second transaction.
