# US 12,217,613 B2 · Systems and methods for distributed data acquisition

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

- Number: US 12,217,613 B2
- Document ID: US12217613B2
- Status: Granted
- Kind: B2
- Application number: 16/831,289
- Filed: 2020-03-26
- Published: 2021-09-30
- Granted: 2025-02-04
- Earliest claimed: 2020-03-26
- Assignees: Honeywell International Inc.
- Applicants: Honeywell International Inc.
- Inventors: Ravikumar Selvarajan; Nayyar Rao
- Web page: https://patentgrep.com/patent/US12217613B2

## CPC

- G06F 16/2471: {Distributed queries}
- G08G 5/30: Flight plan management
- B64D 43/00: Arrangements or adaptations of instruments
- G06F 16/24564: {Applying rules; Deductive queries}
- G06F 16/256: {in federated or virtual databases}
- G06F 16/835: Query processing
- G08G 5/21: located onboard the aircraft
- G08G 5/26: Transmission of traffic-related information between aircraft and ground stations
- H04B 7/18506: {Communications with or from aircraft, i.e. aeronautical mobile service}
- H04B 7/18519: {Operations control, administration or maintenance}
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- H04L 67/567: Integrating service provisioning from a plurality of service providers
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G08G: TRAFFIC CONTROL SYSTEMS (guiding railway traffic, ensuring the safety of railway traffic B61L; arrangement of road signs or traffic signals E01F9/00; radar or analogous systems, sonar systems, lidar systems specially adapted for traffic control G01S13/91, G01S15/88, G01S17/88; {radar or analogous systems, sonar systems, lidar systems specially adapted for anti-collision purposes G01S13/93, G01S15/93, G01S17/93})
- B64D: EQUIPMENT FOR FITTING IN OR TO AIRCRAFT; FLIGHT SUITS; PARACHUTES; ARRANGEMENT OR MOUNTING OF POWER PLANTS OR PROPULSION TRANSMISSIONS IN AIRCRAFT
- H04B: TRANSMISSION
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Systems and methods are disclosed for acquiring data from avionics servers, flight management systems, or connected flight management system cloud services. In some embodiments, a method for acquiring data from avionics servers, flight management systems, or connected flight management system cloud services may include: receiving a dataset request from an input device; generating a plurality of sub-requests for a plurality of partial datasets from the avionics server; transmitting the plurality of sub-requests to a plurality of instances of the avionics server; generating identifications for each of the plurality of partial datasets; assembling the plurality of partial datasets into a single dataset; and transmitting the single dataset to the input device.

## Claims

### Claim 1

A computer-implemented method for acquiring data from an avionics server, the method comprising:
receiving, from an input device, a request for a dataset, wherein the request for the dataset is for a flight plan that includes a plurality of waypoints;
generating a plurality of sub-requests for receiving, from the avionics server, a corresponding plurality of partial datasets of the dataset that includes the plurality of waypoints;
transmitting the plurality of sub-requests to a corresponding plurality of instances of the avionics server, wherein each instance of the plurality of instances includes the dataset;
generating a cyclic redundancy code (CRC) for each of the plurality of partial datasets, wherein each CRC is generated based on the whole of the dataset such that each CRC is defined by a first code value;
receiving the plurality of partial datasets based on the plurality of sub-requests to the plurality of instances of the avionics server, wherein each of the received plurality of partial datasets carries the same CRC defined by the first code value generated based on the whole of the dataset;
determining that all of the plurality of partial datasets have been received from each of the plurality of instances of the avionics server;
cross-checking the CRCs for each of the plurality of partial datasets and determining that the CRCs of each of the plurality of partial datasets are identical to each other to identify that each of the CRCs is defined by the first code value generated based on the whole of the dataset;
assembling the plurality of partial datasets into a single dataset in response to the determining that the CRCs of each of the plurality of partial datasets are identical;
generating a CRC of the assembled single dataset based on the whole of the assembled single dataset, wherein the CRC of the assembled single dataset is defined by a second code value generated based on the whole of the assembled single dataset;
cross-checking the CRC of the assembled single dataset with the CRCs for each of the plurality of partial datasets by determining that the CRC of the assembled single dataset and the CRCs for each of the plurality of partial datasets are identical to each other to identify that the first code value generated based on the whole of the dataset is the same as the second code value generated based on the whole of the assembled single dataset; and
based on the cross-checking the CRC of the assembled single dataset, transmitting the assembled single dataset to the input device.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
determining that the plurality of instances of the avionics server is in synchronization with each other; and
in response to the determination that the plurality of instances of the avionics server is in synchronization with each other, transmitting the plurality of sub-requests to the plurality of instances of the avionics server.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
in response to the determination that the CRCs of each of the plurality of partial datasets are identical to each other, assembling the plurality of partial datasets into the single dataset.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
receiving a distribution ratio from a rule database;
determining a number of the plurality of sub-requests to transmit based on the distribution ratio in the rule database; and
transmitting the number of the plurality of sub-requests to the plurality of instances of the avionics server.

### Claim 5 (depends on 4)

The method of claim 4, further comprising:
dynamically generating a new distribution ratio based on at least one of avionics data parameters and user parameters; and
updating the rule database with the new distribution ratio.

### Claim 6 (depends on 4)

The method of claim 4, wherein the distribution ratio is based on at least one of a type of data, a volume of data, redundancy management states, phases of flights, a user location, and workloads of the plurality of instances of the avionics server.

### Claim 7 (depends on 1)

The method of claim 1, wherein the plurality of instances of the avionics server is synchronized with each other based on a redundancy management strategy.

### Claim 8

A computer system for acquiring data of an avionics server comprising:
a memory storing instructions; and
one or more processors configured to execute the instructions to perform operations including:
receiving, from an input device, a request for a dataset, wherein the request for the dataset is for a flight plan that includes a plurality of waypoints;
generating a plurality of sub-requests for receiving, from the avionics server, a corresponding plurality of partial datasets of the dataset that includes the plurality of waypoints;
transmitting the plurality of sub-requests to a corresponding plurality of instances of the avionics server, wherein each instance of the plurality of instances includes the dataset;
generating a cyclic redundancy code (CRC) for each of the plurality of partial datasets, wherein each CRC is generated based on the whole of the dataset such that each CRC is defined by a first code value;
receiving the plurality of partial datasets based on the plurality of sub-requests to the plurality of instances of the avionics server, wherein each of the received plurality of partial datasets carries the same CRC defined by the first code value generated based on the whole of the dataset;
determining that all of the plurality of partial datasets have been received from each of the plurality of instances of the avionics server;
cross-checking the CRCs for each of the plurality of partial datasets by determining whether the CRCs of each of the plurality of partial datasets are identical to each other to identify that each of the CRCs is defined by the first code value generated based on the whole of the dataset;
based on the cross-checking the CRCs for each of the plurality of partial datasets and upon determining whether each of the CRCs of plurality of partial datasets are identical, assembling the plurality of partial datasets into a single dataset;
generating a CRC of the assembled single dataset based on the whole of the assembled single dataset, wherein the CRC of the assembled single dataset is defined by a second code value generated based on the whole of the assembled single dataset;
cross-checking the CRC of the assembled single dataset with the CRCs for each of the plurality of partial datasets by determining whether the CRC of the assembled single dataset and the CRCs for each of the plurality of partial datasets are identical to each other to identify that the first code value generated based on the whole of the dataset is the same as the second code value generated based on the whole of the assembled single dataset; and
based on the cross-checking the CRC of the assembled single dataset, transmitting the assembled single dataset to the input device.

### Claim 9 (depends on 8)

The system of claim 8, wherein the one or more processor configured to execute the instructions to perform operations further including:
determining whether the plurality of instances of the avionics server is in synchronization with each other;
upon determining the plurality of instances of the avionics server is in synchronization with each other, transmitting the plurality of sub-requests to the plurality of instances of the avionics server; and
upon determining the plurality of instances of the avionics server is not in synchronization with each other, transmitting a single dataset request to one of the plurality of instances of the avionics server.

### Claim 10 (depends on 8)

The system of claim 8, wherein the one or more processor configured to execute the instructions to perform operations further including:
receiving a distribution ratio from a rule database;
determining a number of the plurality of sub-requests to transmit based on the distribution ratio in the rule database; and
transmitting the number of the plurality of sub-requests to the plurality of instances of the avionics server.

### Claim 11 (depends on 10)

The system of claim 10, wherein the one or more processor configured to execute the instructions to perform operations further including:
dynamically generating a new distribution ratio based on at least one of avionics data parameters and user parameters; and
updating the rule database with the new distribution ratio.

### Claim 12 (depends on 10)

The system of claim 10, wherein the distribution ratio is based on at least one of a type of data, a volume of data, redundancy management states, phases of flights, a user location, and workloads of the plurality of instances of the avionics server.

### Claim 13 (depends on 8)

The system of claim 8, wherein the input device is an electronic flight bag or a pilot information display.

### Claim 14 (depends on 8)

The system of claim 8, wherein the avionics server may be provided on a flight management system or a connected flight management system service.

### Claim 15 (depends on 8)

The system of claim 8, wherein the plurality of instances of the avionics server comprises at least one of a master instance, a spare instance, and a standby instance.

### Claim 16

A non-transitory computer-readable medium storing instructions that, when executed by one or more processors of a computer system, cause the computer system to perform a method of acquiring data from an avionics server, the method comprising:
receiving, from an input device, a request for a dataset, wherein the request for the dataset is for a flight plan that includes a plurality of waypoints;
generating a plurality of sub-requests for receiving, from the avionics server, a corresponding plurality of partial datasets of the dataset that includes the plurality of waypoints;
transmitting the plurality of sub-requests to a corresponding plurality of instances of the avionics server, wherein each instance of the plurality of instances includes the dataset;
generating a cyclic redundancy code (CRC) for each of the plurality of partial datasets, wherein each CRC is generated based on the whole of the dataset such that each CRC is defined by a first code value;
receiving the plurality of partial datasets based on the plurality of sub-requests to the plurality of instances of the avionics server, wherein each of the received plurality of partial datasets carries the same CRC defined by the first code value generated based on the whole of the dataset;
determining that all of the plurality of partial datasets have been received from each of the plurality of instances of the avionics server;
cross-checking the CRCs for each of the plurality of partial datasets by determining whether the CRCs of each of the plurality of partial datasets are identical to each other to identify that each of the CRCs is defined by the first code value generated based on the whole of the dataset;
based on the cross-checking the CRCs for each of the plurality of partial datasets and upon determining whether each of the CRCs of plurality of partial datasets are identical, assembling the plurality of partial datasets into a single dataset;
generating a CRC of the assembled single dataset based on the whole of the assembled single dataset, wherein the CRC of the assembled single dataset is defined by a second code value generated based on the whole of the assembled single dataset;
cross-checking the CRC of the assembled single dataset with the CRCs for each of the plurality of partial datasets by determining whether the CRC of the assembled single dataset and the CRCs for each of the plurality of partial datasets are identical to each other to identify that the first code value generated based on the whole of the dataset is the same as the second code value generated based on the whole of the assembled single dataset; and
based on the cross-checking the CRC of the assembled single dataset, transmitting the assembled single dataset to the input device.

### Claim 17 (depends on 16)

The non-transitory computer-readable medium of claim 16, wherein the method further comprises:
determining whether the plurality of instances of the avionics server is in synchronization with each other;
upon determining the plurality of instances of the avionics server is in synchronization with each other, transmitting the plurality of sub-requests to the plurality of instances of the avionics server; and
upon determining the plurality of instances of the avionics server is not in synchronization with each other, transmitting a single dataset request to one of the plurality of instances of the avionics server.

### Claim 18 (depends on 16)

The non-transitory computer-readable medium of claim 16, wherein the method further comprises:
receiving a distribution ratio from a rule database;
determining a number of the plurality of sub-requests to transmit based on the distribution ratio in the rule database; and
transmitting the number of the plurality of sub-requests to the plurality of instances of the avionics server.

### Claim 19 (depends on 18)

The non-transitory computer-readable medium of claim 18, wherein the method further comprises:
dynamically generating a new distribution ratio based on at least one of avionics data parameters and user parameters; and
updating the rule database with the new distribution ratio.
