Patents Represented by Attorney Michael R. Nichols
  • Patent number: 6651243
    Abstract: A method and system for profiling a program using periodic trace sampling is provided. During the execution of the program, sample-based profiling of the executing program is performed—for a predetermined period, a profiler performs trace processing for the program, after which the profiler pauses and does not perform trace processing for a predetermined period. The periods controlling the profiler may be selected by a user, and the periods may be measured by temporal or non-temporal metrics. The profiler cycles through these periods, during which selected events are processed to generate a profile of the execution flows within the program. For each sample period, a tree data structure is generated in which nodes of the tree data structure represent the routines of the program that execute during the sample period, as may be indicated by entry and exit events caused by the execution of the routines.
    Type: Grant
    Filed: October 14, 1999
    Date of Patent: November 18, 2003
    Assignee: International Business Machines Corporation
    Inventors: Robert Francis Berry, Frank Eliot Levine, Robert J. Urguhart
  • Patent number: 6642811
    Abstract: A power-supply filter that is built into an integrated circuit package is disclosed. An LC, RC, or RLC filter is built into the integrated circuit's chip carrier module and connected so as to filter the power supply entering the integrated circuit. By manufacturing the filter as part of the integrated circuit package, a chip manufacturer can eliminate the need for application-level developers to provide an external filtering network in the deployment of the integrated circuit in an application circuit.
    Type: Grant
    Filed: January 30, 2002
    Date of Patent: November 4, 2003
    Assignee: International Business Machines Corporation
    Inventors: Scott Leonard Daniels, Norman Karl James, James Douglas Jordan, Daniel Eugene Pridgeon
  • Patent number: 6637025
    Abstract: The present invention provides a process in a data processing system for executing bytecodes. The bytecodes are contained in a JAVA archive file along with just in time compiling instructions. A call to just in time compile bytecodes is intercepted in which the bytecodes should not be JIT'ed. A means is provided within the JAVA archive file for software developers to mark as ‘no JIT’ some classes/methods in the field. Conversely, means is provided within the JAVA archive file for software developers to mark as ‘JIT’ some classes/methods in the field. Only the selected bytecodes are sent to the interpreter for processing rather than all of the classes.
    Type: Grant
    Filed: December 3, 1998
    Date of Patent: October 21, 2003
    Assignee: International Business Machines Corporation
    Inventors: Bruce Anthony Beadle, Michael Wayne Brown, Michael Anthony Paolini, Douglas Scott Rothert
  • Patent number: 6615212
    Abstract: A method in a data processing system for providing content from a distributed database to a client. In a preferred embodiment, a transcoding proxy server receives a request for content from a client machine. The transcoding proxy server retrieves the content from an originating server. The retrieved content is provided in a first format type. In response to a determination that an increase in efficiency would be obtained by allowing the client to process the content in the first format type prior to transcoding the content into a second format type, the transcoding proxy server sends the content to the client in the first format type. Furthermore, in response to a determination that the client does not have content processing software for processing the content in the first format, the transcoding proxy server sends content processing software for the first format type along with the content in the first format type to the client.
    Type: Grant
    Filed: August 19, 1999
    Date of Patent: September 2, 2003
    Assignee: International Business Machines Corporation
    Inventors: Rabindranath Dutta, Matthew Francis Rutkowski
  • Patent number: 6611876
    Abstract: A set of program elements (e.g., transcoders) are grouped together as an administrative unit. Instead of caching the individual outputs of each program element, preferably only the aggregate output of the set of program elements, taken as a whole, is cached. The inventive technique enables the effective re-use of intermediate content. In an illustrative client-server based implementation involving a transcoding service located at a server, the cached information may be shared across multiple server instances to obviate redundant processing. With the present invention, a caching mechanism in a complex software system may be extended in a user-configurable manner by setting up optimal intermediate caching points that are defined by groups of programs used in long computations.
    Type: Grant
    Filed: October 28, 1999
    Date of Patent: August 26, 2003
    Assignee: International Business Machines Corporation
    Inventors: Robert C. Barrett, Thomas Alexander Bellwood, Rabindranath Dutta, Christian Lita, Matthew Francis Rutkowski, Merle Douglas Sterling
  • Patent number: 6604210
    Abstract: A method and system for detecting and recovering from errors in trace data is provided. The trace data records selected events for executing routines, and the routines corresponding to the events are represented as one or more nodes in a tree structure. The events may be entries and exits to executing methods. A trace record identifying a routine is read, and an error condition is detected in which the identified routine does not match a routine corresponding to a current node in the tree structure. The tree structure is searched for a node that corresponds to the identified routine. Performance statistics, such as execution time, are attributed to nodes in the tree structure. In response to a determination that the current node is a root node of the tree structure, then a new node for the identified routine is added to the tree structure as a child node of the root node and spliced into the tree at the root node.
    Type: Grant
    Filed: September 9, 1999
    Date of Patent: August 5, 2003
    Assignee: International Business Machines Corporation
    Inventors: William Preston Alexander, III, Frank Eliot Levine, Robert J. Urquhart
  • Patent number: 6598012
    Abstract: A method and system for compensating for output overhead in trace data is provided by analyzing and compensating for the overhead associated with outputting trace information to a trace buffer or a trace file in the form of trace records. A trace record represents an occurrence of some profiling event of interest. Each trace record contains a starting timestamp representing the time at which the generation of the trace record was commenced and an ending timestamp representing the time at which the generation of the trace record was completed. In order to compute the period of execution time attributable to the application program or system being profiled, a starting timestamp of a trace record is compared with the ending timestamp of a preceding trace record, and the difference between the timestamps is directly related to the execution time of the application program or system being profiled.
    Type: Grant
    Filed: October 7, 1999
    Date of Patent: July 22, 2003
    Assignee: International Business Machines Corporation
    Inventors: Robert Francis Berry, Jesse Mannes Gordon, Riaz Y. Hussain, Frank Eliot Levine, Robert J. Urquhart
  • Patent number: 6571280
    Abstract: A file request is received by the operating system, and the appropriate IFS driver for the file is called. The IFS driver remaps the drive path based on a drive location list contained in a file redirection table in the IFS driver. Drive or server redundancy is ensured by simultaneously broadcasting writes to each drive on the drive location list. Redundancy is ensured for read operations by sequentially traversing the drive location list in the event of a non-responsive drive or server.
    Type: Grant
    Filed: June 17, 1999
    Date of Patent: May 27, 2003
    Assignee: International Business Machines Corporation
    Inventor: Kenneth Hubacher
  • Patent number: 6567811
    Abstract: Initially, a filesystem map is created, and the logical control volume block is copied outside the volume group. The initial logical control volume is deleted, and the disks are removed from the definition of the old volume group. The definition of the new volume group is defined to include the disks formerly defined in the old volume group. A file map is used to create the filesystem for the new volume group, and the volume control block is copied into the new volume group. The filesystems are reinstated onto the new volume group and remounted.
    Type: Grant
    Filed: July 15, 1999
    Date of Patent: May 20, 2003
    Assignee: International Business Machines Corporation
    Inventors: Curtis Unen Edwards, Rick A. Hamilton, II
  • Patent number: 6564143
    Abstract: A method and apparatus in a vehicle computer system for providing location based services. A path is defined along which the vehicle is to travel. Responsive to receiving a request for a location, the path is used as a filter to identify the location. The position and/or directions of the vehicle also may be used to identify the location.
    Type: Grant
    Filed: January 29, 1999
    Date of Patent: May 13, 2003
    Assignee: International Business Machines Corporation
    Inventors: Neal J. Alewine, James Campbell Colson, David Carl Loose, Sandeep Singhal
  • Patent number: 6564344
    Abstract: Each match word line driver circuit associated with a content addressable memory (CAM) utilizes a scannable latch for testing. The scannable latches associated with a particular CAM are connected together, scan output of one to scan input of the next, forming a scanning latch chain. In test mode the scannable dynamic latch is used either for testing CAM match circuits or for driving word lines to test the RAM array. Testing CAM match circuits is accomplished by patterning the CAM array with known storage values. The match circuitry then compares an effective address to each storage value and the results are scanned out. Testing the RAM array is performed by driving each word line with a known scan value. Each word line responds the scan value and a sense amplifier outputs a RAM array value based on the word line.
    Type: Grant
    Filed: November 8, 1999
    Date of Patent: May 13, 2003
    Assignee: International Business Machines Corporation
    Inventors: Chi Duy Bui, T. W. Griffith, Jr., Manoj Kumar, Terry Lee Leasure, Philip George Shephard, III
  • Patent number: 6559727
    Abstract: A voltage controlled oscillator is provided comprising a plurality of delay elements serially connected to form a ring and each element within the plurality of elements includes an input and output. The voltage controlled oscillator also includes a set of control elements where each control element within the set of control elements has an input connected to an input of a delay element within the set of delay elements and an output connected to an output of a different delay element within the plurality of delay elements. A control voltage is selectively applied to control elements within the set of control elements to vary the oscillating frequency and phase distribution in proportion to the control voltage.
    Type: Grant
    Filed: November 30, 2000
    Date of Patent: May 6, 2003
    Assignee: International Business Machines Corporation
    Inventor: David William Boerstler
  • Patent number: 6553564
    Abstract: A process and system for profiling code executing on a data processing system is provided. Event-based trace data is recorded in response to selected events, and the event-based trace data includes an indication of which code is being interrupted. The trace data may be processed to identify a thread or method that was executing during the event. A periodically occurring event is also detected, and a stack associated with the profiled code is identified in response to detection of the periodically occurring event, such as a timer interrupt. The stack is examined to identify each routine that is currently executing during the periodically occurring event.
    Type: Grant
    Filed: June 30, 1999
    Date of Patent: April 22, 2003
    Assignee: International Business Machines Corporation
    Inventors: William Preston Alexander, III, Robert Francis Berry, Frank Eliot Levine, Chester Charles John, Jr., Robert John Urquhart
  • Patent number: 6553525
    Abstract: A method and apparatus for testing a plurality arrays on a processor with an on chip built in self test engine on the processor. A subset of the plurality arrays on the processor is selected for testing using a control mechanism to selectively enable testing of the subset. Data patterns from the on chip built in self test engine are sent to the plurality arrays on the processor. A response is received at the on chip built in self test engine from the plurality arrays. The response from the plurality arrays is compared to an expected response using the on chip built in self test engine.
    Type: Grant
    Filed: November 8, 1999
    Date of Patent: April 22, 2003
    Assignee: International Business Machines Corporation
    Inventor: Philip George Shephard, III
  • Patent number: 6550002
    Abstract: A method and system for detecting flushed instructions without a flush indicator is provided. In order to monitor the flushing of an instruction in an instruction pipeline of a processor, an instruction is selected as a sampled instruction and the progress of the sampled instruction through the instruction pipeline is monitored. Upon selection of an instruction as a sampled instruction, a countdown value is initialized to a value equal to the maximum number of instructions within the instruction pipeline, and as instructions complete, the countdown value is decremented. If progress of the sampled instruction is detected as the instruction moves through the instruction pipeline, the countdown value is reinitialized. If the countdown value reaches zero, then a flush of the sampled instruction from the instruction pipeline is presumed, and an indication that the sampled instruction has been flushed is generated.
    Type: Grant
    Filed: November 4, 1999
    Date of Patent: April 15, 2003
    Assignee: International Business Machines Corporation
    Inventors: Joel Roger Davidson, Hung Oui Le, Alexander Erik Mericas
  • Patent number: 6546548
    Abstract: A method and system for compensating for trace overhead is provided by analyzing and compensating for the temporal overhead associated with generating or outputting trace information to a trace buffer or a trace file in the form of trace records. A trace record generally represents an occurrence of a profiling event of interest. The amount of time required to generate a trace record may be determined, and the trace times retrieved from the trace records are adjusted to compensate for the amount of time required to generate those trace records. A trace overhead calibration value may be determined by computing the average time necessary to generate a trace record, or in certain cases, by computing the minimum time necessary to generate a trace record. The trace overhead calibration value is stored for subsequent use in a profiling-related process in the data processing system.
    Type: Grant
    Filed: October 7, 1999
    Date of Patent: April 8, 2003
    Assignee: International Business Machines Corporation
    Inventors: Robert Francis Berry, Jesse Mannes Gordon, Riaz Y. Hussain, Frank Eliot Levine, Robert J. Urquhart
  • Patent number: 6542591
    Abstract: A caller identification callback list method and system. The system displays a callback list informing a user of a missed call received from a terminal on a central office telephone line from within an organization. The callback list includes the names and extension or branch telephone numbers for persons the user has defined exist within the organization. Once an indication that the user has missed a telephone call from within the organization appears on the user's terminal, the user may choose from a list of names and extension or branch telephone numbers and return the call without having to search outside sources for the correct number. The return call may be accomplished by either an automatic callback feature or manually using the terminal. Additionally, the caller identification callback lists allow a user to select the people and associated extension or branch telephone numbers in advance without the prospective caller first calling the user.
    Type: Grant
    Filed: July 27, 2000
    Date of Patent: April 1, 2003
    Assignee: International Business Machines Corporation
    Inventors: Hatim Yousef Amro, George Kraft, IV
  • Patent number: 6541995
    Abstract: The present invention includes a driving circuit and method for driving signals. An input signal is received by the driving circuit on an input signal line which is connected to a bias circuit for a common voltage level. Two output lines from the driving circuit are driven to the receiver which is capable of using differential output lines or a selected single ended output line. Furthermore, the output lines may be driven to a high impedance selected by the voltage level of the input signal. The receiver of the output lines may be a SCSI device using multimode terminators which include low voltage differential and a single ended mode.
    Type: Grant
    Filed: September 20, 2001
    Date of Patent: April 1, 2003
    Assignee: International Business Machines Corporation
    Inventors: Patrick Allen Buckland, Philip Michael Corcoran
  • Patent number: 6539339
    Abstract: A method and system for maintaining a thread-relative metric for trace data using device driver support is provided. A profiling process may detect a current event, and in response to the current event, may request an elapsed metric since a preceding event. The profiling process then receives a thread-relative elapsed metric and may output a trace record for the current event in which is stored a metric equal to the received thread-relative elapsed metric. In response to a notification of an occurrence of the current event, a device driver computes the thread-relative elapsed metric by: determining a current thread; retrieving a stored metric for the preceding event of the current thread; obtaining a current metric; and computing the thread-relative elapsed metric as a difference between the current metric and the stored metric.
    Type: Grant
    Filed: September 9, 1999
    Date of Patent: March 25, 2003
    Assignee: International Business Machines Corporation
    Inventors: Robert Francis Berry, Ronald O'Neal Edmark, Frank Eliot Levine, Robert J. Urquhart
  • Patent number: 6539502
    Abstract: A method and apparatus for selecting an instruction to be monitored within a pipelined processor is presented. One or more pairs of match values stored in control registers are allocated for use in instruction sampling or instruction matching. These pairs, referred to as V0 and V1, are used together to filter instructions for sampling or for instruction matching. During the fetch or decode stage, the instruction word is compared bit by bit to the V0 and V1 pair(s). For each bit in the instruction word, the corresponding bit in V0 and V1 are used to determine if a match exists. If every bit position in the instruction word results in a match, the instruction is eligible for sampling. If any bit position does not match, the instruction is not eligible. In response to a determination that the instruction is eligible for sampling, the execution of the instruction may be monitored.
    Type: Grant
    Filed: November 8, 1999
    Date of Patent: March 25, 2003
    Assignee: International Business Machines Corporation
    Inventors: Joel Roger Davidson, Michael Stephen Floyd, Judith E. K. Laurens, Alexander Erik Mericas