Patents Examined by Michael J. Yigdall
  • Patent number: 8015554
    Abstract: An analysis and source-to-source transformation framework covers dialects of programming languages that lack formal definition for all individual dialects. Multiple instantiations of the same compiler front-end tools can be used with different settings to create distinct intermediate forms and maps. Intermediate forms and maps are used in an individual analysis and source-to-source transformation context, and performing the analysis and source-to-source transformation thereupon. A unified tool set is desirably provided, including standard compiler front-end tools and code transformation/generation tools, wherein source code edits are carried out in order to make the source code more amenable to translation to intermediate forms. The analysis results or intermediate forms created by individual tools are used by other tools as well as further analyzed to create a map of the regions of validity and invalidity of the intermediate forms, and tracking the source-code edits performed in order to obtain the same.
    Type: Grant
    Filed: March 24, 2006
    Date of Patent: September 6, 2011
    Assignee: International Business Machines Corporation
    Inventor: Pradeep Varma
  • Patent number: 8006237
    Abstract: A method of dynamic real time translation of first program code written for a first programmable machine into second program code (target code) for running on a second programmable machine employing run time generation of an intermediate representation of the first program code. Upon first encountering a given portion of program code, only the target code necessary to execute that portion of program code under a prevailing set of entry conditions is initially generated and stored. When the same portion of program code is again encountered, a determination is made as to whether intermediate representation corresponding to a second subsequent set of conditions has been generated. If not, the target code necessary to execute the same portion of program code under that second set of conditions is generated.
    Type: Grant
    Filed: March 27, 2007
    Date of Patent: August 23, 2011
    Assignee: International Business Machines Corporation
    Inventors: Jason Souloglou, Alasdair Rawsthorne
  • Patent number: 7996855
    Abstract: A personal messaging application programming interface can be utilized by a developer in order to add groupware functionality to an application. The interface can include various schemas and providers that allow the schemas to connect to a collaboration server which provides the groupware functionality. The schemas can further include item and container classes and can extend other schemas so as to provide functionality that is more specific to the collaboration server. The items and containers can represent various entities on the collaboration server. The providers can use stubs in order to create connections to the collaboration server and can implement the schema hierarchy so as to map the functionality defined by the schema into various core calls on the collaboration server.
    Type: Grant
    Filed: September 15, 2006
    Date of Patent: August 9, 2011
    Assignee: Oracle International Corporation
    Inventors: Pete Heist, Nathan Cole, Jonathan Michael Hurley, Kevin John Agatone, Jeffrey Thomas Sposetti
  • Patent number: 7996826
    Abstract: A method is provided for receiving a digital broadcast, which contains a virtual machine application program that is to be executed. The method includes receiving a virtual machine application program signal, downloading a virtual machine application program, ahead-of-time (AOT) compiling virtual machine instruction code included in the downloaded virtual machine application program before executing the downloaded virtual machine application program, and executing the compiled virtual machine instruction code using a virtual machine.
    Type: Grant
    Filed: September 16, 2005
    Date of Patent: August 9, 2011
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Chong-mok Park, Seung-bum Chung, Duke-man Hur
  • Patent number: 7996819
    Abstract: A method for eliminating ambiguity and incorrectness of the specification determined in a requirement defining phase in developing an information system, and systematically verifying whether an automatically executed test scenario agrees with the original requirements in a functional testing phase, includes extracting an input variable, an output variable, and the respective types of the variables from a specification file in screens; extracting screen-transition information from a composite functional specification containing specifications in screens; and executing the following processes from the top for each screen that appears in screen transition. For the input variable, the apparatus generates a test script indicative of an action (clicking or a character set) corresponding to an object associated with the input variable. For the output variable, the apparatus generates a test script for comparing text information displayed on a screen with an expected value determined from the output variable.
    Type: Grant
    Filed: October 7, 2009
    Date of Patent: August 9, 2011
    Assignee: International Business Machines Corporation
    Inventor: Akira Okada
  • Patent number: 7992140
    Abstract: A compiler supporting a language in which selected semantic objects are represented as data objects. The data objects may be used in multiple ways to expand the capabilities of the programming language. Data objects may be passed to applications and used to create executable instructions for that application. In this way, instructions written in the native language of the compiler may be used to control applications that accept programs in a language inconsistent with the native language of the compiler. The syntax checking and variable binding capabilities of the compiler may be used for those instructions that will be executed by an application separate from the object code generated by the compiler. The semantic objects represented as data objects may be selected based on express operations included in the source code or may be based on implicit type conversion.
    Type: Grant
    Filed: July 29, 2005
    Date of Patent: August 2, 2011
    Assignee: Microsoft Corporation
    Inventors: Henricus Johannes Maria Meijer, Anders Hejlsberg, Matthew J. Warren, Dinesh Chandrakant Kulkarni, Luca Bolognese, Peter A. Hallam, Gary S. Katzenberger, Donald Box
  • Patent number: 7992093
    Abstract: Various methods of programming a processing system utilizing a computer having a configuration canvas, at least one processor, and a plurality of function objects is disclosed. A processing configuration is created by placing object icons associated with function objects onto the canvas. Execution paths are automatically routed between the object icons based on orientations of icons on the canvas. Data flow paths are created between object icons on the canvas separately from the routings of the execution paths. Execution paths can be re-routed to increase the versatility of the processing system. Also, visual instruments and instrument icons can be utilized to further graphically illustrate and control the processing configuration.
    Type: Grant
    Filed: February 25, 2005
    Date of Patent: August 2, 2011
    Assignee: Beptech Inc.
    Inventors: Andrew R. Osborn, Charles K. Cowham, Sarah L. Brown, Stephen H. Briers, Stephen W. Burgess, Alan P. Newson, Kyle M. Rhodes
  • Patent number: 7987458
    Abstract: Embodiments described herein disclose the use of a compiler pre-processing component for the optimization of a firmware image so that it can be made to take up less space in a memory device without the use of compression. Embodiments identify repeated modules or common components across previously separate binary firmware modules within a body of software and automatically and seamlessly merge the content of these modules so they occupy less space in their binary form. The overhead footprint of the binary is reduced without modifying the pre-existing source code defining the individual components. In general, the resulting space savings is additive to the savings provided by existing compression savings techniques.
    Type: Grant
    Filed: September 20, 2006
    Date of Patent: July 26, 2011
    Assignee: Intel Corporation
    Inventors: Michael A. Rothman, Vincent J. Zimmer, Andrew J. Fish, Penny Gao, Bin Xing
  • Patent number: 7987453
    Abstract: A method, apparatus, and computer instructions for determining computer flows autonomically using hardware assisted thread stack and cataloged symbolic data. When a new thread is spawned during execution of a computer program, new thread work area is allocated by the operating system in memory for storage of call stack information for the new thread. Hardware registers are set with values corresponding to the new thread work area. Upon context switch, values of the registers are saved in a context save area for future restoration. When call stack data is post-processed, the operating system or a device driver copies call stack data from the thread work areas to a consolidated buffer and each thread is mapped to a process. Symbolic data may be obtained based on the process identifier and address of the method/routine that was called/returned in the thread. Corresponding program flow is determined using retrieved symbolic data and call stack data.
    Type: Grant
    Filed: March 18, 2004
    Date of Patent: July 26, 2011
    Assignee: International Business Machines Corporation
    Inventors: Jimmie Earl DeWitt, Jr., Frank Eliot Levine, Christopher Michael Richardson, Robert John Urquhart
  • Patent number: 7984436
    Abstract: Physical components that share common attributes in a software product are combined into logical groupings. A product matrix also lists logical groupings that are included into each software product listed in the product matrix. A compatibility matrix indicates whether any two logical groupings listed in the product matrix are compatible. When a new product is provided for an installation, the compatibility matrix is consulted to determine whether any two logical groupings of the new product and installed product are compatible. An installation can proceed or be terminated based on the compatibility determination.
    Type: Grant
    Filed: September 27, 2005
    Date of Patent: July 19, 2011
    Assignee: Intuit Inc.
    Inventor: Calum Murray
  • Patent number: 7984435
    Abstract: Disclosed herein is an electronic device having an update agent capable of updating application software employing reference software and an update package generated based on the reference software. The update agent may be employed by the electronic device to perform the update. When a user of an electronic device installs an application software, reference software may also be installed during the same installation to support subsequent updates to the application software. In a personal computer, application software may be loaded from a CDROM that may also provide reference software. Both application software and reference software may be installed during the same installation onto the PC from the CDROM. Update packages may also be generated based on the reference software and the number of update packages to be generated. Disclosed herein is a method and system where multiple update transitions may be reduced to a single update transition.
    Type: Grant
    Filed: October 17, 2003
    Date of Patent: July 19, 2011
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventor: Antti Kokkinen
  • Patent number: 7984416
    Abstract: A class definition syntax that leverages the array and math-oriented nature of a dynamically typed array-based programming language is discussed. The present invention provides a simplified mechanism for the creation of element-wise methods. Additionally, a mechanism for defining derived classes in a dynamically typed array-based programming language using mathematical set notation and semantics is also supported.
    Type: Grant
    Filed: March 24, 2006
    Date of Patent: July 19, 2011
    Assignee: The MathWorks, Inc.
    Inventor: David A. Foti
  • Patent number: 7979856
    Abstract: Methods and systems for network-based or Internet-based software delivery are described. In one embodiment, an application program or software platform resides on a client. The program or platform is configured so that it is extensible based on software extensions that are deliverable over a network such as the Internet. In the described embodiment, extension files that comprise a software extension are hosted on an Internet server. Additional files are also hosted on the Internet server and describe aspects of the software extension. Extensions are incorporated on a client by navigating to a particular Internet site through which the extensions can be accessed. The files describing the extension files are downloaded on the client. The extension files are then downloaded and incorporated into the program or platform.
    Type: Grant
    Filed: September 1, 2005
    Date of Patent: July 12, 2011
    Assignee: Microsoft Corporation
    Inventors: Michael C. Murray, Paul R. Erickson, Oliver G. Fisher, Suryanarayanan V. Raman
  • Patent number: 7979844
    Abstract: This invention teaches a way of implementing formally verified massively parallel programs, which run efficiently in distributed and shared-memory multi-core chips. It allows programs to be developed from an initial abstract statement of interactions among parallel software components, called cells, and progressively refine them to their final implementation. At each stage of refinement a formal description of patterns of events in computations is derived automatically from implementations. This formal description is used for two purposes: One is to prove correctness, timings, progress, mutual exclusion, and freedom from deadlocks/livelocks, etc. The second is to automatically incorporate into each application a Self-Monitoring System (SMS) that constantly monitors the application in parallel, with no interference with its timings, to identify and report errors in performance, pending errors, and patterns of critical behavior.
    Type: Grant
    Filed: May 5, 2009
    Date of Patent: July 12, 2011
    Assignee: EDSS, Inc.
    Inventor: Chitoor V. Srinivasan
  • Patent number: 7975264
    Abstract: In an embodiment of the present invention, a patch tool receives multiple patches, with each patch designed to fix a corresponding subset of a set of errors in a system. The patch tool determines a subset of patches, which together fix all of the set of errors, and deploys only the subset of patches in the system. The patches may be received over a period of time and the subset of patches are determined and deployed in a batch mode.
    Type: Grant
    Filed: January 23, 2007
    Date of Patent: July 5, 2011
    Assignee: Oracle International Corporation
    Inventors: Vijay Nichinbatl Sriram, I, PhiDien Nguyen, II, Shamik Ganguly, III
  • Patent number: 7975265
    Abstract: A system and method are disclosed for providing installation support to a user of a computer system. A method incorporating teachings of the present disclosure may include launching an installation tool in connection with installation of a peripheral driver. The tool may have capabilities that include, for example, capturing an install status at a plurality of predefined points in an install routine. During installation, an error may be detected at one of the predefined points and a diagnostic routine may be launched in response. The method may also include considering an accounting of the captured install states and using this information to help generate an action script crafted to resolve the detected install error.
    Type: Grant
    Filed: July 8, 2004
    Date of Patent: July 5, 2011
    Assignee: AT&T Intellectual Property I, L.P.
    Inventors: Jeffrey B. Schnoebelen, Philip Ted Kortum, Adam Lee Klein, Marcel M. Soens, Jamie Andrew Fisher, Wesley M. McAfee
  • Patent number: 7975260
    Abstract: A method includes generating a list of shared and private memory regions of a debuggee. A thread is injected into the debuggee for generating the list and communicating with the debugger. Associated shared memory region handles are added to the list. The handles are used to map the shared memory regions of the debuggee to a debugger. New shared memory regions corresponding to the private memory regions of the debuggee are created and mapped to the debugger. Handles for the new shared memory regions are provided to map the new shared memory regions to the debuggee. The debuggee private memory regions are freed. The new shared memory regions are mapped to respective virtual addresses of the debuggee corresponding to the respective freed private memory regions. In this manner, content of debuggee memory regions is directly accessible by the debugger, and computer processing resources are conserved.
    Type: Grant
    Filed: January 27, 2006
    Date of Patent: July 5, 2011
    Assignee: Symantec Corporation
    Inventor: Matthew Conover
  • Patent number: 7970729
    Abstract: A method of modeling an enterprise includes storing core objects, where the core objects include an information object defining information used in the enterprise, a participant object defining a participant in the enterprise, an enabler object defining a tool used in the enterprise, and an activity object defining a process performed in the enterprise, and storing relationship objects that define interactions between two or more of the core objects.
    Type: Grant
    Filed: November 18, 2004
    Date of Patent: June 28, 2011
    Assignee: SAP Aktiengesellschaft
    Inventor: Matthew Cozzi
  • Patent number: 7971190
    Abstract: In general, in one aspect, the disclosure describes a method that includes interrupting a program running on a processor. The active instruction that was interrupted is identified. Event counts since a previous interrupt are harvested.
    Type: Grant
    Filed: November 30, 2006
    Date of Patent: June 28, 2011
    Assignee: Intel Corporation
    Inventors: Bob Davies, James Chapple, William K. Cheung, Guoping Wen, Carolyn Dase, Dan Nowlin
  • Patent number: RE42579
    Abstract: A system for programming a computer provides a set of software-based virtual machines each for instructing a computer to carry out a selected operation. Each virtual machine is represented by a virtual front panel displayed on a screen and each virtual front panel graphically displays operator controllable values of input and output parameters utilized by the virtual machine it represents. The system is adapted to synthesize a new virtual machine for instructing the computer to perform a sequence of operations wherein each operation is carried out by the computer according to the instructions of an operator selected one of the existing virtual machines. The system also creates a new virtual front panel for displaying input and output parameters associated with the new virtual machine. The system permits the operator to program the computer by directing synthesis of a hierarchy of virtual machines.
    Type: Grant
    Filed: May 30, 2006
    Date of Patent: July 26, 2011
    Assignee: National Instruments Corporation
    Inventors: Kasi S. Bhaskar, James K. Peckol