IP Library › Granted Patent US 12,189,517
Granted Patent B2
US 12,189,517 · App. 18/348,625 · Granted Jan 7, 2025

Virtualization of complex networked embedded systems

Inventors: Philip Watson (Lake Forest, CA); Steven Bates (Mission Viejo, CA); Shankar L Shastry (Irvine, CA); Samir Lad (Dublin, CA); Anand Desikan (San Ramon, CA)
Assignee: Panasonic Avionics Corporation
G06F11/3664G06F8/60G06F9/455G06F9/45558G06F11/261G06F11/3457G06F11/3684G06F11/3688G06F2009/45562G06F2009/45595
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,189,517
App. No.
18/348,625
Granted
Jan 7, 2025
Kind
B2
Abstract

A testing and verification system for an equivalent physical configuration of an in-flight entertainment and communications system with one or more hardware components includes a virtual machine manager. One or more virtual machines each including a hardware abstraction layer is instantiated by the virtual machine manager according to simulated hardware component definitions corresponding to the equivalent physical configuration of the hardware components. The virtual machines are in communication with each other over virtual network connections. A test interface to the one or more virtual machines generate test inputs to target software applications installed on the virtual machines. A display interface is connected to the virtual machines, with results from the execution of the target software applications responsive to the test inputs are output thereto.

Claims (36)

1. A method of simulating an in-flight entertainment system on a cloud computing platform, the method comprising:

instantiating, on the cloud computing platform, virtual machines, each virtual machine matching performance of a corresponding physical counterpart of networked computing resources of the in-flight entertainment system;

linking the virtual machines over one or more virtual network connections based upon network connection definitions, at least one of the one or more virtual network connections matched with a network performance parameter of a corresponding one of physical network links of the networked computing resources;

initiating, by running a test script, an execution of one or more target software applications on a respective virtual machine; and

comparing outputs from the execution of the one or more target software applications to corresponding one or more virtual output displays and expected screen states.

2. The method of claim 1 , wherein the each virtual machine includes a hardware abstraction layer that simulates a central processing unit type, a central processing unit speed, a random access memory capacity, a secondary storage drive speed, or a secondary storage drive capacity.

3. The method of claim 1 , wherein the network performance parameter comprises a video decoding support, a video encoding support, an encryption acceleration, or a remote direct memory access to and from a secondary storage drive.

4. The method of claim 1 , wherein the one or more virtual network connections are defined by one or more network connection definitions comprising a network speed, a network type, or a network error rates.

5. The method of claim 1 , further comprising:

generating test inputs from a testing and verification platform, the test inputs being provided to the one or more target software applications by the test script.

6. The method of claim 5 , wherein the test inputs comprise input data that is time varying and is selected at a time of running of a test by the test script.

7. The method of claim 1 , further comprising:

generating an alarm based detecting that the outputs from the execution of the one or more target software applications do not match to corresponding one or more virtual output displays and target screen states.

8. The method of claim 1 , wherein the network connection definitions are received in real-time.

9. The method of claim 1 , wherein each of the virtual machine includes an operating system loaded thereon matching an operating system loaded on a corresponding one of the networked computing resources.

10. The method of claim 1 , wherein the networked computing resources are configured to implement at least one of an in-flight entertainment and communications (IFEC) server, a content server, or a smart monitor.

11. A data processing device including a storage storing instructions that are configured to perform method of simulating an in-flight entertainment system on a cloud computing platform, the method comprising:

instantiating, on the cloud computing platform, virtual machines, each virtual machine matching performance of a corresponding physical counterpart of networked computing resources of the in-flight entertainment system;

linking the virtual machines over one or more virtual network connections based upon network connection definitions, at least one of the one or more virtual network connections matched with a network performance parameter of a corresponding one of physical network links of the networked computing resources;

initiating, by running a test script, an execution of one or more target software applications on a respective virtual machine; and

comparing outputs from the execution of the one or more target software applications to corresponding one or more virtual output displays and expected screen states.

12. The data processing device of claim 11 , wherein the each virtual machine includes a hardware abstraction layer that simulates a central processing unit type, a central processing unit speed, a random access memory capacity, a secondary storage drive speed, or a secondary storage drive capacity.

13. The data processing device of claim 11 , wherein the network performance parameter comprises a video decoding support, a video encoding support, an encryption acceleration, or a remote direct memory access to and from a secondary storage drive.

14. The data processing device of claim 11 , wherein the one or more virtual network connections are defined by one or more network connection definitions comprising a network speed, a network type, or a network error rates.

15. The data processing device of claim 11 , wherein the method further includes:

generating test inputs from a testing and verification platform, the test inputs being provided to the one or more target software applications by the test script.

16. The data processing device of claim 15 , wherein the test inputs comprise input data that is time varying and is selected at a time of running of a test by the test script.

17. The data processing device of claim 11 , wherein the method further includes:

generating an alarm based detecting that the outputs from the execution of the one or more target software applications do not match to corresponding one or more virtual output displays and target screen states.

18. The data processing device of claim 11 , wherein the network connection definitions are received in real-time.

19. The data processing device of claim 11 , wherein each of the virtual machine includes an operating system loaded thereon matching an operating system loaded on a corresponding one of the networked computing resources.

20. A non-transitory program storage medium storing instructions executable by a data processing device, the instructions, upon execution, causing the data processing device to implement a method, comprising:

instantiating, on a cloud computing platform, virtual machines, each virtual machine matching performance of a corresponding physical counterpart of networked computing resources of an in-flight entertainment system;

linking the virtual machines over one or more virtual network connections based upon network connection definitions, at least one of the one or more virtual network connections matched with a network performance parameter of a corresponding one of physical network links of the networked computing resources;

initiating, by running a test script, an execution of one or more target software applications on a respective virtual machine; and

comparing outputs from the execution of the one or more target software applications to corresponding one or more virtual output displays and expected screen states.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2023
From: WATSON, PHILIP; BATES, STEVEN; SHASTRY, SHANKAR; LAD, SAMIR; DESIKAN, ANAND
To: PANASONIC AVIONICS CORPORATION
Reel/Frame 064328/0198 →
Continuity (4)
Continuation 18046374 · Oct 13, 2022
Continuation 16697053 · Nov 26, 2019
Provisional Application 62826839 · Mar 29, 2019
Related Publication 20230350787A1 · Nov 2, 2023
References Cited (22)
US 8615384B2 · Angus et al. · 2013 [cited by applicant]
US 8798972B2 · English et al. · 2014 [cited by applicant]
US 9213513B2 · Hartz · 2015 [cited by examiner]
US 9384028B1 · Felstaine · 2016 [cited by examiner]
US 10320650B2 · Lee · 2019 [cited by examiner]
US 11474929B2 · Watson et al. · 2022 [cited by applicant]
US 20080059556A1 · Greenspan · 2008 [cited by examiner]
US 20100175108A1 · Protas · 2010 [cited by examiner]
US 20100199351A1 · Protas · 2010 [cited by examiner]
US 20130155083A1 · McKenzie · 2013 [cited by examiner]
US 20140351810A1 · Pratt · 2014 [cited by examiner]
US 20160359769A1 · Wang · 2016 [cited by examiner]
US 20170366395A1 · Goldfarb · 2017 [cited by examiner]
US 20180131578A1 · Cui · 2018 [cited by examiner]
US 20180324227A1 · Sharma · 2018 [cited by examiner]
US 20190089589A1 · Huang · 2019 [cited by examiner]
US 20190213104A1 · Qadri · 2019 [cited by examiner]
US 20190215200A1 · Uberoy · 2019 [cited by examiner]
US 20200310947A1 · Watson et al. · 2020 [cited by applicant]
US 20230072149A1 · Watson et al. · 2023 [cited by applicant]
Jones et al. “Scalability of VM Provisioning Systems,” 2016 IEEE High Performance Extreme Computing Conference (HPEC), 2016, pp. 1-5, doi: 10-1109/HPEC.2016-.7761629. 2016. [cited by applicant]
Krsul et al. “VMPlants: Providing and Managing Virtual Machine Execution Environments for Grid Computing,” SC '04: Proceedings of the 2004 ACM/IEEE Conference on Supercomputing, Pittsburgh, PA, USA, 2004, pp. 7-7, dol: … [cited by applicant]