Claims
- 1. A redundant data storage system associated with a database server in a web server environment, the system comprising:
a plurality of web servers; a web server database accessible to the plurality of web servers, wherein the web server database is comprised of at least a first and a second storage bank; wherein the first storage bank is comprised of at least a first and a second sub-bank; and wherein at least a substantial portion of data stored on the first sub-bank is also stored on the second sub-bank.
- 2. The system of claim 1, wherein all data stored on the first sub-bank is also stored on the second sub-bank, and wherein the second sub-bank is a back-up for the first sub-bank.
- 3. The system of claim 1, wherein the first sub-bank and the second sub-bank each comprise a first address space and a second address space, and wherein primary access to the first address space is from the first sub-bank and primary access to the second address space is from the second sub-bank.
- 4. The system of claim 1, wherein the first storage bank further comprises a third sub-bank, and wherein at least a portion of data maintained on the second sub-bank is also maintained on the third sub-bank.
- 5. The system of claim 4, wherein the first sub-bank comprises a first address space and a second address space, the second sub-bank comprises the second address space and a third address space, the third sub-bank comprises the third address space and the first address space.
- 6. The system of claim 5, wherein the second sub-bank provides a, primary access to the second address space and the third sub-bank provides a back-up of the second address space.
- 7. The system of claim 1, wherein the first sub-bank is a serial accessible mass storage device.
- 8. The system of claim 1, wherein the first sub-bank is an IDE mass storage device.
- 9. The system of claim 1, wherein the first sub-bank is an SCSI mass storage device.
- 10. The system of claim 1, further comprising a load balancer for distributing access requests to the plurality of web servers.
- 11. The system of claim 1, further comprising a temporary storage area associated with the database server.
- 12. The system of claim 1, wherein the plurality of web servers comprises a first and a second web server, and wherein the web server database is a first web server database associated with the first web server, the system further comprising:
a second web server database associated with the second web server, wherein data from the second web server database is accessible to the first web server.
- 13. A method for redundantly storing data in a web server environment comprising multiple web servers, the method comprising:
providing an interconnect between a first web server and a database server and a second web server and the database server; providing a database associated with the database server, wherein the database comprises a first and a second storage bank, and wherein the first storage bank is comprised of at least a first and a second sub-bank, and wherein the first and the second sub-banks each comprise an address space; and transferring data from the first web server to the database server, wherein the database server writes the data to the address space of the first and the second sub-banks.
- 14. The method of claim 13, wherein the database server writes the data to the address space of the first and the second sub-banks concurrently.
- 15. The method of claim 13, wherein the address space is a first address space, and wherein the first and the second sub-banks each comprise a second address space, the method further comprising:
transferring data to the second address space of the first and the second sub-banks, wherein, in the absence of a failure of either the first sub-bank or the second sub-bank, data in the first address space is read from the first sub-bank and data in the second address space is read from the second sub-bank.
- 16. The method of claim 13, further comprising:
preventing a write access to the first storage bank when the second sub-bank is inaccessible.
- 17. The method of claim 16, further comprising:
indicating an error condition when the second sub-bank is inaccessible and a write access is attempted to the first storage bank.
- 18. The method of claim 16, further comprising:
diverting data addressed to the first storage bank to a temporary storage when the second sub-bank is inaccessible; and replacing the inaccessible second sub-bank; and transferring the diverted data to the first storage bank, wherein the first storage bank comprises the replaced second sub-bank.
- 19. The method of claim 18, further comprising:
copying data from the first sub-bank to the replaced second sub-bank.
- 20. The method of claim 13, further comprising:
receiving a write access to the first storage bank when the second sub-bank is inoperable; storing data associated with the write access to the second storage bank; and maintaining an out of use pointer to the storage area of the first storage bank to which the write access was addressed.
- 21. The method of claim 20, further comprising:
providing access to the data at the second storage bank; and de-allocating a storage area in the first storage bank associated with the out of use pointer, wherein a sub-bank replacing the inoperable second sub-bank contains the same data stored on the first sub-bank.
- 22. The method of claim 21, wherein the de-allocating the storage area comprises deleting data maintained in the storage area.
- 23. The method of claim 13, wherein the database comprises a third sub-bank, and wherein the address space is a first address space, the method further comprising:
writing data to a second address space in the second sub-bank and in the third sub-bank; writing data to a third address space in the first sub-bank and the third sub-bank; and wherein, in the absence of a failure of the third sub-bank, the data in the third address space is read from the third sub-bank.
- 24. A storage system distributed between multiple database servers in a web server environment, the system comprising:
a first database associated with a first database server and a second database associated with a second database server; the first database comprising a first and a second storage bank, at least the first storage bank comprising a first and a second sub-bank; the second database comprising a third and a fourth storage bank, at least the third storage bank including a third and a fourth sub-bank; wherein at least a portion of data stored on the first sub-bank is replicated on the second sub-bank; and wherein at least a portion of data stored on the third sub-bank is replicated on the fourth sub-bank.
- 25. The storage system of claim 24, wherein the first, second, third and fourth storage banks comprise IDE mass storage devices.
- 26. The storage system of claim 24, wherein the first and second sub-banks are concurrently written.
- 27. The storage system of claim 24, wherein the first and second database servers are accessible to a web server.
CROSS-REFERENCES TO RELATED APPLICATIONS
[0001] This application is being filed concurrently with related U.S. patent application Ser. No. ______ (Attorney Docket Number 019404-000730US), entitled “SYSTEMS AND METHODS FOR PARTITIONING DATA ON MULTIPLE SERVERS”, U.S. patent application Ser. No. ______ (Attorney Docket Number 019404-000710US), entitled “SYSTEMS AND METHODS FOR IDENTIFYING USERS AND PROVIDING ACCESS TO INFORMATION IN A NETWORK ENVIRONMENT”. Each of the aforementioned applications are incorporated herein by reference for all purposes and are filed on a date even herewith.