Patents by Inventor Simon D. Stone

Simon D. Stone 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: 11550640
    Abstract: A method and system. Application programming interface (API) call data is analyzed for a user to identify a relationship between API input data and API output data of two or more API calls. API usage information is generated by utilizing a dependency between the two or more API calls. The API usage information includes information pertaining to how data flows between the two or more API calls. API provision is improved with respect to execution of a process, based on utilization of the API usage information. Improving API provision includes: receiving a specification of an improvement to be achieved for the process, selecting at least two APIs from the two or more APIs for achieving the improvement, generating a new API that combines the at least two APIs, and modifying the process by including the new API in the process and removing the at least two APIs from the process.
    Type: Grant
    Filed: April 19, 2019
    Date of Patent: January 10, 2023
    Assignee: International Business Machines Corporation
    Inventors: Nicholas K. Lincoln, Josephine D. Messa, Simon D. Stone
  • Patent number: 10782944
    Abstract: Approaches presented herein enable optimization of a cache of compiled XML Path Language (XPath) expressions by removing variability from XPath expressions. More specifically, XPath expressions are identified that are the same but for one or more hardcoded values. These hardcoded values are identified and replaced in an identified XPath expression with an identifier to form a cache optimized XPath expression that lacks the hardcoded value variability of the identified XPath expressions. This cache optimized XPath expression is inserted into a definition of a cache optimized function. The optimized XPath expression receives values as arguments of the cache optimized Xpath function and passes the received values to the variable identifier in the cache optimized XPath expression. The identified XPath expressions can then be rewritten as calls to the cache optimized function. Therefore, only the cache optimized XPath expression, instead of several of the identified XPath expressions, is stored in the cache.
    Type: Grant
    Filed: July 18, 2019
    Date of Patent: September 22, 2020
    Assignee: International Business Machines Corporation
    Inventors: Nicholas K. Lincoln, Simon D. Stone
  • Patent number: 10680878
    Abstract: Disclosed are methods, systems and computer program products for operating and controlling network-enabled devices. A network-enabled device communicates capability information representative of its set of capabilities. The network-enabled device also communicates a status signal indicative of the status of the device. It may be determined that the first network-enabled device is unable or unavailable to perform a function based on a status signal communicated by the first network-enabled device. A second network-enabled device may be identified to assign a failover function to based on the respective capabilities of the second network-enabled devices.
    Type: Grant
    Filed: October 27, 2017
    Date of Patent: June 9, 2020
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: James K. Hook, Hamish C. Hunt, Nicholas K. Lincoln, Simon D. Stone
  • Patent number: 10528331
    Abstract: Approaches presented herein enable optimization of a cache of compiled XML Path Language (XPath) expressions by removing variability from XPath expressions. More specifically, XPath expressions are identified that are the same but for one or more hardcoded values. These hardcoded values are identified and replaced in an identified XPath expression with an identifier to form a cache optimized XPath expression that lacks the hardcoded value variability of the identified XPath expressions. This cache optimized XPath expression is inserted into a cache optimized function that receives the hardcoded value as arguments and assigns the received hardcoded value to the identifier in the cache optimized XPath expression. The identified XPath expressions are then rewritten as calls to the cache optimized function or to another function wrapping the cache optimized function.
    Type: Grant
    Filed: April 20, 2017
    Date of Patent: January 7, 2020
    Assignee: International Business Machines Corporation
    Inventors: Nicholas K. Lincoln, Simon D. Stone
  • Publication number: 20190339953
    Abstract: Approaches presented herein enable optimization of a cache of compiled XML Path Language (XPath) expressions by removing variability from XPath expressions. More specifically, XPath expressions are identified that are the same but for one or more hardcoded values. These hardcoded values are identified and replaced in an identified XPath expression with an identifier to form a cache optimized XPath expression that lacks the hardcoded value variability of the identified XPath expressions. This cache optimized XPath expression is inserted into a definition of a cache optimized function. The optimized XPath expression receives values as arguments of the cache optimized Xpath function and passes the received values to the variable identifier in the cache optimized XPath expression. The identified XPath expressions can then be rewritten as calls to the cache optimized function. Therefore, only the cache optimized XPath expression, instead of several of the identified XPath expressions, is stored in the cache.
    Type: Application
    Filed: July 18, 2019
    Publication date: November 7, 2019
    Inventors: Nicholas K. Lincoln, Simon D. Stone
  • Publication number: 20190243692
    Abstract: A method and system. Application programming interface (API) call data is analyzed for a user to identify a relationship between API input data and API output data of two or more API calls. API usage information is generated by utilizing a dependency between the two or more API calls. The API usage information includes information pertaining to how data flows between the two or more API calls. API provision is improved with respect to execution of a process, based on utilization of the API usage information. Improving API provision includes: receiving a specification of an improvement to be achieved for the process, selecting at least two APIs from the two or more APIs for achieving the improvement, generating a new API that combines the at least two APIs, and modifying the process by including the new API in the process and removing the at least two APIs from the process.
    Type: Application
    Filed: April 19, 2019
    Publication date: August 8, 2019
    Inventors: Nicholas K. Lincoln, Josephine D. Messa, Simon D. Stone
  • Patent number: 10360082
    Abstract: A method and system API call data for a user is obtained. The API call data for the user including for each API call of a two or more API calls made by the user: API request data and API response data. The API call data for the user is analyzed to identify a relationship between API request data and API response data of different API calls. A dependency, between at least two API calls of the two or more API calls, is determined based on the identified relationship.
    Type: Grant
    Filed: January 19, 2017
    Date of Patent: July 23, 2019
    Assignee: International Business Machines Corporation
    Inventors: Nicholas K. Lincoln, Josephine D. Messa, Simon D. Stone
  • Patent number: 10303580
    Abstract: Execution of a debug process on a thread of an application is monitored to detect resource contention caused by the debug process. In response to detecting a contention for a resource caused by the debug process, execution of the debug process is controlled in accordance with a debug policy. The debug policy defines a control action to be implemented based on one or more rules.
    Type: Grant
    Filed: January 11, 2017
    Date of Patent: May 28, 2019
    Assignee: International Business Machines Corporation
    Inventors: Nicholas K. Lincoln, Simon D. Stone
  • Patent number: 10277456
    Abstract: Disclosed are methods, systems and computer program products for operating and controlling network-enabled devices. A network-enabled device communicates capability information representative of its set of capabilities. The network-enabled device also communicates a status signal indicative of the status of the device. It may be determined that the first network-enabled device is unable or unavailable to perform a function based on a status signal communicated by the first network-enabled device. A second network-enabled device may be identified to assign a failover function to based on the respective capabilities of the second network-enabled devices.
    Type: Grant
    Filed: August 26, 2016
    Date of Patent: April 30, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: James K. Hook, Hamish C. Hunt, Nicholas K. Lincoln, Simon D. Stone
  • Patent number: 10216289
    Abstract: Methods, systems and computer program products for emulating a laser pointer with a mobile device are provided. Aspects include determining a position of the mobile device in a room having a display screen, determining a location of the display screen in the room, and determining an orientation of the mobile device. Aspects also include calculating a line vector originating from the mobile device and modifying a display on the display screen to include an indicator of a point at which the line vector intersects the display screen based on a determination that the line vector intersects the display screen.
    Type: Grant
    Filed: April 29, 2016
    Date of Patent: February 26, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: James K. Hook, Hamish C. Hunt, Nicholas K. Lincoln, Simon D. Stone
  • Patent number: 10169018
    Abstract: A system includes a network interface and a processor connected to the network interface. The network interface receives a request from a client for download of a package of code, the request specifying the package of code to be downloaded, and transmits a modified package of code to the client. The processor acquires information from the received request relating to the client and/or a user of the client and modifies the package of code according to the acquired information.
    Type: Grant
    Filed: September 17, 2015
    Date of Patent: January 1, 2019
    Assignee: International Business Machines Corporation
    Inventors: Nicholas K. Lincoln, Josephine D. Messa, Simon D. Stone
  • Patent number: 10171627
    Abstract: A server receives a request from a client for download of a package of code, and determines a set of available modifications for the requested package of code. A user profile for a user of the client is accessed, a set of desired modifications for the package of code from the accessed user profile is determined, the package of code is modified according to the determined desired modifications that exist in the determined available modifications for the requested package of code, and the modified package of code is transmitted to the client.
    Type: Grant
    Filed: September 17, 2015
    Date of Patent: January 1, 2019
    Assignee: International Business Machines Corporation
    Inventors: Nicholas K. Lincoln, Josephine D. Messa, Simon D. Stone
  • Publication number: 20180307469
    Abstract: Approaches presented herein enable optimization of a cache of compiled XML Path Language (XPath) expressions by removing variability from XPath expressions. More specifically, XPath expressions are identified that are the same but for one or more hardcoded values. These hardcoded values are identified and replaced in an identified XPath expression with an identifier to form a cache optimized XPath expression that lacks the hardcoded value variability of the identified XPath expressions. This cache optimized XPath expression is inserted into a cache optimized function that receives the hardcoded value as arguments and assigns the received hardcoded value to the identifier in the cache optimized XPath expression. The identified XPath expressions are then rewritten as calls to the cache optimized function or to another function wrapping the cache optimized function.
    Type: Application
    Filed: April 20, 2017
    Publication date: October 25, 2018
    Inventors: Nicholas K. Lincoln, Simon D. Stone
  • Publication number: 20180203746
    Abstract: A method and system API call data for a user is obtained. The API call data for the user including for each API call of a two or more API calls made by the user: API request data and API response data. The API call data for the user is analyzed to identify a relationship between API request data and API response data of different API calls. A dependency, between at least two API calls of the two or more API calls, is determined based on the identified relationship.
    Type: Application
    Filed: January 19, 2017
    Publication date: July 19, 2018
    Inventors: Nicholas K. Lincoln, Josephine D. Messa, Simon D. Stone
  • Publication number: 20180196736
    Abstract: Execution of a debug process on a thread of an application is monitored to detect resource contention caused by the debug process. In response to detecting a contention for a resource caused by the debug process, execution of the debug process is controlled in accordance with a debug policy. The debug policy defines a control action to be implemented based on one or more rules.
    Type: Application
    Filed: January 11, 2017
    Publication date: July 12, 2018
    Inventors: Nicholas K. Lincoln, Simon D. Stone
  • Patent number: 9971675
    Abstract: Use of tokens, included in a client request that requests a computer operation to be performed, to cause the processor that performs the requested computer operation to enter a “thread-specific-debug state.” In the thread-specific debug state, debug information is collected and logged from some threads running on the processor, but not from all threads running on the processor. This can provide more targeted, manageable and/or helpful debugging logs.
    Type: Grant
    Filed: April 4, 2016
    Date of Patent: May 15, 2018
    Assignee: International Business Machines Corporation
    Inventors: Nicholas K. Lincoln, Josephine D. Messa, Simon D. Stone
  • Publication number: 20180091362
    Abstract: Disclosed are methods, systems and computer program products for operating and controlling network-enabled devices. A network-enabled device communicates capability information representative of its set of capabilities. The network-enabled device also communicates a status signal indicative of the status of the device. It may be determined that the first network-enabled device is unable or unavailable to perform a function based on a status signal communicated by the first network-enabled device. A second network-enabled device may be identified to assign a failover function to based on the respective capabilities of the second network-enabled devices.
    Type: Application
    Filed: October 27, 2017
    Publication date: March 29, 2018
    Inventors: JAMES K. HOOK, HAMISH C. HUNT, NICHOLAS K. LINCOLN, SIMON D. STONE
  • Publication number: 20180062913
    Abstract: Disclosed are methods, systems and computer program products for operating and controlling network-enabled devices. A network-enabled device communicates capability information representative of its set of capabilities. The network-enabled device also communicates a status signal indicative of the status of the device. It may be determined that the first network-enabled device is unable or unavailable to perform a function based on a status signal communicated by the first network-enabled device. A second network-enabled device may be identified to assign a failover function to based on the respective capabilities of the second network-enabled devices.
    Type: Application
    Filed: August 26, 2016
    Publication date: March 1, 2018
    Inventors: JAMES K. HOOK, HAMISH C. HUNT, NICHOLAS K. LINCOLN, SIMON D. STONE
  • Patent number: 9881144
    Abstract: As disclosed herein a method, executed by a computer, includes receiving a deployed computer application to be staged, where the deployed computer application includes monitored items corresponding to a downloaded code package, verifying the integrity of the downloaded code package included in the deployed computer application, and staging the deployed computer application to provide a staged computer application. The method further includes monitoring the staged computer application for usage of monitored items corresponding to the downloaded code package and billing a customer according to usage of the monitored items. A computer system, and a computer program product corresponding to the method are also disclosed herein.
    Type: Grant
    Filed: June 15, 2015
    Date of Patent: January 30, 2018
    Assignee: International Business Machines Corporation
    Inventors: Nicholas K. Lincoln, Josephine D. Messa, Simon D. Stone
  • Publication number: 20170315629
    Abstract: Methods, systems and computer program products for emulating a laser pointer with a mobile device are provided. Aspects include determining a position of the mobile device in a room having a display screen, determining a location of the display screen in the room, and determining an orientation of the mobile device. Aspects also include calculating a line vector originating from the mobile device and modifying a display on the display screen to include an indicator of a point at which the line vector intersects the display screen based on a determination that the line vector intersects the display screen.
    Type: Application
    Filed: April 29, 2016
    Publication date: November 2, 2017
    Inventors: JAMES K. HOOK, HAMISH C. HUNT, NICHOLAS K. LINCOLN, SIMON D. STONE