Data processing: database and file management or data structures – Database design – Data structure types
Reexamination Certificate
1999-01-05
2004-04-06
Kazimi, Hani M. (Department: 3624)
Data processing: database and file management or data structures
Database design
Data structure types
C707S793000, C707S793000, C707S793000, C707S793000
Reexamination Certificate
active
06718347
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention is directed to a method and apparatus for maintaining coherence among multiple copies of a database shared by multiple computers. The invention may be used, for example, in a system in which multiple Web servers, each having a respective copy of a database, together form a single virtual Web server on the Internet, and in which it is desirable to maintain coherence among the multiple copies of the database.
2. Discussion of Related Art
As the Internet has become increasingly popular, greater numbers of Web sites are being added to the Internet each day. A Web site is typically implemented by a so called Web server that is connected to the Internet and has a particular Web site address. The Web site is accessed by users designating the appropriate address for the Web site, which results in a connection being formed through the Internet between the user and the Web site.
As will be appreciated by those skilled in the art, a Web server is typically implemented via a computer that executes an application program that performs the desired functions for the Web server. An example of a typical Web server
100
is shown in FIG.
1
. As shown, the Web server
100
includes a processor
104
, a memory
106
, and a network interface unit
110
that interfaces the Web server to the Internet or other network cloud
114
. The network interface unit
110
permits one or more network users
116
to communicate with the Web server
100
over the network cloud
114
. The processor
104
executes an application program stored in the memory
106
to perform the functions of the Web server. These functions will vary depending upon the type of Web site that the Web server implements. For example, the Web server
100
may respond to requests from the network users
116
, and/or permit the network users to access Web site data stored (e.g., in a database) in the memory
106
, or in a storage system
118
coupled to the processor
104
by a link
112
. The Web server
100
may also include one or more user input devices
108
(e.g., a keyboard and/or mouse) and a display
102
to permit a local user (e.g., a system administrator) to access to the Web server
100
.
Some Web sites have become extremely popular and service numerous user accesses per day. For particularly busy Web sites, a single Web server
100
(
FIG. 1
) would not provide sufficient bandwidth to service the heavy traffic of user requests, so that at times some users would be unable to access the Web site. It should be appreciated that this is undesirable, particularly for certain types of Web sites. For example, for a Web site run by a commercial enterprise that conducts business over the Internet, the enterprise may experience a loss of business and revenue if its Web site is unavailable for users who desire access at any particular time.
To address the foregoing concern, some Web sites have been implemented using multiple Web servers performing in parallel, such that requests from users can be routed to the multiple Web servers and serviced simultaneously. Typically, the multiple Web servers can be distributed across a wide geographic area (e.g., on different continents) to maximize the overall performance of the Web site. An example of a Web site implemented with multiple Web servers
100
a-b
is shown in FIG.
2
. In the illustrative example shown in
FIG. 2
, each of the multiple Web servers
100
a-b
is coupled to a plurality of users
116
a-b
via a network cloud
114
. The Web servers
100
a-b
are respectively coupled to storage systems
118
a-b
that store data used by the Web servers. Each of the Web servers
100
a-b
is capable of independently implementing the Web site in much the same manner as the above-described system of FIG.
1
. However, by providing multiple Web servers
100
a-b,
the performance of the Web site is improved because the Web servers
100
a-b
can process accesses from the users
116
a-b
in parallel.
It should be appreciated that when multiple Web servers
100
a-b
are employed to implement a Web site, some technique should be employed to route each specific user access to one of the Web servers
100
a-b,
so that the multiple Web servers
100
a-b
appear to the Web site users as a single virtual Web server. In the illustrative system shown in
FIG. 2
, this function is performed by the load balancers
206
a-b,
which are respectively coupled between the network cloud
114
and the Web servers
100
a-b.
Such load balancing devices are commercially available. For example, one such load balancer is the CISCO Local Director, available from CISCO Systems, Inc., headquartered in San Jose, California.
As mentioned above in connection with
FIG. 1
, a Web server
100
may include a collection of data (e.g., in a database) that is employed in implementing the Web site and servicing user accesses. In a system such as that shown in
FIG. 2
wherein multiple Web servers
100
a-b
are provided, it should be appreciated that the database used to implement the Web site is typically replicated. Thus, one copy of the database is stored in the storage system
118
a
accessible to Web server
100
a,
and another copy is stored in the storage system
118
b
accessible to Web server
100
b.
It should be appreciated that the Web site should operate consistently irrespective of which of the Web servers
100
a-b
a user request is routed to. Thus, it desirable to ensure that the copies of the Web site database stored on storage systems
118
a
and
118
b
are identical. It should further be appreciated that for numerous Web sites, the database will frequently be updated based upon user accesses. Thus, some technique should be provided for maintaining coherence between the multiple copies of the database distributed amongst the storage systems
118
a-b.
In conventional systems such as that shown in
FIG. 2
, coherence between multiple copies of the Web site database is maintained by the Web servers
100
a-b,
often under the control of a system administrator. For example, when the copy of the database stored on storage system
118
a
is updated, the Web server
100
a
will retrieve the updated data from its copy of the database and transfer the updated data, through the network cloud
114
, to the Web server
100
b,
which will then update its copy of the database stored in storage system
118
b
accordingly. Thus, coherence between the databases is maintained by transferring updated data through the Web servers and the network cloud
114
.
SUMMARY
One illustrative embodiment of the present invention is directed to a method to be employed in a computer system including first and second computers and first and second storage systems, wherein the first storage system is coupled to the first computer to store data transferred from the first computer to the first storage system and the second storage system is coupled to the second computer to store data transferred from the second computer to the second storage system. The method is for updating data stored on at least one of the first and second storage systems, and includes steps of: (A) updating a first logical volume of data stored on the first storage system with a first set of data transferred from the first computer to the first storage system; (B) receiving, at the first storage system, a second set of data transmitted from the second storage system to the first storage system via at least one communication path that does not pass through the first computer; and (C) updating the first logical volume of data with the second set of data transmitted from the second storage system.
Another illustrative embodiment of the present is directed to a method to be used in a computer system including first and second computers and first and second storage systems, wherein the first storage system is coupled to the first computer to store data transferred from the first computer to the first storage system and the second storage system is coupled to the second computer to store data transferred from the
Colbert Ella
EMC Corporation
Kazimi Hani M.
Wolf Greenfield & Sacks P.C.
LandOfFree
Method and apparatus for maintaining coherence among copies... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Method and apparatus for maintaining coherence among copies..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for maintaining coherence among copies... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3199928