Patents Examined by Antony Nguyen-Ba
-
Patent number: 6910206Abstract: An interpreter invocation mechanism for switching between execution of native instruction words to interpreted instruction words uses a subroutine call instruction to start execution of the interpreter. The return address of the subroutine call instruction is used as an address pointer to the start of the interpreted code. The interpreted code may terminate with an Exit instruction whereupon normal native code execution resumes using the instruction at the immediately following memory address or alternatively with a Return instruction that recovers a return address previously stored to stack memory.Type: GrantFiled: November 7, 2000Date of Patent: June 21, 2005Assignee: Arm LimitedInventor: Edward Colles Nevill
-
Patent number: 6901587Abstract: A method and a system of cache management using spatial separation of outliers. The system includes a dynamic compiler arranged to create compiled fragments of code having dominant code blocks and outliers. Memory coupled to the dynamic compiler is managed by a compiler manager such that dominant code blocks are stored in one portion of the memory and the outliers are stored in another portion of the memory. Storing the dominant path code separate from the outliers increases efficiency of the system.Type: GrantFiled: May 16, 2001Date of Patent: May 31, 2005Assignee: Esmertec AGInventors: Jeremy Paul Kramskoy, William Thomas Charnell, Stephen Darnell, Blaise Abel Alec Dias, Philippa Joy Guthrie, Wayne Plummer, Jeremy James Sexton, Michael John Wynn, Keith Rautenbach, Stephen Paul Thomas
-
Patent number: 6895579Abstract: A method and apparatus which comprises, as part of compiling source code into native code, identifying a source code block in the source code to optimize using register promotion, and optimizing the source code block using a register promotion transformation. Thereafter, compensation native code is generated to update those memory locations whose values were promoted using register promotion with the up-to-date values from registers associated with the memory locations. As a result native code corresponding to any existing source code exception handler associated with the source code block will have access to the up-to-date memory locations during program execution.Type: GrantFiled: July 31, 2001Date of Patent: May 17, 2005Assignee: Intel CorporationInventor: Guei-Yuan Lueh
-
Patent number: 6895578Abstract: A system and method for facilitating and simplifying testing and debugging of computer programs. is described A computer program is broken down to smaller components, such as, classes, functions, or objects, and then those smaller components are tested individually. Accordingly, specific aspects of the computer program can be effectively tested. The user can automatically perform a range of tests on a class or method when the class or method is compiled without integrating the class or method into a larger project.Type: GrantFiled: January 6, 2000Date of Patent: May 17, 2005Assignee: Parasoft CorporationInventors: Adam K. Kolawa, Chad E. Byers
-
Patent number: 6892378Abstract: A method for detecting memory leakage of a linked list in a running program, includes saving current size of the linked list as a new maximum size of the linked list when a new element is added to the linked list that causes the current size of the linked list to exceed a former maximum size of the linked list, determining whether a first pre-determined period of time has elapsed from when the liked list was created, and determining whether the new maximum size of the linked list exceeds the former maximum size of the linked list during a second pre-determined period of time.Type: GrantFiled: September 17, 2001Date of Patent: May 10, 2005Assignee: Hewlett-Packard Development Company, L.P.Inventors: James R. Curtis, Eric Hwang
-
Patent number: 6871345Abstract: A system and method is described for managing plugin program components through encapsulation in a self managing agent that supports introspection for installation. An agent evaluator engine at the host machine interrogates the introspective interface for the agent to determine what resources are required by the plugin. In addition, the engine determines what effect the plugin will have on the host system, and invokes the installation logic which may be contained in the agent. Using the introspective mechanism and installation logic, any changes in the plugin (such as revisions) and the associated dependency changes can be readily accommodated since only a single base of information and installation logic, that which is contained within the enclosing agent, requires modification.Type: GrantFiled: April 4, 2000Date of Patent: March 22, 2005Assignee: Motive, Inc.Inventors: James J. Crow, Dennis L. Parker
-
Patent number: 6865729Abstract: A flowchart-based programming and control system includes a computer with a processor, memory, and display. A device is connected to the computer and is associated with a process. A flowcharting module generates and edits flowchart source code that includes flowchart blocks and that contains logic for operating the device. First and second flowchart blocks assign an operational state of the process. A reason code module associated with the flowcharting module assigns first and second reason codes to the first and second flowchart blocks. The flowchart module compiles the flowchart source code into flowchart object code. A flowchart run-time engine module executes the flowchart object code to control the process. The flowchart object code generates the first and second reason codes during execution of the first and second flowchart blocks. A performance analysis module and a charting module record and graphically represent the operational state of the process over time.Type: GrantFiled: September 29, 2000Date of Patent: March 8, 2005Assignee: Entivity, Inc.Inventors: Andrew H. McMillan, Joseph Gasiorek, Thomas Harkaway
-
Patent number: 6865735Abstract: A program or program snippet is rewritten to conform to site-specific properties prior to being executed by a target host. The program or program snippet directed to a target host from a known or unknown source is either intercepted by a server before reaching the target host or can be redirected from the target host to the server to effect its rewriting. The program is parsed in its external representation, converting it to an internal representation that is inspected and analyzed with reference to a site-specific properties database. A summary of the program's properties is then compared to the site-specific properties database by a binary rewriting engine, which produces a rewritten program in an internal representation. If appropriate, the program or program snippet is rewritten to convert it to a format suitable for execution on the target host. Furthermore, certifications may be added to the rewritten program to mark that the rewritten program obeys site-specific constraints.Type: GrantFiled: October 7, 1998Date of Patent: March 8, 2005Assignee: University of WashingtonInventors: Emin Gun Sirer, Brian N. Bershad
-
Patent number: 6859922Abstract: A system that provides easy testing of software objects and reduces the burden on a program developer for maintaining a test system is presented. The system accepts as an input objects and automatically creates test drivers for these objects. The test objects are provided to a test bed comprising an application server where the objects are tested by application of the test drivers. In a preferred embodiment, the test bed comprises a collection of application servers. An application service provider provides the system test driver and the test bed. Access to the test system is provided by passing a representing of the object under test to the application service provided through a network interface. The application service provider provides test services on a fee for service basis.Type: GrantFiled: August 24, 2000Date of Patent: February 22, 2005Assignee: Empirix Inc.Inventors: Caren H. Baker, George Friedman, Michael V. Glik, Walter G. Vahey
-
Patent number: 6859921Abstract: A hierarchy of software components is created based on the programming constructs therein using a computer linked to a database having a collection of legacy software therein. Key component characteristics, e.g., programming constructs are defined. These constructs are assigned weights based on the difficulty or ease with which they can be reused in a new software component for use with a Web system or other network system. The legacy collection is searched to determine which, if any, of the key constructs are included therein. An ordered list is output that includes a list of the components containing the key constructs. The order of the list is based on the weight of the constructs in each component and the frequency with which they occur in each component. The list is then used to determine the effort and thus, the expense required to move entire components or blocks of code in the components into a Web system or other network system.Type: GrantFiled: May 31, 2001Date of Patent: February 22, 2005Assignee: International Business Machines CorporationInventors: Michael David Connor, Laurence Edward England, Leshek Fiedorowicz, James Paul Hildner
-
Patent number: 6854110Abstract: A system and method for obtaining scratch registers in a computer-executable binary is provided. Register allocation requests in a computer-executable binary are discovered. In one method, the register allocations are examined procedure-by-procedure. The maximum number of registers requested by any instruction in the procedure is discovered. Then, register requests in the procedure are modified to request the maximum number discovered plus a number of scratch registers. In another method, the register allocations are examined block-by block within a procedure. Dominating register allocations for each block are found. Then the dominating register allocations are modified to request scratch registers.Type: GrantFiled: December 21, 2000Date of Patent: February 8, 2005Assignee: Microsoft CorporationInventors: David M. Gillies, Ronnie Chaiken, Jiyang Liu
-
Patent number: 6851111Abstract: A computer system includes multiple class loaders for loading program class files into the system. A constraint checking mechanism is provided wherein a first class file loaded by a first class loader makes a symbolic reference to a second class file loaded by a second class loader, the symbolic reference including a descriptor of a third class file. The constraint mechanism requires that the first and second class files agree on the identity of the third class file and stores a list of constraints as a set of asymmetric relationships between class loaders. Each stored constraint, for a class loader which loaded a class file that contains a symbolic reference to another class file, includes a first parameter denoting the class loader which loaded the class file to which the symbolic references is made; and a second parameter denoting a class file which is identified by a descriptor in said symbolic reference.Type: GrantFiled: December 15, 2000Date of Patent: February 1, 2005Assignee: International Business Machines CorporationInventors: Richard Kenneth McGuire, Edward John Slattery, Matthew Alexander Webster
-
Patent number: 6851108Abstract: A verification module evaluates intermediate language code to verify that the code is type safe before passing the code for execution. Code that is not deemed type safe can cause execution errors, corrupt the runtime environment in which the code is executing, or cause unauthorized access to protected system resources. As such, the verification module protects a computer system from intentional or inadvertent breaches of the computer system's defenses. The verification module verifies the type safety of intermediate language code that supports significant high-level language constructs prohibited by verification modules in the prior art. One exemplary verification module verifies intermediate language code that includes one or more reference-based parameter, such as a pointer (or reference), a value class containing pointers, a RefAny parameter, or a nested pointer.Type: GrantFiled: November 16, 2000Date of Patent: February 1, 2005Assignee: Microsoft CorporationInventors: Don Syme, Andrew Gordon, Jonathan A. Forbes, Vance P. Morrison
-
Patent number: 6839895Abstract: Code restructuring or reordering based on profiling information and memory hierarchy is provided by constructing a Program Execution Graph (PEG) corresponding to a level of the memory hierarchy, partitioning this PEG to reduce estimated memory overhead costs below an upper bound, and constructing a PEG for a next level of the memory hierarchy from the partitioned PEG. The PEG is constructed from control flow and frequency information from a profile of the program to be restructured. The PEG is a weighted undirected graph comprising nodes representing basic blocks and edges representing transfer of control between pairs of basic blocks. The weight of a node is the size of the basic block it represents and the weight of an edge is the frequency of transition between the pair of basic blocs it connects.Type: GrantFiled: October 10, 2000Date of Patent: January 4, 2005Assignee: International Business Machines CorporationInventors: Dz Ching Ju, Kalyan Muthukumar, Shankar Ramaswamy, Barbara Bluestein Simons
-
Patent number: 6836886Abstract: A method, apparatus, system, and article of manufacture for electronically obtaining a Web page in a Web browser. A Web page is requested. In response, the browser receives a bootstrap file that comprises a declaration of a component module control object, and a script block comprising a method that accesses the component module control object. The object identified in the declaration is obtained. The object also includes one or more resources. The object is then installed in the Web browser. The Web browser may then use the method of the script block to extract a Web page based on the resources of the component module control object. The Web browser may also be configured to determine if the control object is an up to date version. If the control object is not an up to date version, the browser obtains and installs an up to date version.Type: GrantFiled: March 19, 2001Date of Patent: December 28, 2004Assignee: Autodesk, Inc.Inventors: Thomas Mike Tuerke, Priya Rawat, Janice Pei-I Huang
-
Patent number: 6834384Abstract: The present invention provides methods and apparatus for upgrading firmware in an embedded system, without impacting the system. More specifically, the present invention enables an embedded system to be upgraded without any system downtime, by providing two application areas in non-volatile programmable read only memory. A processor can boot up and run from either application area. A fixed vector table is provided, which, in cooperation with a software vector table, enables the processor to maintain proper interrupt vector addresses while being able to run from either application area. Upgraded firmware can be loaded into one application area while the system is running from the other application area. Resetting the processor allows the system to run the upgraded version of firmware.Type: GrantFiled: March 14, 2001Date of Patent: December 21, 2004Assignee: General Instrument CorporationInventors: Daniel Charles Fiorella, III, Ronald L. Gebhardt, Jr., Marlin F. McGregor, Jr.
-
Patent number: 6832371Abstract: In a computer system, a method for automatically registering resources required for an application program module to execute. After the application program module is booted, a registration cache is examined to determine its status. The registration cache is stored in association with the application program module and it indicates whether a registry on the computer system needs to be updated, such as after the user has moved files or renamed files such that registry keys in the registry may no longer be valid. If the registration cache indicates that the registry needs to be updated, then a search is made through a predetermined directory, such as the application program module folder. The search is looking for an application file or a dynamic link library file. Upon detecting an application file or a dynamic link library file, then a resource fork in association with the file is opened and it is determined whether there is a self-registration resource in the resource fork.Type: GrantFiled: January 4, 1999Date of Patent: December 14, 2004Assignee: Microsoft CorporationInventor: Thomas E. Hussey
-
Patent number: 6832367Abstract: A method for recording and replaying execution of distributed programs on a computer system in a distributed environment, includes identifying an execution order of critical events of a program, generating groups of critical events of the program, wherein for each group, critical events belonging to the group belong to a common execution thread, and generating for each execution thread a logical thread schedule that identifies a sequence of the groups so as to allow deterministically replaying a non-deterministic arrival of stream socket connection requests, a non-deterministic number of bytes received during message reads, and a non-deterministic binding of stream sockets to local ports.Type: GrantFiled: March 6, 2000Date of Patent: December 14, 2004Assignee: International Business Machines CorporationInventors: Jong-Deok Choi, Ravi Konuru, Harini Srinivasan
-
Patent number: 6826745Abstract: The invention provides user configurable and reconfigurable scripting, methods of scripting, and systems for scripting for use by call centers, technical support centers, and marketers. Scripts are interactive tools that guide a telemarketer, a sales person, or a technical support technician through a telephone call with a customer. Scripts are characterized by going on to particular subsequent questions as a function of the customer's answer to a previous question.Type: GrantFiled: May 30, 2001Date of Patent: November 30, 2004Assignee: Siebel Systems, Inc.Inventors: John L. Coker, Matthew S. Malden, Kevin R. Nix
-
Patent number: 6795963Abstract: This system sets up a framework that allows for separating debug information from executable code. The system is comprised of a compiler, a linker and a debugger. The compiler produces optimized object code and a debugging information file that contains information necessary for symbolic debugging. The linker merges the optimized object files to produce an optimized executable file as well as debugging information files to produce a composite debugging information file. This debugging information file can be further refined when the program is executed to include runtime dependencies. The debugger provides a source code debugging environment and a core dump debugging environment for the optimized code. The debugger allows monitoring of variable values, placement of watches on changes in variable values, setting breakpoints by location or by name and performing program debugging at a source code level.Type: GrantFiled: November 12, 1999Date of Patent: September 21, 2004Assignee: International Business Machines CorporationInventors: Flemming Andersen, Jason Raymond Baumgartner