`
`US009081897B2
`
`(12) United States Patent
`Chatterjee
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 9,081.897 B2
`Jul. 14, 2015
`
`(54)
`
`(71)
`
`(72)
`
`(73)
`(*)
`
`(21)
`(22)
`(65)
`
`(63)
`
`(60)
`
`(51)
`
`(52)
`
`(58)
`
`MODIFICATION OF TERMINAL AND
`SERVICE PROVIDER MACHINES USING AN
`UPDATE SERVER MACHINE
`
`Applicant: Sandeep Chatterjee, Foster City, CA
`(US)
`Inventor: Sandeep Chatterjee, Foster City, CA
`(US)
`Assignee: Shuv Gray 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 17 days.
`Appl. No.: 14/060,490
`Filed:
`Oct. 22, 2013
`
`Prior Publication Data
`US 2014f0047415A1
`Feb. 13, 2014
`Related U.S. Application Data
`Continuation of application No. 12/841,113, filed on
`Jul. 21, 2010, now Pat. No. 8,572,571.
`Provisional application No. 61/228,140, filed on Jul.
`23, 2009, provisional application No. 61/325,212,
`filed on Apr. 16, 2010.
`
`(2006.01)
`(2006.01)
`(2006.01)
`(2009.01)
`
`Int. C.
`G06F 9/44
`G06F 9/445
`G06F II/36
`H0474/00
`U.S. C.
`CPC .............. G06F II/3664 (2013.01); G06F 8/65
`(2013.01); G06F 9/4443 (2013.01); H04W
`4/003 (2013.01)
`
`Field of Classification Search
`CPC ..... G06F 1 1/3664: G06F 8/65; G06F 9/4443:
`HO4W 4f003
`See application file for complete search history.
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`4/2000 Tso et al.
`6,047,327 A
`6/2003 Gauthier et al.
`6,574,791 B1
`12/2003 Hernandez, III
`6,668,368 B1
`6,701,514 B1* 3/2004 Haswell et al. ............... 717,115
`7,185,334 B2
`2/2007 Bourke-Dunphy et al.
`7,343,550 B2
`3/2008 Saidenberg et al.
`7,594,219 B2
`9/2009 Ramachandran et al.
`7,827.545 B2 * 1 1/2010 Choe et al. .................... 717,168
`8,347,267 B2
`1/2013 Givoni et al.
`(Continued)
`OTHER PUBLICATIONS
`
`Lohr et al., Mixed-initiative dialog management for speech-based
`interaction with graphical user interfaces, Apr. 2008, 10 pages.
`(Continued)
`
`Primary Examiner — Thuy Dao
`(74) Attorney, Agent, or Firm — Morgan, Lewis & Bockius
`LLP
`
`(57)
`ABSTRACT
`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
`dialogue module including a first and second set of updated
`code to the terminal machine and the service provider
`machine, respectively. The dialogue module does not modify
`computer-executable instructions saved on the terminal or
`service provider 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.
`26 Claims, 15 Drawing Sheets
`
`330
`TERMINAL MACHINE DIALOGUE MODULE,
`UPDATE SEOUENCE
`
`102
`UPDATESERVERMACHINE
`
`334
`RECEIVE AND STORE
`DIALOGUE MODULEVERSION
`INFORMATION
`
`120
`TERMINAMACHINE
`
`332
`SEND DIALOGUE MODULE
`WERSONINFORMATION
`
`336
`SENDADALOGUEMODULE
`TO THE TERMINAL MACHINE
`
`338
`RECEIVE AND STORE
`DIALOGUE MODULE
`
`
`
`340
`EXECUTE TERMINAL
`APPLICATION
`
`
`
`
`
`Case 2:20-cv-00114-JRG Document 1-2 Filed 04/22/20 Page 2 of 26 PageID #: 36
`
`US 9,081897 B2
`Page 2
`
`(56)
`
`References Cited
`
`2013/0219357 A1* 8, 2013 Reitan ........................... 717,116
`
`U.S. PATENT DOCUMENTS
`
`OTHER PUBLICATIONS
`
`8.448,160 B2 * 5/2013 Vincent et al. ................ 717,168
`8,572,571 B2 * 10/2013 Chatterjee ..................... 717/124
`2003/0022677 A1
`1, 2003 Pikivi
`2004/0205720 Al
`10/2004 Hundt
`2004/0242209 A1 12/2004 Kruiset al.
`2005, OO65995 A1* 3, 2005 Milstein et al. ............... TO9,202
`
`Paterson, MULTI: multiple user interactive template installation,
`Jun. 2007, 1 page.*
`Sourcetrace Systems Inc., International Preliminary Report on Pat
`entability, PCT/US2010/042775, Feb. 2, 2012, 6 pgs.
`Sourcetrace Svstems Inc.. International Search Report and Written
`y
`f
`p
`
`4/2006 Craswell et al.
`2006, OO73820 A1
`2010/0267345 A1 * 10, 2010 Berton et al. ................... 455/68
`
`* cited by examiner
`
`
`
`Case 2:20-cv-00114-JRG Document 1-2 Filed 04/22/20 Page 3 of 26 PageID #: 37
`
`U.S. Patent
`
`Jul. 14, 2015
`
`Sheet 1 of 15
`
`US 9,081.897 B2
`
`110 SERVICE PROVIDER
`MACHINE
`
`112 SERVICE PROVIDER
`APPLICATION
`
`114 WIRELESS
`TRANSCEIVER
`
`
`
`102 UPDATE SERVER
`MACHINE
`
`104 WIRELESS
`TRANSCEIVER
`
`106 DIALOGUE MODULE
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`124 WRELESS
`TRANSCEIVER
`
`122 TERMINAL APPLICATION
`
`126 USER
`DISPLAY
`
`128 DATA
`ENTRY
`DEVICE
`
`120 TERMINAL MACHINE
`
`F.G. 1
`
`
`
`Case 2:20-cv-00114-JRG Document 1-2 Filed 04/22/20 Page 4 of 26 PageID #: 38
`
`U.S. Patent
`
`Jul. 14, 2015
`
`Sheet 2 of 15
`
`US 9,081.897 B2
`
`210
`
`22O
`
`11 O SERVICE
`PROVIDER MACHINE
`
`120 TERMINAL
`MACHINE
`
`
`
`102 UPDATE
`SERVER MACHINE
`
`
`
`Case 2:20-cv-00114-JRG Document 1-2 Filed 04/22/20 Page 5 of 26 PageID #: 39
`
`U.S. Patent
`
`Jul. 14, 2015
`
`Sheet 3 of 15
`
`US 9,081.897 B2
`
`33O
`TERMINAL MACHINE DIALOGUE MODULE,
`UPDATE SEOUENCE
`
`102
`UPDATE SERVER MACHINE
`
`120
`TERMINAL MACHINE
`
`
`
`
`
`
`
`
`
`334
`RECEIVE AND STORE
`DIALOGUE MODULE VERSION
`INFORMATION
`
`
`
`
`
`332
`SEND DIALOGUE MODULE
`VERSION INFORMATION
`
`336
`SEND A DIALOGUE MODULE
`TO THE TERMINAL MACHINE
`
`
`
`338
`RECEIVE AND STORE
`DIALOGUE MODULE
`
`
`
`
`
`
`
`340
`EXECUTE TERMINAL
`APPLICATION
`
`FIG. 3A
`
`
`
`Case 2:20-cv-00114-JRG Document 1-2 Filed 04/22/20 Page 6 of 26 PageID #: 40
`
`U.S. Patent
`
`Jul. 14, 2015
`
`Sheet 4 of 15
`
`US 9,081.897 B2
`
`350
`SERVICE PROVIDER DIALOGUE MODULE,
`UPDATE SECRUENCE
`
`102
`UPDATE SERVER MACHINE
`
`354
`RECEIVE AND STORE
`DIALOGUE MODULE VERSION
`INFORMATION
`
`
`
`110
`SERVICE PROVIDER
`MACHINE
`
`352
`SEND DIALOGUE MODULE
`VERSION INFORMATION
`
`
`
`356
`SEND A DIALOGUE MODULE
`TO THE SERVICE PROVIDER
`MACHINE
`
`358
`RECEIVE AND STORE
`DIALOGUE MODULE
`
`
`
`360
`EXECUTE SERVICE PROVIDER
`APPLICATION
`
`FIG. 3B
`
`
`
`Case 2:20-cv-00114-JRG Document 1-2 Filed 04/22/20 Page 7 of 26 PageID #: 41
`
`U.S. Patent
`
`Jul. 14, 2015
`
`Sheet 5 of 15
`
`US 9,081.897 B2
`
`400
`DIALOGUE SEQUENCE INCLUDING A
`TERMINAL MACHINE AND A SERVICE
`PROVIDER MACHINE
`
`120
`TERMINAL MACHINE
`
`
`
`404
`DISPLAY FIRST PROMPT
`
`110
`SERVICE PROVIDER
`MACHINE
`
`402
`INITIATE DIALOGUE
`SEQUENCE
`
`406
`ACCEPT USER DATA ENTRY
`INPUT
`
`408
`SEND USER DATA ENTRY
`
`410
`RECEIVE USER DATA ENTRY
`
`414
`DISPLAY SECOND PROMPT
`
`412
`INITIATE SECOND PROMPT
`
`FIG. 4A
`
`
`
`Case 2:20-cv-00114-JRG Document 1-2 Filed 04/22/20 Page 8 of 26 PageID #: 42
`
`U.S. Patent
`
`Jul. 14, 2015
`
`Sheet 6 of 15
`
`US 9,081.897 B2
`
`420
`DIALOGUE SEQUENCE INCLUDING A
`TERMINAL MACHINE AND A SERVICE
`PROVIDER MACHINE
`
`120
`TERMINAL MACHINE
`
`422
`INITIATE DIALOGUE
`SEQUENCE
`
`424
`DISPLAY FIRST PROMPT
`
`426
`ACCEPT USER DATA ENTRY
`INPUT
`
`428
`DISPLAY SECOND PROMPT
`
`430
`SEND USER AND PROMPT
`DATA
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`110
`SERVICE PROVIDER
`MACHINE
`
`
`
`432
`RECEIVE USER AND PROMPT
`DATA
`
`FIG. 4B
`
`
`
`Case 2:20-cv-00114-JRG Document 1-2 Filed 04/22/20 Page 9 of 26 PageID #: 43
`
`U.S. Patent
`
`Jul. 14, 2015
`
`Sheet 7 Of 15
`
`US 9,081.897 B2
`
`S.
`Hello John
`
`Please enter your bank
`account number:
`
`
`
`FIG. 5A
`
`S.
`Main Menu
`
`1.lookup savings balance
`2.lookup loan balance
`
`F.G. 5B
`
`
`
`Case 2:20-cv-00114-JRG Document 1-2 Filed 04/22/20 Page 10 of 26 PageID #: 44
`
`elio Joh
`
`S.
`
`k
`
`FIG. 6A
`
`Š1.Make loan payment
`2.Make Saving
`S
`3.Make Saving
`t
`
`drawal s with
`4.Lookup savi
`ngs ba
`C
`
`
`Ca 5.Lookup loan balan
`
`S.
`
`S.
`
`Please
`
`are main
`
`Š
`
`FIG. 6B
`
`FIG. 6C
`
`
`
`Case 2:20-cv-00114-JRG Document 1-2 Filed 04/22/20 Page 11 of 26 PageID #: 45
`
`U.S. Patent
`
`Jul. 14, 2015
`
`Sheet 9 Of 15
`
`US 9,081.897 B2
`
`Y
`
`insurance number:
`
`Please enter claim
`identification number:
`
`FIG. 7B
`
`
`
`Case 2:20-cv-00114-JRG Document 1-2 Filed 04/22/20 Page 12 of 26 PageID #: 46
`
`U.S. Patent
`
`Jul. 14, 2015
`
`Sheet 10 of 15
`
`US 9,081.897 B2
`
`
`
`logged in As
`Pract same:
`3ecurity eye;
`
`an aidininistrastersaria Adiris?atir
`dafinistratics creas.
`sigs 3-d
`was
`
`&SSSSS
`
`Fite afsio:
`
`tr.
`
`Hardset type:
`as cription;
`
`S.
`Post-of-sists PS Taisha risei-cis is sistianitats as 'y,
`asri said sess is and isgrati swipe as raids,
`
`sigliage Sport:
`
`Ergis is sigh
`
`Priat is ragasas Sa is Project or Smit Project for Processing
`
`Pig stag
`
`:8.
`
`Sagar
`
`Staa:
`
`f is
`
`Sagar distics Casign each screer exactly. 323i w old like it to 3 p.25)
`
`Lar:guage ; sparith
`3rigaga E. Engieh
`SSSSSSSSSSSSSSSSSS
`S.
`Crete te
`Recepci1 al
`S
`eServices Everywhere
`eServices portiodas parties
`Mobile. Designer Extreme
`Extrem ?ivil Del Diseia
`
`3S
`
`Press ENERt
`
`tie
`
`Presione ENTRAN para Contin Liar
`
`FIG. 8A
`
`
`
`Case 2:20-cv-00114-JRG Document 1-2 Filed 04/22/20 Page 13 of 26 PageID #: 47
`
`U.S. Patent
`
`Jul. 14, 2015
`
`Sheet 11 of 15
`
`US 9,081.897 B2
`
`
`
`screen Flows (Select the keys and the destimatic Screen of the user pressing that key)
`
`sat (3.
`
`agetic Swipe 3rd
`
`Seer
`
`sata Entry Walidation (Specify the rules arid validation or the e?tered data.)
`
`Notes: Enter any notes or special harding instructors)
`
`FIG. 8B
`
`
`
`Case 2:20-cv-00114-JRG Document 1-2 Filed 04/22/20 Page 14 of 26 PageID #: 48
`
`U.S. Patent
`
`Jul. 14, 2015
`
`Sheet 12 of 15
`
`US 9,081.897 B2
`
`
`
`
`
`
`
`
`
`
`
`916
`
`
`
`WIRELESS
`TRANSCEIVER
`
`120
`TERMINAL
`MACHINE
`
`902
`N 906
`
`MEMORY
`
`PROCESSOR
`
`908
`
`DISK
`STORAGE
`
`910
`
`
`
`912
`
`MEDIA
`
`USER
`DISPLAY
`
`92O
`
`PROGRAM 914
`
`FIG. 9
`
`
`
`Case 2:20-cv-00114-JRG Document 1-2 Filed 04/22/20 Page 15 of 26 PageID #: 49
`
`U.S. Patent
`
`Jul. 14, 2015
`
`Sheet 13 of 15
`
`US 9,081.897 B2
`
`110
`SERVICE PROVIDER
`MACHINE
`
`WIRELESS
`TRANSCEIVER
`
`
`
`
`
`
`
`1018
`
`1016
`
`NETWORK
`CONNECTION
`
`1002
`
`N
`
`1006
`
`N
`
`PROCESSOR
`
`
`
`
`
`DISK
`STORAGE
`
`1012
`
`PROGRAM
`
`1014
`
`FIG. 10
`
`
`
`Case 2:20-cv-00114-JRG Document 1-2 Filed 04/22/20 Page 16 of 26 PageID #: 50
`
`U.S. Patent
`
`Jul. 14, 2015
`
`Sheet 14 of 15
`
`US 9,081.897 B2
`
`
`
`
`
`1118
`
`WRELESS
`TRANSCEIVER
`
`1116
`
`NETWORK
`CONNECTION
`
`102
`UPDATE SERVER
`MACHINE
`
`1102
`
`1104
`
`
`
`1106
`
`MEMORY
`
`PROCESSOR
`
`1108
`C D
`
`MEDIA
`DRIVE
`
`DISK
`STORAGE
`
`1110
`
`MEDIA
`
`1112
`
`PROGRAM
`
`1114
`
`FIG 11
`
`
`
`Case 2:20-cv-00114-JRG Document 1-2 Filed 04/22/20 Page 17 of 26 PageID #: 51
`
`U.S. Patent
`
`Jul. 14, 2015
`
`Sheet 15 Of 15
`
`US 9,081.897 B2
`
`
`
`
`
`
`
`
`
`12O2
`
`COMMUNICATIONS PACKET
`
`HEADER
`
`USER DATA, USER DATA,
`PROMPT 1 | PROMPT 2
`
`
`
`1204
`
`1206
`
`1208
`
`FIG. 12
`
`
`
`Case 2:20-cv-00114-JRG Document 1-2 Filed 04/22/20 Page 18 of 26 PageID #: 52
`
`US 9,081,897 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. 12/841,113, now U.S. Pat. No. 8,572,571, issued
`Oct. 29, 2013, which claims the benefit under 35 USC 119(e)
`of prior U.S. Provisional Patent Application No. 61/228, 140,
`filed Jul. 23, 2009, and U.S. Provisional Patent Application
`No. 61/325,212, filed Apr. 16, 2010, 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
`
`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
`
`
`
`Case 2:20-cv-00114-JRG Document 1-2 Filed 04/22/20 Page 19 of 26 PageID #: 53
`
`US 9,081,897 B2
`
`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
`
`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
`
`
`
`Case 2:20-cv-00114-JRG Document 1-2 Filed 04/22/20 Page 20 of 26 PageID #: 54
`
`US 9,081,897 B2
`
`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
`
`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
`
`10
`
`15
`
`25
`
`30
`
`35