`
`(12) United States Patent
`Chatterjee
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 9,304,758 B2
`Apr. 5, 2016
`
`(54)
`
`(71)
`(72)
`
`(73)
`
`(*)
`
`(21)
`(22)
`(65)
`
`(63)
`
`(60)
`
`(51)
`
`(52)
`
`MODIFICATION OF TERMINAL AND
`SERVICE PROVIDER MACHINES USING AN
`UPDATE SERVER MACHINE
`
`Applicant: Shuv Gray LLC, Foster City, CA (US)
`Inventor: Sandeep Chatterjee, Foster City, CA
`(US)
`Assignee: S3G Technology LLC, Foster City, CA
`(US)
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`Appl. No.: 14/788,506
`
`Notice:
`
`Filed:
`
`Jun. 30, 2015
`
`Prior Publication Data
`US 2015/O3O1820 A1
`Oct. 22, 2015
`
`Related U.S. Application Data
`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, now Pat. No. 8,572,571.
`Provisional application No. 61/325,212, filed on Apr.
`16, 2010, provisional application No. 61/228,140,
`filed on Jul 23, 2009.
`
`Int. C.
`G06F 9/44
`G06F 3/00
`G06F 9/445
`
`(2006.01)
`(2006.01)
`(2006.01)
`(Continued)
`
`U.S. C.
`CPC ................ G06F 8/65 (2013.01); G06F 9/4443
`(2013.01); G06F II/3664 (2013.01); H04W
`4/003 (2013.01)
`
`(58) Field of Classification Search
`CPC ....... H04W 4/027; H04W 4/02; H04W 64/00;
`G06F 21/88: G06F 8/65; G06F 8/34; G06F
`8/38; G06F 1 1/3664
`See application file for complete search history.
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`6,047,327 A
`6,574,791 B1
`6,668,368 B1
`
`4/2000 Tso et al.
`6/2003 Gauthier et al.
`12/2003 Hernandez, III
`(Continued)
`OTHER PUBLICATIONS
`
`Stewartet al., Transition relevance place: a proposal for adaptive user
`interface in natural language dialog management systems, Apr. 2006,
`6 pages.
`
`(Continued)
`
`Primary Examiner — Thuy Dao
`(74) Attorney, Agent, or Firm — Morgan, Lewis & Bockius
`LLP
`
`ABSTRACT
`(57)
`A system including a terminal machine and a service provider
`machine is modified using a service provider machine. The
`terminal machine includes a terminal application for display
`ing a prompt in a first sequence of prompts and accepting a
`user data entry in a first series of data entries. The service
`provider machine includes a provider application for receiv
`ing the user data entry. The update server machine sends a
`dialog module including a first and second set of updated code
`to the terminal machine and the service provider machine,
`respectively. The dialog module does not modify computer
`executable instructions saved on the terminal or service pro
`vider machines. The first and second set of updated code
`adapts the terminal application and provider application,
`respectively, to use a second sequence of prompts and a
`second sequence of data entries.
`23 Claims, 15 Drawing Sheets
`
`Case 6:20-cv-00564-ADA Document 1-3 Filed 06/24/20 Page 1 of 26
`
`IALOGE SEENCE MCNGA
`ErMAACHINEAN A SERVCE
`ROWERMACN
`
`2
`TERMINAL MANE
`
`434
`SPLAY FIRST ROWPT
`
`1.
`SERWICE PR fier
`MACNie
`
`3.
`NITIAEAigE
`SEQUENCE
`
`room
`
`ACCEETJSERATA ENTRY
`INPUT
`
`as
`SENUSERATA ENTRY
`
`:
`RECEIVE SERAAERY
`
`ai.
`SplAYSECON PROvi
`
`at 2
`NITATESECNPRMR
`
`
`
`US 9,304,758 B2
`Page 2
`
`2005, 0102664 A1
`2006/0069568 A1
`
`5/2005 Eyres et al.
`3/2006 Passaretti ................ G1 OL15/O1
`704/27O
`
`4/2006 Craswell et al.
`2006/0073820 A1
`2006/0230379 A1* 10, 2006 Pintos ....................... G06F 8/38
`717/109
`2007/0240069 A1* 10/2007 Eldridge ......... GOSB 19,0426
`715,763
`2009/0171669 A1* 7/2009 Engelsma ............... G1 OL15, 22
`705/275
`
`10/2010 Berton et al.
`2010/0267345 A1
`8, 2013 Reitan
`2013/0219357 A1
`OTHER PUBLICATIONS
`
`Griol et al., Statistical dialog management methodologies for real
`applications, Sep. 2010, 4 pages.
`Perugini et al., A Study of out-of-turn interaction in menu-based, IVR,
`voicemail systems, Apr. 2007, 10 pages.*
`Lohr et al., Mixed-Initiative Dialog Management for Speech-Based
`Interaction with Graphical User Interfaces, Apr. 2008, 10 pgs.
`Pat
`MULTI: Multiple User Interactive Template Installati
`EO, 1
`ultiple User Interactive emplate installation,
`. ZUU f. I pg.
`ional Prelimi
`Sourcetrace Systems Inc., International Preliminary Report on Pat
`entability, PCT/US2010/042775, Feb. 2, 2012, 6 pgs.
`Sourcetrace Systems Inc., International Search Report and Written
`Opinion, PCT/US2010/042775, Sep. 13, 2010, 6 pgs.
`
`* cited by examiner
`
`(51) Int. C.
`H0474/00
`
`G06F II/36
`
`(2009.01)
`
`(2006.01)
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`3/2004 Haswell et al.
`6,701,514 B1
`2/2007 Bourke-Dunphy et al.
`7,185,334 B2
`3/2008 Saidenberg et al.
`7.343,550 B2
`9/2009 Ramachandran et al.
`7,594,219 B2
`7,827,545 B2 11/2010 Choe et al.
`7.930,182 B2 * 4, 2011 Sinai ......................... G06F 8/38
`- - W
`al
`TO4,231
`8,056,070 B2 * 1 1/2011 Goller ....................... GO6F 8.65
`TO4,231
`8,307,294 B2 * 1 1/2012 Luo ........................... G06F 8.34
`715,762
`3.26 R:
`.38: VICE
`I w
`C. ca.
`8,572,571 B2 10/2013 Chatterjee
`8,977,951 B2* 3/2015 Ethier ................... G06F 3.0484
`71.5/222
`9,158,508 B2 * 10/2015 Eldridge ............... G06F 3.0486
`2003/0022677 A1
`1, 2003 Pikivi
`2004/0205720 A1 10, 2004 Hundt
`2004/0242209 A1 12/2004 Kruiset al.
`2005, OO65995 A1
`3, 2005 Milstein et al.
`
`Case 6:20-cv-00564-ADA Document 1-3 Filed 06/24/20 Page 2 of 26
`
`
`
`U.S. Patent
`
`Apr. 5, 2016
`
`Sheet 1 of 15
`
`US 9,304,758 B2
`
`SERVE POWER
`VACH NE
`
`2 SERVCE ROWER
`At A
`
`4 frSS
`TRANSCEIVER
`
`24 fire SS
`TRANSCEWER
`
`12 RMNA ACACN
`
`
`
`
`
`
`
`
`
`
`
`28 SER
`|| DISPLAY
`
`
`
`2.E.
`DEVICE
`
`2 ERNAMACHN
`
`
`
`2
`
`DATE SERVER
`ACN
`
`14 IRE ESS
`RA SECEER
`
`OS DAC GUE WE
`
`Case 6:20-cv-00564-ADA Document 1-3 Filed 06/24/20 Page 3 of 26
`
`FG.
`
`
`
`U.S. Patent
`
`Apr. 5, 2016
`
`Sheet 2 of 15
`
`US 9,304,758 B2
`
`12
`
`2.
`
`
`
`122
`
`224
`
`22
`
`2 O
`
`SERVCE
`ROWOR ACN
`
`ER/viA
`ACN
`
`
`
`102 AE
`SERVER WACN
`
`Case 6:20-cv-00564-ADA Document 1-3 Filed 06/24/20 Page 4 of 26
`
`
`
`U.S. Patent
`
`Apr. 5, 2016
`
`Sheet 3 of 15
`
`US 9,304,758 B2
`
`33O
`ERMINAL MACHINE DALOGUE MODUE,
`DAE SECRENCE
`
`O2
`A SERVER /ACNE
`
`2)
`ERVNA. VACNE
`
`SEN ACGE WOULE
`WERSON NFORMAT ON
`
`CHE TERMINAL MACHINE
`
`338
`REEVE AND STORE
`ALOG E v.) E
`
`
`
`EXEC E ERMNAL
`APPLCAON
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Case 6:20-cv-00564-ADA Document 1-3 Filed 06/24/20 Page 5 of 26
`
`F.G. 3A
`
`
`
`U.S. Patent
`
`Apr. 5, 2016
`
`Sheet 4 of 15
`
`US 9,304,758 B2
`
`350
`SERVICE PROVIDER DALOGUE MODULE,
`UPDAE SECRUENCE
`
`O2
`PAE SERVER MAC-N-
`
`SERVE PROWER
`MAC-NE
`
`RECEVE AND SORE
`}}A(OGUE MOD E VERSON
`NFORMATON
`
`
`
`
`
`356
`SEND A A L8){GUE MOD E
`O THE SERVCE PROV ER
`MACH NE
`
`35
`SiN) 3A {{G JE Mi{})}
`WERSON INFORMA (ON
`
`
`
`
`
`358
`RECEIVE AND STORE
`A {}GUE N{}}J E
`
`EXE ("E SERVCE PRCW) R.
`AP {CAEN
`
`Case 6:20-cv-00564-ADA Document 1-3 Filed 06/24/20 Page 6 of 26
`
`G. 38
`
`
`
`U.S. Patent
`
`Apr. 5, 2016
`
`Sheet 5 Of 15
`
`US 9,304,758 B2
`
`(i)
`OAOGE SERENCE NCDNGA
`RMNA ACN AN A SERVCE
`PROWER MAC-NE
`
`2
`RNA WACN
`
`
`
`ROWER
`SERW
`WAC-NE
`
`$2
`NTAE AL OGE
`SEQUENCE
`
`44
`SPLAY SECON) ROW
`
`Case 6:20-cv-00564-ADA Document 1-3 Filed 06/24/20 Page 7 of 26
`
`
`
`U.S. Patent
`
`Apr. 5, 2016
`
`Sheet 6 of 15
`
`US 9,304,758 B2
`
`42O
`ACGE SEENCE NCDN G. A
`ERNA AC-N AND A SRW:
`PROVER WACH NE
`
`20
`ERVNA MAC-NE
`
`422
`NATE BEA CE
`SEQUENCE
`cricY
`A24
`SAY FRS R{OW
`
`ACCEPT SER ATA ENTRY
`NPT
`
`SEN SER AND PROWP
`AA
`
`
`
`
`
`O
`SERVCE OROW) R
`fACME
`
`- 43
`RECEWE SER AND R OT
`ATA
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Case 6:20-cv-00564-ADA Document 1-3 Filed 06/24/20 Page 8 of 26
`
`F.G. E.
`
`
`
`U.S. Patent
`
`Apr. 5, 2016
`
`Sheet 7 Of 15
`
`US 9,304,758 B2
`
`eiic ch
`
`S.
`
`tery: oak
`ef:
`
`Š
`
`CC
`
`FG. A
`
`S.
`as
`wer
`
`2.Éck is a haia ice
`
`Case 6:20-cv-00564-ADA Document 1-3 Filed 06/24/20 Page 9 of 26
`
`FC. E.
`
`
`
`U.S. Patent
`
`Apr. 5, 2016
`
`Sheet 8 of 15
`
`US 9,304,758 B2
`
`e
`
`A
`
`Pease eter year bark
`a CCC at
`ser:
`
`U A
`
`is
`
`a
`
`FG. A
`
`iWake i38 pay eit
`2. Wake sawings deposit
`S Wi t s
`3.
`S. S s
`
`ai
`
`Pease gester can
`payment art:
`
`FG. S.
`
`Case 6:20-cv-00564-ADA Document 1-3 Filed 06/24/20 Page 10 of 26
`
`S.
`
`F.G. SC
`
`
`
`U.S. Patent
`
`Apr. 5, 2016
`
`Sheet 9 Of 15
`
`US 9,304,758 B2
`
`S.
`
`eiic
`
`G. A
`
`S.
`he is
`
`sease eter cai
`ide tificatio is re:
`
`Case 6:20-cv-00564-ADA Document 1-3 Filed 06/24/20 Page 11 of 26
`
`F.G. 78
`
`
`
`U.S. Patent
`
`Apr. 5, 2016
`
`Sheet 10 of 15
`
`US 9,304,758 B2
`
`sigged Eri is:
`at are:
`Saurity as at:
`
`tisiifiti stars raise, Siri isfy if
`aii is
`Estasis. See als.
`gigs ask FE is
`
`S&S...SSS
`
`Raasis:
`
`S.
`
`sidset. Eggs:
`as fiti f :
`
`888S
`sci-frS5, Sa'iisa ri: 8.4 tissis, sps assassists sty,
`s.stas' assassia
`is tissisi saga as
`'aasi.
`
`s: guage Sit:
`
`Sigis Sysis
`
`risis it
`
`is is a gas Says roject 3; 3 trit Prict for if
`
`sing
`
`is
`
`is
`
`* Fixx Scy's 25
`
`Sess'':
`
`it
`
`as
`
`Sa'gift sists fi
`
`::ig, esc: ::::::::::::::::iii. as it.
`
`c is like it 3's air
`
`3 giga is
`
`sists:
`it is
`Services Feiya her:
`Fliiia Essigf8: Extreme
`
`is 58 E: sis.
`Faap::f a
`eServices if tidas paris
`sti
`i
`Sefik
`
`SSEE
`
`Fres: is ER FAN para contina:
`
`
`
`S.
`S
`S
`
`S.
`
`
`
`
`
`
`
`
`
`s
`
`Case 6:20-cv-00564-ADA Document 1-3 Filed 06/24/20 Page 12 of 26
`
`SSSSSSSSSSSSSSSSSSSSSS
`
`
`
`
`
`U.S. Patent
`
`Apr. 5, 2016
`
`Sheet 11 of 15
`
`US 9,304,758 B2
`
`
`
`estifia
`
`A:lark:
`
`Case 6:20-cv-00564-ADA Document 1-3 Filed 06/24/20 Page 13 of 26
`
`FG. 8B
`
`
`
`U.S. Patent
`
`Apr. 5, 2016
`
`Sheet 12 of 15
`
`US 9,304,758 B2
`
`2O
`TERNA
`AACME
`
`s
`
`
`
`FSS
`TRANSCEIVER
`
`VORY
`
`ROCESSOR
`
`
`
`
`
`908
`
`
`
`SK
`STORAGE
`
`MEDA L910
`
`RVE
`
`( MEDIA -"
`
`M
`r-, -, -,
`OOO 918
`|-
`
`cc
`
`circ Y.r
`
`
`
`Case 6:20-cv-00564-ADA Document 1-3 Filed 06/24/20 Page 14 of 26
`
`SER
`DISPLAY
`
`92O
`
`ROGRA L91
`
`
`
`U.S. Patent
`
`Apr. 5, 2016
`
`Sheet 13 of 15
`
`US 9,304,758 B2
`
`
`
`- 1018
`Fr SS
`TRANSCEIVER
`
`Y
`traxxxx xxxxxxx f- s
`
`O16
`
`NETWORK -
`CONNECTION
`
`1G
`
`SRVCE PROVER
`ACN
`
`
`
`
`
`VEVORY
`
`ROCESSOR
`
`
`
`
`
`*
`
`waxas -
`*
`e. easa
`DISK
`STORAGE
`S- as'
`
`1008
`
`w
`
`-
`vEDA -
`RW
`iDA
`
`2
`
`
`
`OA
`
`ROGRA
`
`Case 6:20-cv-00564-ADA Document 1-3 Filed 06/24/20 Page 15 of 26
`
`
`
`U.S. Patent
`
`Apr. 5, 2016
`
`Sheet 14 of 15
`
`US 9,304,758 B2
`
`102
`A SERVER
`AC-NE
`
`
`
`N 1118
`-
`
`WIRELESS
`TRANSCEIVER
`N- -
`
`
`
`1116
`NETWORK -
`CONNECTION
`
`MEMORY
`
`|
`
`PROCESSOR
`
`vie A
`
`y
`
`EA
`
`1 12
`
`
`
`DiSK
`STORAGE
`
`Case 6:20-cv-00564-ADA Document 1-3 Filed 06/24/20 Page 16 of 26
`
`
`
`PROGRAM
`
`
`
`U.S. Patent
`
`Apr. 5, 2016
`
`Sheet 15 Of 15
`
`US 9,304,758 B2
`
`COViNCAONS AEKE
`
`EAER
`
`
`
`
`
`USER DATA, USER DATA,
`RCVP
`RCM?
`2
`
`
`
`24.
`
`28
`
`28
`
`Case 6:20-cv-00564-ADA Document 1-3 Filed 06/24/20 Page 17 of 26
`
`
`
`US 9,304,758 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 U.S. patent applica
`tion Ser. No. 14/060,490, filed Oct. 22, 2013, which is a
`continuation of U.S. patent application Ser. No. 12/841,113,
`filed Jul. 21, 2010, now U.S. Pat. No. 8,572,571, issued Oct.
`29, 2013, which claims the benefit under 35 USC 119(e) of
`U.S. Provisional Patent Application No. 61/325,212, filed
`Apr. 16, 2010, and U.S. Provisional Patent Application No.
`61/228,140, filed Jul. 23, 2009, the disclosures of which are
`hereby incorporated by reference in their entireties.
`
`10
`
`15
`
`BACKGROUND
`
`2
`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 notable 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-executable instruc
`tions that comprises an updated Software application includes
`a relatively large amount of information.
`However, in many situations, it may be difficult to distrib
`ute a newly compiled version of the updated Software appli
`cation 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 tradi
`tional 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 communi
`cations network has limited data transmission capabilities, it
`may be difficult to transmit the large amount of information
`(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 communicating with
`the device may be over a wireless telecommunications net
`work. However, due to bandwidth limitations 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 unaccept
`able 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 com
`puterized system includes a large number of wireless mobile
`devices, each requiring a separate application upload. Devel
`oping and testing separate applications for each mobile
`device can be time-consuming and economically infeasible.
`Additionally, if there are different versions of the software
`application distributed among a large number of mobile
`devices, a uniform Software application update may be diffi
`cult 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.
`
`1. 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 com
`puter transaction dialogue module.
`2. Description of the Related Art
`It is well known to those of skill in the art that computerized
`systems can be adapted to perform specific functionality 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 function
`ality. Typically, the software is written or created as source
`code and later compiled or converted into computer-execut
`able instructions able to be read and executed by a computer
`processor without additional translation or adaptation. For
`example, the source code may be written in languages such as
`C, C++, or Java. Computer-executable instructions are some
`times 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 processor,
`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.
`Virtual 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 intermediary code,
`such as Java Byte Code. The intermediary code is thenable 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 is able to emulate a stan
`dardized computer platform that is independent of the actual
`computer processor or hardware configuration.
`A computerized system, in the context of the embodiments
`described herein, includes more than one hardware device,
`each hardware device running a separate Software applica
`tion. 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
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`Case 6:20-cv-00564-ADA Document 1-3 Filed 06/24/20 Page 18 of 26
`
`60
`
`65
`
`SUMMARY
`
`A system including a terminal machine and a service pro
`vider machine is modified using a service provider machine.
`The terminal machine runs a terminal application. The termi
`nal 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
`
`
`
`3
`comprised of a first set of computer-executable instructions
`and a first set of code. The service provider machine runs a
`provider application. The provider application is able to
`receive the user data entry. The provider application is com
`prised of a second set of computer-executable instructions
`and a second set of code.
`The update server machine is able to send a dialogue mod
`ule 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.
`
`10
`
`15
`
`DESCRIPTION OF THE FIGURES
`
`35
`
`40
`
`45
`
`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 com
`25
`puterized system.
`FIG. 3A illustrates a process for updating a dialogue mod
`ule on a terminal machine using an update server machine.
`FIG. 3B illustrates a process for updating a dialogue mod
`ule on a service provider machine using an update server
`30
`machine.
`FIG. 4A illustrates a dialogue sequence including a termi
`nal machine and a service provider machine in a continuous
`communications mode.
`FIG. 4B illustrates a dialogue sequence including a termi
`nal machine and a service provider machine in a delayed
`communications mode.
`FIG. 5A illustrates an example of a first prompt in a bank
`ing dialogue protocol.
`FIG. 5B illustrates an example of a subsequent promptina
`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 medi
`cal dialogue protocol.
`FIG. 7B illustrates an example of a subsequent promptina
`medical dialogue protocol.
`FIG. 8A to 8B illustrate examples of a design tool for
`modifying a system dialogue protocol.
`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 alterna
`tive embodiments of the structures and methods illustrated
`
`50
`
`55
`
`60
`
`65
`
`Case 6:20-cv-00564-ADA Document 1-3 Filed 06/24/20 Page 19 of 26
`
`US 9,304,758 B2
`
`4
`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 Soft
`ware 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 embodiments, 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 proto
`col 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 according 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 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
`
`
`
`US 9,304,758 B2
`
`10
`
`15
`
`25
`
`30
`
`35
`
`40
`
`45
`
`5
`controllers and other components of the wireless communi
`cations 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 trans
`action 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 (residing 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 provider machine 110
`before the user is prompted for additional input. The system
`may operate in a continuous communications mode if the
`communication network is available and can provide perfor
`mance adequate to transfer data between prompts, without
`causing an appreciable delay in the transaction. One advan
`tage to operating in a continuous communications mode is
`that transactional information sent by the service provider
`machine 110 is likely to be more current than if the transac
`tional 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 communi
`cation network is not accessible or reliable at the time of the
`transaction. An intermittent communications mode may also
`be used if the communication network is available, but it is
`advantageous to minimize the number of communications
`between the terminal machine 120 and the service provider
`machine 110. Typically, the cost of data transmission over a
`communications network is lower when the number of trans
`missions is reduced. Operating in a delayed communications
`mode may also result in an improved system response
`because there is little or no delay due to data transmission over
`the communications network.
`A system can also alternate between modes by operating a
`portion of the time in a continuous communications mode and
`a portion of the time in a delayed communications mode. For
`example, a series of data entries may be stored on the terminal
`machine 120 and then transmitted as a group to the service
`provider machine 110 before the transaction is complete. By
`alternating between communications modes, the system may
`
`Case 6:20-cv-00564-ADA Document 1-3 Filed 06/24/20 Page 20 of 26
`
`50
`
`55
`
`60
`
`65
`
`6
`reduce communications costs by minimizing the number of
`data transmissions. Alternating between communication
`modes also allows the service provider machine 110 to pro
`vide the terminal machine 120 with up-to-date transactional
`information.
`With regard to hardware components used communication
`using the wireless communications network, the service pro
`vider machine 110 may be in communication with a wireless
`transceiver 114, which is able to send and receive data over
`the wireless communications network. In some embodi
`ments, the wireless transceiver 114 is separate from the ser
`vice provider machine 110, and is in communication with the
`service provider machine 110 using a computer network con
`nection. For example, in some embodiments, the wireless
`transceiver 114 may be part of a base station in a wireless
`communications network. In alternative embodiment, the
`wireless transceiver 114 is dedicated to the service provider
`machine 110 and/or is connected directly to the service pro
`vider machine 110.
`The service provider machine 110 also includes a service
`provider application 112 that is able to direct the service
`provider machine's portion of the dialogue protocol. Details
`regarding the service provider application are described in
`more detail in FIG. 2 below.
`The terminal machine 120 may also include a wireless
`transceiver 124 able to send and receive data over the wireless
`communications network. The terminal machine 120 also
`includes a terminal application 122 that is able to direct the
`terminal machine’s portion of the dialogue protocol. Addi
`tionally, the terminal machine 120 includes a user display 126
`and a data entry device 128 for interacting with a system user.
`For example, the user display 126 may include a monitor or
`screen and the data entry device 128 may include a keypad or
`keyboard. See FIG. 9 for a more detailed description of the
`components of a terminal machine 120.
`Also depicted in FIG. 1, the update server machine 102
`communicates with the service provider machine 110 and the
`terminal machine 120 using the wireless communications
`network described above. The update server machine 102
`may include a wireless transceiver 104 adapted for commu
`nication over the wireless communications network. In some
`embodiments, the wireless transceiver 104 is separate from
`the update server machine 102, and is in communication with
`the update server machine 102 using a computer network
`connection.
`The update server machine 102 also includes at least one
`dialogue module 106. As discussed in more detail below, the
`dialogue module 106 may include portions of code and/or
`instructions that are able to modify the dialogue protocol
`between the terminal machine 120 and the service provider
`machine 110. In a preferred embodiment, the dialogue mod
`ule is less than 1 Mb to facilitate communication over a
`network with limited data transfer capacity.
`FIG. 2 illustrates components of a computerized system
`used to update a dialogue protocol. In one embodiment, an
`update server machine 102 includes a terminal dialogue mod
`ule 202 and a service provider dialogue module 206. Each
`dialogue module 202, 206 may include one or more portions
`of code or instructions. In this exemplary embodiment, the
`terminal dialogue module 202 includes terminal code 204 and
`the service provider dialogue module 206 includes service
`provider code 208. In some embodiments, the terminal code
`204 and the service provider code 208 are the same code.
`A dialogue module may be communicated to individual
`components in the system. The embodiment in FIG. 2 depicts
`two components, a service provider machine 110 and a ter
`minal machine 120. A dialogue module 206 containing ter
`
`
`
`US 9,30