Monitoring distributed systems: a relational approach

Abstract : Monitoring is the extraction of dynamic information concerning a computational process, as that process executes. Distributed systems, with their qualitative and quantitative increases in complexity, demand an intelligent monitor. The thesis of this dissertation is that monitoring is fundamentally an information processing activity, and that the relational model, as applied in relational databases, is an appropriate formalization of this information. In this approach, the notions of entity (data structures, processes, hardware components, etc.) and relationship (processes running on processors, messages in queues, etc.) are structured as a set of time-varying relations. Queries on this collection of relations are translated into retrieval and computational activities to be performed by the monitor. Data collection is an important aspect of monitoring. After discussing a model of the environment where data collection takes place, a flexible, strongly typed, efficient data collection mechanism is presented. The impact of various features of the environment on this mechanism is examined. The user specifies the desired actions of the monitor with a high-level, non-procedural query language called TQuel. This language is a superset of Quel, a relational database query language, with additional syntax and semantics to incorporate time as an integral part of the language. A formal semantics with several useful properties relating to monitoring is presented.

[1]  Raymond Reiter On Closed World Data Bases , 1977, Logic and Data Bases.

[2]  David J. DeWitt,et al.  Applying Data Flow Techniques to Data Base Machines , 1982, Computer.

[3]  Bruce R. Schatz,et al.  An Overview of the Production-Quality Compiler-Compiler Project , 1980, Computer.

[4]  David J. DeWitt,et al.  Processor allocation strategies for multiprocessor database machines , 1981, TODS.

[5]  Kenneth M. Kahn,et al.  Mechanizing Temporal Knowledge , 1977, Artif. Intell..

[6]  Sten Fredrik Andler,et al.  Predicate path expressions: a high-level synchronization mechanism , 1979 .

[7]  Robert M. Metcalfe,et al.  Pup: An Internetwork Architecture , 1980, IEEE Trans. Commun..

[8]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[9]  Harry K. T. Wong,et al.  The role of time in information processing: a survey , 1982, SGAR.

[10]  Charles Lanny Forgy,et al.  On the efficient implementation of production systems. , 1979 .

[11]  Jose Luis Becerril,et al.  GSYSR: A Relational Database Interface for Graphics , 1979, Data Base Techniques for Pictorial Applications.

[12]  Barbara Liskov,et al.  Report on the Workshop on Fundamental Issues in Distributed Computing, Fallbrook, California, December 1980 , 1981, ACM SIGOPS Oper. Syst. Rev..

[13]  Bruce Jay Nelson Remote procedure call , 1981 .

[14]  Stephen Cole Kleene,et al.  On notation for ordinal numbers , 1938, Journal of Symbolic Logic.

[15]  Donald D. Chamberlin,et al.  Implementation of a structured English query language , 1975, SIGMOD '75.

[16]  Jack B. Dennis,et al.  Data Flow Supercomputers , 1980, Computer.

[17]  Arthur J. Bonner Using System Monitor Output to Improve Performance , 1969, IBM Syst. J..

[18]  Eric C. Rosen,et al.  Vulnerabilities of network control protocols: an example , 1981, CCRV.

[19]  山口 喜教 RIG, Rochester's Intelligent Gateway : System Overview , 1977 .

[20]  John Miles Smith,et al.  Optimizing the performance of a relational algebra database interface , 1975, CACM.

[21]  David E. Morgan,et al.  A computer network monitoring system , 1975, IEEE Transactions on Software Engineering.

[22]  S. B. Yao,et al.  Optimization of query evaluation algorithms , 1979, ACM Trans. Database Syst..

[23]  Gordon Bell,et al.  Ethernet: Distributed Packet Switching for Local Computer Networks , 1976 .

[24]  Richard T. Snodgrass,et al.  An Integrated Instrumentation Environment for Multiprocessors , 1983, IEEE Transactions on Computers.

[25]  Bernhard Plattner,et al.  Monitoring Program Execution: A Survey. , 1981 .

[26]  Jerome A. Feldman,et al.  An ALGOL-based associative language , 1969, CACM.

[27]  Mitchell L Model,et al.  Monitoring system behavior in a complex computational environment , 1979 .

[28]  J E Hardison,et al.  To be complete. , 1979, The New England journal of medicine.

[29]  C. A. R. Hoare,et al.  Monitors: an operating system structuring concept , 1974, CACM.

[30]  J. Bradley Operations Data Bases , 1978, VLDB.

[31]  Robert M. Keller,et al.  Data Flow Program Graphs , 1982, Computer.

[32]  Witold Lipski,et al.  On Databases with Incomplete Information , 1981, JACM.

[33]  Robert S. Fabry,et al.  Capability-based addressing , 1974, CACM.

[34]  E. F. CODD,et al.  A relational model of data for large shared data banks , 1970, CACM.

[35]  S.H. Fuller,et al.  Multi-microprocessors: An overview and working example , 1978, Proceedings of the IEEE.