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).

  • Patent number: 10607320
    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: Grant
    Filed: October 30, 2018
    Date of Patent: March 31, 2020
    Assignee: International Business Machines Corporation
    Inventors: James E. Carey, Jim C. Chen, Rafal P. Konik, Ryan L. Rossiter
  • Patent number: 10599553
    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: Grant
    Filed: April 27, 2018
    Date of Patent: March 24, 2020
    Assignee: International Business Machines Corporation
    Inventors: Paul E. Schardt, Jim C. Chen, Lance G. Thompson, James E. Carey
  • Publication number: 20200089540
    Abstract: An accelerator manager monitors run-time performance of multiple accelerators in one or more programmable devices, and when first and second accelerators satisfy at least one coalescence criterion, the accelerator manager generates a new accelerator image corresponding to a third accelerator that coalesces the first accelerator and the second accelerator. In a first embodiment, the accelerator manager generates the new accelerator image from the accelerator images for the first and second accelerators. In a second embodiment, the accelerator manager generates the new accelerator image from hardware description language representations of the first and second accelerators. The new accelerator image is deployed to a programmable device to provide a new accelerator, and calls to the first and second accelerators are replaced with calls to the new accelerator.
    Type: Application
    Filed: September 17, 2018
    Publication date: March 19, 2020
    Inventors: Paul E. Schardt, Jim C. Chen, Lance G. Thompson, James E. Carey
  • Patent number: 10572250
    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: Grant
    Filed: December 20, 2017
    Date of Patent: February 25, 2020
    Assignee: International Business Machines Corporation
    Inventors: James E. Carey, Jim C. Chen, Paul E. Schardt, Lance G. Thompson
  • Publication number: 20200057685
    Abstract: An accelerator manager monitors one or more requests for accelerators from one or more users, and deploys one or more accelerators to one or more programmable devices based on the one or more requests from the one or more users. In a first embodiment, the accelerator manager deploys an accelerator that satisfies multiple user requests. The multiple user requests can be multiple requests from one user, or could be multiple requests from multiple users. In a second embodiment, the accelerator manager compiles historical data from the monitored requests, identifies one or more accelerators that are requested following the request for a first accelerator, and deploys the one or more accelerators after the first accelerator is requested and before they are requested.
    Type: Application
    Filed: August 14, 2018
    Publication date: February 20, 2020
    Inventors: Paul E. Schardt, Jim C. Chen, Lance G. Thompson, James E. Carey
  • Publication number: 20200050490
    Abstract: An accelerator manager validates an accelerator image using one or more suitable validation methods, which may include comparing results of running an accelerator with results of simulating the accelerator, comparing results of running an accelerator on two different programmable devices, and deploying the accelerator to a cloud of an accelerator provider and running the accelerator to determine whether the accelerator meets defined specifications. The accelerator manager can also report information about one or more accelerators to an accelerator provider and/or to a provider of a programmable device.
    Type: Application
    Filed: August 9, 2018
    Publication date: February 13, 2020
    Inventors: Paul E. Schardt, Jim C. Chen, Lance G. Thompson, James E. Carey
  • Publication number: 20200042210
    Abstract: A memory manager on a programmable device manages memory allocated to accelerators on the programmable device and allocated to processes that access the programmable device. The memory manager can manage both memory on the programmable device as well as external memory coupled to the programmable device. The memory manager protects the memory from unauthorized access by enforcing protection for the memory, using keys, encryption or the like. The memory manger can allocate a partition of memory to an accelerator when an accelerator is deployed to a programmable device, then allocate subpartitions within the allocated partition for each process that accesses the accelerator. When an accelerator is cast out of the programmable device, the memory partition is scrubbed so it can be reclaimed and allocated to another accelerator. When a process terminates, the subpartitions corresponding to the process are scrubbed so they may be reclaimed and allocated to another process.
    Type: Application
    Filed: July 31, 2018
    Publication date: February 6, 2020
    Inventors: Paul E. Schardt, Jim C. Chen, Lance G. Thompson, James E. Carey
  • Publication number: 20200026630
    Abstract: An accelerator manager monitors and logs performance of multiple accelerators, analyzes the logged performance, determines from the logged performance of a selected accelerator a desired programmable device for the selected accelerator, and specifies the desired programmable device to one or more accelerator developers. The accelerator manager can further analyze the logged performance of the accelerators, and generate from the analyzed logged performance an ordered list of test cases, ordered from fastest to slowest. A test case is selected, and when the estimated simulation time for the selected test case is less than the estimated synthesis time for the test case, the test case is simulated and run. When the estimated simulation time for the selected test case is greater than the estimated synthesis time for the text case, the selected test case is synthesized and run.
    Type: Application
    Filed: July 23, 2018
    Publication date: January 23, 2020
    Inventors: Paul E. Schardt, Jim C. Chen, Lance G. Thompson, James E. Carey
  • Publication number: 20200019173
    Abstract: Look-wide information is used to detect risks and malicious activity towards autonomous vehicles in an autonomous vehicle network. In some embodiments, a server computer receives data from a first autonomous vehicle based on look-wide information gathered using one or more sensors of the first autonomous vehicle. The server computer establishes a potential event zone based on the data received from the first autonomous vehicle. The server computer communicates to a second autonomous vehicle information instructing the second autonomous vehicle to gather look-wide information using one or more sensors of the second autonomous vehicle while the second autonomous vehicle is traveling in the potential event zone. In some embodiments, the server computer marks the potential event zone as a malicious event zone in response to determining visual information gathered in response to an event trigger matches visual information gathered in response to a subsequent event trigger.
    Type: Application
    Filed: July 12, 2018
    Publication date: January 16, 2020
    Inventors: Jim C. Chen, Quinton G. Kramer, Justin C. Nelson
  • Publication number: 20200019443
    Abstract: An accelerator deployment tool deploys multiple accelerators to multiple programmable devices, and detects when a new programmable device becomes available. When a first accelerator in a first programmable device is a better match to the new programmable device, the accelerator deployment tool automatically generates an image for the first accelerator for the new programmable device, deploys the image on the new programmable device to generate a second accelerator, changes references to the first accelerator to reference instead the second accelerator, and casts the first accelerator out of the first programmable device.
    Type: Application
    Filed: July 12, 2018
    Publication date: January 16, 2020
    Inventors: Paul E. Schardt, Jim C. Chen, Lance G. Thompson, James E. Carey
  • Publication number: 20200019451
    Abstract: An accelerator helper monitors pending calls for a first accelerator, and when the accelerator is too busy, the accelerator helper sends a new call to the first accelerator to a software routine instead of to the first accelerator. The software routine processes the new call in parallel with the first accelerator processing a previous call. When the accelerator is not too busy, the accelerator helper sends to the first accelerator the new call to the first accelerator. The determination of when the accelerator is too busy can be whether a number of pending calls for the first accelerator exceeds a predetermined threshold. The accelerator helper speeds up execution of calls to the first accelerator by executing some calls to the accelerator in a software routine when the first accelerator has too many calls pending.
    Type: Application
    Filed: July 12, 2018
    Publication date: January 16, 2020
    Inventors: Paul E. Schardt, Jim C. Chen, Lance G. Thompson, James E. Carey
  • Publication number: 20200012494
    Abstract: Techniques for cognitive interpretation of source code are provided. Metadata associated with a section of code in a software project is analyzed to determine a change history of the section of code. A plurality of discussions related to the section of code is evaluated, where each of the plurality of discussions occurred during a code review process. Further, a plurality of support records related to the section of code is analyzed. A sentiment score for the section of code is determined based on the associated metadata, the evaluation of the plurality of discussions, and the analysis of the plurality of support records. Additionally, a display color for the section of code is selected based on the sentiment score. Finally, generation of a graphical user interface (GUI) is facilitated, where the GUI displays the first display color in association with the first section of code.
    Type: Application
    Filed: July 9, 2018
    Publication date: January 9, 2020
    Inventors: Rafal P. KONIK, Alec J. MATSCHINER, Avery GRANUM, Kyle G. CHRISTIANSON, Jim C. CHEN
  • Publication number: 20200004666
    Abstract: An accelerator tester partitions accelerator logic for a hardware accelerator into a plurality of sequential logic blocks, defines debug boundaries between adjacent sequential logic blocks, and inserts logic corresponding to the plurality of debug boundaries into the accelerator logic. The accelerator tester then tests the accelerator logic that includes the logic corresponding to the debug boundaries, and when the test fails, determines which of the debug boundaries were successfully crossed during the test. The information of which of the debug boundaries were successfully crossed during the test can then be fed back into a subsequent test by the accelerator tester.
    Type: Application
    Filed: July 2, 2018
    Publication date: January 2, 2020
    Inventors: Paul E. Schardt, Jim C. Chen, Lance G. Thompson, James E. Carey
  • Publication number: 20200004702
    Abstract: An accelerator manager monitors usage of accelerators by one or more computer programs, and generates a historical log from the monitored usage. The accelerator manager determines from the historical log which of the plurality of accelerators to implement on one or more application-specific integrated circuits. Each application-specific integrated circuit can include implemented accelerators and accelerator images that can be deployed to external programmable devices. Once one or more accelerators are implemented on one or more application-specific integrated circuits, the accelerator manager can direct one of the application-specific integrated circuits to provide a needed accelerator. An application-specific integrated circuit can provide the needed accelerator either using an accelerator implemented in the application-specific integrated circuit, or by deploying an accelerator image in the application-specific integrated circuit to an external programmable device.
    Type: Application
    Filed: July 2, 2018
    Publication date: January 2, 2020
    Inventors: Paul E. Schardt, Jim C. Chen, Lance G. Thompson, James E. Carey
  • Publication number: 20190392041
    Abstract: A method, system and computer program product are provided for implementing intelligent standard deviation inserts into a relational database management system (RDBMS). A trigger program type logic is provided within a database for processing outlier data based upon deviation constraints. The processed outlier data is used for automatically taking appropriate action including preventing insertion of outliers into the Relational Database Management System (RDBMS).
    Type: Application
    Filed: July 11, 2018
    Publication date: December 26, 2019
    Inventors: John M. Santosuosso, Jim C. Chen, James E. Carey
  • Publication number: 20190384578
    Abstract: An accelerator image generator includes a synthesis block and a simulation block. The accelerator image generator receives a hardware description language representation for a desired function, inputs the hardware description language representation for the desired function to the synthesis block and to the simulation block so the synthesis block and simulation block work in parallel, monitors progress of the synthesis block and the simulation block, and when a defined threshold is reached in the synthesis block, halts the simulation block while the synthesis block continues until the synthesis block outputs an accelerator image for deployment to a programmable device. When an error is detected in the synthesis block following halting of the simulation block, the simulation block may be resumed, and the defined threshold may be adjusted. The accelerator image can be deployed to a programmable device to provide a hardware accelerator corresponding to the accelerator image.
    Type: Application
    Filed: June 13, 2018
    Publication date: December 19, 2019
    Inventors: Paul E. Schardt, Jim C. Chen, Lance G. Thompson, James E. Carey
  • Publication number: 20190384654
    Abstract: An accelerator deployment tool determines resource requirements for one or more accelerator images, determines feature sets of a plurality of programmable devices, compares the resource requirements to the feature sets, determines whether the feature sets satisfy the resource requirements, and when the feature sets satisfy the resource requirements, selects one or more of the plurality of programmable devices that has a feature set that satisfies the resource requirements, and deploys the accelerator image(s) to the selected programmable device(s) to provide one or more accelerators corresponding to the accelerator image(s). A call can then be made to the one or more accelerators. The accelerator deployment tool thus automatically selects one or more programmable devices based on their feature sets and can automatically deploy one or more accelerator images to the one or more programmable devices.
    Type: Application
    Filed: June 13, 2018
    Publication date: December 19, 2019
    Inventors: Paul E. Schardt, Jim C. Chen, Lance G. Thompson, James E. Carey
  • Publication number: 20190384737
    Abstract: An on-chip accelerator manager manages multiple accelerators in a programmable device. In one specific implementation, the multiple accelerators are identical accelerators. The accelerator manager and the multiple accelerators are deployed to the programmable device. One or more calls to a software library in a virtual function table are replaced with one or more calls to the on-chip accelerator manager. The on-chip accelerator manager receives an accelerator call, and in response, allocates the accelerator call to one of the multiple accelerators, performs load balancing to the multiple accelerators, and performs failover when one of the accelerators fails by allocating work that was allocated to the failed accelerator to a different accelerator. The on-chip accelerator can push work to the multiple accelerators in a first mode of operation, and the multiple accelerators can pull work from the on-chip accelerator manager in a second mode of operation.
    Type: Application
    Filed: June 13, 2018
    Publication date: December 19, 2019
    Inventors: Paul E. Schardt, Jim C. Chen, Lance G. Thompson, James E. Carey
  • Publication number: 20190376792
    Abstract: A method, system and computer program product are provided for implementing route generation with augmented reality. A crowd or event is analyzed and escape routes are intelligently distributed by attendee profile type or ability. Augmented Reality (AR) projections are used representing different subsets of an event population to convey the profile-specific escape routes for people to follow. The AR behavior is changed as an event situation changes.
    Type: Application
    Filed: June 11, 2018
    Publication date: December 12, 2019
    Inventors: Jim C. Chen, Brittany A. Duffy, Elizabeth Held, Bryant G. Ly
  • Patent number: 10496586
    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: Grant
    Filed: April 27, 2018
    Date of Patent: December 3, 2019
    Assignee: International Business Machines Corporation
    Inventors: Paul E. Schardt, Jim C. Chen, Lance G. Thompson, James E. Carey