WO1998040826A2 - Kiosk and server connected to computer network - Google Patents
Kiosk and server connected to computer network Download PDFInfo
- Publication number
- WO1998040826A2 WO1998040826A2 PCT/GB1998/000650 GB9800650W WO9840826A2 WO 1998040826 A2 WO1998040826 A2 WO 1998040826A2 GB 9800650 W GB9800650 W GB 9800650W WO 9840826 A2 WO9840826 A2 WO 9840826A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- kiosk
- application
- server
- network
- local
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F19/00—Complete banking systems; Coded card-freed arrangements adapted for dispensing or receiving monies or the like and posting such transactions to existing accounts, e.g. automatic teller machines
- G07F19/20—Automatic teller machines [ATMs]
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F17/00—Coin-freed apparatus for hiring articles; Coin-freed facilities or services
- G07F17/0014—Coin-freed apparatus for hiring articles; Coin-freed facilities or services for vending, access and use of specific services not covered anywhere else in G07F17/00
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
- H04L12/2805—Home Audio Video Interoperability [HAVI] networks
Definitions
- This invention relates to the field of kiosks and servers that are connected to a computer network and which allow the server to configure the kiosks .
- a kiosk is a machine placed in a location for general, e.g. public, access by users or clients so that a service provider can provide a service to these users/clients.
- these services are "self-services" that are conducted by the client without the service provider providing an agent to offer specific help to the client. Therefore, the services tend to be repetitive, simple, and specific tasks like: 1) getting information, and/or 2) completing certain simple transactions (e.g., buying tickets, getting cash, reviewing the department store's floor map, etc.)
- dev ⁇ ce e.g., one or more monitors, a card reader, a ticket printer, a laser printer, a cash dispenser, etc.
- monitors e.g., one or more monitors
- ticket printer e.g., a ticket printer
- laser printer e.g., a laser printer
- cash dispenser e.g., a cash dispenser
- Kiosks do not require full time human operators to perform their tasks and therefore save operating costs and increase productivity.
- Some kiosks in the prior art are connected by a network, e.g., bank ATM machines, airline ticket machines, etc.
- a network e.g., bank ATM machines, airline ticket machines, etc.
- the prior art includes kiosks with video conferencing for banking applications to try to create a connection between the bank agent and the user/client. This is done by simply adding a video conferencing system to a traditional type of kiosk.
- the prior art also has combined kiosks with the Internet.
- This kiosk has a browser which displays HTML pages on the screen of the kiosk.
- the screen displayed on the kiosk is controlled by the hyperlinks selected by the user.
- These kiosks are suitable for information access where the client/user can browse through the information provided by selecting "soft" buttons that invoke a hyperlink.
- These kiosks can also be used for certain personal communications like e-mail.
- the screens are usually specially designed to present a user interface (e.g., having navigation buttons, etc.) and the kiosk further acts as a filter to limit the URLs the client can traverse so that only HTML pages (URLs) defined by the kiosk builder are accessible.
- Prior art kiosks fail to provide effective "face-to-face” service based applications, i.e., where an agent is needed to consult and/or guide the user or client in order to complete the service or transaction.
- An effective " face-to-face” environment for the customer service requires not only video/audio, but also synchronized screen sharing (e.g., the user/client sees the data while the agent enters the data) and remote device control (e.g., the agent can print a receipt for the kiosk user/client) .
- the prior art does not provide synchronized screen sharing or remote device control of kiosks.
- Some prior art provides video conferencing as a function of the kiosk.
- video conferencing provides the client with an audio/video connection to other parties
- this architecture has not been successful in the market because of the lack of coherent integration between the audio/video communication and the content of the kiosk screen.
- the agent may not have the same information on the agent screen as the client has on the kiosk, e.g., the kiosk has an ambiguous or erroneous value in a field on the screen but the agent will not see this erroneous value during the video conference.
- the agent can not point to locations on the client's screen nor can the agent take control of the client's screen.
- the agent can not provide the client general information through the kiosk that the kiosk is not already preprogrammed to provide.
- the agent can only provide the information by voice or camera video but can not provide any information on the client's kiosk screen or through other kiosk devices.
- Some prior art discloses simple Internet/browser-based kiosks that can only conduct a limited and specific application, i.e., limited information browsing. These kiosks can not provide an effective customer service environment with flexible applications because of their lack of kiosk control capability and collaboration between the client and the human agent .
- the present invention provides a kiosk and server as defined in the attached claims.
- the approach described herein benefits from a flexible, reconfigurable, and collaborative kiosk architecture, offering the public ubiquitous, configurable, and directly accessible network interfaces for a variety of applications, including "face-to-face” agent to client service and/or transactions, and the provision of public access to multiple communication networks, e.g, the Internet (TCP/IP), Public Service Telephone Network (PSTN), Integrated Services Digital Network (ISDN), etc..
- TCP/IP Internet
- PSTN Public Service Telephone Network
- ISDN Integrated Services Digital Network
- the network server system can deliver a very large number of applications (potentially created, developed and stored on one or more network servers) to reconfigure remote kiosks and kiosk devices on the network (s) in different ways for different applications, especially to support a variety of input and output devices used in different ways for the different applications.
- a kiosk system may be connected to one or more networks, e.g., the Internet, corporate or government intranets, etc.
- the kiosk has one or more input/output devices (for example, displays, keyboards, paper printers, telephones, etc.) and one or more driver programs (local APIs) for each of the input/output devices.
- the displays are used to present one or more graphical user interfaces and video images to a user of the kiosk. Some of the interfaces are application specific. (An application is a use for which the kiosk is configured or reconfigured) .
- the kiosk has a browser that fetches one or more application files (in a configuration set) from one or more servers on the network.
- the application files (configuration set) comprise a set of HTML files that are rendered in a sequence (determined by the application) by the browser of the kiosk.
- One or more of the HTML files include embedded (control) programs that are used to control the local APIs of one or more of the devices on the kiosk.
- One or more of the files may also include other HTML files, multimedia components (like images or sounds), and/or hyperlinks to other HTML files, multimedia components, embedded programs, and/or other application files.
- a first application file is selected from the server(s) by a selection function (e.g., voice, a soft button, hyperlink, etc.) at the kiosk.
- the application files (configuration set) associated with the selection (selection function) configure the kiosk accordingly.
- the kiosks can be configured and re-configured to perform various applications that are defined by the application files.
- one or more of the application files has one or more predetermined selection links (e.g. hyperlinks).
- the predetermined selection links are presented on the graphical user interface to the user as additional selections.
- the user can select and invoke one or more other configuration sets, HTML files etc., containing zero or more other embedded control programs. Therefore, by using these additional selections, the sequence of rendering the content of the HTML files by the browser, and in fact the files in the sequences, can be changed to reconfigure the kiosk in different ways, to obtain information from the user, and/or to provide information to the user.
- Rendering the content HTML files in the sequence configures the kiosk to provide one or more screen sequences of interactive screens and, if required, sequences of device actions (controlled by the embedded programs) that combine to reconfigure the kiosk for the specific selected application.
- the user or other function within the kiosk or server
- part of the application includes a web page sharing function that allows an agent and client to collaborate over the network (s) through the kiosk and server.
- a web page sharing function that allows an agent and client to collaborate over the network (s) through the kiosk and server.
- One preferred embodiment implements a "thin" client architecture, i.e., where no application-specific software resides on kiosk.
- Figure 1 is a block diagram of one preferred embodiment of a kiosk.
- Figure 2 is a block diagram of an alternative preferred embodiment of a kiosk.
- Figure 3 is a block diagram of an example graphical user interface used in the kiosk.
- Figure 4 is a block diagram showing a configuration set (application files) that are selected by a user and executed to configure the kiosk.
- Figure 5 is a block diagram of a set of application files (configuration set) that includes one or more HTML files and associated hypertext components including at least one embedded control program.
- Figure 6 is a block diagram showing one preferred embodiment of the kiosk executing the application files and the control programs/functions interacting with local API programs to configure the kiosk.
- FIGS 6A-6D are block diagrams showing various alternative preferred embodiments of kiosk control mechanisms.
- Figure 7 is a flow chart showing the steps performed in executing one application file with API control functions.
- Figure 8 is a flow chart showing the steps performed in a typical server.
- Figure 9 is a block diagram of showing a preferred kiosk software architecture using ActiveX.
- FIGS 9A-9D are block diagrams showing various alternative preferred embodiments of kiosk control mechanisms using ActiveX.
- Figure 10 is a block diagram of an alternative kiosk control embodiment using plug-ins.
- FIG. 1 is a block diagram of one preferred embodiment of a kiosk 100 m which the kiosk 100 comprises a computer 110, (e.g. an IBM personal computer like a PC350 or a PC750), which has an appropriate known network interface 155.
- the network 150 can be any known local area network (LAN) or wide area network (WAN) .
- the network 150 is the Internet.
- other general networks 150 are envisioned, including: intranetworks like corporate networks, government networks, education networks, extranetworks between corporations, and networks used by one or more retailers which can be implemented by telephone networks, cable networks, ISDN networks, etc.
- the computer 110 has one or more input and/or output devices (below) 130 that are mounted as part of the kiosk 100.
- the computer 110 has one or more main memories, one or more storage memories (like hard disk drives, CDROMS, etc.) 110M and one or more central processing units (CPU) HOC that are well known. Further, the computer 110 has an optional hardware keyboard 135 and mouse 134, e.g., for maintenance purposes. A user accesses these various (peripheral 130) input and/or output devices (collectively numbered as 130) to transfer information through the computer 110 and network 150 to and/or from other clients and/or servers 195 connected to the network 150. Examples of these input/output devices 130 include: a touch sensitive terminal 103 with a screen 105; a printer 109; any known generic information reader 111 (e.g.
- a card reader 121 for reading a magnetic card, credit card, or smart card
- a scanner e.g. a laser scanner
- any known generic information writer 113 a printer, a ticket printer, a media printer - e.g. a diskette disk drive, a statement printer, or a receipt printer
- a dispenser e.g. for dispensing stickers or computer discs
- any other device 130 that provides a user with information on a tangible media 113A.
- Other input/output devices 130 include any one or more of the following: a cash dispenser, a scanner, a deposer, a pen input 136, a card issuer, a ticket issuer, a CRT, a key board, a touch sensitive screen, a program controllable camera, one or more human sensors (e.g. infra red), one or more lights, a CD ROM player, an audio input/output device (e.g. a microphone 133, speaker 132, or a telephone set 107) and a memory 113B.
- the kiosk 100 can be provided with known communication devices such as a telephone 107 or a video conferencing system 114, for example a PictureTel PCS-100 Desktop ISDN Video Conferencing System.
- the video conferencing system comprises a camera(s) 131, a speaker (s) 132, a microphone (s) 133, and/or one or more ISDN connections or separate network connections through the appropriate network interfaces 155. Connections can be made to other networks 151, e.g. a plain old telephone system (POTS) phone network 122 through the telephone 107, speaker 132, microphone 133, and/or ISDN line 123. Other peripheral devices 130 can also connect independently to networks (150, 151) using known interfaces .
- POTS plain old telephone system
- the computer CPU HOC executes software programs including control processes and libraries 125 and in some preferred embodiments one or more collaboration processes 170.
- the control processes 125 have two parts: one or more embedded control functions/programs 620 and one or more control mechanisms 640.
- the embedded control programs/functions 620 are content specific processes (e.g. for banking, car rental, merchandise purchasing, etc.) that use the non content specific control mechanisms 640 to control local application program interfaces 680 (APIs) associated with the respective input/output devices (or subsets thereof) 130. Therefore, the input/output device 130 are controlled in a way specific to the content of the application.
- the control mechanisms can be dynamically loaded into the computer 110 from the network 150.
- the collaboration processes 170 includes the APIs and other programs that execute functions that establish a collaboration session from the kiosk 100. This collaboration process is described in U.S. Patent Application Serial Number 08/722,287, entitled “Internet Web Page Sharing", to Fin et al . filed on September 27, 1996 which is herein incorporated by reference in its entirety (see EP application 97307536.0, publication number 833260).
- the computer further executes programs necessary to interact with the network 150 including a web browser program 160, e.g. a Netscape Navigator browser. (Netscape Navigator is a trademark of the Netscape Communications Corporation) .
- FIG. 2 is a block diagram of an alternative embodiment of the invention that shows the kiosk 100 in an enclosed space or partially enclosed space 200.
- the enclosed space 200 can be any type of space, e.g. a room, a cubicle, or any other private or semi-private area in which the kiosk 100 resides with one or more user.
- the computer 110 is connected to one or more known environmental peripherals 130 that the computer 110 controls to create an environment for the user in the space
- the environmental peripheral might include lighting 205 of the space, displays 210 in the space 200 that convey addition information (e.g. sales information) and/or environmental factors (e.g. a variable display of scenery or a virtual world) , and/or security access 215 to and/or from the space 200.
- the (partially) enclosed space can have other environmental peripherals 130 similar to those peripherals 130 described above, e.g. sound, video conferencing, etc. Examples of a virtual worlds are well known.
- a user selects (using a selection function) an application, e.g. banking, for which the kiosk is to be configured and the browser 160 interacts with one or more web servers 195 on the internet (general network) 150 to fetch one or more configuration sets 175.
- an application e.g. banking
- the browser 160 interacts with one or more web servers 195 on the internet (general network) 150 to fetch one or more configuration sets 175.
- data communication begins between the server 195 and the browser 160 in the kiosk (100, 200).
- the application files 175 are then executed, file by file, by the browser 160 to: 1) optionally invoke driver programs (local APIs 680) that control one or more of the input/output devices (e.g. touch sensitive terminal 103 or display) 130 that are used with the respective application; 2) optionally cause a series of input/output device 130 actions to occur, e.g.
- the user can use a first selection function to select a first application (and its associated application files 175 on the server 195) that reconfigures the kiosk to a first specific selected application.
- the kiosk is again reconfigured for the second application and so forth. Selection functions for any later configuration can be provided to the user in a prior configuration.
- An application is any use for which the kiosk is configured.
- applications include uses (configurations) in the following fields: financial, business, information (news, advertising), communications (electronic mail, web access, video conferencing), retail, marketing, services (e.g., government programs) .
- An application owner is any person, organization, or business that would configure the kiosk to provide the application.
- a bank or mutual fund would configure the kiosk with one or more financial applications.
- financial applications include providing the user with financial information, opening an account, dispensing cash, paying bills, applying for loans, making deposits, and obtaining assistance from the agent.
- An example of a service owner would be a car rental company that would configure the kiosk to provide a car rental/lease, etc.
- the kiosk (100, 200) is reconfigured not by the user, but by the server 195.
- the kiosk can be located in a public place, like a shopping mall.
- the browser can be made to initially or periodically fetch (or the server can be made to "push") the configuration set (application files) 175 to the kiosk 100 from one or more servers 195 or from a default or proxy server 195A located on the network 150. Therefore, a system designer can control the configuration of the kiosk from the remote location of the server 195.
- the kiosk in the mall can initially be configured to display a map of the mall, play background music, make announcements or provide the weather, or other general information like news or stock quotes.
- the configuration set 175 can also direct one or more of the input/output devices 130 to have or be a selection function 105A, e.g. a touch screen, an icon, a hypertext link, a soft button on the graphical user interface, a hard-wired button, a remote sensor (like a radio frequency identification tag) , or a voice activated message for the video conferencing system.
- the selection function 105A is a function that allows the user to make a selection that causes the kiosk to be reconfigured to a user application. These selection functions 105A allow the user to reconfigure the kiosk 100/200 and/or access the other information the server 195 causes the kiosk to provide .
- the selection functions 105A, and/or other information displayed also can be a source of revenue for the owner/operator of the kiosk.
- notices provided by the kiosk can be advertisements made for a fee.
- Application providers e.g. banks, mutual funds, mortgage companies, lenders, brokers (stock, real estate), rental businesses (cars, equipment), services providers, and retailers
- the amount of the fee might be based on: the location of the kiosk, the position/location of the selection function/information on the kiosk (e.g.
- the selection functions 105A/ information can be changed at different times or displayed periodically in order to target a different class of customers/clients. For instance, a kiosk in Grand Central Station might have commuter information displayed at rush hour and would be reconfigured to have selection functions 105A for restaurant reservations just before lunch time.
- the kiosk 100/200 can be reconfigured to be user specific by the application provider through the server 195.
- a travel agency might have a user profile for Mr. Smith. Mr. Smith selects a selection function 105A on a kiosk 100/200 at a public location or at his place of employment.
- the kiosk (as directed by one of the application files 175) can request personal information from Mr. Smith, e.g. by entering in a PIN code or swiping a credit card using one of the input/output devices 130. Mr. Smith's personal information is then passed to the server 195 by the kiosk 100/200 and a profile on Mr. Smith is accessed.
- one or more of the application files 175 is sent by the server 195 to reconfigure the kiosk specifically for Mr. Smith. For example, only vacation packages to Central America may be provided on the kiosk.
- one or more of the application files 175 can allow the user to organize the GUI (300 below) .
- a collaboration session is set up between one or more kiosk users and one or more agents of the application provider.
- the collaboration is set up by the collaboration process 170 that is resident on the kiosk or provided as an application file 175 by the server 195 (see the patent application to Fin et al . referenced above).
- the server 195 provides the kiosk with application files 175 that are used to monitor or maintain the kiosk.
- one or more of the embedded control programs 620 in these embodiments monitor the operating status of one or more of the input/output devices 130, e.g. by using "dead man" timer status, error checking protocols, etc. to determine which input/output devices are operational. This information is communicated back to the server 195.
- Other applications files 175 are used to query which input/output devices 130 are installed or operational in a given kiosk. In this way, the server 195 can determine which other application files 175 to send to the kiosk to enable the installed or operational input/output devices 130 and not to enable (configure) the uninstalled or faulty devices.
- kiosks containing any general combination of input/output devices 130 can be installed remote to the server and the server will provide the correct and operational application files to make the kiosk operational for any given application.
- the application files can also be used to acquire information from one of more of the input/output devices to determine how to operate the devices.
- FIG 3 shows an example of a graphical user interface (GUI) 300 appearing on the screen/display 105 of the kiosk 100/200.
- the GUI 300 provides the main access interface to the user of the kiosk through selection function 105A.
- Examples of the selection functions 105A include icon images 301-304 indicating applications for a bank 301, an insurance service 302, a general soft button 303, and a pizza restaurant 304.
- the GUI 300 can also display selection functions 105A in the form of a menu 320 with one or more selections (typically 325) .
- Other examples of selection functions 105A are hyperlinks 350 that can be part of the GUI 300 and/or menu 320.
- Other areas 340 of the GUI 300 can be used to enter information and/or other data.
- GUI 300 can be presented as a form 370 such as a tax form, loan application, mortgage application, deposit slip, etc.
- the GUI 300 can be displayed as a web page by the browser 160 using well known techniques.
- the web page can have multimedia (sound, video) aspects that are presented to the user through the other input/output devices 130.
- Figure 4 illustrates the mechanism of how a user interacts through the user interface to select a selection function 105A which causes the corresponding configuration set 175 to be downloaded from the server 195 to the client (kiosk 100, 200) to conduct certain specific functions and control the specific subset 451 of peripheral devices 130 (e.g., 107, 109, 111, 113, 114, etc.).
- the peripheral devices 130 are controlled through their local APIs 440 (or a subset 441 of these local APIs 440) .
- the local APIs 440 are software functional interfaces that directly control one or more peripheral devices 130.
- local APIs 440 for a card reader 130 may include: initializing, starting, reading data from a card, electing a card, and turning off functions.
- the selection (of the kiosk configuration) is done by a selection function 105A.
- Examples of the selection function 105A include:
- the currently executing program determining the need to invoke a selection based on the user's behaviour e.g., invoking a help program if the user makes the same mistake more than 2 times in a row.
- the browser 160 when a selection 105A is made, the browser 160 sends a request to the server 195 in HTTP via the network interface 155 for the first application file 175 (file 500) corresponding to the selection function 105A. (See also Figure 5 for a description of the files 500 in the application files/configuration set 175) .
- the server 195 then serves the application file 175 to the browser 160.
- the HTML content of the file 500 is executed line by line. If the next application file 500 is associated with (e.g. hyperlinked) to the current application file 500 that the browser is executing, this next application file 500 is also sent to the browser.
- the browser 160 executes each file 500, line by line, and configuration set 175 by configuration set 175 in the sequence defined by order of the HTML text in the configuration set 175.
- the files 500 in the application files/configuration set 175 are invoked to control the subset of devices 451 that are selected and the kiosk (100, 200) is reconfigured.
- logic in each of the application files/files (175, 500) and/or user actions can change which application files/files (175, 500) are executed and/or whether or not some of the application files are executed.
- the browser 160 By executing the application files 175, the browser 160 selects and controls one or more of the devices 130.
- the configuration of the kiosk is defined by the devices selected 451 during the execution of the application files (e.g. the device subset 451) and how the device subset 451 is controlled.
- the execution of the application files 175 calls a subset of APIs 441, e.g., selects and controls the card reader 111 and the printer 109 (the device subset 451) to respectively read a bank card and print out a transaction record.
- the execution of one or more of the application files (and/or lines in the application files) 175 does not select or control a device 130 but causes other actions including: storing data, sending data or messages back to the server 195, etc.
- ordering a pizza the execution of the application files calls a different subset of APIs 441 to select and control the same device subset 451 (i.e. the card read 111 and printer 109) to respectively read and charge a credit card and print out a purchase receipt indicating the pizza toppings selected.
- execution of the application files 175 does not select one or more of the devices 130.
- default devices are used. For example, a line in the file 500 that causes a line of text to be displayed will be directed by default to the display 103.
- the browser 160 can access a special set of local executable modules which use other local programs and/or libraries to interact with the execution of the application files (see Figure 6) .
- FIG. 5 is a block diagram of a set of application files (configuration set) 175 that includes one or more HTML files 500 and associated hypertext components including at least one embedded control program 620. All web-based application files 175 are HTML based files with at least one embedded control program 620. The application files 175 optionally include other hypertext components that may or may not be HTML based.
- an HTML file contains standard HTML (such as HTML 3.0) tags for: text 525, images or graphics 528, animation (embodied as images 528, applets 505, script 515, or other embedded components 520), sound (as one embedded component 520), video (as one embedded component 520) as well as other embedded programs 520. These tags are well known.
- the browser 160 is Netscape Navigator v3.0.
- the embedded programs can be implemented by using JavaScript, and/or a Java applet and/or any other embedded program which uses plug-ins (Java is a trademark of Sun Microsystems Inc) .
- the HTML file 500 uses tag 505 to embed a Java applet, tag 515 to embed JavaScript functions, and tag 520 to embed any other program which will invoke the plug-in functions of the browser. More information on standard HTML tags can be found in the
- Figure 6 is a block-diagram that shows the components of the system that are involved in executing embedded control programs 620 of a typical application configuring the kiosk 100.
- an interpreter 610 that interprets or recognizes HTML tags in HTML files.
- the interpreter 610 will invoke an HTML tag executor 611 to execute functions for each of the HTML tags depending on type of tag and the content of the tag. If the execution does not invoke an API call 680 to local kiosk programs (include local peripheral APIs 440), the browser executes 615 each of the HTML tags using a library of standard functions 617 if necessary. Examples of these non-API-control functions 615 include: displaying text, displaying images, etc. These are well known and are present in prior art browsers.
- the executor 611 if the executor 611 encounters an embedded control function 620 that calls one of the local kiosk APIs 680, the executor 611 invokes a security manager 625, internal to the browser 160, to determine if the API call is allowed.
- a kiosk control mechanism 640 or part of this mechanism 640A, is placed in a subdirectory of a directory in which the browser is located.
- the security manager 625 will find the control mechanism 640 (640A below) when the executor 611 encounters the embedded control function 620 and an API control function 621 will load the control mechanism 640/640A into the browser process 160.
- these embedded control functions 620 may include applets that call one or more local API functions 680/440 (i.e., the selected subset of APIs 441) to operate a given subset of devices 451. For example, if the device is a card reader, the embedded control function 620 may call the appropriate APIs 440 using the control mechanism 640 to open the card reader device, read data from a card, eject the card, and close the card reader device.
- local API functions 680/440 i.e., the selected subset of APIs 441
- the embedded control function 620 may call the appropriate APIs 440 using the control mechanism 640 to open the card reader device, read data from a card, eject the card, and close the card reader device.
- known browsers 160 do not execute embedded control functions 620 from the network 150 to execute local APIs 680. In fact, these browsers specifically prevent execution of these API control functions because of well known network security reasons. For example, if the application file 175 is changed while passing over the network, the execution of a damaged control function in the application file can cause unpredictable and detrimental results at the client machine, i.e., the kiosk (100, 200).
- Java is designed to overcome the network security problems through using various special means such as byte-code transmission and verification, error checking by the virtual machine, etc.
- the browser usually strictly prevents the Java applet from accessing any local Java programs on the client machine except the ones in the standard Java library which are built in the browser. The reason for this is simply to prevent any possible damage that the applet could do to the client machine since the applet is from an uncontrolled environment, i.e., it could come from any server across the network.
- Java developers had to ensure a programmer could not develop a computer virus using a Java applet, and that an applet could not transfer information about a user's system (such as a file on the user's system) back to the server. You would hate, for example, to be browsing your competition's Web site while their Java applets browsed your hard disk. To provide such security, the Java developer chose to limit the operations an applet can perform. For example, a Java applet can not read or write files on the user's system.
- Java lets programmers create stand alone programs .
- Java stand alone programs are similar to the programs that programmers can create using C++.
- Such stand alone programs can read and write files and perform operations that Java restricts applets from performing.
- a Java applet on the other hand, only runs within a browser. This means that Java applets, as designed, do not operate functions outside of the browser process 160.
- the browser's security manager 625 watches out for any violation of these security rules. If an applet is found to request an access to a program which is not within the standard Java library, the browser simply reports a security violation error and stops the execution of the applet.
- parts 640A of kiosk specific control mechanisms 640 are added to the browser 160 and other parts 640B of the kiosk specific control mechanism 640 are added to the application programming interfaces (APIs) 680 (including 440) in order to enable the application files 175 to configure the kiosk.
- the kiosk specific control mechanisms 640 are divided into two parts: a browser mechanism 640A and an API mechanism 640B.
- the browser mechanism 640A and the API mechanism 640B communicate through an interprocess communication (IPC) 6401.
- the IPC 6401 interface allows the browser mechanism 640A and the API mechanism 640B to communicate using message passing instead of direct function calls.
- IPCs are well known, one example would be the use of the Dynamic Data Exchange (DDE) in the Windows operating system; Windows is a trademark of Microsoft Corporation) .
- the browser mechanism 640A is located in the browser subdirectory so that any API control function 620 in any of the application files 175 is recognized by the interpreter 610 in the browser 160.
- the API mechanism 640B receives messages from the browser mechanism 640A and independently controls various functions including the device APIs 440 according to the message. In this way, the applet from the browser is enabled to control one or more of the devices and local functions, but only those that have a browser mechanism 640A. Therefore, other functions in the kiosk still remain secure from access of the application files 175 over the network. Thus the kiosk is configurable, but secure.
- any device control function (a subset of the API control functions 620 that is used to control a given device) passed through to the API mechanism 640B will be performed on the subset of devices 451 even if the application file is later dropped or changed in the browser 160.
- This execution persistence also allows some user interactions with the kiosk to be more efficient. For example, an application file 175 can direct a card issuer to issue a new card. The user/browser then can move on to another application file while the card issuer device is writing data into the magnetic stripes and embossing the new card.
- the browser mechanisms 640A are: 1) located within the browser's own standard directory/ library and 2) have a structure that enables an application file 175 to invoke one or more of the local APIs 680 by either: message passing using a name server mechanism which passes the messages (e.g. function name and related parameters) about one or more local API function (see Figures 6A and 6C and the explanation) or directly invoking the local API functions (see Figures 6B and 6D and explanation) .
- a name server mechanism which passes the messages (e.g. function name and related parameters) about one or more local API function (see Figures 6A and 6C and the explanation) or directly invoking the local API functions (see Figures 6B and 6D and explanation) .
- the browser mechanisms 640A comprise a Java API (sometimes called a "Java wrapper") which is known to the application file 500 and further comprise functions programmed in a native language (e.g. C++) to do communication (e.g. using interprocess communication or name servers) or to directly call the local APIs 680.
- Java API sometimes called a "Java wrapper”
- functions programmed in a native language e.g. C++
- do communication e.g. using interprocess communication or name servers
- to directly call the local APIs 680 e.g. using interprocess communication or name servers
- the API mechanisms 640B 1) directly access various local function modules (for example browser control modules, collaboration function modules, device control modules, and system monitoring modules, etc.); 2) have a structure that can invoke a set of one or more API functions 680 either using a name server mechanism or directly calling the related local function module; and 3) have an IPC that enables the message-based communication with API 640A.
- the API functions 680 are designed specifically to control any given device or function in the kiosk and may or may not be accessible by the application files 175) .
- an applet CallAPI .class can be used to invoke the API function 640 "query_status" .
- this applet When this applet is executed by the browser it first instantiates a class called kioskAppInterface. This file and related DLLs are located in the browser standard library. Then it uses the method of the kioskAppInterface class (640A) called send_APImessage ( ) to send an API message "query_status" (640A) . This method invokes an interprocess communication function 6401 to send the message to the API mechanism 640B. The API mechanism 640B then invokes the related local API function 680 to obtain the system status data and sends the data back to 640A through an interprocess communication function 6401. The applet uses the method get_APImessage ( ) with the command "status” to get the data which is sent back from 640B and stores the data in a data structure inside a class called sysStatus.
- the API message passing between 640A and 640B may use a name server function mechanism (see Figure 6A below) .
- the name server function in 640B parses the message and calls corresponding local function APIs 680.
- it calls a system supervisor function API to get the system status data which can be illustrated in the following:
- This message states that they are five devices on the kiosk and all are working except the card issuer which needs cards.
- the application files 175 may select to use laser printer, receipt printer and the card reader (device subset 451) while avoiding use of the card issuer since, as indicated in the status data, the card issuer has no cards in its supply (in such circumstances the card may be produced by other means and mailed to the kiosk user) .
- any number of different kiosk designs and/or operational situations can be configured by appropriate choice of application files at the server for the respective application configuration. For instance, in a banking application, application files 175 (file 500) that include laser printer controls will be sent to kiosks with laser printers in order to print high quality bank statements whereas application files 175 (files 500) with receipt printers controls will be sent to those kiosks that only have (available and operational) receipt printers for the same task (bank statement) . In this way, a kiosk with malfunctioning laser printers or less expensive kiosks without laser printers can still be configured appropriately for the banking application.
- status information can be requested by one or more servers by sending requests on application files. This information can be used to determine which kiosks and/or devices on those kiosks need servicing. For example, a service representative can be sent to add cards to a card issuer device if necessary.
- status information can be requested for use in service history of the kiosk and/or devices.
- marketing information can be obtained, for example, which configurations are most requested by which class of customers at a particular location.
- a kiosk can have a browser window (a System Monitoring Application Window) running in the background of any other application.
- This system monitoring application window may contain one or more HTML files which contain (s) one or more applets which communicate (s) to one or more servers. (The mechanism for Java applet communication with a server is well known) .
- This system monitoring application window may start whenever the kiosk is powered on and stay on as long as the kiosk is in operation. In this way, one or more servers can obtain the kiosk's system status information at any time through the communication with applet (s) .
- a "thin-client” kiosk since there is no application specific software needed to be pre-installed on the kiosk, the kiosk can be built and maintained cost effectively. Therefore, one application (application file 500) can be written on a server that can be used by a large number of "thin” kiosks on a network connected to the server. No application specific software has to be designed for any of the "thin” kiosks on the network. In fact, the network can be made of one or more standard (thus cheaper) "thin” kiosks with no application specific software at all.
- a kiosk manufacturer can make one or more standard kiosks to be used for, and independent of, any application.
- the application files 500 can be developed, upgraded and/or maintained at the server and be used to reconfigure one or more of the kiosks on the network, without changing any programming in those kiosks.
- This "thin-client" kiosk makes possible massive deployment of kiosks for the purpose of serving general public access at any time and anywhere, e.g. a "kiosk telephone" that can communicate over the Internet and/or the telephone network.
- a large number and a wide variety of applications can be developed on the server and delivered through this kiosk because of the reconfigurability of the kiosk. Therefore, application providers can share any of the kiosks that are on the network. These applications can be provided on the kiosk at specific times and/or for specific situations, e.g. a user request or any given environmental conditions (an umbrella store advertising when it starts raining) .
- a kiosk screen at idle time shows dynamically various images, video clips, sound, and graphics patterns and text.
- the content of the screen is all controlled from HTML file(s) and the HTML file(s) is updated based on either kiosk requests or server push.
- the service providers may pay different prices for the different kind of screen "real estate" and the time for showing them. In the morning and evening traffic hours, it may show mostly the headline news and financial market changes; while in lunch hours it may show many restaurant promotions, and on weekends it may show department stores' sale advertisements. The content is always inviting people passing by to touch the screen.
- the screen would prompt the user for where and when to deliver the pizza, and the user can give the information through an on-screen touch keypad.
- the control program embedded 620 in the HTML captures the data.
- the screen would then prompt the user to insert his or her credit card to authorize the charge.
- the control program would open the card reader and capture the credit card information.
- the control program can then use the related kiosk API functions to invoke the communication function on the kiosk to access the credit card company (e.g., through the modem) as well as the pizza store (e.g., through sending a fax). After these functions are completed, the screen would confirm with the customer the information for the ordering.
- PSTN Public Switched Telephone Network
- ISDN Integrated Service Digital Network
- Internet-based phone depending on the network connection (122, 123, 150) of the kiosk, the application files 500, and the user selection 105A.
- the user can either use a handset or a speaker phone equipped with the kiosk (see U.S. Patent Application Number 08/595,897 to Hortensius et al . entitled Multipoint Simultaneous Voice and Data Services Using a Media Splitter Gateway Architecture, filed on February 6, 1996, corresponding to European Patent Application 789470, which is herein incorporated by reference in its entirety) .
- the user may select a video phone call or even a video conferencing call with application sharing if the other end has the same facility. Then the control program 620 embedded in the HTML application will invoke related API functions 640A to initiate the kiosk video conferencing function. The user may use the touch screen and electronic pen equipped on the kiosk to facilitate the conversation (cited in the above-mentioned "Internet Web Page Sharing" patent application to Fin et al . )
- the user may select a fax function.
- the screen will prompt the user to enter the fax number, enter the credit card and put the document to be faxed into an appropriate device (such as a document slot), and to touch the OK button on screen when ready.
- the embedded control program 620 will invoke related device control API functions 640A on the kiosk to operate the scanner, scan the document, return the document, and send out the document electronically through network, e.g. PSTN or Internet.
- the user may select the email function.
- the screen will show the HTML application for email.
- the embedded control program 620 may invoke related API function 640A or directly communicate with the mail server and directory server through the browser to identify the user and to retrieve existing email messages or send new messages.
- the user may select 105A to transfer an electronic file on media carriers, such as a floppy diskette.
- the screen may prompt the user to follow certain process, e.g., to insert the floppy into a slot.
- the embedded control program 620 will invoke related API functions 640A to read the diskette and read or write the file(s) the user selects and to transfer them according to the user's instruction, e.g., send to somebody's email address.
- the user may select a service among a wide range of service providers (e.g., application owners on the server) such as lawyers, doctors, accountants, real estate agents, loan brokers, investment advisors, insurance agents, etc.
- service providers e.g., application owners on the server
- the screen would show the corresponding application in HTML files delivering the requested services.
- this service can be presented in any natural language, e.g., English, Spanish, Chinese, Japanese, French, Italian etc.).
- a real-time collaborative session can also be started with video, audio, shared screen and remote device control functions (see the above-referenced patent to Fin et al . ) .
- the embedded program invokes related API functions 620 to handle video, audio and data communications.
- the user may select to search for information.
- the screen prompts the user on what information is needed and the embedded control program captures the data and sends an inquiry depending on the type of information.
- the inquiries could be sent through the Internet using known search engines, databases on application servers, as well as databases on other network servers .
- the user can select customized application services. For example, once the user is identified (e.g., from information accessed on a magnetic or smart card) , the application files provide information and/or a kiosk configuration that is customized for the user.
- the application files provide information and/or a kiosk configuration that is customized for the user.
- the user can select configurations of the kiosk 100 not initially provided by the kiosk.
- references to other application files 175 can reconfigure the kiosk in a second configuration.
- the first configuration may provide a user input (icon or hyperlink) that accesses the application files 175 for the second configuration.
- the users can be one or more students or trainees that have access to one or more kiosks connected to a network where the server provides "teaching" application files 175.
- the users can select "electronic" products from the kiosk.
- compact discs having musical, video, computer software, and/or other multimedia information can be dispensed from an appropriate dispensing device.
- blank media e.g. tape, diskettes, writable CDs, etc.
- the latest opera recording can be provided in this way on CD without transporting a CD "cut" at a factory to a store.
- the application file 500 may have an embedded applet 620 called CallAPI . class that is used to invoke the API function 640 "hardkey_mput" .
- CallAPI an embedded applet 620
- hardkey_mput an embedded applet 620
- a.send_APImessage ( "hardkey_ ⁇ nput” ) ; (640A) a.get_APImessage ( “input” , InputData); (640A) (e.g. display the key input at appropriate position on screen) ⁇
- send_APImessage ( "LaserP ⁇ nt " , FileName) ; ( 640A) and this applet is embedded in the HTML file as
- this applet When this applet is executed by the browser it first instantiates a class called kioskAppInterface. This file and related DLLs are located in the browser standard library. Then it uses the method of the kioskAppInterface class (640A) called send_APImessage ( ) to send an API message "hardkey_input " (640A). This method invokes an interprocess communication function 6401 to send the message to the API mechanism 640B. The API mechanism 640B then invokes related local API function 680 to capture the key input (s) from the hardware key, with which the kiosk is equipped, and send them back to 640A through an interprocess communication function 6401. The applet uses the method get_APImessage ( ) with the command "input” to get the data which is sent back from 640B and stores them in a data structure inside a class called InputData.
- send_APImessage This file and related DLLs are located in the browser standard library. Then it uses the method of the kioskAppInterface class (640A) called send
- ⁇ data get_hardkey_input ( ) ; (680, 690) send_message(data) ; (6401)
- ⁇ data get_softkey_input ( ) ; (680, 690) send_message (data) ; (6401)
- Laser_pr ⁇ nt (FileName) , controlling the laser printer to print the file "FileName” .
- Figure 6A shows one embodiment of the kiosk control mechanism 640 using an IPC 6401 and a name server function 640B.
- a small, fixed set of general communication (mainly for message passing) API functions 640A is used by the application files (175, 500) . These communication API functions communicate, or pass messages between 640A and 640B. The execution of the message is done by the name server function which is in 640B.
- the server function 640B also serves as the IPC 6401 server.
- the name server function recognizes a variety of predefined messages.
- the set of communication API functions has two functions: send_message (message) and get_message (message) . However, there are a plurality of "messages".
- the name server function in 640B has a list containing each of these predefined messages and each of the predefined messages is associated with a set of logic that may call the appropriate local API functions 680 in order to execute the respective predefined message.
- new devices and/or new functions performed by these devices can be added by providing a new predefined message (s) and the necessary logic to perform the new functions.
- the application files (175, 500) can execute these new functions by merely using the new message identifier in the given communication API function. This typically involves only changes in an "ASCII" or "text” message identifier n the application file 500.
- the application owner has little to do in order to execute the new functions because the kiosk provider has incorporated the necessary logic in the name server 640B.
- FIG. 6B is a block diagram of an alternative embodiment of the kiosk control mechanism 640 using the IPC 6401 for mapping local APIs in browser mechanism 640A.
- many or all kiosk control functions 620 are executed by directly calling the corresponding mapping local APIs in the browser mechanism 640A from the application file 500.
- Each mapping local API 640A communicates through the IPC 6401 to the API mechanism 640B which in turn invokes the appropriate local API function 680.
- the mapping local APIs 640A are Java API programs. There is one Java API program that is specifically written for one or more of the local APIs 680. Contrary to the name server case, at least one of the Java API programs has to have logic to control one or more of the local APIs 680.
- These Java API programs 640 are predefined and known to the application file 500.
- new devices and/or new functions performed by these devices can be added by providing new mapping local APIs (640A) in browser mechanisms 640A with their corresponding API mechanisms 640B.
- the application files 500 need to execute each of these new functions in direct calls. Therefore, part or all of the logic for performing the new function has to be defined in the application files 500. For example, the application programmer, designing the application files 500 on the server, has to code this logic, e.g. by writing a new Java applet.
- Figure 6C shows an alternative embodiment of the kiosk control mechanism 640.
- the API mechanism 640B merges into the browser mechanism 640A.
- the name server function (also merged) is still used and is combined with the set of communication APIs to become the browser mechanism (640B, 640).
- the persistence is lost because once the application file 500 (containing the applet) is "dropped" (no longer executed) by the browser 160, the local function 680 terminates. This embodiment is useful where persistence is not required, e.g., where there is no kiosk device involved except for the screen controlled by the browser.
- Figure 6D shows an alternative embodiment of the kiosk control mechanism 640.
- the applet directly invokes the API function (640, 640A) which directly calls the local API function 680.
- the API function 640 is a Java API program.
- at least one of the Java API programs has to have logic to control one or more of the local APIs 680.
- These Java API programs 640 are predefined and known to the application file 500. In this embodiment, the persistence is also lost.
- FIG. 7 is a flow-chart of the execution process 700 performed by the kiosk.
- the browser 160 first obtains 705 a (HTML) file 500, from the application files 175. The browser 160 then interprets 710 the tags and content of the application file 500. If the browser 160 does not 715 encounter a local API call, the browser conducts 720 related known actions to execute the tags. If the browser encounters a local API call 715, the browser will invoke 725 the related API function (640 or 640A) .
- HTML HyperText Markup Language
- the browser mechanism 640A communicates 730 messages with API mechanism 640B through interprocess communication function 6401.
- a message server is used as described above.
- the API mechanism 640B receives the message and invokes 735 related local functions 680. Then the API mechanism 640B communicates 740 messages with browser mechanism 640A through the interprocess function 6401 on the results of execution of local functions.
- the browser is controlled 750 to request a next HTML file either through the screen input, embedded control program logic, or external browser control functions 660.
- the browser can be treated as a local kiosk device. Therefore, the browser can be controlled to load any specific HTML file from one or more servers over the network by accessing known browser interfaces (APIs 681) using a local API 660.
- the local API 660 is designed (see above) to permit embedded control programs 620 to access the browser interfaces 681.
- Figure 8 is a flow chart of a server process 800 executing on one or more servers on the network.
- the server receives a request 810 over the network from one or more of the kiosks.
- the request identifies which of the application files 175 the kiosk is selecting/accessing.
- the request also has the location of the kiosk 100 requesting/accessing the application files.
- the server Upon receiving the request, the server sends 820 the requested application file(s) 175 to the kiosk.
- the application file(s) 175 can be either pre-made or dynamically generated by logic on the server .
- the kiosk sends the request 810 to a proxy server 195A.
- the proxy server 195A is typically located closer to the kiosk than the server 195.
- the proxy server 195A can be located on the computer 110 in the kiosk 100/200.
- the server 195 can be located in a first city, e.g. a headquarters location, while the proxy server 195A is located on a LAN connected to the kiosk (s) at a different city.
- the proxy server 195A can send the request to the server over a network 150 for many or all application files 175 that the kiosk may require according to a predefined schedule. In this way, the kiosk will have faster and more reliable access to the application files 175 on the proxy server 195A when the application files are needed.
- the proxy server may request the application files 175 from the server 195 during "off peak" times on the network.
- the server (195, 195A) can be used to "push" information to one or more kiosks identified by the server 195.
- the request is initiated at the server 195.
- This initiation 810 can be caused for various reasons. For instance, an application update may require that one or more of the kiosks be reconfigured with the new application files 175. Alternatively, there may be a new configuration required at a certain time each day, i.e., news from a different source is given at 5 PM each day.
- the server may also "push” a periodic "inspection" of the kiosks to determine which kiosks require maintenance .
- the server push function 685 is connected to the network 150 and is capable of receiving messages from the server 195.
- the server push function 685 also has access to the browser interfaces 681.
- the server 195 sends a request to the server push function 685 that causes the browser to request a specific application file 500 from the server 195.
- FIG. 9 is a block diagram showing the mechanism when the embedded control program is using ActiveX technology instead of Java.
- An ActiveX control object can be implemented using a variety of programming languages such as C++ or Visual Basic or Java.
- An ActiveX object can be embedded into an HTML file. For example, ⁇ HTML>
- the browser must be ActiveX-enabled, i.e., supporting ActiveX technology.
- the browser is Microsoft Internet Explorer.
- the HTML file is interpreted 910 based on its tags and contents.
- the browser will execute 920 the non API control function as before.
- the API control functions executed 930 by the browser directly invoke APIs 940.
- the first part of APIs 940A communicate through an Interprocess Communication function 9401 (e.g. 6401) with the second part of APIs 940B (e.g. 640B) which in turn call local API functions 680.
- ActiveX can contain an object written in a non-network language such as C++ or Visual Basic.
- the object in these languages is downloaded to the browser in the executable code. Therefore such an object can do anything that a local program written in the same language can, but it has no security limitation as a Java applet has. So if the embedded control program 620 is written as an ActiveX control using the non-Java language, the API function 940 can be put anywhere in the kiosk. If Java is used in the ActiveX object, the previous discussed mechanisms have to still be used.
- Figure 9A shows one embodiment of the kiosk control mechanism 940 using IPC and a name server function.
- Browser mechanism 940A is a native language API which does not have to be located in the browser directory but can be located anywhere in the memory of the kiosk, e.g., in the kiosk system directory. However, the path (i.e., the location) of the browser mechanism 940A has to be known to the application file 500.
- Figure 9B is a block diagram of an alternative embodiment of the kiosk control mechanism 940 using the IPC 6401 with mapping local APIs. As in Figure 6B, there is at least one browser mechanism 940 for one or more of the local APIs 680.
- FIG 9C shows an alternative embodiment of the kiosk control mechanism 940 with no IPC 6401.
- the browser mechanism 940A can be located as discussed in Figure 9A.
- FIG. 9D shows an alternative embodiment of the kiosk control mechanism using ActiveX control when the control is not implemented in Java.
- Figure 10 shows another alternative kiosk control mechanism using so-called plug-in techniques.
- the preferred embodiment uses a Netscape Navigator v3.0 or higher browser 160.
- a control mechanism 1040 comprises a browser mechanism (plug-m module and the associated Java wrapper) 1040A which is accessed by a kiosk control program (620) in the application file/file (175, 500).
- the plug-in-module 1040A is executed as part of the browser 160.
- the executing plug-in-module 1040A in turn invokes an interprocess communication function 10401.
- This interprocess communication function (IPC) 10401 can be the same as the IPCs (6401, 9401) described above.
- the IPC 10401 in turn communicates with the API mechanisms 1040B to invoke the local APIs 680.
- the API mechanisms 1040B can be the same as those (640B, 940B) described above.
- the browser mechanism 1040A is implemented by a plug-in technique (refer to "Programming Netscape Plug-ins" by Zan
- the plug-in technique uses a native code module i.e., implemented using C or C++ or similar programming language, and in addition, in a more preferred embodiment, a Java wrapper.
- the plug-ins 1040A are located m a special plug-m directory specified by the browser 160.
- the HTML interpreter 610 encounters the embedded file (620) that identifies the respective plug-in 1040A by a unique file name extension in the embedded file, also called Multipurpose Internet Mail Extension (MIME) type, the plug-in 1040A is dynamically loaded into the browser 160.
- MIME Multipurpose Internet Mail Extension
- the embedded kiosk control program (620) can be a: 1) JavaScript function, 2) a Java applet, and/or 3) a predefined set of control scripts contained in the (MIME) file with the unique extension.
- the plug-in 1040A becomes available to the HTML document, i.e., functions in the plug-in (plug-in functions) are made available to the embedded programs (620), e.g. a JavaScript function or Java applet function to call.
- the kiosk local APIs 680 can be controlled by any given embedded program(s) 620 through one or more corresponding plug-ins 1040A.
- the plug-in module 1040A will invoke IPC function 10401 to call the kiosk local APIs 680 through the corresponding API mechanism 1040B.
- Example 1 uses a JavaScript function as the embedded kiosk control program 1030 with a plug-in module 1040A providing a message passing function.
- the application file 175 with the control program 1030 is as follows:
- PluginAPI new PluginWrapper () ; etc .
- public PluginAPI_SendMsg String msg) ⁇ etc .
- Java wrapper file PluginWrapper . Java, would contain the following code :
- the plug-in module 1040A associated with the embedded control program 1030 above would provide the method SendMsg ( ) which, for example, is implemented in native language code such as C++.
- Example 2 uses a Java applet directly as the embedded kiosk control program 1030 with a plug-in module 1040A providing a message passing function.
- the application file 175 with the control program 1030 is as follows:
- Java wrapper file PluginWrapper . Java, would contain the following code :
- the plug-in module 1040A associated with the embedded control program 1030 above would provide the method SendMsg () which, for example, is implemented in native language code such as C++.
- Example 3 uses the embedded file 1030 containing a set of predefined control scripts and a corresponding plug-in module 1040A which interprets and executes the scripts to control the kiosk local APIs 680.
- the application file 175 with the embedded file 1030 could be as follows:
- plug-in module 1040A may consist the following code:
- NPError NP_L0ADDS NPP_NEW MPMIMEType pluginType, NPP plnstance, uintl ⁇ mode, intl ⁇ argc, char* argn, char* argv, NPSavedData* saved
- KiosklPC* pKiosklPC (KiosklPC * )plnstance->pdata; if (pKiosklPC) pKioskIPC->InterpretFile (fname) ;
- the file 1030, MSGPASS.MET is downloaded to the local disk and the corresponding plug-in module 1040A is loaded, if it has not already been loaded, into the browser 160.
- the browser 160 will automatically call the plug-in API NPP_New() to create a plug-in instance and call plug-in API NPPStreamAsFileO with the name of the downloaded file to execute the file.
- the browser 160 will call the plug-in API NPP_Destroy ( ) to destroy the plug-in instance.
- the class KiosklPC and function InterpretFile ( ) can be implemented using a native language such as C++ to interpret and execute the predefined script in the embedded file. In this sense, there is no limitation on what the script can be as long as the function InterpretFile ( ) is implemented such that it can parse the script and execute the necessary functions with reasonable performance.
- One example could be as follows:
- the plug-in module 1040A can also create some buttons in the browser 160 window in order to realize certain interactive control of its functions.
- the ⁇ embed> tag can also include a predefined set of parameters for controlling the plug-in module 1040A according to the implementation of the plug-in module 1040 .
- a plug-in module 1040A for more information on how to use the ⁇ embed> tag and how to implement a plug-in module please refer to "HTML Publishing for Netscape” (by Stuart Harris and Gayle Kidder ISBN 1-56604-288-7) and the above-referenced book by Zan Oliphant.
Abstract
Description
Claims
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU66299/98A AU6629998A (en) | 1997-03-13 | 1998-03-02 | Kiosk and server connected to computer network |
PL98335521A PL335521A1 (en) | 1997-03-13 | 1998-03-02 | Kiosk and server connected to a computer network |
CA002281725A CA2281725A1 (en) | 1997-03-13 | 1998-03-02 | Kiosk and server connected to computer network |
EP98908218A EP0966712A1 (en) | 1997-03-13 | 1998-03-02 | Kiosk and server connected to computer network |
JP10539335A JP2000510626A (en) | 1997-03-13 | 1998-03-02 | Kiosk and server connected to computer network |
IL13135798A IL131357A (en) | 1997-03-13 | 1998-03-02 | Kiosk and server connected to computer network |
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US4041497P | 1997-03-13 | 1997-03-13 | |
US60/040,414 | 1997-03-13 | ||
US97421697A | 1997-11-19 | 1997-11-19 | |
US08/974,216 | 1997-11-19 | ||
US08/974,214 | 1997-11-19 | ||
US08/974,214 US6195694B1 (en) | 1997-03-13 | 1997-11-19 | Server for reconfiguring control of a subset of devices on one or more kiosks |
Publications (2)
Publication Number | Publication Date |
---|---|
WO1998040826A2 true WO1998040826A2 (en) | 1998-09-17 |
WO1998040826A3 WO1998040826A3 (en) | 1998-12-23 |
Family
ID=27365717
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/GB1998/000650 WO1998040826A2 (en) | 1997-03-13 | 1998-03-02 | Kiosk and server connected to computer network |
Country Status (9)
Country | Link |
---|---|
EP (1) | EP0966712A1 (en) |
JP (3) | JP2000510626A (en) |
KR (1) | KR100368353B1 (en) |
CN (1) | CN1124010C (en) |
AU (1) | AU6629998A (en) |
CA (1) | CA2281725A1 (en) |
IL (1) | IL131357A (en) |
PL (1) | PL335521A1 (en) |
WO (1) | WO1998040826A2 (en) |
Cited By (59)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0903903A2 (en) * | 1997-09-12 | 1999-03-24 | Nortel Networks Corporation | Public communications services distribution method and apparatus |
WO1999022508A1 (en) * | 1997-10-24 | 1999-05-06 | Mannesmann Ag | Communication system, especially for processing and/or transmitting data and/or signals, method for using such a communication system and telecommunication booth |
WO2000005670A1 (en) * | 1998-07-20 | 2000-02-03 | Usa Technologies, Inc. | Universal interactive advertising and payment system for public access electronic commerce and business related products and services |
WO2000039680A2 (en) * | 1998-12-31 | 2000-07-06 | Automated Business Companies | Multiple integrated machine system |
EP1018690A2 (en) * | 1999-01-08 | 2000-07-12 | Telia Finland OY | Steering of internet access to sponsors |
EP1038233A1 (en) * | 1997-12-02 | 2000-09-27 | Inc. Cash Technologies | Multi-transactional network architecture |
ES2149697A1 (en) * | 1998-07-14 | 2000-11-01 | Garcia Jon Urresti | Online information retrieval system |
WO2000077999A2 (en) * | 1999-06-10 | 2000-12-21 | Cacheflow, Inc. | Method and apparatus for dynamic proxy reflecting of streaming content |
FR2796238A1 (en) * | 1999-07-06 | 2001-01-12 | France Telecom | PUBLIC TERMINAL FOR ACCESS TO A COMPUTER NETWORK |
EP1069537A2 (en) * | 1999-07-14 | 2001-01-17 | Casio Computer Co., Ltd. | Customer terminal apparatus, its system, and recording medium which records a program |
EP1096444A2 (en) * | 1999-11-01 | 2001-05-02 | Citicorp Development Center, Inc. | Method and system for configuration of self-service financial transaction terminals for a common software release |
WO2001037156A1 (en) * | 1999-11-15 | 2001-05-25 | Feals, Incorporated Company | Real estate affairs support system and computer, and real estate business support method |
JP2001202090A (en) * | 1999-11-17 | 2001-07-27 | Ricoh Co Ltd | Method and device for visitor reception and recording medium stored with visitor reception program |
EP1137234A1 (en) * | 2000-03-24 | 2001-09-26 | BRITISH TELECOMMUNICATIONS public limited company | Internet access arrangement |
WO2001099061A2 (en) * | 2000-06-19 | 2001-12-27 | Clark James R | Retail entertainment/applications distribution system |
ES2165319A1 (en) * | 2000-04-26 | 2002-03-01 | Segarra Antonio Lopez | Public call box with internet access for recording and sending audio and video messages. |
EP1191507A2 (en) * | 2000-09-12 | 2002-03-27 | The Appliance Studio Limited | Display stand incorporating an internet server |
WO2002025602A1 (en) * | 2000-09-22 | 2002-03-28 | E-Z Managing Srl | Stand-alone vending machine for services and goods and method for its utilization |
EP1192514A2 (en) * | 1999-05-03 | 2002-04-03 | Streetspace Inc. | Method and system for providing personalized online services and advertisements in public spaces |
KR20020034758A (en) * | 2000-11-03 | 2002-05-09 | 박기석 | Multimidia visitor's register |
FR2816784A1 (en) * | 2000-11-14 | 2002-05-17 | Schlumberger Systems & Service | File transfer payphone management system having files server/public telephone network transferred with files server stored then separate server passed/remotely service unit charged. |
EP1208487A1 (en) * | 1999-02-17 | 2002-05-29 | Diebold, Incorporated | Method and system for connecting services to an automated transaction machine |
WO2002041778A1 (en) * | 2000-11-27 | 2002-05-30 | Ceballos Counago Antonio Manue | Information point with vertical screen displacement |
EP1022699A3 (en) * | 1999-01-21 | 2002-06-19 | Ncr International Inc. | Self-service terminal network |
EP1248185A2 (en) * | 2001-03-29 | 2002-10-09 | Ricoh Company, Ltd. | Printer system, server, printing method, program and recording medium |
EP1253537A2 (en) * | 2001-04-23 | 2002-10-30 | Gilbarco Inc. | Multiple browser interface |
EP1010320B1 (en) * | 1997-03-21 | 2002-11-20 | Canal+ Technologies | Broadcast receiving system comprising a computer and a decoder |
WO2002096058A2 (en) * | 2001-05-21 | 2002-11-28 | Polaroid Corporation | Web-based file manipulating system |
GB2377595A (en) * | 2001-07-06 | 2003-01-15 | Livedevices Ltd | Reduction of resource usage in TCP/IP implementation with embedded computing devices |
WO2003005146A2 (en) * | 2001-07-06 | 2003-01-16 | Giulio Dorrucci | Information and advertisement system |
EP1278142A2 (en) * | 2001-07-17 | 2003-01-22 | Tianjin Nankai Guard Group Co. Ltd. | Method and system for network based self-help service |
EP1309170A2 (en) * | 2001-10-31 | 2003-05-07 | Toshiba Tec Kabushiki Kaisha | Information storage output system and information storage output service |
US6601039B1 (en) | 1998-07-20 | 2003-07-29 | Usa Technologies, Inc. | Gas pump control system having access to the internet for the purposes of transacting e-mail, e-commerce, and e-business, and for conducting vending transactions |
US6601040B1 (en) | 1998-07-20 | 2003-07-29 | Usa Technologies, Inc. | Electronic commerce terminal for wirelessly communicating to a plurality of communication devices |
US6601038B1 (en) | 1998-07-20 | 2003-07-29 | Usa Technologies, Inc. | Delivery of goods and services resultant from an electronic commerce transaction by way of a pack and ship type company |
US6606602B1 (en) | 1998-07-20 | 2003-08-12 | Usa Technologies, Inc. | Vending machine control system having access to the internet for the purposes of transacting e-mail, e-commerce, and e-business, and for conducting vending transactions |
EP1347625A2 (en) * | 2002-03-20 | 2003-09-24 | Sharp Kabushiki Kaisha | System and method for a home network telephone universal phone book |
WO2003098562A1 (en) * | 2002-05-17 | 2003-11-27 | Becerril Gonzalez De La Mata M | System of devices for accessing administrations and computer networks without any computer knowledge |
US6655284B1 (en) | 1999-06-28 | 2003-12-02 | Casio Computer Co., Ltd. | Customer terminal apparatus and information distribution server |
JP2003536133A (en) * | 2000-06-02 | 2003-12-02 | ヤフー! インコーポレイテッド | Method and system for managing application program resources |
US6754641B2 (en) | 1998-07-20 | 2004-06-22 | Usa Technologies, Inc. | Dynamic identification interchange method for exchanging one form of identification for another |
EP1446730A1 (en) * | 2001-10-17 | 2004-08-18 | Primeselections.Com, Inc. | Digital interactive network appliance and system |
EP1524632A2 (en) * | 2003-10-16 | 2005-04-20 | Deutsche Telekom AG | Multifunction automatic device |
EP1215567A3 (en) * | 2000-12-15 | 2006-10-25 | Canon Kabushiki Kaisha | Printing over the internet |
US7154630B1 (en) | 1999-06-29 | 2006-12-26 | Casio Computer Co., Ltd. | Printing apparatus and printing method |
EP1736947A1 (en) * | 2005-06-09 | 2006-12-27 | NCR International, Inc. | Personalized security method for a self-service checkout system |
KR100699628B1 (en) * | 2000-02-21 | 2007-03-23 | 엘지엔시스(주) | A Kiosk and method for providing internet service through a kiosk |
WO2009011668A1 (en) * | 2007-07-17 | 2009-01-22 | Muemtaez Murat Ozbilen | The system of interactive branch cabinet |
WO2009084220A1 (en) * | 2007-12-28 | 2009-07-09 | Atm Japan, Ltd. | Automatic transaction device, automatic transaction device control program, recording medium and automatic transaction device control method |
US7711643B2 (en) | 2001-01-24 | 2010-05-04 | Ncr Corporation | Self-service terminal |
WO2010130038A1 (en) * | 2009-05-14 | 2010-11-18 | Joseph Denny | Interactive multimedia advertising system |
US7839521B2 (en) | 2005-08-09 | 2010-11-23 | Global Print Systems, Inc. | Methods and systems for print job management and printing |
US20110113067A1 (en) * | 2000-01-18 | 2011-05-12 | Homer Gregg S | Rechargeable Media Distribution and Play System with Download Kiosk |
JP2012033190A (en) * | 2000-04-14 | 2012-02-16 | Samsung Electronics Co Ltd | Digital document processing |
US8165900B2 (en) | 2004-08-09 | 2012-04-24 | Epic Systems Corporation | Patient check-in/scheduling kiosk |
US8768720B2 (en) | 2007-04-12 | 2014-07-01 | Epic Systems Corporation | Location limited check-in kiosk method and apparatus |
US9659464B2 (en) | 2009-05-29 | 2017-05-23 | I-Design Multi Media Limited | User terminal system and method |
US11169954B2 (en) | 2007-10-10 | 2021-11-09 | Gilbarco Inc. | System and method for controlling secure content and non-secure content at a fuel dispenser or other retail device |
US11417160B2 (en) | 2018-04-30 | 2022-08-16 | Hewlett-Packard Development Company, L.P. | Service kiosk access |
Families Citing this family (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3408984B2 (en) | 1999-01-28 | 2003-05-19 | パナソニック コミュニケーションズ株式会社 | Network facsimile machine |
WO2002057975A1 (en) * | 2001-01-19 | 2002-07-25 | Fujitsu Limited | Multifunctional information terminal |
KR100425555B1 (en) * | 2001-02-12 | 2004-04-03 | 박종대 | Method for advertizing using moving picture on kiosk |
KR20020068649A (en) * | 2001-02-21 | 2002-08-28 | (주)싸이버뱅크 | Wireless based thin client service system and method for transmission data decrease |
JP2003132235A (en) * | 2001-10-23 | 2003-05-09 | Kanji Murakami | Structure of shopping store, and information exchange device and method |
KR100469083B1 (en) * | 2002-02-19 | 2005-02-02 | 주식회사 코베콤 | System and Method for providing service in wireless network environment using customer relation management |
DE60220838T2 (en) | 2002-04-10 | 2008-02-28 | Lg Electronics Inc. | METHOD FOR CONTROLLING A HOME AUTOMATION SYSTEM |
KR20030095571A (en) * | 2002-06-12 | 2003-12-24 | 주식회사 코리아엠피에스 | Method for providing multi-service and system therefor |
KR100474912B1 (en) | 2002-07-24 | 2005-03-10 | 엘지전자 주식회사 | Dual internet protocol phone, communicating method using the same |
KR20040033419A (en) * | 2002-10-14 | 2004-04-28 | (주)밸류게이츠인터내셔날 | A/V switching method for high quality MPEG kiosk |
KR100636143B1 (en) * | 2004-06-02 | 2006-10-18 | 삼성전자주식회사 | Apparatus and method of automatically setting wireless network device |
US7957021B2 (en) | 2005-05-20 | 2011-06-07 | Ricoh Company, Ltd. | Image handling apparatus, image processing system, image process controlling method, and image process controlling program product |
US7668974B2 (en) * | 2005-11-01 | 2010-02-23 | International Business Machines Corporation | Method and system for local provisioning of device drivers for portable storage devices |
US8345703B2 (en) | 2006-10-03 | 2013-01-01 | Alcatel Lucent | Method and apparatus for reconfiguring IC architectures |
US20080168402A1 (en) | 2007-01-07 | 2008-07-10 | Christopher Blumenberg | Application Programming Interfaces for Gesture Operations |
JP2008305366A (en) * | 2007-06-08 | 2008-12-18 | Masazumi Fukuda | Method for allowing any unspecified large number of general users (customers) to develop/resister/run (use) program at the same time any time |
WO2009025194A1 (en) * | 2007-08-22 | 2009-02-26 | Epos Card Co., Ltd. | Ic card instant issue system |
KR100983881B1 (en) * | 2008-02-29 | 2010-09-27 | (주)솔루젠 | System for automating printing based upon network |
US8416196B2 (en) * | 2008-03-04 | 2013-04-09 | Apple Inc. | Touch event model programming interface |
US8645827B2 (en) | 2008-03-04 | 2014-02-04 | Apple Inc. | Touch event model |
US8566045B2 (en) | 2009-03-16 | 2013-10-22 | Apple Inc. | Event recognition |
US8553859B1 (en) | 2010-02-03 | 2013-10-08 | Tal Lavian | Device and method for providing enhanced telephony |
US8625756B1 (en) | 2010-02-03 | 2014-01-07 | Tal Lavian | Systems and methods for visual presentation and selection of IVR menu |
US8594280B1 (en) | 2010-02-03 | 2013-11-26 | Zvi Or-Bach | Systems and methods for visual presentation and selection of IVR menu |
US8903073B2 (en) | 2011-07-20 | 2014-12-02 | Zvi Or-Bach | Systems and methods for visual presentation and selection of IVR menu |
US8537989B1 (en) | 2010-02-03 | 2013-09-17 | Tal Lavian | Device and method for providing enhanced telephony |
US9001819B1 (en) | 2010-02-18 | 2015-04-07 | Zvi Or-Bach | Systems and methods for visual presentation and selection of IVR menu |
US8548131B1 (en) | 2010-02-03 | 2013-10-01 | Tal Lavian | Systems and methods for communicating with an interactive voice response system |
US8572303B2 (en) | 2010-02-03 | 2013-10-29 | Tal Lavian | Portable universal communication device |
US8687777B1 (en) | 2010-02-03 | 2014-04-01 | Tal Lavian | Systems and methods for visual presentation and selection of IVR menu |
US8879698B1 (en) | 2010-02-03 | 2014-11-04 | Tal Lavian | Device and method for providing enhanced telephony |
US8681951B1 (en) | 2010-02-03 | 2014-03-25 | Tal Lavian | Systems and methods for visual presentation and selection of IVR menu |
US8548135B1 (en) | 2010-02-03 | 2013-10-01 | Tal Lavian | Systems and methods for visual presentation and selection of IVR menu |
JP5804678B2 (en) * | 2010-07-16 | 2015-11-04 | キヤノン株式会社 | Information processing apparatus, Web browser control method, and program |
JP2012190298A (en) * | 2011-03-11 | 2012-10-04 | Sony Corp | Electronic apparatus, control method and program for electronic apparatus, and storage medium |
CN102289895A (en) * | 2011-06-21 | 2011-12-21 | 上海北大方正科技电脑系统有限公司 | Terminal and method for processing network note |
EP2570923A1 (en) * | 2011-09-14 | 2013-03-20 | Alcatel Lucent | Kiosk system for providing information and services |
KR101183365B1 (en) | 2011-10-07 | 2012-09-14 | 한화에스앤씨주식회사 | Apparatus for controlling kiosk using short range wireless communication |
WO2013097098A1 (en) * | 2011-12-27 | 2013-07-04 | 华为技术有限公司 | Data processing method, graphics processing unit (gpu) and first node device |
US8731148B1 (en) | 2012-03-02 | 2014-05-20 | Tal Lavian | Systems and methods for visual presentation and selection of IVR menu |
US8867708B1 (en) | 2012-03-02 | 2014-10-21 | Tal Lavian | Systems and methods for visual presentation and selection of IVR menu |
CN102830947A (en) * | 2012-08-13 | 2012-12-19 | 南京莱斯信息技术股份有限公司 | Report printing control implemented based on report printing template format |
EP2912564B1 (en) * | 2012-11-05 | 2021-02-24 | AFL Telecommunications LLC | Distributed test system architecture |
US9733716B2 (en) | 2013-06-09 | 2017-08-15 | Apple Inc. | Proxy gesture recognizer |
CN103499952A (en) * | 2013-09-13 | 2014-01-08 | 广州恩次元信息科技有限公司 | Self-service terminal remote intelligent management system |
JP6402575B2 (en) * | 2014-10-15 | 2018-10-10 | セイコーエプソン株式会社 | Printing system and printing system control method |
KR20160129499A (en) | 2015-04-30 | 2016-11-09 | 뉴21커뮤니티(주) | Kiosk of sharing screen with mobile terminal device, and screen sharing system of kiosk |
JP6493130B2 (en) | 2015-09-30 | 2019-04-03 | 富士通株式会社 | Information processing apparatus, method, and program |
KR102274453B1 (en) * | 2020-05-15 | 2021-07-07 | 주식회사 블랙펄 | Installation place customized total kiosk service providing system |
KR102393609B1 (en) * | 2022-02-28 | 2022-05-02 | 지철 | A kiosk service system that provides a customized screen reflecting the user's preference according to the installation location |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5572572A (en) * | 1988-05-05 | 1996-11-05 | Transaction Technology, Inc. | Computer and telephone apparatus with user friendly interface and enhanced integrity features |
-
1998
- 1998-03-02 CA CA002281725A patent/CA2281725A1/en not_active Abandoned
- 1998-03-02 EP EP98908218A patent/EP0966712A1/en not_active Withdrawn
- 1998-03-02 AU AU66299/98A patent/AU6629998A/en not_active Abandoned
- 1998-03-02 WO PCT/GB1998/000650 patent/WO1998040826A2/en not_active Application Discontinuation
- 1998-03-02 CN CN98803278A patent/CN1124010C/en not_active Expired - Fee Related
- 1998-03-02 JP JP10539335A patent/JP2000510626A/en active Pending
- 1998-03-02 IL IL13135798A patent/IL131357A/en not_active IP Right Cessation
- 1998-03-02 PL PL98335521A patent/PL335521A1/en unknown
- 1998-03-02 KR KR10-1999-7007921A patent/KR100368353B1/en not_active IP Right Cessation
-
2003
- 2003-05-28 JP JP2003150123A patent/JP2004005688A/en active Pending
- 2003-05-28 JP JP2003150102A patent/JP2004030640A/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5572572A (en) * | 1988-05-05 | 1996-11-05 | Transaction Technology, Inc. | Computer and telephone apparatus with user friendly interface and enhanced integrity features |
Cited By (98)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1010320B1 (en) * | 1997-03-21 | 2002-11-20 | Canal+ Technologies | Broadcast receiving system comprising a computer and a decoder |
EP0903903A2 (en) * | 1997-09-12 | 1999-03-24 | Nortel Networks Corporation | Public communications services distribution method and apparatus |
EP0903903A3 (en) * | 1997-09-12 | 2001-09-12 | Nortel Networks Limited | Public communications services distribution method and apparatus |
WO1999022508A1 (en) * | 1997-10-24 | 1999-05-06 | Mannesmann Ag | Communication system, especially for processing and/or transmitting data and/or signals, method for using such a communication system and telecommunication booth |
EP1038233A4 (en) * | 1997-12-02 | 2001-11-07 | Technologies Inc Cash | Multi-transactional network architecture |
EP1038233A1 (en) * | 1997-12-02 | 2000-09-27 | Inc. Cash Technologies | Multi-transactional network architecture |
ES2149697A1 (en) * | 1998-07-14 | 2000-11-01 | Garcia Jon Urresti | Online information retrieval system |
US6601040B1 (en) | 1998-07-20 | 2003-07-29 | Usa Technologies, Inc. | Electronic commerce terminal for wirelessly communicating to a plurality of communication devices |
US6601038B1 (en) | 1998-07-20 | 2003-07-29 | Usa Technologies, Inc. | Delivery of goods and services resultant from an electronic commerce transaction by way of a pack and ship type company |
US6606602B1 (en) | 1998-07-20 | 2003-08-12 | Usa Technologies, Inc. | Vending machine control system having access to the internet for the purposes of transacting e-mail, e-commerce, and e-business, and for conducting vending transactions |
US6754641B2 (en) | 1998-07-20 | 2004-06-22 | Usa Technologies, Inc. | Dynamic identification interchange method for exchanging one form of identification for another |
US6601039B1 (en) | 1998-07-20 | 2003-07-29 | Usa Technologies, Inc. | Gas pump control system having access to the internet for the purposes of transacting e-mail, e-commerce, and e-business, and for conducting vending transactions |
US7089209B1 (en) | 1998-07-20 | 2006-08-08 | Usa Technologies, Inc. | Method for revaluing a phone card |
WO2000005670A1 (en) * | 1998-07-20 | 2000-02-03 | Usa Technologies, Inc. | Universal interactive advertising and payment system for public access electronic commerce and business related products and services |
WO2000039680A3 (en) * | 1998-12-31 | 2000-09-21 | Automated Business Companies | Multiple integrated machine system |
WO2000039680A2 (en) * | 1998-12-31 | 2000-07-06 | Automated Business Companies | Multiple integrated machine system |
US6806977B1 (en) | 1998-12-31 | 2004-10-19 | Automated Business Companies | Multiple integrated machine system |
EP1018690A3 (en) * | 1999-01-08 | 2001-02-14 | Telia Finland OY | Steering of internet access to sponsors |
US6425010B1 (en) | 1999-01-08 | 2002-07-23 | Nortel Networks Limited | Steering of internet access to sponsors |
EP1018690A2 (en) * | 1999-01-08 | 2000-07-12 | Telia Finland OY | Steering of internet access to sponsors |
EP1022699A3 (en) * | 1999-01-21 | 2002-06-19 | Ncr International Inc. | Self-service terminal network |
EP1208487A4 (en) * | 1999-02-17 | 2006-06-07 | Diebold Inc | Method and system for connecting services to an automated transaction machine |
EP1208487A1 (en) * | 1999-02-17 | 2002-05-29 | Diebold, Incorporated | Method and system for connecting services to an automated transaction machine |
JP2002543510A (en) * | 1999-05-03 | 2002-12-17 | ストリートスペイス・インコーポレーテッド | Method and system for providing personalized online services and advertisements in public space |
EP1192514A2 (en) * | 1999-05-03 | 2002-04-03 | Streetspace Inc. | Method and system for providing personalized online services and advertisements in public spaces |
EP1192514A4 (en) * | 1999-05-03 | 2002-07-17 | Streetspace Inc | Method and system for providing personalized online services and advertisements in public spaces |
WO2000077999A3 (en) * | 1999-06-10 | 2001-04-26 | Entera Inc | Method and apparatus for dynamic proxy reflecting of streaming content |
WO2000077999A2 (en) * | 1999-06-10 | 2000-12-21 | Cacheflow, Inc. | Method and apparatus for dynamic proxy reflecting of streaming content |
US6655284B1 (en) | 1999-06-28 | 2003-12-02 | Casio Computer Co., Ltd. | Customer terminal apparatus and information distribution server |
US7154630B1 (en) | 1999-06-29 | 2006-12-26 | Casio Computer Co., Ltd. | Printing apparatus and printing method |
USRE43778E1 (en) | 1999-06-29 | 2012-10-30 | Casio Computer Co., Ltd. | Printing apparatus and printing method using a plurality of printers and which distributes a print job in accordance with a remaining amount of an expendable supply in each printer |
FR2796238A1 (en) * | 1999-07-06 | 2001-01-12 | France Telecom | PUBLIC TERMINAL FOR ACCESS TO A COMPUTER NETWORK |
EP1071270A1 (en) * | 1999-07-06 | 2001-01-24 | France Telecom | Public terminal for allowing access to a computer network |
US6449347B1 (en) | 1999-07-06 | 2002-09-10 | France Telecom | Public terminal for access to a computer network |
EP1069537A2 (en) * | 1999-07-14 | 2001-01-17 | Casio Computer Co., Ltd. | Customer terminal apparatus, its system, and recording medium which records a program |
EP1069537A3 (en) * | 1999-07-14 | 2002-05-02 | Casio Computer Co., Ltd. | Customer terminal apparatus, its system, and recording medium which records a program |
EP1096444A3 (en) * | 1999-11-01 | 2003-07-23 | Citicorp Development Center, Inc. | Method and system for configuration of self-service financial transaction terminals for a common software release |
EP1096444A2 (en) * | 1999-11-01 | 2001-05-02 | Citicorp Development Center, Inc. | Method and system for configuration of self-service financial transaction terminals for a common software release |
WO2001037156A1 (en) * | 1999-11-15 | 2001-05-25 | Feals, Incorporated Company | Real estate affairs support system and computer, and real estate business support method |
JP2001202090A (en) * | 1999-11-17 | 2001-07-27 | Ricoh Co Ltd | Method and device for visitor reception and recording medium stored with visitor reception program |
US20110113067A1 (en) * | 2000-01-18 | 2011-05-12 | Homer Gregg S | Rechargeable Media Distribution and Play System with Download Kiosk |
KR100699628B1 (en) * | 2000-02-21 | 2007-03-23 | 엘지엔시스(주) | A Kiosk and method for providing internet service through a kiosk |
EP1137234A1 (en) * | 2000-03-24 | 2001-09-26 | BRITISH TELECOMMUNICATIONS public limited company | Internet access arrangement |
WO2001073601A2 (en) * | 2000-03-24 | 2001-10-04 | British Telecommunications Public Limited Company | Network access arrangement |
WO2001073601A3 (en) * | 2000-03-24 | 2002-03-14 | British Telecomm | Network access arrangement |
US7526528B2 (en) | 2000-03-24 | 2009-04-28 | British Telecommunications Plc | Network access arrangement |
JP2012033190A (en) * | 2000-04-14 | 2012-02-16 | Samsung Electronics Co Ltd | Digital document processing |
ES2165319A1 (en) * | 2000-04-26 | 2002-03-01 | Segarra Antonio Lopez | Public call box with internet access for recording and sending audio and video messages. |
JP2003536133A (en) * | 2000-06-02 | 2003-12-02 | ヤフー! インコーポレイテッド | Method and system for managing application program resources |
JP4865979B2 (en) * | 2000-06-02 | 2012-02-01 | ヤフー! インコーポレイテッド | Method and system for managing application program resources |
WO2001099061A3 (en) * | 2000-06-19 | 2003-01-09 | James R Clark | Retail entertainment/applications distribution system |
WO2001099061A2 (en) * | 2000-06-19 | 2001-12-27 | Clark James R | Retail entertainment/applications distribution system |
EP1191507A2 (en) * | 2000-09-12 | 2002-03-27 | The Appliance Studio Limited | Display stand incorporating an internet server |
EP1191507A3 (en) * | 2000-09-12 | 2002-04-17 | The Appliance Studio Limited | Display stand incorporating an internet server |
WO2002025602A1 (en) * | 2000-09-22 | 2002-03-28 | E-Z Managing Srl | Stand-alone vending machine for services and goods and method for its utilization |
KR20020034758A (en) * | 2000-11-03 | 2002-05-09 | 박기석 | Multimidia visitor's register |
WO2002041600A1 (en) * | 2000-11-14 | 2002-05-23 | Schlumberger Systemes | Method for transferring files between service appliances and a remote management server |
FR2816784A1 (en) * | 2000-11-14 | 2002-05-17 | Schlumberger Systems & Service | File transfer payphone management system having files server/public telephone network transferred with files server stored then separate server passed/remotely service unit charged. |
WO2002041778A1 (en) * | 2000-11-27 | 2002-05-30 | Ceballos Counago Antonio Manue | Information point with vertical screen displacement |
ES2169004A1 (en) * | 2000-11-27 | 2002-06-16 | Counago Antonio Manue Ceballos | Information point with vertical screen displacement |
US7636757B2 (en) | 2000-12-15 | 2009-12-22 | Canon Kabushiki Kaisha | Printing over the internet |
EP1215567A3 (en) * | 2000-12-15 | 2006-10-25 | Canon Kabushiki Kaisha | Printing over the internet |
US7711643B2 (en) | 2001-01-24 | 2010-05-04 | Ncr Corporation | Self-service terminal |
US7487202B2 (en) | 2001-03-29 | 2009-02-03 | Ricoh Company, Ltd. | Printer system, server, printing method, program and recording medium |
EP1248185A3 (en) * | 2001-03-29 | 2003-01-29 | Ricoh Company, Ltd. | Printer system, server, printing method, program and recording medium |
EP1248185A2 (en) * | 2001-03-29 | 2002-10-09 | Ricoh Company, Ltd. | Printer system, server, printing method, program and recording medium |
EP1253537A2 (en) * | 2001-04-23 | 2002-10-30 | Gilbarco Inc. | Multiple browser interface |
EP1253537A3 (en) * | 2001-04-23 | 2004-03-17 | Gilbarco Inc. | Multiple browser interface |
US7280087B2 (en) | 2001-04-23 | 2007-10-09 | Gilbarco Inc. | Multiple browser interface |
WO2002096058A3 (en) * | 2001-05-21 | 2003-06-12 | Polaroid Corp | Web-based file manipulating system |
WO2002096058A2 (en) * | 2001-05-21 | 2002-11-28 | Polaroid Corporation | Web-based file manipulating system |
GB2377595A (en) * | 2001-07-06 | 2003-01-15 | Livedevices Ltd | Reduction of resource usage in TCP/IP implementation with embedded computing devices |
GB2377595B (en) * | 2001-07-06 | 2004-12-15 | Livedevices Ltd | Improvements relating to reduction of resource usage in TCP/IP Implementation |
WO2003005146A2 (en) * | 2001-07-06 | 2003-01-16 | Giulio Dorrucci | Information and advertisement system |
WO2003005146A3 (en) * | 2001-07-06 | 2004-06-24 | Giulio Dorrucci | Information and advertisement system |
EP1278142A2 (en) * | 2001-07-17 | 2003-01-22 | Tianjin Nankai Guard Group Co. Ltd. | Method and system for network based self-help service |
EP1278142A3 (en) * | 2001-07-17 | 2004-02-11 | Tianjin Nankai Guard Group Co. Ltd. | Method and system for network based self-help service |
EP1446730A1 (en) * | 2001-10-17 | 2004-08-18 | Primeselections.Com, Inc. | Digital interactive network appliance and system |
EP1446730A4 (en) * | 2001-10-17 | 2005-08-31 | Primeselections Com Inc | Digital interactive network appliance and system |
EP1309170A3 (en) * | 2001-10-31 | 2011-03-23 | Toshiba TEC Kabushiki Kaisha | Information storage output system and information storage output service |
EP1309170A2 (en) * | 2001-10-31 | 2003-05-07 | Toshiba Tec Kabushiki Kaisha | Information storage output system and information storage output service |
EP1347625A2 (en) * | 2002-03-20 | 2003-09-24 | Sharp Kabushiki Kaisha | System and method for a home network telephone universal phone book |
EP1347625A3 (en) * | 2002-03-20 | 2003-11-19 | Sharp Kabushiki Kaisha | System and method for a home network telephone universal phone book |
ES2197815A1 (en) * | 2002-05-17 | 2004-01-01 | Gonzalez De La Mata M Becerril | System of devices for accessing administrations and computer networks without any computer knowledge |
WO2003098562A1 (en) * | 2002-05-17 | 2003-11-27 | Becerril Gonzalez De La Mata M | System of devices for accessing administrations and computer networks without any computer knowledge |
EP1524632A2 (en) * | 2003-10-16 | 2005-04-20 | Deutsche Telekom AG | Multifunction automatic device |
EP1524632A3 (en) * | 2003-10-16 | 2005-12-21 | Deutsche Telekom AG | Multifunction automatic device |
US8165900B2 (en) | 2004-08-09 | 2012-04-24 | Epic Systems Corporation | Patient check-in/scheduling kiosk |
EP1736947A1 (en) * | 2005-06-09 | 2006-12-27 | NCR International, Inc. | Personalized security method for a self-service checkout system |
US7839521B2 (en) | 2005-08-09 | 2010-11-23 | Global Print Systems, Inc. | Methods and systems for print job management and printing |
US8768720B2 (en) | 2007-04-12 | 2014-07-01 | Epic Systems Corporation | Location limited check-in kiosk method and apparatus |
WO2009011668A1 (en) * | 2007-07-17 | 2009-01-22 | Muemtaez Murat Ozbilen | The system of interactive branch cabinet |
US11169954B2 (en) | 2007-10-10 | 2021-11-09 | Gilbarco Inc. | System and method for controlling secure content and non-secure content at a fuel dispenser or other retail device |
WO2009084220A1 (en) * | 2007-12-28 | 2009-07-09 | Atm Japan, Ltd. | Automatic transaction device, automatic transaction device control program, recording medium and automatic transaction device control method |
WO2010130038A1 (en) * | 2009-05-14 | 2010-11-18 | Joseph Denny | Interactive multimedia advertising system |
US9659464B2 (en) | 2009-05-29 | 2017-05-23 | I-Design Multi Media Limited | User terminal system and method |
US11417160B2 (en) | 2018-04-30 | 2022-08-16 | Hewlett-Packard Development Company, L.P. | Service kiosk access |
US11663866B2 (en) | 2018-04-30 | 2023-05-30 | Hewlett-Packard Development Company, L.P. | Service kiosk access |
Also Published As
Publication number | Publication date |
---|---|
JP2000510626A (en) | 2000-08-15 |
WO1998040826A3 (en) | 1998-12-23 |
CN1250567A (en) | 2000-04-12 |
KR20000075844A (en) | 2000-12-26 |
JP2004005688A (en) | 2004-01-08 |
CA2281725A1 (en) | 1998-09-17 |
IL131357A (en) | 2003-07-06 |
EP0966712A1 (en) | 1999-12-29 |
AU6629998A (en) | 1998-09-29 |
JP2004030640A (en) | 2004-01-29 |
KR100368353B1 (en) | 2003-01-24 |
PL335521A1 (en) | 2000-04-25 |
IL131357A0 (en) | 2001-01-28 |
CN1124010C (en) | 2003-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6195694B1 (en) | Server for reconfiguring control of a subset of devices on one or more kiosks | |
KR100368353B1 (en) | Kiosk and server connected to computer network | |
US6771291B1 (en) | Method for developing electronic documents employing multiple display regions | |
US7739144B2 (en) | Self-service terminal | |
US20020032655A1 (en) | System and method for providing financial services terminals with a document driven interface | |
US20020138431A1 (en) | System and method for providing supervision of a plurality of financial services terminals with a document driven interface | |
US20120078794A1 (en) | System and Method for Delivering Financial Services | |
JP4307774B2 (en) | Self-service terminal device | |
JP2001503173A (en) | Method and system for automatically coordinating access to software application programs through different access devices | |
MXPA99004931A (en) | Automated banking machine apparatus and system. | |
CZ20031173A3 (en) | System and method for providing safety to financial service terminals with document-controlled interface | |
US20040002907A1 (en) | Template for inputting customized processing features in an electronic bill presentment and payment system | |
US7149723B2 (en) | System and method for determining computer access with electronic payment mechanism | |
CA2429301C (en) | Customizable electronic bill presentment and payment system and method | |
US20080209335A1 (en) | Customizable kiosk software | |
MXPA99004929A (en) | Cash dispensing automated banking machine and method. | |
WO1999017210A1 (en) | Detection and control of non-server-based computer programs | |
MXPA99008367A (en) | Kiosk and server connected to computer network | |
MXPA99004932A (en) | Automated banking machine system using internet address customer input. | |
MXPA99004934A (en) | Automated banking machine and system. | |
CZ319299A3 (en) | Kiosk and server connected to computer network | |
JP2001344356A (en) | Electronic examination conducting method, electronic examination system and information with medium recording program recorded thereon | |
AU2007219989A1 (en) | Customizable kiosk software | |
Patlak et al. | Web service standards and real business scenario challenges | |
Jeyaprakash | Online Music Store (OMS)/Jeyaprakash Dorairaja |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 131357 Country of ref document: IL Ref document number: 98803278.3 Country of ref document: CN |
|
AK | Designated states |
Kind code of ref document: A2 Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GE GH GM GW HU ID IL IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG UZ VN YU ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): GH GM KE LS MW SD SZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN ML MR NE SN TD TG |
|
AK | Designated states |
Kind code of ref document: A3 Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GE GH GM GW HU ID IL IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG UZ VN YU ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A3 Designated state(s): GH GM KE LS MW SD SZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN ML MR NE SN TD TG |
|
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
ENP | Entry into the national phase |
Ref document number: 2281725 Country of ref document: CA Ref document number: 2281725 Country of ref document: CA Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1019997007921 Country of ref document: KR |
|
ENP | Entry into the national phase |
Ref document number: 1998 539335 Country of ref document: JP Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: PV1999-3192 Country of ref document: CZ |
|
WWE | Wipo information: entry into national phase |
Ref document number: PA/a/1999/008367 Country of ref document: MX |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1998908218 Country of ref document: EP |
|
WWP | Wipo information: published in national office |
Ref document number: 1998908218 Country of ref document: EP |
|
WWP | Wipo information: published in national office |
Ref document number: PV1999-3192 Country of ref document: CZ |
|
REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
WWP | Wipo information: published in national office |
Ref document number: 1019997007921 Country of ref document: KR |
|
WWG | Wipo information: grant in national office |
Ref document number: 1019997007921 Country of ref document: KR |
|
WWW | Wipo information: withdrawn in national office |
Ref document number: 1998908218 Country of ref document: EP |