IP Library Granted Patent US 8,959,142
Granted Patent B2
US 8,959,142 · App. 13/587,863 · Granted Feb 17, 2015

Combining server-side and client-side user interface elements

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,959,142
App. No.
13/587,863
Granted
Feb 17, 2015
Kind
B2
Abstract

A method and apparatus are disclosed for combining server-supplied user interface elements with client-supplied user interface elements. The server-supplied user interface elements can be received by a client device and inserted into a client-supplied object model, such as a Document Object Model (DOM). The object model can then be used to render a page, such as a webpage. By injecting server-supplied user interface elements into a client object model, the client can intelligently combine UI elements from a server with UI elements from a client. In the situation where there are conflicting or overlapping UI elements, the client device can modify the object model to eliminate such conflicts or overlaps.

Claims (30)

1. A method of combining server-supplied user interface elements with client-supplied user-interface elements, comprising:

receiving user interface elements including style information from a server computer;

inserting the user interface elements and the style information into a client-supplied object model used to render a page;

rendering the page using the object model, wherein the object model includes client-supplied user interface elements and the user interface elements received from the server computer so that both the client-supplied user interface elements and the user interface elements received from the server computer are blended together on the rendered page, with the style information being applied to both the client-supplied user interface elements and the user interface elements received from the server computer;

wherein inserting includes searching on tags in the client-supplied object model and inserting the user interface elements and style information from the server computer between the tags; and

further including checking a network connection and if the network connection is down, using previously received user interface elements including the style information received from the server computer or suppressing the user interface elements from the server computer and expanding use of the client-supplied user interface elements.

2. The method of claim 1 , wherein the user interface elements and style information from the server computer are in HTML.

3. The method of claim 1 , wherein at least one of the tags is a division tag in the client-supplied object model.

4. The method of claim 1 , wherein the object model is a Document Object Model used for HTML and further including the server computer for transmitting the user interface elements.

5. The method of claim 1 , further including using a script to manipulate the user interface elements supplied by the server in the client-supplied object model.

6. The method of claim 1 , wherein the user interface elements received from the server computer are cached and stored locally on the client device.

7. The method of claim 1 , further including comparing the client-supplied user interface elements with the server-supplied user interface elements, and, if there is a match, suppressing at least one of the matching user interface elements.

8. The method of claim 1 , further including receiving content from the server computer and inserting the content in the client-supplied object model.

9. The method of claim 8 , wherein the content is XML data.

10. A computer-readable nonvolatile storage storing instructions for performing a method of displaying a page on a client device, the method comprising:

receiving server-supplied user interface elements and style information;

inserting the server-supplied user interface elements and the style information into a client-supplied Document Object Model including client-supplied user interface elements, wherein the inserting includes searching on a division tag in the Document Object Model and inserting the server-supplied user interface elements into the division tag;

checking a network connection and using the previously received server-supplied user interface elements and style information if the network connection is down or suppressing the server-supplied user interface elements and style information and using additional client-supplied user interface elements.

applying the style information to both the server-supplied user interface elements and the client-supplied user interface elements; and

displaying the server-supplied user interface elements with the client-supplied user interface elements on a same page using the Document Object Model on the client device with the applied styling information.

11. The computer-readable nonvolatile storage of claim 10 , wherein receiving server-supplied user interface elements includes receiving HTML for displaying the server-supplied user interface elements.

12. The computer-readable nonvolatile storage of claim 10 , further including executing a script on the client device and manipulating the server-supplied user interface elements in the Document Object Model.

13. An apparatus for displaying a page of content on a client device, comprising:

a controller on the client device;

memory for storing an object model used to display the page of content, wherein the controller is programmed to receive user interface elements and style information from a server computer and to insert, using one or more tags in the object model, the received user interface elements and style information in the object model for display so as to blend the received user interface elements from the server and user interface elements supplied by the client device;

a network connector coupled to the controller, wherein if the network connector has connectivity problems with a network, then the controller is programmed to insert previously received server-supplied user interface elements and style information into the object model;

a display for displaying the page of content using the object model including the user interface elements received from the server computer.

14. The apparatus of claim 13 , wherein the object model is a Document Object Model and the user interface elements are in HTML.

15. The apparatus of claim 13 , further including a script to manipulate the server-supplied user interface elements.

16. The apparatus of claim 15 , wherein the script uses client data to make decisions about how to manipulate the server-supplied user interface elements.

Assignments (7)
SECURITY INTEREST Recorded Apr 28, 2025
From: ZESTY.AI, INC.
To: CANADIAN IMPERIAL BANK OF COMMERCE
Reel/Frame 070957/0919 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 7, 2020
From: LOT NETWORK INC.
To: POWERSCOUT, INC. D.B.A. ZESTY.AI
Reel/Frame 053996/0182 →
CHANGE OF NAME Recorded Oct 7, 2020
From: POWERSCOUT, INC.
To: ZESTY.AI, INC.
Reel/Frame 053996/0389 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 26, 2020
From: MICROSOFT TECHNOLOGY LICENSING, LLC
To: LOT NETWORK INC.
Reel/Frame 053608/0045 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034544/0541 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 14, 2013
From: KOLLENKARK, SEAN
To: MICROSOFT CORPORATION
Reel/Frame 031007/0385 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 12, 2012
From: D'AURELIO, RYAN JAMES; SAWREY LEECE, MARK JOHN; JOHNSON, ZACHARIAH GLEN; BERRETT, DOUGLAS DUANE
To: MICROSOFT CORPORATION
Reel/Frame 028944/0941 →