SYSTEM, APPARATUS AND METHOD FOR IMPROVED AIRPORT AND RELATED VEHICLE OPERATIONS AND TRACKING
20220068145 · 2022-03-03
Inventors
Cpc classification
H04W4/42
ELECTRICITY
H04W4/021
ELECTRICITY
G01S13/765
PHYSICS
International classification
H04W4/021
ELECTRICITY
Abstract
Embodiments of the present disclosure provide a system, device and method for collecting, processing, correcting and employing positional vehicle data broadcast by aircraft and/or other vehicles to improve airport and related vehicle operations and tracking. In various embodiments, an IOT sensor subsystem comprising a detection unit is secured at or near an airport and includes one or more antennae, one or more sensors and a processing unit for analyzing the data and producing beneficial output.
Claims
1. A system for enhancing airport and aircraft operations, comprising: an airport monitoring subsystem comprising a detection unit, where the detection unit comprises: an ADS-B radio receiver connected to an antenna and operable to receive ADS-B transmissions from a vehicle; a processor; and a memory storing instructions which, when executed by the processor, cause the processor to: define a geofence volume; receive an ADS-B transmission from the ADS-B radio receiver when the vehicle is entering, within or leaving the defined geofence volume; detect whether the vehicle is performing a pre-established aircraft operation; and upon detecting that the vehicle is performing a pre-established aircraft operation, generate a detected event notification.
2. The system of claim 1, wherein the airport monitoring subsystem further comprises an airport DataComm unit, wherein the DataComm unit comprises a data modem/router connected to the detection unit and a network.
3. The system of claim 1, wherein the detection unit receives ADS-B transmissions from the vehicle while the vehicle is on the ground
4. The system of claim 1, wherein the detection unit records, from the received ADS-B transmission, one or more of the vehicle's position, altitude, groundspeed, track, transponder code, identification code, tail number and on ground status in detecting that the vehicle is performing a pre-established vehicle operation.
5. The system of claim 1, wherein the geofence volume comprises one of: an area around an airport, an area around an airport runway, a time period and a noise sensitive area.
6. The system of claim 1, wherein the geofence volume comprises a defined volume of airspace surrounding a UAV.
7. The system of claim 1, wherein the instructions further cause the processor to identify suspected mis-configured ADS-B installations in the vehicle.
8. The system of claim 1, wherein the instructions further cause the processor to determine if the vehicle is on a tracking list or to be placed on a tracking list.
9. The system of claim 1, further comprising a sensor comprising at least one of: a radar sensor, a LiDAR sensor, a forward looking infrared (FLIR) sensor and a wildlife sensor.
10. The system of claim 1, wherein the geofence volume is static.
11. The system of claim 1, wherein the geofence volume is dynamic.
12. The system of claim 1, wherein the notification comprises an ADS-B Out or other transmission to the vehicle.
13. A device, comprising: a processor; a memory device storing a plurality of instructions which, when executed by the processor, cause the processor to: define a geofence volume; receive an AI)S-B transmission from a vehicle; determining, from the ADS-B transmission that the vehicle is entering, within or leaving the defined geofence volume; detect whether the vehicle is performing a pre-established vehicle operation; and upon detecting that the vehicle is performing a pre-established aircraft operation or penetrating the geofence volume, generate a detected event notification.
14. The device of claim 13, wherein the pre-established vehicle operation comprises a landing, a takeoff, a flyover, a transiting movement, an anticipated runway incursion, taxiing, a stable approach, a spot landing, a traffic pattern movement, a stop and go movement or a touch and go movement.
15. The device of claim 13, wherein the instructions further cause the processor to query an external data system based upon the received ADS-B transmission and build a merged data record, and where the notification comprises one of: a safety analysis for the vehicle, a noise violation, a weather report at the time of the detected operation, a landing fee assessment and a mis-configured ADS-B installation for the vehicle.
16. A method, comprising: receive, via a radio receiver in communication with an antenna mounted at or near an airport, an ADS-B transmission from a vehicle; determining, from the ADS-B transmission that the vehicle is performing a pre-established aircraft operation; querying, by a host in communication with the detection unit, an external data system based upon the received ADS-B transmission to obtain identification information associated with the vehicle; merging the identification information with the decoded message; and generating a detected event notification.
17. The method of claim 16. further comprising receiving the ADS-B transmission from the vehicle while the vehicle is on the ground.
18. The method of claim 16, wherein the pre-established vehicle operation comprises a landing, a takeoff, a flyover, a transiting movement, an anticipated runway incursion, taxiing, a stable approath, a spot landing, a traffic pattern movement, a stop and go movement or a touch and go movement.
19. The method of claim 16, wherein the notification comprises one of: a safety analysis for the vehicle, a noise violation, a weather report at the time of the detected operation, a. landing fee assessment and a mis-configured ADS-B installation for the vehicle.
20. The method of claim 16, wherein the geofence volume comprises one of: an area around an airport, an area around an airport runway, a time period and a noise sensitive area.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0034] The presently disclosed subject matter now will be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all embodiments of the presently disclosed subject matter are shown, Like numbers refer to like elements throughout. The presently disclosed subject matter may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements. Indeed, many modifications and other embodiments of the presently disclosed subject matter set forth herein will come to mind to one skilled in the art to which the presently disclosed subject matter pertains having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the presently disclosed subject matter is not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims.
[0035] Example embodiments such as disclosed herein can incorporate a host, local device and/or controller having a processor and an associated memory storing instructions that, when executed by the processor, cause the processor to perform operations as described herein. It will be appreciated that reference to “a”, “an” or other indefinite article in the present disclosure encompasses one or more than one of the described element. Thus, for example, reference to a processor encompasses one or more processors, reference to a memory encompasses one or more memories, reference to a radio encompasses one or more radios and so forth.
[0036]
[0037] It will be appreciated that the system of the present disclosure can incorporate necessary processing power and memory for storing data and programming that can be employed by the processor to carry out the functions and communications necessary to facilitate the processes and functionalities described herein. One or more monitors or display devices can be provided with the computing devices 26 as will be understood in the art. In addition to display devices, the computing devices 26 can also include other peripheral output devices, which may be connected through an output peripheral interface. The computing device(s) implementing the host system 20 of the present disclosure may operate in a networked environment using logical connections to one or more remote computers, the remote computers typically including many or all of the elements described above. A private network, or a publicly available network such as the Internet, for example, can act as network 18 providing interconnectivity for various devices to communicate with one another.
[0038] As shown in
[0039] In various embodiments such as shown in
[0040]
[0041] In detecting airport or aircraft operations, as shown in
[0042] A “landing” can occur when a previously airborne aircraft enters an airport geofence volume area (AGVA) and lands at the airport. A “flyover” is illustrated at 210 in
[0043] In various embodiments, each SDR 44 is connected to an antenna 30 that is mounted outside in a location that will allow the ADS-B signals from a given vehicle to be received. In the case of an aircraft, the ADS-B signals can be received as the aircraft takes off or lands. in some cases, this may mean located the antenna 30 at a height no greater than six feet to ensure line of sight with the aircraft/vehicles ADS-B transponder antenna under an aircraft wing. The connection of the antenna to the SDR can use 50-ohm coaxial cable, for example. The SDRs 44 can be configured by a software program running in the computing device. In various embodiments, the configuration tunes the SDRs 44 to the correct frequency (1090 Mhz and 978 Mhz) and then passes any data from the SDRs 44 to another software program that decodes the raw digital data into its respective values and then passes the decoded message (e.g., in the form of a comma-delimited string called the SBS format) to a “socket” (IP address and port number) which allows other programs the ability to receive the decoded ADS-B Message in the SBS format. An exemplary decoded message in SBS format is shown below. MSG,3,5,211,4CA2D6,10057,2008/11/28,14:53:50,594, 2008/11/28,14:58:51.153,, 37000,,,51.45735, −1.02826,−0,0,0,0
[0044] The detection unit 14 can be located near or at an airport, for example. As further shown in
[0056] Several of these elements can be used by the detection unit 14 to provide various derived values. For example barometric pressure used in computing the airport pressure altitude. Obtaining/determining current airport barometric pressure (either from external sources or a locally connected sensor) is required as the ADS-B data from an aircraft includes both geometric and barometric altitudes. Wind speed and direction are used to compute the effective wind speed on the runway to allow the detection unit to calculate the aircrafts effective airspeed which is not provided in the ADS-B message but is used when detecting Take-off and Landing Operations. The FAA Flight rules category is included in the “operation event message” to provide a context as to the Visibility conditions that were occurring during the operation.
[0057] The remote server 20 can conduct operations processing and provide access to database 22a located on the IOT subsystem or database 22. In the event of a communications failure the IOT Subsystem can store the operation event messages on database 22a and once communications is restored the remote server 20 can transfer the operations captured on database 22a and update the Remote Server Database 22. In various embodiments, the remote server 20 receives operations from the detection unit 14, applies filtering and operation validation and inputs the operation into database 22 and/or local database 22a. It will be appreciated that a data visualization dashboard such as produced by component 21 can also be provided as part of a user interface. In various embodiments, the user interface is accessed via a computing device 26 such as a monitor or portable communications device. The operations that are stored in the database 22 can optionally be accessed by a third party “data visualization” tool such as Microsoft PowerBI™ and displayed on a user interface, for example or transmitted to an external system for visualization or further analysis/processing. Exemplary user interfaces 55, 56, 57 illustrating output according to the present disclosure are shown in
[0058] As shown in
[0059] In various embodiments (see diagram 212 in
[0060] In various aspects as described elsewhere herein, the IOT subsystem 12 can be considered an autonomous IOT sensor platform or system and can be located onsite at an airport, for example. The IOT subsystem 12 can be powered externally or via solar panels (e.g., 42 in
[0061] In various embodiments, the 101 subsystem 12 incorporates processing power, memory and software (e.g., embedded software)) that can establish one or more geofence volumes such as airport traffic area, area around runway, noise sensitive area or other area of interest such as taxiways, ramps, helipads etc; support one or more time-based dynamic geofence(s) that can be used for the detection of aircraft within the volume at certain times (e.g., 10 pm to 6 am); instantiate one or more geographically dynamic geofence(s) that can be used as a defined volume of airspace surrounding one or more UAS/UAV vehicles; decode ADS-B broadcasts from aircraft on 1090 MHz and 978 MHz; identify aircraft as within or external to one or more geofence volumes; analyze the flight path of aircraft; process and filter raw data received to determine if aircraft conducted a take-off, landing or fly-over (go-around/missed approach); identify suspected mis-configured ADS-B installations in aircraft process and filter raw data received for other purposes such as flight training support, safety analysis, research and development support and/or forensic (post-accident/incident) evidence; store and forward raw and processed data to external system for further processing and/or visualization via wired, wireless or cellular network; and generate and transmit alerts and notifications. Such alerts can be based on configurable event parameters such as aircraft identification, aircraft location, aircraft transponder squawk code and/or time, for example. For purposes of the present disclosure, a detected event notification can include a communication to electronic devices such as logging one or more data elements in a database. A detected event notification can further include a communication to a computing device such as a mobile communications device, remote server, or runway safety lighting controller for example. Such a notification can be a warning of potentially dangerous activity such as an unstable approach by an aircraft, a violation of a restriction such as a noise restriction, a tracking of a consequential action such as an aircraft landing that incurs a landing fee, and other real time notifications.
[0062] Various data filtering approaches can be employed according to embodiments of the present disclosure. For example,
[0063] As shown in
[0064] Additional methods according to additional embodiments of the present disclosure are shown in
[0065] At notated element “3” in
[0066] Operation filters are shown in diagram 500 of
[0067] In order to monitor the critical programs/processes that are running on the ADS-B Data Acquisition Unit (e.g., at the airport) and the Remote “Event processing and Database Server”, embodiments of the present disclosure include programming that constantly checks that all the critical processes are running on both systems. In the event any one of the processes listed above is no longer running, the system sends a notification message immediately to appropriate personnel via a text message and/or email, for example. In addition, the program can restart the parent and child processes.
[0068] In various embodiments, the system of the present disclosure includes a low power radar simulator and a low power ADS-B transmitter. The radar simulator can produce a secondary surveillance radar (SSR) signal to cause vehicles in the vicinity and on the ground to reply with an ADS-B surveillance II) message containing the vehicle's transponder code. Ordinarily, a vehicle's ADS-B system only sends an ADS-B surveillance ID message when it is pinged or interrogated by a true SSR signal from an FAA SSR. radar system as the vehicle is operated in the transmission range, which is typically 3,000 feet above ground level of an operating FAA SSR, The radar simulator according to the present disclosure can be operated below this level and can in various embodiments trigger the the vehicle's ADS-B unit to send its transponder code while on the ground and before takeoff, or at least when it is close to the airport.
[0069] In various embodiments, the ADS-B transmitter can be employed to send a standard ADS-B message for end-to-end test messaging of a complete system according to the present disclosure in real time. During late night and/or early morning, there are very few vehicles/aircraft in many locations. Where there are no vehicles sending ADS-B messages, embodiments of the present disclosure have no vehicle detections and no way to distinguish if there are truly no vehicles sending ADS-B messages or that there may potentially be a failure in the antenna, cabling or other aspects of the present disclosure such that it appears the system and/or device is “running” but no aircraft are being detected. By providing an ADS-B message transmitter with the ability to send a test message out, this test message would be received and processed to provide full end-to-end validation that all components of the system are in place and operating appropriately.
[0070] In various embodiments, the present disclosure further provides an autonomous data processing platform or system operable by host 20. This system can be embodied as a cloud-based computing platform (e.g., host 20) that receives data from the IOT sensor platform 12 for storage, analyzes, cleans and processes the IOT sensor data, fuses the IOT sensor data with external data sources and forwards the data to external systems via a network. The system can support processing of data to report on aircraft time in service (subject to their taking off and landing at an airport with an installed monitoring system), and can further support data visualization, reporting and the transmission of data to external visualization and reporting systems via a network. The system can fuse data received from sensors with data from the FAA, airports and other stakeholders to support analysis and reporting on parameters that include make/model of aircraft, aircraft gross weight, aircraft number of seats, local vs transient operations, aircraft registration information and VFR vs IFR aircraft (the use of Air Traffic Control services), for example. Optionally, the present system can generate and transmit alerts and notifications based on configurable event parameters such as aircraft identification, aircraft owner, aircraft location and/or time, for example.
[0071] Programming associated with the IOT subsystem 12, such as within the ADS-B processor 32 in
[0072] a. Configuring the SDRs (frequency, gain, socket (IP and Port), A/C transponder data, airport reference point, radio reception range in nm).
[0073] b. Starting decoding programs.
[0074] c. Receiving the ADS-B message (e.g., SBS formatted) data from the decoding programs, parsing the data into individual variables, validating the data using regular expressions, and discarding bad data.
[0075] d. Determining if the vehicle is entering a geofence volume, leaving the geofence, within the airport runway geometry, airborne or on the ground, if this vehicle is currently being tracked, updating the vehicle and/or aircraft state array, adding a new vehicle of interest, determining if an event has occurred, processing the event, removing “stale” vehicles from the vehicle state array, and acquiring the airport barometric pressure via the FAA/NWS Aviation Digital Data Service every time a vehicle is being tracked and updated at least once per hour.
[0076] e. Launching a software program that sends the “operation event” to the remote server 20 for further processing and finally storage in database 22.
[0077] Further to the above, the aircraft or vehicle “state” array is a data structure that stores multiple ADS-B vehicle values. An exemplary state array may consist of a structure with the values as listed below. In various embodiments, each vehicle being tracked is allocated one state array structure. The identifying (index) is the vehicle's six-character (Hexadecimal) ICAO ID Code.
TABLE-US-00004 struct ac_state_array int sa_initial_MSG_number; int sa_current_MSG_number; char sa_ICAO_ID[7]; char sa_N_Number[9]; char sa_Message_Date[11]; char sa_initial_Message_Time[13]; char sa_current_Message_Time[13], int sa_initial_Altitude; int sa_current_Altitude; int sa_minimum_Altitude; int sa_maximum_Altitude; int sa_initial_GroundSpeed, int sa_current_Groundspeed; int sa_initial_Track; int sa_current_Track; float sa_initial_Latitiude; float sa_initial_Longitude; float sa_current_Latitude; float sa_current_Longitude; int sa_initial_OG_Flag; int sa_current_OG_Flag; int sa_Emitter_Category; int sa_Type_Code int sa_Completed_Flag; double sa_initial_Distance_from_ap; double sa_current_Distance_from_ap; double sa_minimum_Distance_from_ap; int sa_previous_op; int sa_Index; int sa_VerticalRate; int sa_ModeASquawkCode; int sa_SquawkChangeFlag; int sa_SquawkEmergencyFlag; int sa_SPIFlag; int sa_maximum_GS; char wheels_up_time[13]; char duration_airborne[13]; char duration_onground[13]; char enter_geofence_t[MAX_GFS][1 .. 100] char leave_geofence_t{MAX_GFS][1..100] int transmission_format; char wheels_down_time[13]; float Airport_Pressure_Altitude; char AP_Wx_Category; int wind_speed int wind_direction int operation_confidence_level float RSSI float Last_Known_Latitude float Last_Known_Longitude int Last_Known_Ground_Speed int Last_Known_Track int Last_Known_Altitude float enter_GeoFence_Latitude[1..100] float enter_GeoFence_Longitude[1..100] int enter_GeoFence_Altitude[1..100] int enter_GeoFence_Ground_Speed[1..00] int enter_GeoFence_Track[1..100] int enter_GeoFence_Vertical_Rate[1..100] int enter_GeoFence_Squawk_Code[1..100] char enter_GeoFence_Callsign[1..100][8] float exit_GeoFence_Latitude[1..100] float exit_GeoFence_Longitude[1..100] int exit_GeoFence_Altitude[1..100] int exit_GeoFence_Ground_Speed[1..00] int exit_GeoFence_Track[1..100] int exit_GeoFence_Vertical_Rate[1..100] int exit_GeoFence_Squawk_Code[1..100] char exit_GeoFence_Callsign[1..100][8] float elapsed_time_in_GeoFence[1..100] // 20 or more simultaneous geofences. int score
[0078] As an example, a single dimensional array with one hundred elements, with each element as an aircraft or vehicle state array, is declared initially. This means the system can track one hundred vehicles simultaneously, although higher numbers are readily accommodated.
[0079] In various embodiments, a role of the remote server 20 is to receive the event message from the detection unit 14 and execute the following tasks:
[0080] 1. Store/Archive the event message on the cloud/remote server 20.
[0081] 2. Parse validate the comma separated values into individual variables.
[0082] 3. Determine the event (e.g., TA (take oft), LA (landing), TR (transiting aircraft), (touch and go), FO (flyover or missed approach), etc.).
[0083] 4. Apply filtering algorithms and/or “control laws” to eliminate/discard false ADS-B events due to intermittent squat switches on retractable aircraft, incorrect altimeter aircraft settings, intermittent “on Ground” messages from an aircraft in the air, and other messages.
[0084] 5. Determine the runway used.
[0085] 6. Use the aircraft ICAO code to lookup FAA owner registration data, FAA aircraft reference data and lookup if the aircraft is based at the airport using a list of home-based aircraft provided by an airport database system.
[0086] 7. Connect to the database 22 and insert the event into the database 22.
[0087] It will be appreciated that the database 22 can be accessible remotely from a dashboard server for visual presentation and custom reports can be produced, such as through analysis and visualization component 21. FAA registration data is public and available from an external source 24 such as the FAA registration website. For example, IAS data may consist of six individual fixed length text records files. These files are updated daily by the FAA and can be uploaded to the remote server 20 and database 22 via an automated script. All of the data that is successfully stored in the database 22 is accessible by the dashboard. A dashboard server (e.g., component 21) can query the database table and then populate the dashboard graphs and lists. Such processing can be performed in real-time or on a periodic basis, such as every few hours, for example.
[0088] As illustrated in
[0089] In various embodiments, determinations of the distance between two points {Lat/long) can be determined in feet as ACOS(COS(RADIANS(90-Lat1))*COS(RADIANS(90-Lat2)) +SIN{RADIANS(90-Lat1))*SIN{RADIANS(90-Lat2))*COS{RADIANS(Long1-Long2)))*(3958.756)*(5280).
[0090] In various embodiments, the system can create multiple time-based geofences of various shapes at fixed and moving positions. In various embodiments, the space of the geofence can be any spherical or polygenic (e.g., square, triangle etc.) shape. It may be defined by a “base” altitude to a “ceiling” altitude, The geofence can be located at a fixed location or it can be “moving” with a vehicle such as an aircraft or drone, for example. A fixed (stationary) geofence may be used for airport operations counting, noise sensitive areas or any airspace that needs to be monitored for air traffic. A dynamic or moving geofence can be used to monitor any aircraft within a defined volume relative to a moving reference point (e.g., drone, aircraft). In various embodiments, notifications can be sent by the present system depending upon the obtained and processed information. For example, upon detecting an “event”, the presently described system can obtain vehicle and owner registration data and combine that with detected information in reporting a violation to another party such as an authority that may issue a notice or an associated fine or penalty. As a specific example, the system herein can determine, for example, that aircraft N123BC, a SR-20, is owned by Larry Loud and was inside the noise sensitive area defined as GeoFencel, at 01:15:55 on Nov. 16, 2020, alt=3500 ft above ground level, with latitude/longitude position and speed as detected. Such a notification may result in Larry Loud receiving a fine or other penalty as determined by the appropriate authority receiving the notification from the present system. The system can be configured to not generate a notification if the same event happened at, for example, 11:00 in the morning.
[0091] It will thus be appreciated that embodiments of the present disclosure provide, in part, a method, device and system for providing accurate and current surveillance of airport, aircraft and related vehicle operations. The method, device and system can leverage ADS-B data from aircraft and other vehicles for improved airport and aircraft operations and tracking, particularly at and near the ground. In various embodiments, the method, device and system can perform taxiway utilization analysis such as by monitoring vehicle movement, location and paths and determine which taxiways are being used by counting when a vehicle crosses into, traverses and exits a specific area of tarmac, taxiway, apron or any physical location on the airport property. The vehicle registration information along with the number of times the vehicle is occupying one of these areas or geofences can be detected and recorded.
[0092] Embodiments of the present disclosure can further use ATC voice transmissions/recordings from pilots and air traffic control to determine takeoff/landing/flyover counts, whereby the audio can be processed using speech to text conversion and wherein textual parsing is conducted to detect when an aircraft operation has occurred. Embodiments of the present disclosure can further provide an airport surface detection surveillance system that provides tracking and visibility of surface movement of aircraft and vehicles to help reduce critical Category A and B runway incursions. Embodiments of the present disclosure can further provide alerts and/or detected event notifications of potential runway incursions or conflicts by providing detailed coverage of movement on runways and taxiways. Various embodiments can also provide for vertical takeoff and landing (VTOL) and/or unmanned aerial system (UAS) counts, accounting for non-ADS-B protocol signal reception, for example. In some embodiments, weather conditions can be integrated with operations as described herein, and the present system can forecast counts based on past data and/or environmental conditions, for example. In still other embodiments, airport operations attributable to specific operators (e.g., FBOs, flight schools, clubs, individual operators) can be tracked, the impact of airport improvement initiatives on volume and nature of operations can be tracked and quantified, and “spot landing” analysis can be supported. Spot landing analysis can assess whether and where an aircraft actually touched down within a specific area, which can be employed in pilot training, safety and even games and contests. The presently disclosed system, method and device can further be employed for traffic pattern safety analysis to see, for example, how pilots are actually flying within stated traffic patterns and/or where additional training may be needed. Further embodiments can assist with fraud detection and remediation, such as when an operator employs a self-service fuel pump at an airport and may intentionally or accidentally forget to pay, for example.
[0093] Unless otherwise stated, devices, modules or components associated with the present disclosure that are in communication with each other do not need to be in continuous communication with each other. Further, devices, modules or components in communication with other de.sup.-vices or components can communicate directly or indirectly through one or more intermediate devices, components or other intermediaries. Further, descriptions of embodiments of the present disclosure herein wherein several devices and/or components are described as being in communication with one another does not imply that all such components are required, or that each of the disclosed components must communicate with every other component. In addition, while algotithms, process steps and/or method steps may be described in a sequential order, such approaches can be configured to work in different orders. In other words, any ordering of steps described herein does not, standing alone, dictate that the steps be performed in that order. The steps associated with methods and/or processes as described herein can be performed in any order practical. Additionally, some steps can be performed simultaneously or substantially simultaneously despite being described or implied as occurring non-simultaneously.
[0094] It will be appreciated that algorithms, method steps and process steps described herein can be implemented by appropriately programmed general purpose computers and computing devices, for example. In this regard, a processor (e.g., a microprocessor or controller device) receives instructions from a memory or like storage device that contains and/or stores the instructions, and the processor executes those instructions, thereby performing a process defined by those instructions. Further, programs that implement such methods and algorithms can be stored and transmitted using a variety of known media. At a minimum, the memory includes at least one set of instructions that is either permanently or temporarily stored. The processor executes the instructions that are stored in order to process data. The set of instructions can include various instructions that perform a particular task or tasks. Such a set of instructions for performing a particular task can be characterized as a program, software program, software, engine, module, component, mechanism, or tool. Common forms of computer-readable media that may be used in the performance of the present disclosure include, but are not limited to, floppy disks, flexible disks, hard disks, magnetic tape, any other magnetic medium, CD-ROMs, DVDs, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, RAM, PROM, EPROM, FLASH-EEPROM, any other memory chip or cartridge, or any other medium from which a computer can read. The term “computer-readable medium” when used in the present disclosure can refer to any medium that participates in providing data (e.g., instructions) that may be read by a computer, a processor or a like device. Such a medium can exist in many forms, including, for example, non-volatile media, volatile media, and transmission media. Non-volatile media include, for example, optical or magnetic disks and other persistent memory. Volatile media can include dynamic random-access memory (DRAM), which typically constitutes the main memory. Transmission media may include coaxial cables, copper wire and fiber optics, including the wires or other pathways that comprise a system bus coupled to the processor. Transmission media may include or convey acoustic waves, light waves and electromagnetic emissions, such as those generated during radio frequency (RF) and infrared (IR) data communications.
[0095] Various forms of computer readable media may be involved in carrying sequences of instructions associated with the present disclosure to a processor. For example, sequences of instruction can be delivered from RAM to a processor, carried over a wireless transmission medium, and/or formatted according to numerous formals, standards or protocols, such as Transmission Control Protocol/Internet Protocol (TCP/IP), Wi-Fi, Bluetooth, GSM, CDMA, satellite, EDGE and EVDO, for example. Where databases are described in the present disclosure, it will be appreciated that alternative database structures to those described, as well as other memory structures besides databases may be readily employed. The drawing figure representations and accompanying descriptions of any exemplary databases presented herein are illustrative and not restrictive arrangements for stored representations of data. Further, any exemplary entries of tables and parameter data represent example information only, and, despite any depiction of the databases as tables, other formats (including relational databases, object-based models and/or distributed databases) can be used to store, process and otherwise manipulate the data types described herein. Electronic storage can be local or remote storage, as will be understood to those skilled in the art. Appropriate encryption and other security methodologies can also be employed by the system of the present disclosure, as will be understood to one of ordinary skill in the art.
[0096] The present disclosure describes numerous embodiments of the present disclosure, and these embodiments are presented for illustrative purposes only. These embodiments are described in sufficient detail to enable those skilled in the art to practice the disclosure, and it will be appreciated that other embodiments may be employed and that structural, logical, software, electrical and other changes may be made without departing from the scope or spirit of the present disclosure. Accordingly, those skilled in the art will recognize that the present disclosure may be practiced with various modifications and alterations. Although particular features of the present disclosure can be described with reference to one or more particular embodiments or figures that form a part of the present disclosure, and in which are shown, by way of illustration, specific embodiments of the disclosure, it will be appreciated that such features are not limited to usage in the one or more particular embodiments or figures with reference to which they are described. The present disclosure is thus neither a literal description of all embodiments of the disclosure nor a listing of features of the disclosure that must be present in all embodiments.
[0097] The above-described embodiments of the present disclosure may be implemented in accordance with or in conjunction with one or more of a variety of different types of systems, such as, but not limited to, those described below.
[0098] The present disclosure contemplates a variety of different systems each having one or more of a plurality of different features, attributes, or characteristics. A “system” as used herein refers to various configurations of: (a) one or more remote servers, central controllers, or remote hosts; and/or (b) one or more IOT subsystem servers and/or (c) one or more personal computing devices, such as desktop computers, laptop computers, tablet computers or computing devices, personal digital assistants, mobile phones, and other mobile computing devices. A system as used herein may also refer to: (d) a single central server, central controller, or remote host; and/or (e) a plurality of central servers, central controllers, or remote hosts in combination with one another; and/or (f) a single IOT subsystem server; and/or (g) a plurality of IOT subsystem servers in combination with one another.
[0099] In certain embodiments in which the system includes a central server, central controller, IOT subsystem server or remote host, the central server, central controller, IOT subsystem server or remote host is any suitable computing device (such as a server) that includes at least one processor and at least one memory device or data storage device. The processor of the additional device, central server, central controller, IOT subsystem server or remote host is configured to transmit and receive data or signals representing events, messages, commands, or any other suitable information between the central server, central controller, IOT subsystem server or remote host and the additional device.
[0100] As will be appreciated by one skilled in the art, aspects of the present disclosure may be illustrated and described herein in any of a number of patentable classes or context including any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof. Accordingly, aspects of the present disclosure may be implemented as entirely hardware, entirely software (including firmware, resident software, micro-code, etc.) or combining software and hardware implementations that may all generally be referred to herein as a “circuit,” “module,” “component,” or “system.” Furthermore, aspects of the present disclosure may take the form of a computer program product embodied in one or more computer readable media having computer readable program code embodied thereon.
[0101] Computer program code for carrying out operations for aspects of the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C++, C#, VB.NET, Python or the like, conventional procedural programming languages, such as the “C” programming language, Visual Basic, Fortran 2003, Pert, COBOL 2002, PHP, ABAP, dynamic programming languages such as Python, Ruby and Groovy, or other programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. in the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider) or in a cloud computing environment or offered as a service such as a Software as a Service (SaaS).
[0102] Aspects of the present disclosure are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatuses (systems) and computer program products according to embodiments of the disclosure. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable instruction execution apparatus, create a mechanism for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
[0103] These computer program instructions may also be stored in a computer readable medium that when executed can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions when stored in the computer readable medium produce an article of manufacture including instructions which when executed, cause a computer to implement the function/act specified in the flowchart and/or block diagram block or blocks. The computer program instructions may also be loaded onto a computer, other programmable instruction execution apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatuses or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.