Source: http://www.google.com/patents/US7363584?dq=system+for+measuring+web+traffic&ei=Lg8FT__TIIr-sQKzxaGRCg
Timestamp: 2016-05-24 08:39:28
Document Index: 693574034

Matched Legal Cases: ['art 303', 'art 303', 'art 303', 'art 305', 'art 303', 'art 303', 'art 303', 'arts 305', 'art 603', 'art 603', 'art 603', 'art 605', 'art 607', 'art 603', 'art 603', 'art 603']

Patent US7363584 - Method and article for interactive data exploration - Google PatentsSearch Images Maps Play YouTube News Gmail Drive More »Sign inPatentsA markup programming technique is described which directs a rendering agent to display at least two charts at the same time and, in response to a cursor operation over one of the charts, to replace the other chart. The cursor operation need not be a mouse click and can simply be the event of moving the...http://www.google.com/patents/US7363584?utm_source=gb-gplus-sharePatent US7363584 - Method and article for interactive data explorationAdvanced Patent SearchPublication numberUS7363584 B1Publication typeGrantApplication numberUS 09/829,903Publication dateApr 22, 2008Filing dateApr 11, 2001Priority dateApr 11, 2001Fee statusPaidPublication number09829903, 829903, US 7363584 B1, US 7363584B1, US-B1-7363584, US7363584 B1, US7363584B1InventorsLory D. MoleskyOriginal AssigneeOracle International Corporation (Oic)Export CitationBiBTeX, EndNote, RefManPatent Citations (9), Non-Patent Citations (3), Referenced by (7), Classifications (6), Legal Events (5) External Links: USPTO, USPTO Assignment, EspacenetMethod and article for interactive data exploration
US 7363584 B1Abstract
A markup programming technique is described which directs a rendering agent to display at least two charts at the same time and, in response to a cursor operation over one of the charts, to replace the other chart. The cursor operation need not be a mouse click and can simply be the event of moving the cursor into a specified area of the first chart.
The present invention relates to visual tools for data exploration and more particularly to a method and article for interactively presenting charts.
Charts are a convenient and compact way of visually presenting information, especially numeric data. For example, the population of China from 1950 to 2000 can be represented effectively with a bar chart. When implemented on a computer, the presentation of charts can be interactive, allowing the user to navigate the various charts that depict the data set and, hence, explore the data. One common chart navigation feature is known as a “drill down,” in which a user selects one element of a chart to obtain more detailed information for that element in another chart. For example, a pie chart may be displayed, showing the relative populations of China, India, and the United States. By clicking on the pie slice for China, the user can immediately bring up a bar chart showing the growth in the Chinese population over the past half-century.
Prior implementations of chart navigation have typically been programmatic, in which enabling a chart to be interactive required a programmer to code the navigation functions in a procedural language such as C or JAVA™. Typically, such code is written and compiled for proprietary applications, such as a spreadsheet. These applications are typically distributed to the users who have purchased the applications, who can then view the charts by executing the applications. The introduction of hypertext on a global scale via the World Wide Web, however, is changing the way information is distributed and displayed. Rather than distributing the proprietary application, the chart information is annotated with a markup language such as HTML and stored on a web server. In response to requests from a user, the server transmits a web page containing the marked up information to the user's rendering agent such as browser. When the browser receives the web page containing the information to be displayed along with the mark-up, the browser renders the information on the screen in accordance with the mark-up annotations embodied in the web page.
Most applications, however, cannot be executed in the context of a browser. For such applications, the user has to download and execute the application by hand or use a facility such as ActiveX to do so. From a performance aspect, this approach is undesirable, because the downloading phase imposes a large initialization time. If the application is compiled to native machine code, as most applications are, executing a downloaded application on the user's computer system raises security concerns, because the application may include a virus or a software defect that damages the user's computer system. JAVA™ is a browser-based programming language that employs virtual machine code rather than native machine code. Even though with JAVA™ applets, which can be embedded into web pages, security concerns are lessened (but still might exist due to security holes in the JAVA™ virtual machine implementation), the initialization overhead is often unacceptably too high.
The present invention addresses these and other needs by providing the rendering agent with a computer-readable medium that is marked up to display at least two charts at the same time and, in response to a cursor operation over one of the charts, to replace the other chart. The cursor operation need not be a mouse click and can simply be the event of moving the cursor into a specified area of the first chart. In the example of a drill down operation, one of the charts may be the main chart such as a pie chart, and the other chart may be used to show the drill down information for one of the items (e.g. a slice) of the main chart. Thus, when the user operates the cursor over the first chart (e.g. the main chart), the rendering agent automatically replaces the second chart (e.g. the drill down chart). Because the rendering agent provides the chart navigation functions, the security and slow initialization problems encountered in prior procedural applications logic are avoided.
A system, method, and software for interactive data exploration are described. In the following description, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It is apparent, however, to one skilled in the art that the present invention may be practiced without these specific details or with an equivalent arrangement. In other instances, well-known structures and devices are shown in block diagram form in order to avoid unnecessarily obscuring the present invention.
Dynamic Rendering Agents
A rendering agent is a piece of software that is responsible for receiving a page of information that has been marked up in accordance with a markup language, formatting the information in accordance with the markup, and outputting the formatted information. The most common type of rendering agent is an Internet browser, such as the NETSCAPE™ NAVIGATOR™ browser and the MICROSOF™ EXPLORER™ browser, which displays the formatted information on a computer monitor, but other types of rendering agents may be used for other kinds of displays, e.g. a screen on a PDA (personal digital assistant) or portable telephone, Braille output devices, and even paper output. The most popular markup language is the Hypertext Markup Language (HTML), but other markup languages or page description languages, such as SGML, XML, and PDF, can also be used. Although the following description may, for convenience of illustration, refer to browsers as a specific example of a rendering agent and to HTML as a specific example of a markup language, the present invention is not limited to the use of browsers and HTML and may be beneficially employed with other types of rendering agents and markup languages.
Typically, the dynamic rendering agents permit the markup to include the specification of user events and a script of actions to be performed in response to the specified events. The first Internet browsers to permit scripts include NAVIGATOR™ 2 and EXPLORER™ 3. Whenever a scriptable browser loads a web page, the browser organizes the entities marked up in the web page as a hierarchical document object. The Document Object Model (DOM) is a recent attempt by W3C.org to standardize the hierarchical document into a platform- and language-neutral interface that allows programs and scripts to dynamically access and update the content, structure, and style of documents and web pages. DOM and other dynamic markup rendering techniques are described in greater detail in Danny Goodman, Dynamic HTML: The Definitive Reference (O'Reilly, 1998).
The use of DOM and other dynamic rendering techniques, however, is still very much in its infancy. Although DOM has been used with scriptable browsers to implement image rollovers (e.g. a button that changes color or styling when the user moves a mouse cursor over the button), the power of DOM and browser scripting has not as yet been fully realized. In part, this is due to the newness of DOM and the incompatibility between MICROSOFT™ and NETSCAPE™ for all but the simplest of scripts. The present invention stems, however, from the realization that particular combinations of such dynamic rendering techniques can be applied in a completely new direction to implement interactive chart navigation in a manner that provides convenience of use without compromising security or imposing large initialization delays.
Dynamic Image Replacement
In accordance with one embodiment of the present invention, whose operation is illustrated in FIG. 1, dynamic image replacement techniques are used to implement interactive chart navigation. For example, a browser may display a main chart and a drill down chart simultaneously. In response to a user's cursor action over the main chart, the browser replaces the drill down chart that is currently being displayed with another drill down chart that corresponds to the part of the main chart over which the cursor action occurred. Although embodiments of the present invention are illustrated with respect to a working example involving a main chart and drill down charts, the present invention is not limited to these particular kinds of charts and may be profitably employed with other configurations of charts.
At point 105, the markup for the charts is generated based on the chart content 101 and the chart styling 103 information and embodied in a computer-readable medium. This generation can be performed by functions of an application program interface (API), by a separate program, by hand, or by any other technique that produces markup. In our working example, the markup output is stored in a single web page 200, selective portions of which are illustrated in FIG. 2. Web page 200 includes an anchor element 210, which marks the destination of a hypertext link named “myanchor.” This link is located right before the position of the two charts of the working example.
The first chart, e.g. the main chart in the working example, is specified by the first image element 220. The first image element 220 includes a number of attributes, including a source attribute 221 that references the image (i.e. identifies “mousereplace.gif” as the name of the file that contains the image) and a useMap attribute 223 that specifies a client-side image map called “WORLDPOP” that sets a number of “hot” areas on the first chart. A hot area is an active region of the chart that is defined to be responsive to cursor, keyboard, and other user actions. As illustrated in FIG. 3A, the first chart is a pie chart 303 entitled “World Population, Year 2000” showing the population reported in millions of China as 1261, India as 1014, and the U.S.A. as 275. Since users would like to drill down on the population figures in the pie chart 303, the hot areas of the pie chart 303 correspond to the individual three slices.
Referring back to FIG. 2, the second image element 230 specifies the second chart, e.g. the default drill down chart, and includes a name attribute 231 of “barchart” that identifies the second chart in DOM and a source attribute 233 that references the image of the second chart (in a file called “bars/worldpop0.gif”). The second chart is displayed in FIG. 3 as a drill down chart 305, which shows the population of China, reported in millions, from 1950 to 2000. The convenience and compactness of charts is evident in this example, because one can tell at a glance that the population of China generally increased from 500 million in 1950 to about 1250 million in 2000, with a brief leveling that took place in the late 1950s at the time of the Great Leap Forward policy.
Referring again to FIG. 2, the client-side image map specified in the first image element 220 by the name “WORLDPOP” is now defined by map element 240 and named by its name attribute 241. The map element 240 includes a number of area elements 250, 260, and 270 that define the respective hot areas of the image map and, hence, of the main chart. A closing tag 243 terminates the enclosure of the map elements 240, 250, and 260.
The first hot area of the image map is defined by the area element 250. The area element 250 uses a shape attribute 251 and a “coords” attribute 253 to define the geometry of the first hot area. More specifically, with regard to the working example, the shape attribute 251 indicates that the shape is a polygon whose coordinates are specified by the coords attribute 253. These coordinates trace the perimeter of the China 1261 slice in the pie chart 303 of FIG. 3A. Other values for the shape attribute 251 can be RECT for rectangular and CIRC for circular, for which the coords attribute 253 is suitably interpreted. The area element 250 also includes an href attribute 255 that specifies the destination of a hyperlink in case the user clicks in the hot area. In the working example, the destination of the hyperlink is “myanchor,” which was set by the anchor element 210.
The “onMouseOver” attribute 257 specifies the action that the browser is to take in response to the user's movement of the cursor to enter over the hot area. In this case, the action to take is specified by a short script that reassigns the source attribute of the image referenced in DOM object “document.images[‘barchart’].src” to reference the image stored in the “bar/worldpop0.gif” file. The image referenced as “barchart” is none other than the second image, defined by the second image element 230's name attribute 231 as having the “barchart” name. Correspondingly, the reassigned source attribute is the source attribute 233 of the second image element 230.
A second area element 260 defines the second hot area in the image map. In particular, the shape attribute 261 and the coords attribute 263 (some of whose points are abbreviated from FIG. 2 with an ellipsis for ease of illustration) specify the geometry of the second hot area, which, in the working example, corresponds to the population of India. The href attribute 265 specifies the destination of a hyperlink in case the user clicks in the hot area, and the onMouseOver attribute 267 specifies that the current image named “barchart” is to be replaced by the image in the file referenced as “bars/worldpop1.gif”.
Likewise, a third area element 270 defines the third hot area in the image map. In particular, the shape attribute 271 and the coords attribute 273 (some of whose points are abbreviated) specify the geometry of the third hot area, which corresponds to the population of the United States in the working example. The href attribute 275 specifies the destination of a hyperlink in case the user clicks in the hot area, and the onMouseOver attribute 277 specifies that the current image named “barchart” is to be replaced by the image in the file referenced as “bars/worldpop2.gif”.
If, on the other hand, there is such a mouse event, then execution proceeds to point 113 where the script code specified for that event is processed. Because the mouse event is a movement of the mouse cursor 301 over the second hot area, defined by the second area element 260, the action specified in the second area element 260 in the onMouseOver attribute 267 is performed. That action is specified by a script instruction “document.images[‘barchart’].src=‘bars/worldpop1.gif’” which causes the source attribute 233 of the second image 230 (denominated “barchart” by the name attribute 231) to reference the image stored at bars/worldpop1.gif”. This replacement causes the browser at point 115 to display a third image 307, showing the population of India from 1950 to 2000, simultaneously with the pie chart 303.
Accordingly, a technique has been described for interactive chart navigation, in which a chart is dynamically replaced because of mouse events that occur on another chart. Thus, movements of the mouse in the pie chart 303 cause the drill down charts 305, 307, and 309 to be automatically replaced and displayed, without having to make any mouse clicks. Moreover, the scripts use only a simple assignment instruction to a DOM object, which is compatible with both the NAVIGATOR™ and the EXPLORER™ browsers. The resulting user interface is more convenient and easier to use, because it does not require mouse clicks, but does not require procedural application logic to be downloaded to the browser's computer system and executed, thereby advantageously avoiding its associated security problems and long initialization times.
Dynamic Image Map Replacement
The previous description relates to a dynamic image replacement technique. In another embodiment of the present invention, this concept is extended to a dynamic image map replacement technique, in which at least one additional level of navigable charts are presented. Referring to FIG. 4, which shows the operation of an implementation of this embodiment, the markup for the charts is generated based on the chart content 401 and the chart styling 403 information and embodied in a computer-readable medium (at point 405).
Referring now to FIG. 5A, web page 500 includes an anchor element 510, which marks the destination of a hypertext link named “myanchor.” This link is located right before the position of the two charts of the working example.
The first chart, e.g. the main chart in the working example, is specified by the first image element 520. The first image element 520 includes a source attribute 521 that references the image (i.e. identifies “mousereplace.gif” as the name of the file that contains the image) and a usemap attribute 523 that specifies a client-side image map called “WORLDPOP”. As illustrated in FIG. 6A, the first chart is a pie chart 603 entitled “World Population, Year 2000” showing the population, reported in millions, of China as 1261, India as 1014, and the U.S.A. as 275. Since users would like to drill down on the population figures in the pie chart 603, the hot areas of the pie chart 603 correspond to the individual three slices.
Referring back to FIG. 5A, a second image element 530 specifies the second chart, e.g. a population drill down chart, and includes a name attribute 531 of “barchart” that identifies the second chart in DOM as “barchart” and a source attribute 533 that references the image of the second chart (in a file called “bars/worldpop0.gif”). The second image element 530 also has a usemap attribute 535 that specifies the image map named “worldpop0”. The second chart is displayed in FIG. 6A as population drill down chart 605, which shows the population of China, reported in millions, from 1996 to 2000.
With continued reference to FIG. 5A, a third image element 540 specifies a third chart, e.g. an age drill down chart, and includes a name attribute 541 of “agechart” that identifies the third chart in DOM as “agechart” and a source attribute 543 that references the image of the third chart (in a file called “age/ageChina0.gif”). The third chart is displayed in FIG. 6A as age drill down chart 607, which shows the age distribution of the population of China, reported in millions, from 0-4 to 85+.
FIG. 5A, the client-side image map named “WORLDPOP” in the first image element 520 is now defined by a first map element 550 and named by its name attribute 551. The first map element 550 includes a number of area elements, of which area element 560 is shown in FIG. 5A and area elements 570 and 580 are shown in FIG. 5B. Area element 560 of FIG. 5A has a shape attribute 561 and a “coords” attribute 563 to define the geometry of the first hot area, e.g. over the China 1261 slice of the pie chart 603 in FIG. 6A. The area element 560 also includes an href attribute 565 and an onMouseOver attribute 567, which specifies that the browser is to execute a short script that sets the useMap attribute 535 of the first image 520 (i.e. the DOM object “document.images[‘barchart’].useMap”) to reference the image map named “worldpop0”.
For ease of illustration, the second image map, which relates to the data for the population of India, is abbreviated in FIG. 5B. A third area element 570, for the U.S.A., defines the third hot area in the image map for main pie chart 603. In particular, the shape attribute 571 and the coords attribute 573 specify the geometry of the third hot area, e.g. the pie slice corresponding to the U.S.A. The href attribute 575 specifies the destination of a hyperlink in case the user clicks in the hot area, and the onMouseOver attribute 577 specifies that the useMap attribute 535 of the first image 520 is to reference the image map named “worldpop2”. The image map element 550 also includes other area elements, whose attributes are omitted for ease of illustration, and is terminated by a closing tag 553.
If, on the other hand, there is such a mouse event, then execution proceeds to point 413 where the script code specified for that event is processed. Because the mouse event is a movement of the mouse cursor 601 over the third hot area, defined by the third area element 570, the action specified in the third area element 570 in the onMouseOver attribute 577 is performed. That action comprises a series of script statements. The first statement “document.images[‘barchart’].src=‘bars/worldpop2.gif’” causes the source attribute 533 of the second image 530 (denominated “barchart” by the name attribute 531) to reference the image stored at “bars/worldpop2.gif”. The second statement “document.images[‘barchart’].useMap=‘#worldpop2’” causes the useMap attribute 535 of the second image 530 to use the image map named “worldpop2” (i.e. the image map defined by image map element 590). The third script statement “document.images[‘agechart’].src=‘age/ageUSA1.gif’” causes the age distribution drill down chart to be replaced in the DOM. These replacements cause the browser at point 415 to display a fourth image 609, showing the population of the U.S.A. from 1996 to 2000, and a fifth image 611, showing the age distribution for 1996 in the U.S.A., simultaneously with the pie chart 603.
The term “computer-readable medium” as used herein refers to any medium that participates in providing instructions or data to the processor 703 for execution. Such a medium may take many forms, including but not limited to non-volatile media, volatile media, and transmission media. Non-volatile media include, for example, optical or magnetic disks, such as storage device 709. Volatile media include dynamic memory, such as main memory 705. Transmission media include coaxial cables, copper wire, and fiber optics, including the wires that comprise bus 701. Transmission media can also take the form of acoustic, optical, or electromagnetic waves, such as those generated during radio frequency (RF) and infrared (IR) data communications. Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM, CDRW, DVD, any other optical medium, punch cards, paper tape, optical mark sheets, any other physical medium with patterns of holes or other optically recognizable indicia, a RAM, a PROM, and EPROM, a FLASH-EPROM, any other memory chip or cartridge, a carrier wave, or any other medium from which a computer can read.
Patent CitationsCited PatentFiling datePublication dateApplicantTitleUS4845642 *Apr 8, 1986Jul 4, 1989Anritsu CorporationDisplay device for complex transmission reflection characteristicsUS5226118 *Jan 29, 1991Jul 6, 1993Prometrix CorporationData analysis system and method for industrial process control systemsUS5581677 *Apr 22, 1994Dec 3, 1996Carnegie Mellon UniversityCreating charts and visualizations by demonstrationUS6016502 *Jul 25, 1996Jan 18, 2000Sharp Kabushiki KaishaData processing apparatusUS6038561 *Sep 15, 1997Mar 14, 2000Manning & Napier Information ServicesManagement and analysis of document information textUS6704024 *Nov 29, 2000Mar 9, 2004Zframe, Inc.Visual content browsing using rasterized representationsUS6725424 *Dec 9, 1999Apr 20, 2004International Business Machines Corp.Electronic document delivery system employing distributed document object model (DOM) based transcoding and providing assistive technology supportUS6791582 *Dec 29, 2000Sep 14, 2004International Business Machines CorporationMethod and system for identifying and displaying information that is new or has been updated in a placeUS20020052891 *Apr 10, 1998May 2, 2002Jeffrey H. MichaudAssigning a hot spot in an electronic artwork* Cited by examinerNon-Patent CitationsReference1 *"Microsoft Computer Dictionary: Fifth Edition," 2002, Microsoft Press, p. 562.2 *Priester, "Mouse Over Magic," 2000, <http://www.efuse.com/clinic/mouseover>, pp. 1-9.3 *Screenshots from www.iwu.edu/~Ishapiro, via Web Archive (web.archive.org/web/*/http://www.iwu.edu/~Ishapiro), Dec. 6, 1998, Figures 1-3.* Cited by examinerReferenced byCiting PatentFiling datePublication dateApplicantTitleUS8423909 *Apr 16, 2013International Business Machines CorporationSystem and method for an interactive filterUS20100018420 *Jul 23, 2008Jan 28, 2010Etienne MenardReinforced Composite Stamp for Dry Transfer Printing of Semiconductor ElementsUS20110007075 *Mar 25, 2010Jan 13, 2011Samsung Electronics Co., Ltd.Data processing apparatus and methodUS20110246873 *Oct 6, 2011Microsoft CorporationPersistent formatting for interactive chartsUS20120023449 *Jul 26, 2010Jan 26, 2012International Business Machines CorporationSystem and method for an interactive filterUS20130060603 *Mar 7, 2013Richard Chadwick WagnerBusiness Performance Forecasting System and MethodWO2015017596A3 *Jul 31, 2014May 7, 2015Microsoft CorporationAutomatic recognition and insights of data* Cited by examinerClassifications U.S. Classification715/210International ClassificationG06N3/00Cooperative ClassificationG06F3/0481, G06Q10/06European ClassificationG06Q10/06, G06F3/0481Legal EventsDateCodeEventDescriptionApr 11, 2001ASAssignmentOwner name: ORACLE CORPORATION, CALIFORNIAFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MOLESKY, LORY D.;REEL/FRAME:011702/0466Effective date: 20010329Dec 4, 2003ASAssignmentOwner name: ORACLE INTERNATIONAL CORPORATION (OIC), CALIFORNIAFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ORACLE CORPORATION;REEL/FRAME:014725/0372Effective date: 20031113Owner name: ORACLE INTERNATIONAL CORPORATION (OIC),CALIFORNIAFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ORACLE CORPORATION;REEL/FRAME:014725/0372Effective date: 20031113Nov 10, 2009CCCertificate of correctionSep 14, 2011FPAYFee paymentYear of fee payment: 4Oct 7, 2015FPAYFee paymentYear of fee payment: 8RotateOriginal ImageGoogle Home - Sitemap - USPTO Bulk Downloads - Privacy Policy - Terms of Service - About Google Patents - Send FeedbackData provided by IFI CLAIMS Patent Services