IP Library Granted Patent US 7,716,632
Granted Patent B2
US 7,716,632 · App. 10/698,694 · Granted May 11, 2010

Automated software robot generator

Assignee: Vertafore, Inc.
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 7,716,632
App. No.
10/698,694
Granted
May 11, 2010
Kind
B2
Abstract

A system and a method for using a computer program to automate the process of searching and or retrieving data from a particular data pool for introduction to a user is provided. More specifically, a program is used that may robotically manipulate existing web sites using computer source codes that are generated all or in part by the computer program and/or software. The system may trace, monitor and analyze a browser or network application to produce transactions and manipulate the data retrieved to automatically access previously un-accessible data from a web site.

Claims (30)

1. A system in communication with a computer network for manipulating at least one existing website displayable over the computer network, the system comprising:

a) a processor portion and a memory portion having a computer software program stored thereon that comprises steps executable by the processor portion, wherein the executable steps comprise:

i) accessing the at least one existing website as directed by a user of the system;

ii) tracing API calls by intercepting associated parameters and Internet Protocol network event data obtained from one or more application programming interfaces while accessing the at least one existing website;

iii) filtering the Internet Protocol network event data passed to and from the API calls by removing network management packets that are acknowledgements and retries, collating IP packets into single HTTP based messages; and collating HTTP based messages into single records of content objects, wherein the content objects comprise HTML, images, audio, and other HTTP content;

iv) analyzing the API calls and associated parameters and Internet Protocol network event data passed to and from the API calls;

v) producing an XML extract file comprising an XML record for each content object in temporal order of receipt, an XML redirect record and added redirect information, an XML record for cookie read, an XML record for cookie writes, an XML record for user navigation events, an XML record for HTTP header information; and one or more management information records relating to the API calls and associated parameters and Internet Protocol network event data passed to and from the API calls; and

vi) automatically generating a source code from the traced and filtered Internet Protocol network event data that is executable by the processor portion, and thereby automatically generating an executable software robot that mimics the user using a web browser to access the at least one existing website; and

b) the automatically generated executable software robot stored in the memory portion for execution by the processor portion when an end user requests playback.

2. The system of claim 1 wherein the Internet Protocol network event data is obtainable from a group of APIs consisting of Winsock API, MICROSOFT WinInet API, MICROSOFT shell API, MICROSOFT security API, MICROSOFT User API, MICROSOFT Active Directory API, MICROSOFT HTML API, MICROSOFT DOM API and/or any combination thereof.

3. The system of claim 1 wherein the computer software program traces Internet Protocol network event data obtainable on a computer running a MICROSOFT WINDOWS operating system.

4. The system of claim 1 wherein the Internet Protocol network event data comprises data passed to and from a website browser application and/or a non-website browser application.

5. The system of claim 1 wherein the executable step of generating source code further comprises transforming the XML extract file into executable source code via XSL.

6. The system of claim 1 wherein the executable step of generating source code further comprises using a computer language to parse the XML extract file.

7. The system of claim 5 wherein XSL transforms the XML extract file into source code written in a programming language selected from a group consisting of JAVA, JAVASCRIPT, VISUAL BASIC, COLD FUSION, C/C++, PASCAL and a plurality of other computer languages.

8. The system of claim 1 wherein the software robot is adapted to interface with the at least one existing website and automatically manipulate the at least one existing website during use.

9. A method for manipulating an existing website in communication with a computer network, the method comprising the steps of:

a) providing a system, also in communication with the computer network, comprising a processor portion and a memory portion having executable steps stored thereon for execution by the processor portion, wherein said executable steps comprise:

i) tracing API calls in temporal order between the system and the existing website and associated parameters and data associated with Internet Protocol (IP) network events passed to and from the API calls when a system user accesses the existing website;

ii) filtering the data passed to and from the API calls by removing network management packets that are acknowledgements and retries, collating IP packets into single HTTP based messages; and collating HTTP based messages into single records of content objects, wherein the content objects comprise HTML, images, audio, and other HTTP content;

iii) analyzing the data to produce an extract file comprising an XML record for each content object in temporal order of receipt, an XML redirect record and added redirect information, an XML record for cookie read, an XML record for cookie writes, an XML record for user navigation events, an XML record for HTTP header information, and one or more management information records relating to the API calls and associated parameters and Internet Protocol network event data passed to and from the API calls and

iv) automatically generating a software robot that comprises executable source code derived from the extract file, wherein executing the source code parsed from the extract file automatically instructs the system to mimic interactions between the system user and the existing website; and

b) executing steps i) through iv), thereby automatically generating a software robot that manipulates the existing website by automatically instructing the system to mimic interactions between the system user and the existing website and that is adapted for playback on the IP network level at the request of an end user.

10. The method of claim 9 further comprising a step following the filtering step of recording to the memory portion the API calls and associated parameters and data passed to and from the API calls.

11. The method of claim 9 wherein the generating step comprises prompting an end user to hard code the source code from the XML extract file.

12. The method of claim 9 wherein the generating step comprises automating the derivation of source code from the XML extract file.

13. The method of claim 9 wherein the software robot is adapted for interfacing with the existing website to automatically fill-in one or more forms on a web page; obtain information previously unattainable; to perform system testing of the website; and/or to monitor the existing website for change.

14. The method of claim 9 further comprising the step of integrating the executable steps into a website browser as a plug-in.

15. The method of claim 14 wherein the source code is adapted for interactive stepping through on a page-by-page or event-by-event basis so that debug messages adapted for providing full interactive debugging capability to the source code, HTTP header parameters, and other data are displayed in the plug-in.

16. The method of claim 9 further comprising a final step of displaying a selectable button in a web browser plug-in that automates completion of multiple forms without further user intervention.

Assignments (23)
FIRST LIEN RELEASE OF SECURITY INTEREST IN PATENTS Recorded Sep 4, 2020
From: NOMURA CORPORATE FUNDING AMERICAS, LLC, AS COLLATERAL AGENT
To: VERTAFORE, INC.; RISKMATCH, INC.
Reel/Frame 053705/0268 →
SECOND LIEN RELEASE OF SECURITY INTEREST IN PATENTS Recorded Sep 4, 2020
From: NOMURA CORPORATE FUNDING AMERICAS, LLC, AS COLLATERAL AGENT
To: VERTAFORE, INC.; RISKMATCH, INC.
Reel/Frame 053705/0313 →
RELEASE OF THE SECURITY INTEREST RECORDED AT REEL/FRAME 018995/0881 Recorded Aug 6, 2020
From: CREDIT SUISSE
To: VERTAFORE, INC.
Reel/Frame 053426/0354 →
RELEASE OF THE SECURITY INTEREST RECORDED AT REEL/FRAME 019005/0594 Recorded Aug 6, 2020
From: CREDIT SUISSE
To: VERTAFORE, INC.
Reel/Frame 053426/0497 →
SECOND LIEN SECURITY AGREEMENT Recorded Jul 5, 2018
From: VERTAFORE, INC.; RISKMATCH, INC.
To: NOMURA CORPORATE FUNDING AMERICAS, LLC
Reel/Frame 047248/0081 →
RELEASE OF SECURITY INTEREST Recorded Jul 3, 2018
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: VERTAFORE, INC.; RISKMATCH, INC.
Reel/Frame 046256/0976 →
RELEASE OF SECURITY INTEREST Recorded Jul 3, 2018
From: CORTLAND CAPITAL MARKET SERVICES LLC
To: VERTAFORE, INC.; RISKMATCH, INC.
Reel/Frame 046257/0032 →
FIRST LIEN SECURITY AGREEMENT Recorded Jul 3, 2018
From: VERTAFORE, INC.; RISKMATCH, INC.
To: NOMURA CORPORATE FUNDING AMERICAS, LLC
Reel/Frame 046473/0238 →
SECOND LIEN SECURITY AGREEMENT Recorded Jul 7, 2016
From: VERTAFORE, INC.
To: CORTLAND CAPITAL MARKET SERVICES LLC, AS COLLATERAL AGENT
Reel/Frame 039276/0196 →
FIRST LIEN SECURITY AGREEMENT Recorded Jul 6, 2016
From: VERTAFORE, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 039265/0244 →
RELEASE OF SECOND LIEN SECURITY AGREEMENT Recorded Jul 5, 2016
From: BANK OF AMERICA, N.A.
To: VERTAFORE, INC. (F/K/A IMAGERIGHT, INC.)
Reel/Frame 039253/0169 →
RELEASE OF FIRST LIEN SECURITY AGREEMENT Recorded Jul 5, 2016
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: VERTAFORE, INC. (F/K/A IMAGERIGHT, INC.)
Reel/Frame 039253/0160 →
SECURITY AGREEMENT Recorded Nov 5, 2010
From: VERTAFORE, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 025320/0653 →
SECURITY AGREEMENT Recorded Aug 10, 2010
From: VERTAFORE, INC.; IMAGERIGHT, INC.
To: CREDIT SUISSE AG, AS COLLATERAL AGENT
Reel/Frame 024812/0668 →
RELEASE OF SECURITY AGREEMENT Recorded Aug 10, 2010
From: CREDIT SUISSE AG (F/K/A CREDIT SUISSE)
To: VERTAFORE, INC.; ADVANCED SOLUTIONS, INC.; AMS CONNECTICITY SERVICES, INC.
Reel/Frame 024812/0682 →
RELEASE OF SECURITY AGREEMENT Recorded Aug 10, 2010
From: JPMORGAN CHASE BANK, N.A.
To: VERTAFORE, INC.; AMS CONNECTICITY SERVICES, INC.; ADVANCED SOLUTIONS, INC.
Reel/Frame 024812/0691 →
MERGER Recorded Feb 8, 2010
From: AMS CONNECTIVITY SERVICES, INC.
To: VERTAFORE, INC.
Reel/Frame 023909/0094 →
AMENDED AND RESTATED SECOND LIEN PATENT SECURITY AGREEMENT Recorded Oct 31, 2007
From: VERTAFORE, INC.; AMS CONNECTIVITY SERVICES, INC.; ADVANCED SOLUTIONS, INC.
To: CREDIT SUISSE
Reel/Frame 020045/0137 →
SECURITY AGREEMENT Recorded Oct 30, 2007
From: AMS CONNECTIVITY SERVICES, INC.; ADVANCED SOLUTIONS, INC.; VERTAFORE, INC.
To: JPMORGAN CHASE BANK,N.A.; CREDIT SUISSE
Reel/Frame 020035/0609 →
CHANGE OF NAME Recorded Sep 12, 2007
From: BCF TECHNOLOGY, INC.
To: AMS CONNECTIVITY SERVICES, INC.
Reel/Frame 019816/0992 →
SUBSIDIARY JOINDER AGREEMENT (SECOND LIEN) Recorded Mar 13, 2007
From: BCF TECHNOLOGY, INC.
To: CREDIT SUISSE, AS COLLATERAL AGENT
Reel/Frame 019005/0594 →
SUBSIDIARY JOINDER AGREEMENT (FIRST LIEN) Recorded Mar 12, 2007
From: BCF TECHNOLOGY, INC.
To: CREDIT SUISSE, AS COLLATERAL AGENT
Reel/Frame 018995/0881 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 15, 2006
From: COVELY, FREDRICK H.
To: BCF TECHNOLOGY, INC.
Reel/Frame 017797/0823 →
Continuity (2)
Provisional Application 6042364800 · Nov 1, 2002
Related Publication 20040133897A1 · Jul 8, 2004