IP Library Granted Patent US 9,826,045
Granted Patent B2
US 9,826,045 · App. 14/865,877 · Granted Nov 21, 2017

Efficient means to test server generated applications on mobile device

Inventors: Christian David Straub (Palo Alto, CA); Maneesh Chugh (Sammamish, WA)
Assignee: Oracle International Corporation
H04L67/141G06F8/20G06F8/315G06F8/38G06F9/44521G06F9/45529G06F11/3668H04L67/10H04L67/2814H04L67/34
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 9,826,045
App. No.
14/865,877
Granted
Nov 21, 2017
Kind
B2
Abstract

Systems and methods are provided to test changes for a mobile app built by web-based tooling directly on a physical mobile device. A first application can be loaded on a mobile device. The first application can receive metadata of a second application. The first application can execute the second application using the metadata. Access to local resources can be intercepted and redirected to the server for processing. Additionally, changes made to the second application using the web-based tooling can be pushed to the first application using a persistent channel allowing the changes to be immediately tested.

Claims (50)

1. A method comprising:

receiving, at a mobile device, a first application;

creating a push channel between the first application and a server;

identifying that a second application is developed on the server using an application programming interface of a cloud-based service;

receiving, by the first application through the push channel, content of the identified second application developed using the application development framework of the cloud-based service;

causing, by the mobile device, the first application to execute the second application based on the received content of the second application;

determining, by the mobile device, whether a request to access a resource involves a request by the second application to access a local resource in the mobile device;

redirecting, by the mobile device, the request to the server in communication with the first application;

receiving, by the first application through the push channel, a response to the request at the first application; and

sending the response from the first application to the second application mimicking the local resource.

2. The method of claim 1 wherein receiving, at the mobile device, the first application comprises receiving a test application.

3. The method of claim 1 wherein receiving, the content of the second application comprises receiving the second application in response to the second application being pushed to the first application.

4. The method of claim 1 wherein determining, by the mobile device, whether the request to access the resource involves a request by the second application to access a local resource comprises identifying a request by the second application to access a local file storage, a local memory, or a local registry.

5. The method of claim 1 wherein redirecting, by the mobile device, the request to the server in communication with the first application comprises:

identifying a classloader responsible for the local resource; and

causing the classloader to contact the server to process the request.

6. The method of claim 1 further comprising:

receiving, by the mobile device, edits made at the server to the content of the second application; and

modifying the content of the second application executed by the first application.

7. A non-transitory computer-readable medium storing a computer program product which when executed by a processor of a mobile device, causes the processor to perform operations comprising:

receiving, at a mobile device, a first application;

creating a push channel between the first application and a server;

identifying that a second application is developed on the server using an application programming interface of a cloud-based service;

receiving, by the first application through the push channel, content of the identified second application developed using the application development framework of the cloud-based service;

causing, by the mobile device, the first application to execute the second application based on the received content of the second application;

determining, by the mobile device, whether a request to access a resource involves a request by the second application to access a local resource in the mobile device;

redirecting, by the mobile device, the request to the server in communication with the first application;

receiving, by the first application through the push channel, a response to the request at the first application; and

sending the response from the first application to the second application mimicking the local resource.

8. The non-transitory computer-readable medium of claim 7 wherein receiving, at the mobile device, the first application comprises receiving a test application.

9. The non-transitory computer-readable medium of claim 7 wherein receiving, the content of the second application comprises receiving the second application in response to the second application being pushed to the first application.

10. The non-transitory computer-readable medium of claim 7 wherein determining, by the mobile device, whether the request to access the resource involves a request by the second application to access a local resource comprises identifying a request by the second application to access a local file storage, a local memory, or a local registry.

11. The non-transitory computer-readable medium of claim 7 wherein redirecting, by the mobile device, the request to the server in communication with the first application comprises:

identifying a classloader responsible for the local resource; and

causing the classloader to contact the server to process the request.

12. The non-transitory computer-readable medium of claim 7 further comprising:

receiving, by the mobile device, edits made at the server to the content of the second applications; and

modifying the content of the second application executed by the first application.

13. A mobile device comprising:

one or more memory devices configured to store computer-executable instructions; and

one or more processors configured to access the one or more memories and execute the computer-executable instructions to at least:

receive a first application;

create a push channel between the first application and a server;

identify that a second application is developed on the server using an application programming interface of a cloud-based service;

receive, by the first application through the push channel, content of the identified second application developed using the application development framework of the cloud-based service;

cause the first application to execute the second application based on the received content of the second application;

determine whether a request to access a resource involves a request by the second application to access a local resource in the mobile device;

redirect the request to the server in communication with the first application;

receive, by the first application through the push channel, a response to the request at the first application; and

send the response from the first application to the second application mimicking the local resource.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 1, 2015
From: STRAUB, CHRISTIAN DAVID; CHUGH, MANEESH
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 036707/0967 →
Continuity (2)
Provisional Application 62056006 · Sep 26, 2014
Related Publication 20160092339A1 · Mar 31, 2016