Abstract: A method and a corresponding apparatus for inventoring software products on a plurality of computer are proposed. The inventoring system aims at populating a software catalog without the manual intervention of an administrator. The present invention reduces the cost of producing and maintaining a comprehensive knowledge base (the catalog) which contains definitions of software products and the related signature. Information about software products and their related signature is obtained through a process which gathers information from a potentially very large collection of computers. Any occurrence of a group of identical files across multiple computers is considered a reliable indicator that they belong to the installation footprint of a product.
Type:
Grant
Filed:
August 1, 2012
Date of Patent:
November 4, 2014
Assignee:
International Business Machines Corporation
Abstract: A software-implemented workflow engine is described that executes a Web mashup within the context of a Web browser running on a computer. The workflow engine is configured to parse a Web mashup definition obtained from a remote server to identify distinct units of execution within the Web mashup, referred to as components. The workflow engine is further configured to obtain programming logic and metadata associated with each type of component identified in the Web mashup definition from the remote server and to use such information to generate executable versions of the identified components. Finally, the workflow engine is configured to run each of the executable components, thereby executing the Web mashup. The workflow engine is configured to manage the order of execution of each of the executable components so that the Web mashup runs in an optimized and reliable fashion.
Type:
Grant
Filed:
November 18, 2008
Date of Patent:
October 28, 2014
Assignee:
Microsoft Corporation
Inventors:
Timothy S. Rice, Andrew R. Sterland, Patrick Chi Wai Wong, Adam D. Nathan
Abstract: An apparatus, process, and computer program product to merge types in an object-oriented program is disclosed herein. In one embodiment, a process may include analyzing a method within an object-oriented program to identify merge candidates. These merge candidates may then be recorded in a merge candidate list. The process may further include identifying at least two code paths in the method that merge into a single code path and that operate on different types. The types in these code paths may then be merged to a nearest common superclass listed in the merge candidate list. In selected embodiments, the types may be merged to the java.lang.Object class in the event the merge candidate list is empty.
Type:
Grant
Filed:
November 29, 2008
Date of Patent:
October 28, 2014
Assignee:
International Business Machines Corporation
Inventors:
Peter Wiebe Burka, Thomas Mark Walter Bottomley
Abstract: A system, method, and framework resulting therefrom, for a model-driven dashboard for business performance management, which includes capturing business dashboard model requirements at a business model level by providing at least one user-customizable model for capturing functionality of a dashboard, and after the user defines the functionality of the dashboard using the at least one user-customizable model, automatically generating code for a deployable dashboard application.
Type:
Grant
Filed:
January 3, 2007
Date of Patent:
September 23, 2014
Assignee:
International Business Machines Corporation
Abstract: Disclosed is a method and system for debugging XML files or documents by inserting a breakpoint into an XML file and converting the XML file into a bytecode format, where the breakpoint is propagated into the bytecode format and stored in runtime libraries. During runtime, on encountering the breakpoint, the location of the breakpoint is internally determined in the bytecode and points to the location of the breakpoint in the XML file.
Type:
Grant
Filed:
June 18, 2013
Date of Patent:
September 16, 2014
Assignee:
International Business Machines Corporation
Abstract: To provide a program performance analysis apparatus that can present to a user whether tuning made to a program operating on a predetermined hardware is either good or bad, a performance information acquisition unit for obtaining the performance information of a program, a difference information generation unit for generating difference information by making a comparison between the performance information of a first program and that of a second program obtained by making a change to the first program, and a change evaluation unit for evaluating whether the change is either good or bad are comprised.
Abstract: Systems and methods are provided for using monads to facilitate complex computation tasks in a cloud computing environment. In particular, monads can be employed to facilitate creation and execution of data mining jobs for large data sets. Monads can allow for improved error handling for complex computation tasks. Monads can also facilitate identification of opportunities for improving the efficiency of complex computations.
Abstract: A method for implementing a software installation process so as to install, modify or uninstall a software program. The software installation process has a plurality of sequential steps, and the method comprises recording, for each sequential step commenced, step metadata identifying the sequential step so that the step metadata is associated with the software program. The step metadata is recorded in recoverable storage.
Type:
Grant
Filed:
March 14, 2006
Date of Patent:
August 12, 2014
Assignee:
International Business Machines Corporation
Abstract: A method and apparatus for executing a first executable code image having a first version number into a memory of a device in an attempt to establish an operating environment of the device are described. The first executable code image retrieves a second version number from the second executable code image after successfully authenticating the second executable code image. If the first version number and the second version number do not satisfy a predetermined relationship, the second executable code image is prevented from being loaded by the first executable code image.
Type:
Grant
Filed:
July 5, 2012
Date of Patent:
July 22, 2014
Assignee:
Apple Inc.
Inventors:
Dallas Blake De Atley, Joshua de Cesare, Michael Smith, Jerry Hauck, Jeffrey Bush
Abstract: Provided are an apparatus and method for OpenVG API translation, a mobile terminal comprising the translation apparatus, and a record medium storing the translation program. The apparatus comprises a data parsing unit, an OpenVG API script creating unit, and a raster image data output unit. The data parsing unit parses SVG format data depending on a data attribute. The OpenVG API script creating unit extracts an OpenVG API format syntax and creates an OpenVG API script. The raster image data output unit creates and outputs raster image data associated with the created OpenVG API script.
Abstract: A method and system for testing and logging execution events of software delivered to a user. The user can launch and run the software product while having the support and a necessary input from the product developer. A software product is provided from a first remote server and executed on a user computer, while execution statistics are collected and analyzed by a second remote server. The software product is used in a virtual execution environment. The software product is executed on a Guest Operating System (GOS) also installed on the user computer. A hypervisor-level monitoring of tested software products and GOSs is implemented.
Type:
Grant
Filed:
April 3, 2010
Date of Patent:
July 8, 2014
Assignee:
Parallels IP Holdings GmbH
Inventors:
Anton A. Enakiev, Alexander G. Tormasov, Alexey B. Koryakin, Serguei M. Beloussov
Abstract: A list of constructs is displayed on a user interface screen for a user to select a desired construct. A construct selected by the user is determined. Computing environments are presented on the user interface screen for the user to place the selected construct. The computing environments include at least one textual and at least one graphical computing environment. A selected computing environment into which the selected construct is being placed is identified. A position of the placed construct in the selected computing environment is determined. A template based on the selected computing environment is selected. The selected template is inserted into the selected computing environment.
Abstract: An embodiment of the present invention is a technique to hide latency in program traces. Blocks of instructions between start and end of a critical section are associated with color information. The blocks correspond to a program trace and containing a wait instruction. The wait instruction is sunk down the blocks globally to the end of the critical section using the color information and a dependence constraint on the wait instruction.
Type:
Grant
Filed:
November 18, 2005
Date of Patent:
July 1, 2014
Assignee:
Intel Corporation
Inventors:
Xiaofeng Guo, Jinquan Dai, Long Li, Zhiyuan Lv
Abstract: An apparatus, network and methods for software model derivation and normalization are provided. In one embodiment a meta-model is derived from a plurality of software applications. The meta-model is independent of any particular software application. A number of software models are derived each compliant with the meta-model. A customer specific software application may then be derived from the models and an enterprise resource planning software application. This Abstract is provided for the sole purpose of complying with the Abstract requirement rules that allow a reader to quickly ascertain the subject matter of the disclosure contained herein. This Abstract is submitted with the explicit understanding that it will not be used to interpret or to limit the scope or the meaning of the claims.
Type:
Grant
Filed:
December 29, 2006
Date of Patent:
June 17, 2014
Assignee:
International Business Machines Corporation
Abstract: The present invention is an abstraction layer that “hides” the complexity of underlying workflow engine and provides a unified application programming interface (API) to access underlying workflow functions. The abstraction layer of the present invention serves as a gateway between application flow logic and one or more workflow engines and allows an application to build flow implementation logic once and then be able to run on various workflow engines without significant code changes. The present invention also enables different workflow engines to run concurrently to support one application and without the need for applications to migrate or consolidate to one workflow engine.
Type:
Grant
Filed:
March 9, 2006
Date of Patent:
June 10, 2014
Assignee:
Verizon Services Corp.
Inventors:
Zhong Chen, Hongqi Jia, Chunsheng Chen, Gang Fu
Abstract: A system and method accepts source code for one or more procedures and, for those procedures flagged as being remotely callable, generates communication code and a description that allows the code to be remotely callable via a server using a variety of formats, such as conventional web services formats.
Abstract: A method configures, in a semi-automatic manner, a communication device, connected to a packet-switched network, especially Internet, for communication with another, especially remote, subscriber. For this purpose, configuration data are provided on a configuration/software update server and are retrieved by the user of the device according to the user-specific or device-specific conditions by selecting from at least two types of inquiry data characterizing the conditions, e.g. inquiry data containing first country information items and second inquiry data containing second Internet service provider information items, and determination data.
Type:
Grant
Filed:
March 8, 2007
Date of Patent:
June 3, 2014
Assignee:
Gigaset Communications GmbH
Inventors:
Marco Bambach, Anton Kruk, Jürgen Stahl
Abstract: According to one embodiment, a first program code including a plurality of variables is converted to a second program code to be executed by a multi-core processor including a plurality of cores. Specifically, an access pattern of each variable in the first program code is decided. All variables in the first program code are classified into a plurality of groups each of which variables belong to the same access pattern. A member structure of each group having variables belonging to the same access pattern is created. Each member structure includes variables of one group. A route-pointer indicating an address (in a memory) of variables of the member structure is created. The variables in the first program code are converted to the member structure and the route-pointer (in the second program code) that indicate the variables. The second program code is outputted to the multi-core processor.
Type:
Grant
Filed:
January 25, 2011
Date of Patent:
May 20, 2014
Assignee:
Kabushiki Kaisha Toshiba
Inventors:
Nobuaki Tojo, Ken Tanabe, Hidenori Matsuzaki
Abstract: A method and apparatus for enabling a Software Transactional Memory (STM) with precompiled binaries is herein described. Upon encountering an access operation in a transaction, an annotation field associated with a memory location referenced by the access is checked. In response to the memory location representing a previous similar access within the transaction, the access is performed without access barriers. However, if the annotation field is in a default state representing no previous access during a pendancy of the transaction, then a mode of the processor is determined. If the processor mode is in implicit mode, an access handler/barrier is asynchronously executed. Conversely, in an explicit mode, a flag is set instead of asynchronously executing the handler. In addition, during compilation convert explicit and convert implicit instructions are inserted to intelligently convert modes for precompiled and newly compiled binaries.
Abstract: Quality of modularization of source code is tested using different perspectives such as a structural modularity perspective, an architectural modularity perspective, a size perspective, and a similarity of purpose perspective. A history of changes in modularization may be kept such that the degree to which given source code is well-modularized can be determined over time. The changes made to the code by individual programmers may be kept, such that the degree to which their coding enhanced or harmed modularization may be tracked.