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: 11550640Abstract: 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: GrantFiled: April 19, 2019Date of Patent: January 10, 2023Assignee: International Business Machines CorporationInventors: Nicholas K. Lincoln, Josephine D. Messa, Simon D. Stone
-
Patent number: 10782944Abstract: 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: GrantFiled: July 18, 2019Date of Patent: September 22, 2020Assignee: International Business Machines CorporationInventors: Nicholas K. Lincoln, Simon D. Stone
-
Patent number: 10680878Abstract: 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: GrantFiled: October 27, 2017Date of Patent: June 9, 2020Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: James K. Hook, Hamish C. Hunt, Nicholas K. Lincoln, Simon D. Stone
-
Patent number: 10528331Abstract: 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: GrantFiled: April 20, 2017Date of Patent: January 7, 2020Assignee: International Business Machines CorporationInventors: Nicholas K. Lincoln, Simon D. Stone
-
Publication number: 20190339953Abstract: 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: ApplicationFiled: July 18, 2019Publication date: November 7, 2019Inventors: Nicholas K. Lincoln, Simon D. Stone
-
Publication number: 20190243692Abstract: 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: ApplicationFiled: April 19, 2019Publication date: August 8, 2019Inventors: Nicholas K. Lincoln, Josephine D. Messa, Simon D. Stone
-
Patent number: 10360082Abstract: 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: GrantFiled: January 19, 2017Date of Patent: July 23, 2019Assignee: International Business Machines CorporationInventors: Nicholas K. Lincoln, Josephine D. Messa, Simon D. Stone
-
Patent number: 10303580Abstract: 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: GrantFiled: January 11, 2017Date of Patent: May 28, 2019Assignee: International Business Machines CorporationInventors: Nicholas K. Lincoln, Simon D. Stone
-
Patent number: 10277456Abstract: 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: GrantFiled: August 26, 2016Date of Patent: April 30, 2019Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: James K. Hook, Hamish C. Hunt, Nicholas K. Lincoln, Simon D. Stone
-
Patent number: 10216289Abstract: 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: GrantFiled: April 29, 2016Date of Patent: February 26, 2019Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: James K. Hook, Hamish C. Hunt, Nicholas K. Lincoln, Simon D. Stone
-
Patent number: 10169018Abstract: 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: GrantFiled: September 17, 2015Date of Patent: January 1, 2019Assignee: International Business Machines CorporationInventors: Nicholas K. Lincoln, Josephine D. Messa, Simon D. Stone
-
Patent number: 10171627Abstract: 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: GrantFiled: September 17, 2015Date of Patent: January 1, 2019Assignee: International Business Machines CorporationInventors: Nicholas K. Lincoln, Josephine D. Messa, Simon D. Stone
-
Publication number: 20180307469Abstract: 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: ApplicationFiled: April 20, 2017Publication date: October 25, 2018Inventors: Nicholas K. Lincoln, Simon D. Stone
-
Publication number: 20180203746Abstract: 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: ApplicationFiled: January 19, 2017Publication date: July 19, 2018Inventors: Nicholas K. Lincoln, Josephine D. Messa, Simon D. Stone
-
Publication number: 20180196736Abstract: 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: ApplicationFiled: January 11, 2017Publication date: July 12, 2018Inventors: Nicholas K. Lincoln, Simon D. Stone
-
Patent number: 9971675Abstract: 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: GrantFiled: April 4, 2016Date of Patent: May 15, 2018Assignee: International Business Machines CorporationInventors: Nicholas K. Lincoln, Josephine D. Messa, Simon D. Stone
-
Publication number: 20180091362Abstract: 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: ApplicationFiled: October 27, 2017Publication date: March 29, 2018Inventors: JAMES K. HOOK, HAMISH C. HUNT, NICHOLAS K. LINCOLN, SIMON D. STONE
-
Publication number: 20180062913Abstract: 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: ApplicationFiled: August 26, 2016Publication date: March 1, 2018Inventors: JAMES K. HOOK, HAMISH C. HUNT, NICHOLAS K. LINCOLN, SIMON D. STONE
-
Patent number: 9881144Abstract: 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: GrantFiled: June 15, 2015Date of Patent: January 30, 2018Assignee: International Business Machines CorporationInventors: Nicholas K. Lincoln, Josephine D. Messa, Simon D. Stone
-
Publication number: 20170315629Abstract: 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: ApplicationFiled: April 29, 2016Publication date: November 2, 2017Inventors: JAMES K. HOOK, HAMISH C. HUNT, NICHOLAS K. LINCOLN, SIMON D. STONE