throbber
US008572571B2
`
`(12) United States Patent
`Chatterjee
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 8,572,571 B2
`Oct. 29, 2013
`
`(54) MODIFICATION OF TERMINAL AND
`SERVICE PROVIDER MACHINES USING AN
`UPDATE SERVER MACHINE
`(75) Inventor: Sandeep Chatterjee, Foster City, CA
`(US)
`
`(73) 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 619 days.
`
`(21) Appl. No.: 12/841,113
`
`(22) Filed:
`
`Jul. 21, 2010
`
`(65)
`
`Prior Publication Data
`US 2011 FOO23O23 A1
`Jan. 27, 2011
`Related U.S. Application Data
`(60) Provisional application No. 61/325,212, filed on Apr.
`16, 2010, provisional application No. 61/228,140,
`filed on Jul 23, 2009.
`
`(2006.01)
`(2006.01)
`
`(51) Int. Cl.
`G06F 9/44
`G6F 9/445
`(52) U.S. Cl.
`USPC ............ 717/124; 717/107; 717/115; 717/174
`(58) Field of Classification Search
`None
`See application file for complete search history.
`
`(56)
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`4/2000 Tso et al.
`6,047,327 A
`6,574,791 B1* 6/2003 Gauthier et al. .............. 717/107
`6,668,368 B1* 12/2003 Hernandez, III .............. 717,115
`
`2/2007 Bourke-Dunphy et al. .. 717/174
`7,185,334 B2 *
`75853. 358 Real... 717124
`8347267 B3 2
`1/2013 Givonietal. 717/124
`2003/0022677 A1
`1, 2003 Pikivi
`2004/0205720 A1* 10, 2004 Hundt ........................... 717/124
`2004/0242209 A1* 12/2004 Kruiset al. ....
`... 455,414.1
`2005/0102664 A1* 5/2005 Eyres et al. ................... 717/174
`2006, OO73820 A1
`4/2006 Craswell et al.
`OTHER PUBLICATIONS
`
`
`
`International Search Report and Written Opinion received for PCT
`Patent Application No. PCT/US2010/042775, mailed on Sep. 13,
`2010, 7 pages.
`International Preliminary Report on Patentability received for PCT
`Patent Application No. PCT/US2010/042775, mailed on Feb. 2,
`2012, 6 pages.
`
`* cited by examiner
`Primary Examiner — Thuy Dao
`Attorney, Agent, or Firm — Morgan, Lewis & Bockius
`
`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
`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.
`31 Claims, 15 Drawing Sheets
`
`Case 6:20-cv-00564-ADA Document 1-2 Filed 06/24/20 Page 1 of 26
`
`400
`DIALOGUESEOUENCE INCLUDINGA
`TERMINAL MACHINE AND ASERVICE
`PROVIDERMACHINE
`
`11
`SERVCE PROWER
`MACHia.
`
`a(2.
`INITIATE DALOGE
`SEQUENCE
`
`120
`RMNALMACHIN
`
`04
`SPAY RS’ RC&P
`
`y
`406
`SER DATA ENTRY
`INPUT
`
`ACCE
`
`y
`
`SEN
`
`48
`SER DATA ENTRY
`
`410
`RECEW SER DATA ENTRY
`
`34
`SPAY SECON PRC&PT
`
`42
`NATESECON PROMP
`
`

`

`U.S. Patent
`
`Oct. 29, 2013
`
`Sheet 1 of 15
`
`US 8,572,571 B2
`
`11 O SERVICE PROVIDER
`MACHINE
`
`112 SERVICE PROVIDER
`APPLICATION
`
`WW
`
`114 WIRELESS
`TRANSCEIVER
`
`1 O2 UPDATE SERVER
`MACHINE
`
`
`
`104 WRELESS
`TRANSCEIVER
`
`106 DIALOGUE MODULE
`
`
`
`Case 6:20-cv-00564-ADA Document 1-2 Filed 06/24/20 Page 2 of 26
`
`F.G. 1
`
`124 WRELESS
`TRANSCEIVER
`
`122 TERMINAL APPLICATION
`
`126 USER 'EA
`DISPLAY
`DEVICE
`
`120 TERMINAL MACHINE
`
`

`

`U.S. Patent
`
`Oct. 29, 2013
`
`Sheet 2 of 15
`
`US 8,572,571 B2
`
`210
`
`
`
`11 O SERVICE
`PROVIDER MACHINE
`
`2O2
`
`204
`
`2O6
`
`208
`
`102 UPDATE
`SERVER MACHINE
`
`
`
`220
`
`Case 6:20-cv-00564-ADA Document 1-2 Filed 06/24/20 Page 3 of 26
`
`FIG. 2
`
`120 TERMINAL
`MACHINE
`
`

`

`U.S. Patent
`
`Oct. 29, 2013
`
`Sheet 3 of 15
`
`US 8,572,571 B2
`
`330
`TERMINAL MACHINE DIALOGUE MODULE,
`UPDATE SEOUENCE
`
`102
`UPDATE SERVER MACHINE
`
`120
`TERMINAL MACHINE
`
`
`
`
`
`
`
`334
`RECEIVE AND STORE
`DIALOGUE MODULE VERSION
`
`
`
`se 336
`
`
`
`
`
`SEND A DIALOGUE MODULE
`TO THE TERMINAL MACHINE
`
`332
`SNEER
`
`338
`RECEIVE AND STORE
`DIALOGUE MODULE
`
`
`
`
`
`
`
`340
`EXECUTE TERMINAL
`APPLICATION
`
`Case 6:20-cv-00564-ADA Document 1-2 Filed 06/24/20 Page 4 of 26
`
`FIG. 3A
`
`
`
`
`
`

`

`U.S. Patent
`
`Oct. 29, 2013
`
`Sheet 4 of 15
`
`US 8,572,571 B2
`
`350
`SERVICE PROVIDER DIALOGUE MODULE,
`UPDATE SEOUENCE
`
`1 O2
`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
`
`Case 6:20-cv-00564-ADA Document 1-2 Filed 06/24/20 Page 5 of 26
`
`FIG. 3B
`
`

`

`U.S. Patent
`
`Oct. 29, 2013
`
`Sheet 5 Of 15
`
`US 8,572,571 B2
`
`400
`DIALOGUE SEOUENCE 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
`
`Case 6:20-cv-00564-ADA Document 1-2 Filed 06/24/20 Page 6 of 26
`
`FIG. 4A
`
`

`

`U.S. Patent
`
`Oct. 29, 2013
`
`Sheet 6 of 15
`
`US 8,572,571 B2
`
`420
`DIALOGUE SEOUENCE 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
`
`
`
`
`
`
`
`
`
`
`
`
`
`Case 6:20-cv-00564-ADA Document 1-2 Filed 06/24/20 Page 7 of 26
`
`110
`SERVICE PROVIDER
`MACHINE
`
`
`
`
`
`
`
`
`
`432
`RECEIVE USER AND PROMPT
`DATA
`
`FIG. 4B
`
`

`

`U.S. Patent
`
`Oct. 29, 2013
`
`Sheet 7 Of 15
`
`US 8,572,571 B2
`
`Hello John
`
`Please enter your bank
`account number:
`
`F.G. 5A
`
`
`
`Main Menu
`
`1.Lookup savings balance
`2. Lookup loan balance
`
`FIG. 5B
`
`Case 6:20-cv-00564-ADA Document 1-2 Filed 06/24/20 Page 8 of 26
`
`

`

`U.S. Patent
`
`Oct. 29, 2013
`
`Sheet 8 of 15
`
`US 8,572,571 B2
`
`Hello John
`
`Please enter your bank
`account number:
`
`FIG 6A
`
`
`
`Main Menu
`
`1.Make loan payment
`2.Make savings deposit
`3. Make savings withdrawal
`4. Lookup savings balance
`5. Lookup loan balance
`
`Please enter loan
`payment amount:
`
`FIG. 6B
`
`Case 6:20-cv-00564-ADA Document 1-2 Filed 06/24/20 Page 9 of 26
`
`F.G. 6C
`
`

`

`U.S. Patent
`
`Oct. 29, 2013
`
`Sheet 9 Of 15
`
`US 8,572,571 B2
`
`Hello John
`
`Please enter your medical
`
`insurance number:
`
`3
`
`FIG. 7A
`
`
`
`Hello John
`
`Please enter claim
`identification number:
`
`FIG. 7B
`
`Case 6:20-cv-00564-ADA Document 1-2 Filed 06/24/20 Page 10 of 26
`
`

`

`U.S. Patent
`
`Oct. 29, 2013
`
`Sheet 10 of 15
`
`US 8,572,571 B2
`
`Logged Irt is
`sect are:
`Security Level;
`
`adrin Administrators arra, administrator it
`sers asses
`oasign and Flaws
`
`Fre festics:
`
`,
`
`hardset ps:
`Description:
`
`display, alpha rurari data artry,
`Paint-if-sala Pos arrina with a
`start card reader, and stagnetic swipe card reader.
`
`ariate Sport:
`
`riglish, sparish
`
`Priett anaert Ss. Project or Sutrit r cert for rocessing)
`
`* Prav screen
`
`Nard screen
`
`save Project
`
`Submit Project for Processing
`
`screer;
`
`of
`
`ritic WelcorneScreer
`
`strean Design Design each screer exactly as you would like it to appear
`
`language ID: English
`come to the
`eServices Everywhere
`Robile Designer Extreme
`
`language ID: Spanish
`Recepcion a
`eServices portiodas parties
`Exterro
`De Sear
`
`
`
`
`
`
`
`
`
`Case 6:20-cv-00564-ADA Document 1-2 Filed 06/24/20 Page 11 of 26
`
`s
`
`
`
`
`
`
`
`Press ENER contine
`
`Presigne ENTRAN para continuar
`
`FIG. 8A
`
`

`

`U.S. Patent
`
`Oct. 29, 2013
`
`Sheet 11 of 15
`
`US 8,572,571 B2
`
`
`
`Screen Flows (Select the keys and the destination screen of the user pressing that key)
`
`Alphanurneric
`to creer
`
`Data Entry Walidation (Specify the rules and validation of the entered data,
`
`are are:
`
`Notes: (Enterary rotes or special handling instructions
`
`Mapping ForcostaRica|Districts
`
`Case 6:20-cv-00564-ADA Document 1-2 Filed 06/24/20 Page 12 of 26
`
`FIG. 8B
`
`

`

`U.S. Patent
`
`Oct. 29, 2013
`
`Sheet 12 of 15
`
`US 8,572,571 B2
`
`120
`TERMINAL
`MACHINE
`
`916
`
`WRELESS
`TRANSCEIVER
`
`902
`
`904
`
`
`
`906
`
`N
`
`N
`
`MEMORY
`
`PROCESSOR
`
`908
`
`C D
`DISK
`STORAGE
`
`MEDIA
`DRIVE
`
`910
`
`912
`
`MEDIA
`
`918
`^
`
`USER
`DISPLAY
`
`920
`
`PROGRAM 914
`
`Case 6:20-cv-00564-ADA Document 1-2 Filed 06/24/20 Page 13 of 26
`
`FIG. 9
`
`

`

`U.S. Patent
`
`Oct. 29, 2013
`
`Sheet 13 of 15
`
`US 8,572,571 B2
`
`1018
`
`WIRELESS
`TRANSCEIVER
`
`1016
`
`
`
`NETWORK
`CONNECTION
`
`110
`SERVICE PROVIDER
`MACHINE
`
`10O2
`
`1004
`
`
`
`1 OO6
`
`MEMORY
`
`PROCESSOR
`
`C D 1008
`
`MEDIA
`DRIVE
`
`MEDIA
`
`1012
`
`1010
`
`Case 6:20-cv-00564-ADA Document 1-2 Filed 06/24/20 Page 14 of 26
`
`DISK
`STORAGE
`
`PROGRAM
`
`1014
`
`FIG 10
`
`

`

`U.S. Patent
`
`Oct. 29, 2013
`
`Sheet 14 of 15
`
`US 8,572,571 B2
`
`102
`UPDATE SERVER
`MACHINE
`
`
`
`
`
`1118
`
`WIRELESS
`TRANSCEIVER
`
`1116
`
`NETWORK
`CONNECTION
`
`1 104
`
`
`
`1102
`
`N
`
`1106
`
`N
`
`MEMORY
`
`PROCESSOR
`
`1108
`C D
`
`MEDIA
`DRIVE
`
`1110
`
`MEDIA
`
`1112
`
`Case 6:20-cv-00564-ADA Document 1-2 Filed 06/24/20 Page 15 of 26
`
`DISK
`STORAGE
`
`PROGRAM
`
`1114
`
`FIG. 11
`
`

`

`U.S. Patent
`
`Oct. 29, 2013
`
`Sheet 15 Of 15
`
`US 8,572,571 B2
`
`
`
`12O2
`
`COMMUNICATIONS PACKET
`
`HEADER
`
`USER DATA, USER DATA,
`PROMPT 1
`PROMPT 2
`
`O O O
`
`\-1204
`
`\-1206
`
`\-1208
`
`F.G. 12
`
`Case 6:20-cv-00564-ADA Document 1-2 Filed 06/24/20 Page 16 of 26
`
`

`

`US 8,572,571 B2
`
`1.
`MODIFICATION OF TERMINAL AND
`SERVICE PROVIDER MACHINES USING AN
`UPDATE SERVER MACHINE
`
`CROSS REFERENCE TO RELATED
`APPLICATIONS
`
`This application 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.
`
`BACKGROUND
`
`10
`
`15
`
`25
`
`30
`
`35
`
`40
`
`1. Field
`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
`45
`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
`Software application may be further adapted to communicate
`the user input to another hardware device using a network
`connection.
`
`50
`
`55
`
`60
`
`65
`
`Case 6:20-cv-00564-ADA Document 1-2 Filed 06/24/20 Page 17 of 26
`
`2
`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
`culty 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 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
`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
`
`

`

`US 8,572,571 B2
`
`3
`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.
`
`DESCRIPTION OF THE FIGURES
`
`15
`
`4
`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
`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).
`
`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
`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
`25
`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
`herein can be employed without departing from the principles
`of the invention described herein.
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`Case 6:20-cv-00564-ADA Document 1-2 Filed 06/24/20 Page 18 of 26
`
`DETAILED DESCRIPTION
`
`The following embodiments describe a system capable of
`conducting a transaction between a user at a terminal machine
`
`65
`
`

`

`US 8,572,571 B2
`
`5
`
`10
`
`15
`
`25
`
`30
`
`35
`
`40
`
`45
`
`5
`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
`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.
`
`Case 6:20-cv-00564-ADA Document 1-2 Filed 06/24/20 Page 19 of 26
`
`50
`
`55
`
`60
`
`65
`
`6
`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
`minal code 208 is communicated to, and stored on, the ter
`minal machine 120. Likewise, a dialogue module 202
`containing service provider code 204 is communicated to,
`and stored on, the service provider machine 110.
`
`

`

`25
`
`7
`In a preferred embodiment, the service provider machine
`110 includes a service provider application 112. The service
`provider application includes a process or processes that
`allow the service provider machine 110 to conduct the service
`provider's portion of a dialogue sequence. See FIG. 4 for an
`example of a dialogue sequence including two machines in a
`system. In a preferred embodiment, the service provider
`application 112 includes a computer process for receiving
`data from a user and is able to update one or more records
`associated with a dialogue sequence. As shown in FIG. 2, the
`service provider application 112 may include a platform
`module 210, a set of computer-executable instructions 214,
`and service provider code 212.
`In one embodiment, the platform module 210 is also a set
`of computer-executable instructions that is able to be
`15
`executed or

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket