Patent ID: 8803876

Claim:
A method for providing hardware accelerated graphics for network enabled applications, comprising: providing a network enabled application ( 221 ) on a host ( 120 ), the application ( 221 ) requiring hardware accelerated graphics not provided on the host ( 120 ); providing a 3D library wrapper ( 222 ) at the host ( 120 ) for connection to a broker ( 150 ) of 3D graphics rendering resources ( 141 - 144 ); receiving a request at the broker ( 150 ) for 3D graphics rendering resources ( 141 - 144 ); the broker ( 150 ) evaluating ( 304 ) available 3D graphics rendering resources ( 141 - 144 ) and allocating ( 305 ) a selected 3D graphics rendering resource ( 141 ) from the 3D graphics rendering resources ( 141 - 144 ) to the 3D library wrapper ( 222 ), in order to return final 2D rendered images to a remote client ( 131 ); the broker ( 150 ) determining ( 412 ) if direct connection information for the remote client ( 131 ) is provided; and if there is direct connection information for a remote client, instructing ( 413 ) the selected 3D graphics rendering resource ( 141 ) to make direct connection with the remote client ( 131 ); the 3D library wrapper ( 222 ) providing direct connection information to the 3D graphics rendering resources ( 141 - 144 ); the selected 3D graphics rendering resource ( 141 ) sending ( 308 ) final rendered images directly to the remote client ( 131 ); the broker ( 150 ) monitoring ( 454 ) a mode change request between direct communication between the selected 3D graphics rendering resource ( 141 ) and the remote client ( 131 ) and communication via the 3D library wrapper ( 222 ); and performing one of changing mode ( 457 ) and disconnection ( 455 ) as required; if mode change is for disconnection ( 455 ), closing down ( 456 ) all connections and cleaning up rendering resource, forcing an update of resource priority queue due to freed resources; if mode change is requested ( 457 ) and currently sending directly to client ( 458 ), then instructing rendering resource to send images to VM based 3D library over established connection and instructing VM based 3D library to receive frames and send them to the client over a new connection ( 459 ); and if mode change is requested ( 457 ) and not currently sending directly to client, then ( 461 ) instructing rendering resource to connect directly to client and start sending images, and instructing VM based 3D library not to expect any more frames from the rendering resource.