Patents by Inventor John E. Wittern

John E. Wittern 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: 11663110
    Abstract: A debugging tool and method for statically verifying programs that invoke web-based services through API calls is provided. The tool receives source code that comprises one or more invocation of web APIs for requesting web-based services. The tool also receives a set of web API specifications. The tool extracts a set of request information for each web API invocation in the source code, the set of request information including a usage string of an URL endpoint. The tool verifies whether the set of request information complies with the received web API specifications and reports a result of the verification.
    Type: Grant
    Filed: October 31, 2016
    Date of Patent: May 30, 2023
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Julian T. Dolby, Jim A. Laredo, John E. Wittern, Annie T. T. Ying, Yunhui Zheng
  • Patent number: 11429791
    Abstract: An application automatically composed using natural language processing. A natural language input comprising one or more application requirements is received via an interface. The natural language input is parsed to extract one or more chunks, each chunk representing one of the application requirements, and at least one of the chunks representing at least one of one or more main functionalities described by the application requirements. A coarse architecture logically arranging the main functionalities to satisfy the application requirements is inferred according to the chunks. Existing assets corresponding to the chunks are identified, each asset associated with at least one of the main functionalities. The identified assets are assembled according to the coarse architecture. The assembled assets are deployed as an application.
    Type: Grant
    Filed: October 9, 2019
    Date of Patent: August 30, 2022
    Assignee: International Business Machines Corporation
    Inventors: Alice-Maria Marascu, Charles A. Jochim, Carlos A. Alzate Perez, Radu Marinescu, John E. Wittern
  • Patent number: 11256693
    Abstract: Aspects of the invention include assessing, by a management layer executing on a first processor, a query from a client application requesting data from a server. The assessing occurs prior to the query being executed by a provider. The assessing includes extracting, by the management layer, characteristics of the query. The management layer compares the extracted query characteristics with a policy defined by the provider. Based at least in part on results of the comparing, it is determined by the management layer whether the query is permitted to be executed by the provider at the server. The management layer initiates execution of the query at the server in response to determining that the query is permitted to be executed. The management layer prevents execution of the query at the server in response to determining that the query is not permitted to be executed.
    Type: Grant
    Filed: September 21, 2018
    Date of Patent: February 22, 2022
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: John E. Wittern, Jim A. Laredo
  • Patent number: 11200291
    Abstract: A computer-implemented method for creating a web programming interface (API) description may include parsing an API usage dataset with a processor to identify a plurality of nodes in each of a plurality of uniform resource locators (URLs), and tagging path parameters for the plurality of nodes. Tagging the path parameters may include identifying, with the processor, which nodes are static parts of the URLs, and identifying, with the processor, which of the nodes are path parameters for the URLs. The method may further include aggregating, with the processor, a plurality of node types based on the tagged path parameters and the static parts of the URLs, and outputting, via the processor, an API description based on the aggregated plurality of node types.
    Type: Grant
    Filed: November 2, 2015
    Date of Patent: December 14, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Philippe Suter, John E. Wittern
  • Patent number: 11182451
    Abstract: A computer-implemented method for creating a web programming interface (API) description may include parsing an API usage dataset with a processor to identify a plurality of nodes in each of a plurality of uniform resource locators (URLs), and tagging path parameters for the plurality of nodes. Tagging the path parameters may include identifying, with the processor, which nodes are static parts of the URLs, and identifying, with the processor, which of the nodes are path parameters for the URLs. The method may further include aggregating, with the processor, a plurality of node types based on the tagged path parameters and the static parts of the URLs, and outputting, via the processor, an API description based on the aggregated plurality of node types.
    Type: Grant
    Filed: December 10, 2015
    Date of Patent: November 23, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Philippe Suter, John E. Wittern
  • Patent number: 11074158
    Abstract: A computer implemented method for testing an application according to usage data includes receiving an application to be tested and a set of usage data corresponding to the application to be tested, wherein the set of usage data corresponds to previously executed code sequences, identifying one or more code sequences of interest corresponding to the received application, wherein the code sequences of interest correspond to codes sequences that are configured to exercise the received application, extracting concrete usages of the code sequence of interest from the received set of usage data, generating one or more test cases for the application according to the extracted usages, and providing the one or more generated test cases. The method may additionally include testing the application according to the one or more generated test cases.
    Type: Grant
    Filed: December 1, 2017
    Date of Patent: July 27, 2021
    Assignee: International Business Machines Corporation
    Inventors: Jim A. Laredo, Aleksander Slominski, John E. Wittern, Annie T. Ying, Christopher C. Young, Yunhui Zheng
  • Patent number: 10942708
    Abstract: A tool that automatically generates a web API specification from a web API documentation is provided. The tool extracts a base uniform resource locator (URL) string from the received documentation by identifying URL strings in the documentation that are valid web application programming interface (API) calls. The tool infers path templates by identifying and clustering path expressions in the documentation that invoke the same URL endpoints. The tool extracts hypertext transfer protocol (HTTP) request type and query parameters associated with the inferred path templates. The tool generates a specification that includes the extracted base URL, the inferred path templates, the extracted HTTP request types, and the extracted query parameters.
    Type: Grant
    Filed: January 10, 2017
    Date of Patent: March 9, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Julian T. Dolby, John E. Wittern, Jinqiu Yang, Annie T. T. Ying
  • Publication number: 20200097559
    Abstract: Aspects of the invention include assessing, by a management layer executing on a first processor, a query from a client application requesting data from a server. The assessing occurs prior to the query being executed by a provider. The assessing includes extracting, by the management layer, characteristics of the query. The management layer compares the extracted query characteristics with a policy defined by the provider. Based at least in part on results of the comparing, it is determined by the management layer whether the query is permitted to be executed by the provider at the server. The management layer initiates execution of the query at the server in response to determining that the query is permitted to be executed. The management layer prevents execution of the query at the server in response to determining that the query is not permitted to be executed.
    Type: Application
    Filed: September 21, 2018
    Publication date: March 26, 2020
    Inventors: John E. Wittern, Jim A. Laredo
  • Publication number: 20200042598
    Abstract: An application automatically composed using natural language processing. A natural language input comprising one or more application requirements is received via an interface. The natural language input is parsed to extract one or more chunks, each chunk representing one of the application requirements, and at least one of the chunks representing at least one of one or more main functionalities described by the application requirements. A coarse architecture logically arranging the main functionalities to satisfy the application requirements is inferred according to the chunks. Existing assets corresponding to the chunks are identified, each asset associated with at least one of the main functionalities. The identified assets are assembled according to the coarse architecture. The assembled assets are deployed as an application.
    Type: Application
    Filed: October 9, 2019
    Publication date: February 6, 2020
    Inventors: Alice-Maria Marascu, Charles A. Jochim, Carlos A. Alzate Perez, Radu Marinescu, John E. Wittern
  • Patent number: 10552540
    Abstract: An application automatically composed using natural language processing. A natural language input comprising one or more application requirements is received via an interface. The natural language input is parsed to extract one or more chunks, each chunk representing one of the application requirements, and at least one of the chunks representing at least one of one or more main functionalities described by the application requirements. A coarse architecture logically arranging the main functionalities to satisfy the application requirements is inferred according to the chunks. Existing assets corresponding to the chunks are identified, each asset associated with at least one of the main functionalities. The identified assets are assembled according to the coarse architecture. The assembled assets are deployed as an application.
    Type: Grant
    Filed: November 27, 2017
    Date of Patent: February 4, 2020
    Assignee: International Business Machines Corporation
    Inventors: Alice-Maria Marascu, Charles A. Jochim, Carlos A. Alzate Perez, Radu Marinescu, John E. Wittern
  • Patent number: 10360087
    Abstract: A method for recommending a web application programming interface (API) includes: a cloud computing service retrieving test source code from a remote computer of the developer; the cloud computing service determining whether a call to a first web API among a plurality of web APIs is present in the test source code; and when it is determined that the call is present, the cloud computing service reading at least one log file to extract information about at least one application that has used the first web API; the cloud computing service determining a first quality of the first web API from the log file; and the cloud computing service sending a message to the remote computer recommending a second web API among the web APIs having a second quality higher than the first quality.
    Type: Grant
    Filed: October 27, 2017
    Date of Patent: July 23, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Philippe Suter, Salman A. Baset, John E. Wittern
  • Publication number: 20190171551
    Abstract: A computer implemented method for testing an application according to usage data includes receiving an application to be tested and a set of usage data corresponding to the application to be tested, wherein the set of usage data corresponds to previously executed code sequences, identifying one or more code sequences of interest corresponding to the received application, wherein the code sequences of interest correspond to codes sequences that are configured to exercise the received application, extracting concrete usages of the code sequence of interest from the received set of usage data, generating one or more test cases for the application according to the extracted usages, and providing the one or more generated test cases. The method may additionally include testing the application according to the one or more generated test cases.
    Type: Application
    Filed: December 1, 2017
    Publication date: June 6, 2019
    Inventors: Jim A. Laredo, Aleksander Slominski, John E. Wittern, Annie T. Ying, Christopher C. Young, Yunhui Zheng
  • Publication number: 20190163739
    Abstract: An application automatically composed using natural language processing. A natural language input comprising one or more application requirements is received via an interface. The natural language input is parsed to extract one or more chunks, each chunk representing one of the application requirements, and at least one of the chunks representing at least one of one or more main functionalities described by the application requirements. A coarse architecture logically arranging the main functionalities to satisfy the application requirements is inferred according to the chunks. Existing assets corresponding to the chunks are identified, each asset associated with at least one of the main functionalities. The identified assets are assembled according to the coarse architecture. The assembled assets are deployed as an application.
    Type: Application
    Filed: November 27, 2017
    Publication date: May 30, 2019
    Inventors: Alice-Maria Marascu, Charles A. Jochim, Carlos A. Alzate Perez, Radu Marinescu, John E. Wittern
  • Publication number: 20190129773
    Abstract: A method for recommending a web application programming interface (API) includes: a cloud computing service retrieving test source code from a remote computer of the developer; the cloud computing service determining whether a call to a first web API among a plurality of web APIs is present in the test source code; and when it is determined that the call is present, the cloud computing service reading at least one log file to extract information about at least one application that has used the first web API; the cloud computing service determining a first quality of the first web API from the log file; and the cloud computing service sending a message to the remote computer recommending a second web API among the web APIs having a second quality higher than the first quality.
    Type: Application
    Filed: October 27, 2017
    Publication date: May 2, 2019
    Inventors: PHILIPPE SUTER, Salman A. Baset, John E. Wittern
  • Publication number: 20180232442
    Abstract: A Web application programming interfaces (API) recommendations technology for use in existing context (e.g., considering an already selected API) is disclosed. For example, recommendations for a “next” API, considering already “selected” APIs can be provided. Web API co-occurrence documents are derived for each Web API, based on modeling and previous usages with other web APIs. Web API co-occurrence topics and features are derived from the co-occurrence documents. Web APIs used together frequently can be considered as belonging to the same co-occurrence topic. Content about Web APIs can be associated with topics for later feature extraction. Features that can be extracted include: importance of topics, representative Web APIs in a topic (without being subject to bias due to frequent compositions in one topic), and descriptive words for a topic (if content about Web APIs was associated with topics).
    Type: Application
    Filed: February 16, 2017
    Publication date: August 16, 2018
    Inventors: Evelyn Duesterwald, Wei Tan, John E. Wittern
  • Publication number: 20180232444
    Abstract: A Web application programming interfaces (API) recommendations technology for use in existing context (e.g., considering an already selected API) is disclosed. For example, recommendations for a “next” API, considering already “selected” APIs can be provided. Web API co-occurrence documents are derived for each Web API, based on modeling and previous usages with other web APIs. Web API co-occurrence topics and features are derived from the co-occurrence documents. Web APIs used together frequently can be considered as belonging to the same co-occurrence topic. Content about Web APIs can be associated with topics for later feature extraction. Features that can be extracted include: importance of topics, representative Web APIs in a topic (without being subject to bias due to frequent compositions in one topic), and descriptive words for a topic (if content about Web APIs was associated with topics).
    Type: Application
    Filed: November 30, 2017
    Publication date: August 16, 2018
    Inventors: Evelyn Duesterwald, Wei Tan, John E. Wittern
  • Publication number: 20180196643
    Abstract: A tool that automatically generates a web API specification from a web API documentation is provided. The tool extracts a base uniform resource locator (URL) string from the received documentation by identifying URL strings in the documentation that are valid web application programming interface (API) calls. The tool infers path templates by identifying and clustering path expressions in the documentation that invoke the same URL endpoints. The tool extracts hypertext transfer protocol (HTTP) request type and query parameters associated with the inferred path templates. The tool generates a specification that includes the extracted base URL, the inferred path templates, the extracted HTTP request types, and the extracted query parameters.
    Type: Application
    Filed: January 10, 2017
    Publication date: July 12, 2018
    Inventors: Julian T. Dolby, John E. Wittern, Jinqiu Yang, Annie T. T. Ying
  • Patent number: 9998550
    Abstract: Network based service composition with variable distance conditions may be provided. A workflow definition may be received and a network topology may be built based on the workflow definition. Relational data may be received and a network instance may be built based on the network topology and the distance measurement. A plurality of network instances may be built, for example, for different distance conditions. One or more paths may be determined for a pair of services based on one or more of the network instances.
    Type: Grant
    Filed: September 24, 2015
    Date of Patent: June 12, 2018
    Assignee: International Business Machines Corporation
    Inventors: Rong N. Chang, Vinod Muthusamy, Wei Tan, Fei Wang, John E. Wittern
  • Patent number: 9965337
    Abstract: Software that utilizes machine logic-based algorithms to combine the Terms of Service (ToS) portions of multiple Application Programming Interfaces (APIs) by performing the following steps: (i) providing a first ToS portion of a first API, with the first ToS portion including a first ToS feature value for a first ToS feature; (ii) providing a second ToS portion of a second API, with the second ToS portion including a second ToS feature value for the first ToS feature; and (iii) merging, at least, the first ToS portion and the second ToS portion, according to a set of ToS merger rule(s) applied by machine logic, to generate a merged ToS. One merger rule combines at least the first ToS feature value and the second ToS feature value according to a set of operator(s) to generate a first merged ToS feature value included as the first ToS feature in the merged ToS.
    Type: Grant
    Filed: November 11, 2014
    Date of Patent: May 8, 2018
    Assignee: International Business Machines Corporation
    Inventors: Jim A. Laredo, Sriram K. Rajagopal, Maja Vukovic, John E. Wittern
  • Publication number: 20180121320
    Abstract: A debugging tool and method for statically verifying programs that invoke web-based services through API calls is provided. The tool receives source code that comprises one or more invocation of web APIs for requesting web-based services. The tool also receives a set of web API specifications. The tool extracts a set of request information for each web API invocation in the source code, the set of request information including a usage string of an URL endpoint. The tool verifies whether the set of request information complies with the received web API specifications and reports a result of the verification.
    Type: Application
    Filed: October 31, 2016
    Publication date: May 3, 2018
    Inventors: Julian T. Dolby, Jim A. Laredo, John E. Wittern, Annie T. T. Ying, Yunhui Zheng