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: 20190361746Abstract: 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: ApplicationFiled: May 25, 2018Publication date: November 28, 2019Inventors: Paul E. Schardt, Jim C. Chen, Lance G. Thompson, James E. Carey
-
Publication number: 20190347152Abstract: 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: ApplicationFiled: May 14, 2018Publication date: November 14, 2019Inventors: Paul E. Schardt, Jim C. Chen, Lance G. Thompson, James E. Carey
-
Publication number: 20190332517Abstract: 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: ApplicationFiled: April 27, 2018Publication date: October 31, 2019Inventors: Paul E. Schardt, Jim C. Chen, Lance G. Thompson, James E. Carey
-
Publication number: 20190332564Abstract: 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: ApplicationFiled: April 27, 2018Publication date: October 31, 2019Inventors: Paul E. Schardt, Jim C. Chen, Lance G. Thompson, James E. Carey
-
Publication number: 20190332163Abstract: 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: ApplicationFiled: April 27, 2018Publication date: October 31, 2019Inventors: Paul E. Schardt, Jim C. Chen, Lance G. Thompson, James E. Carey
-
Patent number: 10459832Abstract: 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: GrantFiled: May 20, 2015Date of Patent: October 29, 2019Assignee: International Business Machines CorporationInventors: Michael J. Branson, James E. Carey, Jim C. Chen, Brian R. Muras, John M. Santosuosso
-
Patent number: 10366444Abstract: 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: GrantFiled: December 12, 2017Date of Patent: July 30, 2019Assignee: International Business Machines CorporationInventors: Jim C. Chen, Rafal P. Konik, Ryan L. Rossiter
-
Publication number: 20190228742Abstract: 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: ApplicationFiled: March 29, 2019Publication date: July 25, 2019Inventors: James E. Carey, Jim C. Chen, Rafal P. Konik, Ryan L. Rossiter, John M. Santosuosso
-
Patent number: 10353801Abstract: 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: GrantFiled: February 28, 2017Date of Patent: July 16, 2019Assignee: International Business Machines CorporationInventors: James E. Carey, Jim C. Chen, John M. Santosuosso
-
Patent number: 10354317Abstract: 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: GrantFiled: July 10, 2017Date of Patent: July 16, 2019Assignee: International Business Machines CorporationInventors: Jim C. Chen, Rafal P. Konik, Ryan L. Rossiter
-
Patent number: 10346263Abstract: 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: GrantFiled: February 3, 2017Date of Patent: July 9, 2019Assignee: International Business Machines CorporationInventors: Bin Cao, Jim C. Chen, Lauren A. Somers
-
Patent number: 10345898Abstract: 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: GrantFiled: September 22, 2016Date of Patent: July 9, 2019Assignee: International Business Machines CorporationInventors: Jim C. Chen, Rafal P. Konik, Ryan L. Rossiter, John M. Santosuosso
-
Publication number: 20190205412Abstract: 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: ApplicationFiled: January 2, 2018Publication date: July 4, 2019Inventors: Robert J. Traff, Jim C. Chen, Margaret R. Fenlon, Charles L. Emig, II, Justin C. Nelson, Shuang Hong Wang
-
Publication number: 20190205421Abstract: 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: ApplicationFiled: January 2, 2018Publication date: July 4, 2019Inventors: Robert J. Traff, Jim C. Chen, Margaret R. Fenlon, Charles L. Emig, II, Justin C. Nelson, Shuang Hong Wang
-
Publication number: 20190187966Abstract: 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: ApplicationFiled: December 20, 2017Publication date: June 20, 2019Inventors: James E. Carey, Jim C. Chen, Paul E. Schardt, Lance G. Thompson
-
Publication number: 20190187979Abstract: 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: ApplicationFiled: December 20, 2017Publication date: June 20, 2019Inventors: James E. Carey, Jim C. Chen, Paul E. Schardt, Lance G. Thompson
-
Publication number: 20190163447Abstract: 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: ApplicationFiled: November 30, 2017Publication date: May 30, 2019Inventors: James E. Carey, Jim C. Chen, Paul E. Schardt, Lance G. Thompson
-
Patent number: 10297233Abstract: 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: GrantFiled: February 28, 2017Date of Patent: May 21, 2019Assignee: International Business Machines CorporationInventors: James E. Carey, Jim C. Chen, Rafal P. Konik, Ryan L. Rossiter, John M. Santosuosso
-
Publication number: 20190108623Abstract: 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: ApplicationFiled: October 30, 2018Publication date: April 11, 2019Inventors: James E. Carey, Jim C. Chen, Rafal P. Konik, Ryan L. Rossiter
-
Patent number: 10254940Abstract: 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: GrantFiled: April 19, 2017Date of Patent: April 9, 2019Assignee: International Business Machines CorporationInventors: James E. Carey, Jim C. Chen, John M. Santosuosso