IP Library › Granted Patent US 10,761,910
Granted Patent B2
US 10,761,910 · App. 16/511,944 · Granted Sep 1, 2020

Application program interface analyzer for a universal interaction platform

Inventors: Alston Ghafourifar (Los Altos Hills, CA); Philip Nathan Greenberg (San Diego, CA); Neil Achtman (Mountain View, CA)
Assignee: Entefy Inc.
G06F9/543G06F9/5027G06F9/541G06F40/40G06F2209/5015
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 10,761,910
App. No.
16/511,944
Granted
Sep 1, 2020
Kind
B2
Abstract

An application program interface (API) analyzer that determines protocols and formats to interact with a service provider or smart device. The API analyzer identifies an API endpoint or websites for the service provider or smart device, determines a service category or device category, selects a category-specific corpus, forms a service-specific or device-specific corpus by appending information regarding the service provider or smart device to the category-specific corpus, and parses API documentation or the websites.

Claims (70)

1. A computer-implemented method of determining protocols and formats to interact with a service provider or smart device via an application program interface (API), the method comprising:

identifying an API endpoint for the service provider or smart device;

determining a service category or device category for the service provider or smart device;

selecting a category-specific corpus based on the service category or device category;

parsing API documentation to determine functions available via the API and parameters required to request the functions available via the API;

mapping one or more queries or instructions to one or more of the functions and parameters by an API analyzer; and

forming a service-specific or device-specific corpus by appending the category-specific corpus to include the functions available via the API, the parameters required to request the functions, and the one or more queries or instructions mapped to the functions and parameters.

2. The method of claim 1 , wherein the API endpoint and the service category or device category are determined based on user input.

3. The method of claim 1 , further comprising:

prompting a user to manually input information regarding the service provider or smart device; and

appending the information manually input by the user to the service-specific or device-specific corpus.

4. The method of claim 1 , further comprising:

determining relationships between words or phrases included in the API documentation;

prompting the user to validate the relationships between the words or phrases included in the API documentation; and

appending the service-specific or device-specific corpus based on the user validation.

5. The method of claim 1 , wherein the queries or instructions mapped to the functions and parameters are natural language expressions.

6. The method of claim 1 , further comprising:

prompting a user to validate the mappings of the API analyzer.

7. An application program interface (API) analyzer, comprising:

one or more storage devices that store a plurality of category-specific corpuses;

a user-interface;

one or more processing units that:

identify an API endpoint for a service provider or smart device;

determine a service category or device category for the service provider or smart device;

select one of the category-specific corpuses based on the service category or device category;

parse API documentation to determine functions available via the API and parameters required to request the functions available via the API;

map one or more of the functions and parameters to one or more queries or instructions;

forming a service-specific or device-specific corpus by appending the category-specific corpus to include the functions available via the API, the parameters required to request the functions, and the one or more queries or instructions mapped to the functions and parameters; and

store the service-specific or device-specific corpus in the one or more storage devices.

8. The API analyzer of claim 7 , wherein the one or more processing units:

prompt a user to manually input information regarding the service provider or smart device via the user-interface;

append the information manually input by the user to the service-specific or device-specific corpus;

determine relationships between words or phrases included in the API documentation;

prompt the user to validate the relationships between the words or phrases included in the API documentation via the user-interface; and

append the service-specific or device-specific corpus based on the user validation.

9. The API analyzer of claim 7 , wherein the queries or instructions are natural language expressions.

10. A non-transitory computer readable storage medium (CRSM) comprising computer executable instructions stored thereon to cause one or more processing units to:

identify an application program interface (API) endpoint for a service provider or smart device;

determine a service category or device category for the service provider or smart device;

select a category-specific corpus based on the service category or device category;

parse API documentation to determine functions available via the API and parameters required to request the functions available via the API;

map one or more queries or instructions to one or more of the functions and parameters; and

form a service-specific or device-specific corpus by appending the category-specific corpus to include the functions available via the API, the parameters required to request the functions, and the one or more queries or instructions mapped to the functions and parameters.

11. The CRSM of claim 10 , wherein the API endpoint and the service category or device category are determined based on user input.

12. The CRSM of claim 10 , wherein the instructions further cause the one or more processing units to:

prompt a user to manually input information regarding the service provider or smart device; and

append the information manually input by the user to the service-specific or device-specific corpus.

13. The CRSM of claim 10 , wherein the instructions further cause the one or more processing units to:

determine relationships between words or phrases included in the API documentation;

prompt the user to validate the relationships between the words or phrases included in the API documentation; and

append the service-specific or device-specific corpus based on the user validation.

14. The CRSM of claim 10 , wherein the queries or instructions are natural language expressions.

15. The CRSM of claim 10 , wherein the instructions further cause the one or more processing units to:

prompt a user to validate the mappings of the one or more processing units.

16. A non-transitory computer readable storage medium (CRSM) comprising computer executable instructions stored thereon to cause one or more processing units to:

identify service provider websites;

determine a service category for the service provider;

select a category-specific corpus based on the service category;

parse the service provider websites to extract objects that include meaningful information regarding the service provider or services offered by the service provider;

categorize each of the extracted objects by comparing the extracted objects to a database of known data types, structures, and/or keywords and associating each of the extracted objects with a category;

map each of the extracted objects to one or more queries; form a service-specific corpus by appending the category-specific corpus to include the extracted objects and the one or more queries mapped to each of the extracted objects;

provide functionality for a user to submit one of the one or more queries; and

output the extracted object mapped to the query submitted by the user.

17. The CRSM of claim 16 , wherein the service provider websites are determined based on user input.

18. The CRSM of claim 16 , wherein the instructions further cause the one or more processing units to prompt the user validate the categorization of each of the extracted objects.

19. The CRSM of claim 16 , wherein:

the instructions cause the one or more processing units to map one or more queries to one or more natural language expressions; and

the one or more processing units provide functionality for the user to submit one of the one or more queries using one of the one or more natural language expressions.

20. The CRSM of claim 16 , wherein the instructions further cause the one or more processing units to:

prompt a user to validate the mappings of the one or more processing units.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 24, 2020
From: GHAFOURIFAR, ALSTON; GREENBERG, PHILIP NATHAN; ACHTMAN, NEIL
To: ENTEFY INC.
Reel/Frame 053304/0825 →
Continuity (3)
Continuation 14986157 · Dec 31, 2015
Continuation 14986111 · Dec 31, 2015
Related Publication 20200050502A1 · Feb 13, 2020