Patents by Inventor Jim C. Chen

Jim C. Chen has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20190361746
    Abstract: Hardware accelerators are scored according to various metrics and attributes that characterize the accelerators. Examples of suitable accelerator scoring criteria include whether the software simulation of the accelerator is complete, whether hardware testing is complete, whether the accelerator is currently deployed, the number of times the accelerator has been deployed to a private cloud, the number of times the accelerator has been deployed to a public cloud, ratings by users, number of failures, number of executions, space utilization and efficiency, code metrics, power consumption, speed, and image characteristics, including space used, resources used, use of dedicated functions on a programmable device, etc. These accelerator scoring criteria are tracked for each accelerator in an accelerator scoring catalog.
    Type: Application
    Filed: May 25, 2018
    Publication date: November 28, 2019
    Inventors: Paul E. Schardt, Jim C. Chen, Lance G. Thompson, James E. Carey
  • Publication number: 20190347152
    Abstract: An accelerator manager monitors hardware accelerators that are called by one or more computer programs. A virtual function table includes multiple entries, where each entry correlates a call from a computer program to a corresponding call to either a software library or a hardware accelerator. A call by the computer program to a function in the virtual function table results in the call being routed to either the software library or to a hardware accelerator depending on the contents of the corresponding entry in the virtual function table. The accelerator manager, in response to a detected failure in an accelerator, replaces one or more calls in the virtual function table to the failed accelerator with calls to the software library. The accelerator manager can then retry the call that caused the accelerator to fail, which will then be executed by the software library.
    Type: Application
    Filed: May 14, 2018
    Publication date: November 14, 2019
    Inventors: Paul E. Schardt, Jim C. Chen, Lance G. Thompson, James E. Carey
  • Publication number: 20190332517
    Abstract: A cloud-based accelerator manager manages cloud-based hardware accelerators. The accelerator manager monitors computer programs running in the cloud and generates a trace that indicates which accelerators were used and when. The trace may be for a single computer program or may be for multiple computer programs. Thus, the trace can be program-specific, showing all accesses to accelerators by a single program, or may be accelerator-specific, showing all accesses to each accelerator by all computer programs. The cloud-based accelerator manager detects a failure in one of the computer programs executing in the cloud. The cloud-based accelerator manager provides the trace to a user, who can then analyze the trace to determine whether the failure was due to an accelerator. The cloud-based accelerator manager thus helps detect when cloud-based accelerators are the reason for failures for computer programs running in a cloud.
    Type: Application
    Filed: April 27, 2018
    Publication date: October 31, 2019
    Inventors: Paul E. Schardt, Jim C. Chen, Lance G. Thompson, James E. Carey
  • Publication number: 20190332564
    Abstract: An accelerator manager manages multiple accelerators in multiple programmable devices. An accelerator cast out policy specifies criteria for casting out accelerators in the programmable devices. The accelerator manager monitors usage of the accelerators by one or more computer programs, and generates a historical log from the monitored usage. When the conditions in the historical log satisfy criteria in the accelerator cast out policy for casting out an accelerator, the accelerator manager casts out the accelerator, and updates a virtual function table to replace calls to the accelerator that was cast out with calls to the software library.
    Type: Application
    Filed: April 27, 2018
    Publication date: October 31, 2019
    Inventors: Paul E. Schardt, Jim C. Chen, Lance G. Thompson, James E. Carey
  • Publication number: 20190332163
    Abstract: A thermal manager manages programmable devices that include one or more accelerators. The thermal manager may be part of an accelerator manager that manages multiple accelerators in multiple programmable devices. The thermal manager monitors the temperature of a programmable device and casts out one or more accelerators when the temperature of the programmable device exceeds a threshold. Where there are multiple accelerator images that have different thermal effects for a given function the thermal manager may replace the cast out accelerator with another accelerator image for the same function that uses less power.
    Type: Application
    Filed: April 27, 2018
    Publication date: October 31, 2019
    Inventors: Paul E. Schardt, Jim C. Chen, Lance G. Thompson, James E. Carey
  • Patent number: 10459832
    Abstract: Embodiments presented herein describe techniques for tracking operators of a distributed computing environment (e.g., a streams processing environment) using metadata. During execution of a distributed application of the computing environment, a tracker tool monitors a plurality of operators of the distributed application. Each of the operators stores one or more specified metadata values associated with the operator. For each operator, the tracker tool retrieves the one or more specified metadata values associated with the operator. Upon determining that one of the one or more specified metadata values do not comply with a corresponding expected metadata value, the tracker tool generates an indicator for the operator. The indicator includes information describing the one or more specified metadata values.
    Type: Grant
    Filed: May 20, 2015
    Date of Patent: October 29, 2019
    Assignee: International Business Machines Corporation
    Inventors: Michael J. Branson, James E. Carey, Jim C. Chen, Brian R. Muras, John M. Santosuosso
  • Patent number: 10366444
    Abstract: A computer detects a user computing device when the user enters the store and receives the user's purchase history and preference information from a database. The computer receives a list and/or recipe that the user inputs into the application. This list and/or recipe is a list of items that the user plans to purchase. The computer identifies an item on the list, determines whether the item is in stock, and generates a route through the store so the user will reach each item on his list. The computer transmits the route to the user's computing device to be displayed.
    Type: Grant
    Filed: December 12, 2017
    Date of Patent: July 30, 2019
    Assignee: International Business Machines Corporation
    Inventors: Jim C. Chen, Rafal P. Konik, Ryan L. Rossiter
  • Publication number: 20190228742
    Abstract: A method for modifying a presentation of content. The method includes a computer processor determining whether a user of a computing device wears eyewear based, at least in part, on analyzing an image of the face of the user. The method further includes responding to determining that the user wears eyewear, by determining a set of characteristics of the eyewear of the user. The method further includes determining a set of environmental factors in proximity of the user and the computing device. The method further includes modifying a presentation of visual content on the computing device based, on the set of characteristics of the eyewear of the user and the determined set of environmental factors in proximity of the user and the computing device.
    Type: Application
    Filed: March 29, 2019
    Publication date: July 25, 2019
    Inventors: James E. Carey, Jim C. Chen, Rafal P. Konik, Ryan L. Rossiter, John M. Santosuosso
  • Patent number: 10353801
    Abstract: Embodiments of the present invention provide a system, method, and program product for an abnormal timing breakpoints. A computer determines a code section, wherein the code section is part of computer code edited by a user. The computer determines an expected timeframe and an expected count for the code section, wherein the expected timeframe represents a predicted time to execute the code section, and wherein the expected execution count represent a predicted number of executions of the code section. The computer determines that an execution of the code section is abnormal based on one or more of: determining a current execution time is greater than the expected timeframe, and determining a current execution count is greater than the expected count. The computer halting the execution of the code section based on determining that the execution of the code section is abnormal and displays the abnormal code section.
    Type: Grant
    Filed: February 28, 2017
    Date of Patent: July 16, 2019
    Assignee: International Business Machines Corporation
    Inventors: James E. Carey, Jim C. Chen, John M. Santosuosso
  • Patent number: 10354317
    Abstract: A computer detects a user computing device when the user enters the store and receives the user's purchase history and preference information from a database. The computer receives a list and/or recipe that the user inputs into the application. This list and/or recipe is a list of items that the user plans to purchase. The computer identifies an item on the list, determines whether the item is in stock, and generates a route through the store so the user will reach each item on his list. The computer transmits the route to the user's computing device to be displayed.
    Type: Grant
    Filed: July 10, 2017
    Date of Patent: July 16, 2019
    Assignee: International Business Machines Corporation
    Inventors: Jim C. Chen, Rafal P. Konik, Ryan L. Rossiter
  • Patent number: 10346263
    Abstract: A host swap hypervisor provides a high availability hypervisor for virtual machines on a physical host computer during a failure of a primary hypervisor on the physical host computer. The host swap hypervisor resides on the physical host computer that runs the primary hypervisor, and monitors failure indicators of the primary hypervisor. When the failure indicators exceed a threshold, the host swap hypervisor is then autonomically swapped to become the primary hypervisor on the physical host computer. The original primary hypervisor may then be re-initialized as the new host swap hypervisor.
    Type: Grant
    Filed: February 3, 2017
    Date of Patent: July 9, 2019
    Assignee: International Business Machines Corporation
    Inventors: Bin Cao, Jim C. Chen, Lauren A. Somers
  • Patent number: 10345898
    Abstract: Embodiments of the present invention disclose a method, computer system, and a computer program product for automatically presenting enhanced content on a mobile device based on user focus. The present invention may include presenting content on a screen. The present invention may include determining that a user is focused on a specific screen region of the presented content. The present invention may include generating a zoomed view of the presented content based on the specific screen region the user is focused on. The present invention may include presenting the zoomed view on the screen. The present invention may include determining that the user reacted positively to the zoomed view. The present invention may include, in response to determining that the user reacted positively, determining enhanced content based on zoomed content displayed in the zoomed view. The present invention may include presenting the enhanced content on the screen.
    Type: Grant
    Filed: September 22, 2016
    Date of Patent: July 9, 2019
    Assignee: International Business Machines Corporation
    Inventors: Jim C. Chen, Rafal P. Konik, Ryan L. Rossiter, John M. Santosuosso
  • Publication number: 20190205412
    Abstract: A role mutable file system provides high availability processing of network requests with systems that can seamlessly switch between server and client operational roles. The file system includes a replicated storage pool associated with each server/client system where only the storage pool of the system in the server role is active. A role mutable file system (RMFS) manager on each system seamlessly switches roles between server and client to service network requests from either system to prevent interruption of service to system users.
    Type: Application
    Filed: January 2, 2018
    Publication date: July 4, 2019
    Inventors: Robert J. Traff, Jim C. Chen, Margaret R. Fenlon, Charles L. Emig, II, Justin C. Nelson, Shuang Hong Wang
  • Publication number: 20190205421
    Abstract: A mutation coordinator processes in-flight file operations in a role mutable file system to provide high availability data storage and uninterrupted network request processing. The mutation coordinator uses a container with data received from in-flight operations as they progress past checkpoints to enable the file system to seamlessly mutate between server and client operational roles. The checkpoint functions determine whether the operation should halt at the checkpoint when a mutation begins and log information in the container to reflect the progress of the operation. The halted operations are then completed on the new server when the mutation is complete.
    Type: Application
    Filed: January 2, 2018
    Publication date: July 4, 2019
    Inventors: Robert J. Traff, Jim C. Chen, Margaret R. Fenlon, Charles L. Emig, II, Justin C. Nelson, Shuang Hong Wang
  • Publication number: 20190187966
    Abstract: A computer program includes calls to a software library. A virtual function table is built that includes the calls to the software library in the computer program. A programmable device includes one or more currently-implemented accelerators. The available accelerators that are currently-implemented are determined. The calls in the software library that correspond to a currently-implemented accelerator are determined. One or more calls to the software library in the virtual function table are replaced with one or more corresponding calls to a corresponding currently-implemented accelerator. When a call in the software library could be implemented in a new accelerator, an accelerator image for the new accelerator is dynamically generated. The accelerator image is then deployed to create the new accelerator. One or more calls to the software library in the virtual function table are replaced with one or more corresponding calls to the new accelerator.
    Type: Application
    Filed: December 20, 2017
    Publication date: June 20, 2019
    Inventors: James E. Carey, Jim C. Chen, Paul E. Schardt, Lance G. Thompson
  • Publication number: 20190187979
    Abstract: A code portion in a computer program is identified that will be improved from being deployed to a hardware accelerator to enhance the run-time performance of the computer program. An accelerator catalog includes a listing of currently-implemented accelerators, along with available resources on one or more programmable devices. When the catalog does not include the needed accelerator, the available resources are determined from the catalog, and when the available resources are insufficient to deploy the needed accelerator, one or more of the existing accelerators is cast out of the programmable device according to specified ranking criteria to make room for the needed accelerator. The needed accelerator image is dynamically generated and deployed, the identified code portion of the computer program is replaced with a call to the deployed hardware accelerator, the newly-generated accelerator is stored in the catalog, and the available resources data in the catalog is updated.
    Type: Application
    Filed: December 20, 2017
    Publication date: June 20, 2019
    Inventors: James E. Carey, Jim C. Chen, Paul E. Schardt, Lance G. Thompson
  • Publication number: 20190163447
    Abstract: A computer program is monitored as it executes. A code portion in the computer program is identified that will be improved from being deployed to a hardware accelerator. In a first implementation, a hardware accelerator is dynamically generated, and the identified code portion is replaced with a call to the hardware accelerator. In a second implementation, a catalog of previously-generated accelerators is maintained, and when a previously-generated accelerator can be used, a hardware accelerator is dynamically generated in a programmable device using the previously-generated accelerator image specified in the catalog, and the identified code portion of the computer program is replaced with a call to the hardware accelerator. When the catalog of previously-generated accelerators does not include a needed accelerator, the needed accelerator image is dynamically generated and deployed, and the identified code portion of the computer program is replaced with a call to the hardware accelerator.
    Type: Application
    Filed: November 30, 2017
    Publication date: May 30, 2019
    Inventors: James E. Carey, Jim C. Chen, Paul E. Schardt, Lance G. Thompson
  • Patent number: 10297233
    Abstract: A method for modifying a presentation of content. The method includes a computer processor determining whether a user of a computing device wears eyewear based, at least in part, on analyzing an image of the face of the user. The method further includes responding to determining that the user wears eyewear, by determining a set of characteristics of the eyewear of the user. The method further includes determining a set of environmental factors in proximity of the user and the computing device. The method further includes modifying a presentation of visual content on the computing device based, on the set of characteristics of the eyewear of the user and the determined set of environmental factors in proximity of the user and the computing device.
    Type: Grant
    Filed: February 28, 2017
    Date of Patent: May 21, 2019
    Assignee: International Business Machines Corporation
    Inventors: James E. Carey, Jim C. Chen, Rafal P. Konik, Ryan L. Rossiter, John M. Santosuosso
  • Publication number: 20190108623
    Abstract: A remote visual experience application which transmits real-time video remotely includes a filter which obscures one or more previously identified regions in space when the regions come within the camera's field of vision. The application may be a shared visual experience application, in which the camera is mounted to a wearable appliance of a local user. The application may include a function for mapping regions of a space in which the application will be used, and defining different levels of remote access for different regions of the space. A space map may be generated before or during transmission of video to a remote user. Exemplary embodiments include a virtual vendor house call application or a game. The application may further include an audio filter for filtering an audio signal.
    Type: Application
    Filed: October 30, 2018
    Publication date: April 11, 2019
    Inventors: James E. Carey, Jim C. Chen, Rafal P. Konik, Ryan L. Rossiter
  • Patent number: 10254940
    Abstract: Systems, methods, and computer program products to perform an operation comprising dynamically selecting a first user hand position profile, where in the first user hand position profile includes a first range of reach of a digit of a first hand of the user while the user is holding the mobile device with the first hand in a first position, performing a first predefined operation to modify a first object, wherein modifying the first object causes the first object to be outputted at a location on a touchscreen display within the range of reach of the digit of the first hand, and outputting the modified first object on the touchscreen display.
    Type: Grant
    Filed: April 19, 2017
    Date of Patent: April 9, 2019
    Assignee: International Business Machines Corporation
    Inventors: James E. Carey, Jim C. Chen, John M. Santosuosso