`case 2:20'°V'00“4'JRG “C“mem l"‘lIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII’IIIII’IIIIIIIIII’1
`
`US010261774B2
`
`(12) United States Patent
`US 10,261,774 B2
`(10) Patent No.:
`(45) Date of Patent:
`Chatterj ee
`*Apr. 16, 2019
`
`MODIFICATION OF TERMINAL AND
`SERVICE PROVIDER MACHINES USING AN
`UPDATE SERVER MACHINE
`
`(56)
`
`References Cited
`U. S. PATENT DOCUMENTS
`
`(54)
`
`(71)
`
`(72)
`
`(73)
`
`Applicant: S3G Technology LLC, Foster City, CA
`(US)
`
`Inventor: Sandeep Chatterjee, Foster City, CA
`(US)
`
`Assignee: S3G Technology LLC, Foster City, CA
`(US)
`
`(*)
`
`Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`
`This patent is subject to a terminal dis-
`claimer.
`
`(21)
`
`Appl. No.: 15/947,593
`
`(22)
`
`Filed:
`
`Apr. 6, 2018
`
`(65)
`
`(63)
`
`Prior Publication Data
`
`US 2018/0225107 A1
`
`Aug. 9, 2018
`
`Related US. Application Data
`
`Continuation of application No. 15/065,757, filed on
`Mar. 9, 2016, now Pat. No. 9,940,124, which is a
`(Continued)
`
`Int. Cl.
`
`(51)
`
`H04L 29/06
`H04L 29/08
`
`US. Cl.
`
`(52)
`
`(2006.01)
`(2006.01)
`(Continued)
`
`(58)
`
`CPC ................ G06F 8/65 (2013.01); G06F 9/451
`(2018.02); G06F 11/3664 (2013.01); H04L
`67/34 (2013.01); H04W4/60 (2018.02)
`Field of Classification Search
`CPC ......... G10L 15/22; H04L 67/34; H04L 41/22;
`H04L 41/5054; H04L 29/06;
`(Continued)
`
`420
`DIALOGUE SEQUENCE INCLUDING A
`TERMINAL MACHINE AND A SERVICE
`PROVIDER MACHINE
`120
`TERMINAL MACHINE
`fl
`INITIATE DIALOGUE
`
`SEQUENCE
`
`
`Im
`
`
`
`DISPLAY FIRST PROMPT
`
`
`ACCEPT USER DATA ENTRY
`INPUT
`
`
`
`Im
`
`6,047,327 A
`6,065,120 A *
`
`4/2000 Tso et a1.
`5/2000 Laursen .................. G06F 21/41
`707/999004
`
`(Continued)
`
`OTHER PUBLICATIONS
`
`Villela et a1., Provisioning servers in the application tier for e-com-
`merce systems, 23 pages (Year: 2007).*
`
`(Continued)
`
`Primary Examiner 7 Thuy Dao
`
`(74) Attorney, Agent, or Firm 7 Morgan, Lewis &
`Bockius LLP
`
`(57)
`
`ABSTRACT
`
`A method including (i) displaying a first prompt on a
`terminal display of a terminal machine by running a terminal
`application, the terminal application comprising first com-
`puter-executable instructions and first code that conduct the
`terminal machine’s portion of a dialogue sequence,
`(ii)
`accepting a first data entry at the terminal machine, (iii)
`communicating information associated with the first data
`entry from the terminal machine to the service provider
`machine,
`the service provider machine using a provider
`application comprising second computer-executable instruc-
`tions and second code that conduct the service provider
`machine’s portion of the dialogue sequence, and (iv) receiv-
`ing, at the terminal machine, third code that modifies at least
`a portion of the first code to produce first updated code,
`wherein the first updated code adapts the terminal applica-
`tion to display a second prompt for the terminal machine’s
`portion of a modified dialogue sequence with the service
`provider machine.
`
`20 Claims, 15 Drawing Sheets
`
`110
`SERVICE PROVIDER
`MACHINE
`
`fl
`RECEIVE USER AND PROMPT
`DATA
`
`
`
`
`
`
`IQ
`
`DISPLAY SECOND PROMPT
`
`
`Im
`
`SEND USERAND PROMPT
`DATA
`
`—>
`
`
`
`
`Case 2:20-cv-00114-JRG Document 1-4 Filed 04/22/20 Page 2 of 27 PageID #: 92
`Case 2:20-cv-00114-JRG Document 1—4 Filed 04/22/20 Page 2 of 27 PageID #: 92
`
`US 10,261,774 B2
` Page 2
`
`Related U.S. Application Data
`.
`.
`.
`.
`cont1nuat1on of app11cat1on No. 14/788,506, filed on
`Jun. 30, 2015, now Pat. No. 9,304,758, which is a
`continuation of application No. 14/060,490, filed on
`Oct. 22, 2013, now Pat. No. 9,081,897, which is a
`continuation of application No. 12/841,113, filed on
`Jul. 21, 2010, HOW Pat. No. 8,572,571.
`.
`.
`.
`.
`Prov1s1ona1 app1.1c.at1on No. 61/325,212, filed on Apr.
`16, 2010, prov1s1ona1 app11cat1on No. 61/228,140,
`filed on Jul. 23, 2009.
`
`(60)
`
`(51)
`
`Int. Cl.
`(200901)
`H04W12/06
`(200691)
`H04L 12/24
`(2018.01)
`G06F 8/65
`(2006.01)
`G06F 11/36
`(2018.01)
`G06F 9/451
`(201801)
`_
`_
`#0414] 4/60
`(58) Field of Class1ficatlon Search
`CPC ........ H04L 67/306; H04M 3/493; G06F 8/65;
`G06F 9/451. G06Q 30/02. G06Q 20/32.
`.’
`f
`f
`G06Q 20/14, G06Q 20/204, G06Q 10/08,
`G06Q 10/14; H04W 4/60; H04W 4/02;
`H04W 12/06
`
`See application file for complete search history.
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`6,574,791
`6,668,368
`6,701,514
`7,185,334
`7,328,172
`
`7,343,550
`7,594,219
`7,769,995
`
`7,827,545
`7,930,182
`8,056,070
`8,176,328
`
`B1
`B1
`B1
`B2
`B2*
`
`B2
`B2
`B2 *
`
`B2
`B2
`B2
`B2 *
`
`6/2003
`12/2003
`3/2004
`2/2007
`2/2008
`
`3/2008
`9/2009
`8/2010
`
`11/2010
`4/2011
`11/2011
`5/2012
`
`8,194,839
`
`B2*
`
`6/2012
`
`8,209,676
`
`B2*
`
`6/2012
`
`Gauthier et a1.
`Hernandez, III
`Haswell et a1.
`Bourke-Dunphy et a1.
`Williams, Jr.
`......... G06Q 30/02
`705/265
`
`Saidenberg et a1.
`Ramachandran et a1.
`Corbett
`................... H04L 63/02
`713/153
`
`Choe et a1.
`Sinai et a1.
`Goller et a1.
`Chen ................... H04L 63/0823
`380/277
`Lopez ..................... H04W 4/00
`379/201.12
`Kapadekar ................ G06F 8/65
`717/171
`
`8,307,294 B2
`8,347,267 B2
`8,369,326 B2 *
`
`11/2012 Lou et a1.
`1/2013 Givoni et a1.
`2/2013 Ansari
`,,,,,,,,,,,,,,,,,,, G06Q 30/04
`_
`370/389
`5/2013 Vlncenfi et 31~
`8,448,160 32
`33333;; 3%,, “$83 gfigfieflee
`’
`’
`""""""""""
`8,977,951 B2
`3/2015 Ehier et a1.
`9,106,726 B2*
`8/2015 D '
`.................. H04L 41/0806
`9,158,508 B2
`10/2015 Elad‘rlifige et 31.
`2003/0022677 A1
`1/2003 Piikivi
`2004/0205720 A1
`10/2004 Hundt
`2004/0242209 A1
`12/2004 Kruis et a1.
`
`G06F11/3051
`709/201
`
`2005/0065995 A1
`2005/0102664 A1
`2006/0069568 A1
`2006/0073820 A1
`2006/0200658 A1*
`
`3/2005 Milstein et a1.
`5/2005 Eyres et a1.
`3/2006 Passaretti et a1.
`4/2006 Craswell et a1.
`9/2006 Penkethman ............. G06F 8/65
`713/2
`
`2006/0230379 A1
`2006/0265662 A1
`2006/0293894 A1
`2007/0011658 A1
`2007/0240069 A1
`2009/0171669 A1
`2010/0267345 A1
`2013/0219357 A1
`
`10/2006 Pintos
`11/2006 GeItzen
`12/2006 Peyroux
`1/2007 Stephens
`10/2007 Eldridge et a1.
`7/2009 Engelsma et a1.
`10/2010 Berton et a1.
`8/2013 Reitan
`
`OTHER PUBLICATIONS
`
`Mao et a1., Eflicient and robust streaming provisioning in VPNs, 10
`pages (Year: 2003).*
`Griol et a1., “Statistical Dialog Management Methodologies for Real
`Applications,” Sep. 2010, 4 pgs.
`Lohr et a1., Mixed-Initiative Dialog Management for Speech-Based
`Interaction with Graphical User Interfaces, Apr. 2008, 10 pgs.
`Paterson, MULTI: Multiple User Interactive Template Installation,
`Jun. 2007, 1 pg.
`Perugini et a1., “A Study of Out-of-Turn Interaction in Menu-Based,
`IVR,” voicemail systems, Apr. 2007, 10 pgs.
`Stewart et a1., Transition Relevance Place: A Proposal for Adaptive
`User Interface in Natural Language Dialog Management Systems,
`Apr. 2006, 6 pgs.
`Sourcetrace Systems Inc., International Preliminary Report on Pat-
`entability, PCT/U82010/042775, dated Feb. 2, 2012, 6 pgs.
`Sourcetrace Systems Inc., International Search Report and Written
`Opinion, PCT/U82010/042775, dated Sep. 13, 2010, 6 pgs.
`S3G Technology, LLC, Examination Report, IN277/DELNP/2012,
`dated Jul. 31, 2017, 6 pgs.
`
`* cited by examiner
`
`
`
`Case 2:20-cv-00114-JRG Document 1-4 Filed 04/22/20 Page 3 of 27 PageID #: 93
`Case 2:20-cv-00114-JRG Document 1—4 Filed 04/22/20 Page 3 of 27 PageID #: 93
`
`U.S. Patent
`
`Apr. 16, 2019
`
`Sheet 1 of 15
`
`US 10,261,774 B2
`
`110 SERVICE PROVIDER
`MACHINE
`
`112 SERVICE PROVIDER
`APPLICATION
`
` 114 WIRELESS
`TRANSCEIVER
`
`102 UPDATE SERVER
`MACHINE
`
`
`104 WIRELESS
`
`TRANSCEIVER
`
`
`
`106 DIALOGUE MODULE
`
`
`
`
`
`FIG. 1
`
` 124 WIRELESS
`TRANSCEIVER
`
`122 TERMINAL APPLICATION
`
`
`
`126 USER
`DISPLAY
`
`
`
`
`
`128 DATA
`ENTRY
`DEVICE
`
`120 TERMINAL MACHINE
`
`
`
`Case 2:20-cv-00114-JRG Document 1-4 Filed 04/22/20 Page 4 of 27 PageID #: 94
`Case 2:20-cv-00114-JRG Document 1—4 Filed 04/22/20 Page 4 of 27 PageID #: 94
`
`U.S. Patent
`
`Apr. 16, 2019
`
`Sheet 2 of 15
`
`US 10,261,774 B2
`
`112
`
`214
`
`212
`
`122
`
`,,
`
`
`224
`
`102 UPDATE
`SERVER MACHINE
`
`222
`
`
`
`
`
`210
`
`220
`
`110 SERVICE
`PROVIDER MACHINE
`
`120 TERMINAL
`MACHINE
`
`
`
`Case 2:20-cv-00114-JRG Document 1-4 Filed 04/22/20 Page 5 of 27 PageID #: 95
`Case 2:20-cv-00114-JRG Document 1-4 Filed 04/22/20 Page 5 of 27 PageID #: 95
`
`U.S. Patent
`
`Apr. 16, 2019
`
`Sheet 3 of 15
`
`US 10,261,774 B2
`
`330
`
`TERMINAL MACHINE DIALOGUE MODULE,
`
`UPDATE SEQUENCE
`
`102
`UPDATE SERVER MACHINE
`
`120
`TERMINAL MACHINE
`
`3i
`RECEIVE AND STORE
`DIALOGUE MODULE VERSION
`
`
`INFORMATION
`
`
`
`
`
`
`
`i3;
`SEND DIALOGUE MODULE
`
`VERSION INFORMATION
`
`SEND A DIALOGUE MODULE
`TO THE TERMINAL MACHINE
`
`
` 3_3§
`
`
`
`fl
`RECEIVE AND STORE
`DIALOGUE MODULE
`
`
` m
`EXECUTE TERMINAL
`
`
`APPLICATION
`
`FIG. 3A
`
`
`
`Case 2:20-cv-00114-JRG Document 1-4 Filed 04/22/20 Page 6 of 27 PageID #: 96
`Case 2:20-cv-00114-JRG Document 1-4 Filed 04/22/20 Page 6 of 27 PageID #: 96
`
`U.S. Patent
`
`Apr. 16, 2019
`
`Sheet 4 of 15
`
`US 10,261,774 B2
`
`350
`
`SERVICE PROVIDER DIALOGUE MODULE,
`
`UPDATE SEQUENCE
`
`102
`UPDATE SERVER MACHINE
`
`110
`SERVICE PROVIDER
`MACHINE
`
`
`
`fl
`
`fl
`
`
`RECEIVE AND STORE
`
`SEND DIALOGUE MODULE
`
`DIALOGUE MODULE VERSION
`
`VERSION INFORMATION
`
`
`INFORMATION
`
`
`
`
`
`3.5.6.
`
`
`15.8.
`SEND A DIALOGUE MODULE
`
`
`
`RECEIVE AND STORE
`
`TO THE SERVICE PROVIDER
`
`
`DIALOGUE MODULE
`
`
`MACHINE
`
`
`APPLICATION
`
`M
`EXECUTE SERVICE PROVIDER
`
`FIG. BB
`
`
`
`Case 2:20-cv-00114-JRG Document 1-4 Filed 04/22/20 Page 7 of 27 PageID #: 97
`Case 2:20-cv-00114-JRG Document 1-4 Filed 04/22/20 Page 7 of 27 PageID #: 97
`
`U.S. Patent
`
`Apr. 16, 2019
`
`Sheet 5 of 15
`
`US 10,261,774 B2
`
`400
`
`DIALOGUE SEQUENCE INCLUDING A
`
`TERMINAL MACHINE AND A SERVICE
`
`PROVIDER MACHINE
`
`120
`TERMINAL MACHINE
`
`110
`SERVICE PROVIDER
`MACHINE
`
`M
`DISPLAY FIRST PROMPT
`
`£02.
`INITIATE DIALOGUE
`
`SEQUENCE
`
`EIQQ
`ACCEPT USER DATA ENTRY
`
`INPUT
`
`INITIATE SECOND PROMPT
`
`4%
`SEND USER DATA ENTRY
`
`51.1.9
`RECEIVE USER DATA ENTRY
`
`M
`DISPLAY SECOND PROMPT
`
`34.1.2.
`
`FIG. 4A
`
`
`
`Case 2:20-cv-00114-JRG Document 1-4 Filed 04/22/20 Page 8 of 27 PageID #: 98
`Case 2:20-cv-00114-JRG Document 1-4 Filed 04/22/20 Page 8 of 27 PageID #: 98
`
`U.S. Patent
`
`Apr. 16, 2019
`
`Sheet 6 of 15
`
`US 10,261,774 B2
`
`420
`
`DIALOGUE SEQUENCE INCLUDING A
`
`TERMINAL MACHINE AND A SERVICE
`
`PROVIDER MACHINE
`
`120
`TERMINAL MACHINE
`
`@
`INITIATE DIALOGUE
`
`SEQUENCE
`
`4.2.4.
`DISPLAY FIRST PROMPT
`
`DATA
`
`@
`ACCEPT USER DATA ENTRY
`INPUT
`
`fl
`DISPLAY SECOND PROMPT
`
`4_3_0_
`SEND USER AND PROMPT
`
`110
`
`SERVICE PROVIDER
`
`MACHINE
`
`fl
`
`RECEIVE USER AND PROMPT DATA
`
`FIG. 4B
`
`
`
`Case 2:20-cv-00114-JRG Document 1-4 Filed 04/22/20 Page 9 of 27 PageID #: 99
`Case 2:20-cv-00114-JRG Document 1—4 Filed 04/22/20 Page 9 of 27 PagelD #: 99
`
`U.S. Patent
`
`Apr. 16, 2019
`
`Sheet 7 of 15
`
`US 10,261,774 B2
`
`/
`\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
`Hello John
`
`////////////////////////////////////////////////////////////////
`
`////////////////////////////////////////////////////////////////
`
`Please enter your bank
`account number:
`
`FIG. 5A
`
`///////////////////////////////////////////////////////////////
`
`\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
`Main Menu
`
`1.Lookup savings balance
`2.Lookup loan balance
`
`////////////////////////////////////////////////////////////////
`
`FIG. 5B
`
`
`
`Case 2:20-cv-00114-JRG Document 1-4 Filed 04/22/20 Page 10 of 27 PageID #: 100
`Case 2:20-cv-00114-JRG Document 1-4 Filed 04/22/20 Page 10 of 27 PagelD #: 100
`
`U.S. Patent
`
`Apr. 16, 2019
`
`Sheet 8 of 15
`
`US 10,261,774 B2
`
`\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
`Hello John
`
`WW
`
`§
`
`Please enter your bank
`account number:
`
`WWW
`
`FIG. 6A
`
`§\\\\\\\\\\\\M\\\§;\u\\\\\
`§ 1.Ma:e loan pay‘rjment
`§
`
`2'32 ZZleigiwif°siZwa
`t1
`§ :ZLooliup savings bglgnce l
`§
`§ 5.Lookup loan balance
`§
`
`\\\\
`
`FIG. 63
`
`\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
`
`\
`
`payment amount:
`
`Please enter loan
`
`WWW/W
`W
`m\\\\\
`
`FIG. 6C
`
`
`
`Case 2:20-cv-00114-JRG Document 1-4 Filed 04/22/20 Page 11 of 27 PageID #: 101
`Case 2:20-cv-00114-JRG Document 1-4 Filed 04/22/20 Page 11 of 27 PagelD #: 101
`
`U.S. Patent
`
`Apr. 16, 2019
`
`Sheet 9 of 15
`
`US 10,261,774 B2
`
`¢%%%%%%%%%%%%%%%%%%%?
`
`/
`\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
`HeHoJohn
`
`AZ%%%%%%%%%%%%%%%%%V
`
`Please enter your medical
`insurance number:
`
`FIG. 7A
`
`A%%%%%%%%%%%%%%%%%%%7
`
`\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
`HeHoJohn
`
`A%%%%%%%%%%%%%%%%%%%%7
`
`Please enter claim
`
`identification number:
`
`FIG. 7B
`
`
`
`Case 2:20-cv-00114-JRG Document 1-4 Filed 04/22/20 Page 12 of 27 PageID #: 102
`Case 2:20-cv-00114-JRG Document 1-4 Filed 04/22/20 Page 12 of 27 PagelD #: 102
`
`U.S. Patent
`
`Apr. 16, 2019
`
`Sheet 10 of 15
`
`US 10,261,774 B2
`
`mg gar! In As:
`F‘l‘Dj act N ame:
`Security Level:
`
`and min {Administratarsna m, fifimin 55% ram r}
`Damnnst ratianscma n5
`Design ail-d Flaws
`
`,LEE§..§:S.§
`
`Eun‘fime Version;
`
`v2.1.3 Ii
`
`Handset Ty pa:
`D as cri phi 11m;
`
`LNPE-S}
`Paint "Q5 - Sale {P12 5} Term £3121; w}! h £91.14 a! laying, ml pm: :1 umsa ric data may;
`emart card wager, and magnatia‘. swipe card reader.
`
`Language Sup pent:
`
`Engi'aih, Spanish
`
`59'er 5253831
`
`>“ man Saga :1
`
`Scream 1 cf 8
`
`fitm ; WelcomeScreen
`
`Screen Dmigfi (Degign each gce'aan exactly as you would like it tr: appear)
`
`§WWWWW
`
`
`Language ID: Engiish Language ID: Epan'éshWWW
`*'
`Welcome If: the
`Recepcién al
`eServices Everywhere
`eSer‘dices partadas panes
`Mobile Desig ner Extreme
`Extreme Méwll Del Disefiaor
`
`Frees ENTER m 243mm ue
`
`Preslone ENTRAN para continuar
`
`a,”a,”a,»”a””4””.any”nun”0,,~”»,””,
`
`
`
`Case 2:20-cv-00114-JRG Document 1-4 Filed 04/22/20 Page 13 of 27 PageID #: 103
`Case 2:20-cv-00114-JRG Document 1-4 Filed 04/22/20 Page 13 of 27 PageID #: 103
`
`U.S. Patent
`
`Apr. 16, 2019
`
`Sheet 11 of 15
`
`US 10,261,774 B2
`
`Screen Flows. (Select the keys and me destinatzon ecreen of the user pressing that key)-
`
`éiu‘rld‘l‘eppinéFelfcostaRicaDistricts:
`
`flata Entry Validaticm (Specify the rules and valldafion on the entered data)
`
`FIG. SB
`
`
`
`Case 2:20-cv-00114-JRG Document 1-4 Filed 04/22/20 Page 14 of 27 PageID #: 104
`Case 2:20-cv-00114-JRG Document 1-4 Filed 04/22/20 Page 14 of 27 PageID #: 104
`
`U.S. Patent
`
`Apr. 16, 2019
`
`Sheet 12 of 15
`
`US 10,261,774 B2
`
`908
`
`- D
`
`ISK
`STORAGE
`
`MEDIA
`DRIVE
`
`910
`
`912
`
`MEDIA
`
`916
`
`WIRELESS
`TRANSCEIVER
`
`120
`TERMINAL
`MACHINE
`
`904
`
`902
`906\
`
`
`
`
`—
`
`MEMORY
`
`PROCESSOR
`
`
`
`BBC]
`
`838
`
`:1
`
`920
`
`l9
`
`14
`
`FIG. 9
`
`
`
`Case 2:20-cv-00114-JRG Document 1-4 Filed 04/22/20 Page 15 of 27 PageID #: 105
`Case 2:20-cv-00114-JRG Document 1-4 Filed 04/22/20 Page 15 of 27 PageID #: 105
`
`UHS Patent
`
`APF- 16, 2019
`
`Sheet 13 of 15
`
`US 10,261,774 B2
`
`110
`SERVICE PROVIDER
`MACHINE
`
`1018
`
`
`
`WIRELESS
`TRANSCE'VER
`
`1016
`
`NETWORK
`
`
`
`CONNECTION
`
`1002
`
`1004
`
`1006
`
`PROCESSOR
`
`MEMORY
`
`- 1008
`
`MEDIA
`
`DRIVE
`
`MEDIA
`
`1012
`
`1010
`
`DISK
`
`STORAGE
`
`PROGRAM
`
`1014
`
`FIG. 10
`
`
`
`Case 2:20-cv-00114-JRG Document 1-4 Filed 04/22/20 Page 16 of 27 PageID #: 106
`Case 2:20-cv-00114-JRG Document 1-4 Filed 04/22/20 Page 16 of 27 PageID #: 106
`
`U.S. Patent
`
`Apr. 16, 2019
`
`Sheet 14 of 15
`
`US 10,261,774 B2
`
`lg;
`UPDATE SERVER
`
`MACHWE
`
`1118
`
`
`
`WIRELESS
`TRANSCEIVER
`
`1116
`
`NETWORK
`
`CONNECTION
`
`1102
`
`1104
`
`1106
`
`PROCESSOR
`
`MEMORY
`
`- 1108
`
`MED'A
`
`DR1VE
`
`MEDIA
`
`“12
`
`1110
`
`DISK
`
`STORAGE
`
`PROGRAM
`
`1 1 14
`
`FIG. 11
`
`
`
`Case 2:20-cv-00114-JRG Document 1-4 Filed 04/22/20 Page 17 of 27 PageID #: 107
`Case 2:20-cv-00114-JRG Document 1-4 Filed 04/22/20 Page 17 of 27 PageID #: 107
`
`U.S. Patent
`
`Apr. 16, 2019
`
`Sheet 15 of 15
`
`US 10,261,774 B2
`
`1202
`
`
`COMMUNICATIONS PACKET
`
`
`
` USER DATA, USER DATA,
`
`
`HEADER
`PROMPT 1
`PROMPT 2
`
`
`
`
`1204
`
`1206
`
`1208
`
`FIG. 12
`
`
`
`Case 2:20-cv-00114-JRG Document 1-4 Filed 04/22/20 Page 18 of 27 PageID #: 108
`Case 2:20-cv-OOll4-JRG Document 1-4 Filed 04/22/20 Page 18 of 27 PageID #: 108
`
`US 10,261,774 B2
`
`1
`MODIFICATION OF TERMINAL AND
`SERVICE PROVIDER MACHINES USING AN
`UPDATE SERVER MACHINE
`
`CROSS REFERENCE TO RELATED
`APPLICATIONS
`
`This application is a continuation of US. patent applica-
`tion Ser. No. 15/065,757, filed Mar. 9, 2016, which is a
`continuation of US. patent application Ser. No. 14/788,506,
`filed Jun. 30, 2015, now US. Pat. No. 9,304,758, issued Apr.
`5, 2016, which is a continuation of US. patent application
`Ser. No. 14/060,490, filed Oct. 22, 2013, now US. Pat. No.
`9,081,897, issued Jul. 14, 2015, which is a continuation of
`US. patent application Ser. No. 12/841,113, filed Jul. 21,
`2010, now US. Pat. No. 8,572,571, issued Oct. 29, 2013,
`which claims the benefit under 35 USC 119(e) of US.
`Provisional Patent Application No. 61/325,212, filed Apr.
`16, 2010, and US. Provisional Patent Application No.
`61/228,140, filed Jul. 23, 2009, the disclosures all of which
`are hereby incorporated by reference in their entireties.
`
`BACKGROUND
`
`Field of Invention
`
`This application relates generally to a computerized sys-
`tem to provide efficient modification of remote software and,
`more specifically,
`to adaptation and customization of a
`computer transaction dialogue module.
`
`Description of the Related Art
`
`It is well known to those of skill in the art that comput-
`erized systems can be adapted to perform specific function-
`ality by implementing software code. For example,
`the
`software code may be written in languages such as C, C++,
`or Java.
`
`A computerized system may be constructed, which
`includes electronic hardware, one or more computer proces-
`sors, and software, which is able to perform system func-
`tionality. Typically,
`the software is written or created as
`source code and later compiled or converted into computer-
`executable instructions able to be read and executed by a
`computer processor without additional translation or adap-
`tation. For example,
`the source code may be written in
`languages such as C, C++, or Java. Computer-executable
`instructions are sometimes also referred to as executable
`code or machine code.
`
`For example, the computer-executable instructions may
`be compiled for and executed on a specific computer pro-
`cessor, such as the Intel Pentium processor from Intel
`Corporation, or may be used to modify the functionality of
`a Programmable Gate Array (PGA) or Field Programmable
`Gate Array (FPGA), such as those provided by Xilinx
`Corporation. In most cases, computer-executable code is
`specific to one type of processor or logical device.
`Vlrtual machines can be used to provide a method of
`executing code on a computer system that is not dependent
`on a specific processor or hardware configuration. When
`using a virtual machine, a portion of code (typically in the
`form of source code) is compiled or translated into inter-
`mediary code, such as Java Byte Code. The intermediary
`code is then able to be further translated using the virtual
`machine, which itself is run on a computer processor (and
`perhaps also an operating system). Thus, a virtual machine
`
`2
`
`is able to emulate a standardized computer platform that is
`independent of the actual computer processor or hardware
`configuration.
`A computerized system, in the context of the embodi-
`ments described herein, includes more than one hardware
`device, each hardware device running a separate software
`application. Each software application comprises, in part,
`computer-executable instructions that allow the associated
`hardware device to interact with a user and communicate
`with another hardware device over a distributed network.
`
`For example, the software application may be adapted to
`interact directly with a user of the hardware device by
`accepting user input. The software application may be
`further adapted to communicate the user input to another
`hardware device using a network connection.
`Oftentimes, after a computerized system has been initially
`constructed, modifications may be required, either
`to
`improve the functionality of the system or to customize the
`system to meet new requirements. In some cases,
`these
`modifications require changes to the software application
`stored on each system device.
`Typically, a software application includes computer-ex-
`ecutable instructions that are not able to be edited or
`
`modified directly by a developer. Using known methods, the
`developer may only implement the required changes by
`creating or editing source code. The updated source code
`must then be recompiled or translated into an updated set of
`computer-executable instructions and distributed to the
`hardware devices in the system as an updated software
`application. Typically, the updated set of computer-execut-
`able instructions that comprises an updated software appli-
`cation includes a relatively large amount of information.
`However, in many situations, it may be difficult to dis-
`tribute a newly compiled version of the updated software
`application to all of the devices in the system. This is
`particularly true if the system is distributed over a large
`geographic area. For example, it may be difficult to locate
`each system device and transport it to a central location or
`development center. Because physical access to the devices
`is not practical,
`the new software application cannot be
`uploaded using a traditional wired transmission (e.g., an
`interface cable).
`In some computerized systems, the only practical option
`may be to upload the updated software application using an
`existing communication network. However, if the commu-
`nications network has limited data transmission capabilities,
`it may be difficult to transmit the large amount of informa-
`tion (e.g., an entire software application). For example, a
`software application may be initially installed on a wireless
`mobile device (e.g., a cell phone or PDA). Typically, the
`device is issued to a user, who may travel or reside far from
`a software development center. The only method of com-
`municating with the device may be over a wireless telecom-
`munications network. However, due to bandwidth limita-
`tions on data transfer over the wireless network, an upload
`of the entire software application may not be economically
`feasible. Even if an upload of the application is possible, it
`may take an unacceptable amount of time due to the slow
`transfer rate of a wireless network (as compared to a
`dedicated wired transmission line or cable). These problems
`are further exacerbated if the computerized system includes
`a large number of wireless mobile devices, each requiring a
`separate application upload. Developing and testing separate
`applications for each mobile device can be time-consuming
`and economically infeasible. Additionally, if there are dif-
`ferent versions of the software application distributed among
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`
`
`Case 2:20-cv-00114-JRG Document 1-4 Filed 04/22/20 Page 19 of 27 PageID #: 109
`Case 2:20-cv-OOll4-JRG Document 1-4 Filed 04/22/20 Page 19 of 27 PageID #: 109
`
`US 10,261,774 B2
`
`3
`a large number of mobile devices, a uniform software
`application update may be difficult to manage and track.
`What is needed is a computerized system able to provide
`efficient modification of software applications that are dis-
`tributed across a network of remote devices.
`
`SUMMARY
`
`A system including a terminal machine and a service
`provider machine is modified using a service provider
`machine. The terminal machine runs a terminal application.
`The terminal application is able to display a prompt in a first
`sequence of prompts and accept a user data entry in an
`associated first sequence of user data entries. The terminal
`application is comprised of a first set of computer-execut-
`able instructions and a first set of code. The service provider
`machine runs a provider application. The provider applica-
`tion is able to receive the user data entry. The provider
`application is comprised of a second set of computer-
`executable instructions and a second set of code.
`
`The update server machine is able to send a dialogue
`module to the terminal machine and the service provider
`machine. The dialogue module modifies the first and second
`set of code to produce a first and second set of updated code,
`respectively. The dialogue module does not modify the first
`or second set of computer-executable instructions.
`The first set of updated code adapts the terminal applica-
`tion to use a second sequence of prompts and a second
`sequence of data entries. The second set of updated code
`adapts the provider application to use the second sequence
`of prompts and the second sequence of data entries.
`
`DESCRIPTION OF THE FIGURES
`
`FIG. 1 illustrates a computerized system for updating a
`dialogue protocol by adapting applications on a terminal
`machine and a service provider machine.
`FIG. 2 illustrates the use of a dialogue module in a
`computerized system.
`FIG. 3A illustrates a process for updating a dialogue
`module on a terminal machine using an update server
`machine.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`FIG. 3B illustrates a process for updating a dialogue
`module on a service provider machine using an update
`server machine.
`
`45
`
`FIG. 4A illustrates a dialogue sequence including a ter-
`minal machine and a service provider machine in a continu-
`ous communications mode.
`
`FIG. 4B illustrates a dialogue sequence including a ter-
`minal machine and a service provider machine in a delayed
`communications mode.
`
`50
`
`FIG. 5A illustrates an example of a first prompt in a
`banking dialogue protocol.
`FIG. 5B illustrates an example of a subsequent prompt in
`a banking dialogue protocol.
`FIG. 6A illustrates an example of first prompt in a banking
`dialogue protocol.
`FIG. 6B illustrates an example of a multiple option
`prompt in a banking dialogue protocol.
`FIG. 6C illustrates an example of a data entry prompt in
`a banking dialogue protocol.
`FIG. 7A illustrates an example of a first prompt in a
`medical dialogue protocol.
`FIG. 7B illustrates an example of a subsequent prompt in
`a medical dialogue protocol.
`FIG. 8A to 8B illustrate examples of a design tool for
`modifying a system dialogue protocol.
`
`55
`
`60
`
`65
`
`4
`
`FIG. 9 illustrates an exemplary embodiment of a terminal
`machine.
`
`FIG. 10 illustrates an exemplary embodiment of a service
`provider machine.
`FIG. 11 illustrates an exemplary embodiment of an update
`server machine.
`
`FIG. 12 illustrates an exemplary logical communications
`packet structure.
`The figures depict one embodiment of the present inven-
`tion for purposes of illustration only. One skilled in the art
`will readily recognize from the following discussion that
`alternative embodiments of the structures and methods illus-
`
`trated herein can be employed without departing from the
`principles of the invention described herein.
`
`DETAILED DESCRIPTION
`
`The following embodiments describe a system capable of
`conducting a transaction between a user at a terminal
`machine and a service provider at a second, remote machine.
`In some instances, the system can be used to facilitate a
`business transaction between a bank or financial institution
`
`(using a service provider machine) and a banking customer
`(using a terminal machine). The structure of the transaction
`may be custom tailored by adapting a dialogue protocol
`between at least two machines in the system. The dialogue
`protocol defines the contours of a transaction and includes
`various components
`such as:
`a sequence of dialogue
`prompts; a sequence of user data entry fields; and a set of
`dialogue parameters. Additionally,
`the dialogue protocol
`may define aesthetic features including the graphical user
`interface (GIU), display layout and GUI functionality. The
`dialogue protocol may be determined by the two software
`applications running on the two machines engaged in the
`transaction with the user.
`
`The system described herein allows for the adaptation of
`a dialogue protocol through the modification of one or more
`software applications. Specifically, one or more of the
`software applications may be adapted by including or
`replacing a dialogue module, which includes a set of code.
`The code represents at least some information that must be
`translated by the software application before it can be
`implemented on the machine processor. In some embodi-
`ments, a developer may be able to generate an updated
`dialogue module as required in accordance with a particular
`dialogue protocol.
`In a preferred embodiment, an updated dialogue module
`is able to be communicated from an update server machine
`to individual machine (e.g., devices) in the system, each
`machine having a software application.
`In a preferred
`embodiment, the dialogue module adapts at least one of the
`software applications to produce a modified dialogue pro-
`tocol between the system components.
`1. Dialogue Updates Using a Three-Node System
`FIG. 1. depicts an exemplary computerized system for
`updating a dialogue protocol by adapting applications on a
`service provider machine 110 and a terminal machine 120.
`As described above, a transaction may be conducted
`between a user and the terminal machine 120 and the service
`
`provider machine 110. The transaction is conducted accord-
`ing to a dialogue protocol. The dialogue protocol may be
`changed by communicating a dialogue module 106 from the
`update server machine 102 to the service provider machine
`110 and the terminal machine 120. As described below, the
`dialogue module 106 may include code that is unique to
`either the service provider machine 110 or the terminal
`machine 120. Although they are described separately, the
`
`
`
`Case 2:20-cv-00114-JRG Document 1-4 Filed 04/22/20 Page 20 of 27 PageID #: 110
`Case 2:20-cv-OOll4-JRG Document 1-4 Filed 04/22/20 Page 20 of 27 PageID #: 110
`
`US 10,261,774 B2
`
`5
`service provider machine 110 and the update server machine
`102 may or may not be on the same physical machine.
`The system embodiment shown in FIG. 1 provides for
`communication between a service provider machine 110 and
`a terminal machine 120. As depicted in FIG. 1, the commu-
`nication can be facilitated using a wireless communications
`network between the terminal machine wireless transceiver
`124 and a wireless transceiver 114 in communication with
`
`the service provider machine 110. In some embodiments, the
`wireless communications network may be a CDMA or GSM
`telecommunications network capable of transmitting data
`between network users. Other components of the system
`such as wireless base stations, network links, network
`resource controllers and other components of the wireless
`communications network are not shown in FIG. 1.
`In
`
`alternative embodiments, the communication may also be
`transmitted over a wireless communications network that
`
`includes a wired network connection or a public switched
`telephone network (PSTN).
`As described above, a specialized communication or
`transaction occurs between a user and the terminal machine
`
`120 and the service provider machine 110. The transaction
`may be performed in accordance with a dialogue protocol.
`In one embodiment, the dialogue protocol is determined, at
`least in part, by the service provider application 112 (resid-
`ing on the service provider machine 110) and the terminal
`application 122 (residing on the terminal machine 120). In
`a preferred embodiment, the dialogue protocol guides a user
`through a transaction or series of transactions with a service
`provider.
`The system may conduct a transaction in a continuous
`communications mode, a delayed communications mode,
`and a mode that alternates between continuous and delayed
`communication modes. The mode depends on the availabil-
`ity, performance, or cost of the communication network
`between the terminal machine 120 and the service provider
`machine 110.
`
`A system operating in a continuous communications
`mode transmits and receives data between the terminal
`
`machine 120 and the service provider machine 110 at the
`same time or nearly the same time as a transaction is
`conducted between the user and a service provider. For
`example, data that is entered at the terminal machine 120 by
`a terminal user is typically transmitted to the service pro-
`vider machine 110 before the user is prompted for additional
`input. The system may operate in a continuous communi-
`cations mode if the communication network is available and
`
`can provide performance adequate to transfer data between
`prompts, without causing an appreciable delay in the trans-
`action. One advantage to operating in a continuous commu-
`nications mode is that transactional information sent by the
`service provider machine 110 is likely to be more current
`than if the transactional information had been previously
`stored on the terminal machine 120.
`
`A system operating in a delayed communications mode
`stores data input at the terminal machine 120 and transmits
`the data to a service provider machine 110 at a time that is
`after a transaction is completed between the user and service
`provider. For example, a series of prompts may be stored on
`the terminal machine 120 and used to collect a series of user
`
`inputs. The user inputs are stored and then transmitted to the
`service provider machine 110 at a later time. The system
`may operate in a delayed communications mode if the
`communication network is not accessible or reliable at the
`time of the transaction. An intermittent communications
`
`mode may also be used if the