IP Library Granted Patent US 10,043,482
Granted Patent B2
US 10,043,482 · App. 15/450,888 · Granted Aug 7, 2018

Client-server visualization system with hybrid data processing

Inventors: Malte Westerhoff (Berlin, DE); Detlev Stalling (Berlin, DE)
Assignee: PME IP PTY LTD
G09G5/006G09G5/395G06T15/00G09G5/001G09G2360/12G09G2360/18G09G2370/022
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 10,043,482
App. No.
15/450,888
Granted
Aug 7, 2018
Kind
B2
Abstract

The invention comprises a system of client-server visualization with hybrid data processing, having a server digital data processor, that allows for server side rendering and processing image data, and client digital data processors simultaneously connected to the server, which receives messages from the clients, creates rendered images of data sets or other data processing results and sends those rendered images and results to the clients for display or further processing. Performing certain image rendering operations on either the server or the client according to which is better suited for the tasks requested by the user at any point in time, and possibly adjusting this division of work dynamically, improves rendering speed and application responsiveness on the clients.

Claims (30)

1. A method comprising:

(a) executing an application on a client computer comprising one or more local processing resources, a main memory and a display device, where the application resides on the main memory, where the application generates one or more requests for rendering aspects of one or more images, at least one image of the one or more images including at least a first aspect and a second aspect;

(b) contacting a server comprising a server digital data processor, a server graphics processing unit and a server buffer, where the server buffer can be accessed by one or both by the server digital data processor and the client computer, where the server in response to a request from the application renders the first aspect of the at least one image with the server graphics processing unit and stores the first aspect in the server buffer; rendering the second aspect of the at least one image using the one or more local processing resources;

(c) sending the second aspect to the server buffer; and

(d) making the server buffer available for further processing by the client computer.

2. The method of claim 1 , where the further processing includes adding one or more textual elements to the server buffer.

3. The method of claim 1 , where the further processing includes display by the display device of the server buffer.

4. The method of claim 1 , where the first aspect comprises one or both an acquired and a synthesized image.

5. The method of claim 1 , where the first aspect comprises one or more graphical elements.

6. The method of claim 1 , where the second aspect comprises one or more textual elements.

7. The method of claim 1 , where the second aspect comprises an overlay aspect.

8. The method of claim 1 , where the one or more local processing resources includes a render module that responds to multiple application requests for rendering by allocating rendering and compute tasks between the one or more local processing resources and the server digital data processor.

9. The method of claim 8 , where the render module responds to multiple application requests by messaging the server digital data processor to render a first graphics aspect of a composite image, effecting rendering of a second graphics aspect of the composite image using the one or more local processing resources and further processing includes adding one or more textual elements to the composite image.

10. The method of claim 8 , where the render module combines a composite image including:

(i) a graphics aspect rendered by the server digital data processor;

(ii) a graphics aspect rendered by the one or more local processing resources; and

(iii) a non graphics element rendered by the one or more local processing resources during further processing.

11. The method of claim 8 , where the render module:

(i) pastes into the server buffer the first aspect of a composite image generated by the server digital data processor;

(ii) adds to the server buffer the second aspect of the composite image rendered by the one or more local processing resources; and

(iii) adds to the server buffer a non graphics aspect of the composite image rendered by the one or more local processing resources during further processing.

12. The method of claim 8 , where the one or more local processing resources has a first capability to process tasks and the server digital data processor has a second capability to process tasks.

13. The method of claim 12 , where the render module allocates rendering and compute tasks between the one or more local processing resources and the server digital data processor based on the first capability and the second capability.

14. The method of claim 8 , where allocation of rendering and compute tasks places a first load on the one or more local processing resources and a second load on the server digital data processor.

15. The method of claim 14 , where the render module allocates rendering and compute tasks between the one or more local processing resources and the server digital data processor based on one or both the first load and the second load.

16. The method of claim 15 , where the render module discerns a load on a resource based on one or both any communications from the server digital data processor and rapidity with which the server digital data processor responds to messages submitted to it by the client computer.

17. The method of claim 8 , further comprising a network connecting the client computer and the server digital data processor.

18. The method of claim 17 , where the render module allocates rendering and compute tasks between the one or more local processing resources and the server digital data processor based on a throughput of the network.

19. The method of claim 8 , where the render module allocates rendering and compute tasks between the one or more local processing resources and the server digital data processor based on image rendering capabilities of the server digital data processor.

20. The method of claim 8 , where the render module allocates rendering and compute tasks between the one or more local processing resources and the server digital data processor based on one or both processing state of the application and location of data being rendered.

Continuity (5)
Continuation 14641243 · Mar 6, 2015
Continuation 12275834 · Nov 21, 2008
Provisional Application 60989881 · Nov 23, 2007
Provisional Application 60989913 · Nov 23, 2007
Related Publication 20170178593A1 · Jun 22, 2017
Cited By (1)
US 12,340,444