Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3592626.3592655acmconferencesArticle/Chapter ViewAbstractPublication PagesthewebconfConference Proceedingsconference-collections
research-article
Free access

Omniware: A Universal Substrate for Web Programming

Published: 11 December 1995 Publication History

Abstract

This paper describes Omniware, a system for producing and executing mobile code. Next generation Web applications will use mobile code to specify dynamic behavior in Web pages, implement new Web protocols and data formats, and dynamically distribute computation between servers and browsers, Like all mobile code systems, Omniware provides portability and safety. The same compiled Omniware module can be executed transparently on different machines, and a module's access to host resources can be precisely controlled. In addition to portability and safety, Omniware has two unique features. First, Omniware is open. Omniware uses software fault isolation (SFI) to enforce safe execution of standard programming languages, enabling Web developers to leverage the vast store of existing software and programming expertise. For example, Omniware developers can use C++ to create programs for Web pages. Second, Omniware is fast. We evaluated Omniware under the Solaris 2.4 operating system on a SPARCstation 5 using eight C benchmark programs, including five programs from the C SPEC92 benchmark suite. We evaluated the performance of Omniware in two ways. First, we showed that Omniware modules can be represented compactly, reducing the space consumption compared to Sun-Pro cc shared object files by an average of 38%. Second, we showed that Omniware modules execute at near native speeds. Including the runtime overhead necessary to ensure that Omniware modules are both portable and safe, our benchmark programs ran within 6% of native performance.

References

[1]
J. L. Stefen, "Adding Run-Time Checking to the Portable C Compiler," Software---Practice and Experience, April 1992, vol. 22, no.4, p. 305--16.
[2]
R. Brooks, "Trading Data Space for Reduced Time and Code Space in Real-Time Garbage Collection on Stock Hardware," ACM Software Engineering Symposium on Practical Software Development Environments, 1984, p. 256--262.
[3]
B. Zorn, "The Measured Cost of Conservative Garbage Collection," Software---Practice and Experience, vol. 23, no. 7, July 1993, p. 733--56.
[4]
T. Lord, "The Guile Architecture for Ubiquitous Computing," to appear in: Usenix Tcl/Tk Workshop, 1995.
[5]
I. S. Graham. The HTML Sourcebook, Wiley: New York, 1995.
[6]
IEEE Standard 754--1985. IEEE Standard for Binary Floating-Point Arithmetic. IEEE: New York, 1985.
[7]
J. P. Fitch and A. C. Norman, "Implementing LISP in a High-Level Language," Software---Practice and Experience, vol. 7, 1977, p. 713--725.
[8]
J. Gosling. "Java Intermediate Bytecodes," ACM SIGPLAN Workshop on Intermediate Representations (IR '95), San Francisco, CA, Jan. 1995.
[9]
Pentium Processor User's Manual, Intel Corporation: Mt. Prospect, IL, 1994.
[10]
L. Wall and R. L. Schwartz, Programming Perl, O'Reilly and Associates: Sebastopol, CA, 1992.
[11]
http://minsky.med.virginia.edu/sdm7g/Projects/Python/SafePython.html
[12]
N. S. Borenstein, "Email With a Mind of its Own: The Safe-Tcl Language for Enabled Mail," IFIP International Conference, Barcelona, Spain, June 1994.
[13]
J. Rees and W. Clinger, eds., "The Revised Report on the Algorithmic Language Scheme," ACM Lisp Pointers, vol. 4, no. 3, 1991.
[14]
R. Wahbe, S. Lucco, T. Anderson, and S. L. Graham. "Efficient Software-Based Fault Isolation," 14th ACM Symposium on Operating Systems Principles, Ashville, NC, Dec. 1993.
[15]
SPEC92 Release Notes. Standard Performance Evaluation Corporation (SPEC): Fairfax, VA, 1992.
[16]
J. Ousterhout, Tcl and the Tk Toolkit, Addison-Wesley: Reading, Mass., 1994.
[17]
"Telescript Technology: The Foundation for the Electronic Marketplace," General Magic: Sunnyvale, CA, 1993.
[18]
T. Berners-Lee, R. Cailliau, A. Loutonen, H. F. Nielsen, and A. Secret. "The World-Wide Web," Communications of the ACM, vol. 37, no. 8, August 1994, p. 76--82.

Cited By

View all
  • (2006)C--: A portable assembly languageImplementation of Functional Languages10.1007/BFb0055421(1-19)Online publication date: 28-May-2006
  • (2005)Safe and secure execution mechanisms for mobile objectsMobile Object Systems Towards the Programmable Internet10.1007/3-540-62852-5_15(201-211)Online publication date: 7-Jun-2005
  • (2003)Implementing an applet system without fixing virtual‐machine designsSystems and Computers in Japan10.1002/scj.1001334:2(32-42)Online publication date: 24-Jan-2003
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
WWW4: Proceedings of the Fourth International Conference on World Wide Web
December 1995
737 pages
ISBN:1565921690
DOI:10.1145/3592626

Sponsors

  • IW3C2

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 11 December 1995

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article

Conference

WWW4
Sponsor:
WWW4: Fourth International Conference on World Wide Web
December 11 - 14, 1995
Massachusetts, Boston, USA

Acceptance Rates

Overall Acceptance Rate 1,899 of 8,196 submissions, 23%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)49
  • Downloads (Last 6 weeks)10
Reflects downloads up to 12 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2006)C--: A portable assembly languageImplementation of Functional Languages10.1007/BFb0055421(1-19)Online publication date: 28-May-2006
  • (2005)Safe and secure execution mechanisms for mobile objectsMobile Object Systems Towards the Programmable Internet10.1007/3-540-62852-5_15(201-211)Online publication date: 7-Jun-2005
  • (2003)Implementing an applet system without fixing virtual‐machine designsSystems and Computers in Japan10.1002/scj.1001334:2(32-42)Online publication date: 24-Jan-2003
  • (2002)Watermarking, tamper-proffing, and obfuscationIEEE Transactions on Software Engineering10.1109/TSE.2002.102779728:8(735-746)Online publication date: 1-Aug-2002
  • (2002)Trustless Grid Computing in ConCertGrid Computing — GRID 200210.1007/3-540-36133-2_11(112-125)Online publication date: 8-Nov-2002
  • (2001)Enforcing Safety Properties Using Type SpecializationProgramming Languages and Systems10.1007/3-540-45309-1_5(62-76)Online publication date: 23-Mar-2001
  • (2000)Scylla: a smart virtual machine for mobile embedded systemsProceedings Third IEEE Workshop on Mobile Computing Systems and Applications10.1109/MCSA.2000.895380(41-50)Online publication date: 2000
  • (2000)Optimising heterogeneous task migration in the Gardens virtual cluster computerProceedings 9th Heterogeneous Computing Workshop (HCW 2000) (Cat. No.PR00556)10.1109/HCW.2000.843739(140-146)Online publication date: 2000
  • (1998)Toward Ubiquitous Environments for Mobile UsersIEEE Internet Computing10.1109/4236.6560632:1(22-32)Online publication date: 1-Jan-1998
  • (1998)Cryptographic Traces for Mobile AgentsMobile Agents and Security10.1007/3-540-68671-1_8(137-153)Online publication date: 18-Jun-1998
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media