|
|
|
Mark up language interface (e.g., HTML) |
Dynamic web list display6931598
Abstract
An arrangement is provided for dynamic web list display. A view page is displayed at a client site. The view page hosts a plug-in and supplies the plug-in a link to a filler page on a server. The filler page provides list content with specified content structure. The plug-in downloads the filler page from the server site and renders the list content according to the content structure specified by the filler page.
Claims
1. A method, comprising:
displaying, at a client site, a view page which hosts a plug-in;
supplying, by said view page, a link to said plug-in, said link pointing to a filler page on a server, said filler page providing a list data having a plurality of data tuples, each of the plurality of data tuples including a plurality of attributes, the plurality of data tuples being displayed in horizontal rows and the plurality of attributes being displayed in vertical columns;
downloading, by said plug-in from said server site, said filler page; and
rendering, by the plug-in at said client site, said list data.
2. The method according to claim 1, wherein said plug-in includes a Java applet.
3. The method according to claim 1, wherein said plug-in includes an ActiveX control.
4. The method according to claim 1, wherein said filler page comprises:
a heading specifying a sequence of the plurality of attributes in vertical columns and specifying a sequence of the plurality of data tuples in horizontal rows.
5. The method according to claim 4, wherein the plurality of attributes defines at least one of:
an identification that uniquely identifies each of said at least one data tuple;
a text string;
an image; or
a data link.
6. The method according to claim 5, wherein said data link includes a HTML link.
7. The method according to claim 5, wherein said data link includes a link to a filler page.
8. The method according to claim 4, further comprising:
one or more buttons, each of said one or more buttons being used to invoke a corresponding operation to be performed on said list data.
9. The method according to claim 8, wherein each of said one or more button comprises:
an identification that uniquely identifies a button;
a description associated with said button to describe the operation to be performed when said button is clicked; and
a link pointing to a corresponding button handler that performs said operation associated with said button on said list data.
10. The method according to claim 8, wherein said rendering by said plug-in comprises:
rendering said heading according to said sequence of the plurality of attributes;
rendering said plurality of data tuples according to an order defined by said sequence of the plurality of attributes; and
rendering said one or more buttons, each of said one or more buttons being implemented according to said link to said associated button handler that performs said corresponding operation when said one or more buttons is clicked.
11. The method according to claim 8, further comprising:
changing said sequence of the plurality of data tuples by clicking at least one of the one or more buttons; and
updating said list data.
12. The method according to claim 11, wherein said updating comprises:
triggering a list data update unit in said plug-in;
determining a mode of updating, said mode of updating including a full update or a delta update;
downloading, if the mode of updating corresponding to full update, the filler page from the server site, the downloaded filler page corresponding to a new timestamp and representing a full update;
rendering the full update;
generating, if the mode of updating is a delta update, by a delta update unit, a delta update query, based on a timestamp associated with said list data;
sending said delta update query to a delta update handler at said server site;
identifying, by said delta update handler, delta changes based on said timestamp specified in said delta update query;
generating a delta update based on said delta changes using a second new timestamp;
sending said delta update with said second new timestamp to said delta update unit;
rendering the delta update; and
processing said new timestamp and said second new timestamp to replace said timestamp.
13. The method of claim 11, wherein said changing of said sequence of the plurality of data tuples includes deleting at least one of said data tuples from said data list.
14. The method of claim 11, wherein said changing of said sequence of the plurality of data tuples includes rearranging the order of said plurality of data tuples according to a characteristic of one of the plurality of attributes.
15. A system, comprising:
a view page at a client site, said view page hosting a plug-in for displaying and manipulating list content;
a filler page, hosted on a server, for providing list data, associated heading specifying the content structure of said list data, and one or more buttons each of which facilitate an operation on said list data, said list data including a plurality of distinct data tuples and a plurality of attributes relating to each of the plurality of distinct data tuples, each distinct data tuple being displayed in a single horizontal row and each of the plurality of attributes being displayed in a vertical column within the horizontal row, said plurality of data tuples and plurality of attributes being sequenced in an order according to said heading; and
one or more button handlers on said server site for facilitating said operation on said list data, each of said one or more button handlers corresponding to one of said one or more buttons specified in said filler page.
16. The system according to claim 15, further comprising:
a delta update handler located on said server, for performing operations related to updates performed on said list data.
17. The system according to claim 16, wherein said delta update handler comprises:
a delta change identification mechanism for identifying changes made to at least one of said plurality of data tuples in said list data since a time specified by a timestamp;
a delta update generator for generating a delta update containing a set of data tuples that have been updated since said time; and
a delta update sender to send said delta update to said plug-in.
18. The system according to claim 17, wherein said plug-in includes a Java applet.
19. The system according to claim 17, wherein said plug-in comprises:
a list content renderer for rendering said list data according to said heading, said one or more button, and said delta update; and
a user interaction mechanism for conducting interactions on said list data, said interactions activating manipulations to be performed on said list data via said one or more buttons.
20. The system according to claim 19, further comprising:
one or more local button handlers for facilitating some of said manipulations to be performed at said client site on said list data and for dispatching some of said manipulations to said one or more button handlers located at said server site; and
a local list data manipulation unit for supporting said manipulations to be performed at said client site.
21. The system according to claim 20, further comprising:
a list data update unit for updating the plurality of data tuples in said list data that have been manipulated.
22. The system according to claim 21, wherein said list data update unit comprises:
a full update unit for performing a full update on said list data; and
a delta update unit for performing a delta update on said list data.
23. The system according to claim 22, further comprising:
a first timer for regulating the frequency of the full update performed by the full update unit; and
a second timer for regulating the frequency of the delta update performed by the delta update unit.
24. The system according to claim 22, wherein said delta update unit comprises:
a delta update query generator for generating a delta update query based on said timestamp to inquiry about the delta changes made to said list data, said delta update query being sent to said delta update handler;
a delta update receiver for receiving said delta update generated by said delta update handler with said new timestamp and for initiating a delta update rendering request to said list content renderer based on said delta update; and
a delta update processing unit for processing said delta update to update said timestamp with said new timestamp.
25. A computer-readable medium having program code stored therein for causing, when executed, a dynamic web list display to occur, comprising
displaying, at a client site, a view page which hosts a plug-in;
supplying, by said view page, a link to said plug-in, said link pointing to a filler page on a server, said filler page providing a list data having a plurality of data tuples and each of the plurality of data tuples including a plurality of attributes,
wherein the plurality of data tuples are displayed in horizontal rows and the plurality of attributes are displayed in vertical columns;
downloading, by said plug-in from said server site, said filler page; and
rendering, by the plug-in at said client site, said list data.
26. The medium according to claim 25, wherein said filler page comprises:
a heading specifying a sequence of the plurality of attributes in vertical columns and specifying a sequence of the plurality of data tuples in horizontal rows.
27. The medium according to claim 26, the dynamic web list display further comprising:
one or more buttons, each of said one or more buttons being used to invoke a corresponding operation to be performed on said list data.
28. The medium according to claim 25, wherein said rendering by said plug-in comprises:
rendering said heading according to said sequence of the plurality of attributes;
rendering said plurality of data tuples according to an order defined by said sequence of the plurality of attributes; and
rendering said one or more buttons, each of said one or more buttons being implemented according to said link to said associated button handler that performs said corresponding operation when said each of said one or more buttons is clicked.
29. The medium according to claim 25, wherein the program code when executed further causes:
changing said sequence of the plurality of data tuples by clicking at least one of the one or more buttons; and updating said list data.
30. The medium according to claim 29, wherein said updating comprises:
triggering a list data update unit in said plug-in;
determining a mode of updating, said mode of updating including a full update or a delta update;
downloading, if the mode of updating is a full update, the filler page from the server site, the downloaded filler page corresponding to a new timestamp and representing a full update;
rendering the full update;
generating, if the mode of updating is a delta update, by a delta update unit, a delta update query, based on a timestamp associated with said list data;
sending said delta update query to a delta update handler at said server site;
identifying, by said delta update handler, delta changes based on said timestamp specified in said delta update query;
generating a delta update based on said delta changes using a second new timestamp;
sending said delta update with said second new timestamp to said delta update unit;
rendering the delta update; and
processing said new timestamp and said second new timestamp to replace said timestamp.
31. The medium of claim 29, wherein said changing of said sequence of the plurality of data tuples includes deleting at least one of said data tuples from said data list.
32. The medium of claim 29, wherein said changing of said sequence of the plurality of data tuples includes rearranging the order of said plurality of data tuples according to a characteristic of one of the plurality of attributes.
Description
RESERVATION OF COPYRIGHT
This patent document contains information subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent, as it appears in the U.S. Patent and Trademark Office files or records but otherwise reserves all copyright rights whatsoever.
BACKGROUND
Aspects of the present invention relate to World Wide Web. Other aspects of the present invention relate to displaying content in a web browser.
World Wide Web has offered, since its creation, an effective means to share information. Information can be stored at a web server and can be located via a Uniform Resource Locator (URL) address. Information stored at any web server that is identifiable with a URL address can be accessed or retrieved via a web browser. Such a web browser is essentially an engine running on the World Wide Web with the capability of connecting to a web server identifiable with a URL address, receiving information from the web server, and rendering received information in a Graphical User Interface (GUI). With a web browser, information across the globe is simply one click away.
To facilitate web browsing, information stored on a web server is organized into web pages. A web page is essentially an electronic document that ties different pieces of information together on a single screen page. Such document may be a conventional text document or a multimedia document that incorporates information of different media such as text, audio, and visual information. Web pages are often constructed using some agreed protocols or languages. Such languages include HyperText Markup Language (HTML) and eXtensible Markup Language (XML). Using such languages, different pieces of information may be tied together in flexible ways to form a single web page. For example, HTML provides the capability of tagging different piece of information. It also provides the capability to visually arrange different pieces of information. For instance, a company logo (which may be an image icon) may be specified in an HTML document to be placed at the upper left corner of a web page with certain offset margins from the top and the left sides of the page.
Conventionally, when a web browser downloads information from a web server, it downloads web pages. The smallest unit of downloading corresponds to an entire web page. Once a web page is downloaded, the browser simply displays what is in the web page. That is, the web browser does not have the authority to manipulate a web page. For example, a web browser downloads and displays a web page containing a list of stock information. The list of stocks is sorted according to the alphabetic order of the stock symbols and each line in the list corresponds to a single stock (e.g., the stock symbol, its current price, its highest price in 52 weeks, its lowest price in 52 weeks, etc.). The web browser can not re-arrange the list in the web page (e.g., sort the stocks in an descending order of its current price). Neither can a user change the feel and look of the web page. In addition, a user can not select some of the stocks from the list to, for example, print or generate a customized stock information list.
A different aspect associated with current web browsing is that a web browser can not dynamically update part of a web page that has been changed since it is downloaded. When the content of a web page is updated, it is updated at the web server where the web page is stored. The update (no matter how small it is) yields an entire new web page. Any update to a displayed web page in a browser can only be achieved by downloading the entire new web page and re-display it. When there is only minor changes to a web page, the bandwidth used to download the entire new web page is not effectively used.
BRIEF DESCRIPTION OF THE DRAWINGS
The present invention is further described in terms of exemplary embodiments which will be described in detail with reference to the drawings. These embodiments are non-limiting exemplary embodiments, in which like reference numerals represent similar parts throughout the several views of the drawings, and wherein:
FIG. 1 depicts the high level architecture of the embodiments of the present invention;
FIG. 2 is an exemplary construct of a heading;
FIG. 3 illustrates exemplary types of attributes for a column of list content;
FIG. 4 is an exemplary construct of a button definition;
FIG. 5 depicts the internal structure of a Java applet in relation to a view page;
FIG. 6 is an exemplary flowchart for dynamic web list display;
FIG. 7 shows the high level block diagram of a list data update unit;
FIG. 8 depicts the internal structure of a delta update unit;
FIG. 9 shows the high level block diagram of a delta update handler; and
FIG. 10 is an exemplary flowchart of a process, which performs list content update.
DETAILED DESCRIPTION
A high level architecture of embodiments of the present invention and of the environment in which the present invention operates in shown in FIG. 1. System 100 in FIG. 1 comprises a view page 110, a filler page 140, zero or more button handler 180, and a delta update handler190. The view page 110 hosts a plug-in 120 and is displayed in a browser 107 at a client site 105. The filler page 140, the button handler 180, and the delta update handler 190 reside on a server 130. The filler page 140 includes a heading 150, zero or more buttons 160, and a list data 170. The plug-in 120 may be implemented in different forms. For example, the plug-in 120 may be realized as a Java applet or as an ActiveX control. In the following description, a Java applet is used as an exemplary plug-in. It should be appreciated that the use of a Java applet herein is illustrative and not restrictive.
The system 100 facilitates the dynamic display of list content in the browser 107. The Java applet 120 downloads the filler page 140 with list content (the list data 170) and content structure specifications (heading 150) and renders the list data accordingly. The system 100 also facilitates operations to be performed on the list content displayed according to the buttons 160 defined in the filler page 140 and the button handler 180. List content may also be regularly or dynamically updated. Delta changes to the list content may be tracked and adaptively rendered through the Java applet 120 and the delta update handler190.
The view page 110 may correspond to a web page that can be invoked from the browser 107. For example, a web page represented by the view page 110 is displayed in the browser when a link to the web page is clicked or when a user enters the Uniform Resource Locator (URL) address of the web page in the browser 107. In FIG. 1, the view page 110 hosts the Java applet 120. The view page 110 may host the Java applet 120 via the use of
| «Previous |
Next» |
| Image and sound input-output control |
Reviewing and merging electronic documents |
|
- Inventors
Price, Stephen H.; Packer, Tyler; Collins, Michael G.; Butterfield, Jason V.;
- Assignee
Intel Corporation (Santa Clara, CA)
- Published
Aug-16-2005
- Current US Classes:
715/501.1 715/513 715/744 715/749 715/760 715/765 715/835 715/840 719/316
- Application #
821798
- International Classes
G06F 003/00; G06F 009//00; G06F 017//00
- Field of Search
715/5011 715/513 715/514 715/738 715/744 715/749 715/760 715/765 715/810 715/835 715/840 715/866 715/511 719/311 719/313 719/315 719/316 345/738 345/744 345/749 345/760 345/765 345/810 345/835 345/840 345/866 707/203
- Examiner
Bautista; X. L.
- Agent
Pillsbury Winthrop Shaw Pittman LLP
- US Patent References:
5920867 5978842 6339772 6381645 6415316 6493742 6591266 6684369 6785721
|