Method and system for navigating a large amount of data

- Informatica Corporation

Methods for navigating a large amount of data are disclosed. In one embodiment, the present invention accesses a source of formatted warehoused data. The present invention then displays a grid on a display device. In one embodiment, the grid is an iconic representation of the formatted warehoused data. The grid is comprised of elements, each element corresponding to some portion of the formatted warehoused data. The present invention displays a portion of the formatted warehoused data on the display device in response to a selection of a corresponding element of the grid. In another embodiment, the formatted warehoused data is condensed so that it can be read in summary form to a user using a voice-based protocol. The user can issue voice commands to drill down deeper into the data, until the desired information is reached. The user thus doesn't need to hear all of the information in the formatted warehoused data, but instead can make inquiries to directly navigate to a particular item of interest.

Skip to: Description  ·  Claims  ·  References Cited  · Patent History  ·  Patent History
Description
FIELD OF THE INVENTION

The present invention relates to database management systems. Specifically, the present invention pertains to a method and system for navigating a large amount of data.

BACKGROUND ART

Computers are used to perform a wide variety of applications in such diverse fields as finance, traditional and electronic commercial transactions, manufacturing, health care, telecommunications, etc. Most of these applications typically involve inputting or electronically receiving data, processing the data according to a computer program, then storing the results in a database, and perhaps transmitting the data to another application, messaging system, or client in a computer network. As computers become more powerful, faster, and more versatile, the amount of data that can be processed also increases.

Unfortunately, the raw data found in operational databases often exist as rows and columns of numbers and codes which, when viewed by individuals, appears bewildering and incomprehensible. Furthermore, the scope and vastness of the raw data stored in modern databases is overwhelming to a casual observer. Hence, applications were developed in an effort to help interpret, analyze, and compile the data so that it may be readily and easily understood by a human. This is accomplished by sifting, sorting, and summarizing the raw data before it is presented for display, storage, or transmission. Thereby, individuals can now interpret the data and make key decisions based thereon.

Extracting raw data from one or more operational databases and transforming it into useful information (e.g., data “warehouses” and data “marts”) is the function of analytic applications. In data warehouses and data marts, the data are structured to satisfy decision support roles rather than operational needs. A data warehouse utilizes a business model to combine and process operational data and make it available in a consistent way. Before the data are loaded into the data warehouse, the corresponding source data from an operational database are filtered to remove extraneous and erroneous records; cryptic and conflicting codes are resolved; raw data are translated into something more meaningful; and summary data that are useful for decision support, trend analysis and modeling or other end-user needs are pre-calculated. A data mart is similar to a data warehouse, except that it contains a subset of corporate data for a single aspect of business, such as finance, sales, inventory, or human resources.

In the end, the data warehouse or data mart is comprised of an “analytical” database containing extremely large amounts of data useful for direct decision support or for use in analytic applications capable of sophisticated statistical and logical analysis of the transformed operational raw data. With data warehouses and data marts, useful information is retained at the disposal of the decision-makers and users of analytic applications and may be distributed to data warehouse servers in a networked system. Additionally, decision-maker clients can retrieve analytical data resident on a remote data warehouse servers over a computer system network.

An example of the type of company that would use data warehousing is an online Internet bookseller having millions of customers located worldwide whose book preferences and purchases are tracked. By processing and warehousing these data, top executives of the bookseller can access the processed data from the data warehouse, which can be used for sophisticated analysis and to make key decisions on how to better serve the preferences of their customers throughout the world.

The rapid increase in the use of networking systems, including Wide Area Networks (WAN), the Worldwide Web and the Internet, provides the capability to transmit operational data into database applications and to share data contained in databases resident in disparate networked servers. For example, vast amounts of current transactional data are continuously generated by business-to-consumer and business-to-business electronic commerce conducted over the Internet. These transactional data are routinely captured and collected in an operational database for storage, processing, and distribution to databases in networked servers.

The expanding use of “messaging systems” and the like enhances the capacity of networks to transmit data and to provide interoperability between disparate database systems. Messaging systems are computer systems that allow logical elements of diverse applications to seamlessly link with one another. Messaging systems also provide for the delivery of data across a broad range of hardware and software platforms, and allow applications to interoperate across network links despite differences in underlying communications protocols, system architectures, operating systems, and database services. Messaging systems and the recent development of Internet access through wireless devices such as enabled cellular phones, two-way pagers, and hand-held personal computers, serve to augment the transmission and storage of data and the interoperability of disparate database systems.

In the current data warehouse/data mart networking environment, one general concern involves the sheer volume of data that must be dealt with. Often massive, multi-terabyte data files are stored in various server sites of data warehouses or in operational databases. Transmitting these massive amounts of data over WANs or the Internet is a troublesome task. The space needed to store the data is significant, and the transmission time is often lengthy.

Furthermore, accessing the resulting data is difficult on a wireless device due to the vast size of the data file. Portable and/or wireless services such as cellular phones, two-way pagers, and hand-held personal computers, have limited computational and display resources.

Accordingly, there is a need for a reliable, convenient and rapid method and/or system for the navigating through the large amounts of data, such as data in a data warehouse/mart. There is a further need to accomplish the navigation through the large amounts of data on a wireless device such as enabled cellular phones, two-way pagers, and hand-held personal computers.

SUMMARY OF INVENTION

The present invention provides a reliable, convenient and rapid method and/or system for the navigating through the large amounts of data, such as data in a data warehouse/mart. The present invention further provides a method and/or system for navigating through a large amount of data on a wireless device such as enabled cellular phones, two-way pagers, and hand-held personal computers.

Specifically, in one embodiment, the present invention accesses a source of formatted warehoused data. The present invention then displays a grid on a display device. In one embodiment, the grid is an iconic representation of the formatted warehoused data. The grid is comprised of elements, each element corresponding to some portion of the formatted warehoused data. In addition, a portion of the formatted warehoused data is displayed on the display device in response to a selection of a corresponding element of the grid.

In another embodiment, a source of formatted warehoused data is accessed. The formatted warehoused data is then distilled into a plurality of hierarchical overviews. In general, a hierarchical overview comprises a subtotal of selected entries from the formatted warehoused data. Specifically, in response to a first inquiry, a hierarchical overview is received.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and form a part of this specification, illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention.

FIG. 1 illustrates a schematic block diagram of an exemplary client/server computer system network upon which embodiments of the present invention may be implemented.

FIG. 2 illustrates an exemplary computer system upon which embodiments of the present invention may be practiced.

FIG. 3 illustrates an exemplary display device in accordance with an embodiment of the present invention for navigating a large amount of data.

FIG. 4 is a flowchart of steps performed in accordance with an embodiment of the present invention for navigating a large amount of data.

FIGS. 5A-5C illustrate an exemplary version of formatted warehoused data in accordance with embodiments of the present invention for navigating a large amount of data.

FIG. 6 is a flowchart of steps performed in accordance with another embodiment of the present invention for navigating a large amount of data.

The drawings referred to in this description should be understood as not being drawn to scale except if specifically noted.

DETAILED DESCRIPTION

A method and system for the wireless delivery of data, including business metrics, transformed data, untransformed data, or raw data are described. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be obvious, however, to one skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form in order to avoid obscuring the present invention.

Some portions of the detailed descriptions that follow are presented in terms of procedures, logic blocks, processing, and other symbolic representations of operations on data bits within a computer memory. These descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. In the present application, a procedure, logic block, process, etc., is conceived to be a self-consistent sequence of steps or instructions leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated in a computer system. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.

It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussions, it is appreciated that throughout the present invention, discussions utilizing terms such as “transmitting”, “receiving”, “determining”, “creating”, “storing”, “delivering”, “accessing”, “generating”, “distilling”, “providing”, “displaying”, “outputting”, “compressing”, “decompressing” or the like, can refer to the actions and processes (e.g., processes 400 and 600 of FIGS. 4 and 6, respectively) of a computer system or similar electronic computing device. The computer system or similar electronic computing device manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission, or display devices.

FIG. 1 is a block diagram depicting one embodiment of a system 100 for the delivery of data, particularly the wireless delivery of data, in accordance with the present invention. Data sources 101 include one or more sources of data resulting from business and financial transactions, equipment performance logs, and the like.

These data sources can based on and formatted according to a Relational Database Management System (RDBMS) (such as from Oracle, Informix, Sybase, Microsoft, etc.), an Enterprise Resource Planning (ERP) system, Service Advertising Protocol (SAP), flat files, and other data transmission formats, either planned or envisioned, including XML, WML, HDML, HTML, and compact (lightweight) HTML.

Data storage 102 is for storing operational data and the like from data sources 101, typically using a high capacity mass storage device (such as hard disk drives, optical drives, tape drives, etc.). In one embodiment, data storage 102 is a data warehouse. Data storage 102 is coupled to a database management system (DBMS) 104 by analytic data interface 103. DBMS 104 executes an analytic application such as a data mart application. A repository 105 is coupled to (or integrated with) DBMS 104 for storing information from the database management system.

There are at least three styles of calculating data (e.g., business metrics): periodic, on demand, and continuous (real time). In the periodic style, data are calculated at predetermined intervals (e.g., hourly, daily, weekly, etc.) and stored in repository 105, and the most recent data are provided to the requester. In the on demand style, the data are calculated in response to a user request. These data may be cached or persisted in some manner (e.g., in repository 105), but do not exist or have value until they are initially requested. In the continuous (real time) style, data are updated as underlying data are updated. For example, a business metric describing the moving average for the inventory of a particular item gets updated as the inventory level for that item is updated. In each case, the requester gets the freshest data.

Returning to FIG. 1, in the present embodiment, an application server 106 is interposed between the DBMS 104 and a voice server 107 or the Internet 109. In one embodiment, application server 106 is accessible to users via a unique Uniform Resource Locator (URL). Application server 106 provides information (e.g., business metrics and transformed data, but also untransformed or raw data) to users from DBMS 104 and/or repository 105.

Voice server 107 provides voice-to-text and text-to-voice services for converting voice messages received from a user via a conventional telephone 110, and for similarly converting information from application server 106 into an audible message. A user can thereby access application server 106 using a conventional telephone 110 via voice server 107, and receive information from application server 106 via the same path. For security purposes, a firewall 108 encloses voice server 107, application server 106, and the other devices and components coupled with those devices on the internal side of the firewall.

Wireless gateway 111 enables communication between wireless devices and application server 106 within the framework of a wireless service provider (WSP). Wireless devices are exemplified as wireless phone 112 and PDA 113; however, it is appreciated that other types of wireless devices such as a pager or two-way pager, or any other data-capable or data-enabled device operable for wireless communication, may be used. Preferably, the wireless devices have display capability, but other means for conveying information to a user may be utilized. For example, information can be converted into an audible message (e.g., text-to-voice).

Coupled to the Internet 109 may be a computer system 114 that is also capable of communicating with application server 106. For example, information can be exchanged between computer system 114 and application server 106 via electronic mail (e-mail). Computer system 114 may also incorporate a Web browser or other such elements allowing it to access a Web site on application server 106 using the URL for application server 106.

In summary, system 100 supports a number of various different types of end-user devices, as well as different types of service providers (e.g., Internet Service Providers, WSPs, etc.). In accordance with the present invention, a user can register a variety of devices and device types utilizing different service providers, protocols (e.g., wireless application protocol (WAP)), Communication standards, and data formats, and use these devices to receive information (e.g., business metrics, etc.) at remote locations (e.g., at field locations worldwide).

FIG. 2 is a block diagram of an embodiment of an exemplary device 200 used in accordance with the present invention. It should be appreciated that device 200 of the present embodiment is well suited to be any type of computing device (e.g., server computer, portable computing device, desktop computer, mobile phone, pager, personal digital assistant, etc.). Within the following discussions of the present invention, certain processes and steps are discussed that are realized, in one embodiment, as a series of instructions (e.g., software program) that reside within computer readable memory units of device 200 and executed by a processor(s) of device 200. When executed, the instructions cause device 200 to perform specific actions and exhibit specific behavior which is described in detail herein.

Device 200 of FIG. 2 comprises an address/data bus 299 for communicating information, one or more central processors 201 coupled with bus 299 for processing information and instructions. Central processor unit(s) 201 may be a microprocessor or any other type of processor. The device 200 also includes data storage features such as a computer usable volatile memory unit 202 (e.g., random access memory, static RAM, dynamic RAM, etc.) coupled with bus 299 for storing information and instructions for central processor(s) 201, a computer usable nonvolatile memory unit 203 (e.g., read only memory, programmable ROM, flash memory, EPROM, EEPROM, etc.) coupled with bus 299 for storing static information and instructions for processor(s) 201. Device 200 also includes one or more signal generating and receiving devices 208 coupled with bus 299 for enabling device 200 to interface with other electronic devices and computer systems. The communication interface(s) 208 of the present embodiment may include wired and/or wireless communication technology. For example, within the present embodiment, the communication interface 208 may be a serial communication port, a Universal Serial Bus (USB), an Ethernet adapter, a Fire Wire (IEEE 1394) interface, a parallel port, a small computer system interface (SCSI) bus interface, infrared (IR) communication port, Bluetooth wireless communication port, a broadband interface, or an interface to the Internet, among others.

Optionally, device 200 may include an alphanumeric input device 206 including alphanumeric and function keys coupled to the bus 299 for communicating information and command selections to the central processor(s) 201. In one embodiment, alphanumeric input device 206 is a touch screen device; in this implementation, alphanumeric input device 206 is capable of registering a position where a stylus element (not shown) makes contact. The device 200 can include an optional cursor control or cursor directing device 207 coupled to the bus 299 for communicating user input information and command selections to the central processor (s) 201. The cursor-directing device 207 may be implemented using a number of well known devices such as a mouse, a track-ball, a track-pad, an optical tracking device, among others. In one embodiment, cursor control 207 is a touch screen device incorporated with display device 205. In this implementation, cursor control 207 is capable of registering a position on display device 205 where a stylus element makes contact. Alternatively, it is appreciated that a cursor may be directed and/or activated via input from the alphanumeric input device 206 using special keys and key sequence commands. The present embodiment is also well suited to directing a cursor by other means such as, for example, voice commands.

A display device 205 is coupled to bus 299 of device 200 for displaying video and/or graphics. It should be appreciated that display device 205 may be a cathode ray tube (CRT), flat panel liquid crystal display (LCD), field emission display (FED), plasma display or any other display device suitable for displaying video and/or graphic images and alphanumeric characters recognizable to a user. The device 200 of FIG. 2 may also include one or more optional computer usable data storage devices 204 such as a magnetic or optical disk and disk drive (e.g., hard drive or floppy diskette) coupled with bus 299 for storing information and instructions.

FIG. 3 illustrates an exemplary display device 205 in accordance with an embodiment of the present invention for navigating a large amount of data. Specifically, FIG. 3, in combination with process 400 of FIG. 4, enables a user of a device 200 to access a large amount of formatted warehoused data, such as formatted warehoused data 500 of FIG. 5A. Additionally, FIG. 3 in combination with process 400 enables the user of device 200 to easily navigate the formatted warehoused data 500. For example, when device 200 accesses a source of formatted data (e.g., analytic data interface 103 of FIG. 1), FIG. 3 portrays the formatted data in an easily navigable environment. In one embodiment, the easily navigable environment of display 205 includes a grid 330, grid elements 340, and a displayed portion of warehoused data 500.

In one embodiment, the source of formatted warehoused data (e.g., 500) is stored on a content server (e.g., application server 106). Furthermore, application server 106 may be a web server, WAP gateway, or the like. In addition, the present embodiment prevents a server timeout between application server 106 and device 200. Specifically, the timeout is prevented by utilizing a separate thread for query execution that also allows for query cancellation. In so doing, the “pipeline” between device 200 and application server 106 remains open until the user chooses to close it. Thus, during the accessing of formatted warehoused data 500, device 200 will not be disconnected from application server 106 if an amount of idle time has passed. Therefore, the user of device 200 is does not have to re-access the formatted warehoused data 500 and re-enter a password.

More specifically, the formatted warehoused data 500 may be formatted in a cross-tabular manner (as a “report”). In addition, formatted warehouse data 500 is presented in a scaled iconic representation on display 205. In one embodiment, grid 330 is the scaled iconic representation of the formatted warehoused data 500 shown on a portion of display 205. Specifically, grid 330 is comprised of many elements, such as 340 and 344, which correspond to some portion of formatted warehoused data 500. An element in grid 330 may correspond to an entry in formatted warehoused data 500, or an element may correspond to multiple entries.

In addition, by selecting different elements (e.g., 340, 344, etc.) located within grid 330, a user can easily navigate the entire formatted warehoused data 500. As mentioned, each element 340 represents some portion of the total formatted warehoused data 500. Therefore, if a user desires to view a specific portion of the formatted warehoused data 500, the user need only select an element, such as element 340, from grid 330. In one embodiment, the user selects an element by contacting display device 205 with a stylus element, as described above. Upon selection of an element, such as element 340, a corresponding portion 310 of the formatted warehoused data 500 is downloaded to, and displayed on, display device 205. Hence, a user can easily read portion 310 on display device 205 without being overwhelmed with the entire formatted warehoused data 500 file.

Furthermore, by utilizing the iconic representation (e.g., grid 330), a user can intuitively deduce the size of the formatted warehoused data 500 being navigated. In one embodiment, display device 205 further utilizes analytic data interface 103 in conjunction with repository 105 to download only portion 310 to display device 205. Therefore, device 200 is not overloaded with the entire version of formatted warehoused data 500, but instead receives only the portion 310 selected for viewing.

Furthermore, in one embodiment, the corresponding portion 310 of grid 330 may retain the axis labels of the formatted warehoused data 500 while the user navigates through grid 330. For example, in the initial representation of portion 310 both a row 320 label and a column 325 label are included. The content of row 320 and column 325 will pertain to the content of element 340. If element 344 is then selected as the next portion 310 to be represented, the column 325 and row 320 will remain a visual part of portion 310; however, the content of row 320 and column 325 will now pertain to the content of element 344. Even if the user selects an element (e.g., 344) of grid 330 that does not intrinsically include column 325 and row 320 headings, column 325 and row 320 headings will remain in the displayed portion 310.

In one embodiment, elements of grid 330 can be navigated upon display device 205 with the use of alpha-numeric input 206 (e.g. hot keys, keyboard arrows, etc.) and/or a graphical user interface (GUI) displayed on device 200. Examples of a GUI may include, but not limited to, a cursor 375, or scrolling arrows 350. The actual navigation of grid 330 can therefore be accomplished by scrolling through the elements (e.g., 340, 344) utilizing scrolling arrows 350, cursor 375, stylus element, or any specified keys. In addition, a specific element, such as element 340 or element 344, of grid 330 may be selected by utilizing hot keys, cursor 375, stylus element, etc., to choose the desired element (e.g., 340, 344) for viewing.

With reference still to FIG. 3, examples of device 200 may include, but are not limited to, a mobile phone, and a portable-computing device (e.g. personal digital assistant, pager, and the like). It is also appreciated, that in one embodiment, the element (e.g., 340) of grid 330 which is displayed as portion 310 may be visually modified (e.g., highlighted, darkened, lightened, shaded, etc.) to signify the element (e.g., 340) of grid 330 presently being viewed.

In the present embodiment, the dimensions of grid 330, element 340, and displayed portion 310 are all adjusted by analytic data interface 103 according to specific metrics supplied to analytic data interface 103 by device 200. For example, if device 200 has a display 205 of x-by-y dimensions, then analytic data interface 103 formats the warehoused data 500 such that a presentation of size x-by-y dimensions will appear on display device 205. Therefore, the present method for navigating a large amount of data can account for the characteristics of the display 205 utilized by device 200, and thus can be used with a variety of such devices.

FIG. 4 is a flowchart 400 of the steps performed in accordance with an embodiment of the present invention for navigating a large amount of data. Flowchart 400 includes processes of the present invention which, in one embodiment, are carried out by processors and electrical components under the control of computer readable and computer executable instructions. The computer readable and computer executable instructions may reside, for example, in data storage features such as data storage device 202, 203, and/or 204 of FIG. 2. However, the computer readable and computer executable instructions may reside in any type of computer readable medium. Although specific steps are disclosed in flowchart 400, such steps are exemplary. That is, the present embodiment is well suited to performing various other steps or variations of the steps recited in FIG. 4. Within the present embodiment, it should be appreciated that the steps of flowchart 400 may be performed by software, by hardware, or by any combination of software and hardware.

With reference now to step 402 of FIG. 4, the present embodiment causes device 200 to access a source of formatted warehouse data (e.g., 500 of FIG. 5A). It is understood that step 402 may be implemented in a wide variety of ways in accordance with an embodiment of the present invention. For example, the present embodiment may cause device 200 to access formatted warehouse data 500 in any manner similar to that described herein.

In step 404 of FIG. 4, the present embodiment causes device 200 to display a grid 330 on display device 205 (FIG. 3). In general, grid 330 is an iconic representation of the formatted warehoused data 500. It is further appreciated that grid 330 is comprised of elements, such as element 340. In addition, each element (e.g., 340) corresponds to a portion of the formatted warehouse data 500. It is understood that step 404 may be implemented in a wide variety of ways in accordance with an embodiment of the present invention. For example, at step 404, the present embodiment may cause device 200 to display a grid 330 in any manner similar to that described herein.

At step 406 of FIG. 4, the present embodiment causes the device (e.g. 200) to display a portion of the formatted warehoused data 500 on the display (e.g., 205) in response to a selection of a corresponding element (e.g. 340) of grid 330. Step 406 may be performed in diverse ways in accordance with an embodiment of the present invention. For example, the present embodiment may cause device 200 to display a portion of the formatted warehoused data 500 on display 205 in response to a selection of a corresponding element of grid 330 in any manner similar to that described herein.

FIGS. 5A-5C illustrate exemplary versions of formatted warehoused data in accordance with an embodiment of the present invention for navigating a large amount of data. Specifically, formatted warehoused data 500 is a cross-tabular illustration of one embodiment for representing the formatted warehoused data stored in repository 105. Although a specific cross-tabular version of formatted warehoused data 500 is shown, many organizational formats of warehoused data 500 may be used. The cross-tabular format is shown merely for purposes of brevity and clarity.

With reference still to FIGS. 5B-5C, the present embodiment illustrates further hierarchical overview versions of FIG. 5A. Specifically, FIGS. 5B-5C are subtotal versions of the initial formatted warehoused data 500. In one embodiment, subtotaling data is a method for dynamically rolling formatted warehoused data 500 up to a higher level to make it more digestible. Specifically, subtotaling refers to trying to distill as much information as possible from a larger more detailed table of data. That is, table 520 is a subtotal of table 500, table 540 is a subtotal of table 520. Therefore, table 540 shows the least amount of detail while table 500 shows the most detail. It is appreciated that tables 500, 520, and 540 are exemplary and are shown in the present embodiment merely for purposes of clarity.

FIG. 6 is a flowchart of the steps performed in accordance with an embodiment of the present invention for navigating a large amount of data. Flowchart 600 includes processes of the present invention which, in one embodiment, are carried out by processors and electrical components under the control of computer readable and computer executable instructions. The computer readable and computer executable instructions may reside, for example, in data storage features such as data storage device 202, 203, and/or 204 of FIG. 2. However, the computer readable and computer executable instructions may reside in any type of computer readable medium. Although specific steps are disclosed in flowchart 600, such steps are exemplary. That is, the present embodiment is well suited to performing various other steps or variations of the steps recited in FIG. 6. Within the present embodiment, it should be appreciated that the steps of flowchart 600 may be performed by software, by hardware, or by any combination of software and hardware.

In one embodiment, process 600 is an exemplary process for navigating a large amount of formatted warehoused data 500 utilizing voice commands. In general, device 200 may be any device which can transmit and/or receive voice data, such as, but not limited to, a regular phone 110, wireless phone 112, PDA 113, and/or computer system 114. Further, in one embodiment, the formatted warehoused data 500 of process 600 is the same formatted warehoused data 500 of process 400. However, due to the voice navigation abilities of process 600, the format in which analytic data interface 103 represents the formatted warehoused data 500 to process 600 may be different

For example, in one embodiment, process 600 uses a voice recognition interface, such as voice server 107, to convey easily digestible portions of formatted warehoused data 500. In one embodiment, voice server 107 conveys inquiries and responses to inquiries audibly according to a voice-based communications protocol.

In order to distill the formatted warehoused data 500 into pieces that can be readily conveyed by voice, analytic data interface 103 formats the warehoused data 500 into a plurality of hierarchical overviews (e.g., FIGS. 5A-5C). Specifically, formatted warehoused data 500 is reduced in scope by subtotaling the contents thereof. Then, at each subtotal (e.g. overview), a user has the option of drilling deeper into a specific result in order to review the underlying data. For example, if process 600 were to deliver an initial hierarchical overview (e.g., table 540 of FIG. 5C) to device 200, the initial information received in response to an inquiry may be a quantity statement then a cost statement. The user may then wish to hear more information or hear the information from a different perspective by selecting a new level of clarity. For example, in a report with Year and Product attributes, the user could first hear sub-totaled metric values for a given year for all products. Then after selecting a specific product, they could hear the metric values for the given year for the selected product. In order to obtain this information, the user formulates an inquiry. In one embodiment, the user accomplishes this with a voice command.

Process 600 may respond with the quantities NA, NB, NC of each product A, B, C. The user can drill down to the next level (e.g., table 510 of FIG. 5A) by initiating an inquiry for more information about one of the products in particular (e.g., product A), receiving in response a breakdown of the components of the quantity NA. Such “drilling down” can be continued in infinitum.

In general, a report exemplified by table 500 of FIG. 5A is generated and resides in applications server 106 of FIG. 1. When a user at a wireless device accesses this information, instead of hearing an item-by-item recitation of all the entries in table 500. A hierarchical overview such as that of table 540 is heard. The user can then select one of the items in the hierarchical overview, and receive more details about that item. This process can be repeated until the user reaches the desired level of detail. Thus, according to the present invention, a user can receive detailed information using a voice based communications system, but without having to hear an item-by-item recitation of a multitude of entries. The present invention thus provides a ready mechanism for navigating through a large table of data using voice commands.

With reference still to process 600, any hierarchical overview is possible with respect to the present embodiment, the examples with regard to FIGS. 5A-5C are shown merely as one example of a multitude of possible overview breakdown criteria. It is further appreciated that the present process 600 can be performed on a screen and may not require voice cues at all. In fact, the hierarchical overview utilized in process 600 may respond to voice inquiries, hot key inquiries, a single click of a cursor, or any other possible input features which are known to one skilled in the art.

Another embodiment for navigating a large amount of formatted warehoused data 500 on a display device 200 (of FIG. 2) is described herein. Specifically, the formatted warehoused data of table 500 may be represented in a row-by-row format instead of the subtotal format as described above. For example, each row of data from table 500 may be represented in a row-by-row fashion on display 205. This type of format may be useful when a table of data (e.g., 500) contains many rows but few columns. Thus instead of viewing a small table (e.g., table 540) with a limited amount of subtotaled data, the user may choose to view the formatted warehoused data 500 by row. Such a row-by-row format will allow a user to gain a useful view of a table while not being overwhelmed with the entire table (e.g. 500).

In addition, the row-by-row method for displaying formatted warehoused data 500, on device 200 may further “freeze” a row for comparison purposes. That is, in the same way as the row 320 and column 325 (of FIG. 3) headings were maintained on display 205, a specific row of data may be held on display 205. Therefore, a user may compare one specific row with many different rows throughout the table. For example, if one row is of particular interest, the user may navigate throughout the other rows of a table (e.g., table 500) while maintaining the desired row as a fixed part on display 205.

With reference now to step 602 of FIG. 6, the present embodiment causes device 200 to access a source of formatted warehouse data. It is understood that step 602 may be implemented in a wide variety of ways in accordance with an embodiment of the present invention. For example, the present embodiment may cause device 200 to access formatted warehouse data in any manner similar to that described herein. It is further appreciated that device 200 may be any device which can transmit and receive voice data, such as, but not limited to, a regular phone 110, wireless phone 112, PDA 113, computer system 114. 7.

At step 604 of FIG. 6, the present embodiment causes formatted warehoused data 500 to be distilled into a plurality of hierarchical overviews (e.g. 500, 520, and 540 of FIGS. 5A-5C). Further, the hierarchical overviews (e.g. 500, 520, and 540) comprise a subtotal of selected entries from the formatted warehoused data 500. Step 604 may be performed in a variety of ways in accordance with embodiment of the present invention. For example, the present embodiment may cause formatted warehoused data 500 to be distilled into a plurality of hierarchical overviews (e.g. 500, 520, and 540) in any manner similar to that described herein.

At step 606 of FIG. 6, the present embodiment causes device (e.g., 200) to receive a hierarchical overview (e.g. 540) in response to a first inquiry. Step 606 may be performed in a variety of ways in accordance with embodiment of the present invention. For example, the present embodiment may cause device 200 to receive a hierarchical overview 540 in any manner similar to that described herein.

Thus, the present invention provides a reliable, convenient and rapid method and/or system for the navigating through the large amounts of data, such as data in a data warehouse/mart. The present invention further provides a method and/or system for navigating through a large amount of data on a wireless device such as enabled cellular phones, two-way pagers, and hand-held personal computers.

The foregoing descriptions of specific embodiments of the present invention have been presented for purposes of illustration and description. They are not intended to be exhaustive or to limit the invention to the precise forms disclosed, and obviously many modifications and variations are possible in light of the above teaching. The embodiments were chosen and described in order to best explain the principles of the invention and its practical application, to thereby enable others skilled in the art to best utilize the invention and various embodiments with various modifications are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the Claims appended hereto and their equivalents.

Claims

1. A method for navigating a large amount of formatted warehouse data, said the method comprising:

accessing a source of the formatted warehoused data;
displaying a grid on a display device, said the grid being an iconic representation of said the formatted warehoused data, said the grid comprising elements, each element corresponding to some portion of said the formatted warehoused data; and
displaying a portion of said the formatted warehoused data on said the display device, the portion concurrently displayed with and visually distinguished from the grid, in response to a selection of a corresponding element of said the grid.

2. The method as recited in claim 1, wherein content server timeouts are prevented while accessing said the source of formatted data.

3. The method as recited in claim 1, wherein said the warehoused data is formatted in a cross-tabular manner.

4. The method as recited in claim 1, wherein said the portion of said the formatted warehoused data is indicated by a distinctive marking of said the corresponding element of said the grid.

5. The method as recited in claim 1, wherein only said the portion of said the formatted warehoused data is downloaded to said the display device in response to said the selection.

6. The method as recited in claim 1, wherein a different portion of said the formatted warehoused data is displayed on said the display device by selecting a different element of said the grid.

7. The method as recited in claim 1, wherein a graphical user interface (GUI) comprising a cursor and scrolling arrows is also displayed on said the display device.

8. The method as recited in claim 7, wherein a different portion of said the formatted warehoused data is displayed by utilizing said the GUI to navigate within said the grid and to select a different element of said the grid.

9. A device comprising:

a bus;
a display coupled with said the bus;
a memory unit coupled with said the bus; and
a processor coupled with said the bus, said the processor for executing a method for navigating a large amount of data, said the method comprising: accessing a source of formatted warehoused data; displaying a grid on said the display, said the grid being an iconic representation of said the formatted warehoused data, said the grid comprising elements, each element corresponding to some portion of said the formatted warehoused data; and displaying a portion of said the formatted warehoused data on said the display, the portion concurrently displayed with and visually distinguished from the grid, in response to a selection of a corresponding element of said the grid.

10. The device of claim 9, wherein content server timeouts are prevented while accessing said the source of formatted data.

11. The device of claim 9, wherein said the warehoused data is formatted in a cross-tabular manner.

12. The device of claim 9, wherein said the portion of said the formatted warehoused data is indicated by a distinctive marking of said the corresponding element of said the grid.

13. The device of claim 9, wherein only said the portion of said the formatted warehoused data is downloaded in response to said the selection.

14. The device of claim 9, wherein a different portion of said the formatted warehoused data is displayed on said the display by selecting a different element of said the grid.

15. The device of claim 9, wherein a graphical user interface (GUI) comprising a cursor and scrolling arrows is also displayed on said the display.

16. The device of claim 15, wherein a different portion of said the formatted warehoused data is displayed by utilizing said the GUI to navigate within said the grid and to select a different element of said the grid.

17. A The method for navigating a large amount of data, said method as recited in claim 1, further comprising:

accessing a source of formatted warehoused data;
distilling said the formatted warehoused data into a plurality of hierarchical overviews, wherein a hierarchical overview comprises a subtotal of selected entries from said the formatted warehoused data; and
receiving a hierarchical overview in response to a first inquiry, the received hierarchical overview corresponding to the portion.

18. The method as recited in claim 17, wherein content server timeouts are prevented while accessing said the source of formatted data.

19. The method as recited in claim 17, wherein the formatted warehoused data is formatted in a cross-tabular manner.

20. The method as recited in claim 17, wherein said the device is a communications device.

21. The method as recited in claim 17, wherein information about said the selected entries is received in response to a subsequent inquiry.

22. The method as recited in claim 17, wherein inquiries and responses to inquiries are conveyed audibly according to a voice-based communications protocol.

23. The method as recited in claim 21, wherein a response to an inquiry is displayed.

24. A The device of claim 9, the processor for executing the method further comprising:

a bus;
a memory unit coupled with said bus; and
a processor coupled with said bus, said processor for executing a method for navigating a large amount of data, said method comprising: accessing a source of formatted warehoused data; distilling said the formatted warehoused data into a plurality of hierarchical overviews, wherein a hierarchical overview comprises a subtotal of selected entries from said the formatted warehoused data; and receiving a hierarchical overview in response to a first inquiry, the received hierarchical overview corresponding to the portion.

25. The device of claim 24, wherein content server timeouts are prevented while accessing said the source of formatted data.

26. The device of claim 24, wherein the formatted warehoused data is formatted in a cross-tabular manner.

27. The device of claim 24, wherein said the device is a communications device.

28. The device of claim 24, wherein information about said the selected entries is received in response to a subsequent inquiry.

29. The device of claim 24, wherein inquiries and responses to inquiries are conveyed audibly according to a voice-based communications protocol.

30. The device of claim 28, wherein a response to an inquiry is displayed.

Referenced Cited
U.S. Patent Documents
5403147 April 4, 1995 Tanaka
5404513 April 4, 1995 Powers et al.
5405531 April 11, 1995 Hitzman et al.
5410688 April 25, 1995 Williams et al.
5420688 May 30, 1995 Farah
5455945 October 3, 1995 Vanderdrift
5511190 April 23, 1996 Sharma et al.
5519859 May 21, 1996 Grace
5537589 July 16, 1996 Dalal
5563999 October 8, 1996 Yaksich et al.
5603024 February 11, 1997 Goldring
5655101 August 5, 1997 O'Farrell et al.
5675785 October 7, 1997 Hall et al.
5692181 November 25, 1997 Anand et al.
5706495 January 6, 1998 Chadha et al.
5708828 January 13, 1998 Coleman
5713020 January 27, 1998 Reiter et al.
5721903 February 24, 1998 Anand et al.
5721911 February 24, 1998 Ha et al.
5778355 July 7, 1998 Boyer et al.
5781911 July 14, 1998 Young et al.
5787415 July 28, 1998 Jacobson et al.
5794030 August 11, 1998 Morsi et al.
5794228 August 11, 1998 French et al.
5794229 August 11, 1998 French et al.
5794246 August 11, 1998 Sankaran et al.
5799310 August 25, 1998 Anderson et al.
5806060 September 8, 1998 Borgida et al.
5822751 October 13, 1998 Gray et al.
5826258 October 20, 1998 Gupta
5832496 November 3, 1998 Anand et al.
5842213 November 24, 1998 Odom et al.
5848415 December 8, 1998 Guck
5854890 December 29, 1998 Ramachandran et al.
5857197 January 5, 1999 Mullins
5870746 February 9, 1999 Knutson et al.
5870747 February 9, 1999 Sundaresam
5873102 February 16, 1999 Bridge, Jr. et al.
5884262 March 16, 1999 Wise et al.
5898431 April 27, 1999 Webster et al.
5915019 June 22, 1999 Ginter et al.
5933796 August 3, 1999 Ashida et al.
5982890 November 9, 1999 Akatsu
5987454 November 16, 1999 Hobbs
5991742 November 23, 1999 Tran
6002402 December 14, 1999 Schacher
6003024 December 14, 1999 Bair et al.
6014670 January 11, 2000 Zamanian et al.
6026388 February 15, 2000 Liddy et al.
6032145 February 29, 2000 Beall et al.
6032158 February 29, 2000 Mukhopadhyay et al.
6044374 March 28, 2000 Nesamoney et al.
6065007 May 16, 2000 Muthukrishnan et al.
6078994 June 20, 2000 Carey
6119167 September 12, 2000 Boyle et al.
6122628 September 19, 2000 Castelli et al.
6128624 October 3, 2000 Papierniak et al.
6141699 October 31, 2000 Luzzi et al.
6151584 November 21, 2000 Papierniak et al.
6151601 November 21, 2000 Papierniak et al.
6173310 January 9, 2001 Yost et al.
6192364 February 20, 2001 Baclawski
6205472 March 20, 2001 Gilmour
6208990 March 27, 2001 Suresh et al.
6216125 April 10, 2001 Johnson
6233575 May 15, 2001 Agrawal et al.
6269336 July 31, 2001 Ladd et al.
6269369 July 31, 2001 Robertson
6272485 August 7, 2001 Sragner
6272598 August 7, 2001 Arlitt et al.
6292657 September 18, 2001 Laursen et al.
6308203 October 23, 2001 Itabashi et al.
6336137 January 1, 2002 Lee et al.
6339775 January 15, 2002 Zamanian et al.
6369840 April 9, 2002 Barnett et al.
6385604 May 7, 2002 Bakalash et al.
6393386 May 21, 2002 Zager et al.
6404884 June 11, 2002 Marwell et al.
6408292 June 18, 2002 Bakalash et al.
6411936 June 25, 2002 Sanders
6418200 July 9, 2002 Ciccolella et al.
6421781 July 16, 2002 Fox et al.
6424426 July 23, 2002 Henry
6430624 August 6, 2002 Jamtgaard et al.
6438552 August 20, 2002 Tate
6446059 September 3, 2002 Berger et al.
6446062 September 3, 2002 Levine et al.
6446096 September 3, 2002 Holland et al.
6449619 September 10, 2002 Colliat et al.
6457030 September 24, 2002 Adams et al.
6466969 October 15, 2002 Bunney et al.
6477525 November 5, 2002 Bello et al.
6480711 November 12, 2002 Guedalia
6487584 November 26, 2002 Bunney
6493800 December 10, 2002 Blumrich
6502101 December 31, 2002 Verprauskus et al.
6526335 February 25, 2003 Treyz et al.
6535872 March 18, 2003 Castelli et al.
6539359 March 25, 2003 Ladd et al.
6549910 April 15, 2003 Tate
6549937 April 15, 2003 Auerbach et al.
6553366 April 22, 2003 Miller et al.
6563912 May 13, 2003 Dorfman et al.
6564264 May 13, 2003 Creswell et al.
6574599 June 3, 2003 Lim et al.
6581062 June 17, 2003 Draper et al.
6591304 July 8, 2003 Sitaraman et al.
6601062 July 29, 2003 Deshpande et al.
6616701 September 9, 2003 Doyle
6629102 September 30, 2003 Malloy et al.
6631497 October 7, 2003 Jamshidi et al.
6636870 October 21, 2003 Roccaforte
6671689 December 30, 2003 Papierniak
6721728 April 13, 2004 McGreevy
20020035565 March 21, 2002 Shah et al.
20020056081 May 9, 2002 Morley et al.
20020059267 May 16, 2002 Shah et al.
20020077787 June 20, 2002 Rappaport et al.
20020099691 July 25, 2002 Lore et al.
20020112237 August 15, 2002 Kelts
20020161770 October 31, 2002 Shapiro et al.
20030172247 September 11, 2003 Bayer et al.
Foreign Patent Documents
0987868 March 2000 EP
1043671 October 2000 EP
1164511 December 2001 EP
2350758 December 2000 GB
2357596 June 2001 GB
WO 99/24922 May 1999 WO
WO 00/04466 January 2000 WO
WO 00/08581 February 2000 WO
WO 00/77707 December 2000 WO
WO 01/18728 March 2001 WO
WO 01/20438 March 2001 WO
WO 01/24040 May 2001 WO
WO 02/44953 June 2002 WO
Other references
  • Barclay et al.: “Microsoft TerraServer: A Spatial Data Warehouse”, Technical Report MS-TR-99-29, Jun. 1999, Microsoft Corporation.
  • 24X7 The Magazine of Nonstop Computing, “Compaq's Zero Latency Enterprise Initiative,” vol. 1, No. 2, Oct. 2000, pp. 1-25.
  • “A Process for Selective Routing of Servlet Transcoding Modules,” IBM Technical Disclosure Bulletin, vol. 42, Issue 422, Jun. 1999 UK.
  • Multi-Modal Data Access Research Disclosure, Kenneth Mason Publications, Hampshire, GB, No. 426, Oct. 1999, pp. 133-1386.
  • “Parameterized XSL Style Sheets,” Research Disclosure, vol. 42, No. 423, Jul. 1, 1999, Havant, UK, Article No. 423110.
  • Anand, V. J. et al. “Data Warehouse Architecture for DDS Applications.” Australian Journal of Information Systems. Sep. 1996, AJIS Publishing, Australia, vol. 4, No. 1, pp. 43-53.
  • Ballinger, C. et al., “Born to be Parallel. Why Parallel Origins Give Teradata an Enduring Performance Edge,” Bulletin of the Technical Committee on Data Engineering, vol. 20, No. 2, Jun. 1997, IEEE Comput. Soc., Los Alamitos, CA, US.
  • Barrett, R. et al., “Intermediaries: An Approach to Manipulating Information Streams,” IBM Systems Journal, IBM Corp., Armonk, New York, U.S. vol. 38, No. 4, 1999, pp. 629-641.
  • Bellatreche, L. et al., “OLAP Query Processing for Partitioned Data Warehouses,” Proceedings 1999 Int'l. Symposium on Database Applications in Non-Traditional Environments (Dante'99) (Cat. No. PR00496), Kyoto, JP, Nov. 28-30, 1999, pp. 35-42, IEEE Comput. Soc., Los Alamitos, CA US ISBN: 0-7695-0496-5.
  • Bello, R.G. et al., “Materialized Views in Oracle,” Proceedings of the Int'l. Conf. On Very Large Data Bases, NY, Aug. 24, 1998, pp. 659-664.
  • Chamberlin, D. et al., “A Complete Guide to DB2 Universal Database,” 1992, pp. 659-600.
  • Chan, R. “12 Steps of Creating a Successful Data Warehouse,” Proceedings of the 8th International Database Workshop (Industrial Volume), Proceedings of the 8th International Hong Kong Computer Society Database Workshop, Data Mining, Data Warehousing and CLI, pp. 227-248, ISBN 981-3083-53-0, 1997, Singapore, Springer-Verlag Singapore, Singapore.
  • Chaudhuri, S. et al., “An Overview of Data Warehousing and OLAP Technology,” SIGMOD Record, Sigmod, New York, No. US, vol. 2, No. 1, Mar. 1997, pp. 65-74.
  • Curley, K. et al. “The Rationale for Developing a Corporate Data Warehouse and the Development of a Model for Sharing Data in a Data Warehouse Environment.” OOIS '95. 1995 International Conference on Object Oriented Information Systems Proceedings, Proceedings of 1995, International Conference on Object Oriented Information Systems, Dublin, Ireland, Dec. 18-20, 1995, pp. 351-366, Berlin, Germany, Springer-Verlag, Germany.
  • Datta, A., et al., “A Case for Parallelism in Data Warehousing and OLAP,” Ninth Int'l. Workshop on Database and Expert Systems Applications, Vienna, AT, IEEE Comput. Soc., Los Alamitos, CA, US, Aug. 26, 1998, pp. 226-231.
  • Dawson, F. et al., “RFC 2426 vCard MIME Directory Profile,” Network Working Group, Request for Comments 2426, Sep. 1998.
  • Deutsch, A. et al., “Storing Semistructured Data with STORED,” ACM SIGMOD Record, Proceedings of the 1999 ACM SIGMOD International Conference on Management of Data, Jun. 1999, vol., 28, Issue 2.
  • Duncan, K., et al., “Optimizing the Data Warehousing Environment for Change: the Persistent Staging Area,” Cutter IT Journal, Jun. 1999, Cutter Inf. Corp. USA, vol. 12, No. 6, pp. 28-35.
  • Fernanez, M. et al., “SilkRoute: Trading Between Relations and XML,” WWW9/Computer Networks, 33(1-6), pp. 723-745, 2000.
  • Florescu, D. et al., “A Performance Evaluation of Alternative Mapping Schemes for Storing SML in a Relational Database,” Technic Report 3680, INRIA, 1999.
  • Freytag, C. et al., “Resource Adaptive WWW access for Mobile Applications,” Computers and Graphics, Pergamon Press Ltd., Oxford, GB, vol. 23, No. 6, Dec. 1999, pp. 841-848.
  • Fry, J.P, “Conversion Technology, An Assessment,” ACM SIGMIS Database, vol. 12-13, No. 4-1, Jul. 1981, pp. 39-61.
  • Hammer, J. et al., “Extracting Semistructured Information From the Web,” Proceedings of the Workshop on Management of Semi-structured Data, Mar. 16, 1997, pp. 1-25.
  • Hori, M. et al., “Annotation-Based Web Content Transcoding,” Computer Networks, Elsevier Science Publishers B.V., Amsterdam NL., vol. 33, No. 106, Jun. 2000, pp. 197-211.
  • Housel, B. et al., “A High-Level Data Manipulation Language for Hierarchical Data Structures,” International Conference on Management of Data, 1976, pp. 155-169.
  • Informatica Press Releases, “Informatica Delivers Industry's First Synchronized Data Marts With Newest Version of Powermart Suite,” <http://www.informatica.com/syndata-052798.html>, pp. 1-4, May 27, 1997.
  • Jaczynski, M. et al., “Broadway: A Case-Based System for Cooperative Information Browsing on the World Wide Web,” Collaboration Between Human and Artificial Societies, Online 1999.
  • Jones, Katherine, “An Introduction to Data Warehousing: What are the Implications for the Network,” 1998, International Journal of Network Management, vol. 8, pp. 42-56.
  • Juhne, J., et al., “Ariadne: a Java-Based Guided Tour System for The World Wide Web,” Computer Networks and ISDN Systems, North Holland Publishing, Amsterdam, NL, vol. 30, No. 107, Apr. 1, 1998, pp. 131-139.
  • Kim, W., “On Optimizing an SQL-Like Nested Query,” ACM Transactions on Database Systems, Association for Computing Machinery, New York, US, vol. 7, No. 3, Sep. 1, 1982, pp. 443-469.
  • Kitayama, F. et al., “Design of a Framework for Dynamic Content Adaptation to Web-enabled Terminals and Enterprise Applications,” Software Engineering Conference, 1999. Proceedings Sixth Asian Pacific Takamatsu, Japan, Dec. 7-10, 1999, Los Alamitos, CA, US.
  • Kovacs, L. et al., “Aqua: An Advanced User Interface for the Dienst Digital Library System,” 8th Delos Workshop: User Interfaces for Digital Libraries, Online, Oct. 21-23, 1998, Sweden, p. 2.
  • Lum, V. Y. et al., “A General Methodology for Data Conversion and Restructuring,” IBM Journal of Research and Development, IBM Corporation, Armonk, US, vol. 20, No. 5, Sep. 1, 1976, pp. 483-497.
  • Makpangou, M. et al., “Replicated Directory Service for Weakly Consistent Distributed Caches,” INRIA SOR group—78143 Le Chesnay Cedex, France.
  • Mohania, M. et al.: “Advances and Research Directions in Data Warehousing Technology,” Ajis. Australian Journal of Information Systems, Wollongong, Au. vol. 7, No. 1, Sep. 1999, pp. 41-59.
  • Mumick, I. S. et al. “Maintenance of Data Cubes and Summary Tables in a Warehouse,” SIGMOD 1997. ACM SIGMOD International Conference on Management of Data, Tucson, AZ, USA, May 13-15, 1997, vol. 26, No. 2, pp. 100-111, XP002074807, Jun. 1997, ACM, USA.
  • Mumick, I.S., “Magic is Relevant,” Sigmod Record, Sigmod, New York, NY, US, vol. 19, No. 2, Jun. 1, 1990, pp. 247-258.
  • Rodriguez, J. et al., “IBM WebSphere Transcoding Publisher V1:1: Extending Web Applications to the Pervasive World,” <http://ibm.com/redbooks>, Jul. 2000, pp. 1039.
  • Rousskov, A., “Cache Digests,” Computer Networks and ISDN Systems, 30 (1998) 2144-2168.
  • Roy, P. et al., “Don't Trash Your Intermediate Results, Cach'em,” Technical Report, Online, Mar. 2, 2000, pp. 1-22.
  • Schneiderman, B. et al., “An Architecture for Automatic Relational Database System Conversion,” ACM Transactions on Database Systems, vol. 7, No. 2, 1982.
  • Schneier, B., “Applied Cryptography, Second Edition,” 1996, pp. 189-196, 226-227.
  • Shanmugasundaram, J. et al., “Relational Databases for Querying SML Documents Limitations and Opportunities,” Proc. Of VLBD, pp. 302-314, 1999.
  • Seshadri, P. et al., “SQLServer for Windows CE-A Database Engine for Mobile and Embedded Platforms,” Data Engineering 2000. Proceedings 16th International Conference in San Diego, CA, US, Feb. 29, 2000, IEE Computer Soc., US, Feb. 29, 2000, pp. 642-644.
  • Shimura, T. et al., “Storage and Retrieval of XML Documents Using Object-Relational Databases,” Proc. Of DEXA, pp. 206-217, 1999.
  • Shu, N. et al., “Convert: A High Level Translation Definition Language for Data Conversion,” Communications of the ACM, vol. 18, No. 10, Oct. 1975 (Oct. 1975), pp. 557-567.
  • Shu N. et al., “Convert: A High Level Translation Definition Language for Data Conversion,” Proceedings of the 1975 ACM SIGMOD International Conference on Management of Data, May 1975 (May 1975), p. 111.
  • Shu, N. et al., “Express: A Data Extraction, Processing, and Restructuring System,” ACM Transactions on Database Systems, vol. 2, No. 2, Jun. 1977, pp. 134-174.
  • Shu, N., “Automatic Data Transformation and Restructuring,” IEEE, 1987, pp. 173-180.
  • Squire, C., “Data Extraction and Transformation for the Data Warehouse,” ACM Proceedings of SIGMOD. International Conf. On Management of Data, vol. 24, No. 1, Mar. 1, 1995, p. 446.
  • Weyman, P.J., “The Case for a Process-Driven Approach to Data Warehousing,” Database and Network Journal, A.P. Publications, London, FB, vol. 27, No. 1, Feb. 1, 1997, pp. 3-6.
  • White, C., “Data Warehousing: Cleaning and Transforming Data,” Info DB, vol. 10, No. 6, Apr. 1997, pp. 11-12.
  • White, C., “Managing Data Transformations,” byte, McGraw-Hill Inc., St. Peterborough US, vol. 22, No. 12, Dec. 1, 1997, pp. 53-54.
  • Informatica Corporation, Release Notes, PowerCenter 1.6, PowerMart 4.6, Aug. 1999, pp. 1-30.
  • Informatica Corporation, User Guide, PowerCenter 1.6, PowerMart 4.6, Jul. 1999, pp. i-xxvii and 144-186 (Table of Contents, Preface, Chapters 6 & 7).
Patent History
Patent number: RE44478
Type: Grant
Filed: May 3, 2005
Date of Patent: Sep 3, 2013
Assignee: Informatica Corporation (Redwood City, CA)
Inventors: Niels Godfredsen (San Francisco, CA), Spencer Lord (San Francisco, CA), Yusuf Bashir (San Francisco, CA), Eric Ying (Emeryville, CA), Oliver Tse (Sunnyvale, CA)
Primary Examiner: Kuen Lu
Application Number: 11/122,214
Classifications
Current U.S. Class: Database Query Processing (707/769); Graphical Or Iconic Based (e.g., Visual Program) (715/763); On-screen Workspace Or Object (715/764)
International Classification: G06F 17/30 (20060101); G06F 7/00 (20060101); G06F 3/048 (20130101);