Patent Portfolio for Sale:Java embedded software - execution - fundamental technology
Innovations includes dynamic code verification, ability to dynamically update applications, secure execution of native code from a virtual machine environment and loading/executing compressed code.
This is core technology developed with focus on Java.
Primary Application of the Technology
The seller would like to be granted a license back.
Class 714: Error Detection/Correction And Fault Detection/RecoveryThis class provides for process or apparatus for detecting and correcting errors in electrical pulse or pulse coded data; it also provides for process or apparatus for detecting and recovering from faults in electrical computers and digital data processing systems, as well as logic level based systems.
Subclass 38: Of computer software
Subclass 15: State recovery (i.e., process or data file)
Class 717: Data Processing: Software Development, Installation, And ManagementThis class provides for software program development tool and techniques including processes and apparatus for controlling data processing operations pertaining to the development, maintenance, and installation of software programs. Such processes and apparatus include: processes and apparatus for program development functions such as specification, design, generation, and version management of source code programs; processes and apparatus for debugging of computer program including monitoring, simulation, emulation, and profiling of software programs; processes and apparatus for translating or compiling programs from a high-level representation to an intermediate code representation and finally into an object or machine code representation, including linking, and optimizing the program for subsequent execution; processes and apparatus for updating, installing, and version management of developed code.
Subclass 168: SOFTWARE UPGRADING OR UPDATING
Subclass 166: Using class loader
Subclass 159: Code restructuring
Subclass 156: Using flow graph
Subclass 154: Including analysis of program
Subclass 148: Just-in-time compiling or dynamic compiling (e.g., compiling Java bytecode on a virtual machine)
Subclass 143: Parsing, syntax analysis, and semantic analysis
Subclass 129: Using breakpoint
Subclass 126: Program verification
Subclass 124: Testing or debugging
Subclass 118: Bytecode (e.g., Java)
Class 711: Electrical Computers And Digital Processing Systems: MemoryThis class provides, within an electrical computer or digital data processing system, for the following processes and apparatus 1. for addressing memory wherein the processes and apparatus involve significant address manipulating (e.g., combining, translating, or mapping and other techniques for formatting and modifying address data) and are combined with specific memory configurations or memory systems; 2. for accessing and controlling memory (e.g., transferring and modifying address data, selecting storage devices, scheduling access); and 3. for forming memory addresses (e.g., virtual memory addressing, address translating, translation-lookaside buffers (TLBs), boundary checking, and page mode).
Subclass 154: Control technique
Subclass 158: Prioritizing
Subclass 170: Memory configuring
Class 718: Electrical Computers And Digital Processing Systems: Virtual Machine Task Or Process Management Or Task Management/ControlThis class provides for an electrical computer or digital data processing system or corresponding data processing method including apparatus or steps for administrating over processor or job execution in a digital data processing system whether in a virtual machine or otherwise. Subject matter includes - virtual machine task or process management, and task management or control in general.
Subclass 1: VIRTUAL MACHINE TASK OR PROCESS MANAGEMENT
Subclass 104: Resource allocation
Class 719: Electrical Computers And Digital Processing Systems: Interprogram Communication Or Interprocess Communication (Ipc)This class provides for an electrical computer or digital data processing system or corresponding data processing method including apparatus or steps for exchanging data or messages between two executing programs or processes, independent of the hardware used in the communication.
Subclass 331: DYNAMIC LINKING, LATE BINDING
Subclass 332: Object oriented dynamic linking, late binding
Class 712: Electrical Computers And Digital Processing Systems: Processing Architectures And Instruction Processing (E.G., Processors)This class provides, within a computer or digital data processing system, for subject matter represented by a particular arrangement that includes at least one of the following means: 1. components of an individual complete processor, which may be formed on a single integrated circuit (IC); 2. components of a complete digital data processing system; 3. plural processors; or 4. plural digital data processing systems; wherein the particular arrangement further includes at least one of the following functions: (a) processing instruction data for specific processor architectures; (b) accessing or retrieving instruction data of a fixed or variable length from a buffer or other memory and shifting the instruction data to align it with a physical boundary of a buffer or other memory; (c) locating and retrieving instruction data for processing; (d) determining via internal hardware, firmware or software operations the meaning of operation codes, control bits, or operands of instruction data; (e) dispatching instruction data for execution (e.g., designating a register after resolving data conflicts); (f) dynamically testing instruction data and operands to assess conflicts related to data or hardware-resource availability (e.g., identifying data dependencies or utilization conflicts, attempting to resolve such dependencies or conflicts, or both); and (g) dynamically controlling the execution, processing, or sequencing of instruction data within a processor.
Subclass 228: Context preserving (e.g., context swapping, checkpointing, register windowing
Subclass 227: Specialized instruction processing in support of testing, debugging, emulation