Open Network Solutions Inc. v. Google Inc.

Filing 1

COMPLAINT filed with Jury Demand against Google Inc. - Magistrate Consent Notice to Pltf. ( Filing fee $ 400, receipt number 0311-1517173.) - filed by Open Network Solutions Inc.. (Attachments: # 1 Exhibit A, # 2 Exhibit B, # 3 Civil Cover Sheet)(cla, )

Download PDF
Exhibit B 111111 1111111111111111111111111111111111111111111111111111111111111 US006907476B2 (54) (75) United States Patent (10) Wagner (12) (45) OPEN NETWORK SYSTEM AND METHOD FOR I/0 OPERATIONS WITH NON-STANDARD I/0 DEVICES USING AN EXTENDED OPEN NETWORK PROTOCOL Inventor: U.S. PATENT DOCUMENTS 3,668,653 4,410,962 4,438,511 4,577,152 4,620,153 4,625,171 4,625,276 4,707,592 4,724,521 RE32,701 4,755,940 GA(US) Assignee: DataScape, Inc., Atlanta, GA (US) ( *) Notice: Subject to any disclaimer, the term of this patent is extended or adjusted under 35 U.S.C. 154(b) by 0 days. (22) Filed: (65) wo wo wo Feb.3,2004 Prior Publication Data 0360725 wo 95/16971 wo 96/41286 wo 97/01137 1!1995 6/1995 12/1996 9/1997 "The Smart Card Cashes In", The Economist, Jan. 29, 1994 (2 pages). Related U.S. Application Data Continuation of application No. 10/614,398, filed on Jul. 7, 2003, which is a continuation of application No. 10/213,959, filed on Aug. 7, 2002, now Pat. No. 6,684,269, which is a continuation of application No. 10/100,347, filed on Mar. 18, 2002, now Pat. No. 6,694,387, which is a continuation of application No. 09/907,076, filed on Jul. 17, 2001, now Pat. No. 6,745,259, which is a continuation of application No. 09/314,266, filed on May 18, 1999, now Pat. No. 6,366,967, which is a continuation of application No. 08/995,123, filed on Dec. 19, 1997, now Pat. No. 5,905,908, which is a continuation of application No. 08/493,772, filed on Jun. 22, 1995, now Pat. No. 5,742,845. (51) Int. Cl? ................................................ G06F 13/14 (52) U.S. Cl. ........................... 710!11; 710/33; 709/203; 709/227; 709/228 (58) Fair eta!. Daniels et a!. Baran Macovski Hino Sekihara et a!. Benton eta!. Ware Carron eta!. Moran Bracht! et a!. OTHER PUBLICATIONS US 2004/0215798 A1 Oct. 28, 2004 (63) 6/1972 10/1983 3/1984 3/1986 10/1986 11/1986 11/1986 11/1987 2/1988 6/1988 7/1988 FOREIGN PATENT DOCUMENTS EP Appl. No.: 10/770,628 A A A A A A A A A E A (Continued) This patent is subject to a terminal disclaimer. (21) References Cited (56) Richard Hiers Wagner, Dunwoody, (73) Patent No.: US 6,907,476 B2 Date of Patent: *Jun.14,2005 (Continued) Primary Examiner---Rehana Perveen (74) Attorney, Agent, or Firm---Maginot, Moore & Beck (57) ABSTRACT An open network system supports input/output (110) operations for non-standard 1!0 devices coupled to an open network. The system includes a server coupled to a plurality of 1!0 devices through an open network, at least some of the 1!0 devices being non-standard 1!0 devices. The nonstandard 1!0 devices communicate with a client program that processes extended open network protocol statements. The extended open network protocol statements communicated between the server and the non-standard 1!0 devices are processed by the server and the client program to support 1!0 operations between the non-standard 1!0 devices and the server or application programs coupled to the server. Field of Search ..................... 710/11, 33; 709/203, 15 Claims, 25 Drawing Sheets 709/227, 228 ~.. · / /"·. ~ 38 20 ... 14 ~··· 18 16 US 6,907,476 B2 Page 2 U.S. PATENT DOCUMENTS 4,774,655 4,787,035 4,799,156 4,815,029 4,847,604 4,885,777 4,901,223 4,912,309 4,926,325 4,942,532 4,942,552 4,947,028 4,949,248 4,962,531 4,965,742 4,972,463 4,999,806 5,014,221 5,018,196 5,021,949 5,025,373 5,036,461 5,036,484 5,046,094 5,047,923 5,083,262 5,103,478 5,113,517 5,119,465 5,146,499 5,146,553 5,148,481 5,149,945 5,161,222 5,179,690 5,195,130 5,202,828 5,204,947 5,206,951 5,212,369 5,220,380 5,220,501 5,239,662 5,243,284 5,256,863 5,272,754 5,274,821 5,276,312 5,277,192 5,278,955 5,278,972 5,294,782 5,297,249 5,307,411 5,307,499 5,309,351 5,321,806 5,321,808 5,347,580 5,347,632 5,349,678 5,351,296 5,363,489 5,367,572 5,367,635 5,373,561 5,377,191 5,379,344 5,386,517 5,390,314 A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A 9/1988 11/1988 1!1989 3/1989 7/1989 12/1989 2/1990 3/1990 5/1990 7/1990 7/1990 8/1990 8/1990 10/1990 10/1990 11/1990 3/1991 5/1991 5/1991 6/1991 6/1991 7/1991 7/1991 9/1991 9/1991 1!1992 4/1992 5/1992 6/1992 9/1992 9/1992 9/1992 9/1992 11/1992 1!1993 3/1993 4/1993 4/1993 4/1993 5/1993 6/1993 6/1993 8/1993 9/1993 10/1993 12/1993 12/1993 1!1994 1!1994 1!1994 1!1994 3/1994 3/1994 4/1994 4/1994 5/1994 6/1994 6/1994 9/1994 9/1994 9/1994 9/1994 11/1994 11/1994 11/1994 12/1994 12/1994 1!1995 1!1995 2/1995 Kollin eta!. Bourne Shavit eta!. Barker eta!. Doyle eta!. Takaragi et a!. Rhyne Danielson et a!. Benton eta!. Mori Merrill et a!. Gorog Caro Sipman eta!. Skeirik Danielson et a!. Chernow et a!. Mogul Takaragi et a!. Morten eta!. Keyser, Jr. et a!. Elliot eta!. McCoy eta!. Kawamura et a!. Elstner et a!. Haff, Jr. Matyas eta!. Beard eta!. Jacket a!. Geffrotin Noguchi et a!. Abraham et a!. Johnson et a!. Montejo et a!. Ishikawa Weiss eta!. Vertelney et a!. Bernstein et a!. Khoyi eta!. Karlisch et a!. Hirata eta!. Lawlor eta!. Danielson et a!. Noll Ferguson et a!. Boerbert Rouquie McCarthy Cumoulin Forte eta!. Baker eta!. Kumar Bernstein et a!. Anvret eta!. Yin McCain eta!. Meinerth et a!. Rupp Molva eta!. Filepp eta!. Morris eta!. Sullivan Snyder Weiss Bauer eta!. Haber eta!. Farrell et a!. Larsson et a!. Sheth eta!. Swanson 5,418,908 5,446,736 5,461,217 5,475,585 5,475,858 5,497,487 5,499,343 5,510,710 5,511,122 5,517,569 5,521,980 5,526,037 5,526,409 5,530,844 5,544,161 5,544,246 5,544,320 5,546,582 5,548,721 5,550,561 5,550,984 5,552,586 5,557,203 5,563,878 5,570,465 5,577,233 5,581,478 5,581,686 5,581,708 5,583,940 5,586,036 5,586,175 5,590,038 5,590,133 5,590,181 5,590,196 5,590,197 5,590,199 5,594,910 5,602,905 5,602,915 5,602,918 5,604,802 5,606,493 5,613,012 5,613,096 5,615,251 5,623,547 5,630,101 5,633,919 5,638,430 5,640,193 5,642,485 5,649,114 5,649,118 5,652,876 5,655,008 5,664,110 5,666,412 5,668,878 5,677,953 5,677,955 5,678,002 5,679,945 5,687,322 5,689,799 5,694,471 5,694,546 5,696,903 5,703,795 5,706,273 A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A 5/1995 8/1995 10/1995 12/1995 12/1995 3/1996 3/1996 4/1996 4/1996 5/1996 5/1996 6/1996 6/1996 6/1996 8/1996 8/1996 8/1996 8/1996 8/1996 8/1996 8/1996 9/1996 9/1996 10/1996 10/1996 11/1996 12/1996 12/1996 12/1996 12/1996 12/1996 12/1996 12/1996 12/1996 12/1996 12/1996 12/1996 12/1996 1!1997 2/1997 2/1997 2/1997 2/1997 2/1997 3/1997 3/1997 3/1997 4/1997 5/1997 5/1997 6/1997 6/1997 6/1997 7/1997 7/1997 7/1997 8/1997 9/1997 9/1997 9/1997 10/1997 10/1997 10/1997 10/1997 11/1997 11/1997 12/1997 12/1997 12/1997 12/1997 1!1998 Keller eta!. Gleeson et a!. Claus Bush Gupta eta!. Fortier Pettus Nauerth Atkinson Clark Brands Cortjens et a!. Conrow eta!. Phillips et a!. Bigham eta!. Mandelbaum et a!. Konrad Brockmeyer et a!. Denslow Ziarno Gelb Kalman Nauerth Blakely et a!. Tsakanikas Goettelmann Cruse eta!. Koppolu et a!. Iijima Vidrascu et a!. Pinstov Hogan eta!. Pitroda Billstrom et a!. Hogan eta!. Moreau Chen eta!. Krajewski, Jr. et a!. Filepp eta!. Mettke Campana et a!. Chen eta!. Holloway Duscher et a!. Hoffman et a!. Danknick Hogan eta!. Jones eta!. Sieffert Hogan eta!. Hogan eta!. Wellner Deaton eta!. Deaton eta!. Carlisle et a!. Ashe eta!. Futch eta!. Green eta!. Handelman et a!. Brands Dolphin Doggett et a!. Fawcett Renner eta!. Deaton eta!. Dougherty et a!. Chen eta!. Reisman Mahany Mankovitz Guerreri US 6,907,476 B2 Page 3 5,708,780 5,708,782 5,708,825 5,710,884 5,715,314 5,722,754 5,724,506 5,729,549 5,732,219 5,734,720 5,742,845 5,742,931 5,748,908 5,754,655 5,756,978 5,758,257 5,778,067 5,781,189 5,799,156 5,805,719 5,805,807 5,809,415 5,815,577 5,815,657 5,819,092 5,826,245 5,838,906 5,850,442 5,851,149 5,854,833 5,867,821 5,870,552 5,870,724 5,873,099 5,884,292 5,889,863 5,931,917 5,933,816 RE36,310 5,953,731 5,960,216 5,963,205 5,973,731 5,978,569 5,978,773 5,982,891 5,983,004 5,987,312 5,996,076 6,085,224 6,112,191 6,175,922 6,182,052 6,205,437 6,208,904 6,212,575 6,226,744 6,226,752 6,253,027 6,275,869 6,279,112 6,282,656 6,283,375 6,314,456 6,470,326 6,505,177 6,539,361 A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A E A A A A A A A A A A A A B1 B1 B1 B1 B1 B1 B1 B1 B1 B1 B1 B1 B1 B1 B1 B1 1!1998 1!1998 1!1998 1!1998 2/1998 3/1998 3/1998 3/1998 3/1998 3/1998 4/1998 4/1998 5/1998 5/1998 5/1998 5/1998 7/1998 7/1998 8/1998 9/1998 9/1998 9/1998 9/1998 9/1998 10/1998 10/1998 11/1998 12/1998 12/1998 12/1998 2/1999 2/1999 2/1999 2/1999 3/1999 3/1999 8/1999 8/1999 9/1999 9/1999 9/1999 10/1999 10/1999 11/1999 11/1999 11/1999 11/1999 11/1999 11/1999 7/2000 8/2000 1!2001 1!2001 3/2001 3/2001 4/2001 5/2001 5/2001 6/2001 8/2001 8/2001 8/2001 9/2001 11/2001 10/2002 1!2003 3/2003 Levergood et a!. Larson et a!. Sotomayor Dedrick Payne et a!. Langner Cleron et a!. Kostreski et a!. Blumer et a!. Salganicoff Wagner Spiegelhoff et a!. Yu Hughes et a!. Soltesz et a!. Herz et a!. Jones et a!. Holleran et a!. Hogan et a!. Pare, Jr. et a!. Hanson et a!. Rossmann Clark Williams et a!. Ferguson et a!. Sandberg-Diment Doyle et a!. Muftic Xidos et a!. Hogan et a!. Ballantyne et a!. Dozier et a!. Lawlor et a!. Hogan et a!. Baker et a!. Weber Nguyen et a!. Zeanah et a!. Bjerrum et a!. Glaser Vishlitzky et a!. Sotomayor Schwab Traeger Hudetz et a!. Ginter et a!. Shaw et a!. Dekker Rowney et a!. Wagner Burke Wang Fulton et a!. Gifford Mullen, Jr. Cleron et a!. Murphy et a!. Gupta et a!. Weber et a!. Sieffert et a!. O'Toole, Jr. et a!. Wang Wilz, Sr. et a!. Van Andel et a!. Drummond et a!. Drummond et a!. Richards et a!. OTHER PUBLICATIONS Malamud et al., "Principles of Operation for the TPC.INT Subdomain: Remote Printing-Technical Procedures", Dover Beach Consulting, Inc., Oct. 1993, (11 pages). Louis, Tristan, "Java on the Menu: Causing Jitters?," Jun. 1995, Available online at http://www.tnl.net/who/bibliography/javajitters.asp., Apr. 29, 2002, (2 pages). Allen, Terry, "Java Applet element proposal," Jun. 1, 1995, Available online at http://ksi.cpsc.ucalgary.ca/archives/HTML-WG/html-wg-95q2.messages/1119.html., Nov. 16, 2001, (4 pages). Geoffrey M. Voelker and Brian N. Bershad-"Mobisaic: An Information System for a Mobile Wireless Computing Environment"; Sep. 19, 1994; available online at http://www.cs.ucsd.edu/users/voelker/pubs/mobisaio-MCSA94.pdf. M. Frans Kaashock, Tom Pinckney and Joshua A Tauber"Dynamic Documents: Mobile Wireless Access to the WWW"; Dec., 1994; available online at http:// 216.239.57.104/search? q=cache:pGSY_ Zirm6QJ:www.pdos.1cs.mit.edu/papers/wmcsa94.ps+Dynamic+ Documents: +Mobile+ Wireless+ Access+ 1o+the+ wwwsh1=en. "Viola in a Nutshell: The Viola World Wide Web Toolkit", http://www.xcf.berkeley.edu/-wei/viola/book/, Apr. 1995 (176 pages). O'Reilly & Associates, Inc., ViolaWWW, Version 3.3 Beta, Features List, http://www.xcf.berkely.edu/-wei/viola/README.txt, Apr. 10, 1995 (2 pages). Wei, Pei, "A Brief Overview of the VIOLA Engine, and its Applications" ,http://www.xcf. berkeley.edu/-wei/viola/violaintro.html, Aug. 16, 1994, (13 pages). Wei, Pei, "WWW Browsers: Extensibility Issues", O'Reilly & Associates, Sep. 20, 1994, (13 pages). "Basic HTTP as defined in 1992", W3C, http://www.w3.org/ Protocols/HTTP/HTTP2.html, 1992, (125 pages). McCool, Rob, "CGI/1.0: last call", Dec. 4, 1993 (1 page). "Olde Viola Montage", http://www.xcf.berkeley,edu/-wei/ viola/vintage/montage.html, 1991, (5 pages). Masinter, Larry, "Naming and resource location", Stanford Computer Forum WWW Workshop, Sep. 20, 1994, (1 page). Cousins, Steve and Sholam Yoav, "Software Agents on the WWW", Stanford Computer Forum WWWWorkshop, Sep. 20, 1994, (1 page). Winograd, Terry, "Web Structure and Meta-Information", Stanford Computer Forum WWWWorkshop, Sep. 20,1994, (1 page). Shafrir, Eviatar, "Interacting with Information", Stanford Computer Forum WWW Workshop, http://www-pcd.stanford.edu/workshop/abstracts/shafrir.html, Sep. 20, 1994 (2 pages). Gruber, Tom, "Virtual Documents", Stanford Computer Forum WWW Workshop, Sep. 20, 1994, (21 pages). Keller, Arthur M., "CIT's Work on CommerceNet", Center for Information Technology, Stanford University, http:// cit.stanford.edu/cit/comercenet.html, Oct. 1994, (6 pages). Shapiro,Ehud, "Enhancing the WWW with co-presence", Stanford Computer Forum WWWWorkshop, Sep. 20,1994, (9 pages). "Readings for Stanford WWW Workshop", Stanford Computer Forum, http://www-pcd.stanford.edu/workshop/readings.html, Sep. 20, 1994, (3 pages). "WorldWideWeb-Summary", http://www.w3.org/Summary.html, 1992, (2 pages). US 6,907,476 B2 Page 4 "The Original HTTP as defined in 1991", http:// www.w3.org/Protocols/HT.TP/Aslmplemented.html, 1991, (2 pages). "WorldWide Web Seminar", http://www.w3.org/Talks/General/About.html, 1993, (15 pages). White, Sean, "Online Communities on the WWW", Stanford Computer Forum WWW Workshop, Sep. 20, 1994, (1 page). "The Common Gateway Interface", http://hoohoo.ncsa.uiuc:edu/cgi/, 1994, (23 pages). "W3C: Object Metainformation", http://www.w3.org/Protocols/HTTP/Object_Headers.html, 1992, (9 pages). "Hypertext Markup Language (HTML)", http:// www.w3.org/MarkUp/1995-archive/1, 1995, (66 pages). McCool, Rob, "Re: CGP/1.0 specification", Nov. 19, 1993 (2 pages). McCool, Rob, "Revised CGl/1.0 specification", Nov. 19, 1993, http://www.webhistory.org/www-talk.1993q4/ 0540.html, (1 page). Citation List of References noting "The Common Gateway Interface", CiteSeer, 2002, (6 pages). Robinson, David and Coar, Ken, "The Common Gateway Interface (CGI) Version 1.1", Apr. 16, 2003, ( 30 pages). Varela, Carlos and Hayes, Caroline, "Providing Data on the Web: From Examples to Programs", Dept. Computer Science, University of Illinois at Urbana-Champaign, http:// archive.ncsa.uiuc.edu/SDG/IT94/Proceedings/DDay/ varela/. Oct. 17, 1994, (26 pages). Dynamic Information Systems Corporation, "Developing JDBC Servlet Applications", http://www.disc.com/jdbcserv.html, May 8, 2002, (12 pages). ProSolutions, Inc. Active Server Pages (ASP) Technology, http://www.prosolutionsinc.com/asp.htm, 2002, (2 pages). Rasmussen, B.F., "WDB-A Web Interface to Sybase", http://www.stsci.edu/stsci/meetings/adassiV/rasmussenb.html, 1995, ( 4 pages). "Europay Members Forum", Europay International, May 8, 2001, (3 pages). "NCR 2170 Hospitality Workstation Designed for Bars, Restaurants", AT&T News Release, Feb. 2, 1993, (2 pages). "AT&T to Increase Smart Card Reliability, Expand Memory to 8KB", AT&T News Release, Apr. 8, 1994, (2 pages). "AT&T and NCR Offer Smart Card Upgrade Kits for Bank ATMs", AT&T News Release, Nov. 17, 1993, (2 pages). "The Smart Card Cashes In", The Economist, Jan. 29, 1994, (2 pages). "NCR 7450 Terminal Brings ATM-style Interface to Point-of-Sale", AT&T News Release, Oct. 11, 1993 (4 pages). "Mastercard Smart Card Milestones", MasterCard International Press Office, Mar. 5, 2001, (3 pages). Svigals, Jerome, "Microchip Smart Cards Will Save Money", American Banker, Feb. 2, 1994, (1 page). Barthel, Matt, "Fears of Crime at ATMs are on the Rise", American Banker, Mar. 30, 1994, (1 page). "Smart Card Forum Publication List", Smart Card Forum, Mar. 2, 2001, (7 pages). "Appendix: Major Electronic Purse Projects, By Country", pp. 35-50 and 52-64, Date Unknown (29 pages). O'Kelly, Robin, "Mondex 'Global Electronic Cash' Wins Helsinki Award", Sep. 8, 1996, (2 pages). "White Paper-The Euro in the Electronic Purse", Apr. 2000, (5 pages). "History of Gemplus", Gemplus, Mar. 2, 2001, (3 pages). Pauli, Ralf and Koponen, Risto, "Toward Electronic Money", Bank of Finland Bulletin, Apr. 1997, (3 pages). "A Frequently Asked Questions List (FAQ) for alt.technology.smartcards", Estonian Institute of Cybernetics, Jul. 4, 1995, (12 pages). Husemann, Dirk, "The Smart Card: Don't Leave Home Without It", Institute of Electrical and Electronics Engineers, Inc., Sep. 18, 2000, (9 pages). "Report to the Council of The European Monetary Institute on Prepaid Cards", The Working Group on EU Payment Systems, May 1994, (12 pages). Banerjee, Ram, "Smart Card Standards and Electronic Purse, A Review Paper", Aston University, May 1997, (20 pages). Townend, Robin C., "Finance: History, Development & Market Overview", The International Smart Card Industry Guide, 1995-1996, (23 pages). Monad, Elsbeth Marikje, "Case Study: The Multi-Functional Smart Carte Sante", The International Smart Card Industry Guide, 1995-1996, (8 pages). Smith, Jack, "Smart Card Industry Review 1995", Smart Card Monthly Newsletter, Jan. 1996, (6 pages). Crotch-Harvey, Trevor, "Smart Cards in Telecoms", The International Smart Card Industry Guide, 1995-1996, (14 pages). Farmer, Donna and Tonnac, Remy de, "What's So Smart About Smart Cards", Gemplus, Oct. 10, 2000, (1 page). "P401 Definition of a pan-European IC Card", Eurescom, Mar. 5, 2001, (1 page). "Innovonics, Inc. Selects AMP as Manufacturer for the PC Pay Module", Innovonics News Release, May 19, 1995, (3 pages). Levy, Steven, "E-Money (That's What I Want)", Wired, Dec., 1994, (2 pages). Fickenscher, Lisa, "Bane One Gears Up to Go National With Its Microchip Smart Cards",American Banker, Jan. 27, 1994 (2 pages). Strachman, Daniel and Kutler, Jeffrey, "Convention Goers See Bank Future in Smart Cards", American Banker, Nov. 30, 1993, (1 page). Meece, Mickey, "First Data Strengthens Position in Card Processing", American Banker, Dec. 21, 1993, (1 page). Kutler, Jeffrey, "Prepaid Cards, Even in Concept Stage, Sparking Interest Among Consumers", American Banker, Apr. 27, 1994, (1 page). Kutler, Jeffrey, "Visa Starts Push for Smart Card to Replace Cash", American Banker, Mar. 22, 1994, (2 pages). "AT&T Introduces Enhanced Multimedia Interface for ATM Networks", AT&T News Release, May 4, 1994, (2 pages). "Trendar and AT&T Test Con tactless Smart Cards at Truck Stops", AT&T News Release, Feb. 26, 1993, (3 pages). "NCR Announces 5980 Signature Capture System for Retailers", AT&T News Release, Sep. 30, 1991, (2 pages). Merckling, Roger and Anderson, Anne, "Smart Card Introduction", Mar. 1994,(16 pages). Mercklin, Roger and Anderson, Anne, "DCE Smart Card Integration", Mar. 1994, (16 pages). "Chapter 2-Technology", Smart Card Primer, The Schuler Consultancy, © 1993, pp. 13-24 and 26-29, (16 pages). "CPS® Products, Pascam, Network Security Processor", Jan. 1994, ( 4 pages). "Notes on Open Networks and Device Addressing", IBM Corporation, Apr. 25, 2001, (19 pages). US 6,907,476 B2 Page 5 Chakrabarti, Samdih, Knight, James and Thies, Bill, "A Centralized Smart Card System Utilizing Distributed Proxies", 2000, University of Leeds, (16 pages). "Single-Issuer Multiple Uses", Smart Card Primer, The Schuler Consultancy, © 1993, (3 pages). Sazegar, Hossein, "The Impact of Smart Cards in the Global Payphone Business", Schlumberger Technologies,© 1992, (11 pages). Derksen, Eduard, "Money-Bit: The Open Off-Host Prepaid Card System", Ascom Autelca, Ltd., Date Unknown, (10 pages). Corzo, Gerardo, "Credisa's Elite Card System", Date Unknown, (5 pages). Cordonnier, Vincent M., "Assessing the Future of Smart Cards", Cardtech, Date Unknown, (7 pages). "NatWest Launch Mondex Global Electronic Cash", Smart Card News, Ltd., Dec. 1993, (7 pages). Merkert, Sr., Robert J., "Stored Value Cards and The Electronic Purse: Developments in the Americas", Danyl Corporation, © 1995, (S pages). "CPS® Products, PinPadLINK, Readers/Encoders", Dactyl France, Jun. 1993, (2 pages). "Smart Security", Byte Talk, Feb., 1994, (2 pages). Verschuren, Ton, "Smart Access: Strong Authentication on the Web", Apr. 24, 2001, (10 pages). "PKCS ™11: New Member of Public Key Cryptography", RSA Data Security, Inc., Jan. 12, 1994, (2 pages). Petri, Steve, "An Introduction to Smarcards", Litronic, Inc., © 199S, (2 pages). Violino, Bob, "The Cashless Society", InformationWeek, Oct. 11, 1993, (5 pages). Merker, Sr., Robert J., 'Keynote Presentation for the AIC Conference, Auckland, New Zealand', Danyl Corporation, © 1995, (4 pages). "Videoway's Experience Shows a New Approach to the Interactive Opportunity", Inside Cable and Telecom Services, Jun. 1995, (3 pages). Bull CPS® News, Products and Technologies, No. 22, Oct. 1994, (2 pages). Bull CPS® Systems Product Sheet, Sep. 1994, (2 pages). "One Store's Comprehensive Loyalty Program-The Takashimaya Experience", Verifone, Inc., © 1994, (4 pages). "Mondex Payments Scheme", Smart Card News Ltd., Dec. 1993, (2 pages). "Why Consumers Are Still Carrying Cash Everywhere", Philadelphia Inquirer, Jun. 11, 1995, (2 pages). "Electronic Payment System Architecture for Point of Sale Application", IBM Technical Disclosure Bulletin, Jan. 1992, (1 page). "Portable Self Checkout Retail System", IBM Technical Disclosure Bulletin, Jun. 1992, (3 pages). "Transcription Completion Code Based on Digital Signatures", IBM Technical Disclosure Bulletin, Aug. 19S5, (6 pages). "Chapter 4-Uses", Smart Card Primer, The Schuler Consultancy,© 1993, pp. 57-66, SO-S3, and S7-91, (19 pages). Figure S.S from p. 151 of Zoreda & Oton "Smart Cards", Artech House,© 1994, (1 page). "Internet Music Library Process", Date Unknown, (1 page). Bibliography for "CITM Working Paper WP-95-1005: Designing Electronic Catalogs for Business Value: Results from the CommerceNet Pilot", Date Unknown, (3 pages). Van Hove, Leo, Bibliography on Electronic Purses, Date Unknown, ( 4 pages). Bibliography for "CITM Working Paper WP-95-1006: Financial EDI Over the Internet: A Case Study", Date Unknown, (5 pages). Bibliography for Hawkes, P.L., Davies, Donald W., and Price, W.L., "Integrated Circuit Cards, Tags, and Tokens: New Technology and Applications", Oxford; Boston: ESP Professional,© 1990, (1 page). Bibliography for Devargas, M., "Smart Cards and Memory Cards", Oxford; Blackwell NCC, © 1992, (1 page). Bibliography for Svigals, Jerome, "Smart Cards: The New Bank Cards", New York: Macmillan; London: Collier Macmillan Publishers,© 19S7, (1 page). Bibliography for Bright, Roy, "Smart Cards: Principles, Practice, Applications", Chichester [England]: Ellis Horwood; New York: Halsted Press,© 19SS, (1 page). Bibliography for Svigals, Jerome, "Smart Cards: The Ultimate Personal Computer", New York: Macmillan Publishing Co.; London: Collier Macmillan,© 19S5, (1 page). Bibliography for "Applications of Computer Card Technology", Washington, D.C., U.S. Dept. of Labor, Office of the Inspector General, [1990], (1 page). German article entitled "Erfahrungen Mit Einer Hochsicheren, Multifunktionalen Chipkarte fur Bankenanwendungen" Date Unknown, (21 pages). Document entitled: "Dialog Search for U.S. Patent No. 5,905,90S", Date Unknown, (59 pages). UBI Consortium Inc. Document, Mar. 26, 2001 (2 pages). HTML file entitled: "The Common Gateway Interface", available at httpd@ncsa.uiuc.edu, circa, Jun. 1995. HTML file entitled: "Critique of Secure-HTTP", available at shttp://www.spyglass.com/secure, Apr. 19, 1995. Directory of abstracts of HTML files available from lEFT Secretarial-Corporation for National Research Initiatives; circa, Jun. 1995. HTML file entitled: "A Beginner's Guide to HTML" available from National Center for Supercomputing Applications/pubs@ncsa.uiuc.edu; circa, Jun. 1995. Memo entitled: "Uniform Resource Locators (URL)", by URI working group of the Internet Engineering Task Force; Dec. 1994. Press release entitled: "VeriFone to acquire Enterprise Integration Technologies (EIT), Internet Commerce Software and Services Leader", VeriFone, Inc. and Enterprise Integration Technologies; Redwood, California, Aug. 21, 1995. Spyglass white paper entitled: "Electronic Commerce Standards for the WWW"; Spyglass, Inc. http://spyglass.com; Aug. 21, 1995. Memo entitled: "The Secure Hypertext Transfer Protocol"; E. Rescorla and A Schiffman; Jul. 1995. Article entitled: "Cash on the Wirehead", Andrew Singleton, BYTE Magazine, Jun. 1995. "Beyond the Web: Excavating the Real World Via Mosaic", Goldberg et al., 2nd International WWW Conference. "Magnetic Resonance Angiography", Radiology 19S6; 161, p. 717-720, Dumoulin et al. "Velocity and Diffusion Imaging in Dynamic NMR Microscopy", JMR 91, p. 326-352, 1991, Callaghan et al. "Reduced Circular Field-of-View Imaging", MRM 40:474-4SO, 199S, Scheffler et al. "Measurement of Flow Using Back Projection Reconstruction: Display of Limited Regions of the Body", Young et al. US 6,907,476 B2 Page 6 Salsman, James P., "Form-based Device Input and Upload in HTML", available at http://www.w3.org/1999/07 /NOTE-device-upload-19990706, Cisco Systems,© 1999, Jul. 6, 1999 (9 pages). Memo entitled: "Form-based File Upload in HTML", E. Nebel and L. Masinter, Network Working Group of Xerox Corporation, Nov. 1995 (12 pages). HTML file entitled: "HTML 3.0 Draft (Expired) Materials", available at http://www.w3.org/MarkUp/htm13, Dec. 21, 1995 (4 pages). Berners-Lee, T. and Connolly, D., HTML file entitled: "HyperText Markup Language Specification-2.0", available available at http://www.w3.org/MarkUp/html-spec., Nov. 1995 (10 pages). Raggett, David, HTML file entitled: "A Review of the HTML +Document Format", Hewlett Packard Laboratories, date unknown (13 pages). Raggett, David, HTML File entitled: "10-Fill--{)ut Forms and Input Fields", available at http://www.w3.org/MarkUp HTMLPlus/htmlplus_41.html, Nov. 8, 1993 (5 pages). Raggett, David, HTML File entitled: "ISO 8879:1986", available at http://www.w3.org/MarkUp/htmlplus_paper /htmlplus.dtd, Apr. 5, 1994 (17 pages). Riordan, T., "AToll Collector on the Information Highway", The New York Times, Sunday, Aug. 22, 1993, (3 pages). Burchard et al., "Compound Documents in HTML", Internet Draft Memo, Date Unknown, (14 pages). Press Release, "Netscape Introduces Netscape Navigator 2.0", Netscape Company Press Relations, Sep. 18, 1995, (3 pages). Stabell, B., The EMBED Tag by Netscape (v2.0), Sep. 19, 1995, (9 pages). Article entitled, "Eolas Sues Microsoft for Infringement of Patent for Fundamental Web Browser Technology That Makes "Plug-Ins" and "Applets" Possible", Chicago, Illinois, Feb. 2, 1999, (2 pages). Sottong, S., "Quick HTML Basics", Date Unknown, (12 pages). Ang et al., "Integrated Control of Distributed Volume Visualization Through the World-Wide-Web", Oct. 30, 2001, (8 pages). Krajewski, Jr., et al., "Applicability of Smart Cards to Network User Authentication", Computing Systems, vol. 7, No. 1, Winter 1994, (15 pages). "Financial Institution Sign-On Authentication for Wholesale Financial Transactions", American National Standards Institute, X9.26, Feb. 28, 1990, (35 pages). Kohl et al., "The Evaluation of Kerberos Authentication Service", Date Unknown, (15 pages). Cordonnier et al., "Times as an Aid to Improving Security in Smart Cards", Date Unknown, (14 pages). Cordonnier et al., "The Concept of Suspicion: A New Security Model for Identification Management in Smart Cards", Date Unknown, (14 pages). Haykin et al., "Computer Science and Technology-Smart Card Technology: New Methods for Computer Access Control", U.S. Department of Commerce, National Technical Information Service, Sep. 1998, (55 pages). Rescorla et al., "The Secure HyperText Transfer Protocol"; Internet Draft Memo, Dec. 1994, (29 pages). Takei, D., "Videotex Information System and Credit System Connecting with MARS-301 of JNR", Japanese Railway Engineering, No. 95, Sep. 1985, (5 pages). Pongratz et al., "I C Cards in Videotex Systems", Smart Card 2000: The Future of IC Cards, International Conference, Oct. 19-20, 1987, (9 pages). Neuman, B.C., "Security, Payment, and Privacy for Network Commerce", IEEE Journal on Selected Areas in Communication, vol. 13, No. 8, Oct. 1995, (8 pages). Zilles, S.N., "Catalog-Based-Order Entry System", IBM Technical Disclosure Bulletin, vol. 25, No. llB, Apr. 1983, (3 pages). Article entitled, "PKCS #11: New Member of Public Key Cryptography", available online at http://www.rsasecurity. com/news/pr/940112-l.html., Jan. 12, 1994, (12 pages). Kessler, J., "The French Minitel: Is There Life Outside of the 'US ASCII' Internet? A Challenge of Convergence", D-Lib Magazine, Dec. 1995, (10 pages). Schiiter et al., "Digital Money Online, A Review of Some Existing Technologies", Intertrader Ltd.,© Feb. 1997, (60 pages). Sutherland, E., "The Quickening Pace of Technology", © 1995, (3 pages). Article entitled "NetBill: An Internet Commerce System Optimized for Network Delivered Services", Date Unknown, (9 pages). Reagle, Jr., et al., expanded bibliography for "Papers Describing the Operation of Electronic Commerce Protocols", Date Unknown, (3 pages). Article entitled "ISO/IEC 7816 Part 4: Interindustry Command for Interchange", Nov. 26, 1998, (77 pages). 1991 Statement on Role of NIST, available online at http:// csrc.nist.gov/publications/nistbul/cs191-02.txt, Jun. 17, 1992, (38 pages). Kirkman, P., "Electronic Funds Transfer Systems: The Revolution in Cashless Banking and Payment Methods",© 1987, (14 pages). Fancher, C., "Smart Cards: As Potential Applications Grow, Computers in the Wallet are Making Unobtrusive Inroads", Scientific American, Date Unknown, (10 pages). Walsh, E., "Smart Card Standards", Datapro Information Services, Aug. 25, 2000, (10 pages). Article entitled "The Birth of Smart Cards: 1980", Le Courier de la Monetique, Date Unknown, (2 pages). Article entitled "The Birth of Smart Cards: 1981", Le Courier de la Monetique, Date Unknown, (3 pages). Article entitled "The Birth of Smart Cards: 1982", Le Courier de la Monetique, Date Unknown, (2 pages). Article entitled "The Birth of Smart Cards: 1983", Le Courier de la Monetique, Date Unknown, (2 pages). Article entitled "The Birth of Smart Cards: 1984", Le Courier de la Monetique, Date Unknown, (3 pages). Article entitled "The Birth of Smart Cards: 1985", Le Courier de la Monetique, Date Unknown, (2 pages). Article entitled "The Birth of Smart Cards: 1986", Le Courier de la Monetique, Date Unknown, (2 pages). Article entitled "The Birth of Smart Cards: 1987", Le Courier de la Monetique, Date Unknown, (2 pages). Article entitled "The Birth of Smart Cards: 1988", Le Courier de la Monetique, Date Unknown, (2 pages). Article entitled "The Birth of Smart Cards: 1989", Le Courier de la Monetique, Date Unknown, (2 pages). Doyle, M., University of California, San Diego, Office of Continuing Medical Education, Disclosure Statement, Nov. 30, 1993, (10 pages). US 6,907,476 B2 Page 7 Article entitled "Workshop on Network and Distributed System Security", Privacy and Research Group, Feb. 11-12, 1993, (5 pages). Krajewski, Jr., M., "Concept for a Smart Card Kerberos", Jan. 22, 2002, (8 pages). Kohl et al., "The Kerberos Network Authentication Service (VS)", Sep. 1993, (103 pages). Nebel, E., "File Upload in HTMLForms", Sep. 23,1994, (4 pages). Raggett, D., E-mail memo entitled "Re: Request for New Forms Submission Consensus", Oct. 12, 1993, (4 pages). Gaskell et al., "Improved Security for Smart Card Use in DCE", Feb. 1995, (17 pages). Pato, J., "Using Pre-Authentication to Avoid Password Guessing Attacks", Jun. 1993, (5 pages). Shipplett, M., E-mail memo entitled "Re: Insecure WWW Access Authorization Protocol?", Mar. 7, 1994, (3 pages). "Financial Transaction Card Originated Messages-Interchange Message Specifications", International Standard, Second Edition, Dec. 15, 1993, (128 pages). Various article on the subject "1994 NIST Guideline for Advanced Authentication (Smart Cards)", Date Unknow, (73 pages). Allen et al., "Smart Cards: Seizing Strategic Business Opportunities", The Smart Card Forum, © 1997 The McGraw-Hill Companies, (323 pages). Fielding et al., "Hypertext Transfer Protocol-HTTP/1.1", Jan. 1997, (162 pages). Branwyn, G., "M·O·S·S·AI·C Quick Tour for Windows: Accessing & Navigating the Internet's World Wide Web",© 1994 Ventana Press, Inc., (215 pages). Shelly et al., "Netscape Navigator: An Introduction", © 1996 Boyd & Fraser Publishing Company, (138 pages). James, P., "Official Netscape Navigator 2.0 Book: Windows Edition",© 1996, Ventana Press, Inc., (692 pages). Article entitled "A Smart Card for On-Line Home Services", ChipCord News, Issue No. 32, Jul. 1990, (2 pages). Bosak et al., "XML and the Second Generation Web", Scientific American, May 1999, (5 pages). Beners-Lee et al., "RFC1866-Hypertext Markup Language-2.0", Nov. 1995, (58 pages). Hansen, Wilfred J., "Enhancing Documents with Embedded Programs: How Ness Extends Insets in the Andrew ToolKit", IEEE 1990, pp. 23-32, (10 pages). Tani, M., Yamaashi,K., Tanikoshi, K., Futakawa, M. and Tanufuji, S., "Object-Oriented Video: Interaction with RealWorld Objects Through Live Video", ACM 1992, pp. 593-598, (6 pages). Crowley, T. Milazzo, P., Baker, Forsdick, H. and Tomlinson, R., "MMConf: An Infrastructure for Building Shared Multimedia Applications", ACM 1990, pp. 329-342 (14 pages). Davis, H., W., Heath, 1., Hill, G. and Wilkins, R., "Towards an Integrated Information Environment with Open Hypermedia Systems", ACM 1992, pp. 181-191, (10 pages). Ferrara, Fabrizio, M., "The KIM Query System: An Iconic Interface for the Unified Access to Distributed Multimedia Databases", SIGGHI Bulletin 1994, vol. 26, No. 3, pp. 30-39, (10 pages). Gibbs, Simon, "Composite Multimedia and Active Objects", OOPSLA 1991, pp. 97-112, (16 pages). Davis, H. Hall, W., Pickering, A. and Wilkins, R., "Microcosm: An Open Hypermedia System",ACM, 1993, (1 page). Cullen, J., Day, B. and Planes, M., "The Use of FTAM to Access Graphical Pictures Across Wide Area Networks", Elsevier Science Publishers B.V. 1992, pp. 377-383, (19 pages). Vaziri, Arsi, "Scientific Visualization in High-Speed Network Environments", Elsevier Science Publishers B.V. 1991, pp. 111-129, (19 pages). Lashkari, Y., Rao, S., Mhaskar,V. and Shelat, A., "PLX: A Proposal to Implement a General Broadcasting Facility in a Distributed Environment Running X Windows", Comput. & Graphics, vol. 16, No. 2, 1992, pp. 143-149, (7 pages). Kirste, Thomas, "SpacePicture-An Interactive Hypermedia Satellite Image Archival System", Comput. & Graphics, vol. 17, No.3, 1993, pp. 251-260, (10 pages). Coulson, G., Blair, G., Davis, N. and Williams, N. "Extension to ANSA for Multimedia Computing", Elsevier Science Publishers B.V. 1992, pp. 305-322, (18 pages). Le Huynh, D., Jensen, M., Larsen, R., Southard, J., and Wang, F., "PIX: An Object-Oriented Network Graphics Environment", Comput. & Graphics, vol. 17, No.3, 1993, pp. 295-304, (10 pages). Berners-Lee, T.J., Cailliau, R., and Ggroff, J., "The WorldWide Web", Elsevier Science Publishers B.V. 1992, pp. 454-459, (6 pages). Shackleford, D., Smith, J. and Sith, F. "The Architecture and Implementation of a Distributed Hypermedia Storage System", Nov., 1993, pp. 1-13, (13 pages). Labriola, Don, "Whiteboard Software: Remote Possibilities", PC Magazine, Jun. 14, 1994, pp. 223-224, (2pages). "How We Evaluate the Whiteboard Software". PC Magazine, Jun. 14, 1994, pp. 225-228, (4pages). Udell, John, "Visual Basic Custom Controls Meet OLE", BYTE, Mar. 1994, pp. 197-198 and 200, (3pages). Sarna, D. and Febish, G., "OLE Gains Without (Much) Pain", DATAMATION, Jun. 15, 1994, pp. 31, (1page). Scrupski, Susan, "Outsourcing: It Could be Good", DATAMATION, Jun. 15, 1994, pp. 32-33 and 114, (3pages). Rizzo, John, "What's OpenDoc?", Mac User, Apr. 1994, pp. 119-123, (3pages). Cello Browser Release 1.01a ftp:law.cornell.edu/pub/L11! cello, Mar. 16, 1994, (8 pages). "Why Jim Clark Loves Mosaic", Wired, Oct. 1994, pp. 118-121, 150--151 and 157, (7 pages). Marovac, N. and Obburn, L., "Hypernet: A Tool to Choreograph Worldwide Distributed Hypermedia Documents", Comput. & Graphics, vol. 16, No. 2, 1992, pp. 197-202, (6pages). Moeller, M. and Leach, N., "Microsoft Maps New OCX Plan: ActiveX seen as Web Content Platform", PC Week, Mar. 11, 1996, vol. 13, No. 10, pp. 1-2, (2 pages). "OLE 2.0: Death to Monoliths?", BYTE, Mar. 1994, pp. 121-122, (2 pages). "Netscape Communications Offers New Network Navigator Free on the Internet", http://home.netscape.com/newsref/pr/ newsreleasel.html , Jan. 29,1998. Sackman, Gleason, "Remote Tele-Excavation via the Web", Tele-robotics, vol. 11, Issue 9, (1 page). Wolf, Gary, "The (Second Phase of) the Revolution has Begun", WIRED, Oct. 1994, pp. 16-17, (2 pages). Wynne, B. and Marovac, N., "Lean Management, Group Support Systems and Hypermedia: A Combination Whose Time Has Come", IEEE, 1993, pp. 112-121, (10 pages). US 6,907,476 B2 Page 8 Moran, Patrick J., "Tele-Nicer-Slicer-Dicer: A New Tool for the Visualization of Large Volumetric Data", Biomedical Imaging Group, pp. 1-7, (7 pages). Hansen, W. and Consortium, A. "Andrew as a Multiple Environment for Visual Languages", IEEE, 193, pp. 256-260, (5 pages). Doyle, M., The Virtual Embryo: VR Applications in Human Development Anatomy, Jan. 27, 1994, pp. 1-9, (9 pages). Doyle, M., "A Knowledge Management Environment through the World Wide Web", Jan. 7, 1994. Oliver, D. et al., "Netscape™ Unleashed". Ang, C., Martin, D. and Doyle, M., "Integrated Control of Distributed Volume Visualization Through the World-Wide Web", 1994, pp. 1-10 (10 pages). Hume, Tom, "WAP: Where we've come from, where we are, where we're going" Available online at http://www.tomhume.org/stories/2002/02/04wap Where WeveComeFromWhereWeAreW ... , (18 pagers). Goldman, Chris, "Browsing for Perfection", ARC Group in the Press, Feb. 1, 2001, Available online at http://www.arcgroup.com/homepage.nsf/PRSARC/ar010201, (4 pages). "Handheld Devices Markup Language (HDML) specifications", Apr. 11, 1997, Available on line at http:// www.w3.org/TR/hdm120-3.html through http:// www.w3.org/TR/hdml20-9.html, (33 pages). Hinden, R., "Simple Internet Protocol Plus White Paper", Network Working Group, Oct. 1994, Available online at ftp://ftp.rfc-editor.org/innotes/rfc 1710.txt, (22 pages). McCarthy, Vance, "Novell to llink wireless laptops, PDA's to LANs (portable computers, personal digital assistants, local area networks)" InfoWorld, Sep. 13, 1993, v15 n37 pq, (2 pages). Schwartz, Barry K. and Stephen B. Weinstein, "Dual-Media Messaging Using Screen Telephones on the Telephone Network", Bell Communications Research, IEEE 1993, pp. 1183-1188, (6 pages). Verjinski, Richard D., "PHASE, A Portable Host Access System Environment", Unisys Defense Systems, IEEE 1989, pp. 806-809, (4 pages). Klemets, Anders, Gerald Q. Maguire, Frank Reichert, and Mark T. Smith, "MINT-A Mobile Internet Router", ILEE 1993, pp. 70--74, (5 pages). Perkins, Charles E. and Pravin Bhagwat, "A Mobile Networking System based on Internet Protocol"{, IEEE Personal Communications, First Quarter 1994, pp. 32-41, (10 pages). Connolly, T., P. Amer, and P. Conrad, "An Extension to TCP: Partial Order Service", Network Working Group, Nov. 1994, Available online at ftp://ftp.rfc--editor.org/in-notes/rfc 1693.txt, (14 pages). Furniss, P., "Octet Sequences for Upper-Layer OSI to Support Basic Communications Applications", Networking Group, Oct. 1994, Available online at ftp://ftp.rfc-editor.org/ in-notes/rfc1698.txt, (28 pages). Graves, C., T. Butts, and M. Angel, "TN3270 Extensions for LUname and Printer Selection", Network Working Group, Jul. 1994, Available online at ftp://ftp.rfc-editor.org/innotes/ rfc161646.txt, (13 pages). Klensin, J., N. Freed, M. Rose, E. Stefferud, and D. Crocker, "SMTP Service Extensions", Network Working Group, Feb. 1993, Available online at ftp://ftp.rfc-editor.org/in-notes/ rfc1425txt, (10 pages). Wang, Z., "EIP: The Extended Internet Protocol A Framework for Maintaining Backward Compatibility", Network Working Group, Nov. 1992, Available online at ftp://ftp.rfc--editor.org/in-notes/rfc1385.txt, (16 pages). Gwinn, A., "Simple Network Paging Protocol-Version 2", Network Working Group, Jul. 1994, Available online at ftp://ftp.rfc-editor.org/in-notes/rfc1645 .txt, (15 pages). Braden, R., J. Postel, andY. Rekhter, "Internet Architecture Extensions for Shared Media", Network Working Group, May 1994, Available online at ftp://ftp.rfc--editor.org/innotes/rfc1620.txt, (18 pages). Delgrossi, Luca, Christian Halstrick, Ralf Guido Herrtwich, and Heinrich Stiittgen, "HeiTP-A Transport Protocol for ST-11," IBM European Network Center, IEEE 1992, pp. 1369-1373, (5 pages). Tsang, P. W. M. and R. W. C. Wang, "Development of a Distributive Lighting Control System Using Local Operating Network," IEEE Transactions on Consumer Electronics, vol. 40, No. 4, Nov. 1994, (11 pages). Adomeit, Reinhard and Bernhard Holtkamp, "A Reference Framework for Integrated POI/POS Systems," Fraunhofer Institute for Software Engineering and Systems Engineering, (4 pages). Caneve, Maurizio, and Roberto Gagliardi, "A WAIS-Based Hypermedia Document System," ( 4 pages). Schmidt, Claudia, Burkhard Stiller, and Martina Zitterbart, "Towards Flexible Service-integrated Communication Subsystems," Jul. 1, 1994, ( 4 pages). Plagemann, Thomas, Janusz Waclawczyk, and Bernhard Plattner, "Management of Configurable Protocols for Multimedia Applications," ( 4 pages). "Frame relay attracts chains; networks at Kash N' Karry, Office Max (network communications protocol)," Chain Store Age Executive with Shopping Center Age, Dec. 1994 v70, (4 pages). Cummings, Joanne, "What's Hot What's Not '95," Network World, Dec. 26, 1994/Jan. 2, 1995, (5 pages). Aronin, Mindy, "XcelleNet launches fifth-generation RemoteWare 2.0 for remote and mobile applications," Business Wire, Nov. 28, 1994, (4 pages). Baum, David, "Designing mobile applications (case studies of companies developing mobile programs)," InfoWorld, Nov. 28, 1994 v16 n48 p73, (7 pages). Moeller, Michael, "Wireless standard to ease application portability; extensions will provide a common layer for CDPD, RAM, Ardis software," PC Week, Nov. 21, 1994 v11 n46 p1, (3 pages). Petreley, Nicholas, Nancy Durlester, and Laura Wonnacott, "The interoperability headache: linking disparate clients and servers," InfoWorld, Nov. 15, 1993 v15 n46 p124, (12 pages). Miscellaneous List of Article Abstracts, (50 pages). Rescorla et al., "The Secure HyperText Transfer Protocol", Network Working Group,© Aug. 1999, (42 pages). Berners-Lee et al., "HyperText Markup Language Specification-2.0", Nov. 29, 1994, Available online at http:// marc.merlins.org/-merlin/htmlearn/html2.html., Aug. 21, 2002, (69 pages). Raggett, Dave, "HyperText Markup Language Specification Version 3.0", Mar. 28, 1995, Available online at http:// www.w3.org/MarkUp/html3/html3.txt., Aug. 21, 2002, (181 pages). US 6,907,476 B2 Page 9 Merle et al., "Integration of heterogeneous environments: World Wide Web, Smart Card and Corba," Date Unknown, (16 pages). "ProSolutions, Inc. ASP vs. CGI 'Active Server Pages (ASP) Technology"', E Business Solutions, © 1995-2002, Available online at http://www.prosolutionsinc.com/asp.htm., May 8, 2002, (2 pages). Kirby et al., "Developing JDBC Servlet Applications", Dynamic Information Systems Corporation, Available online at http://www.disc.com/jdbcserv.html., May 8, 2002, (12 pages). Pasian et al., "A Generalized Mosaic-to-SQL Interface with Extensions to Distributed Archives", Astronomical Data Analysis Software and Systems IV ASP Conference Series, vol. 77, 1995, Available online at http://www.stsci.edu/stsci/ meetings/adassiV/pasianf.html., May 7, 2002, (5 pages). Ng, Jason, "GSQL-a Mosaic-SQL gateway", Dec. 1993, Available online at http://archive.ncsa.uiuc.edu/SDG/ People/jason/pub/gsql/starthere.html., May 7, 2002, (16 pages). Rasmussen, B. F., "WDB-A Web Interface to Sybase", Astronomical Data Analysis Software and Systems IV ASP Conference Series, vol. 77, 1995, Available online at http:// www.stsci.edu/stsci/meetings/addasiV/rasmussenb.html., May 7, 2002, (7 pages) . Connolly, Daniel W., "Paul Burchard on HTML 2.0 FORMs", Jul. 11, 1994, Available online at http:// lists.w3.org/Archives/Public/www-html/1994Jul! 0014.html., Dec. 3, 2001, (6 pages). Hackborn, Dianne, "Re: Java Applet element proposal", Jun. 8, 1995, Available online at http://ksi.cpsc.ucalgary.ca/archives/HTML-WG/html-wg-95q2.messages/1228.html., Nov. 1, 2001, (2 pages). Kaye, Walter Ian, "Re: Protocol registry? (fwd. Java Applet element proposal)", Jun. 5, 1995, Available online at http:// lists.w3.org/Archives/Public/www-html/1995Jun/ 0069.html., Aug. 14, 2001, (3 pages). "The APP HTML Tag", Hot Java, Sun Microsystems, Inc., © 1995, Available online at Apr. 24, 2002, (2 pages). Yourdon, Edward, "Java and the new Internet programming paradigm", Aug. 1996, Available online at http://www.javaworld.com/j avawor ld/jw-08-1996/jw-08-yourdonbook_ p.html., Apr. 29, 2002, (20 pages). Merckling et al., "Smart Card Introduction", Mar. 1994, Available online at http://www.opengroup.org/rfc/mirrorrfc/ rfc57.0.txt., Mar. 1, 2001, (16 pages). Bellovin et al., "Limitations of the Kerberos Authentication System", USENIX, 1991, (16 pages). "Guideline for the Use of Advanced Authentication Technology Alternatives", Federal Information Processing Standards Publication 190, Sep. 28, 1994, Available online at http://www.itl.nist.gov/fipspubs/fip190.htm., Mar. 21, 2002, (49 pages). "HTML +(Hypertext markup format)", Nov. 8, 1993, Available online at http://www.w3.org/MarkUp/HTMLPlus/htmlplus_2.html., Mar. 28, 2002, (89 pages). Everhart, Craig, "Re: Interesting uses of networking", Jun. 11, 1990, Available online at http://www.cs.ucsd.edu/users/ bsy/coke.history.txt., Sep. 17, 2002 ( 4 pages). Kotanchik, J., "Kerberos and Two-Factor Authentication", Security Dynamics, Mar. 1994, (11 pages). McLaughlin, L. III, ed., "Line Printer Daemon Protocol", Network Printing Working Group, Aug. 1990, Available online at http://www.ietf.org/rfc/rfc1179.txt., Sep. 17, 2002, (14 pages). Gutfreund, Yechezkal-Shimon, "Mosaic Accessories", Jan. 26, 1994, Available online at file://C:\WINDOWS/TEMP/ WWW-Talk%20Jan-Mar%201994%Mosaic%20 Accessories.htm., Apr. 1, 2002, (8 pages). Gessler et al., "PDAs as mobile WWW browsers", Date Unknown, Telecooperation Office, University of Karlsruhe, Available online at file:// C:\WINDOWS\TEMP\gwpring\PDAs%20as%20mobile% 20WWW%20browsers.htm., Mar. 28, 2002, (9 pages). d • \Jl • ~ ~ ...... ~ = ...... U.S. Patent HTML + DAttrib.Jtes Description <FORM .6CTION ="ur1" FROM "file name" TO PRINTER TO "file name" FROMSCR TOSCR METHOD= "GET" To/From 'Neb Server URL From Terminal Local File To local Printer To Terminal Local File From Smart Card Reader To Smart Card Reader Retriew Data IIPOST" "FAYMB-IT" Store Data DiffietM to deliwr \f'PUT data to SOL <database name> Attrib.Jte <INPUT TYPE= US 6,907,476 B2 Sheet 2 of 25 Jun.14,2005 a priwte Payrrent.Ne~~ for alrthonzation and settlement SOL statement database table \fc31ue "text" "passv.JOrd" Description "checkbox" "radio" "submit" NAME= \bt\LUE:;: > Attritute CHECKED== SIZE= MA.XlH-JGTl-1::: HTML + DValt:e "reset" <field name> <initial value> Terminal Device Mag Stripe Reader· Track i ~Stripe Reader- Track 2 ...KEY" Terminal Corrrrand Keypad "PJN" PIN Pad "BCW' BarCode'!Wmd "MICR" Check MICR Reader "AMT" Dollar amount key input rmsk "/NT" Integer key input mask "LOCAL" Input from Local variable "AUTOSUBMrT" Sutmit FORM to .ACTION U\L TYPE ,. "MSRTr 11 MSRT7 NAME= ip_ address hOst_;XxJne tkJ oori<_key datetime depos;t_acct Lccal 'kriable- lermina!'s IP Address Local 'klriable- Local Internet Access Phcne N..nter Local \kriable- lermirallO Local Vc3riable- PIN ercryptioo oorkirg k.ey LocaJVaria~e- Date an:! tim! lccdl '11.3riable- tv"!e~t Deposit A:cCUlt FIG.2 U.S. Patent Jun.14,2005 Sheet 3 of 25 US 6,907,476 B2 SOL Statements The followi~ SQLcorrmar.ds represent a subset of the entire corrt1"1and set that varies by database vendor. HTML+D Attril:vtes SELECT*, field_name,.. Description Request field_name {one or many) from a database table Database table name FROM =<table name>,.. WHERE=<condition> Conditiona\ se\ection of data name • "'ccnstanr name UKE "constanr' name IN "constant' AND OR OADER=ASC DESC Request in ascending order ~.descending w.'o{l.'s 2 GiOUP-<name> tNSERT TABL.&:<tabie name> VALUES/J"'constants" Insert new data in database table UPDATE FROM UJ:;date fie!d_name in databaSB table <table name> SET=field names"constanr' [ VvHER&:<cond~ion>] Update if 'M-lffiE clause is satisfied ce...ETE FROM <table name> [ WHERE=<cond~ion> 1 Delete all co\urrns that satisfy CREATE TABLE<table _name> PRIMARY KEY<name> Create database table VVHERE clause FIG.} U.S. Patent Jun.14,2005 US 6,907,476 B2 Sheet 4 of 25 IDLE 100 OPEN REMOTE URL OPEN LOCAL URL 102 CONNECT TO SERVER 704 READ HTML FILE lDENTIF\ED BY URL FROM LOCAL MEMORY 106 112 RECEIVE HTMLFILE 108 PROCESS HTMLFILE STORE UNDER HOT KEY 118 STORE HTML FILE lN LOCAL MEMORY 120 FIG.4 U.S. Patent US 6,907,476 B2 Sheet 5 of 25 Jun.14,2005 SCAN HTML FILE FOR TAG BLOCK 114 AG4 YES PROCESS FORM lAG 148 YES PROCESS INPUT TAG 150 PROCESS STANDARD TAG 152 FIG.~ SCAN FOR ATIRIBUTE YES PROCESS ACTION ATIR!SUTE ...-~ 168 YES PROCESS METHOD ATIRIBUTE 170 FIC.6 ~"----" U.S. Patent Jun.14,2005 US 6,907,476 B2 Sheet 6 of 25 SCAN FOR ACTION BLOCK 160 FIG.6 YES · READ DATA FROM LOCAL <FILE> 196 YES SEND DATA TO PRINTER 198 YES WRITE DATA TO LOCAL <FILE> 200 YES WRITE DATA TO SMART CARD 202 YES READ DATA FROM Stv1ART CARD READER 204 YES PROCESS STANDARD URL <FILE> ASSIGNMENT 194 FIG.7 U.S. Patent Jun.14,2005 YES Sheet 7 of 25 US 6,907,476 B2 QUERY URL <FlLE::. WITH DATA 226 YES POST DATA TO URL <FILE:> 228 YES PASS SQl FILE IDENTIFIER 230 YES PROCESS PAYMENT CO~D 232 N:J SCAN FOR METHOO BLOCK 1€a F1G.6 FIG.8 U.S. Patent Sheet 8 of 25 Jun.14,2005 US 6,907,476 B2 SCAN FOR ATIRIBUTE 250 8LOCK140 FlG.S ~ · YE$ PROCESS TYPE ATIRIBUTE 256 YES PROCESS N~E ATIRIBUTE ._____ 260 PROCESS STANDARD HTML INPUT ATIRIBUTES 262 FIG.9 U.S. Patent Jun.14,2005 Sheet 9 of 25 US 6,907,476 B2 REAOMSRT 1 YES PROCESS STANDARD HTML INPUT TYPE YES 310 SCAN FOR YES READ LOCAL VARIABLE TYPE 312 306 YES PROCESS AUTOSUBMIT NJ 308 BLOCK 25:J FIG.l 0 FlG 9 U.S. Patent Jun.14,2005 YES US 6,907,476 B2 Sheet 10 of 25 STORE INPUT IN >------' LOCAL VARIABLE t - - - - - , <NAME> 332 YES .------ SCAN FOR NAME YES YES BLOCK250 FlG9 YES YES PROCESS STANDARD TAG \. 336 FIC.ll U.S. Patent 1. <FORM ACTION=URL <FORM ACTION=URL <FORM ACTION=URL 2. 3. ,I ![ i! ' Sheet 11 of 25 METHOD= METHOD= METHOD= US 6,907,476 B2 GET> POST> SQL <database _name> FIG.12 ., j! Jun. 14,2005 D 11 I II II I = PAYMENT PROCESSOR 4~2 ~ 420 FIG.l lA <FORM ACTION=<filename> <INPUT TYPE=AUTOSUBMIT> </FORM> METHOO=PA'rWIENT> FIC.l }B <FORM ACTION=dsirn:t METHOO=PAYMENT> <INPUT TYPE=LOCAL NP.ME=DEPOSIT _ACCT VALUE=123456890234::67890> <INPUT TYPE=AUTOSUBMIT> </FORM> FIG.l lC U.S. Patent Jun.14,2005 US 6,907,476 B2 Sheet 12 of 25 1.a. Transaction Request HTML +0 \500 <rl1ML> <800Y> <FO~ .ACllON=dbase URL METHOO=SQL "BEGINTRAN IF NOT EXISTS (SELECT substring(accoun\, 1. 20) FROMauth_table) BEGIN INSERT TABLE=log_table VALUES=(getdateQ.tid. substring (account 1.20) substring( account 22 4). amount) SELECT • FROM log_table WHERE trandate getdate() = END ELSE SELECT • FROM error table WHERE error no=1 COMMIT TRAN"> <INPUT TYPE:::"LCC.Al.:' NNIE=tic:P ENTER ACCOUNT NUMBER <INPUT TYPE:::"N\SRTZ' SfZE=40 N.Aiv1E=a:count> ENTER MIOUN1 <IN Plff TYPE==".A!vfr' SlZE=8 N.A!v1E::::::amunt> <INPUT TYPE="ALifOSU8MIT'> </FORM> </8()0'(.> <!HTML> 1.b. Transaction Accepted Response <KTML> \570 <800Y> <FORM K-TlCN=l'O PRINTER ME11-10D=FQST> JUNE 11935 TEFcrviiNAL 10: NXJJUNT NUMBER EXPOATE AY'OUNT AUn-i NUM3ER 1Q3C'PM PURCH/lSE</P> ~> 99'99</P:> $9999.99</P> ~> </p> ----------------------~> CUSTCMER SIG'!ATURE </p> <ifOR!vt:· NY? ROVE~ </BODY> <frlTML> 1.c. Transaction Declined or Submt Error Respcnse <Hnv'il> <BODY> DECtlNEQ<:t\1ESSt.GE=> \520 <IBOOY> <IHT7v1L> FIG.14 U.S. Patent US 6,907,476 B2 Sheet 13 of 25 Jun.14,2005 2.a. Transaction Request HTML+0 \. 550 <HmML> <BODY> <FORM ACnON=dbase URL MEn-iOD=SQL~BEGIN TRAN IF NOT EXISTS (SELECT substring(account 1, 20) FROM auth_table) BEGIN INSERT TABLE=Iog_table VALUES=(getdate(),tid, substring( account1.20). substring( account 22. 4), amount) END ELSE BEGIN SELECT • FROM error table WHERE error no=1 RETURN - - END INSERT TABLE=order_table VALUES=( getdateQ. cust_name.address.city, state, zip, part_code, unit_price. tax. ship_method, sllip_chrg, unit_price +tax+ ship_chrg, substring( account 1. 20) ,substring( account. 22. 4)) SELECT .. FROM order_table WHERE trandate getdateO COMMIT TPAN"> a.J.S1av\ER Nt>ME = <INPUT TYPE=:<TEXrS!ZE==30 NAME=cust_~'p> .ADDRESS: <INPlJT TYPE="TEXT S!ZE::40 N.M1E~p> CiTY: <INFVT TYF"t:="TEXT' S!ZE==2D NA'\1E=dty><y> STATE <INPUT TYPE;;:;'1EXT' SIZE=2 t'W.rE=sta-te;> ZJP: <INPUT TYPE=''TEXT' SIZE=1 0 NNv£~ SCAN rART ffiJE: <lNFUT TYFE='"OON' SlZE=9 NA!v'E=p3ft_c::cx:E><.'p> ENTER UNIT PRICE: <INPUT TYPE=".A"vff"' S!ZE=B N.AM::-=tn~ TAX: <INFVT TYPE="PM! SIZE=5 N.6ME~'p:> SHIPPING rvETl-CO: <INFVTTYPE='1CXr SIZE=10 NAME=shp_~ SHIPP1NG A\OJ NT: <1N PJT 1YPE='f>Jvff" SIZE=5 N6/v£::o:t!ip_ch'g></p> SUDECARD <1NFUT TYff='iYBRTZ StzE=-40 NNv'iE =a:co...nt><.p <INF\JTTYPE="SUEMT'::. <IFORtvt> <JBOOY> <JHTh;ll> FIC.l ~A U.S. Patent Jun.14,2005 US 6,907,476 B2 Sheet 14 of 25 2.b. Transaction Accepted ResponS€ \ <H1ML:> 555 <BODY> <FORvl ACTION= TO PRINTER METHOD=FOST> ORDER# 9999999009 APPROIED</p> JUNE 11995 1Q3CJ..lv\ PURCHASE<~?;> TERMINALID: ~ ~~ ~~ ADORESS:</p;:> - - - - - - - - - - - - - - - - - - - - - -<lp> OJSTCMER SK:NA1URE<Jp:~ </FORJ\1,> </BODY> </l-ITML> 2c. Transaction Declined or Submit Error R-esponse <HTML-:::. \560 <BODY> DECLINED <errcr cede> <./BODY> <IHTML> FIG.l~B U.S. Patent 3.a. Transac~on Jun.14,2005 Sheet 15 of 25 US 6,907,476 B2 Reql.!est HTN\L-+0 <HTML> <BODY> <FORM ACTION=dbase URL METHOOSQL "INSERT TABLE =order_U:ible VALUES=( getdate(}. cust_name.address,cit1. stale, zip. part_code, unit_price, tax. ship_method, ship_chrg.unit_price + tax: + ship_chrg, substring( account 1. 20) .substring( account 22. 4)} SELECT .. FR0\1 order_table WHERE trandate = getdate()"> <INPUT TYPE="LOCAL" NA!v1E=tld> CUSTOME~ NAME <INPUT TYPE="TEXT" SIZE:::3Q NAME=cust_name></p> ADDRESS: <INPUT TYPE="TEXT" SIZE=40 NAME=address></p> CITY: <INPUT TYPE="TEXT" SIZE=20 NAME=city:><p> STATE: <INPUT TYPE="TEXT" SIZE=2 NAME=state> ZIP: <INPUT TYPE="TEXT' SIZE==10 NAME=address></p> ENTER PART CODE: <INPUT TYPE="TEXT' SIZE:::10 NAME=part_code><lp> ENTER UNIT PRICE: <INPUT TYPE="AMT' SIZE=8 N~E=unit__price></p> TAX: <INPUT TYPE="NviT' SIZE=S NMJE==tax><Jp> SHIPPING METHOD: <INPUT TYPE="TE.Xr SlZE::\0 NAN,E:::ship_method><lp:> SHIPPING AMOUNT: <INPUT TYPE="AMT' SIZE=5 NArvtE=shtp_chrg></p> <INPUT TYPE="SUBMIT' > </FORM> </BODY> </HTML> FIC.16A U.S. Patent Jun.14,2005 Sheet 16 of 25 US 6,907,476 B2 3.b. TransacUon Accepted Response <HTh1L> <BODY> <FORM ACTION= TO PRINTER METHOD=POST> ORDER# 9999999999 APPROVED<Jp> JUNE 11995 10.30.AJ\.1 PURCHASE<JP> TERMINAL 10: 999999999<JP> N.AME; </p> AODRESS:<fp> Cll'l': m.mm::ooooc.::xxoom:x::oc<<Jp> STATE: >0< ZIPXX>OCOOoe<X</p> PARTCOOE ~p> UNIT PRICE: ~9999.99</p> SHIP METHOO~ CHARGE: 9999.ffi</p> TOTAL AVOUNT: 9999.99</p> </FORtt.A> <FORtv1 ACTIOO==<file name> METHOO:::PAYMENT> <INPUT TYPE=AUTOSuBMIT> </FOR!vt> <tBODY> </HTML> 3.c. Transaction Declined or Submit Error Response <Hli\1l> <BODY> DECLINED <error code> </BODY> <IHTML> FIC.16B U.S. Patent Jun.14,2005 Sheet 17 of 25 US 6,907,476 B2 4.a. Transaction Request HTML+0 <Hl1v1L> <BODY> <FORM ACTION=SCR1 tv'iETHOD=POST> <INPUT TYPE="LOCJlJ..'' N.AME=tid> SLIDE CARD: <INPUT TYPE="MSRTZ' SIZE=40 N.6ME=track2> ENTER M-OJNl: <INPUT TYPE=':Al\tfr' S!ZE=8 NA'v1E=am:;)(_;nt> <INPUT lYPE="LCCAL:' N.Alv1E=wak_key> <lNPUT lYPE='~UTOSUelvlll> ~ </BODY> <IHTML> 4.b. Transaction Accepted HTML+0 <HTML> <BODY> <FORM ACTION::;; TO PRINTER METHOD=FQS1> nME.~A<JP> CATE'99150JS9 ACCOUNTNUMBER EXPDATE MvOJNI: AUTH NUrvBER ~8</rY ~ ~IB<JfP ~B</rP </F()A'vt> ~ </BODY> </Hllv\L> 4.c.1ransaction Declined or Submit Error Response <HTML> <BODY> DEQ.INED <errcr cede> <JB()()Y> <IHTML> FIC.17A U.S. Patent Jun.14,2005 US 6,907,476 B2 Sheet 18 of 25 5.a. Transacuon Request HTML +0 <HlML'> <BODY> <FORM ACTION=SCR2 METHOD=POST> <INPUT TYPE=" LOCAL" NAME=tid> ENTER PIN: <INPUT TYPE="PASS'WORO'" SlZE=4 NAN.E=pin> ENTER M10UNT: <INPUT TYPE=''AAW SIZE=8 NAME=amount> <INPUT TYPE="LOCAL" N.AME=work_key> <INPUT TYPE="AUTOSUBMir'> </FORM> </BODY> <IH1ML> 5.b. Transaction Accepted HTML +0 <HTML> <BODY> <fORfv\ ACTION=TO PR\NTER METHOD=POST> OA,TE:99/99199 TIME9999A<JP> ACCOUNT" NUMBER 999999'99999999999999</P> ~P~rr ANOUNT AUTH NUMBER ~ $9999.99</P> 999999999</P> <JFOR.J'\It> APPFOVED:999999999</P> </BODY> <IHTML> S.c. Transaction Declined or Submit Error Response <HTML> <BODY> DECLINED <error cede> </BODY> <ll-fTML> FIC.17B U.S. Patent Jun.14,2005 Sheet 19 of 25 US 6,907,476 B2 6.a Transaction Request HTML+0 <HTML::. <BODY> <FORJ.A ACTION=host URL METHOD=POST> <INPUT TYPE="LOCAL-;; N.AJ.AE=tic? SUOECARD <INPUT TYPE="MSRT2" SIZE=40 NAME=track2> <INPUT TYPE="P\N" SIZE=4 NAME=pin> ENTER M10UNT: <lNPlJT TYPE="AAIT' SlZE=8 NAME=amount> <INPUT TYPE="AUTOSUBMIT'> <IFORtv? </BODY> </HT1V1L> 6.b. Transaction Accepted HTML+0 <HTML> <BODY> <FORJ\.1 ACTION=TO PRINTER METHOD=POST> ~TE99~ TIME:9999A</P> TERMINALID: ~ ACCOUNT NUMBER EXP MTE: Atv'OUNT AUTH NUMBER 99!99-4'P> $9999.99</P> 999999999</P> </FOR!vt> APPRCNED:999999999</P> </BODY::. <IHTML> 6.c. Transaction Declined or Submit Error Response <HTML> <BODY> DECLINED <error C(X)e> <INPUT TYPE::c"LOCAL' NNv\E=t-.Ork_key VM.UE=~''> </BODY::. <!'rl1ML> FIG.18 U.S. Patent Sheet 20 of 25 Jun.14,2005 US 6,907,476 B2 7.a. Transaction Request HTML+0 <HTh1L> <BODY> <FORfv1 ACTION=dbase URL METHOD=SQL"IF EXISTS (SELECT account FROM check_table) SELECT * FRCM check table WHERE account= DDA.accoun1 ELSE SELECT* FRCM error table WHERE error no=1''> <INPUT TYPE="LOCAL" Nfl.ME=tid> SCM CHECK: <INPUT TYPE="'MICR" S\ZE=20 N.AME=account> ENTER AMJUNT <INPUT TYPE=~'NviT" SIZE=B N.bME=81TX)(Jnt> <INPUT TYPE=uAUTOSUBMlr'> </FORtv1> </BODY> </HTML> 7.b Transaction .Accepted Response <KTh1L> <BODY> <FOR!vl ACTIQ\J= TO PRINTER METHOO=POST> DATE~ TERMINALID: N:XXJUNTNUMBER MvOJNI AUTHNUJBER <ifOR'J> T1MBE99<1P> ~ ~ $9900~ ~ <1BODY> <fHTML> 7.c. Transaction Declined or Submit Error Response <HTML> <BODY> DECliNED <.error~ </BODY> </l-fTh1l> FIG.l 9 U.S. Patent Sheet 21 of 25 Jun.14,2005 US 6,907,476 B2 8.a Transaction Request HTML+0 <HTML> <BODY> <F~ ACT1CN=c:tase URL tv'El1-0J:::$)_ - "BEGINTRAN IF NOT EXJSTS ( S8..ECT Sl..bstfng(a:cart51 ,2)) FFCM aJth table) ~N S8..ECT ar_W FRQJiaB_II::J~~a:xo.rt.512J)=a:a::ui SELECT aTO..nt = an:ut~r:x;nts /.D1 l SEJ..ECT OS t:a =OJ ta + em::u1t * .D1 ) UPOATE i.ABLE=custltl V. UES=< ~ a:x:o.nt. a.r ta- p:::irrts) S8.ECT * ffi0¥1 ~t:E WHERE !r3-tire ~IE() - ~~4),=~. ~a:x:nr1P1,2)~ END ELSE SELECT" FRQ\.1 error table 'vVHERE errcr no=1" CCM\111 TR.AN''> <INPUT TYPE="LOCAL" NAME =tid> ENTER ACCOUNI NUMBER: <INPUT TYPE=="MSRf1" SIZE=90 NAME=account> ENTER .AMOUNT <INPUT TYPE="Mff" SIZE=8 NAME=amount> REDEEM POINTS? <INPUT TYPE="INT' SIZE=6 NAME=points> <INPUT TYPE="AUTOSUBMIT'> <!FORM> </BODY> </HTML> 8.b. Transaction AcCBpted Response <HTML> <800Y> <FORM ACTlON=TO PRINT>:...R METHOD=POST> JUNE 11935 10::nt>M PURCHASE<R> TERMINALID: ACCOUNTNUMBER E>PD4TE MOJNT ~ ~ ~ $9959$</P> ~<!P> AVTH NUNBER </p> --------------------</~ CUST~ER ~KYCU!:</ SIGNATURE<tp:> ~X0~~~¢XOXOX~~XO~~<I~ POINTS REDEEMED FDINTS EARNED CURRENT FQINT eALANCE. <:FORNt> ~ 999939</p> 99S999</p> APPROVE~ </BODY> </riTML> S.c. Transa:tion Declined or Submrt Error Response <Hnv\L> <BODY> DEQINEO <M:SS.AGE> <JBOOY> <IHllvll> FIC.20 U.S. Patent Jun.14,2005 Sheet 22 of 25 US 6,907,476 B2 9.a Transaction Request HTML+0 <HTML> <BODY> <FORM ACTICN=dbase URL METHOD=SQL"SELECT fields FROM table WHERE condition"> <INPUT TYPE=="LQC.AL" I'VIME=tid> ENTER SEARCH TABLE N.6ME: <INPUT TYPE="TEXT' SIZE=10 NAME=table> ENTERs~ FJa.o N.AMES: <INPUT TY'PE='1B<I SIZE=100 NAME=fields;> ENTER SEARCH CONQIT10\I: <INPUT TYPE=="TEXT' SIZE==50 NAME=condition> <INPUT TYPE="AUTOSUB'vlfr'> ~ </BODY> <JHTML> 9.b. Transaction Response <f--ITML> <BODY> <FORtvl ACTION=TO PRINTER METHOD=POST> FIELDI FIELD2 FIELD3 FIELDN </p> xxxxx »><XX xxxx.x xxxxx XfXXX XXfX.I.. - - </p> </p> <lp> xxxxx xxxxx ~ <Jp> FIC.21 U.S. Patent Sheet 23 of 25 Jun.14,2005 US 6,907,476 B2 1O.a Transaction Request HTML+0 <HTML> <BODY> <FORM ACTION==clbase URL METHOO=SQL * INSERT TABLE=log_table VALUES=( getdate(), tid, gross_sales, opn_chks, ~ids. emp_disc. mgr disc, vip_card, man_over, coupons, sales_tax. c_dep1, c_dep2. c.;.dep3, c_dep4, chg_fund,cc_dep. batch_no. chrg_sales. paid_outs, co_sales. cc_sales, te_sales. gross sales· opn_chks ·'vOids- emp_disc- mgr_disc- vip_cardman_over- coupons- sales_tax. gross_sales- opn_chks- voidsemp'-disc- mgr disc- vip_card .-man_over- coupons- c_dep1 - c,...dep2c_dep3- c_dep-4 • chg fund- cc_dep- batch_no- chrg. ·sales- paad_outs) SELECT* FROtv1log_table WHERE trondate =getdateO";I> <INPUT TYPE=uLOCAL" NAME=tid> ENTER GROSS SALES: <INPUT TYPE='i\MT' SIZE=S NAME=gross~sales> ENTER OPEN CHECKS: <INPUT TYPE="INI SIZE=? NAME=opn_chks> ENTER VOIDS: <INPUT TYPE=" IN! SIZE=? NAME=voids> ENTER EMP DISCOUNTS: <INPUT TYPE="INT' SIZE=? NAJv1E;:emp_disc> ENTER fv!GR DISCOUNT: <INPUT TYPE="INI SIZE=? NAME=mgr_disc> ENTER VIP CARD: <INPUT TYPE="INT' SIZE=? NA1vlE=vip_card> ENTER MANUAL OVERRINGS: <!NPUT TYPE="INI SIZE~7 NAME:;:;nan over> ENTER COUPONS: <INPUT TYPE="INI SIZE~? NAA1E=caupcns> ENTER SALES TAX: <INPUT TYPE="AMT' SIZE=B NAJviE=sales tax> ENTER CASH DEPOSIT 1: <INPUT TYPE="AMT' SIZE=8 NAJv1E=c_dep1> ENTER CASH DEPOSIT 2: <INPUT TYPE="AMT' SIZE=B N.AME=c_dep~ ENTER CASH DEPOSIT 3: <INPUT TYPE=="M1T SIZE=8 N.AME=c_dep3:> ENTER CASH DEPOSIT 4: <INPUT TYPE="AMr.SlZE=8 NAJviE=c.:_de~ ENTER CHANGE FUND: <INPUT n'PE="Atvff SIZE=8 N.AME=chg_fund> FIG.22A U.S. Patent Jun.14,2005 US 6,907,476 B2 Sheet 24 of 25 ENTER CC DEPOSIT: <INPUT TYPE=uAMT' SIZE=8 NAME=cc_dep> ENTER BATCH#: <INPUT TYPE="INT' SIZE=3 NAME==batch no> ENTER CHARGE SALES: <INPUT TYPE="AMT' SIZE=8 NAME=chrg sales> ENTER PAl D OUTS: <INPUT TYPE="INT" S!ZE=8 NAME=paid_outs> ENTER CARRY OUT SALES: <INPUT TYPE="AMT' SIZE=8 NAME=co sales> ENTER CREDIT CARD SALES: <INPUT TYPE= ..AMI SIZE=B NAME=cc sales> ENTER TAX EXEMPT SALES: <INPUT TYPE="AMI SIZE=8 NAME=te sales> <INPUT TYPE="AUTOSUBMIT"> </FORM> </BODY> </HTML> 10.h Transaction Response <HTML> <BODY> <FORM ACTION=TO PRINTER METHOD=POST> JUNE 1 1995 10:30AM DAILY REPORT</P> TERMINAL 10: 999999999</P> GROSS SALES 999999.99</P> VOIDS 99 99999.99</P> EMP DISCOUNTS 99 99999.99</P> 1vlANAGER DISCOUNTS 99 99999.99</P> VIP CARD 99 99999.99</P> 99 99999.99</P> COUPONS 1vlANUAL OVERRINGS 99 99999.99</P> SALES TAX 999999.99</P> CASH DEPOSIT 1 999999.99</P> CASH DEPOSIT 2 999999.99</P> CASH DEPOSIT 3 999999.99</P> CASH DEPOSIT 4 999999.99</P> CASH DEPOSIT 5 999999.99</P> CHANGE FUND 999999.99</P> CC DEPOSIT 999 999999.99</P> CHARGE SALES 999999.99</P> PAID OUTS 99 99999 ..99</P> CARRY OUT SALES 999999.99<1P> CREDIT CARD SALES 999999.99</P> TAX EXEMPT SALES 999999.99</P> - - - - - - - - - - - - - - - - - - - - - - - </P> NET SALES OVER/SHORT </FORM> </BODY> <fHTML:::. 9999999<JP> 9999999</P> FIG.22B U.S. Patent Jun.14,2005 US 6,907,476 B2 Sheet 25 of 25 11.a. Transaction Request HTML+D <HTML> <BODY> <FORM ACTIQN:::MAIL TO: mail to> ENTER MAIL ADDRESS: <INPUT TYPE="'TEXT' SlZE=20 NAME=mail to> ENTER MESSAGE: <INPUT TYPE="TEXT' SIZE=100> <INPUT TYPE=" AUTOSUBMII> </FORM> </BODY> </HTML> FIG.2l SYSTEM DEFINITION ! 1 ! DATABASE PROlDCOL DEFlNITlON DEFINITION ·~ ~ PROTOCOL STATEMENTS DATABASE STATEMENTS l ~ APPLICATION DOWNLOAD FIG.24A SYSTEM ·oEFINtTION EDITOR FIG.24B US 6,907,476 B2 1 2 and data systems. Though the remainder of the discussion is directed to transaction systems, the reader should appreciate that the comments also apply to data systems as well. The remote terminals may be coupled to the central 5 processing system in several ways. For example, in some ATM systems, the ATMs are coupled to the central processThis application is a continuation of application Ser. No. ing system through dedicated telephone or other data com10/614,398, filed on Jul. 7, 2003, which is a continuation of munication lines. These systems are preferred because they application Ser. No. 10/213,959, filed on Aug. 7, 2002 (now provide a relatively high degree of security since the dediU.S. Pat. No. 6,684,269), which is a continuation of application Ser. No. 10/100,347, filed on Mar. 18, 2002 (now U.S. 10 cated data line coupling the central processing system to the ATM is not generally accessible by members of the public. Pat. No. 6,694,387), which is a continuation of application The physical security of the dedicated data line is, however, Ser. No. 09/907,076, filed on Jul. 17, 2001 (now U.S. Pat. expensive because no other traffic may utilize the line. Thus, No. 6,745,259), which is a continuation of application Ser. the cost of leasing the dedicated line to an ATM with No. 09/314,266, filed on May 18, 1999 (now U.S. Pat. No. 6,366,967), which is a continuation of application Ser. No. 15 relatively low volumes of transactions may yield a high communication cost per transaction. 08/995,123 filed Dec. 19, 1997 (now U.S. Pat. No. 5,905, In an effort to reduce the communication cost per 908), which is a continuation of application Ser. No. 08/493, transaction, some transaction or data systems utilize tele772 filed Jun. 22, 1995 (now U.S. Pat. No. 5,742,845). phone lines through a publicly-switched telephone network FIELD OF THE INVENTION 20 (PSTN) which may be accessed by other members of the public. Specifically, devices such as credit card terminals This invention relates to data transaction systems, and and screen phone terminals typically include a modem more particularly, to data transaction systems using nonwhich converts the digital messages of the remote terminal standard input/output devices. into frequency modulated analog signals which may be 25 transmitted over telephone lines to a modem at the central BACKGROUND OF THE INVENTION processing system. In other systems, the terminal may communicate digital data directly over ISDN lines of the Data transaction systems which communicate with a PSTN to the central processing system. This line of complurality of remote terminals to transfer information used to munication between a remote terminal and the central procomplete a transaction or compile a database are well known. Typically, such systems include a central transaction 30 cessing system is performed by having the remote terminal dial a telephone number associated with the central processprocessing system which may maintain a database of inforing system to establish communication with the central mation such as customer or consumer data. Exemplary processing system. This type of communication path is information in such a database may include customer relatively secure because the switching networks for the identification, customer account numbers, credit limits and/ or account balances from which a customer may draw. The 35 communication traffic through the PSTN are not readily accessible by the public and during the course of the central transaction processing system is typically coupled to financial transaction, only the central processing system and a plurality of remote transaction or data input terminals. remote terminal are on the line. Transaction computers may include special purpose devices such as automatic teller machines (ATMs), point of sale Regardless of the communication method used to couple (POS) terminals, credit card terminals, and screen phone 40 the central processing system to the remote terminals, the terminals. Screen phone terminals are devices which inteprotocol and data formats used between the devices is grate a telephone with an ATM-like device and possibly a typically proprietary. That is, the operator of each financial magnetic card swipe reader. Data input terminals may transaction system designs its own protocol and data mesinclude personal computers (PCs) interfaced to data collecsage format for communication with the processor at the tion devices or special purpose data collection terminals or 45 central site or generates a variant within a standard such as monitors. those established by the ANSI committee or the like for such communication. As a result, the remote terminals must In these known data transaction systems, a user usually include software that supports each operator's protocol and initiates a transaction by requesting access to funds in an message formats in order to be compatible with an operaaccount or from a credit line maintained by the central processing system. The request is transmitted to the central 50 tor's central site. For example, application software in a credit terminal such as the TRANZ330, TRANZ380, or processing system which performs a verification to deterOMNI390 manufactured by VeriFone implement one or mine whether the user is a valid user of the system, has an more of the communication protocols and formats for account within the system, and that the amount of the National Data Corporation (NDC), VISANET, transaction is within the limits of the consumer's credit line or that the user has the requested funds available in an 55 MASTERCARD, BUYPASS, and National Bancard Corporation (NaBANCO) system processors in order to support existing account monitored by the central processing systransactions with the most popular transaction centers. Thus, tem. The central processing system then transmits authorithe communication software absorbs a significant amount of zation for or denial of the transaction to the remote terminal. terminal resources which could be used to support other In response to the message from the central processing system, the remote terminal dispenses cash (for an ATM) or 60 terminal operations. the merchant provides the goods being purchased to the user A related problem arises from the expanding home bankif the authorization message indicates that the consumer's ing market. A customer of home banking system typically funds will be transferred to the merchant's account. Similar uses a screen phone terminal or a personal computer (PC) having a modem to establish communication through a communication exchanges occur in data systems where electronic documents and other information are provided to 65 PSTN to a central transaction processing system. Again, the operator of the central processing system must provide a central site for compilation or processing. Consequently, this background discussion applies to all such transaction information regarding the data message formats for com- OPEN NETWORK SYSTEM AND METHOD FOR I/0 OPERATIONS WITH NON-STANDARD 1/0 DEVICES USING AN EXTENDED OPEN NETWORK PROTOCOL US 6,907,476 B2 3 4 municating with the central processing system to a vendor of A second limitation of open networks such as the Internet is that communication on such networks is only supported software for the home banking terminals or must provide for computers acting as servers or clients. Specifically, all of that software to its customers. As a result, home banking customers must purchase software to communicate with the protocols and formats are constructed for standard each banking system of which the customer wants to be a 5 input/output (110) operations for a PC terminal. That is, text member. This cost and the need to install additional cominformation is directed to a standard monitor screen, user munication programs may make some consumers reluctant input is expected from a standard keyboard, and files are transferred to standard peripherals such as a hard disk or to be a member of more than one banking system or to diskette drive. Especially absent is the ability in open change banking systems. A communication system becoming increasingly popular 10 network protocols for communication with devices that only use communication interfaces such as RS-232C. As a result, and which provides standardized communication is the communication over the Internet is primarily performed Internet. The Internet is an open network of networks which with standard PCs through network communication methods communicate through a variety of physical communication and interfaces. devices such as telephone lines, direct communication lines, This presents a number of problems for home banking or and the like. Each network is coupled to the main Internet 15 for interfacing non-standard 1/0 terminals such as credit network for communication through a host computer supcard terminals or screen phones to open networks such as the porting a TCP/IP router or bridger. The host computer Internet either directly or through a PC. Generally, nontypically includes a program, frequently called a Web server, standard 1!0 devices are devices which interface to a PC which acts as a gateway to resources at the host computer through a port not normally used for networks, such as a which may be resident on the host computer or a network 20 RS-232C port, or are devices which have limited input and coupled to the host computer. Each server has an address output capabilities such as small screen displays or ten identifying the location of the resources available through keypads. These devices are not supported on the Internet the Web server. The router recognizes communication for because servers use protocols that communicate with PCs the server and directs the message to the server or it supporting standard QWERTY keyboards and standard recognizes that the communication should be forwarded to 25 monitors. Consequently, users are limited to entering another server. As a result, communication within the Interaccount numbers and the like through a keyboard of a PC-like device for processing at a central transaction pronet may be point-to-point, but more likely, the communicacessing system. To request a transaction, one need only have tion path is a somewhat circuitous one with the information a person's credit card account number. If the credit card passing through the routers of multiple servers before reaching its final destination. 30 number had to be input through a magnetic card reader, unauthorized access to a customer's account would be less A number of message protocols and formats have been likely since physical possession of the credit card would be developed for the Internet. The physical communication required to initiate the transaction. protocol and data message format is the Transport Control Protocol/Internet Protocol (TCP/IP). The TCP!IP protocol Another limitation of the standard 1!0 devices currently involves multiple layers of encapsulating headers containing 35 supported by the open network protocols is the lack of communication information which are used to provide byte encryption. For example, PIN pads, which are typically streams or datagram communications to computers on the incorporated in ArMs, automatically encrypt in hardware a networks coupled to the Internet. Encapsulated within TCP/ PIN entered by a user. Such devices typically encrypt the number by implementing a data encryption standard (DES) IP headers are protocols which are used to format the data messages or transfer data from one computer to another 40 algorithm in hardware before the PIN is transmitted or computer coupled to the Internet. These protocols include stored. When a standard keyboard is used to input the PIN, File Transfer Protocol (FTP), Simple Mail Transfer Protocol no hardware encryption is performed and, as a result, an (SMTP), Post Office Protocol (POP), Telnet, and Hyper Text unencrypted copy of the PIN is provided to the memory of Transport Protocol (HTTP). The advantage of these protothe PC. Storage of unencrypted PINs is in contravention of cols is that each provides a standardized communication 45 current banking regulations. If PIN pads could be read via format for transferring information between computers on Internet protocols, then such a lapse in PIN security would the Internet. These protocols are typically called open sysbe less likely to occur. tem protocols as they are publicly known and may be Another 1!0 device not supported on open networks are utilized by any programmer to develop programs for comsmart cards which are increasing in use. Smart cards include municating with another computer coupled to the Internet. 50 a processor and memory in which information regarding the These non-proprietary protocols have contributed to the amount of funds in a particular account, a transaction acceptance of using the Internet as an open network for history, account numbers, and customer data may be stored. coupling computer networks together. The card may be read through a smart card reader which is a computer having a processor and memory but usually While the Internet provides an open network for computer communication with publicly accessible protocols and 55 provided with non-QWERTY keypads and limited displays. A transaction processor may validate a card owner through formats, the Internet suffers from a number of limitations which preclude its effective use as a transaction or data a PIN provided through a keypad, determine the amount of money remaining on the card and debit the card itself for a system which uses non-standard 1!0 terminals and devices. transaction amount by communicating with the smart card First, circuitous communication presents a number of security issues for such a system For example, a Web server 60 reader with one of the proprietary protocols discussed could incorporate a router which examines the address of above. Such information is not readily obtainable by the owner of the card and so cannot be entered through a each message coming through it and upon recognizing an address associated with a central transaction processing keyboard or the like. Smart card readers are non-standard devices which may be coupled to a PC through a COMMl system, copy the data message for the unauthorized retrieval of customer-sensitive information such as account numbers 65 or COMM2 port. However, none of the standard protocols and message formats for open network communications and personal identification numbers (PINs) which may be currently provide 1!0 operations for such devices. contained in the message. US 6,907,476 B2 5 6 All systems which attempt to provide three party comcommands which are compatible with the communication schema of a presently-implemented protocol for the Internet munication to execute an electronic transaction suffer from are used and additions are made to commands implemented a number of limitations which present risks greater than within the control structure of that existing protocol to those in a normal transaction performed at the point of sale. In a typical point of sale (POS) transaction, the consumer 5 support non-standard 1!0 device communication. At the server, the extended protocol is further supported by a hands a debit or credit card to a merchant's agent who may common gateway interface (CGI) which converts the comexamine the card for security markings such as holograms, munication from a non-standard 1!0 device to a format watermarks, or a cardholder signature. The agent then places which is compatible with a transaction or data application the card into a reader for acquiring information from the card and, in some cases, have the consumer enter a PIN into a PIN 10 program which may be executed on the server or a computer coupled to the server. In this manner, the CGI permits the entry device which encrypts the PIN in a hardware impleprocessing of the extended capability commands to be mented scheme. If the PIN is entered, it is transmitted with segregated from the communication functions performed by the information from the card to a processing center, typithe server. cally in one of the formats discussed above, under a X.25 Preferably, the server and the 1!0 devices communicate protocol or the like. The processing center returns an autho- 15 through an Internet protocol and most preferably, the Hyper rization granted or denied message. The reader typically has Text Transport Protocol (HTTP), to exchange data between a printer coupled to it through an RS-232C port or the like an application program and non-standard 1!0 devices over and a purchase agreement is printed. The consumer signs the an open network. Although HTTP is the preferred protocol agreement, the merchant's agent may verify the signature, and the merchant retains an original of the agreement and the 20 used to implement the present invention, other protocols such as Telnet or SMTP, for example, may also be extended consumer a copy. In this scenario, the merchant has initiated in a similar manner. Specifically, the HTTP protocol is the communication to the processing center. The safeguards expanded to communicate with printers, magnetic card noted above permit the processing center to charge a merreaders, credit card terminals, smart card readers, check chant a lower processing fee than when a consumer initiates a transaction. Consumer initiated transactions present a 25 readers, PIN pads, bar-code readers, PDAs, or the like, and includes a command which instructs a non-standard 1!0 greater risk because the consumer provides an agent an device to disconnect from the open network and re-couple to account number in a telephone conversation or nona transaction processing system to transfer funds from a encrypted DTMF transmission. Thus, there is no card consumer account to a merchant account through a PSTN or inspection, signature verification, or PIN verification. As a result, such transactions are limited to credit cards because 30 dedicated data line. By using these extended capability commands within HTTP, a processing system may operate debit cards require that the cardholder be present to enter a on an open network such as the Internet and communicate PIN into an appropriate PIN entry device. with transaction or other data 1!0 devices which have not What is needed is a system that permits consumers remote previously been able to couple to such open networks. Such from a merchant to order goods and present payment in a secured manner so the merchant's risk and processing costs, 35 a system may be used to execute a transaction between a consumer and a merchant so the merchant receives remitas well as a cardholder's exposure to fraud, is reduced. What tance information in a timely manner. The system permits is needed is a way for a processing center to communicate the consumer to initiate a transaction and order from a through an open network with non-standard 1!0 devices merchant and then use a more secure link supported by PIN such as credit card terminals, personal digital assistants, and screen phone terminals or with non-standard 1!0 devices 40 entry devices or the like to reduce the risk of fraud for the transaction. coupled to the open network through a PC or the like. What Because the server may communicate through such open is needed is a transaction or data system which utilizes an networks with non-standard 1!0 devices, the transaction or open network such as the Internet to support electronic data processing system is available for the ever-expanding transactions or data compilation in a secure manner without undue limitation as to the devices with which communica- 45 market available through the Internet. Such a system is able to communicate with non-standard 1!0 devices in myriad tion may be made. locations such as retail establishments or in consumers' SUMMARY OF THE INVENTION homes. For example, a consumer may utilize the standard The present invention provides transaction and data syscapability of an Internet protocol to communicate with a tems which may be implemented on an open network such 50 server that provides information regarding services or goods as the Internet. The system comprises a server for commufor sale over the Internet and then consummate a sales nicating in an open network protocol and a plurality of transaction by using the extended capability of the Internet input/output (I/0) devices coupled to the server through an protocol. Such a home consumer could provide transaction open network, the 1!0 devices communicating with the data through a smart card reader coupled to a COMMl or server in the extended open network protocol that supports 55 COMM2 port of a PC. A database program executing at the communication with non-standard 1!0 devices over the open server for the central processing site may accept product network. The system of the present invention provides a ordering information from a non-standard keypad or touch server with the capability of communicating with a number screen associated with a screen phone terminal at the remote of 1!0 devices useful in transaction and data systems which site and then communicate with the smart card reader to heretofore have been unsupported on an open network 60 consummate the transaction. Such a transaction system system such as the Internet. requires that the consumer have physical possession of the smart or credit card and not simply knowledge of the The system of the present invention is implemented by extending present open network communication protocols account number. Likewise, the server would be able to communicate with a PIN pad or the like to ensure the and data message formats to communicate with nonstandard 1!0 devices either coupled to an open network as a 65 hardware encryption of PINs and other data before it is client or coupled to an open network through a client, such transmitted to the server site. Such a system is less suscepas a PC, credit card terminal, screen phone, or PDA. That is, tible to consumer fraud. US 6,907,476 B2 7 8 the returned form into the database command statements and Another feature of the present invention is a PAYMENT command implemented in the extended Internet protocol provides the re-integrated database command statements to that directs a non-standard 1!0 device or a PC interfaced the database application. In this manner, the database may be with such devices to communicate with a transaction proqueried by or retrieve data from the non-standard 1!0 device. cessor through an alternative communication link. In one 5 In the most preferred embodiment, the editor permits a user form, the PAYMENT command is used by a merchant to develop integrated forms comprised of the extended terminal to submit a consumer's account number with a HTML language and standard query language (SQL) datamerchant deposit account number through a PSTN network base application statements. In this manner, the user does not or the like to the processing center. In another form of the have to manually generate the SQL commands, the HTML PAYMENT command, a client program in a consumer's 10 commands, and carefully correlate the data fields of the two terminal receives an account number for a merchant account commands in order to implement a transaction between a from a merchant's server with the PAYMENT command. On client and a database. receipt of this command, the client program suspends its These and other advantages and features of the present operation and passes the account number to a conventional invention may be discerned from reviewing the accompabank processing program co-resident in memory. The bank 15 nying drawings and the detailed description of the invention. processing program establishes a standard communication link with a transaction processing system through a dediBRIEF DESCRIPTION OF THE DRAWINGS cated data line or a PSTN network. Using that communicaThe present invention may take form in various compotion link, the bank processing program executes a commercial transaction using a standard VISA protocol or the like. 20 nents and arrangement of components and in various steps and arrangement of steps. The drawings are only for purThe consumer may use a magnetic stripe reader and a PIN poses of illustrating a preferred embodiment and are not to entry device to improve the security of the data transmission. be construed as limiting the invention. The transaction center may transmit remittance data over the FIG. 1 is a diagram of an open network system in which open network to the merchant so the merchant is apprised of payment and ships the ordered product. Once this consumer 25 the present invention is utilized; initiated transaction is complete, the bank processing proFIG. 2 is a diagram of the format of the FORM and gram terminates and returns control to the client program INPUT tags implemented in the preferred embodiment of which may terminate communication with the open network the present invention; or retrieve information from another server on the open FIG. 3 is a diagram of the preferred SQL commands network for another transaction. In this way, the user may 30 supported in the preferred embodiment of the present invenuse the open network for non-confidential communication tion; such as collecting product information, pricing, and product FIG. 4 is a flowchart of the high level processing of the availability. This information may be collected quickly and client program which interprets the HTML files of the efficiently using the extended Internet protocol. The conpreferred embodiment of the present invention; ventional bank processing program and more secure com- 35 FIG. 5 is a flowchart of the HTML file processing munication links may then be used for the confidential performed by the client program of the preferred embodiinformation required for the transaction. Thus, the present ment of the present invention; invention is able to combine the features and advantages of FIG. 6 is a flowchart of the attribute processing for the the Internet with the more secure communication link and data security enhancing devices of systems presently known. 40 FORM tag performed by the client program of the preferred embodiment of the present invention; Preferably, an editor is provided which permits a user to FIG. 7 is a flowchart of the processing of the ACTION define an application database table with data fields, define attribute for the FORM tag performed by the client program client application data fields, and define the integrated forms of the preferred embodiment of the present invention; for communicating data between the defined database tables and a client application. The editor verifies the syntax of the 45 FIG. 8 is a flowchart of the processing for the METHOD user generated integrated forms containing extended Interattribute for the FORM tag performed by the client program net protocol statements and client application statements. of the preferred embodiment of the present invention; The editor ensures that the variable names for the client FIG. 9 is a flowchart of the attribute processing for the application and the data fields for the database application INPUT tag performed by the client program of the preferred correspond. Following the generation of the integrated form, 50 embodiment of the present invention; the editor parses the integrated form to segregate the dataFIG. 10 is a flowchart of the processing for the TYPE base language statements from the extended Internet protoattribute for the INPUT tag performed by the client program col statements. A database language identifier is substituted of the preferred embodiment of the present invention; in the Internet protocol statements for the database stateFIG. 11 is a flowchart of the processing for the NAME ments contained in the integrated form. The Internet proto- 55 attribute of the INPUT tag performed by the client program col statements are downloaded as a file which is interpreted of the preferred embodiment of the present invention; by the client program for the collection and submission of FIG. 12 is a diagram of the format for the ACTION data from non-standard 1!0 devices to the database appliattribute for the FORM tag performed by the common cation. The database language statements segregated from the extended Internet protocol statements are placed in a 60 gateway interface between the Web server and an application program; second file which is named to correspond to the database FIG. 13A is a diagram of the possible communication table defined by the user. The CGI application recognizes the paths which may be used by an 1!0 device according to the database language identifier contained in the returned forms principles of the present invention; of the Internet protocol statements. The CGI application FIG. 13B shows an exemplary FORM tag and INPUT tag correlates the database identifier with the file previously 65 for the PAYMENT method implemented in a merchant's generated by the editor which contains the database comterminal according to the principles of the present invention; mand statements. The application then inserts the data from US 6,907,476 B2 9 10 FIG. 13C shows an exemplary FORM tag and INPUT tag DETAILED DESCRIPTION OF THE for the PAYMENT method implemented in a consumer's INVENTION terminal according to the principles of the present invention; A transaction or data system constructed in accordance FIG. 14 shows exemplary integrated statements for a file used in the preferred embodiment of the present invention to 5 with the principles of the present invention is shown is FIG. 1. The system 10 includes a Web server 12 which is coupled generate the HTML files for the client program and the SQL to an open network 14 such as the Internet for communicafiles for the application program for a card initiated payment tion with various 1!0 devices and terminals. For example, authorization and capture transaction; the 1!0 devices which may be coupled directly to network 14 FIGS. 15A and 15B show exemplary integrated statements for a file used in the preferred embodiment of the 10 include standard 1!0 devices already supported by Internet protocols such as PCs 30 and non-standard 1!0 devices such present invention to generate the HTML files for the client as a screen phone terminal 16, a personal digital assistant program and the SQL files for the application program for a (PDA) 18, and a credit card terminal 20. Other exemplary bar code reader input with card-initiated payment authorinon-standard 1!0 devices such as smart card reader 32, zation transaction; 15 personal identification number (PIN) pad 34, magnetic card FIGS. 16A and 16B show exemplary integrated stateswipe reader 36, printer 38, or the like, may be coupled to ments for a file used in the preferred embodiment of the PCs through non-standard 1!0 ports such as COMM1 and present invention to generate the HTML files for the client COMM2 ports or to other non-standard 1!0 devices such as program and the SQL files for the application program for a phone terminal 16, PDA 18, or credit card terminal 20. key input order with secure payment transaction; 20 Typically, these devices are coupled to PCs or devices 16, FIG. 17Ashows exemplary integrated statements for a file 18, or 20 through an interface such as a RS-232C interface. used in the preferred embodiment of the present invention to Merchants or other vendors may use a Web server 2 to generate the HTML files for the client program and the SQL couple to network 14 to communicate with the devices and files for the application program for a smart card debit (Type processing system 40. 1) transaction; 25 The Web server 12 is preferably coupled to a Common FIG. 17B shows exemplary integrated statements for a file Gateway Interface (CGI) application 28 which converts and used in the preferred embodiment of the present invention to communicates the data and commands between the devices generate the HTML files for the client program and the SQL on network 14 and the processing system 40 so the 1!0 files for the application program for a smart card debit (Type devices do not have to use the database command language 2) transaction; 30 to interact with the database. System 40 and the devices may FIG. 18 shows exemplary integrated statements for a file communicate directly if they are implemented in the same used in the preferred embodiment of the present invention to language or if a user implements a communication interface generate the HTML files for the client program and the SQL such as CGI 28 that correlates data fields in the client with files for the application program for a debit card transaction; those in system 40. Server 12, CGI 28, and the applications FIG. 19 shows exemplary integrated statements for a file 35 supporting system 40 may all reside on a single host used in the preferred embodiment of the present invention to computer or they may reside on separate computers coupled generate the HTML files for the client program and the SQL together by a local area network (LAN) or a wide area files for the application program for a check verification network (WAN). Preferably, the application interfaces with transaction; a database which supports Open Data Base Connectivity 40 FIG. 20 shows exemplary integrated statements for a file (ODBC) and Structured Query Language (SQL). used in the preferred embodiment of the present invention to The communication sessions between the 1!0 devices generate the HTML files for the client program and the SQL coupled to the open network 14 and the Web server 12 are files for the application program for a customer frequency generally conducted in the same fashion as Internet protocol transaction; 45 communication sessions are currently performed. That is, FIG. 21 shows exemplary integrated statements for a file the 1!0 device establishes a communication connection with used in the preferred embodiment of the present invention to Web server 12, sends a request to the Web server, the Web generate the HT files for the client program and the SQL files server responds to the request and the 1!0 device or server for the application program for an item search transaction; closes the connection. Preferably, the non-standard 1!0 FIGS. 22A and 22B show exemplary integrated state50 devices or PCs interfaced to such devices selectively couple ments for a file used in the preferred embodiment of the to a local access port on the open network 14 through a local present invention to generate the HTML files for the client modern/ISDN connection. In this manner, the device is only program and the SQL files for the application program for coupled to the open network 14 when a transaction or a data retail store end of day reporting; operation is to be performed. While connected to the open FIG. 23 shows exemplary integrated statements for a file 55 network 14, a device may access a number of servers to used in the preferred embodiment of the present invention to accomplish a purpose. For example, a device may couple to generate the HTML files for the client program and the SQL a local access port and communicate with a first server to files for the application program for a store reporting an check inventory levels at a site, communicate with a second e-mail transaction; server to order stock for the inventory, and communicate FIG. 24A is a diagram of a manual development process 60 with a third server to settle payment for the ordered goods. for the files interpreted by the client program and the files When all aspects of the transaction are complete, the coninterpreted by the application program in accordance with nection with the local access port is terminated. In the the principles of the present invention; and preferred embodiment of the present invention, the protocol FIG. 24B is a diagram of the generation of the files used to transport data messages between Web server 12 and interpreted by the client program and the files interpreted by 65 the 1!0 devices coupled to the open network 14 is the Hyper application program performed by an editor constructed in Text Transport Protocol (HTTP), although other open sysaccordance with the principles of the present invention. tem protocols utilized on the Internet may be used. US 6,907,476 B2 11 12 In standard HTTP protocol, a client program executing in one of the 1!0 devices may initiate communication with a server by sending a query message of the format: http://<host>:<port>/<path>?<search part> The message identifies the client as seeking communication with a HTTP server at the host address on the specified port. In the HTTP protocol, the default value for the port is 80 and the host address is the Internet protocol (IP) address of the type well-known in the art. The path value selects the file in the HTTP server which is activated in response to the message and the search part specifies a query for the selected file. In the initial communication, the query may be omitted so that the selected host file responds to the client program before a query is processed. In the present invention, the client program uses a similar message to initiate a transaction or data operation, except that database commands are preferably embedded in a file at the server 12 and not in the "search part" of the command, although search parts may be constructed in accordance with the principles of the present invention that support nonstandard 1/0 devices. Preferably, the client program interprets Hyper Text Markup Language (HTML) files containing HTML commands for communicating data between non-standard 1/0 devices and server 12. Most preferably, the HTML commands contain identifiers which are used by the CGI to place data returned in the forms of the HT commands into database commands for queries or data insertions for the database. HTML is a command language well known for the retrieval and display of electronic documents for standard 1/0 devices such as PCs supported by full screen monitors, QWERTY keyboards, and standard peripherals such as hard disk drives and diskette drives. Standard HTML commands use text and previously known commands that reference Universal Resource Locators (URLs) to support the communication of electronic documents: These documents are files which may contain HTML commands, text, audio, video, or image data. The present invention extends HTML with commands that support communication between the server and the non-standard 1!0 devices. In the HTTP protocol, data may be obtained during a communication session by using a tag called a FORM as part of the file defined by <path> in the command discussed above. The FORM format for standard HTTP is: for directing output data to a local printer have previously been unsupported in any Internet protocol. As a result, the server 12 may access non-standard 1!0 peripherals for any of the 1/0 devices used in the transaction or data system 10. TheACTION="URL" is a part of standard HTTP and is well known. The METHOD attributes may include the GET, POST, PAYMENT, or SQL methods. The GET and POST methods are currently supported in standard HTTP and are well known. The PAYMENT attribute is a directive to deliver data retrieved by an INPUT command to a private payment network for authorization and settlement and is not available in current Internet protocols. This directive is used by the client program to activate a conventional financial transaction application which communicates with the transaction system over a dedicated data line or PSTN in a known protocol such as VISA Such an attribute is used where the more secure physical connection between remote site and transaction system and data encryption devices or the like are preferred. The SQL method preferably identifies a database language file which CGI 28 uses to correlate data in the HTML FORM to an insertion or query command contained in the file. The preferred format for the INPUT tag which is used to identify input operations is also shown in FIG. 2. The TYPE and NAME attributes are used to define a non-standard 1!0 device or local storage variable for the input of data. The TYPE field values "text," "password," "checkbox," "radio," "submit," and "reset" are previously known, as are the attributes NAME, VALUE, CHECKED, SIZE, and MAXLENGTH. To support the extended capability of the present invention, the TYPE attribute preferably includes attributes MSRT1 for reading track 1 of a magnetic swipe reader, MSRT2 for reading a magnetic swipe reader track 2, KEY for reading input from a terminal command keypad, PIN for reading a personal identification number pad, BCW for reading a bar code wand, MICR for reading a check magnetic code reader, ATM for reading a dollar amount via a key input mask, INT for reading an integer via a key input mask, database with the INSERT attribute or update data already existing in a database with the UPDATE attribute. The values for the INSERT attribute may be identified with the VALUES attribute, and the SET and WHERE attributes may be used to define and conditionally update values in the identified database. Preferably, the present invention implements two DELETE and CREATE attributes. The DELETE attribute deletes all items in an identified column of a database table which may satisfy a condition defined by a WHERE attribute. The CREATE attribute creates a database table having a primary key identified by the PRIMARY KEY attribute. Preferably, the server program executes on a computer system having at least an Intel 80386 or better processor with at least 4 megabytes of RAM and at least 3 megabytes of hard disk space available. The computer system running the server may operate any known server platform operating system such as WINDOWS 3.1, WINDOWS 95, or WINDOWS NT, UNIX AIX, and others. The non-standard 1!0 devices require a processor of a Z80A type or better, at least 32K bytes of RAM, and at least 32 K bytes of ROM. The device includes a modem capable of at least 1200 bits-persecond (bps) but other modem speeds may be used for communication between client and server. Alternatively, the device may be coupled to a LAN which in turn is coupled to the Internet for communication with server 12. A typical non-standard device which executes the client program is a VeriFone OMNI390, OMNI395, or VuFone terminal. 5 10 15 20 25 30 35 40 45 <FORM ACTION~"URL" METHOD~GET I POST > Command </FORM> where "I" is an "OR" operator. The commands supported by standard HTTP are INPUT, SELECT, and TEXTAREA. Additionally, standard HTTP permits the inclusion of text data in the command area. In the present invention, HTML has been extended to support new ACTIONs, METHODs, and INPUTs. In accordance with the principles of the present invention, tags are preferably used to identify device transfers and input operations. Preferably, the FORM tag is used to identify device transfers and ACTION and METHOD attributes further identify the device operation. As shown in FIG. 2, the extended ACTION field may include a FROM and TO attribute for accessing a local terminal file or smart card reader or a TO PRINTER attribute for directing output data to a printer local to the 1!0 device. The FROM and TO attributes for accessing local files and smart card readers and 50 55 60 65 US 6,907,476 B2 13 14 OMNI390, OMNI395, and VuFone are trademarks of VeriFone, Inc., of Redwood City, Calif. Other exemplary devices include Phillips Screen phone, Hypercomm T7 terminal, and Apple Computer Newton MessagePad. To build the preferred HTML files which CGI 28 preferably uses to implement the client program and database application, the user preferably uses an off-line editor. The files generated by the editor are preferably comprised of an integrated statements formed from HTML statements and database statements for retrieving and writing data with the database. Exemplary files showing such integrated statements for performing transactions are depicted in FIGS. 14-23B. After such a file is generated, the editor parses the integrated statements into HTML statements and into database statements such as SQL commands. The HTML files required by the client program to support communication with a transaction or data processing center may be downloaded to a device or PC for execution. The files containing the database application statements used by the CGI interface to communicate data with the database application program preferably reside on server 12. Preferably, the database files used by the CGI interface include SQL commands for the application program interfaced to an ODBC compliant database. The general format of the HTML commands in the HTML files used for communication with a client program and server are of the general format: TAG ATTRIBUTE. Preferably, the TAG field may be one of FORM, INPUT, SQL, or TEXTAREA The ATTRIBUTE field value depends upon the TAG value. Preferably, the FORM tag may include the ACTION or METHOD attributes where the ACTION attributes include the FROM<file>, TO PRINTER, TO<file>, and TO SCR values noted above, as well as the standard HTML ACTION value of URL=<file>. The METHOD attributes include the PAYMENT and SQL attributes noted above, as well as the standard HTML METHOD values of GET and POST. Also in accordance with the principles of the present invention, the INPUT tag may include TYPE, NAME, VALUE, CHECKED, SIZE, and MAXLENGTH attributes. These attributes are previously supported for the INPUT tag in HTML, however, the present invention further includes TYPE values of MSRTl, MSRT2, KEY, PIN, BCW, MICR, AMT, INT, LOCAL, and AUTOSUB, as well as the standard HT TYPE values of TEXT, PASSWORD, CHECKBOX, RADIO BUTTON, SUBMIT, and RESET. The present invention also supports NAME attributes of IP_ADDRESS, HOST_PHONE, TID, WORK_KEY, DATETIME, and DEPOSIT_ACCT to identify local storage areas as well as standard HTML NAME attribute <Field_NM> to identify a FORM variable. The preferred high level processing of the client program is shown in FIG. 4. That processing includes an idle step (Block 100) in which the program performs general housekeeping tasks such as maintaining internal time, scanning for input which may activate the device, or other known functions. Further processing is activated by some operator action at the device or PC which causes the device to either open a remote URL (Block 102) or open a local URL (lock 104). If a remote URL is required, the device transmits a message of the format discussed previously which is routed through the open network and delivered to a server 12 for a transaction or data processing system (Block 106). The HTML file selected at the server 12 is identified by the remote URL in the initial communication between the device and server 12 and that URL is used to return the selected HTML file to the device for processing (Blocks 108, 110). FIG. 4 also shows that an operator may initiate an open local URL function by typing in a command or by pushing a hot key which is associated with a local URL. The 1!0 device reads the HTML file identified by the URL from local memory (Block 112) and passes the HTML file to the function for processing HTML files (Block 110). After a file is processed (Block 110), the client program determines whether the HTML file is to be stored (Block 114). If it is not, the process returns to the idle processing (Block 100). Otherwise, the process determines whether the HTML file is to be associated with a hot key (Block 116) and, if it is, it stores the file and generates the link between a hot key and the stored file (Blocks 118, 120). If the HTML file is only to be stored, no association is made with a hot key and the file is simply stored in local memory (Block 20). The client program then returns to idle processing (Block 100). The high-level processing for the HTML file (Block 110, FIG. 4) is shown in further detail in FIG. 5. The process begins by scanning the HTML file for a TAG (Block 140). If no TAG is found, the file is not in proper format for processing and processing returns to. Block 114 discussed in FIG. 4 above. If a TAG is found (Block 142), the process determines whether the TAG is a FORM TAG (Block 144) or an INPUT TAG (Block 146). If it is a FORM TAG, then the FORM TAG is processed and the program continues by looking for other TAGS to process (Block 140). If the TAG is an INPUT TAG, the INPUT TAG is processed (Block 150) and the program continues by looking for other TAGS to process (Block 140). If the TAG is one of the standard HTML TAGS, the program implements the TAG in standard known ways (Block 152) and then scans for other TAGs to process (Block 140). Processing the ATTRIBUTES used to implement a FORM TAG is shown in FIG. 6. That process continues by scanning the HTML file for an attribute (Block 160). If an attribute is not found (Block 162), the program returns to scan for other TAGS (Block 140, FIG. 5). If an attribute is found, the program determines whether it is an ACTION attribute (Block 164) or a METHOD attribute (Block 166). Depending on the type of attribute, the appropriate function for processing the attribute is executed (Blocks 168 or 170) and scanning for additional attributes continues (Block 160). If the attribute is not an ACTION or METHOD attribute, there is an error in the file and processing returns to scan for other TAGs. The processing for the ACTION attribute is shown in FIG. 7. There, the ACTION attribute is examined to determine whether it is a FROM<file> (Block 180), TO PRINTER (Block 182), TO<file> (Block 184), TO SCR (Block 186), FROM SCR (Block 188) or a URL=<file> (Block 192). The URL=<file> ACTION is a standard HTML action which is processed in a known way (Block 194). The FROM <file> action is processed by reading data from a file associated with the 1!0 device or PC interfaced to the 1!0 device (Block 196). The TO PRINTER action results in data in the FORM being sent to the printer (Block 198) while the TO<file> action results in data in the FORM being written to a local file (Block 200). The TO SCR action causes data to be written to the smart card via a smart card reader (Block 202) and the FROM SCR reads data from a smart card through a smart card reader (Block 204). After the appropriate action processing takes place, the HTML file is scanned for additionalACTION values to perform (Block 206), and if one is found, the process continues. If no attribute is located (Block 208), the process returns to scan for other attributes (Block 160, FIG. 6). The processing for the METHOD attributes for FORM tags are shown in FIG. 8. The process determines which type 5 10 15 20 25 30 35 40 45 50 55 60 65 US 6,907,476 B2 15 16 of METHOD is present in the FORM and then properly scanning the HTML file for other TYPE attributes (Block processes the attribute. For the GET and POST methods 312) and, if another TYPE attribute is found (lock 314), (Blocks 210, 212) the processing is the same as that perprocessing continues by determining the TYPE attribute and formed in standard HTML (Blocks 226, 228). That is, for the performing the appropriate processing. Otherwise, the proGET method, the identified URL<file> is queried for data s cess returns to scan the HTML file for other attributes (Block while the POST attribute causes data to be transferred to the 250, FIG. 9). The NAME attribute processing is performed in accorURL<file>. The preferred METHOD attributes extending the HTML implementation of the present invention are SQL dance with the process shown in FIG. 11. That process examines the NAME attribute to determine if the variable (Block 214), and PAYMENT (Block 224) attributes. The SQL attribute is preferably not expanded into a SQL com- 10 name identified by the attribute is IP_ADDRESS, HOST_ PHONE, TID, WORK_KEY, DATETIME, or DEPOSIT_ mand at the client, but rather is expanded by the CGI 28 at server 12 by correlating the data or variable field names in ACCT (Blocks 320, 322, 324, 326, 328, 330). If they are, the a returned form with the SQL commands stored at the server. INPUT value resulting from one of the INPUTS in a FORM This processing is done in a manner described in more detail of the HTML file is stored in a local variable identified by below. The client program passes the SQL file identifier to 15 the NAME attribute. Following storage (Block 332), the file the server 12 (Block 230). The processing of the PAYMENT is scanned for other NAME attributes (Block 328) and, if command (Block 232) is discussed in more detail below. there are none (Block 332), processing continues by scanThe HTML file is scanned for other METHODs (Block 242, ning for other attributes for the INPUT tag (Block 250, FIG. 244), and, if one is found, the processing continues by 9). If the NAME attribute is a standard HTML INPUT identifying the METHOD (Blocks 210-224). Otherwise 20 NAME, it is processed by known methods (Block 336). (Block 244), the process returns to scan the HTML file for Processing then continues by scanning for other NAME other ACTION or METHOD attributes (Block 160, FIG. 6). attributes to process (Block 338, 340). Otherwise, the proProcessing for the INPUT tag is shown in FIG. 9. The cess returns to scan the HTML file for other attributes (Block process scans the HTML file following the INPUT tag for 250, FIG. 9). attributes (Block 250). If no attributes are found (Block 25 CGI 28 receives Internet protocol statements in a file transmitted from a client program and provides data from 252), the process continues by scanning the HTML file for those statements to the application(s) implementing system other tags to process (Block 140, FIG. 5). If an attribute is 40 and receives the output of system 40 and provides them found and it is a TYPE attribute (Block 254), it is processed (Block 256), and if the attribute is a NAME attribute (Block to the client program in a file. CGI 28 may be implemented 258), it is processed (Block 260). Both the TYPE and 30 by a program developed by a user using a manual developNAME processing is shown in more detail in FIGS. 10 and ment method as shown in FIG. 24A. That method requires a user to generate a system definition from which a file 11, respectively. If the attribute is neither a NAME or TYPE statement definition for the client and application are develattribute, it is a standard attribute for an INPUT tag supoped to implement the transactional or data system. Using ported by standard HTML and is processed in a known manner (Block 262). Following processing of the INPUT 35 the file statement definitions, the user generates the files for attribute, the HTML file is scanned for other attributes to the client and database programs which are interpreted by the respective programs to implement transactions or data process (Block 250). Processing for the TYPE attribute is shown in FIG. 10. processing. This process requires the user to not only have The process first identifies the TYPE attribute for the INPUT knowledge regarding the transaction or data process but tag and then performs the appropriate processing. The new 40 specific details of the interaction between the client and TYPE attributes of the preferred embodiment of the present database. The user is further required to resolve and correinvention are MSRTl (Block 270), MSRT2 (Block 272), late all data identifiers in the statements for the client and database environments. KEY (Block 274), PIN (Block 276), BCW (Block 278), MICR (Block 280), AMT (Block 282), INT (Block 284), Preferably, CGI 28 is developed with an editor that only LOCAL (Block 286), and AUTOSUB (Block 288). If the 45 requires the user to define the system with statements which are an integration of the protocol statements and the dataTYPE attribute is not one of these, it is a standard HTML type attribute that is processed in a known manner (Block base language. The process implemented by this editor is 310). Each of the new HTML TYPES supported by the shown in FIG. 24B. Examples of such integrated statements present invention causes an 1!0 operation with a nonfor files which implement a specific transaction are shown in standard device. Specifically, these operations are the read- so FIGS. 14 to 23B. The editor verifies the syntax of the integrated statements and correlates the data variables of the ing of Track 1 of the magnetic stripe reader (Block 290), the reading of the second track of the magnetic stripe reader protocol statements with the data fields of the database. (Block 292), the reading of a keypad (Block 294), the Following the generation of the integrated statements, the reading of an encrypted PIN through a PIN entry device editor segregates the protocol statements from the database (lock 296), the reading of a bar code through a bar code ss language statements. The protocol statements are stored in files which are identified as being for a particular transaction reader (Block 298), the reading of encoded data on a check or data process and the database statements are stored in files through a magnetic check reader (Block 300), the reading of which are identified as being for a particular transaction or a dollar amount from a keypad through a key input mask data process on an identified database table. The editor (Block 302), the reading of a number from a keypad through a key input mask (Block 304), the reading of data from a 60 places a database file identifier in the protocol statements which contained embedded database statements. The datalocal variable (Block 306) and the submission of the data base file identifiers are used by CGI 28 to select the file for read from one of these devices in a FORM returned to the server 12 (Block 308). The data mask for AMT constrains the appropriate transaction so CGI 28 may correlate data variables in the protocol statements with data fields in the the dollar amount read to a predetermined number of characters with only two characters following the decimal point. 65 database files. The files containing statements to be interpreted by the client program are then downloaded to the The data mask for INT ensures the number is an integer appropriate terminals, and the database files containing value within a predetermined range. Processing continues by US 6,907,476 B2 17 18 server 12. To obtain this alternative connection, the PAYdatabase language statements are stored on the system executing the CGI 28. MENT command for the METHOD attribute is preferably used. One form of the PAYMENT command is for a merAlternatively, the editor of the present invention may chant's terminal and the other is for a consumer's terminal. parse integrated statements which are segregated into source code statements for first and second processors, such an 5 In either terminal, the client program which supports the extended capability HTML operates independently but editor further includes a compiler to generate executable co-resident in memory with a certified bank card authorizacode for each processor and, if the processors execute differing source code, a compiler for each source code tion and capture application, which may be provided by a language. The executable code may then be downloaded to financial institution or a bank card processor. 10 For the form of the command shown in FIG. 13B, the the respective processors for execution. client program in the merchant terminal suspends its execuMore specifically, the editor preferably places the datation and passes the terminal identifier, stored locally, which base statements for one of the transactions of the preferred identifies the merchant's account and the consumer account embodiment in a file identified by the database name following SQL in FIG. 12. The attributes and tags forming the information read via a magnetic stripe reader or the like, to HTML statements for one of the transactions of the preferred 15 the bank card application. The bank card application comembodiment are placed in a file generally denoted as<html_ municates this information via a PSTN 424 or the like to a transaction processor 422. The processor 422 authorizes or file>.HTM. The name <html_file> is a name which identifies one of the transactions. Where SQL statements are in the denies the transaction and, if authorized, a printer at the merchant terminal prints a purchase agreement which the fields of the integrated statements shown in FIGS. 14 to 23B, the string "<html_file>.SQL" is substituted as the database 20 consumer may execute to complete the transaction. In response to a HTML file having a FORM with an name in the statements of the <html_file>.HTM file. When the CGI executable file is initiated and parses the returning ACTION attribute equal to an executable file name for a forms, the returned data is placed in the corresponding bank card application program or the like, a METHOD "<html_file>.SQL" file which is passed to the application attribute with a field value of PAYMENT, and an INPUT tag program as a command line argument. In this manner, an 25 with a TYPE attribute of LOCAL_NAME which identifies abbreviated form for the SQL commands may be commua deposit only account supplied by a merchant (as shown in FIG. 13C), the client program is suspended and control is nicated over the open network between the client and CGI and the CGI may be able to expand those abbreviated SQL transferred to the bank processing application. The bank commands into the appropriate SQL commands which the processing application then uses a modem or ISDN D application program requires to manipulate the ODBC data- 30 channel using T3 POS protocol or the like to connect to a secure packet network 424 to connect in a virtual point-tobase. point manner with a payment processor through a PSTN To effectuate a transaction, for example, an operation at a network or the like. This physical connection provides an terminal with non-standard 1!0 devices may activate a additional security element to the encrypted data for the terminal file with a hot key or other action. In processing the activated file, the client program may acquire data which is 35 transaction of account information, PIN numbers encrypted stored in a local variable or accessible through a nonby PIN pads provided at the consumer site, and other standard 1!0 device. This data may then be stored in a sensitive information. The bank processor 422 may submit remittance data to the merchant, via the Web or otherwise. FORM and submitted to a server file at a processing system After receiving the remittance data, the merchant may ship address. The server file activates CGI 28 which retrieves data from the FORM and incorporates it into database 40 the product to the consumer. Thus, in this manner, the 1!0 device may communicate with a plurality of Web servers to statements in the database file for the appropriate transaction "shop" for a best price, delivery date, or other relevant and database. If the database statement is a query, the requested data is returned to the CGI in the database file and information for selecting a preferred transaction, and then the CGI places it in the corresponding FORM variables so execute the PAYMENT method to utilize a more secure the server may return the data to the terminal. If the database 45 physical communication connection and data security devices to consummate the financial elements of the transstatement provides data to a database to obtain an authorization, for example, the action performed by the action with less risk and costs for the merchant, consumer, database application in response to the data is placed in the and bank processor. corresponding FORM and returned to the terminal. In this The preferred integrated HTML!SQL statements which way, data is exchanged between the terminal and the data- 50 support a card initiated payment authorization and capture transaction are shown in FIG. 14. A first file 500 includes base application. This exchange is supported by CGI 28 statements which identify the URL database from which the even though the server/client communication is performed non-standard 1!0 device seeks authorization for a transacin an open system protocol, such as HTTP, and the database tion. The prompts to the operator to enter the account application is performed in another language, such as SQL. CGI 28 is able to convert and exchange the data between the 55 number and amount of the transaction are supported by the client and database without the user having to specifically INPUT tags which read the second track of the magnetic design and implement a conversion program. stripe reader to accept a number of up to 40 characters and assign that information from that track to a variable, and to The communication paths available for a device impleinput the up to 8 characters from the keyboard or the like into menting the present invention are shown in FIG. 13A. As shown there, an 1!0 device 420 is coupled through the 60 a variable called AMOUNT. The INPUT tag with the TYPE WorldWide Web open network 426 to an Internet Web server attribute of AUTOSUBMIT returns the form to the server for 12. This connection may be implemented with the preferred processing in accordance with the method defined in the returned form. As shown in FIG. 14, that METHOD stateextended capability HTML described above. Although ment causes CGI 28 to incorporate returned data into SQL HTML files may be encrypted to enhance the security of the document as it is communicated across the Internet, the 65 commands which query the database as to whether the sub field of the track 2 data representing the account number operator of the system may choose to utilize a more secure physical connection between the device 420 and the Web is present in the authorization table of the database. If the US 6,907,476 B2 19 20 data is not present, then a new record is inserted into a table from such details without departing from the spirit or scope labeled "log_table". The new record consists of the account of applicant's general inventive concept. number and the amount returned in the FORM. Based upon What is claimed is: the results of this processing, the application program sup1. A system for supporting communication between proplies the data fields to the FORM which will be returned to 5 cessing systems and non-standard 110 devices over an open the client program for printing the transaction record. That network comprising: file 510 is shown in FIG. 14. The ACTION attribute TO a server that processes extended open network statements, PRINTER and the POST METHOD causes the data in the said server being communicatively coupled to an open next eight lines to be directed to the printer coupled to the network; non-standard 110 device for printing the transaction form. 10 a first non-standard 110 device communicatively coupled The customer may then execute the printed form to complete to said open network; and the transaction. If the transaction is declined or an error is a client program for processing extended open network otherwise encountered, the file 520 is used to return a denial statements so that said first non-standard 110 device to the client program. may communicate with said server. In a similar manner, the preferred integrated statements 15 2. A client that provides communication between a profor a bar code order input with card-initiated payment cessing system and a non-standard 110 device via an open authorization is shown in FIG. 15. The file 550, supported by network comprising: the present invention which implements the transaction means for processing open network protocol statements; request, is again directed to the proper database by the and ACTION attribute. The necessary customer information 20 means for processing extended open network protocol such as name and address may be input through a standard statements to support communication between a nonkeyboard. The HTML command in the present invention standard input/output (110) device communicatively also permits the form to receive the bar code, unit price, and coupled to an open network and a server communicacredit card information in a manner similar to that discussed tively coupled to said open network. above for the magnetic card reader. Once this information is 25 3. A server that provides communication between a proreturned to the server and CGI interface, it is processed by cessing system and a non-standard 110 device via an open the application program in accordance with the METHOD network comprising: identified in the returned form. The method of HTML file means for processing open network protocol statements 550 also creates a database order_table having the inforwithin forms submitted by a client communicatively mation shown in the method. Again, if the transaction is 30 coupled to an open network to which said means for approved, the data for the order and customer acceptance of processing open network protocol statements within the order is provided in HTML file 555, which is directed by forms is communicatively coupled; and the ACTION attribute to the printer at the non-standard 110 device. If the account number is not in the authorization means for processing extended open network protocol database, the authorization declined or error response is 35 statements within said forms submitted by said client. provided in correspondence with the statements in file 560. 4. A client program for processing extended open network In a similar manner, FIGS. 16-22 show the integrated protocol statements so a non-standard 110 device may comstatements for a transaction request, authorization response, municate with a processing system over an open network or authorization declined response files for key input order comprising: with secure payment transaction (FIG. 16), a smart card- 40 means for receiving extended open network protocol debit (Type 1) transaction (FIG. 17A), a smart card debit statements over an open network; and (Type 2) transaction (FIG. 17B), a debit card transaction means for processing said received extended open net(FIG. 18), a check verification transaction (FIG. 19), a work protocol statements to control operations associcustomer frequency transaction (FIG. 20), an item search ated with a non-standard 110 device. transaction for which there is no denial (FIG. 21), retail store 45 5. A method for providing communication between a end of day reporting (FIG. 22) and a store reporting an processing system and a non-standard 110 device via an e-mail transaction (FIG. 23). open network comprising: While the present invention has been illustrated by the receiving extended open network protocol statements; description of a preferred and alternative embodiments and and processes, and while the preferred and alternative embodi- 50 processing extended open network protocol statements to ments and processes have been described in considerable support communication between a non-standard input/ detail, it is not the intention of the applicant to restrict or in output (110) device communicatively coupled to an any way limit the scope of the appended claims to such open network and a server communicatively coupled to detail. Additional advantages and modifications will readily said open network. appear to those skilled in the art. For example, rather than 55 6. The method of claim 5 wherein said extended open expanding HTTP to support non-standard 110 devices, the network protocol statement processing is performed in a FTP, POP, SMTP, TELNET or other protocols may be consumer's terminal. expanded in like manner to couple non-standard 110 devices 7. The method of claim 5 wherein said extended open to the Internet. Similarly, the preferred implementation of the present invention supports a variety of non-standard 110 60 network protocol statement processing is performed m a merchant's terminal. devices and 110 operations. An Internet protocol may be 8. The method of claim 6 further comprising: constructed in accordance with the principles of the present implementing said consumer's terminal with a personal invention to support only selected 110 devices or operations computer (PC). disclosed in the present application. The invention in its 9. The method of claim 7 further comprising: broadest aspects is therefore not limited to the specific 65 implementing said merchant's terminal with a credit card details, preferred embodiment, and illustrative examples terminal. shown and described. Accordingly, departures may be made US 6,907,476 B2 21 22 10. A method for providing communication between a communicatively coupling a first non-standard 1!0 device to said open network; and processing system and a non-standard 1/0 device via an processing extended open network statements with a open network comprising: client program so that said first non-standard 1/0 device receiving extended open network protocol statements may communicate with said server. within forms submitted by a client communicatively 5 14. A method for processing extended open network coupled to an open network; and protocol statements so a non-standard 1!0 device may comprocessing with a processing system communicatively municate with a processing system over an open network coupled to the open network said extended open netcomprising: work protocol statements within said forms submitted receiving extended open network protocol statements 10 by said client. over an open network; and 11. The method of claim 10 further comprising: processing said received extended open network protocol providing data from said processed extended open netstatements to control an operation associated with a work protocol statements to application programs comnon-standard 1!0 device. municatively coupled to the processing system. 15. A system for telephone communication over an open 15 12. The method of claim 11 further comprising: network comprising: providing data from said application programs to said a telephone; and client in extended open network protocol statements a client program communicatively coupled to the over the open network. telephone, the client program for communicating data 13. A method for supporting communication between 20 with the telephone and for processing extended internet processing systems and non-standard 1/0 devices over an protocol statements to support communication with the open network comprising: telephone over an open network. processing extended open network statements at a server communicatively coupled to an open network; * * * * *

Disclaimer: Justia Dockets & Filings provides public litigation records from the federal appellate and district courts. These filings and docket sheets should not be considered findings of fact or liability, nor do they necessarily reflect the view of Justia.


Why Is My Information Online?