CA2188139A1 - Trainable user interface translator - Google Patents

Trainable user interface translator

Info

Publication number
CA2188139A1
CA2188139A1 CA002188139A CA2188139A CA2188139A1 CA 2188139 A1 CA2188139 A1 CA 2188139A1 CA 002188139 A CA002188139 A CA 002188139A CA 2188139 A CA2188139 A CA 2188139A CA 2188139 A1 CA2188139 A1 CA 2188139A1
Authority
CA
Canada
Prior art keywords
prompts
displays
host
client
application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
CA002188139A
Other languages
French (fr)
Inventor
Neil Hickey
Robert W. Anthony
Seth A. Spiller
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orchid Systems Inc
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Publication of CA2188139A1 publication Critical patent/CA2188139A1/en
Abandoned legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Abstract

An apparatus and method for converting a first user interface used for existing applications running on a host computer to a second user interface for use on a client computer. The apparatus intercepts prompts and request for input from the host, converts them to a form appropriate for use on the client computer, and passes the converted prompts and requests to the client. The apparatus can store information for use at a later prompt or request, branch on the stored value to vary path execution, and handle errors generated by incorrect input.

Description

wo s5l28673 2 1 8 8 ~ 3 q Tr~nnhle U~er Inter~ace Tr n:llator Bac~ .,,...d mis invention relates to integrating and translating software applicatior, user interfaces from a targeted cnm~ tPr 5 system to a new co~puter system without modifying the underlying application.
Sof tware developers, system integrators, value added resellers and end users are eager to utili~e the leading edge h~n~hPl ~ cn~utPrg and portable data collection tPrm; n ~
10 Yet, incorporating these new devices into existing software systems has proven difficult primarily because the tpr system running the application must provide a user interface with a minimum fllnrt; nnAl; ty. For instance, an inventory system' 8 user interface may re~auire a screerl capable of 15 displaying 24 lines by 80 characters. Yet, a portable tPrm;n~l may only provide 4 lines by 40 rh~r~rtPrs, and therefore be ~nr~r~hle of directly running the ~rrlir~tion.
Since h~n/lhPl~l or portable t~rm;n~l~ typically do not provide the required minimum functionality, they are not capable o~
20 running most current applications.
me traditional solutions to this problem; nrl llrlPd rewriting the old application, buying a new application suited to the portable tPrm;n~l restrictions, or writing a custom mapping program that would "map" the fields, prompts and 25 responses from their respective positions on the targeted C~r~ltPr display to the more usable positions on the portable device. Rewriting the old application takes time, costs money and risks the introflllct;nn of bugs into the existing system.

W095/28673 21 88139 r~.,, sr~

Buying a new application involves signi~icant expen~e and risk .
Custom mapping programs are expensive and time consuming to create and increase the maintenance cost of the application 5 as changes in the application program could require further changes in the custom mapping program. In addition, custom mapping ~LùyLa~ can create synchronization problems. The need to synchronize becomes obvious when you think about the impact of an error message not being seen by an operator who 10 crnt;nl~Gq to type ahead. Therefore, custom mapping J~LU~L~
are not a 8~ f P ct~ry solution to the problem.
The present invention solves this problem by acting as an intelligent tr~;n~hle interface between an existing application and a new c~ __L~r system. The result is that the 15 present invention allows the use of existing computer software with hardware f or which it was not originally designed .
Specifically, it provides a means of interfacing with the existing program, processing the data from the display screens of that existing program and presenting these data to the user 20 in a different manner and/or format. Similarly, it accepts data from the user, reformats the data if necessary, and presents the re-formatted data to the existing application.
One goal of the present invention ig to provide a system that can translate or convert an existing software 25 application' 8 user interface, 80 as to operate on a new computer system. In addition, it is a goal of the present invention to provide a system that l.~t; ~ a simple scheme to educate or train the system to tr~n~l~te an existing software ~ W09sl28673 2~88139 Arrl;rAtlr,n~7 uaer ;ntPrfPre. A ~urther goal of the invention is to provide synchrrn; 7~tinn -hAn;, to sync operation of a portable device to that of an existing software application.
An additional goal of the invention is to provide robust error 5 hAn~ll ;n~ of application error~.

Summary of the Illventlon By means of this invention, existing application sof tware may be utilized on a system which does not provide the 10 re~uired level of user interface f~nct;-~nAl;ty.
The invention discloses an trA;nAhle ArrAr~t~lq for translating an existing software application' 8 user interface.
The ~rpArAt~lq comprises a c _ L~r adapted to com~nunicate with both a host ~ r and client - _ t~r. The ArF~r~tllq 15 intercepts the host _ ~r'8 input/output stream and trAnql ~t~q the application user interface into a client user interface for use on the client ~l~r. The , tPr is additionally adapted to simplify user ;nt~rArtir~nq with the application by hiding repetitive tasks and ~ l7-~l)t 20 inforr-t;r~n conveyed by the application user ;nt~rfpre. The ~ ~r is further adapted to unify host applications into a single user interface.
A method of rr~t;nr and trA;n;ng the apparatus is also disclosed. The apparatus is trained by the monitoring of a 25 user' 8 interaction' 8 with the application. The monitoring process creates a path history ~lt; 1; ~ 1 by the ArpAratllq for tr~nqlAt;n~ the Arpl;rAt;~n user interface.

Wo 95/28673 2 1 8 8 l 3 9 2 1 8 8 1 3 9 Brief DQscriptlon o ~ the Drawl~g~
Fig. 1 is a block diagram of a prior art computer system ut~l;7~n~ handheld or portable tPrm;n~
Fiy. 2 i8 a diagram illustrating the fllncti nnnl 5 difference between a portable tPrm;n~l and a t.~rmin~l targeted by the application.
Fig. 3 i5 a block diagram of a _, tPr 8y8tem ut;l;z~;
the invention to interface to portable tPrlT;n~
Fig. 4 i9 a block diagram of the Virtual User paths 10 created during the education proce~s.
Figs. A-RK are screen printouts of one c '' ~ of the pre~ent invention.
Det~iled Dencrlptio- of the P CfcL..- d r -~ t Fig. 1 shows a prlor art ~-, tPr system using a portable 15 tPrm; n~l . A c ~Pr system 10 runs an application 12 specifically designed for a portable tPrm;n~l~ 16. This application 12 ;ntPr~rt~ with the user 14 through the portable tPrm;n~l 16. The application 12 communicates with the portable tPrm;n~l 16 through a communications medium 18 such 20 as infrared, radio frequency or even direct wire. The portable tPrm;n~l 16 displays to the user 14 prompts reguesting specific infnr~-t~nn. The user 14 enters replies into the portable tPrm;n~l 16 in response to these requests.
If the applicatlon program is not designed to run on the 25 porta3~le tP~;n~l, the user will be unable to interact with the application. For instance, referring to Fig. 2, the application may require a t~rm;n~l 20 with a full size keyboard 21 ; n~ ; n~ functions keys, which keyboard is woss~8673 21 8~31 39 r~u~

different from the keyboard 23 available on the portable terminal 22. The application may also require a tPrm;ni-l 24 whose screen size is larger than the screen 25 on the portable tPrm;n~l 22. In either situation, the application will be 5 unable to run on the portable terminal without some form of change to the system.
Fig . 3 shows a _ , ~ Pr system u~ ; n~ the present invention. A ~ tPr system 30 runs an application 32 that is not designed _or use with a portable tPrm;n~l. The present 10 invention 34 is interposed between the application 32 and the portable terminal 36. The application 32 communicates through communications medium 33 with the present invention 34 which in turn communicates with the portable tprm;n~l R 36 through a communications medium 38. Again, the portable tPrm~n~l 36 15 displays to the user 39 prompts requesting specific inf~ ti~n, but these prompts are g~nPr~t~cl by the present invention 34 and not the underlying application 32. The user 39 enters replies into the portable tPrm;n~l 36 in response to these prompts, but these replie8 are again captured by the 20 invention 34 and not nPrP~R~rily passed directly to the application 32.
The present invention may reside on the same c , t~r system as the underlying ~rpl; r~ n program or may reside in a separate c, tPr system and communicate with the 25 application program through a network. In either situation, the present invention intercepts the I/0 stream and tr~llRl ~t~R
the user int~rf~e for use on the portable tPrmin~l. me present invention may also be used to simplify access to an 21 881 3q WO 9s/28673 .

existing program or group o~ programs even though access ls through the same computer system as that of the existing program ( s ) .
In order to interface and trAn~lAte between an existing 5 application and a portable terminal, the present invention creates a Virtual User (W). A W appears to the existing application as a real user. The W is trained to operate the existing application, just as a real user would, and to present data to the real user in a format compatible with a 10 portable tPrm;nAl.
The W is created, prior to use in the final system, by monitoring the ;nt-~rAt-ti~n~ of a human user while opPrAt;n~
the application. In the ba~ Luu~.d, the present invention is creating a "path file" that the W will use to A~lt~ tically 15 navigate through the particular task in the application. The path file consists of a series of A~t~ tically gPn~r~te~l "steps" created during the trA;n;n~ process that the W later executes in a linear or hrAn- hP~ sequence so as to move around the application. Every cursor stop in an application is 20 reviewed by the W and at least one step, possibly a series o~
steps, is associated with the stop.
The presert invention provides three f eatures to facilitate the creation of the W. First, the present invention l,lt; l; 7P~ a menu driven interface to facilitate the 25 process of creating the W, making the process interactive as opposed to "off line". The user is not re;auired to program in the classical sense, but rather ~ust to interact with the application .

WO 95128673 2 1 8 8 1 3 9 P~ ~v~
Second, the Vu can create and utilize functions not available on the underlying application. Because the present invention is simply following a pre-defined set of steps, any combination of keystrokes a person can enter, a W can also.
This allows the W to be trained or educated to navigate around the entire application, enter and exit different applications, and even access and exit dif~erent hosts. For example, an application may have two menu options: the first menu would list -the ~auantity of item on hand and second menu would list the l oC~tinn of item. A typical user directly accessing the application would have to enter the first menu option to get the quantity, exit the first menu option, enter the second menu option to get the location just to get both pieces of inforr-t; nn, The W can be trained to do the same steps but present the user with one screen that has both pieces of infnrr-t;nn. Therefore, the present invention can create new flln~-t j on~ for a user that were not previously available by running a particular application ~straight through as writtenn Third, the present invention provides streams monitoring that allows the W to synchronize itself with the application.
The W must be synchronized with every application cursor stop prior to sending any keystrokes back to the host. me use of streams monitoring allows the W to "recognize" the current cursor position and hence lat~m; nP on what screen of the application it is "looking at".

wo95/28673 21 881 39 r~

Cr~t;nq ~nrl Educatinq the virt~ User In order to tr~n~l~te an applications user ~nt~rf~r~, the VU must be created and e~ r~t~d.
The folloNing is a list of all the ' accessible 5 from FILE, VARS, ~IOST, CLIENT and MISC selections of the menu bar i\of the present invention during the education process.
FILE M~
Save path Flle : save the steps that you have created to the path flle, without exiting Sav~ & Exlt : save the path f ile and exit Qult : exit without saving Save Wlndow : allows you to save the image of any screen for later printing VARS MEN~
Declare Yar ~ able : declare a variable to be used in the path _ile you will create Set Varlable : initialize a variable already declared to a starting value Branch o~ Varlable : define the path Dame the program will branch to when a variable eguals the "to match" filed defined here. NOTE: "No. " selects the ~Jtep # in the path.

W095128673 2t ~ 9 g ~OS~ ~ (flrst tlme) Connect Local (PTY): defines connection method to host application as p8eudo t~rm;n;~7 access to the same c~mrut~r the W
is runni~g on.
Connect Local (Plpe) : defines connection method to host application is via a pipe to the same computer the VU is running OIl .
Connect via TEI~ET : defines c~nnPct;on method to host application is via tel~et, in this case the application is running on different computer than the W.
Connect via Serlal : def ines connection method to host application is via a ~erial port on the computer the W is running.
lIOST ME:IIIJ
Send to ~ost : send any ~ ~n~t~on~ o~ keystrokes to the host Walt for Host : synchr~n;~t~nn step that makes sure the W and the hos t application are at the Pxact same character of a given application at a given time Save ~Iost Screen Data: save a particular ~dow of the host scre_n, often used to store error messages that appear on the W095128673 21 881 39 P~~ ,~J~ D~ --~ame line of the screen every time.
Byp~3s Vlrtual rrser: allows you to stop the interactive ~r;l;nin~ and key data directly into the host application.
CLIEI~T MEN~
Clear Screen : send the command sequence to clear the screen Sound Tone : send the command sequence to sound the bell tone Move CurRor : send the command sequence to move the cursor to a specif ic x, y coordinate of the Client screen Send Message : send a string of rh~r~t~rs to the Client for display Get Reply : request a reply from the Client (Scanner or keyboard input) MISC MEN~
Start New P~th : def ines the current step as the beginning of a path, used as the ~,.,,...,~1 rt7n point when using the cornect statement below.
End Path : def ines the end to a path Connect ~Loop) : allows program flow to be redirected to a path label specified using the "Start New W095128673 21 881 39 r I~u~ ~
Path~ option above.
Exec F- ~,ce~luLc : allows program control to pass to a pre- def ined procedure, procedures are available f or Termi~al Mode, Logon, etc.
~y 8Pl ect; n~ various options f rom the menu bar def ined above, one can access the application for which the W will be trained. After ~CCPc-qin~ the application, one can ;ntPract;vely train the W to react al!~Lu~Llately to prompts in the application.
An important concept ia ~I)r~ ir~ti~ n program ~low.
Application program flow is the sequence of data input prompts that must be followed for use of a particular application.
These prompts include menu sPlect;nnq~ data and time entries, and other inputa as is required in order to operate an application. The present invention provides a method of pre-rll~f;n;ng and r -ring how someone interacts (e.g. a Virtual User) with an application.
The first step for a per50n using any application is to be trained on how to ;ntPrPCt with the application. The W, however, can be trained to, ' -- keystroke se~Euences that are repetitive, access system time and date infnrr-tit~n -never forgetting how to do it. The W must be trained on how to react to cursor stops that an application makes. A~ter being trained in how to react to the cursor stops/prompts, the W will be able to operate the same fllnct;~mc in the application by itself.

WO9S/28673 2 1 88 1 39 .~ r, -i2 -To facilitate data input, the W must be trained to prompt for Client data input. Client~ are the tPr~n;n~l ~ tRF
h;.nt1hf~ , regular t~rm~n~ etc.) where an opor~tor will enter data. The W simplifies the operation of an application 5 without requiring any ~, u~ 'n~ changes in the application.
The W does this by automating the maj ority of the application cursor stops/prompts and only passing through to the Clients that inf ~ t; nn rectuired f or the particular task at hand . At each cursor stop in the application there is the option of 10 prompting Clients for data or doing any of the other functions the menu bar allows. This option allows the W to vary its response to a given application cursor stop. In this way, the present invention ensures that the can branch in the ~ c~ n of steps.
The f ollowing is a list of the basic steps of a typical Virtual User training session.

1) ~ost Connection/logon/appllcation acceas
2 ) Cllent Menu
3) ~Eost application access
4) Automated navigation through ~cce~s menus
5) Prompti~g ~or Client data input
6) }Ir~n~h~n~ and error instruction based on Client data
7) ~ooping to start the Client t~slc over again or ret~ nin~ to a Client Menu By repeating these parts for whatever ~unctioll you are trying to perform you can create simplified user input screens ~ W095r~8673 2188139 ~ o~

~or the portable tGrm;n~1 opera~ors. Because the W is simply navigating through an application the same way a person would only at 66MHz (the clock speed of the c~ r~ltGr) you can train it to do tasks that you would not expect a person to be able 5 to perform in a timely manner. This simple concept allows you to put together functionality from several menu options of an application (even several different applications) and create a single operator screen that might not even exist in the original application.
The details of each of the8e steps will become more clear through the following example training session. Note that the figures referred to in the example below show three important areas . Each f igure represents the training screen of the present invention. At the top of the figures is the menu bar 15 used to access the function menus describe above, as illustrated by Fig. A-a. In the middle of the figures is a model Client window labelled "CLIENT", reflecting the size and shape of the screen on the Client ~ _ tPr system, as illustrated by Fig. A-a. This screen is defined in the Spec 20 file. An example Spec file is ;nr~ Gd as ~rpGnri;l~ B.
Finally, a "Host window shade", 1 ~hel 1 ed "HOST~, will pop up as needed to show messages and prompts sent by the host. This is illustrated by Fig. I-c. The CLIENT, HOST and invention menus show the state of the system during the edllr;~ n 25 process. When the education process is f;n;~hP~l, the completed W will operate as trained.

Wos~/28673 2 1 8 8 1 39 ~ 3 R~ ~le Virtual U~er Tr~;n;n~/Education Session The following is a simple application example as run by an actual user to illustrate the creation of a W. Throughout the ~ollowing text [] are used to represent selections that 5 are to be selected using the pull down menus or to represent actual keys to press. For example: select [Start New Path]
means to highlight the selection ~Start New Path" in a pull down menu, press [end] means to press the end key.

10 Step 0: (Fig. A-a through A-d) Access the M18c. menu and select the [Start New Path].
You must define the name of the path you are starting, this is important for looping and bran~-h;n~ control. me path name specifies the point in the path for branch and loop access.
15 In this example the name [main menu] has been selected since thiB i8 the point at which the main menu will be difiplayed.

Step 1: (Fig. E~-a through 13-b) Access the Cllent menu and select [~qove Cursor]. This 20 will set the cursor position in the client window. me default settings of row: 1 and col: 1 are have been selected.
The cursor in the client window moves to the x,y position or 1,1 as a result.

25 Step 2: (Fig. C-a through C-b) Access the Client menu and select [Clear Screen]. The client screen is cleared as a result.

~ W09SI18673 -15- 2 ~ 8 8 1 3 9 ~
Step 3: (~ig. D-a through D-h) Access the Client menu and select [Send Message]. A
submenu is displayed. Access the ~ submenu and select [Text] and enter the message to be displayed on the client 5 screen. In this example the message [Do you want to run the program y/n] is entered. The text "Do you want to run the program y/n" is now displayed on the client screen, split into lines of length ~,u~.u~Liate to fit on the Client screen. The system is now ready to get a reply from the client.

Step 4: (Fig. E-a through E-c) Access the Yar~ menu and select [Declare Variable]. A
variable may be declared to store the response from the client to the question in Step 3. The variable name [answer] is entered.

Step 5: (Fig. F-a through F-b) Access the Clie~t menu and select [Get Reply]. Type [answer] [tab] [1] to enter "answer~ as the variable the response from client will be stored into and sets the maximum length equal to one rh~r~ctPr Note that the [b~k~p~P] now works as would normally be expected f or editing mistakes .

Step 6: (Fig. G) There are two options that need to be ~Pf;n~l The first is for a "y" or yes response, in general a typical ~r:l;n;n~
procedure would be to go through the "normal " path required to operate the application. In this case normal means "y", so we W095/28673 2 1 88 1 3q - 16~
will respond with a Dy~ ~ later in the example the training ~or the "n" can be entered.
Step 7: (Fig. H-a through H-c) Access the Var~ and select [Branch on Variable]. Type [answer] [tab] [y] [tab] [start_rw] [tab] . This defines the action: i~ the variable "answer" equals the value "y" then proceed with the path named "start_rw~. In the next menu select [d] to declare a p~tl -. At this time the "n" action may also be de~ined. Type [n] [tab] [exit] [tab] [d] which causes the path "exit" to be run when "answer" i9 equal "nn.
Now the path named "start_rw" i8 created.
~ost Connection/logon/application acce~: for our training example we will be running both the application and the present invention on the same host. The ~rrl;r~ttnn is there~ore re~erred to as running on a local ho~t as opposed to running on a di~erent or remote ho~t. The ~ollowing instructions apply to ~ccP~;ng an application via a pseudo t~nn`;n~l (PTY) on a local host only. You have to be logged onto the local host in order to run the present invention, there~ore, with this method of nnnn~cti nn yOU are not re~[uired to logon to the host prior to accessing the application.
Re~er to the applicable section ~or other connection methods.

~ woss~28673 2 t ~38 ~ 39 r~

PAT~I NAME: ~t~rt_rw Step O: (Fig. I-a through I-c) Access the rIo~t menu option. Once you are "in" the menu bar you may u~e the arrow keys to navigate. Use the down 5 arrow to "pull downr the ~IOST window shade. Select [Connect Local (PTY) ] by highlighting this option and pressing [enter] .
You will now be prompted for Command: enter the keys you would normally uEe to access your application, for real world type [go_rw], you can leave the Argument: line empty, press [end]
10 to compete this step. You will notice that when you press [end] the Virtual User sends your h~:ye,~Lukes as a command line entry to the host. You should now see the first screen of the Real World application in the tPrmin i7 (middle) window.

15 Alternate u~lng lExec P.-oc~ l-,.c]

Step O:
Access the ~ c menu and select [Exec Procedure]. Type [go_rw] [end].

Automated Navigatio~ through acces~ menu3: you are now ready to train the Virtual User how to navigate through your application. As you will see, the first step to perform at curgor 3tl0p3 is a "Wait for Host~ step. This opPr~t;t~n makes 25 sure that the Virtual User and host ~pl; ~-~tion are ~ynchronized with each other. If you try to send inforr-t;~n to the host it will ask you to perform a "Wait for ~ost~' first. The order that you prompt for Client input is entirely W0 95l28673 2 1 8 8 1 3 ~ 18 ~ 0! ~ ~
up to you, this tutorial follows 80me ba5ic ~li8~l;nFI~.
PATE NAME: n~v_menus Step 0: (Fig. J-a through J-c) Access the Mlsc menu and select [Start New Path] [enter].
Type [nav_menus] [end]. NOTE: "nav_menus" was chosen as a name because this path will navigate through the menus re~auired to access our desired transaction. The underscore is re~uired in the name, no spaces are allowed.
Step 1: (Pig. K-a through R-c) Access the Eost menu and select [Wait for Host]. Press [enter] and use the down arrow to select [~lltl tic], press [enter] [enter]. You have now c-nf; ~1 an ~lltnm~t;c host synchr~n;7~tinn for the string "o c~nt;nll~, or ESC to exi" to appear at the bottom of the Host screen.
Step 2: (Fig. L-a through L-c) Access the Eo~t menu and select [Send to Host]. In the submenu select [Special Char(s) ] . Pre8s [enter], you should see ~cr~ in the window, press [ . ] [enter], edit using the [tab]
key where n~c~ ry, press [end] to activate this step. You should see the application respond to the W' 8 carriage return with the next screen, now you need to enter your initials.
Step 3: (Fig. M) We could easily "hardcode" a set of initials by using the setauence in step 1~2 or we could prompt the Client ~or "user ~ wo ss/28673 2 1 8 ~ 1 3 9 ~ u~
Initials". To prompt the Client for user initials, proceed as follows. Access the Cllent menu, use the down arrow to select [Clear Screen]. The Client screen should now be blank, you might not see any change because the old prompt "Real World 5 (y/n) ? " is hidden behind the t~rri n~ 1 window.

PAT}I NA~OE: ltem_transfer Step 0: (Fig. N-a through N-c) Access the Misc menu and select [Start New Path]. Type [item_transfer] as the name of = the path. This path will prompt the Client with in~orr~ n to complete an item transfer tr~n~cti~n. The program will give you the option to link the last path "acces5" to the new path "item transfer".
15 Press [n] to select "link to New Pathn.

Step 1: (Fig. 0) As in prior steps, we will clear the screen. Access the Cll-nt menu and select [Clear Screen]. The Client screen 20 should now }~e blank.

Step 2: (Pig. P) As above, access the Client menu and select [Move Cursor]. Select row 1 and column 1. The cursor 5hould now 25 blink at the x,y position of 1,1 on the Client screen.

Step 3: (Pig. Q-a through Q-b) Access the Client menu and select [Send ~qessage]. Select Wogs/28673 2 1 8 8 1 3 9 [Text] in the submenu. The message to be displayed on the Client screen is now entered. Enter [item: ~ . The prompt ~'item: " now appears on the Client screen.

5 Step 4: ~Fig. R) As before, access the Vars menu and select [Declare Variable]. The variable for storing the Client response to the item prompt i5 now declared. The name [item] is entered as the name of the variable.

Step 5: (Fig. S-a through S-b) Access the Cllent menu and select [Get Reply]. The replay f rom the Client will now be entered and stored into the variable "item". Type [item] [tab] [10] to enter "item" as the 15 variable for the Client' 8 reaponse and a maximum length of ten characters will be allowed. The menu bar will be replaced with Waiting for Client Input at Client or here. A valid item number may now be entered.

20 PAT~{ NAME: update_host.
Step 0: (Fig. T) Access the ~ c menu and select [Start New Path]. Type [update_host] as the new path name ~or this sequence of steps.
This path will update the host with the response received 25 under "item_transfer" path ~ wo gsl28673 2 1 8 8 1 3 9 Step 1: (Fig. U) As bef ore, access the Cllent menu and select [Clear Screen] to clear the screen at this time.

5 Step 2: ( Fig . V) As bef ore, access the Cliest menu and select [Move Cursor]. Select row 1 and column 1 as the new location. The cursor in the Client wi~dow should now be positioned at the x,y location of 1,1.

Step 3: (Fig. W) As before, access the Cl~ent menu and select [Send Message]. In the submenu select [Text]. Now the message to be displayed on the Client screen i8 entered. 3nter 15 tProCe8sing Data]. me prompt ~Proc~s;n~ Data" i~ now displayed on the Client screen.

Step 4: (Fig. X-a through X-b) Access the Host me~u a~d select [Wait for Host]. Select 20 [;~lltnm~t;c]. This will now illt~ t;r~lly synchronize the Host and Client. Note that error h~nrll ;n~ will be provided in the "None of the above" path of "item_error" and that the time out is set for 100 x .1 sec e 10 seconds. Therefore, on an error condition, if 10 seconds elapses without a response, then 25 item_error will be P~ruted.
.

5tep 5: (Fig. Y-a through Y-b) Access the ~o~t menu and select [Send to Host]. The W0 95l28673 2 1 8 8 1 3 9 r ~

varia~1le ~item~ will now be sent to the host. Select [Variable] from the submenu and type [item] as the variable to send to the host. Select [Special Char(s) ] from the submenu and enter a [cr]. This will pass a carriage return to the ~ost .

PAT~I NAME: ltem_error Step 0: (Fig. Z-a through Z-b) Because data was entered that caused the application to 10 go into its error h~nrll i n~ routine, the cursor is no longer at its normal "next entry" position beside the second prompt "warehouse". Instead it is sitting at the bottom right hand corner of the screen with a message "Press ENTER or F8". Note that the error message "Item not on file" is displayed at the 15 left hand corner of the screen. Step 4 of "update_host" had an error h~nAl ~n~ routine named "item_error" defined as the path to use if "none of the above" condition is true.
Therefore, control has been passed to "item_error" to handle the error condition. Access Host and select [Wait for ~ost] .
20 You have now confirmed an ~11t~ t;c hogt 8ynchrnn~7~tinn.

Step 1: (Fig. AA) As bef ore, access the Vara menu and select [Declare Variable]. This variable will store the host data that is 25 currently in the "error window" on the host screen. Type [item_error~ to declare the variable n item_error" which will be used in the next step.

wo ss/28673 21 8 8 1 3 9 r. ~

Step 2: (Fig. E~13) Select the Host window shade and select "save host data".
Enter the variable declared in step 1 and use the arrow keys to move the "window" over the error message on the screen.
5 Use the shift "+" or " - " keys to increase or decrease the size of the "window" de~ined by the square br~kets in the "Save Host Screen Data" box.

Step 3: (Fig. CC) As before, access the Cllent menu and select [Clear Screen]. me Client screen should now be cleared.

Step 4: (Fig. DD) As bef ore, access the Cll~t menu and select [Move 15 Cursor]. Set the row to 1 and the column to 1. The cursor should move to the x, y location of 1,1 in the Client screen.

Step 5: (Fig. EE) Select [Sound To~e] from the Client menu. A tone will be 20 issued to the Client to notify the user of an error.

Step 6: (Fig. FF) As before, access the Client menu and select [Send Message]. In the submenu select [Variable]. Enter 25 "item_error" as the variable name and select [Special Char(s) ]
a~d define a carriage return and line feed so the next line of text does not overwrite the error message. Select [Text] and e~ter the me~sage you want displayed on the Client screen.

WO95/28673 21 881 39 r~

Select [Special Char(s) ] and enter a carriage return, line feed and the last part of the message to be displayed. In this example, the text "~cr~ clf~ Press ENTER to <cr~ <lf, rnnt; n~

Step 7: ~Fig. GG) As shown in the above steps, declare a new variable "answer" to get the ENTER key from the client in order to cnn~; nllp .

5tep 8: (Fig. HH) As demonstrated in the previous steps, get the Client reply .

15 Step 9: (Fig. II) Wait f or the Client response to the prompt .

Step 10: (Fig. JJ) Wait for the Host prior to sending the "answer" just 20 entered from the Client.

Step 11: (Fig. KK-a through KK-b The ~Iost is now back at the item input prompt. Access the ~i5C menu and select [Loop] and connect this error path to 25 the beginning of item_transfer to once again prompt the client for an item number.

WO 9S128673 . ~ E~ . lr -25 ~
Note that any error condition ean be handled with this techniclue. It is eclually correct to use any of the "Possible Response" areas of the Wait for Host dialogue box. Therefore, 5 additional "known" responses can be declared and "trained"
5 in a similar manner as above. If you only want to train the W for one error response that all cnn~ nnc will use, then the "none of the above " option is a~u~, iate .
Fig . 4 illustrates the intercnnnPcti nn of the various paths described in the above example. The W trained as 10 described above is now ready for use as an interface between the example application and a portable tf~n;n~l, Path File Pr~; tives The Path file specifies the secIuence of steps and 15 -c '~ ud~LuLe:d during the P~ e~tinn process of the W.
~rpPn~l;Y A cnnt~;nq the Path file ~or the example W
illustrated above. The following primitives are used to record the host program behavior and the intPr~Ct;nn with the human operator:

$endact: tP~m;n~t~ path file $cl_connect: establish client cnnnPc~tinn $cl_clear: clear client screen $cl_tone: sound bell tone on client $cl_move: position client cursor $cl_send: send data to client $cl_get: get data from client $cl discon: break ronn~rt1nn with client Wo 9S/28673 2 1 8 8 1 3 9 $host_send: send data to host application $host_connect: establish rnnnPctinn to host application $host_di~con: break connection with host application $host_save: store data from emulation area $host_sync: monitor host operation and compare against behavior database $declare: declare a storage variable $param: modify as system parameter $set: change the value of a variable $pipe: establish transparent connection between client and host ;~rr~; r~t; nn $new_path: begin a new se~auence of op~rat; nnc $100p: transfer control $done: t~rm;n~te a path $vbranch: conditionally branch on variable value $exec: execute a program procedure S~ec File Prtm~ tives The Spec file captures the system ~l~r~nflAnt inforrnation 20 for use by the W. ~rp,onfl;y 3 cnnt~;nC the Spec file for the example W illustrated above . The f ollowing primitives are supported in the "program level" ;nt~rf~e:
nop: no np~r:qt;nn mark: label program location label: label program location begin: start a program structure end: end a program structure ~ W095~28673 ~ 1 ~B ~ 3~ r~
write: outpu~c data to host or client display: output data to client send: output data to host f ile_write: output data to disk f ile get: input data f rom client read: input data find: locate data on c l~tor screen if: conditional ~'Y~r~lt;nn else: conditional ~ Cllt;nn endif: conditional f~ rlltinn declare: declare storage variable param: set system configuration set: set variable's value eof: t--rm;n~te spec file connect: establish connection to client or host disconnect: break cnnn~t;.m monitor: monitor data from host or client and compare against ~e~t~rl data pipe: transfer data between host or client and monitor configure: 8et emulation, client I/0, or host I/0 conf iguration sleep: delay capture: enter tr~;n;n~ mode include: insert c, '- from sub-file declare_action: process and store a pathfile run action: execute pathfile file_open: open a disk file wo sS~/~8673 2 1 8 8 1 3 9 . ~ .'CS ~ ~

file_close: close a disk file spawn: execute a system command as a subprocess goto: flow control loop: flow control break: flow control exit: flow control gosub: f low control return: flow control next: flow control then: ~low control As disclosed by the example above, the operation of the existing program(s) is performed by the Virtual User program rather than an actual user. Thus the following fl~nrt; onC are supported:
l. The s~q ~nl~e and format of the data obtained from the actual user may differ from that re~uired by the original program.
2. User data may be c ' inPd with ~ata from other sources for pres~ntz~t; ~n to the existing application.
3. Data may be ' ;nl~d from multiple functions of a given application or multiple applications on a single host or even ~rom multiple host ~ r8 for presentation to the user. Data may also be passed from one host application to another application with or without user intl~r; - ti-~n . This allows the generation of new, more complex functionality without writing new r~rplic~t; nn pr~
4. The virtual user is trained with an ;nt~or~ctive real-time, menu driven, manner. The present invention ~ wogs/2s673 21 881 39 r~

monitors the actual behavior of the target host application and stores the details of this behavior for future reference.
Many aspects of host program behavior are recorded including key elements of the actual data stream as well as the contents 5 of the ~ l AtPd screen displays. This behavioral database is used by the W module to successfully operate the host program (including the detection and interpretation of error conditions ) as well as being used as a source of data f or prPCPntAt;~n to the human opPr~tor and/or passed to different 10 data entry screen within the application and/or different host applications .
5. The VU module is able to detect llnP~ectPd actions by the host program and report them as exception conditions to the operator and/or learn the behavior and the required 15 response.
The present invention has been implemented in the ANSI C
pLO~ ' ng language . The present invention runs under the SCO Unix operating syatem (Santa Cruz, CA) running on a 486 class workstation. The client portable tPrm;nAl is any device 20 capable of running an ANSI or VT100 tf~rm;nAl: lAt9r. Such a device i8 the Janus J2010 Handheld (Everett, WA).
It will be appreciated by those of ordinary skill in the art that the present invention can be ' '~ ed in other specific forms without departing from the spirit or essential 25 characteristics thereof. The presently disclosed ~mho~;
is therefore considered in all respects to be illustrative and not restrictive.

Wo95l28673 21 881 39 -30- r~
// Example Path File DECVAR answer DECVAR item _ error 5 DECVAR item NEW_PATH "main menu"
ACTION $new_path "main_menu" 0 10 ACTION $cl_move "main_menu" 1 ACTION $cl_clear "main_menu" 2 y ACTION $cl _ send "main menu" 3 N "Do you want to runn -ccr~ ~lf ~ -"the program ~y/n~: "
ACTION $cl_get "main_menu" 4 answer N 1 ACTION $vbranch "m~in _ menu" 5 answer 5 Y 0 "start _ rw" Y "y"
Y 0 "exit" Y "n"
N N
N N
N N
EDISPATCH
NEW _ PATH "start _ rw"
ACTION $new_path "start_rw" 0 ACTION $h pty "start _ rw" 1 n gO _ rw ~
ACTION $100p "start _ rw" 2 Y 0 nnav_menus"
NEW PATH "exit"
ACTION $new_path " exit " 0 NEW _ PATH "nav menus "
ACTION $new_path ~nav_menus" 0 ACTION $host_sync "nav _ menus" 1 10 1 "H _ " ~esc~ " ~24-42H"
24 14 26 "o ~ntin-le or ESC to exit"

EDISPATCH
ACTION $host _ send "nav _ menus" 2 N ~cr~
ACTION $100p "nav _ menus " 3 Y O "item_transfer"

NEW_PATH " i tem_trans f er "
.. ,, . ... ., _ _ _ _ _ _ _ _ _ _ _, .

~ WO~ISI28673 2188139 ~
-~1 ACTION $new_path "item_transfer" 0 ACTION $cl_clear "item transfer" l ACTION $cl move '~item_transfer" 2 ACTION $cl send "item transfer" 3 ACTION $cl get "item _ transfer" 4 10 item N 10 ACTION $100p "item _ trans~er" 5 Y 0 "update host"
NBW PATH "update host "
15 ACTION $new path "update_host" 0 ACTION $cl_clear "update_host "
20 ACTION $cl_move "update host" 2 ACTION $cl send "update host" 3 N "Proces~ing Data--ACTION $host_sync "update _ host" 4 10 2 "_ n ~esc~ n [3;27H
O O O
O O O
BDISPATCH
3 0 ACTION $host send "update _ host " 5 N item;
~cr~
ACTION $100p "update host" 6 Y 0 "item_error NBW _ PATH n item error~' ACTION $new path "item_error" 0 ACTION $host ~ync "item error" 1 10 1 1~ n ~^G~cesc, " [24; 79H"
O O O
O O O

ACTION $host _ save "item _ error" 2 item error 24 2 16 - ACTION $cl_clear "item error" 3 0 ACTION $cl_move "item _ error" 4 ACTION $cl tone "item_error" 5 y ACTION $cl send "item error" 6 N item _ error;
~cr~ ~lf~;
-Wo 9~/28673 2 1 8 8 ~ 3 9 ~ æ ~ ~~ ~9 ~
"Press ENTE~ to";
ccr, ~lf 'l~ont;n~
ACTION $cl~et "item_error" 7 answer N 32 ACTION $host_sync "item_error" 8 1 n ~l ~^G~esc~ " [24;79H"

O O O
ACTION $host_send "item_error" 9Y 0 " item_trans ~er "
END _ ACTION
1~ EOF

w09s~28673 -~5^ 21 881 39 ~-I/L C ~,1 51 ~5~3!~3~
, ~ .
't .!U~ C~ 3

Claims (7)

What is claimed is:
1. A system for translating a first user interface of a preexisting application running on a host computer to a second user interface running on a client computer, where a user interface consists of set of prompts for input and a set of displays for output, comprising:
a training computer in communication with said host computer and adapted to interactively monitor and capture a first set of prompts and displays generated by a first user concurrently operating said first user interface of said preexisting application program running on said host computer via said training computer, adapted to convert said first set of prompts and displays into a second set of prompts and displays for presentation via said second user interface on said client computer, said second set of prompts and displays selected by said first user, and further adapted to store said first set of prompts and displays associated with said second set of prompts and displays; and a translating computer in communication with said host computer and said client computer and adapted to monitor said preexisting application first user interface for said first set of prompts and displays, and further adapted to display on said second user interface on said client computer said second set of prompts and displays associated with said first set of prompts and displays;
whereby said second user operating said client computer interacts, through said translating computer, with said preexisting application running on said host computer via said second set of prompts and displays.
2. The apparatus of claim 1 wherein said training computer and said host computer are a single computer adapted to operate as said host computer and said training computer.
3. The apparatus of claim 1 wherein the first user interface comprises a first information display capable of displaying a first amount of information and said second user interface comprises a second information display capable of displaying a second amount of information, where said first amount of information is not equal to said second amount of information.
4. The apparatus of claim 1 wherein said preexisting application comprises at least two separate computer programs, said at least two separate computer programs running concurrently.
5. The apparatus of claims 1 or 4 wherein said conversion of said first set of prompts and displays into said second set of prompts and displays comprises capturing a portion of said first set of prompts and displays as said second set of prompts and displays.
6. The apparatus of claims 1 or 4 wherein said conversion of said first set of prompts and displays into said second set of prompts and displays comprises capturing a portion of said first set of prompts and displays and defining said second set of prompts and displays as a one of a series of predefined sets of prompts and displays, wherein said one of said series of predefined prompts and displays is selected based upon said first set of prompts and displays.
7. The apparatus of claims 1 or 4 wherein said conversion of said first set of prompts and displays into said second set of prompts and displays comprises capturing a portion of said first set of prompts and displays and defining said second set of prompts and displays as a one of a series of predefined sets of prompts and displays, wherein said one of said series of predefined prompts and displays is selected based upon said second user interacting on said client computer.
CA002188139A 1994-04-19 1995-04-18 Trainable user interface translator Abandoned CA2188139A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/229,935 US5627977A (en) 1994-04-19 1994-04-19 Trainable user interface translator
US08/229,935 1994-04-19

Publications (1)

Publication Number Publication Date
CA2188139A1 true CA2188139A1 (en) 1995-10-26

Family

ID=22863284

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002188139A Abandoned CA2188139A1 (en) 1994-04-19 1995-04-18 Trainable user interface translator

Country Status (9)

Country Link
US (2) US5627977A (en)
EP (1) EP0756726B1 (en)
JP (1) JP3683586B2 (en)
CN (1) CN1150488A (en)
AT (1) ATE213074T1 (en)
AU (1) AU2427195A (en)
CA (1) CA2188139A1 (en)
DE (1) DE69525336T2 (en)
WO (1) WO1995028673A1 (en)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1074137A (en) * 1996-08-30 1998-03-17 Hitachi Ltd Graphic user interface change system
US6084584A (en) * 1996-10-01 2000-07-04 Diamond Multimedia Systems, Inc. Computer system supporting portable interactive graphics display tablet and communications systems
US6052120A (en) * 1996-10-01 2000-04-18 Diamond Multimedia Systems, Inc. Method of operating a portable interactive graphics display tablet and communications systems
US6166734A (en) * 1996-10-01 2000-12-26 Diamond Multimedia Systems, Inc. Portable interactive graphics display tablet and communications system
US5798759A (en) * 1996-12-31 1998-08-25 International Business Machines Corporation Method and apparatus for mobile device screen reformatting
US6429402B1 (en) 1997-01-24 2002-08-06 The Regents Of The University Of California Controlled laser production of elongated articles from particulates
US5913072A (en) * 1997-04-08 1999-06-15 Wieringa; Fred Image processing system in which image processing programs stored in a personal computer are selectively executed through user interface of a scanner
US6677960B1 (en) * 1997-05-07 2004-01-13 Unisys Corporation User assistance for heterogeneous data processing systems
US6834388B1 (en) 1998-03-13 2004-12-21 Iconics, Inc. Process control
US6356287B1 (en) * 1998-03-20 2002-03-12 Nuvomedia, Inc. Citation selection and routing feature for hand-held content display device
US6154214A (en) * 1998-03-20 2000-11-28 Nuvomedia, Inc. Display orientation features for hand-held content display device
US6331867B1 (en) * 1998-03-20 2001-12-18 Nuvomedia, Inc. Electronic book with automated look-up of terms of within reference titles
US6181344B1 (en) * 1998-03-20 2001-01-30 Nuvomedia, Inc. Drag-and-release method for configuring user-definable function key of hand-held computing device
US6925595B1 (en) 1998-08-05 2005-08-02 Spyglass, Inc. Method and system for content conversion of hypertext data using data mining
US6504554B1 (en) * 1998-09-01 2003-01-07 Microsoft Corporation Dynamic conversion of object-oriented programs to tag-based procedural code
US6278449B1 (en) * 1998-09-03 2001-08-21 Sony Corporation Apparatus and method for designating information to be retrieved over a computer network
US6215498B1 (en) 1998-09-10 2001-04-10 Lionhearth Technologies, Inc. Virtual command post
CZ20011336A3 (en) 1998-10-16 2002-01-16 Iconics, Inc. Control of processes
US7017116B2 (en) * 1999-01-06 2006-03-21 Iconics, Inc. Graphical human-machine interface on a portable device
EP1069500A1 (en) 1999-07-12 2001-01-17 International Business Machines Corporation Downloadable user-interface
US6836780B1 (en) * 1999-09-01 2004-12-28 Jacada, Ltd. Method and system for accessing data in legacy applications
US6545690B1 (en) * 1999-09-29 2003-04-08 Lucent Technologies Inc. Liaison interface
JP3501038B2 (en) * 1999-10-06 2004-02-23 日本電気株式会社 Mobile terminal system, mobile terminal used for it
US7054819B1 (en) * 2000-02-11 2006-05-30 Microsoft Corporation Voice print access to computer resources
US6895558B1 (en) * 2000-02-11 2005-05-17 Microsoft Corporation Multi-access mode electronic personal assistant
US6842861B1 (en) * 2000-03-24 2005-01-11 Networks Associates Technology, Inc. Method and system for detecting viruses on handheld computers
US20040073617A1 (en) 2000-06-19 2004-04-15 Milliken Walter Clark Hash-based systems and methods for detecting and preventing transmission of unwanted e-mail
US20020107970A1 (en) * 2001-02-07 2002-08-08 David Wiegand Method of and apparatus for remotely preparing a targeted procedures model for transforming a data stream
WO2002063470A1 (en) * 2001-02-07 2002-08-15 Orchid Systems, Inc. System for and method of learning and automatically correcting business logic errors
US20020128802A1 (en) * 2001-03-08 2002-09-12 Lewis Rompala System for and method of remotely validating a rule set
US6965928B1 (en) * 2001-03-09 2005-11-15 Networks Associates Technology, Inc. System and method for remote maintenance of handheld computers
US20040143585A1 (en) * 2001-03-14 2004-07-22 Urs Antener Data processing device for the preparation of a goods catalogue in the form of a graphics file
US20020138570A1 (en) * 2001-03-23 2002-09-26 Neil Hickey System for and method of automatically migrating data among multiple legacy applications and accessible storage formats
WO2002077876A2 (en) * 2001-03-23 2002-10-03 Orchid Systems, Inc. System for and method of automatically updating data in a host system based upon third party data
US20020163536A1 (en) * 2001-05-01 2002-11-07 Orchid Systems, Inc. System for and method of providing a new client interface to an existing application
US8001490B2 (en) * 2001-07-10 2011-08-16 Nvidia International, Inc. System, method and computer program product for a content publisher for wireless devices
US20030048296A1 (en) * 2001-09-12 2003-03-13 Paul Cullen Method & apparatus for enhancing the graphical user interface presented by an application
US7249261B2 (en) 2001-10-16 2007-07-24 Activcard Ireland Limited Method for securely supporting password change
US7421427B2 (en) * 2001-10-22 2008-09-02 Attachmate Corporation Method and apparatus for allowing host application data to be accessed via standard database access techniques
US7444320B1 (en) * 2002-04-22 2008-10-28 Cisco Technology, Inc. System and method for configuring multiple ISCSI devices
US20040249849A1 (en) * 2003-06-05 2004-12-09 Michael Mordkovich Conversion system
US7673245B2 (en) * 2003-10-15 2010-03-02 Sap Aktiengesellschaft Converting user interface panels
KR20060111502A (en) * 2003-11-13 2006-10-27 코닌클리케 필립스 일렉트로닉스 엔.브이. Consistent user interface front end for remote user interfaces
US7844442B2 (en) * 2005-08-16 2010-11-30 Exent Technologies, Ltd. System and method for providing a remote user interface for an application executing on a computing device
US20110157196A1 (en) * 2005-08-16 2011-06-30 Exent Technologies, Ltd. Remote gaming features
US20080134077A1 (en) * 2006-12-05 2008-06-05 Sap Ag Chameleon graphic user interface
US20110113368A1 (en) * 2009-11-06 2011-05-12 Santiago Carvajal Audio/Visual Device Graphical User Interface
CN102582357B (en) * 2012-02-01 2014-03-19 长春轨道客车股份有限公司 Economical turning repair wheel
USD738900S1 (en) * 2014-03-19 2015-09-15 Wargaming.Net Llp Display screen with animated graphical user interface

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5349678A (en) * 1991-08-21 1994-09-20 Norand Corporation Versatile RF data capture system
DE69034101T2 (en) * 1989-06-07 2005-06-09 Broadcom Corp., Irvine HAND-HELD DATA ACQUISITION SYSTEM WITH INTERCHANGEABLE MODULES
JPH0778782B2 (en) * 1989-07-19 1995-08-23 インターナショナル・ビジネス・マシーンズ・コーポレーシヨン Interactive computer system and apparatus and method for adapting use environment thereof
US5241625A (en) * 1990-11-27 1993-08-31 Farallon Computing, Inc. Screen image sharing among heterogeneous computers

Also Published As

Publication number Publication date
CN1150488A (en) 1997-05-21
JP3683586B2 (en) 2005-08-17
EP0756726B1 (en) 2002-02-06
DE69525336T2 (en) 2002-11-14
JPH10501639A (en) 1998-02-10
US5627977A (en) 1997-05-06
WO1995028673A1 (en) 1995-10-26
US5889516A (en) 1999-03-30
DE69525336D1 (en) 2002-03-21
AU2427195A (en) 1995-11-10
EP0756726A1 (en) 1997-02-05
ATE213074T1 (en) 2002-02-15

Similar Documents

Publication Publication Date Title
CA2188139A1 (en) Trainable user interface translator
WO1995028673A9 (en) Trainable user interface translator
US5228137A (en) Method for controlling execution of host computer application programs through a second computer by establishing relevant parameters having variable time of occurrence and context
KR100502023B1 (en) Terminal for computer network and recording method of control history
US5604896A (en) Computer with terminal emulation interface for multi-environment client/server applications
CA2086693C (en) Data processing system, method and program for constructing host access tables for integration of telephony data with data processing systems
US5553223A (en) Method and system of selectively transmitting display formats and data between a host computer and an intelligent terminal
US5734871A (en) Method for and apparatus for controlling the execution of host computer application programs through a second computer
CA2086694C (en) System, data processing method and program to provide a programmable interface between a workstation and an archive server to automatically store telephone transaction information
US6292827B1 (en) Information transfer systems and method with dynamic distribution of data, control and management of information
US5903455A (en) Interface controls for use in a field device management system
US20060015646A1 (en) Method and apparatus for controlling communications
US5132521A (en) System and method for acquisition and encoding of ATM card data
US6421071B1 (en) Synchronous scrolling of time stamped log files
WO2000079493A1 (en) A visual design tool for interactive sale devices
US20080005038A1 (en) Method and system for automatically harmonizing access to a software application program via different access devices
US20020056009A1 (en) Method for interacting with a device using an abstract space
US20020169787A1 (en) Method and system for providing an adaptive interface for use in interrogating an application
CN114896031A (en) Method and system for compatible scheduling of multiple RPAs
US20050257192A1 (en) Method and device for generating software with customized execution and upgradable without computer programming
US5951641A (en) Method for accessing data received from a server, and terminal using same
TH53018A (en) Methods and automation of banking machines
JP3012366B2 (en) Remote file access method
KR100321642B1 (en) Electronic-Banking integration interface system
JPH0212462A (en) Retrieving of record for computer system

Legal Events

Date Code Title Description
EEER Examination request
FZDE Discontinued