Patent ID: 11971946
Assignee: VORA VENTURES, LLC
Field: Computer technology (Electrical engineering)
Classification: CPC G | IPC G

Claim 8:
9. A system for on demand rendered image delivery, the system comprising:
a) a routing system, wherein the routing system is configured to respond to a request for an image of a three dimensional object by:
i) determining a local image server from a set of one or more local image servers to process the request for the image of the three dimensional object; and
ii) sending the request for the image of the three dimensional object to the determined local image server;

b) the set of one or more local image servers, wherein each local image server from the set of one or more local image servers is programmed to respond to the request for the image of the three dimensional object by:
i) when the requested image of the three dimensional object is present in an image store corresponding to that local image server, returning the requested image of the three dimensional object from the image store corresponding to that local image server; and
ii) when the requested image of the three dimensional object is not present in the image store corresponding to that local image server:
A) obtaining the requested image of the three dimensional object;
B) storing the requested image of the three dimensional object in the image store corresponding to that local image server; and
C) returning the requested image of the three dimensional object;

and

c) a set of one or more rendering servers, wherein the set of rendering servers is configured to, based on receiving a request message indicating that a requesting local image server is obtaining the requested image of the three dimensional object, perform acts comprising:
i) generating the requested image of the three dimensional object based on rendering, using special purpose rendering hardware, a three dimensional model of the three dimensional object; and
ii) after generating the requested image of the three dimensional object:
A) storing the requested image of the three dimensional object in an global image store; and
B) sending a completion message indicating that the requested image of the three dimensional object has been generated;

wherein:
A) the completion message indicating that the requested image of the three dimensional object has been generated is a message that the requested image of the three dimensional object is available in the global image store;
B sending the completion message indicating that the requested image of the three dimensional object has been generated comprises broadcasting the completion message indicating that the requested image of the three dimensional object has been generated to the set of one or more local image servers;
C) each local image server from the set of one or more local image servers is programmed to obtain the requested image of the three dimensional object by performing obtaining acts comprising:
I) determining if the requested image of the three dimensional object is available in the global image store;
II) based on determining that the requested image of the three dimensional object is available in the global image store, retrieving the requested image of the three dimensional object from the global image store;
II) based on determining that the requested image of the three dimensional object is not available in the global image store, performing a set of generation acts comprising:
a) sending the request message indicating that that local image server is obtaining the requested image of the three dimensional object;
and

b) based on receiving the completion message indicating that the requested image of the three dimensional object has been generated, retrieving the requested image of the three dimensional object from the global image store;

and

D) each local image server from the set of one or more local image servers is programmed to:
I) based on determining that the requested image of the three dimensional object is not available in the global image store:
a) generate an identifier for the requested image of the three dimensional object:
b) using the identifier for the requested image of the three dimensional object and a lock file stored in a globally accessible memory, determine whether no request message for the requested image of the three dimensional object has previously been sent to the set of one or more rendering servers; and
c) include the request for the image of the three dimensional object in a set of requests in a memory of that local image server:

II) only send the request message indicating that that local image server is obtaining the requested image of the three dimensional object if that local image server determines that no request message for the requested image of the three dimensional object has previously been sent to the set of one or more rendering servers; and
III) when returning the requested image of the three dimensional object, for each request in the set of requests in the memory that local image server which requests the requested image of the three dimensional object, return a response to that request which comprises the requested image of the three dimensional object.