`Aytac
`
`[19]
`
`[54] COMPUTING AND COMMUNICATIONS
`TRANSMITTING, RECEIVING SYSTEM,
`WITH A PUSH BUTTON INTERFACE, THAT
`IS CONTINOUSLY ON, THAT PAIRS UP
`WITH A PERSONAL COMPUTER AND
`CARRIES OUT MAINLY
`COMMUNICATIONS RELATED ROUTINE
`TASKS
`
`[76]
`
`Inventor: Balok M. Aytac. 10270 Parkwood Dr.
`8. Cupertino. Calif. 95014
`
`[21] Appl. No.: 569,846
`
`Dec. 8, 1995
`
`[22] Filed:
`Int. Cl.6
`........................................................ G06F 1/32
`[51]
`[52] U.S. Cl ........................................ 395/200.41; 395/821
`[58] Field of Search ..................................... 395/871. 474.
`395/200.01. 200.05. 281. 306. 309. 802,
`892. 882. 285. 500. 200.41; 345/156
`
`[56]
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`4,688,171
`4,839,802
`4,878,196
`4,974,192
`4,982,324
`4,994,963
`5,239,632
`5,361,134
`5,367,647
`5,530,894
`5,577,205
`5,590,339
`
`8/1987 Selim et al ........................ 395/200.02
`6/1989 Wonak et al ........................... 395/834
`10/1989 Rose ........................................ 395n5o
`11/1990 Face et al. .............................. 395/821
`1/1991 Mcconaughy et al ............ 395/200.09
`2/1991 Rorden et al ........................... 395/309
`8/1993 Larner ..................................... 395/306
`11/1994 Hu et al. ................................. 3581296
`11/1994 Coulson et al ......................... 3951285
`6/1996 Farrell et al. ........................... 395/800
`11/1996 Hwang et al ...................... 395/200.01
`1211996 Chang ..................................... 395/838
`
`OTHER PUBLICATIONS
`
`1Xf & T Computer Telephone 8130.
`Zyxel Elite 2864 Modem.
`IBM Seho Assistant. 7852001.
`
`111 ~llll Ill ll~l l~ll Ill II lllll Ill~ lllll llll llU~ 1111111111
`5,758,081
`May 26, 1998
`
`US005758081 A
`[111 Patent Number:
`[451 Date of Patent:
`
`Brooktrout Quadrafax 2.0 Fax on Demand System.
`Conon Multipass 1000 Multifunction Peripheral.
`Lumina Series 2000 Multifunction Peripheral w/o Printer.
`
`Pacific Image Electronics Scon Media Multifunction Periph(cid:173)
`eral without a Printer.
`
`Primary Examiner-Dinh C. Dung
`
`[57]
`
`ABSTRACT
`
`An embedded computer, CaTbox, is connected to a PC via
`SCSI cable, and to a telecommunications switch. CaTbox
`runs an operating system. CaTOS. and contains a hard disk
`accessible to PC as a SCSI disk called CaTdisc. Print jobs
`issued from PC are transferred as files to CaTdisc. queued by
`CaTOS and driven in the foreground to a printer attached to
`CaTbox. CaTbox has an LCD screen. keypad. and is con(cid:173)
`nected to telephone handsets. While PC and printer are off,
`CaTbox receives faxes. voicemail. email and stores them on
`CaTdisc. It delivers IITML pages stored on CaTdisc. Key(cid:173)
`pad directed. CaTbox plays voicemail and prints faxes or
`email. Modems on CaTbox, CaTmodems, are available for
`data. voice, fax communications from PC. A scanner on
`SCSI bus may be driven by CaTbox via keypad to scan
`documents to store on CaTdisc, print or send as faxes.
`CaTOS has step tables for each modem. actions, foreground
`programs, configuration files, and queues. Steps hold actions
`that execute within a time slice for a modem during timer
`tick. Actions emit. record messages, queue foreground pro(cid:173)
`gram requests, queue requests for another step, call other
`actions. idle. answer a call etc. Steppers within each time
`slice move execution from step to step based on keypad
`inputs, events, conditions, and contents of step tables. Fore(cid:173)
`ground programs move files to, from memory. print. scan
`etc. Idle actions check a queue for steps to execute. A
`scheduler runs after timer ticks to choose the next fore(cid:173)
`ground program.
`
`14 Claims, 16 Drawing Sheets
`
`107
`
`117
`
`105
`
`HANDSET
`
`T 1 3
`
`PHONE LINES
`
`TELEPHONE
`NETWORK
`
`c 101
`
`125
`
`PC HD
`
`SCSI
`
`113
`
`114
`
`SCANNER
`
`104
`
`103
`
`122
`
`ZTE (USA) 1005, Page 1
`
`
`
`Ii-I.
`QC
`Q
`'4
`QC
`Ul
`"--l
`-..
`Ul
`
`O'I
`~
`~
`
`~
`
`00 [
`
`~
`~
`~
`s:
`
`~
`
`~
`~
`•
`00
`~ •
`
`122
`I
`120
`I
`118
`
`103
`
`104
`
`FIG. 1
`
`PRINTER
`
`SCANNER
`
`PARALLEL
`
`~==::;::\~\~\~\~NETWORK
`PHONE LINE~ I TELEPHONE
`115
`T 123
`
`HANDSET
`
`102
`
`124
`
`114
`I J HD CaT
`
`125
`
`MICROPHONE
`
`PC HDI 7scsi
`c 101 ;
`
`113
`
`105
`
`117
`
`SPEAKER
`
`RECEIVER
`
`107
`
`ZTE (USA) 1005, Page 2
`
`
`
`"' = QC
`
`~
`
`QC
`01
`"' ....,J
`01
`
`Q°'\
`!--'
`~
`N
`P1'-
`~
`
`~ ;
`
`QC
`\C
`\C
`!--'
`JI'
`N
`~
`~
`
`~ = """" ~ = """"
`
`•
`00
`~ •
`
`223
`
`207
`
`206
`
`205
`
`FIG. 2
`
`LED
`
`LCD
`
`KEYPAD
`
`200
`
`I MODEM4 ~211
`
`x > 2
`X86
`
`201
`
`221~ · CHIPSET
`
`s
`
`u
`
`B
`
`204
`
`290
`
`MODEM3 r210
`
`I
`
`MODEM2 r209
`
`MODEM1 ~20B
`
`1
`
`I
`1
`
`I
`
`I
`
`I
`
`I
`
`I
`
`RAM
`
`RAM
`
`RAM
`
`RAM
`
`A 203~
`I
`s
`I
`
`I
`
`I
`
`I BIOS EPROM I
`
`202
`
`CHIP
`SCSI
`
`IDE
`
`CHIP
`1/0
`
`222
`\
`
`L
`E
`L
`L
`A
`R
`A
`214, I P
`
`213"" ~
`c
`s
`
`ZTE (USA) 1005, Page 3
`
`
`
`~
`QC
`~ 0
`QC
`Ol
`~ .......
`01
`
`~
`........
`~
`w
`......
`rJ:J =- f'I)
`
`f'I)
`
`~
`........
`~
`~
`~
`
`~ ;-a
`
`•
`00.
`d •
`
`303~//I
`
`U.S. Patent
`
`,4M
`
`6»2
`
`8991
`
`Sheet 3 of 16
`
`5,758,081
`
`,)
`
`314
`
`313
`
`312
`
`FIG. 3
`
`"'
`
`,,
`
`I
`
`-~ T ~ /r,.:7"'"~""
`
`[""""'""""' K\'Z\"""""'
`
`--r ~ ~
`
`315
`
`.J-/
`
`325
`
`302
`
` r~mEA
`
`308
`
`ZTE (USA) 1005, Page 4
`
`
`
`U.S. Patent
`
`May 26, 1998
`
`Sheet 4 of 16
`
`5,758,081
`
`0
`
`LO
`
`0 v
`
`-LL
`
`ZTE (USA) 1005, Page 5
`
`
`
`.... = QC
`"' ~ "' QC
`
`~
`
`"""'" ~
`~
`
`(h
`~
`00 g
`
`"""'" ~
`
`51'-
`N
`~
`a::
`
`~ a
`~
`•
`rJl
`~ •
`
`0
`
`82
`
`83
`
`I
`
`BIOS
`
`I
`
`~/
`iv
`i/
`I VOICE FILES I
`I
`I
`
`DOS
`
`CATVOICE
`
`CAS TSR
`
`I
`
`CAT.CFG
`
`I STEP TABLES I
`
`I DOS PROGRAMS I
`
`~
`
`590
`
`L/
`
`CaTOS
`
`CaTBOX
`
`581
`
`s
`y
`s
`I
`p
`s
`A
`M
`
`557
`~
`LUN=7 555
`
`""
`
`LUN=5 552
`~
`LUN=2 551
`
`LUN=4 550
`
`..._,
`
`LUN=O
`
`\ SCSI
`
`102"--
`
`113
`
`LUN=1 554
`
`..._,
`
`""
`
`'
`
`521
`
`'
`
`\
`H WINDOWS95
`s
`y
`s
`~ CATSER.vxo· 1 .
`s
`-~ CATCAS.EXE l 0
`D
`H WINFAXPRO -l 2
`I
`-~ CATSYNC.VXD ~ p
`s
`-{_ASPIDISK.SYS I A
`
`FIG. 5
`
`'
`
`-
`
`PC
`
`10\
`
`520
`
`525
`
`524
`
`526
`
`52
`
`52
`
`ZTE (USA) 1005, Page 6
`
`
`
`~
`
`Q oc
`,,..
`Ut oc
`'I
`,,..
`Ut
`
`"""" ""
`"" a,
`~
`00. ;
`
`"""" !
`~
`~
`~
`
`~ = ;-a
`
`•
`00
`~ •
`
`", OOh, OOh
`
`II
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`; #and NULL doc no
`; #and non NULL doc no
`; *goto emit_doc_list
`; tmo for in coming fax
`; tmo, no dtmf, timeout etc
`; if all goes well
`
`"thank you!
`"press #
`"document number and ", OOh
`"please enter faxback"
`LCD MESSAGE YES
`vcon_session_faxback_doc_number
`DO NOT STOP ON OLE
`vcon_session_repeat_count
`ACD_GET_FAXBACK_DOC_NUMBER
`vcon session filename H
`DO_NOT_EXPECT_DTMF
`OOOOh
`OOOOh
`0046h
`OOOOh
`OOOOh
`0047h
`JUMP UNCOND
`ST _ANNOUNCE_AND _COLLECT _DIGITS
`
`acd_bdfbx_get_doc_no
`; BUILD FAXBACK DATA BASE (1)
`'
`·******************************************************
`*
`' ·*
`·******************************************************
`
`BUILD FAXBACK DATA BASE
`
`db
`db
`db
`db
`dw
`dw
`dw
`dw
`dw
`dw
`dw
`dw
`dw
`dw
`dw
`dw
`dw
`dw
`dw
`
`FIG. 6
`
`step_0046_parameters
`
`step_0046_next_step
`
`ZTE (USA) 1005, Page 7
`
`
`
`~
`
`,_. = QO
`
`QO
`01
`....J
`,_.
`01
`
`"""'" ~
`~
`-..I
`
`~ ll.
`g:
`
`"""'" ~
`~~
`~
`~
`
`QC
`
`~ = """'" a
`
`•
`00
`~ •
`
`----------------
`dtmf
`dtmf
`not expect
`value if do
`if expect
`dtmf value return flag
`
`flag= D
`flag= C
`flag= B
`flag= A
`flag= 9
`flag= 8
`flag= 7
`flag= 6
`flag= 5
`flag= 4
`flag= 3
`flag= 2
`flag= 0
`flag = 1
`
`FIG. 7
`
`dtmf = 9
`dtmf = 8
`dtmf = 7
`dtmf = 6
`dtmf = 5
`dtmf = 4
`dtmf = 3
`dtmf = 2
`dtmf = 1
`dtmf = 0
`dtmf = #
`dtmf = *
`no dtmf
`flag= 1
`--------------
`
`13
`12
`11
`10
`9
`8
`7
`'11 NO I DTMF expected? I
`6
`5
`4
`3
`2
`1
`0
`
`I ag-
`_ 1? I NO
`l
`
`·I
`
`YES I fl
`
`on DTMF value
`step word based
`goto step at next
`
`step word 1
`goto step at next
`
`YES
`
`DTMF?
`is there any
`
`YES
`
`,,
`
`NO
`
`on flag value
`step word based
`goto step at next
`
`step word 0
`goto step at next
`
`word
`
`ext step
`tep table
`
`for current step
`identify action
`
`l
`
`until action complete
`at each timer tick
`keep calling action
`
`ZTE (USA) 1005, Page 8
`
`
`
`U.S. Patent
`
`May 26, 1998
`
`Sheet 8 of 16
`
`5,758,081
`
`~ <( w (/) I- 0:: 0
`
`<( o 1- - o z (/)I
`(/) 1- w a.. a.. w a::: 1
`<( o 1- - o z (/)I
`en 1- w a.. a.. w a::: I
`
`en
`E
`CtS
`L-
`Cl
`0
`L-c.
`""C c:
`:J
`0
`L-
`Cl
`Q.)
`L-
`~
`~ <! w (/) I- 0::: 0
`
`I<( o 1- - o z cnl
`I(/) i- w a.. a.. w o::I
`~<( (.) I- -
`0 z (/)
`H(/) 1- w a.. a.. w o:::
`
`0
`N co
`
`'
`
`_/
`
`0
`T""" co
`
`JI
`Jj
`
`N
`
`E
`
`w
`~
`I-
`
`co
`•
`
`C) -LL
`
`ZTE (USA) 1005, Page 9
`
`
`
`._. = QC
`
`QC
`tit
`~
`tit
`
`~
`
`C°'I
`~
`~
`~
`~
`('I)
`00 :r
`
`00
`~
`~
`~
`s:::
`
`~
`
`~ = """'" ·~ a
`
`•
`00
`0 •
`
`launch high priority program I resume current program I,
`suspend current program
`
`NO
`
`~
`
`YES
`
`L_jYES
`
`program to run?
`is there a high priority
`
`~
`
`for foreground?
`is there a host request NO ::
`
`set lnDOS flag
`running program,
`request, suspend
`acknowledge
`program
`resume this
`
`lnDOS flag
`for foreground then reset
`I was it a high priority program? ~ if this is an end of request
`
`YES
`
`MTICS[2]
`
`MTICS[1]
`
`MTICS[O]
`
`(MTQ)
`
`Task Queue
`MAESTRO
`
`-clear entry for completed program r-
`
`l
`
`as completed
`
`YES update MTICS entry
`
`I
`time tick?
`completed since last
`was running program
`
`NO
`
`was there a running program?
`
`YES
`
`FIG. 9A
`
`determine first suspended program
`determine first low priority request
`determine first high priority request
`
`NO
`
`unfinished program?
`was there an
`
`YES
`
`high priority requests
`last timer tick and determine
`acknowledge requests since
`
`J
`
`ZTE (USA) 1005, Page 10
`
`
`
`~
`
`"' = QC
`QO
`01
`"' .....J
`01
`
`~
`~
`
`S:
`Q
`~
`
`~ a
`
`~
`~
`~
`~
`
`~
`
`~ ..... g .....
`
`•
`'fJJ.
`0 •
`
`until next timer tick
`loop in MAESTRO
`
`1>
`
`NO
`
`I launch this program
`YES
`
`,,
`
`I is there a low priority program? I
`
`NO
`
`I resume this program I
`
`!YES
`
`I is there a suspended program? I
`
`'
`
`then reset lnDOS flag
`request for foreground
`if this is an end of
`
`"
`
`NO
`
`NO
`
`I launch this program I
`
`YES
`
`I is there a high priority program to run? i
`
`for foreground?
`is there a host request
`
`YES
`
`set lnDOS flag
`acknowledge request
`
`ZTE (USA) 1005, Page 11
`
`
`
`~
`
`"9 = 00
`"9 " 01
`
`00
`
`01
`
`Cl'\
`~
`
`~
`~
`
`s,
`
`~
`
`00 =(cid:173)~
`
`00
`~
`~ ...
`~
`a:
`
`~
`
`t'O a
`~ =
`•
`~ • r::.fJ.
`
`.......
`
`DTMF value
`word based on
`step at next step
`stepper will goto
`exit TMO
`
`any DTMF
`
`.,
`
`check .DTMF~
`
`17
`
`YES
`
`expected?
`from keypad
`is DTMF
`
`step at next step word 0
`stepper will goto
`exit TMO
`
`NOi I in next step word 0
`
`YES
`
`stepper will set step=O I ~
`set flag=2, exit TMO
`RING to CAS TSR
`MODEM MODE=FAX
`
`FIG. 10
`
`control passes to TMO
`
`(voice call processing)
`step at next step word 1
`stepper will goto
`exit TMO
`set flag = 0
`
`MODEM MODE=VOICE
`of fax. if found
`looks for FKS i.e. end
`CAS TSRs UART ISR
`
`from TTQ and enter it
`get next step number
`
`·
`
`fax CNG tone?
`fax CNG tone
`
`sound, check for h set flag= 1
`
`emit RINGBACK
`
`I issu~ ATA]
`
`6
`
`NO
`
`TTQ request? r1 NO
`
`YES I is there a
`
`YES I RING detected? hNo
`
`.
`
`ZTE (USA) 1005, Page 12
`
`
`
`~
`QC
`0
`,..
`QC
`Ol
`~
`Ol
`
`~
`
`....
`g,
`N
`l ....
`
`c:7'I
`
`00
`~
`"'~ ....
`~
`~
`
`~ = ..... a
`
`• 00 •
`Cj
`
`; FBXBLD.PCM
`
`; #and NULL doc number
`; #and non NULL doc number
`; *goto emit_doc_list
`; . tmo needs this for incoming fax
`; tmo, no dtmf, timeout etc
`; make file name for tcf file
`
`-
`
`-
`
`-
`
`'
`" OOh OOh
`
`'
`
`II
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`"thank you!
`"press #
`"document number and ", OOh
`"please enter f axback"
`LCD MESSAGE YES
`vcon session faxback doc number
`DO NOT STOP ON OLE
`vcon _session _repeat_ count
`ACD GET FAXBACK DOC NUMBER
`vcon_session_filename_H
`DO_NOT_EXPECT_DTMF; F=O works
`OOOOh
`OOOOh
`0046h
`OOOOh
`OOOOh
`004 7h
`step_ 0046 _parameters
`JUMP UNCOND
`ST ANNOUNCE AND COLLECT DIGITS
`
`acd_bdfbx_get_doc_no
`'
`. ***********************0046 **************************
`*
`·*
`·******************************************************
`
`BUILD FAXBACK DATA BASE
`
`db
`db
`db
`dw
`dw
`dw
`dw
`.dw
`dw
`dw
`dw
`dw
`dw
`dw
`dw
`dw
`dw
`dw
`dw
`
`db
`
`FIG. 11A
`
`step_ 0046 _parameters
`
`step_0046_next_step
`
`ZTE (USA) 1005, Page 13
`
`
`
`-.. = 00
`
`00
`'-It
`~
`'-It
`
`~
`
`~ -~
`! -w
`
`g:
`
`--~ -~
`
`~
`~
`
`~
`• ;p
`
`00
`•
`Cj
`
`", OOh, OOh
`"
`
`; SFXMSG.PCM
`
`-
`
`-
`
`; dtmf_ 1 =scan to pcx
`· dtmf 0 =
`; dtmf _ # = ttq_req
`'
`· dtmf *
`; no dtmf, repeat first
`
`-
`
`-
`
`I
`
`"pages to scan
`"press # if no more
`"scanner and press 1 ", OOh
`"place page to fax on"
`LCD MESSAGE YES
`DO_NOT_STOP_ON_DLE
`VCON SPEAKER
`vcon_session_filename_7
`EXPECT DTMF
`0048h
`OOOOh
`OOOOh
`OOOOh
`OOOOh
`0048h
`step_0047 _parameters
`DTMF ANALYZE
`ST EMIT MSG
`
`em bdfbx data base
`; ***********************O 04 ?**************************
`
`-
`
`-
`
`db
`db
`db
`db
`dw
`dw
`dw
`dw
`dw
`dw
`dw
`dw
`dw
`dw
`dw
`dw
`dw
`dw
`
`FIG. 118
`
`step_ 004 7 _parameters
`
`step_0047 _next_step
`
`-
`
`-
`
`-
`
`ZTE (USA) 1005, Page 14
`
`
`
`~
`QC
`Q
`'1 °' QC
`...
`°' ...
`
`~
`
`~
`
`00
`
`a
`~ = ~
`0 • 00.
`
`•
`
`;argument_ 1 not used
`; SCTOPCX.EXE
`
`; in case scanner is off etc.
`
`; flags register for this step
`
`LCD MESSAGE NO
`; no LCD message
`~ ....
`WAIT_TO_COMPLETE ; sctopcx.exe (FS)
`.a::..
`....
`step_table_seg_number; of fn to be returned by
`.....
`vcon_session_fax_filename ;argument_2 SEG:OFF ~
`OOOOOOOOh
`vcon_session_constant_7
`DO_NOT_EXPECT_DTMF + SP _PARAM_2_SEG ~
`--~
`OOOOh
`i
`0049h
`step_ 0048 _parameters
`JUMP _UNCOND
`ST START PROGRAM
`
`dw
`dw
`dw
`dw
`dd
`dw
`dw
`dw
`dw
`dw
`dw
`dw
`
`FIG. 11C
`
`step_ 0048 _parameters
`
`step_ 0048 _next_ step
`
`sp _ bdfbx _ sctopcx
`'
`. ***********************0048 **************************
`
`-
`
`-
`
`ZTE (USA) 1005, Page 15
`
`
`
`~
`
`.... = 00
`
`00
`01
`....J
`....
`01
`
`"' ~ ....
`a ....
`ga
`
`~
`
`~
`~ ....
`f
`
`~
`~ =
`•
`00
`0 •
`
`; BLDFBXDB.EXE
`
`; in case scanner is off etc.
`
`; flags register for this step
`
`LCD MESSAGE NO
`WAIT_TO_COMPLETE
`; sctopcx.exe (FS).
`step_table_seg_number
`; of fn to be returned by
`vcon_session_fax_filename ; argument_2 SEG:OFF
`step_table_seg_number
`vcon_session_faxback_doc_number; argument_ 1
`vcon_session_constant_L
`DO NOT EXPECT DTMF + SP PARAM 2 SEG
`OOOOh
`0047h
`step_ 0049 _parameters
`JUMP _UNCOND
`ST ST ART PROGRAM
`
`-
`
`-
`
`sp_bdfbx_incbdfbx
`'
`· ***********************O 04 9**************************
`
`-
`
`-
`
`dw
`dw
`dw
`dw
`dw
`dw
`dw
`dw
`dw
`dw
`dw
`dw
`dw
`
`FIG. 110
`
`step_0049_parameters
`
`step_0049_next_step
`
`ZTE (USA) 1005, Page 16
`
`
`
`'Al = 00
`
`~
`
`00
`01
`~
`01
`
`'Al
`
`~ ""
`
`~
`
`~ -~ "" s,
`
`~
`~
`~
`s::
`
`~
`
`"""'" a
`
`~
`•
`00
`0
`
`FIG. 12
`
`action: TTREQ
`step table entry
`
`DI
`
`I
`
`action: start_program (program1 .exe)
`step table entry
`
`t1
`
`TTICS[2]
`
`TTICS[1]
`
`TTICS[O]
`
`(TTQ)
`
`TMAESTRO TASK QUEUE
`
`action: emit_msg
`step table entry
`
`u
`
`action: TMAESTRO (TMO)
`OOOOh
`step table entry
`
`ZTE (USA) 1005, Page 17
`
`
`
`5,758,081
`
`1
`COMPUTING AND COMMUNICATIONS
`TRANSMITTING, RECEIVING SYSTEM,
`WITH A PUSH BUTTON INTERFACE, THAT
`IS CONTINOUSLY ON, THAT PAIRS UP
`WITH A PERSONAL COMPUTER AND
`CARRIES OUT MAINLY
`COMMUNICATIONS RELATED ROUTINE
`TASKS
`
`FIELD OF THE INVENTION
`
`The present invention relates generally to communica(cid:173)
`tions via electronic means using computers. and particularly.
`to methods and apparatus which implement telephony. voice
`reception. storage. playback. delivery. fax reception,
`printing, storage. delivery. call processing. electronic mail
`retrieval, multimedia content delivery. HITP server func(cid:173)
`tions in a standaside fashion in relation to computers.
`
`BACKGROUND OF THE INVENTION
`
`The present invention relates to a splitting of the Personal
`Computer in two units one of which may be the PC as is
`known today, including portable computers, and the other is
`described with this invention.
`There are earlier models for this idea: The TV is paired
`with a VCR; the radio is paired with a tape recorder; the
`telephone is paired with an answering machine. In all these
`cases. a real time device is paired with a storage device.
`The TV and radio are respectively video/sound and sound
`real time broadcast receivers. The VCR is used to record TV
`signals when TV is either off or on. One reason why TV and
`VCR are split maybe the disparity in power consumption.
`Consumers may leave their VCR operating while they are
`away, to record desired programs. VCR' s do not consume
`much power. On the other hand, TV consumes more power.
`generates heat. Splitting the real time from the storage
`device, different power supplies may be employed so that
`VCR may be left on while TV is off.
`Radio and tape recorder are typically only when the user
`is present. Sometimes these devices are split, sometimes
`they are housed in the same box. In all cases, they are
`separately operated, as in TV NCR. with different sets of
`push buttons guiding each unit.
`The phone and the answering machine are sometimes
`housed in the same box and sometimes in separate boxes.
`The advantage of separate boxes is enabling the user to
`receive a phone call while he is listening to his messages.
`The phone and the answering machine are always on. The
`phone is powered from the Central Office and the answering
`machine is powered locally.
`The computer. being a programmable device, can mimic
`the functions of all the devices described above and more.
`Indeed, all these functions have already been implemented
`inside a computer. especially personal computers (we will
`include portable computers with personal computers and
`sometimes call them PC's). Unfortunately, with the flexibil-
`ity also comes complexity.
`The preferred way to choose functions on a TV NCR,
`phone/answering machine. and radio/tape recorder is via 60
`push buttons each of which denotes a fixed function. The
`computer, being far more flexible and this flexibility being
`made available to the user, works with a keyboard which can
`receive commands in the user's language. The keyboard
`allows a virtually unlimited number of commands. Graphi- 65
`cal User Interfaces, on the other hand, coupled with pointing
`devices, create a push button type model on the monitor
`
`2
`screen although more tedious to use than a push button
`interface on a telephone or fax machine.
`The immense popularity of the Personal Computer Pa'
`brought about a large peripherals industry. The varieties of
`5 functions that are possible and attractive are straining the
`capabilities of the PC/ Pa'. Internal attachments to the PC/ Pa'
`bus that perform fax, voice mail. electronic mail functions
`are available.
`Users of personal computers are having to stretch their
`10 intellectual capabilities installing hardware and software. In
`the words of PC Magazine editor, Michael J. Miller. "Setting
`up hardware so it works with all your software. and vice
`versa. is ridiculously complicated on the PC." (PC
`Magazine, Mar. 14. 1995. p. 79) Graphical user interfaces
`15 (GUI) have brought some order on the desktop but have not
`quite solved the limitations of the hardware and the diffi(cid:173)
`culties of multiple pieces of software all working together.
`A spot check of user mail to Compuserve forums for
`Windows 95 GUI based operating system on Aug. 28. 1995
`20 showed that COM ports and IRQ (interrupt) problems are
`very much alive.
`Machines that perform fax and voice mail functions
`independently of a PC have been around for quite some
`time. The telephone answering machine was already men-
`25 tioned. The fax machine is connected to the phone line
`which it may or may not share with a telephone. These
`machines are easy to use as they are operated with push
`buttons. They are available to perform around the clock as
`they do not consume much power. These machines are also
`30 able to work with answering machines. If a phone call comes
`in and it is not a fax. the call is passed on to the answering
`machine. Some incorporate the answering machine function.
`A drawback of these machines is lack of long term storage.
`Accordingly. incoming faxes are stored on paper that is they
`35 are printed right away. Usually, there is some RAM in case
`paper runs out. Some fax machines have connections to a
`PC. This way the scanner and printer inside a fax machine
`can be used by the PC. Typically, this is a serial or parallel
`connection. The reason for this connection is as follows: fax
`40 machines originated during the days of the typewriter. A user
`typed a letter and then inserted it into the fax machine to be
`sent. With the advent of personal computers, documents
`were created mostly with word processors on these com(cid:173)
`puters. A need arose to send such documents via fax. Fax
`45 cards atta~hed to PC's satisfied this need. If fax machines
`can be attached to personal computers to let users send faxes
`from their PC via fax machines then fax cards would not be
`needed anymore. However. the serial connection is too slow
`to transfer faxes. The parallel port is fast enough but as there
`50 is only one parallel port on a PC. the printers in fax machines
`have to compete with better quality standalone printers for
`this port and they often lose. Moreover. fax cards are also
`data modem cards and users need these cards on the PC to
`access on-line. email services and the currently very popular
`55 Internet. Thus fax machines and fax cards continue to
`coexist.
`There are good reasons for fax and voice mail to become
`a part of computers. Most owners of PC's also own a printer.
`The printer on a fax machine duplicates the same function at
`added cost.· Likewise. some owners of PC's also own a
`scanner. The scanner on a fax machine duplicates the same
`function at added cost In addition, as a scanner and printer
`come bundled with a fax machine. the user does not have the
`choice to mix and match scanners and printers and usually
`these scanners and printers are not of a high quality. To
`realize functionality equivalent to a fax machine a PC owner
`needs to acquire a modem. futernal or external modems are
`
`ZTE (USA) 1005, Page 18
`
`
`
`5,758,081
`
`4
`There is a similar need for programmability for these
`gadgets. Any fax hardware is a good site for fax.back
`capability. It is just extra software and storage. Any data
`modem site can be a World Wide Web delivery site.
`
`OBJECTS AND ADVANTAGES OF THE
`PRESENT INVENTION
`It is therefore desirable to split the routine communica(cid:173)
`tions functions apart from a personal computer into a
`separate embedded computer that is always on and has a
`push button interface. From here on. we call this separate
`embedded computer a CaTbox. This name is an allusion to
`the way this device sits between a Computing i!Ild a
`Ielecommunications apparatus. The Computer is the PC.
`and the Ielecommunications apparatus is either the Central
`Office or some PBX equipment. To give this new device a
`generic name. we call it Personal Telecommunicator or PT
`for short. The table below shows how PC and PT serve a
`user's needs for computing and communicating:
`
`------PC----------PT-----(cid:173)
`
`interface
`availability
`type of tasks
`price
`
`graphical, mouse, keyboard
`off when not being used
`complex, requlres user attention
`expensive
`
`push button, LCD
`always on
`routine
`low cost
`
`3
`available. The user can either scan a document or produce
`one on his PC. He can then send it as a fax via his fax
`modem. When a fax arrives. he can print it. after viewing it
`on his PC monitor. In contrast to a standalone fax machine
`that has to print incoming faxes as they show up. the PC has 5
`an internal storage such as hard disk or memory where it can
`store incoming faxes to be printed later.
`Telephone answering machines are hardwired to a specific
`flow chart that implements voice mail functions. A computer
`would give the user the capability to change this flow chart 10
`and have it work on the same hardware. Moreover. most fax
`modems are also voice/data modems so that voice capability
`comes at little added cost
`On the other hand. new problems arise when faxing solely
`with a PC is attempted. A PC consumes power and aside 15
`from those at large businesses. PC's are shut down by users
`at night. Thus. owners of fax cards on PC/AT's are not able
`to tell others that they have a telephone number available to
`receive faxes. Likewise. they need a standalone phone
`answering machine in addition to their voice mail card if 20
`they wish to receive voice mail at night or when they are
`away.
`In addition. from a simple push button user interface of a
`phone answering machine or a fax machine, the users are
`invited to switch to operating systems with GUI (graphical 25
`user interface) which is tedious for simple tasks. Also, the
`multiplicity of functions on a PC brings about a complexity
`that has kept the users largely frustrated as they attempt to
`add more functions to their machines.
`In particular, the number of interrupt inputs is a limitation 30
`on the number of functions a PC/ AT can accommodate.
`Users are having to have their peripheral hardware share
`interrupts with attendant conflicts. In addition, communica(cid:173)
`tions protocols are continually increasing their bandwidth.
`This puts a further strain on multitasking operating systems.
`Printing is a slow process. Lately. printing protocols have
`been enhanced. The standard printing protocol (so called
`Centronics or SPP as it is now called) is being enhanced to
`EPP and ECP. A reference for these new protocols is 40
`Standard Signaling Method for a Bi-directional Parallel
`Peripheral lntelface for Personal Computers, IEEE P1284
`02.00. Most PC's are not now equipped to handle this new
`protocol. Users who wish to upgrade will have to add yet
`another card to their already crowded AT bus slots.
`Even if users acquire these printing technologies on their
`PC's, there are limitations to printing speed in the current
`configuration. As PC's have to be available to users for
`input. some printing tasks are performed in the background.
`Once a print file is prepared. it takes time to send it to the 50
`printer in the background.
`To summarize, there are a number of electronic gadgets
`that are hovering around a PC but never quite become a part
`of it. The phone, the answering machine. fax machine.
`copier are the main examples of these gadgets. None of these 55
`have been successfully implemented on a PC in a way that
`has been accepted in the marketplace. PC has two main
`drawbacks in this situation:
`1. It is not always on
`2. It is not push button driven
`Each one of these electronic gadgets has processing done
`at its core. The central processing units may all be different
`The programs that run these gadgets are frozen at the factory.
`In a way this situation is not far different than what we had
`before the arrival of the PC: each piece of hardware came 65
`with its own software. With the arrival of PC the field
`became open for imagination to reveal itself in software.
`
`45
`
`35
`
`Thus. to accomplish a task, a user has two alternatives. If the
`task is a complex one such as that of writing an electronic
`mail to someone, he will use the PC. If the task is simple.
`such as retrieving email he might have at his access provider,
`he will push a button on the PT. Note that both tasks have
`to do with communications. He could also retrieve email
`from his PC. He just has a choice now. If the user wishes to
`send a fax. he can either send it from his PC or insert the
`document in the scanner and push buttons. If the user wishes
`to develop a WEB site on Internet, he can develop the
`content on his PC and write the files to CaTdisc. The
`delivery can be done by PT. For faxback., the faxback data
`base can be built on PT or PC. They both have access to the
`scanner. Voice mail comes directly to PT and is replayed
`there. A telephone number can be dialed from PC, from
`CaTbox PT. a handset, or a receiver that sits on an on
`hook/off hook cradle.
`The relationship between PC and PT can be likened to the
`conventional oven/microwave oven relationship. To cook
`complex dishes one can use the conventional oven. For
`heating a snack for lunch one uses the microwave oven.
`CaTbox would look like a hard disk to the PC and it
`would be attached to it via a cable. The preferred embodi(cid:173)
`ment has CaTbox look like a SCSI disk to the PC. A
`specification of SCSI is given in X3.131 SMAU COM(cid:173)
`PUTER SYSTEMS INTERFACE-2 REV:lOL.
`An advantage of this scheme is ability to update CaTbox
`software via PC, by loading it to CaTdisc. Upon reset.
`CaTbox would start using the new software. In most cases
`reset is not necessary. For example making a new voice file
`on PC and copying it to the file on CaTdisc assumed for a
`step will make it so next time the modem's step table
`60 traverses this step. the new sound will be emitted. A con(cid:173)
`figuration file on CaTdisc links modems to their so called
`step tables which along with a set of foreground programs
`define their behavior under inputs. One can edit this file from
`an editor on PC to reassign step tables to modems. If new
`editions of CaTbox software becomes available. the user can
`download it from an Internet location, or receive it in the
`mail as a floppy disk. The new step tables and foreground
`
`ZTE (USA) 1005, Page 19
`
`
`
`5,758,081
`
`5
`programs would then be loaded to CaTdisc either from PC's
`floppy disk drive or directly from the Internet location. In
`addition. there may be programs on a PC that help edit and
`make new step tables. Again, writing these to CaTdisc and
`editing the configuration file on CaTdisc would create the 5
`new behavior on CaTbox. Thus, without changing the
`hardware, continuous improvements to the usefulness of
`CaTbox are possible.
`CaTbox is then the open. programmable, single site for
`processing for the answering machine. fax machine, copier. 10
`and telephone. This invention takes out the processing core
`from each one of these gadgets and gives the tasks to a single
`central processing unit that is the CaTbox. It builds a
`multitasking operating system on top of DOS for this
`processing unit that allows for writing programs that imple- 15
`ment answering machine, fax. telephony, and other func(cid:173)
`tions such as an lfITP server for World Wide Web delivery.
`It makes the hard disk for this system available to a PC so
`that new programs can be downloaded to CaTbox. This
`downloading is simply a file copy from one disk (for 20
`example a floppy disk) to another (CaTdisc).
`In the last section, we showed why communications
`functions cannot be brought into the PC in a way that would
`be user friendly. But they can be brought into a site next to
`a PC that is always on and is driven via a push button 25
`interface. So the answer to computer telephony integration
`is: a PC/PT pair.
`The presence of a CaTbox would free the PC's parallel
`port, serial ports and its internal hardware interrupt lines.
`Thus, the PC can potentially become a simpler machine.
`CaTbox would free the PC's Graphical User Interface
`from chores of printing and scanning faxes and receiving
`voice mail on the PC. These tasks take quite a bit of time
`now and as they execute, they occupy the PC's user interface
`and preoccupy the user's mind.
`CaTbox would utilize printers and scanners currently
`attached to PC's. It would have a printer attached to it and
`it would receive printing requests from the PC along with its
`own internal requests and implement them both with faster
`printing protocols that the printer may respond to. It would 40
`receive the print files from PC as block transfers as opposed
`to character transfers. These files would be transferred to a
`special directory on the CaTdisc (the term we use to empha(cid:173)
`size that CaTbox has a hard disk that looks like a SCSI disk
`to the PC) . During the transfer, the directory path would be 45
`detected. the file name would be changed and this new file
`name would be put on a print queue. A print routine inside
`the CaTbox would periodically check this queue and would
`print any files found therein. As the CaTbox need not be
`available to users for input via keyboard and mouse, its 50
`foreground is available for tasks such as printing. The
`combination of block transfer of print files to CaTdisc and
`foreground printing allows considerable speedup of the
`printing process.
`CaTbox would be independent of PC in terms of power 55
`supply; it would consume low power so that it can be left on
`while the PC is preferred to be off when not in use. The PC
`may even be a portable one that the user takes with him. The
`PC may not even have a hard disk: it could use the CaTdisc
`as a hard disk. CaTbox stays put to receive voice, fax, and 60
`email messa