U.S. patents available from 1976 to present.
U.S. patent applications available from 2005 to present.

Safe general purpose virtual machine computing system

Patent 6151618 Issued on November 21, 2000. Estimated Expiration Date: Icon_subject June 18, 2017. Estimated Expiration Date is calculated based on simple USPTO term provisions. It does not account for terminal disclaimers, term adjustments, failure to pay maintenance fees, or other factors which might affect the term of a patent.

Patent References

Compilers using a universal intermediate language
Patent #: 4667290
Issued on: 05/19/1987
Inventor: Goss ,   et al.

Enforcement of referential constraints in a database system
Patent #: 5386557
Issued on: 01/31/1995
Inventor: Boykin, et al.

Data compression method for use in a computerized informational and transactional network
Patent #: 5537551
Issued on: 07/16/1996
Inventor: Denenberg, et al.

Isolated multiprocessing system having tracking circuit for verifyng only that the processor is executing set of entry instructions upon initiation of the system controller program
Patent #: 5551051
Issued on: 08/27/1996
Inventor: Silverthorn, et al.

Compilier system using an intermediate abstract form and machine-specific installers
Patent #: 5586323
Issued on: 12/17/1996
Inventor: Koizumi, et al.

Method and apparatus for detecting memory access errors
Patent #: 5590329
Issued on: 12/31/1996
Inventor: Goodnow, II, et al.

Method and apparatus for generating platform-standard object files containing machine-independent code
Patent #: 5590331
Issued on: 12/31/1996
Inventor: Lewis, et al.

Method for detecting computer memory access errors
Patent #: 5644709
Issued on: 07/01/1997
Inventor: Austin

Methods for safe and efficient implementations of virtual machines Patent #: 5761477
Issued on: 06/02/1998
Inventor: Wahbe, et al.

Inventors

Assignee

Application

No. 878390 filed on 06/18/1997

US Classes:

718/1, VIRTUAL MACHINE TASK OR PROCESS MANAGEMENT717/118, Bytecode (e.g., Java)717/124, Testing or debugging717/148Just-in-time compiling or dynamic compiling (e.g., compiling Java bytecode on a virtual machine)

Examiners

Primary: Banankhah, Majid A.
Assistant: Lao, Sue

Attorney, Agent or Firm

International Class

G06F 009/45

Abstract

A safe general purpose virtual machine computing system having a general purpose memory protection model that is hardware architecture and programming language independent. The safe general purpose virtual machine computing system is software based to facilitate operation on hardware architectures that otherwise would prevent the exchange and successful execution of mobile code programs from one computer system to another. The safe general purpose virtual machine computing system also facilitates generating Bytecode Reduced Instruction Set Computer (BRISC) compressed mobile code that can be compiled or translated into executable code very quickly in addition to being compact for transmission purposes, and that is prevented from accessing unauthorized memory locations due to Software Fault Isolation techniques implemented in the code.

Other References

  • R. Wahbe, et al, "Efficient Software-Based Fault Isolation", ACM publication, Dec. 1993
  • S. Lucco, O. Sharp, and R. Wahbe, "Ominware: A Universal Substrate for Web Programming", Proc. of the 4th World Wide Web Conference, Boston, Massachusetts, Dec., 1995
  • "Omniware Technical Overview", Technical Report, Colusa Software, 1995
  • "Omniware: A Universal Substrate for Mobile Code", Colusa Software, 1995
  • Appendix A, Colusa Software
  • K. Li and P. Huda, "Memory Coherence in Shared Virtual Memory Systems", Proceedings of the 5th ACM Symposium on Principles of Distributed Computing, pp. 229-239, Aug. 1986
  • C.N. Fischer and R.J. Leblanc, "The Implementation of Run-time Diagnostics in PASCAL", IEEE Transactions on Software Engineering, Jul. 1980 vol. SE-6, #4, pp. 313-319
  • T. Austin, S. Breach, and G. Sohi, "Efficient Detection of All Pointer and Array Access Errors", Proceedings of the ACM Conference on Programming Language Design and Implementation, pp. 290-301, Jun. 1994
  • J. Gosling, "Java Intermediate Bytecodes", ACM SIGPlan Workshop on Intermediate Representations, pp. 111-118, Jan. 1995
  • "Telescript Technology: Scenes from the Electronic Marketplace", General Magic, Sunnyvale, CA, 1996
  • R. Brooks , R. Gabriel, and G. Steele, Jr., "An Optimizing Compiler for Lexically Scoped Lisp", ACM Symposium on Lisp and Functional Programming, pp. 261-275, Aug. 1982
  • D. Luckham, and N. Suzuki, "Verification of Array, Record, and Pointer Operations in PASCAL", ACM Transactions on Programming Languages and Systems, Oct. 1979, vol. 1, #2, pp. 226-244
  • J. Ellis, and D. Detlefs, "Safe, Efficient Garbage Collection for C + + ", Proceedings of the USENIX C + + Conference, pp. 143-177, Apr. 1994
  • E. Jul, H. Levy, N. Hutchinson, and A. Black, "Fine-Grained Mobility in the Emerald System", ACM Transactions on Computer Systems, vol. 6, #1, Feb. 1988, pp. 109-133
  • P. Klint, "Interpretation Techniques", Software-Practice and Experience, Sep. 1981, vol. 11 #9, pp. 963-973
  • A. Goldberg and D. Robson "Smalltalk-80: The Language and Its Implementation", Addison-Wesley, 1983, Reading, MA
  • J. Davidson and J. Gresh, "Cint: A RISC Interpreter for the C Programming Language", Proceedings of the SIGPlan '87 Symposium on Interpreters and Interpretive Techniques, Jun. 1987, pp. 189-197
  • L. Deutsch and A Schiffman, "Efficient Implementation of the Smalltalk-80 System", Proceedings of the 11th Annual ACM Symposium on Principles of Programming Languages, pp. 297-302, Jan. 1984
  • C. Chambers, D. Ungar, and E. Lee, "An Efficient Implementation of SELF, a Dynamically-typed Object-Oriented Language Based on Prototypes", LISP and Symbolic Computation, Jul. 1991, vol. 4, #3, pp. 243-281
  • C. May, "MIMIC: A Fast System/370 Simulator", Proceedings of the SIGPlan '87 Symposium on Interpreters and Interpretive Techniques, pp. 1-13, Jun. 1987
  • B. Cmelik and D. Keppel, "Shade: A Fast Instruction-Set Simulator for Execution Profiling", ACM SIGMetrics Conference on Measurement and Modeling of Computer Systems, 1994, pp. 128-137, May 1994
  • R. Sites, A. Chernoff, M. Kirk, M. Marks, and S. Robinson, "Binary Translation", Communications of the ACM, Feb. 1993, vol. 36, #2, pp. 69-81
  • "Efficient Software-Based Fault Isolation" by Wahbe, Lucco, Anderson & Graham, Proceedings of the Symposium on Operating System Principles, Dec. 1993
  • "The Evolution of Virtual Machine Architecture" by Buzen & Gagliardi, National Computer Conference, 1973
  • "Survey of Virtual Machine Research" by Goldberg, Honeywell Information Systems, Waltham Massachusetts, and Harvard University, Jun. 1974
  • Omniware Virtual Machine Architecture Reference Manual, Version 1.0 Beta, Microsoft Corporation, 60 pages
  • Colusa Omniware Getting Started With Omniware, Colusa Software, Inc., 1995, 22 pages
  • Chase, et al., Debugging with Lightweight Instrumentation, Proc. Supercomputer Debugging workshop, 1991, 8 pages
  • Deutsch et al., "A Flexible Measurement Tool for Software Systems," Information Processing '71, pp. 320-326
  • Kessler, Fast Breakpoints: Design and Implementation, Proc. ACM SIGPlan '90 Conference on Programming Language Design and Implementation, pp. 78-84
  • Steffen, "Adding Run-Time Checking to the Portable PC Compiler," Software--Practice and Experience, vol. 22(4), Apr. 1992, pp. 305-316
  • Kempton, "Run-Time Detection of Undefined Variables Considered Essential," Software--Practice and Experience, vol. 20(4), Apr. 1990, pp. 391-402
  • Hastings et al., "Purify: Fast Detection of Memory Leaks and Access Errors," USENIX--Winter '92, pp. 125-136
  • Johnson, "Postloading for Fun and Profit," USENIX--Winter '90, pp. 325-330
  • Wall, "Systems for Late Code Modification," Digital Western Research Laboratory, Palo Alto, CA, Jun., 1991, 19 pages
  • Wall, Link-Time Code Modification, Digital Western Research Laboratory, Palo Alto, CA, Sep., 1989, 17 pages
  • Srivastava et al., A Practical System for Intermediate Code Optimization at Link-Time, Digital Western Research Laboratory, Palo Alto, CA, Dec., 1992, 28 pages
  • Larus et al., "Rewriting Executable Files to Measure Program Behavior," University of Wisconsin Computer Sciences Technical Report 1083, Mar. 25, 1992, 17 pages
  • Kendall, "Bcc: Runtime Checking for C Programs," USENIX--Summer 1983, pp. 6-16
  • Sullivan et al., "Using Write Protected Data Structures to Improve Software Fault Tolerance in Highly Available Database Management Systems," Proc. 17th Int. Conf. on Very Large Data Bases, 1991, 19 pages
  • Kaufer et al., "Saber-C An Interpreter-Based Programming Environment for the C Language," USENIX--Summer '88, pp. 161-171
  • Nichols, The Bug Stops Here, Electronic Design, Jan. 26, 1989, pp. 84-90
  • Bedicheck, "Some Efficient Architecture Simulation Techniques," USENIX--Winter '90, pp. 53-63
  • H. M. Deitel, "An Introduction to Operating Systems", 2nd Edition, Addison-Welsley Pub. Comp., pp. 703-73
PatentsPlus Images
Enhanced PDF formats
loading...
PatentsPlus: add to cart
PatentsPlus: add to cartSearch-enhanced full patent PDF image
$9.95more info
PatentsPlus: add to cart
PatentsPlus: add to cartIntelligent turbocharged patent PDFs with marked up images
$18.95more info
 
Sign InRegister
Username  
Password   
forgot password?