IP Library Granted Patent US 7,062,706
Granted Patent B2
US 7,062,706 · App. 10/426,182 · Granted Jun 13, 2006

Method and apparatus for populating a form with data

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,062,706
App. No.
10/426,182
Granted
Jun 13, 2006
Kind
B2
Abstract

A method and apparatus for populating a form with data is described. In one embodiment of the invention, a form is displayed to the user via the target application. Each form has one or more data receptacles. The data receptacles of a form are filled with data when the user executes a data population command. The form completion program executes the data population command when a graphical representation of a particular data set is placed over the form. Each data set is stored in an encrypted manner and is accessible to users who enter the appropriate information into an authentication mechanism. To populate a form with data the form completion program obtains an image of the form and then searches for a template file that resembles the form image to within a certain threshold. The template files are typically stored on the computer hosting the target application in a template directory that is arranged according to a predefined structure. The form completion program is configured to search for templates that resemble the form image in the template directory to within a certain threshold.

Claims (53)

1. A method for populating a form with data comprising:

obtaining a form from a source location, said form having a plurality of data receptacles;

obtaining data for populating said form;

storing said data in a secure storage medium;

obtaining values for said data receptacles from said secure storage medium when said form matches a portion of a template file.

2. The method of claim 1 , wherein obtaining said data comprises displaying a graphical user interface to a user.

3. The method of claim 2 , wherein obtaining said data further comprises obtaining at least one set of personal information.

4. The method of claim 3 , wherein obtaining said data further comprises obtaining at least one set of credit card information.

5. The method of claim 1 , wherein storing said data comprises encrypting said data.

6. The method of claim 5 , wherein encrypting said data comprises encrypting said data using authentication information of a user.

7. The method of claim 1 , further comprising obtaining a request from a user to populate said form.

8. The method of claim 7 , wherein obtaining said request comprises obtaining from said user a drag-and-drop command through a computer pointer.

9. The method of claim 1 , wherein obtaining values for said data receptacles comprises:

identifying one or more data values from said data for one or more of said data receptacles; and

populating said form by respectively inserting said data values into one or more fields corresponding to said data receptacles.

10. The method of claim 9 , wherein identifying said data values comprises obtaining a source code of said form.

11. The method of claim 10 , wherein obtaining said source code of said form comprises obtaining a Hypertext Markup Language source code.

12. The method of claim 10 , wherein identifying said data values further comprises parsing said form to obtain a set of fields corresponding to a set of data receptacles from said form.

13. The method of claim 9 , wherein identifying said data values comprises obtaining an identification of a source of said form.

14. The method of claim 13 , wherein identifying said data values further comprises traversing a directory tree to obtain a stored template.

15. The method of claim 14 , wherein traversing said directory tree comprises obtaining a plurality of field identifications from said stored template.

16. The method of claim 15 , wherein obtaining said plurality of field identifications comprises matching said field identifications with a plurality of fields in said form.

17. The method of claim 9 , further comprising obtaining a plurality of field identifications from a plurality of fields input by a user.

18. The method of claim 17 , wherein obtaining said plurality of field identifications comprises obtaining one or more matches between said plurality of fields in said form and said plurality of fields input by said user.

19. The method of claim 17 , wherein obtaining said plurality of field identifications further comprises satisfying a matching threshold between said plurality of fields in said form and said corresponding plurality of fields input by said user.

20. The method of claim 9 , wherein populating said form comprises invoking at least one command specific to a browser application.

21. The method of claim 20 , wherein invoking said at least one command comprises passing said data values to said browser application.

22. A computer program product having computer readable program code embodied therein for populating a form with data, said computer readable program code comprising:

computer readable program code configured to cause a computer to obtain a form from a source location, said form having a plurality of data receptacles;

computer readable program code configured to cause a computer to obtain data for populating said form;

computer readable program code configured to cause a computer to store said data in a secure storage medium; and

computer readable program code configured to cause a computer to obtain values for said data receptacles from said secure storage medium when said form matches a portion of a template file.

23. The computer program product of claim 22 , wherein said computer readable program code configured to cause a computer to obtain said data comprises computer readable program code configured to cause a computer to display a graphical user interface to a user.

24. The computer program product of claim 23 , wherein said data comprises at least one set of personal information.

25. The computer program product of claim 24 , wherein said data comprises at least one set of credit card information.

26. The computer program product of claim 22 , wherein said computer readable program code configured to cause a computer to store said data comprises computer readable program code configured to cause a computer to encrypt said data.

27. The computer program product of claim 26 , wherein said computer readable program code configured to cause a computer to encrypt said data comprises computer readable program code configured to cause a computer to encrypt said data using authentication information of a user.

28. The computer program product of claim 22 , further comprising:

computer readable program code configured to cause a computer to obtain a request from a user to populate said form.

29. The computer program product of claim 28 , wherein said request comprises a drag-and-drop command obtained through a computer pointer.

30. The computer program product of claim 22 , further comprising:

computer readable program code configured to cause a computer to identify one or more data values from said data for one or more of said data receptacles; and

computer readable program code configured to cause a computer to populate said form by respectively inserting said data values into one or more fields corresponding to said data receptacles.

31. The computer program product of claim 30 , wherein said computer readable program code configured to cause a computer to identify said data values comprises computer readable program code configured to cause a computer to obtain a source code of said form.

32. The computer program product of claim 31 , wherein said source code of said form comprises a Hypertext Markup Language source code.

33. The computer program product of claim 30 , wherein said computer readable program code configured to cause a computer to identify said data values further comprises computer readable program code configured to cause a computer to parse said form to obtain one or more fields corresponding to one or more of said data receptacles.

34. The computer program product of claim 30 , wherein said computer readable program code configured to cause a computer to identify said data values further comprises computer readable program code configured to cause a computer to traverse a directory tree to obtain a stored template.

35. The computer program product of claim 34 , wherein said computer readable program code configured to cause a computer to traverse said directory tree comprises computer readable program code configured to cause a computer to obtain one or more field identifications from said stored template.

36. The computer program product of claim 35 , wherein said computer readable program code configured to cause a computer to obtain said one or more field identifications comprises computer readable program code configured to cause a computer to match said one or more field identifications with one or more fields in said form.

37. The computer program product of claim 30 , further comprising computer readable program code configured to cause a computer to obtain one or more field identifications from one or more corresponding fields input by a user, and obtain one or more matches between said one or more fields in said form and said one or more corresponding fields input by said user.

38. The computer program product of claim 37 , wherein said computer readable program code configured to cause a computer to obtain said one or more field identifications further comprises computer readable program code configured to cause a computer to monitor satisfaction of a matching threshold between said one or more fields in said form and said one or more corresponding fields input by said user.

39. The computer program product of claim 30 , wherein said computer readable program code configured to cause a computer to populate said form comprises computer readable program code configured to cause a computer to invoke at least one command specific to a browser application.

40. The computer program product of claim 39 , wherein said computer readable program code configured to cause a computer to invoke said at least one command comprises computer readable program code configured to cause a computer to pass said data values to said browser application.

Assignments (8)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034541/0477 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 19, 2012
From: AOL INC.
To: MICROSOFT CORPORATION
Reel/Frame 029317/0861 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 22, 2012
From: MAXWELL, DUANE; VON REIS, WILLIAM; SCOTT, GEOFFREY D.
To: ENTRYPOINT, INC.
Reel/Frame 028249/0954 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 16, 2010
From: BANK OF AMERICA, N A
To: AOL INC; AOL ADVERTISING INC; GOING INC; LIGHTNINGCAST LLC; MAPQUEST, INC; NETSCAPE COMMUNICATIONS CORPORATION; QUIGO TECHNOLOGIES LLC; SPHERE SOURCE, INC; TACODA LLC; TRUVEO, INC; YEDDA, INC
Reel/Frame 025323/0416 →
CHANGE OF NAME Recorded Apr 21, 2010
From: AMERICA ONLINE, INC.
To: AOL LLC
Reel/Frame 024252/0933 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2010
From: AOL LLC
To: AOL INC.
Reel/Frame 024263/0001 →
SECURITY AGREEMENT Recorded Dec 14, 2009
From: AOL INC.; AOL ADVERTISING INC.; BEBO, INC.; ICQ LLC; GOING, INC.; LIGHTNINGCAST LLC; MAPQUEST, INC.; NETSCAPE COMMUNICATIONS CORPORATION; QUIGO TECHNOLOGIES LLC; SPHERE SOURCE, INC.; TACODA LLC; TRUVEO, INC.; YEDDA, INC.
To: BANK OF AMERICAN, N.A. AS COLLATERAL AGENT
Reel/Frame 023649/0061 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 24, 2004
From: ENTRYPOINT, INC. BY: THOMAS BROADHEAD, CFO
To: AMERICA ONLINE, INC.
Reel/Frame 015000/0061 →