Patents Examined by Hossain Morshed
  • Patent number: 10101974
    Abstract: An application development platform transmits to a content provider system instructions that provide a user interface for developing an application that specifies a first multi-step communication flow between a communications device and a communications system. The platform receives from parameters of a program functionality for inclusion in the application, and selects one or more recommended program modules based on the parameters. The platform transmits instructions that provide a user interface for displaying the one or more recommended program modules. The platform receives data indicating a user selection of a particular program module. In response, the platform transmits instructions that provide a user interface for enabling user configuration of the particular program module.
    Type: Grant
    Filed: July 31, 2014
    Date of Patent: October 16, 2018
    Inventors: Herbert Ristock, Petr Makagon, Josh Mahowald, Praphul Kumar
  • Patent number: 10055256
    Abstract: A processor includes a front end and a scheduler. The front end includes circuitry to determine whether to apply an acyclical or cyclical thread assignment scheme to code received at the processor, and to, based upon a determined thread assignment scheme, assign code to a static logical thread and to a rotating logical thread. The scheduler includes circuitry to assign the static logical thread to the same physical thread upon a subsequent control flow execution of the static logical thread, and to assign the rotating logical thread to different physical threads upon different executions of instructions in the rotating logical thread.
    Type: Grant
    Filed: February 29, 2016
    Date of Patent: August 21, 2018
    Assignee: Intel Corporation
    Inventors: Sebastian Winkel, Ethan Schuchman, Tyler Sondag, Girish Venkatasubramanian
  • Patent number: 10025585
    Abstract: Embodiments of the present invention disclose a method, computer program product, and system for applying a plurality of program patch sets on a plurality of computer programs. Virtual machines are prepared to be patchable, in response to a suspended computer program. Synchronized snapshots of the virtual machines are created. A plurality of binary code sections of each of the synchronized snapshots are determined. Symbol data information of each of the synchronized snapshots are analyzed, based on the program patch sets. The determined binary code sections are replaced with a set of patch data, based on the plurality of program patch sets, resulting in patched snapshots for each of the synchronized snapshots. Dependencies of the patch data are adjusted, based on the replaced plurality of binary code sections and the execution of the computer program on each of the virtual machines are resumed using the plurality of patched snapshots.
    Type: Grant
    Filed: May 6, 2016
    Date of Patent: July 17, 2018
    Assignee: International Business Machines Corporation
    Inventors: Jakob C. Lang, Angel Nunez Mencias, Thomas Pohl, Martin Troester
  • Patent number: 10025582
    Abstract: Embodiments of the present invention disclose a method, computer program product, and system for applying a plurality of program patch sets on a plurality of computer programs. Virtual machines are prepared to be patchable, in response to a suspended computer program. Synchronized snapshots of the virtual machines are created. A plurality of binary code sections of each of the synchronized snapshots are determined. Symbol data information of each of the synchronized snapshots are analyzed, based on the program patch sets. The determined binary code sections are replaced with a set of patch data, based on the plurality of program patch sets, resulting in patched snapshots for each of the synchronized snapshots. Dependencies of the patch data are adjusted, based on the replaced plurality of binary code sections and the execution of the computer program on each of the virtual machines are resumed using the plurality of patched snapshots.
    Type: Grant
    Filed: December 10, 2015
    Date of Patent: July 17, 2018
    Assignee: International Business Machines Corporation
    Inventors: Jakob C. Lang, Angel Nunez Mencias, Thomas Pohl, Martin Troester
  • Patent number: 10025697
    Abstract: A method, computer program product, and computer system for receiving, by a computing device, a selection of one or more files for which to have one or more automated unit tests generated for an application under test. An action in the application under test is received while the application under test is used. Behavior data of how the application under test responds to the action is tracked, wherein tracking is performed by inserting observer code using aspect oriented programming method, which tracks each method's interaction with its own objects and objects that are passed to it. An automated unit test of the one or more automated unit tests is generated for underlying code of the application under test invoked when receiving the action based upon, at least in part, the behavior data of how the application under test responds to the action.
    Type: Grant
    Filed: May 23, 2016
    Date of Patent: July 17, 2018
    Assignee: International Business Machines Corporation
    Inventors: Bernadette A. Carter, Pratyush Dhruv, Corrie Hy Kwan, Robert Retchless, Lauren J. Hayward Schaefer, Cesar A. Wong
  • Patent number: 10007782
    Abstract: One embodiment of the present invention provides system for facilitating replacement of a system function in an application with a customized function. During operation, the system shifts an existing load command in a file of an application to accommodate an additional load command. The system also adds the additional load command to the file. The additional load command identifies additional instructions that change a pointer of the application from a value that points to a system function to another value that points to a customized function.
    Type: Grant
    Filed: May 9, 2017
    Date of Patent: June 26, 2018
    Assignee: VMWARE, INC.
    Inventors: Manish Jawa, Haim Tebeka, Craig Newell
  • Patent number: 9983858
    Abstract: A computer-implemented method for generating code for real-time stream processing, where data is streamed in tuples, and where each tuple has a timestamp and a value. One or more processors receive source code. The source code includes: code to be applied in a sequential series to one or more tuples; a definition of a size of a sequence of tuples to be processed as a processing window; and a size of a sequence of earlier tuples that a current tuple depends upon as a dependence window. Processor(s) generate the code for real-time stream processing by: buffering received time sequence tuples in a buffer in accordance with the processing window and the dependence window; and converting the code to be sequentially applied to the one or more tuples into code for buffered tuples with a loop construct.
    Type: Grant
    Filed: November 10, 2017
    Date of Patent: May 29, 2018
    Assignee: International Business Machines Corporation
    Inventors: Frederic Chanson, Saniya Ben Hassen, Marc P. Yvon
  • Patent number: 9952837
    Abstract: A system and method supports reusing model components or component artifacts in a first modeling environment where the model components or artifacts were created in a second environment. An interface to the model components or artifacts from the first modeling environment is analyzed, and compared to an interface from the second environment. A wrapper object is constructed to convert between differences identified among the two interfaces. Utilizing the wrapper object, the model components or component artifacts are reused in the second environment.
    Type: Grant
    Filed: April 1, 2015
    Date of Patent: April 24, 2018
    Assignee: The MathWorks, Inc.
    Inventors: David Maclay, Jonathan J. Fielder
  • Patent number: 9946522
    Abstract: A computer-implemented method for generating code for real-time stream processing, where data is streamed in tuples, and where each tuple has a timestamp and a value. One or more processors receive source code. The source code includes: code to be applied in a sequential series to one or more tuples; a definition of a size of a sequence of tuples to be processed as a processing window; and a size of a sequence of earlier tuples that a current tuple depends upon as a dependence window. Processor(s) generate the code for real-time stream processing by: buffering received time sequence tuples in a buffer in accordance with the processing window and the dependence window; and converting the code to be sequentially applied to the one or more tuples into code for buffered tuples with a loop construct.
    Type: Grant
    Filed: December 16, 2016
    Date of Patent: April 17, 2018
    Assignee: International Business Machines Corporation
    Inventors: Frederic Chanson, Saniya Ben Hassen, Marc P. Yvon
  • Patent number: 9946528
    Abstract: The method includes receiving, at a commercial app store system, an application including embedded customization code, publishing, by the commercial app store system, the application to a commercial app store, associating the application with a license to a private app store, the private app store being associated with the end-user computing device, installing the application on the end-user computing device, receiving an indication from the end-user computing device that the application has launched, and communicating customization data to the end-user computing device.
    Type: Grant
    Filed: April 3, 2014
    Date of Patent: April 17, 2018
    Assignee: BMC Software, Inc.
    Inventor: Geoff Ross Mair
  • Patent number: 9940110
    Abstract: Embodiments disclose a method, computer program product, and system for optimizing computer functions. The embodiment may create a control flow graph from a computer function. The control flow graph may contain an entry block, an exit block, and basic blocks located between the entry block and the exit block. The embodiment may classify each of the basic blocks as an original heavy basic block or an original light basic block. The embodiment may classify the original heavy block, the exit block and each of the basic blocks that are located between each original heavy block and the exit block as a determined heavy block. The embodiment may create light computer functions and heavy computer functions from the computer function. Each heavy computer function contains the basic blocks classified as determined heavy. The light computer functions contains the remaining basic blocks, the exit block and calls to the heavy computer functions.
    Type: Grant
    Filed: April 28, 2016
    Date of Patent: April 10, 2018
    Assignee: International Business Machines Corporation
    Inventors: Jaques Clapauch, Steven J. Perron
  • Patent number: 9934044
    Abstract: Systems, methods and products directed toward creating device preloads via employing base and additional operating system content. One aspect includes communicating an aspect of an information handling device, and assimilating additional operating system content at the information handling device responsive to communication of the aspect of the device, the additional operating system content deriving from a repository separate from the information handling device, wherein a base operating system and additional operating system content combine to form a unitary device operating system. Other embodiments are described herein.
    Type: Grant
    Filed: March 30, 2012
    Date of Patent: April 3, 2018
    Assignee: Lenovo (Singapore) Pte. Ltd.
    Inventors: Rod D. Waltermann, Nathan J. Peterson, Richard Paul Cornwell, Bruce Douglas Gress, Jun Li
  • Patent number: 9928039
    Abstract: According to an exemplary embodiment, a method for a stateful development control system is provided. The method may include receiving a plurality of product rules that include evolution rules, sets, and states. A state aware software repository is initialized with source code files. The source code files receive a first state of “0” or “1”. In response to modifying one or more source code files, a second state is assigned to the modified one or more source code files. In response to assigning the second state, a determination is made whether to perform a merge of the one or more source code files and one or more of the source code files. The merge is one of a vertical merge and a horizontal merge.
    Type: Grant
    Filed: December 3, 2015
    Date of Patent: March 27, 2018
    Assignee: International Business Machines Corporation
    Inventors: Carl T. Anderson, Dario G. Flores Luis, Raquel Maldonado Cabrera, Agueda Martinez Hernandez Magro, Roberto Sanchez Herrera
  • Patent number: 9921952
    Abstract: A computer executes a first version of a code module in a first test environment, collects a first set of execution measurements, and creates a first profile based on the first set of execution measurements. The computer executes the first version of the code module in a second test environment, collects a second set of execution measurements, and creates a second profile based on the second set of execution measurements. In response to a difference between the first profile and the second profile exceeding a threshold, the computer provides diagnostic data characterizing the difference, analyzes an impact of the difference on the execution of the code module, calculates a risk of code module failure value based on analyzing the impact of the difference, and provides a recommended action based on analyzing the impact of the difference and the calculated risk of code module failure value.
    Type: Grant
    Filed: June 2, 2015
    Date of Patent: March 20, 2018
    Assignee: International Business Machines Corporation
    Inventors: Daniel J. Dean, Andrzej Kochut, Anca Sailer, Charles O. Schulz
  • Patent number: 9921947
    Abstract: A test selection method includes: generating, by a computer, relationship information that includes information indicating whether there is a relationship between each pair of one of a plurality of first tests and one of a plurality of second tests, and information on the number of relationships that indicates the number of pairs having the relationship from among a plurality of the pairs, by use of a result of performing the plurality of first tests and a result of performing the plurality of second tests; and when a specific test included in the plurality of first tests is designated, extracting by the computer, from among the plurality of second tests, a related test that relates to the specific test, on the basis of the relationship information and the information on the number of relationships.
    Type: Grant
    Filed: December 4, 2015
    Date of Patent: March 20, 2018
    Assignee: Fujitsu Limited
    Inventors: Yuji Mizobuchi, Kuniharu Takayama, Satoshi Munakata
  • Patent number: 9921816
    Abstract: A computer-implemented method includes, in a code transformation system, identifying save-to-return code instructions, function call code instructions, comparison code instructions, and exceptional code instructions. The function call code instructions are associated with the save-to-return code instructions. The comparison code instructions are associated with the save-to-return code instructions. The exceptional code instructions are associated with the comparison code instructions. A predefined proximity range based on a predefined proximity value as well as a proximity eligibility indicator are determined. The proximity eligibility indicator denotes whether the save-to-return code instructions and the comparison code instructions are within the predefined proximity range.
    Type: Grant
    Filed: March 8, 2016
    Date of Patent: March 20, 2018
    Assignee: International Business Machines Corporation
    Inventors: Iain A. Ireland, Allan H. Kielstra, Muntasir A. Mallick
  • Patent number: 9916152
    Abstract: A computer-based method for managing a plurality of computer components in an organization is provided. The method is implemented using a Component Manager (CM) computing device. The method includes receiving, from a stakeholder computing device, component data for at least one computer component of the plurality of computer components. The method also includes storing the component data in a memory block in the memory device. The method further includes assigning a first lifecycle classification, a domain, and at least one stakeholder to the at least one computer component by updating the memory block in the memory device. The method also includes causing the stakeholder computing device to electronically display an interactive dashboard that includes a graphical representation of the at least one computer component. The method further includes prompting a stakeholder to update a component utilization scheme for the computer component, by electronically displaying the graphical representation.
    Type: Grant
    Filed: December 10, 2015
    Date of Patent: March 13, 2018
    Assignee: MASTERCARD INTERNATIONAL INCORPORATED
    Inventor: Jeffrey Scott Smith
  • Patent number: 9916141
    Abstract: A computer-implemented method includes, in a code transformation system, identifying save-to-return code instructions, function call code instructions, comparison code instructions, and exceptional code instructions. The function call code instructions are associated with the save-to-return code instructions. The comparison code instructions are associated with the save-to-return code instructions. The exceptional code instructions are associated with the comparison code instructions. A predefined proximity range based on a predefined proximity value as well as a proximity eligibility indicator are determined. The proximity eligibility indicator denotes whether the save-to-return code instructions and the comparison code instructions are within the predefined proximity range.
    Type: Grant
    Filed: October 15, 2015
    Date of Patent: March 13, 2018
    Assignee: International Business Machines Corporation
    Inventors: Iain A. Ireland, Allan H. Kielstra, Muntasir A. Mallick
  • Patent number: 9916142
    Abstract: Embodiments disclose a method, computer program product, and system for optimizing computer functions. The embodiment may create a control flow graph from a computer function. The control flow graph may contain an entry block, an exit block, and basic blocks located between the entry block and the exit block. The embodiment may classify each of the basic blocks as an original heavy basic block or an original light basic block. The embodiment may classify the original heavy block, the exit block and each of the basic blocks that are located between each original heavy block and the exit block as a determined heavy block. The embodiment may create light computer functions and heavy computer functions from the computer function. Each heavy computer function contains the basic blocks classified as determined heavy. The light computer functions contains the remaining basic blocks, the exit block and calls to the heavy computer functions.
    Type: Grant
    Filed: October 15, 2015
    Date of Patent: March 13, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Jaques Clapauch, Steven J. Perron
  • Patent number: 9917922
    Abstract: An interface mechanism is provided for developers to bundle together a set of extensions (or add-ins) to a productivity suite allowing end users and system administrators to manage their lifecycle in a unified way. Aspects such as discovery, acquisition, authorization deployment, management, updates, and similar ones may be addressed for the bundle as opposed to each of the different extensions (for example extensions for different versions of the same application such as desktop version, web application version, mobile version, etc.). Bundles may also provide a means to match specific functional sets or commercial offerings to specific user or customer profiles.
    Type: Grant
    Filed: September 24, 2015
    Date of Patent: March 13, 2018
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Dorrene Brown, Dmitry Pugachev, Humberto Lezama Guadarrama, Shreedhar Thirugnanasambantham, Xiao Wu, Jay Rathi, Mauricio Ordonez, Rolando Jimenez Salgado, Yi Li, Gabriel Hall, Robert Ward