News Column

Patent Issued for Graphics Scenegraph Rendering for Web Applications Using Native Code Modules

August 21, 2014

By a News Reporter-Staff News Editor at Computer Weekly News -- A patent by the inventors Labour, Antoine (Mountain View, CA); Papakipos, Matthew (Palo Alto, CA), filed on July 2, 2009, was published online on August 5, 2014, according to news reporting originating from Alexandria, Virginia, by VerticalNews correspondents.

Patent number 8797337 is assigned to Google Inc. (Mountain View, CA).

The following quote was obtained by the news editors from the background information supplied by the inventors: "The present embodiments relate to techniques for executing web applications. More specifically, the present embodiments relate to a method and system for providing graphics scenegraph rendering to the web applications using native code modules.

"Computer systems often include a number of native applications that require complex three-dimensional (3D) scenes to be rendered, such as computer games and computer-aided design (CAD) systems. To render 3D scenes, these native applications may use graphics application programming interfaces (APIs) that direct calculations related to graphics rendering to dedicated graphics processing units (GPUs). The additional computational power provided by these GPUs can greatly improve graphics quality and throughput.

"Web applications, which have become more prevalent in recent years, are typically written in scripting languages that are unable to utilize low-level graphics APIs that provide graphics hardware acceleration. Instead, graphics rendering for web applications is typically performed by CPUs instead of GPUs. The software-based nature of web-based graphics rendering may thus limit the graphics capabilities of web applications. However, unlike native applications, web applications provide a number of advantages. For example, web applications are capable of executing on multiple platforms, do not require installation, and can be more secure than native applications.

"The tradeoff between web application security and native graphics performance may be addressed using a browser plugin that renders graphics for web applications by interfacing with a local graphics hardware device (e.g., a GPU). Such a plugin may correspond to a complex software system that includes various mechanisms for obtaining scene information from the web applications; storing the scene information; processing the scene information using transforms, effects, and shaders; and sending commands to the graphics hardware for rendering the scene. The processing demands of the plugin may additionally require the plugin to be implemented using native code, which is traditionally insecure. Moreover, plugin installation traditionally requires that the browser be restarted, which may lead to a poor user experience. Consequently, the plugin itself may include a number of potential security vulnerabilities that may be exploited by other applications and/or bugs that may lead to system failures.

"Hence, what is needed is a mechanism for safely executing native code for web-based graphics rendering while maintaining communication between the native code and graphics hardware."

In addition to the background information obtained for this patent, VerticalNews journalists also obtained the inventors' summary information for this patent: "One embodiment provides a system that facilitates the execution of a web application. During operation, the system loads a native code module that includes a scenegraph renderer into a secure runtime environment. Next, the system uses the scenegraph renderer to create a scenegraph from a graphics model associated with the web application and generates a set of rendering commands from the scenegraph. The system then writes the rendering commands to a command buffer and reads the rendering commands from the command buffer. Finally, the system uses the rendering commands to render, for the web application, an image corresponding to the graphics model by executing the rendering commands using a graphics-processing unit (GPU).

"In some embodiments, the system also validates the native code module prior to loading the native code module into the secure runtime environment.

"In some embodiments, the system also displays the image within the web browser.

"In some embodiments, the system also uses the scenegraph renderer to write buffer data associated with the rendering commands to a shared memory buffer and uses the buffer data to render the image by reading the buffer data from the shared memory buffer.

"In some embodiments, the shared memory buffer and the command buffer are implemented using an inter-module communication (IMC) buffer.

"In some embodiments, the rendering commands are further executed using at least one of a trusted code module and a rendering engine.

"In some embodiments, the graphics model is obtained from at least one of the web application, the native code module, and a separate native code module.

"In some embodiments, executing the rendering commands involves: (i) storing a subset of the rendering commands associated with a component in the image; (ii) updating a set of parameters associated with the stored subset of the rendering commands; and (iii) using the stored subset of the rendering commands and the updated parameters to render the component in the image."

URL and more information on this patent, see: Labour, Antoine; Papakipos, Matthew. Graphics Scenegraph Rendering for Web Applications Using Native Code Modules. U.S. Patent Number 8797337, filed July 2, 2009, and published online on August 5, 2014. Patent URL:

Keywords for this news article include: Software, Google Inc..

Our reports deliver fact-based news of research and discoveries from around the world. Copyright 2014, NewsRx LLC

For more stories covering the world of technology, please see HispanicBusiness' Tech Channel

Source: Computer Weekly News

Story Tools Facebook Linkedin Twitter RSS Feed Email Alerts & Newsletters