WO2001095116A2 - Procede et systeme pour acheminer des informations d'un serveur a un client - Google Patents
Procede et systeme pour acheminer des informations d'un serveur a un client Download PDFInfo
- Publication number
- WO2001095116A2 WO2001095116A2 PCT/DK2001/000389 DK0100389W WO0195116A2 WO 2001095116 A2 WO2001095116 A2 WO 2001095116A2 DK 0100389 W DK0100389 W DK 0100389W WO 0195116 A2 WO0195116 A2 WO 0195116A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- computer
- information
- address
- location
- server
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5682—Policies or rules for updating, deleting or replacing the stored data
Definitions
- Title A method and a system for providing; information from a server to a client
- the present invention relates to a method and a system for providing information from a server to a client. More particularly, this invention provides an improved system for caching resources on a client using resource templates containing executable instructions in a client-server framework.
- the invention aims at reducing the amount of data being transmitted between a server process and a client process in a client-server framework, more particularly providing a improved system for caching resources on the client using resource templates con- taining executable instructions in the client-server framework.
- client and server are used to refer to a computer's general role as requester of data (the client) and the provider of data (the server).
- a client-server application comprises a "client process” located on the client and a “server process” located on the server.
- client process located on the client
- server process located on the server.
- client and server share a common agreement (often called a communication protocol or simply “protocol") of how communication between them is conducted.
- the client issues a "request” that contains information identifying a piece of data located on the server or a specific operation to be performed on or by the server.
- the server receives the request, performs whatever processing is needed to produce the data or perform the operation and returns a "response" to the client containing the requested data or the result of the performed operation.
- Network bandwidth and server processing resources are often limited, which makes it important to optimize the usage of these resources in client-server frameworks.
- a common optimization is to cache the responses from the server.
- the client may store (cache) a temporary copy of the response. This copy is then used the next time the same data is requested rather than re-transmitting the request to the server.
- the client can avoid using a cached resource, if an up- dated version of the resource is present on the server.
- the caching may be performed by an intermediate computer on a network path from the client to the server, using the same principle but sharing cached resources between multiple users accessing the server.
- Web browsers (the client processes) reside in the client and specially formatted HTML documents, images and other types or media reside on Internet Web servers (the server processes). Web clients and Web servers typically communicate using the "HyperText Transfer Protocol" (HTTP). The browser retrieves resources from the server by sending a request to the Web server identifying the specific resource using a "Uniform Resource Locator” (URL).
- HTTP HyperText Transfer Protocol
- HTTP and web browsers support a caching scheme for caching the resources retrieved from the web server, including a set of rules which ensure that the web server can control how resources are cached in order to avoid reusing stale resources.
- proxy servers functioning as multi-user caches are widely used to improve the performance of browser web sites.
- HTML documents serve as the user interface for the client-server application and are dynamically generated specifically for the particular user and context of operation. These documents often contain large amount of data that change infrequently while small data specific parts of the documents change frequently. Such a page cannot be cached by the client or by proxy servers because the page as a whole is changed.
- the content assembly server proxy 256 allows e.g., installing or caching, on the client, resource templates that may include scripts updating only the parts of the resource that are changed when accessed by the client.
- the invention relates to a method for providing information at a first computer.
- the method includes:
- - at a first point in time - providing, at the first computer, information identifying the information desired, transferring the identifying information from the first computer to a second computer, transferring processor executable computer code from the second computer to the first computer,
- processor executable computer code will mean code or instructions which are adapted to control a controllable processor.
- the processor will be a general purpose processor and the code assembler code therefor or code in any high level language.
- Information identifying the information may be any type of information, such as an address or location thereof.
- An address or location may be any address or location on any computer, normally the second computer.
- the location or address may be on a single computer and be specified as a drive/disc thereof and an identifier of a file thereon - or it may in the other extreme simply be a unique address which is sought for on the Internet.
- Transferring information or code may be done in any manner suitable, such as wireless, by wire, using modems, ISDN, or any other manner of data transport.
- information is transferred from the second computer to the first computer, part of the transferred information being stored locally at or in the first computer.
- the execution of the computer code may comprise retrieving the part of the information from the local store and requesting, from the address or location, one or more other parts cf the information.
- the rarely updated information may be stored locally and the often-updated parts retrieved "on line".
- the execution of the computer code might comprise determining whether information required is stored in the local store.
- information identifying the stored information may be stored at or in the first computer - optionally together with information relating to the address or location - in order for the first computer to determine, at the second point in time, that stored infor- mation relates to the information required.
- One manner of realizing this operation is to provide at or in the first computer a list of addresses or locations the corresponding computer code has been received and is stored in or at the first computer.
- Another functionality is one wherein the execution of the computer code comprises: - providing, at the first computer, information relating to a second address or location, and transferring information from the second address or location to the first computer.
- additional information may be provided from an address or location different from that which initially was used for requesting the information required. This may be useful when the information relates, e.g., to home pages where the initial address or location would be the Internet address of the page.
- the executing computer code may re-direct the subsequent request for the home page to another address or server having another functionality - such as not transmitting the full con- tents of the home page if it knows that part thereof will already be stored on the first computer.
- part of the information may be stored locally at or in the first computer and, at the subsequent point in time, the part of the information may be retrieved from the local store and one or more other parts of the informa- tion is transferred from the second address or location to the first computer.
- the execution of the computer code may comprise determining whether information stored in the local store is outdated and, in that situation, requesting updated information from the second computer.
- the execution of the computer code may comprise storing at least part of the transferred information locally at or in the first computer or retrieving information therefrom, the storing or retrieval being performed in a local database defined and/or maintained by execution of processor executable computer code transferred from the second computer.
- the execution of the computer code may actually form a "remote controlled" database in or at the first computer. This database may be fully defined and maintained by the execution of the computer code in order for the programmer thereof to have the full control thereof.
- the execution of the computer code may make it possible for that programmer to also cease control of other parts of the first computer, such as external units (CD readers/writers, printers, 1/O-ports, etc.) and internal units, such as individual drives on hard discs, etc.
- the information stored locally may be resource templates, which normally rarely vary. More likely, individual resources to be "filled there into” will vary often.
- the process of selecting the resource template may comprise the processes of defining a namespace by associating the identity of a resource on the server or a set of identities with a local resource template or group of templates, retrieving the identity of the requested information from the request and in case this identity is associated with a resource template, selecting the resource template.
- a name space is a denotation defined by the computer code and which relates to a storing location or another resource locally on the first computer - such as in the database or a disc drive thereof.
- all first computers will have the same denotations for the same name spaces - even though the actual positions of the individual databases may vary (such as positioned under different directories).
- the positions of the databases and other parts related to name spaces will be the same in the first computers.
- the process of selecting the resource template for a may comprise the steps of defining a namespace by associating a specific URL or a subset of URL's sharing a common base URL with a file or directory in the local file system, retrieving the URL from the request and in case the URL matches a namespace, selecting the resource template from the local file system.
- the process of selecting the resource template may comprise the steps of downloading a temporary resource template from the server when the resource is initially requested and caching the resource template for subsequent requests, retrieving the resource identity from subsequent requests and in case the identity matches a cached resource template, selecting the resource template from the list of cached resource templates.
- the present invention may be provided as an add-on to a standard browser, where the add-on, in accordance with one aspect of the present invention, a method of assembling content, comprises the processes of intercepting the request from the client, selecting a local resource template if one is available to the server proxy 256 object, process any scripts in the resource template and deliver the resource to the client.
- the client process may be a web browser and the server process may be a web server.
- the system consistent with the present invention may be implemented in a way which makes it transparent for the client process that the server proxy 256 handles the request and not the actual server to which the request was made.
- the server proxy 256 may be implemented coincident and cooperatively with existing caching systems, such as for example the cache functionality in a web browser.
- the information relating to the address or location is a URL.
- the information to be, provided may be a home page, a web site, or one or more parts thereof, where the information comprises a number of independent resources, and wherein the address or location thereof is on or at a second computer holding the independent resources.
- the method may comprise identifying, at the first computer, parts of the information which are present at the first computer, - requesting, at the second computer, parts of the information not present at the first computer, retrieving the information required stored in or at the first computer, assembling/combining the information required and providing it to a user of the first computer such as on a monitor or a printer thereof.
- the assembling of the information comprises of the steps of post processing requests as part of the network functionality of a client application, selecting a local resource template if one is available to the server proxy 256 object, process any scripts in the resource template and deliver the resource to the client.
- Executing scripts in the resource template may comprise the steps of scanning the resource template for special marks identifying scripts, executing the set of instructions within these marks, replacing the script blocks with the output resulting from executing the set of instructions in the script block.
- Another functionality is one where the process of transferring the information relating to the address or location to the second computer comprises transmitting additional information to the second computer, and wherein the process of transmitting the processor executable computer code to the first computer is conditioned on the second computer receiving the additional information, the second computer otherwise transmitting the information required to the first computer.
- the first computer acknowledges, by the presence of the additional information, that it is adapted to perform the present method, whereby the second,computer transmits the computer code. Computers requesting the same information without the additional information will simply receive the information requested.
- An interesting embodiment is one in which: in each of a plurality of first computers: at a respective first point in time: providing, at the first computer, information relating to an address or location of the information desired, transferring the information relating to the address or location from the first computer to a second computer, transferring processor executable computer code from the second computer to the first computer, at a respective point in time subsequent to the respective first point in time: providing, at the first computer, the information relating to the address or location, executing in or at the first computer the computer code , where the information relating to the addresses or locations provided relates to the same information and wherein the processor executable computer code transferred is adapted to provide the same effect in the first computers when executed (the same).
- a plurality of first computers firstly request the information, receive the computer code and executes the computer code the next time the information is requested. Naturally, the first point in time does not have to expire at the same time for all first computers.
- each first computer at the respective first point in time information is preferably transferred from the second computer to the first computer, the same parts of the transferred information being stored locally at or in each first computer.
- the execution of the computer code may comprise, in each first computer, retrieving the parts of the information from the local store and requesting, from the address or location, the same one or more other parts of the information.
- a second aspect of the invention relates to a system for providing information from a first computer to a second computer, the system comprising a first and a second computer where: the first computer comprising: a mechanism constructed and adapted to provide information relating to an address or location of the information desired, a mechanism constructed and adapted to transfer the information from the address or location to the first computer to the second computer, a mechanism constructed and adapted to receive, from the second computer, processor executable computer code, and - a mechanism constructed and adapted to execute the computer code, a mechanism constructed and adapted to determine whether the address or location is provided by the providing a mechanism constructed and adapted to the first or a subsequent time and for, if the address or location is provided a subsequent time, operating the executing means to execute the computer code, the second computer comprising: a mechanism constructed and adapted to receive the address or location, a mechanism constructed and adapted to transmit the computer code to the first computer.
- the first computer comprises storage
- the receiving means comprises a mechanism constructed and adapted to receive information and for
- the executing means are adapted to, while executing the computer code, define and/or maintain a database held by the storage means, and wherein the storing means comprise a mechanism constructed and adapted to provide information relating the address or location with a location of the stored information, advantages are seen - also when a number of first computers are "controlled" by the same server in the same manner.
- the executing means may be adapted to, while executing the computer code, determine whether all or part of the stored information to be retrieved is outdated and to, in that situation, request updated information from the second computer. Due to the fact that this determination is performed by the execution of the computer code, any desired timing or requirements for refreshing information may be used-and different requirements for each piece of information if desired.
- a normal manner of providing an address or location on the Internet is in the form of a URL, whereby the providing means preferably should be able to provide such addresses or locations.
- An interesting embodiment of the system is one wherein the transmitting means of the first computer is adapted to transmit additional information to the second computer, and wherein the second computer is adapted to transmit the computer code to the first computer if the second computer receives the additional information and to transmit the information requested if the second computer does not receive the additional information.
- a first computer adapted to perform the method of the invention will identify itself vis-a-vis the server by the additional information where after the server will transmit the code. Other computers requesting the information will simply receive the information in the normal manner - each time the information is requested.
- FIG. 1 shows a computer network containing a client and a server system
- FIG. 2 shows a data process system suitable for practising methods and systems consistent with the present invention
- FIG. 3 depicts the data flow between the client, the server proxy 256 and the server; and FIG. 4 shows an exemplary embodiment of script execution.
- Systems and methods consistent with the present invention use a server proxy 256 on a client system for intercepting or post-processing requests from a client process to the server process. Based on a set of rules, the server proxy 256 handles these requests locally by loading a resource template containing data and blocks of instructions which are executed as part of the resource retrieval.
- the server proxy 256 interfaces with the client and server processes and monitors requests that are transmitted from the client process to the server process.
- the system and method described herein allow users to create resource templates, which are registered with the server proxy 256, thereby allowing the user to substitute the steps of contacting the server process and downloading the resource with the steps of loading the resource template present on the client and execute scripts inside the template.
- the resource template contains static data and scripts (blocks of executable instruc- tions) recognized by the server proxy 256 and executed while loading the resource template.
- the execution of the scripts result in dynamic data being inserted into specific, appropriate places in the resource template. Once all of the scripts have been executed, the resource is completely constructed and delivered to the client process by the server proxy 256.
- resource templates When resource templates are registered with the server proxy 256, they are associated with a resource identity in a way consistent with the method of identifying resources employed by the client-server framework.
- the server proxy 256 When monitoring requests made by the client process, the server proxy 256 examines the identity of the resource being requested. If the identity of the resource matches a registered resource template, the request is handled by the server proxy 256, which takes complete responsibility for delivering the resource to the client process. If the identity of the requested resource does not match a registered resource template, the request is transmitted to the server process and the response from the server is delivered to the client process.
- resource templates are associated with resource identities may differ in systems consistent with the present invention and include (without limitation) associating a specific identity with a specific resource template and associate a partial identifier with a group of resource templates.
- a specific URL can be associated with a specific resource template as well as a partial URL (or base URL) be associated with a group of resource templates in a namespace.
- FIG. 1 shows, in more detail, an example of a client-server system interconnected through a network 100.
- a remote server system 122 is interconnected through network 100 to client system 120.
- Client system 120 includes conventional components such as a processor 124, memory 125 (e.g., RAM), a bus 126 which couples processor 124 and memory 125, a mass storage device 127 (e.g., a magnetic hard disk or an optical storage disk) coupled to processor 124 and memory 125 through an 1/0 controller 128 (connected to bus 126) and a network interface 129, such as a conventional modem or network adapter (connected to bus 126).
- a processor 124 e.g., RAM
- bus 126 which couples processor 124 and memory 125
- mass storage device 127 e.g., a magnetic hard disk or an optical storage disk
- network interface 129 such as a conventional modem or network adapter (connected to bus 126).
- Server system 122 also includes conventional components such as a processor 134, memory 135 (e.g., RAM), a bus 136 which couples processor 134 and memory 135, a mass storage device 137 (e.g., a magnetic or optical disc) coupled to processor 134 and memory 135 through an I/O controller 138 (connected to bus 136) and a network interface 139 such as a conventional modem or network adapter (connected to bus 136).
- processor 134 e.g., RAM
- bus 136 which couples processor 134 and memory 135, a mass storage device 137 (e.g., a magnetic or optical disc) coupled to processor 134 and memory 135 through an I/O controller 138 (connected to bus 136) and a network interface 139 such as a conventional modem or network adapter (connected to bus 136).
- I/O controller 138 connected to bus 1366
- network interface 139 such as a conventional modem or network adapter
- the network 100 shown in FIG. 1 may be any topology and operate under any protocol, including the Internet, private networks, wireless networks and internal computer structures, that allows either various computer systems or modules within a single computer to exchange information.
- FIG. 2 shows a data processing system suitable for practising the present invention.
- the data system comprises a client system 250 and a server system 200.
- the client and server systems 250, 200 have a number of components, including processors 251 and 201, respectively, memory 253 and 203, respectively, storage devices 242 and 202, respectively and network adapters 254 and 204, respectively.
- the client and the server are connected through a network (not shown in FIG. 2), which may be one of the types of networks mentioned above.
- the client memory 253 contains the client program 255, the server proxy 256 and an operating system 257.
- the server proxy 256 contains an association 258 between a specific resource identifier and a resource tem- plate 259 stored in the storage device 252 on the client.
- the resource template 259 contains the static parts of the resource 206 and a script to download the dynamic part of the resource from the server process 205.
- the server memory 203 contains the server process 205 that the client communicates with.
- the mass storage device 202 on the server system 200 contains the resource 206 with the identity being associated with the resource template 258 in the server proxy 256.
- the server mass storage 202 contains the dynamic part of the resource 206 in a separate resource 207.
- the client program 255 would request the data (resource) from the server process 205 by invoking the operating system 257 which would transmit the request over the network through the network adapters 254 and 204 and finally to the server process 205.
- the server process 205 would load the resource 206 from the mass storage 202 of the server system 200 and transmit the requested resource 206 to the client system 250 over the network through the network adapters 204 and 254.
- the operating system 257 on the client would then deliver the requested resource 206 to the client program 255.
- the resource request from the client program 255 is intercepted by the server proxy 256 before being transmitted through the network adapter 254 on the client system 250.
- the server proxy 256 loads the resource template 259 from storage 252 and executes the script contains therein (if one is present).
- This script may include instructions for downloading the resource 207 from the server (which is downloaded as described above).
- the script inserts the resource 207 into the resource template 259, completing the assembly of the resource which is then delivered to the operating system 257 by the server proxy 256.
- the operating system 257 completes the transaction by returning the locally generated resource to the requesting client program 255.
- the introduction of the server proxy 256 and the resource template result is reduction of bandwidth usage when requesting the resource, since only the dynamic part of the resource 207 is actually transmitted over the network.
- resources 206 and 207 may be documents, media or even programs being executed on the server system 200.
- Resources downloaded by scripts in resource templates may be cached using a traditional cache scheme known to those skilled in the art.
- the script may perform any computational task, including but not limited to dynamically constructing data such as images as well as downloading one or more resources from one or more servers and querying resources from local databases.
- the resource template might as well be stored in memory, on a removable media such as a CD-ROM, in a database or on a local intranet server depending on the specific realization of the present invention.
- FIG. 3 shows the flow of data for a request that matches a registered resource template and a request that does not. If a client process 300 makes a request that does not match a registered resource template, the request is intercepted by the server proxy 301 which examines the request 303 and determines that no matching resource template is available and forwards the request to the server system 305 and consequently the server process 304. The server process 304 returns the requested resource, which is delivered to the client process 300 without interference of the server proxy 256.
- the proxy server 301 process the request by loading the associated resource template 308 and processing the scripts inside the resource template 309. Finally the server proxy 303 delivers the requested resource to the client process 300.
- the process of matching resource identities with resource templates may be implemented by associating a base URL (for example "http://www.netbloom.com/local”) with a local directory (for example "C: ⁇ netbloom”) on the hard disc of the computer and the using these base paths for mapping a subset of the URL's namespace to local files on the hard disc.
- the server proxy 256 maps a request with the URL of "http://www.netbloom.com/local/dir/index.html” to a local file with the path "C: ⁇ netbloom ⁇ dir ⁇ index.html", loads the file and executes any scripts in the resource template before returning the resource to the client process.
- the server proxy 256 may map a single URL to a specific file in the file system.
- the server proxy 256 may choose to forward the request to the server in case the URL was inside the namespace but no file is present in the local file system or it may return an error to the client process.
- namespace handlers can be added to the server proxy 256 as plug-ins.
- a namespace handler is responsible for mapping resource identities to local resource templates using a scheme similar to the exemplary namespace handler described above.
- Plug-in namespace handlers compliant with a specific API can thus be easily added to the server proxy 256, allowing for mapping resource identities with resource templates that are located and maintained by separate systems, for example databases or proprietary applications.
- the process of associating a resource with a local resource template may then be associating a resource or group of resources with a namespace handler and a set of parameters for this handler.
- the example above would then comprise associating a base URL with a filesystem namespace handler specifying the root directory of the mapping.
- a base URL could be associated with a CD-ROM namespace handler mapping the base URL to the root of the CD-ROM drive on the client and requiring the CD present in the drive to have a specific label.
- scripts are placed inside the resource templates and marked by special tags.
- the processing of the scripts in a resource template comprises identifying the script blocks intersected in the resource template and concatenating the static parts of the resource template with the output generated from running the scripts.
- FIG. 4 shows an exemplary embodiment of this aspect, where the resource template 400, an HTML document, comprises of two static parts 401 and 403 and a script 402.
- the server proxy 256 concatenates the static part 401 with generated output "Hello World” from executing the script 402 and the second static part of the resource template, yielding the resource 404 which is delivered to the client process.
- the server proxy 256 may provide functionality for downloading data from servers using standard communication protocols such as HTTP, FTP and secure communication protocols such as HTTPS, functionality for adding resources to existing namespaces and database functionality.
- scripting language might provide interfaces to standard obj ect technologies such as COM, JavaBeans or CORB A making it possible to dynamically extend the functionality available to the scripts being executed as part of the resource template by installing COM objects, JavaBean components or CORBA services on the local sys- tem.
- standard obj ect technologies such as COM, JavaBeans or CORB A making it possible to dynamically extend the functionality available to the scripts being executed as part of the resource template by installing COM objects, JavaBean components or CORBA services on the local sys- tem.
- programming language used in the script blocks of the resource templates may be any existing programming language or a language specific to the embodiment of the invention.
- the language may be interpreted or compiled.
- the script and the static parts of the resource template may be separated into separate files and that a resource template containing only script or only static data are valid resource templates.
- the resource templates may be cached in memory in a compiled form in order to speed up subsequent requests for the resource handled by the specific resource template.
- Methods and systems consistent with the present invention may group resource templates or namespaces in applications, maintaining private application and session state for each application and active user session.
- an application may be defined containing a group of namespaces.
- applications may be grouped by domains.
- the application is initialized and a session is created.
- the application may load a configuration, which is exposed to the scripts being executed in the resource templates belonging to the namespaces of the application.
- a session state may be exposed to the scripts allowing the scripts in the resource templates belonging to the application to accumulate and share information during the session and use this information when processing requests.
- the session is terminated when the client process dies or alternatively when no request has been made for the particular application for a given period of time.
- the server proxy 256 may be running several applications simultaneously and the data for each application may be isolated for security reasons.
- resource templates can be installed permanently on the local system from different sources, such as CID-ROM's, downloads and the like.
- the process of installing resource templates may comprise copying the resource templates to the hard disc of the client and registering the templates with the server proxy 256.
- Registering templates may be done by adding the definitions of the resource templates and their associated resource identifiers to a configuration file, the system registry, a database or some similar way known to one skilled in the art.
- the resource templates can be downloaded dynamically and cached by the server proxy 256.
- the server proxy 256 can make its presence on the client clear to the server. If capable, the server may respond by sending a resource template to the browser rather than sending the actual resource. The server indicates the server proxy 256 that the data being transmitted is actually a resource template and not the actual resource by adding information to the response.
- the server proxy 256 caches the resource templates and subsequent requests for the resource will be handled by the cached resource template rather than the server.
- the caching scheme could be any traditionally timestamp-based scheme known to one skilled in the art.
- cached resource templates may be restricted to resource templates being installed on the client for security reasons.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU63782/01A AU6378201A (en) | 2000-06-07 | 2001-06-07 | A method and a system for providing information from a server to a client |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US20980100P | 2000-06-07 | 2000-06-07 | |
US60/209,801 | 2000-06-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2001095116A2 true WO2001095116A2 (fr) | 2001-12-13 |
WO2001095116A3 WO2001095116A3 (fr) | 2002-04-04 |
Family
ID=22780338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/DK2001/000389 WO2001095116A2 (fr) | 2000-06-07 | 2001-06-07 | Procede et systeme pour acheminer des informations d'un serveur a un client |
Country Status (2)
Country | Link |
---|---|
AU (1) | AU6378201A (fr) |
WO (1) | WO2001095116A2 (fr) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004027607A3 (fr) * | 2002-09-20 | 2004-11-04 | Mks Inc | Systeme de controle de la version pour developpement de logiciels |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6233601B1 (en) * | 1996-11-14 | 2001-05-15 | Mitsubishi Electric Research Laboratories, Inc. | Itinerary based agent mobility including mobility of executable code |
US6065046A (en) * | 1997-07-29 | 2000-05-16 | Catharon Productions, Inc. | Computerized system and associated method of optimally controlled storage and transfer of computer programs on a computer network |
US6292185B1 (en) * | 1998-04-27 | 2001-09-18 | C.C.R., Inc. | Method and apparatus for tailoring the appearance of a graphical user interface |
-
2001
- 2001-06-07 AU AU63782/01A patent/AU6378201A/en not_active Abandoned
- 2001-06-07 WO PCT/DK2001/000389 patent/WO2001095116A2/fr active Application Filing
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004027607A3 (fr) * | 2002-09-20 | 2004-11-04 | Mks Inc | Systeme de controle de la version pour developpement de logiciels |
US7680932B2 (en) | 2002-09-20 | 2010-03-16 | Mks Inc. | Version control system for software development |
Also Published As
Publication number | Publication date |
---|---|
AU6378201A (en) | 2001-12-17 |
WO2001095116A3 (fr) | 2002-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7499983B2 (en) | Web dispatch service | |
US6397253B1 (en) | Method and system for providing high performance Web browser and server communications | |
JP3967806B2 (ja) | リソースの位置を指名するためのコンピュータ化された方法及びリソース指名機構 | |
US9241047B2 (en) | System and method for providing virtual web access | |
US9219705B2 (en) | Scaling network services using DNS | |
US7325047B2 (en) | Dynamic undeployment of services in a computing network | |
CA2279382C (fr) | Systeme de courtage pour demandes dans le web commandant des operations multiples | |
US6209029B1 (en) | Method and apparatus for accessing data sources in a three tier environment | |
EP1546924B1 (fr) | Procede, systeme, et programme de maintien de donnees dans des memoires caches reparties | |
US5991760A (en) | Method and apparatus for modifying copies of remotely stored documents using a web browser | |
US9081835B2 (en) | Edge deployed database proxy driver | |
US7640347B1 (en) | Method and system for inserting POST data into the GET request to apply normal caching rules | |
JP4729172B2 (ja) | 宣言型パラダイムをサポートするステートレスなウェブ環境におけるトランザクションを実行するための方法および装置 | |
US7127713B2 (en) | Java application framework for use in a content delivery network (CDN) | |
US6105028A (en) | Method and apparatus for accessing copies of documents using a web browser request interceptor | |
US6996599B1 (en) | System and method providing multi-tier applications architecture | |
US8639742B2 (en) | Refreshing cached documents and storing differential document content | |
KR100470493B1 (ko) | 특수 도메인네임 분해 서비스 방법 | |
US7571208B2 (en) | Creating proxies from service description metadata at runtime | |
US20040068579A1 (en) | System and method to refresh proxy cache server objects | |
US20020174174A1 (en) | System and method for monitoring execution time of a transaction | |
US20070220000A1 (en) | Universal Cache | |
US20030055862A1 (en) | Methods, systems, and articles of manufacture for managing systems using operation objects | |
US6408296B1 (en) | Computer implemented method and apparatus for enhancing access to a file | |
WO2001095116A2 (fr) | Procede et systeme pour acheminer des informations d'un serveur a un client |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A2 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
AK | Designated states |
Kind code of ref document: A3 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A3 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
122 | Ep: pct application non-entry in european phase | ||
NENP | Non-entry into the national phase |
Ref country code: JP |