Data processing: database and file management or data structures – Database design – Data structure types
Reexamination Certificate
1999-10-29
2004-05-11
Kindred, Alford (Department: 2172)
Data processing: database and file management or data structures
Database design
Data structure types
C707S793000, C707S793000
Reexamination Certificate
active
06735598
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
The invention relates generally to database systems and more specifically to database systems which may be used to access data that is not stored within the database system.
2. Description of Related Art
One of the most common uses of computer systems is to find information. Two techniques that are commonly employed to find information are running a query to find data in a database system and using a search engine to find data from sources that are accessible via a network. Each of these techniques presently offers important advantages and has important limitations.
DATABASE SYSTEMS
Data which is to be accessed by a computer has been typically stored in database systems. The data in database systems is organized in a precisely-defined fashion and is accessible by means of queries written in a query language which can be interpreted by the database system. The syntax and semantics of the query language are also precisely defined. Queries can consequently be written either by human beings directly or by programs. Moreover, queries may be saved and reused, and will each time produce results which are the same except for changes that may have occurred in the database since the last time the query was run. The precise definitions of the data and the query language further permit extensive optimization of the queries.
Most database systems also have transaction controls. At a minimum, reads of data in the database and updates of data in the database are implemented in a fashion which prevents data from being updated by one query while it's being read by another query.
Transaction controls may be extended to permit recovery when a failure occurs in the course of a multi-step transaction. Typically, when a failure occurs, the steps of the transaction which took place before the failure occurred are undone and the transaction begun anew.
A final advantage of database systems is historical—because database systems have been the technique of choice for many years for making data accessible via computer, most organizations already have large amounts of data in database systems, and it is easier to extend the database system than it is to start over with new techniques for accessing data.
In the age of the Internet, traditional database systems have two serious disadvantages: first, the data in the database must belong to a small set of primitive data types for which the database system has built-in operations. A typical database system may store data having character string, Boolean, integer, floating-point, or fixed decimal data types. Second, the data must be contained within the database system or at least local to the computer system upon which the database system is running. What this means in the Internet context is that a query on a traditional database system may return a URL for a remote Web page (universal resource locator—an address of a Web page) which can then be used to fetch the remote Web page to which it refers, but cannot itself return the remote Web page, first, because the Web page is not local to the database system's computer system, and second, because the Web page is not one of the primitive types that the database system can deal with.
In the Internet and in so-called intranets, private networks which employ the Internet protocols, information is located by means of search engines. A search engine indexes words to the URLs of Web pages that contain the words, and the user locates information by either listing the words he or she is interested in or making a Boolean expression containing the words and providing the list or the Boolean expression to the search engine, which then returns the URLs of Web pages that contain the desired words. The Web pages may be located on any publicly-accessible server and may have any kind of content—they may contain not only words, but images, audio clips, video clips, and so on.
The amount of material that can be returned by a Web search and the variety of that material are thus beyond anything which can be dealt with by traditional database systems.
On the other hand, searching for information by means of a search engine is at best an inexact task. The word lists or Boolean expressions given to the search engines are not query language statements and the Web does not have a precisely-defined organization. A search engine may have pages in its index that no longer exist in the Web and may also have not yet indexed pages that do exist. Each search engine has a different coverage of the Web pages and a different algorithm for deciding what URLs to return in response to a given word list or Boolean expression.
The distributed nature of the Web also makes any kind of transaction control difficult. The search engine simply provides the user with a list of URLs; what the user gets when he or she then clicks on one of the URLs is the copy of the page represented by the URL which is most local to the user; thus, if there is a copy in a cache that is closer to the user than the original, that is the copy the user will get. Meanwhile, of course, the original copy may have changed.
Finally, of course, the Internet is so new that the kinds of information traditionally stored in database systems are simply not available in a manner which makes the information easily accessible via search engines.
Some efforts have been made in traditional database systems to at least overcome the restriction that the data stored in the database system belong to a small set of predefined types.
FIG. 1
gives an example of a technique used in the Oracle8™ database system manufactured by Oracle Corporation. Shown in the figure is computer system storage
101
for the computer system upon which the database system is executing. Two parts of storage
101
are of interest here: storage
102
for the components of the database management system and storage
120
for the computer system's file system. The Oracle8 database system is a relational database system, that is, the information in the database system is stored in the form of tables
107
in storage
102
. Each table is made up of a number of named columns with predefined data types and some number of rows. Each row has a field for each of the columns. Thus, table
107
(
i
) has columns including columns
111
and
113
and rows
115
(
a . . . n
). Each row has a field for each column; in table
107
, the fields for column
111
appear as fields
111
(
a . . . n
) and those for column
113
appear as
113
(
a . . . n
). Also included in storage
102
are DBMS routines
105
, which perform the operations defined for the query language on the data in the tables
107
.
In order to deal with data objects that have data types other than those that are predefined for the table columns and also with very large objects, a table
107
(
i
) in the Oracle8 database system may have columns in which the fields of the column do not directly contain the data they represent, but instead point to objects of undefined type which contain the data.
One class of such objects is large objects, or LOBs
116
, which are stored in storage
102
for the DBMS along with the database system's tables
107
and routines
105
. One kind of large object is termed a BLOB, that is, a bit large object. In
FIG. 1
, each field
113
(
a . . . n
) of column
113
represents a BLOB. The BLOBs represented by the fields are shown at BLOB
117
(
a . . . n
). When a query reads a field
113
(
i
) that represents a BLOB, it simply returns BLOB
117
(
i
)'s contents to the source of the query, which then interprets the contents however it pleases. Similarly, when a query writes a field
113
(
j
) that represents a BLOB, the query simply takes whatever bits it receives from the source of the query and writes them to BLOB
117
(
j
). Since large objects
116
are stored in DBMS storage
102
, they are subject to the DBMS system's transaction control.
Another class of such objects is bitfiles, or Bfiles
119
, which are stored in file system storage
120
of the computer sy
Kindred Alford
Nelson Gordon E.
Oracle International Corporation
LandOfFree
Method and apparatus for integrating data from external... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Method and apparatus for integrating data from external..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for integrating data from external... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3233057