Senior Fitness - Exercise and Nutrition for Aging Men and Women
FREE Article Feed for your website.
Home Ownership Magazine
Party Planning Information
Article Marketing Resources
Bio-Medical Research Article Database
Informative Articles on Life, Love and Happiness
Tutorials on Business to Writing
Famous Quotes from Famous People
Song Lyric Information
New US Patent Information
Comprehensive List of Content by Category
Online Auctions and Shopping Related Articles
Article Search
Most Recent Articles
Title: Concurrent memory control for turbo decoders
Patent Number: 6,993,704 Issued on 01/31/2006 to Wolf

Title: Control circuit and liquid crystal display using the control circuit
Patent Number: 7,075,509 Issued on 07/11/2006 to Minami

Title: Conveying apparatus and conveying system
Patent Number: 6,889,815 Issued on 05/10/2005 to Kanamori,   et al.

Title: Cutting tool and cutting insert therefor
Patent Number: 7,326,007 Issued on 02/05/2008 to Hecht

Title: Method of manufacturing gas discharge display panel, support table, and method of manufacturing support table
Patent Number: 7,063,584 Issued on 06/20/2006 to Yonehara,   et al.

Title: System and method for re-assuring delivery of television advertisements non-intrusively in real-time broadcast and time shift recording
Patent Number: 7,043,746 Issued on 05/09/2006 to Ma

Title: Orifice sealing physical barrier
Patent Number: 7,010,885 Issued on 03/14/2006 to Helferty

Title: Semiconductor integrated circuit and IC card
Patent Number: 7,046,573 Issued on 05/16/2006 to Takazawa,   et al.

Title: Axle assembly
Patent Number: 6,994,405 Issued on 02/07/2006 to Li,   et al.

Title: Gear assembly
Patent Number: 6,852,060 Issued on 02/08/2005 to Ash

Title: Folding tool
Patent Number: 7,062,856 Issued on 06/20/2006 to Moser

Title: Folding tray assembly
Patent Number: 6,877,806 Issued on 04/12/2005 to Cutshall,   et al.

Title: Footwear sole comprising a shock-absorbing device
Patent Number: 7,322,129 Issued on 01/29/2008 to Michaeli

Title: For a motor vehicle, an outside element providing a capacitive sensor, and a piece of bodywork including such an outside element
Patent Number: 6,879,250 Issued on 04/12/2005 to Fayt,   et al.

Title: Forest rejuvenation and preservation
Patent Number: 7,320,348 Issued on 01/22/2008 to Murcia

Title: Forklift
Patent Number: 6,877,945 Issued on 04/12/2005 to Ando,   et al.

Title: Formation of a field reversed configuration for magnetic and electrostatic confinement of plasma
Patent Number: 6,891,911 Issued on 05/10/2005 to Rostoker,   et al.

Title: Formation of multisegmented plated through holes
Patent Number: 6,996,903 Issued on 02/14/2006 to Farquhar,   et al.

Title: Apparatus operating an isolation switch in coordination with a circuit breaker
Patent Number: 7,053,321 Issued on 05/30/2006 to Leccia,   et al.

Title: Formulation and process for compression molded component parts
Patent Number: 7,078,451 Issued on 07/18/2006 to Hartman,   et al.

Title: Formulations of anthraquinone derivatives
Patent Number: 7,074,835 Issued on 07/11/2006 to Denny,   et al.

Title: Foundation system for prefabricated houses
Patent Number: 7,325,363 Issued on 02/05/2008 to Davis

Title: Four-wave-mixing based optical wavelength converter device
Patent Number: 7,324,267 Issued on 01/29/2008 to Melloni,   et al.

Title: Borehole conduit cutting apparatus and process
Patent Number: 6,971,449 Issued on 12/06/2005 to Robertson

Title: Fracturable lookup table and logic element
Patent Number: 7,323,902 Issued on 01/29/2008 to Lewis,   et al.

Title: Frame assembly
Patent Number: 7,322,140 Issued on 01/29/2008 to Peery

Title: Frameless hollow roof mirror and method of manufacture
Patent Number: 7,324,733 Issued on 01/29/2008 to Shen

Title: Frequency error estimation using multiple integration lengths
Patent Number: 7,065,163 Issued on 06/20/2006 to Rick,   et al.

Title: Frequency extractor
Patent Number: 7,058,302 Issued on 06/06/2006 to Khalfallah,   et al.

Title: Frequency interpolating device for interpolating frequency component of signal and frequency interpolating method
Patent Number: 6,879,265 Issued on 04/12/2005 to Sato

Title: Friction clutch with intermediate plate mounting system
Patent Number: 6,866,132 Issued on 03/15/2005 to Gochenour,   et al.

Title: Front projection screens including reflecting and refractive layers of differing spatial frequencies
Patent Number: 7,324,276 Issued on 01/29/2008 to Wood

Title: Front structure for vehicle
Patent Number: 6,857,691 Issued on 02/22/2005 to Kuroda,   et al.

Title: Front suspension
Patent Number: 6,866,277 Issued on 03/15/2005 to Ziech,   et al.

Title: Fuel-injection device for an internal combustion engine
Patent Number: 7,077,107 Issued on 07/18/2006 to Boos,   et al.

Title: Fuel injection apparatus
Patent Number: 7,077,108 Issued on 07/18/2006 to Fujita,   et al.

Title: Fuel injection device for internal combustion engine
Patent Number: 7,320,312 Issued on 01/22/2008 to Takahashi

Title: Method for measuring lanthanide content dissolved in uranium oxide
Patent Number: 7,094,608 Issued on 08/22/2006 to Kim,   et al.

Title: Fuel pump assembly for vehicle
Patent Number: 7,077,109 Issued on 07/18/2006 to Lee

Title: Fuel strainer assembly
Patent Number: 6,830,687 Issued on 12/14/2004 to Dockery,   et al.

Title: Fuel supply control system for engine
Patent Number: 6,973,922 Issued on 12/13/2005 to Yamada,   et al.

Title: Fuel vapor leak detecting apparatus, and fuel supplying apparatus to be applied to the same
Patent Number: 7,077,112 Issued on 07/18/2006 to Mitani,   et al.

Title: Wrapping apparatus
Patent Number: 6,892,511 Issued on 05/17/2005 to Wagner

Title: Fuel vapor treatment system for internal combustion engine
Patent Number: 7,320,315 Issued on 01/22/2008 to Amano,   et al.

Title: Full time all wheel drive system
Patent Number: 6,851,501 Issued on 02/08/2005 to Gassmann

Title: Fuse structure for semiconductor integrated circuit with improved insulation film thickness uniformity and moisture resistance
Patent Number: 7,323,760 Issued on 01/29/2008 to Sakoh

Title: Fused azabicyclic compounds that inhibit vanilloid receptor subtype 1 (VR1) receptor
Patent Number: 7,074,805 Issued on 07/11/2006 to Lee,   et al.

Title: Task composition method for computer applications
Patent Number: 6,892,361 Issued on 05/10/2005 to Kandogan

Title: Game and method of playing
Patent Number: 6,834,857 Issued on 12/28/2004 to Lee,   et al.

Title: Game device, game processing method and recording medium having a program recorded thereon
Patent Number: 7,033,275 Issued on 04/25/2006 to Endo,   et al.

Title: Magnetic memory device
Patent Number: 7,102,921 Issued on 09/05/2006 to Anthony,   et al.

Title: Gardening stool
Patent Number: 6,834,916 Issued on 12/28/2004 to Volkman,   et al.

Title: Garment with releasable water-tight seal for neck and limbs
Patent Number: 7,062,786 Issued on 06/20/2006 to Stinton

Title: Gas exchange valve mechanism for an internal combustion engine
Patent Number: 6,848,400 Issued on 02/01/2005 to Gaessler,   et al.

Title: Gas gate for isolating regions of differing gaseous pressure
Patent Number: 6,878,207 Issued on 04/12/2005 to Doehler,   et al.

Title: Gas lift apparatus for a well
Patent Number: 7,048,045 Issued on 05/23/2006 to Vossler

Title: Semiconductor device
Patent Number: 6,847,058 Issued on 01/25/2005 to Ishizaka,   et al.

Title: Gas-panel assembly
Patent Number: 7,320,339 Issued on 01/22/2008 to Milburn

Title: Gas-pressurized writing instrument and writing instrument refill
Patent Number: 7,325,992 Issued on 02/05/2008 to Furukawa,   et al.

Title: Surface treatment disks for rotary tools
Patent Number: 6,814,656 Issued on 11/09/2004 to Rodriguez

Title: Gas sensor and method for use thereof
Patent Number: 7,048,844 Issued on 05/23/2006 to Chen,   et al.

Title: Gas sensor, gas sensor installation structure, and method for installing gas sensor
Patent Number: 6,857,316 Issued on 02/22/2005 to Kurachi,   et al.

Title: Gas-to-liquid CO2 reduction by use of H2 as a fuel
Patent Number: 6,890,962 Issued on 05/10/2005 to O'Rear,   et al.

Title: Linear rolling bearing
Patent Number: 6,904,679 Issued on 06/14/2005 to Greiner

Title: Furniture hinge
Patent Number: 6,904,645 Issued on 06/14/2005 to Lautenschläger

Title: Gasket having a fiber-optic pressure sensor assembly
Patent Number: 7,322,247 Issued on 01/29/2008 to Boyd,   et al.

Title: Gate driving circuit and semiconductor device
Patent Number: 7,068,082 Issued on 06/27/2006 to Kojima

Title: Gateway enabling data communication between devices having different middlewares
Patent Number: 7,324,531 Issued on 01/29/2008 to Cho

Title: Gathering and picking device
Patent Number: 7,062,897 Issued on 06/20/2006 to Rickert,   et al.

Title: Gear shift mechanism
Patent Number: 6,854,353 Issued on 02/15/2005 to Koerber

Title: Gel organosol including amphipathic copolymeric binder having crosslinking functionality and liquid toners for electrophotographic applications
Patent Number: 7,029,814 Issued on 04/18/2006 to Baker,   et al.

Title: Gem setting
Patent Number: 7,325,416 Issued on 02/05/2008 to Bernsen

Title: Generating a task-adapted acoustic model from one or more supervised and/or unsupervised corpora
Patent Number: 7,031,918 Issued on 04/18/2006 to Hwang

Title: Generating reusable software assets from distributed artifacts
Patent Number: 7,322,024 Issued on 01/22/2008 to Carlson,   et al.

Title: Generator circuit for generating large numbers
Patent Number: 7,054,894 Issued on 05/30/2006 to Benschop

Techniques for providing off-host storage for a database application Number:6,795,830 from the United States Patent and Trademark Office (PTO) owispatent

Home    Author Login    Submit Article    Article Search    Add Your Link    Edit Your Link    Contact Us    Advertising    Disclaimer

   

Google
 

Top Breaking News
     Oil Rig Catches Fire in Gulf of Mexico by Greg Flakus
     Pakistani Officials Caution Against Large Outdoor Religious Ceremonies by Ayaz Gul
     US Withdrawal from Iraq Looms Over Afghan War by Gary Thomas

Title: Techniques for providing off-host storage for a database application

Abstract: Techniques for distributing database functions in a system of database devices includes performing database management tasks for a database on a first device connected to a network. The first device is designated a database host. Data file storage and retrieval tasks for the database are sent to a second device connected to the network. The second device is designated an off-host storage device.The first device may be a database server appliance, which includes a processor; a database server process, a special purpose operating system and non-volatile storage. The database server process persistently stores data files for the database on a second device connected to the database server appliance over a network. The special purpose operating system has features and configuration that are dictated by the database server and supporting components. The non-volatile storage is sufficiently large to store and execute instructions that cause the processor to perform as the database server process and the special purpose operating system and not sufficiently large to store all data files in the database.These techniques increase reliability of the database on the network by insulating database server processes from the storage system. These techniques also allow sharing of a high performance storage system among multiple database server appliances.

Patent Number: 6,795,830 Issued on 09/21/2004 to Banerjee,   et al.


Inventors: Banerjee; Niloy (San Mateo, CA), So; John John E. (Redwood City, CA), Rocha; Michael (Hillsborough, CA)
Assignee: Oracle International Corporation (Redwood Shores, CA)
Appl. No.: 09/872,067
Filed: May 31, 2001


Current U.S. Class: 707/200 ; 707/10; 707/2; 707/201
Current International Class: G06F 17/30 (20060101)
Field of Search: 707/2,7,703R,70,3,100,200,202,10


References Cited [Referenced By]

U.S. Patent Documents
5606693 February 1997 Nilsen et al.
5625816 April 1997 Burdick et al.
5668986 September 1997 Nilsen et al.
5809237 September 1998 Watts et al.
5819066 October 1998 Bromberg et al.
5838918 November 1998 Prager et al.
5848243 December 1998 Kulkarni et al.
5890147 March 1999 Peltonen et al.
5978811 November 1999 Smiley
6016394 January 2000 Walker
6026433 February 2000 D'Arlach et al.
6044367 March 2000 Wolff
6049787 April 2000 Takahashi et al.
6052720 April 2000 Traversat et al.
6075938 June 2000 Bugnion et al.
6075939 June 2000 Bunnell et al.
6148410 November 2000 Baskey et al.
6151601 November 2000 Papierniak et al.
6154738 November 2000 Call
6170061 January 2001 Beser
6182111 January 2001 Inohara et al.
6185587 February 2001 Bernardo et al.
6219680 April 2001 Bernardo et al.
6263352 July 2001 Cohen
6286038 September 2001 Reichmeyer et al.
6304886 October 2001 Bernardo et al.
6308188 October 2001 Bernardo et al.
6313835 November 2001 Gever et al.
6330575 December 2001 Moore et al.
6341303 January 2002 Rhee et al.
6345294 February 2002 O'Toole et al.
6381324 April 2002 Shaffer et al.
6401085 June 2002 Gershman et al.
6484150 November 2002 Blinn et al.
6487547 November 2002 Ellison et al.
6487594 November 2002 Bahlmann
6519571 February 2003 Guheen et al.
6519640 February 2003 Hattori et al.
6564261 May 2003 Gudjonsson et al.
6580904 June 2003 Cox et al.
6611834 August 2003 Aggarwal et al.
6629135 September 2003 Ross, Jr. et al.
6636588 October 2003 Kimura et al.
2002/0035584 March 2002 Scheier et al.
Foreign Patent Documents
0 274 406 Jul., 1988 EP
0 803 808 Oct., 1997 EP
1 056 022 Nov., 2000 EP

Other References

Yoo et a. (Operating System Performance and Large Servers), 1994, ACM Press, ISBN: 1-23456-789-0, pp. 166-171.* .
Hyuck Yoo et al. Operating system performance and large servers, Proceedings of the 6th workshop on ACM SIGOPS European works application needs, Sep. 1994, pp. 166-171.* .
Achutha Raman R., et al., "PARDISC: A Cost Effective Model for Parallel and Distributed Computing, " High Performance Computing, 1996, Proceedings 3.sup.rd International Conference, Dec. 19-22, 1996, IEEE, Catalog No.: 96TB100074, pp. 451-456. .
Mary Fernandez, et al., "Declarative specification of Web sites with Strudel," The VLDB Journal (2000), pp. 38-55..

Primary Examiner: Corrielus; Jean M.
Assistant Examiner: To; Baoquoc N
Attorney, Agent or Firm: Brokaw; Christopher J. Hickman Palermo Truong & Becker LLP

Parent Case Text



CLAIM OF PRIORITY

This application claims priority to U.S. provisional application serial No. 60/231,482, filed Sep. 8, 2000 entitled "Automatic Web Sites With Databases" by Dean Tan, Jean-Louis Baffer, Marc Dangeard, Thierry Gruet, Olaf Ziegler, Peter Renner, John-Brown Evans, Christina DeMello, Niloy Banetjee, John John E. So, Michael Rocha, Yuanjiang Ou, Sivakumar Thivakaram, Darryl Presley, Venkat Malla, Pascal Sero, and Kevin Walsh.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is related to U.S. patent application Ser. No. 09/240,229, filed Jan. 29, 1999 entitled "Pre-Defined Hardware And Software Bundle Ready For Database Applications," hereby incorporated by reference in its entirety.

This application is related to U.S. patent application Ser. No. 09/873,061, entitled "Techniques For Automatically Developing A Web Site," filed together herewith, invented by Dean Tan, Pascal Sero, and Kevin Walsh.

This application is related to U.S. patent application Ser. No. 09/872,235, entitled "Techniques For Automatically Provisioning A Database Over A Wide Area Network," filed together herewith, invented by Jean-Louis Baffier, Marc Dangeard, Thierry Gruet, Olaf Ziegler, Dean Tan, Christina DeMello, Pascal Sero, and Kevin Walsh.

This application is related to U.S. patent application Ser. No. 09/872,234, entitled "Techniques For Automatically Installing And Configuring Database Applications," filed together herewith, invented by Dean Tan, Marc Dangeard, Pascal Sero, and Kevin Walsh.

This application is related to U.S. patent application Ser. No. 09/872,932, entitled "Techniques For Automatically Discovering A Database Device On A Network," filed together herewith, invented by Yuanjiang Ou, Sivakumar Thivakaram, Darryl Presley and Venkat Malla.

This application is related to U.S. patent application Ser. No. 09/873,042, entitled "Techniques For Managing Database Systems with a Community Server," filed together herewith, invented by Peter Renner, John-Brown Evans, Christina Demello, Pascal Sero, and Kevin Walsh.
Claims



What is claimed is:

1. A system of database devices comprising: a network; a first device, connected to the network, for executing a database server for managing a database, wherein said database server is designed to perform operations on data stored in said database in response to commands that conform to a database language; and a second device configured as a database storage appliance, wherein said second device is separate from and communicatively coupled with said first device through the network; wherein the database storage appliance is configured for storing data files for the database, the database storage appliance comprising a mass storage device, a file system server designed to perform file operations in response to commands received by the database storage appliance, and a special purpose operating system whose features and configuration are based on the operating system functionality requirements of the file system server and supporting components.

2. The system of claim 1 wherein the first device is a database server appliance comprising a database server and a special purpose operating system whose features and configuration are dictated by the database server and supporting components.

3. The system of claim 2, wherein: the system further comprises a second database server appliance connected to the network, the second database server appliance for managing a second database; and the database storage appliance also stores data files for the second database.

4. A method for processing a database operation, comprising: receiving a request for the database operation at a database server appliance that includes a database server for managing a database, wherein the database server is designed to perform operations on data stored in said database in response to commands that conform to a database language, wherein the database appliance includes a special purpose operating system whose features and configuration are dictated by the database server and supporting components; and transmitting, from the database server appliance over a network connection to a database storage appliance that is on a device separate from said database server appliance, data file storage and retrieval tasks required by said database operation, wherein the database storage appliance has a file system server and a special purpose operating system whose features and configuration are based on functionality requirements of the file system server and supporting components.

5. The method of claim 4, further comprising the step of: determining whether the database server appliance is configured for off-host storage before transmitting the requests to perform file system operations from the database the storage appliance.

6. The method of claim 5, wherein said step of determining whether the -database server appliance is configured for off-host storage further comprising the step of detecting an off-host storage device.

7. The method of claim 5, further comprising the step of: if it is determined that the database server appliance is configured for off-host storage, then migrating database files of an extant database on the database server appliance to the off-host storage device.

8. The method of claim 5, said step of determining whether the database server appliance is configured for off-host storage further comprises the step of determining whether a detected off-host storage device has a storage capacity sufficient to hold the extant database files.

9. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 4.

10. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 5.

11. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 6.

12. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 7.

13. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 8.
Description



FIELD OF THE INVENTION

The present invention relates to accessing databases over a network such as the Internet, and, in particular, to increasing efficiency by hosting data server functionality and data storage functionality on separate devices.

BACKGROUND OF THE INVENTION

The complexity of a general purpose database system combined with the complexity of a general purpose operating system with which the database system interacts on a general purpose computer is typically sufficient to require employment of a full-time database administrator (DBA). It is the responsibility of the DBA to grapple with the complexity of the database system, the operating system, and the interactions between them, so that the other database users can take advantage of the database system without being exposed to underlying complexity. Unfortunately, employing a full-time DBA makes ownership of a useful database system an expensive option that may be outside the means of the small to medium sized enterprise.

Maintaining an in house computer system to host a database and Website is also an expensive undertaking even when the enterprise can afford a DBA or small team of information services (IS) professionals. Most computer equipment requires special air-conditioning and power supplies that are expensive to construct in a facility. The equipment itself is expensive and prone to become obsolete as new hardware devices are developed. Even if the equipment is leased, the facility costs remain, and the transfer to upgraded equipment may put a database out of service and consume considerable amounts of skilled IS labor.

One of the costs contributing to a network of database devices is the expense and complexity of each device. A conventional database server device includes a database server and a mass storage subsystem for storing the database files. The database server processes interact with the storage system, adding to the complexity of the database server and the database server device. This complexity both adds to the cost of the server device and decreases the reliability of the entire database on the network. In addition, this requirement to support the data files of the database forces the minimum database device configuration to include sufficient mass storage to support typical database applications adding to the cost of the system, also adding to the cost of the server device. Also because the device must support database server processes as well as storage functions, the device hardware and configuration can not be simultaneously optimized for both server functions and storage functions. Furthermore, including mass storage for the data files on the device inhibits utilization and sharing high-performance storage systems that may become available on the market after the database server device is procured.

Based on the foregoing, it is clearly desirable to provide a computer system that employs features that reduce the cost of maintaining the hardware and software of the database system and the Internet presence. It is further desirable to decrease the complexity of computer systems, and to provide management techniques that allow companies to reduce the size and cost of their in-house IS departments.

SUMMARY OF THE INVENTION

The embodiments of the disclosed techniques reduce the costs to small and medium sized enterprises of establishing and maintaining one or more databases using a network, such as the Internet. According to one aspect of the invention, a database server appliance includes a processor; a database server process, a special purpose operating system and non-volatile storage. The database server process persistently stores data files for the database on a second device connected to the database server appliance over a network. The special purpose operating system has features and configuration that are dictated by the database server and supporting components. The non-volatile storage is sufficiently large to store and execute instructions that cause the processor to perform as the database server process and the special purpose operating system and not sufficiently large to store all data files in the database.

According to another aspect of the invention, techniques for distributing database functions in a system of database devices includes performing database management tasks for a database on a first device connected to a network. The first device is designated a database host. Data file storage and retrieval tasks for the database are sent to a second device connected to the network. The second device is designated an off-host storage device.

These techniques increase reliability of the database on the network by insulating database server processes from the storage system. These techniques also allow sharing of a high performance storage system among multiple database server appliances.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings and in which like reference numerals refer to similar elements and in which:

FIG. 1 is a block diagram of a computer system upon which an embodiment of the disclosed techniques may be implemented.

FIG. 2A is a block diagram of a database appliance for a database server upon which an embodiment of the disclosed techniques may be implemented.

FIG. 2B is a block diagram of database appliance using an off-host database storage appliance according to one embodiment of the disclosed techniques.

FIG. 2C is a flowchart depicting some management tasks performed by a database server using off-host storage according to one embodiment of the disclosed techniques.

FIG. 3A is a block diagram of an Internet database service provider according to one embodiment of the disclosed techniques.

FIG. 3B is a block diagram of a community center server connected to the Internet according to one embodiment of the disclosed techniques.

FIG. 4 is a block diagram of the processes available on a platform of an Internet database service provider showing database tools for the owner of the platform and self-service database tools for customers of the owner, according to one embodiment of the disclosed techniques.

FIG. 5A is a flowchart depicting self-registration by a customer according to one embodiment of the disclosed techniques.

FIG. 5B is a diagram of components on a screen presented to a customer for receiving customer profile input during the self-registration process according to one embodiment of the disclosed techniques.

FIG. 5C is a diagram of components on a screen presented to a customer for receiving customer input concerning database service subscriptions during the self-registration process, according to one embodiment of the disclosed techniques.

FIG. 5D is a flowchart showing steps in a process for registration self-maintenance according to an embodiment of the disclosed techniques.

FIG. 6A is a block diagram of a database web site building appliance according to an embodiment of the disclosed techniques.

FIG. 6B is a flowchart of a database web site building wizard according to an embodiment of the disclosed techniques.

FIG. 6C is a flowchart of a customization process for a provider of the database web site building wizard according to an embodiment of the disclosed techniques.

FIG. 6D is a block diagram illustrating an arrangement of input elements on a web page for customizing a web site component by a user of the wizard according to an embodiment.

FIG. 6E is a block diagram illustrating an arrangement of folders and components on a web page for designing a web site by a user of the wizard according to an embodiment.

FIG. 7 is a flowchart for automatically installing and configuring a database application according to an embodiment of the disclosed techniques.

FIG. 8 is a flowchart for automatically supplying content for a database on a database services provider according to an embodiment of the disclosed techniques.

FIG. 9 is a flowchart for developing new database applications on a database services provider according to an embodiment of the disclosed techniques.

FIG. 10 is a flowchart for accessing a database on a database services provider according to an embodiment of the disclosed techniques.

FIG. 11 is a flowchart for integrating external services on a database services provider according to an embodiment of the disclosed techniques.

FIG. 12A is a block diagram of a process for automatic discovery and management of a new database appliance connected to a network according to an embodiment of the disclosed techniques.

FIG. 12B is a flowchart of a process for automatic discovery and management of a new database appliance connected to a network according to an embodiment of the disclosed techniques.

FIG. 13 is a block diagram of database services for a platform owner available to the database services provider according to an embodiment of the disclosed techniques.

FIG. 14 is a block diagram of the backend database services for a platform owner available to the database services provider according to an embodiment of the disclosed techniques.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

Techniques for Internet database services 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 will be apparent, 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 unnecessarily obscuring the present invention.

1.0 Functional Overview

A system is provided that incorporates numerous features that reduce the total cost of generating and maintaining an Internet presence with database components. The system preferably includes one or more "database appliances". A database appliance is a machine that includes database software, such as database server software, and non-database software, where the non-database software is specially tailored to the needs of the database software. Such non-database software may include, for example, operating system software from which have been removed services that are typically used in general purpose computers but are not required to support the needs of the database server. According to one embodiment, even the hardware of the machine deviates from a general-purpose computer in order to more efficiently support specific characteristics and requirements of the database server. Database appliances are described in the related application U.S. patent application Ser. No. 09/240,229, filed Jan. 29, 1999 entitled "Pre-Defined Hardware And Software Bundle Ready For Database Applications," incorporated by reference earlier in this application.

The features include integrated tools for forming a database for a first party on the equipment of a second party, and for designing and automatically implementing a web site with components from the database. Maintenance costs are reduced by sharing equipment and IS personnel costs among several customers of the second party.

The maintenance costs of the database system are further reduced by having a community server deliver applications to database appliances and manage the database appliances of numerous companies, including numerous second parties. The community server provides access to the database appliances over the Internet and backup for restoration of database appliances that have gone down, while simultaneously avoiding the need for those companies to each employ their own expert database administrator.

2.0 Hardware Overview

FIG. 1 is a block diagram that illustrates a computer system 100 upon which an embodiment of the invention may be implemented. Computer system 100 includes a bus 102 or other communication mechanism for communicating information, and a processor 104 coupled with bus 102 for processing information. Computer system 100 also includes a main memory 106, such as a random access memory (RAM) or other dynamic storage device, coupled to bus 102 for storing information and instructions to be executed by processor 104. Main memory 106 also may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor 104. Computer system 100 further includes a read only memory (ROM) 108 or other static storage device coupled to bus 102 for storing static information and instructions for processor 104. A storage device 110, such as a magnetic disk or optical disk, is provided and coupled to bus 102 for storing information and instructions.

Computer system 100 may be coupled via bus 102 to a display 112, such as a cathode ray tube (CRT), for displaying information to a computer user. An input device 114, including alphanumeric and other keys, is coupled to bus 102 for communicating information and command selections to processor 104. Another type of user input device is cursor control 116, such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to processor 104 and for controlling cursor movement on display 112. This input device typically has two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), that allows the device to specify positions in a plane.

The invention is related to the use of computer system 100 for automatically provisioning a database accessible from a Web browser. According to one embodiment of the invention, a Web page with database components is provided by computer system 100 in response to processor 104 executing one or more sequences of one or more instructions contained in main memory 106. Such instructions may be read into main memory 106 from another computer-readable medium, such as storage device 110. Execution of the sequences of instructions contained in main memory 106 causes processor 104 to perform the process steps described herein. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions to implement the invention. Thus, embodiments of the invention are not limited to any specific combination of hardware circuitry and software.

The term "computer-readable medium" as used herein refers to any medium that participates in providing instructions to processor 104 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 includes, for example, optical or magnetic disks, such as storage device 110. Volatile media includes dynamic memory, such as main memory 106. Transmission media includes coaxial cables, copper wire and fiber optics, including the wires that comprise bus 102. Transmission media can also take the form of acoustic or light waves, such as those generated during radio-wave and infra-red data communications.

Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, or any other magnetic medium, a CD-ROM, any other optical medium, punchcards, papertape, any other physical medium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, any other memory chip or cartridge, a carrier wave as described hereinafter, or any other medium from which a computer can read.

Various forms of computer readable media may be involved in carrying one or more sequences of one or more instructions to processor 104 for execution. For example, the instructions may initially be carried on a magnetic disk of a remote computer. The remote computer can load the instructions into its dynamic memory and send the instructions over a telephone line using a modem. A modem local to computer system 100 can receive the data on the telephone line and use an infra-red transmitter to convert the data to an infra-red signal. An infra-red detector can receive the data carried in the infra-red signal and appropriate circuitry can place the data on bus 102. Bus 102 carries the data to main memory 106, from which processor 104 retrieves and executes the instructions. The instructions received by main memory 106 may optionally be stored on storage device 110 either before or after execution by processor 104.

Computer system 100 also includes a communication interface 118 coupled to bus 102. Communication interface 118 provides a two-way data communication coupling to a network link 120 that is connected to a local network 122. For example, communication interface 118 may be an integrated services digital network (ISDN) card or a modem to provide a data communication connection to a corresponding type of telephone line. As another example, communication interface 118 may be a local area network (LAN) card to provide a data communication connection to a compatible LAN. Wireless links may also be implemented. In any such implementation, communication interface 118 sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information.

Network link 120 typically provides data communication through one or more networks to other data devices. For example, network link 120 may provide a connection through local network 122 to a host computer 124 or to data equipment operated by an Internet Service Provider (ISP) 126. ISP 126 in turn provides data communication services through the world wide packet data communication network now commonly referred to as the "Internet" 128. Local network 122 and Internet 128 both use electrical, electromagnetic or optical signals that carry digital data streams. The signals through the various networks and the signals on network link 120 and through communication interface 118, which carry the digital data to and from computer system 100, are exemplary forms of carrier waves transporting the information.

Computer system 100 can send messages and receive data, including program code, through the network(s), network link 120 and communication interface 118. In the Internet example, a server 130 might transmit a requested code for an application program through Internet 128, ISP 126, local network 122 and communication interface 118. In accordance with the invention, one such downloaded application is a database application as described herein.

The received code may be executed by processor 104 as it is received, and/or stored in storage device 110, or other non-volatile storage for later execution. In this manner, computer system 100 may obtain application code in the form of a carrier wave.

3.0 Example System

According to one embodiment, techniques are provided that allow a party to serve the role of an "Internet Database Service Provider" or IDSP. Like an ISP, the IDSP is a second party service provider which maintains the equipment necessary for a subscriber to use the Internet. Unlike the conventional ISP, the IDSP provides the subscriber with database services that are accessible over a network to which the subscriber has access. In certain embodiments, the database services may be part of a larger package that provides the subscriber with an Internet presence that includes automatically generated database components. The IDSP itself may be supported by a third party, such as a database software developer, operating a database community server on the Internet.

The IDSP includes an IDSP platform (item 332 in FIG. 3A) and a plurality of database appliances (item 336 in FIG. 3A). FIG. 2A depicts a database appliance as described in U.S. patent application Ser. No. 09/240,229, referenced above. In that application a database appliance includes a database server process 212, an operating system 214 tailored to support the database server process 212, and hardware 216. The server software, operating system software, database configuration parameters, and the database files themselves are stored on nonvolatile mass storage devices 218.

As used herein, the term database appliance includes any database device with a special purpose operating system tailored to the database process running on the device, including the database server appliance 220 and the database storage appliance 230 described next. The main distinction among database appliances is the function provided by the database process running on the appliance. Other examples of database appliances include an internet appliance which supports a connection with the Internet, a database Web server appliance (for example, an ORACLE 8i appliance) which provides access to a database system through a user's Web browser, and a database web site building appliance which provides a wizard for building a series of Web pages with database components and is described in greater detail later below.

3.1 Off-Host Storage

FIG. 2B shows a database network including two new database appliances. Database storage appliance 230 does not include a database server process, but instead has a file system process 234 operating on hardware 236 and mass storage devices 238. This allows the database storage appliance 230 to comprise high-performance external storage systems available from a number of vendors.

In general, database storage appliance 230 is a computing device including a mass storage device, and a processor configured to run a file system server process and a special purpose operating system whose features and configuration are dictated by the mass storage device, the file system server and supporting components.

A database storage appliance 230 is one component of a system of database appliances including a database server appliance 220. Database server appliance 220 includes a database server 222 and a special-purpose operating system 224 but only sufficient non-volatile storage 228 to use for the server software and operating system and configuration parameters. The database server appliance 220 does not store the data files themselves. The single database storage appliance 230 stores the data files for one or more database server appliances 220. The network may also include one or more other database appliances 240 configured like database appliance 210 in FIG. 2A, as described in the related application. In this case, the database storage appliance 230 stores the data files for the other database appliances 240 as well. In other embodiments multiple storage appliances provide storage for a database managed by a single server.

The database server on a database host performs database management tasks for a database. The management tasks now include determining whether the system is configured for off-host storage. If it is determined that the system is configured for off host storage, then the data files are stored on the off-host storage device. If a database already exists on the database host when it is determined that the system is configured for off-host storage, then the extant database is migrated to the off-host storage device. This process is described in more detail with respect to FIG. 2C.

Management tasks performed by the database server appliance in this embodiment start at step 260 when the database server commences operation (e.g., boots up). In step 262, it is determined whether configuration files maintained for the database server, either at the server or at a separate database directory services device, such as a database directory services appliance, indicate that database files reside on off-host storage devices. A set of off-host storage device types is maintained by the configuration files. For example, an off-host storage device that connects to the database host through a host bus adapter (HBA) is model X of Company A, and an off-host storage device that connects to the database host through a network, called network attached storage (NAS) is model Y of Company B. If any HBA or NAS devices, such as model X and model Y, are found in the database directory, then off-host storage is already being used, and the system is configured for off-host storage.

If off-host storage is already used, as determined in step 262, then control passes to step 282 to determine if any off-host storage devices have joined the system that are not already in the database directories. In one embodiment, HBA based storage uses a fiber optic channel connected to the host via a SCSI connection. Such a device responds to an inquiry command. Thus an inquiry command is issued to determine what HBA based storage devices are connected. In this embodiment, NAS devices use Ethernet connections and respond to a ping command or a remote shell (rsh) command. The devices that respond to the inquiry and ping and rsh commands are compared to the devices already listed in the configuration files to determine whether any of the devices are new to the system. Step 284 represents a branch point based on whether any new off-host storage devices are detected.

If no new off-host storage devices are detected, control passes to step 288 to continue using the off-host storage devices already listed in the configuration files. If a new off-host storage device is detected, then control passes to step 286 to scale up the database using the additional off-host storage devices. The database can be scaled up by increasing the total size of the database, such as by adding additional files, or increasing the allotment to each file.

If, in step 262, it is determined that no off-host storage devices are already being used, then control passes to step 264 to determine whether any off-host storage devices are connected. The HBA devices are found using the inquiry command and the NAS devices are found using a ping or rsh command. Step 266 represents the branch point based on detecting any off-host storage devices. If no off-host storage device is found, then control passes to step 268 to continue using internal storage on the host, such as the database server appliance. If even one off-host storage device is found, then control passes to step 270. In another embodiment, the space available on the newly found off-host storage devices is also checked during step 266. If the off-host storage devices do not have sufficient space to store the database files, then the system is considered not properly configured for off-host storage, and flow passes to step 268 to continue using internal storage.

In step 270 it is determined whether the database server is running for the first time for this database, e.g., whether this is the first boot-up of this database server. If so, then the database is being created and control passes to step 274 to create the database and store the database files initially on the one or more connected off-host storage devices. If not, then a database already exists on internal storage. In this case, control passes to step 272 to migrate the extant database to off-host storage from internal storage.

In step 272 the file systems on the off-host storage devices are mounted and the database files are copied to them--keeping the distribution of files across several disks on each device identical to the distribution across disks on the internal storage, if possible. If not possible, then the database configuration is modified such as by renaming some data files that have been moved to different locations on disk. After the copying, configuration files are modified to indicate the off-host storage devices involved. If any of these migration functions fail, such as due to a lack of space, or due to communication failure, any changes are reversed (un-done) and the database server continues to use the internal storage.

In other embodiments, the steps can be performed in a different sequence. For example, the test for off-host storage devices connected to the host (steps 264 and 282) can be combined and performed first, before checking the configuration files in step 262. If no off-host storage devices are found, control passes to step 268 to use internal storage. If off-host storage devices are found, then it is determined whether any appear in the configuration files for the database in step 262. If none, control passes to step 270. If some are found, then control passes to step 284 to determine if any are new.

With off-host storage, database server processes are insulated from the storage system. This increases the reliability of the database on the network and allows sharing of the high-performance storage system on the database storage appliance 230 among multiple database server appliances 220 and other database appliances 240. This can save costs in establishing a database on a network because the database server appliance 220 may be less expensive than a database appliance 240 that requires extra non-volatile storage to hold the data files themselves. In particular, cost savings are achieved if an off-host storage device is already on the network with unused capacity sufficient for the database.

3.2 The IDSP System Components

FIG. 3A shows the environment and components of an Internet Database Service Provider (IDSP). In the embodiment depicted, a service provider 302 is connected directly to local network 312a, and to the Internet 320. Through the Internet 320, one or more other local networks 312b may be connected to the service provider 302. As used herein, a local network 312 includes one or more workstations or user platforms.

Service provider 302 may be characterized as an IDSP if it allows third parties to use and access, over a network such as the Internet, one or more databases that it controls and manages. An IDSP system 330 that may be used by service provider 302 to provide the database services shall be described in greater detail hereafter.

Service provider 302 may additionally be characterized as an Internet service provider (ISP) if it provides third parties with access to the Internet 320. For example, local network 312a may be owned by a third party that accesses the Internet 320 through service provider 302. When serving as an ISP, the third party that owns local network 312a connects to the service provider 302 network of components through a router 304. This connection may either be direct, as shown, or through one or more modems and a firewall (not shown). A firewall is a device that enforces a login procedure to ensure that a caller is authorized to access a network.

The service provider 302 may also be characterized as an application service provider (ASP) if it allows third parties to use and access, over a network such as the Internet, one or more software applications. Such applications may include, for example, inventory, accounting or billing applications. When the service provider serves as an ASP, the third party that owns local network 312b connects to the service provider 302 through the Internet 320.

The service provider 302 may support a public web site, which requires a platform 308a outside the firewall 306 and accessible via the Internet 320. The service provider 302 may also support one or more applications on private platform 308b, inside the firewall 306, not directly accessible via the Internet 320. To access the private platform 308b via the Internet, a user must engage a login procedure to pass through the firewall 306. A login procedure may be performed through a public Web page, e.g., Web page 340, that will allow the user to pass through the firewall 306. In other embodiments, the firewall 306 may be absent and either the entire system is open to the public or individual processes running on the various platforms 308 and 332 may enforce their own login procedures.

To support database procedures at the service provider 302, an Internet database service provider (IDSP) system 330 is incorporated at the service provider site 302. The IDSP system 330 includes an IDSP platform 332, an IDSP console 334, and one or more database devices. Database devices are any devices used to manage access to a database. The databases devices used by service provider 302 may include, for example, one or more database appliances 336 and/or one or more general-purpose computers 338 executing a database server program.

The IDSP platform 332 performs as a database device manager. It performs many database device management functions automatically. When action by the service provider 302 is required, an agent of the service provider 302, such as a database administrator employed by the service provider, may operate the IDSP system 330 through the IDSP console 334. The IDSP console runs a process, such as the ORACLE Enterprise Manager (OEM), for allowing a human database administrator to interact with the IDSP platform and its processes. Alternatively, the process running on the console can be as simple as a Web browser with most of the screens presented to the administrator being generated on the IDSP platform.

The IDSP system 330 provides database functionality for the service provider 302, and allows the service provider 302 to offer database functionality to customers such as the parties that own local networks 312. The IDSP system 330 is designed to automatically provide greater database functionality than is currently available at service providers on the Internet.

In the illustrated embodiment, the IDSP system 330 has one group of database appliances, e.g., 336a through 336d, configured as a staging area for testing new database applications and upgrades. The IDSP system 330 has a second group of database appliances, e.g., 336e through 336h, configured as a production area for providing database operations to the service provider 302 and its customers. Staging and production areas will be described in more detail below.

In cases where the service provider 302 is offering database functionality to its customers, a registration process, described later, will identify the database resources the customer is willing to pay the service provider to procure. As used herein, database resources include consumable database resources such as storage space, central processing unit (CPU) usage, connection bandwidth, number of users licensed for a database application, and number of transactions.

Database resources also include database applications, such as database development applications, sales database applications, invoice database applications, inventory database application, personnel database applications, document database applications, and many other software applications with database elements available from a variety of vendors.

To provide the consumable resources requested by the customers, the service provider 302 procures and installs database equipment, thus avoiding the need for the service provider's customers to buy and install the equipment. To provide the applications, the service provider procures and installs software, or contracts for downloading software as needed from one or more software vendors, thus avoiding the need for the service provider's customers to procure and install the software.

Depending on the consumable database resources for which customers have registered, the IDSP system 330 will configure a database device as either a dedicated device or a plurality of virtual devices. If the customer requires all the consumable resources provided by a database device, that device will be configured as a dedicated device for that customer. If, however, a customer requires only a portion of the consumable resources available on a database device, then that device can be shared among several customers. In this case, the IDSP system 330 will configure a virtual database device for that customer that comprises only a portion of the consumable resources available on the database device.

The connection between the local network 312 and the service provider 302, can be configured as an open Internet connection or as a virtual private network (VPN). A VPN uses Internet packets in which the payload is encrypted according to a procedure known only to the service provider and the particular local network requiring the private connection. The IDSP system 330 is configured to communicate with customers over either open Internet or VPN connections, at the option of the service provider 302.

According to one of the related applications cited above, database appliances are easily used in a network on which one or more general purpose computers can host certain shared processes, specifically a directory server process, a backup server process, and an integrated management console process. Alternatively, appliances can be obtained that perform each of these functions. In the embodiment depicted in FIG. 3A, the IDSP console 334 performs the presentation and input functions of the integrated management console for the database appliances 336 connected to the IDSP platform 332. At the console the database administrator for the platform owner can perform several functions including starting and shutting down a database, setting up automated tasks such as backups and reports, recognizing automatically when new appliances are added or removed, performing manual backups, running reports, applying patches, and monitoring the system.

In this embodiment, the backup server process, the directory server process and portions of the management services other than the user interface run on the IDSP platform.

3.3 A System of IDSPs

The same database device management software installed on the IDSP platform 332, and the software on the database devices connected to it, can be used by many service providers. As with any software, the database device management software for the DSP system will undergo incremental upgrades and replacements, denoted by different version numbers. FIG. 3B depicts a system for using the Internet to provide database software updates and other database services to one or more service providers.

According to the embodiment depicted in FIG. 3B, two ISPs 352a and 352b and an ASP 354 incorporate IDSP systems 342a, 342b, and 344, respectively. In addition, FIG. 3B illustrates an IDSP 362 that provides database services (without also providing ASP or ISP services) and an ASP 360 that subscribes to IDSP 362 for the database services required to support the application services provided by ASP 360. All of the service providers are connected to the Internet 320.

3.4 Community Server

A community center server 390, also called a community server, is also connected to the Internet 320 in order to distribute to the service providers database software and database software updates over the Internet 320. An update services process 393 runs on the community server 390 to send the updated software to a service provider. The update operation can be automatically triggered by an event (such as the posting of the new update), performed on a pre-defined schedule, and/or triggered by a request from the service providers.

In addition, the community server 390 provides the directory services required for managing a network of database appliances in a directory services process 391. In another embodiment, the community server 390 provides the backup services required for a network of database appliances in a backup services process (not shown). In addition, the community server 390 provides some management services 395 for the database networks on one or more of the service providers.

For example, using the management services process 395 on the community server 390, a database administrator for ASP 354, who happens to be away from the service provider's facility, can connect to the community server 390 from a computer 358 through the Internet 320 and perform some management fu


Free Web Sudoku Puzzles.
Solve with your browser.
        8 7   2  
    4            
  1 9     5 4 8  
    1   7 4      
4 3           1 6
      1 6   8    
  2 3 5     1 6  
            2    
  5   7 4        
What is it?



Add Your Site · Terms Of Service · Privacy Policy


DISCLAIMER
Linkgrinder is a free service that searches the Internet and indexes all files found so that you may search quickly and easily for shared files. These files are created and made available individually by users whose identity we are not aware of and who we have no control over. In essence we function like a search engine tool; these files ARE NOT STORED OR SERVED BY OUR NETWORK. We are not responsible for any materials obtained by using our service. We do not monitor any of the contents of these files. These files may contain viruses, illegal materials, materials inappropriate for minors, offensive files and the like. BY USING OUR SERVICE, YOU ASSUME FULL RESPONSIBILITY FOR DOWNLOADING THESE MATERIALS AND WILL INDEMNIFY US FOR ANY DAMAGES THAT MAY BE INCURRED.

For More Specific Information VIEW OUR TERMS OF SERVICE.

Thank you and Enjoy!