Patents Examined by Michael J. Yigdall
  • Patent number: 7725889
    Abstract: A mobile handset in a mobile services network, with access to a plurality of services including a firmware/software update service, is also capable of updating its update agent using an appropriate update package. The update package is retrieved from an update package repository via a management server. In one embodiment, the existing update agent is copied to a backup section before the update agent itself is updated. On the subsequent reboot, the new update agent is employed unless it is determined that it is corrupted or ineffective, in which case the old update agent is reactivated.
    Type: Grant
    Filed: January 13, 2004
    Date of Patent: May 25, 2010
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: James P. Gustafson, Shao-Chun Chen, Toni Pakarinen, Do P. Nguyen, Sunil Marolia, Karl W. Hammerberg
  • Patent number: 7721275
    Abstract: A system and method to perform post pass optimizations in a dynamic compiling environment. A dynamic compiler emits machine code. Responsive to the emission of the machine code a post pass processor creates an abstract representation of the code from the dynamic compiler. Data flow analysis is then conducted on the abstract representation. Redundant instructions in the machine code are identified and eliminated as a result of the data flow analysis.
    Type: Grant
    Filed: May 14, 2004
    Date of Patent: May 18, 2010
    Assignee: SAP AG
    Inventors: Daniel Kestner, Mirko Luedde, Richard Reingruber, Holger Stasch, Stephan Wilhelm
  • Patent number: 7721254
    Abstract: A programming interface provides functions for generating applications, documents, media presentations and other content. These functions allow developers to obtain services from an operating system, object model service, or other system or service.
    Type: Grant
    Filed: October 24, 2003
    Date of Patent: May 18, 2010
    Assignee: Microsoft Corporation
    Inventors: Rob Relyea, Jeff Bogdan
  • Patent number: 7721265
    Abstract: Systems, methods, apparatus and software can be implemented to provide a debugger agent, either separate form or integrated into the script-based testing platform, to coordinate the selection, activation, and or/operation of debuggers suitable for a particular unit and program under test. Such a debugger agent can provide run time monitoring and debugging activities where previously not possible. The debugger agent is generally independent agent, in that it can work with a variety of types of test scripts, test script handlers, programming languages, and debuggers without customization. Moreover, implementation generally needs no code instrumentation.
    Type: Grant
    Filed: April 2, 2004
    Date of Patent: May 18, 2010
    Assignee: Cisco Technology, Inc.
    Inventors: Jun Xu, Christopher H. Pham
  • Patent number: 7716661
    Abstract: A method and system for updating an OS of an embedded device. The embedded device provides its current OS version information to a mobile operation network via a SMS message. The embedded device can provide its current OS version information to a mobile operation network in response to a request from a mobile operator network that has implemented the SyncML specifications promulgated by the Open Mobile Alliance (OMA). The mobile operator network interacts with the datacenter to provide the embedded devices's current OS version and get the address of the image update. The mobile operator service sends the address to the embedded device via another SMS message. The embedded device downloads the image update using the RF link via a global packet radio service (GPRS) connection.
    Type: Grant
    Filed: March 16, 2005
    Date of Patent: May 11, 2010
    Assignee: Microsoft Corporation
    Inventors: Jeffrey Michael Paul, Yuguo Liu, Donghoon Park, Raymond Robert O'Brien
  • Patent number: 7716651
    Abstract: An improved system and method for a context-awareness platform that may be used to adapt an execution environment is provided. A framework with interfaces for setting, tracking, and getting context information about the execution environment of a computer system includes a context engine and a unified data store for aggregating context information at a platform level for access by executables running on the platform. The context engine may receive requests to perform context information operations from executables such as setting, tracking and getting context information in the data store. Upon receiving a notification of a change in context information, one or more executables may change the execution environment such as reconfiguring system settings. In this way, an executable may adapt its execution environment using context information.
    Type: Grant
    Filed: January 26, 2005
    Date of Patent: May 11, 2010
    Assignee: Microsoft Corporation
    Inventors: Ryan Edward Cukierman, Christopher Michael Hahn, Vikram Madan, Ravipal Soin, Kamesh Chander Tumsi Dayakar
  • Patent number: 7712077
    Abstract: A method and system for instantiating COM components in custom contexts are proposed. The solution of the invention is based on an auxiliary component, acting as a factory (215). Whenever a client (205) needs to instantiate a new target component in a desired custom context, it calls a dedicated method exposed by the factory, passing the identifier of the target component together with information about the custom context. The factory starts execution of an additional module, operating as an impersonator (225), in a new process (230) conforming to the custom context. The impersonator then instantiates the target component in its own process. The impersonator passes a pointer for the target component to the factory (calling a further method that is exposed by the factory); the factory in turn returns that pointer to the client.
    Type: Grant
    Filed: January 13, 2005
    Date of Patent: May 4, 2010
    Assignee: International Business Machines Corporation
    Inventors: Francesco Carusi, Vincenzo Sciacca
  • Patent number: 7712092
    Abstract: An efficient binary translator uses peephole translation rules to directly translate executable code from one instruction set to another. In a preferred embodiment, the translation rules are generated using superoptimization techniques that enable the translator to automatically learn translation rules for translating code from the source to target instruction set architecture.
    Type: Grant
    Filed: February 12, 2008
    Date of Patent: May 4, 2010
    Assignee: The Board of Trustees of the Leland Stanford Junior University
    Inventors: Sorav Bansal, Alex Aiken
  • Patent number: 7712073
    Abstract: A system and method for engineering data into interface control documents is provided. The method includes creating and loading an interface control document by selecting features of an interface control document to create, providing a standards document having interface control document standards, and providing a case tool for maintaining interface control documents. The method provides for generating the interface control document using the standards document and based upon the selected features, and storing the interface control document in the case tool. The method includes designating a document having data attributes for the interface control document, reading at least some of the data attributes from the document, loading at least some of the data attributes read from the document into the interface control document, and storing the interface control document having at least some of the data attributed in the case tool.
    Type: Grant
    Filed: December 23, 2003
    Date of Patent: May 4, 2010
    Assignee: Sprint Communications Company L.P.
    Inventors: Lavanya Srinivasan, Courtlan M. Telford, Nalledath P. Vinodkrishnan, Cong Xu
  • Patent number: 7707559
    Abstract: Where code execution results in an error attributable to multiple data elements, the code is revised so the error results from one element. Where execution improperly functions without error, and the elements contain required but missing properties, the code is improperly functioning in its required-property handling. Errors are organized into classes and error-causing elements are organized into independent sets corresponding to the classes. Elements that are not within any set are determined. Symptom, error, no-error, refined-symptom, and function databases can be employed during code execution analysis. Symptom database entries correspond to elements and indicate errors, or that no errors, are attributable to the elements. Error database entries correspond to elements resulting in errors upon execution. No-error database entries correspond to elements resulting in no errors upon execution. Refined-symptom database entries correspond to root cause elements of errors.
    Type: Grant
    Filed: August 30, 2005
    Date of Patent: April 27, 2010
    Assignee: International Business Machines Corporation
    Inventor: Venkat A. Reddy
  • Patent number: 7707551
    Abstract: A cross-platform development system includes a computing device that generates an image of an operating system, and a software development peripheral connected to the computing device that runs the operating system corresponding to the image. The software development peripheral communicates information, such as image data, generated by the operating system back to the computing device where the information is displayed on a display device connected to the computing device.
    Type: Grant
    Filed: December 30, 2004
    Date of Patent: April 27, 2010
    Assignee: Microsoft Corporation
    Inventors: David Kelley, Larry Morris, Sridhar S. Mandyam
  • Patent number: 7698701
    Abstract: A method for adapting a provisioned content of an application program on a mobile device, the content of the application being partitioned into a set of addressable logical modules, the method comprising the steps of provisioning a first group of logical modules selected from the set of logical modules to provide provisioned content on the device, monitoring execution path information of the provisioned content during execution on the device, evaluating the execution path information to adapt the provisioned content by one or more of adding logical modules to the first group from the set of logical modules, removing logical modules from the first group of logical modules or suspending logical modules from the first group of logical modules, to form a second group of logical modules, revising the first group of logical modules to correspond to the second group of logical modules to provide a revised content; and adapting the provisioned content of the application on the terminal to correspond to the revised co
    Type: Grant
    Filed: February 27, 2004
    Date of Patent: April 13, 2010
    Assignee: Research in Motion LImited
    Inventors: Bryan R. Goring, Michael Shenfield, Viera Bibr
  • Patent number: 7698685
    Abstract: The present invention extends to methods, systems, and computer program products for discovering, qualifying, and activating software add-in components. An add-in components manager discovers one or more add-in components at the computer system are of a specified type of add-in component requested by an application. The add-in component manager qualifies at least one discovered add-in component based on the at least one discovered add-in component satisfying one or more qualification constraints. The one or more qualification constraints are representative of functionality that is to be associated with an add-in component for the add-in component to interoperate with the application in a desired manner. The add-in component manager activates a qualified add-in component in accordance with the one or more qualification constraints for use with the application.
    Type: Grant
    Filed: October 12, 2005
    Date of Patent: April 13, 2010
    Assignee: Microsoft Corporation
    Inventors: Brian Pepin, James Slocum Miller, Thomas Edward Quinn, Jr., Jeffrey Marc Richter
  • Patent number: 7689971
    Abstract: Methods and apparatuses provide for referencing thread local variables (TLVs) with techniques such as stack address mapping. A method may involve a head pointer that points to a set of thread local variables (TLVs) of a thread. A method according to one embodiment may include an operation for storing the head pointer in a global data structure in a user space of a processing system. The head pointer may subsequently be retrieved from the global data structure and used to access one or more TLVs associated with the thread. In one embodiment, the head pointer is retrieved without executing any kernel system calls. In an example embodiment, the head pointer is stored in a global array, and a stack address for the thread is used to derive an index into the array. Other embodiments are described and claimed.
    Type: Grant
    Filed: August 9, 2004
    Date of Patent: March 30, 2010
    Assignee: Intel Corporation
    Inventors: Jinzhan Peng, Xiaohua Shi, Guei-Yuan Lueh, Gansha Wu
  • Patent number: 7685594
    Abstract: The present invention provides a method of configuring a package that enables the reduction of load on a network without a temporary need for a large recording area on the client side when reconfiguring a software package from given components. A second computer receives, from a first computer, combination information on a combination of one or more components and position information indicating storage locations of components recorded in the first computer, receives a selection of given components from a user, determines the combination of the components selected based on the combination information, receives the selected components based on the determination of the combination and the position information corresponding to the selected components, and configures the secondary software package using the received components.
    Type: Grant
    Filed: July 18, 2006
    Date of Patent: March 23, 2010
    Assignee: International Business Machines Corporation
    Inventors: Tadashi Yamamoto, Naoki Yamakoshi
  • Patent number: 7685563
    Abstract: An extensible project system for software development is provided by allowing a flavor, with a specific purpose, to be applied to a base project system. More than one flavor may be applied. Where components are distributed objects, such as where COM (component object model) is used, the project system is assembled by aggregation of a base project object, which contains some data for creating a project system with a flavor object, which modifies the project system. The base project object is the participating object in the aggregation and the flavor object is the controlling object. Multiple flavors may be applied to create a project system intended for multiple purposes, corresponding to the applied flavors.
    Type: Grant
    Filed: March 1, 2004
    Date of Patent: March 23, 2010
    Assignee: Microsoft Corporation
    Inventors: Rahul Kumar, Joshua Shepard, Kevin Perry, Diane Melde, Izydor Gryko, C. Douglas Hodges, Jemy Huang, Christopher Joseph Burrows, Svetlozar Keremidarski
  • Patent number: 7685586
    Abstract: Global escape analysis using instantiated type analysis (ITA) is applied to a method of an object-oriented application to analyze control flow beginning with an invocation of the method. The instantiated type analysis methodology (inter-procedural control flow analysis) tracks instantiated objects, following both the flow of execution and the flow of these objects throughout the method invocations and field instances of the software, ultimately determining which instantiated objects do not escape. Not all method invocations must be followed and therefore a closed system is not required. This ITA algorithm has been enhanced for the purposes of escape analysis, so that is well-suited for runtime environments in which classes are loosely specified, or in circumstances in which a subset of a program is unavailable.
    Type: Grant
    Filed: March 19, 2009
    Date of Patent: March 23, 2010
    Assignee: International Business Machines Corporation
    Inventor: Sean C. Foley
  • Patent number: 7685572
    Abstract: A method for detecting a race condition using static analysis that includes determining a first permit set and a second permit set, and performing a static analysis, wherein the static analysis comprises using the first permit set and the second permit set to detect a race condition, wherein the static analysis is performed before accessing critical data and includes determining whether the intersection of the first permit set and the second permit set is empty, and if the intersection of the first permit set and the second permit set is empty, then outputting a value indicating the detection of a race condition.
    Type: Grant
    Filed: August 19, 2005
    Date of Patent: March 23, 2010
    Assignee: Sun Microsystems, Inc.
    Inventor: Donghai Qiao
  • Patent number: 7685590
    Abstract: Implementations provide a technology for generating a minimum delta between at least two program binaries. An implementation is given a source program (S) in a binary format and a target program (T) in a binary form. It constructs control flow graphs (CFGs) of each. It matches common blocks of the S's CFGs and T's CFGs. The blocks are matched based upon their content and their local neighborhoods. In addition, the register renaming problems is solved so that blocks can be fairly compared. This implementation produces an intermediate output, which is the content of unmatched blocks. It generates a set of edge edit operations for merging the unmatched blocks into S. The combination of the unmatched blocks and the edit operations is the delta. To patch S to produce a reconstructed copy of T, the delta is merged with S.
    Type: Grant
    Filed: March 15, 2006
    Date of Patent: March 23, 2010
    Assignee: Microsoft Corporation
    Inventors: Ramarathnam Venkatesan, Saurabh Sinha
  • Patent number: 7681190
    Abstract: Implementations provide a technology for generating a minimum delta between at least two program binaries. An implementation is given a source program (S) in a binary format and a target program (T) in a binary form. It constructs control flow graphs (CFGs) of each. It matches common blocks of the S's CFGs and T's CFGs. The blocks are matched based upon their content and their local neighborhoods. In addition, the register renaming problems is solved so that blocks can be fairly compared. This implementation produces an intermediate output, which is the content of unmatched blocks. It generates a set of edge edit operations for merging the unmatched blocks into S. The combination of the unmatched blocks and the edit operations is the delta. To patch S to produce a reconstructed copy of T, the delta is merged with S.
    Type: Grant
    Filed: March 15, 2006
    Date of Patent: March 16, 2010
    Assignee: Microsoft Corporation
    Inventors: Ramarathnam Venkatesan, Saurabh Sinha