IP Library Granted Patent US 7,571,391
Granted Patent B2
US 7,571,391 · App. 10/688,856 · Granted Aug 4, 2009

Selective rendering of user interface of computer program

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 7,571,391
App. No.
10/688,856
Granted
Aug 4, 2009
Kind
B2
Abstract

Methods, system and apparatus, including computer program products, for rendering a user interface in a client program. The techniques include detecting multiple changes to a user interface of a computer program, the user interface having multiple user interface elements, each change being a change to one of the multiple user interface elements; generating a rendering request for each change, each rendering request specifying the user interface element that has changed and a type of modification to be performed on the user interface element; and filtering the requests to eliminate redundant requests. The user interface can be rendered based on the filtered requests.

Claims (48)

1. A computer program product, tangibly embodied in a computer-readable storage medium, the computer program product comprising instructions operable to cause a client apparatus to perform operations comprising:

displaying, by the client apparatus, a user interface to a server computer program running on a server, the user interface including a plurality of user interface elements including a first user interface element, the first user interface element having a plurality of attributes;

receiving, from the server, a server-generated chance to the first user interface element;

receiving a client-generated change to the first user interface element based on a user input to the client apparatus;

receiving a plurality of additional changes to the first user interface element based on additional user inputs to the client apparatus or additional changes received from the server;

generating a server-based rendering request for the server-generated change and a client-based rendering request for the client-generated change, the server-based rendering request and client-based rendering request each specifying the first user interface element and a type of modification to be performed on the first user interface element;

generating additional rendering requests for the additional chances to the first user interface element;

categorizing both the server-based rendering request and the client-based rendering request as redundant because both the server-based rendering request and the client-based rendering request identify subsets of the attributes of the first user interface element also identified by the additional rendering requests for the additional changes;

filtering both the server-based rendering request and the client-based rendering request to eliminate the redundant server-based rendering request and the redundant client-based rendering request; and

rendering the first user input element, the rendering being limited to additional rendering requests and excluding the filtered server-based rendering request and the filtered client-based rendering request.

2. The product of claim 1 , wherein each rendering request is a request to modify a data structure representing the user interface.

3. The product of claim 2 , wherein the data structure is a document object model representation of the user interface.

4. The product of claim 1 , wherein:

at least one of the additional rendering requests is a request for a complete re-rendering of the user interface element.

5. The computer program product according to claim 1 , wherein:

the first user element is a text field, radio button, table, tray, or menu.

6. The computer program product according to claim 1 , wherein at least one of the additional rendering requests, the server-based rendering request, or the client-based rendering request specifies a color attribute of the first user interface element.

7. The computer program product according to claim 1 , wherein the first user interface element elements filters its own rendering requests.

8. A client apparatus comprising:

means for displaying a user interface to a server computer program running on a server, the user interface including a plurality of user interface elements including a first user interface element, the first user interface element having a plurality of attributes;

means for receiving, from the server, a server-generated change to the first user interface element;

means for receiving a client-generated change to the first user interface element based on a user input to the client apparatus;

means for receiving a plurality of additional changes to the first user interface element based on additional user inputs to the client apparatus or additional changes received from the server;

means for generating a server-based rendering request for the server-generated change and a client-based rendering request for the client-generated change, the server-based rendering request and client-based rendering request each specifying the first user interface element and a type of modification to be performed on the first user interface element;

means for generating additional rendering requests for the additional changes to the first user interface element;

means for categorizing both the server-based rendering request and the client-based rendering request as redundant because both the server-based rendering request and the client-based rendering request identify subsets of the attributes of the first user interface element also identified by the additional rendering requests for the additional changes;

means for filtering, both the server-based rendering request and the client-based rendering request to eliminate the redundant server-based rendering request and the redundant client-based rendering request;

means for rendering the first user input element, the rendering being limited to additional rendering requests and excluding the filtered server-based rendering request and the filtered client-based rendering request; and

a processor for implementing at least the means for filtering.

9. The client apparatus of claim 8 , wherein each rendering request is a request to modify a data structure representing the user interface.

10. The client apparatus of claim 9 , wherein the data structure is a document object model representation of the user interface.

11. The client apparatus of claim 8 , wherein:

at least one of the additional rendering requests is a request for a complete re-rendering of the user interface element.

12. The client apparatus according to claim 8 , wherein the first user interface element filters its own rendering requests.

13. A computer-implemented method comprising:

displaying, by a client apparatus, a user interface to a server computer program running on a server, the user interface including a plurality of user interface elements including a first user interface element, the first user interface element having a plurality of attributes;

receiving, from the server, a server-generated change to the first user interface element;

receiving a client-generated change to the first user interface element based on a user input to the client apparatus;

receiving a plurality of additional changes to the first user interface element based on additional user inputs to the client apparatus or additional changes received from the server;

generating a server-based rendering request for the server-generated change and a client-based rendering request for the client-generated change, the server-based rendering request and client-based rendering request each specifying the first user interface element and a type of modification to be performed on the first user interface element;

generating additional rendering requests for the additional changes to the first user interface element;

categorizing both the server-based rendering request and the client-based rendering request as redundant because both the server-based rendering request and the client-based rendering request identify subsets of the attributes of the first user interface element also identified by the additional rendering requests for the additional changes;

filtering both the server-based rendering request and the client-based rendering request to eliminate the redundant server-based rendering request and the redundant client-based rendering request; and

rendering the first user input element, the rendering being limited to additional rendering requests and excluding the filtered server-based rendering request and the filtered client-based rendering request.

14. The computer-implemented method according to claim 13 , wherein each rendering request is a request to modify a data structure representing the user interface.

15. The computer-implemented method according to claim 13 , wherein the data structure is a document object model representation of the user interface.

16. The computer-implemented method according to claim 13 , wherein at least one of the additional rendering requests is a request for a complete re-rendering of the user interface element.

17. The computer-implemented method according to claim 13 , wherein the first user interface element filters its own rendering requests.

Assignments (3)
CHANGE OF NAME Recorded Aug 26, 2014
From: SAP AG
To: SAP SE
Reel/Frame 033625/0334 →
CHANGE OF NAME Recorded Dec 21, 2005
From: SAP AKTIENGESELLSCHAFT
To: SAP AG
Reel/Frame 017364/0758 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 25, 2004
From: ROESSLER, ANDREAS
To: SAP AKTIENGESELLSCHAFT
Reel/Frame 014461/0832 →