Person:
Schwan, Karsten

Associated Organization(s)
Organizational Unit
ORCID
ArchiveSpace Name Record

Publication Search Results

Now showing 1 - 2 of 2
  • Item
    A Practical Approach for Zero Downtime in an Operational Information System
    (Georgia Institute of Technology, 2002) Gavrilovska, Ada ; Schwan, Karsten ; Oleson, Van
    An Operational Information System (OIS) supports a real-time view of an organization's information critical to its logistical business operations. A central component of an OIS is an engine that integrates data events captured from distributed, remote sources in order to derive meaningful real-time views of current operations. This Event Derivation Engine (EDE) continuously updates these views and also publishes them to a potentially large number of remote subscribers. This paper describes a sample OIS and EDE in the context of an airline's operations. It then defines the performance and availability requirements to be met by this system, specifically focusing on the EDE component. One particular requirement for the EDE is that subscribers to its output events should not experience downtime due to EDE failures and crashes or increased processing loads. This paper describes a practical technique for masking failures and for hiding the costs of recovery from EDE subscribers. This technique utilizes redundant EDEs that coordinate view replicas with a relaxed synchronous fault tolerance protocol. Combination of pre- and post-buffering replicas is used to attain an optimal solution, which still prevents system-wide failure in the face of deterministic faults, such as ill-formed messages. By minimizing the amounts of synchronization used across replicas, the resulting zero downtime EDE can be scaled to support the large number of subscribers it must service.
  • Item
    Adaptable Mirroring in Cluster Servers
    (Georgia Institute of Technology, 2001) Gavrilovska, Ada ; Schwan, Karsten ; Oleson, Van
    This paper presents a software architecture for continuously mirroring streaming data received by one node of a cluster-based server system to other cluster nodes. The intent is to distribute the server loads implied by the data's processing and distribution to large numbers of clients. This is particularly important when a server performs multiple processing tasks, some of which may heavily depend on current system status. One specific example is the preparation of suitable initialization state for thin clients, so that such clients can understand future data events being streamed to them. In particular, when large numbers of thin clients must be initialized at the same time, such initialization must be performed without jeopardizing the quality of service offered to regular clients continuing to receive data streams. The mirroring framework presented and evaluated here has several novel aspects. First, by performing mirroring at the middleware level, application semantics may be used to reduce mirroring traffic: by event filtering based on data type or even data content, by coalescing certain events, or by simply varying mirroring rates according to current application needs concerning the consistencies of mirrored vs. original data. The intent of such dynamically varied mirroring is to improve server scalability, both with respect to its ability to stream data events to a large number of clients and to deal with large and highly variable request volumes from clients that require other services, such as new initial states computed from incoming data events. Second, this paper presents an adaptive algorithm that varies mirror consistency and thereby, mirroring overheads in response to changes in clients' request behavior. The third, novel aspect of this work is the framework's ability to not only mirror events, but to also mirror the new states computed from incoming events, thus enabling dynamic tradeoffs in communication vs. computation loads imposed on the server node receiving events and on its mirror nodes. This framework capability is used for adaptive event coalescing in response to increases or decreases in client request loads. Fourth, mirroring functionality is structured so that it is easily 'split' across nodes' main CPUs and the CoProcessors resident on their programmable network interfaces (should such interfaces exist). A case study of a mirroring design for an Intel I2O-based interface board using an i960 RD CoProcessor is also presented in this paper.