US Patent No: 6,118,940

Number of patents in Portfolio can not be more than 2000

Method and apparatus for benchmarking byte code sequences

Stats

ATTORNEY / AGENT: (SPONSORED)
 

Importance

Loading Importance Indicators... loading....

Abstract

Method and apparatus for creating benchmark programs for the analysis of java virtual machine implementations are implemented. Java applications and applets are compiled into an intermediate code referred to as byte code. The Java byte code forms the machine code for the Java Virtual Machine. The Java Virtual Machine running on top of a hardware platform translates the byte code into native machine code for execution on the hardware platform on which the Java Virtual Machine is running. The performance of a Java Virtual Machine is improved by the use of a so-called "just in time" (JIT) compiler that translates commonly occurring sequences of bytes codes in the native instruction sequences which are then stored for later execution. Critical to the performance of the JIT is the ability of the JIT to optimally compile for the most commonly occurring sequences of byte codes. The method and apparatus for creating benchmark programs provides a means for performance measurements with respect to such sequences.

Loading the Abstract Image... loading....

First Claim

Related Publications

Loading Related Publications... loading....

Patent Owner(s)

Patent OwnerAddressTotal Patents
INTERNATIONAL BUSINESS MACHINES CORPORATIONARMONK, NY68180

International Classification(s)

  • [Classification Symbol]
  • [Patents Count]

Inventor(s)

Inventor Name Address # of filed Patents Total Citations
Alexander, III William Preston Austin, TX 15 601
Berry, Robert Francis Romsey, GB 44 1208
Hussain, Riaz Austin, TX 1 92
Kilpatrick, Paul Jerome Austin, TX 2 124
Urquhart, Robert John Austin, TX 122 1223

Cited Art

Patent Info (Count) # Cites Year
 
INTERNATIONAL BUSINESS MACHINES CORPORATION (5)
5,355,460 In-memory preprocessor for compounding a sequence of instructions for parallel computer system execution 94 1993
5,502,826 System and method for obtaining parallel existing instructions in a particular data processing configuration by compounding instructions 34 1994
5,459,844 Predecode instruction compounding 35 1994
5,687,343 Product for global updating modified data object represented in concatenated multiple virtual space by segment mapping 77 1995
5,905,895 Method and system for optimizing non-native bytecodes before bytecode interpretation 33 1997
 
SUN MICROSYSTEMS, INC. (4)
5,668,999 System and method for pre-verification of stack usage in bytecode program loops 86 1994
5,748,964 Bytecode program interpreter apparatus and method with pre-verification of data type restrictions 55 1994
5,615,357 System and method for verifying processor performance 40 1994
5,740,441 Bytecode program interpreter apparatus and method with pre-verification of data type restrictions and object initialization 110 1995
 
LUCENT TECHNOLOGIES INC. (2)
5,699,507 Method of identifying similarities in code segments 26 1995
5,909,577 Determining dynamic properties of programs 11 1995
 
APPLE INC. (1)
5,860,008 Method and apparatus for decompiling a compiled interpretive code 13 1996
 
GOOGLE INC. (1)
5,819,066 Application and method for benchmarking a database server 81 1996
 
INTEGRITY SYSTEMS, INC. (1)
5,465,258 Binary image performance evaluation tool 42 1993
 
INTERNATIONAL COMPUTERS LIMITED (1)
5,347,647 Method of predicting the performance of an emulated computer system 30 1991
 
MICROSOFT CORPORATION (1)
5,768,593 Dynamic cross-compilation system and method 115 1996
 
PARASOFT CORPORATION (1)
5,784,553 Method and system for generating a computer program test suite using dynamic symbolic execution of JAVA programs 129 1997
 
SIEMENS CORPORATION;INTELLECTUAL PROPERTY DEPARTMENT (1)
5,913,023 Method for automated generation of tests for software 34 1997
 
UNISYS CORPORATION (1)
5,956,510 Apparatus and method for revising computer program code 22 1996

Patent Citation Ranking

Forward Cites

Patent Info (Count) # Cites Year
 
INTERNATIONAL BUSINESS MACHINES CORPORATION (38)
6,324,688 Method and apparatus for optimizing execution of Java programs 14 1998
6,295,638 Method and apparatus for loading native object code in data processing system 33 1998
6,637,025 Dynamic selection/definition of which class/methods should or should not be jit'ed using information stored in a jar file 12 1998
6,442,558 Mechanisms for division, storage, reconstruction, generation, and delivery of java class files 19 1998
6,336,213 Method and apparatus for dynamic selection of which bytecodes should be just in time compiled 19 1998
6,738,778 Method and apparatus for monitoring the execution of a program 10 1998
6,549,216 Preserving, emulating, and manipulating user interaction event timing 13 1999
6,532,023 Recording selected applet events of a user interaction sequence 35 1999
6,546,550 Method to determine dynamic compilation time and to select bytecode execution mode 10 2000
7,574,740 Method and system for intrusion detection in a computer network 15 2000
7,162,649 Method and apparatus for network assessment and authentication 34 2000
7,093,239 Computer immune system and method for detecting unwanted code in a computer system 72 2000
7,178,166 Vulnerability assessment and authentication of a computer by a local scanner 103 2000
7,130,466 System and method for compiling images from a database and comparing the compiled images with known images 9 2000
7,921,459 System and method for managing security events on a network 6 2001
6,813,764 Compiler generation of instruction sequences for unresolved storage references 7 2001
7,237,264 System and method for preventing network misuse 38 2001
7,146,305 Analytical virtual machine 29 2001
6,961,769 Method, apparatus, and program for measuring server performance using multiple clients 12 2001
7,110,991 IDE integration with JDBC 4 2002
7,370,360 Computer immune system and method for detecting unwanted code in a P-code or partially compiled native-code program executing within a virtual machine 33 2002
7,673,137 System and method for the managed security control of processes on a computer system 2 2003
7,089,544 Just in time compilation of java software methods 9 2003
7,913,303 Method and system for dynamically protecting a computer system from attack 6 2003
7,647,581 Evaluating java objects across different virtual machine vendors 0 2004
7,657,938 Method and system for protecting computer networks by altering unwanted network data traffic 0 2004
7,568,190 Late binding of optimization information for just in time compilation 3 2005
7,854,004 Computer immune system and method for detecting unwanted code in a computer system 2 2005
7,634,800 Method and apparatus for network assessment and authentication 21 2006
7,934,254 Method and apparatus for providing network and computer system security 3 2006
7,499,590 System and method for compiling images from a database and comparing the compiled images with known images 4 2006
7,657,419 Analytical virtual machine 11 2006
8,006,243 Method and apparatus for remote installation of network drivers and software 0 2006
7,712,138 Method and system for configuring and scheduling security audits of a computer network 5 2007
7,565,549 System and method for the managed security control of processes on a computer system 1 2007
7,770,225 Method and apparatus for auditing network security 0 2008
7,996,824 Benchmark synthesis using workload statistics 0 2008
8,321,851 Determining compiler efficiency 2009
 
SAP AG (18)
7,568,196 Initializing virtual machine that subsequently executes application 3 2002
7,941,521 Multi-service management architecture employed within a clustered node configuration 0 2003
7,895,580 Application tracing service employing different levels of precision for modifying bytecode 0 2003
7,836,438 Modified classfile registration with a dispatch unit that is responsible for dispatching invocations during runtime execution of modified bytecode 0 2003
7,822,826 Deployment of a web service 4 2003
7,756,968 Method and system for employing a hierarchical monitor tree for monitoring system resources in a data processing environment 2 2003
7,743,367 Registration method for supporting bytecode modification 1 2003
7,725,572 Notification architecture and method employed within a clustered node configuration 3 2003
7,707,557 Execution of modified byte code for debugging, testing and/or monitoring of object oriented software 4 2003
7,644,395 System and method employing bytecode modification techniques for tracing services within an application server 7 2003
7,577,731 System and method for monitoring program code 2 2003
7,506,315 System and method combining application tracing and distributed statistical records 15 2003
7,426,723 Classfile conversion into an organization of objects, and modification thereof, to effect bytecode modification 10 2003
7,367,025 Byte code modification for testing, debugging and/or monitoring of virtual machine based software 11 2003
7,721,266 Unified logging service with a logging formatter 1 2004
7,526,550 Unified logging service with a log viewer 0 2004
7,546,598 Measuring software system performance using benchmarks 9 2004
7,810,075 Common trace files 2 2005
 
SUN MICROSYSTEMS, INC. (14)
6,513,156 Interpreting functions utilizing a hybrid of virtual and native machine instructions 32 1997
6,591,416 Interpreting functions utilizing a hybrid of virtual and native machine instructions 6 2000
6,996,813 Frameworks for loading and execution of object-based programs 5 2000
7,096,466 Loading attribute for partial loading of class files into virtual machines 2 2001
7,543,288 Reduced instruction set for Java virtual machines 0 2001
6,957,428 Enhanced virtual machine instructions 2 2001
7,137,123 Inline database for receiver types in object-oriented systems 4 2001
7,228,533 Frameworks for generation of Java macro instructions for performing programming loops 1 2001
7,058,934 Frameworks for generation of Java macro instructions for instantiating Java objects 1 2001
7,039,904 Frameworks for generation of Java macro instructions for storing values into local variables 2 2001
6,988,261 Frameworks for generation of Java macro instructions in Java computing environments 10 2001
6,910,205 Interpreting functions utilizing a hybrid of virtual and native machine instructions 5 2002
7,421,687 Optimizing branch condition expressions in a JIT compiler 0 2004
8,387,036 Method and system for execution profiling using loop count variance 0 2010
 
NAZOMI COMMUNICATIONS, INC. (4)
7,225,436 Java hardware accelerator using microcode engine 5 2000
6,826,749 Java hardware accelerator using thread manager 18 2001
7,080,362 Java virtual machine hardware for RISC and CISC processors 8 2001
8,185,882 Java virtual machine hardware for RISC and CISC processors 0 2006
 
MICROSOFT CORPORATION (3)
7,032,214 Performance markers to measure performance of features in a program 8 2000
6,873,934 Performance markers to measure benchmark timing of features in a program 5 2000
6,754,612 Performance markers to measure benchmark timing of a plurality of standard features in an application program 14 2000
 
OPNET TECHNOLOGIES, INC. (3)
6,968,540 Software instrumentation method and apparatus 37 2001
7,076,695 System and methods for adaptive threshold determination for performance metrics 58 2002
7,219,034 System and methods for display of time-series data distribution 8 2002
 
THE MATHWORKS, INC. (2)
6,973,644 Program interpreter 4 2002
7,725,883 Program interpreter 0 2005
 
VERIZON BUSINESS GLOBAL LLC (2)
6,714,978 Method and system for processing records in a communications network 5 1999
7,356,806 Method and system for processing records of events during use of a communications system 1 2004
 
ARM LIMITED (1)
7,076,771 Instruction interpretation within a data processing system 0 2000
 
CADENCE DESIGN SYSTEMS, INC. (1)
7,007,270 Statistically based estimate of embedded software execution time 21 2001
 
FUJITSU LIMITED (1)
8,332,845 Compile timing based on execution frequency of a procedure 0 2006
 
GOOGLE INC. (1)
7,257,516 Method, apparatus, and program for eliminating thread skew in multithreaded performance benchmarks 2 2001
 
HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P. (1)
7,818,746 System and method for benchmarking using a multi-threaded load generator 0 2005
 
KASPERSKY LAB, ZAO (1)
8,117,602 Method and system for monitoring execution performance of software program product 1 2008
 
ORACLE AMERICA, INC. (1)
7,941,802 Reduced instruction set for java virtual machines 0 2006
 
TREND MICRO INCORPORATED (1)
7,340,776 Method and system for configuring and scheduling security audits of a computer network 22 2002