IP Library › Granted Patent US 11,036,525
Granted Patent B2
US 11,036,525 · App. 16/403,056 · Granted Jun 15, 2021

Computer system providing hierarchical display remoting optimized with user and system hints and related methods

Inventor: Georgy Momchilov (Parkland, FL)
Assignee: CITRIX SYSTEMS, INC.
G06F9/452G06F3/0488G06F9/3877G06F9/45558G06F9/544H04L1/004H04L1/0057H04L47/27H04L47/624H04L65/80H04L67/08H04L67/14H04L67/38H04L67/42G06F3/0484G06F2009/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 11,036,525
App. No.
16/403,056
Filed
May 3, 2019
Granted
Jun 15, 2021
Kind
B2
Art Unit
2453
USPC
709/203
Abstract

A computing device may include a memory and a processor cooperating with the memory to host virtual computing sessions to be remotely displayed at a client device via a frame buffer, with the client device being configured to render the virtual computing sessions via a graphical user interface (GUI). The computing device may further detect regions of interactive graphics within a virtual computing session based upon a virtual session input and without analyzing the frame buffer, assign a higher priority to the regions of interactive graphics than other content within the frame buffer, and send the contents of the frame buffer to the client device for rendering in the GUI based upon the assigned priority.

Claims (36)

1. A computing device comprising:

a memory and a processor cooperating with the memory to

host virtual computing sessions to be remotely displayed at a client device via a frame buffer, the client device configured to render the virtual computing sessions via a graphical user interface (GUI),

classify graphics data, based upon a virtual session input, to be stored within the frame buffer as interactive graphics data defining regions of interactive graphics or other graphics data;

assign a first priority to the interactive graphics data and a second priority to the other graphics data, the first priority being higher than the second priority, and

send the graphics data from the frame buffer to the client computing device for rendering in the GUI so that the interactive graphics data defining regions of interactive graphics and having the first priority is rendered before the other graphics data having the second priority.

2. The computing device of claim 1 further configured to capture the virtual session input.

3. The computing device of claim 1 wherein the virtual session input comprises a window pattern event.

4. The computing device of claim 1 wherein the virtual session input comprises a scroll pattern event.

5. The computing device of claim 1 wherein the virtual session input comprises a text pattern input data.

6. The computing device of claim 5 wherein the processor is further configured to asynchronously send the text pattern input data to the client device for rendering prior to rendering of corresponding graphics data from the frame buffer.

7. The computing device of claim 5 wherein the text pattern input data comprises text data and associated text metadata; and wherein the text metadata comprises at least one of font type, font size, foreground color, background color, italic, bold, underline, and line spacing.

8. The computing device of claim 5 wherein the text pattern input data corresponds to a text pattern within a scroll container.

9. The computing device of claim 1 wherein the processor is configured to send the interactive graphics data within the frame buffer having the first priority with a different level of forward error correction (FEC) than the other graphics data within the frame buffer having the second priority.

10. The computing device of claim 1 wherein the processor is configured to send the interactive graphics data within the frame buffer having the first priority via a different virtual channel than the other graphics data within the frame buffer having the second priority.

11. The computing device of claim 10 wherein the processor is configured to send the interactive graphics data having the first priority from the frame buffer to the client computing device via a first channel, and send the other graphics data having the second priority from the frame buffer to the client computing device via a second channel.

12. The computing device of claim 1 wherein the processor classifies the graphics data without analyzing data within the frame buffer.

13. A method comprising:

hosting virtual computing sessions at a computing device to be remotely displayed at a client device via a frame buffer, the client device being configured to render the virtual computing sessions via a graphical user interface (GUI);

classify graphics data, based upon a virtual session input, to be stored within the frame buffer as interactive graphics data defining regions of interactive graphics or other graphics data;

assigning a first priority to the interactive graphics data and a second priority to the other graphics data at the computing device, the first priority being higher than the second priority; and

sending the graphics data from the frame buffer to the client device for rendering in the GUI so that the interactive graphics data defining regions of interactive graphics and having the first priority is rendered before the other graphics data having the second priority.

14. The method of claim 13 wherein the virtual session input comprises a window pattern event.

15. The method of claim 13 wherein the virtual session input comprises a scroll pattern event.

16. The method of claim 13 wherein the virtual session input comprises a text pattern input data.

17. A computing system comprising:

a server configured to host virtual computing sessions and remotely display the virtual computing sessions via a frame buffer; and

a client device configured to remotely access virtual computing sessions from the server via a graphical user interface (GUI);

wherein the server is further configured to

classify graphics data, based upon a virtual session input, to be stored within the frame buffer as interactive graphics data defining regions of interactive graphics or other graphics data;

assign a first priority to the regions of interactive graphics data and a second priority to the other graphics data, and

send the graphics data from the frame buffer to the client device for rendering in the GUI so that the interactive graphics data defining regions of interactive graphics and having the first priority is rendered before the other graphics data having the second priority.

18. The computing system of claim 17 wherein the server is further configured to capture the virtual session input.

19. The computing system of claim 17 wherein the wherein the virtual session input comprises a window pattern event.

20. The computing system of claim 17 wherein the wherein the virtual session input comprises a scroll pattern event.

21. The computing system of claim 17 wherein the wherein the virtual session input comprises a text pattern input data.

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 →
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 →
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 Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062112/0262 →
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 →
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 →
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 May 6, 2019
From: MOMCHILOV, GEORGY
To: CITRIX SYSTEMS, INC.
Reel/Frame 049091/0229 →
Continuity (2)
Provisional Application 62667072 · May 4, 2018
Related Publication 20190339997A1 · Nov 7, 2019
Cited By (2)
US 12,407,444 US 12,506,878