Web Application Hardware Acceleration via Compute Context Bridge

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Web applications struggle with hardware acceleration due to the difficulty in extending functionality beyond individual applications, as current solutions like OpenCL require designers to specifically design their applications for GPU utilization, which is a barrier for smaller companies and individuals, and do not provide broad scope support for web browsers.

Innovation Solution

A method enabling hardware acceleration of web applications by parsing web pages using a scripting engine, accessing parallelization APIs through a compute context class that creates a bridge between the scripting engine and APIs, and creating kernels to operate on multiple cores of CPUs or GPUs, with a JavaScript binding to an open standard for APIs, and a modified browser supporting this standard.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If OpenCL is used for GPU acceleration, then processing performance is improved, but application complexity and development difficulty increase

Engineering Contradiction:
Improveprocessing performanceVSAvoidapplication complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a browser-based abstraction layer that serves as an intermediary between web applications and OpenCL APIs. This layer provides simplified JavaScript bindings to OpenCL functionality, allowing developers to access GPU acceleration through standard web technologies without directly implementing complex OpenCL code, thus maintaining performance while reducing development complexity

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a universal browser interface that can be used by any web application to access hardware acceleration capabilities. Instead of requiring each application to be specifically designed for OpenCL, the browser provides a common API that works across multiple applications and platforms, making GPU acceleration universally accessible to web applications

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Productivity

If OpenCL is designed for individual web applications, then GPU utilization is achieved, but broad scope support for web browsers is limited

Engineering Contradiction:
ImproveGPU utilizationVSAvoidbroad scope support
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent implements a browser-level abstraction layer that provides OpenCL functionality to all web applications uniformly. This universal interface allows any web application to access GPU acceleration through standard JavaScript calls, rather than requiring application-specific OpenCL implementations, thereby achieving both GPU utilization and broad browser support

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Speed

If hardware acceleration is implemented, then processing speed is improved, but compatibility across different operating systems and platforms decreases

Engineering Contradiction:
Improveprocessing speedVSAvoidcross-platform compatibility
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The patent creates a platform-independent browser interface that abstracts away operating system and hardware-specific details. The browser handles platform-specific OpenCL implementations while providing a unified JavaScript API to web applications, enabling fast hardware-accelerated processing across different operating systems and devices without requiring application-specific compatibility code

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS10191774B2Hardware acceleration of web applications
Publication Date: 2019.01.29 SAMSUNG ELECTRONICS CO LTD
  • US10191774B2 patent drawing
  • US10191774B2 patent drawing
  • US10191774B2 patent drawing

AI summary

In a first embodiment of the present invention, a method for enabling hardware acceleration of web applications is provided, comprising: parsing a web page using a scripting engine, wherein the web page necessitates running a web application; accessing one or more Application Program Interfaces (APIs) that provide parallelization, and distribute tasks of the web application among multiple cores of a multi-core central processing unit (CPU) or graphical processing unit (GPU), wherein the accessing uses a compute context class that, when instantiated, creates a compute context object that acts as a bridge between the scripting engine and the one or more APIs; and creating one or more kernels to operate on the multiple cores.