Abstract
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.
Preview
Unable to display preview. Download preview PDF.
References
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.
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.
T. Bemers-Lee, L. Masinter, and M. McCahill, “Uniform Resource Locators (URL)”, Internet Engineering Task Force, Request for Comments RFC 1738, December 1994.
M.I. Bolsky and D.G. Kom, The New KornShell Command and Programming Language, 2nd ed. Upper Saddle River, NJ: Prentice Hall, 1995.
K. Brockschmidt, Inside OLE. Redmond, WA: Microsoft Press, 1995.
S. Chernicoff, Macintosh TM Revealed, vol. 2: Programming with the Toolbox, 2nd ed. Indianapolis, IN: Hayden Books, 1987.
D. Cohen, “Compiling Complex Database Transition Triggers”, Proc. of SIGMOD '89: 1989 Int'l Conf. on Management of Data, pp. 225–2234, 1989.
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.
CJ. Fidge, “Logical Time in Distributed Computing Systems”, IEEE Computer, vol. 24, no. 8, pp. 28–33, 1991.
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.
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.
M.R. Genesereth and S.P. Ketchpel, “Software Agents”, Communications of the ACM, vol. 37, no. 7, pp. 48–53 and 147, 1994.
C. Gerety, “HP SoftBench: A New Generation of Software Development Tools”, HewlettPackard Journal, vol. 41, no. 3, pp. 48–59, 1990.
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.
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.
D. Heller, “The XView Notifier”, Unix World, pp. 123–133, 1990.
A.M. Julienne and B.Holtz, ToolTalk and Open Protocols: Inter-Application Communication: Prentice Hall, 1994.
B. Kantor and P. Lapsley, “Network News Transfer Protocol”, Internet Engineering Task Force, Request for Comments RFC 977, February 1986.
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.
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.
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.
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.
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.
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.
F. Mattern, “Virtual Time and Global States of Distributed Systems”, Proc. of Parallel and Distributed Algorithms, pp. 215–226, 1988.
R. Milner, Communication and Concurrency. Hemel Hempstead, Hertfordshire, UK: Prentice Hall International, 1989.
Object Management Group, “The Common Object Request Broker: Architecture and Specification”, revision 2.0, July 1995.
Object Management Group, “Common Object Services Specification, Volume I”, revision 1.0, March 1994.
V. Pratt, “Modeling Concurrency with Partial Orders”, Int'l Journal of Parallel Programming, vol. 15, no. 1, pp. 33–71, 1986.
J.M. Purtilo, “The POLYLITH Software Bus”, ACM Trans. Programming Languages and Systems, vol. 16, no. 1, pp. 151–174, 1994.
S.P. Reiss, “Connecting Tools Using Message Passing in the Field Environment”, IEEE Software, vol. 7, no. 4, pp. 57–66, 1990.
D.S. Rosenblum, “Specifying Concurrent Systems with TSL”, IEEE Software, vol. 8, no. 3, pp. 52–61, 1991.
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.
J. Siegel, CORBA Fundamentals and Programming. New York, NY: Wiley, 1996.
TelecommunicationsInformationNetworkingArchitectureConsortium,“TINA Notification Service Description”, July 1996.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1997 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Rosenblum, D.S., Wolf, A.L. (1997). A design framework for internet-scale event observation and notification. In: Jazayeri, M., Schauer, H. (eds) Software Engineering — ESEC/FSE'97. ESEC SIGSOFT FSE 1997 1997. Lecture Notes in Computer Science, vol 1301. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-63531-9_24
Download citation
DOI: https://doi.org/10.1007/3-540-63531-9_24
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-63531-4
Online ISBN: 978-3-540-69592-9
eBook Packages: Springer Book Archive