US 11,693,674 B2
Providing user interface (UI) elements having an ordered hierarchy of graphical control elements in virtual machine sessions at reduced latency and related methods
Georgy Momchilov, Parkland, FL (US)
Assigned to Citrix Systems, Inc., Fort Lauderdale, FL (US)
Filed by CITRIX SYSTEMS, INC., Fort Lauderdale, FL (US)
Filed on Dec. 13, 2021, as Appl. No. 17/643,882.
Application 17/643,882 is a continuation of application No. 16/365,773, filed on Mar. 27, 2019, granted, now 11,281,478.
Prior Publication US 2022/0100538 A1, Mar. 31, 2022
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 9/451 (2018.01); G06F 16/957 (2019.01); G06F 3/0481 (2022.01); G06F 9/455 (2018.01)
CPC G06F 9/451 (2018.02) [G06F 3/0481 (2013.01); G06F 9/45558 (2013.01); G06F 16/9574 (2019.01); G06F 2009/45595 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A computing system operable to run virtual machine sessions from a virtualization server and provide a hosted application, comprising:
at least one client computing device configured to access the hosted application during one of the virtual machine sessions with the virtualization server and receive therefrom a hierarchical tree of user interface (UI) elements that include an ordered hierarchy of graphical control elements when sequenced therethrough and are enumerated at a top-level as a root element in a control view using a tag index of each control element, wherein the at least one client computing device is configured to perform the following:
display some of the UI elements from the hierarchical tree locally as local virtual UI elements and based upon the received hierarchical tree, maintain the other UI elements hidden,
apply user input as a tab or arrow key entry to one of the displayed UI elements as a graphical control element, and
generate a local virtual UI element graphics overlay and display the local virtual UI element to which user input had been applied and one or more previously hidden UI elements as a graphical control element corresponding to a predicted response to the user input of the tab or arrow key entry;
send the user input of the tab or arrow key entry to said virtualization server; and
receive an updated UI element graphics from the virtualization server corresponding to an actual response to the user input of the tab or arrow key entry and replace at least a portion of the local virtual UI element graphics overlay with the received updated UI element graphics, and repeat the tab or arrow key entry for a next graphical control element in the ordered hierarchy of graphical control elements.