Method and physical system for simulating hardware device using virtual device
Through the virtualization system, the external field replaceable units in the aircraft are simulated by virtual hardware, the hardware weight and space occupation problems in the prior art are solved, and the development and maintenance costs are reduced, and efficient and reliable system simulation is achieved.
Patent Information
- Application Number
- CN201910193149.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2018-03-30
- Filing Date
- 2019-03-14
- Publication Date
- 2025-02-25
- Estimated Expiration
- 2039-03-14
AI Technical Summary
Outfield replaceable units (LRUs) in existing aircraft result in weight gain and space occupancy, and the cost of developing, testing and maintaining different types and versions of LRUs, and there may be incompatibility and other undesirable human phenomena.
Through virtualization systems, virtual hardware is used to simulate hardware devices, providing high-fidelity simulation, reducing dependence on physical hardware, reducing costs and weight, and improving system redundancy and reliability.
High-fidelity simulation of multiple hardware devices is achieved, reducing development, testing and maintenance costs, reducing weight and space occupancy of physical hardware, and improving the robustness and reliability of the system.
Smart Images

Figure CN110321579B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a virtualized avionics system for an operational environment. Background Art
[0002] Modern aircraft use computing devices to control operations and functions. The specific computing devices used in the aircraft can be referred to as "line replaceable units" (LRUs). Aircraft can carry many different types of LRUs, such as mission computers, flight management units, autopilot units, communication units, navigation units, collision avoidance units, etc. Because LRUs can perform important functions during aircraft operation, aircraft may include multiple redundant LRUs, which add considerable weight and occupy valuable space in the aircraft cabin. In addition, a fleet of aircraft may use different versions of the same type of LRU. However, developing, testing, and maintaining various LRU types and versions are associated with relatively high life cycle costs (e.g., engineering, manufacturing, testing, integration, qualification, maintenance, and storage). For example, incompatibilities or other undesirable artifacts within the aircraft system or between various LRUs may not be found before the construction and integration of the LRUs are completed. In addition, each of the LRUs installed on the aircraft increases operating costs (e.g., by increasing weight and reducing range). Summary of the invention
[0003] The present disclosure is directed to emulating hardware devices using virtual hardware. Processing according to various implementations consistent with the present disclosure includes utilizing a virtual device of a virtualization system configured to emulate a hardware device. The processing also includes installing an instance of the virtualization system including the virtual device in a physical system. The processing also includes emulating a hardware device of the physical system using the virtual device. In addition, the processing includes communicating with a device of the physical system using the virtual device.
[0004] In addition, a system according to various implementations consistent with the present disclosure includes an instance of a virtualization system having a processor and a computer-readable storage device storing program instructions. When executed by the processor, the program instructions cause the virtualization system to perform operations including emulating a dedicated computing unit using a virtual device. The system also includes a computer network communicatively connected to the instance of the virtualization system. The system also includes a device that communicates with the dedicated computing unit using the computer network.
[0005] In addition, an aircraft platform according to various implementations consistent with the present disclosure includes an avionics network, a line replaceable avionics unit communicatively connected through the avionics network, aircraft equipment configured to communicate with multiple line replaceable units using the avionics network, and an instance of a virtualization system. The virtualization system includes a processor and a computer readable storage device storing program instructions. When executed by the processor, the program instructions cause the virtualization system to perform operations including simulating the line replaceable avionics unit using multiple virtual devices. The instances of the virtualization system are located remotely from each other in the aircraft platform. The virtual devices operate in a redundant manner for the multiple line replaceable units. BRIEF DESCRIPTION OF THE DRAWINGS
[0006] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate the present teachings and together with the description, serve to explain the principles of the present disclosure.
[0007] Figure 1 A system block diagram illustrating an example of an environment for implementing systems and processes according to aspects of the present disclosure is shown.
[0008] Figure 2 A system block diagram illustrating an example of a physical hardware system according to aspects of the present disclosure is shown.
[0009] Figure 3 A system block diagram illustrating an example of a virtualization system according to aspects of the present disclosure is shown.
[0010] Figure 4 Functional flow diagrams illustrating examples of processing performed by systems, methods, and computer program products according to aspects of the present disclosure are shown. DETAILED DESCRIPTION
[0011] The systems, processes, and computer program products disclosed herein are dedicated to providing high-fidelity simulation of dedicated hardware devices using virtual hardware. The implementation of systems, processes, and computer program products consistent with the present disclosure improves existing computer hardware technology by replacing or increasing dedicated hardware devices of an operating system with virtualized hardware. A virtualization system consistent with the present disclosure can simulate many different hardware devices and their physical interfaces. For example, a single virtualization system can simulate an entire avionics suite (e.g., LRU) and associated connection devices (e.g., switchboards and networking components) of an aircraft platform. Because the virtualization system can be substantially smaller and / or lighter than an avionics suite, a replaced or increased hardware device, a virtualization system according to the present disclosure can provide multiple layers of redundancy while minimizing the space and weight that would otherwise be used by hardware devices to provide such redundancy.
[0012] In addition, implementations consistent with the present disclosure overcome the problems of current hardware systems (e.g., avionics systems) previously identified herein. For example, a virtualization system according to the present disclosure can reduce development costs by making virtual hardware devices available at a very early stage of the product development life cycle, thereby allowing earlier execution of demand development, software development, and testing. The early availability of virtual hardware devices also allows earlier discovery of problems in product requirements and designs compared to physical hardware devices. In addition, a virtualization system according to the present disclosure can reduce qualification costs by only generating such costs once for the hardware of the virtualization system rather than for each hardware device (e.g., LRU) simulated by the virtualization system. In addition, a virtualization system according to the present disclosure can greatly reduce costs because the virtualization system can be implemented with low-cost, general-purpose and / or commercial off-the-shelf hardware rather than multiple different dedicated hardware devices. In addition, although current virtualization systems can support device simulation for testing purposes, such current virtualization systems cannot accurately represent how to execute software on actual hardware devices. Therefore, an implementation consistent with the implementation presented herein can solve this problem by accurately representing low-level system functions.
[0013] Figure 1 A block diagram illustrating an example of an environment 100 for implementing systems and processes according to aspects of the present disclosure is shown. The environment 100 may include a physical system 105, which may include hardware devices 109 (e.g., avionics devices or computing devices), devices 113, and one or more virtualization systems 111 that can be connected via communication links 119 in a network 121. In some implementations, the physical system 105 may be an operational system (e.g., a vehicle or plant). In some implementations, the physical system may be a test and evaluation system (e.g., a vehicle simulator or an integrated test bench).
[0014] like Figure 1 , the physical system 105 may be an aircraft platform having multiple instances 111A, 111B, and 111C of a virtualization system that emulates a hardware device 109. In some implementations, some or all instances of the virtualization system 111 may be redundant to the hardware device 109, and in the event of a failure of one or more of the hardware devices 109, the physical system may failover to the virtualization system 111. For example, the instances of the virtualization system 111 may provide failover for the hardware devices 109. In some implementations, some or all instances of the virtualization system 111 may run in parallel with the hardware devices 109. For example, the hardware devices 109 and the instances of the virtualization system 111 may perform voting operations to increase the robustness of the physical system 105.
[0015] The hardware device 109 may be one or more computer-implemented hardware devices. In implementation, the hardware device 109 may be a dedicated computing unit (e.g., a dedicated computing device) capable of executing installed computer program instructions. For example, the hardware device 109 may include one or more avionics devices (e.g., an LRU of an avionics suite).
[0016] The virtualization system 111 may be a computing system including software and hardware that emulates the hardware device 109. In an implementation, each of the virtualization systems 111 may be one or more general-purpose computers that host one or more virtual hardware devices that emulate multiple hardware devices and interfaces and connections of such hardware devices. For example, the virtualization system 111 may include emulation of hardware and software interfaces (e.g., peripherals, data links, interrupt behavior, and timing requirements) of the hardware device 109. In addition, in an implementation, the virtualization system 111 may execute an exact or substantially exact copy (e.g., image) of application software executed by a different hardware device 109. For example, the virtualization system 111 may use a quick emulator ("QEMU"), which is an open source software application that performs hardware virtualization.
[0017] Device 113 may be one or more devices or systems that communicate with and / or are controlled by hardware device 109 and virtualization system 111. In implementation, one or more devices of device 113 include a network interface that communicates with hardware device 109 and virtualization system 111 via communication link 119. Device 113 may include various input / output devices, such as aircraft flight control devices (e.g., joystick, pedals, and throttles), input / output systems (e.g., switches and buttons), sensors (e.g., position sensors and pitot tubes), actuators (e.g., servomotors), displays (e.g., cockpit displays), and lighting devices. For example, device 113 may include an aircraft joystick and throttle that provide control inputs to a physical flight control LRU within hardware device 109 and a virtual flight control LRU within virtualization system 111. In addition, for example, the device may include a navigation and display unit that sends and receives navigation information from a navigation LRU within hardware device 109 and virtualization system 111.
[0018] The communication link 119 may be a medium used for communication between various devices (including the hardware device 109, the virtualization system 111, and the device 113) and computers connected together within the network 121 of the physical system 105. As depicted in the example, the network 121 communicatively connects the hardware device 109, the virtualization system 111, and the device 113. For example, the network 121 may be an avionics network that communicatively links the avionics LRUs. The communication link 119 may be a wired and / or wireless communication link.
[0019] In some implementations, environment 100 includes a second physical system 125 that is communicatively linked to hardware device 109 and virtualization system 111 via communication link 127. Physical system 125 and communication link 127 may be the same or similar to physical system 105 and communication link 119 described previously. In some implementations, physical system 105 may be an aircraft, and physical system 125 may be a ground test platform that communicates with virtualization system 111 and hardware device 109. For example, physical system 125 may store software aircraft parts in a library or storage system. Moreover, the physical system may be another aircraft platform, an air traffic control (ATC) system, or a maintenance system that is connected to physical system 105 using communication link 127 (e.g., using a commercial data link such as an aircraft communications, addressing and reporting system (ACARS) or some other air traffic network (ATN)).
[0020] In some implementations, the physical system 125 includes an engineering, development, and / or testing system that includes a general purpose computing system that executes an instance of a virtualized system 111D that emulates one or more of the hardware devices 109 in the same or similar manner as the instances of the virtualized systems 111A, 111B, and 111C described above. Thus, according to some implementations, a developer (e.g., a software coder) can create and / or modify the virtualized system 111 into the virtualized system 111D in the physical system 125. The modified instance of the virtualized system 111D can be tested and changed within the physical system 125. In addition, the modified instance of the virtualized system 111D can be tested in combination with the physical system 105. For example, the virtualized system 111D can be used in an installed system test with the physical devices 109 and equipment 113 of the aircraft to verify and / or validate the functionality of the virtualized system 111D before any other instances (e.g., 111A, 111B, and 111C) are installed on the aircraft. After the modified instance of virtualized system 111D is validated, the copy may be seamlessly ported from physical system 125 to physical system 105 to replace the instances of virtualized systems 111A, 111B, and 111C.
[0021] As mentioned above, the virtualization system 111 improves upon the prior art by utilizing a single instance of the virtualization system 111 to emulate many hardware devices 109. Therefore, the virtualization system 111 can be substantially smaller and lighter than the hardware devices 109. In addition, the virtualization system 111 improves upon the prior art because each virtualization system 111 can be physically distributed in the physical system 105 at locations remote from one another. For example, in Figure 1 In the depicted example, the virtualization system 111 can be distributed at the front, middle, and rear of the aircraft platform. In some implementations, additional virtualization systems 111 can be placed around the aircraft. Therefore, the distributed instances of the virtualization system 111 can provide multiple failovers for the hardware devices and each other in the event of local damage to the aircraft without substantially increasing the weight of the physical system 105. In addition, by distributing instances of the virtualization system 111, implementations of the present disclosure can reduce the bandwidth and latency of information traversing the communication links 119 and 127. For example, a specific instance of the virtualization system 111A that processes real-time, full-motion, three-dimensional color images from a LIDAR LRU can be located near the LIDAR LRU and entrusted with processing the output of such LRU to reduce communication latency and processing load on the hardware device 109.
[0022] Figure 2 A system block diagram illustrating an example of a physical hardware system 105 according to aspects of the present disclosure is shown. The physical hardware system 105 can be the same or similar to the physical hardware systems previously described. The physical hardware system 105 includes hardware devices 109A, 109B, and 109C; one or more virtualization systems 111A, 111B, 111C; devices 113; communication links 119, and networks 121, which can also be the same or similar to the items previously described.
[0023] The virtualized systems 111A, 111B, and 111C may include a network interface 215 and one or more virtual devices 211A, 211B, and 211C. The virtual device 211 may be an emulation of the hardware devices 109A, 109B, and 109C within the virtualized system 111. The virtual device 211 may be created in the same or similar manner as described in U.S. Patent Application No. 15476025 filed on March 31, 2017 and later published as U.S. Patent Application Publication No. 2018-0285134-A1. The program code of the virtual device 211 may be an application code of the hardware device 109 (e.g., an avionics LRU). For example, the hardware devices 109A, 109B, and 109C may be a mission computer LRU, a flight management LRU, and a navigation LRU, respectively. The virtual devices 211A, 211B, and 211C of the one or more virtualization systems 111 may be a virtual mission computer LRU, a virtual flight management LRU, and a virtual navigation LRU, respectively. The program code may also include source code (e.g., operating system), interface code (e.g., timing and formatting), and / or interrupt logic for hardware components and communication links included in the hardware device 109.
[0024] In some implementations, the virtual devices 211 can provide vertical and / or horizontal redundancy for the hardware devices 109 and each other. Thus, in an implementation, if any hardware device 109 fails, the virtual device 211 can provide failover. For example, if the virtual device 211A determines that the corresponding hardware device 109A has not communicated for a predefined period of time, or if the virtual device 211A determines that the corresponding hardware device 109A indicates a failure event, the virtual device 211A can substitute itself into the network 121 for the hardware device 109A. In addition, in some implementations, the virtual device 211 can operate in combination with the hardware device 109. For example, each of the virtual devices 211A of the virtualization systems 111A, 111B, and 111C can perform functional cross-checks for the hardware device 109 and each other. In addition, in some implementations, each of the virtual devices 211A of the virtualization systems 111A, 111B, and 111C can be used to determine voting errors that occur between various devices 109 and 211.
[0025] Figure 3A system block diagram illustrating an example of a virtualization system 111 that may be the same or similar to the virtualization system 111 described above is shown. The virtualization system 111 includes hardware and software that performs the processes and functions disclosed herein. The virtualization system 111 may include any type of computing system that includes general and / or special-purpose hardware capable of executing installed computer program instructions. The virtualization system 111 may include a housing 301, a computing device 303, and a storage device 315. The housing 301 may substantially or completely surround the computing device 303, the input / output (I / O) device 313, and the storage device 315. In an implementation, the housing 301 may be a reinforced housing. For example, the housing 301 may be a reinforced shock-resistant, moisture-resistant, and electromagnetic interference-resistant avionics housing.
[0026] Storage device 315 may include a computer-readable non-volatile hardware storage device that stores information and program instructions. For example, storage device 315 may be one or more flash drives and / or hard disk drives. According to aspects of the present disclosure, storage device 315 may store program code ("PC") of virtual devices 317A, 317B, and 317C (e.g., virtual devices 211A, 211B, and 211C). The program code may be application software of a physical hardware device (e.g., hardware devices 109A, 109B, and 109C of physical system 105). In implementation, the program code of virtual devices 317A, 317B, and 317C roughly mirrors the program code of the corresponding physical hardware device in the same or similar manner as described in the above-mentioned U.S. patent application No. 15 / 476025 filed on March 31, 2017.
[0027] In an embodiment, the computing device 303 includes one or more processors 339 (e.g., a microprocessor, a microchip, or an application specific integrated circuit), one or more memory devices 341 (e.g., RAM, read-only memory (ROM)), one or more I / O interfaces 343, and one or more network interface devices 215. The memory device 341 may include local memory (e.g., random access memory and cache memory) used during the execution of program instructions. In addition, the computing device 303 includes at least one communication channel 344 (e.g., a data bus) through which the computing device 303 communicates with the I / O device 313 and the storage device 315. The processor 339 executes computer program instructions (e.g., an operating system and / or an application program) that may be stored in the memory device 341 and / or the storage device 315.
[0028] The processor 339 may also execute computer program instructions of a virtualization application 351 (e.g., QEMU). The virtualization application 351 may be the same or similar to the previously described virtualization application. For example, the virtualization application 351 may include a hypervisor or virtual machine monitoring software. According to aspects of the present disclosure, the virtualization application 351 may process virtual device program code 317A, 317B, 317C to provide a virtual device (e.g., virtual devices 211A, 211B, and 211C).
[0029] It should be noted that computing device 303 is representative of various possible equivalent computing devices that can perform the processes described herein. In the disclosed embodiments, program instructions and hardware can be created using a general purpose computing device using standard programming and engineering techniques, respectively.
[0030] Figure 4 The flowcharts in the drawings illustrate examples of possible functionalities and operations of systems, methods, and computer program products according to various implementations consistent with the present disclosure. Figure 4 Each block in the flowchart may represent a module, segment or portion of program instructions including one or more computer executable instructions for implementing the illustrated functions and operations. In some alternative implementations, the functions and / or operations illustrated in a particular block of the flowchart may not be arranged in a sequential manner. Figure 4 For example, two boxes shown in succession may be executed approximately simultaneously, or the boxes may sometimes be executed in the reverse order, depending on the functions involved. It should also be noted that each box of the flowchart and the combination boxes in the box can be implemented by a dedicated hardware-based system or a combination of dedicated hardware and computer instructions that performs the specified function or behavior.
[0031] Figure 4A flowchart of an exemplary process 400 including operations performed according to an embodiment of the present disclosure is illustrated. In implementation, process 400 may be used to simulate a dedicated hardware device as a virtual device using a virtualization system, and install multiple instances of the virtualization system in a physical system (e.g., an aircraft platform). More specifically, at 405, a hardware device (e.g., hardware device 109) of a physical hardware system (e.g., physical system 105) may be simulated using a virtual device (e.g., virtual device 211) of a virtualization system (virtualization system 111). For example, the hardware device may be an avionics LRU of an aircraft platform. The virtual device may include program code of the hardware device implemented in the virtualization system. The simulation step may include configuring the address space of the virtualization system (e.g., using a memory map) to match the address space of the physical hardware system and / or the virtual device. The simulation step may also include exchanging information between the virtualization system and / or the virtual device by registering memory locations using a memory map. For example, the storage address and range of the storage registers of the physical hardware system and the hardware device can be registered with the virtualization system, and the storage address and range are used to implement the function of each storage register established for the virtualization system and the virtual device. By doing so, the virtualization system and the virtual device can communicate with the computer network (e.g., computer network 121) via the memory structure of the virtualization system by reading and writing information in the same manner as the hardware device of the physical hardware system.
[0032] At 409, the virtualization system may be used to modify and test the virtual device simulated at 405 by simulating the operation of the hardware device using the virtualization system. Consistent with the examples previously described herein, the virtualization system may be modified and / or tested using an engineering, development, and / or testing system (which may be a general-purpose computing system (e.g., physical system 125) that simulates one or more of the hardware devices (e.g., hardware devices 109) or systems of such devices). In addition, as previously described, the virtualization system may be tested in combination with a target system (e.g., physical system 105) for the virtualization system. For example, the virtualization system may be used in installed system testing of an aircraft to verify and / or validate the functionality of the virtualization system.
[0033] At 413, one or more instances of the virtualization system may be installed in a physical hardware system (e.g., physical system 105). Several instances (e.g., instances of virtualization systems 111A, 111B, and 111C) of a virtualization system (which may be a copy of the virtualization system (e.g., instance 111D) tested at 409) may be installed on a target system (e.g., physical system 105) and communicatively connected in a network (e.g., network 121) of the target system. For example, an instance of the virtualization system may emulate an avionics LRU and may be incorporated into an avionics network of an operational aircraft platform. In implementation, various instances of the virtualization system may be installed at remote locations (e.g., location 112) relative to each other. This may be done to place instances of the virtualization system to avoid localized damage to one area of the aircraft from damaging all instances of the virtualization system. For example, in an aircraft, a first instance may be located at the front of the aircraft fuselage, a second instance may be located in the middle of the fuselage, and a third instance may be located at the rear of the fuselage. Additional instances may be located at other locations of the aircraft. In some implementations, at 417 , the step of installing one or more instances of the virtualization system includes removing some or all hardware devices from the operating system in order to completely replace the hardware devices and control the physical hardware system using only the virtualization system.
[0034] At 421, the virtual device installed at 413 can be used to simulate the hardware device in the physical hardware system described above. In an implementation, at 423, one or more virtualized systems installed at 413 can communicate with the device of the physical system using a network. For example, the device can be an input / output device of an aircraft platform, such as a control system (e.g., a joystick, pedals, and throttle), an input / output system (e.g., switches and buttons), a sensor (e.g., a position sensor and a pitot tube), an actuator (e.g., a servo motor), a display (e.g., a cockpit display), and a lighting device. In some implementations, at 425, the step of simulating the hardware device can include operating one or more virtual devices in parallel with one or more hardware devices. In some implementations, at 429, the step of simulating the hardware device can include performing a functional cross-check using the hardware device and / or the virtual device. In some implementations, at 433, the step of simulating the hardware device can include determining a voting error using the hardware device and / or the virtual device.
[0035] At 437, the virtual device may determine that one or more of the hardware devices and / or one or more of the virtualized systems have failed. For example, the virtual navigation LRU may detect that the corresponding hardware navigation LRU has stopped communicating, which may be caused by, for example, damage, malfunction, or power loss. At 441, the virtual device may act as a failover for the hardware device or virtualized system determined to have failed at 437. For example, damage occurring in the avionics bay of the aircraft may cause the avionics suite (e.g., hardware device 109) and the first virtualized system (e.g., virtualized system 111A) to fail. A second virtualized system (e.g., virtualized system 111B) and / or a third virtualized system (e.g., virtualized system 111C) installed on the aircraft at 413 may detect the failure of the first virtualized system and, based on such detection, begin to control the equipment of the aircraft (e.g., equipment 113). In some implementations, the first virtualized system, the second virtualized system, and the third virtualized system may have a predefined failover priority. For example, the second virtualization system is configured for failover of the first virtualization system, and the third virtualization system is configured for failover of the second virtualization system. In other implementations, the first virtualization system, the second virtualization system, and the third virtualization system operate in parallel so that if any one virtualization system fails, the remaining virtualization systems continue to operate without considering the failed virtualization system.
[0036] In addition, this disclosure includes examples according to the following clauses:
[0037] Clause 1. A method comprising the following steps: simulating (405) one or more hardware devices (109) using a virtual device (211) of a virtualization system (111), wherein the virtualization system (111) is configured to simulate the one or more hardware devices; installing (413) one or more instances of the virtualization system (111A, 111B, 111C) including the virtual device in a physical system (105); simulating (421) one or more hardware devices in the hardware devices of the physical system using one or more virtual devices in the virtual device; and communicating (423) with a device (113) of the physical system using the one or more virtual devices in the virtual device.
[0038] Clause 2. The method of clause 1, wherein the physical system comprises an aircraft platform; the hardware device comprises a line replaceable unit; and the equipment comprises an input / output device of the aircraft platform.
[0039] Clause 3. A method according to Clause 2, wherein the step of simulating one or more of the hardware devices includes the following steps: simulating the one or more of the hardware devices in the hardware devices in a second physical system (125); and the step of installing includes the following steps: transferring a copy of the virtualized system from the second physical system to the physical system.
[0040] Clause 4. A method according to Clause 1, wherein the one or more instances of the virtualization system include at least two instances of the virtualization system; and the step of installing includes the following steps: installing at least two instances of the virtualization system at locations (112) remote from each other in the physical system.
[0041] Clause 5. The method of clause 1, wherein the step of installing comprises the step of communicatively connecting the virtualization system to a computer network (121) including the hardware device.
[0042] Clause 6. The method of clause 1, wherein the step of installing comprises the step of removing the one or more of the hardware devices from the physical system.
[0043] Clause 7. The method of clause 1, wherein the step of communicating with the device comprises the step of controlling the device in a redundant manner with respect to the one or more of the hardware devices (421).
[0044] Clause 8. The method of clause 1, wherein the step of communicating comprises the step of operating a plurality of virtual devices in combination with the one or more of the hardware devices (425).
[0045] Clause 9. The method of clause 1, wherein the step of communicating with the device comprises the step of performing a functional cross-check (429) using the one or more of the hardware devices and the one or more of the virtual devices.
[0046] Clause 10. The method of clause 1, wherein the step of communicating with a physical device comprises the step of determining a voting error using the one or more of the hardware devices and the one or more of the virtual devices (433).
[0047] Clause 11. A system comprising: multiple instances of a virtualization system (111A, 111B, 111C), a computer network (121), and a device (113), wherein the virtualization system includes a processor (339) and a computer-readable storage device (315) storing program instructions (351), wherein the program instructions (351) when executed by the processor cause the virtualization system to perform operations including simulating (421) multiple dedicated computing units (109) using multiple virtual devices, the computer network (121) communicatively connecting the multiple instances of the virtualization system, and the device (113) being configured to communicate with the multiple dedicated computing units using the computer network.
[0048] Clause 12. The system of clause 11, wherein the system further comprises the plurality of special purpose computing units communicatively connected to the computer network.
[0049] Clause 13. The system of clause 12, wherein the system comprises an aircraft platform; the plurality of dedicated computing units comprises line replaceable units; and the apparatus comprises an input / output device of the aircraft platform.
[0050] Clause 14. The system of Clause 11, wherein the multiple instances of the virtualized system comprise general-purpose computing systems.
[0051] Clause 15. The system of clause 11, wherein the multiple instances of the virtualization system are installed at locations (112) in the system that are remote from each other.
[0052] Clause 16. The system of clause 11, wherein the multiple instances of the virtualization system are configured to control the device in a redundant manner across the multiple dedicated computing units.
[0053] Clause 17. The system of clause 11, wherein the plurality of instances of the virtualization system are configured to operate in combination with the plurality of dedicated computing units utilizing the plurality of virtual devices (425).
[0054] Clause 18. The system of clause 11, wherein the plurality of instances of the virtualization system are configured to perform a functional cross-check of one or more dedicated computing units utilizing the plurality of virtual devices (429).
[0055] Clause 19. The system of clause 11, wherein the plurality of instances of the virtualization system are configured to utilize the plurality of virtual devices to determine a voting error (433).
[0056] Clause 20. An aircraft platform, comprising: an avionics network (121); a plurality of line replaceable avionics units (109) communicatively connected by the avionics network; aircraft equipment (113) configured to communicate with the plurality of line replaceable avionics units using the avionics network; and a plurality of instances of a virtualization system (111A, 111B, 111C), the virtualization system comprising a processor (339) and a computer readable storage device (315) storing program instructions (351), the program instructions (351) when executed by the processor, causing the virtualization system to perform operations of simulating the plurality of line replaceable avionics units using a plurality of virtual devices, wherein the plurality of instances of the virtualization system are located remotely from each other in the aircraft platform (112); and the plurality of virtual devices are configured to operate in a redundant manner for the plurality of line replaceable units.
[0057] The present disclosure is not limited to the specific embodiments described in this application, which are intended to be illustrative of various aspects. As will be apparent to those skilled in the art, many modifications and variations may be made without departing from the spirit and scope of the present invention. According to the foregoing description, in addition to the methods and devices listed herein, functionally equivalent methods and devices within the scope of the present disclosure are apparent to those skilled in the art. Such modifications and variations fall within the scope of the appended claims. The present disclosure is limited only by the appended claims together with the equivalents of the full scope authorized by such claims. It should also be understood that the terms used herein are only for the purpose of describing specific embodiments and are not intended to be limiting.
[0058] With respect to any plural and / or singular terms used herein, those skilled in the art may translate from the plural to the singular and / or from the singular to the plural as appropriate for context and / or application. For clarity, various singular / plural permutations may be explicitly set forth herein.
[0059] Those skilled in the art will understand that, in general, terms used herein, and particularly in the appended claims (e.g., the bodies of the appended claims), are generally intended to be "open" terms (e.g., the term "including" should be interpreted as "including but not limited to," the term "having" should be interpreted as "having at least," the term "include" should be interpreted as "including but not limited to," etc.). Those skilled in the art will also understand that if a specific number of introduced claims is intended to be listed, such intent will be expressly stated in the claim, and in the absence of such listing, such intent is not present. For example, to aid understanding, the appended claims above may include the use of the introductory phrases "at least one" and "one or more" to introduce claim listings. However, the use of such phrases should not be construed as implying that a claim recitation introduced by the indefinite article "a" or "an" will limit any particular claim containing such introduced claim recitation to embodiments containing only one such recitation, even if the same claim includes the introductory phrases "one or more" or "at least one" and an indefinite article such as "a" or "an" (e.g., "a" or "an" should be interpreted to mean "at least one" or "one or more"); the same is true for the use of definite articles used to introduce claim recitations. In addition, even if an introduced claim explicitly states a specific number of recitations, one skilled in the art will recognize that such recitation should be interpreted to mean at least the stated number (e.g., a bare recitation of "two recitations" without other modifiers means at least two recitations, or two or more recitations). Furthermore, in those instances where a convention similar to “at least one of A, B, and C, etc.” is used, generally, such syntactic structure is expected to be understood by those skilled in the art in the sense of such convention (e.g., “a system having at least one of A, B, and C” should include but is not limited to systems having A alone, B alone, C alone, A and B together, A and C together, B and C together, and / or A, B, and C together, etc.). In those instances where a convention similar to “at least one of A, B, or C, etc.” is used, generally, such syntactic structure is expected to be understood by those skilled in the art in the sense of such convention (e.g., “a system having at least one of A, B, or C” should include but is not limited to systems having A alone, B alone, C alone, A and B together, A and C together, B and C together, and / or A, B, and C together, etc.). Those skilled in the art should also understand that, in practice, any transitional words and / or phrases presenting two or more alternative terms (whether in the specification, claims, or drawings) should be understood to contemplate the possibility of including one, either, or both of these terms.For example, the phrase "A or B" should be understood to include the possibilities of "A" or "B" or "A and B." In addition, where features or aspects of the disclosure are described in terms of Markush groups, those skilled in the art will recognize that the disclosure is also thereby described in terms of any individual member or group of members of the Markush group.
[0060] While various aspects and embodiments are disclosed herein, other aspects and embodiments will be apparent to those skilled in the art. The various aspects and embodiments disclosed herein are for purposes of illustration and are not intended to be limiting, with the true scope and spirit being indicated by the following claims.
Claims
1. A method for simulating one or more hardware devices included in an aircraft platform of a first physical system using a virtual device of a virtualization system, the method comprising the following steps: emulating the one or more hardware devices as one or more virtual devices of one or more virtualization systems on a second physical system using the virtual devices of the virtualization systems; transferring a copy of the one or more virtualized systems from the second physical system to the first physical system; installing the copy of the one or more virtualized systems including the one or more virtual devices in the first physical system; emulating the one or more hardware devices of the first physical system using the one or more virtual devices of the replica; as well as utilizing the one or more virtual devices to communicate with a device of the second physical system, The step of communicating with the device comprises the following steps: performing a functional cross-check using the one or more virtual devices of the one or more virtualized systems of the replica installed in the first physical system and corresponding hardware devices of the one or more hardware devices in the first physical system; If the one or more virtual devices of the one or more virtualization systems of the replica determine that the corresponding hardware device has not communicated for a predefined period of time, or if the one or more virtual devices of the one or more virtualization systems of the replica determine that the corresponding hardware device indicates a failure event, the one or more virtual devices of the one or more virtualization systems of the replica substitute into the computer network including the corresponding hardware device, so that the one or more virtual devices of the one or more virtualization systems of the replica are communicatively connected to the computer network including the corresponding hardware device.
2. The method according to claim 1, wherein: The one or more instances of the virtualization system include at least two instances of the virtualization system; The step of installing includes the step of installing the at least two instances of the virtualized system at locations remote from each other in the physical system.
3. The method according to claim 1, wherein: The step of communicating with the device includes the step of controlling the device in a redundant manner with the one or more of the hardware devices.
4. The method according to claim 1, wherein: The step of communicating includes the step of operating a plurality of virtual devices in combination with the one or more of the hardware devices.
5. A physical system, comprising: one or more hardware devices included in an aircraft platform as a first physical system of the physical systems; One or more instances of a virtualization system, each of the virtualization systems comprising a processor and a computer-readable storage device storing program instructions, the program instructions, when executed by the processor, causing the virtualization system to perform the following operations: emulating the one or more hardware devices as one or more virtual devices of one or more virtualization systems on a second physical system using virtual devices of the virtualization system; transferring a copy of the one or more virtualized systems from the second physical system to the first physical system; installing the copy of the one or more virtualized systems including the one or more virtual devices in the first physical system; emulating the one or more hardware devices of the first physical system using the one or more virtual devices of the replica; as well as utilizing the one or more virtual devices to communicate with a device of the second physical system, The step of communicating with the device comprises the following steps: performing a functional cross-check using the one or more virtual devices of the one or more virtualized systems of the replica installed in the first physical system and corresponding hardware devices of the one or more hardware devices in the first physical system; If the one or more virtual devices of the one or more virtualization systems of the replica determine that the corresponding hardware device has not communicated for a predefined period of time, or if the one or more virtual devices of the one or more virtualization systems of the replica determine that the corresponding hardware device indicates a failure event, the one or more virtual devices of the one or more virtualization systems of the replica substitute into the computer network including the corresponding hardware device, so that the one or more virtual devices of the one or more virtualization systems of the replica are communicatively connected to the computer network including the corresponding hardware device.
6. The physical system of claim 5, wherein: The system includes an aircraft platform; The one or more hardware devices include a line replaceable unit; and The apparatus comprises an input / output device of the aircraft platform.
7. The physical system according to claim 5, wherein: The one or more instances of the virtualization system include a general purpose computing system.
8. The physical system according to claim 5, wherein: The one or more instances of the virtualization system are configured to at least one of: are mounted at locations in the system that are remote from each other; controlling the device in a redundant manner with respect to the one or more hardware devices; and The plurality of virtual devices are utilized to operate in combination with the one or more hardware devices.
Citation Information
Patent Citations
Emulation of hardware components
US20180285134A1