Home
Patent Search
IMT Blog
REGISTER
|
SIGN IN
United States Patent
5485370
Moss , ; et al.
January 16, 1996
Title
Home services delivery system with intelligent terminal emulator
Abstract
Systems and methods provide communication between a user-friendly terminal, such as a "home terminal" shaped to resemble a conventional telephone, and a number of service provider computers such as financial institutions. The system's application software transforms simple user commands into commands understood by the service provider computers. The network host computer supplies messages to the terminal for generating prompts needed to solicit required information from the user, and communicates with the service computers according to their respective protocols. The invention provides a packet assembler and disassembler (PAD) element within the home terminal itself, allowing fast response time for the customer at the home terminal while retaining the benefits of data error entry error correction and data transmission error correction.
Inventors:
Moss; Leslie C.
(Los Angeles,
CA
)
, Medine; Carol A.
(Los Angeles,
CA
)
, Naylor; William
(Topanga,
CA
)
Assignee:
Transaction Technology, Inc.
(Santa Monica,
CA
)
Appl. No.:
112178
Filed:
August 25, 1993
Current U.S. Class:
709/217
709/236
379/93.17
705/39
Field of Search:
364/DIG.1,DIG.2,408 379/93 395/200
U.S. Patent Documents
2541270
February 1951
Mitnick
2593475
April 1952
Neilsen
3515814
June 1970
Morgan
3596256
July 1971
Alpert
3652795
March 1972
Wolf et al.
3727186
April 1973
Stephenson
3760375
September 1973
Irwin et al.
3833855
September 1974
Gentile
3852571
December 1974
Hall
3865994
February 1975
Bender
3932709
January 1976
Hoff et al.
3938090
February 1976
Borison
3956615
May 1976
Anderson
3987259
October 1976
Larson
3995123
November 1976
Wilson
4023013
May 1977
Kinker
4025760
May 1977
Trenkamp
4032931
June 1977
Haker
4071697
January 1978
Bushnell
4075460
February 1978
Gorgens
4091448
May 1978
Clausing
4114027
September 1978
Slater
4185282
January 1980
Pick
4186438
January 1980
Benson et al.
4277837
July 1981
Stuckert
4291198
September 1981
Anderson et al.
4291199
September 1981
Densmore et al.
4301337
November 1981
Eventoff
4313176
January 1982
Cecil
4319336
March 1982
Anderson et al.
4334126
June 1982
Slingsby
4341951
July 1982
Benton
4381427
April 1983
Cheal et al.
4409450
October 1983
Blades
4423294
December 1983
Walser et al.
4425627
January 1984
Eibner
4431870
February 1984
May et al.
4454414
June 1984
Benton
4468529
August 1984
Samuel et al.
4476349
October 1984
Cottrell et al.
4481574
November 1984
DeFino et al.
4493021
January 1985
Agrawal
4494194
January 1985
Harris et al.
4503288
October 1981
Kessler
4510351
April 1985
Costello et al.
4532378
July 1985
Nakayama et al.
4533791
August 1985
Read et al.
4536647
August 1985
Atalla et al.
4578174
March 1986
Kato et al.
4578537
April 1986
Faggin et al.
4580011
April 1986
Glaser
4585908
April 1986
Smith
4591662
May 1986
Legros et al.
4604686
August 1986
Reiter et al.
4607144
August 1986
Carmon et al.
4611277
September 1986
Kemppainen et al.
4625276
November 1986
Benton et al.
4629832
December 1986
Carson et al.
4631666
December 1986
Harris et al.
4634845
January 1987
Hale et al.
4639917
January 1987
Furuta
4649563
March 1987
Riskin
4652276
November 1986
Benton
4652704
March 1987
Franklin
4653086
March 1987
Laube
4659876
April 1987
Sullivan et al.
4659879
April 1987
Hasegawa
4663766
May 1987
Bremer
4674115
June 1987
Kaleita et al.
4682014
July 1987
Iwama
4683360
July 1987
Maser
4697281
September 1987
O'Sullivan
4701845
October 1987
Andreasen et al.
4710955
December 1987
Kauffman
4714989
December 1987
Billings
4724521
January 1988
Carron et al.
4725977
February 1988
Izumi et al.
4727243
February 1988
Savar
4734858
March 1988
Schlafly
4737980
April 1988
Curtin et al.
4744103
May 1988
Dahlquist et al.
4748656
May 1988
Gibbs et al.
4754326
June 1988
Kram et al.
4788657
November 1988
Douglas et al.
4796297
January 1989
Okamoto
4797914
January 1989
Vaello
4814972
March 1989
Winter et al.
4817129
March 1989
Riskin
4823264
April 1989
Deming
4839919
June 1989
Borges et al.
4850007
July 1989
Marino
4851994
June 1989
Toda et al.
4852127
July 1989
Fraser et al.
4852151
July 1989
Dittakavi et al.
4858114
August 1989
Health et al.
4860342
August 1989
Danner
4870677
September 1989
DiSanto
4885580
December 1989
Noto et al.
4885765
December 1989
Shirakawa
4897868
January 1990
Engelke et al.
4905186
February 1990
Fujui
4926325
May 1990
Benton
4933971
June 1990
Bestock
4935870
June 1990
Burk, Jr. et al.
4943995
July 1990
Daudelin
4951278
August 1990
Biber et al.
4956852
September 1990
Hodge
4958278
September 1990
Meguro
4972457
November 1990
O'Sullivan
4972463
November 1990
Danielson et al.
4982430
January 1991
Frezza et al.
4991133
February 1991
Davis et al.
4991199
February 1991
Parekh et al.
4995074
February 1991
Goldman et al.
5008927
April 1991
Weiss et al.
5008930
April 1991
Gawrys et al.
5012512
April 1991
Basso et al.
5014190
May 1991
Johnson
5018189
May 1991
Kurosawa et al.
5020100
June 1991
Gardiner
5025373
June 1991
Keyser, Jr. et al.
5027315
June 1991
Agrawal
5038284
August 1991
Kramer
5038372
August 1991
Elms et al.
5050207
September 1991
Hitchcock
5058000
October 1991
Cox et al.
5060152
October 1991
Maeser et al.
5065309
November 1991
Putnam et al.
5065425
November 1991
Lecomte et al.
5072441
December 1991
Szwarc
5077788
December 1991
Cook et al.
5081673
January 1992
Engelke et al.
5103392
April 1992
Mori
5124909
June 1992
Blakely et al.
5127041
July 1981
O'Sullivan
5155847
October 1992
Kirouac et al.
5164982
November 1992
Davis
5175817
December 1992
Adams et al.
5185742
February 1993
Bales et al.
5195129
March 1993
Yazawa et al.
5195130
March 1993
Weiss et al.
5218680
June 1993
Farrell et al.
5220501
June 1993
Lawlor et al.
5221838
June 1993
Gutman et al.
5227778
July 1993
Vacon et al.
5235595
August 1993
O'Dowd
5245651
September 1993
Takashima et al.
5249218
February 1990
Sainton
5265033
November 1993
Vajk
5274810
December 1993
Meldrum
5276529
January 1994
Williams
5347632
September 1994
Filepp et al.
7688170
August 1987
Waite et al.
B14947028
June 1993
Gorog
D202110
August 1965
Wann
D211253
June 1968
Sundquist
D227482
June 1973
Binks
D244617
June 1977
Breger
D282165
January 1986
Brown
D282927
March 1986
Story et al.
D284856
July 1986
Marshall
D288808
March 1987
Asaki et al.
D299030
December 1988
Menn
D303522
September 1989
Meda et al.
D304932
January 1987
Oura et al.
Re34034
August 1992
O'Sullivan
Foreign Patent Documents
0014313
Aug., 1980
EP
0085482
Oct., 1987
EP
0181438
May., 1986
EP
1324616
Jul., 1973
GB
1528691
Sep., 1978
GB
2128447
Apr., 1984
GB
2149946
Jun., 1985
GB
2309915
Apr., 1975
FR
2632106
Jan., 1978
DE
2709461
Sep., 1978
DE
3212554
Oct., 1963
DE
3405448
Nov., 1987
DE
54-15606
Feb., 1979
JP
57-41723
Sep., 1982
JP
63-136758
Aug., 1988
JP
87/10256
Feb., 1987
WO
88/00371
Jan., 1988
WO
90/06517
May., 1991
WO
PCT/US87/01560
Jul., 1987
WO
Other References
Bertsekas et al, Data Networks, 1987, p. 64. .
"Reset Preventing System of Microprocessor", Japanese Publication No. vol. 112 (P-124) (990), Jun. 23, 1982. .
"Special Section: The Telephone Becomes an Information Terminal", Computopia, May 1987, p. 41. .
International Conference on Communications, Jun. 8-12, 1980, pp. 11.5.1-11.5.4. .
B. A. Pargh Company Inc. Catalog, Dictograph-Dial-It-Portable Dialer, 1985-1986, p. 345. .
B. A. Pargh Company Inc. Catalog, DEX-A-PHONE--Tray. .
"The Programmable Gate Array Data Book", Xilinx, 1988, pp. 6-38 to 6-40. .
"XC3000 Logic Cell Array Family", Xilinx no date, pp. 2-1 to 2-20 and 6-1 to 6-40. .
"Understanding Telephone Electronics", Fike et al., 1989, Howard W. Sams & Co., pp. 119-150. .
European Patent Application No. 85109734.5 filed Feb. 8, 1985. .
PCT Application No. PCT/BR86/00015, International Filing Date Aug. 15, 1986. .
"Computer Assisted Prior Art Searching" Journal of the Patent Office Society, Stephen A. Becker et al., vol. 65, No. 10, Oct. 1983 pp. 536-585. .
"This Thing Has to Change People's Habits", Forbes, Jun. 26, 1989. .
American Banker, Newman, Jun. 9, 1987, "8 Banks and Thrifts in 3 States Launch Video Banking Service", pp. 2 and 25. .
American Banker, Sep. 22, 1982, "CompuServe Home Banking System Offered in Mass., Ohio", p. 9. .
American Banker, Jul. 14, 1982, "New Jersey Shared ATM Network Will Offer Home Banking Service Through Video Test", p. 8. .
American Banker, Mar. 19, 1982, "Electronic Networks Springing Up all Over: Systems Linking Automater Teller Machines, Point-of Sale Devices are Established or Contemplated in Several Areas of the Country", p. 2. .
American Banker, Jul. 1983, "Home Bank System is Micro Friendly", p. 1. .
New Mexico Business Journal, vol. 9, No. 6, "Electronic Banking Heads Toward a Cashless Society", s1, p. 19. .
Datamation, vol. 32, Sep. 15, 1986, "Is Home Banking for Real?", p. 128. .
Communications of the ACM, vol. 28, No. 8, Aug. 1985, "Case Study: The CIRRUS Banking Network", pp. 798-807. .
American Banker, Apr. 11, 1984, Robert Garsson, "NBD Offers Electronic Highway for Network of Shared ATMs", p. 8. .
American Banker, Tyson, Apr. 4, 1984, "Low-Cost Computer Terminal Designed for Home Banking", pp. 8 and 17. .
American Banker, Aug. 12, 1985, "Viewtron Entering Pittsburgh in Deal with Dollar Bank, Pittsburgh Press", p. 6. .
"Plessey Vutel" Plessey publication No. 7871/6/ 6/82 5M. 1983. .
Xilinx "The Programmable Gate Arrays and Self-Diagnosing Hardware" 1989. pp. 6-54-6-56. .
Citibank "FOL Automatic Download Using P86 Integrator" 1988. .
ITS Current "ITS Develops SHAZAM Bill Payer for Consumer and Merchant Convenience" Mar., 1988. pp. 3-5. .
Durkin, British Telecommunications Engineering "QWERTYphone--A Low Cost Integrated Voice/Data Terminal" vol. 5. .
American Banker "Airline Credit Union Ready for Takeoff with Electronic and Telephone Banking" May 15, 1985, pp. 24, 91. (Abstract). .
Economist "Over 100 Shared Automatic Teller Machine (ATM) Networks are Operating in the U.S." Mar. 27, 1982, pp. 83, 841. (Abstract). .
American Banker "Home Banking: MCI Communications Venture to be Delayed Until Next Year" Jun. 28, 1984. pp. 2, 181 (Abstract). .
Levy, Jay. The EFT Sourcebook "The Delicate Balance of ATM Industry Standards" 1988. pp. 35-50, Table 1-4. .
"Electronic Apparatus", Japanese Publication No. vol. 3, No. 36 (P-103), Mar. 27, 1978. .
"Intelligent Telephone", IBM Technical Disclosure Bulletin, vol. 23, No. 9, Feb. 1981. .
"New Generation Microprocessor for Telecommunication Application", Proceedings of the IEEE International Conference on Communication, Subhash, Bal. 1980. .
"SPCS Customer Premises Equipment Data Interface", Bellcore Technical Reference TR-SY000030, Issue 1, Nov. 1988. .
"A New Generation of Information Terminals", CERMETEK, Apr. 23, 1987. .
"Displayphone: Telephone and Terminal Combine in a Compact Desk-Top Unit", Adkins et al., Bell-Northern Research Ltd., 1982, pp. 2-7. .
"Class Feature: Calling Number Delivery", Bellcore Technical Reference TR-SY000031, Issue 2, Jun. 1988. .
"Plessey IBIS Videotex System", Plessey Publication No. 7952/1 9/1982 5M, 1982. .
"Plessey Microphone", Plessey Publication No. 8232 4/1987 5M, 1987. .
"Corporate Trade Payments: Hard Lessons in Product Design" Economic Review Federal Reserve Bank of Atlanta, vol. LXXI. No. 4, Apr. 1986, pp. 9-21. .
"Managerial Leadership: A Key to Electronic Payment Success" Economic Review Federal Reserve Bank of Atlanta, vol. LXXI, No. 4, Apr. 1986, pp. 22-28. .
"Scenarios for the Future of the ACH" Economic Review Federal Reserve Bank of Atlanta, vol. LXXI, No. 4, Apr. 1986, pp. 29-50. .
"Electronic Payments at the Crossroads" Economic Review Federal Reserve Bank of Atlanta, vol. LXXI. No. 3 Mar. 1986, pp. 20-33. .
"Desiderata for Viable ACH" Economic Review Federal Reserve Bank of Atlanta, vol. LXXI, No. 3, Mar. 1986, pp. 34-43). .
"Dr. Frankenstein and the ACH" Economic Review Federal Reserve Bank of Atlanta, vol. LXXI, No. 4, Apr. 1986, pp. 4-8. .
"The ACH: An Elusive Dream" Economic Review Federal Reserve Bank of Atlanta, vol. LXXI, No. 3, Mar. 1986, pp. 4-8. .
"Electronic Payment Basics" Economic Review Federal Reserve Bank of Atlanta, vol. LXXI, No. 3 Mar. 1986, pp. 9-18. .
"ACH Return Items" Economic Review Federal Reserve Bank of Atlanta, vol. LXXI, No. 3, Mar. 1986, p. 19. .
"V-40-Based Single-Board Computer Technical Manual," Megatel Computer Corporation (1989). .
"Discovering Direct Access," Citibank, N.A. (1987). .
"HomeBase User Manual," Citibank N.A. (1984)..~
Primary Examiner:
Kriess; Kevin A.
Assistant Examiner:
Toplu; Lucien U.
Attorney, Agent or Firm:
Hogue, Sr.; Dale Curtis Marks & Murase
Parent Case Text
CROSS-REFERENCE TO RELATED APPLICATIONS
The present application is a continuation-in-part (CIP) of:
(A) Ser. No. 08/084,319, filed Jun. 30, 1993 abandoned (a file wrapper continuation of Ser. No. 433,825, filed Nov. 9, 1989, abandoned); and
(B) Ser. No. 08/104,931, filed Aug. 12, 1993 now U.S. Pat. No. 5,321,840 (a file wrapper continuation of Ser. No. 439,739, filed Nov. 21, 1989 abandoned), which is a continuation-in-part of both Ser. No. 260,832, filed Oct. 21, 1988, now U.S. Pat. No. 5,008,927, and Ser. No. 190,440, filed May 5, 1988, now U.S. Pat. No. 4,991,199.
The present application is related to U.S. patent application Ser. No. 593,921, filed Oct. 5, 1990, now U.S. Pat. No. 5,195,130, issued Mar. 16, 1993, which is a continuation-in-part of three prior patent applications, namely, (1) said Ser. No. 260,832, filed Oct. 21, 1988, now U.S. Pat. No. 5,008,927, (2) said Ser. No. 433,825, filed Nov. 9, 1989, and (3) said Ser. No. 439,739, filed Nov. 21, 1989. Said Ser. No. 260,832 is itself a continuation-in-part of said Ser. No. 190,440, filed May 5, 1988, now U.S. Pat. No. 4,991,199. The present application is also related to U.S. Pat. No. Des. 312,457 (Inatomi), which issued from patent application Ser. No. 380,557, filed Jul. 17, 1989.
All the foregoing patents and applications, as well as all patents and applications cited herein, are incorporated herein by reference as if reproduced in full below.
Claims
What is claimed is:
1. A system for enabling a plurality of customers to interact with at least one service provider through a heterogenous plurality of terminals and at least one applications program related to the service provided by the at least one service provider, the system comprising:
a) a heterogenous plurality of terminals;
b) at least one of said terminals consisting of a home terminal having a housing essentially configured as a telephone, said home terminal including:
1) a user input device having means for receiving input from the user and for converting the input into input signals, the input possibly having formatting errors;
2) a packet assembler and disassembler (PAD) element, located within the terminal and in communication with the customer input device, the PAD element including:
i) means for receiving the input signals, for analyzing the input signals in accordance with input formatting rules resident in said PAD which are related to the service provided by the service provider, and for providing local feedback signals in accordance with the analysis; and
ii) means, responsive to the input signals, for forming first packets of information in accordance with first formatting rules and a first communications protocol, and for transmitting the first packets of information which have no formatting errors or fewer formatting errors than the input signals;
3) a display including means for receiving the local feedback signals and for displaying them to the customer and for displaying prompts for controlling the operation of the home terminal;
4) means for generating a signal specifying the terminal being used by the user and
5) telephone electronics;
6) computing means;
7) memory;
8) means to electronically connect and control the user input means, display, PAD, signal generating means, telephone electronics, computing means, and memory, to function as both a standard telephone and a microcomputer and;
9) a modem to connect the home terminal to the host computer via a first telephone network;
c) a terminal controller, located remotely from the terminal, and implemented on at least one computing device having means to identify the terminal being used by the user by the signal generated by the terminal and means to execute the applications program, the terminal controller including:
1) a terminal interface controller including means for managing flow of packets of information into and out of the terminal controller in accordance with the first communications protocol compatible with the terminal being used;
2) means for translating the information in the first packets to a second format and a second communications protocol which are compatible with the service provider, so that the applications program forms commands for output to the service provider in accordance with the customer's input;
3) means for receiving information in the second format and the second communications protocol from the service provider;
4) means for translating the information from the second format and the second communications protocol in accordance with the applications program; and
5) means for causing the terminal interface controller to form second packets in accordance with the first formatting rules and the first communications protocol compatible with the terminal being used;
d) the PAD element further includes means for receiving the second packets and for forming signals in response to content of the second packets; and
e) the display further constitutes means for displaying the signals to the customer in response to the PAD element, the signals reflecting some of the information received from the service provider.
2. The system of claim 1, wherein the means of the PAD for analyzing the input signals and providing local feedback signals includes:
means for detecting an input which is incompatible with the input formatting rules entered in response to a prompt which has been displayed on the display and
means for providing an error signal to the display in response to the detection, as the local feedback signal.
3. The system of claim 1, wherein the means of the PAD for analyzing the input signals and providing local feedback signals includes:
means for determining when an input which is compatible with the input formatting rules has been entered in response to a prompt which has been displayed on the display; and
means for providing an echo signal consisting of the compatible input to the display in response to the detection, as the local feedback signal.
4. The system of claim 1, wherein the means of the PAD for analyzing the input signals and providing local feedback signals includes:
means for determining pursuant to the input formatting rules when a confidential input has been entered in response to a confidential code prompt which has been displayed on the display; and
means for providing a set of dummy signals which are not descriptive of the confidential input to the display in response to the detection, as the local feedback signal.
5. The system of claim 1, wherein the means for forming the first packets of information include:
means for forming and sequentially transmitting a plurality of first packets in accordance with a sliding window protocol constituting part of the first communications protocol; and
means for retransmitting certain packets in response to a "not acknowledge" signal received back from the terminal interface controller.
6. The system of claim 1, wherein:
the PAD and the terminal interface controller each include means for communicating the first packets of information over a telephone network using the first communications protocol.
7. The system of claim 1, wherein:
the applications program is essentially a computer program allowing the customer to interact with any of a plurality of financial service providers to perform financial transactions, inquiries and other related financial services offered by the service provider.
8. The system of claim 2 wherein:
the input formatting rules define formats required to allow the customer to uniquely designate financial quantities and account identification information which respectively correspond to financial quantities and accounts which are governed by the financial service provider.
9. The system of claim 1, wherein:
the PAD element's packet forming and transmitting means constitutes means for emulating an intelligent terminal.
10. A system for enabling a plurality of customers to interact with at least one service provider through a heterogenous plurality of terminals and at least one applications program related to the service provided by the at least one service provider, the system comprising:
a) a heterogenous plurality of terminals;
b) at least one of said terminals consisting of a home terminal having a housing essentially configured as a telephone, said home terminal including:
1) a user input device having means for receiving input from the user and for converting the input into input signals, the input possibly having formatting errors;
2) a display including means for receiving the local feedback signals and for displaying them to the customer and for displaying prompts for controlling the operation of the home terminal;
3) means for generating a signal specifying the terminal being used by the user;
4) telephone electronics;
5) computing means;
6) memory;
7) means to electronically connect and control the user input means, display, PAD, signal generating means, telephone electronics, computing means, and memory, to function as both a standard telephone and a microcomputer and;
8) a modem to connect the home terminal to the host computer via a first telephone network;
c) a terminal controller, located remotely from the terminal, and implemented on at least one computing device having means to identify the terminal being used by the user by the signal generated by the terminal and means to execute the applications program, the terminal controller including:
1) a packet assembler and disassembler (PAD) element, located within the terminal controller and in communication with the customer input device, the PAD element including:
i) means for receiving the input signals, for analyzing the input signals in accordance with input formatting rules resident in said PAD which are related to the service provided by the service provider, and for providing remote feedback signals in accordance with the analysis; and
ii) means, responsive to the input signals, for forming first packets of information in accordance with first formatting rules and a first communications protocol, and for transmitting the first packets of information which have no formatting errors or fewer formatting errors than the input signals;
2) a terminal interface controller including means for managing flow of packets of information into and out of the terminal controller in accordance with the first communications protocol compatible with the terminal being used;
3) means for translating the information in the first packets to a second format and a second communications protocol which are compatible with the service provider, so that the applications program forms commands for output to the service provider in accordance with the customer's input;
4) means for receiving information in the second format and the second communications protocol from the service provider;
5) means for translating the information from the second format and the second communications protocol in accordance with the applications program; and
6) means for causing the terminal interface controller to form second packets in accordance with the first formatting rules and the first communications protocol compatible with the terminal being used;
d) the PAD element further includes means for receiving the second packets and for forming signals in response to content of the second packets; and
e) the display further constitutes means for displaying the signals to the customer in response to the PAD element, the signals reflecting some of the information received from the service provider.
11. The system of claim 10, wherein the means of the PAD for analyzing the input signals and providing local feedback signals includes:
means for detecting an input which is incompatible with the input formatting rules entered in response to a prompt which has been displayed on the display and
means for providing an error signal to the display in response to the detection, as the local feedback signal.
12. The system of claim 10, wherein the means of the PAD for analyzing the input signals and providing local feedback signals includes:
means for determining when an input which is compatible with the input formatting rules has been entered in response to a prompt which has been displayed on the display; and
means for providing an echo signal consisting of the compatible input to the display in response to the detection, as the local feedback signal.
13. The system of claim 10, wherein the means of the PAD for analyzing the input signals and providing local feedback signals includes:
means for determining pursuant to the input formatting rules when a confidential input has been entered in response to a confidential code prompt which has been displayed on the display; and
means for providing a set of dummy signals which are not descriptive of the confidential input to the display in response to the detection, as the local feedback signal.
14. The system of claim 10, wherein the means for forming the first packets of information include:
means for forming and sequentially transmitting a plurality of first packets in accordance with a sliding window protocol constituting part of the first communications protocol; and
means for retransmitting certain packets in response to a "not acknowledge" signal received back from the terminal interface controller.
15. The system of claim 10, wherein:
the applications program is essentially a computer program allowing the customer to interact with any of a plurality of financial service providers to perform financial transactions, inquiries and other related financial services offered by the service provider.
16. The system of claim 15 wherein:
the input formatting rules define formats required to allow the customer to uniquely designate financial quantities and account identification information which respectively correspond to financial quantities and accounts which are governed by the financial service provider.
17. The system of claim 10, wherein:
the PAD element's packet forming and transmitting means constitutes means for emulating an intelligent terminal.
18. A system for enabling a plurality of customers to interact with at least one service provider through a heterogenous plurality of terminals and at least one applications program related to the service provided by the at least one service provider, the system comprising:
a) a heterogenous plurality of terminals;
b) at least one of said terminals consisting of a home terminal having a housing essentially configured as a telephone, said home terminal including:
1) a user input device having means for receiving input from the user and for converting the input into input signals, the input possibly having formatting errors;
3) a display including means for receiving the local feedback signals and for displaying them to the customer and for displaying prompts for controlling the operation of the home terminal;
4) means for generating messages specifying the terminal being used by the user and the service provider with which the user wishes to interact and the version of the applications program corresponding to that service provider resident in the terminal and
5) telephone electronics;
6) computing means;
7) memory;
8) means to electronically connect and control the user input means, display, signal generating means, telephone electronics, computing means, and memory, to function as both a standard telephone and a microcomputer and;
9) a modem to connect the home terminal to the host computer via a first telephone network;
c) a terminal controller, located remotely from the terminal, and implemented on at least one computing device having means to identify the terminal being used by the user by the signal generated by the terminal and means to execute the applications program, the terminal controller including:
1) a terminal interface controller including means for managing flow of information into and out of the terminal controller in accordance with the first communications protocol compatible with the terminal being used;
2) means for translating the information to a second format and a second communications protocol which are compatible with the service provider, so that the applications program forms commands for output to the service provider in accordance with the customer's input;
3) means for receiving information in the second format and the second communications protocol from the service provider;
4) means for translating the information from the second format and the second communications protocol in accordance with the applications program; and
5) means for causing the terminal interface controller to format the information in accordance with the first formatting rules and the first communications protocol compatible with the terminal being used;
d) the terminal further includes means for receiving the information and for forming signals in response to content of the second packets; and
e) the display further constitutes means for displaying the signals to the customer in response to the information, the signals reflecting some of the information received from the service provider;
f) the terminal controller further having:
1) in storage current versions of the applications programs corresponding to the various service providers and the heterogenous plurality of terminals on the system;
2) means for identifying the version of the applications program resident in the terminal corresponding to the service provider selected by the user by the signal sent by the terminal;
3) means to determine whether the applications program in the terminal is the current version;
4) means to download to the terminal the necessary portions of the current version of the applications program so that said version of the applications program corresponding to the selected service provider and the user terminal is the current version; and
g) the terminal further including means to receive the necessary portions of the current version of the applications program and revise the version of the applications program resident in the terminal so that the applications program in the user terminal is the most current for the at least one service provider selected by the user.
19. The system of claim 18, wherein the means for analyzing the input signals and providing local feedback signals includes:
means for detecting an input which is incompatible with the input formatting rules entered in response to a prompt which has been displayed on the display; and
means for providing an error signal to the display in response to the detection, as the local feedback signal.
20. The system of claim 18, wherein the means for analyzing the input signals and providing local feedback signals includes:
means for determining when an input which is compatible with the input formatting rules has been entered in response to a prompt which has been displayed on the display; and
means for providing an echo signal consisting of the compatible input to the display in response to the detection, as the local feedback signal.
21. The system of claim 18, wherein the means for analyzing the input signals and providing local feedback signals includes:
means for determining pursuant to the input formatting rules when a confidential input has been entered in response to a confidential code prompt which has been displayed on the display; and
means for providing a set of dummy signals which are not descriptive of the confidential input to the display in response to the detection, as the local feedback signal.
22. The system of claim 18, wherein:
the applications program is essentially a computer program allowing the customer to interact with any of a plurality of financial service providers to perform financial transactions, inquiries and other related financial services offered by the service provider.
Description
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates generally to apparatus and methods for communication between a home network terminal microcomputer-based system and one or more computer networks providing information and financial and other services. The invention relates more particularly to apparatus and methods for conducting communications between a home computer system and a generally conventional computer network in an extremely simple manner, such that no knowledge of computer operations is necessary for the user of a home computer system to obtain information or perform financial and other transactions through the computer network.
2. Related Art
Developments in communications technology in the past decade have made it possible for consumers to access information stored on large computer systems through home microcomputers. It is well known that a home computer system can be used to communicate through standard telephone lines with large computer data bases storing such information as stock market statistics, airline flight schedules, and other useful consumer information.
However, there are several limitations to providing not only information services but also interactive financial services through a computer network to the home environment of the typical consumer. First, although technological advancements have created an unsurpassed standard of living for consumers in many aspects of everyday life, including communications, a corresponding limit on the level of consumer acceptance of technological innovations has arisen. Many consumers are reluctant to rely on technologically advanced devices which they cannot assimilate into the practices they have used previously and which they understand.
This consumer acceptance threshold has been encountered by home computer manufacturers who have experienced difficulty in convincing a substantial portion of the public of the advantages of having a home computer. In order to provide information services, and in particular relatively complex interactive financial services, in the home environment, the consumer must be convinced to incorporate some form of network terminal in his home. Typically, however, the steps necessary to establish communications between a home microcomputer and a remote computer data base require the consumer to have a familiar understanding of the home microcomputer. Although software packages are available that present a relatively "user-friendly" environment for the consumer to carry on network communications, a basic understanding of microcomputer operation is nevertheless required of the consumer. A majority of consumers do not have this fundamental knowledge, adding to consumer reluctance to use the technologically advanced products.
The microprocessor/telephone communication device disclosed in U.S. patent application Ser. Nos. 07/190,440 (Parekh et al.) and 260,832 (Weiss et al.), filed May 5, 1988, and Oct. 21, 1988 respectively, and in U.S. Pat. No. Des. 312,457
(from application Ser. No. 380,557) (Inatomi) filed Jul. 17, 1989, all of which are assigned to the assignee of the present application and are hereby incorporated by reference herein, provides a means for bringing technologically based services into the typical consumer's home despite consumer resistance to complex products. This breakthrough is accomplished by providing what is in reality a computer terminal resembling the familiar desktop telephone. The communication device of the invention provides easily understood information and instructions through a visual display "menu" to guide the user in using advanced telephone features and network services. The shift in emphasis from user-originated control to device-originated control in transactional operations assimilates the user into a technologically based marketplace of services which he would otherwise avoid.
Although a home terminal, such as the microprocessor/telephone of the Weiss et al. invention, provides the hardware necessary for network communications to the consumer in familiar form, the network communication methods available currently still present a technologically complicated procedure to the user of the home terminal. Those methods in the prior art which provide informational services to the consumer at home do so in a manner which requires some level of computer literacy on the part of the consumer user. Recognizing that this computer literacy requirement is a substantial impediment to bringing the technologically based informational and financial services to the general consumer, it is an object of the invention to provide a method for communicating between the home terminal and a computer network which controls communications so that the user need only read and respond to simple questions, that is, "prompts", presented on a display screen.
In the prior art, interactive communication methods have essentially provided only informational services to the home consumer. The necessary level of security, ease of use and reliable, quick information transmission required for a comparable home-based financial services system have not been achieved. Accordingly, it is another object of the present invention to provide financial services in addition to informational services to the consumer and in particular to provide a method of computer communication between the home terminal and a computer network so that the consumer can effect financial transactions through the system terminal in an easily understood fashion. For example, it is an object of the invention to provide a system whereby a user can determine his account balance, pay bills, transfer funds from one account to another, and the like, while in his home and in particular without requiring any computer literacy, and wherein the same system can be used to access other systems, such as databases, airline reservation systems, and the like.
Using current communication methods, communication between a home computer system and a computer network requires that the home computer system have a sufficient memory size to store application programs to control the communications. Each network, database, or the like to be accessed typically requires its own software, access codes, and related data which must be stored in the microcomputer memory. Accordingly, as more information and financial services are to be provided, the necessary application program memory requirement increases. At some point, the memory size requirement makes it impractical to place the home network terminal in the relatively small housing of a telephone. In particular, it is an object of the invention to avoid the requirement of a floppy disk or other bulky storage medium in the user terminal; if a physically larger computer system were used to accommodate the memory requirements, the advantage of consumer acceptance achieved by placing the microcomputer in a small housing with a limited number of keys made possible according to the Weiss et al. invention would be lost.
More particularly, it is desirable that the microcomputer necessary to carry out communication with the network computer be small enough to be integrated into a housing physically resembling that of a standard desktop telephone. The data storage capacity of such a miniature device is correspondingly small. Additionally, it is preferred to provide the consumer with as many various services as possible. Therefore, it is a further object of the invention to provide a method for providing required application programs from a network host computer to the user terminal as needed and in a rapid and efficient manner so that the consumer terminal can employ a plurality of application programs which could not be stored in a memory physically disposed within the telephone housing.
It is still another object of the invention to provide a method by which updated versions of the application programs can be downloaded to the microcomputer automatically each time the consumer connects to the network, thereby ensuring that out-of-date application programs are not used.
SUMMARY OF THE INVENTION
The present invention overcomes the drawbacks of the known systems and represents a significant advance in the art by providing user-friendly systems and methods for communicating with a plurality of informational and financial and other service computer systems through a microcomputer-based terminal, such as "home" terminal, so that a typical consumer having little expertise in computer operations can easily use the facilities of the service computer systems.
The communication method of the invention makes it possible for network communications to be performed through a home terminal which does not appear to the user to be technologically complex. The hardware used in performing the method of the present invention comprises a home terminal such as a telephone/microcomputer disclosed in U.S. Pat. No. 4,991,199 (D. Weiss et al.), and assigned to the assignee of the present application, which is incorporated by reference herein. The home terminal is thus a dedicated microcomputer which provides a simple input keyboard resembling the keypad of a conventional telephone and a visual display for communicating with the consumer.
In the home terminal of Weiss et al, a microcomputer resides within a standard desktop telephone and communicates with the consumer through a liquid crystal display (LCD) and a standard telephone keypad, both disposed on the top surface of the telephone. The home terminal comprises memory for storing data and programs and is interfaced to the telephone electronics so that it may also control the telephone in the conventional manner. In some embodiments, this device also comprises a keyboard including all of the alphabetic characters, which may slide out of the housing, without destroying its resemblance to a telephone. A modem is connected to the microcomputer within the home terminal for connecting the microcomputer through standard telephone lines to one or more remote computer systems, by way of a session controller which is comprised by a network host computer provided according to the invention.
In accordance with another aspect of the invention, there is provided a system for enabling a customer to interact with at least one service provider through at least one applications program related to the service provided by the at least one service provider. The system has a terminal including an input device, a display, and a packet assembler and disassembler (PAD) element. The system also has a terminal controller including means to execute the applications program and means for translating information between respective formats and respective communications protocols used by the PAD element and the service provider, to enable the customer to communicate with the service provider through the terminal.
The invention also provides a system for enabling a customer to interact with at least one service provider through at least one applications program related to the service provided by the at least one service provider. The system has a terminal including: 1) a customer input device having means for receiving input from the user and for convening the input into input signals, the input possibly having formatting errors; and 2) a packet assembler and disassembler (PAD) element, located substantially within the terminal and in communication with the customer input device. The PAD element includes means for receiving the input signals, for analyzing the input signals in accordance with input formatting rules which are related to the service provided by the service provider, and for providing local feedback signals in accordance with the analysis; and means, responsive to the input signals, for forming first packets of information in accordance with first formatting rules and a first communications protocol, and for transmitting the first packets of information which have no formatting errors or fewer formatting errors than the input signals. The terminal includes a display including means for receiving the local feedback signals and for displaying them to the customer. The system also has a terminal controller, located remotely from the terminal, and implemented on at least one computing device having means to execute the applications program. The terminal controller has a terminal interface controller including means for managing flow of packets of information into and out of the terminal controller in accordance with the first communications protocol, and means for translating the information in the first packets to a second format and a second communications protocol which are compatible with the service provider, so that the applications program forms commands for output to the service provider in accordance with the customer's input.
The invention further provides a system for enabling a user to interact with service computers which provide informational, financial and other services. The system has a network host computer having applications software in memory. The system also has a home terminal having a compact housing essentially configured as a telephone, the home terminal including a display for displaying prompts for controlling the operation of the home terminal, data input means, telephone electronics, computing means, memory; means to electronically connect and control the display, data input means, telephone electronics, computing means, and memory, to function as both a standard telephone and a general purpose computer; a modem to connect the home terminal computing to the host computer via a first telephone network; and means, including a packet assembler and disassembler (PAD) element, for managing message communication between the home terminal and the network host and for ensuring that data input through the data input means has been formatted for the network host applications software. The system also has means for accessing at least one of the service computers over a second telephone network in response to at least one message communicated from the home terminal over the first telephone network and through the network host computer, the at least one message indicating selection of a service in response to the prompts. In this system, the network host computer further includes means for controlling a communications session between the home terminal and at least one service computer over the first and second telephone networks, the communications session controlling means being controlled by instructions for translating messages between the home terminal and at least one service computer.
The invention further provides a method of providing a home terminal with the ability to use services provided by at least one service computer connected to the home terminal in a communications session managed by a host computer, wherein the home terminal has a display, a data input device, telephone electronics, computing electronics, a modem and software to operate the terminal as both a telephone and a general purpose computer. The method comprising the steps of initiating the communications session with the host computer using a packet assembler and disassembler (PAD) element in the terminal; sending messages to the terminal to prompt a customer to provide input to the terminal; imputing data through the data input device; locally analyzing the input data for conformance with format and content requirements, and displaying appropriate prompts and imputing additional data if the input data is not in conformance with the requirements; assembling the data input into message packets; establishing the communications session between the service computer and the home terminal; and controlling the communication session by translating messages between respective formats usable by the home terminal and the service computer, and by timing message flow.
BRIEF DESCRIPTION OF THE DRAWINGS
The invention will be better understood if reference is made to the accompanying drawings, in which FIGS. 1-10 are those present in Ser. No. 08/084,319, filed Jun. 30, 1993 (a file wrapper continuation of Ser. No. 433,825, filed Nov. 9,
1989), and in which FIGS. 11-19 are added in the application being filed Aug. 25, 1993.
FIG. 1 shows a schematic overview of the system according to the invention.
FIG. 2 shows a diagram of the message format employed according to the invention.
FIG. 3 shows a detail of a status field of the message according to the invention.
FIG. 4 shows a connect message according to the invention.
FIG. 5 shows a connect response message according to the invention.
FIG. 6 shows a transaction message text format according to the invention.
FIG. 7 shows a page downloading message text format employed according to the invention.
FIG. 8 shows a page update request message according to the invention. and
FIG. 9 shows a response to the page update request message of FIG. 8.
FIG. 10 shows a schematic view of a distributive data processing system shown in FIG. 19 of U.S. Pat. No. 5,195,130.
FIG. 11 illustrates an alternative home services delivery system.
FIG. 12 illustrates an alternative embodiment of the home services delivery system of FIG. 11, in which the packet assembler and disassembler (PAD) is resident in the terminal 104 rather than in the terminal interface controller (TIC) 122.
FIG. 13 illustrates a typical physical arrangement of several terminal controllers.
FIG. 14 is a high-level block diagram of an application generation system (AGS) which may be used to develop and test applications programs for the home services delivery system.
FIG. 15 illustrates a typical local area network configuration for use with the application generation system according to the present invention.
FIG. 16 schematically illustrates components of the application data base, according to the FIG. 21 embodiment.
FIG. 17 illustrates the manner in which the application generation system provides different versions of applications programs, especially suitable for use in a variety of foreign languages.
FIG. 18 shows an example of a screen which shows a German version of an application program.
FIG. 19 illustrates a typical screen display generated by the application generation system to allow a developer to simulate hardware errors.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
In describing preferred embodiments of the present invention illustrated in the drawings, specific terminology is employed for the sake of clarity. However, the invention is not intended to be limited to the specific terminology so selected, and it is to be understood that each specific element includes all technical equivalents which operate in a similar manner to accomplish a similar purpose.
As a background, FIGS. 1-10 are those present in Ser. No. 08/084,319, filed Jun. 30, 1993 (a file wrapper continuation of Ser. No. 433,825, filed Nov. 9, 1989). FIGS. 11-19 are added in the application being filed Aug. 25, 1993, with emphasis being placed on the embodiment in FIG. 12.
Referring to FIG. 1, the method of the present invention is performed through a home terminal 2 connected via a conventional telephone circuit 3 to a session controller 6, which may comprise both hardware and software, as understood by those of skill in the art, and which is resident in a network host computer system 8.
According to the invention, the home terminal 2 physically resembles a telephone with a display screen 2a, as described in the Weiss applications discussed above. However, certain aspects of the invention-may be applicable to more conventional microcomputer systems, as shown at 10: Indeed, according to one aspect of the invention described in Ser. No. 07/439,739 and FWC 08/104,931 (Ahlin et al.), the telephone-resembling user terminal 2 functionally mimics an IBM PC/XT microcomputer, such as computer 10, in certain aspects.
The session controller 6 provided according to the present invention serves as a link between the microcomputer 2 and/or 10 and a plurality of informational and financial service computer systems 20(a-d). As indicated, service computers 20(a-d) typically are themselves host computer systems such as bank computers, airline reservation computers, host computers running database access systems, etc., which conventionally respond to inquiries from remote systems. It would also be possible to physically provide the network host computer 8 as a part of one of the service computers 20(a-d). For example, the network host computer 8 might be physically configured as portion or a computer also serving as a bank service computer. The claims of this application are intended to include this possibility.
According to an important aspect of the invention, the function of the session controller 6 is to allow the user to conveniently employ the microcomputer resembling a telephone 2 as described in the Weiss et al application to access the remote service computers 20(a-d); notably, this is accomplished according to the invention without modifying the software of the service computers 20(a-d). Thus, an important function of the network host 8 and of the user terminal 2 and the HAL software which it runs is to cooperatively transform the highly simplified, "user-friendly" request/response sequence seen and responded to by the user into the relatively complex communication sequence normally used to access the service computers 20(a-d), and, conversely, to modify the specialized display sequence typically presented by the service computers 20(a-d) into an easily understood presentation.
More particularly, as is understood by those of skill in the art, each of the service computers 20(a-d) provides a different service, e.g., stock ticker information, airline reservations, bank transaction services, and a myriad of others. To access each of these services conventionally requires that the user have available one or more access codes, and that he has memorized the appropriate sequence of responses to "prompts". Each of theme sequences is different, and each conventionally requires some education.
For example, in a typical automatic teller machine transaction, the user is first required to insert a card which includes a user identification. He then is prompted to input an access code. The system correlates this with the identification provided by the card, to ensure that the user is duly authorized. He is then prompted to select a transaction, and an account. Depending on the transaction selected, various other options must be selected. All of the response sequences must be learned before the user can employ the system. By comparison, if using a legal research database, for example, an entirely different sequence of steps must be negotiated. Accordingly, the consumer must be separately educated with respect to each service he desires to use. Clearly, this represents a significant barrier to the wide acceptance and use of these systems.
By comparison, according to the invention, the network host 8 is interposed between the user terminals 2 and each service computer system 20(a-d). The network host 8 thus works in concert with the user terminals 2, in particular by supplying to the user terminal 2 one or more pages of HAL application software which "personalizes" the user terminal 2 to the service computer 20(a-d). The user terminal 2 is enabled by the application software to prompt the user to supply any information needed to access the service computer. The network host 8 then translates the user dam, received from the user terminal 2 in a first user terminal format, into whatever service computer communication format is required by the service computer 20(a-d) selected. Thus, the user sees an essentially similar selection of simple queries (e.g., "Input User Code", "Press 4 for Checking Account, 6 For Saving Account", "Press for Previous Screen", "Press to Authorize Auto Payment") regardless of the service he has selected. The "user-friendliness" thus provided by the network host and the user terminal of the invention in response to the user's selection of a particular service is very significant in achieving the objects of the invention.
For example, at any given time, the display 2a of the user terminal may include the user's last response (e.g. , in a banking transaction, "National Bank of Washington") the information being sought (e.g., "Select Account Desired"), and a list of prompts, indicating the choices available to the user by pressing a single button in the keypunch (e.g., "Press 1 for Savings, 2 for Checking, 3 for Money Market") as well as a series of help prompts also selectable by pressing a single button (e.g., "Hit * to Back Up, 0 to Start Over, # for More Choices").
According to an important aspect of the invention, these menu choices are varied in accordance with the service selected by the user. That is, the user-friendly interface, comprising a "tree" of new menus displayed sequentially and in response to each input provided by the user, until all information required to access the service has been specified, thus varies with the service. Provision of application programs page by page in response to the specification of a service according to the invention permits this flexibility, as it would be impractical to store all possible application programs in the user terminal.
The session controller 6 functionally comprises a terminal interface controller (TIC) 4, a terminal protocol interface (TPI) 10, a session manager (SM) 12, and a common integrator (CI) 14. The TIC 4 monitors the message flow between the home terminal 2 and the TPI 10 and controls timers to cause timeouts when message traffic ceases. This is important in ensuring that the terminal 2 properly provides the normal telephone functions. See the Weiss et al applications referred to above. The TPI 10 communicates with the home terminal 2 and translates the protocol used by the home terminal when first establishing a connection with the host network computer 8. Additionally, the TPI 10 generates random encryption key numbers when requested by the home terminal 2. These encryption key numbers are used by the terminal program to transmit confidential information. The TPI 10 also handles application page downloading requests.
The SM 12 maintains the essential data needed for each communication session by storing information relating to the user of the terminal 2 and the service computer system 20(a-d) which the user is accessing. All transactions performed between the home terminal 2 and the session controller 6 during a particular session occur within the context of the specific consumer and the service selected, e.g., his bank or other financial institution. For example, after the consumer has been successfully established as a valid and authorized user, all message traffic to the particular terminal is thereafter considered related only to that consumer. This context determination, based on the consumer identification information, then allows the network host computer 8 to access the correct service computer 20(a-d) for such items as account balances, and so on. The SM 12 stores the contextual information required to validate the transaction and inserts it in messages passed to the CI 14 when necessary. The SM 12 also serves as the interface between the TPI 10 and the CI 14, which in turn sexes as the communication link between the other elements of the session controller 6 and the service' computer systems 20(a-d).
According to the method of the present invention, the user accesses one particular service computer 20(a-d) by selecting the corresponding option, i.e. the desired service, from a menu displaying the possible choices on the LCD of his home terminal. Communication between the home terminal 2, the session controller 6 and the selected service computer 20(a-d) is then begun with a session establishment and protocol selection phase.
During the session establishment and protocol selection phase, the home terminal 2 connects to the network host computer 8 through a standard telephone line 3. After the connection has been established, the home terminal 2 sends a series of signals by which the session controller 6 sets such parameters as the communication baud rate. For example, after the network host computer 8 sets the communication baud rate, it responds with a terminal type inquiry. The home terminal 2 interprets this signal as a request to identify the type of terminal in use and responds with an ASCII code identifying the type of home terminal being used, i.e. a microcomputer/telephone 2 according to the Weiss invention, a standard microcomputer 10 employed conventionally to access the service computers, or some other remote terminal type.
During this session establishment phase the terminal 2 may also request the user to provide a personal serial number, to ensure that the user is in fact authorized to use the terminal. A terminal ID number may also be rehired to be included in some of the messages. The network host is capable of deleting either serial number from lists of validated serial numbers, so as to prevent users who become unauthorized (e.g. by failure to keep accounts current, etc.) from using the system.
According to the invention, the network host 8 provides the important function of allowing the home terminal 2 to mimic a conventional microcomputer 10 running essentially conventional communication software. Therefore, the service computer
20(a-d) receives communication in precisely the same "service computer communication protocol" which it conventionally receives. Accordingly, the service computers need not be modified in any way for communication according to the invention, which is essential to achieving the objects thereof. As indicated, such conventional microcomputer systems 10 may be also interfaced to the service computers 20(a-d) by way of the network host 8 according to the invention. In such case, the network host 8 will again respond to a request for access to a service computer 20(a-d) by downloading one or more "pages" of application software, user prompts, etc., allowing the conventional microcomputer 10 to conveniently access the service computer 20(a-d).
The manner in which the user terminal 2 is enabled to mimic a conventional microcomputer 10 for the purpose of communicating with the service computers 20(a-d) via the network host 8 is disclosed in detail in Ser. No. 07/439,739 and FWC
08/104,931 (Ahlin et al.).
After a communication session has thus been established, a "link level" protocol is employed between the home computer and the session controller. In the link level protocol, all communications between the home terminal 2 (or a conventional microcomputer 10, if used) and the network host computer 8 are formatted into information packets called messages. FIG. 2 shows the basic format of the message 30. This message format is used for the majority of the messages sent between the network host and terminal 2 or computer 10. Other related formats are used in special cases discussed below.
Each message 30 begins with a one-byte start of text (STX) delimiter 32 which consists of the fixed ASCII code "2". The next field of the message, the message text field 34, can contain up to 256 bytes of transaction information. It is within this message text field 34 that the actual transaction information is transferred. The message text field 34 can also contain information concerning the status of the message.
Following the message text field 34 is a one byte start of header (SOH) delimiter 36 which has a fixed ASCII value of "1". This SOH delimiter 36 signifies the end of the message text field 34 and the start of the Sliding Window Protocol Header
38.
The Sliding Window Protocol Header 38 is provided according to an important aspect of the present invention, and contains control and error management information. This header 38 comprises a sequence number field 40, an acknowledge number field
42, a status field 44, and a checksum field 46, totalling six bytes in length.
The sequence number field 40 is important to the error detection and control system employed according to the invention. This field contains a sequence number assigned by the transmitting device (i.e. either the home terminal 2 or the network host) to each message segment. More specifically, the sequence number field 40 contains a one-byte ASCII encoded number from 0 to 9 specifying the order of the message 30 in a series of transmitted messages. The sequence numbers are assigned independently to the messages sent in both directions. Each successive message 30 is assigned a reference number one greater than that of the preceding message 30. The sequence numbers are applied in a cyclical fashion. That is, when sequence number 9
has been assigned to a message, the next message is assigned sequence number 0. This process is referred to as the "sliding window protocol" used for error detection and correction according to the invention.
The receiving device stores the sequence number of the message most recently received. When a new message is received, the receiving device determines if the content of the sequence number field 40 is one greater than the sequence number of the preceding message received. If not, an error has been detected, and the receiving device directs the transmitting device to resend the preceding message.
Additional security is provided by use of the checksum field 46, which contains a byte count for the entire message, which is written to the message by the network computer. This checksum value is compared with the byte count as determined by the receiving terminal. If the checksum value is correct and the sequence number is in the proper order, the message is considered to have been received in good condition.
The acknowledgement number field 42 of each message contains the sequence number of the last message received in good condition. Until this acknowledgement number is received, the transmitting device stores the messages in a buffer for possible retransmission. If the transmitting device has stored one or more messages with higher sequence numbers than the last received acknowledgement number, those messages with a greater sequence number are retransmitted. Correspondingly, when an acknowledgement number is received, all stored messages having sequence numbers less than or equal to the last received acknowledgement number are discarded. This sequencing and acknowledgment method allows for the continuous flow of information without the delay associated with acknowledging each message before transmitting the next, and limits the amount of data which must be stored to implement this error correction arrangement.
It will be appreciated by those of skill in the art that sliding window protocols of this general type, including use of sequence numbers and acknowledgement of messages, are generally known to the art. See generally, Tanenbaum, Computer Networks (Prentice Hall, 1981), esp. .sctn.4.2 "Sliding Window Protocols", pp. 148-164, which book is incorporated herein by reference.
There is, however, one limitation on this continuous flow of messages. Because the range of reference numbers is finite, the maximum number of messages which can be sent without repeating a reference number is 10. Accordingly, if all the sequence numbers available in the finite range 0-9 have been assigned to unacknowledged messages, the transmitting device ceases message transmissions and sends an immediate acknowledgement request in a null message, that is, a message which contains no information in its message text field, but which has a sequence greater or equal to that of the preceding message. The receiving device recognizes a null message by its repetition of the preceding sequence number. A null message is thus used to convey control information such as an immediate acknowledgement request.
The status field 44 is a one byte (eight bit) field which informs the receiving device of the status of the message and provides a medium for various control requests. FIG. 3 details the bits of the status field 44. Bits 7 and 5 are always set to zero and one, respectively, so that the value of the complete status byte 44 is in the range of 32 to 127. Hence, the value of the status field can be represented by the ASCII codes for print characters, which is convenient for diagnostic purposes. Bit 6 indicates the transmission channel over which the message is travelling. A value of 0 in bit 6 represents a foreground, or high priority, transmission channel, and a value of 1 in bit 6 indicates use of a background, or low priority, transmission channel.
Bit 4 is used to inform the receiving computer whether the response is contained in more than one message and whether there is at least one more message to come which is related to the response contained in the present message. A value of 0 in bit 4 indicates that the present message is the last or only segment in a response while a value of 1 in bit 4 informs the receiving computer that the present message is the first or an intermediate segment of a multi-segment response.
Bit 3 distinguishes normal session messages from connect messages used when communications are first established between the home computer and the network computer. A bit 3 value of y represents a normal data message, while a bit value of 1
signifies a connect request or response. Similarly, bit 2 indicates whether a message is a normal session message or a disconnect request, in which 0 indicates a normal session message and 1 requests a disconnect.
Bit 1 is set to a value of 1 to request retransmission of all unacknowledged messages, i.e., messages with a higher reference number than the acknowledgement number of the message containing the retransmission request. A 0 value in bit 1
indicates a normal message.
Bit 0 is set to a value of 1 to request acknowledgement from the receiving computer. This signal would be sent, for example, in the situation explained above, in which the sending computer has used all of the reference numbers and requires an acknowledgement before sending any more messages. A 0 value in bit 0 indicates a normal message.
The checksum field 46 as indicated above contains a bit count or similar value calculated by the sending device; the same calculation is performed by the receiving device and compared to the scored value to confirm that the message has been correctly received.
Finally, the message 80 concludes with a carriage return (CR) 48.
According to the invention, when one of the devices involved in a communication session sends a message 30 containing either an acknowledgement request, an acknowledgement response, a retransmit request, a connect request or a disconnect request, there may be no transaction dam to be transmitted in the message text field. Hence, this information is sent through a null message, including a repeated reference number as above. This informs the receiving computer that any transaction data that may be contained in the text field is to be ignored and that the header information only is to be read. Of course, it is not necessary to send a null message for the above mentioned requests and responses. Instead, a normal message may be used which sends the request or response information, while transaction information is sent in the text field. Null messages are sent when a normal message is not available and an acknowledgement has been requested, or when the maximum number of messages is outstanding, and no more normal messages may be sent.
In establishing a communication session, the home terminal sends a connect request message, shown in FIG. 4. When the session controller returns a connect response, shown in FIG. 5, the session is established and all subsequent communications proceed using the message format discussed above. At the beginning of each session, a series of messages (shown in FIGS. 8 and 9) are exchanged to determine if the application pages resident in the home terminal are current versions. Where necessary, outdated application pages in the home terminal are replaced by current versions which are downloaded to the home terminal, page by page, as need be, using the predefined message format. Updates are made only with respect to the application page(s) specific to the service of current interest to the user. This reduces the delay experienced by the user, while eliminating any requirement that all users have the same version of each application page.
Because some transactions available through the network involve individual financial accounts, an exchange of user verification messages is employed in these cases to ensure against unauthorized manipulation of consumer accounts. Accordingly this aspect of the invention, when the user has indicated his intention to perform a financial transaction or other transaction requiring access to a secure database, the terminal program interface (TPI) 10 instructs the terminal computer via a downloaded page to send a request for an encryption key. The TPI returns a randomly generated key. The terminal 2 uses this to encrypt the consumer's personal identification code (PIC), that is, a code indicating his right to access the secure database. The encrypted PIC is then transmitted to the network host 8 in a user verification message. Similarly, any other secure information may be encrypted at any time during a session if the terminal program includes instructions for sending additional encryption messages. Each time a key is requested, a new encryption key is generated.
After the user verification stage is complete, (which as noted above may also include a step of identifying the user to the terminal by input of his serial number, or identification of the terminal to the network host, either or both of which must be validated before the transaction can proceed) the consumer may perform various transactions with the informational and financial service computer systems. Such transactions can take a variety of forms, as will be understood by those of skill in the art.
Once the page updating procedure has been completed as necessary and the home terminal is loaded with the application pages necessary to access the service the consumer desires, the consumer can effect transactions with service providers. Operations the.a proceed in a simple and straightforward manner. The consumer is prompted by software downloaded to the home terminal as need be to provide any additional input required, and the appropriate message is sent, by the home terminal to the service computer which actively accesses the database bank records, etc., involved. Again, according to the invention, the home terminal 2 provides a user-friendly interface, and the network host computer 58 translates the user's responses to prompts, sent by the user terminal 2 to the host in a first format, into the format conventionally employed to access the particular service computer 20(a-d) providing the service desired.
In general, it is desirable that the prompts be sufficiently definite that the user can input all required instructions using only the 12 keys of a telephone keypad responsive to prompts which are updated in response to the sequence of prior responses. This greatly simplifies use of the system, and contributes substantially to the user friendliness which is a goal of the invention. However, in some cases it may be necessary to provide all 26 alphabetic keys as well, e.g. to spell out airline destinations. In such cases, a small keyboard sliding out of the housing of the user terminal may be provided. See U.S. Pat. No. Des. 312,457 (from design patent application Ser. No. 380,557). Of course, this problem does not arise if the system and method of the invention are employed to facilitate access to service computers using a conventional microcomputer 10.
As mentioned above, according to the invention, if the consumer wishes to use a service for which the home terminal has not stored the application pages, an explicit request message can be sent for the necessary pages. For instance, if the consumer is conducting transactions with his bank's computer system and desire to check stock market listings from the stock market informational services, the consumer exits the bank service and responds to menu guides then provided by the home terminal software to access a conventional stock market service. The application page which instructs the microcomputer to display the menu containing the stock market service option also contains the instructions to call up the stock market service application pages from the resident memory. Accordingly, if the home terminal 2 finds that the application page for the stock market service is not stored in the resident memory, the terminal 2 will send an explicit page request containing the page number for the stock exchange service application page to the network computer 8. This capability clearly provides unprecedented flexibility in provision of network access to users operating simple, low-cost, user-friendly terminal devices according to the invention.
The following provides additional exemplary details of typical message formats and communication sequences according to the invention. Other communication sequences, as needed, are within the skill of the art, given the disclosure provided by this application.
When a communication session between the home terminal 2 and the network host computer 8 has been established and both devices are prepared to communicate in the link level protocol message format of FIG. 2, the home terminal 2 sends a connect request message shown in FIG. 4. The connect request message contains no information in the message text field, but the connect bit, bit 3 of the status field 44 of the sliding window protocol header (see FIG. 1), is set to 1. The sequence and acknowledgment fields 40 and 42 are shown in FIG. 4 is set to zero, but the sequence number may begin as a number from 0 to 9.
When the network host computer 8 receives the connect request message of FIG. 4 from the home terminal 2, it sends a connect message response shown in FIG. 5. As with the connect request message, the connect bit in the status field 44 is set to
1. Although the sequence and acknowledgement fields 40 and 42 are again shown here as "0", the network computer echoes back, in the acknowledgment field 42 of the connect response message, the sequence number sent by the home terminal in the connect request message. As noted, the network terminal 8 may start the sequence with any number from 0 to 9. In its next message, the home terminal 2 will similarly include an acknowledgement number equal to the sequence number of the connect response message. The other fields of the connect and connect response messages are as described above.
As discussed above, to ensure the availability of the most current software on the home terminal, individual HAL pages resident in the home terminal are updated as necessary. Superseded and outdated pages are purged, and revised versions replace earlier versions. As storage is limited in the home terminal 2, only the pages that are frequently used by the individual consumer are resident in the home terminal. Infrequently used pages can be provided by the network host computer 8 when needed by the home terminal 2 to access infrequently used network service providers. The updating process occurs at the beginning of each session, but page downloads can be requested at any time throughout the session, after the log-on process has been completed. The same communication process can be used to update pages normally stored in the home terminal when necessary.
Current versions of all HAL pages are stored by the network host computer. When new versions are developed, the new pages are transferred to the data bank of the network host computer 8. The updated pages are transferred to the home terminal 2
page-by-page during normal communication sessions.
The format of the message text field of messages exchanged during the page downloading process is different than when used for transaction messages. FIGS. 6 and 7 illustrate, the different formats used within the message text field 34 with respect to conventional transaction messages and page downloading messages, respectively. As shown in FIG. 6, the transaction message includes a transaction type code field 62. All transaction type codes are three characters in length. The subsequent message elements 62, 64, 68, 60 are identified by their positions in the text field rather than by element ID fields.
More particularly, as shown in FIG. 6, the message text field 34 includes at least four sub-fields when used for sending transaction message text. The first field of the message text field 34 is a transaction type code 62, which is normally numeric. This is followed by one or more groups of three fields. Each group of three fields includes an element identification field 64, an element length field 68 and the actual element data field 60. For example, when the service computer 20(a-d) selected requires a user identification number, and a request to this effect has been sent to the home terminal 2 by the network host computer 8, the remote terminal generates a message including a code in the element ID field 64 indicating that the subsequent element data field 60 includes the user identification number. The element length field 68 then simply includes the actual length in bits of the data element 60. Additional data, such as the user account number, can be included in the same message; again, the account number would be located in an element data field 60, and would be preceded by an element ID indicating that the subsequent data field includes the account number, and an element length field 68.
This method of communicating data elements, by providing them in groups of three fields, specifying the element identification and the element length, is important to the efficient realization of the communications scheme according to the invention.
FIG. 7 shows the format of a page downloaded message. This format is used for downloading pages of HAL software from a network host computer 8 to the individual terminals 2. For example, suppose the home terminal 2 is used to initiate a communication session in response to a user's pressing a key identifying the initial request for access to a service computer 20(a-d). The initial request for access to a service will be interpreted by the network host 8 to specify the HAL application page to be used to access the service computer. If necessary, the network host will download the latest version of that page using the downloading message text format shown in FIG. 7. This text is stored in the message text frame 34 of the overall message shown in FIG. 2.
The downloading message text format commences with a transaction type code field 80 in which is provided an alphabetic transaction code indicating, for example, that the subsequent data is a page of a HAL application program. This is followed by a page number field 84 which includes the page number of the following page of software, or other identification data needed.
Finally, the actual application software page needed by the home terminal is provided in a page data field 86.
The following description of FIGS. 8 and 9 provides a more detailed view of the way in which the home terminal and network host determine that an update of a particular software page or pages is necessary. As noted, to ensure that the home terminal does not utilize outdated application pages, each session begins with a page update exchange. These are exemplary of transaction text messages, and will provide to those of skill in the art sufficient information to implement the other communications necessary to effect the functions of the invention. Other necessary messages generally follow the same format; their detailed functions and implementation are considered to be within the skill of the art.
The home terminal sends an update reference number (URN) request message following the receipt of the connect response message. Referring to FIG. 8, the URN request message is a normal message containing the URN coded request in the message text field. The URN request begins with a transaction code 62, shown here as VER. Thus, the data field 34 in this request message comprises the page numbers 68 of the application pages stored in the home terminal 2 at the beginning of the present session.
The URN messages also specifies in a field 70 marked P/H which type of home terminal is being used. This information is important in determining the priority used in sending update information. The final data field 76 includes the terminal ID (AVID). If the ADIU 76 is not validated, or has been de-validated, e.g., upon failure of the user to keep his account current, the transaction is ended.
The network computer responds to the URN request message of FIG. 8 with a URN response message shown in FIG. 9. The transaction code 62 (VER) is repeated. This repetition of transaction codes is used in all transaction messages in order for the, receiving device to determine the request message to which a given response applies. This feature is of great importance when several requests are outstanding and responses are returned out of the order in which the requests were made, that is, in connection with message exchanges not employing the sequence and acknowledgement fields of FIG. 2.
The next data field 72 in the URN response is the URN for the current application page stored in the network computer. The final data field is a 2 digit status code 74 which informs the host terminal whether page updating is necessary.
If the home terminal URN is lower than the network computer URN, page updating is necessary. The network host computer 8 accumulates the list of pages that have new versions from a cross reference file, employing the home terminal URN and the network terminal URN.
An immediate send flag is provided which is set to "1" for pages related to particularly significant functions such as log-on or the main menu displayed to the user. These pages are downloaded prior to sending the URN response message, that is, immediately upon establishment of the session. If any of the pages have an Immediate Send flag set to "1", they are put at the top of the download file. The pages with the flag set to "0" are put in a zero length transactional file:
If during the session, following the page update process, the consumer wishes to use a service for which the home terminal does not have the necessary pages, an explicit page request can be sent.
According to the invention described in Ser. No. 07/439,739 and FWC 08/104,931 (Ahlin et al.), certain elements of the hardware of the user terminal 2 are provided by a logic cell array chip, which is reconfigurable using software downloaded from the network host computer as needed. Such reconfiguration software is stored in a remotely erasable read only memory. Other system functions, such as those necessary to accept and store the reconfiguration software, are provided by permanently written read only memory and by nonreconfigurable hardware.
As indicated above, application programs are downloaded as needed responsive to the user's selection of a particular service. According to another aspect of the invention the underlying software of the terminal, which is necessary to support downloading the application programs, provide display control, carry out communication with the network host 8, provide an initial "main menu" display, and so on, may also be updated from time to time by downloading revised versions from the network host. Preferably this is done separately from any user communication, e.g. outside normal working hours, and is done in such a way that the telephone does not ring. Details of the software structure and its functional partitioning, as well as the way in which the various software components are handled by the terminal, can also be found in Ser. No. 07/439,739 and FWC 08/104,931 (Ahlin et al.).
It will be appreciated by those of skill in the art that there have been described several important and unique aspects of the system of the invention. Of particular importance in allowing a user friendly home terminal system such as the "enhanced telephone" described in the Weiss applications to be employed with a variety of service computers is the concept of providing a network host computer which receives relatively simple requests from the terminal, and responds to these with requests for any additional data required, together with screen commands and the like, such that the home terminal can readily prompt the user to provide whatever additional data is needed. In this way the "intelligence" of the network host is effectively combined with that of the user terminal to generate all information required to access the various service computers. This limits the amount of communication between the user and the service computer to a minimum, which is important in reducing the cost of the service to the consumer.
The use of the network host 8 to update the software comprised by the home terminal page by page also has great significance, in that in this way the home terminal can be provided with many additional capabilities, while remaining a relatively inexpensive and compact unit and retaining the "user-friendly" appearance of the Weiss enhanced telephone, which is highly desirable. Furthermore, this capability allows access to further services to be provided in the future without requiring any physical modification of the terminal. The "sliding window" error detection and correction scheme is also highly useful in realizing the objects of the invention.
The use of the standardized message format discussed above, in which varying numbers of individual data elements can be communicated back and forth between the home terminal and the network host, simply by specifying the identification of the element, is also of great utility, inasmuch as this greatly simplifies communication between the terminal and the network host and renders this communication relatively flexible. At the same time, use of the same overall message format for all messages, including both data items such as user identification numbers and software such as downloaded pages, further simplifies the communication scheme provided according to the invention.
The following description relates to FIGS. 11-19, which are added in the patent application filed Aug. 25, 1993.
The home services delivery system that has been described in U.S. Pat. No. 5,195,130 (Weiss et al.; hereinafter "the '130 patent") as well as in FIG. 1 of the patent application Ser. No. 07/433,825 (hereinafter "the '825 application") may be implemented with several variations. Among the variations include different combination of placement of the packet assembly and disassembly (PAD) function and of the applications program storage.
Generally, the host computer and the home terminal share the functions of packet assembly and disassembly and storage of the applications program.
For example, when a "dumb" terminal is used, the terminal has no PAD and no applications programs. In this case, the host system performs the PAD function and retains the applications programs.
At the opposite extreme, such as one using the home access language (HAL), both the PAD and the applications programs (or downloaded "pages" thereof) are resident in the terminal. In this case, the terminal must be a comparatively "smart" terminal.
A compromise to these two extremes may be chosen, in which the PAD is placed in the home terminal (such as a telephone unit), but the applications programs are retained in the host computer. In this compromise configuration, the functions are distributed strategically between the home terminal and the host computer. By placement of the PAD in the home terminal, a highly responsive user interface is provided in a small unit. In this arrangement, applications programs do not have to be downloaded to the home terminal, and the home terminal need not include costly storage components which take up physical space. An embodiment of this architecture is illustrated in FIG. 12, and will be subsequently described in greater detail.
FIG. 19 of the '130 patent has been reproduced herein as FIG. 10. The following text is based closely on that of the '130 patent.
The FIG. 10 telephone-computer accesses a network host as described in application Ser. No. 433,825, filed Nov. 9, 1989. As shown in FIG. 10, each user is provided with a telephone-computer 1, including the display 4 and the keypad 3 or an equivalent terminal 19 with a keyboard, which communicates via conventional telephone lines indicated generally at 18, with network host computer 60. Hereafter, the term "terminal" shall mean the telephone-computer 1 or a PC terminal 19.
The network host computers include Terminal Controllers 59a and Interchanges 59b. The terminal controller comprises hardware and software functions.
One essential function of the network host computer 60 is to provide a series of application program "pages" which are downloaded to the terminal. The downloaded program pages supply the terminal with sufficient "prompts" to elicit from the user whatever information, i.e., user codes, desired transactions, and the like, required to access one of a plurality of service computers 60a-d to which the network host computer 60 is connected via conventional telephone lines.
More p