# US 2025/0377828 A1 · Data transfer with resume command

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

- Number: US 2025/0377828 A1
- Document ID: US20250377828A1
- Status: Published application
- Kind: A1
- Application number: 18/734,489
- Filed: 2024-06-05
- Published: 2025-12-11
- Earliest claimed: 2024-06-05
- Assignees: Itron, Inc.
- Applicants: Itron, Inc.
- Inventors: Karen Livingston; James Lee Kann
- Web page: https://patentgrep.com/patent/US20250377828A1

## CPC

- G06F 3/0659: {Command handling arrangements, e.g. command buffers, queues, command scheduling}
- G06F 3/0604: {Improving or facilitating administration, e.g. storage management}
- G06F 3/0683: {Plurality of storage devices}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Techniques for data transfer are described herein. In an example, a command to transfer a first data file is received at a computing device. The computing device determines if at least two processes exist, or do not exist, from among processes including: a first transfer process of the first data file; a second transfer process of a second data file; and a third process, not related to the first data-transfer or the second data-transfer. An action is selected from among a plurality of actions, wherein the selecting is based at least in part on which processes were found to exist. The plurality of actions may include: resuming the first transfer process; canceling the second transfer process and starting a new process to transfer the first data file; rejecting the command; allowing the third process to conclude and then starting the new process to transfer the first data file; and starting the new process to transfer the first data file.

## Claims

### Claim 1

One or more non-transitory computer-readable media storing computer-executable instructions that, when executed by one or more processors, configure a computing device to perform actions comprising:
receiving a command to transfer a first data file;
determining if at least two processes exist or do not exist from among processes comprising:
a first data-transfer process of the first data file;
a second data-transfer process of a second data file; and
a third process, not related to the first data-transfer process or the second data-transfer process; and
selecting an action from among a plurality of actions, wherein the selecting is based at least in part on which processes were found to exist, from among processes comprising: the first data-transfer process; the second data-transfer process, and the third process;
wherein the plurality of actions comprises:
resuming the first data-transfer process;
canceling the second data-transfer process and starting a new data-transfer process to transfer the first data file;
rejecting the command;
allowing the third process to conclude and then starting the new data-transfer process to transfer the first data file; and
starting the new data-transfer process to transfer the first data file.

### Claim 2 (depends on 1)

The one or more non-transitory computer-readable media as recited in claim 1, the actions additionally comprising:
checking the command for a cancel-if-necessary notation; and
responsive to finding the cancel-if-necessary notation, cancelling the second data-transfer process and starting the new data-transfer process to transfer the first data file.

### Claim 3 (depends on 1)

The one or more non-transitory computer-readable media as recited in claim 1, the actions additionally comprising:
determining if the third process will conclude within a threshold period of time; and
responsive to finding that the third process will conclude within the threshold period of time, allowing the third process to conclude and starting the new data-transfer process to transfer the first data file.

### Claim 4 (depends on 1)

The one or more non-transitory computer-readable media as recited in claim 1, where:
responsive to confirmed existence of the first data-transfer process, resuming the first data-transfer process;
responsive to confirmed existence of the second data-transfer process and a cancel-if-necessary indicator in the command, canceling the second data-transfer process and starting the new data-transfer process to transfer the first data file;
responsive to existence of the second data-transfer process or existence of the third process, wherein the third process will not conclude within a threshold period of time, rejecting the command;
responsive to the third process ending within the threshold period of time, allowing the third process to conclude and starting the new data-transfer process to transfer the first data file; and
responsive to the existence of none of: the first data-transfer process; the second data-transfer process; and the third process, starting the new data-transfer process to transfer the first data file.

### Claim 5 (depends on 1)

The one or more non-transitory computer-readable media as recited in claim 1, wherein determining if the first data-transfer process exists comprises:
comparing information included with the command to information on data transfers in operation in the computing device.

### Claim 6 (depends on 1)

The one or more non-transitory computer-readable media as recited in claim 1, wherein determining if the first data-transfer process of the first data file exists comprises comparing values comprising:
values of parameters passed in a Device Language Message Specification (DLMS)/Companion Specification for Energy Metering (COSEM) methods of execution; and
values of parameters in attributes of DLMS/COSEM object(s) that hold information on data-file transfers in the computing device.

### Claim 7 (depends on 1)

The one or more non-transitory computer-readable media as recited in claim 1, wherein the computer-executable instructions of the non-transitory computer-readable media are configured to operate the computing device within a Device Language Message Specification (DLMS)/Companion Specification for Energy Metering (COSEM) environment.

### Claim 8

A computing device, comprising:
a processor;
one or more memory devices in communication with the processor;
statements, defined in the one or more memory devices, which when executed by the processor to perform actions comprising:
receiving a command to transfer a first data file;
determining if at least two processes exist or do not exist from among processes comprising:
a first data-transfer process of the first data file;
a second data-transfer process of a second data file; and
a third process, not related to the first data-transfer process or the second data-transfer process; and
selecting an action from among a plurality of actions, wherein the selecting is based at least in part on which processes were found to exist, from among processes comprising: the first data-transfer process; the second data-transfer process, and the third process;
wherein the plurality of actions comprises:
resuming the first data-transfer process;
canceling the second data-transfer process and starting a new data-transfer process to transfer the first data file;
rejecting the command;
allowing the third process to conclude and then starting the new data-transfer process to transfer the first data file; and
starting the new data-transfer process to transfer the first data file.

### Claim 9 (depends on 8)

The computing device of claim 8, the actions additionally comprising:
checking the command for a cancel-if-necessary notation; and
responsive to finding the cancel-if-necessary notation, cancelling the second data-transfer process and starting the new data-transfer process to transfer the first data file.

### Claim 10 (depends on 8)

The computing device of claim 8, the actions additionally comprising:
determining if the third process will conclude within a threshold period of time; and
responsive to finding that the third process will conclude within the threshold period of time, allowing the third process to conclude and starting the new data-transfer process to transfer the first data file.

### Claim 11 (depends on 8)

The computing device of claim 8, wherein:
responsive to confirmed existence of the first data-transfer process, resuming the first data-transfer process;
responsive to confirmed existence of the second data-transfer process and a cancel-if-necessary indicator in the command, canceling the second data-transfer process and starting the new data-transfer process to transfer the first data file;
responsive to existence of the second data-transfer process and the lack of a cancel-if-necessary indicator in the command or existence of the third process, wherein the third process will not conclude within a threshold period of time, rejecting the command;
responsive to the third process ending within the threshold period of time, allowing the third process to conclude and starting the new data-transfer process to transfer the first data file; and
responsive to the existence of none of: the first data-transfer process; the second data-transfer process; and the third process, starting the new data-transfer process to transfer the first data file.

### Claim 12 (depends on 8)

The computing device of claim 8, wherein determining if the first data-transfer process exists comprises:
comparing information included with the command to information on data transfers in operation in the computing device.

### Claim 13 (depends on 8)

The computing device of claim 8, wherein determining if the first data-transfer process of the first data file exists comprises comparing values comprising:
values of parameters passed in a Device Language Message Specification (DLMS)/Companion Specification for Energy Metering (COSEM) methods of execution; and
values of parameters in attributes of DLMS/COSEM object(s) that hold information on data-file transfers in the computing device.

### Claim 14 (depends on 8)

The computing device of claim 8, wherein the actions are configured to operate the computing device within a Device Language Message Specification (DLMS)/Companion Specification for Energy Metering (COSEM) environment.

### Claim 15

A method for operating a computing device, comprising:
receiving a command to transfer a first data file;
determining if at least two processes exist or do not exist from among processes comprising:
a first data-transfer process of the first data file;
a second data-transfer process of a second data file; and
a third process, not related to the first data-transfer process or the second data-transfer process; and
selecting an action from among a plurality of actions, wherein the selecting is based at least in part on which processes were found to exist, from among processes comprising: the first data-transfer process; the second data-transfer process, and the third process;
wherein the plurality of actions comprises:
resuming the first data-transfer process;
canceling the second data-transfer process and starting a new data-transfer process to transfer the first data file;
rejecting the command;
allowing the third process to conclude and then starting the new data-transfer process to transfer the first data file; and
starting the new data-transfer process to transfer the first data file.

### Claim 16 (depends on 15)

The method as recited in claim 15, additionally comprising:
checking the command for a cancel-if-necessary notation; and
responsive to finding the cancel-if-necessary notation, cancelling the second data-transfer process and starting the new data-transfer process to transfer the first data file.

### Claim 17 (depends on 15)

The method as recited in claim 15, additionally comprising:
determining if the third process will conclude within a threshold period of time; and
responsive to finding that the third process will conclude within the threshold period of time, allowing the third process to conclude and starting the new data-transfer process to transfer the first data file.

### Claim 18 (depends on 15)

The method as recited in claim 15, wherein:
responsive to confirmed existence of the first data-transfer process, resuming the first data-transfer process;
responsive to confirmed existence of the second data-transfer process and a cancel-if-necessary indicator in the command, canceling the second data-transfer process and starting the new data-transfer process to transfer the first data file;
responsive to existence of the second data-transfer process and the lack of a cancel-if-necessary indicator in the command or existence of the third process, wherein the third process will not conclude within a threshold period of time, rejecting the command;
responsive to the third process ending within the threshold period of time, allowing the third process to conclude, and starting the new data-transfer process to transfer the first data file; and
responsive to the existence of none of: the first data-transfer process; the second data-transfer process; and the third process, starting the new data-transfer process to transfer the first data file.

### Claim 19 (depends on 15)

The method as recited in claim 15, wherein determining if the first data-transfer process exists comprises:
comparing information included with the command to information on data transfers in operation in the computing device.

### Claim 20 (depends on 15)

The method as recited in claim 15, wherein determining if the first data-transfer process of the first data file exists comprises comparing values comprising:
values of parameters passed in a Device Language Message Specification (DLMS)/Companion Specification for Energy Metering (COSEM) methods of execution; and
values of parameters in attributes of DLMS/COSEM object(s) that hold information on data-file transfers in the computing device.
