Automating Network Application Dependency Discovery: Experiences, Limitations, and New Solutions - Chen, Xu; Zhang, Ming; Mao, Z. Morley; Bahl, Victor (OSDI, 2008)
Large enterprise networks consist of thousands of services and applications. The performance and reliability of any particular application may depend on multiple services, spanning many hosts and network components. While the knowledge of such dependencies is invaluable for ensuring the stability and efﬁciency of these applications, thus far the only proven way to discover these complex dependencies is by exploiting human expert knowledge, which does not scale with the number of applications in large enterprises. Recently, researchers have proposed automated discovery of dependencies from network trafﬁc [8, 18]. In this paper, we present a comprehensive study of the performance and limitations of this class of dependency discovery techniques (including our own prior work), by comparing with the ground truth of ﬁve dominant Microsoft applications. We introduce a new system, Orion, that discovers dependencies using packet headers and timing information in network trafﬁc based on a novel insight of delay spike based analysis. Orion improves the state of the art signiﬁcantly, but some shortcomings still remain. To take the next step forward, Orion incorporates external tests to reduce errors to a manageable level. Our results show Orion provides a solid foundation for combining automated discovery with simple testing to obtain accurate and validated dependencies.