Method and system for automatically harmonizing access to a software application program via different access devices
10007908 ยท 2018-06-26
Assignee
Inventors
- Michael L. Grandcolas (Santa Monica, CA, US)
- Wendell W. Anthony (Brentwood, CA, US)
- Patrick Law (Los Angeles, CA)
- Leslie Moss (Los Angeles, CA, US)
- Teresa A. Petach (Los Angeles, CA, US)
- Peter Tompkins (Malibu, CA)
Cpc classification
G06Q40/00
PHYSICS
Y10S715/969
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
H04L67/5651
ELECTRICITY
Y10S707/99948
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
G06Q20/10
PHYSICS
G07F7/00
PHYSICS
Y10S707/99945
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
Y10S715/962
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
H04L67/565
ELECTRICITY
G07F17/16
PHYSICS
H04L67/75
ELECTRICITY
International classification
Abstract
A method and system automatically harmonizes access to a given software application program via different access devices. The financial institution receives information from the user via the user's access device, including information identifying the type of device being used and the application program the user wishes to access. The application program is then accessed and the information to be displayed to the user is identified. This information is automatically translated into a format which is compatible with the device, including its display, and sent to the device for display. The user, in turn, inputs information in response to the displayed information and this input information is automatically translated into a format which is compatible with the application program and is sent to the application program. The response generated by the application program is automatically translated to be compatible with the device and is sent to the device.
Claims
1. A computer-implemented method of conducting a financial transaction comprising: in response to receiving, by a software module running on a computer, an initial communication to access information from a web browser of a remote computer, the initial communication containing an identification of a customer and a remote computer type, where a customer is identified through the remote device to a financial institution software application: determining, by the software module running on the computer, according to a template file an identification of a particular renderer and a token representation of the remote computer; determining, by the software module running on the computer based on the remote computer type and from a plurality of data formats, a data format compatible with a particular renderer module executed by the remote computer and accessible to the web browser of the remote computer; translating, by the software module running on the computer using the data format, an application stream for the particular renderer used by the remote computer; identifying, by the software module running on the computer based on the identification of the customer, data associated with the customer to include in the application stream; tokenizing, by the software module running on the computer, according to the data format compatible with the particular renderer module of the remote computer, the application stream representing the information accessed in the initial communication, wherein tokenizing the application stream produces a tokenized application stream comprising a plurality of tokens mapped to one or more elements of the application stream respectively; transmitting, by the software module running on the computer, the tokenized application stream to the remote computer, the remote computer configured to render the information in the tokenized application stream to a device screen of the remote computer by the particular renderer module of the remote computer in accordance with the data format compatible with the particular renderer module; and receiving, by the computer, a request from the remote computer regarding a transaction to be performed using the web browser.
2. The method according to claim 1, where the information from the remote computer further comprises a language and a business.
3. The method according to claim 1, where the application stream comprises at least one token.
4. The method according to claim 1, further comprising adding a token to the application stream.
5. The method according to claim 1, where the template file provides data regarding a display of the remote computer.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
DETAILED DESCRIPTION
(13)
(14)
(15) A Legacy application stream contains data without any tokens. In order to be processed by a token-creator-mapper into a desired format for the customer's device, the application stream needs to contain tokens. A token or tag is a single element of an encoding language. For example, a token could be an input field, check box, or a choice. As used by the present invention, a token is an element of the electronic communication language used between the financial institution's application software and the token creator mapper. Therefore, by adding a token representation to an application stream en route to a customer, one is ensured that the application stream will be in a form comprehensible by the customer's computer system.
(16) Where the financial institution Legacy application 23 puts forward a Legacy application stream, the stream is directed towards a parser 21. The parser 21 reads the Legacy application, determines that no token representation exists, and then adds a token representation or tokenizes the Legacy application stream. The now tokenized application stream is directed to the token-creator-mapper 26 along connecting line 29.
(17) When the financial institution application puts forward a canonical token application stream 27, the stream by definition already contains a token representation and is no longer in need of the parser 21. The canonical token application stream is directed along connecting line 29 to the token-creator-mapper 26.
(18) The present invention interfaces with a variety of financial institution applications that put forward a variety of application streams. Therefore, a variety of token-creator-mappers can be employed to map tokens within the variety of application streams. For purposes of illustration, a single token-creator-mapper is represented, although it is understood that a variety of token-creator-mappers can be used by the skilled artisan in place of the single element. All token-creator-mappers output a token stream that will be particular to a renderer used by the customer's device. Renderers are software components within computer systems that create two-dimensional representations of inputted token streams.
(19) The token-creator-mapper 26 receives a tokenized application stream. The token-creator-mapper maps the application stream into a token representation that is understood by the customer device's renderer 22. The process of mapping is the transformation from one set to another or the making of a logical connection between two entities. Mapping is the process by which a first set of concepts is translated into a second set of concepts through a series of layers. Each layer contains the same amount of information as the layer above, but in a form somewhat closer to the form of the second concept. Eventually, after a series of layers, the first concept is translated into the second concept.
(20) The particular renderer type and the appropriate token representation that is understood by the particular renderer is stored in a template data file 28. The template does not perform any processing, rather the template is referenced by the token-creator-mapper 26 during the process wherein the token-creator-mapper creates a token stream representation of the inputted application stream. The template is a data file that includes descriptions, lists of named tokens classified according to renderer type, and the style with which the application stream is to be presented on the customer device's monitor. In addition to use of a single template, the present invention may take advantage of a plurality of templates as may be envisioned by the skilled artisan. For purposes of illustration, one template is depicted. The template 28 allows the user of the present invention to modify the monitor screen layout of a financial institution application without actually altering the application or customer's device. The template 28 is referenced by the token-creator-mapper along connecting line 30. The template provides data as necessary for the token-creator-mapper to map an application stream to a customer's device screen requirements.
(21) Upon the creation of a tokenized application stream, the tokenized stream is directed along connecting line 31 to the renderer 22 of the customer's device 20. The renderer 22 decodes the tokenized stream and presents the information of the tokenized stream in a format and style specific way on the screen of the monitor 24. Examples of different types of renderers include the commercially available Netscape Navigator, Prodigy, and ADSI, as well as custom renderers, such as Citibank's Direct Access, associated with Windows and DOS based personal computers, Macintosh systems, screen phones and personal digital assistants.
(22) Netscape Navigator is a renderer for accessing, browsing and creating documents on the World Wide Web. Prodigy is a renderer for accessing Prodigy's on-line content. ADSI is used in screen phone technology. Direct Access, which permits customers to perform banking functions from their home PC, is a custom renderer commercially available from a financial institution for accessing numerous financial institution applications.
(23) In addition to providing for device specific formatting, renderers provide means to change the overall style of a presentation. Examples of different presentations are set out in
(24)
(25) The row of buttons 32 is shown, including five buttons. The five buttons include short phrases written thereon. The short phrases are intended to be queries and options for the customer to select. The queries and options refer to particular functions to potentially be performed by the application. The number of buttons and the queries set out thereon are a function of the template(s) and renderer, and can be manipulated in number and content, as will be discussed below, by one skilled in the art.
(26) As depicted, the row of buttons 32 include five buttons with the following phrases (from left to right respectively): Money, 42; Borrow, 33; Credit, 35; Sum, 37; and Quotes, 39. The text 34 includes the phrase, What would you like to do? prompting the customer to take action with regard to the buttons appearing on the screen. The column of buttons 36 include the following labels (from top to bottom respectively): Add a Payee, 41; Change a Payee, 43; and Cancel a Payee, 45. The buttons may be activated by any means known to the skilled artisan including use of a keyboard, mouse, touch screen, and the like. Finally, the exit button when activated exits the screen.
(27)
(28) The top bar includes horizontal lines 51 abutting a darkened square 53. The darkened square when enabled by the customer causes an exit from the screen. The first column 54 includes first and second buttons 55 and 57. Both buttons include symbols therein and descriptive phrases thereunder. The first button 55 offers balance inquiry and includes a dollar symbol 59 thereon and phrase Money 61 thereunder. Directly below the first button is second button 57 providing inquiry into financial or related quotes. Button 57 includes information symbol 60 thereon and the phrase Quotes 62 thereunder.
(29) The second column of buttons 56 includes three buttons. From top to bottom, a first button 63 is an inquiry into borrowing money. Button 63 includes symbol 69 of two people shaking hands thereon and the phrase Borrow 79 thereunder. A second middle button 65 is an inquiry into financial credit. Button 65 includes a symbol 71 of a star thereon and phrase Credit 73 thereunder. A third button 67 is an inquiry into a financial sum. Button 67 includes a + and = symbol 75 thereon and the phrase Sum 77 thereunder.
(30) Between the first and second columns is positioned box 58. Box 58 contains a list of items that may be selected by the customer. The items are depicted as phrases and include the following: Add a Payee, 72; Change a Payee, 68; and Cancel a Payee, 70. The phrases may be scrolled by repositioning box 66 within column 64. The box may be repositioned by the customer using the computer keyboard, mouse, and the like.
(31) The above screen layouts are accomplished by providing device-specific templates and minor content changes to edit icons. Certain customer devices have very limited screen space, resulting in the need to express phrases in short, concise structures. To provide numerous syntactic and format versions of a phrase, phrase packs are used.
(32) Phrase packs may be used to label buttons, icons or portions of the monitor screen. For example, the phrase Your Money in the Bank may be resolved through a phrase dictionary (discussed below) or related mechanism to appear in a tokenized application stream as follows: <BTN1 PP.L=Your Money in the Bank, PP.S=Money>
wherein, BTN1 refers to a first button, PP.L refers to a long phrase and PP.S refers to a shortened version of the same phrase. The selection of which phrase to appear at a particular location on a designated monitor screen is a result of the control of the token-creator-mapper, device-specific template, and device-specific renderer. Phrase packs, like other elements located within the template data file, allow the user to alter the appearance of items on the monitor screen without altering the financial institution program or customer device. Phrase packs include a hierarchy that allow the user to select a language, style, business, device, and modal flexibility by manipulation of an appropriate level of the hierarchy. This hierarchy is set out in
(33) The phrase packs include a hierarchy of importance 84 regarding functions and forms of the phrase. The hierarchy is depicted in
(34) The third level of the hierarchy 87 is directed towards the identity of the financial institution application that the customer has selected to make use of. The identity of the financial institution application will dictate the tonality of the phrase to be presented to the customer.
(35) The fourth level in the hierarchy of importance in the template data selection process is the computer monitor and support 88. This consideration will determine placement of icons, as well as the selection of long or short phrase packs from the template.
(36) The following three considerations concern the length of the phrase: long form 89; medium form 90; and short form 91. The length of the phrase is determined by the type of renderer associated with a particular monitor screen type. The final two considerations include the actual presentation to the customer of the application. The eighth level 92 of the hierarchy is a consideration of the iconic form assigned and positioned on the computer monitor. The final consideration 93 is the voice form of a phrase pack or the like, as may be presented by the customer. After satisfying the levels of the hierarchy, an appropriate phrase pack satisfying the monitor screen real estate and display format (typed on a screen or spoken) will be selected either by manipulation of a remote agent or automatic function of the present invention.
(37) The main menu of the screen as presented to the customer on the customer's monitor is a product of the application front end. The structure of the application front end is independent of the financial institution application and therefore can be modified to the particular needs of a financial institution allowing two different financial institutions to tailor the same application to their needs. The application front end is the location wherein specific icons and other menu items can be injected to tailor the application output presentation. All messages between the application and customer travel through the application front end. The application front end also allows for manipulation of functions of the applications including the paying of bills, transferring of monies and other tasks set upon the financial institution application. The architecture of the present invention with the inclusion of the application front end is depicted in
(38)
(39) The application front end 106 creates an application stream as will be discussed below with regard to
(40) The device renderer 111 operates as discussed above and directs a screen image along connecting line 112 to the device monitor screen 113. Displayed on the device monitor screen 113 is the renderered token stream of the text appearing below.
(41) 1. <SCR T=A>
(42) 2. <TXT ID=T1 PP.L=What would you like to do?>
(43) 3. <BTN ID=BA V=A PP.L=Add a Payee>
(44) 4. <BTN ID=BB V=B PP.L=Change a Payee>
(45) 5. <BTN ID=BC V=C PP.L=Cancel a Payee>
(46) 6. <BTN ID=B1 V=1 PP.L=Your Money in the Bank, PP.S=Money>
(47) 7. <BTN ID=B2 V=2 PP.L=Borrowing and Loans, PP.S=Borrow>
(48) 8. <BTN ID=B3 V=3 PP.L=Credit Cards, PP.S=Credit>
(49) 9. <BTN ID=B4 V=4 PP.L=Summary and Services, PP.S=Sum>
(50) 10. <BTN ID=B5 V=5 PP.L=Quotes>
(51) 11. <BTN ID=B6 V=6 PP.L=Exit>
(52) Line numbers have been added for purposes of discussion only and are not part of the tokenized text. Line 1 refers to a token designation wherein the initials SCR is the key word of the token for a template name and T=A refers to the template labeled A used to format the appearance of the screen. Line 2 includes the initials TXT referring to the token for text on the screen 113. The identity of the text is set out by the initials ID= with the name of the text being T1. The identification is followed by a long phrase pack. The result of line 2 is shown by element 118 of
(53) Line 3 assigns button bar 120 to the customer's screen as signified by the first set of attributes, BTN. The button is identified by the label BA as indicated by the second set of attributes. The button will return the selection value of A to the application and includes long phrase pack, Add a Payee 121. Likewise, lines 4 and 5 refer to button bars 122 and 124, located directly below button 120, which read Change a Payee 123 and Cancel a Payee 125, respectively.
(54) Lines 6 through 10 refer to a row of buttons 127 positioned along the top perimeter of the screen 113. Row 127 includes five buttons as indicated by the first variable of lines 6 through 10 reading BTN. The buttons are identified by the second set of variables of ID=B1; B2; B3; B4; B5, respectively. The application's expected selection values of the five buttons are indicated by the attribute V=1; 2; 3; 4; 5, respectively. As depicted, first button 128 displays a short phrase pack Money 129; second button 130 displays short phrase pack Borrow 131; third button 132 displays the short phrase pack Credit 133; fourth button 134 displays short phrase pack Sum 135; and fifth button 136 displays short phrase pack Quotes 137. Finally, line 11 refers to exit button 126. When arranging the layout of the computer screen 113, the device renderer 111 in conjunction with a tokenized application stream uses elements found missing within the template to select and place items.
(55) A closer examination of the interaction between the applications and the application front end follows. The examination will focus on the operation of the application front end with respect to receipt of a Legacy (no tokens) application and a Direct Access (canonical tokens) application.
(56) As depicted in
(57) The Direct Access application stream supports several logical channels within it. One logical channel supports screen related output and customer related input. Other logical channels support such functions as uploading of scripts, downloading of customer information, bitmaps and templates. When the Direct Access application first receives customer identification information, the stream monitor component of the Direct Access application uses the identifying information to select appropriate top level menu components and phrases from the phrase packs dictionary.
(58) The stream monitor 146 controls the functions of the application front end 144, including the functions of interpreting, normalizing and enhancing all input and output data streams. All input and output data streams pass through the stream monitor.
(59) Different portions of a data stream are intended for different destinations, including messages to the customer's device, messages to the integrator, an application switch, a request for main menu services, references to the phrase pack dictionary and messages to the data store.
(60) Messages to the customer's device are subject to editing by the stream monitor to include or exclude tokens related to the style of presentation including non-linear navigation (omnipresent menu buttons) and product-specific function and icon requirements. When the stream monitor detects the presence of a Legacy application, the stream monitor converts the Legacy application stream into a Direct Access application stream.
(61) Messages to the integrator facilitate the integration process wherein a combination of diverse elements of hardware and software are put into a unified system. The presence of an application switch in an application stream passes control of the application stream to an appropriate financial institution software application function. In addition, omnipresent menus elections, activity codes and remote scripts or agents can trigger an application switch.
(62) Omnipresent menu selections are menu selections that are available to the user throughout any portion of use of an application. In contrast, top level main menu selections are selections available to the user of an application only from a specific screen function, usually a top screen main menu. Examples of top level main menu services or functions include balance inquiries and transfer of funds.
(63) The main menu services 145 are traversed when an appropriate section is received, until the selection triggers an application switch. Then the application switch engages the appropriate application function required for the selection made.
(64) The phrase pack dictionary 147 supports multiple languages and language forms to supply requests for phrase packs. Composed as a database, the phrase pack dictionary requires at least the following primary data elements to locate the form of a given phrase: (in hierarchical order) language; business; and device type. In operation, the selection from the phrase pack dictionary takes the route depicted in
(65) An example of a phrase pack selection 150 is set out in
(66) The data store 148 on
(67) The anatomy of the Direct Access application will now be described with reference to a Pay function. Direct Access applications may be composed of a non-linear sequence of routines or subfunctions. The subfunctions form a chain wherein each subfunction in the chain passes, when appropriate, control to the next subfunction in the chain sequence. The highest levels of the subfunctions are identical with all Direct Access applications. A subfunction is composed of one or more procedures grouped to perform a specific task.
(68) As depicted in
(69) The chart in
(70) For example, as shown in the matrix on
(71) Token attributes are set out in
(72) The first column sets out the bulk of the attributes and tags addressed by templates utilized by the present invention. The second column sets out the location of the attribute as being within the template. The third column sets out the location of the attribute as being within a stream. The second and third column are not necessarily mutually exclusive. The fourth column sets out the actual language of the element and tag as may appear in the template or stream. The language is intended to be in a form that is comprehensible by computers in use with the present invention. The language instructs the computers where to place elements on screens. The fifth column sets out abbreviations for language set out in the fourth column. The sixth column sets out defaults automatically assigned to values within the actual language if operation of the token attributes does not assign a selected value. The selected value will vary according to the application in use and requirements of the customer. The seventh column sets out the actual language employed to terminate the element assigning language. The eighth column sets out any pertinent notes as may be needed in employing the language set out in the respective row.
(73) The elements addressed by the token attributes include the following: Table Headers, Table Data, Table Rows, Lists, Lists Items, Buttons, Virtual Terminal Windows, Images, Inputs, Status Bars, Forced Line Breaks, Center, Left, Right, Money Format, and Highlight. The use of these tokens and corresponding attributes provides the ability to create a definition of the user interface to be presented to the customer. This defined stream is what will be translated by the token-creator-mapper 26 into a token stream that can be understood by the renderer 22 to display a usable application interface. The displayed interface is therefore generated without the need for the originating financial application to be aware of the customer's device-specific 20 display requirements.
(74)