IP Library Granted Patent US 7,596,791
Granted Patent B2
US 7,596,791 · App. 10/017,183 · Granted Sep 29, 2009

Methods and techniques for delivering rich Java applications over thin-wire connections with high performance and scalability

Assignee: EMC Corporation
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 7,596,791
App. No.
10/017,183
Filed
Dec 7, 2001
Granted
Sep 29, 2009
Kind
B2
Examiner
ZHEN, LI B
Art Unit
2194
USPC
709/311
Abstract

A method for delivering applications over a network where the application's logic runs on the backend server and the application's user interface is rendered on a client-device, according to its display capabilities, thought a network connection with the backend server. The application's GUI API and event processing API are implemented to be network-aware, transmitting application's presentation layer information, event processing registries, and other related information a between client and server. The transmission is a high, object level format, which minimizes network traffic. Client-side events are transmitted to the server for processing via a predetermined protocol, the server treating such events and inputs as if locally generated. The appropriate response to the input is generated and transmitted to the client device using the format to refresh the GUI on the client.

Claims (31)

1. A method for delivering an application over a network from a backend server to a plurality of client devices, at least two of the client devices differing in type and display capabilities, the method comprising the steps of:

receiving a request from a client and determining a type of the client;

having the application invoke a Graphic User Interface (GUI) Application Programming Interface (API) to present the application's user interface;

in response to the type of the client, replacing the GUI API with a re-implemented, network aware GUI API comprising a User Interface (UI) record, the UI record comprising pre-determined format based messages that describe the Graphical User Interface, event processing registries, and other related information corresponding to a presentation layer of the application in high level, object level, messages;

sending such messages to the client device via the network;

processing the messages in the UI record and rendering a user interface by a client-side program operating at the client, which delivers a user experience for that device according to the display capability of the client;

rendering the user interface on the client device;

transmitting a plurality of necessary user input and a plurality of client-side events back to the server via a predetermined protocol;

processing the user input and client-side events on the backend server, translating the events and inputs as if they were locally generated, and sending such translated events and inputs to the application for processing;

encoding and routing output of the application to the client device using the predetermined messaging format; and,

further processing the output by the client-side program to refresh the Graphical User Interface;

wherein use of the re-implemented network aware API enables the application and GUI API to be developed once and deployed multiple times for use by multiple different types of client devices.

2. The method of claim 1 , wherein the GUI API and the event processing API are represented as classes within Java Foundation Classes.

3. The method of claim 1 , wherein the client- side program is a computer program based on an Operating System's API.

4. The method of claim 1 , wherein the client-side program is a wireless device program written using the device's Operating System's API.

5. The method of claim 1 , wherein the client-side program is a program written using a Java API.

6. The method of claim 5 , wherein the JAVA API is selected from the groups consisting of: Abstract Windows Toolkit (AWT), Personal Java, Java 2 Micro Edition based GUI API or Java Swing.

7. The method of claim 1 , wherein the predetermined protocol is Hyper Text Transfer Protocol HTTP.

8. The method of claim 1 , wherein the predetermined protocol is Hyper Text Transfer Protocol over Secure Socket Layer (HTTPS).

9. The method of claim 1 , wherein predetermined protocol is Wireless Application Protocol (WAP).

10. The method of claim 1 , wherein predetermined protocol is proprietary.

11. The method of claim 1 , wherein the predetermined messaging format is based on Extended Markup Language (XML).

12. The method of claim 1 , wherein the predetermined messaging format is proprietary.

13. The method of claim 1 , wherein the network is the Internet.

14. The method of claim 1 , wherein the network is a local area network.

15. The method of claim 8 , wherein the local area network is a bandwidth-limited slow speed network.

16. The method of claim 1 , wherein the network includes a wireless network.

17. The method of claim 11 , wherein the client device is selected from the group consisting of workstations, desktops, laptops, Personal Data Assistants (PDAs), and wireless devices.

18. The method of claim 1 , wherein the server and the client device are combined into one entity.

19. The method of claim 1 wherein the application code is not modified when distributing the application and the application code is not distributed to the client device.

20. The method of claim 1 used to distribute a plurality of pre-existing applications.

Assignments (16)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2016
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 040203/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
RELEASE OF SECURITY INTEREST Recorded Jun 6, 2006
From: EGAN-MANAGED CAPITAL II, L.P.; MVP GLOBAL, LLC; MASTHEAD VENTURE PARTNERS CAPITAL, L.P.; VELOCITY EQUITY PARTNERS I SBIC, L.P.
To: NEXAWEB TECHNOLOGIES, INC.
Reel/Frame 017730/0844 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 6, 2006
From: NEXAWEB TECHNOLOGIES, INC.
To: EMC CORPORATION
Reel/Frame 017730/0890 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 28, 2005
From: WEI, COACH K.; MAGDUM, ZAKIR
To: NEXAWEB TECHNOLOGY, INC.
Reel/Frame 016811/0738 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 26, 2005
From: WEI, COACH K.; MAGDUM, ZAKIR
To: NEXAWEB TECHNOLOGY, INC.
Reel/Frame 016575/0965 →
KEY EMPLOYEE AGREEMENTS (THREE) AND VERIFIED COMPLAINT IN AN ACTION INVOLVING TITLE Recorded Jun 10, 2005
From: WEI, COACH K.; MAGDUM, ZAKIR
To: EMC CORPORATION
Reel/Frame 016676/0256 →
KEY EMPLOYEE AGREEMENT WITH AN ASSIGNMENT CLAUSE Recorded Jun 10, 2005
From: WEI, COACH K.
To: EMC CORPORATION
Reel/Frame 016676/0301 →
SECURITY AGREEMENT Recorded May 27, 2005
From: NEXAWEB TECHNOLOGIES, INC.
To: EGAN-MANAGED CAPITAL II, L.P.; MASTHEAD VENTURE PARTNERS CAPITAL, L.P.; MVP GLOBAL, LLC; VELOCITY EQUITY PARTNERS I SBIC, L.P.
Reel/Frame 016069/0420 →
Continuity (2)
Provisional Application 6025659400 · Dec 19, 2000
Related Publication 20030200254A1 · Oct 23, 2003