IP Library Granted Patent US 8,887,182
Granted Patent B2
US 8,887,182 · App. 13/653,198 · Granted Nov 11, 2014

Hybrid applications

Inventors: Daryl Low (San Jose, CA); Anne-Lise Hassenklover (Redwood City, CA)
Assignee: Yahoo! Inc.
G06F9/54
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,887,182
App. No.
13/653,198
Granted
Nov 11, 2014
Kind
B2
Abstract

A native application portion is configured for execution in a native environment. A native kernel is defined in the native environment, the native kernel including one or more native plugin services accessible by the native application portion. A non-native application portion is configured for execution in a web view context. A non-native kernel is defined in the web view context, the non-native kernel including one or more non-native plugin services accessible by the non-native application portion. A native kernel bridge service is interfaced with the native kernel, and a non-native kernel bridge service is interfaced with the non-native kernel. The native kernel bridge service and non-native kernel bridge service are interfaced with each other, enabling the non-native application portion to access the native plugin services of the native kernel, and enabling the native application portion to access the non-native plugin services of the non-native kernel.

Claims (50)

1. A hybrid application configured for execution by a processor of a computing device, comprising:

a native application portion configured for execution in a native environment of the computing device;

a native kernel defined in the native environment, the native kernel including one or more native plugin services accessible by the native application portion;

a non-native application portion configured for execution in a web view context of the computing device;

a non-native kernel defined in the web view context, the non-native kernel including one or more non-native plugin services accessible by the non-native application portion;

a native kernel bridge service interfaced with the native kernel;

a non-native kernel bridge service interfaced with the non-native kernel;

wherein the native kernel bridge service and the non-native kernel bridge service are interfaced with each other, and enable the non-native application portion to access the native plugin services of the native kernel, and enable the native application portion to access the non-native plugin services of the non-native kernel;

wherein one or more of the native plugin services or the non-native plugin services provides a user interface for the hybrid application.

2. The hybrid application of claim 1 , wherein the web view context is defined by a native web browser application of the computing device.

3. The hybrid application of claim 1 , wherein the access to the native plugin services and the non-native plugin services by either of the native application portion or the non-native application portion occurs via a common API.

4. The hybrid application of claim 1 , wherein the non-native application portion is defined by a model view controller or an application framework.

5. The hybrid application of claim 1 , wherein one or more of the native plugin services provides access to a native feature of the computing device.

6. The hybrid application of claim 1 , wherein one or more of the non-native plugin services accesses a cloud-based service.

7. A hybrid application configured for execution by a processor of a computing device, comprising:

a native application portion configured for execution in a native environment of the computing device;

a native kernel defined in the native environment, the native kernel including one or more native plugin services accessible by the native application portion;

a non-native application portion configured for execution in a web view context of the computing device;

a non-native kernel defined in the web view context, the non-native kernel including one or more non-native plugin services accessible by the non-native application portion;

a native kernel bridge service interfaced with the native kernel;

a non-native kernel bridge service interfaced with the non-native kernel;

wherein the native kernel bridge service and the non-native kernel bridge service are interfaced with each other, and enable the non-native application portion to access the native plugin services of the native kernel, and enable the native application portion to access the non-native plugin services of the non-native kernel;

a frame context defined within the web view context;

a second non-native application portion defined within the frame context;

a bridge client defined within the frame context, the bridge client configured to receive an API call from the second non-native application portion for one of the native plugin services or the non-native plugin services, and forward the API call to the non-native bridge service.

8. The hybrid application of claim 7 , wherein the bridge client is configured to restrict access of the second non-native application portion to a subset of the non-native plugin services of the non-native kernel.

9. The hybrid application of claim 7 , wherein the bridge client is configured to restrict access of the second non-native application portion to a subset of the native plugin services of the native kernel.

10. The hybrid application of claim 7 , wherein the second non-native application portion is defined by a model view controller or an application framework.

11. The hybrid application of claim 7 , further comprising,

a nested frame context defined within the frame context;

a third non-native application portion defined within the nested frame context;

a second bridge client defined within the nested frame context, the second bridge client configured to receive an API call from the third non-native application portion for one of the native plugin services or the non-native plugin services, and forward the API call to the bridge client.

12. A hybrid application configured for execution by a processor of a computing device, comprising:

a native application portion configured for execution in a native environment of the computing device;

a native kernel defined in the native environment, the native kernel including one or more native plugin services accessible by the native application portion;

a native kernel bridge service defined in the native environment and interfaced with the native kernel;

a non-native application portion defined in a first web view context of the computing device;

a non-native kernel defined in a second web view context of the computing device, the non-native kernel including one or more non-native plugin services accessible by the non-native application portion;

a non-native kernel bridge service defined in the second web view context and interfaced with the non-native kernel;

wherein the native kernel bridge service and the non-native kernel bridge service are interfaced with each other, and enable the non-native application portion to access the native plugin services of the native kernel, and enable the native application portion to access the non-native plugin services of the non-native kernel;

a frame context defined within the second web view context;

a second non-native application portion defined within the frame context;

a bridge client defined within the frame context, the bridge client configured to receive an API call from the second non-native application portion for one of the native plugin services or the non-native plugin services, and forward the API call to the non-native bridge service.

13. The hybrid application of claim 12 , wherein the web view context is defined by a native web browser application of the computing device.

14. The hybrid application of claim 12 , wherein the access to the native plugin services and the non-native plugin services by either of the native application portion or the non-native application portion occurs via a common API.

15. The hybrid application of claim 12 , wherein the non-native application portion is defined by a model view controller or an application framework.

16. The hybrid application of claim 12 , further comprising,

a nested frame context defined within the frame context;

a third non-native application portion defined within the nested frame context;

a second bridge client defined within the nested frame context, the second bridge client configured to receive an API call from the third non-native application portion for one of the native plugin services or the non-native plugin services, and forward the API call to the bridge client.

Assignments (9)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE ASSIGNOR NAME PREVIOUSLY RECORDED AT REEL: 052853 FRAME: 0153. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 29, 2021
From: R2 SOLUTIONS LLC
To: STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT
Reel/Frame 056832/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED ON REEL 053654 FRAME 0254. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST GRANTED PURSUANT TO THE PATENT SECURITY AGREEMENT PREVIOUSLY RECORDED. Recorded Dec 30, 2020
From: STARBOARD VALUE INTERMEDIATE FUND LP
To: R2 SOLUTIONS LLC
Reel/Frame 054981/0377 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Jul 8, 2020
From: STARBOARD VALUE INTERMEDIATE FUND LP
To: ACACIA RESEARCH GROUP LLC; AMERICAN VEHICULAR SCIENCES LLC; BONUTTI SKELETAL INNOVATIONS LLC; CELLULAR COMMUNICATIONS EQUIPMENT LLC; INNOVATIVE DISPLAY TECHNOLOGIES LLC; LIFEPORT SCIENCES LLC; LIMESTONE MEMORY SYSTEMS LLC; MOBILE ENHANCEMENT SOLUTIONS LLC; MONARCH NETWORKING SOLUTIONS LLC; NEXUS DISPLAY TECHNOLOGIES LLC; PARTHENON UNIFIED MEMORY ARCHITECTURE LLC; R2 SOLUTIONS LLC; SAINT LAWRENCE COMMUNICATIONS LLC; STINGRAY IP SOLUTIONS LLC; SUPER INTERCONNECT TECHNOLOGIES LLC; TELECONFERENCE SYSTEMS LLC; UNIFICATION TECHNOLOGIES LLC
Reel/Frame 053654/0254 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 25, 2020
From: EXCALIBUR IP, LLC
To: R2 SOLUTIONS LLC
Reel/Frame 053459/0059 →
PATENT SECURITY AGREEMENT Recorded Jun 5, 2020
From: ACACIA RESEARCH GROUP LLC; AMERICAN VEHICULAR SCIENCES LLC; BONUTTI SKELETAL INNOVATIONS LLC; CELLULAR COMMUNICATIONS EQUIPMENT LLC; INNOVATIVE DISPLAY TECHNOLOGIES LLC; LIFEPORT SCIENCES LLC; LIMESTONE MEMORY SYSTEMS LLC; MERTON ACQUISITION HOLDCO LLC; MOBILE ENHANCEMENT SOLUTIONS LLC; MONARCH NETWORKING SOLUTIONS LLC; NEXUS DISPLAY TECHNOLOGIES LLC; PARTHENON UNIFIED MEMORY ARCHITECTURE LLC; R2 SOLUTIONS LLC; SAINT LAWRENCE COMMUNICATIONS LLC; STINGRAY IP SOLUTIONS LLC; SUPER INTERCONNECT TECHNOLOGIES LLC; TELECONFERENCE SYSTEMS LLC; UNIFICATION TECHNOLOGIES LLC
To: STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT
Reel/Frame 052853/0153 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2016
From: YAHOO! INC.
To: EXCALIBUR IP, LLC
Reel/Frame 038950/0592 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 1, 2016
From: EXCALIBUR IP, LLC
To: YAHOO! INC.
Reel/Frame 038951/0295 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 18, 2016
From: YAHOO! INC.
To: EXCALIBUR IP, LLC
Reel/Frame 038383/0466 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2012
From: LOW, DARYL; HASSENKLOVER, ANNE-LISE
To: YAHOO! INC.
Reel/Frame 029274/0738 →
Continuity (1)
Related Publication 20140109115A1 · Apr 17, 2014