IP Library Granted Patent US 8,572,162
Granted Patent B2
US 8,572,162 · App. 12/325,538 · Granted Oct 29, 2013

Adaptive screen painting to enhance user perception during remote management sessions

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 8,572,162
App. No.
12/325,538
Granted
Oct 29, 2013
Kind
B2
Abstract

Systems and methods are presented for screen painting updates on a client display to reflect changes in a remote server display. According to a method embodiment, an FBUR is sent from a virtual network computing (VNC) client through a network connection to the VNC server. The FBUR requests the VNC server to identify changes in a display of the VNC server. An FBU is received from the VNC server at the VNC client. The FBU identifies changes in the display of the VNC server. A screen painting algorithm implemented by the VNC client to update a display of the VNC client is dynamically modified based on a speed of the network connection. The display of the VNC client is updated using the screen painting algorithm.

Claims (40)

1. A method, comprising:

sending a FrameBufferUpdateRequest (FBUR) from a virtual network computing (VNC) client through a network connection to a VNC server, wherein the FBUR requests the VNC server to identify changes in a display of the VNC server and the identified changes are less than all of the display of the VNC server;

receiving a FrameBufferUpdate (FBU) from the VNC server at the VNC client, wherein the FBU identifies the changes in the display of the VNC server, and wherein the VNC client implements a screen painting algorithm capable of using more than one painting scheme for painting a display of the VNC client with the changes in the display of the VNC server identified by the FBU; and

dynamically adapting the screen painting algorithm implemented by the VNC client to update the display of the VNC client based on a speed of the network connection, and updating the display of the VNC client using the screen painting algorithm, wherein dynamically updating the screen painting algorithm includes changing a painting scheme used by the screen painting algorithm for painting a display of the VNC client with the changes in the display of the VNC server identified by the FBU.

2. The method of claim 1 , further comprising:

counting a number of FBURs sent from the VNC client to the VNC server; and

determining the speed of the network when a number of FBURs exceed a predetermined number of FBURs.

3. The method of claim 1 , further comprising determining a bandwidth of the network connection, wherein dynamically adapting the screen painting algorithm includes dynamically adapting the screen painting algorithm based on the bandwidth of the network connection.

4. The method of claim 3 , wherein dynamically adapting the screen painting algorithm includes, for a first network bandwidth, processing all changes in the FBU before painting the screen to update the display of the VNC client.

5. The method of claim 4 , further comprising, after painting the screen to update the display, waiting for a predetermined timer to expire before sending another FBUR.

6. The method of claim 5 , wherein the predetermined timer is on the order of 80 milliseconds.

7. The method of claim 3 , wherein dynamically adapting the screen painting algorithm includes, for a second network bandwidth, processing each change in the FBU and painting the screen to update the display of the VNC client before processing the next change in the FBU.

8. The method of claim 1 , further comprising detecting the speed of a network connection between the VNC client and a VNC server, wherein dynamically adapting the screen painting algorithm based on the speed of the network connection includes dynamically adapting the screen painting algorithm based on the detected speed of the network connection.

9. The method of claim 1 , wherein updating the display of the VNC client using the screen painting algorithm includes updating the display at a rate approximately 12 or 13 times per second.

10. A method, comprising:

detecting a speed of a network connection between a virtual network computing (VNC) client and a VNC server, wherein detecting the speed of the network connection includes determining a bandwidth of the network connection;

sending a FrameBufferUpdateRequest (FBUR) from the VNC client to the VNC server, wherein the FBUR requests the VNC server to identify changes in a display of the VNC server and the identified changes are less than all of the display of the VNC server;

receiving a FrameBufferUpdate (FBU) from the VNC server at the VNC client, wherein the FBU identifies the changes in the display of the VNC server; and

for a first network bandwidth, processing all changes in the FBU before painting the screen to update the display of the VNC client; and for a second network bandwidth, processing each change in the FBU and painting the screen to update the display of the VNC client before processing the next change in the FBU.

11. The method of claim 10 , further comprising:

counting a number of FBURs sent from the VNC client to the VNC server; and

re-detecting the speed of the network when a number of FBURs exceed a predetermined number.

12. The method of claim 10 , wherein, for the first network bandwidth, processing all changes in the FBU before painting the screen to update the display of the VNC client includes:

processing each change in the FBU and storing an update for each change in the buffer before proceeding to a next change in the FBU; and

after processing a last change in the FUB, painting the screen to update the display of the VNC client with all identified updates.

13. The method of claim 12 , wherein after painting the screen, waiting for a predetermined timer to expire before sending another FBUR from the VNC client to the VNC server.

14. A virtual network computing (VNC) client, comprising:

at least one processor, and a display and memory operationally connected to the at least one processor;

wherein the memory includes instructions which when operated on by the at least one processor perform a process to control a VNC protocol, wherein the process to control the VNC protocol includes:

sending a FrameBufferUpdateRequest (FBUR) through a network connection to a VNC server, wherein the FBUR requests the VNC server to identify changes in a display of the VNC server and the identified changes are less than all of the display of the VNC server;

receiving a FrameBufferUpdate (FBU) from the VNC server, wherein the FBU identifies the changes in the display of the VNC server, and wherein the VNC client is configured to use more than one painting scheme for painting the display of the VNC client with the changes in the display of the VNC server identified by the FBU; and

dynamically changing the painting scheme used by the VNC client to update the display of the VNC client based on a speed of the network connection, and updating the display of the VNC client.

15. The VNC client of claim 14 , wherein in the VNC protocol controlled by the process performed by the at least one processor operating on instructions in the memory, detecting the speed of the network connection includes determining a bandwidth of the network connection.

16. The VNC client of claim 15 , wherein in the VNC protocol controlled by the process performed by the at least one processor operating on instructions in the memory, dynamically changing the painting scheme includes, for a first network bandwidth, changing the painting scheme to process all changes in the FBU before painting the screen to update the display of the VNC client.

17. The VNC client of claim 15 , wherein in the VNC protocol controlled by the process performed by the at least one processor operating on instructions in the memory, dynamically changing the painting scheme includes, for a second network bandwidth, changing the painting scheme to process each change in the FBU and painting the screen to update the display of the VNC client before processing the next change in the FBU.

18. The VNC client of claim 15 , wherein the VNC protocol controlled by the process performed by the at least one processor operating on instructions in the memory further comprises:

counting a number of FBURs sent from the VNC client to the VNC server; and

re-detecting the speed of the network when a number of FBURs exceed a predetermined number.

19. The VNC client of claim 14 , wherein the process to control the VNC protocol includes detecting the speed of a network connection between a virtual network computing (VNC) client and a VNC server, wherein dynamically changing the painting scheme includes dynamically adapting the screen painting algorithm based on the detected speed of the network connection.

20. The VNC client of claim 14 , wherein the process to control the VNC protocol includes updating the display at a rate approximately 12 or 13 times per second.

Assignments (16)
RELEASE OF SECURITY INTEREST REEL/FRAME 035656/0251 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.)
Reel/Frame 062623/0009 →
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0718 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC); BORLAND SOFTWARE CORPORATION; MICRO FOCUS (US), INC.; SERENA SOFTWARE, INC; ATTACHMATE CORPORATION; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062746/0399 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT TYPO IN APPLICATION NUMBER 10708121 WHICH SHOULD BE 10708021 PREVIOUSLY RECORDED ON REEL 042388 FRAME 0386. ASSIGNOR(S) HEREBY CONFIRMS THE NOTICE OF SUCCESSION OF AGENCY. Recorded Jul 26, 2018
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 048793/0832 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ATTACHMATE CORPORATION; BORLAND SOFTWARE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE, INC.; ENTIT SOFTWARE LLC; ARCSIGHT, LLC; SERENA SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0718 →
NOTICE OF SUCCESSION OF AGENCY Recorded May 2, 2017
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 042388/0386 →
CHANGE OF NAME Recorded Sep 13, 2016
From: NOVELL, INC.
To: MICRO FOCUS SOFTWARE INC.
Reel/Frame 040020/0703 →
SECURITY INTEREST Recorded May 13, 2015
From: MICRO FOCUS (US), INC.; BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; NOVELL, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 035656/0251 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 028252/0216 Recorded Nov 24, 2014
From: CREDIT SUISSE AG
To: NOVELL, INC.
Reel/Frame 034470/0680 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 028252/0316 Recorded Nov 24, 2014
From: CREDIT SUISSE AG
To: NOVELL, INC.
Reel/Frame 034469/0057 →
GRANT OF PATENT SECURITY INTEREST SECOND LIEN Recorded May 23, 2012
From: NOVELL, INC.
To: CREDIT SUISSE AG, AS COLLATERAL AGENT
Reel/Frame 028252/0316 →
GRANT OF PATENT SECURITY INTEREST FIRST LIEN Recorded May 23, 2012
From: NOVELL, INC.
To: CREDIT SUISSE AG, AS COLLATERAL AGENT
Reel/Frame 028252/0216 →
RELEASE OF SECURITY INTEREST IN PATENTS FIRST LIEN (RELEASES RF 026270/0001 AND 027289/0727) Recorded May 22, 2012
From: CREDIT SUISSE AG, AS COLLATERAL AGENT
To: NOVELL, INC.
Reel/Frame 028252/0077 →
RELEASE OF SECURITY IN PATENTS SECOND LIEN (RELEASES RF 026275/0018 AND 027290/0983) Recorded May 22, 2012
From: CREDIT SUISSE AG, AS COLLATERAL AGENT
To: NOVELL, INC.
Reel/Frame 028252/0154 →
GRANT OF PATENT SECURITY INTEREST (SECOND LIEN) Recorded May 13, 2011
From: NOVELL, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 026275/0018 →
GRANT OF PATENT SECURITY INTEREST Recorded May 12, 2011
From: NOVELL, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 026270/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 2, 2009
From: GOKARAJU, RAVI KIRAN; KRISHNA, VAMSI
To: NOVELL, INC.
Reel/Frame 022053/0096 →