US 11,722,550 B2
Sharing an input device between remote desktops of multiple client devices
Lin Lv, Beijing (CN); Yunfei San, Beijing (CN); Yunxia Cheng, Beijing (CN); Jack Liu, Beijing (CN); Ning Ke, Northborough, MA (US); Yang Liu, Beijing (CN); and Jian Ken Song, Beijing (CN)
Assigned to VMware, Inc., Palo Alto, CA (US)
Filed by VMware, Inc., Palo Alto, CA (US)
Filed on Aug. 8, 2019, as Appl. No. 16/535,685.
Claims priority of application No. PCT/CN2019/094597 (WO), filed on Jul. 3, 2019.
Prior Publication US 2021/0006615 A1, Jan. 7, 2021
Int. Cl. H04L 29/08 (2006.01); G06F 9/451 (2018.01); G06F 9/455 (2018.01); H04L 67/025 (2022.01)
CPC H04L 67/025 (2013.01) [G06F 9/452 (2018.02); G06F 9/45533 (2013.01)] 17 Claims
OG exemplary drawing
 
1. A method of processing inputs made with an input device that is shared between a first remote desktop having a first display image, which is displayed on a first display of a first client device, and a second remote desktop having a second display image, which is displayed on a second display of a second client device, said method comprising:
establishing a first communication channel between the first client device and a first remote computing device that is hosting the first remote desktop;
establishing second and third communication channels between the second client device and a second remote computing device that is hosting the second remote desktop;
sending events generated by the input device from the first client device to the first remote computing device through the first communication channel, and events generated by the second client device to the second remote computing device through the second communication channel;
detecting movement of an input pointer of the input device currently displayed within the first display image on the first display across a virtual boundary between the first remote desktop and the second remote desktop;
in response to detecting the movement of the input pointer:
instructing the first client device and the first remote computing device to discontinue using the first communication channel;
establishing a fourth communication channel between the first client device and a second remote computing device that is hosting the second remote desktop; and
instructing the second client device and the second remote computing device to discontinue using the second communication channel;
sending the events generated by the input device from the first client device to the second remote computing device through the fourth communication channel; and
transmitting the second display image from the second remote computing device to the second client device through the third communication channel.