WO2013180255A1 - 通信装置および方法 - Google Patents
通信装置および方法 Download PDFInfo
- Publication number
- WO2013180255A1 WO2013180255A1 PCT/JP2013/065139 JP2013065139W WO2013180255A1 WO 2013180255 A1 WO2013180255 A1 WO 2013180255A1 JP 2013065139 W JP2013065139 W JP 2013065139W WO 2013180255 A1 WO2013180255 A1 WO 2013180255A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- file
- client
- request
- communication device
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
Definitions
- the present invention relates to a communication apparatus and method.
- the Web browser when displaying information from the server on the client side, the Web browser analyzes the HTML between the client and server, and sends a GET request for the object to the server each time an object is found.
- a web page is read many times between client and server.
- WAN Wide Area Network
- HTTP Hyper Text Transfer Protocol
- the distributed proxy server may acquire A technique for prefetching an inline object is disclosed in Patent Document 1.
- the packet data service providing node 160 uses application information inserted into the data packet by the deep packet inspection device 150 in order to manage the flow of data. More specifically, in various exemplary embodiments, the packet data serving node 160 uses information found in the data packet to identify the application and whether to allow or drop the packet. Perform quality of service processing, such as making decisions.
- the deep packet inspection device of Patent Document 2 there is a device in which functions such as a firewall, an Intrusion Detection System (IDS), and an Intrusion Protection System (IPS) are mounted. These have functions such as monitoring communications on the network and blocking communications when unauthorized communications or communications deemed as attacks are detected (see Patent Documents 3 and 4).
- Firewall is a device that controls communication permission for each port in Transmission Control Protocol (TCP), and prevents attacks by prohibiting access to ports that the internal server does not disclose to the external network.
- IDS monitors the header of the packet or the access log of the server, and notifies the administrator when access that matches a preset illegal access pattern is received.
- IPS is a communication blocking function added to IDS, and can respond to attacks as soon as an unauthorized access pattern is discovered.
- the firewall, IDS, and IPS are mainly installed by the company, and installed at the boundary between the local area network (LAN) and the WAN. Therefore, it is easy for the company itself using these devices to manage.
- DPI is installed in the network of the telecommunications carrier to which the corporate network is connected, it is not easy for the network user to manage.
- DPI monitors packets up to the application layer header and data. As a result, the protocol consistency in the application layer and the presence / absence of illegal data such as viruses in the data section are inspected. When such an abnormality is discovered, it is possible to block communication. As a result, proprietary protocols that are not standardized or proprietary extensions of existing protocols may be blocked.
- An object of the present invention is to provide a client with a plurality of objects managed by a server without being judged as abnormal communication even in the presence of a network security system.
- an aspect of the present invention provides a client and a server using a first communication device connected to a client and a second communication device connected to a file management server. Is a communication method for relaying the communication of the second communication device in response to a file acquisition request from the client, the pre-reading process is performed, and the server transmits the request in response to the notification transmitted from the first communication device. The obtained object is transmitted from the second communication device to the first communication device.
- a second aspect is a first communication device that is connected to a client and relays communication between the client and the server via a second communication device connected to a server that manages files. It has a configuration. Specifically, the first communication device receives the file acquisition request received from the client and destined for the server by the transfer processing unit and the second communication device to the second communication device. An associated file receiving unit that receives the associated file in association with a notification transmitted from the first communication device with respect to the associated file that is acquired by the prefetching process and is referred to by the file; One communication apparatus includes: a holding unit that holds the related file in association with the file; and a transmission unit that transmits the related file to the client in response to a reference request for the related file from the client. .
- a third aspect is a second communication device connected to a server that manages files via a first communication device connected to a client and relaying communication between the client and the server.
- the following configuration is provided. That is, the second communication device acquires from the server a file acquired based on the file acquisition request destined for the server from the client transferred by the first communication device.
- a prefetch processing unit that executes prefetch processing of another related file referred to by the file and acquires the related file, and the related file is associated with the notification transmitted from the first communication device
- a transmission processing unit that transmits the file to the first communication device.
- communication is performed according to HTTP (Hyper Text Text Transport Protocol).
- the file includes information for displaying the web page on the client in HTML (Hyper Text Markup Language) and a link indicating the URL of the related file to be prefetched.
- Example 1 of this invention It is a sequence diagram showing the communication system in Example 1 of this invention. It is a figure which shows the network structure of a present Example. The figure showing the data management table of the client side proxy in Example 1 and 2 of this invention. It is a figure showing the data management table of the server side proxy in Example 1 and 2 of this invention. It is a flowchart showing operation
- FIG. 2 is a diagram illustrating a network configuration in the first embodiment.
- the client side proxy (12) is installed in the same LAN (13) as the client (11), and the client side proxy (12) communicates with the WAN (14).
- a server side proxy (15) is installed in the same LAN (17) as the server (16), and the server side proxy (15) communicates with the WAN.
- the client-side proxy (12) and the server-side proxy (15) operate in cooperation, so that communication can be performed while suppressing performance deterioration even in a WAN with a large delay.
- the client-side proxy (12) and the server-side proxy (15) are communication devices, and may be LAN (Local Area Network) gateway devices of clients or servers, for example.
- the client (12) is an information processing apparatus including a display unit that displays a web page.
- the server (16) is an information processing apparatus having an HTML file and a storage unit for recording an external file related to the HTML file.
- the LAN side connection management unit (21) is in charge of communication with the client (11).
- the request from the client (11) is determined by the request determination unit (22) whether it is a GET for an HTML file that triggers a prefetch operation or a request for an individual external file.
- the received request is sent to the request transmission unit (23) as it is and is transmitted to the server side proxy (15).
- the request is once registered in the data management unit (27).
- the WAN side connection management unit (24) is in charge of communication with the server side proxy (15) through the WAN.
- the request transmission unit (23) transmits the request received from the request determination unit (22) or the data management unit (27) using the WAN side connection management unit (24).
- the response analysis unit (25) analyzes the content, obtains a file list, and registers it in the data management unit (27). At the same time, it is passed to the response transmission unit (26) and transferred to the client (11). Any other external file is registered in the data management unit (27).
- the response transmission unit (26) transfers the response data received from the response analysis unit (25) or the data management unit (27) to the LAN side connection management unit (21) and transfers it to the client (11).
- the data management unit (27) has a table for each client (11) identified by the IP address, and manages the request / response state and its data. For example, if there are three clients (11), there are three tables (28a-c). If a request is received, the table is searched using the path name as a key, and the request received flag is set to 1. If a prefetched response is received, the response received flag is set to 1. The entries in the table are periodically checked, and if the request has been received and the response has been received, the response is passed to the response transmission unit (26) and transmitted to the client (11). If no response is registered when the request is received, the request may be passed to the request transmission unit (23) and transmitted to the server-side proxy (15).
- the internal configuration of the server side proxy (15) will be described with reference to FIG.
- the WAN side connection management unit (31) is in charge of communication with the client side proxy (12).
- a request from the client-side proxy (12) is determined by the request determination unit (32) whether it is a GET for an HTML file that triggers a prefetch operation or a request for an individual external file.
- the request transmission unit (33) is sent to the request transmission unit (33) as it is and is transmitted to the server (16).
- the request is temporarily registered in the data management unit (37).
- the request transmission unit (33) transmits the request received from the request determination unit (32) or the data management unit (37) via the LAN side connection management unit (34).
- the LAN side connection management unit (34) is in charge of communication with the server (16).
- the response analysis unit (35) analyzes the HTML file received from the server (16), acquires a file list, and registers it in the data management unit (37). At the same time, it is passed to the response transmission unit (36) and transferred to the client side proxy (12). If the response is a response to GET, it is registered in the data management unit (37).
- the response transmission unit (36) transfers the response data received from the response analysis unit (35) or the data management unit (37) to the WAN side connection management unit (31) and transfers it to the client side proxy (12). In other words, the response transmission unit (36) receives data to be transmitted to the WAN side from the response analysis unit (35) or the data management unit (37), and receives the data from the WAN connection management unit (31) to the client side proxy (12 ).
- the data management unit (37) has a data management table for each client (11) in the same manner as the client side proxy (12), and manages the request / response state and its data. For example, if there are three clients (11), there are three tables (38a to 38c). During the prefetch operation, the table is periodically checked, and if there is an entry that has not been prefetched, a prefetch request is generated and passed to the request transmission unit (33). When a request is received from the client side proxy (12), if the corresponding response is not prefetched, the request may be preferentially passed to the request transmission unit (33) and transmitted to the server (16).
- FIG. 1 shows a communication sequence in the first embodiment of the present invention.
- FIG. 1 shows a sequence of a client (11), a client side proxy (12), a server side proxy (15), and a server (16) related to communication.
- GET When a client accesses a web page on the server (16), a request (101) called GET is first issued to an HTML file describing the page body. This is received by the client side proxy (12) and transferred over the WAN (14) to the server side proxy (15) (121). The client-side proxy (12) transmits a prefetch request to the server-side proxy (15) in order to prefetch the external file included in the web page (122). However, since the number of external files and their names are unknown at this point, only one file named “files.dat” is requested.
- the server side proxy (15) When the server side proxy (15) receives the request for the HTML file, it further forwards it to the server (16) (141).
- the server (16) that has received the request returns (15) the HTML file to the server side proxy as a response to the request (142).
- the response is transferred to the client-side proxy (12) by the server-side proxy (15) (123), and the server-side proxy (15) analyzes (161) the response to the external file embedded in the web page. Get a list and identify the related files that should be prefetched from the server.
- the response is further transferred to the client (11) by the client side proxy (12) (102).
- the client (11) analyzes the response (162) separately from the server-side proxy (15) and acquires an external file list.
- the client (11) that has acquired the external file list transmits a request to each of the external files (103).
- the server-side proxy (15) that acquired the external file list performs prefetching of the external file in response to the prefetch request (122) from the client side proxy (12). If external files file1 to file3 are included in the web page, GETs for these external files are transmitted to the server (16) (143, 145, 147), and responses (144, 146, 148) are sent from the server (16), respectively. ) The server-side proxy (15) concatenates these external files (163), and sends them to the client-side proxy (12) as a response to the prefetch request (122) (124).
- the client side proxy (12) When the client side proxy (12) receives the prefetch response (124), it expands it to obtain the original external file (164).
- the client-side proxy (12) that has acquired the external file transmits a corresponding external file as a response to the request (103, 105, 107) from the client (11) (104, 106, 108).
- the client (11) that has received the external file draws a web page using the external file.
- FIG. 3 shows a data management table (28) in the data management unit of the client side proxy (12).
- the table (28) has the IP address (41) of the client (11) and the IP address (42) of the server (16), and is identified by a combination thereof. It also has a port number (43) used for prefetch.
- the flags are “request received from client (46)” and “response received from server-side proxy (47)”.
- the “Request received from client (46)” flag is set to 1 when a request for the external file is received from the client (11).
- the “response received from server-side proxy (47)” flag is set to 1 when the file is received from the server-side proxy (15). If both of these flags are 1, the response is transmitted from the client side proxy (12) to the client (11), and the corresponding entry is deleted.
- FIG. 4 shows the data management table (38) in the data management unit of the server side proxy (15).
- the table (28) has the IP address (41) of the client (11) and the IP address (42) of the server (16), and is identified by a combination thereof. It also has a port number (43) used for transmitting a prefetch response and a flag (51) indicating that a prefetch request has been received from the client side proxy (12).
- file URL (52), prefetched response (53), two types of flags (54, 55) that take a value of 1 or 0, and prefetch from the server (16). It has a port number (56) on the LAN side.
- the flags are “Sending prefetch request to server (54)” and “Receiving request from client side proxy (55)”.
- the prefetch request has been sent to the server (54)” flag is set to 1 when a request for the file is sent to the server (16).
- the “request received from client side proxy (55)” flag is set to 1 when a request is received from the client side proxy (12).
- FIG. 5 is a flowchart showing the operation of each part in the client side proxy (12).
- FIG. 5 is a flowchart showing the operation of the request determination unit (22) in the client side proxy (12).
- the request determination unit (22) receives a request from the client (11) from the LAN connection management unit (21) (301), and determines whether the request is a request for an HTML file which is a web page body (302). . If the request is for an HTML file, the request is transferred to the request transmission unit (23) (303), and the request transmission unit (23) is instructed to transmit a prefetch request (304). If it is not a request for an HTML file, it is transferred to the data management unit as a request for an external file and registered in the prefetch table (305).
- FIG. 6 is a flowchart showing the operation of the request transmission unit (23) in the client side proxy (12).
- the request transmission unit (23) determines whether the request is a GET for a file or a prefetch request for an external file. (312). If it is a prefetch request, the request is generated (314), and transmitted from the WAN connection management unit (24) to the server side proxy (15) (313). If it is a GET for an external file, the WAN connection management unit (24) transmits it to the server side proxy (15) as it is (313).
- FIG. 7 is a flowchart showing the operation of the response analysis unit (25) in the client side proxy (12).
- the response analysis unit (25) receives (331) the response received from the server side proxy (15) from the WAN connection management unit (24). It is determined whether the response is an HTML file (332), and if it is an HTML file, it is transferred to the response transmission unit (26) (333). Otherwise, since it is a prefetched external file, it is expanded (334) and transferred to the data management unit (27) (335).
- FIG. 8 is a flowchart showing the operation of the data management unit (27) in the client side proxy (12).
- the data management unit (27) selects the corresponding client (11) table from the IP address of the received data (342).
- the table is searched to check whether the requested URL is registered (344). If not registered, it is registered in the table (345). Since there is a request entry in this state, the port number used for the request by the client (11) is registered in the entry (346), and a request received flag (46) is set (347).
- the table is searched to check whether the prefetched URL is registered (348). If it is not registered, it is registered in the table (349). Since there is an external file entry prefetched in this state, its contents are registered (350), and a response received flag (47) is set (351).
- FIG. 9 to 11 are flowcharts showing the operation of each unit in the server-side proxy (15).
- FIG. 9 is a flowchart showing the operation of the request determination unit (32) in the server side proxy (15).
- the request determination unit (32) receives the request from the WAN connection management unit (31) (401)
- the request is a request for a file on the server (16) including the HTML file or a prefetch request. (402). If it is a request for a file, it is transferred to the request transmission unit (403), and if it is a prefetch request, it is transferred to the data management unit.
- FIG. 10 is a flowchart showing the operation of the response analysis unit (35) in the server side proxy (15).
- the response analysis unit (35) receives the response from the LAN connection management unit (34) (431), and determines whether the response is an HTML file or an external file (432). If it is an HTML file, the HTML file is transferred to the response transmission unit (36) (433). The HTML file is analyzed to create an external file list (434), transferred to the data management unit (37), and registered in the prefetch table (38).
- FIG. 11 is a flowchart showing the operation of the data management unit (37) in the server side proxy (15).
- the data management unit (37) receives data from the request determination unit (32) or the response analysis unit (35) (441), it selects the table of the corresponding client (11) from the IP address of the received data (442). If the input data is a request (443), a prefetch request received flag (51) is set (444).
- the input data is an external file that has been prefetched, the corresponding entry is selected from the port number (445), and the response received flag (47) is set (446).
- the state of the flag is checked for all entries in the table (447). If there is an unacquired external file (448), a prefetch request is generated for prefetching (449). Also, the port number of the server side proxy (15) used for prefetching is acquired and registered in the table (450). And it transfers to a request transmission part (451), it transmits to a server (16), and the prefetch request transmission completion flag is set to 1 (452).
- a GET Files request (122) from the client side proxy (12) and one or more external files prefetched by the server side proxy (15) are combined into a prefetch response 200OK (124). Therefore, the pre-read file can be provided to the client side without determining that the communication between the proxies is an unauthorized communication.
- transfer is not performed until prefetching of all external files is completed, and a waiting time occurs until transfer of the external file to the client (11) is started. Therefore, the above waiting time is reduced by dividing the transfer on the WAN and transmitting from the acquired external file before the prefetch is completed.
- communication between proxies is not determined to be unauthorized communication, and the prefetch file is provided to the client side.
- an external file referred to by an HTML file is divided into a plurality of predetermined classes, and one or more external files are transferred together for each class.
- the following classification is performed as an example of class (attribute).
- the first is the CSS that describes the display of the web page
- the second is the image displayed in the web page
- the third is a script that is not directly related to the display of the web page, and other files.
- the class classification and setting are assumed to be manually performed by the administrator, but may be automatically performed by the proxy device.
- the number of classes and the classification method are also arbitrary.
- FIG. 12 shows the communication sequence in this example.
- FIG. 12 shows a sequence of the client (11), the client side proxy (12), the server side proxy (15), and the server (16) related to communication.
- a request (101) called GET is issued to an HTML file describing the page body. This is received by the client side proxy (12) and transferred over the WAN (14) to the server side proxy (15) (121).
- the client side proxy (12) transmits a prefetch request for a class set in advance to the server side proxy (15) in order to prefetch the external file included in the web page. Since three classes are used in FIG. 12, three prefetch requests (501 to 503) are transmitted.
- the server-side proxy (15) When the server-side proxy (15) receives the request for the HTML file, it further transfers to the server (16) (141).
- the server (16) that has received the request returns an HTML file as a response to the request (142) to the server side proxy (15).
- the HTML file is transferred to the client side proxy (12) by the server side proxy (15) (123), and the server side proxy (15) parses the HTML file (161) to embed it in the web page. Get the file list.
- the HTML file is further transferred to the client (11) by the client side proxy (12) (102).
- the client (11) analyzes (162) the HTML file separately from the server-side proxy (15) and acquires an external file list.
- the client (11) that has acquired the external file list transmits a request to each of the external files (103).
- the server-side proxy (15) that acquired the external file list classifies each external file based on the URL. For each class, a prefetch and a response to the prefetch request from the client side proxy (12) are generated and transmitted. As a result of classification, file1.css and file2.css are classified as CSS classes.
- the server side proxy (15) makes a request for these (143, 145) and obtains responses (144, 146), respectively. Next, these responses are concatenated (163) and transmitted to the client side proxy (12) as a response to the prefetch request (501) for the CSS class (504).
- file4.jpg and file5.png classified into the image class are prefetched (147, 149), and when a response is obtained (148, 150), they are concatenated (165) and a prefetch request (502) As a response to (505).
- prefetch 151 to 154 and transfer (167, 506) are performed for files classified into other classes.
- the client side proxy (12) When the client side proxy (12) receives the prefetch response (504), it expands it to obtain the original external file (164, 166, 168).
- the client-side proxy (12) that has acquired the external file transmits the external file corresponding to the request (103, 105, 107, 109, 110, 113) from the client (11) as a response (104, 106, 108, 110, 112, 114).
- the client (11) that has received the external file draws a web page using the external file.
- the traffic on the WAN (14) becomes normal HTTP communication, and can be avoided from being blocked by the security system.
- the above operation is performed independently for each set of the client (11) and the server (16) in both the client side proxy (12) and the server side proxy (15).
- the client (11) and server (16) are identified using the IP address in the packet header.
- the data management table (28) in the data management unit of the client side proxy (12) in the second embodiment is the same as that already described in the first embodiment, and further, as shown in FIG. 3, the class classification (511) of each external file. Hold.
- FIG. 9B shows a data management table (38) in the data management unit of the server side proxy (15) in the second embodiment.
- the data management table (38) is added to that of the first embodiment and holds the class classification (511) of each external file.
- the client side proxy (12) and the server side proxy (15) hold the class table (513) of FIG.
- the class table (513) holds a priority (514), a class name (515), and a classification rule (516) for each class. That is, the class table (513) holds associations between classes and their priorities.
- the class table (513) holds associations between classes and their priorities.
- the response analysis unit (35) of the server side proxy (15) of the second embodiment analyzes the HTML file included in the response received from the server side (434) before the table registration (435) of the flowchart of FIG.
- the class of each external file identified by the analysis result of the HTML file is determined using the class table (513) held by the data management unit (37).
- the response analysis unit (35) also includes information on the external file to be prefetched, including the determined class, in the data management table (512) of FIG. 3 in the prefetch table (38), as in 435 of FIG. ).
- Other processes are the same as those in FIG.
- the data management unit (37) in this embodiment is the same as that shown in FIG. 11 except for 447, 448, and 455.
- the data management unit (37) checks whether there is an unacquired entry in the table with the highest class priority. When there is an unacquired external file (533), the processing is the same as the processing from 449 to 452 in FIG.
- the data management unit (37) performs the same processing as 453 and 454 in FIG. It is deleted (534). If a flag indicating that the prefetch response has already been transmitted is used, the entry may be deleted by checking the flag state after the prefetch response has been transmitted.
- the client-side proxy (12) and the server-side proxy (15) share common information in which external files to be prefetched (related files) are grouped by the extension of the external file.
- Each proxy associates a file acquisition request, which is a notification from the client-side proxy, with the server-side proxy and transmission of a prefetched file for each group so that communication between the proxies is not blocked.
- chunk transfer capable of dividing and transferring data is used in a method standardized in HTTP / 1.1.
- Chunk transfer is used when the size of the transferred response is not known in advance, such as when the response is dynamically generated.
- the request / response format is one response to one request, but the response is sent sequentially from the transmittable part.
- a chunk of data transmitted at one time in a response is called a chunk, and a hexadecimal value indicating the size of the chunk is described at the beginning of the chunk.
- a communication sequence in the present embodiment is shown in FIG. FIG. 14 shows a sequence of the client (11), the client side proxy (12), the server side proxy (15), and the server (16) related to communication.
- a request (101) called GET is first issued to an HTML file describing the page body. This is received by the client side proxy (12) and transferred over the WAN (14) to the server side proxy (15) (121). The client side proxy (12) transmits one prefetch request to the server side proxy (15) in order to prefetch the external file included in the web page (122).
- the server-side proxy (15) When the server-side proxy (15) receives the request for the HTML file, it further transfers to the server (16) (141).
- the server (16) that has received the request returns an HTML file as a response to the request (142) to the server side proxy (15).
- the HTML file is transferred to the client-side proxy (12) by the server-side proxy (15) (123), and the server-side proxy (15) parses the HTML file (161) to obtain an external file list.
- the HTML file is further transferred to the client (11) by the client side proxy (12) (102).
- the client (11) analyzes (162) the HTML file separately from the server-side proxy (15) and acquires an external file list.
- the client (11) that has acquired the external file list transmits a request to each of the files (103).
- the server-side proxy (15) that acquired the external file list performs prefetching of the external file in response to the prefetch request (122) from the client side proxy (12).
- the web page includes external files file1 to file5
- a GET for these external files is transmitted to the server (16) (143, 145, 147, 149, 151), and a response (144) is sent from the server (16).
- the server-side proxy (15) generates the first chunk (601) after a certain period of time after acquiring file2.
- the HTTP response status code and other headers are described in the header, and the file size acquired before chunk transmission is described as the chunk size at the beginning of the message body.
- a response body is sent.
- the generated chunk is transmitted to the client side proxy (12) (600a).
- the client side proxy (12) When the client side proxy (12) receives the chunk (600a), it expands it to obtain the original external file (602).
- the client-side proxy (12) that acquired the file transmits an external file corresponding to the request (103, 105) from the client (11) as a response (104, 106).
- the client (11) that has received the external file draws a web page using the external file.
- the server-side proxy (15) generates chunks after receiving up to file5 and generates a chunk (603).
- the HTTP header is not included in the second and subsequent chunks, only the chunk size and response body.
- the server side proxy (15) transmits this (600b) and is received by the client side proxy (12).
- the client-side proxy (12) that has received the second and subsequent chunks expands the same as the first chunk and obtains the original external file (604). Also, responses are returned in response to requests (107, 109, 111) from the client (11) (108, 119, 112).
- the server-side proxy (15) that has completed the transfer of the external file generates a message including information indicating the end of the chunk to end the chunk transfer (605).
- the message at the end of the chunk is a message in which only the number 0 is written. This is transmitted to the client side proxy (12).
- the client side proxy (12) that has received the message at the end of the chunk ends the reception of the chunk.
- the traffic on the WAN (14) is recognized as one response corresponding to the request as a series of messages to one request on the client-side proxy (12) in the network. It becomes HTTP communication, and it is possible to avoid blocking by the security system.
- the above operation is performed independently for each set of the client (11) and the server (16) in both the client side proxy (12) and the server side proxy (15).
- the client (11) and server (16) are identified using the IP address in the packet header.
- the response analysis unit (25) of the client side proxy (12) in this embodiment determines whether the response received from the server-side proxy (15) is an HTML file describing the web page body, as in 331 and 332 of FIG. Otherwise, the response analysis unit (25) determines whether the prefetch data to be transferred in chunk is the beginning or middle of the chunk or the end of the chunk. If it is at the beginning or middle of the chunk, the response analysis unit expands the prefetch data and transfers it to the data management unit (27) as in the case of 334 and 335 in FIG. If the prefetch data is at the end of the chunk, the process ends and the next process is started. Other processes are the same as those in FIG.
- the data management unit (37) checks the flag status for all entries in the table, as in 447 of FIG. As a result, when there is an untransmitted external file specified by the flag, chunk generation processing 601, 603, and 603 in FIG. 14 is performed according to the following procedure to transmit an external file or a prefetch request. First, it is determined whether or not the transmission of prefetch data has passed for a certain period of time. If the predetermined time has passed, the acquired prefetch data is concatenated to generate a chunk, transferred to the response transmission unit, and transmitted to the client side proxy (12). When transmission is complete, the table entry is deleted. If a flag indicating that the prefetch response has already been transmitted is used, the entry may be deleted by checking the flag state after the prefetch response has been transmitted. Other processes are the same as those in FIG.
- chunks may be transferred using other criteria, such as every time the acquired file size exceeds a certain value, or a combination thereof, not every certain time.
- the third embodiment in response to one request of the client side proxy (12), a plurality of messages are recognized as a series of messages and one response corresponding to the request, and the network recognizes and normal HTTP communication is performed. It can avoid the interruption by.
- the data of the prefetch file can be provided to the client side, and the client can contribute to speeding up the display of the web page.
- the client-side proxy (12) transmits a prefetch request at regular time intervals in order to reduce the transfer waiting time as in the first embodiment.
- the server-side proxy (15) collectively transfers the external files acquired until the prefetch request is received as a response thereto.
- FIG. 15 shows the communication sequence in this example.
- FIG. 15 shows a sequence of the client (11), the client side proxy (12), the server side proxy (15), and the server (16) related to communication.
- a request (101) called GET is issued to an HTML file describing the page body. This is received by the client side proxy (12) and transferred over the WAN (14) to the server side proxy (15) (121). The client side proxy (12) transmits the first prefetch request to the server side proxy (15) in order to prefetch the external file included in the web page (701).
- the server-side proxy (15) When the server-side proxy (15) receives the request for the HTML file, it further transfers to the server (16) (141).
- the server (16) that has received the request returns an HTML file as a response to the request (142) to the server side proxy (15).
- the HTML file is transferred to the client-side proxy (12) by the server-side proxy (15) (123), and the server-side proxy (15) parses the HTML file (161) to obtain an external file list.
- the HTML file is further transferred to the client (11) by the client side proxy (12) (102).
- the client (11) analyzes (162) the HTML file separately from the server-side proxy (15) and acquires an external file list.
- the client (11) that has acquired the external file list transmits a request to each of the external files (103).
- the server-side proxy (15) that has acquired the external file list prefetches the external file included in the web page.
- the server side proxy (15) transmits a prefetch request to the external files file1 and file2 (143, 145), and obtains responses (144, 146), respectively.
- the first prefetch request (701) from the client side proxy (12) is received.
- the server-side proxy (15) concatenates the received external files (163) and transmits them to the client-side proxy (12) (702).
- the client-side proxy (12) transmits a second prefetch request (703) after a predetermined time has elapsed before the response (702) to the first prefetch request (701) arrives. Thereafter, a response (702) to the first prefetch request (701) arrives and is expanded to obtain the original external file (164).
- the client-side proxy (12) transmits the acquired external file as a response to the request (103, 105) from the client (11) (104, 106).
- the server side proxy continues prefetching, transmits a request to the external files file3 and file4 (147, 149), and obtains a response (148, 150). Thereafter, a second prefetch request (703) arrives from the client side proxy (12). A response to this is generated in the same manner as the response to the first prefetch request (165) and transmitted (704).
- the client-side proxy (12) sends a third prefetch request (705) since a predetermined time has passed since the prefetch request was sent. Thereafter, a response (704) to the second prefetch request (703) arrives and is expanded (166). In response to the request (107, 109) from the client (11), the client side proxy (12) transmits the acquired external file as a response (108, 110).
- the server-side proxy (15) receives the third prefetch request from the client-side proxy (12), and it is assumed that all external files included in the web page have been transmitted at this point. Since there is no external file to be sent, the server side proxy (15) returns a status code of “404 Not Found” as a response (706). The client side proxy (12) which received this stops transmission of a prefetch request after that.
- the server side proxy (15) when the client side proxy (12) transmits a prefetch request, if a request is received from the client (11) for an unacquired external file, the server side proxy (15) is notified.
- prefetching can be performed under the initiative of the client side proxy (12).
- the client side proxy (12) notifies by including the file name requested from the client (11) in the external file name of the prefetch request.
- the server-side proxy (15) receives this notification, it does nothing if the corresponding external file has already been transmitted as a response to another prefetch request.
- prefetch is performed on the server (16).
- the transmission of the relevant external file to the client side proxy (12) may be included in the response to the prefetch request, or may be included in the next response without being included in the response.
- the traffic on the WAN (14) becomes normal HTTP communication, and can be avoided from being blocked by the security system.
- the above operation is performed independently for each set of the client (11) and the server (16) in both the client side proxy (12) and the server side proxy (15).
- the client (11) and server (16) are identified using the IP address in the packet header.
- FIG. 16 shows the data management table (28) in the data management unit (27) of the client side proxy (12).
- the data management table (28) holds a prefetch flag (710) indicating whether or not to perform prefetching in addition to that of the first embodiment.
- the structure of the data management table (38) in the data management unit (37) of the server-side proxy (15) is the same as that in the first embodiment, and a description thereof is omitted here.
- FIG. 17 shows the operation of the request transmission unit (23) of the client side proxy (12) in the present embodiment.
- the request transmission unit (23) receives data from the request determination unit (22) or the data management unit (27) (711)
- the data is a GET to the HTML file or the external file from the request determination unit (22).
- Whether the request is a prefetch request for an external file from the data management unit (27) is determined (312). If it is a prefetch request, the request is generated (314) and transmitted from the WAN connection management unit (24) to the server side proxy (15). If it is a GET for an external file, the prefetch flag is set to 1 (712), and then transmitted from the WAN connection management unit (24) to the server side proxy (15) (313).
- the prefetch flag is 1 (713). If it is 1, it is checked whether or not a predetermined time has elapsed since the transmission of the prefetch request (714). If the predetermined time has elapsed, a prefetch request is generated (314), and the server side proxy (15 (313).
- the response analysis unit (25) determines whether the response is an HTML file describing the web page body (332). If it is determined that the file is not an HTML file, it is prefetch data. In that case, the status code of the response is first confirmed (715), and if it is not “404”, the response is expanded (334) and transferred to the data management unit (27) (335) as in FIG. If the status code is “404”, the response analysis unit (25) sets the prefetch flag to 0 (716).
- the other processes are the same as those in FIG.
- step (448) the data management unit (37) determines whether or not an unacquired file is included in the response. If the unacquired file is not included, the data management unit (37) returns to step 441.
- the data management unit (37) checks the prefetch request received flag, and if it is not 1, performs the processing from 449 to 452 in FIG. Send prefetch data or send a prefetch request in the following procedure.
- the data management unit (37) transmits the external file acquired at that time as a response.
- the data management unit (37) concatenates the acquired external files to generate a response to the prefetch request (453), transfers the response to the response transmission unit (454), and transmits it to the client side proxy (12).
- the table entry is deleted. If a flag indicating that the prefetch response has already been transmitted is used, the entry may be deleted by checking the flag state after the prefetch response has been transmitted.
- a plurality of prefetch file acquisition requests from the client-side proxy correspond to a response including the corresponding prefetch file or a response (706) including information indicating that the prefetch file does not exist. Is not determined to be unauthorized communication.
- the data of the prefetch file can be provided to the client side, and the client can contribute to speeding up the display of the web page.
- the server side proxy (15) in the transfer between the client side proxy (12) and the server side proxy (15), the relationship is reversed, and the server side proxy (15) sends a file to the client side proxy (12). Make an upload request.
- the client-side proxy (12) transmits a successful response, whereby normal HTTP communication can be performed.
- the file prefetched by the server side proxy (15) is immediately transferred to the client side proxy (12), and the waiting time as in the first embodiment can be shortened.
- FIG. 18 shows a sequence of the client (11), the client side proxy (12), the server side proxy (15), and the server (16) related to communication.
- GET When the client (11) accesses a web page on the server (16), first, a request (101) called GET is issued to an HTML file describing the web page body. This is received by the client side proxy (12) and transferred over the WAN (14) to the server side proxy (15) (121).
- the server-side proxy (15) When the server-side proxy (15) receives the request for the HTML file, the server-side proxy (15) further transfers the request to the server (16) (141).
- the server (16) that has received the request returns an HTML file as a response to the request (142) to the server side proxy (15).
- the response is transferred to the client-side proxy (12) by the server-side proxy (15) (123), and the server-side proxy (15) parses the HTML file (161) to embed the external file in the web page. Get a list.
- the HTML file is further transferred to the client (11) by the client side proxy (12) (102).
- the client (11) analyzes (162) the HTML file separately from the server-side proxy (15) and acquires an external file list.
- the client (11) that acquired the external file list transmits a request to each external file (103).
- the server side proxy (15) transmits a request to the first file in the created external file list (143) and obtains a response (144). Subsequently, the server side proxy (15) transmits this file to the client side proxy (12) by a PUT command (801).
- the client-side proxy (12) When the client-side proxy (12) receives the PUT command, it sends a status code “201 Created” to the server-side proxy (15) as a response thereto (802). When the client-side proxy (12) receives a request from the client (11) (103), it returns the received external file as a response (104).
- the server side proxy transmits a prefetch request to the server (16) for the next external file (145).
- the response is received (146)
- it is transmitted to the client side proxy (12) by PUT (803).
- the client side proxy (12) transmits a response to the request (804).
- a request from the client (11) is received (105)
- a response to the request is transmitted (106).
- the subsequent external files are similarly transferred (147, 148, 805, 806, 107, 108), and the process ends when all the external files are transferred.
- the data management table (28) in the data management unit of the client side proxy (12) of the fifth embodiment is different from the first embodiment in that the prefetch port number 43 of FIG.
- the data management table (38) in the data management unit of the server side proxy (15) is different from the first embodiment in that the prefetch port number 43 in FIG.
- the request determination unit (22) in the client side proxy (12) will be described.
- the prefetch instruction (304) in FIG. 5 is not necessary, and the others are the same as in FIG. After transmission of the Get request (121) in FIG. 18, a request for acquiring a file becomes unnecessary, and it is only necessary to wait for reception of PUT file (801).
- FIG. 19 is a flowchart showing the operation of the request transmission unit (23) in the client side proxy (12).
- the request transmission unit (23) transmits the request as it is from the WAN connection management unit (24) to the server side proxy (15) (313).
- the request transmission unit (23) determines whether the PUT reception has been notified from the data management unit (27) (812). If notified, a response to the PUT is generated (813), and is transmitted from the WAN connection management unit (24) to the server side proxy (15) (313).
- the response analysis unit (25) determines whether the response (123) to the Get request or the PUT commands (801, 803, 805) is an HTML file (332). If it is an HTML file, it is transferred to the response transmission unit (26), and (333). The data is transferred to the data management unit (27) (335).
- the operation of the data management unit (27) in the client side proxy (12) will be described.
- the operation of the client side proxy (12) of this embodiment is almost the same as that of FIG. The difference is that, instead of 343 in FIG. 8, it is determined whether data reception is a request for an external file from the client or PUT reception from the server side. If the determination result indicates that the request is from a client, the data management unit (27) performs the processing after processing 344 in FIG. That is, the data management unit (27) registers the URL of the requested external file if it is not registered in the table, registers the port number used by the client (11) for the request in the same entry (346), A received flag (46) is set (347).
- the data management unit (27) performs the same processing as 348 to 350 in FIG.
- the external file URL table and the contents of PUT reception are registered in the external file entry included in the PUT command (349 and 350).
- the request transmission unit transmits a response to the PUT to the server-side proxy (15).
- the above description is the configuration and operation of the client-side proxy (12) in the fifth embodiment.
- the data management unit (37) in the server side proxy (15) will be described. . Although it is the same as that of FIG. 11 of Example 1, some differences are demonstrated.
- the data management unit (37) performs the same processing as in FIG.
- the data management unit (37) selects the top entry of the table 38 (822), and the corresponding entry is an external file that has not been acquired. If there is, a prefetch request is generated for prefetching to the server (16) (449). The subsequent processing is the same as 450 to 452 in FIG.
- a PUT request to be sent to the client side proxy (12) is generated, transferred to the response sending unit (36) (454), and sent to the client side proxy (12). To do.
- the corresponding entry in the table 38 is deleted. If a flag indicating that the prefetch response has already been transmitted is used, the entry may be deleted by checking the flag state after the prefetch response has been transmitted.
- the request may be transferred to the server side proxy (15).
- the server-side proxy (15) that has received this request transmits a response “404 ⁇ Not ⁇ ⁇ ⁇ ⁇ Found” in response to the request if the corresponding external file has already been transmitted by PUT.
- the client-side proxy (12) receives the PUT request and can obtain a file.
- the server side proxy (15) does not transmit the corresponding external file, the external file is transmitted as a response to the request transferred by the client side proxy (12).
- the communication between the proxies is not determined to be unauthorized communication because the PUT request including the prefetch target file from the server proxy (15) corresponds to 201Created for the PUT request from the client side proxy,
- the data of the prefetch file can be provided to the client side, and the client can contribute to speeding up the display of the web page.
- a network where a client side proxy is installed on the client side between the client and the server, and a server side proxy is installed on the server side,
- the client-side proxy and the server-side proxy relay a communication between the client and the server
- the server transmits a response to a document acquisition request referring to one or more external files from the client between the client and the server, Triggered by the first request sent by the client, the client-side proxy relays the first request to the server-side proxy, and without waiting for the second request from the client, Sending one or more prefetch requests to obtain one or more external files referenced by the document,
- the server-side proxy obtains and analyzes the document, prefetches the one or more external files from the server,
- the one or more external files that have been prefetched are transmitted to the client side proxy as a response to the prefetch request so that the number of prefetch requests and the number of responses to the
- each of the above-described configurations, functions, processing units, processing means, and the like may be realized by hardware by designing a part or all of them with, for example, an integrated circuit.
- Each of the above-described configurations, functions, and the like may be realized by software by interpreting and executing a program that realizes each function by the processor.
- Information such as programs, tables, and files for realizing each function can be stored in a recording device such as a memory, a hard disk, an SSD (Solid State Drive), or a recording medium such as an IC card, an SD card, or a DVD.
- control lines and information lines indicate what is considered necessary for the explanation, and not all the control lines and information lines on the product are necessarily shown. Actually, it may be considered that almost all the components are connected to each other.
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2012123902A JP2013250691A (ja) | 2012-05-31 | 2012-05-31 | 通信装置および方法 |
| JP2012-123902 | 2012-05-31 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2013180255A1 true WO2013180255A1 (ja) | 2013-12-05 |
Family
ID=49673438
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2013/065139 Ceased WO2013180255A1 (ja) | 2012-05-31 | 2013-05-31 | 通信装置および方法 |
Country Status (2)
| Country | Link |
|---|---|
| JP (1) | JP2013250691A (enExample) |
| WO (1) | WO2013180255A1 (enExample) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2017163426A1 (ja) * | 2016-03-25 | 2017-09-28 | 富士通株式会社 | 中継装置、中継方法及び中継プログラム |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2015001784A (ja) * | 2013-06-13 | 2015-01-05 | 富士通株式会社 | 情報処理システム、情報処理装置、及び情報処理プログラム |
| WO2017010065A1 (ja) * | 2015-07-10 | 2017-01-19 | 日本電気株式会社 | 情報処理装置および配信方法、並びにコンピュータ・プログラムを記録する記録媒体 |
| JP2018156692A (ja) * | 2018-06-14 | 2018-10-04 | 株式会社リコー | 情報処理システム、画像形成装置、情報処理装置、情報処理方法および情報処理プログラム |
Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2000066978A (ja) * | 1998-08-25 | 2000-03-03 | Hitachi Telecom Technol Ltd | ネットワーク管理情報収集方式および該方式に用いるネットワーク管理装置ならびに管理対象ノード |
| JP2001154983A (ja) * | 1999-12-01 | 2001-06-08 | Nec Corp | コンテンツ提供装置及びプログラムを記録した機械読み取り可能な記録媒体 |
| JP2001209571A (ja) * | 2000-01-26 | 2001-08-03 | Sharp Corp | 情報取得装置および情報取得方法、ならびに情報取得プログラムを記録したコンピュータ読み取り可能な記録媒体 |
| JP2005063192A (ja) * | 2003-08-14 | 2005-03-10 | Nippon Telegr & Teleph Corp <Ntt> | ウェブキャッシュ装置、ウェブキャッシュ方法及びウェブキャッシュプログラム |
| JP2006163780A (ja) * | 2004-12-07 | 2006-06-22 | Vodafone Kk | サーバに対する情報通知方法、コンテンツ提供方法、コンテンツ取得時の通信方法、移動体通信端末、コンテンツ提供サーバ及び通信中継サーバ |
| JP2008541239A (ja) * | 2005-05-04 | 2008-11-20 | ヴェントゥーリ ワイヤレス インコーポレーティッド | 長い待ち時間リンクのhttpのパフォーマンスを増加させるための方法と装置 |
| WO2010072238A1 (en) * | 2008-12-23 | 2010-07-01 | Telefonaktiebolaget Lm Ericsson (Publ) | Distribution of content items to user devices in a mobile environment |
| JP2012003652A (ja) * | 2010-06-21 | 2012-01-05 | Nippon Telegr & Teleph Corp <Ntt> | Web情報取得方法および装置 |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9268871B2 (en) * | 2008-10-16 | 2016-02-23 | Qualcomm Incorporated | Methods and apparatus for obtaining content with reduced access times |
-
2012
- 2012-05-31 JP JP2012123902A patent/JP2013250691A/ja active Pending
-
2013
- 2013-05-31 WO PCT/JP2013/065139 patent/WO2013180255A1/ja not_active Ceased
Patent Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2000066978A (ja) * | 1998-08-25 | 2000-03-03 | Hitachi Telecom Technol Ltd | ネットワーク管理情報収集方式および該方式に用いるネットワーク管理装置ならびに管理対象ノード |
| JP2001154983A (ja) * | 1999-12-01 | 2001-06-08 | Nec Corp | コンテンツ提供装置及びプログラムを記録した機械読み取り可能な記録媒体 |
| JP2001209571A (ja) * | 2000-01-26 | 2001-08-03 | Sharp Corp | 情報取得装置および情報取得方法、ならびに情報取得プログラムを記録したコンピュータ読み取り可能な記録媒体 |
| JP2005063192A (ja) * | 2003-08-14 | 2005-03-10 | Nippon Telegr & Teleph Corp <Ntt> | ウェブキャッシュ装置、ウェブキャッシュ方法及びウェブキャッシュプログラム |
| JP2006163780A (ja) * | 2004-12-07 | 2006-06-22 | Vodafone Kk | サーバに対する情報通知方法、コンテンツ提供方法、コンテンツ取得時の通信方法、移動体通信端末、コンテンツ提供サーバ及び通信中継サーバ |
| JP2008541239A (ja) * | 2005-05-04 | 2008-11-20 | ヴェントゥーリ ワイヤレス インコーポレーティッド | 長い待ち時間リンクのhttpのパフォーマンスを増加させるための方法と装置 |
| WO2010072238A1 (en) * | 2008-12-23 | 2010-07-01 | Telefonaktiebolaget Lm Ericsson (Publ) | Distribution of content items to user devices in a mobile environment |
| JP2012003652A (ja) * | 2010-06-21 | 2012-01-05 | Nippon Telegr & Teleph Corp <Ntt> | Web情報取得方法および装置 |
Non-Patent Citations (1)
| Title |
|---|
| SHINJI SHIOTA: "Koredake wa Shitte Okitai TCP/ IP Sainyumon (Dai 23 Kai) HTTP(2) Request to Response no Message", NIKKEI INTERNET SOLUTIONS, 22 April 2003 (2003-04-22), pages 114 - 123 * |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2017163426A1 (ja) * | 2016-03-25 | 2017-09-28 | 富士通株式会社 | 中継装置、中継方法及び中継プログラム |
| JPWO2017163426A1 (ja) * | 2016-03-25 | 2018-12-27 | 富士通株式会社 | 中継装置、中継方法及び中継プログラム |
| US10637955B2 (en) | 2016-03-25 | 2020-04-28 | Fujitsu Limited | Relay device, and relay method |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2013250691A (ja) | 2013-12-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7277914B2 (en) | Proxy server apparatus and method for providing service using the same | |
| US8312074B2 (en) | Method for multipart encoding | |
| US8291007B2 (en) | System and method to accelerate client/server interactions using predictive requests | |
| US10630758B2 (en) | Method and system for fulfilling server push directives on an edge proxy | |
| EP2853074B1 (en) | Methods for optimizing service of content requests and devices thereof | |
| US11159642B2 (en) | Site and page specific resource prioritization | |
| US8490173B2 (en) | Unauthorized communication detection method | |
| US10791135B2 (en) | Inspection of network traffic in a security device at object level | |
| WO2013180255A1 (ja) | 通信装置および方法 | |
| US9781222B2 (en) | Method, system and server device for transmitting a digital resource in a client-server communication system | |
| CN108605039B (zh) | 在spdy连接上检测恶意软件 | |
| CN115665274B (zh) | 异构协议的数据传输方法、系统、电子设备及存储介质 | |
| JP5948111B2 (ja) | パケット通信装置および方法 | |
| US9483575B2 (en) | Reproducing a graphical user interface display | |
| JP6623702B2 (ja) | ネットワーク監視装置及びネットワーク監視装置におけるウイルス検知方法。 | |
| JP2008217532A (ja) | Wwwコンテンツ取得システム及びwwwコンテンツ取得方法 | |
| JP5986695B2 (ja) | 情報処理装置、処理方法およびプログラム | |
| JP5893787B2 (ja) | 情報処理装置、処理方法およびプログラム | |
| JP2012213107A (ja) | ゲートウェイ装置、情報処理装置、処理方法およびプログラム | |
| CN114039788A (zh) | 一种策略传输方法、网闸系统、电子设备及存储介质 | |
| KR20080027013A (ko) | 통신시스템의 하이퍼텍스트 통신규칙 요청 메시지를 줄이는장치 및 방법 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 13796816 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 13796816 Country of ref document: EP Kind code of ref document: A1 |