Note: Descriptions are shown in the official language in which they were submitted.
CA 02243701 1998-09-10
MULTI-DIMENSIONAL DATA STORAGE AND PRESENTATION USING A
STANDARD INTERNET WEB BROWSER
Field of the Invention
This invention relates to computer-based networks such
as the Internet and Intranet and more particularly to
systems and methods for storing multi-dimensional data in
HTML pages and presenting that data for viewing and
manipulation by a user of a web browser operating in the
network.
Background of the Invention
The ever-increasing popularity of computers in the home
and office environment has resulted in the development of
wide area computer-based networks which allows greater
accessibility and versatility. One of the most widely used
computer-based networks is the World Wide Web (WWW) which
permits homes and offices alike to access the Web through
both private access providers and on-line service providers.
CA 02243701 1998-09-10
The World Wide Web operates under a common protocol known as
hypertext transfer protocol (HTTP). Additionally, the Web
employs a common language known as Hypertext Mark-up
Language (HTML). The global-wide utilization of a common
protocol and language allows all subscribers to the service
to access data retained within widely dispersed servers in
the network. Such data is conveniently stored in HTML files
which are known as web pages. HTML allows for presentation
of information in various formats such as text, graphics,
video and sound. Another important feature of HTML is that
it permits developers to build in links from one server and
file~ within that server to other files and servers within
the network. These links are known as uniform resource
locators (URL).
One of the features which has popularized the World
Wide Web in recent time is the Web Browser which operates
software installed on a user's computer, also known as a
client, and which allows for simple graphical user interface
(GUI)-based access to the network servers.
In addition to the Internet networks, private networks
referred to as Intranets provide similar environments to a
selected population. Intranets use technology identical to
CA 02243701 1998-09-10
that of the Internet in order to leverage the global efforts
to evolve that technology. Intranets are not directly part
of the public Internet and are usually somewhat isolated
from it by a "firewall" server. The firewall server allows
the passage of Web traffic under restrictions set by the
corporation or other entity which owns or administers the
Intranet. Each of the clients in the Intranet or Internet
environment may run a browser.
All forms of information contained in web pages are in
binary coded form, using 8- or 16-bit representations.
Differences in the semantics associated with the pages and
the elements within those pages imply different
interpretations of the binary information. In HTML, the
information is interpreted as text characters; these in turn
are interpreted as "tags" specifying the roles of enclosed
text strings, and the contents of those strings. Strings so
tagged may be text which will be directly presented to the
user, presentation modifiers of text strings (e.g., "Bold"),
URLs to other pages, or specifications of elements which are
not contained within the page but are to be loaded and
presented on the page. These external elements may be the
video and audio mentioned earlier, or Java applets. Other
CA 02243701 1998-09-10
types of HTML content are possible, and other types of
external element are possible. Current definitions of HTML
do not include multi-dimensional data as a tagged element.
Brief Summary of the Invention
It is thus a primary ob~ect of this invention to
enhance the operation of the Internet and Intranet
environments by defining a) a method for the extraction,
storage and presentation of multi-dimensional data; b) a
computer medium containing an HTML file encoded thereon, the
HTML file containing a representation of the multi-
dimensional data of interest, and a reference to a viewing
program for that data, and the viewing program itself, and
c) a system for presenting data on a client connected to a
network via the viewing program.
The method comprises: a) extracting data of interest
from one or more databases; b) deriving a multi-dimensional
subset of the data summarizing the information content of
the data of interest; c) creating an HTML file containing
the multi-dimensional subset; d) making the HTML file
available on a server for download by the client; and e)
CA 02243701 1998-09-10
providing on the server a program to process and display the
data in the HTML file on the client in response to user
requests.
The system for presenting data on a client connected to
a network comprises the following: a) means for extracting
data of interest from one or more databases; b) means for
deriving a multi-dimensional subset of the data summarizing
the information content of the data of interest; c) means
for creating an HTML file containing the multi-dimensional
subset; and d) a server for making the HTML file available
for download by the client, the server storing a program
(the viewing program) to process and display the data in the
HTML file on the client in response to user requests.
It is another more particular object of the invention
to use an Hypertext Mark-up Language comment (e.g., via an
HTML comment tag) or an application parameter (e.g., via a
UparamN statement within an "applet/' tag) in a web page to
store the multi-dimensional data, making it available to a
presentation application.
Another particular object of the invention is to
provide novel and useful elements in the viewing program for
CA 02243701 1998-09-10
manipulating the view of the multi-dimensional data it is
presenting.
The invention is preferably implemented in a computer
having a processor, an operating system, a graphical user
interface and an HTTP-compliant browser. In such case, the
novel and advantageous features of the invention are
achieved using a first means for encoding a multi-
dimensional data object onto an HTML page, and a second
means for di~playing information from the information object
on the graphical interface using the referenced viewing
program.
Brief Description of the Drawings
The invention will now be described in greater detail
with reference to the accompanying drawings wherein:
Figure 1 illustrates a client computer supporting an HTML-
compliant World Wide Web browser;
Figure 2 is a flowchart diagram of a preferred method of
creating and then displaying a multi-dimensional data
element encoded on an HTML page;
CA 02243701 1998-09-10
Figure 3 is a diagram of the system for producing HTML pages
containing multi-dimensional data and serving them to Web
browsers;
Figure 4 shows a representative graphical user interface for
a multi-dimensional data viewing program;
Figure 5 is a repre~entative web page illustrating an
encoding of multi-dimensional data on an HTML page;
Figure 6 is a representation of the graphical user interface
showing the variable positioning of a control panel with
respect to the application's drawing area; and
Figure 7 is a flow diagram of a menu selecting
implementation for use with the viewing program.
Detailed Description of the Invention
Figure 1 shows a block diagram of a representative
client computer in which the present invention may be
implemented. The client 1 includes a system bus 21 to which
various components are coupled and by which communication
between the various components i6 accomplished. Although
only a single bus 21 is shown in Figure 1 it is to be
understood that a plurality of system buses may exist within
CA 0224370l l998-09-lO
client 1. A microprocessor 6 is connected to the bus 21 and
is supported by read only memory (ROM) 7 and the random
access memory (RAM) 4 which is also connected to bus 21.
ROM 7 contains among other code the code which controls
basic hardware operations such as the interaction between
the disc drives 12 and 13, the CD ROM 14 and the keyboard
18. The RAM 4 is the main memory into which the operating
system 2 and application programs such as the browser 3 and
any program used by the browser is loaded. The memory
management unit 5 is connected to the system bus 21 and
controls direct memory access operation including passing
data between the RAM 4 and hard disc drive 12 and floppy
disc drive 13. The CD ROM 14 also coupled to the system bus
21 i6 used to store a large amount of data, e.g. a multi-
media program or large database.
Also connected to the sy~tem bus 21 are various I/O
controllers: the keyboard controller 15, the mouse
controller 16, and the video controller 17. The keyboard
controller 15 provides the hardware interface for the
keyboard 18, the mouse controller 16 provides the hardware
interface for the mouse or similar point and click device
19, and the video controller 17 is the hardware interface
CA 02243701 1998-09-10
for the display 20. The client may additionally include an
audio controller and multi-media speakers. A modem 8 or an
Ethernet card 10 enables communication over networks 9 and
11 to other computers or clients. Other storage devices,
controllers and I/O devices may be connected to the system
bus or otherwise be part of the client computer.
Operating system 2 may be any of the well-known ~ystems
such as DOS etc. It is to be understood that browser 3 is
HTTP-compliant such as Netscape Navigator, etc. The present
invention is designed to operate within the known or
developing web browsers which are preferably modified as
described herein to achieve the dynamic loading and
execution of viewing software for multi-dimensional data
stored on HTML pages. RAM 4 may support services other than
the web browser such as mail transfer protocol or E-mail,
file transfer protocol (FTP), network news transfer protocol
(NNTP) or Usenet and remote terminal access Telnet.
One of the features of HTML is the use of so-called
"tags" which are denoted by the symbols o. The tag portion
of the message is contained between the brackets. Such tags
have a beginning tag and an ending section shown as <tag>,
</tag> respectively. Conventionally, there are many link
CA 02243701 1998-09-10
tags in Hypertext Mark-up Language so that a viewer of an
HTML document is able to move conveniently from place to
place in the same document to another document or to create
and move by way of a remote link to another server. There
are also numerous element reference tags in HTML to indicate
the loading of resources relevant to, and integral parts of
the contents of the HTML page. One type of reference tag is
an active element tag (e.g. <applet>) which is used to
indicate that a software element written in Java or other
language is to be loaded and run by the browser as part of
the page content. The active element tag in turn may have
parameters which modify its action or appearance or which
provide data to the active el¢ment. The active element may
also extract parameters from elsewhere on the HTML page in
which it resides, i.e. outside of its own start and end tags
including from contents on the HTML page.
According to the present invention, a multi-dimensional
data object is preferably placed within a comment tag of a
web page or within a parameter to an active element such as
a Java applet referred to on the page. A particular web
page may have multiple multi-dimensional data objects and/or
multiple active elements. One or more data objects may be
CA 02243701 1998-09-10
associated with any one active element and conversely, one
or more active elements may be associated with any one
multi-dimensional data object on a given page. A multi-
dimensional data object may have no active element
associated with it on the page; that viewing element
reference being made or implied elsewhere in the system.
Figures 2 and 3, respectively, illustrate a method and
system according to a preferred embodiment of the present
invention. Looking initially at Figure 3, the network
elements involved in the operation of the preferred
embodiment include database 62 which contains the data from
which the multi-dimensional data object is obtained. In
Figure 3 a single database is shown but it is to be
understood that the system may draw data from several
databases within the network. A description of the desired
presentation characteristics for the data taken from
database 62 is contained in a separate file 60. Again, it
is to be understood that the desired presentation
characteristics can, as an alternative, be generated
dynamically by a user of the system. The presentation
information 60 and the raw data taken from database 62 are
combined by program 64 to produce an HTML file 66. The HTML
CA 02243701 1998-09-10
file 66 includes the presentation specification 68 the
reference to the viewing software and a multi-dimensional
representation of the data of interest 70. A sample HTML
file is shown in Figure 5.
The HTML file 66 can be dealt with as any other HTML
file. Typically, it will be placed in the accessible region
of a server machine 74 for distribution to clients 78 which
may be of th¢ type shown in Figure 1. In the current
implementation a reference to the viewing software 72,
written in Java, is also placed on the HTML page. To make
use of the HTML file 66 the client requests the HTML file
and the server 74 transmits it over the network 76 to the
client 78, i.e. the HTML page is downloaded. From the
reference 68 on the HTML page, the client requests the
viewing software which may be on the same server as the HTML
page or elsewhere.
The flowchart of Figure 2 sets out the steps involved
in the process. These include step 30 which as~umes that
data exists in the database and this data is read in
response to a request by the user. The steps included by
solid line 40 in the process include: step 32) connect to
the database as specified in the description file; step 34)
CA 02243701 1998-09-10
create an HTML file containing a description of the data and
its sourcei ~tep 36) extract the data of interest from the
data source; and step 38) store the multi-dimensional data
onto the HTML page. As shown at step 42 the HTML file is
typically placed within an accessible region of the web
server space 74.
The sequence of steps covered by the solid line 52
shows the process involved in making use of the HTML file.
First, at step 44 the HTML page is downloaded by a web
browser operated by the software 3 in Figure 1. Once
downloaded and running as shown at step 46 the viewing
software loads the multi-dimensional data from the HTML page
be it in comment or parameter format as shown at step 48.
The current implementation uses the parameter format. The
viewing software having been allocated a drawing area on the
client's pre~entation area for the HTML page or having been
provided with a window of its own uses its drawing area as
shown in step 50 to present the user an initial view of the
data. Once initialized in this way the viewing software can
present the data in many different ways and for many
different purposes at the request of the user via the
graphical user interface.
CA 02243701 1998-09-10
Figure 4 shows a presentation of the multi-dimensional
data as generated by the viewing software in the current
implementation of the invention. The presentation in Figure
4 illustrates only one of many formats that the multi-
dimensional data may take. In this particular example the
sale in dollar value for a group of products over a
calendar year is displayed. According to the invention this
same information may be displayed in a variety of formats as
requested by the user.
The view in Figure 4 contains indicators of the data
title at reference numeral 110, the content at 108 and of
the current viewing parameter~. As shown, the view also
contains controls for changing the viewing parameters.
These controls include the graph type and table presentation
style controls 90, 91, 92, 93 and 94. The history, 80, 82
and 83 and bookmarks 84 are for saving and reviewing
specific views. Controls 97, 102, 104 and 106 are for
changing the selection of the subset of data viewed in the
data viewing area, these being the axis controls. Control 97
is representative of the axis controls in the Axis Control
Bar 100 which are variable in number as required (four are
shown in Figure 4). Control 104 is representative of a
14
CA 02243701 1998-09-10
"collapsed" axis level in the hierarchy for the given axis
control 102. Control 85 is for saving the current view of
the data and control 86 is for retrieving elements of the
original data from the server. Control 87 is for setting
viewing preferences such as text font size and which of the
other controls are visible and/or active. Control 88 is for
making visible and active a panel containing a colour
palette used to effect changes in colour and other visible
elements. Control 89 is for making visible and active a
panel containing a hierarchical view of the data axes
pertaining to the current data set, modeled after the
Windows Explorer application which is used to view the file
hierarchy in the Windows operating system. Control 95 is
for making visible and active a panel containing controls
for selectively modifying the contents of the data set for
the purpose of exploring hypothetical scenarios. Control 98
is for bringing forward HTML pages describing the GUI of the
viewing software itself. Control 99 is for opening an
independent window into which another instance of the
viewing software will be launched to create a second
independent view of the current data set. Control 96 is for
altering the order of the data axes including exchanging
CA 02243701 1998-09-10
hidden axes contained in the axis bar with either the
vertical or the horizontal axis.
The viewing software is not restricted to contain only
the indicators and controls described herein, nor are all of
the indicators and controls described herein necessary for
the viewing of the multi-dimensional data.
Part of the GUI for the viewing application is a set of
status/control panels which can be~made visible or invisible
using the controls made above, but which can also be slid
into and out of view using a click-and-drag mouse operation.
This part of the GUI is illustrated in Figure 6. The novel
part of this element of the viewing application is the
variability of the panel's position with respect to one edge
of the application's drawing area through a drag operation.
The panel 122 can be fully hidden behind one edge of the
viewing area 120, fully extended from that edge, or at any
extension between these two extremes. The click-and-drag is
done on a designated region of the viewing area, in this
implementation, a tab 124 at the edge of the panel.
Another element of the GUI for the viewing application
is a novel pop-up menu for various choice lists. This menu
element has modes of operation common to other
16
CA 02243701 1998-09-10
implementations and one novel mode of operation. One common
mode consistR of the following: when the menu header (a
button) i~ clicked down the menu list appears. Dragging the
pointer into the list highlights each entry in turn.
Releasing the mouse button over a given item causes that
item to be selected and the menu disappears; once again only
the button iB visible. The second mode of operation is as
follows: clicking and releasing the menu button causes the
menu list to appear. Clicking and releasing on a list item
simultaneously causes the item to be selected and the menu
to disappear. Novel in this implementation is a mode of
operation which provides a means to make repeated selections
from the list without having to re-establish the menu list
on the screen; it rem~inR visible between selections. The
new mode of operation as illustrated in the flow diagram of
Figure 7. At state box 130 the menu button only is visible.
By clicking down on a point and click operator with the
pointer over the menu button, a current view of the menu or
list of choices becomes visible (state box 132). The right
hand side of the flow diagram of Figure 7 including state
box 134 represents the known implementation of a GUI viewing
application. The novel aspect of the present application is
CA 02243701 1998-09-10
shown in the left hand section of the drawing including
state box 136. Clicking and releasing on a list item causes
the item to be selected, but the list of choices remains
visible. Subsequent clicks and releases on list items cause
those items to be selected. Only when the menu button is
clicked and released a second time, or when a click occurs
outside the menu list and menu button areas, is the menu
list removed from view.
Although the invention has been described in terms of a
preferred embodiment, those skilled in the art will
recognize that various modifications of the invention can be
practiced within the spirit and scope of the appended
claims. Thus, for example, further graphing types may be
made available in the viewing software.
Moreover, although in the preferred embodiment it is
envisioned that the hypertext document associated with the
multi-dimensional data, and the viewing software for that
data, are located on a remote server, this is not a
limitation of the invention. The display of the data may be
effected as described regardless of the location of the HTML
files and viewing software involved. Also, while the
preferred embodiment has been described in the context of an
CA 02243701 1998-09-10
Internet browser, the techniques of this invention apply
whether or not the files and software involved are accessed
through the Internet, through a private network (an
Intranet, or other private network), or directly from the
machine running the client.
Having thus described my invention, what I claim as new
and desire to secure by Letters Patent is set forth in the
following claims.
19