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: Cable terminal
Patent Number: 6,855,888 Issued on 02/15/2005 to Jacke

Title: Process cartridge having storage device which communicates with image forming apparatus
Patent Number: 6,859,626 Issued on 02/22/2005 to Kimizuka,   et al.

Title: Intelligent communications, command, and control system for a land-based vehicle
Patent Number: 6,862,502 Issued on 03/01/2005 to Peltz,   et al.

Title: Metal oxide semiconductor transistor
Patent Number: 6,911,701 Issued on 06/28/2005 to Arima

Title: Ink-jet recording apparatus and maintenance method of ink-jet head included in ink-jet recording apparatus
Patent Number: 6,866,361 Issued on 03/15/2005 to Kuki,   et al.

Title: Vehicle retractable roof with sliding front and intermediate elements and pivoting and sliding rear element
Patent Number: 6,860,541 Issued on 03/01/2005 to Guillez,   et al.

Title: History-based carry predictor for data cache address generation
Patent Number: 6,877,069 Issued on 04/05/2005 to Luick

Title: Auto sensing home base station for mobile telephone with remote answering capabilites
Patent Number: 6,876,861 Issued on 04/05/2005 to Frank,   et al.

Title: Combustion apparatus
Patent Number: 6,908,299 Issued on 06/21/2005 to Asano,   et al.

Title: Electrical underground wire pulley to assist in pulling wire through underground conduit
Patent Number: 6,883,783 Issued on 04/26/2005 to Quittschreiber

Title: Electromagnetic drive device
Patent Number: 6,922,124 Issued on 07/26/2005 to Segi,   et al.

Title: Stroller with car seat fastening arrangement
Patent Number: 6,923,467 Issued on 08/02/2005 to Hsia

Title: Optical system for a fresnel lens light, especially for a spotlight or floodlight
Patent Number: 6,899,451 Issued on 05/31/2005 to Kittelmann,   et al.

Title: Preforms for forming machined structural assemblies
Patent Number: 6,910,616 Issued on 06/28/2005 to Halley,   et al.

Title: Left hand right hand invariant dynamic finger positioning guide
Patent Number: 6,937,748 Issued on 08/30/2005 to Schneider,   et al.

Title: Conical hydrodynamic pivot bearing
Patent Number: 6,921,209 Issued on 07/26/2005 to Hoffmann,   et al.

Title: Method of manufacturing semiconductor devices to protect against a punchthrough phenomenon
Patent Number: 6,875,647 Issued on 04/05/2005 to Kim

Title: Methods for preparing pharmaceutical formulations
Patent Number: 6,911,455 Issued on 06/28/2005 to Floyd,   et al.

Title: Paint spraying gun
Patent Number: 6,877,677 Issued on 04/12/2005 to Schmon,   et al.

Title: Method of implementing the data encryption standard with reduced computation
Patent Number: 7,103,180 Issued on 09/05/2006 to McGregor, Jr.

Title: Scalable, concurrent, distributed sensor system and method
Patent Number: 7,333,921 Issued on 02/19/2008 to Taylor,   et al.

Title: Method for signal extraction in a universal sensor IC
Patent Number: 7,307,411 Issued on 12/11/2007 to Hsu,   et al.

Title: Method and apparatus for augmented reality visualization
Patent Number: 6,919,867 Issued on 07/19/2005 to Sauer

Title: Optical microscope with modifiable lighting and operating process of such a microscope
Patent Number: 7,064,893 Issued on 06/20/2006 to Boutet,   et al.

Title: Rendering color images and text
Patent Number: 7,324,119 Issued on 01/29/2008 to Puri,   et al.

Title: Nanoparticles and method for making the same
Patent Number: 7,259,101 Issued on 08/21/2007 to Zurcher,   et al.

Title: Method and system for cleaning motion capture data
Patent Number: 7,324,110 Issued on 01/29/2008 to Edwards,   et al.

Title: Passively variable plenum volume for a vehicle intake manifold assembly
Patent Number: 7,281,512 Issued on 10/16/2007 to Marentette

Title: Systems and methods for amplifying a transmit signal in a RFID interrogator
Patent Number: 7,054,595 Issued on 05/30/2006 to Bann

Title: Training tracking system and method of use
Patent Number: 7,024,154 Issued on 04/04/2006 to Koepper,   et al.

Title: Coatings for implantable medical devices incorporating chemically-bound polymers and oligomers of L-arginine
Patent Number: 7,070,798 Issued on 07/04/2006 to Michal,   et al.

Title: Film bulk acoustic resonator and method for manufacturing the same
Patent Number: 7,321,183 Issued on 01/22/2008 to Ebuchi,   et al.

Title: Blood pressure simulation apparatus with tactile interface
Patent Number: 7,320,599 Issued on 01/22/2008 to Morris

Title: Fluid flow rate sensor and method of operation
Patent Number: 7,333,899 Issued on 02/19/2008 to Zimmermann,   et al.

Title: Recombinant RSV virus expression systems and vaccines
Patent Number: 6,830,748 Issued on 12/14/2004 to Jin,   et al.

Title: Apparatus for acoustic detection of particles in a flow using a fiber optic interferometer
Patent Number: 7,072,044 Issued on 07/04/2006 to Kringlebotn,   et al.

Title: Polyether polymer compounds as well as ion conductible polymer compositions and electrochemical devices using the same
Patent Number: 6,913,851 Issued on 07/05/2005 to Nishiura,   et al.

Title: Methods for fabricating spatial light modulators with hidden comb actuators
Patent Number: 7,071,109 Issued on 07/04/2006 to Novotny,   et al.

Title: System and method and for use in hydroelectric power station and hydroelectric power station employing same
Patent Number: 7,083,377 Issued on 08/01/2006 to Wobben

Title: Fan wheel assembly for connecting multiple hub rings
Patent Number: 7,083,386 Issued on 08/01/2006 to Horng,   et al.

Title: Method of making and using a hollow fiber microfiltration membrane
Patent Number: 7,070,721 Issued on 07/04/2006 to Ji,   et al.

Title: Degree of outlier calculation device, and probability density estimation device and forgetful histogram calculation device for use therein
Patent Number: 7,333,923 Issued on 02/19/2008 to Yamanishi,   et al.

Title: DC converter
Patent Number: 7,304,868 Issued on 12/04/2007 to Aso,   et al.

Title: Capacitor structures, and DRAM arrays
Patent Number: 7,321,149 Issued on 01/22/2008 to Busch,   et al.

Title: Non-invasive methods for detecting non-host DNA in a host using epigenetic differences between the host and non-host DNA
Patent Number: 6,927,028 Issued on 08/09/2005 to Dennis,   et al.

Title: Deployable monitoring device having self-righting housing and associated method
Patent Number: 7,333,148 Issued on 02/19/2008 to Chang,   et al.

Title: Fluid ejection and scanning assembly with photosensor activation of ejection elements
Patent Number: 7,083,250 Issued on 08/01/2006 to Samii

Title: Substituted triazole diamine derivatives as kinase inhibitors
Patent Number: 6,924,302 Issued on 08/02/2005 to Lin,   et al.

Title: Method for providing web-based insurance data processing services to users
Patent Number: 7,333,939 Issued on 02/19/2008 to Stender,   et al.

Title: Establishing a broadband connection that saves resources and satisfies billing conditions
Patent Number: 7,068,662 Issued on 06/27/2006 to Benini,   et al.

Title: Application of mobile agent in a workflow environment having a plurality of image processing and/or image forming apparatuses
Patent Number: 7,054,899 Issued on 05/30/2006 to Yamamoto

Title: Manufacture method of pixel structure
Patent Number: 7,049,163 Issued on 05/23/2006 to Kao,   et al.

Title: Graphical user interface for navigation, viewing and maintenance of recipes
Patent Number: 7,065,714 Issued on 06/20/2006 to Theel,   et al.

Title: Collapsible handcart capable of extending the area of carrier by operating handle
Patent Number: 6,923,466 Issued on 08/02/2005 to Tsai

Title: Process for the preparation of silicone oils carrying a group comprising at least one hydrocarbon-comprising ring in which is included an oxygen atom
Patent Number: 7,332,620 Issued on 02/19/2008 to Blanc-Magnard,   et al.

Title: Method and system for identifying material composition based upon polarization trajectories
Patent Number: 7,333,897 Issued on 02/19/2008 to Stratis,   et al.

Title: Antibodies
Patent Number: 7,074,909 Issued on 07/11/2006 to Kingsman,   et al.

Title: Tonal analysis for perceptual audio coding using a compressed spectral representation
Patent Number: 7,333,930 Issued on 02/19/2008 to Baumgarte

Title: Floor for cargo space
Patent Number: 7,320,395 Issued on 01/22/2008 to de Baat,   et al.

Title: Tightening force imparting device
Patent Number: 6,880,433 Issued on 04/19/2005 to Tanimura

Title: System and method of producing multi-colored carpets
Patent Number: 7,333,877 Issued on 02/19/2008 to Dabrowa,   et al.

Title: Separating wafers coated with plastic films
Patent Number: 7,071,025 Issued on 07/04/2006 to Brenner,   et al.

Title: Method of centerline generation in virtual objects
Patent Number: 7,324,104 Issued on 01/29/2008 to Bitter,   et al.

Title: Steam line closing valve and steam turbine plant comprising such a steam line closing valve
Patent Number: 6,929,447 Issued on 08/16/2005 to Haje

Title: Method and system for targeting and monitoring the energy performance of manufacturing facilities
Patent Number: 7,103,452 Issued on 09/05/2006 to Retsina

Title: Hydroformed space frame and rearward ring assembly therefor
Patent Number: 6,926,350 Issued on 08/09/2005 to Gabbianelli,   et al.

Title: Methodology for creating and maintaining a scheme for categorizing electronic communications
Patent Number: 6,925,454 Issued on 08/02/2005 to Lam,   et al.

Title: Tree-based interface apparatus for display of call dependencies and method therefor
Patent Number: 7,065,717 Issued on 06/20/2006 to Perkins,   et al.

Title: Ticketing with printing option
Patent Number: 7,333,946 Issued on 02/19/2008 to Sipponen

Title: Arylsulfonamidobenzylic compounds
Patent Number: 7,071,358 Issued on 07/04/2006 to Jiao,   et al.

Title: System for creating, pricing and managing and electronic trading and distribution of credit risk transfer products
Patent Number: 7,333,950 Issued on 02/19/2008 to Shidler,   et al.

Title: Position-retaining method and system for a scanning system capable of copy and facsimile
Patent Number: 6,930,799 Issued on 08/16/2005 to Hsu,   et al.

Title: Method and apparatus for generating and transmitting a stationary dither code
Patent Number: 6,868,108 Issued on 03/15/2005 to Clark

Title: Rotary compressor
Patent Number: 6,860,724 Issued on 03/01/2005 to Cho,   et al.

Title: Apparatus and method for generating a plurality of isolated effluents
Patent Number: 7,070,999 Issued on 07/04/2006 to Akporiaye,   et al.

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
     Media Rights Groups Call for Probe Into Shooting of VOA Reporter in Puntland by Alisha Ryu
     US Begins Talks on Iran Nuclear Proposal with International Partners by VOA News
     Climate Change, Political Experts Say Obama Made Progress on China Trip by Stephanie Ho

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.
4           6 5  
    3 2   7      
9       8 6 2 7  
      5     4 3  
      7   8      
  7 4     3      
  9 1 6 7       4
      1   5 7    
  5 2           1
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!