# US 10,373,162 B2 · Systems and methods for validating data elements of a transmitted computer message

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

- Number: US 10,373,162 B2
- Document ID: US10373162B2
- Status: Granted
- Kind: B2
- Application number: 15/005,829
- Filed: 2016-01-25
- Published: 2017-07-27
- Granted: 2019-08-06
- Earliest claimed: 2016-01-25
- Assignees: Mastercard International Incorporated
- Applicants: MasterCard International Incorporated
- Inventors: David J. Senci; Peng Yang
- Web page: https://patentgrep.com/patent/US10373162B2

## CPC

- G06Q 20/4015: {using location information}
- H04L 69/22: Parsing or analysis of headers
- H04L 69/28: Timers or timing mechanisms used in protocols
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Systems and methods for validating and adjusting local transaction times are provided. A host computing system includes a processor and a memory in communication with the processor. The host computing system receives a computer message comprising authorization data associated with a transaction, the authorization data including a location identifier and a local transaction time set by a remote computing device used in processing the transaction. The host computing system also appends a header including a header processor time to the computer message, determines a time zone associated with the local transaction time based on the location identifier, converts the header processor time to a local header processor time based on the time zone, and determines that the local transaction time is validated based on the local header processor time.

## Claims

### Claim 1

A host computing system for automatically validating and adjusting local transaction times included in a computer message transmitted by a remote computing device, said host computing system in communication with the remote computing device and comprising a processor and a memory in communication with the processor, wherein said processor is configured to:
receive, from the remote computing device, the computer message comprising authorization data associated with a transaction, the authorization data including a location identifier and a local transaction time set by the remote computing device used in processing the transaction;
append a header to the computer message, wherein the header includes a header processor time associated with the host computing system;
determine a time zone associated with the local transaction time based on the location identifier;
convert the header processor time to a local header processor time based on the time zone; and
determine whether the local transaction time is validated based on the local header processor time and the local transaction time, thereby improving integrity of data received from the remote computing device.

### Claim 2 (depends on 1)

The host computing system of claim 1, wherein said processor is further configured to:
compare the local transaction time and the local header processor time;
determine a difference between the local transaction time and the local header processor time; and
compare the difference to a threshold value.

### Claim 3 (depends on 2)

The host computing system of claim 2, wherein said processor is further configured to:
adjust the local transaction time to the local header processor time when the difference exceeds the threshold value.

### Claim 4 (depends on 3)

The host computing system of claim 3, wherein said processor is further configured to:
generate an adjustment record associated with the transaction, the adjustment record including the adjusted local transaction time and the difference; and
store the adjustment record in a time adjustment table, the time adjustment table comprising a plurality of adjustment records.

### Claim 5 (depends on 4)

The host computing system of claim 4, wherein said processor is further configured to:
identify the remote computing device based on the computer message;
retrieve at least one adjustment record of the plurality of adjustment records associated with the remote computing device from the time adjustment table;
determine an average difference of the retrieved adjustment records for the remote computing device; and
store the average difference in the time adjustment table.

### Claim 6 (depends on 5)

The host computing system of claim 5, wherein the processor is further configured to adjust the local transaction time based on the average difference associated with the remote computing device stored in time adjustment table.

### Claim 7 (depends on 4)

The host computing system of claim 4, wherein each adjustment record of the plurality of adjustment records includes data fields for at least one of a type of adjustment, a difference between the header processor time and the local transaction time, a merchant ID, an acquiring bank ID, a remote computing device ID, and the local header processor time.

### Claim 8 (depends on 2)

The host computing system of claim 2, wherein said processor is further configured to:
validate the local transaction time when the difference is between zero and the threshold value.

### Claim 9 (depends on 2)

The host computing system of claim 2, wherein the threshold value is between 1 and 15 seconds.

### Claim 10 (depends on 2)

The host computing system of claim 2, wherein the processor is further configured to:
determine the difference between the local transaction time and the local header processor time according to:
(
minute(LocalHeaderProcessorTime)*60
+ second(LocalHeaderProcessorTime)
− minute(LocalTransactionTime) * 60
− second(LocalTransactionTime) + T
) % T;
wherein T is one of 1800 and 3600, and wherein the difference is an intra-hour difference.

### Claim 11 (depends on 10)

The host computing system of claim 10, wherein the processor is further configured to:
adjust the local transaction time according to:
if IntraHourDifferenceInSeconds < threshold
adjustedLocalTransactionTime =
localHeaderProcessorTime −
intraHourDifferenceInSeconds
else
adjustedLocalTransactionTime =
localHeaderProcessorTime.

### Claim 12

A computer-implemented method for automatically validating a local transaction time included in a computer message transmitted by a remote computing device, said method comprising
receiving, at a host computing system from the remote computing device, the computer message comprising authorization data associated with a transaction, the authorization data including a location identifier and a local transaction time set by the remote computing device used in processing the transaction;
appending a header to the computer message, wherein the header includes a header processor time associated with the host computing system;
determining, with the host computing system, a time zone associated with the local transaction time based on the location identifier;
converting the header processor time to a local header processor time based on the time zone; and
determining, with the host computing system, that the local transaction time is validated based on the local header processor time and the local transaction time, thereby improving integrity of data received from the remote computing device.

### Claim 13 (depends on 12)

The computer-implemented method of claim 12 further comprising:
comparing the local transaction time and the local header processor time;
determining, with the host computing system, a difference between the local transaction time and the local header processor time; and
comparing the difference to a threshold value.

### Claim 14 (depends on 13)

The computer-implemented method of claim 13 further comprising adjusting, with the host computing system, the local transaction time to the local header processor time when the difference exceeds the threshold value.

### Claim 15 (depends on 14)

The computer-implemented method of claim 14 further comprising:
generating, with the host computing system, an adjustment record associated with the transaction, the adjustment record including the adjusted local transaction time and the difference; and
storing the adjustment record in a time adjustment table, the time adjustment table comprising a plurality of adjustment records.

### Claim 16 (depends on 15)

The computer-implemented method of claim 15 further comprising:
identifying, with the host computing system, the remote computing device based on the computer message;
retrieving at least one adjustment record of the plurality of adjustment records associated with the remote computing device from the time adjustment table;
determining, with the host computing system, an average difference of the retrieved adjustment records for the remote computing device; and
storing the average difference in the time adjustment table.

### Claim 17 (depends on 16)

The computer-implemented method of claim 16 further comprising adjusting the local transaction time based on the average difference associated with the remote computing device stored in time adjustment table.

### Claim 18 (depends on 15)

The computer-implemented method of claim 15, wherein each adjustment record of the plurality of adjustment records includes data fields for at least one of a type of adjustment, a difference between the header processor time and the local transaction time, a merchant ID, an acquiring bank ID, a remote computing device ID, and the local header processor time.

### Claim 19 (depends on 13)

The computer-implemented method of claim 13 further comprising validating the local transaction time when the difference is between zero and the threshold value.

### Claim 20 (depends on 13)

The computer-implemented method of claim 13, wherein the threshold value is between 1 and 15 seconds.

### Claim 21 (depends on 13)

The computer-implemented method of claim 13, where determining, the difference further comprises:
determining, with the host computing system, the difference between the local transaction time and the local header processor time according to:
(
minute(LocalHeaderProcessorTime)*60
+ second(LocalHeaderProcessorTime)
− minute(LocalTransactionTime) * 60
− second(LocalTransactionTime) + T
) % T;
wherein T is one of 1800 and 3600, and wherein the difference is an intra-hour difference.

### Claim 22 (depends on 21)

The computer-implemented method of claim 21 further comprising:
adjusting, with the host computing system, the local transaction time according to:
if IntraHourDifferenceInSeconds < threshold
adjustedLocalTransactionTime =
localHeaderProcessorTime −
intraHourDifferenceInSeconds
else
adjustedLocalTransactionTime =
localHeaderProcessorTime.

### Claim 23

At least one non-transitory computer-readable storage media having computer-executable instructions embodied thereon, wherein when executed by at least one processor, the computer-executable instructions cause the processor to:
receive, at a host computing system from a remote computing device, a computer message comprising authorization data associated with a transaction, the authorization data including a location identifier and a local transaction time set by the remote computing device used in processing the transaction;
append a header to the computer message, wherein the header includes a header processor time associated with the host computing system;
determine a time zone associated with the local transaction time based on the location identifier;
convert the header processor time to a local header processor time based on the time zone; and
determine that the local transaction time is validated based on the local header processor time and the local transaction time, thereby improving integrity of data received from the remote computing device.

### Claim 24 (depends on 23)

The computer-readable storage media in accordance with claim 23, wherein the computer-executable instructions further cause the processor to:
compare the local transaction time and the local header processor time;
determine a difference between the local transaction time and the local header processor time; and
compare the difference to a threshold value.

### Claim 25 (depends on 24)

The computer-readable storage media in accordance with claim 24, wherein the computer-executable instructions further cause the processor to adjust the local transaction time to the local header processor time when the difference exceeds the threshold value.

### Claim 26 (depends on 25)

The computer-readable storage media in accordance with claim 25, wherein the computer-executable instructions further cause the processor to:
generate an adjustment record associated with the transaction, the adjustment record including the adjusted local transaction time and the difference; and
store the adjustment record in a time adjustment table, the time adjustment table comprising a plurality of adjustment records.

### Claim 27 (depends on 26)

The computer-readable storage media in accordance with claim 26, wherein the computer-executable instructions further cause the processor to:
identify the remote computing device based on the computer message;
retrieve at least one adjustment record of the plurality of adjustment records associated with the remote computing device from the time adjustment table;
determine an average difference of the retrieved adjustment records for the remote computing device; and
store the average difference in the time adjustment table.

### Claim 28 (depends on 27)

The computer-readable storage media in accordance with claim 27, wherein the computer-executable instructions further cause the processor to adjust the local transaction time based on the average difference associated with the remote computing device stored in time adjustment table.

### Claim 29 (depends on 26)

The computer-readable storage media in accordance with claim 26, wherein each adjustment record of the plurality of adjustment records includes data fields for at least one of a type of adjustment, a difference between the header processor time and the local transaction time, a merchant ID, an acquiring bank ID, a remote computing device ID, and the local header processor time.

### Claim 30 (depends on 24)

The computer-readable storage media in accordance with claim 24, wherein the computer-executable instructions further cause the processor to validate the local transaction time when the difference is between zero and the threshold value.

### Claim 31 (depends on 24)

The computer-readable storage media in accordance with claim 24, wherein the threshold value is between 1 and 15 seconds.

### Claim 32 (depends on 24)

The computer-readable storage media in accordance with claim 24, wherein the computer-executable instructions further cause the processor to:
determine the difference between the local transaction time and the local header processor time according to:
(
minute(LocalHeaderProcessorTime)*60
+ second(LocalHeaderProcessorTime)
− minute(LocalTransactionTime) * 60
− second(LocalTransactionTime) + T
) % T;
wherein T is one of 1800 and 3600, and wherein the difference is an intra-hour difference.

### Claim 33 (depends on 32)

The computer-readable storage media in accordance with claim 32, wherein the computer-executable instructions further cause the processor to:
adjust the local transaction time according to:
if IntraHourDifferenceInSeconds < threshold
adjustedLocalTransactionTime =
localHeaderProcessorTime −
intraHourDifferenceInSeconds
else
adjustedLocalTransactionTime =
localHeaderProcessorTime.
