Bytecode (e.g., Java) Patents (Class 717/118)
  • Patent number: 7412704
    Abstract: A source chain is generated for use in a development project, and cached when it is not currently required in the development project.
    Type: Grant
    Filed: November 16, 2005
    Date of Patent: August 12, 2008
    Assignee: Microsoft Corporation
    Inventors: Daniel J. Miller, Eric H. Rudolph
  • Patent number: 7412690
    Abstract: A data dictionary is provided that specifies the entities and corresponding attributes for the application program interface developers to use. An extensible markup language interface is provided for customers to perform operations on the data. Application program interfaces receive extensible markup language requests and generate extensible markup language response documents that may return data from the database. A set of classes is also provided that correspond to the entities that are defined in the data dictionary. These classes define utility methods for use in retrieving data. The application program interface then appends the returned response object at the depth necessary in order to generate an extensible markup language document.
    Type: Grant
    Filed: July 2, 2003
    Date of Patent: August 12, 2008
    Assignee: International Business Machines Corporation
    Inventor: Fabian F. Morgan
  • Patent number: 7406687
    Abstract: A computer implemented process for making a bytecode of a method sharable by a first class loader and a second class loader is provided. The first class loader and the second class loader are capable of dynamically loading a class having a class file, and translating the class file into first and second class types, respectively. The process includes dividing a runtime representation of the first class type into first loader independent and first loader dependent parts and determining whether a runtime representation of the second class type can use the first loader independent part. If the first loader independent part can be used by the runtime representation of the second class type, the process includes generating a second loader dependent part using the first loader independent part. Further included is performing a loader re-entrant interpretation of a bytecode of the method if the method is invoked.
    Type: Grant
    Filed: March 17, 2004
    Date of Patent: July 29, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Laurent Daynes, Grzegorz Czajkowski
  • Publication number: 20080163168
    Abstract: Embodiments of the invention provide a framework for pre-processing Javascript files. In some embodiments, the framework includes a pre-processor component operable to determine whether pre-release Javascript file versions include pre-processing commands in a predefined syntax which is defined by the framework. The pre-processor component may maintain a mapping between any or all of these commands and one or more handler programs, such that the handler program(s) may be invoked to perform any of various pre-processing functions on a pre-release file version. The framework may be extensible and scalable in that it may accommodate the addition of or modification to any number of handler programs. A new handler program may be developed and invoked, for example, via a new pre-processing command which is defined to the pre-processor component and mapped to the handler program.
    Type: Application
    Filed: January 3, 2007
    Publication date: July 3, 2008
    Applicant: Microsoft Corporation
    Inventor: Tao Huang
  • Patent number: 7386562
    Abstract: A generic product finder system that provides the capability of managing and performing searches on configurable products in a J2EE application. The generic product finder system includes a manager component for performing searches in response to a search query; a product component for persisting a plurality of product information and interacting with the manger component in conducting searches of the product information; a product metadata component that interacts with the manager component for defining a product; and a search configuration component that interacts with the manager component for constructing a set of search rules in a product search configuration. Internally, the product finder system represents products with a specification divided into parameters representing characteristics and optional attributes. This specification exists in a generic state by the use of Java objects. Multiple product specifications may co-exist and their information is persisted by the use of entity beans.
    Type: Grant
    Filed: November 25, 2003
    Date of Patent: June 10, 2008
    Assignee: ABB Technology AG
    Inventor: Thomas Edwin Long
  • Patent number: 7386836
    Abstract: Techniques are disclosed for concurrently maintaining serialized objects that were created from more than one version of a class definition. According to preferred embodiments, a component maps and enforces multiple valid stream-unique version identifiers (“SUIDs”) for a collection of class definitions (such as the classes of a software product that is undergoing change from one version to another). This component programmatically detects when an object's SUID value does not match the code attempting to deserialize the object, and then programmatically determines whether the object is compatible with the code even though the SUID values do not match. Preferably, this determination is made by consulting a stored mapping, in which the SUIDs of compatible versions have been recorded.
    Type: Grant
    Filed: June 9, 2003
    Date of Patent: June 10, 2008
    Assignee: International Business Machines Corporation
    Inventors: James E. Fox, Jordan T. Liggitt, Erich S. Magee, Robert C. Sizemore
  • Patent number: 7383443
    Abstract: A technique for obfuscating code. A list of one-byte instructions for a particular processor is created. Bytes in a function to be obfuscated are randomly selected, and these bytes are replaced with one-byte instructions from the list. A table that identifies the replaced bytes and their original values is inserted into the executable that contains the function. When the function is called, the function is deobfuscated by consulting the table to restore the replaced bytes to their original values.
    Type: Grant
    Filed: June 27, 2002
    Date of Patent: June 3, 2008
    Assignee: Microsoft Corporation
    Inventors: Pavel Zeman, Michael D. Marr
  • Publication number: 20080127072
    Abstract: In general, in one aspect, the invention relates to a computer readable medium comprising executable instructions for verifying generation of an intermediate representation (IR). The generation of the IR is verified by generating the IR from source code and interpreting the IR to obtain an interpretation result. Interpreting the IR includes encountering a method call in the IR, locating an execution unit corresponding to the method call, executing the execution unit to obtain an execution result, replacing a portion of the IR with the execution result to obtain a reduced IR, and obtaining the interpretation result from the reduced IR. Finally, the interpretation result is compared to an expected result of the source code, wherein the generation of the IR is verified if the interpretation result equals the expected result.
    Type: Application
    Filed: September 7, 2006
    Publication date: May 29, 2008
    Applicant: Sun Microsystems, Inc.
    Inventors: Bernd J.W. Mathiske, David M. Ungar, Mario I. Wolczko, Gregory M. Wright, Matthew L. Seidl
  • Patent number: 7367025
    Abstract: A method is disclosed that comprises modifying a method's byte code instructions for purposes of testing, debugging and/or monitoring. Additional byte code instructions are inserted into the method's byte code instructions at an entry point of the method and at an exit point of the method. The first additional byte code instruction causes a first output function to be executed for the method as a consequence of the entry point being reached during runtime. The second additional byte code instruction causes a second output function to be executed for the method as a consequence of the exit point being reached during runtime. The Application of the method to Distributed Statistical Record (DSR) keeping is also disclosed.
    Type: Grant
    Filed: December 30, 2003
    Date of Patent: April 29, 2008
    Assignee: SAP AG
    Inventors: Nikolai G. Nikolov, Mario Kabadiyski
  • Publication number: 20080082965
    Abstract: Globalization functionalities for JavaScript applications are provided by asynchronously invoking globalization Web services related to specific JavaScript applications that are developed using asynchronous JavaScript and XML (Ajax) technology. A result of the asynchronous invocation is processed to obtain the corresponding globalization functionality. A client-side component invokes the globalization Web services by creating a SOAP request including specific parameters in passing that request to a server-side component. The server side component creates a result that is passed back to the client side component.
    Type: Application
    Filed: September 17, 2007
    Publication date: April 3, 2008
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Steven Edward Atkin, Bei Shu, Chun Jie Tong, Xiao Hui Zhu
  • Patent number: 7337318
    Abstract: A method and apparatus for preventing rogue implementations of a security-sensitive class interface are provided. With the method and apparatus, a unique identifier (UID) is created by a server process when the server process is started. Anytime the server process, i.e. a server runtime environment, instantiates a new credential object following start-up of the server process, the encrypted UID is placed into a private field within the new credential object. In addition, the UID is encrypted and stored in a private class of the server runtime environment. A verification class is provided within the server runtime environment which includes one or more methods that receive the credential object as a parameter and return true or false as to the validity of the credential object.
    Type: Grant
    Filed: February 27, 2003
    Date of Patent: February 26, 2008
    Assignee: International Business Machines Corporation
    Inventors: Peter Daniel Birk, Ching-Yun Chao, Hyen Vui Chung
  • Patent number: 7334136
    Abstract: A system for executing a software application comprising a plurality of hardware independent bytecodes is provided comprising a computing system that generates bytecodes, a virtual machine, remote to the computing system, that receives a plurality of bytecodes from said computing system, and executes said plurality of bytecodes, a system for testing said bytecodes against a set of predetermined criteria in which the testing is securely distributed between said virtual machine and said computing system so that the bytecode verification completed by the computing system is authenticated by the virtual machine prior to the execution of the bytecodes by said virtual machine. A method for distributed bytecode verification is also provided.
    Type: Grant
    Filed: September 16, 2003
    Date of Patent: February 19, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Moshe Levy, Judy Schwabe
  • Patent number: 7322022
    Abstract: A method for automatically generating code for converting data from stored procedures to an XML format is performed by a wizard with which a client interfaces. The wizard receives a selection of a stored procedure, determines an output data format for the selected stored procedure, obtains a definition of an XML document which contains which portions of the output data format to include in the XML document, and generates code for a wrapper. The wrapper would call the stored procedure and generate the defined XML document. The XML document is then returned by the wrapper. In this manner, the code for converting data to the XML format need not be manually generated. The data also need not be manually converted to the XML format.
    Type: Grant
    Filed: September 5, 2002
    Date of Patent: January 22, 2008
    Assignee: International Business Machines Corporation
    Inventors: Abdul Al-Azzawe, Steffen Siegmund
  • Patent number: 7320129
    Abstract: The present invention includes a native language verification method for verifying native language information associated with an emulation class. Verification information associated with native language code is obtained. The native language code is referred to by an emulation language class. The legitimacy of the verification information is examined to confirm the native language is uncorrupted.
    Type: Grant
    Filed: May 14, 2003
    Date of Patent: January 15, 2008
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Vanish Talwar, Dongni Chen
  • Patent number: 7316004
    Abstract: Embodiments of the invention include a test case that is encapsulated defining its relationship with other such encapsulated test cases. An encapsulated test case may be explicitly associated with one or more parent test cases. Additionally, or alternatively, a test case embodying aspects of the present invention may be explicitly associated with one or more child test cases. Through such explicit relationships between test cases a complex hierarchical structure of test cases can be quickly and efficiently created. Further aspects of the invention, which may be incorporated in some embodiments, include an encapsulated test case which, when associated with other encapsulated test case, results in an explicit tree-like hierarchical structure of test cases being defined. In further embodiments of the present invention, a test case (encapsulated or conventional) may be associated with a test case association property.
    Type: Grant
    Filed: November 14, 2002
    Date of Patent: January 1, 2008
    Assignee: International Business Machines Corporation
    Inventors: Harm Sluiman, L. Marcelo Paternostro
  • Patent number: 7296262
    Abstract: A data processing system, method, and computer program product are disclosed for generating a generic compilation interface from a first object-oriented software package. All public classes included in the object-oriented software package are identified. For each of the public classes, all public entities included in each of the public classes are identified. All references to software defined in a second software package are removed from the public entities. An equivalent public class is then generated for each of the identified public classes. Each equivalent public class includes equivalent public entities that include no references to software defined in the second package. Each of the equivalent public classes is compiled. A compilation interface is generated for the object-oriented software package. The compilation interface includes each of the compiled equivalent public classes.
    Type: Grant
    Filed: January 7, 2002
    Date of Patent: November 13, 2007
    Assignee: International Business Machines Corporation
    Inventor: Scott J. Broussard
  • Publication number: 20070245328
    Abstract: A method of calling a method in a virtual machine environment is provided. The method includes reading a command of a first method; storing an address of the command code in predetermined memory space if the command is a command that calls a second method; changing an address of previously-compiled code of the second method and writing the address in the stored address; and directly branching to the address of newly-compiled code of the second method and calling the second method if the first method is performed.
    Type: Application
    Filed: January 8, 2007
    Publication date: October 18, 2007
    Applicant: SAMSUNG ELECTRONICS CO., LTD.
    Inventor: Sang-gyu Lee
  • Patent number: 7281242
    Abstract: Code can be injected into a compiled application through the use of probes comprised of instrumentation code. Probes can be implemented in a custom high level language that hides low level instruction details. A directive file contains instructions on injecting a probe into a compiled application. An instrumentation engine reads these instructions and injects the probe into the compiled application at the appropriate injection points. Multiple probes can be used, and can be stored in a probe library. Each probe can inject code into the application at, for example, a package, class, method, or line of the compiled application. Calls can also be made to external runtime libraries.
    Type: Grant
    Filed: November 4, 2002
    Date of Patent: October 9, 2007
    Assignee: BEA Systems, Inc.
    Inventor: Rajendra Inamdar
  • Patent number: 7266808
    Abstract: A method and system for dynamically invoking and/or checking conditions of a computer test program. Test cases that verify class/component functionality are automatically created from the DbC contracts. When the classes/components that contain DbC contracts are added to the system, the invention automatically verifies whether the system uses them correctly. The information in the contract continents is used to generate more comprehensive and better quality test cases. In one embodiment, a code's specification information is analyzed and a class with extra bytecodes that describe how the class is supposed to work and be used is generated. Next, the instrumented class is integrated into the system, and the system is run. The system is monitored as it runs and contract violations are automatically detected.
    Type: Grant
    Filed: August 6, 2002
    Date of Patent: September 4, 2007
    Assignee: Parasoft Corporation
    Inventors: Adam Kolawa, Roman Salvador
  • Patent number: 7266810
    Abstract: A system and method for profiling the runtime environment of a software application written in a platform-independent (e.g. platform neutral) programming language. Such a software application can invoke a non-application-code component to facilitate the functioning of the software application. The profiling tool and method can generate runtime profiles relating to both the software application and the non-application-code component invoked by the software application.
    Type: Grant
    Filed: April 9, 2002
    Date of Patent: September 4, 2007
    Assignee: Hewlett-Packard Development Company, LP.
    Inventors: Ashish Karkare, Ryan Mathus, Alex Tsariounov, Amir Afghani
  • Publication number: 20070204258
    Abstract: Provided is a method of invoking an inlined method and a Java virtual machine using the method. The method includes, when a first method is invoked, generating a frame comprising information that is needed for execution of the first method, and, when a second method that satisfies a predetermined condition is invoked, executing the second method using the frame.
    Type: Application
    Filed: January 12, 2007
    Publication date: August 30, 2007
    Applicant: SAMSUNG ELECTRONICS CO., LTD.
    Inventor: Seung-bum Chung
  • Patent number: 7263686
    Abstract: A system and method for composing, configuring, deploying, and managing services in a data processing system and data processing system network. This system provides a means for application infrastructure services to insert specific programming code in the generated code. When code generator starts, it also loads the plugs for the infrastructure services being used by the container. The code generator creates XML documents for all the code that it wants to generate. It then invokes the infrastructure service plugs and provides them an opportunity to add code specific to them by passing the XML documents representing the code to be generated. Once all the plugs have added their code, the code generator converts the XML documents back into either language specific code or configuration code, as necessary.
    Type: Grant
    Filed: April 4, 2003
    Date of Patent: August 28, 2007
    Assignee: Electronic Data Systems Corporation
    Inventor: Waqar Sadiq
  • Patent number: 7263693
    Abstract: The present invention is a new method and apparatus to perform combined compilation and verification of platform independent bytecode instruction listings into optimized machine code. More specifically, the present invention creates a new method and apparatus in which bytecode compilation instructions are combined with bytecode verification instructions, producing optimized machine code on the target system in fewer programming steps than traditionally known. The new method, by combining the steps required for traditional bytecode verification and compilation, increases speed and applicability of platform independent bytecode instructions.
    Type: Grant
    Filed: November 17, 2004
    Date of Patent: August 28, 2007
    Assignee: Esmertec AG
    Inventor: Beat Heeb
  • Patent number: 7263722
    Abstract: Three new obfuscation techniques. Data field obfuscation replaces references to data fields that use an object name and a field name with references that use an object name but do not use a field name. Obfuscation using the reflection mechanism for the executable code works by replacing a construct in the executable code with one or more equivalent constructs made using the reflection mechanism. Obfuscation of externally-defined constructs is done by relating the externally-defined construct to an obfuscation for the construct that is used within the executable code. The relationship is defined in a portion of the executable code, and at least the externally-fined construct is encrypted in the portion. The various obfuscation techniques may be used with each other or with other previously-known obfuscation techniques. The disclosed obfuscation techniques are particularly well-adapted for use with the byte codes produced by Java language compilers from Java language programs.
    Type: Grant
    Filed: May 12, 2000
    Date of Patent: August 28, 2007
    Assignee: Fraunhofer CRCG, Inc.
    Inventors: Chenghui Luo, Jian Zhao
  • Patent number: 7249344
    Abstract: A financial institution can provide financial services to a plurality of remote devices, such as personal computers, personal data assistants, screen phones, automatic teller machines, external service providers, and internally to staff terminals and individual branches. By separating the components of the system into independent components, the system and method can be developed and tested on a component level rather than the entire system level, thereby reducing the development and maintenance cycle time. The system and method operate in sessions and can employ a dialog component for gathering information from a customer, a rule broker component for providing answers to the various legal and regulatory rules in a particular country, a language man component for selecting appropriate language, a transaction executor component for performing transactions, and a presentation manager component for formatting outputs to the customer.
    Type: Grant
    Filed: June 1, 1999
    Date of Patent: July 24, 2007
    Assignee: Citicorp Development Center, Inc.
    Inventors: James Zeanah, Charles Abbott, Nik Boyd, Albert Cohen, James Cook, Michael Grandcolas, Sikhun Lan, Bonnie Lindsley, Grigor Markarian, Leslie Moss
  • Publication number: 20070162901
    Abstract: An operating system switching device includes an input unit which supplies a selection signal corresponding to one or more operating systems selected from a plurality of operating systems, and a virtual machine creating unit which creates one or more virtual machines that correspond to the selected operating systems and boots the corresponding selected operating systems. The virtual machine creating unit includes an extensible firmware interface.
    Type: Application
    Filed: December 28, 2006
    Publication date: July 12, 2007
    Applicant: Samsung Electronics Co., Ltd.
    Inventor: Yoon-hwan Oh
  • Patent number: 7243336
    Abstract: A system and method that allows an administrator to provide application extensions in a platform-neutral shell environment is provided. The administrator defines a graphical interface, such as an icon, used to launch the platform dependent software application. The administrator centrally manages the application extensions by defining the extension and including the extension definition in self-contained desktops. The administrator defines the executables and directories used to launch the corresponding application. The administrator selects desktop components, including application extensions, needed for a particular job role and packages the components into the self-contained desktop package file. The desktop packages and included application extensions are received and loaded on a platform-neutral desktop shell application. The shell application exists in a platform-neutral environment such as a Java virtual machine.
    Type: Grant
    Filed: December 17, 2002
    Date of Patent: July 10, 2007
    Assignee: International Business Machines Corporation
    Inventors: Brandon Brockway, Michael Richard Cooper, Stephen Todd Pride, Janet Lynn Stashluk
  • Patent number: 7237237
    Abstract: A method for controlling disposition of a candidate object in an object-oriented programming environment is disclosed. The method may include the step of determining the number of cyclic paths that include the candidate object in the object-oriented programming environment. The method may also include the step of determining a number of internal references to the candidate object. The internal references are references from other objects in the object-oriented programming environment. The method may control the disposition of the candidate object on the basis of a predetermined relationship between the number of the internal references and the number of the cyclic paths.
    Type: Grant
    Filed: July 24, 2001
    Date of Patent: June 26, 2007
    Assignee: The Mathworks, Inc.
    Inventor: David A. Foti
  • Patent number: 7228266
    Abstract: Techniques are described for emulating an instruction processor for use during the development of a computer system. Specifically, the techniques describe an emulated instruction processor that accurately and efficiently emulates an instruction processor having separate interfaces to fetch op-codes and operands. Further, the emulated instruction processor may provide detection of errors associated with the separate interfaces. By making use of the techniques described herein, detailed information relating to errors associated with the memory architecture may be gathered for use in verifying components within the memory architecture, such as first and second-level caches.
    Type: Grant
    Filed: December 5, 2003
    Date of Patent: June 5, 2007
    Assignee: Unisys Corporation
    Inventors: Jason D. Sollom, James A. Williams
  • Patent number: 7228533
    Abstract: Techniques for generation of Java macro instructions suitable for use in Java computing environments are disclosed. As such, the techniques can be implemented in a Java virtual machine to efficiently execute Java instructions. As will be appreciated, a Java macro instruction can be substituted for two or more Java Bytecode instructions. This, in turn, reduces the number of Java instructions that are executed by the interpreter. As a result, the performance of virtual machines, especially those operating with limited resources, is improved. A Java macro instruction can be generated for conventional Java instruction sequences or sequences of Java instruction that are provided in a reduced set of instruction. In any case, sequences that are frequently encountered can be replaced by a Java macro instruction. These sequences are typically encountered when Java objects are instantiated, during programming loops, and when a local variables are assigned a value.
    Type: Grant
    Filed: August 24, 2001
    Date of Patent: June 5, 2007
    Assignee: Sun Microsystems, Inc.
    Inventor: Stepan Sokolov
  • Patent number: 7225436
    Abstract: A hardware Java™ accelerator is comprised of a decode stage and a microcode stage. Separating into the decode and microcode stage allows the decode stage to implement instruction level parallelism while the microcode stage allows the conversion of a single Java™ bytecode into multiple native instructions. A reissue buffer is provided which stores the converted instructions and reissues them when the system returns from an interrupt. In this manner, the hardware accelerator need not be flushed upon an interrupt A native PC monitor is also used. While the native PC is within a specific range, the hardware accelerator is enabled to convert the Java™ bytecodes into native instructions. When the native PC is outside the range, the hardware accelerator is disabled and the CPU operates on native instructions obtained from the memory.
    Type: Grant
    Filed: October 13, 2000
    Date of Patent: May 29, 2007
    Assignee: Nazomi Communications Inc.
    Inventor: Mukesh K. Patel
  • Patent number: 7222333
    Abstract: Techniques for forming an application from a particular file that has source code in a particular language include receiving, from the particular file, comment data. The comment data is ignored according to the particular language. The comment data includes build data indicating how to use the source code in a build process. The build process packages compiled code to form the application. Based on the build data in the comment data, build-input data is generated. The build-input data indicates input for the build process. These techniques automatically provide, for the application build process, build information known to the application developer who produced the source code.
    Type: Grant
    Filed: October 15, 2001
    Date of Patent: May 22, 2007
    Assignee: Cisco Technology, Inc.
    Inventors: Yishay Mor, Gadi Berman
  • Patent number: 7222336
    Abstract: A method of compiling byte code into native code disclosed together with a server (100) and a receiving terminal (101) for the same. The method comprises the steps of transmitting byte code files containing byte code from a server to a receiving terminal; transmitting grouping information relating to the grouping of byte code files to the receiving terminal; and compiling byte code files received at the receiving terminal to native code. The byte code files are selected for compilation as a function of the grouping of byte code files.
    Type: Grant
    Filed: September 20, 2002
    Date of Patent: May 22, 2007
    Assignee: NXP B.V.
    Inventor: Ian Willis
  • Patent number: 7219331
    Abstract: A Lightweight component is made focus traversable by creating a pseudo native windowing system widget for each and every Lightweight component. This pseudo native widget has no geometry associated with it and does no rendering of the component since rendering of Lightweight components is done in Java. The pseudo native widget lives on the native windowing system's list of widgets and occupies a real estate thereby causing the native windowing system to attach a native structure with each and every Lightweight component, thus giving the windowing system accessibility to the Lightweight components. Since the pseudo native widgets are on the list of regular widgets, focus navigation for Lightweights become consistent with regular windowing system widgets, making the Lightweight components visible to all focus navigation events.
    Type: Grant
    Filed: March 14, 2001
    Date of Patent: May 15, 2007
    Assignee: Sun Microsystems, Inc.
    Inventor: Kuldipsingh Pabla
  • Patent number: 7210121
    Abstract: A method for camouflaging a non-native application as a native application of a device is provided. The method includes generating a native code wrapper in a device dependent native code to handle a communication between a native operating system and the non-native application. The method further includes applying the native code wrapper to the non-native application generating a wrapped non-native application. The non-native application remains intact while in contact with the native code wrapper.
    Type: Grant
    Filed: June 9, 2003
    Date of Patent: April 24, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Bing Xia, Singyun Brian Chu
  • Patent number: 7197750
    Abstract: Improved techniques for determining Java hashcode values for Java objects are disclosed. The techniques can be implemented to use a new Java Bytecode instruction which is suitable for execution by a Java virtual machine. As such, the new Java Bytecode instruction can be executed to determine Java hashcode value. Moreover, as will be appreciated, the Java hashcode values can be determined without invoking the Java method which is conventionally used to determine hashcode values. This means that the costly overhead associated with repeatedly invoking Java methods is avoided. In other words, operations that are conventionally performed each time this method is invoked need not be performed. As a result, the performance of virtual machines, especially those operating with limited resources (e.g., embedded systems), can be improved.
    Type: Grant
    Filed: June 28, 2001
    Date of Patent: March 27, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: David Wallman, Stepan Sokolov
  • Patent number: 7181724
    Abstract: Improved techniques for representation of Java data types in virtual machines are disclosed. The techniques can be implemented to represent signatures of Java methods as arrays of references. Each of the references in an array can represent a parameter for a Java method. Accordingly, a signature can be represented as an array of references, wherein each reference in the array can reference a Java type indicator or an internal class representation. The Java type indicator represents a Java primitive type (e.g., byte, integer, double, etc.) The internal class representation is typically the representation of a Java class as represented in a virtual machine. As will be appreciated, an array organization allows for more efficient access to information. Thus, unlike conventional techniques, there is no need to start at the beginning of the signature and sequentially read it to find a particular parameter's data type.
    Type: Grant
    Filed: June 20, 2001
    Date of Patent: February 20, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Stepan Sokolov, David Wallman
  • Patent number: 7181725
    Abstract: In a method for verifying the safety properties of Java byte code programs, the functioning of the byte code program to be verified is modeled on a finite state transition system M, and the state space of the Java Virtual Machine (JVM) on a finite set of states in M. Once entered into a model checker, the data of finite state transition system M are compared to the data entered in the model checker as conditional set S to determine properties characterizing an acceptable byte code program. The byte code program to be checked is released for further processing only when the state transition system M fulfills all conditions of conditional set S.
    Type: Grant
    Filed: June 25, 1999
    Date of Patent: February 20, 2007
    Assignee: Deutsche Telekom AG
    Inventors: Joachim Posegga, Harald Vogt
  • Patent number: 7181732
    Abstract: One embodiment of the present invention provides a system for type tagging values in a compiled activation frame in a lazy manner to facilitate garbage collection. This system operates in a mixed-mode environment that supports both interpretation of byte codes and execution of compiled native code. Upon receiving an invocation of a method, the system creates an activation frame for the method on the execution stack. If the method is executing in interpreted mode, the interpreter maintains a tag for each value in the activation frame during execution. The tag indicates whether the value is a reference type or a primitive type. However, if the method is executing in compiled mode, the system allocates space for tags for each value in the activation frame, but does not fill in the tags during execution. This allows the tags to be filled in at a future time when needed.
    Type: Grant
    Filed: April 12, 2002
    Date of Patent: February 20, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Lars Bak, Kasper V. Lund
  • Patent number: 7174354
    Abstract: A system and method for use with a virtual machine, including an adaptive, automated memory management process that takes decisions regarding which garbage collector technique should be used, based on information extracted from the currently active applications. Reinforcement learning is used to decide under which circumstances to invoke the garbage collecting processing. The learning task is specified by rewards and penalties that indirectly tell the RLS agent what it is supposed to do instead of telling it how to accomplish the task. The decision is based on information about the memory allocation behavior of currently running applications. Embodiments of the system can be applied to the task of intelligent memory management in virtual machines, such as the Java Virtual Machine (JVM).
    Type: Grant
    Filed: July 30, 2003
    Date of Patent: February 6, 2007
    Assignee: Bea Systems, Inc.
    Inventor: Eva Andreasson
  • Patent number: 7171412
    Abstract: A method for protecting data of a hierarchical operation includes obtaining a restricted access model data structure representing the hierarchical operation, wherein the restricted access model data structure comprises a first writer node and a second writer node, preventing the second writer node from writing data to a first data store, and preventing the first writer node from writing data to a second data store.
    Type: Grant
    Filed: October 7, 2002
    Date of Patent: January 30, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Alexandre S. Iline, Viktor V. Lapitski, Anatoli Fomenko
  • Patent number: 7171655
    Abstract: Verification of intermediate language code. In one embodiment, a computer-implemented method first verifies metadata of an intermediate language code for consistency and accuracy, and then verifying the intermediate language code for consistency and accuracy. This latter part in one embodiment is accomplished by performing first a syntactic check of the intermediate language code, and then a semantic check of the intermediate language code.
    Type: Grant
    Filed: February 19, 2003
    Date of Patent: January 30, 2007
    Assignee: Microsoft Corporation
    Inventors: Andrew Gordon, Donald Syme, Jonathon Forbes, Vance P. Morrison
  • Patent number: 7171650
    Abstract: A method for integrating a resource in a network includes receiving at a first adapter a command associated with a function to be performed by a resource. The method also includes receiving a first script associated with the command, and interpreting the first script to produce one or more first byte codes. The method further includes causing a second adapter to receive a second script. The second adapter is operable to interpret the second script into one or more second byte codes. In addition, the method includes executing the one or more first byte codes, and invoking execution of the one or more second byte codes at the second adapter. The execution of the byte codes at the first and second adapters is operable to invoke the function in and facilitate communication with the resource.
    Type: Grant
    Filed: August 23, 2002
    Date of Patent: January 30, 2007
    Assignee: SBC Properties, L.P.
    Inventors: Charles S. Fenton, Ryan P. Harris
  • Patent number: 7165243
    Abstract: A multi-lingual tag extension mechanism suitable for use with the JAVASERVER computer software Pages platform. Rather than creating a closure abstraction, the present invention “in-lines” a body evaluation for the tags. A doStart ( ) method processes a start tag and determines if a body needs to be evaluated. If so, a body evaluation buffer is passed to a doBody ( ) method for body evaluation. Once the body evaluation is complete, a doEnd ( ) method completes the processing by synchronizing the variables. The scripting details of the present invention match any nesting of the tag, so the at the structure corresponding to the original scripting is preserved. Furthermore, the present invention is not dependent on the specifics of the scripting language used to form the Web page.
    Type: Grant
    Filed: December 21, 1999
    Date of Patent: January 16, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Eduardo Pelegri-Llopart, Laurence P. G. Cable
  • Patent number: 7165239
    Abstract: An application program interface (API) provides a set of functions that make available support for processing XML documents for application developers who build Web applications on Microsoft Corporation's .NET™ platform.
    Type: Grant
    Filed: July 10, 2001
    Date of Patent: January 16, 2007
    Assignee: Microsoft Corporation
    Inventors: Anders Hejlsberg, Daniel Dedu-Constantin, Erik B. Christensen, Keith W. Ballinger, Mark W. Fussell, Neetu Rajpal, Nithyalakshmi Sampathkumar, Omri Gazitt, Stefan H. Pharies, William A. Adams, Yan Leshinsky, Chia-Hsun Chen, Christopher J. Lovett
  • Patent number: 7155703
    Abstract: Performing validation of a derived virtual method includes receiving program code where the derived virtual method is derived from a virtual method of the program language used to generate the program code, compiling the program code to an intermediate language expression, generating metadata descriptive of the compiled program code, validating the use of the derived virtual method by accessing the metadata, and permitting the use of the derived virtual method if the metadata grants override permissions concerning the virtual method of the programming language. The metadata indicating access and override permissions may be generated while compiling the program code in the common language infrastructure. Alternately, the flag may use pre-existing values indicative of the access and override permissions concerning the virtual method of the programming language.
    Type: Grant
    Filed: July 18, 2003
    Date of Patent: December 26, 2006
    Assignee: Microsoft Corporation
    Inventors: Erik Meijer, Craig T. Sinclair, James H. Hogg, Peter H. Golde, Serge Lidin, Christopher W. Brumme
  • Patent number: 7152070
    Abstract: A system and method is disclosed for integrating and accessing multiple data sources within a data warehouse architecture. The metadata formed by the present method provide a way to declaratively present domain specific knowledge, obtained by analyzing data sources, in a consistent and useable way. Four types of information are represented by the metadata: abstract concepts, databases, transformations and mappings. A mediator generator automatically generates data management computer code based on the metadata. The resulting code defines a translation library and a mediator class. The translation library provides a data representation for domain specific knowledge represented in a data warehouse, including “get” and “set” methods for attributes that call transformation methods and derive a value of an attribute if it is missing. The mediator class defines methods that take “distinguished” high-level objects as input and traverse their data structures and enter information into the data warehouse.
    Type: Grant
    Filed: January 7, 2000
    Date of Patent: December 19, 2006
    Assignee: The Regents of the University of California
    Inventors: Charles R. Musick, Terence Critchlow, Madhaven Ganesh, Tom Slezak, Krzysztof Fidelis
  • Patent number: 7150004
    Abstract: Methods, systems, and computer program products for programmatically serializing complex objects (such as JavaBeans™). In contrast to prior art techniques, a manually-specified data type mapping specification is not required as input to the serialization process. Instead, the present invention programmatically generates this type mapping, responsive to encountering run-time exceptions during the serialization process. The serialization process is therefore “self-healing”. This approach is especially advantageous when serializing complex objects that may include complex data types and/or embedded objects. The programmatically-generated type mapping information is preferably used to generate a serialized version of the complex object, and can also be used during deserialization. In addition to improving serialization techniques, this type mapping information facilitates dynamic integration and transformation of data between heterogeneous formats.
    Type: Grant
    Filed: August 21, 2002
    Date of Patent: December 12, 2006
    Assignee: International Business Machines Corporation
    Inventors: Feng-wei Chen Russell, Samuel R. McHan, Jr., William D. Reed
  • Patent number: 7146602
    Abstract: A method and apparatus including an overview component depicting a plurality of virtual machines on a display of a computerized system. Parameter details of at least one virtual machine are concurrently displayed with the overview component. The method steps include receiving the compiled source code for two applications, creating two relocatable virtual machines to run the compiled source codes, determining the parameters for the multiple virtual machine environment, locating the two relocatable virtual machines and generating a target executable file for the environment.
    Type: Grant
    Filed: March 9, 2001
    Date of Patent: December 5, 2006
    Assignee: Ajile Systems, Inc.
    Inventors: Michael J. Frerking, David S. Hardin, Nick M. Mykris, Philip J. Wiley
  • Patent number: 7143101
    Abstract: Embodiments of the invention provide a framework for computer application to utilize data structures by loading externally-defined container data structures, and building in-memory representation of data structures at runtime. Contrary to existing applications, computer applications implementing the invention may utilize data structures for which the architecture is not embedded within the application code. Embodiments of the invention provide mechanisms by which applications (or components thereof) implementing the invention may access and modify data structures and their individual elements.
    Type: Grant
    Filed: April 18, 2003
    Date of Patent: November 28, 2006
    Inventors: Andy Oliver, Joe Perches