## 3 Results
### Experiments and Evaluation Scenarios
#### 3.5.2 Second Evaluation Scenario: Multiple Clients Simultaneously Interact with the Holo-Cloud  
To evaluate the performance, stability, and reliability of the Holo-Cloud platform in resource-intensive situations, connecting with multiple clients is necessary. Implementing this evaluation scenario was challenging due to the inability to provide numerous clients because of their high price point. To overcome this issue, we have utilized the Microsoft HoloLens 2 emulator [65]. HoloLens 2 emulator is a free software that provides a virtual environment to run holographic and XR applications for development, testing, and quality assurance purposes. The environmental and user input gestures are simulated from the host computer input devices, such as the mouse, keyboard, and microphone, and then sent to HoloLens 2 emulator virtual sensors. One noticeable difference between a real HoloLens 2 HMD and a HoloLens 2 emulator is the inability of the HoloLens 2 emulator to receive the camera feed from the host device, so a black screen is shown as the background instead of the camera feed (Figure 7). This limitation will not impact the evaluation of the Holo-Cloud platform because the client software camera feed is not processed by the FI3D server software. For this emulator setup, a virtual machine with the necessary software applications to run the HoloLens 2 emulator was set up. Then, this virtual machine was cloned multiple times to provide multiple instances of HoloLens 2 emulators. Figure 5: Memory utilization of the server software in the first experiment. The blue solid line is memory utilization and the red horizontal dashed line is the maximum memory utilization. Figure 6: TCP packet transmission rate during the first experiment. The blue solid line is transmitted TCP packets per second. For the multiple connected client scenario, two CPU cores with 4 gigabytes of memory were allocated to the Holo-Cloud virtual machine to handle multiple connections. Increasing the number of CPU cores (compared to the resource allocation in the first scenario) is a very easy and efficient process in Holo-Cloud, owing to the cloud infrastructure features. The cloud infrastructure provider immediately provides the demanded CPU cores to the virtual machine. The Holo-Cloud performance is evaluated when the clients are connected to the cloud server, open and load the cardiac MRI study (Figure 8), and interact with the server by adjusting the CINE MRI sequence. In this scenario, we used one real Microsoft HoloLens 2 HMD and four HoloLens 2 emulator virtual machines. The network utilization of the clients and the server software process is reported in Table 2. The server software received 66.483 kilobytes of data from the clients and sent 58,395.51 kilobytes of data to the clients as a response to the requests and content. The maximum internet speed and end-to-end average data transfer speed of each end were greater than the maximum send and receive rate of the server software. This ensured no network-caused delay in the Holo-Cloud environment. Figure 8: Screenshot of the study on the server while five clients are connected. Figure 7: **(a)** Holo-Cloud test environment, including the viewer wearing a HoloLens 2 HMD at a residential complex and four HoloLens 2 emulators running on a server computer located at a remote location (MRI LAB at the University of Houston). The user had remote access to the emulators for viewing and management. **(b)** Field of view of the viewer from the HoloLens 2 see-through display while performing the test. Figure 9 shows the CPU utilization of the software process in this test scenario. Loading the study data was the most demanding task, which needed almost half of the CPU processing power; however, this measurement returned to normal after the load process finished. Moreover, while playing the CINE MRI study animation, CPU utilization increased. The least demanding task was serving the clients' request to register with the server at the beginning of the test.