IP Library Granted Patent US 11,487,398
Granted Patent B1
US 11,487,398 · App. 17/454,102 · Granted Nov 1, 2022

Computing device with window docking and related systems and methods

Inventors: Daowen Wei (Jiangsu, CN); Jian Ding (Jiangsu, CN); Hengbo Wang (Jiangsu, CN); Yanjun Su (Jiangsu, CN)
Assignee: CITRIX SYSTEMS, INC.
G06F3/0481G06F2203/04803
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 11,487,398
App. No.
17/454,102
Granted
Nov 1, 2022
Kind
B1
Abstract

A computing device may include a display, and a processor coupled to the display and configured to generate a GUI current screen on the display. The GUI current screen may include a first window and a second window docked to the first window, the second window overlapping the first window. The processor may be configured to determine an interaction region in the first window based upon user input in the first window, determine a ratio of overlap between the first window and the second window, and resize the second window based upon the ratio of overlap and so that the second window does not overlap the interaction region.

Claims (63)

1. A computing device comprising:

a display;

a processor coupled to the display and configured to

generate a graphical user interface (GUI) current screen on the display, the GUI current screen comprising a first window and a second window docked to the first window, the second window overlapping the first window,

determine an interaction region in the first window based upon user input in the first window,

determine a ratio of overlap between the first window and the second window, and

resize the second window based upon the ratio of overlap and so that the second window does not overlap the interaction region.

2. The computing device of claim 1 wherein the processor is configured to when the ratio of overlap is less than a first threshold, retain an original size for the second window, and otherwise when the ratio of overlap is less than a second threshold greater than the first threshold, resize the second window until the ratio of overlap is less than the first threshold.

3. The computing device of claim 2 wherein the processor is configured to, when the ratio of overlap is greater than the second threshold:

divide the GUI current screen into a plurality of different content regions, each different content region having a region size value, and a region position value,

classify each of the plurality of different content regions as a content type from among a plurality of different content types; and

generate a new window position value for the second window based upon the respective region size values, the respective region position values, and the respective content types of the plurality of different content regions.

4. The computing device of claim 3 wherein the processor is configured to merge adjacent different content regions with a same content type.

5. The computing device of claim 3 wherein the processor is configured to:

classify the second window as a content type from among the plurality of different content types; and

resize the second window based upon a threshold size for the second window, the threshold size for the second window being based upon a content type of the second window.

6. The computing device of claim 5 wherein the processor is configured to, when the second window is at the threshold size for a time period greater than a set time period:

determine a distance between the interaction region and the second window; and

when the distance between the interaction region and the second window is greater than a threshold distance, resize the second window to an original size for the second window.

7. The computing device of claim 5 wherein the plurality of different content types comprises a transient content type, a static content type, and a blank content type.

8. The computing device of claim 7 wherein the classifying comprises masking the GUI current screen with a background image, and classifying matching content regions as the blank content type.

9. The computing device of claim 1 wherein the processor is configured to:

generate a heat map of historical user input in the first window; and

when the heat map is greater in size than the interaction region, scale up the interaction region to encompass the heat map.

10. The computing device of claim 1 wherein the processor is configured to determine the interaction region based upon a cursor position.

11. A computing system comprising:

at least one server configured to provide a virtual computing session comprising a graphical user interface (GUI); and

a client computing device in communication with the at least one server and configured to access the virtual computing session via a communications network, and display a GUI current screen comprising a first window and a second window docked to the first window, the second window overlapping the first window;

the at least one server configured to

determine an interaction region in the first window based upon user input in the first window,

determine a ratio of overlap between the first window and the second window, and

resize the second window based upon the ratio of overlap and so that the second window does not overlap the interaction region.

12. The computing system of claim 11 wherein the at least one server is configured to when the ratio of overlap is less than a first threshold, retain an original size for the second window, and otherwise when the ratio of overlap is less than a second threshold greater than the first threshold, resize the second window until the ratio of overlap is less than the first threshold.

13. The computing system of claim 12 wherein the at least one server is configured to, when the ratio of overlap is greater than the second threshold:

divide the GUI current screen into a plurality of different content regions, each different content region having a region size value, and a region position value,

classify each of the plurality of different content regions as a content type from among a plurality of different content types; and

generate a new window position value for the second window based upon the respective region size values, the respective region position values, and the respective content types of the plurality of different content regions.

14. The computing system of claim 13 wherein the at least one server is configured to merge adjacent different content regions with a same content type.

15. The computing system of claim 13 wherein the at least one server is configured to:

classify the second window as a content type from among the plurality of different content types; and

resize the second window based upon a threshold size for the second window, the threshold size for the second window being based upon a content type of the second window.

16. The computing system of claim 15 wherein the at least one server is configured to, when the second window is at the threshold size for a time period greater than a set time period:

determine a distance between the interaction region and the second window; and

when the distance between the interaction region and the second window is greater than a threshold distance, resize the second window to an original size for the second window.

17. The computing system of claim 15 wherein the plurality of different content types comprises a transient content type, a static content type, and a blank content type.

18. The computing system of claim 17 wherein the classifying comprises masking the GUI current screen with a background image, and classifying matching content regions as the blank content type.

19. The computing system of claim 11 wherein the at least one server is configured to:

generate a heat map of historical user input in the first window; and

when the heat map is greater in size than the interaction region, scale up the interaction region to encompass the heat map.

20. The computing system of claim 11 wherein the at least one server is configured to determine the interaction region based upon a cursor position.

21. A method of operating a graphical user interface (GUI) on a display, the GUI comprising a GUI current screen comprising a first window and a second window docked to the first window, the second window overlapping the first window, the method comprising:

determining an interaction region in the first window based upon user input in the first window;

determining a ratio of overlap between the first window and the second window; and

resizing the second window based upon the ratio of overlap and so that the second window does not overlap the interaction region.

22. The method of claim 21 further comprising when the ratio of overlap is less than a first threshold, retaining an original size for the second window, and otherwise when the ratio of overlap is less than a second threshold greater than the first threshold, resizing the second window until the ratio of overlap is less than the first threshold.

23. The method of claim 22 further comprising, when the ratio of overlap is greater than the second threshold:

dividing the GUI current screen into a plurality of different content regions, each different content region having a region size value, and a region position value,

classifying each of the plurality of different content regions as a content type from among a plurality of different content types; and

generating a new window position value for the second window based upon the respective region size values, the respective region position values, and the respective content types of the plurality of different content regions.

24. The method of claim 23 further comprising merging adjacent different content regions with a same content type.

25. The method of claim 23 further comprising:

classifying the second window as a content type from among the plurality of different content types; and

resizing the second window based upon a threshold size for the second window, the threshold size for the second window being based upon a content type of the second window.

Assignments (9)
PATENT SECURITY AGREEMENT Recorded Aug 15, 2025
From: CLOUD SOFTWARE GROUP, INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 072488/0172 →
SECURITY INTEREST Recorded May 24, 2024
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 067662/0568 →
RELEASE AND REASSIGNMENT OF SECURITY INTEREST IN PATENT (REEL/FRAME 062113/0001) Recorded Apr 14, 2023
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: CITRIX SYSTEMS, INC.; CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.)
Reel/Frame 063339/0525 →
PATENT SECURITY AGREEMENT Recorded Apr 14, 2023
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 063340/0164 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062112/0262 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 062113/0001 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 062113/0470 →
SECURITY INTEREST Recorded Sep 30, 2022
From: CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 062079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2021
From: WEI, DAOWEN; DING, JIAN; SU, YANJUN; WANG, HENGBO
To: CITRIX SYSTEMS, INC.
Reel/Frame 058074/0800 →
Continuity (1)
Continuation PCTCN2021123388 · Oct 13, 2021
Cited By (2)
US 12,585,376 US 12,591,348