IP Library › Granted Patent US 9,130,975
Granted Patent B2
US 9,130,975 · App. 12/943,469 · Granted Sep 8, 2015

Generation of macros

Inventors: Wu Chou (Basking Ridge, NJ); Li Li (Bridgewater, NJ)
Assignee: Avaya Inc.
H04L67/14H04L67/02
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,130,975
App. No.
12/943,469
Filed
Nov 10, 2010
Granted
Sep 8, 2015
Kind
B2
Examiner
XIA, XUYANG
Art Unit
2143
USPC
715/738
Abstract

A method and apparatus that learns and generates procedures for machine-to-machine interactions by monitoring user browser interactions with the server. Based on an action by a user of the web browser, a communication is sent from the web browser to the server, which is recorded by a macro recorder. The communication is in a first format such as HTML, which contains human-readable API documentation for a user's interactions with the server. The web browser receives a response to the communication which contains a response in the first format and a response in a second format. The second format is parsed to produce a normalized representation. The normalized representation describes the machine-readable API and the service invocation flow that can be interpreted by a particular programming language to generate service macros to invoke the services programmatically from a remote client to a server that supports the same services for machine-to-machine interaction.

Claims (39)

1. A method comprising:

receiving at a macro recorder a request to start recording one or more communication exchanges between a web browser and a server;

sending a communication from the web browser in a first format to the server, wherein the first format is at least one of a content format and a protocol, the first format is one of HTML and XHTML, and the first format comprises human-readable Application Programming Interface (API) documentation about a user interaction with the server;

recording by the macro recorder at least part of the communication;

receiving at the web browser a response to the communication sent from the server, the response being sent from the server and received at the web browser and the response comprising the first format and a second format, wherein the second format is at least one of a content format and a protocol and is different than the first format, and the second format is not parsable by the web browser, and the first format in combination with the second format describes the machine-readable API about the user interaction with the server;

sending a request to send a response with a specific type of second format and determining from the specific type of second format in the response a computer language to normalize a representation of the response;

parsing in a micro browser the response in the second format to produce the normalized representation of the response;

and generating in the macro recorder, a macro, wherein the macro is created based on the at least part of the communication and the normalized representation of the response.

2. The method of claim 1 , further comprising the step of sending an indication of the request to start recording to the server and wherein the second format is sent based on the indication of the request to start recording.

3. The method of claim 1 , wherein the communication further comprises the second format, and wherein the micro browser creates a normalized representation of the communication based on the second format and the macro recorder creates the macro based on the normalized representation of the communication and the normalized representation of the response.

4. The method of claim 1 , further comprising the steps of: receiving in the macro recorder a request to stop recording the one or more communication exchanges between the web browser and the server, and sending from the macro recorder to the server an indication of the request to stop recording.

5. The method of claim 4 , further comprising the steps of: creating a plurality of macros, wherein the plurality of macros are shown as macro icons in an application development tool and a user of the application development tool can create an application based on the plurality of macro icons.

6. The method of claim 4 , further comprising the steps of: creating a plurality of macros and combining the plurality of macros to create a combined macro.

7. The method of claim 1 , wherein the second format is a micro format, wherein the micro format is a format that is embedded within the first format, and wherein the parsing step normalizes the representation of the response by converting the micro format to one of JavaScript Object Notation, Resource Description Framework, Java, and C++.

8. The method of claim 1 , wherein the first format guides a user interaction with the server.

9. The method of claim 8 , wherein the second format is a micro format, wherein the micro format is a format that is embedded within the first format.

10. The method of claim 1 , wherein the first format guides a user interaction with the server and wherein the normalized representation of the response describes a machine-readable API and a service invocation flow without the first format.

11. A method comprising:

receiving at a server, an indication of a request to start recording one or more communication exchanges between a web browser and the server;

receiving at the server, a communication from the web browser in a first format, wherein the first format is at least one of a content format and a protocol, the first format is one of HTML and XHTML, and the first format comprises human-readable Application Programming Interface (API) documentation about a user interaction with the server;

in response to the receiving the indication of the request to start recording the one or more communication exchanges and receiving the communication, sending a response to the communication, the response being sent from the server and received at the web browser and the response comprising the first format and a second format, wherein the second format is at least one of a content format and a protocol and is different than the first format, and the first format in combination with the second format describes the machine-readable API about the user interaction with the server;

receiving at the server, a request to send a response with a specific type of second format and determining from the specific type of second format in the response a computer language to normalize a representation of the response; and

receiving at the server, an indication of a request to stop recording; and in response to receiving the indication of the request to stop recording, sending responses to additional communications from the web browser in the first format and not in the second format.

12. A system comprising:

a non-transitory computer-readable medium; a macro recorder configured to receive a request to start recording one or more communication exchanges between a web browser and a server, record at least part of a communication, and generate a macro, wherein the macro is created based on the at least part of the communication and a normalized representation of a response to the communication;

a web browser configured to send the communication in a first format to the server, wherein the first format is at least one of a content format and a protocol, the first format is one of HTML and XHTML, and the first format comprises human-readable Application Programming Interface (API) documentation about a user interaction with the server, receive a response to the communication sent from the server, the response being sent from the server and received at the web browser and the response comprising the first format and a second format, wherein the second format is at least one of a content format and a protocol and is different than the first format, and the second format is not parsable by the web browser, and the first format in combination with the second format describes the machine-readable API about the user interaction with the server;

the macro recorder is further configured to send a request to respond with a specific type of second format and a micro browser is configured to determine from the specific type of second format in the response, a computer language to normalize the representation of the response; and

the micro browser is further configured to parse the second format to produce the normalized representation of the response.

13. The system of claim 12 , wherein a macro recorder is further configured to send an indication of the request to start recording to the server and the second format is sent based on the indication of the request to start recording.

14. The system of claim 12 , wherein the communication further comprises the second format, and wherein the micro browser is further configured to create a normalized representation of the communication based on the second format and the macro recorder is further configured to create the macro based on the normalized representation of the communication and the normalized representation of the response.

15. The system of claim 12 , wherein the macro recorder is further configured to receive a request to stop recording the one or more communication exchanges between the web browser and the server, and to send an indication of the request to stop recording to the server.

16. The system of claim 15 , wherein the macro recorder is further configured to create a plurality of macros, wherein the plurality of macros are shown as macro icons in an application development tool and a user of the application development tool can create an application based on the plurality of macro icons.

17. The system of claim 15 , wherein the macro recorder is further configured to create a plurality of macros and combine the plurality of macros to create a combined macro.

18. A system comprising:

a non-transitory server configured to:

receive an indication of a request to start recording one or more communication exchanges between a web browser and the server,

receive a communication from the web browser in a first format, wherein the first format is at least one of a content format and a protocol, the first format is one of HTML and XHTML, and the first format comprises human-readable Application Programming Interface (API) documentation about a user interaction with the server, in response to the receiving the indication of the request to start recording the one or more communication exchanges and receiving the communication, send a response to the communication, the response being sent from the server and received at the web browser and the response comprising the first format and a second format, wherein the second format is at least one of a content format and a protocol and is different than the first format, the second format is not parsable by the web browser, and the first format in combination with the second format describes the machine-readable API about the user interaction with the server,

receive a request to respond with a specific type of second format and a micro browser is further configured to determine from the specific type of second format in the response, a computer language to normalize a representation of the response;

receive an indication of a request to stop recording, and in response to receiving the indication of the request to stop recording, send responses to additional communications from the web browser in the first format and not in the second format.

Assignments (18)
(SECURITY INTEREST) GRANTOR'S NAME CHANGE Recorded Sep 21, 2023
From: AVAYA INC.
To: AVAYA LLC
Reel/Frame 065019/0231 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 53955/0436) Recorded May 18, 2023
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: AVAYA MANAGEMENT L.P.; AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
Reel/Frame 063705/0023 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 61087/0386) Recorded May 18, 2023
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: AVAYA MANAGEMENT L.P.; AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
Reel/Frame 063690/0359 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 045034/0001) Recorded May 18, 2023
From: GOLDMAN SACHS BANK USA., AS COLLATERAL AGENT
To: AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; ZANG, INC. (FORMER NAME OF AVAYA CLOUD INC.); HYPERQUALITY, INC.; HYPERQUALITY II, LLC; CAAS TECHNOLOGIES, LLC; AVAYA MANAGEMENT L.P.
Reel/Frame 063779/0622 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded May 4, 2023
From: AVAYA INC.; AVAYA MANAGEMENT L.P.; INTELLISIST, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 063542/0662 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded May 3, 2023
From: AVAYA MANAGEMENT L.P.; AVAYA INC.; INTELLISIST, INC.; KNOAHSOFT INC.
To: WILMINGTON SAVINGS FUND SOCIETY, FSB [COLLATERAL AGENT]
Reel/Frame 063742/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS AT REEL 45124/FRAME 0026 Recorded Apr 26, 2023
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: AVAYA HOLDINGS CORP.; AVAYA INC.; AVAYA MANAGEMENT L.P.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
Reel/Frame 063457/0001 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Aug 5, 2022
From: AVAYA INC.; INTELLISIST, INC.; AVAYA MANAGEMENT L.P.; AVAYA CABINET SOLUTIONS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 061087/0386 →
SECURITY INTEREST Recorded Sep 25, 2020
From: AVAYA INC.; AVAYA MANAGEMENT L.P.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 053955/0436 →
SECURITY INTEREST Recorded Jan 23, 2018
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; ZANG, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 045124/0026 →
SECURITY INTEREST Recorded Jan 10, 2018
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; ZANG, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 045034/0001 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 041576/0001 Recorded Dec 15, 2017
From: CITIBANK, N.A.
To: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS INC.; OCTEL COMMUNICATIONS LLC (FORMERLY KNOWN AS OCTEL COMMUNICATIONS CORPORATION); VPNET TECHNOLOGIES, INC.
Reel/Frame 044893/0531 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 030083/0639 Recorded Dec 15, 2017
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVAYA INC.
Reel/Frame 045012/0666 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 029608/0256 Recorded Dec 15, 2017
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVAYA INC.
Reel/Frame 044891/0801 →
SECURITY INTEREST Recorded Jan 27, 2017
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS INC.; OCTEL COMMUNICATIONS CORPORATION; VPNET TECHNOLOGIES, INC.
To: CITIBANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 041576/0001 →
SECURITY AGREEMENT Recorded Mar 13, 2013
From: AVAYA, INC.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., THE
Reel/Frame 030083/0639 →
SECURITY AGREEMENT Recorded Jan 10, 2013
From: AVAYA, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 029608/0256 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2010
From: CHOU, WU; LI, LI
To: AVAYA INC.
Reel/Frame 025345/0264 →
Continuity (2)
Provisional Application 61350602 · Jun 2, 2010
Related Publication 20110302499A1 · Dec 8, 2011