Patents Examined by Todd Ingberg
  • Patent number: 7174543
    Abstract: A high speed program tracer providing compression using linear increment run length values, displacement values corresponding to discontinuities, and loop compression. A program count sequencer receives program count values from a processor, and outputs various program count values and signals to allow compression calculations to be made based upon linear increment run lengths, discontinuity detection, and detection of repeating instruction loops. Compression may be achieved using selected numbers of words to represent various compression values.
    Type: Grant
    Filed: August 29, 2002
    Date of Patent: February 6, 2007
    Assignee: Analog Devices, Inc.
    Inventors: Joerg Schwemmlein, Paul D. Krivacek
  • Patent number: 7171646
    Abstract: Methods and systems consistent with the present invention provide an improved software development tool that allows a programmer to develop source code by receiving an indication to form a link, receiving an indication of a first of the plurality of elements, receiving an indication of a second of the plurality of elements, and adding new code to the first element to reflect the link to the second element.
    Type: Grant
    Filed: April 20, 2001
    Date of Patent: January 30, 2007
    Assignee: Borland Software Corporation
    Inventors: Dietrich Charisius, Peter Coad
  • Patent number: 7171649
    Abstract: A system is presented for optimizing safe downcasting and similar programming idioms in an object-oriented programming language. The system operates by receiving a source program written in the object-oriented programming language. The system compiles this source program into an intermediate representation. Next, the system examines the intermediate representation to identify the use of a virtual function call to determine if an object of a given base class is a member of a given derived class. Such usage facilitates safe downcasting of the object from the given base class to the given derived class. If the intermediate representation uses the virtual function call in this manner, the system replaces the virtual function call with a comparison of a virtual function table pointer associated with the object to an address of a virtual function table associated with the given derived class. The compiler finishes compiling the intermediate representation into executable binary code.
    Type: Grant
    Filed: January 12, 2004
    Date of Patent: January 30, 2007
    Assignee: Sun Microsystems, Inc.
    Inventor: Peter A. Lawrence
  • Patent number: 7168065
    Abstract: In a method for monitoring the flow of execution of a series of instructions of a computer program, a sequence of instructions are transmitted to the processor to execute the monitored program. These instructions are analyzed, and the result of the analysis are verified by referring to reference data recorded with the program. The reference data can include a value predetermined in such a way as to correspond to the result of the analysis produced during the monitoring process only if all the instructions have been actually analyzed during the program flow. The invention also concerns a device for monitoring the program execution, a program device, and a programming device operating according to the monitoring principles.
    Type: Grant
    Filed: January 24, 2000
    Date of Patent: January 23, 2007
    Assignee: Gemplus
    Inventors: David Naccache, Ludovic Rousseau, Pierre Girard
  • Patent number: 7165237
    Abstract: A compile-time data store that contains arbitrary data types is accessed via methods that ensure type safety. A type construct (e.g., a C++ template) is instantiated at compile time and generates a data store that contains arbitrarily-typed data objects, such as integers, characters, pointers and so forth. The construct includes a Put method to put any element (object) of a listed type (e.g., of a typelist) in the data store, and a Get method to retrieve the element from the data store. The Put method maintains a type index in association with each stored in the data store. The Get method validates that the type of object that was requested in the call to the Get method matches the object type that was stored in the Put method. When run, the Get method returns the element data upon a type match, otherwise the Get method generates an exception.
    Type: Grant
    Filed: March 20, 2003
    Date of Patent: January 16, 2007
    Assignee: Microsoft Corporation
    Inventor: Varadarajan Thiruvillamalai
  • Patent number: 7159206
    Abstract: A computer-readable medium causes a computer to operate as a server for managing the development of software by a software development team. Stored on this computer readable medium is a computer program which includes an object module and a process execution module. The object module performs operations on a linked object structure that represents a software development project. The process execution module has one interface that interacts with the object module and has another interface that interacts over a communication network with personal computers of the team members. By this interaction, the phases of each project are started in a non-fixed, non-predictable sequence by—1) sensing when all the tasks, that are represented by an entry set of CRITERIALIST_ITEM objects, are completed, and 2) sending a notice to begin the phase of the project which is related to the one entry set.
    Type: Grant
    Filed: November 26, 2002
    Date of Patent: January 2, 2007
    Assignee: Unisys Corporation
    Inventors: Avinash Sadhu, Paul Donald Koerber
  • Patent number: 7159209
    Abstract: A device for modeling an integrated enterprise includes a first tool for constructing a model of the integrated enterprise and a second tool for analyzing inter-application call sets contained in the constructed model. The second tool analyzes a selected inter-application call set by constructing a data attribute matrix having a row for each data attribute contained in at least one of the inter-application calls and a column for each one of the inter-application calls. The data attribute matrix is then marked to indicate which ones of the data attributes are contained in which ones of the selected inter-application calls. The constructed data attribute matrix may then be analyzed to identify improper association of data attributes with calls.
    Type: Grant
    Filed: November 2, 2002
    Date of Patent: January 2, 2007
    Assignee: Sprint Communications Company L.P.
    Inventors: Lavanya Srinivasan, Nalledath Palat Vinodkrishnan, Thomas C. Gifford
  • Patent number: 7152225
    Abstract: A system and method for determining a structure within a software kernel using an offset and an element is disclosed. The software kernel is received from a third party for debugging operations. Given one or more element and offset pairs, data extracted from the software kernel is searched to produce a list of possible structures to provide additional information during the debugging operations. The data is extracted into tables with symbol table information. The symbol table information is searched using an offset and an element. Structures are identified using this information and, optionally, a structure size may be provided to further limit the possible structures.
    Type: Grant
    Filed: February 25, 2003
    Date of Patent: December 19, 2006
    Assignee: Sun Microsystems, Inc.
    Inventor: Alan Hargreaves
  • Patent number: 7150003
    Abstract: A method of obfuscating an object-oriented program is provided. A program is provided that is defined in terms of a plurality of classes. Each of the classes has at least one of a field and a method. At least two of the plurality of classes are combined into a combined class. When the at least two classes are combined, at least one field from at least one of the two classes is included in the combined class, and/or at least one method from at least one of the two classes is included in the combined class. After the at least two classes are combined, the program is transmitted.
    Type: Grant
    Filed: November 25, 2002
    Date of Patent: December 12, 2006
    Assignee: Matsushita Electric industrial Co., Ltd.
    Inventors: Gleb Naumovich, Ezgi Yalcin, Nasir D. Memon, Hong Heather Yu, Mikhail Sosonkin
  • Patent number: 7150006
    Abstract: A system and method for facilitating cross-process access into a managed code process is useful in an embodiment of the invention for debugging managed code without perturbing the process being accessed or requiring the code under test to be running during debugging. A compiler according to an embodiment of the invention is used to produce mirror code wherein in-process pointers have been replaced with cross-process pointers in order to mirror the address space of the process under test to the address space of the mirror code process. In a further embodiment, the mirror code process is modified not only to allow but also to optimize the cross-process access.
    Type: Grant
    Filed: November 3, 2003
    Date of Patent: December 12, 2006
    Assignee: Microsoft Corporation
    Inventors: Andrew L. Bliss, Vance Palmer Morrison, Sean Edwin Trowbridge
  • Patent number: 7150000
    Abstract: An architecture for developing a distributed information system comprises a service definition tool for generating service protocols as a service definition. Each service protocol includes a plurality of messages. The messages include incoming messages and outgoing messages. Each message carries a plurality of data fields. A component development tool generates a first and a second plurality of components that implement and consume services. Each component in the first plurality of components represents a physical entity in the distributed information system. Each component in the second plurality of components represents a logical entity in the distributed information system. A system development tool generates a plurality of component instances based on the first and the second plurality of components. An engine software program runs on each of a plurality of networked nodes.
    Type: Grant
    Filed: August 15, 2000
    Date of Patent: December 12, 2006
    Assignee: Nash Controlware, Inc.
    Inventor: Michael Feldman
  • Patent number: 7143398
    Abstract: An application infa operating system (AIOS) is provided. The AIOS provides an operating platform for integrating, embedding, managing and controlling an application program, wherein a main function thereof is to integrate different application programs which are developed from different information companies and different program designers via different developing languages and tools (e.g., C, C++, database, or Java, etc.) for mutually conversing and swapping data at different space-times through the integration of the present invention, so as to benefit an update, an upgrade and an integration of the application programs, shorten a developing time of integrating a new and a old systems, and save a cost of developing a system for improving a re-use rate of the application programs.
    Type: Grant
    Filed: March 13, 2003
    Date of Patent: November 28, 2006
    Inventors: Che-An Chang, Tze-Hao Chang, Jar-Chang Jang, Shu-Wei Chang
  • Patent number: 7143396
    Abstract: A system and methods are provided for inserting probe points into an executing program, and measuring the time spent traversing code paths from one probe point to any other probe point or some other performance metric (e.g., instructions executed, cache misses, memory addresses accessed). One method is implemented by inserting N probes. Each probe has a corresponding function configured to: retrieve the identifier and timestamp of the previous probe executed, calculate the time spent traversing the path from the previous probe to the current probe, and update a matrix of N×N elements, wherein each element corresponds to a path from one probe to another probe. After completion of the program, this matrix is useful for identifying code paths that are bottlenecks and hence candidates for optimization.
    Type: Grant
    Filed: November 6, 2002
    Date of Patent: November 28, 2006
    Assignee: Sun Microsystems, Inc.
    Inventor: Charles Suresh
  • Patent number: 7139999
    Abstract: A development architecture framework manages information that supports a project being carried out by a development architecture framework. Security requirements are defined and the framework is audited to ensure requirements are met. Quality is ensured by obtaining and statistically analyzing measurements relating to predetermined criterion Personnel are trained to improve the quality of the project. The project is managed by generating a plan, scheduling a timeline, tracking the plan, and reporting information uncovered during tracking. A development environment is also managed. Component delivery is coordinated and delivery problems are rectified during the delivery.
    Type: Grant
    Filed: August 31, 1999
    Date of Patent: November 21, 2006
    Assignee: Accenture LLP
    Inventor: Michel K. Bowman-Amuah
  • Patent number: 7140013
    Abstract: An improved method to set up automatically a computer system configuration in association with a system upgrade that involves the installation of a set of operative elements necessary for the reliable operation of the same. The correct, operative combination of hardware, system and application software components is accomplished by inter-component dependency checking and improved conflict resolving procedures in association with specific dependency rules tables and an ordered database that stores definitions of components and relationships thereof.
    Type: Grant
    Filed: December 7, 2001
    Date of Patent: November 21, 2006
    Assignee: Aduva, Inc.
    Inventors: Moddy Te'eni, Ilan Shufer
  • Patent number: 7127704
    Abstract: In response to programmer input of a trigger token, a program editor creates a pair of boundary tokens encapsulating an embedded lexical context and positions an insertion point within the embedded lexical context. The operations on the embedded lexical context are preferably performed using an embeddable sub-editor specialized to the task at hand. Since boundary tokens are generated in pairs, stability of lexical boundaries is enforced. Accordingly, stable implementations of certain desirable behaviors, including language-oriented advanced program typography that is robust to user edits, are facilitated using the invented techniques.
    Type: Grant
    Filed: August 27, 2001
    Date of Patent: October 24, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Michael L. Van De Vanter, Marat Boshernitsan
  • Patent number: 7111282
    Abstract: The XAM architecture that specifies a software program instrumentation and data collection method and system is disclosed. The XAM architecture includes definition of a measurement type hierarchy, the definition of an XAM API that adapts an application program to a local XAM library, and a message protocol, based on XML, through which the XAM library is configured by, and sends collected data to, an XAM services process. Predefined measurement types include primitive measurement types and aggregate measurement types, the latter allowing for significant decrease in data transmission overheads between the XAM library and the XAM services process because of data filtering and processing by XAM library routines.
    Type: Grant
    Filed: June 12, 2001
    Date of Patent: September 19, 2006
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventor: David Arthur Stephenson
  • Patent number: 7111287
    Abstract: An assembler for assembling code is disclosed. The assembly language code includes a plurality of code blocks associated with resource-needs, such as variables, and resources, such as registers, I/O locations, memory locations, and coprocessors. A technology is provided that allows the global assignment of resource-needs to resources such that run time resource conflicts are avoided. A grammar for allowing resources to be defined and managed, a grammar for allowing the resource-needs to be defined and managed, a grammar providing definition of code blocks, and a grammar for associating resources with code blocks are also provided.
    Type: Grant
    Filed: January 10, 2003
    Date of Patent: September 19, 2006
    Assignee: International Business Machines Corporation
    Inventors: Joseph F. Garvey, Clark D. Jeffries
  • Patent number: 7096465
    Abstract: A process control system is configured via manipulation of objects that model system components, e.g., sensors, blocks, control processors, historians, workstations, etc. Individual objects include parameters that characterize the underlying components and/or the behavior of the objects themselves. These parameters are derived from the “parents,” from which the objects are created. Derived characteristics need not be defined explicitly but, rather, are defined implicitly or by reference. These derived characteristics may be overridden for an individual object and, thereby, its progeny. Although objects have class-like characteristics (i.e., insofar as they are definitional in nature), they can be created at configuration time, without the need for recompilation.
    Type: Grant
    Filed: November 23, 1999
    Date of Patent: August 22, 2006
    Assignee: Invensys Systems, Inc.
    Inventors: Steven Dardinski, Keith Eldridge, Robert Hall, Mark Johnson, Brian McKay, Paul Meskonis, Scott Volk
  • Patent number: RE39302
    Abstract: An intelligent help system which processes information specific to a user and a system state is described. The system incorporates a monitoring device to determine which events to store as data in an historical queue. These data, as well as non-historical data (e.g., system state), are stored in a knowledge base. An inference engine tests rules against the knowledge base data, thereby providing a help tag. A display engine links the help tag with an appropriate solution tag to provide help text for display.
    Type: Grant
    Filed: August 17, 1999
    Date of Patent: September 19, 2006
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Charles D. Lanier, Richard J. Wolf, Leticia Villegas Butner