A design framework for internet-scale event observation and notification

  • David S. Rosenblum
  • Alexander L. Wolf
Regular Sessions System Modeling
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1301)


There is increasing interest in having software systems execute and interoperate over the Internet. Execution and interoperation at this scale imply a degree of loose coupling and heterogeneity among the components from which such systems will be built. One common architectural style for distributed, loosely-coupled, heterogeneous software systems is a structure based on event generation, observation and notification. The technology to support this approach is well-developed for local area networks, but it is ill-suited to networks on the scale of the Internet. Hence, new technologies are needed to support the construction of large-scale, event-based software systems for the Internet. We have begun to design a new facility for event observation and notification that better serves the needs of Internet-scale applications. In this paper we present results from our first step in this design process, in which we defined a framework that captures many of the relevant design dimensions. Our framework comprises seven models-an object model, an event model, a naming model, an observation model, a time model, a notification model, and a resource model. The paper discusses each of these models in detail and illustrates them using an example involving an update to a Web page. The paper also evaluates three existing technologies with respect to the seven models.


design distributed systems events Internet software engineering 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    D.J. Barrett, L.A. Clarke, P.L. Tarr, and A.E. Wise, “A Framework for Event-Based Software Integration”, ACM Trans. Software Engineering and Methodology, vol. 5, no. 4, pp. 378–421, 1996.Google Scholar
  2. [2]
    P.C. Bates and J.C. Wileden, “High-Level Debugging of Distributed Systems: The Behavioral Abstraction Approach”, Journal of Systems and Software, vol. 3, no. 4, pp. 255–264,1983.Google Scholar
  3. [3]
    T. Bemers-Lee, L. Masinter, and M. McCahill, “Uniform Resource Locators (URL)”, Internet Engineering Task Force, Request for Comments RFC 1738, December 1994.Google Scholar
  4. [4]
    M.I. Bolsky and D.G. Kom, The New KornShell Command and Programming Language, 2nd ed. Upper Saddle River, NJ: Prentice Hall, 1995.Google Scholar
  5. [5]
    K. Brockschmidt, Inside OLE. Redmond, WA: Microsoft Press, 1995.Google Scholar
  6. [6]
    S. Chernicoff, Macintosh TM Revealed, vol. 2: Programming with the Toolbox, 2nd ed. Indianapolis, IN: Hayden Books, 1987.Google Scholar
  7. [7]
    D. Cohen, “Compiling Complex Database Transition Triggers”, Proc. of SIGMOD '89: 1989 Int'l Conf. on Management of Data, pp. 225–2234, 1989.Google Scholar
  8. [8]
    R. Daniel and M. Meaning, ”Resolution of Uniform Resource Identifiers using the Domain Name System”, Internet Engineering Task Force, Internet Draft (Work in Progress) 21 November 1996.Google Scholar
  9. [9]
    CJ. Fidge, “Logical Time in Distributed Computing Systems”, IEEE Computer, vol. 24, no. 8, pp. 28–33, 1991.Google Scholar
  10. [10]
    D. Garlan and D. Notkin, “Formalizing Design Spaces: Implicit Invocation Mechanisms”, Proc. of VDM '91: 4th Int'l Symposium of VDM Europe on Formal Software Development Methods, Noordwijkerhout, The Netherlands, pp. 31–44, 1991.Google Scholar
  11. [11]
    N.H. Gehani and H.V. Jagadish, “Ode as an Active Database: Constraints and Triggers”, Proc. of VLDB 91: 17th Int'l Conf. on Very Large Data Bases, pp. 327–336, 1991.Google Scholar
  12. [12]
    M.R. Genesereth and S.P. Ketchpel, “Software Agents”, Communications of the ACM, vol. 37, no. 7, pp. 48–53 and 147, 1994.Google Scholar
  13. [13]
    C. Gerety, “HP SoftBench: A New Generation of Software Development Tools”, HewlettPackard Journal, vol. 41, no. 3, pp. 48–59, 1990.Google Scholar
  14. [14]
    R.S. Hall, D. Heimbigner, A. van der Hoek, and A.L. Wolf, “An Architecture for Post-Development Configuration Management in a Wide-Area Network”, Proc. of 1997 Int'l Conf. on Distributed Computing Systems, Baltimore, MD, pp. 269–278, 1997.Google Scholar
  15. [15]
    R.W. Hall, A. Mathur, F. Jahanian, A. Prakash, and C. Rassmussen, “Corona: A Communication Server for Scalable, Reliable Group Collaboration Systems”, Proc. of CSCW '96 6th Conf, on Computer Supported Cooperative Work, Boston, MA, pp. 140–149,1996.Google Scholar
  16. [16]
    D. Heller, “The XView Notifier”, Unix World, pp. 123–133, 1990.Google Scholar
  17. [17]
    A.M. Julienne and B.Holtz, ToolTalk and Open Protocols: Inter-Application Communication: Prentice Hall, 1994.Google Scholar
  18. [18]
    B. Kantor and P. Lapsley, “Network News Transfer Protocol”, Internet Engineering Task Force, Request for Comments RFC 977, February 1986.Google Scholar
  19. [19]
    A. Kaplan and J.C. Wileden, “Formalization and Application of a Unifying Model for Name Management”, Proc. of ACM SIGSOFT '95 Third Symposium on the Foundations of Software Engineering, Washington, DC, pp. 161–172, 1995.Google Scholar
  20. [20]
    B. Krishnamurthy and D.S. Rosenblum, “Yeast: A General Purpose Event-Action System”, IEEE Trans. Software Engineering, vol. 21, no. 10, pp. 845–857,1995.Google Scholar
  21. [21]
    L. Lamport, “Time, Clocks and the Ordering of Events in a Distributed System”, Communications of the ACM, vol. 21, no. 7, pp. 558–565, 1978.Google Scholar
  22. [22]
    T.J. LeBlanc and J.M. Mellor-Crummey, “Debugging Parallel Programs with Instant Replay”, IEEE Trans. Computers, vol. C-36, no. 4, pp. 471–482,1987.Google Scholar
  23. [23]
    D.C. Luckham, D.P. Helmbold, D.L. Bryan, and M.A. Haberler, “Task Sequencing Language for Specifying Distributed Ada Systems (TSL-1)”, Proc. of PARLE-The Conf. on Parallel Architectures and Languages Europe, Volume II: Parallel Languages, pp. 444–463,1987.Google Scholar
  24. [24]
    D.C. Luckham, J.J. Kenney, L.M. Augustin, J. Vera, D. Bryan, and W. Mann, “Specification and Analysis of System Architecture Using Rapide”, IEEE Trans. Software Engineering, vol. 21, no. 4, pp. 336–355, 1995.Google Scholar
  25. [25]
    F. Mattern, “Virtual Time and Global States of Distributed Systems”, Proc. of Parallel and Distributed Algorithms, pp. 215–226, 1988.Google Scholar
  26. [26]
    R. Milner, Communication and Concurrency. Hemel Hempstead, Hertfordshire, UK: Prentice Hall International, 1989.Google Scholar
  27. [27]
    Object Management Group, “The Common Object Request Broker: Architecture and Specification”, revision 2.0, July 1995.Google Scholar
  28. [28]
    Object Management Group, “Common Object Services Specification, Volume I”, revision 1.0, March 1994.Google Scholar
  29. [29]
    V. Pratt, “Modeling Concurrency with Partial Orders”, Int'l Journal of Parallel Programming, vol. 15, no. 1, pp. 33–71, 1986.Google Scholar
  30. [30]
    J.M. Purtilo, “The POLYLITH Software Bus”, ACM Trans. Programming Languages and Systems, vol. 16, no. 1, pp. 151–174, 1994.Google Scholar
  31. [31]
    S.P. Reiss, “Connecting Tools Using Message Passing in the Field Environment”, IEEE Software, vol. 7, no. 4, pp. 57–66, 1990.Google Scholar
  32. [32]
    D.S. Rosenblum, “Specifying Concurrent Systems with TSL”, IEEE Software, vol. 8, no. 3, pp. 52–61, 1991.Google Scholar
  33. [33]
    R.W. Selby, A.A. Porter, D.C. Schmidt, and J. Berney, “Metric-Driven Analysis and Feedback Systems for Enabling Empirically Guided Software Development”, Proc. of 13th Int'l Conf. on Software Engineering, pp. 288–298, 1991.Google Scholar
  34. [34]
    J. Siegel, CORBA Fundamentals and Programming. New York, NY: Wiley, 1996.Google Scholar
  35. [35]
    TelecommunicationsInformationNetworkingArchitectureConsortium,“TINA Notification Service Description”, July 1996.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1997

Authors and Affiliations

  • David S. Rosenblum
    • 1
  • Alexander L. Wolf
    • 2
  1. 1.Dept. of Info. & Computer ScienceUniversity of CaliforniaIrvineUSA
  2. 2.Dept. of Computer ScienceUniversity of ColoradoBoulderUSA

Personalised recommendations