Method and apparatus for making a hypermedium interactive
Abstract
This record has no abstract on file.
Term
No projected expiry on record.
- Priority
- Filed
- Published
- Today
11 claims: 2 independent, 9 dependent
- 1AMEfluEO SHEET -7- What is claimed is:1 1. A method of making a hypennedium page interactive comprising the steps of 2 . selecting a hyperlink on said hypermedium page displayed on a client node;3 retrieving a hyperlink configuration file, corresponding to said hyperlink, from 4 a network server to said client node;5 starting a client agent on said client node;6 creating by said client agent a communication link to an application execution 7 server in response to data in said hyperlink configuration file;and 8 starting an application on said application execution server in response to said 9 communication link.
- 6A system of making a hypermedium page interactive comprising:a client node;a hyperlink on said hypermedium page displayed on said client node;a network server node, in communication with said client node;a hyperlink configuration file on said server node, said/ configuration file corresponding to said hyperlink on said client node;a client agent on said client node;an application execution server node in communication withsaid client node and said network server node;-8 - a server agent on said application execution server node;and an application on said application execution server node, said client agent establishing a communications link with said server agent, in response to said configuration file, and said application running in response to said communications link between saidclient agent and said server agent.
Independent claims2
27 paragraphs in 4 sections, as filed
A METHOD AND APPARATUS FOR MAKING AHYPERMEDIUM INTERACTIVE nmn b’VD by *jnn rp ιρηηι nu»\y
<img img-format="tif" img-content="drawing" file="IL124414AD00021.tif" id="idf0001" />
Field of the Invention
The invention relates generally to the field of computer communications and morespecifically to the field of remote application processing. 5 Background of the Invention A hypermedium is a graphical display which contains a series of graphic and textual images which are referred to as hyperlinks. Each hyperlink typically corresponds to additionalinformation which is available to a user of the hypermedium. For example a hypermedium displaymight be an encyclopedic article about flight. If the graphical display of the article includes a 10 picture of a rocket, and if the user is able to obtain information about the engine of the rocket byselecting (typically by using a pointing device referred to as a computer mouse) a portion of thedisplay showing the engine, the portion of the picture containing the rocket engine is referred toas a hyperlink. That is, the portion of the picture containing the engine is a link to informationabout the engine. The activation of a hyperlink causes the hypermedium to request a data file of 15 the desired information from the program actually controlling the hypermedium.
When a hypermedium is used in conjunction with a network, for example the world wide web or the internet, a user on a client node on the network first accesses what is termed a homepage or a web page. This home page or web page is obtained from another node on the net,termed a network server, and is displayed on the client node by a program termed a network 20 browser or web browser.. In such a case, when the user selects the hyperlink (in the previousexample, the portion of the display showing the rocket engine) a request is made to the networkbrowser for the data file containing the requested information. The network browser on theuser’s node establishes communication with the network node, the data server, having datacorresponding to the requested hyperlink. In this case the node having information about the 25 rocket engine contains the information required by the hyperlink.
Although hypermedium has been used to transfer information to a user in the manner just discussed, it is desirable to be able to use a hypermedium display to interactively executeapplications such as database programs located on another computer, an application execution -2- server, on the network. The present invention relates to a method and apparatus to accomplishthis task.
Summary of the Invention
The invention relates to a system of making a hypermedium page interactive to therebypermit a application to be executed on one node and the results displayed and data entered onanother node. In one embodiment the system includes a client node, a network server node andan application execution server node interconnected by a communication link. A hyperlink on thehypermedium page is displayed on the client node and a hyperlink configuration file(corresponding to the hyperlink on the client node) is located on the network server node. In oneembodiment, a client agent is located on the client node and a server agent is located on theapplication execution server node. A communication link is created by the client agent betweenthe client agent on the client node and the server agent on the application execution server node inresponse to data in the hyperlink configuration file. The system also includes an application onthe application execution server node which executed on the application execution server node inresponse to the communications link between the client agent and the server agent. Theapplication running on the application execution node then communicates with the client agentthrough the server agent. The client agent on the client node is responsible for receiving datainput from the user and transferring the data to the application on the application execution nodeand receiving data from the application on the application execution node and displaying dataoutput to the user on the client node.
The invention also relates to a method of making a hypermedium page interactive. Themethod includes the steps of selecting a hyperlink on the hypermedium page displayed on a clientnode; retrieving (from a server node to the client node) a hyperlink configuration filecorresponding to the hyperlink and starting a client agent on the client node. The method furtherincludes the steps of creating a communications link between a server agent on an applicationexecution server and the client agent; starting the application on the application execution serverin response to the connection; communicating data between the client agent on the client nodeand application on the application execution node; and managing the display and input of data onthe client node.
Brief Description of the Drawings
Other features and benefits of the invention can be more clearly understood with referenceto the specification and the accompanying drawings in which:
Fig. 1 is a block diagram of an embodiment of the system of the invention; and
Fig. 2 is a flow chart of the operation of system of the invention shown in Fig. 1.
Detailed Description of the Invention
Referring to Fig. 1, and in brief overview, an embodiment of an interactive hypermediumsystem of the invention includes a client node 10, a network server node 18 and an applicationexecution server node 24 interconnected by a communications link 32, herein referred to withoutany loss of generality as a network or web. Although only one client node 10, network servernode 18 and application execution server node 24, are shown in Fig. 1 for clarity, an actualnetwork may include many such nodes. Alternatively, the services provided by each of the nodeslisted may be combined in one or more nodes. For example, the application execution server andthe network server may in fact be the same node. In the extreme it is possible for all functions tobe performed by the same node, although such would not typically be the case. In addition,although only one application 36 is shown on the application execution server 24, in reality, anapplication execution server node 24 typically includes many applications 36. Each node on thenetwork or web 32 includes a processor, which may vary significantly from other processors onthe web 32 in terms of computing power and associated hardware. Further, the applications 36available for execution on each node may be different. A user on a client node wishing to run the application program 36 which is located on theapplication execution server 24 on the web 32 does so through a graphical user interface 40,which is herein referred to without any loss of generality as a hypermedium, located on the clientnode 10. The graphical interface is displayed on a graphical display device 42. Data is entered bythe users through a mouse 46 and a keyboard 50 located on the client node 10. The graphicaldisplay or page 44 which the user first views on the hypermedium 40 is referred to herein withoutany loss of generality as the home page or web page of the application 36. A page 44 or homepage of the hypermedium 40 includes a graphic link 48 or textual link 56 herein referred towithout any loss of generality as a hyperlink. The web page is displayed by a process 64 referredto herein without any loss of generality as a network browser 64 executing on the client node 10.
The network browser 64 obtains the first page or web page 44 from a network servernode 18 and displays the web page 44 on the hypermedium 40 for the user to view on thegraphical display device 42. When the user selects an application program 36 to execute.(byselecting a graphical 48 or textual 56 hyperlink using the mouse 46 or keyboard 50) the networkbrowser 64 obtains a network configuration file 68 corresponding to the selected application 36 -4-
I
I
I
I
I from a predetermined network server 18 and starts a client agent 72 which will communicatewith the selected application 36. This will be discussed in more detail below.
The client agent 72 reads the configuration file 68 and establishes a communicationslink to a server agent SO on the application execution server 24 specified by the configuration 5 file 68. In one embodiment, the configuration file 68 includes the name of the application andthe node location of the application 36 corresponding to the hyperlink 48, 56. Theconfiguration file may also contain optional information such as authentication or authorizeduser information. Server agent 80 performs the operations necessary (such as authentication)to permit the client agent 72 access to the application 36, and once access is permitted, starts 10 the application 36 requested by the user. Once the application 36 is executing on the application execution server, the application 36 communicates through the server agent 24directly with the client agent 72 without intervention by the network browser 64. The clientagent 72 is then responsible for receiving data from the user through the mouse 46 andkeyboard 50 and transmitting it to the application program 36 on the application execution 15 server 24. Similarly, the client agent 72 is responsible for receiving data from the application36 on the application execution server 24 and displaying the data in an application displaywindow 74 on the graphical display device 42 on the client node 10. It should be noted thatthe application display window 74 may be located within the boundaries or outside theboundaries of the hypermedium 40. When the application 36 is completed the server agent 80 20 instructs the client agent 72 to disconnect the communication link 32 between the client agent72 and the server agent 80 and the server agent waits for the next connection.
Fig. 2 depicts the operation of the system in more detail. Initially, the client agent 72 isregistered (Step 1) with the network browser 64 of the client node 10 and an entry is made inthe network browser’s registration file 88 (Fig. 1). This entry permits the network browser 64 25 to start the client agent 72 whenever a given file type is requested by the hyperlink 48, 56 ofthe hypermedium 40. In this case the client agent 72 is designed to permit a user on the clientnode 10 to execute and interact with a remote application 36 on an application executionserver node 24. The client agent 72 would be registered with the network browser 64 suchthat whenever a hyperlink 48, 56 requested the given file type (for example .RMT for remote 30 execution) from the network browser 64, the network browser 64 would start the client agent72 which would permit remote execution and interaction with an application 36 resident on an t application execution server 24. The invoking of the client agent 72 is discussed in moredetail below. -5-
Next, when a user wishes to execute an application from a hypermedium environment, forexample a database program, the hypermedium 40 is displayed in a manner that is well known tothose skilled in the art. When the user selects a hyperlink 48, 56 on the page 44 of thehypermedium (Step 2) by using the mouse 46 or keyboard 50 on the client node 10, a request ismade to the network browser 64 for the corresponding data file (Step 3). In this example, thefiletype (.RMT) is requested.
The network browser 64 obtains the corresponding configuration file 68 from the networkserver 18 which is specified in the file request made by the hyperlink 48, 56 to the networkbrowser 64 (Step 4). The network browser 64 then compares the obtained configuration file 68with the registration file 88 of client agent names which it maintains (Step 5). If the client agent72 specified by the configuration file 68 is found in the registration file 88, the client agent 72 isstarted (Step 6).
The invoked client agent 72 reads the configuration file 68 (Step 7), and based upon theinformation in the configuration file 68, begins to establish a communication link with the serveragent 80 on the application execution server 24 (Step 8), in this case the sales databaseapplication execution server (generally 24).
Considering the process of beginning the communications link of step 8 (Fig. 2) in moredetail, communication begins with the server agent 80 monitoring communication activity on thenetwork 32. At this point, no protocol assumptions are made by the server agent 80 beyondthose necessary for the transport layer. Similarly, the client agent 72 also makes no assumption ofthe communications protocol beyond that required by the transport layer. Once the server agent80 determines that a client agent 72 is attempting to communicate with it, the server agent 80transmits a message to the client agent 72 indicating that service is available.
Once the client agent 72 determines that service is available on the application executionserver node 24, the client agent 72 transmits a message to the server agent 80 indicating that it isready to proceed with the communication protocol. Once the server agent 80 has responded thatit to is ready to continue the communication protocol, the client agent 72 enables the protocolnecessary for it to run the application 36. In response to the message from the client agent 72, theserver agent 80 also enables the required protocol. The server agent 80 then transmits a messageusing the required protocol indicating that the client agent’s request has been received andaccepted.
In response the client agent 72 and the server agent 80 exchange a set of messages whichnegotiate the parameters under which communications will occur. Once negotiations are -6- complete, the client agent 72 and the server agent 80 are able to communicate as necessary for theapplication 36 to be run by the user. Once the communications protocol has been established andthe server agent 80 has authenticated the client agent 72 (Step 9) (for example determining thatthe user has permission to read and write to the database) the application 36 (Step 10) is run on 5 the application execution server 24. At this point application 36 running on the application execution server 24 is communicating via the server agent 80 with the client agent 72 on the clientnode 10. The client agent 72 is now responsible for transmitting data input by the user using themouse 46 and keyboard 50 to the application 36 running on the application execution server 24.Further, the client agent 72 is responsible for receiving data for display from the application 36 10 and displaying that data in the application window 74 on the graphical display device 42 of theclient node 10.
It should be noted that the underlying presentation protocol which passes data to atransport layer such as TCP/IP must be capable of transferring graphical information. Examplesof such protocols which may be used for interactive hypermedia communication include public 15 domain X-WINDOWS protocol and the proprietary ICA protocol of Citrix Systems Inc.
Thus the above described system permits a user on a client node 10, which may have verylimited resources, to start and interact with an application program 36 located on anotherapplication execution server node 24. The application 36 then runs on the application executionserver node 24 and the data is input and the results displayed on the client node 10. 20 These and other examples of the concept of the invention illustrated above are intended by way of example and the actual scope of the invention is to be determined solely from thefollowing claims.
Contents4
116 members in 22 offices
Priority claims8
| Document | Office | Kind | Date |
|---|---|---|---|
| 55662395 | United States of America | A | |
| 55662395 | United States of America | A | |
| 9617937 | United States of America | W | |
| 9617937 | United States of America | W | |
| 55662395A | – | – | – |
| US19950556623 | – | – | – |
| WO1996US17937 | – | – | – |
| WO9718518 | – | – | – |
Members116
| Document | Office | Kind | |
|---|---|---|---|
| CA2237333A1 | Canada | A1 | |
| WO9718518A1 | World Intellectual Property Organization (WIPO) | A1 | |
| AU7673496A | Australia | A | |
| IS4736A | Iceland | A | |
| NO982153D0 | Norway | D0 | |
| NO982153L | Norway | L | |
| EP0862765A1 | European Patent Office (EPO) | A1 | |
| MX9803769A | Mexico | A | |
| PL326625A1 | Poland | A1 | |
| CA2290433A1 | Canada | A1 | |
| CA2495413A1 | Canada | A1 | |
| WO9852320A2 | World Intellectual Property Organization (WIPO) | A2 | |
| IL124414D0 | Israel | D0 | |
| AU7572498A | Australia | A | |
| WO9852320A3 | World Intellectual Property Organization (WIPO) | A3 | |
| CZ146698A3 | Czechia | A3 | |
| US5941949A | United States of America | A | |
| KR19990067537A | Republic of Korea | A | |
| AU709436B2 | Australia | B2 | |
| US5961586A | United States of America | A | |
| NZ322760A | New Zealand | A | |
| CA2333279A1 | Canada | A1 | |
| WO9963430A1 | World Intellectual Property Organization (WIPO) | A1 | |
| AU4312899A | Australia | A | |
| GB9926972D0 | United Kingdom | D0 | |
| JP2000500596A | Japan | A | |
| EP0981884A2 | European Patent Office (EPO) | A2 | |
| GB2341065A | United Kingdom | A | |
| EP1011236A2 | European Patent Office (EPO) | A2 | |
| EP1017202A2 | European Patent Office (EPO) | A2 | |
| US6088515A | United States of America | A | |
| EP1011236A3 | European Patent Office (EPO) | A3 | |
| EP1017202A3 | European Patent Office (EPO) | A3 | |
| HK1025700A1 | Hong Kong, China | A1 | |
| US6157944A | United States of America | A | |
| KR20010012553A | Republic of Korea | A | |
| EP1082653A1 | European Patent Office (EPO) | A1 | |
| IL132873D0 | Israel | D0 | |
| IL132874D0 | Israel | D0 | |
| IL132875D0 | Israel | D0 | |
| KR20010052420A | Republic of Korea | A | |
| HK1032454A1 | Hong Kong, China | A1 | |
| PL181472B1 | Poland | B1 | |
| JP2002502521A | Japan | A | |
| IL124414AThis record | Israel | A | |
| IL139929D0 | Israel | D0 | |
| AU744486B2 | Australia | B2 | |
| US6370552B1 | United States of America | B1 | |
| US6370570B1 | United States of America | B1 | |
| GB2341065B | United Kingdom | B | |
| TR199800884T2 | Türkiye | T2 | |
| US2002057295A1 | United States of America | A1 | |
| JP2002517814A | Japan | A | |
| US2002095478A1 | United States of America | A1 | |
| US6437803B1 | United States of America | B1 | |
| US6438598B1 | United States of America | B1 | |
| RU2188450C2 | Russian Federation | C2 | |
| US2002196279A1 | United States of America | A1 | |
| EP0862765B1 | European Patent Office (EPO) | B1 | |
| AT232320T | Austria | T | |
| ATE232320T1 | Austria | T1 | |
| US2003037148A1 | United States of America | A1 | |
| DE69626129D1 | Germany | D1 | |
| US2003063119A1 | United States of America | A1 | |
| CA2237333C | Canada | C | |
| DK0862765T3 | Denmark | T3 | |
| ES2187682T3 | Spain | T3 | |
| US6581124B1 | United States of America | B1 | |
| EP1324231A2 | European Patent Office (EPO) | A2 | |
| CA2475366A1 | Canada | A1 | |
| WO03067568A1 | World Intellectual Property Organization (WIPO) | A1 | |
| AU764767B2 | Australia | B2 | |
| AU2003212953A1 | Australia | A1 | |
| IL132873A | Israel | A | |
| IL132874A | Israel | A | |
| DE69626129T2 | Germany | T2 | |
| KR20040004436A | Republic of Korea | A | |
| US6691157B2 | United States of America | B2 | |
| RU2225027C2 | Russian Federation | C2 | |
| US2004139117A1 | United States of America | A1 | |
| KR20040089600A | Republic of Korea | A | |
| EP1479064A1 | European Patent Office (EPO) | A1 | |
| EP1324231A3 | European Patent Office (EPO) | A3 | |
| KR100481064B1 | Republic of Korea | B1 | |
| JP2005517254A | Japan | A | |
| US6950991B2 | United States of America | B2 | |
| CA2333279C | Canada | C | |
| EP0981884B1 | European Patent Office (EPO) | B1 | |
| DE69832168D1 | Germany | D1 | |
| JP2005339536A | Japan | A | |
| KR100569469B1 | Republic of Korea | B1 | |
| DE69832168T2 | Germany | T2 | |
| KR100534816B1 | Republic of Korea | B1 | |
| ES2252837T3 | Spain | T3 | |
| KR100612565B1 | Republic of Korea | B1 | |
| EP1479064A4 | European Patent Office (EPO) | A4 | |
| JP2006318499A | Japan | A | |
| JP3866768B2 | Japan | B2 | |
| CA2290433C | Canada | C | |
| EP1017202B1 | European Patent Office (EPO) | B1 |
5 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Patent expiredExpiredEXP | EXP | |
| Patent renewedKB | KB | |
| Patent renewedKB | KB | |
| Patent renewedKB | KB | |
| Patent grantedGrantedFF | FF |
Numbers
- Publication, DOCDB
- 124414
- Publication, EPODOC
- IL124414
- Application
- 12441496
- Application, DOCDB
- 12441496
- Application, EPODOC
- IL19960124414
Titles
- English
- METHOD AND APPARATUS FOR MAKING A HYPERMEDIUM INTERACTIVE
Classification
- CPC, 7
- G06F9/5027
- G06F9/54
- G06F9/541
- G06F2209/541
- G06F2209/549
- G06F16/958
- G06F16/10
- IPC, 5
- G06F9 50
- G06F15 00
- G06F15 17
- G06F17 30
- G06F12 00