Automatically generating service documentation based on actual usage

US9954746B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9954746-B2
Application numberUS-201514794906-A
CountryUS
Kind codeB2
Filing dateJul 9, 2015
Priority dateJul 9, 2015
Publication dateApr 24, 2018
Grant dateApr 24, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A computer system automatically generates service documentation based on usage of a web service. The computer system captures network traffic including actual requests to a service endpoint of the web service and actual responses from the service endpoint of the web service. The captured network traffic can be analyzed using machine learning to determine one or more operations that are available at the service endpoint, input arguments that are accepted by the service endpoint, and output arguments that are provided by the service endpoint. The computer system can automatically generate service documentation for the web service based on metadata that identifies the operations, the input arguments, and the output arguments.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer system for automatically generating service documentation based on usage of a web service, the computer system comprising: one or more computers including: one or more input/output components configured to operatively communicate with a network; a processor operatively coupled with the one or more input/output components and configured to execute computer-executable instructions; and memory storing one or more computer-executable instructions that, when executed by the processor, perform operations configured to: capture network traffic communicated via the one or more input/output components including one or more actual requests to a service endpoint of the web service and one or more actual responses from the service endpoint of the web service; analyze the captured network traffic using one or more machine learning algorithms to determine one or more operations that are available at the service endpoint, one or more input arguments that are accepted by the service endpoint, and one or more output arguments that are provided by the service endpoint, including using the one or more machine learning algorithms to determine one or more mandatory input arguments that are necessary for successful operation of the web service based at least partially on analysis of (i) one or more output arguments that indicate an unsuccessful operation of the web service, and (ii) one or more output arguments that indicate a successful operation of the web service; generate metadata based on the analysis of the captured network traffic for the service endpoint that identifies the one or more operations, the one or more input arguments, and the one or more output arguments; automatically generate service documentation for the web service based on the metadata, the service documentation including at least identification of the one or more mandatory input arguments that are necessary for successful operation of the web service determined using the one or more machine learning algorithms; and communicate the service documentation for the web service to a client device. 2. The computer system of claim 1 , wherein the one or more input arguments include one or more of: one or more headers supplied in the one or more actual requests to the service endpoint and message body content supplied in the one or more actual requests to the service endpoint. 3. The computer system of claim 1 , wherein the one or more output arguments include one or more of: one or more headers provided in the one or more actual responses from the service endpoint, one or more status codes provided in the one or more actual responses from the service endpoint, and message body content provided in the one or more actual responses from the service endpoint. 4. The computer system of claim 1 , wherein analyze the captured network traffic comprises determining whether each of the one or more input arguments is mandatory or optional. 5. The computer system of claim 1 , wherein analyze the captured network traffic using one or more machine learning algorithms to determine one or more operations that are available at the service endpoint, one or more input arguments that are accepted by the service endpoint, and one or more output arguments that are provided by the service endpoint comprises: analyze the captured network traffic using one or more machine learning algorithms to determine one or more operations that are available at the service endpoint, one or more input arguments that are accepted by the service endpoint, and one or more output arguments that are provided by the service endpoint, including using the one or more machine learning algorithms to determine one or more optional input arguments that are not necessary for successful operation of the web service based at least partially on the analysis of one or more output arguments that indicate a successful operation of the web service. 6. The computer system of claim 1 , wherein analyze the captured network traffic using one or more machine learning algorithms comprises analyze the captured network traffic using one or more machine learning algorithms to infer one or more operations that are available at the service endpoint. 7. The computer system of claim 1 , wherein the memory further stores computer-executable instructions configured to select an actual request to the service endpoint for use as a sample request message. 8. The computer system of claim 1 , wherein the memory further stores computer-executable instructions configured to calculate statistics pertaining to one or more of: usage of the operations of the service endpoint, usage of values for the one or more input arguments, usage of different service endpoints of the web service, and usage of different versions of the web service. 9. The computer system of claim 1 , wherein the memory further stores computer-executable instructions configured to search or filter the service documentation based on message data included in one or more actual requests to the service endpoint. 10. The computer system of claim 1 , wherein the memory further stores computer-executable instructions configured to generate one or more synthetic requests to the service endpoint. 11. A computer-implemented method performed by a computer system to automatically generate service documenting based on usage of a web service, the computer-implemented method comprising: capturing network traffic communicated via one or more input/output components including actual requests to a service endpoint of the web service and actual responses from the service endpoint of the web service; analyzing the captured network traffic using one or more machine learning algorithms to determine one or more operations that are available at the service endpoint, one or more input arguments that are accepted by the service endpoint, and one or more output arguments that are provided by the service endpoint, including using the one or more machine learning algorithms to determine one or more mandatory input arguments that are necessary for successful operation of the web service based at least partially on analysis of (i) one or more output arguments that indicate an unsuccessful operation of the web service, and (ii) one or more output arguments that indicate a successful operation of the web service; and automatically generating service documentation for the web service based on the captured network traffic associated with the one or more operations, the one or more input arguments, and the one or more output arguments, the service documentation including at least identification of the one or more mandatory input arguments that are necessary for successful operation of the web service determined using the one or more machine learning algorithms. 12. The computer-implemented method of claim 11 , further comprising: generating metadata for the service endpoint that identifies the one or more operations, the one or more input arguments, and the one or more output arguments. 13. The computer-implemented method of claim 11 , further comprising: determining whether each of the one or more input arguments is mandatory or optional. 14. The computer-implemented method of claim 11 , further comprising: selecting an actual request to the service endpoint for use as a sample request message. 15. The computer-implemented method of claim 11 , further comprising: calculating statistics pertaining to usage of the service endpoint. 16. The computer-implemented method of claim 11 , further comprising: filtering, by the computer system, the service documentation base

Assignees

Inventors

Classifications

  • H04L43/06Primary

    Generation of reports · CPC title

  • using web services for network management, e.g. simple object access protocol [SOAP] · CPC title

  • G06F8/73Primary

    Program documentation · CPC title

  • based on web technology, e.g. hypertext transfer protocol [HTTP] · CPC title

  • Network utilisation, e.g. volume of load or congestion level · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9954746B2 cover?
A computer system automatically generates service documentation based on usage of a web service. The computer system captures network traffic including actual requests to a service endpoint of the web service and actual responses from the service endpoint of the web service. The captured network traffic can be analyzed using machine learning to determine one or more operations that are availabl…
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification H04L43/06. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Apr 24 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).