Patent Description:
Embodiments of the present disclosure relate generally to improving manufacturing processes, improving manufactured products, and improving deployed products, including reconfigurable holographic satellite antennas.

The cost of manufacturing and testing technically complex electronic devices can be very high. In addition, the time that it takes during manufacturing to perform the necessary testing can affect manufacturing throughput. The cost of designing, purchasing, and maintaining specialized testing equipment, and training personnel to use the testing equipment, can also be very high. Such testing ensures that a manufactured product meets minimum product specifications at the time that the electronic device leaves the factory. However, such testing does not account for aging of subsystems of the electronic device or differing environmental conditions in which each electronic device may be used. Further, later developed improvements to the electronic device, such as one or more updated configuration parameters, updated software, patches, and the like, may be difficult deploy once an electronic device has left the factory. In addition, it is often difficult to determine the effectiveness of such updates upon one or more devices that takes into account the manufacturing history of the electronic devices.

A satellite communication device, such as a steerable satellite antenna, may only have access to a high-latency, unreliable network connection, and no access to a ground-based network connection having high speed and reliability. Unlike a conventional computing device, a user of the satellite communication device may not be available to assist in the updating of the operating software and configuration of the satellite device. The satellite communication device may also have operating parameters or configuration that are unique to a particular satellite device. The operating parameters or configuration may also need to be updated occasionally, due to a physical environment of the satellite communication device, or aging of the satellite communication device, and without the assistance of a user of the satellite communication device.

Machine learning methods are known from<NPL>; <NPL>; and <NPL>).

Embodiments of the disclosure are illustrated by way of example and not limitation in the figures of the accompanying drawings in which like references indicate similar elements.

Various embodiments and aspects of the disclosures will be described with reference to details discussed below, and the accompanying drawings will illustrate the various embodiments. The following description and drawings are illustrative of the disclosure and are not to be construed as limiting the disclosure. Numerous specific details are described to provide a thorough understanding of various embodiments of the present disclosure. However, in certain instances, well-known or conventional details are not described in order to provide a concise discussion of embodiments of the present disclosures.

Reference in the specification to "one embodiment" or "an embodiment" means that a particular feature, structure, or characteristic described in conjunction with the embodiment can be included in at least one embodiment of the disclosure.

A method and apparatus are disclosed for leveraging production performance data to improve the manufacturing and antenna design. The techniques disclosed herein use production performance data to improve the manufacturing and design of satellite antennas. As part of the process, in one embodiment, the production performance data is associated with sub-segment improvements. In one embodiment, sub-segment performance is correlated with satellite antenna life-cycle and longevity. Also, in one embodiment, the design process is improved by correlating environmental factors to satellite antenna performance over-time.

More specifically, using the manufacturing test data and production performance data, improvements in manufacturing processes, antenna software improvements and overall antenna design can be obtained. That is, by correlating device traits with live performance results, problems can be deduced. Based on those deduced problems, improvements to performance, antenna design, and manufacturability can be implemented.

In one embodiment, the manufacturing test data and production performance data is collected automatically. For example, the test data may be sent automatically from one or more pieces of test equipment to a database. The production performance data may also be sent to the database. Processing logic (e.g., a processor, server, etc.) may be employed to determine correlations that help direct changes in the antenna design.

In one embodiment, machine learning is used to automate changes to the antenna design based on the collected manufacturing test data and the production performance data. While the enclosed embodiments are described with reference to an antenna subsystem module and the holographic pattern of a reconfigurable holographic antenna, the embodiments are equally applicable to virtually any type of electronic device that is improved by updating software and/or configuration information within the electronic device and within the manufacturing test processes.

In an embodiment, a computer-implemented method for improving a process of manufacturing an electronic device, or improving the electronic device, includes receiving selection criteria for querying a database of configuration and performance information of a plurality of electronic devices and receiving correlation criteria for performing machine learning on query results returned from the database. In response to receiving query results matching the selection criteria, the method performs machine learning on the query results according to the correlation criteria. A proposed improvement is received, the improvement being related to a process of manufacturing an electronic device, or a proposed improvement to an electronic device. The improvement is deployed to an electronic device. In an embodiment, the database includes configuration and performance data of a plurality of manufactured devices and a plurality of deployed devices. In an embodiment, the configuration and performance data of deployed devices is updated in response to updating the deployed devices. In an embodiment, the proposed improvement is received from a computing device executing the machine learning, in response to the correlation of the received query results to the correlation criteria being greater than the minimum correlation threshold. The query results can include both manufacturing testing information and field update information for each of one or more electronic devices. The query results can include changes to performance information for each of one or more electronic devices over a specified period of time. The correlation criteria can include a minimum correlation threshold indicating an effectiveness of one or more updates or changes to configuration of the plurality of electronic devices. In an embodiment, the correlation criteria can include a proposed improvement that is to be deployed in the event that the minimum correlation criteria is met or exceeded.

In an embodiment, any of the above method operations can be performed by a processing system having at least one hardware processor, and a memory programmed with executable instructions that, when executed by the processing system, perform the operations of the methods.

In an embodiment, any of the above method operations can be implemented with executable instructions programmed onto a non-transitory computer readable medium, such as a memory or storage. When the executable instructions are executed by a processing system having at least one hardware processor, the processing system causes the method operations to be performed.

<FIG> is a block diagram illustrating a satellite-based network <NUM> for managing the manufacturing and updating of an antenna subsystem module and the holographic pattern of a reconfigurable holographic antenna according to one embodiment of the disclosure.

A satellite-based network <NUM> can include, e.g. one or more reconfigurable holographic antennas each having an antenna subsystem module (hereafter, "steerable antenna") <NUM>. A steerable antenna <NUM> is an electronic device capable of bi-directional communication with a satellite <NUM>. The steerable antenna <NUM> can be installed on a vehicle, such as a car <NUM> or boat <NUM>, or other mobile installation. A steerable antenna <NUM> can also be installed in a fixed location, such as on a building, in place of, or in addition to, a land-based communication system.

An installation can have one or more steerable antennas <NUM>, as shown on boat <NUM>. Multiple steerable antennas <NUM> in a single installation can improve signal performance based upon location of the steerable antenna <NUM> in the installation, such as different locations having different visibility to one or more satellites. The multiple steerable antennas <NUM> can be interconnected using a combiner <NUM>, as shown on boat <NUM>. In an embodiment, combiner <NUM> can initiate bi-directional communication with satellite <NUM> through one or more connected antennas <NUM>. In an embodiment, combiner <NUM> can select one or more of the steerable antennas <NUM> connected to combiner <NUM> to initiate communication with satellite <NUM>.

The satellite-based network <NUM> can also include one or more servers <NUM> that can serve updates of software, configuration information, and other information to manage steerable antennas <NUM> in the satellite-based network <NUM>. Servers <NUM> can also store information regarding each steerable antenna <NUM> in the satellite-based network <NUM>, in association with a unique identifier of each steerable antenna <NUM>. Server(s) <NUM> can include a machine learning system that utilizes both manufacturing testing data and historic information of updates and software, configuration parameters, and other data on one or more deployed antennas. Server(s) <NUM> can store detailed information of the entire lifecycle of deployed antennas.

The satellite-based network <NUM> can also include one or more manufacturing test equipment stations <NUM> that can interact with servers <NUM>. As an antenna is manufactured, the antenna is put through a series of manufacturing (or quality) tests to ensure conformance of components of the antenna, and the finished antenna, to design specifications. Data collected, both as inputs and outputs, to test processes can be stored in server(s) <NUM> in association with a unique serial number of each antenna <NUM> or combiner <NUM>. Servers <NUM> can be any kind of servers or a cluster of servers, such as Web or cloud servers, application servers, backend servers, or a combination thereof. Servers <NUM> can include data analytics servers that can perform machine learning on data retrieved from steerable antennas <NUM> to determine the existence of problems, based upon correlation of collected. The solutions can be used to improve performance for one or more steerable antennas <NUM>, such as with a new software update, patch, hot fix, configuration, algorithm, or tunable parameter of one or more steerable antennas <NUM>.

Network <NUM> may be any type of network such as a local area network (LAN), a wide area network (WAN) such as the Internet, a cellular network, a satellite network, or a combination thereof, wired or wireless.

<FIG> is a block diagram illustrating components of an antenna subsystem module (ASM) of a steerable antenna <NUM> according to one embodiment. In the description below, reference <NUM> will be used to refer to both the ASM and the steerable antenna (reconfigurable holographic antenna), interchangeably, unless a distinction is required for clarity.

ASM <NUM> can include at least two storage partitions: partition A 205A and partition B 205B. ASM <NUM> can also include processing hardware <NUM>, log files <NUM>, position information module <NUM>, tracking control module <NUM>, security management <NUM>, command processing logic (or, command processor) <NUM>, ASM/Server communications <NUM>, and boot control logic <NUM>.

Processing hardware <NUM> can include one or more hardware processors interconnected with memory, storage, one or more timers, and communications hardware via a bus. Exemplary processing hardware is described below with reference to <FIG>. Storage can include two or more storage partitions, partition A 205A and partition 205B. Each of the partitions can include operating software, e.g. software 210A for partition 205A, and configuration information, e.g. configuration 215A for partition 205A. When the ASM <NUM> boots, boot control module <NUM> can control which partition, 205A or 205B, that the ASM <NUM> boots to.

For example, software 210A in partition 205A may be an older version of software than 210B in partition 210B. Software 210B can be, e.g. an update that was just installed into partition B. After completion of the installation of updated software 210B, boot control <NUM> can reboot the ASM <NUM> to partition 205B to use software 210B. If software 210B fails to boot a predetermined number of times, then boot control module <NUM> can reboot again to partition 205A to use software 210A.

Similarly, configuration information 215A in partition 205A may be an older version of configuration data than 215B. Configuration information 215B can be, e.g., an update that was just installed into partition 205B. After completion of the installation of updated configuration information 215B, boot control <NUM> can reboot the ASM <NUM> to partition 205B to use configuration information 215B. During rebooting to partition 205B, a power-on-self-test (POST) can be performed and logs can be generated indicating start-up performance of the ASM <NUM> using the updated configuration information 215B. In addition, one or more performance monitors in software 210B can be used to determine whether the updated configuration information 215B yields improved performance over configuration information 215A. If performance is not improved, boot control <NUM> can reboot to the previous partition 205A to use the previous configuration information 215A.

In an embodiment, updating the configuration information, e.g. 215A, can be performed in the same partition, e.g. 205A so that rebooting to a different partition is not needed to activate the updated configuration information. Thus, one partition can hold multiple copies of configuration information. Boot control <NUM> can store a reference to the currently active partition and currently active configuration such that boot control <NUM> can "hot-swap" between multiple versions of the configuration in a partition to compare performance of each copy of configuration information.

ASM control <NUM> can further include a command processor <NUM>. Command processor <NUM> can receive a package of information from server <NUM>. Command processor can decrypt the received package and verify that the package was successfully downloaded by computing a checksum of the decrypted package and comparing the checksum with a stored checksum in the package. Encryption of the package can be by symmetric key or asymmetric key encryption. In an embodiment using asymmetric key encryption, such as public key infrastructure (PKI), the package is encrypted by server <NUM> using a public key of the ASM <NUM>, and then transmitted to the ASM <NUM>. The ASM <NUM> decrypts the package using private key of the ASM <NUM>. In an embodiment, each package transmitted by the server <NUM> and received by the ASM <NUM> may include a digital signature of the server <NUM> that is verifiable by the ASM <NUM> and/or a security certificate of the server <NUM>, verifiable by a third party certificate service.

Command processor <NUM> can parse the received, decrypted and verified package from the server <NUM> to extract one or more commands from the server for the ASM <NUM> to perform, and to extract associated parameters, values, or other data from the package. Commands can include, but are not limited to, a command informing the ASM <NUM> that a software update is available, a command informing the ASM <NUM> that one or more updated parameters that may improve ASM <NUM> performance are available, a command instructing the ASM <NUM> to reset one or more parameters of the ASM <NUM> that were altered by manual optimization by the user, a command to set, or clear, a variable indicating that the ASM <NUM> should request an update to software, and a command to enter a debug mode, log output of the debug mode, and transmit the debug log(s) to the server <NUM>. Logs <NUM> can include the debug logs. Logs <NUM> can also include logging of information during regular operation of the ASM <NUM>, including environmental temperature and humidity of an area surrounding the ASM, temperature of one or more segments of the steerable antenna, power-on-self-test information, partition information, such as which partition is the currently active partition, the software version in the currently active partition, file sizes in the partitions, serial number of the steerable antenna, control variables of different operating processes of the steerable antenna and antenna subsystem module, quality metrics of antenna performance, and other data. Position information module <NUM> can manage information regarding location tracking of the ASM <NUM> and reconfigurable holographic antenna with respect to, e.g., a GPS satellite, to assist in beam steering. Tracking control module <NUM> can track one or more satellites with which the reconfigurable holographic antenna <NUM> may communicate. Tracking control module <NUM> can cooperate with position information module <NUM> to provide information for beam steering by the reconfigurable holographic antenna. Security management module <NUM> can assist ASM/Service communications <NUM> to setup and maintain secure communication channels. Security management module <NUM> can also implement security over portions of memory, login credentials, and implementation of encrypted and signed data transfer.

ASM <NUM> can further include an ASM-to-Server (ASM/Server) communication module <NUM>. ASM/Server communications <NUM> can initiate a Mutual Transport Layer Security (TLS) connection between the ASM <NUM> and server <NUM>. The connection is secured using asymmetric key cryptography to encrypt data transmitted using keys that are mutually authorized by both the ASM <NUM> and server <NUM>. The identity of the communicating parties (ASM <NUM> and Server <NUM>) can be optionally authenticated using public-key infrastructure (asymmetric key) cryptography.

<FIG> is a block diagram illustrating components of a server <NUM> that stores manufacturing data and updates to deployed devices. Server <NUM> manages, updates, and learns improvements for manufacturing and configuring or updating an antenna subsystem module for a reconfigurable holographic antenna according to one embodiment.

Server <NUM> can include server communication module <NUM>. Server <NUM> can communicate with manufacturing test equipment <NUM> to receive results of manufacturing tests and data collected during manufacturing tests for each antenna <NUM> or combiner <NUM>. Server communications <NUM> can respond to an ASM <NUM> request for initiating a Transport Layer Security (TLS) connection between the ASM <NUM> and server <NUM>, and negotiate the connection as described above for ASM <NUM>.

Server <NUM> can also include ASM management software <NUM>, a database of ASM identities of ASM's <NUM>, a database of ASM configuration and performance information <NUM> for each ASM <NUM> having an identity in ASM identities <NUM>, and processing hardware <NUM>. Database <NUM> can include manufacturing test results and data collected during manufacturing testing, and can include updates to software and configuration parameters of deployed devices, such as antennas <NUM> and combiners <NUM>.

ASM management software <NUM> receives periodic "check-ins" from each ASM <NUM> that is configured to "check-in" with server <NUM> periodically. In an embodiment, the check-in increment is one hour, but is configurable to any time period. During an ASM <NUM> check-in, an ASM sends a metrics package to the server <NUM>. In an embodiment, the metrics data can be preceded by, or accompanied by, a header indicating, e.g., a serial number of the ASM and reconfigurable holographic antenna, a software version and an active partition running on the ASM, details of a file system on the ASM, and other data. In an embodiment, the metrics data can comprise a file. The ASM header includes a serial number of the ASM <NUM>, a currently active partition indication including the currently active software version and configuration parameters of the steerable antenna. The metrics package can include power-on self-test (POST) results, temperature and humidity of the environment where the ASM is installed, and temperature of each segment of the steerable antenna. The metrics package can further include file system information, such as a current file size of each file, list of files in a partition, and the like. ASM management <NUM> receives, decrypts, and stores the metrics package in ASM configuration and performance database <NUM>. ASM management <NUM> then inspects ASM configuration and performance database <NUM> to determine: (<NUM>) whether there is a update to the ASM <NUM> software available, (<NUM>) whether there is a debug or diagnostic request pending for the ASM, (<NUM>) whether there are updated configuration parameters for the ASM <NUM> that can be installed, or (<NUM>) whether one or more configuration parameters have been manually optimized by a user, and the manual optimization resulted in poorer performance and should be reset to previous configuration parameters.

When ASM management <NUM> receives the metrics package from the ASM <NUM>, ASM management <NUM> extracts the serial number of the ASM <NUM> and the software version of the currently active partition. ASM management <NUM> looks up, in ASM configuration and performance database <NUM>, whether there is an updated version of software that is applicable to this particular ASM <NUM>. If so, then ASM management <NUM>, uses ASM <NUM>'s serial number to lookup, in ASM configuration and performance database <NUM>, a number of times that this ASM <NUM> has previously attempted to previous install this particular version of updated software. If the previous attempts number is greater than zero, then ASM management <NUM> has determined that this ASM <NUM> has previously tried to install this update of software and rebooting to this updated version of software was unsuccessful on this ASM <NUM>. Alternatively, or in addition, ASM management <NUM> can determine that the software installed on the currently active partition of this ASM <NUM> is outdated, and that the software installed in the other, non-active, partition is the same version as the updated software that the ASM management <NUM> proposes to tell the ASM <NUM> to install. If the number of retries (failed reboots with the new software) is less than a predetermined maximum number of times, e.g. three times, ASM management <NUM> will send a command to ASM <NUM> to request the updated software for installation. If the number or retries is the maximum number or more than the maximum number, then ASM management <NUM> can send a command to ASM <NUM> to stop requesting the updated software, and can further set a flag in ASM configuration and performance database <NUM> that this ASM <NUM> has not been able to successfully install this software update. A technician may access ASM configuration and performance database <NUM> via ASM management <NUM> to diagnose why the installation of the software update was unsuccessful.

A technician, who may have been in communication with a user of the steerable antenna <NUM>, can access server <NUM> ASM performance and configuration database <NUM> via ASM management <NUM>, using the serial number of the ASM <NUM>, to determine an action to help resolve a problem for the user. In an embodiment, the technician can instruct ASM management <NUM> to send a command to ASM <NUM> to enter a debugging mode than may have a more verbose logging of specific information that may help the technician resolve the problem. ASM management <NUM> accesses the ASM configuration and performance database <NUM> to retrieve the debugging command, and transmits the command to ASM <NUM> to execute. In response, ASM <NUM> will execute the command, perform the requested logging, and ASM management <NUM> will receive and store the logs generated by the debug command in ASM configuration and performance database <NUM>, and the debugging mode will end. The technician can retrieve and inspect the logs, and further determine how to resolve the problem. In an embodiment, the technician can inform the server <NUM> that on next check-in by the ASM <NUM>, that server <NUM> can tell the ASM <NUM> to request a "hot-fix" or "patch" intended to resolve the problem. ASM management <NUM> can send the hot-fix or patch to ASM configuration and performance database <NUM> for storage. ASM management <NUM> can either store the hot-fix or patch in association with the serial number of the ASM <NUM> to be patched, or store the hot-fix or patch in a dedicated storage area and store a reference to the hot-fix or patch in association with the serial number of the ASM <NUM>.

When ASM management <NUM> receives the metrics package from the ASM <NUM>, ASM management <NUM> extracts the serial number of the ASM <NUM> and the currently active configuration parameters for the ASM <NUM>. The package received from ASM <NUM> can contain headers and data in any format agreed upon between the ASM <NUM> and server <NUM>. In an embodiment, a header in the package contains a serial number uniquely identifying the ASM <NUM> and associated reconfigurable holographic antenna. ASM management <NUM> looks up, in ASM configuration and performance database <NUM>, whether there is an updated version of one or more configuration parameters that is applicable to this particular ASM <NUM>. If so, then ASM management <NUM> sends a command to ASM <NUM> to request the updated configuration parameters. When ASM management <NUM> receives the request from ASM <NUM>, ASM management <NUM> can generate a package with the command to install the updated configuration parameters and data containing the updated configuration parameters.

Some or all of the configuration parameters of ASM <NUM> can be manually optimized through ASM <NUM> self-optimization software. It is possible that self-optimization may change one or more configuration parameters, but that the result may be that the ASM <NUM> performance is lower than before the manual self-optimization process on the ASM <NUM>. When ASM management <NUM> receives a periodic check-in package from ASM <NUM>, ASM management <NUM> can extract the serial number of the ASM <NUM>, performance metrics, and configuration parameters from the package, and use the serial number to look up pervious configuration parameters and performance metrics for this ASM <NUM> that are stored in ASM configuration and performance database <NUM>. If ASM management <NUM> determines that performance of ASM <NUM> was better with the previously stored configuration parameters, or with factory configuration parameters installed in the ASM <NUM> when it was shipped, then ASM management <NUM> can send a package with a command to install new configuration parameters that are included in the package with the command. Alternatively, ASM management <NUM> can send a command to the ASM <NUM> to request reset of configuration parameters that were changed due to manual optimization.

Server <NUM> can also include a machine learning module <NUM>. Machine learning module <NUM> can receive criteria, e.g. from a technician via ASM management <NUM>, with which to perform machine learning upon selected data stored in the ASM configuration and performance database <NUM>. For example, a technician or engineer may have received notice from one or more users that the reception in a certain geo-location is poor at certain times of day. Machine learning <NUM> can receive a request to perform machine learning upon data selected from ASM configuration and performance <NUM> that correlates performance of a steerable antenna to a specified geo-location and time of day. This may help locate regions with poor satellite coverage at certain times of day, and help define the bounds of the region. As a second example, machine learning <NUM> can receive a request to correlate manually self-optimized configurations with performance to determine whether a self-optimization algorithm is performing its intended function of improving performance. A request can include selection criteria for devices meeting specified performance or configuration criteria, and the request can include correlation criteria with which to perform machine learning. The request can further include a minimum correlation threshold for determining that the selected records meet or exceed the specified correlation threshold. In an embodiment, the selection and correlation criteria can further include a proposed improvement to deploy should the minimum correlation threshold be met or exceeded. Alternatively, or in addition, the results of any machine learning task can be reported to an appropriate entity, such as engineer, manufacturing, or quality control, regardless of whether the minimum correlation threshold was met.

<FIG> illustrates an overview of a method <NUM> that can be practiced on a server for improving manufacturing, updating, and configuring of an antenna subsystem module for a reconfigurable holographic antenna, according to an embodiment.

Method <NUM> represents a high-level overview of a data collection and post-processing process that includes collecting manufacturing test information, including inputs, outputs, and interim data, and also collecting historical information about deployed devices, including updates to software, configuration parameters, or other data. Data for each manufactured and/or deployed device is tracked via unique serial number of the device.

In operation <NUM>, a manufacturing "free space test" is performed on a segment before the segment is incorporated into an aperture. The free space test uses radio frequency (RF) emission and manufacturing test equipment <NUM> to determine the frequency and peak magnitude, in decibels (dB), of two resonant signals in an antenna segment. The free space test is described below with reference to <FIG>. Inputs, outputs, and interim data are stored in a server <NUM> storage. In an embodiment data can be stored as comma-separated values (CSVs). Different segments are "binned" (grouped) according to a frequency of the two resonant peaks being within a frequency tolerance for each bin. When a tested segment is associated with an antenna, test data of the segment will be tracked with the antenna.

In operation <NUM>, manufacturing "feed test" is performed on a feed of antenna, before the antenna is assembled. The feed test uses RF emission and a network analyzer as manufacturing test equipment <NUM> to determine the return loss in the feed of the antenna, both in the feed cavity and at the feed insertion point. The feed test is described below with reference to <FIG>. Inputs, outputs, and interim data are stored in server <NUM> storage. In an embodiment, data can be stored as comma-separated values. When the feed is incorporated into an antenna, test data of the feed will be tracked with the antenna by the antenna serial number.

In operation <NUM>, manufacturing "functional verification test" is performed. The functional verification test is performed on an antenna assembled from tested segments and a tested feed. The functional verification test, as its name implies, tests that the antenna <NUM> meets its design functions within design specification tolerances. Inputs, outputs, and interim data are stored in server <NUM> storage in association with the antenna <NUM> serial number. Inputs can include on/off signals to various components, a command to set to a certain frequency, return GPS coordinates, set a heater control value, testing of processor command <NUM> functionality, testing of internal self-optimization logic, testing of boot control <NUM> logic, log generation and retrieval, file partition consistency, etc. Outputs can include GPS accuracy, frequency generated vs. frequency requested, heater voltage feedback, etc..

In operation <NUM>, the antenna is optimized and characterized. Manufacturing test equipment <NUM>, and/or ASM <NUM> logic, can include optimization routines that can optimize the voltage patterns applied to patches in the antenna to steer the beam of the reconfigurable holographic antenna, at a specified frequency. The optimization and characterization test is described below with reference to <FIG>. Inputs, outputs, voltage patterns, and interim data are stored in server <NUM> in association with antenna <NUM> serial number. Data can be stored as comma-separated values.

In operation <NUM>, the manufacturing test data of operations <NUM> through <NUM> can be normalized and transmitted to server <NUM>. Server <NUM> can be a cloud-based server.

Data collected from deployed devices is described beginning with operation <NUM>. Each time that a deployed device receives any management function or service, the function or service is logged in a server <NUM> storage. A function or service can include receiving a software update, receiving a software patch, receiving one or more new operating parameters or configuration parameters, receiving a command to enter a debug mode, and logging the results of the debug operation, and the like. An antenna <NUM> receives one or more commands from a management server, e.g. server <NUM>. Operation <NUM> is described below with reference to <FIG>.

In operation <NUM>, data stored for antennas <NUM> as a result of one or more functions or services from a management server <NUM> can be normalized and transmitted to a server <NUM>. Server <NUM> can be a cloud-based server.

Post-processing of stored data includes selecting records from a database of manufacturing records and deployed device management records. In operation <NUM>, a server <NUM> can receive the normalized manufacturing data of operation <NUM> and the normalized deployed device management data of operation <NUM> and store the received data in a data store. In an embodiment, the data store can be ASM configuration and performance database <NUM>.

In operation <NUM>, server <NUM> can use machine learning module <NUM> to perform machine learning upon a subset of records retrieved from the data store according to specified selection criteria. Machine learning uses specified correlation criteria and a minimum correlation threshold to determine whether the selected records correlate to the correlation criteria at least to the minimum correlation threshold amount. Operation <NUM> is described below with reference to <FIG>, and <FIG> through 10C. Query selection criteria and correlation criteria can also include a proposed improvement that is proposed for deployment in response to the query results correlating to the correlation criteria to at least the minimum correlation threshold amount.

In operation <NUM>, an improvement can be determined for a software, a manufacturing process, and/or configuration or operating parameter of an antenna <NUM> based upon the machine learning. In an embodiment, the improvement can be generated by the machine learning module <NUM>, as specified in the query and correlation criteria of operation <NUM>. In an embodiment, the improvement can be received from engineering, manufacturing, and/or quality control personnel.

In operation <NUM>, the improvement can be deployed as updated software, a software patch, an updated manufacturing process, an improved algorithm for a manufacturing test and/or deployed device, and/or updated configuration or operating parameters for a manufactured or deployed antenna <NUM>.

<FIG>and <FIG> are block diagrams <NUM> illustrating main components of a reconfigurable holographic antenna, according to one embodiment. <FIG> is a top view of four antenna segments (<NUM>-<NUM>, <NUM>-<NUM>, <NUM>-<NUM>, <NUM>-<NUM>, generically <NUM>-X), arranged as they would be in an assembled antenna <NUM>. Each of the four segments will have been tested before being assembled into an aperture and installed in a feed <NUM>. <FIG> illustrates a side view of antenna segments positioned into a feed <NUM> as they would be during assembly of the antenna. A feed insertion point, or feed launch adapter, is labeled <NUM>.

<FIG> is a block diagram <NUM> illustrating components of manufacturing test equipment <NUM> for performing the free space manufacturing test of a segment <NUM>-X to be incorporated into a reconfigurable holographic antenna, according to one embodiment. Each segment <NUM>-X is tested for two peak resonant frequencies before incorporating the segment into an antenna. Emission horns <NUM> can emit broadband RF radiation toward segment <NUM>-X. Segment <NUM>-X is, initially, not powered on. An oscilloscope or network analyzer can be connected to the segment to determine the two peak resonant frequencies of the segment, labeled Peak<NUM> and Peak<NUM> in <FIG>. The frequency of Peak<NUM>, and its associated decibel (dB) level and Peak<NUM>, and its associated dB level, are stored in server <NUM> storage. The frequencies of the two peak resonant frequencies may vary slightly from one segment to another due to manufacturing tolerances on physical materials that make up the segments. After testing, segments are "binned" (grouped) together according to Peak<NUM> and Peak<NUM>, within an acceptance tolerance, so that segments having very similar resonant peaks are used together in an antenna.

After the passive (power off) peak resonant frequencies are determined, the segment is powered on. The peaks will shift according to the operation of the antenna. The shifted Peak<NUM>, and associated dB value, and the shifted Peak<NUM>, and associated dB value, are stored in server <NUM> storage. The power to the segment is then turned off, and the peaks will shift back to their previous resonance values. The frequencies and dB values of the two peaks are again recorded to server <NUM> storage.

<FIG> is a block diagram <NUM> illustrating components of manufacturing test equipment <NUM> for a feed test of a reconfigurable holographic antenna, according to one embodiment. Feed <NUM> is a machined metal cavity, such as an aluminum cavity, with a feed insertion point <NUM>. When assembled, the feed <NUM> will receive an antenna aperture having multiple tested segments <NUM>-X. For the feed test, the feed <NUM> will be fitted with a machined plate <NUM> to cover the top of the feed <NUM>. Feed insertion point <NUM> will be coupled <NUM> to a network analyzer <NUM> to perform the feed test.

A first test will determine the return loss of the feed <NUM>. For each set frequency, from <NUM> to <NUM>, in increments of <NUM> (<NUM>), network analyzer <NUM> injects RF into the feed insertion point <NUM> at the set frequency. Network analyzer <NUM> measures a return loss of the feed <NUM>. Each set frequency and return loss value is stored in server <NUM> storage. In an embodiment, the feed <NUM> return loss specification requirement for the feed <NUM> is less than -<NUM> dB.

A second test will determine the return loss of the feed insertion point <NUM>. For each set frequency, from <NUM> to <NUM>, in increments of <NUM> (<NUM>), network analyzer <NUM> injects RF at the set frequency for a short burst, such as <NUM> or <NUM> millisecond (ms). Network analyzer <NUM> measures a return loss of the feed insertion point <NUM>. Each set frequency and return loss value is stored in server <NUM> storage. In an embodiment, the feed insertion point <NUM> return loss specification requirement is less than -<NUM> dB.

<FIG> illustrates a method <NUM> of optimizing and characterizing a reconfigurable holographic antenna, according to one embodiment. Manufacturing equipment <NUM>, and/or ASM <NUM>, can include optimization logic that determines patch voltages for each iris/patch combination in segments <NUM>-X of the antenna aperture for each steering angle, Θ, and rotation angle, φ, and each fundamental frequency, in GHz, for the antenna <NUM>. Steering angle Θ is measured with reference to broadside is normal to the plane of the antenna aperture. The angle of rotation φ is measured with reference to a fixed point on the antenna aperture. The patch voltages determine a modulation pattern that steers the beam at the each set fundamental frequency. A proprietary algorithm generates the patch voltages as a function, f(Θ, LPA, φ, GHz), where LPA is the linear polarization angle of the steered beam. Method <NUM> is described with reference to certain loop control variables and increments. One of skill in the art understands that the loop control variable values and increments are by way of example and not limitation. In the case of the beam steering angle Θ being <NUM>° (essentially identical to the broadside line), the rotational angle φ need not be iterated.

In operation <NUM>, method operations <NUM> through <NUM> are iterated for each fundamental frequency from <NUM> to <NUM>, in increments of <NUM> (<NUM>).

In operation <NUM>, method operations <NUM> through <NUM> are iterated for each beam rotational angle from <NUM>° to <NUM>° in increments of <NUM>°. One of skill in the art understands that the rotational angel φ need not be iterated for steering angle O=<NUM>°.

In operation <NUM>, method operations <NUM> through <NUM> are iterated for each steering angle from <NUM>° to <NUM>° in increments of <NUM>°.

In operation <NUM>, a seed value is received for a patch voltage generating function,f. In an embodiment, the seed value may vary depending upon the resonance peak values, Peak<NUM> and Peak<NUM>, of the segments according to the free space test, described above with reference to <FIG>.

In operation <NUM>, patch voltages are determined from proprietary modulation pattern generation function, f(Θ, LPA, φ, GHz). The determined patch voltages are applied to the patches and the antenna modulation pattern is generated in response to the applied patch voltages.

In operation <NUM>, properties of the generated steered beam of the reconfigurable holographic antenna are measured, including gain of the beam, side load level (SLL), cross-polarization discrimination (XPD), mispoint, and instantaneous bandwidth (IBW).

In operation <NUM>, the seed value, patch voltages, gain, SLL, XPD, mispoint, and IBW values, along with a time stamp, are all recorded in server <NUM> storage. The time stamp can be used to determine a time-to-convergence to specification values of the optimization algorithm,f (O, LPA, φ, GHz), based upon the initial, and subsequent, seed values.

In operation <NUM>, it can be determined whether any of the above measured values are out of specification. If so, then method <NUM> continues at operation <NUM> where a new seed value is obtained for the optimization function f. Otherwise, method <NUM> continues at operation <NUM>.

In operation <NUM>, if Θ is less than its maximum loop control value, then Θ is incremented and method <NUM> continues at operation <NUM>. Otherwise, in operation <NUM>, if φ is less than its maximum loop control value, then φ is incremented and method <NUM> continues at operation <NUM>. Otherwise, if frequency is less than its maximum loop control value, then frequency is incremented and method <NUM> continues at operation <NUM>. Otherwise, method <NUM> ends.

<FIG> illustrates a method <NUM> of updating the software or configuration of an antenna subsystem module of a reconfigurable holographic antenna, according to some embodiments. An antenna subsystem module (ASM) <NUM> of a reconfigurable holographic antenna can request that a server <NUM> provide certain updates to ASM <NUM>, in response to a request by ASM <NUM> for such an update. Management server <NUM> can determine whether or not ASM <NUM> needs such an update. Management server <NUM> informs ASM <NUM> that it needs one or more updates, in the form of a command list of updates or functions to perform. ASM <NUM> command processor <NUM> can receive the command list from management server <NUM>, and execute each command by requesting the update specified in the command from management server <NUM>. ASM <NUM> establishes a Transport Layer Security (TLS) session with management server <NUM> to receive the update in the form of one or more downloaded portions, in accordance with ASM <NUM> command processor <NUM>. As each portion is downloaded to ASM <NUM>, ASM <NUM> receives, decrypts, and verifies the portion, and sends a message to management server <NUM> that such portion has been received and verified. When all portions are downloaded, ASM <NUM> command processor <NUM> installs the update in ASM <NUM> storage.

In operation <NUM>, a command list can store one or more commands for transmission to an ASM by management server <NUM>. The server <NUM> can initialize the command list empty. The command list can be a data structure such as a linked list of elements, an array of elements, and the elements being text strings or numbers or other data type. The command list can be initialized to empty by setting a count of commands in the command list to zero, by setting each element of a command list data structure to "no data" or null, or by setting command list string to null.

In operation <NUM>, it can be determined by the server <NUM> whether the control software on the ASM <NUM> is out of date and whether ASM <NUM> is enabled to receive software updates. Generally, ASM <NUM> is enabled to receive software updates. In the event that an ASM <NUM> has already updated its software to a particular version, and the ASM <NUM> has rebooted to that version, and the reboot has failed a specified number of times, server <NUM> can instruct ASM <NUM> to set itself to disable receipt of future software updates until a later time or event. Server <NUM> can make this determination by accessing metrics data received from the ASM <NUM> and analyzed by server <NUM>, or by looking up previous metrics data or other data associated with this particular ASM <NUM> in ASM configuration and performance database <NUM>, and comparing the software version for this ASM <NUM> with a latest version of software available for this ASM <NUM>. If the latest version of software is newer than the version currently running in the active partition of this ASM <NUM>, then method <NUM> continues at operation <NUM>, otherwise method <NUM> continues at operation <NUM>.

In operation <NUM>, server <NUM> adds the "update software" command to the command list.

In operation <NUM>, it can be determined whether server <NUM> has stored an indication that this ASM <NUM> should self-optimize one or more parameters. The indication may have been placed in the server <NUM>, for this ASM <NUM>, by a remote service technician. The self-optimization logic in ASM <NUM> can be the same self-optimization logic as contained in test equipment <NUM> for performing method <NUM>. In an embodiment, the self-optimization logic in the ASM <NUM> can be the same logic that a user could trigger manually on the antenna. If an indication that self-optimization should be performed is stored in server <NUM>, then in operation <NUM> the "Optimize parameter(s)" command can be added to the command list.

In operation <NUM>, it can be determined whether the configuration parameters of the ASM <NUM> need to be reset to previous, or default, values. By analyzing one or more metrics for the ASM, received from the ASM and/or stored in the ASM configuration performance database <NUM>, server <NUM> can determine that a user has manually optimized one or more configuration variables of the ASM <NUM> and can further determine that performance has degraded as a consequence of the manually changed configuration parameters. The server <NUM>, or a technician, can determine that the configuration parameters should be reset to previous values or default values. If so, then in operation <NUM> the command "reset parameters" can be added to the command list. In an embodiment, additional data for the command can include specifying one or more particular parameters that are to be reset, rather than resetting all parameters.

In operation <NUM>, it can be determined whether to set one or more parameters to a certain value. If so, then in operation <NUM> the "set parameters" command, and any necessary additional data, should be added to the command list. New values for one or more configuration parameters may have been determined to yield better performance for the electrically steered antenna coupled to ASM <NUM>. One or more configuration parameters can be set using the "set parameters" command and additional data, such as the particular.

In operation <NUM>, ASM <NUM> command processor <NUM>, in conjunction with management server <NUM>, can execute the commands in the command list.

<FIG> illustrates a method <NUM> of using machine learning on manufacturing test data and deployed device data regarding updates to configuration and software of deployed reconfigurable holographic antennas, according to an embodiment.

In operation <NUM>, machine learning module <NUM> can receive selection criteria for manufacturing test data and deployed device data (collectively, "device data") stored in server <NUM>, ASM configuration and performance database <NUM>. The selection criteria determine the device data records that are to be included in a specific instance of machine learning. Machine learning module <NUM> can also receive correlation criteria for correlating the selected records in accordance with the correlation criteria. Machine learning module <NUM> can also receive a minimum correlation threshold that indicates how much correlation of the selected records to the correlation criteria indicates that the requested correlation has been met. In an embodiment, machine learning module <NUM> can also receive a proposed improve that to a process, software, configuration, algorithm, or other parameter if the minimum correlation threshold is met or exceeded. Operation <NUM> is described in detail, below with reference to <FIG>.

In operation <NUM>, machine learning module <NUM> can select records from ASM configuration and performance database <NUM> according to the received selection criteria.

In operation <NUM>, machine learning module <NUM> can perform machine learning on the selected records in accordance with the received correlation criteria. In an embodiment, machine learning can include linear regression, Bayes, Naive Bayes, supervised, or unsupervised learning.

In operation <NUM>, it can be determined whether the machine learning resulted in a correlation of the selected records to the correlation criteria, meeting or exceeding the minimum threshold of correlation. If so, then method <NUM> continues at operation <NUM>, otherwise method <NUM> ends.

In operation <NUM>, machine learning module <NUM> can store the selection criteria, correlation criteria, minimum correlation threshold value, actual correlation value, and a date/time stamp in server <NUM> storage. In an embodiment, machine learning module <NUM> can further store the specific list of selected records used by the machine learning module <NUM>.

In operation <NUM>, machine learning module <NUM> can prepare a report of the requested machine learning task, including the selection criteria, the correlation criteria, the minimum correlation threshold, the actual correlation value, date/time stamp, operator who requested the machine learning task, a proposed improvement based upon the results of the machine learning task, and other data. The report can be stored in server <NUM>, and/or transmitted to the operator who requested the machine learning task, and other specified recipients.

In operation <NUM>, a response to the report generated, stored, and transmitted in operation <NUM> can be received by server <NUM>. The response may be documentation and analysis by engineering, manufacturing, field reports, field support, or other data related to the machine learning task. The response can be stored in the server <NUM> in association with the machine learning task report and task.

In operation <NUM>, in can be determined whether the response includes deployable improvements. If so, then in operation <NUM>, the improvement(s) can be deployed. The deployment can be recorded in server <NUM> in association with the machine learning task, report, and other data.

<FIG> though 10C illustrate example query criteria and correlation criteria <NUM> for use by a machine learning method <NUM> as described above in <FIG>, according to an embodiment. The examples are illustrative, and non-limiting.

Referring to <FIG>, Example <NUM> illustrates a machine learning task to determine whether a particular software update has failed to boot frequently. In operation <NUM>, selection criteria can include selecting device data for devices that have received a software update xx. yy and subsequently experienced boot failure. When ASM <NUM> receives a software update from server <NUM>, ASM <NUM> installs the software update and reboots itself to activate the software update. If the reboot fails, the ASM <NUM> reboots to its previous version of software (prior to the update). During a later check-in process, ASM <NUM> sends metrics data to server <NUM> indicating the currently active software. Server <NUM> can look up the software version last requested by ASM <NUM> and detect that the currently active software version on the ASM <NUM> is older than the last requested software version, and that therefore the ASM <NUM> experienced a boot failure. Records of such failure are stored in ASM configuration and performance data base <NUM> and selected by the above selection criteria.

In operation <NUM>, machine learning module <NUM> can also receive selection criteria, in this case whether the software version xx. yy is correlated to subsequent boot failures. Machine learning module <NUM> can also receive a minimum correlation threshold value that the requestor of this machine learning task is looking for. Method <NUM> returns to method <NUM>, which executes the machine learning task.

Example <NUM> is directed to determining whether a specified software patch, xx. yy, solves an identified problem z. In operation <NUM>, selection criteria specify devices that have received software patch xx. yy in order to solve problem z. Problem z may have been previously reported to a support technician. Support technician may have requested that patch xx. yy be installed to correct problem z. Records of the report of problem z, and request for installation of patch xx. yy, and installation of patch xx. yy, are stored in ASM configuration and performance database <NUM>. In operation <NUM>, machine learning module <NUM> can also receive correlation criteria indicating that machine learning module <NUM> is to correlate the selected records to determine whether software patch xx. yy solved problem z to the minimum correlation threshold of <NUM>. Method <NUM> returns to method <NUM> which executes the machine learning task.

Example <NUM> is directed to determining whether manual optimization of antenna parameters is correlated with improved antenna performance. In operation <NUM>, Machine learning module <NUM> can receive selection criteria specifying device data for devices that have had one or more configuration or operating parameters optimized by a manual optimization process being run on ASM <NUM>. In operation <NUM>, machine learning module <NUM> can also receive correlation criteria indicating that machine learning module <NUM> is to correlate the selected records to determine whether manual optimization improved signal quality to the minimum correlation threshold of <NUM>. Method <NUM> returns to method <NUM> which executes the machine learning task.

Referring now to <FIG>, example <NUM> is directed to determining whether criteria for the tolerance range on peak resonant frequencies for binning of aperture segments <NUM>-X (two peak frequencies, a dB value for each, within a tolerance) correlates with future performance, in accordance with the free space test, correlates in acceptable beam quality over time. This machine learning task tries to determine whether the binning specification for segments <NUM>-X, e.g. frequency range for a particular bin, needs to be modified. In operation <NUM>, machine learning module <NUM> can receive selection criteria specifying device data for the two peak resonant frequencies, and a tolerance range, for a specified segment bin, and all devices that have that were manufactured using segments having that binning range. In operation <NUM>, machine learning module <NUM> can also receive correlation criteria indicating that machine learning module <NUM> is to correlate the selected records to determine whether a variance from the specified resonant peak, greater than a threshold amount, correlates to a trend in future beam quality, over time, to the minimum correlation threshold of <NUM>. Method <NUM> returns to method <NUM> which executes the machine learning task.

Example <NUM> is directed to determining whether a return loss value of the feed insertion point <NUM>, that is within a tolerance value of the maximum allowable return loss (less than -<NUM> dB) correlates to future antenna performance, over time. If so, it could mean that a tighter tolerance may be needed. In operation <NUM>, machine learning module <NUM> can receive selection criteria specifying device data for devices that have been manufactured using a feed <NUM> having a feed insertion point <NUM> return loss value that is within a threshold value of the maximum allowable return loss, as indicated by the feed test. In operation <NUM>, machine learning module <NUM> can also receive correlation criteria indicating that machine learning module <NUM> is to correlate the selected records to determine whether the feed insertion point <NUM> return loss being with a threshold value of the maximum specification correlates to degradation in performance over time to the minimum correlation threshold of <NUM>. Method <NUM> returns to method <NUM> which executes the machine learning task.

Example <NUM> is directed to determining whether changing one or more operating or configuration parameters of the ASM <NUM> is correlated with improved antenna performance. In operation <NUM>, machine learning module <NUM> can receive selection criteria specifying device data for devices that have had one or more configuration or operating parameters changed by server <NUM>. In operation <NUM>, machine learning module <NUM> can also receive correlation criteria indicating that machine learning module <NUM> is to correlate the selected records to determine improved antenna performance, over time, to a correlation threshold of <NUM>. Method <NUM> returns to method <NUM> which executes the machine learning task.

Referring now to <FIG>, example <NUM> is directed to determining whether a threshold variance in adherence to a beam steering specification is a cause of degraded beam performance in a particular geo-location. In operation <NUM>, machine learning module <NUM> can receive selection criteria specifying device data for devices that have a beam steering specification that is above a threshold variance from an ideal specification. In operation <NUM>, machine learning module <NUM> can also receive correlation criteria indicating that machine learning module <NUM> is to correlate the selected records to beam degradation a particular geo-location to the minimum correlation threshold of <NUM>. Method <NUM> returns to method <NUM> which executes the machine learning task.

<FIG> is a block diagram of one embodiment of a computing system <NUM>. Computing system <NUM> can be used to implement the above-described computer system for a technician, a combiner <NUM>, an antenna subsystem module <NUM>, or a server <NUM>. Not all of the below-described components are required for every embodiment. The computing system illustrated in <FIG> is intended to represent a range of computing systems (either wired or wireless) including, for example, desktop computer systems, laptop computer systems, cellular telephones, personal digital assistants (PDAs) including cellular-enabled PDAs, set top boxes, entertainment systems or other consumer electronic devices. Alternative computing systems may include more, fewer and/or different components.

Computing system <NUM> includes bus <NUM> or other communication device to communicate information, and processor <NUM> coupled to bus <NUM> that may process information. While computing system <NUM> is illustrated with a single processor, computing system <NUM> may include multiple processors and/or co-processors <NUM>. Computing system <NUM> further may include random access memory (RAM) or other dynamic storage device <NUM> (referred to as main memory), coupled to bus <NUM> and may store information and instructions that may be executed by processor(s) <NUM>. Main memory <NUM> may also be used to store temporary variables or other intermediate information during execution of instructions by processor <NUM>. Memory <NUM>, ROM <NUM>, and/or storage devices <NUM> can be programmed with executable instructions that, when executed by processor(s) <NUM> perform any of the above-described operations and functionality.

Computing system <NUM> may also include read only memory (ROM) <NUM> and/or other static, non-transitory storage device <NUM> coupled to bus <NUM> that may store static information and instructions for processor(s) <NUM>. Data storage device <NUM> may be coupled to bus <NUM> to store information and instructions. Data storage device <NUM> such as flash memory or a magnetic disk or optical disc and corresponding drive may be coupled to computing system <NUM>.

Computing system <NUM> can also include sensors <NUM>, coupled to bus <NUM>. Sensors <NUM> can include a GPS receiver, a three-axis compass, a <NUM>-axis accelerometer, a <NUM>-axis gyro, a <NUM>-axis magnetometer, and other sensors to provide location and orientation information to processor(s) <NUM>. An ASM <NUM> may require some or all of sensors <NUM>.

Computing system <NUM> may also be coupled via bus <NUM> to display device <NUM>, such as a light-emitting diode display (LED), touch screen display, or liquid crystal display (LCD), to display information to a user. Computing system <NUM> can also include an alphanumeric input device <NUM>, including alphanumeric and other keys, which may be coupled to bus <NUM> to communicate information and command selections to processor(s) <NUM>. Another type of user input device is cursor control <NUM>, such as a touchpad, a mouse, a trackball, or cursor direction keys to communicate direction information and command selections to processor(s) <NUM> and to control cursor movement on display <NUM>. Computing system <NUM> may further include a real-time clock <NUM>. The real-time clock <NUM> may be used for generating date/time stamps for data records, computing elapsed time, and other time-keeping functions. A real-time clock <NUM> can be a battery-backed chipset with a settable date and time. Alternatively, a real-time clock <NUM> may include logic to retrieve a real-time from a network source such as a server or an Internet server via network interfaces <NUM>, described below. Real-time clock can be used to implement timers in some embodiments.

Computing system <NUM> further may include one or more network interface(s) <NUM> to provide access to a network, such as a local area network. Network interface(s) <NUM> may include, for example, a wireless network interface having antenna <NUM>, which may represent one or more antenna(e). Computing system <NUM> can include multiple wireless network interfaces such as a combination of Wi-Fi, Bluetooth® and cellular telephony interfaces. Network interface(s) <NUM> may also include, for example, a wired network interface to communicate with remote devices via network cable <NUM>, which may be, for example, an Ethernet cable, a coaxial cable, a fiber optic cable, a serial cable, or a parallel cable. Network interfaces may include connectivity to a satellite communication system.

In one embodiment, network interface(s) <NUM> may provide access to a local area network, for example, by conforming to IEEE <NUM>. 11b, <NUM>, or <NUM>. 11n standards, and/or the wireless network interface may provide access to a personal area network, for example, by conforming to Bluetooth® standards. Other wireless network interfaces and/or protocols can also be supported, such as ground-to-satellite communications. In addition to, or instead of, communication via wireless LAN standards, network interface(s) <NUM> may provide wireless communications using, for example, Time Division, Multiple Access (TDMA) protocols, Global System for Mobile Communications (GSM) protocols, Code Division, Multiple Access (CDMA) protocols, and/or any other type of wireless communications protocol.

Claim 1:
A computer-implemented method (<NUM>) for manufacturing an antenna, the method (<NUM>), comprising:
receiving selection criteria for querying a database of configuration and performance information of a plurality of antennas and correlation criteria for performing machine learning on results returned from querying the database (<NUM>);
in response to receiving, from the database, query results matching the selection criteria, performing machine learning on the query results according to the correlation criteria (<NUM>) that includes a minimum correlation threshold indicating an effectiveness of one or more updates or changes to configuration of the plurality of antennas;
receiving, from the machine learning, a proposed improvement to a process of manufacturing the antenna (<NUM>);
deploying an improved process of manufacturing the antenna if the machine learning resulted in correlation of the results returned from querying the database to the correlation criteria meeting or exceeding the minimum correlation threshold (<NUM>).