IP Library Granted Patent US 9,454,409
Granted Patent B2
US 9,454,409 · App. 14/487,437 · Granted Sep 27, 2016

API matchmaking using feature models

Inventors: Jim A. Laredo (Katonah, NY); Sriram K. Rajagopal (Chennai, IN); Maja Vukovic (New York, NY); John E. Wittern (Berlin, DE)
Assignee: International Business Machines Corporation
G06F9/54G06F8/20G06F8/36G06F9/44505G06Q10/06
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,454,409
App. No.
14/487,437
Granted
Sep 27, 2016
Kind
B2
Abstract

Software that uses machine logic based algorithms to help determine and/or prioritize an application programming interface's (API) desirability to a user based on how closely the API's terms of service (ToS) meet the users' ToS preferences. The software performs the following steps: (i) receiving a set of API ToS feature information that includes identifying information for at least one API and respectively associated ToS features for each identified API; (ii) receiving ToS preference information that relates to ToS related preferences for a user; and (iii) evaluating a strength of a match between each respective API identified in the API ToS feature information set and the ToS preference information to yield a match value for each API identified in the API ToS feature information set. The ToS features include at least a first ToS field. At least one API includes multiple, alternative values in its first ToS field.

Claims (69)

1. A computer-implemented method comprising:

receiving, by one or more processors, a set of application programming interface (API) terms-of-service (ToS) feature information that includes identifying information for at least one API and respectively associated ToS features for each identified API;

receiving, by one or more processors, ToS preference information that relates to ToS related preferences for a user, submitted by the user via a user interface; and

evaluating, by one or more processors, a strength of a match between each respective API identified in the API ToS feature information set and the ToS preference information to yield a match value for each API identified in the API ToS feature information set;

wherein:

the respectively associated ToS features do not relate to API functionality;

the ToS related preferences for the user do not include preferences for desired API functionality;

the respectively associated ToS features include at least a first ToS field; and

at least one API identified in the API ToS information set includes multiple, alternative values in its respectively corresponding first ToS field.

2. The computer-implemented method of claim 1 , further comprising:

determining, by one or more processors, the at least one API identified in the set of API ToS feature information based upon the strength of a respective functionality match with functionality preferences of a user.

3. The computer-implemented method of claim 1 , wherein:

the respectively associated ToS features relate to at least one of the following subject matter areas: legal, financial, support, contractual, privacy, confidential, intellectual property terms, and/or change notifications.

4. The computer-implemented method of claim 1 , wherein:

the ToS features of the at least one API identified in the API ToS feature information set are a product of merging the ToS features of two or more APIs.

5. The computer-implemented method of claim 1 , wherein:

at least one of the ToS features is represented as a number indicating a value of the respective ToS feature.

6. The computer-implemented method of claim 1 , wherein:

the ToS features of each API identified in the API ToS feature information set are represented by ToS feature models, the ToS feature models expressing any requirements, limitations, and/or alternative options for each ToS feature; and

the ToS preference information is represented by one or more consumer feature models, the consumer feature models expressing the user's preferred requirements, limitations, and/or alternative options for each ToS feature.

7. The computer-implemented method of claim 1 , wherein:

at least one of the ToS features includes a geographical restriction on where the user may use the ToS feature's respectively associated API.

8. The computer-implemented method of claim 1 , wherein:

at least one of the ToS features includes a license under which the ToS feature's respectively associated API is being offered.

9. The computer-implemented method of claim 1 , wherein:

at least one of the ToS features includes an amount of technical support provided for the ToS feature's respectively associated API.

10. A computer program product comprising a computer readable storage medium having stored thereon:

first program instructions programmed to receive a set of application programming interface (API) terms-of-service (ToS) feature information that includes identifying information for at least one API and respectively associated ToS features for each identified API;

second program instructions programmed to receive ToS preference information that relates to ToS related preferences for a user, submitted by the user via a user interface; and

third program instructions programmed to evaluate a strength of a match between each respective API identified in the API ToS feature information set and the ToS preference information to yield a match value for each API identified in the API ToS feature information set;

wherein:

the respectively associated ToS features do not relate to API functionality;

the ToS related preferences for the user do not include preferences for desired API functionality;

the respectively associated ToS features include at least a first ToS field; and

at least one API identified in the API ToS information set includes multiple, alternative values in its respectively corresponding first ToS field.

11. The computer program product of claim 10 , further comprising:

fourth program instructions programmed to determine the at least one API identified in the set of API ToS feature information based upon the strength of a respective functionality match with functionality preferences of a user.

12. The computer program product of claim 10 , wherein:

the respectively associated ToS features relate to at least one of the following subject matter areas: legal, financial, support, contractual, privacy, confidential, intellectual property terms, and/or change notifications.

13. The computer program product of claim 10 , wherein:

the ToS features of the at least one API identified in the API ToS feature information set are a product of merging the ToS features of two or more APIs.

14. The computer program product of claim 10 , wherein:

at least one of the ToS features is represented as a number indicating a value of the respective ToS feature.

15. The computer program product of claim 10 , wherein:

the ToS features of each API identified in the API ToS feature information set are represented by ToS feature models, the ToS feature models expressing any requirements, limitations, and/or alternative options for each ToS feature; and

the ToS preference information is represented by one or more consumer feature models, the consumer feature models expressing the user's preferred requirements, limitations, and/or alternative options for each ToS feature.

16. A computer system comprising:

a processor(s) set; and

a computer readable storage medium;

wherein:

the processor set is structured, located, connected and/or programmed to run program instructions stored on the computer readable storage medium; and

the program instructions include:

first program instructions programmed to receive a set of application programming interface (API) terms-of-service (ToS) feature information that includes identifying information for at least one API and respectively associated ToS features for each identified API;

second program instructions programmed to receive ToS preference information that relates to ToS related preferences for a user, submitted by the user via a user interface; and

third program instructions programmed to evaluate a strength of a match between each respective API identified in the API ToS feature information set and the ToS preference information to yield a match value for each API identified in the API ToS feature information set;

wherein:

the respectively associated ToS features do not relate to API functionality;

the ToS related preferences for the user do not include preferences for desired API functionality;

the respectively associated ToS features include at least a first ToS field; and

at least one API identified in the API ToS information set includes multiple, alternative values in its respectively corresponding first ToS field.

17. The computer system of claim 16 , further comprising:

fourth program instructions programmed to determine the at least one API identified in the set of API ToS feature information based upon the strength of a respective functionality match with functionality preferences of a user.

18. The computer system of claim 16 , wherein:

the respectively associated ToS features relate to at least one of the following subject matter areas: legal, financial, support, contractual, privacy, confidential, intellectual property terms, and/or change notifications.

19. The computer system of claim 16 , wherein:

the ToS features of the at least one API identified in the API ToS feature information set are a product of merging the ToS features of two or more APIs.

20. The computer system of claim 16 , wherein:

the ToS features of each API identified in the API ToS feature information set are represented by ToS feature models, the ToS feature models expressing any requirements, limitations, and/or alternative options for each ToS feature; and

the ToS preference information is represented by one or more consumer feature models, the consumer feature models expressing the user's preferred requirements, limitations, and/or alternative options for each ToS feature.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 16, 2014
From: LAREDO, JIM A.; RAJAGOPAL, SRIRAM K.; VUKOVIC, MAJA; WITTERN, JOHN E.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 033748/0524 →
Continuity (1)
Related Publication 20160077893A1 · Mar 17, 2016