An external application for state
transfers is required given the diverse Web application contents that need support. In order
to provide a generic full-state transfer mechanism, it would be required to restrict the variety
of components that could constitute Web applications. Moreover, even if only simple
Gald??mez
Copyright ?© 2007, Idea Group Inc. Copying or distributing in print or electronic forms without written permission
of Idea Group Inc. is prohibited.
components were allowed, generality would be constrained by product- and vendor-specific
differences. However, it should be noticed that for many existing Web applications, the
external state transfer application could be as simple as a script that transfers state using
off-the-shelf state transfer programs such as rsync (Tridgell & Macherras, 1996) or that
simply execute remote file copy commands.
Besides the state transfer mechanisms, update logging, and full-state transfer commands,
the recovery manager should include a blocking/resuming mechanism. This mechanism
should be used by those replicas that run the state transfer protocol, to prevent race conditions
between state transfers and new client requests.
Regarding the relationship among components, the most important one related to the recovery
manager appears in the implementation of the blocking/resume mechanism.
Pages:
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577