IP Library Granted Patent US 9,218,175
Granted Patent B2
US 9,218,175 · App. 14/090,376 · Granted Dec 22, 2015

Cross-platform application framework

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,218,175
App. No.
14/090,376
Granted
Dec 22, 2015
Kind
B2
Abstract

One set of instructions is generated in part by compiling application-specific source code. When natively executed on a platform provided by a device, the set of instructions provides an application. Another set of instructions is generated in part by compiling the same business logic source code. When natively executed on another platform provided by another device, the other set of instructions provides the same application. The business logic source code is substantially free of code specific to any platform. Moreover, the business logic source code defines substantially all application-specific functionality of the application.

Claims (36)

1. A method for generating and executing an application using a server-based deployment technique, comprising:

providing at least one developer computing system including a compiler application, application source code for the application, layer source code for the application, at least one container source code set for the specific platform, and at least at least one binding source code set for the specific platform;

providing at least one server system capable of communicating with the at least one developer computing system, the at least one server system providing a container module, an application module, layer modules, a binding module and a server application;

providing one or more computing devices capable of communicating with the at least one developer computing system and the at least one server system, each computing device comprising one of the plurality of platforms and comprising an input system, an output system, an operating system, and a browser application;

using the input system of the one or more computing devices to interact with the browser application which responds by sending a web request to the server application;

providing a navigation request by the server application to the application module;

processing the navigation request in the application module;

generating resource data in the binding module, the resource data representing the layer indicated by the layer URI (Universal Resource Identifier);

receiving the resource data by the server application and sending a web response from the server application to the web browser, the web response containing the resource data;

presenting the layer to a user by the browser application, using the output system;

executing the layer by selecting a navigation element of the layer.

2. The method of claim 1 , wherein the one or more computing devices are selected from the group consisting of: a mobile phone; smart phone; inventory management device; tablet computer; and netbook computer.

3. The method of claim 1 , wherein the input system of the one or more computing devices comprises at least one of the group consisting of: a touch screen, a keyboard, a keypad, a mouse, a touchpad, a trackball, a button array, and a microphone.

4. The method of claim 1 , wherein the output system of the one or more computing devices comprises at least one of the group consisting of: a display monitor, an LCD (Liquid Crystal Display) screen, an LED (Light Emitting Diode) screen, and, a speaker system.

5. A method for generating and executing an application using a hybrid deployment technique for at least one specific platform of a plurality of platforms, comprising:

providing at least one developer computing system including a compiler application, application source code for the application, layer source code for the application, at least one container source code set for the specific platform, and at least at least one binding source code set for the specific platform;

providing at least one server system capable of communicating with the at least one developer computing system;

providing one or more computing devices capable of communicating with the at least one developer computing system and the at least one server system, each computing device comprising one of the plurality of platforms and comprising an input system, an output system and an operating system;

generating at least one server package, the at least one server package comprising a compilation of the layer source code for the application and the application source code for the application and compiled by the compiler application, the server package including instructions defining at least one layer module and an application module, the server package not comprising a binding source code set or container source code set;

distributing the at least one server package to the at least one server system;

installing the at least one server package on the at least one server system;

generating at least one client package at the compiler application, the at least one client package including a compilation of the at least one container source code set for the specific platform and the at least one binding source code set for the specific platform, wherein the at least one client package comprises instructions defining at least one container module and at least one binding module, the instructions in the at least one client package suitable for native execution on each of the plurality of platforms;

distributing the at least one client package to the at least one computing device;

installing the at least one client package, including the container module and the binding module, on the computing devices; and

instructing the at least one computing device to execute the generated application.

6. The method of claim 5 , further comprising:

using the input system of the at least one computing device to instruct the operating system to launch the generated application;

providing an initial navigation request by the container module in the at least one computing device to the application module in the at least one server system;

receiving by the container module, a load complete event from the application module, the load complete event comprising the container module providing a serialized version of the layer module to the binding module at the at least one computing device;

processing the serialized version of the layer module by the binding module;

outputting user interface commands by the binding module;

causing the operating system of the at least one computing device to use the output system of the at least one computing device to display the serialized layer; and

displaying the serialized layer to a user, the layer having user-selectable navigation elements.

7. The method of claim 6 , wherein the one or more computing devices are selected from the group consisting of: a mobile phone; smart phone; inventory management device; tablet computer; and netbook computer.

8. The method of claim 6 , wherein the input system of the one or more computing devices comprises at least one of the group consisting of: a touch screen, a keyboard, a keypad, a mouse, a touchpad, a trackball, a button array, and a microphone.

9. The method of claim 6 , wherein the output system of the one or more computing devices comprises at least one of the group consisting of: a display monitor, an LCD (Liquid Crystal Display) screen, an LED (Light Emitting Diode) screen, and, a speaker system.

Assignments (7)
RELEASE OF SECURITY INTEREST - 364 - DAY Recorded Mar 5, 2021
From: JPMORGAN CHASE BANK, N.A.
To: ZEBRA TECHNOLOGIES CORPORATION; LASER BAND, LLC; TEMPTIME CORPORATION
Reel/Frame 056036/0590 →
SECURITY INTEREST Recorded Sep 1, 2020
From: ZEBRA TECHNOLOGIES CORPORATION; LASER BAND, LLC; TEMPTIME CORPORATION
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 053841/0212 →
NOTICE OF TRANSFER OF SECURITY INTEREST IN PATENTS Recorded Jul 3, 2019
From: ZEBRA TECHNOLOGIES CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 049675/0049 →
MERGER Recorded Mar 29, 2019
From: ZIH CORP.
To: ZEBRA TECHNOLOGIES CORPORATION
Reel/Frame 048884/0618 →
SECURITY INTEREST Recorded Oct 25, 2017
From: ZIH CORP.
To: JPMORGAN CHASE BANK, N.A., AS THE SUCCESSOR AGENT
Reel/Frame 044616/0736 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 24, 2016
From: CLEVENGER, NATHAN J.
To: ITR GROUP, INC.
Reel/Frame 037812/0154 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 21, 2015
From: ITR GROUP INC.
To: ZIH CORP.
Reel/Frame 036850/0527 →