IP Library Granted Patent US 10,310,850
Granted Patent B2
US 10,310,850 · App. 15/298,121 · Granted Jun 4, 2019

Methods and systems for determining relevant changes in an API

Inventors: Mark Ginga Misawa Duppenthaler (San Francisco, CA); Pin Xu (Redwood City, CA); David Scoville (East Palo Alto, CA); Carpus Gain Chang (San Francisco, CA); Reagan Boyd Williams (San Francisco, CA)
Assignee: FACEBOOK, INC.
G06F8/71G06F8/65G06F8/75G06F9/445
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,310,850
App. No.
15/298,121
Granted
Jun 4, 2019
Kind
B2
Abstract

Methods, systems, and/or devices for determining relevant changes to an API are described herein. In one aspect, a server system receives a request from a client to compare two versions of an API. A comparison of the two versions, and any intervening versions, of the API is performed by a server, which may then rank the comparison results based on the call volume or other criteria and will return the ranked results to a client for display to a user. Options include restricting the list of changes to just changes impacting a specific client application.

Claims (47)

1. A method, comprising:

at an electronic system having one or more processors and memory storing instructions for execution by the one or more processors:

receiving, from an application on a client device, a call to a first method in an application programming interface (API);

receiving, from a first software utility implemented in connection with the application, a request to compare a first version of the API with a second version of the API;

identifying the first version of the API and the second version of the API, wherein the first version predates the second version;

identifying the call to the API as a first call of a plurality of calls previously made to the API by the application;

comparing the first version of the API to the second version of the API to determine whether any method signature for the first method has changed from the first version of the API to the second version of the API; and

in accordance with determining that a first method signature for the first method has changed, providing, to the client device, an indication of one or more changes to the first method signature from the first version of the API to the second version of the API, wherein the indication specifies:

call volume to the first method according to the plurality of calls previously made to the API by the application;

a description of the first method; and

a list of method signatures for the first method that changed between the first version of the API and the second version of the API.

2. The method of claim 1 , wherein the one or more changes to the first method signature correspond to a modification of syntax for the first method signature from the first version of the API to the second version of the API.

3. The method of claim 1 , wherein the one or more changes to first method signature identify differences between data returned in response to a call to the first method in the first version and data returned in response to a call to the first method in the second version.

4. The method of claim 1 , wherein the one or more changes to the first method signature identify the first method signature as existing in the first version of the API but not existing in the second version of the API.

5. The method of claim 1 , wherein the one or more changes to the first method signature identify the first method signature as supported in the first version of the API but deprecated in the second version of the API.

6. The method of claim 1 , further comprising ranking the method signatures in the list according to call volume from the application;

wherein the indication lists the method signatures in accordance with the ranking.

7. The method of claim 1 , wherein the API has one or more intervening versions that follow the first version and predate the second version.

8. The method of claim 7 , wherein:

the first version, the second version, and the one or more intervening versions of the API define a chronological sequence of versions of the API;

the comparing comprises, for each pair of adjacent versions in the sequence, wherein each pair includes a respective earlier version and a respective latter version:

comparing the earlier version of the API and the latter version of the API to determine whether any method signature for the first method has changed from the earlier version to the latter version; and

the providing comprises, for each pair of adjacent versions in the sequence for which one or more method signatures for the first method has changed between the earlier version and the latter version:

providing a respective indication of one or more respective changes to one or more method signatures for the first method from the earlier version to the latter version.

9. A method, comprising:

at a client device having one or more processors and memory storing instructions for execution by the one or more processors:

calling, from an application on the client device, a first method in an application programming interface (API), wherein the API is associated with a first software utility implemented in connection with the application, and wherein the call is one of a plurality of calls by the application to the first method in the API;

detecting a user input specifying a first version and a second version of the API, wherein the first version predates the second version;

transmitting identifiers of the first version of the API and the second version of the API to a server system;

in response to transmitting the identifiers, receiving from the server system a comparison of method signatures for the first method between the first version of the API and the second version of the API, wherein the comparison includes an indication of one or more changes to a first method signature of the first method between the first version of the API to the second version of the API, and the indication specifies:

call volume to the first method according to the plurality of calls by the application to the first method in the API;

a description of the first method; and

a list of method signatures for the first method that changed between the first version of the API and the second version of the API; and

displaying the indication in a graphical user interface on the client device, including displaying the call volume, the description of the first method, and the list of method signatures.

10. The method of claim 9 , wherein:

the API has one or more intervening versions that follow the first version and predate the second version, wherein the first version, the second version, and the one or more intervening versions define a chronological sequence of versions of the API; and

displaying the indication includes, for each pair of adjacent versions in the sequence, wherein each pair includes a respective earlier version and a respective latter version:

displaying a respective indication of one or more respective changes to one or more method signatures for the first method from the earlier version of the API to the latter version of the API.

11. A non-transitory computer-readable storage medium storing one or more programs for execution by one or more processors, the one or more programs including instructions for:

calling, from an application on the client device, a first method in an application programming interface (API), wherein the API is associated with a first software utility implemented in connection with the application, and wherein the call is one of a plurality of calls by the application to the first method in the API;

detecting a user input specifying a first version and a second version of the API, wherein the first version predates the second version;

transmitting identifiers of the first version of the API and the second version of the API to a server system;

in response to transmitting the identifiers, receiving from the server system a comparison of method signatures for the first method between the first version of the API and the second version of the API, wherein the comparison includes an indication of one or more changes to a first method signature of the first method between the first version of the API to the second version of the API, and the indication specifies:

call volume to the first method according to the plurality of calls by the application to the first method in the API;

a description of the first method; and

a list of method signatures for the first method that changed between the first version of the API and the second version of the API; and

displaying the indication in a graphical user interface on the client device, including displaying the call volume, the description of the first method, and the list of method signatures.

Assignments (2)
CHANGE OF NAME Recorded Dec 16, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058520/0535 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 8, 2017
From: DUPPENTHALER, MARK GINGA MISAWA; XU, PIN; SCOVILLE, DAVID; CHANG, CARPUS GAIN; WILLIAMS, REAGAN BOYD
To: FACEBOOK, INC.
Reel/Frame 041203/0025 →
Continuity (1)
Related Publication 20180107479A1 · Apr 19, 2018
Cited By (1)
US 12,407,762