Patents by Inventor Jim A. Laredo
Jim A. Laredo 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: 11663110Abstract: 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: GrantFiled: October 31, 2016Date of Patent: May 30, 2023Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Julian T. Dolby, Jim A. Laredo, John E. Wittern, Annie T. T. Ying, Yunhui Zheng
-
Patent number: 11256693Abstract: 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: GrantFiled: September 21, 2018Date of Patent: February 22, 2022Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: John E. Wittern, Jim A. Laredo
-
Patent number: 11113029Abstract: A method and system of matching an application program interface (API) code usage with an API specification are provided. A program having an API code usage is received and its features are extracted therefrom. Features from meta data of a plurality of API specifications are extracted. For each API specification of the plurality of API specifications, a match probability with the API code usage is determined. An API specification having a highest probability is determined. The API code usage is matched with the API specification having the highest probability.Type: GrantFiled: April 10, 2019Date of Patent: September 7, 2021Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Annie T. Ying, Christopher Charles Young, John Erik Wittern, Yunhui Zheng, Jim Laredo, Aleksander Slominski
-
Patent number: 11102196Abstract: A computer-implemented method and system for authenticating API is provided. An API invocation request associated with a user is received. An API operation and the shareable API key includes validating API key credentials of the shareable API key associated with the API invocation request. There is an additional validation of user credentials of the user associated with the API invocation request. It is determined whether the user having the validated user credentials is authorized to use the shareable API key to invoke the API operation. The API operation is executed in response to determining the user having validated user credentials is authorized to use the shareable API key to invoke the API operation. The authentication integrates validation of the user and the shareable API key, and determines whether a user is a subscriber of a multi-tenant subscription service.Type: GrantFiled: April 6, 2019Date of Patent: August 24, 2021Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Rong Chang, Maoyuan Qu, Yew-Huey Liu, Jim Laredo, Robert Calhoun
-
Patent number: 11074158Abstract: 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: GrantFiled: December 1, 2017Date of Patent: July 27, 2021Assignee: International Business Machines CorporationInventors: Jim A. Laredo, Aleksander Slominski, John E. Wittern, Annie T. Ying, Christopher C. Young, Yunhui Zheng
-
Patent number: 11048505Abstract: Techniques for autonomously generating a code usage summary associated with a web application programming interface request are provided. In one example, a computer-implemented method can comprise evaluating, by a system operatively coupled to a processor, data from a data repository, wherein the evaluating is based on a defined machine learning process. Also, the computer-implemented method can comprise generating, by the system, a usage summary of the data, wherein the usage summary is based on a statistic derived from a web application programming interface request, and the web application programming interface request is associated with the data.Type: GrantFiled: December 18, 2019Date of Patent: June 29, 2021Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Jim Laredo, Aleksander Slominski, John Erik Wittern, Annie Tsui Tsui Ying, Christopher Charles Young, Yunhui Zheng
-
Publication number: 20200326913Abstract: A method and system of matching an application program interface (API) code usage with an API specification are provided. A program having an API code usage is received and its features are extracted therefrom. Features from meta data of a plurality of API specifications are extracted. For each API specification of the plurality of API specifications, a match probability with the API code usage is determined. An API specification having a highest probability is determined. The API code usage is matched with the API specification having the highest probability.Type: ApplicationFiled: April 10, 2019Publication date: October 15, 2020Inventors: Annie T. Ying, Christopher Charles Young, John Erik Wittern, Yunhui Zheng, Jim Laredo, Aleksander Slominski
-
Publication number: 20200322324Abstract: A computer-implemented method and system for authenticating API is provided. An API invocation request associated with a user is received. An API operation and the shareable API key includes validating API key credentials of the shareable API key associated with the API invocation request. There is an additional validation of user credentials of the user associated with the API invocation request. It is determined whether the user having the validated user credentials is authorized to use the shareable API key to invoke the API operation. The API operation is executed in response to determining the user having validated user credentials is authorized to use the shareable API key to invoke the API operation. The authentication integrates validation of the user and the shareable API key, and determines whether a user is a subscriber of a multi-tenant subscription service.Type: ApplicationFiled: April 6, 2019Publication date: October 8, 2020Inventors: Rong Chang, Maoyuan Qu, Yew-Huey Liu, Jim Laredo, Robert Calhoun
-
Publication number: 20200125362Abstract: Techniques for autonomously generating a code usage summary associated with a web application programming interface request are provided. In one example, a computer-implemented method can comprise evaluating, by a system operatively coupled to a processor, data from a data repository, wherein the evaluating is based on a defined machine learning process. Also, the computer-implemented method can comprise generating, by the system, a usage summary of the data, wherein the usage summary is based on a statistic derived from a web application programming interface request, and the web application programming interface request is associated with the data.Type: ApplicationFiled: December 18, 2019Publication date: April 23, 2020Inventors: Jim Laredo, Aleksander Slominski, John Erik Wittern, Annie Tsui Tsui Ying, Christopher Charles Young, Yunhui Zheng
-
Patent number: 10620949Abstract: Techniques for autonomously generating a code usage summary associated with a web application programming interface request are provided. In one example, a computer-implemented method can comprise evaluating, by a system operatively coupled to a processor, data from a data repository, wherein the evaluating is based on a defined machine learning process. Also, the computer-implemented method can comprise generating, by the system, a usage summary of the data, wherein the usage summary is based on a statistic derived from a web application programming interface request, and the web application programming interface request is associated with the data.Type: GrantFiled: December 14, 2017Date of Patent: April 14, 2020Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Jim Laredo, Aleksander Slominski, John Erik Wittern, Annie Tsui Tsui Ying, Christopher Charles Young, Yunhui Zheng
-
Publication number: 20200097559Abstract: 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: ApplicationFiled: September 21, 2018Publication date: March 26, 2020Inventors: John E. Wittern, Jim A. Laredo
-
Patent number: 10558459Abstract: Techniques for autonomously generating a code usage summary associated with a web application programming interface request are provided. In one example, a computer-implemented method can comprise evaluating, by a system operatively coupled to a processor, data from a data repository, wherein the evaluating is based on a defined machine learning process. Also, the computer-implemented method can comprise generating, by the system, a usage summary of the data, wherein the usage summary is based on a statistic derived from a web application programming interface request, and the web application programming interface request is associated with the data.Type: GrantFiled: May 12, 2017Date of Patent: February 11, 2020Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Jim Laredo, Aleksander Slominski, John Erik Wittern, Annie Tsui Tsui Ying, Christopher Charles Young, Yunhui Zheng
-
Patent number: 10528965Abstract: Bundling application programming interfaces is provided. Related application programming interfaces within a set of application programming interfaces and their corresponding dependent application programming interfaces are combined with related composite application programming interfaces within a set of composite application programming interfaces and their corresponding dependent application programming interfaces to generate a set of application programming interface bundles. The computer prunes the set of application programming interface bundles based on a determined application programming interface budget pattern that corresponds to a selected cluster of application programming interface consumers. The computer prices the pruned set of application programming interface bundles based on an application programming interface bundle pricing model.Type: GrantFiled: March 6, 2014Date of Patent: January 7, 2020Assignee: International Business Machines CorporationInventors: Jim A. Laredo, Arjun Natarajan, Maja Vukovic
-
Publication number: 20190171551Abstract: 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: ApplicationFiled: December 1, 2017Publication date: June 6, 2019Inventors: Jim A. Laredo, Aleksander Slominski, John E. Wittern, Annie T. Ying, Christopher C. Young, Yunhui Zheng
-
Patent number: 10216486Abstract: One or more processors receive information regarding a program module that includes a description of a function, license terms, and non-functional properties of the program module. The license terms, the description of function, and the non-functional properties of the program module are identified, based on an analysis of the information. An object of interest of each license term of the license terms is determined, such that the object of interest is directed to a condition influencing license term compliance. Rules corresponding to compliance of the one or more license terms of the program module are determined, and the analyzed information of the program module is stored in a meta-model format organized into categories including the description of function, the one or more license terms, and the non-functional properties of the program module, utilizing standardized syntax and semantics.Type: GrantFiled: August 24, 2016Date of Patent: February 26, 2019Assignee: International Business Machines CorporationInventors: Nicholas C. M. Fuller, Jim A. Laredo, Hui Lei, Sriram K. Rajagopal, Maja Vukovic, Liangzhao Zeng
-
Patent number: 10210558Abstract: Offline functionality-based co-ranking and clustering is carried out on a knowledge base that characterizes a heterogeneous information technology services network including a plurality of services, a plurality of providers, and a plurality of attributes. Results of the functionality-based co-ranking and clustering are stored as annotations of the services and the providers in the knowledge base, to obtain an annotated knowledge base. A service requirement is obtained from a customer requiring information technology services. The annotated knowledge base is queried, based on the service requirement; and an ordered list of at least given ones of the services, based on the querying, is returned to the customer.Type: GrantFiled: February 17, 2017Date of Patent: February 19, 2019Assignee: International Business Machines CorporationInventors: Rahul P. Akolkar, Thomas E. Chefalas, Yexi Jiang, Jim A. Laredo, Chang-Shing Perng, Anca Sailer, Frank A. Schaffa, Alla Segal, Ignacio Silva-Lepe, Tao Tao, Yang Zhou
-
Patent number: 10140638Abstract: A method for providing a cloud-based service includes receiving information from a customer of the service over a conversational interface, the information identifying a requirement of the customer related to a resiliency of the service, and identifying a service provider who provides the service in a manner that satisfies the requirement. A method for building a knowledge base of cloud-based service providers includes receiving information from a service provider, the information specifying at least one resiliency attribute of the service provider, matching the information to a standardized service descriptor, wherein the service descriptor is indexed within an ontology-based organizational framework that indexes a plurality of service descriptors, and storing the service descriptor for the service provider.Type: GrantFiled: December 6, 2012Date of Patent: November 27, 2018Assignee: International Business Machines CorporationInventors: Rahul P. Akolkar, Thomas E. Chefalas, Jim A. Laredo, Chang-Shing Perng, Anca Sailer, Frank A. Schaffa, Alla Segal, Ignacio Silva-Lepe, Tao Tao
-
Publication number: 20180329704Abstract: Techniques for autonomously generating a code usage summary associated with a web application programming interface request are provided. In one example, a computer-implemented method can comprise evaluating, by a system operatively coupled to a processor, data from a data repository, wherein the evaluating is based on a defined machine learning process. Also, the computer-implemented method can comprise generating, by the system, a usage summary of the data, wherein the usage summary is based on a statistic derived from a web application programming interface request, and the web application programming interface request is associated with the data.Type: ApplicationFiled: May 12, 2017Publication date: November 15, 2018Inventors: Jim Laredo, Aleksander Slominski, John Erik Wittern, Annie Tsui Tsui Ying, Christopher Charles Young, Yunhui Zheng
-
Publication number: 20180329705Abstract: Techniques for autonomously generating a code usage summary associated with a web application programming interface request are provided. In one example, a computer-implemented method can comprise evaluating, by a system operatively coupled to a processor, data from a data repository, wherein the evaluating is based on a defined machine learning process. Also, the computer-implemented method can comprise generating, by the system, a usage summary of the data, wherein the usage summary is based on a statistic derived from a web application programming interface request, and the web application programming interface request is associated with the data.Type: ApplicationFiled: December 14, 2017Publication date: November 15, 2018Inventors: Jim Laredo, Aleksander Slominski, John Erik Wittern, Annie Tsui Tsui Ying, Christopher Charles Young, Yunhui Zheng
-
Patent number: 9965337Abstract: 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: GrantFiled: November 11, 2014Date of Patent: May 8, 2018Assignee: International Business Machines CorporationInventors: Jim A. Laredo, Sriram K. Rajagopal, Maja Vukovic, John E. Wittern