Pipeline for network based server-side 3D image rendering
First Claim
1. A system, comprising:
- a processor configured to execute computer-executable components; and
memory storing computer-executable components including;
a client configured to asynchronously communicate with a server for interacting with image data hosted by the server; and
a pipe component configured to, in separate threads corresponding to respective pipeline stages, process an interaction with the image data, process a transmission of requests corresponding to the interaction, process image data received in responses from the server, and process a display of image data;
wherein the requests corresponding to the interaction are queued sequentially and communicated to the server periodically based on a combine interval that specifies an interval between sending consecutive requests, each request includes information representing a manipulation mode and a rendering quality, queued requests are combined if the queued requests are generated within the combine interval and if the queued requests have the same manipulation mode and the same rendering quality, and the combine interval is adjusted by;
calculating a request interval between consecutive requests and a response interval between responses to the consecutive requests,increasing the combine interval with an increment step if the request interval is less than the response interval,decreasing the combine interval with a minimum of a decrement step and a difference between the request interval and the response interval if the request interval is not less than the response interval,setting the combine interval to a maximum value if the combine interval is greater than a maximum value, andsetting the combine interval to a minimum value if the combine interval is less than the minimum value.
2 Assignments
0 Petitions
Accused Products
Abstract
The claimed subject matter provides a system and/or a method that facilitates rendering a portion of an image from a server on a client. A portion of an image can be hosted by a server. A client can utilize a device to interact with the portion of an image via a network. The client can established two or more TCP/IP connections with the server in order to interact with the portion of the image. A pipe component can enforce an isolated pipeline and a processing thread for each of a user manipulation of the portion of the image, a transmission of a user request to manipulate the portion of the image via the network, a rendering of the portion of the image on the server, a compression of the portion of the image on the server, a transmission of the compressed portion of the image via the network, a decompression of the portion of the image on the client, and a display of the portion of the image on the client.
151 Citations
20 Claims
-
1. A system, comprising:
-
a processor configured to execute computer-executable components; and memory storing computer-executable components including; a client configured to asynchronously communicate with a server for interacting with image data hosted by the server; and a pipe component configured to, in separate threads corresponding to respective pipeline stages, process an interaction with the image data, process a transmission of requests corresponding to the interaction, process image data received in responses from the server, and process a display of image data; wherein the requests corresponding to the interaction are queued sequentially and communicated to the server periodically based on a combine interval that specifies an interval between sending consecutive requests, each request includes information representing a manipulation mode and a rendering quality, queued requests are combined if the queued requests are generated within the combine interval and if the queued requests have the same manipulation mode and the same rendering quality, and the combine interval is adjusted by; calculating a request interval between consecutive requests and a response interval between responses to the consecutive requests, increasing the combine interval with an increment step if the request interval is less than the response interval, decreasing the combine interval with a minimum of a decrement step and a difference between the request interval and the response interval if the request interval is not less than the response interval, setting the combine interval to a maximum value if the combine interval is greater than a maximum value, and setting the combine interval to a minimum value if the combine interval is less than the minimum value. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A computer-readable storage device storing instructions that, when executed by a computing device, cause the computing device to perform a method comprising:
-
asynchronously communicating with a server for interacting with image data hosted by the server; and processing in separate threads corresponding to respective pipeline stages;
an interaction with the image data, a transmission of requests corresponding to the interaction, image data received in responses from the server, and a display of image data;wherein the requests corresponding to the interaction are queued sequentially and communicated to the server periodically based on a combine interval that specifies an interval between sending consecutive requests, each request includes information representing a manipulation mode and a rendering quality, queued requests are combined if the queued requests are generated within the combine interval and if the queued requests have the same manipulation mode and the same rendering quality, and the combine interval is adjusted by; calculating a request interval between consecutive requests and a response interval between responses to the consecutive requests, increasing the combine interval with an increment step if the request interval is less than the response interval, decreasing the combine interval with a minimum of a decrement step and a difference between the request interval and the response interval if the request interval is not less than the response interval, setting the combine interval to a maximum value if the combine interval is greater than a maximum value, and setting the combine interval to a minimum value if the combine interval is less than the minimum value. - View Dependent Claims (16, 17)
-
-
18. A computer-implemented method comprising:
-
asynchronously communicating with a server for interacting with image data hosted by the server; and processing in separate threads corresponding to respective pipeline stages;
an interaction with the image data, a transmission of requests corresponding to the interaction, image data received in responses from the server, and a display of image data;wherein the requests corresponding to the interaction are queued sequentially and communicated to the server periodically based on a combine interval that specifies an interval between sending consecutive requests, each request includes information representing a manipulation mode and a rendering quality, queued requests are combined if the queued requests are generated within the combine interval and if the queued requests have the same manipulation mode and the same rendering quality, and the combine interval is adjusted by; calculating a request interval between consecutive requests and a response interval between responses to the consecutive requests, increasing the combine interval with an increment step if the request interval is less than the response interval, decreasing the combine interval with a minimum of a decrement step and a difference between the request interval and the response interval if the request interval is not less than the response interval, setting the combine interval to a maximum value if the combine interval is greater than a maximum value, and setting the combine interval to a minimum value if the combine interval is less than the minimum value. - View Dependent Claims (19, 20)
-
Specification