Patents by Inventor Frank Yellin
Frank Yellin has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 7080363Abstract: A program interpreter for computer programs written in a bytecode language, which uses a restricted set of data type specific bytecodes. The interpreter, prior to executing any bytecode program, executes a bytecode program verifier procedure that verifies the integrity of a specified program by identifying any bytecode instruction that would process data of the wrong type for such a bytecode and any bytecode instruction sequences in the specified program that would cause underflow or overflow of the operand stack. If the program verifier finds any instructions that violate predefined stack usage and data type usage restrictions, execution of the program by the interpreter is prevented. After pre-processing of the program by the verifier, if no program faults were found, the interpreter executes the program without performing operand stack overflow and underflow checks and without performing data type checks on operands stored in operand stack. As a result, program execution speed is greatly improved.Type: GrantFiled: November 5, 2002Date of Patent: July 18, 2006Assignee: Sun Microsystems, Inc.Inventors: Frank Yellin, James A. Gosling
-
Publication number: 20030135844Abstract: A program interpreter for computer programs written in a bytecode language, which uses a restricted set of data type specific bytecodes. The interpreter, prior to executing any bytecode program, executes a bytecode program verifier procedure that verifies the integrity of a specified program by identifying any bytecode instruction that would process data of the wrong type for such a bytecode and any bytecode instruction sequences in the specified program that would cause underflow or overflow of the operand stack. If the program verifier finds any instructions that violate predefined stack usage and data type usage restrictions, execution of the program by the interpreter is prevented. After pre-processing of the program by the verifier, if no program faults were found, the interpreter executes the program without performing operand stack overflow and underflow checks and without performing data type checks on operands stored in operand stack. As a result, program execution speed is greatly improved.Type: ApplicationFiled: November 5, 2002Publication date: July 17, 2003Applicant: Sun Microsystems, Inc.Inventors: Frank Yellin, James A. Gosling
-
Patent number: 6477702Abstract: A program interpreter for computer programs written in a bytecode language, which uses a restricted set of data type specific bytecodes. The interpreter, prior to executing any bytecode program, executes a bytecode program verifier procedure that verifies the integrity of a specified program by identifying any bytecode instruction that would process data of the wrong type for such a bytecode and any bytecode instruction sequences in the specified program that would cause underflow or overflow of the operand stack. If the program verifier finds any instructions that violate predefined stack usage and data type usage restrictions, execution of the program by the interpreter is prevented. After pre-processing of the program by the verifier, if no program faults were found, the interpreter executes the program without performing operand stack overflow and underflow checks and without performing data type checks on operands stored in operand stack. As a result, program execution speed is greatly improved.Type: GrantFiled: November 9, 2000Date of Patent: November 5, 2002Assignee: Sun Microsystems, Inc.Inventors: Frank Yellin, James A. Gosling
-
Patent number: 6247171Abstract: A program interpreter for computer programs written in a bytecode language, which uses a restricted set of data type specific bytecodes. The interpreter, prior to executing any bytecode program, executes a bytecode program verifier procedure that verifies the integrity of a specified program by identifying any bytecode instruction that would process data of the wrong type for such a bytecode and any bytecode instruction sequences in the specified program that would cause underflow or overflow of the operand stack. If the program verifier finds any instructions that violate predefined stack usage and data type usage restrictions, execution of the program by the interpreter is prevented. After pre-processing of the program by the verifier, if no program faults were found, the interpreter executes the program without performing operand stack overflow and underflow checks and without performing data type checks on operands stored in operand stack. As a result, program execution speed is greatly improved.Type: GrantFiled: December 6, 1999Date of Patent: June 12, 2001Assignee: Sun Microsystems, Inc.Inventors: Frank Yellin, James A. Gosling
-
Patent number: 6067575Abstract: A distributed computer system has a program compiling computer and a program executing computer. The program compiling computer is operated by a compiling party and includes a compiler that, when the digital signature of the originating party of an architecture neutral program has been verified, (A) compiles the architecture neutral program code of the architecture neutral program into architecture specific program code in the architecture specific language identified by the compile to information in the architecture neutral program, and (B) appends to the architecture specific program code a digital signature of the compiling party to generate an architecture specific program.Type: GrantFiled: December 8, 1995Date of Patent: May 23, 2000Assignee: Sun Microsystems, Inc.Inventors: Charles E. McManis, Frank Yellin
-
Patent number: 6061520Abstract: The disclosed system represents an improvement over conventional systems for initializing static arrays by reducing the amount of code executed by the virtual machine to statically initialize an array. To realize this reduction, when consolidating class files, the preloader identifies all <clinit> methods and play executes these methods to determine the static initialization performed by them. The preloader then creates an expression indicating the static initialization performed by the <clinit> method and stores this expression in the .mclass file, replacing the <clinit> method. As such, the code of the <clinit> method, containing many instructions, is replaced by a single expression instructing the virtual machine to perform static initialization, thus saving a significant amount of memory. The virtual machine is modified to recognize this expression and perform the appropriate static initialization of an array.Type: GrantFiled: April 7, 1998Date of Patent: May 9, 2000Assignee: Sun Microsystems, Inc.Inventors: Frank Yellin, Richard D. Tuck
-
Patent number: 5999731Abstract: A program interpreter for computer programs written in a bytecode language, which uses a restricted set of data type specific bytecodes. The interpreter, prior to executing any bytecode program, executes a bytecode program verifier procedure that verifies the integrity of a specified program by identifying any bytecode instruction that would process data of the wrong type for such a bytecode and any bytecode instruction sequences in the specified program that would cause underflow or overflow of the operand stack. If the program verifier finds any instructions that violate predefined stack usage and data type usage restrictions, execution of the program by the interpreter is prevented. After pre-processing of the program by the verifier, if no program faults were found, the interpreter executes the program without performing operand stack overflow and underflow checks and without performing data type checks on operands stored in operand stack. As a result, program execution speed is greatly improved.Type: GrantFiled: March 24, 1998Date of Patent: December 7, 1999Assignee: Sun Microsystems, Inc.Inventors: Frank Yellin, James A. Gosling
-
Patent number: 5946489Abstract: A method of cross-compiling computer programs includes the step of extracting constants from an inheriting computer program written in a first computer language. The extracted constants refer to a generating computer program written in a second computer language. A new program in the second computer language is then created using the constants. The new program is then compiled for a target computer to ascertain compiled constant values. The compiled constant values are then substituted into the inheriting computer program to produce a final inheriting computer program.Type: GrantFiled: December 12, 1997Date of Patent: August 31, 1999Assignee: Sun Microsystems, Inc.Inventors: Frank Yellin, Dean R. E. Long, Richard D. Tuck
-
Patent number: 5794044Abstract: A secure program interpreter performs a special check the first time it executes a method call to determine if the sole purpose of the called method is to access the value of private variable, modify the value of a private variable, or return a constant value. If this is the case, the interpreter's internal representation of the method being executed is modified so as to directly access the private variable of the called method, or to directly access the stored constant of the called method. The modified method representation uses special "privileged" load and store instructions, not available in normal source code programs, that access private variables and constants outside the method being executed without causing a security violation to be flagged.Type: GrantFiled: December 8, 1995Date of Patent: August 11, 1998Assignee: Sun Microsystems, Inc.Inventor: Frank Yellin
-
Patent number: 5778231Abstract: A program compiler identifies each symbol in a source program that references another program. For each identified symbol, the compiler determines whether the symbol is a reference to a remotely located file or to a locally stored file. If the identified symbol is a reference to a remotely located file, it constructs a file location identifier, such as a URL, for the identified symbol, performs a file location identifier based fetch of the remotely locate file, and ads at least a portion of the fetched file to a set of program code to be compiled if the fetch is successfully performed. If the identified symbol is a reference to a locally stored file, it performs a file fetch for the locally stored file, adding at least a portion of the fetched file to the set of program code to be compiled if the file fetch is successfully performed. If the fetch is unsuccessful, compilation of the source program is aborted.Type: GrantFiled: December 20, 1995Date of Patent: July 7, 1998Assignee: Sun Microsystems, Inc.Inventors: Arthur A. van Hoff, James A. Gosling, Frank Yellin
-
Patent number: 5761513Abstract: A compiler requires normal exceptions that are throwable by a method to be either explicitly declared or else "caught" by appropriate exception handlers in the method to be compiled. This ensures that all normal exceptions thrown will be handled by a programmer specified exception handler. The compiler inspects all instructions in a specified method that throw exceptions and all instructions that invoke other methods, and determines whether each type of exception throwable by those instructions and invocable methods is (A) a serious exception (i.e., not a normal exception), (B) is caught by an enclosing exception handler, or (C) is explicitly declared in the method header of the specified method. If any throwable exception cannot be so categorized, that means the throwable exception is a normal exception that is not caught by an enclosing exception and is not explicitly declared in the method header, which means that the method to be compiled is not well formed.Type: GrantFiled: July 1, 1996Date of Patent: June 2, 1998Assignee: Sun Microsystems, Inc.Inventors: Frank Yellin, William N. Joy, Arthur A. Van Hoff
-
Patent number: 5740441Abstract: A program interpreter for computer programs written in a bytecode language, which uses a restricted set of data type specific bytecodes. The interpreter, prior to executing any bytecode program, executes a bytecode program verifier procedure that verifies the integrity of a specified program by identifying any bytecode instruction that would process data of the wrong type for such a bytecode and any bytecode instruction sequences in the specified program that would cause underflow or overflow of the operand stack. If the program verifier finds any instructions that violate predefined stack usage and data type usage restrictions, execution of the program by the interpreter is prevented. After pre-processing of the program by the verifier, if no program faults were found, the interpreter executes the program without performing operand stack overflow and underflow checks and without performing data type checks on operands stored in operand stack. As a result, program execution speed is greatly improved.Type: GrantFiled: December 20, 1995Date of Patent: April 14, 1998Assignee: Sun Microsystems, Inc.Inventors: Frank Yellin, James A. Gosling