Source: https://patents.google.com/patent/JP4020676B2/en
Timestamp: 2019-12-15 16:11:44
Document Index: 696371633

Matched Legal Cases: ['Application No. 2001', 'Application No. 2001', 'art 4', 'art 4', 'art 5', 'art 5', 'art 5', 'art 5', 'art 5', 'art 5', 'art 5', 'art 5', 'art 5', 'art 5', 'art 5', 'art 5', 'art 5', 'art 5', 'art 5', 'art 5', 'art 5', 'art 21', 'art 21', 'art 21', 'art 22', 'art 5', 'art 21', 'art\n201']

JP4020676B2 - Web system and Web system control method - Google Patents
Web system and Web system control method Download PDF
JP4020676B2
JP4020676B2 JP2002084926A JP2002084926A JP4020676B2 JP 4020676 B2 JP4020676 B2 JP 4020676B2 JP 2002084926 A JP2002084926 A JP 2002084926A JP 2002084926 A JP2002084926 A JP 2002084926A JP 4020676 B2 JP4020676 B2 JP 4020676B2
JP2002084926A
JP2003281023A (en
英昭 佐藤
篤司 庄野
雄一 木場
康浩 木村
俊文 關
2003-10-03 Publication of JP2003281023A publication Critical patent/JP2003281023A/en
2007-12-12 Publication of JP4020676B2 publication Critical patent/JP4020676B2/en
The present invention relates to a web system and a web system control method.
2. Description of the Related Art A client-server type information system having a server that provides various services on a network and a client that requests services from the server is widely used. A World Wide Web system (hereinafter referred to as Web) that performs communication using the HTTP (HyperText Transfer Protocol) protocol on the Internet is a client-server type information system that is very widely used. In general, on the Web, a server program operates on a server, and a predetermined program such as a Web browser operates on a client.
In a client / server type information system such as the Web, a service is provided by communication between a client and a server. Therefore, the communication band between the client and the server tends to become a bottleneck of the entire system. Therefore, a cache technique is usually used to reduce the load on the network.
In the case of a Web system, many Web browsers or the like that operate on a client use a cache function, and cache recently accessed data. In the Web system, access is made by specifying information and services by URL (Uniform Resource Locator), so the cache on the client is the cacheable data that is returned as a result of requesting information or services from the Web server in the past Is associated with the URL and stored in the cache. When there is a request for information or a service with the same URL as that existing in the cache, if it can be determined that the data in the cache is not stale, the data is returned to the server. Communication between them can be eliminated.
In addition, when a LAN (Local Area Network) is used, a proxy server is often installed between the LAN and the Internet, and the proxy server is often provided with a cache function. The above-mentioned client cache is a cache dedicated to the user of the client. However, since the cache of the proxy server on the LAN operates as a shared cache for a plurality of users, it accesses URLs accessed by other clients in the past. Cash is also effective when you do.
These caches target static content. In the past, information and services published on the Web were not so frequently updated, and many of them were published to an unspecified number of people. Even if the existence of the cache was confirmed on the base, it was sufficiently effective.
However, as a system in which users access information and services on a server via a network using a Web browser, such as a Web-based ASP (Application Service Provider), the number of data that cannot be handled by the above-described cache technology increases. is doing.
In order to cope with such problems, Japanese Patent Application No. 2001-069284 has proposed a cache technique using fingerprint (FP) compression.
In Japanese Patent Application No. 2001-069284, FP compression processing is performed between a client side proxy server (CSP: Client Side Proxy) and a Web server side proxy server (SSP: Server Side Proxy), so there are two proxy servers. There is a problem that it is necessary for the set and the network configuration becomes complicated.
For example, in the case of a mobile terminal using MobileIP technology, it is difficult to use a CSP because the communication path from the mobile terminal to the Web server is different from the communication path from the Web server to the mobile terminal.
Therefore, an object of the present invention is to provide a data transfer technique that can reduce a network load only by using a general-purpose browser on the client side without providing a separate CSP between the SSP and the client.
In order to solve the above problems, a Web system of the present invention includes a client, a server that receives a request for acquiring content data transmitted from the client, and outputs content data corresponding to the request, and the client. A data transfer device that mediates data transfer performed between the server and the data transfer device, wherein the data transfer device receives the request from the client; and the reception unit receives the request. A transmission unit that transmits a request to the server that is the destination of the request, and an FP (fingerprint) value of the content data when the content data corresponding to the request is received from the server via the reception unit And a calculation unit for calculating A storage unit in which the stored FP value and the corresponding content data are stored in association with each other, and an FP value having the same value as the FP value calculated by the calculation unit is already stored in the storage unit A determination unit that determines whether the same FP value is already stored in the storage unit by the determination unit, and transmits the FP value as a response to the client, and the determination When the unit determines that the same FP value is not stored in the storage unit, the content data and the FP value are transmitted to the client as a response, After determining whether the same FP value is stored by the determination unit, when transmitting a response to the client, A control unit that adds an instruction to automatically download and incorporate the FP cache-compatible program into the response and transmits the response, and when the client does not have the FP cache-compatible program, The FP cache compatible program is incorporated by executing the added instruction, and new content data received from the server via the data transfer device and its FP value are incorporated according to the incorporated FP cache compatible program. Associate and cache, When only the FP value of the content data is received as a response, When the FP value of the content data stored in the cache is equal to the FP value of the content data received as a response, According to the built-in FP cache compatible program, Content data cached in association with the FP value is output.
The Web system control method of the present invention includes a client, a server that receives a request for acquiring content data transmitted from the client, and outputs content data corresponding to the request, and the client and the server. A control method of a Web system having a data transfer device that mediates data transfer performed between The data transfer device When the request is received from the client, the received request is transmitted to the server that is the destination of the request, and the content data corresponding to the request is received from the server, the FP ( Fingerprint) value is calculated, the calculated FP value and the corresponding content data are associated and cached in a storage unit, and an FP value having the same value as the calculated FP value is already stored in the storage unit And when it is determined that an FP value of the same value as the FP value is already stored in the storage unit, the FP value is transmitted to the client as a response, and the FP If it is determined that an FP value equal to the value is not stored in the storage unit, the content data Transmitted to the client and said FP value as the response, After determining whether the same FP value is stored by the determination unit, when transmitting a response to the client, An instruction to automatically download and incorporate an FP cache compatible program is added to the response and transmitted, and the client without the FP cache compatible program executes the instruction added to the response to execute an FP cache. In accordance with the FP cache compatible program, the client stores the newly received content data and its FP value in association with each other, and the client stores , When only the FP value of the content data is received as a response, When the FP value of the content data stored in the cache is equal to the FP value of the content data received as the response, According to the built-in FP cache compatible program, Content data stored in association with the FP value is output.
(System Overview) FIG. 1 shows an example of the configuration of a Web system according to this embodiment. This Web system reduces the load on the network by temporarily storing data from the Web browser 1-1 as a client, the Web server 1-3 providing various information and services to the client, and the Web server 1-3. Proxy server 1-2 to be connected to each other via a network.
The Web browser 1-1 is a program that runs on the computer of the client 100. The Web browser 1-1 accesses the proxy server 1-2, transmits a request message based on the HTTP protocol, requests content data such as information and services, and receives a reply message obtained as a result. The Web browser 1-1 extracts the content data from the received reply message, displays it on a screen (not shown), etc., registers it in a cache (not shown), and reads out the above-mentioned cache when acquiring the same content data again. Reduce the time to display.
The proxy server 1-2 is a program that runs on the server 111, which is a computer belonging to the Web server side network 110. In response to a request message from the Web browser 1-1, the proxy server 1-2 transmits a reply message using content data existing in a cache (not shown), or content data exists in the aforementioned cache. If not, the request message is transferred to the Web server 1-3, the content data is acquired, and the reply message is transmitted to the Web browser 1-1. In addition, by calculating the FP value for the content data acquired from the Web server 1-3 and registering it in the cache in association with the URL and the data, data that is different but substantially the same is not shown. It becomes possible to hit the data in the cache. The FP value is data serving as a feature amount of content data, and is calculated using a hash function as will be described later.
The Web server 1-3 is a program that operates on the server 112 that is a computer belonging to the Web server side network 110. The Web server 1-3 receives a command based on the HTTP protocol from the proxy server 1-2, and transmits content data such as information and services.
(Data and Command Flow) An overview of the flow of data and commands among the Web browser 1-1, proxy server 1-2, and Web server 1-3 will be described with reference to FIGS. .
There are two types of caches in the Web browser 1-1 of this embodiment, one is a cache that stores the URL and content data originally provided in the Web browser 1-1 in association with each other, and the other is related to the present invention. This is a cache that stores FP values and content data in association with each other. The cache 1-11 in FIGS. 2 to 7 is the latter cache.
(A) The content data requested by the Web browser 1-1 does not exist in the cache 1-21 of the proxy server 1-2 (that is, when the content data is accessed for the first time).
The flow of data and commands is as shown in FIG. (1) The Web browser 1-1 accesses the proxy server 1-2 and transmits a request message for requesting content data. (2) The proxy server 1-2 transfers the request message to the Web server 1-3. (3) The Web server 1-3 outputs content data in response to the request message. (4) The proxy server 1-2 calculates the FP value of the content data, registers the content data, the FP value, and the URL in association with each other in the cache 1-21. (5) Then, the proxy server 1-2 transmits the content data and the FP value to the web browser 1-1. (6) The web browser 1-1 associates the content data with the FP value and registers them in the cache 1-11.
(B) When the content data requested by the Web browser 1-1 exists in the cache 1-21 of the proxy server 1-2 and hits in a search by URL.
The flow of data and commands is as shown in FIG. (1) The Web browser 1-1 accesses the proxy server 1-2 and transmits a request message for requesting content data. (2) The proxy server 1-2 extracts the content data and the FP value corresponding to the URL specified in the request message from the cache 1-21. (3) The proxy server 1-2 transmits the FP value and content data to the Web browser 1-1. (4) The Web browser 1-1 associates the FP value with the content data and registers them in the cache 1-11.
(C-1) When the content data requested by the Web browser 1-1 exists in the cache 1-21 of the proxy server 1-2 and hits in the search by the FP value, the cache 1 of the Web browser 1-1 When content data having the FP value also exists in -11 (in the case of compressed transfer).
The flow of data and commands is as shown in FIG. (1) The Web browser 1-1 accesses the proxy server 1-2 and transmits a request message for requesting data. (2) The proxy server 1-2 transfers the request message to the Web server 1-3. (3) The Web server 1-3 outputs content data in response to the request message. (4) The proxy server 1-2 calculates the FP value of the content data, and searches for the content data from the cache 1-21 using the FP value. (5) The proxy server 1-2 transmits the FP value to the web browser 1-1. (6) The Web browser 1-1 reads the content data corresponding to the FP value from the cache 1-11.
(C-2) This is a case where the data requested by the Web browser 1-1 exists in the cache 1-21 of the proxy server 1-2 and is hit by a search based on the FP value. 11 has no data having the FP value (when a re-request is made by compression transfer).
The flow of data and commands is as shown in FIG. (1) to (5) are the same as (C-1). (6) Since there is no content data corresponding to the FP value in the cache 1-11, the Web browser 1-1 transmits a re-request message to request the proxy server 1-2 to transmit the content data. (7) The proxy server 1-2 extracts content data from the cache 1-21 in response to the re-request message. (8) The proxy server 1-2 transmits the FP value and content data to the web browser 1-1. (9) The web browser 1-1 registers the content data and the FP value in association with the cache 1-11.
(D-1) The content data requested by the Web browser 1-1 does not exist in the cache 1-21 of the proxy server 1-2, and the proxy server 1-2 performs a differential transfer, and the Web browser 1 -1 cache 1-11 includes difference source data necessary for composition of content data from the difference (in the case of difference transfer).
The flow of data and commands is as shown in FIG. (1) The Web browser 1-1 accesses the proxy server 1-2 and transmits a request message for requesting content data. (2) The proxy server 1-2 transfers the request message to the Web server 1-3. (3) The Web server 1-3 outputs content data in response to the request message. (4) The proxy server 1-2 calculates the FP value of the content data, registers the FP value, the URL, and the content data in association with each other in the cache 1-21. (5) The proxy server 1-2 reads the difference source data and the difference source FP value used for difference transfer from the cache 1-21. (6) The proxy server 1-2 transmits the difference data that is the difference between the content data and the difference source data, the difference source FP value, and the FP value to the Web browser 1-1. (7) The Web browser 1-1 reads the difference source data corresponding to the difference source FP value from the cache 1-11. (8) The Web browser 1-1 synthesizes the content data from the difference source data and the difference data, and registers the FP value and the content data in association with each other in the cache 1-1.
(D-2) This is a case where the content data requested by the Web browser 1-1 does not exist in the cache 1-21 of the proxy server 1-2, and the proxy server 1-2 performs a differential transfer, and the Web browser 1 -1 cache 1-11 does not contain the difference source data necessary for synthesizing the content data from the difference (when a re-request is made by difference transfer).
The flow of data and commands is as shown in FIG. (1) to (6) perform the same processing as (D-1). (7) The Web browser 1-1 transmits a re-request message to the proxy server 1-2, and requests the difference source data that does not exist in the cache 1-11. (8) The Web browser 1-1 registers the difference source data and the difference source FP value obtained by the re-request message in association with each other in the cache 1-1. (9) The web browser 1-1 synthesizes the content data from the difference source data and the difference data, and registers the FP value and the content data in association with each other in the cache 1-1.
(Configuration of Web Browser) FIG. 8 is a diagram for explaining the configuration of the Web browser 1-1 of this embodiment. The Web browser 1-1 is a browser core engine unit that interprets HTML (Hyper Text Markup Language), etc., draws and displays a screen, communicates with the Web server 1-1 and the proxy server 1-2, accepts a request from a user, and the like. 2-1, a plug-in unit 200 that expands a browser function, an FP cache processing engine 2-2 that is incorporated in the plug-in unit 200 and performs FP cache processing, and a cache 201 that stores URLs and content data in association with each other. And a memory 202 for temporarily storing the received content data.
The browser core engine unit 2-1 provides functions implemented in a general browser. Specifically, in response to a request from the user, the cache 201 is searched using the URL, or the proxy server 1-2 is accessed. Also, analysis and display of the content data read from the cache 201 and reply data extracted from the reply message received from the proxy server 1-2 are stored in the memory 202 for analysis and display. The cache 201 is implemented in a general browser and stores a URL and content data in association with each other.
The FP cache processing engine 2-2 performs cache processing using the FP value. A detailed configuration of the FP cache processing engine 2-2 will be described with reference to FIG. The FP cache processing engine 2-2 has an input unit 3-1 that reads out reply data from the memory 202 using the memory address received from the browser core engine unit 2-1 of the Web browser 1-1, and analyzes the reply data into the FP An analysis unit 3-2 for determining whether or not it is necessary to synthesize content data from values, an FP cache area 3-3 for extracting and associating and storing content data and FP values from reply data, content data, And a registration unit 3-4 for registering the FP value in the FP cache area 3-3. The FP cache area 3-3 corresponds to the cache 1-11 described above. In the present embodiment, the FP cache area 3-3 is different from the cache 201 described above.
Furthermore, when the analysis unit 3-2 determines that synthesis is necessary, the synthesis unit 3-5 that synthesizes content data from the FP value, and the proxy server 1 in response to a request from the synthesis unit 3-5 -2 includes a re-request generation unit 3-6 that acquires content data and difference source data, and an output unit 3-7 that finally outputs the content data to the memory 202.
The input unit 3-1 reads reply data from the memory 202 based on the address received from the browser core engine unit 2-1, and outputs it to the analysis unit 3-2.
The analysis unit 3-2 determines a processing policy based on the mode information included in the reply data. When the mode information is set to normal transfer (Mode: None), compressed transfer (Mode: Compress), or differential transfer (Mode: Differential) as described later, the mode is normal transfer. Outputs the reply data to the registration unit 3-4, and outputs the reply data to the synthesizing unit 3-5 in the case of compression transfer and differential transfer.
The registration unit 3-4 extracts the content data from the reply data, associates it with the FP value, and registers it in the FP cache area 3-3.
The synthesizer 3-5 synthesizes content data using the FP value. If the data is compressed and transferred, the content data corresponding to the FP value is searched in the FP cache area 3-3. If it does not exist in the FP cache area 3-3, the FP value is output to the re-request generation unit 3-6 to acquire the content data from the proxy server 1-2. Then, the content data obtained from the FP cache area 3-3 or the proxy server 1-2 is written in the reply data and output to the registration unit 3-4.
In the case of difference transfer, the difference source data corresponding to the difference source FP value is searched in the FP cache area 3-3. When it does not exist in the FP cache area 3-3, the difference source FP value is output to the re-request generation unit 3-6, and the difference source data is acquired from the proxy server 1-2. Then, the content data is synthesized from the difference source data obtained from the FP cache area 3-3 or the proxy server 1-2 and the difference data included in the reply data, and the synthesized content data is written in the reply data. Output to 4.
The re-request generation unit 3-6 accesses the proxy server 1-2 and acquires content data and difference source data corresponding to the FP value and difference source FP value received from the synthesis unit 3-5. The re-request generation unit 3-6 accesses the proxy server 1-2 without using the browser core engine unit 2-1, and directly performs communication using the HTTP protocol. At this time, the FP value and a parameter indicating a re-request are transmitted together with the HTTP protocol command to notify the proxy server 1-2 that the request is different from the normal request. Specifically, an FP value or a header indicating a re-request is added to an HTTP protocol request.
The plug-in unit 200 is prepared for extending the function of the browser core engine unit 2-1. Examples of the Web browser 1-1 on which the plug-in unit 200 is mounted include a Netscape (R) Navigator, a Netscape (R) Communicator, a Microsoft Internet Explorer (R), and the like. These Web browsers can perform processing that they do not originally have by incorporating plug-ins provided by software. For example, it is possible to start and control a specific application such as video playback software in the Web browser. In the present embodiment, the FP cache processing engine 2-2 is provided in the form of software and is operated by being incorporated in the plug-in unit 200.
The browser core engine unit 2-1 acquires content data in response to a request from the user. First, the cache 201 is searched using the URL. If the target content data exists in the cache 201, it is used. If it does not exist, the proxy server 1-2 is accessed to obtain reply data including the target content data and store it in the memory 202.
The browser core engine unit 2-1 analyzes the acquired content data and reply data, and if a plug-in is necessary, interrupts the analysis and starts the plug-in. When the plug-in is activated, the address of the content data or reply data stored in the memory 202 is output. When the plug-in processing is completed, the analysis of the content data is resumed and the display is performed.
The FP cache processing engine 2-2 is activated from the browser core engine unit 2-1 in the same manner as other plug-ins. At startup, the address of reply data stored in the memory 202 is received from the browser core engine unit 2-1, and the reply data is cached by the FP value and output to the browser core engine unit 2-1.
(Configuration of Proxy Server) FIG. 10 is a diagram for explaining the configuration of the proxy server 1-3 of this embodiment. The proxy server 1-3 includes a request receiving unit 4-1 that receives a request message from the Web browser 1-1, and an analysis unit 4-2 that analyzes the request message from the Web browser 1-1 and collates with a cache. A request transmission unit 4-4 for transferring a request message to the Web server 1-3, and a cache area 4-3 for storing the FP value, URL, and content data in association with each other. This cache area 4-3 corresponds to the aforementioned cache 1-21.
Further, a reply receiving unit 4-5 that receives a response and content data from the Web server 1-3, an FP determination unit 4-6 that determines whether the received content data is to be subjected to FP cache processing, and the received content data FP calculation unit 4-8 that calculates the FP value of the FP, and FP management unit 4-7 that searches the cache area 4-3 based on the FP value. And it has the reply production | generation part 4-9 which adds reply information to content data, and produces | generates reply data, and the reply transmission part 4-10 which transmits the reply message containing reply data to the web browser 1-1.
The request receiving unit 4-1 receives a request message based on the HTTP protocol from the Web browser 1-1.
The analysis unit 4-2 analyzes the received request message. If the content data corresponding to the URL included in the request message from the Web browser 1-1 exists in the cache area 4-3 as in the case of (B) described above, the contents are stored from the cache area 4-3. The FP value associated with the data is read and output to the reply generation unit 4-9. If there is no content data corresponding to the URL, a request message is output to the request transmission unit 4-4.
When a re-request message is transmitted from the Web browser 1-1 as in the cases (C-2) and (D-2) described above, the corresponding content data is read from the cache area 4-3. And output to the reply generation unit 4-9 together with the notification that the operation is for the re-request message.
The cache area 4-3 stores the content data acquired by the proxy server 1-2 from the Web server 1-3, the FP value calculated for the content data, and the URL of the content data in association with each other. In principle, there is one FP value corresponding to one content data due to the nature of the FP value. A plurality of URLs may exist for one data. FIG. 11 shows an example of data stored in the cache area 4-3. The URL, the FP value of the entire content data, and the FP value of each line of the content data are stored as a set.
The request transmission unit 4-4 transfers the request message from the Web browser 1-1 to the Web server 1-3. The reply receiving unit 4-5 receives content data from the Web browser 1-1.
The FP determination unit 4-6 determines whether the format of the content data received from the web browser 1-1 is compatible with FP. In the present embodiment, the data format that does not support FP includes image data and stream data. If the content data has a format that does not support FP, the FP determination unit 4-6 outputs the content data to the reply transmission unit 4-10 as it is.
The FP management unit 4-7 causes the FP calculation unit 4-8 to calculate the FP value of the received content data. Then, content data having the same FP value is searched for in the cache area 4-3 using the obtained FP value. If content data having the same FP value is not found, the FP value and content data are associated with each other and registered in the cache area 4-3, and whether differential transfer is possible is checked. Perform the calculation.
Whether to perform differential transfer is determined based on whether content data similar to the received content data exists in the cache area 4-3. In determining similarity, the received content data and the content data stored in the cache area 4-3 are compared in units of lines. As described above, since the content data stored in the cache area 4-3 is stored together with the FP value of each row, the FP value is equal to or greater than the predetermined number of rows as compared with the FP value of each row of the received content data. If they match, it is determined that the similarity is high, and difference transfer is performed.
The FP calculation unit 4-8 calculates the FP value of the content data given from the FP management unit 4-7. The calculation of the FP value is performed using a hash function such as MD-5 or SHA-1 used for electronic signatures. These hash functions have the property of converting arbitrary data into a 128-bit hash value when MD-5 is used, and into a 160-bit hash value when SHA-1 is used. In addition, when two data X and Y are given, these hash functions have the same hash value H (X) for X and hash value H (Y) for Y if X and Y are the same data. If Y and Y are different data, H (X) and H (Y) have different values with a very high probability. In principle, the hash values may be the same for different data, but the possibility is very low. Therefore, the possibility of taking the same hash value between significant data is practically negligible. The calculation of the FP value is not limited to the hash function, and for example, a compression algorithm may be used.
The reply generation unit 4-9 generates a reply message that the reply transmission unit 4-10 transmits to the Web browser 1-1.
In this embodiment, the FP management unit 4-8 calculates the FP value only when the FP determination unit 4-6 determines that the content data has a format corresponding to the FP, but the determination is made after calculating the FP value. You may make it perform.
(Configuration of Reply Message Transmitted by Proxy Server to Web Browser) FIG. 12A is a diagram for explaining the outline of the configuration of the reply message generated by the reply generation unit. The reply generation unit 4-9 generates a reply message having a header part 5-1 and a body part 5-2 based on the HTTP protocol. The body part 5-2 is reply data generated by the proxy server 1-2. The FP cache processing engine download instruction 5-21, the FP cache processing engine call instruction 5-22, the fingerprint part 5-23, the content And a data portion 5-24.
As shown in FIG. 13, the header section 5-1 includes information such as the status and data format for the request. This format is standard for the HTTP protocol.
The FP cache processing engine download instruction 5-21 is an instruction for causing the web browser 1-1 to download and incorporate the plug-in unit 200 when the web browser 1-1 does not have the FP cache processing engine 2-2. including. Therefore, if the Web browser 1-1 already has the FP cache processing engine 2-2, the FP cache processing engine download command 5-21 does nothing.
The FP cache processing engine call command 5-22 includes a command for calling the FP cache processing engine 2-2 incorporated in the plug-in unit 200 of the Web browser 1-1 and operating the cache function using the FP value.
The FP cache processing engine download instruction 5-21 and the FP cache processing engine call instruction 5-22 are executed when the browser core engine unit 2-1 analyzes the reply data.
The fingerprint unit 5-23 includes an FP value calculated by the FP calculation unit 4-8 and an identifier representing the current transfer mode (differential transfer, compressed transfer using the FP cache, and normal transfer not using the cache). In the case of performing differential transfer, differential data is also included here.
The content data section 5-24 is content data obtained from the Web server 1-3 or read from the cache area 4-3.
A specific example of the configuration of the body portion 5-2 is a configuration as shown in FIG. In this configuration, the content data section 5-24 is in the HTML format, the FP cache processing engine download instruction 5-21, the FP cache processing engine call instruction 5-22, and the fingerprint section 5-23 are contained in the content data section 5-24. It has an embedded shape. Further, a command that is effective when Microsoft Internet Explorer (R) is used as the Web browser 1-1 is used.
The FP cache processing engine download instruction 5-21 is described using an HTML <OBJECT> tag. This tag is used to insert various objects such as images, sounds, moving images, and applications from other files. When the browser core engine unit 2-1 of the Web browser 1-1 analyzes the HTML file and finds this tag, it downloads the designated file and automatically executes it.
In the present embodiment, an ActiveX (R) control file of the FP cache processing engine 2-2 is designated by the parameter 10-2 in the <OBJECT> tag 10-1. If the specified file is not installed, the Web browser 1-1 uses http: // www. toshiba. co. jp / ClientProxy. Download from cab and install. This file may exist on the same server as the proxy server 1-2, or may exist in a different location from the proxy server 1-2.
The FP cache processing engine call instruction 5-22 is described in the script language described in the area specified by the HTML <SCRIPT> tag 10-3. The Web browser 1-1 interprets the content described between <SCRIPT> and </ SCRIPT> in the HTML file as a script language command.
In this embodiment, the FP cache processing engine call instruction 5-22 is described using JScript of Microsoft (R), and the instruction 10-4 corresponds to this. When the instruction 10-4 is executed, the FP cache processing engine 2-2 starts operation, and at the same time, the memory address storing the body part 5-2 is notified.
The fingerprint unit 5-23 is embedded immediately after the FP cache processing engine call instruction 5-22 like the FP value 10-5. Furthermore, whether transfer mode information is embedded and differential transfer is being performed (Mode: Differential), compressed transfer using an FP value (Mode: Compress), or normal transfer without using a cache (Mode: None) Is identified by the FP cache processing engine. When differential transfer is performed, differential data is embedded together with the FP value. FIG. 15 shows an example of the fingerprint unit 5-23 when differential transfer is performed. The fingerprint unit 5-23 has an FP value 1011 and difference data 1012. The difference data 1012 is a difference source FP together with normal data “Tomorrow's schedule is <BR>”, “8:10 arrival <BR>”, and the like. The values 1013, 1014, 1015 are included.
The configuration of the difference source FP value will be described with reference to FIG. The difference source FP value includes an identifier 1021 indicating that the inserted line is based on the difference source FP value, a quoted line indicator 1022 indicating a line to be quoted of the difference source data, and an FP value 1023 of the difference source data. The example of FIG. 16 indicates that “first to fifth lines (L1 to L5)” of data having the FP value “01defghijmno23kl45567890abcpqrstu” is cited. In the FP cache processing engine 2-2, this line is interpreted and appropriate data is inserted.
Although an example effective in Microsoft Internet Explorer (R) has been introduced here, a similar implementation is possible using another script language such as JavaScript (R) that can be used in an HTML file.
The above description is a reply message for the request from the browser core engine unit 2-1 of the Web browser 1-1. When the reply generation unit 4-9 is notified from the analysis unit 4-2 that the operation is for the rerequest message, the reply generation unit 4-9 responds to the rerequest from the rerequest generation unit 3-6 of the FP cache processing engine 2-2. Since this is a message, the above-described FP cache processing engine download instruction 5-21 and FP cache processing engine call instruction 5-22 are unnecessary. Therefore, as shown in FIG. 12B, a reply message in which the difference source FP value 5-31 and the difference source data 5-32 are set in the body part 5-2 is generated.
(Operation of Web Browser) The browser core engine unit 2-1 of the Web browser 1-1 transmits a request message to the proxy server 1-2 in response to a user request, and the proxy server 1-2 responds to the content data as described above. The FP value and the instruction related to the FP cache processing engine 2-2 are embedded to generate reply data and return a reply message.
FIG. 17 is a flowchart for explaining the operation after receiving the reply message from the proxy server 1-2 among the operations of the browser core engine unit 2-1.
The browser core engine unit 2-1 receives the reply message from the proxy server 1-2, and stores the body unit 5-2 of the reply message in the memory 202. As shown in FIG. 14, in the body part 5-2, an FP cache processing engine download instruction 5-21, an FP cache processing engine call instruction 5-22, a fingerprint part 5-23, and a content data part 5-24. And are included. Then, the browser core engine unit 2-1 starts analyzing the body unit 5-2 (step 8-1).
First, it is checked whether or not the FP cache processing engine download instruction 5-21 needs to be executed, that is, whether or not the FP cache processing engine 2-2 is incorporated in the plug-in unit 200 of the Web browser 1-1. (Step 8-2). If it is not incorporated, it is downloaded and incorporated (step 8-4). When the incorporation is completed, the analysis of reply data is resumed and the analysis result is displayed on a screen (not shown) (step 8-5).
If it has already been incorporated, the FP cache processing engine call instruction 5-22 is executed to execute processing by the FP cache processing engine 2-2 as a plug-in (step 8-3). When the processing of the FP cache processing engine 2-2 is completed, the reply data analysis is resumed and the analysis result is displayed on a screen (not shown) (step 8-5).
Next, the operation of the FP cache processing engine 2-2 will be described with reference to FIG.
When the browser core engine unit 2-1 executes the FP cache processing engine call instruction 5-22, the FP cache processing engine 2-2 receives the address of the memory 202 that stores the body unit (reply data) 5-2. Start processing. The FP cache processing engine 2-2 reads the body part 5-2 from the memory 202 and checks the mode information of the fingerprint part 5-23 (step 9-1).
When the transfer mode is normal transfer (Mode: None), the contents of the content data part 5-24 and the FP value of the fingerprint part 5-23 are registered in the FP cache area 3-3 (step 9-2). Then, the processing of the FP cache processing engine 2-2 ends.
When the transfer mode is compression transfer using the FP value (Mode: Compress), content data having the same FP value is searched for in the FP cache area 3-3 using the FP value of the fingerprint unit 5-23 ( Step 9-3). If content data having the same FP value exists in the FP cache area 3-3, the content data found in the FP cache area 3-3 is output to the memory 202 (step 9-4).
If there is no content data having the same FP value in the FP cache area 3-3, the FP cache processing engine 2-2 sends a re-request message to the proxy server 1-2 to acquire the content data (step 9). -5). Then, the acquired content data is registered in the FP cache area 3-3 together with the FP value (step 9-6), and the content data is stored in the memory 202 by executing step 9-4. Then, the processing of the FP cache processing engine 2-2 ends.
On the other hand, when the transfer mode is differential transfer (Mode: Differential), since the differential transfer is performed, the difference source data that is the content data corresponding to the difference source FP value is searched in the FP cache area 3-3. In the case of difference transfer, since there may be a plurality of difference source FP values, a search is performed for all the difference source FP values (step 9-7).
If at least one difference source data corresponding to the difference source FP does not exist, the FP cache processing engine 2-2 transmits a re-request message to the proxy server 1-2 to acquire necessary difference source data (step 9). -8). When all the difference source data is prepared, the content data is synthesized using the difference source data and the difference data (step 9-9).
The content data synthesized by executing step 9-6 and the FP value are associated with each other and registered in the FP cache area 3-3, and the content data synthesized by executing step 9-4 is output to the memory 202 to generate the body part. The data is stored as the content data portion 5-24 of 502. Then, the processing of the FP cache processing engine 2-2 ends.
(Operation of Proxy Server) FIG. 19 is a flowchart for explaining the operation of the proxy server 1-2 when a request message is received from the Web browser 1-1.
The proxy server 1-2 analyzes the request message received from the Web browser 1-1 and extracts information such as a URL (step 6-1). Based on the URL, the cache area 4-3 is searched for content data corresponding to the URL (step 6-2).
If content data exists in the cache area 4-3, the corresponding content data and FP value are read from the cache area 4-3, reply data is generated, and transmitted to the Web browser 1-1 (step 6-3). .
If there is no content data in the cache area 4-3, the request message is transferred to the Web server 1-3 to acquire the corresponding content data (step 6-4). Then, processing such as caching is performed on the content data included in the reply from the Web server 1-3 (step 6-5).
FIG. 20 illustrates an operation when the proxy server 1-2 receives a reply from the Web server 1-3 and performs a process of generating a body part (reply data) of a reply message to the Web browser 1-1. It is a flowchart.
A reply from the Web server 1-3 is received and content data is extracted (step 7-1). It is checked whether the extracted content data is FP cache target data (step 7-2).
In the case of content data that is not subject to FP cache, such as images and stream data, it is sent as reply data without performing FP cache processing (step 7-11).
In the case of FP cache target data, the FP value of the content data is calculated (step 7-3). Then, the cache area 4-3 is searched based on the FP value to search for content data having the same FP value (step 7-4).
When there is content data having the same FP value, only the FP value is transmitted to the Web browser 1-1 instead of the content data, so that the transfer mode information indicating that the FP value of the content data is compressed and transferred ( (Mode: Compress) is set in the fingerprint part 5-23 of the body part 5-2 (step 7-5). Then, an FP cache download instruction 5-21 and an FP cache processing engine call instruction 5-22 are set (step 7-10).
If there is no content data having the same FP value, the content data, the FP value, and the URL are associated and registered in the cache area 4-3 (step 7-6). Further, in order to check whether differential compression is possible, the FP value is compared with the data in the FP cache area in units of lines (step 7-7).
When differential compression is possible, that is, when there is difference source data having a similarity equal to or higher than a predetermined threshold, difference data between the content data and the difference source data is generated, and the fingerprint unit 5- of the body unit 5-2 is generated. 23, the FP values of the difference data and the difference source data are set.
If differential compression cannot be performed, the content data is set in the content data portion 5-24 of the body portion 5-2.
Then, the FP value of the content data and the transfer mode information (“Mode: Differential” if differential compression is used, “Mode: None” if differential compression is not used) are set in the fingerprint unit 5-23 of the body part 5-2. (Step 7-5) The FP cache download instruction 5-21 and the FP cache processing engine call instruction 5-22 of the body part 5-2 are set (Step 7-10).
(Another Configuration Example of Reply Message Transmitted by Proxy Server to Web Browser) FIG. 21 is a diagram for explaining the outline of another configuration example of the reply message generated by the reply generation unit. The reply generation unit 4-9 generates a reply message having a header part 21-1 and a body part 21-2 based on the HTTP protocol.
The body part 21-2 is reply data generated by the proxy server 1-2, and includes an FP cache processing engine download instruction 21-21, an FP cache processing engine call instruction 21-22, and content data 21-23. It is configured.
Since the header part 22-1 and the FP cache processing engine download instruction 21-21 are the same as the header part 5-1 and the FP cache processing engine download instruction 5-21 described above, description thereof will be omitted.
The FP cache processing engine call instruction 21-22 is an instruction for calling the FP cache processing engine 2-2 incorporated in the plug-in unit 200 of the Web browser 1-1 and operating the cache function using the FP value. , FP value 21-60 and mode information 21-61. The FP value 21-60 and mode information 21-61 are embedded as part of the FP cache processing engine call instruction 21-22.
The content data 21-23 includes content data when the transfer mode is normal transfer, includes differential data when it is differential transfer, and is empty when it is compressed transfer.
The FP cache processing engine download command 21-21 and the FP cache processing engine call command 21-22 are executed when the browser core engine unit 2-1 analyzes the reply data.
The FP value 21-60 includes the FP value calculated by the FP calculator 4-8. The mode information 21-61 includes information indicating the current transfer mode (differential transfer, compressed transfer, normal transfer).
A specific example of the configuration of the body part 21-2 is a configuration as shown in FIG. In this configuration, the body portion 21-2 is in the HTML format, and the FP cache processing engine download command 21-21, the FP cache processing engine call command 21-22, and the content data 21-23 are embedded.
The FP cache processing engine call instruction 21-22 is a portion from the <SCRIPT> tag to the </ SCRIPT> tag, similar to the above 5-22.
The content data 21-23 is embedded between the <COMMENT ID = "MDATA"> tag and the </ COMMENT> tag. This “ID =“ MDATA ”” is an identifier for referring to the content data from the FP cache processing engine call instruction 21-22.
A process flow when the browser core engine unit 2-1 executes the FP cache processing engine call instruction 21-22 will be described. First, the FP cache processing engine 2-2 is called by the instruction 22-1, and an object name of mcsp is assigned. Next, the instruction 22-2 is an instruction for setting the FP value in the variable fp. The instruction 22-3 is an instruction to set the content of the content data embedded between the <COMMENT ID = “MDATA”> tag and the </ COMMENT> tag in the variable contents.
Instruction 22-4 mcsp. The regFP is an instruction for executing a method called regFP of an object called mcsp. The FP cache processing engine 2-2 has three methods corresponding to the three transfer modes. By executing uncompress for compression transfer, makeData for differential transfer, and regFP for normal transfer, Processing corresponding to the transfer mode can be performed. The object mcsp generated by the instruction 22-1 also has these three methods.
Three methods will be described. First, the uncompress method used in the case of compression transfer takes an FP value as an argument, extracts content data corresponding to the FP value from the FP cache area 3-3, and returns it as a return value.
The makeData method used in the case of difference transfer takes an FP value and difference data (including a difference source FP value as shown in FIG. 15) as arguments, and synthesizes content data using the difference source FP value and difference data. Then, the FP value and the content data are registered in the FP cache area 3-3, and the content data is returned as a return value.
The regFP method used for normal transfer takes an FP value and content data as arguments, registers the FP value and content data in the FP cache area 3-3, and returns the content data as a return value.
In the instruction 22-4, the content data obtained as the processing result of the FP cache processing engine 2-2 is set in the variable output, and the value of this variable is output to the browser core engine unit 2-1 by the instruction 22-5.
The type of the method to be called by the instruction 22-4 is selected by the reply message generation unit 4-9 according to the transfer mode determined by the analysis unit 4-2 or the FP management unit 4-7 of the proxy server 1-2. Generated. Therefore, the type of method executed by the instruction 22-4 is mode information 21-62. In this configuration, it is not necessary to determine the transfer mode on the Web browser 1-1 side.
In this way, the FP value 21-60 and the transfer mode information 21-61 are embedded in the FP cache processing engine call instruction 21-22, and the content data 21-23 and the difference data included therein are included in the FP cache processing engine call instruction 21-22. By making the configuration that can be directly referred to, there is an advantage that the process of separating the FP value, the content data, and the difference data from the reply message on the Web browser 1-1 side becomes unnecessary.
As described above, according to the present invention, a proxy server is installed on the server side, a general-purpose browser is used on the client side, and the network load is reduced by fingerprint compression or differential compression without preparing a separate proxy server on the client side. be able to.
FIG. 1 is a diagram illustrating a configuration of a system using a data transfer apparatus according to an embodiment of the present invention.
FIG. 2 is a diagram for explaining a flow of commands and data in the system according to the embodiment of the present invention.
FIG. 3 is a diagram for explaining a flow of commands and data in the system according to the embodiment of the present invention.
FIG. 4 is a diagram for explaining a flow of commands and data in the system according to the embodiment of the present invention.
FIG. 5 is a diagram for explaining a flow of commands and data in the system according to the embodiment of the present invention.
FIG. 6 is a diagram for explaining a flow of commands and data in the system according to the embodiment of the present invention.
FIG. 7 is a diagram for explaining the flow of commands and data in the system according to the embodiment of the present invention.
FIG. 8 is a diagram illustrating the configuration of a Web browser in the system according to the embodiment of the present invention.
FIG. 9 is a diagram illustrating a configuration of an FP cache processing engine of a Web browser in the system according to the embodiment of this invention.
FIG. 10 is a diagram illustrating a configuration of a proxy server in the system according to the embodiment of this invention.
FIG. 11 is a diagram illustrating an example of data registered in the FP cache area of the proxy server in the system according to the embodiment of this invention.
FIG. 12A is a view for explaining a first example of a reply message configuration from a proxy server to a Web browser in the system according to the embodiment of the present invention; (B) The figure explaining the structure of the reply message from a proxy server to a web server when the re-request message is received from the web browser in the system of one embodiment of the present invention.
FIG. 13 is a diagram illustrating an example of a header part of a reply message from the proxy server to the Web browser in the system according to the embodiment of this invention.
FIG. 14 is a diagram illustrating a first example of a body part of a reply message from the proxy server to the Web browser in the system according to the embodiment of this invention.
FIG. 15 is a diagram illustrating an example of a fingerprint part of a body part of a reply message when the proxy server performs differential transfer in the system according to the embodiment of this invention.
FIG. 16 is a diagram illustrating an example of the difference source FP value of the fingerprint unit when the proxy server performs difference transfer in the system according to the embodiment of this invention.
FIG. 17 is a flowchart illustrating processing after the Web browser receives a reply message from the proxy server in the system according to the embodiment of this invention.
FIG. 18 is a flowchart for explaining processing of the FP cache processing engine of the Web browser in the system according to the embodiment of the present invention.
FIG. 19 is a flowchart for explaining processing after the proxy server receives a request from the Web browser in the system according to the embodiment of this invention;
FIG. 20 is a flowchart illustrating processing after the proxy server receives a reply from the Web server in the system according to the embodiment of this invention.
FIG. 21 is a diagram illustrating a second example of a reply message configuration from the proxy server to the Web browser in the system according to the embodiment of this invention.
FIG. 22 is a diagram illustrating a second example of a body part of a reply message from the proxy server to the Web browser in the system according to the embodiment of this invention.
1-1 Web browser
1-2 Proxy server
1-3 Web server
1-11, 1-12 cache
110 Web server side network
111, 112 servers
2-1 Browser core engine
2-2 FP cache processing engine
200 Plug-in part
201 Cache area
3-1 Input section
3-2 Analysis unit
3-3 FP cache area
3-4 Registration Department
3-5 Synthesizer
3-6 Re-request generator
3-7 Output section
4-1 Request receiver
4-2 Analysis unit
4-3 Cache area
4-4 Request transmitter
4-5 Reply receiver
4-6 FP determination unit
4-7 FP Management Department
4-8 FP calculator
4-9 Reply generator
4-10 Reply sending section
1101 URL
1102 Overall FP value
1103 FP value for each row
1104 Content data
5-1 Header section
5-2 Body part (reply data)
5-21 FP Cache Processing Engine Download Instruction
5-2 FP cache processing engine call instruction
5-23 Fingerprint section
5-24 Content data section
5-31 Difference source FP value
5-32 Difference source data
10-1 <OBJECT> tag
10-2 Parameters
10-3 <SCRIPT> tag
10-4 Instruction
10-5 FP value
1011 FP value
1012 Difference data
1013, 1014, 1015 Difference source FP value
1021 identifier
1022 Quoted line indicator
1023 FP value of difference source data
21-1 Header
21-2 Body (Reply data)
21-21 FP cache processing engine download instruction
21-22 FP cache processing engine call instruction
21-23 Content data
21-60 FP value
21-61 Mode information
22-1, 22-2, 22-3, 22-4, 22-5 instructions
Data that mediates data transfer performed between the client, the server that receives the request for acquiring the content data transmitted from the client and outputs the content data according to the request, and the client and the server A web system having a transfer device,
A receiving unit for receiving the request from the client;
A transmission unit that transmits the request received by the reception unit to the server that is the destination of the request;
A calculation unit that calculates an FP (fingerprint) value of the content data when the content data corresponding to the request is received from the server via the reception unit;
A storage unit that caches and stores the FP value calculated by the calculation unit in association with the content data corresponding to the FP value;
A determination unit that determines whether an FP value having the same value as the FP value calculated by the calculation unit is already stored in the storage unit;
When the determination unit determines that the same FP value is already stored in the storage unit, the FP value is transmitted as a response to the client, and the determination unit generates the same FP value. When it is determined that it is not stored in the storage unit, the content data and the FP value are transmitted as a response to the client, and it is determined whether or not the same FP value is stored by the determination unit. And a control unit for adding a command to automatically download and incorporate the FP cache compatible program into the response when transmitting a response to the client ,
If the program does not have the FP cache compatible program, the FP cache compatible program is incorporated by executing the instruction added to the response,
In accordance with the incorporated FP cache compatible program, the new content data received from the server via the data transfer device and its FP value are associated and cached,
When only the FP value of the content data is received as a response, and the FP value of the content data stored in the cache is equal to the FP value of the content data received as the response, the built-in FP cache support A Web system that outputs content data cached in association with the FP value according to a program .
When it is determined that the FP value having the same value as the FP value calculated by the calculation unit is not stored in the storage unit, the determination unit further has a similarity with the received content data equal to or greater than a threshold value. It is determined whether or not certain difference source data exists in the storage unit,
When it is determined that the difference source data exists in the storage unit, the control unit sends difference data between the content data and the difference source data to the client, and a difference source FP value that is an FP value of the difference source data. As the response,
When the FP value of the content data stored in the cache is equal to the difference source FP value received as the response , the difference source data is acquired according to the incorporated FP cache compatible program, and the received difference data is simultaneously received The Web system according to claim 1, wherein the Web system is combined with difference data.
Data that mediates data transfer performed between the client, the server that receives the request for acquiring the content data transmitted from the client and outputs the content data according to the request, and the client and the server A control method of a Web system having a transfer device,
Sending the received request to the server that is the destination of the request;
When the content data corresponding to the request is received from the server, an FP (fingerprint) value of the content data is calculated,
The calculated FP value and the corresponding content data are associated and cached in a storage unit,
Determining whether an FP value of the same value as the calculated FP value is already stored in the storage unit;
When it is determined that an FP value of the same value as the FP value is already stored in the storage unit, the FP value is transmitted to the client as a response,
When it is determined that the FP value of the same value as the FP value is not stored in the storage unit, the content data and the FP value are transmitted to the client as the response,
After determining whether or not the same FP value is stored by the determination unit, when transmitting a response to the client, an instruction to automatically download and incorporate an FP cache compatible program into the response Add and send
The client that does not have the FP cache compatible program incorporates the FP cache compatible program by executing the instruction added to the response,
According to the FP cache compatible program, the client caches the newly received content data in association with the FP value,
When the client receives only the FP value of the content data as a response, and the FP value of the content data stored in the cache is equal to the FP value of the content data received as the response , the client is incorporated. According to another FP cache compatible program, the content data stored in association with the FP value is output.
When it is determined that an FP value having the same value as the calculated FP value is not stored in the storage unit, difference source data whose similarity to the received content data is equal to or greater than a threshold is further stored in the storage Determine whether it exists in the department,
When it is determined that the difference source data having the similarity equal to or greater than a threshold exists, the difference data between the content data and the difference source data and the difference source FP value of the difference source data are used as the response. Send it to the client,
When the FP value of the content data stored in the cache is equal to the difference source FP value received as the response , the client acquires and receives the difference source data according to the embedded FP cache compatible program. The Web system control method according to claim 3, wherein the difference data is combined with the difference data.
JP2002084926A 2002-03-26 2002-03-26 Web system and Web system control method Expired - Fee Related JP4020676B2 (en)
US10/396,521 US7334023B2 (en) 2002-03-26 2003-03-26 Data transfer scheme for reducing network load using general purpose browser on client side
JP2003281023A JP2003281023A (en) 2003-10-03
JP4020676B2 true JP4020676B2 (en) 2007-12-12
JP2002084926A Expired - Fee Related JP4020676B2 (en) 2002-03-26 2002-03-26 Web system and Web system control method
JP6323461B2 (en) * 2013-10-08 2018-05-16 ソニー株式会社 Server apparatus, client apparatus, information processing method, and recording medium
US20030187960A1 (en) 2003-10-02