JP2013218387A - Packet communication device and method - Google Patents

Packet communication device and method Download PDF

Info

Publication number
JP2013218387A
JP2013218387A JP2012085993A JP2012085993A JP2013218387A JP 2013218387 A JP2013218387 A JP 2013218387A JP 2012085993 A JP2012085993 A JP 2012085993A JP 2012085993 A JP2012085993 A JP 2012085993A JP 2013218387 A JP2013218387 A JP 2013218387A
Authority
JP
Japan
Prior art keywords
client
server
request
side proxy
file
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.)
Granted
Application number
JP2012085993A
Other languages
Japanese (ja)
Other versions
JP5948111B2 (en
Inventor
Yuji Oishi
裕司 大石
Michitaka Okuno
通貴 奥野
Dai Akashi
大 明石
Daisuke Ito
大輔 伊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2012085993A priority Critical patent/JP5948111B2/en
Publication of JP2013218387A publication Critical patent/JP2013218387A/en
Application granted granted Critical
Publication of JP5948111B2 publication Critical patent/JP5948111B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

PROBLEM TO BE SOLVED: To prevent the deterioration of communication efficiency, that is, the sharp increase of a file transfer time in the case of using a WebDAV (Web Distributed Authoring and Versioning) for easily editing a file on a server by extending an HTTP (Hyper Text Transfer Protocol) for a WAN (Wide Area Network) whose communication delay is large.SOLUTION: In a network in which a client side proxy is installed on a client side, and a server side proxy is installed on a server side, when receiving a second request following a first request transmitted by the client and corresponding to a response including a list of multiple files to the first request, the client side proxy or the server side proxy transmits a request for acquiring multiple files pertinent to the list to the server without waiting for further requests from the client, and pre-fetches the substance of the multiple files pertinent to the list of multiple files as a response to the multiple file acquisition request from the server.

Description

本発明は、パケット通信装置および方法に関する。   The present invention relates to a packet communication apparatus and method.

ウェブシステムにおいて、クライアント側で、サーバからの情報を表示しようとする場合、クライアントサーバ間で、ウェブブラウザはHTMLを解析し、オブジェクトを発見するたびにそのオブジェクトに対するGETリクエストをサーバに送信する。通常ブラウザから一つのサーバへの同時接続数は制限されているため、ウェブページの読み込みにはクライアント・サーバ間の往復が多数回行われることとなる。   In the web system, 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. Usually, since the number of simultaneous connections from a browser to one server is limited, a web page is read many times between client and server.

クライアントとサーバが大陸間海底ケーブルなどの遅延の大きなワイドエリアネットワーク (Wide Area Network: WAN)により接続されている場合、ハイパーテキスト転送プロトコル (Hyper Text Transfer Protocol: HTTP)による通信は、効率が著しく低下する。遅延の大きなネットワークでは、クライアントがリクエストを送信してからサーバからレスポンスが返ってくるまで長い時間がかかり、クライアントはその間待機する必要を生じる。これが多数回行われるためウェブページをリクエストしてから表示が完了するまでの時間が長くなる。   When the client and server are connected by a wide-area network (Wide Area Network: WAN) such as an intercontinental submarine cable, communication using the Hyper Text Transfer Protocol (HTTP) is significantly less efficient. To do. In a network with a large delay, it takes a long time from when a client sends a request until a response is returned from the server, and the client needs to wait during that time. Since this is performed many times, it takes a long time to complete the display after requesting the web page.

例えば、クライアントとサーバが、衛星回線を通じて通信し、HTTPプロトコルに従って、サーバから衛星回線を介してダウンロードされるウエブページのインラインオブジェクトの呼び出し遅れを防ぐために、分散プロキシサーバが、基本コンポーネントの取得時に、インラインオブジェクトを先読みする技術が特許文献1に開示されている。   For example, in order to prevent delays in invoking web page inline objects that are downloaded from a server via a satellite link when the client and server communicate via a satellite link, the distributed proxy server may acquire A technique for prefetching an inline object is disclosed in Patent Document 1.

また、HTTP方式を拡張して、サーバ上のファイルを容易に編集可能としたWebDAV (Web Distributed Authoring and Versioning) という方式がある(非特許文献1)。WebDAVではサーバ上のファイルやフォルダをWebDAVクライアント経由で操作可能である。WebDAVでもHTTPと同様のリクエストが用いられるほか、フォルダ内のファイルに関するプロパティ情報を取得するためのPROPFINDというリクエストが用いられる。   Further, there is a system called WebDAV (Web Distributed Authoring and Versioning) that extends the HTTP system and makes it easy to edit files on the server (Non-patent Document 1). In WebDAV, files and folders on the server can be operated via a WebDAV client. In WebDAV, requests similar to HTTP are used, and a request called PROPFIND is used to get property information about files in the folder.

WO1999008429AWO1999008429A

IETF RFC2518 “HTTP Extensions for Distributed Authoring - WEBDAV”IETF RFC2518 “HTTP Extensions for Distributed Authoring-WEBDAV”

しかしながら、WebDAVではHTTPと異なり、ファイルが基本コンポーネントとそれに付随するインラインオブジェクトのような主従関係になっておらず、特許文献1の技術を適用しても、ファイルの関係性を見出すことができないため先読みすることはできない。   However, unlike HTTP, in WebDAV, a file does not have a master-slave relationship such as a basic component and an inline object that accompanies the basic component. Prefetching is not possible.

そこで、本発明では、WebDAVをWAN経由で利用する場合に、適切なファイル一覧の取得方法を実現することを、一目的とする。   Therefore, an object of the present invention is to realize an appropriate file list acquisition method when WebDAV is used over a WAN.

また、WebDAVではファイル一覧の情報を取得したとしても、次のリクエストが判明しないとそれらのファイルを転送するべきか否かを断定できないため、ファイルの転送が不要な場合にもファイルの転送を行ってしまう。そこで本発明では、必要な場合のみに複数のファイルを効率的に転送することを他の目的とする。また、WebDAVをWAN経由で利用する場合に適切なファイルの高速転送を実現することを他の目的とする。   In addition, even if WebDAV obtains file list information, it cannot determine whether the files should be transferred unless the next request is known. End up. Therefore, another object of the present invention is to efficiently transfer a plurality of files only when necessary. Another object is to realize high-speed transfer of appropriate files when WebDAV is used over a WAN.

少なくともいずれか一の課題を解決するために、本発明の一態様は、クライアントと接続されるクライアント側プロキシと、サーバと接続されるサーバ側プロキシとを含むシステムで、前記クライアントおよび前記サーバの間の通信を中継する通信方法であって、前記クライアントと前記サーバの間で前記クライアントからのリクエストに対して前記サーバがレスポンスを送信する形式の通信方法において、前記クライアントからが送信される第一のリクエストで取得される複数ファイルのリストを含むレスポンスを、クライアントに送信し、前記クライアントから、前記リストに関連する第二のリクエストを受領した場合、 前記クライアントからのリクエストを待たずに、前記サーバに対して前記リストに該当する複数ファイルを取得するためのリクエストを送信し、前記複数ファイル取得リクエストに対するレスポンスとして前記複数ファイルのリストに該当する前記複数ファイルの実体を、前記サーバからプリフェッチする、ことを特徴とする通信方法。   In order to solve at least one of the problems, an aspect of the present invention is a system including a client-side proxy connected to a client and a server-side proxy connected to a server. In the communication method of relaying the communication of the server, the server transmits a response to the request from the client between the client and the server. When a response including a list of multiple files obtained by the request is transmitted to the client and a second request related to the list is received from the client, the server does not wait for the request from the client and For multiple files corresponding to the above list It sends a request for a communication method of the entity of the plurality of files corresponding to the list of the plurality of files as a response to the plurality file acquisition request, the prefetch from the server, and wherein the.

また別の態様は、クライアント装置とサーバ装置間で、サーバに格納されるデータの通信制御を行うプロキシシステムであって、クライアントと通信するクライアント通信部と、サーバと通信するサーバ通信部と、前記クライアントからの、第一のリクエストに対するレスポンスに含まれる複数の情報のうち、少なくともいずれか一の情報の取得要求を前記クライアントから受信した場合、前記レスポンスに含まれる複数の情報の取得要求を、サーバに送信し、前記複数の情報取得要求に対するレスポンスを、前記サーバからの受領した場合、前記クライアントに当該レスポンスを送信する、送信制御部と、を有する態様である。   Another aspect is a proxy system that controls communication of data stored in a server between a client device and a server device, the client communication unit communicating with the client, the server communication unit communicating with the server, When receiving a request for acquiring at least one of the plurality of information included in the response to the first request from the client, the server acquires the request for acquiring the plurality of information included in the response. And a transmission control unit that transmits the response to the client when the response to the plurality of information acquisition requests is received from the server.

HTTPやWebDAVに従う通信で、サーバからクライアントへの複数ファイルを効率的に転送する。   A plurality of files are efficiently transferred from the server to the client by communication according to HTTP or WebDAV.

本発明の実施例1における通信方式を表すシーケンス図である。It is a sequence diagram showing the communication system in Example 1 of this invention. 本実施例におけるネットワーク構成図である。It is a network block diagram in a present Example. 本実施例におけるクライアント側プロキシの内部構成を表す図である。It is a figure showing the internal structure of the client side proxy in a present Example. 本実施例におけるサーバ側プロキシの内部構成を表す図である。It is a figure showing the internal structure of the server side proxy in a present Example. 本実施例におけるクライアント側プロキシおよびサーバ側プロキシのデータ管理テーブルを表す図である。It is a figure showing the data management table of the client side proxy and server side proxy in a present Example. 本発明の実施例1におけるクライアント側プロキシの動作を表すフローチャートである。It is a flowchart showing operation | movement of the client side proxy in Example 1 of this invention. 本発明の実施例1におけるサーバ側プロキシの動作を表すフローチャートである。It is a flowchart showing operation | movement of the server side proxy in Example 1 of this invention. 本発明の実施例2における通信方式を表すシーケンス図である。It is a sequence diagram showing the communication system in Example 2 of this invention. 本発明の実施例2におけるクライアント側プロキシの動作を表すフローチャートである。It is a flowchart showing the operation | movement of the client side proxy in Example 2 of this invention. 本発明の実施例2におけるサーバ側プロキシの動作を表すフローチャートである。It is a flowchart showing operation | movement of the server side proxy in Example 2 of this invention. 本発明の実施例3における通信方式を表すシーケンス図である。It is a sequence diagram showing the communication system in Example 3 of this invention. 本発明の実施例3におけるクライアント側プロキシの動作を表すフローチャートである。It is a flowchart showing the operation | movement of the client side proxy in Example 3 of this invention. 本発明の実施例3におけるサーバ側プロキシの動作を表すフローチャートである。It is a flowchart showing operation | movement of the server side proxy in Example 3 of this invention. 本発明の実施例4における通信方式を表すシーケンス図である。It is a sequence diagram showing the communication system in Example 4 of this invention. 本発明の実施例4におけるクライアント側プロキシの内部構成を表す図である。It is a figure showing the internal structure of the client side proxy in Example 4 of this invention. 本発明の実施例4におけるサーバ側プロキシの内部構成を表す図である。It is a figure showing the internal structure of the server side proxy in Example 4 of this invention. 本発明の実施例4におけるクライアント側プロキシおよびサーバ側プロキシのデータ管理テーブルを表す図であるIt is a figure showing the data management table of the client side proxy and server side proxy in Example 4 of this invention. 本発明の実施例4におけるクライアント側プロキシの動作を表すフローチャートである。It is a flowchart showing the operation | movement of the client side proxy in Example 4 of this invention. 本発明の実施例4におけるサーバ側プロキシの動作を表すフローチャートである。It is a flowchart showing operation | movement of the server side proxy in Example 4 of this invention.

図2は本実施例におけるネットワーク構成を表す図である。   FIG. 2 is a diagram illustrating a network configuration in the present embodiment.

クライアント(11)と同一のLAN(13)内にクライアント側プロキシ(12)を設置し、クライアント側プロキシ(12)がWAN(14)との通信を行う。同様に、サーバ(16)と同一のLAN(17)内にサーバ側プロキシ(15)を設置し、サーバ側プロキシ(15)がWANとの通信を行う。クライアント側プロキシ(12)とサーバ側プロキシ(15)が協調して動作することにより、LANに比べて遅延の大きなWANでも性能劣化を抑えて通信を行うことを可能とする。   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). Similarly, 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 a coordinated manner, so that communication can be performed while suppressing performance degradation even in a WAN having a delay larger than that of a LAN.

本実施例では、クライアント側プロキシ(12)とサーバ側プロキシ(15)が協調して動作するシステムを説明するが、クライアント側プロキシ(12)あるいはサーバプロキシ(15)が他方のプロキシの動作を兼ねて、他方の処理を省略するプロキシシステムであってもよい。   In this embodiment, a system in which the client side proxy (12) and the server side proxy (15) operate in cooperation will be described. However, the client side proxy (12) or the server proxy (15) also functions as the other proxy. The proxy system may omit the other process.

本発明の第一の実施例における通信シーケンスを図1に示す。図1では通信にかかわる、少なくとも一以上のクライアント(11)、クライアント側プロキシ(12)、サーバ側プロキシ(15)、およびサーバ(16)のシーケンスを示している。   A communication sequence in the first embodiment of the present invention is shown in FIG. FIG. 1 shows a sequence of at least one client (11), client-side proxy (12), server-side proxy (15), and server (16) involved in communication.

クライアントがサーバ上のフォルダにアクセスする際、まず、クライアントは、そのフォルダに対してPROPFINDというリクエスト(101)を発行する。このリクエストは、クライアント側プロキシ(12)で受信され、サーバ側プロキシ(15)へとWANを介してを転送される(111)。   When a client accesses a folder on the server, first, the client issues a request (101) called PROPFIND to the folder. This request is received by the client side proxy (12) and transferred to the server side proxy (15) via the WAN (111).

サーバ側プロキシ(15)は、PROPFINDを受信すると、サーバ(16)へさらに転送する(121)。PROPFINDを受信したサーバ(16)はそれに対するレスポンスを生成し、クライアントに向けてWAN側へ返送する(122)。このレスポンスにはフォルダ内のファイル一覧が含まれる。同レスポンスはサーバ側プロキシ(15)でクライアント側プロキシ(12)へ転送され(112)、サーバ側プロキシ(15)は、PROPFINDに対するレスポンスを解析し、フォルダ内のファイル一覧を取得する。さらにクライアント側プロキシ(12)でクライアント(11)へ転送される(102)。クライアント側プロキシ(12)でも同様にこのレスポンスを解析し、ファイル一覧を取得する。クライアント(11)はクライアント側プロキシ(12)およびサーバ側プロキシ(15)とは、別にこのレスポンスを解析してファイル一覧を取得する。   When the server-side proxy (15) receives PROPFIND, it further forwards it to the server (16) (121). The server (16) that has received the PROPFIND generates a response to it and returns it to the WAN side toward the client (122). This response includes a list of files in the folder. The response is transferred to the client-side proxy (12) by the server-side proxy (15) (112), and the server-side proxy (15) analyzes the response to PROPFIND and obtains a list of files in the folder. Furthermore, it is transferred to the client (11) by the client side proxy (12) (102). The client side proxy (12) similarly analyzes this response and acquires a file list. The client (11) analyzes this response separately from the client side proxy (12) and the server side proxy (15) to obtain a file list.

ファイル一覧を取得したクライアント(11)は、各ファイルに対して順にリクエストを送信する。クライアント(11)から送信された最初のファイルに対するリクエスト(103)は、クライアント側プロキシ(12)によって転送され(113)、サーバ側プロキシ(15)によって転送されて(123)サーバ(16)によって受信される。サーバ(16)はリクエスト(123)に対するレスポンスとしてファイルを送信する(124)。   The client (11) which acquired the file list transmits a request to each file in order. The request (103) for the first file sent from the client (11) is transferred by the client side proxy (12) (113), transferred by the server side proxy (15) (123) and received by the server (16). Is done. The server (16) transmits the file as a response to the request (123) (124).

まず、サーバ側プロキシ(15)の動作を説明する。レスポンス(124)を受信したサーバ側プロキシ(15)はこれをクライアント側プロキシ(12)へ転送する(114)。同時に、サーバ側プロキシ(15)はファイル一覧中の次のファイルに対するリクエストを、クライアント(11)に代わってサーバ(16)に送信する(125)。サーバ(16)はこれに対するレスポンスとしてファイルを送信する(126)。該当ファイル(ファイル一覧のうちいずれか一のファイル)を受信したサーバ側プロキシ(15)は、このファイルをクライアント側プロキシ(12)へ転送(115)するとともに、ファイル一覧に次のファイルがあればそれに対するリクエストを送信する(127)。サーバ側プロキシ(15)が同リクエストに対するレスポンスを受信(128)するとこれをクライアント側プロキシ(12)へ転送する(116)。サーバ側プロキシ(15)は、ファイル一覧に次のファイルがないので、ファイル一覧を破棄して動作を完了する。   First, the operation of the server side proxy (15) will be described. The server side proxy (15) which received the response (124) transfers this to the client side proxy (12) (114). At the same time, the server side proxy (15) transmits a request for the next file in the file list to the server (16) instead of the client (11) (125). The server (16) transmits a file as a response to this (126). The server-side proxy (15) that has received the file (one of the files in the file list) transfers the file to the client-side proxy (12) (115), and if the next file exists in the file list. A request for that is transmitted (127). When the server side proxy (15) receives the response to the request (128), it transfers it to the client side proxy (12) (116). Since there is no next file in the file list, the server side proxy (15) discards the file list and completes the operation.

次に、クライアント側プロキシ(12)の動作を説明する。クライアント側プロキシ(12)はファイル1のレスポンスを受信(114)し、ファイル1を取得すると、ファイル1をクライアント(11)へ転送する(104)。クライアント(11)はファイル2に対するリクエストを送信する(105)。一方でファイル2のレスポンスはサーバ側プロキシ(15)より送信されるされる(115)ので、クラアント側プロキシ(12)は、ファイル2に対するリクエストとレスポンスがそろった段階で、クライアント(11)に対してレスポンスを送信する(106)。同様の動作をファイル一覧中の全てのファイルに対して繰り返し(107,116,108)、ファイル一覧を破棄して動作を完了する。   Next, the operation of the client side proxy (12) will be described. The client-side proxy (12) receives the response of the file 1 (114), acquires the file 1, and transfers the file 1 to the client (11) (104). The client (11) transmits a request for the file 2 (105). On the other hand, since the response of the file 2 is sent from the server side proxy (15) (115), the client side proxy (12) sends a request and response to the file 2 to the client (11). The response is transmitted (106). A similar operation is repeated for all files in the file list (107, 116, 108), and the file list is discarded to complete the operation.

上記動作は、クライアント側プロキシ(12)、サーバ側プロキシ(15)の双方にてクライアント(11)およびサーバ(16)の組ごとに独立に行われる。クライアント(11)およびサーバ(16)の識別はパケットヘッダ中のIPアドレスを用いて行う。   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.

以上により、「PROPFIND」に対するレスポンスに含まれる「207 Multi−Status」に該当するファイルの指定を受けたの契機にサーバ側プロキシ15が、「207 Multi−Status」に対応する複数ファイルの読み出しを実行し、クライアント側プロキシ12に「200 OK」により、それぞれファイル1−3を送る例を示した。   As described above, the server-side proxy 15 reads a plurality of files corresponding to “207 Multi-Status” when receiving the designation of the file corresponding to “207 Multi-Status” included in the response to “PROPFIND”. In this example, the files 1-3 are sent to the client-side proxy 12 by “200 OK”.

図3はクライアント側プロキシ(12)の内部構成を表す図である。サーバ側プロキシ(12)は、クライアント11とサーバ16の間の通信を仲介し、パケットを送受信する通信装置であって、クライアント11とWANの間にあるのが一例である。または、クライアント側の局所ネットワークのゲートウェイ装置であってもよい。クライアントは、例えば情報処理装置、無線情報処理端末である。局所ネットワークは、有線、無線少なくともいずれかで構成されてもよい。   FIG. 3 is a diagram showing the internal configuration of the client side proxy (12). The server-side proxy (12) is a communication device that mediates communication between the client 11 and the server 16 and transmits and receives packets. For example, the server-side proxy (12) is between the client 11 and the WAN. Alternatively, it may be a gateway device of a local network on the client side. The client is, for example, an information processing device or a wireless information processing terminal. The local network may be configured by at least one of wired and wireless.

LAN側コネクション管理部(301)はクライアント(11)との通信を行う。クライアント(11)からのリクエストはリクエスト判定部(302)にて、リクエストを送信したクライアント(11)が識別される。また、そのリクエストがPROPFINDやGETなど、プリフェッチ動作の契機となるものかどうかが判定される。   The LAN side connection management unit (301) communicates with the client (11). In the request from the client (11), the request determination unit (302) identifies the client (11) that transmitted the request. In addition, it is determined whether the request is a trigger for a prefetch operation such as PROPFIND or GET.

プリフェッチ動作中でないとき、受信したリクエストはそのままリクエスト送信部(305)に送られ、サーバ側プロキシ(15)へ送信される。プリフェッチ動作中はリクエストは一旦データ管理部(304)に登録される。   When the prefetch operation is not being performed, the received request is sent to the request transmission unit (305) as it is and is transmitted to the server side proxy (15). During the prefetch operation, the request is temporarily registered in the data management unit (304).

データ管理部(304)はIPアドレスで識別されるクライアント(11)ごとにテーブルを持ち、リクエスト・レスポンスの状態とそのデータを管理する。例えばクライアントが3台あれば3つのテーブル(311〜313)を持つ。リクエストを受信すればそのパス名をキーとしてテーブルを検索して、リクエスト受信済みのフラグを立てる。またプリフェッチされたレスポンスを受信すればレスポンス受信済みのフラグを立てる。テーブルのエントリは定期的に調べられ、リクエスト受信済みかつレスポンス受信済みであれば、レスポンスをレスポンス送信部(303)を介して、クライアントへ送信する。リクエスト受信時にレスポンスが登録されていなければ、リクエストをリクエスト送信部(305)を介してサーバ側プロキシ(15)へ送信してもよい。   The data management unit (304) 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, there are three tables (311 to 313). When a request is received, the table is searched using the path name as a key, and a request received flag is set. If a prefetched response is received, a response received flag is set. The table entry is periodically checked, and if the request has been received and the response has been received, the response is transmitted to the client via the response transmission unit (303). If no response is registered when the request is received, the request may be transmitted to the server-side proxy (15) via the request transmission unit (305).

リクエスト送信部(305)は、リクエスト判定部(302)またはデータ管理部(304)から受け取ったリクエストをWAN側コネクション管理部(307)を用いて送信する。   The request transmission unit (305) transmits the request received from the request determination unit (302) or the data management unit (304) using the WAN side connection management unit (307).

WAN側コネクション管理部(307)は、WANを通じてサーバ側プロキシ(15)との通信の制御を行う。   The WAN side connection management unit (307) controls communication with the server side proxy (15) through the WAN.

レスポンス解析部(306)ではサーバ側プロキシ(15)から受信したレスポンスのIPアドレスを解析して、どのクライアント(11)に対するものであるか判断する。また、PROPFINDに対するレスポンスであればその内容も解析しファイル一覧を取得してデータ管理部(304)に登録する。同時にレスポンス送信部(303)に渡してクライアント(11)へ転送する。GETに対するレスポンスであればデータ管理部(304)に登録する。   The response analysis unit (306) analyzes the IP address of the response received from the server-side proxy (15) and determines which client (11) it is for. If it is a response to PROPFIND, its contents are also analyzed to obtain a file list and registered in the data management unit (304). At the same time, it is passed to the response transmission unit (303) and transferred to the client (11). If it is a response to GET, it is registered in the data management unit (304).

レスポンス送信部(303)ではレスポンス解析部(306)またはデータ管理部(304)から受信したレスポンスデータをLAN側コネクション管理部(301)に渡してクライアント(11)へ転送する。   The response transmission unit (303) transfers the response data received from the response analysis unit (306) or the data management unit (304) to the LAN side connection management unit (301) and transfers it to the client (11).

図4はサーバ側プロキシ(15)の内部構成を表す図である。サーバ側プロキシ(15)は、クライアントとサーバの間の通信を仲介し、パケットを送受信する通信装置であって、サーバとWANの間にあるのが一例である。または、サーバ側の局所ネットワークのゲートウェイ装置であってもよい。サーバは、例えば情報処理装置である。サーバ側の局所ネットワークは、有線、無線少なくともいずれかで構成されてもよい。WAN側コネクション管理部(401)はクライアント側プロキシ(12)との通信を行う。   FIG. 4 is a diagram showing the internal configuration of the server-side proxy (15). The server-side proxy (15) is a communication device that mediates communication between the client and the server and transmits and receives packets, and is one example between the server and the WAN. Alternatively, it may be a local network gateway device on the server side. The server is an information processing apparatus, for example. The local network on the server side may be configured by at least one of wired and wireless. The WAN side connection management unit (401) communicates with the client side proxy (12).

クライアント側プロキシからのリクエストはリクエスト判定部(402)にて、リクエストを送信したクライアント(11)が識別される。また、そのリクエストがPROPFINDやGETなど、プリフェッチ動作の契機となるものかどうかが判定される。   In the request from the client side proxy, the request determination unit (402) identifies the client (11) that transmitted the request. In addition, it is determined whether the request is a trigger for a prefetch operation such as PROPFIND or GET.

プリフェッチ動作中でないとき、受信したリクエストはそのままリクエスト送信部(405)に送られ、サーバへ送信される。プリフェッチ動作中の場合、リクエストは、一旦データ管理部(404)に登録される。   When the prefetch operation is not in progress, the received request is sent to the request transmission unit (405) as it is and transmitted to the server. When the prefetch operation is being performed, the request is once registered in the data management unit (404).

データ管理部(404)は、クライアント側プロキシ(12)と同様にクライアント(11)ごとにデータ管理テーブルを持ち、リクエスト・レスポンスの状態とそのデータを管理する。例えばクライアント(11)が3台あれば3つのテーブル(411〜413)を持つ。プリフェッチ動作中は、テーブルは定期的に調べられ、プリフェッチ未了のエントリがあればプリフェッチを行うため、リクエスト送信部(405)へURLを渡す。クライアント側プロキシ(12)からリクエストを受信した場合、該当レスポンスを送信していなければ、そのリクエストを優先的にリクエスト送信部(405)へ渡し、サーバ(16)へ送信する。   Similar to the client-side proxy (12), the data management unit (404) has a data management table for each client (11), and manages the request / response state and its data. For example, if there are three clients (11), there are three tables (411 to 413). During the prefetch operation, the table is periodically checked, and if there is an entry that has not been prefetched, the prefetch is performed, and thus the URL is passed to the request transmission unit (405). When a request is received from the client side proxy (12), if the corresponding response is not transmitted, the request is preferentially transferred to the request transmission unit (405) and transmitted to the server (16).

リクエスト送信部(405)は、リクエスト判定部(402)またはデータ管理部(404)から受け取ったリクエストをLAN側コネクション管理部(407)を用いて送信する。LAN側コネクション管理部(406)は、サーバ側プロキシ(15)とサーバ(16)との通信を制御する。   The request transmission unit (405) transmits the request received from the request determination unit (402) or the data management unit (404) using the LAN side connection management unit (407). The LAN side connection management unit (406) controls communication between the server side proxy (15) and the server (16).

レスポンス解析部(406)ではサーバ(15)から受信したPROPFINDに対するレスポンスを解析しファイル一覧を取得してデータ管理部(404)に登録する。同時にレスポンス送信部(403)を介してクライアント(16)へ転送する。またレスポンスがGETに対するレスポンスであればデータ管理部(404)に登録する。   The response analysis unit (406) analyzes the response to PROPFIND received from the server (15), acquires a file list, and registers it in the data management unit (404). At the same time, the data is transferred to the client (16) via the response transmission unit (403). If the response is a response to GET, it is registered in the data management unit (404).

レスポンス送信部(403)は、レスポンス解析部(406)またはデータ管理部(404)から受信したレスポンスデータをWAN側コネクション管理部(401)を介してクライアント側プロキシ(12)へ転送する。   The response transmission unit (403) transfers the response data received from the response analysis unit (406) or the data management unit (404) to the client side proxy (12) via the WAN side connection management unit (401).

図5は、(a)クライアント側プロキシおよび(b)サーバ側プロキシのデータ管理部における、データ管理テーブル(311,411)を示す。クライアント側プロキシのデータ管理テーブル(311)は対象となるファイルごとに、ファイルのURL(351)、プリフェッチしたレスポンス(352)、および1または0の値をとる3種類のフラグを持っている。フラグは「クライアントからリクエスト受信済み(353)」、「サーバ側プロキシからレスポンス受信済み(354)」、「クライアントにレスポンス送信済み(355)」である。   FIG. 5 shows data management tables (311 and 411) in the data management unit of (a) client side proxy and (b) server side proxy. The data management table (311) of the client side proxy has, for each target file, a file URL (351), a prefetched response (352), and three types of flags that take a value of 1 or 0. The flags are “request received from client (353)”, “response received from server-side proxy (354)”, and “response sent to client (355)”.

「クライアントからリクエスト受信済み(353)」フラグは、そのファイルに対するリクエストをクライアントから受信したとき1に設定される。フラグの値は、0,1以外であっても、クライアントからのリクエストが受信されたかか否かを、識別できる値を用いてもよい。   The “request received from client (353)” flag is set to 1 when a request for the file is received from the client. Even if the value of the flag is other than 0 or 1, a value that can identify whether or not a request from the client has been received may be used.

「サーバ側プロキシからレスポンス受信済み(354)」フラグはそのファイルをサーバ側プロキシから受信したとき1に設定される。フラグの値は、1以外であっても、サーバ側プロキシからレスポンスが受信されたかか否かを、識別できる値を用いてもよい。これらのフラグの両方が1となっていれば、レスポンスはクライアント側プロキシからクライアントへ送信され、「クライアントにレスポンス送信済み(355)」フラグが1に設定される。「クライアントにレスポンス送信済み(355)」フラグが1であれば該当エントリは削除される。   The “response received from server side proxy (354)” flag is set to 1 when the file is received from the server side proxy. Even if the value of the flag is other than 1, a value that can identify whether or not a response is received from the server-side proxy may be used. If both of these flags are 1, the response is sent from the client-side proxy to the client, and the “response sent to client (355)” flag is set to 1. If the “response sent to client (355)” flag is 1, the corresponding entry is deleted.

サーバ側プロキシのデータ管理テーブルは対象となるファイルごとに、ファイルのURL(451)、プリフェッチしたレスポンス(452)、および1または0の値をとる3種類のフラグを持っている。フラグは「サーバにプリフェッチリクエスト送信済み(453)」、「クライアント側プロキシからリクエスト受信済み(454)」、「サーバからレスポンス受信済み(456)」である。   The server-side proxy data management table has, for each target file, a file URL (451), a prefetched response (452), and three types of flags that take a value of 1 or 0. The flags are “prefetch request transmitted to server (453)”, “request received from client side proxy (454)”, and “response received from server (456)”.

「サーバにプリフェッチリクエスト送信済み(453)」フラグは、そのファイルに対するリクエストをサーバに送信したとき1に設定される。フラグの値は、0,1以外であっても、サーバにプリフェッチリクエストが送信されたかか否かを、識別できる値を用いてもよい。「クライアント側プロキシからリクエスト受信済み(454)」フラグはクライアント側プロキシからリクエストを受信したときに1に設定される。「サーバからレスポンス受信済み(455)」フラグはサーバからレスポンスを受信したときに1に設定される。このフラグが1のときにレスポンスはクライアント側プロキシに送信され、エントリが削除される。   The “prefetch request sent to server (453)” flag is set to 1 when a request for the file is sent to the server. Even if the value of the flag is other than 0 or 1, a value that can identify whether or not a prefetch request is transmitted to the server may be used. The “request received from client side proxy (454)” flag is set to 1 when a request is received from the client side proxy. The “response received from server (455)” flag is set to 1 when a response is received from the server. When this flag is 1, the response is sent to the client-side proxy and the entry is deleted.

図6はクライアント側プロキシ(12)の動作を表すフローチャートである。初期状態ではLAN側でパケットを受信するまで待機する(501)。クライアント側プロキシ(12)は、LAN側でパケットを受信すると、送信元および宛先IPアドレスごとに分離する(502)。そのパケットがPROPFINDリクエストであれば(503)、クライアント側プロキシ(12)は、サーバ側プロキシへ転送して(504)、GET待ち状態へ移行する。その他のリクエストであれば(551)、同様にサーバ側プロキシへ転送する(552)が、プリフェッチの準備は行わず、サーバ側プロキシ(15)からレスポンスを受信するのを待って(553)それをクライアント(11)へ転送し(554)、初期状態(501)へ戻る。   FIG. 6 is a flowchart showing the operation of the client side proxy (12). In the initial state, it waits until a packet is received on the LAN side (501). When receiving the packet on the LAN side, the client side proxy (12) separates the packet for each source and destination IP address (502). If the packet is a PROPFIND request (503), the client side proxy (12) transfers it to the server side proxy (504) and shifts to a GET wait state. If it is another request (551), it is similarly forwarded to the server side proxy (552), but it does not prepare for prefetching, but waits for a response from the server side proxy (15) (553). Transfer to the client (11) (554) and return to the initial state (501).

サーバ側プロキシへ転送したPROPFIND(504)のレスポンスが受信されるまで、クライアント側プロキシ(12)は、当該PROPFIND(504)に関する処理を待機する(505)。PROPFIND(504)のレスポンスが受信されると、クライアント側プロキシ(12)は、そのレスポンスをクライアント(11)へ転送する(506)。また、クライアント側プロキシ(12)は、このレスポンスを解析してファイル一覧を作成し、データ管理部(404)に登録する(507)。   Until the response of PROPFIND (504) transferred to the server-side proxy is received, the client-side proxy (12) waits for processing related to the PROPFIND (504) (505). When the response of PROPFIND (504) is received, the client side proxy (12) transfers the response to the client (11) (506). The client-side proxy (12) analyzes this response to create a file list and registers it in the data management unit (404) (507).

続いて、クライアント側プロキシ(12)は、クライアントからのGETリクエストを待ちうける(508)。GETを受信すると、クライアント側プロキシ(12)は、これをサーバ側プロキシ(15)へ転送し(509)、GETリクエストに対するレスポンスを受信するまで待機する(510)。クライアント側プロキシ(12)は、受信されればクライアント(11)へ転送(511)し、サーバ側プロキシ(15)からのプリフェッチデータを待ちうける(512)。GET以外のリクエストを受信した場合(555)は、同様にサーバ側プロキシ(15)へ転送する(556)が、WAN側からレスポンスを受信するのを待って(557)それをクライアント(11)へ転送し(558)、初期状態(501)へ戻る。   Subsequently, the client side proxy (12) waits for a GET request from the client (508). Upon receiving the GET, the client side proxy (12) transfers it to the server side proxy (15) (509) and waits until a response to the GET request is received (510). If received, the client side proxy (12) transfers (511) to the client (11) and waits for prefetch data from the server side proxy (15) (512). When a request other than GET is received (555), the request is similarly transferred to the server side proxy (15) (556), but a response is received from the WAN side (557), and it is sent to the client (11). Transfer (558) and return to the initial state (501).

サーバ側プロキシ(15)からのプリフェッチデータを受信すると(512)、クライアント側プロキシ(12)は、これをデータ管理部(304)に保存して(513)、クライアントからのリクエストを待ちうける(514)。リクエストを受信すると、リクエストに該当するファイルをデータ管理部(304)に保存されているプリフェッチデータから読み出し、保存していたプリフェッチデータをレスポンスとしてクライアントに送信する(515)。   When the prefetch data from the server side proxy (15) is received (512), the client side proxy (12) stores it in the data management unit (304) (513) and waits for a request from the client (514). ). When the request is received, the file corresponding to the request is read from the prefetch data stored in the data management unit (304), and the stored prefetch data is transmitted as a response to the client (515).

ファイル一覧にファイルが残っていれば、512以降を繰り返す(516)。すべてのデータを転送し終わるか、タイムアウトによりプリフェッチしたデータを破棄し初期状態(501)に戻る(517)。   If a file remains in the file list, 512 and subsequent steps are repeated (516). Either all the data has been transferred or the prefetched data is discarded due to timeout and the process returns to the initial state (501) (517).

上記動作は、クライアント側プロキシ(12)、サーバ側プロキシ(15)の双方にてクライアント(11)およびサーバ(16)の組ごとに独立に行われる。クライアント(11)およびサーバ(16)の識別はパケットヘッダ中のIPアドレスを用いて行う。   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.

図7は、サーバ側プロキシ(15)の動作を表すフローチャートである。初期状態ではWAN側でパケットを受信するまで待機する(601)。サーバ側プロキシ(15)は、受信すると送信元および宛先IPアドレスごとに分離する(602)。そのパケットがPROPFINDリクエストであれば(603)、サーバ側プロキシ(15)は、サーバ(16)へ転送して(604)GET待ち状態へ移行する。その他のリクエストであれば(651)、サーバ側プロキシ(15)は、サーバ(16)へ転送する(652)が、プリフェッチの準備は行わず、サーバ側プロキシ(15)は、サーバ(16)からレスポンスを受信するのを待って(653)それをクライアント(11)側へ転送し(654)、初期状態(601)へ戻る。   FIG. 7 is a flowchart showing the operation of the server side proxy (15). In the initial state, it waits until a packet is received on the WAN side (601). Upon reception, the server side proxy (15) separates the source IP address and the destination IP address (602). If the packet is a PROPFIND request (603), the server side proxy (15) transfers to the server (16) (604) and shifts to a GET wait state. If it is another request (651), the server-side proxy (15) forwards to the server (16) (652), but does not prepare for prefetching, and the server-side proxy (15) receives from the server (16). Waiting for the response to be received (653), it is transferred to the client (11) side (654), and the process returns to the initial state (601).

一方、サーバ側プロキシ(15)は、ステップ603の後、サーバ(16)へ転送したPROPFIND(604)のレスポンスが受信されるまで待機し(605)受信されるとクライアント側プロキシ(15)へ転送する(606)。また、サーバ側プロキシ(15)は、PROPFIND(604)に対するレスポンスを解析してファイル一覧を作成し、データ管理部(404)に登録する(607)。   On the other hand, after step 603, the server side proxy (15) waits until the response of PROPFIND (604) transferred to the server (16) is received (605), and when received, transfers to the client side proxy (15). (606). The server side proxy (15) analyzes the response to PROPFIND (604), creates a file list, and registers it in the data management unit (404) (607).

続いてクライアント側プロキシ(12)からのGETリクエストを待ちうける(608)。GETを受信すると、サーバ側プロキシ(15)は、これをサーバ(16)へ転送し(609)、それに対するレスポンスを受信するまで待機する(610)。受信されればクライアント側プロキシ(12)へ転送し(611)、データ管理部(404)に登録されているファイル一覧に従って、次のファイルに対するプリフェッチリクエストを送信する(612)。GET以外のリクエストを受信した場合(655)は、サーバ側プロキシ(15)は、にサーバへ転送する(656)が、サーバ(16)からレスポンスを受信するのを待って(657)それをクライアント側プロキシ(12)へ転送し(658)、初期状態(601)へ戻る。   Subsequently, a GET request from the client side proxy (12) is awaited (608). When the GET is received, the server side proxy (15) transfers it to the server (16) (609), and waits until a response is received (610). If it is received, it is transferred to the client side proxy (12) (611), and a prefetch request for the next file is transmitted according to the file list registered in the data management unit (404) (612). When a request other than GET is received (655), the server-side proxy (15) forwards to the server (656), but waits to receive a response from the server (16) (657) and sends it to the client. Transfer to the side proxy (12) (658), and return to the initial state (601).

一方、ステップ612に対してサーバ(16)からのプリフェッチデータを受信すると(613)、サーバ側プロキシ(15)は、クライアント側プロキシに送信する(614)。   On the other hand, when prefetch data from the server (16) is received in step 612 (613), the server side proxy (15) transmits to the client side proxy (614).

ファイル一覧に従って、サーバ側プロキシ(15)は、サーバから受信されていないファイルが残っていれば、612以降を繰り返す(615)。すべてのデータを転送し終わるか、タイムアウトによりプリフェッチしたデータを破棄し初期状態(601)に戻る(616)。   According to the file list, the server-side proxy (15) repeats 612 and subsequent steps if there are any files not received from the server (615). Either all the data has been transferred or the prefetched data is discarded due to a timeout and the process returns to the initial state (601) (616).

上記動作は、クライアント側プロキシ(12)、サーバ側プロキシ(15)の双方にてクライアント(11)およびサーバ(16)の組ごとに独立に行われる。クライアント(11)およびサーバ(16)の識別はパケットヘッダ中のIPアドレスを用いて行う。   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.

本発明の第二の実施例における通信シーケンスを図8に示す。図8では通信にかかわる、クライアント(11)、クライアント側プロキシ(12)、サーバ側プロキシ(15)、およびサーバ(16)のシーケンスを示している。本実施例の方式により、実施例1の場合と比べて同等の通信効率を保ちながら、WAN上の通信をWebDAVの標準プロトコルにのっとったものとする。それによりWAN上の通信がファイアウォール、Intrusion Detection System/Intrusion Protection System、Deep Packet Inspectionなどのセキュリティシステムにより、異常な通信であると判断されて遮断されることを防ぐことができる。   FIG. 8 shows a communication sequence in the second embodiment of the present invention. FIG. 8 shows a sequence of the client (11), the client side proxy (12), the server side proxy (15), and the server (16) related to communication. It is assumed that the communication of the WAN conforms to the WebDAV standard protocol while maintaining the same communication efficiency as that of the first embodiment by the method of the present embodiment. Thereby, it is possible to prevent communication on the WAN from being judged as abnormal communication and blocked by a security system such as a firewall, Intrusion Detection System / Intrusion Protection System, and Deep Packet Inspection.

手順701、702、711、712、721、722は、図1の手順101、102、111、112、121、122と同様にPROPFINDのリクエストとそのレスポンスと同様である。   Procedures 701, 702, 711, 712, 721, and 722 are the same as the PROPFIND request and its response in the same manner as the procedures 101, 102, 111, 112, 121, and 122 of FIG.

ファイル一覧を取得したクライアント(11)は、各ファイルに対して順にリクエストを送信する。クライアント(11)から送信された最初のファイルに対するリクエスト(703)は、クライアント側プロキシ(12)によって受信される。クライアント側プロキシ(12)は、このリクエストを解析して、PROPFINDリクエストに対するレスポンスであるファイル一覧中に含まれるファイル(ファイル1)であると判断すると、このリクエストをサーバ側プロキシ(15)へ転送する(713)。さらに、クライアント側プロキシ(12)は、クライアントからのリクエスト(707)で指定されるファイル(ファイル1)ではないが、ファイル一覧にある他のファイル(ファイル2、3)に対するリクエスト(714、715)も発行する。これらのリクエストは前のリクエストに対するレスポンスを待つことなくサーバ側プロキシ(15)へ送信される(714,715)。   The client (11) which acquired the file list transmits a request to each file in order. The request (703) for the first file transmitted from the client (11) is received by the client side proxy (12). When the client-side proxy (12) analyzes this request and determines that the file (file 1) is included in the file list that is a response to the PROPFIND request, the client-side proxy (12) transfers this request to the server-side proxy (15). (713). Further, the client-side proxy (12) is not the file (file 1) specified by the request (707) from the client, but requests (714, 715) for other files (files 2, 3) in the file list. Also issue. These requests are transmitted to the server side proxy (15) without waiting for a response to the previous request (714, 715).

サーバ側プロキシ(15)は、クライアント側プロキシ(12)からのリクエストを受信(713)すると、ファイル一覧中のファイルで、クライアントからの最初のリクエストで指定されたファイル(ファイル1)に対するリクエストを、クライアント(11)に代わってサーバ(16)に送信する(723)。サーバ(16)は、これに対するレスポンスとしてファイル1を送信する(724)。これを受信したサーバ側プロキシ(15)は、このファイルをクライアント側プロキシ(12)へ転送(716)する。   When the server-side proxy (15) receives the request from the client-side proxy (12) (713), the request for the file (file 1) specified in the first request from the client is received in the file list. It transmits to the server (16) on behalf of the client (11) (723). The server (16) transmits the file 1 as a response to this (724). The server side proxy (15) which received this transfers (716) this file to the client side proxy (12).

また、サーバ側プロキシ(15)は、サーバ(16)からのファイル1の受信に応じて、受信したファイル1が含まれるファイル一覧に次のファイル(ファイル2)があればそれに対するリクエストを送信する(725)。サーバ側プロキシ(15)が同リクエストに対するレスポンスを受信(726)すると、これをクライアント側プロキシ(12)へ転送する(717)。さらに、次のファイルも、ステップ725、726、717と同様にプリフェッチを行うと(727,728,718)、サーバ側プロキシ(15)は、ファイル一覧に次のファイルがない場合、ファイル一覧を破棄して動作を完了する。このリクエストは前のリクエストに対するレスポンスを受信してから開始してもよいし、複数のリクエストを同時に送信してもよい。   Further, in response to the reception of the file 1 from the server (16), the server side proxy (15) transmits a request for the next file (file 2) if there is a next file (file 2) in the file list including the received file 1. (725). When the server side proxy (15) receives the response to the request (726), it transfers it to the client side proxy (12) (717). Furthermore, if the next file is also prefetched in the same manner as steps 725, 726, and 717 (727, 728, and 718), the server side proxy (15) discards the file list if there is no next file in the file list. To complete the operation. This request may be started after receiving a response to the previous request, or a plurality of requests may be transmitted simultaneously.

クライアント側プロキシ(12)は、ファイル1のレスポンスを受信(716)すると、これをクライアント(11)へ転送する(704)。クライアント(11)はファイル2に対するリクエストを送信する(705)。一方でファイル2のレスポンスは、サーバ側プロキシ(15)より受信される(717)ので、ファイル2に対するリクエストとレスポンスがそろった段階で、クライアント(11)に対してレスポンスを送信する(706)。同様の動作をファイル一覧中の全てのファイルに対して繰り返し(718,707,708)、ファイル一覧を破棄して動作を完了する。   When the proxy on the client side (12) receives the response of the file 1 (716), it transfers it to the client (11) (704). The client (11) transmits a request for the file 2 (705). On the other hand, since the response of the file 2 is received from the server side proxy (15) (717), the response is transmitted to the client (11) when the request and response for the file 2 are completed (706). A similar operation is repeated for all files in the file list (718, 707, 708), the file list is discarded, and the operation is completed.

上記動作は、クライアント側プロキシ(12)、サーバ側プロキシ(15)の双方にてクライアント(11)およびサーバ(16)の組ごとに独立に行われる。クライアント(11)およびサーバ(16)の識別はパケットヘッダ中のIPアドレスを用いて行う。   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.

図9は第二の実施例におけるクライアント側プロキシ(12)の動作を表すフローチャートである。ステップ801ないし807、851ないし854は、図6のステップ501ないし507、551ないし554と同様である。   FIG. 9 is a flowchart showing the operation of the client side proxy (12) in the second embodiment. Steps 801 to 807 and 851 to 854 are the same as steps 501 to 507 and 551 to 554 in FIG.

続いてクライアントからのGETリクエストを待ちうける(808)。クライアント側プロキシ(12)は、GETリクエストを受信するとこれを契機にファイル一覧中のファイルに対してプリフェッチリクエストを発行する(809)。このリクエストは前のリクエストに対するレスポンスを待たずに送信される。ファイル一覧中の全てのファイルに対してリクエストを送信するまでこれを繰り返す(810)。GET以外のリクエストを受信した場合(855)は、同様にサーバ側プロキシ(15)へ転送する(856)が、WAN側からレスポンスを受信するのを待って(857)それをクライアント(11)へ転送し(858)、初期状態(801)へ戻る。   Next, it waits for a GET request from the client (808). Upon receiving the GET request, the client-side proxy (12) issues a prefetch request for the files in the file list in response to this (809). This request is sent without waiting for a response to the previous request. This is repeated until a request is transmitted for all files in the file list (810). When a request other than GET is received (855), the request is similarly transferred to the server side proxy (15) (856), but a response is received from the WAN side (857), and it is sent to the client (11). Transfer (858) and return to the initial state (801).

サーバ側プロキシ(15)から最初のリクエストに対するレスポンスを受信すると(811)、クライアント側プロキシ(12)は、これをクライアントへ転送する(812)。クライアント側プロキシ(12)は、サーバ側プロキシ(15)からのプリフェッチデータを受信すると(813)、これをデータ管理部(304)に保存して(814)、クライアントからのリクエストを待ちうける(815)。リクエストを受信すると、クライアント側プロキシ(12)は、保存していたデータをレスポンスとしてクライアントに送信する(816)。   When a response to the first request is received from the server-side proxy (15) (811), the client-side proxy (12) transfers this to the client (812). When the client-side proxy (12) receives the prefetch data from the server-side proxy (15) (813), it stores it in the data management unit (304) (814) and waits for a request from the client (815) ). When the request is received, the client side proxy (12) transmits the stored data as a response to the client (816).

ファイル一覧にファイルが残っていれば、812以降を繰り返す(817)。すべてのデータを転送し終わるか、タイムアウトによりプリフェッチしたデータを破棄し初期状態(801)に戻る(818)。上記動作は、クライアント側プロキシ(12)、サーバ側プロキシ(15)の双方にてクライアント(11)およびサーバ(16)の組ごとに独立に行われる。クライアント(11)およびサーバ(16)の識別はパケットヘッダ中のIPアドレスを用いて行う。   If a file remains in the file list, steps 812 and after are repeated (817). Either all data has been transferred or the prefetched data is discarded due to a timeout and the process returns to the initial state (801) (818). 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.

図10は第二の実施例におけるサーバ側プロキシ(15)の動作を表すフローチャートである。ステップ901ないし907、951ないし954は、図7のステップ601ないし607、651ないし654と同様である。 続いてクライアント側プロキシ(12)からのプリフェッチリクエストを待ちうける(908)。プリフェッチリクエストは、ファイル一覧に含まれるファイルの数に対応して複数送られるため、サーバ側プロキシ(15)は、ファイル一覧に含まれるファイルの数に対応する全てのリクエストを受信するまでこれを繰り返す(909)。続いて、プリフェッチリクエストを順次サーバ(16)へ転送し(910)、それに対するレスポンスを受信するまで待機する(911)。サーバ側プロキシ(15)は、レスポンスが受信されればクライアント側プロキシ(12)へ、それらを転送する(912)。GET以外のリクエストを受信した場合(955)は、サーバ側プロキシ(15)は、同様にサーバ(16)へ転送する(956)が、サーバ側プロキシ(15)は、サーバ(16)からGET以外のリクエストに対応するレスポンスを受信するのを待って(957)それをクライアント側プロキシ(12)へ転送し(958)、初期状態(901)へ戻る。   FIG. 10 is a flowchart showing the operation of the server side proxy (15) in the second embodiment. Steps 901 to 907 and 951 to 954 are the same as steps 601 to 607 and 651 to 654 in FIG. Subsequently, a prefetch request from the client side proxy (12) is awaited (908). Since a plurality of prefetch requests are sent corresponding to the number of files included in the file list, the server-side proxy (15) repeats this until it receives all requests corresponding to the number of files included in the file list. (909). Subsequently, the prefetch requests are sequentially transferred to the server (16) (910), and the system waits until a response is received (911). When the response is received, the server side proxy (15) transfers them to the client side proxy (12) (912). When a request other than GET is received (955), the server-side proxy (15) similarly transfers to the server (16) (956), but the server-side proxy (15) receives a request other than GET from the server (16). Waiting for the reception of the response corresponding to the request (957), it transfers it to the client side proxy (12) (958), and returns to the initial state (901).

ファイル一覧にサーバから取得していないファイルが残っていれば、910以降を繰り返す(913)。すべてのデータを転送し終わるか、タイムアウトによりプリフェッチしたデータを破棄し初期状態(901)に戻る(914)。上記動作は、クライアント側プロキシ(12)、サーバ側プロキシ(15)の双方にてクライアント(11)およびサーバ(16)の組ごとに独立に行われる。クライアント(11)およびサーバ(16)の識別はパケットヘッダ中のIPアドレスを用いて行う。   If a file that has not been acquired from the server remains in the file list, 910 and subsequent steps are repeated (913). Either all the data has been transferred or the prefetched data is discarded due to a timeout and the process returns to the initial state (901) (914). 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.

装置内の構成については実施例1の場合と同様であるので、ここでは省略する。   Since the configuration in the apparatus is the same as that in the first embodiment, it is omitted here.

以上の実施例2の説明により、WebDAVに従った通信により得られた情報を用いて、プリフェッチするリクエストとレスポンスとを対応づけ、プロキシ間での通信制御を行うことを説明した。その制御により、WAN上の通信がファイアウォール、Intrusion Detection System/Intrusion Protection System、Deep Packet Inspectionなどのセキュリティシステムにより、プリフェッチするための通信が、異常な通信であると判断されて遮断されることを防ぐことができる。   In the above description of the second embodiment, it has been described that a request to be prefetched and a response are associated with each other and communication control between proxies is performed using information obtained by communication according to WebDAV. This control prevents communications on the WAN from being detected as abnormal communications and blocked by a security system such as a firewall, Intrusion Detection System / Intrusion Protection System, or Deep Packet Inspection. be able to.

本発明の第三の実施例における通信シーケンスを図11に示す。この例では実施例2の方式をHTTPに適用している。本実施例の方式により、実施例2の場合と同様に、WAN上の通信はHTTPの標準にのっとったものとなるため、セキュリティシステムにより異常な通信として判断され遮断されることを防ぐことができる。   FIG. 11 shows a communication sequence in the third embodiment of the present invention. In this example, the method of the second embodiment is applied to HTTP. As in the case of the second embodiment, since the communication on the WAN conforms to the HTTP standard by the method of this embodiment, it is possible to prevent the security system from determining that the communication is abnormal and blocking it. .

クライアントが、サーバからウェブページを読み込む場合、まずHTMLファイルに対してGETというリクエスト(1001)を発行する。これはクライアント側プロキシ(12)で受信され、サーバ側プロキシ(15)へとWAN上を転送される(1011)。サーバ側プロキシ(15)はこれを受信すると、サーバ(16)へさらに転送する(1021)。HTMLに対するGETを受信したサーバ(16)は、そのHTMLファイルをクライアントへ返送する(1022)。このレスポンス(1022)は、HTTPに従った「200 OK」というレスポンスであり、フォルダ内のファイル一覧が含まれる。同レスポンスはサーバ側プロキシ(15)でクライアント側プロキシ(12)へ転送され(1012)、サーバ側プロキシ(15)は、このレスポンスを解析することによりフォルダ内のファイル一覧を取得する。さらにクライアント側プロキシ(12)でクライアント(11)へ転送される(1002)。クライアント側プロキシ(12)でも同様にこのレスポンスを解析し、ファイル一覧を取得する。クライアント(11)はクライアント側プロキシ(12)およびサーバ側プロキシ(15)とは、独立してこのレスポンスを解析してファイル一覧を取得する。   When the client reads a web page from the server, it first issues a request (1001) called GET to the HTML file. This is received by the client side proxy (12) and transferred over the WAN to the server side proxy (15) (1011). Upon receiving this, the server side proxy (15) further transfers it to the server (16) (1021). Upon receiving the GET for HTML, the server (16) returns the HTML file to the client (1022). This response (1022) is a response “200 OK” according to HTTP, and includes a list of files in the folder. The response is transferred to the client-side proxy (12) by the server-side proxy (15) (1012), and the server-side proxy (15) obtains a list of files in the folder by analyzing the response. Further, it is transferred to the client (11) by the client side proxy (12) (1002). The client side proxy (12) similarly analyzes this response and acquires a file list. The client (11) analyzes this response independently of the client side proxy (12) and the server side proxy (15) to obtain a file list.

ファイル一覧を取得したクライアント(11)は、各ファイルに対して順にリクエストを送信する。クライアント(11)から送信された最初のファイルに対するリクエスト(1003)は、クライアント側プロキシ(12)によって受信される。   The client (11) which acquired the file list transmits a request to each file in order. The request (1003) for the first file transmitted from the client (11) is received by the client side proxy (12).

クライアント側プロキシ(12)は、このリクエストを解析して、ファイル一覧中に含まれるファイルであると判断すると、このリクエストをサーバ側プロキシ(15)へ転送する(1013)。クライアント11からのリクエストで指定されるファイルが「200 OK」のレスポンス(1012)で取得したファイル一覧中に含まれるファイル(file 1)であると、クライアント側プロキシ(12)が判断すると、そのファイル一覧の他のファイル(file2, 3)に対するリクエストも発行する。これらのリクエストは前のリクエストに対するレスポンスを待つことなくサーバ側プロキシ(15)へ送信される(1014,1015)。つまり、クライアントからファイル一覧に含まれる一のファイルを指定するリクエストがくると、クライアント側プロキシ(12)は、ファイル一覧に含まれる他のファイルについてのリクエストも、クライアント(11)からのリクエストを待つことなく、サーバ側プロキシ(15)にプリフェッチリクエスト(1014、1015)を発行する。   When the client-side proxy (12) analyzes the request and determines that the file is included in the file list, the client-side proxy (12) transfers the request to the server-side proxy (15) (1013). When the client-side proxy (12) determines that the file specified by the request from the client 11 is a file (file 1) included in the file list acquired by the response (1012) of “200 OK”, the file Issues requests for other files (file2, 3) in the list. These requests are transmitted to the server side proxy (15) without waiting for a response to the previous request (1014, 1015). That is, when a request for specifying one file included in the file list is received from the client, the client-side proxy (12) waits for a request from the client (11) for requests for other files included in the file list. Without issuing a prefetch request (1014, 1015) to the server side proxy (15).

サーバ側プロキシ(15)は、クライアント側プロキシ(12)からのリクエストを受信(1013)すると、ファイル一覧中のファイルに対するリクエストを、クライアント(11)に代わってサーバ(16)に送信する(1023)。サーバ(16)はこれに対するレスポンスとしてファイルを送信する(1024)。   When the server-side proxy (15) receives the request from the client-side proxy (12) (1013), it sends a request for the file in the file list to the server (16) instead of the client (11) (1023). . The server (16) transmits a file as a response to this (1024).

これを受信したサーバ側プロキシ(15)は、このファイルをクライアント側プロキシ(12)へ転送(1016)するとともに、レスポンス(1022)で取得したファイル一覧に他のファイルがあればそれに対するリクエストをサーバ(16)に送信する(1025)。   The server-side proxy (15) that has received this forwards (1016) this file to the client-side proxy (12), and if there is another file in the file list acquired in the response (1022), sends a request for it to the server It transmits to (16) (1025).

サーバ側プロキシ(15)は、同リクエストに対するレスポンスを受信(1026)すると、これをクライアント側プロキシ(12)へ転送する(1017)。他のファイルも同様にプリフェッチを行う(1027,1028,1018)。なお、サーバ側プロキシ(15)は。クライアント側プロキシ(12)から送信されるプリフェッチリクエストに対応するファイルのリクエストをサーバ(16)送信してもよい。サーバ側プロキシ(15)は、ファイル一覧に次のファイルがないので、ファイル一覧を破棄して動作を完了する。このリクエストは前のリクエストに対するレスポンスを受信してから開始される。   When the server side proxy (15) receives the response to the request (1026), the server side proxy (15) transfers the response to the client side proxy (12) (1017). Other files are similarly prefetched (1027, 1028, 1018). In addition, the server side proxy (15). A file request corresponding to a prefetch request transmitted from the client side proxy (12) may be transmitted to the server (16). Since there is no next file in the file list, the server side proxy (15) discards the file list and completes the operation. This request is started after receiving a response to the previous request.

クライアント側プロキシ(12)は、ファイル1のレスポンスを受信(1016)すると、これをクライアント(11)へ転送する(1004)。クライアント(11)は、ファイル一覧に含まれるファイル2に対するリクエストを送信する(1005)。一方でファイル2のレスポンスはサーバ側プロキシ(15)から送信される(1017)ので、クライアント側プロキシ(12)は、ファイル2に対するリクエストを保持し、レスポンスを受領した場合に、クライアント(11)に対して、保持しているファイル2に対するリクエストに対応するレスポンスを送信する(1006)。同様の動作をファイル一覧に含まれるファイルに対して繰り返し(1018,1007,1008)、ファイル一覧をバッファから破棄して動作を完了する。     When the proxy on the client side (12) receives the response of the file 1 (1016), it transfers it to the client (11) (1004). The client (11) transmits a request for the file 2 included in the file list (1005). On the other hand, since the response of the file 2 is transmitted from the server side proxy (15) (1017), the client side proxy (12) holds the request for the file 2 and receives the response to the client (11). On the other hand, a response corresponding to the request for the held file 2 is transmitted (1006). A similar operation is repeated for the files included in the file list (1018, 1007, 1008), and the file list is discarded from the buffer to complete the operation.

上記動作は、クライアント側プロキシ(12)、サーバ側プロキシ(15)の双方にてクライアント(11)およびサーバ(16)の組ごとに独立に行われる。クライアント(11)およびサーバ(16)の識別はパケットヘッダ中のIPアドレスを用いて行う。   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.

図12は、実施例3におけるクライアント側プロキシ(12)の動作を表すフローチャートである。初期状態ではLAN側でパケットを受信するまで待機する(1101)。受信すると送信元および宛先IPアドレスごとに分離する(1102)。そのパケットがHTMLに対するGETリクエストであれば(1103)サーバ側プロキシへ転送して(1104)GET待ち状態へ移行する。その他のリクエストであれば(1151)、同様にサーバ側プロキシ(15)へ転送する(1152)が、プリフェッチの準備は行わず、サーバ側プロキシ(15)からレスポンスを受信するのを待って(1153)それをクライアント(11)へ転送し(1154)、初期状態(1101)へ戻る。   FIG. 12 is a flowchart illustrating the operation of the client-side proxy (12) in the third embodiment. In the initial state, it waits until a packet is received on the LAN side (1101). When received, the source and destination IP addresses are separated (1102). If the packet is a GET request for HTML (1103), the packet is transferred to the server side proxy (1104), and a transition to the GET wait state is made. If it is another request (1151), it is similarly transferred to the server side proxy (15) (1152), but it does not prepare for prefetching, but waits for a response to be received from the server side proxy (15) (1153). It is transferred to the client (11) (1154), and the process returns to the initial state (1101).

サーバ側プロキシへ転送したHTMLに対するGET(1104)のレスポンスが受信されるまで待機し(1105)受信されるとクライアント(11)へ転送する(1106)。同時にこのレスポンスを解析してファイル一覧を作成し、データ管理部(304)に登録する(1107)。   Wait until a GET (1104) response to the HTML transferred to the server-side proxy is received (1105), and if received, transfer to the client (11) (1106). At the same time, the response is analyzed to create a file list and registered in the data management unit (304) (1107).

続いてクライアントからのGETリクエストを待ちうける(1108)。ファイル一覧に含まれるファイルに対するGETリクエストを受信すると、クライアント側プロキシは、これを契機にファイル一覧中のファイルに対してプリフェッチリクエストを発行する(1109)。これらのリクエストは前のリクエストに対するレスポンスを待たずに送信される。また、クライアントからのGETリクエストで指定されるファイルだけでなく、GETリクエストで特定されるファイル一覧に含まれるファイルに対してリクエストを送信するまでこれを繰り返す(1110)。GET以外のリクエストを受信した場合(1155)は、同様にサーバ側プロキシ(15)へ転送する(1156)が、WAN側からレスポンスを受信するのを待って(1157)それをクライアント(11)へ転送し(1158)、初期状態(1101)へ戻る。   Subsequently, a GET request from the client is awaited (1108). Upon receiving a GET request for a file included in the file list, the client side proxy issues a prefetch request for the file in the file list as a trigger (1109). These requests are sent without waiting for a response to the previous request. This is repeated until the request is transmitted not only for the file specified by the GET request from the client but also for the file included in the file list specified by the GET request (1110). When a request other than GET is received (1155), the request is similarly transferred to the server side proxy (15) (1156), but a response is received from the WAN side (1157), and the request is sent to the client (11). Transfer (1158) and return to the initial state (1101).

サーバ側プロキシ(15)から最初のリクエストに対するレスポンスを受信すると(1111)、クライアント側プロキシ(12)は、これをクライアントへ転送する(1112)。サーバ側プロキシ(15)からのプリフェッチデータを受信すると(1113)、クライアント側プロキシ(12)は、これをデータ管理部(304)に保存して(1114)、クライアントからのリクエストを待ちうける(1115)。クライアントからのリクエストを受信すると、クライアント側プロキシ(12)は、当該リクエストで指定されるファイルに対応する、ファイルを保存していたデータから読み出し、そのデータをレスポンスとしてクライアントに送信する(1116)。   When a response to the first request is received from the server-side proxy (15) (1111), the client-side proxy (12) transfers this to the client (1112). When the prefetch data from the server side proxy (15) is received (1113), the client side proxy (12) stores it in the data management unit (304) (1114) and waits for a request from the client (1115). ). Upon receiving a request from the client, the client side proxy (12) reads from the data stored in the file corresponding to the file specified by the request, and transmits the data to the client as a response (1116).

クライアント側プロキシ(12)は、ファイル一覧にファイルが残っていれば、1112以降を繰り返す(1117)。クライアント側プロキシ(12)は、すべてのデータを転送し終わるか、タイムアウトによりプリフェッチしたデータを破棄し初期状態(1101)に戻る(1118)。   If the file remains in the file list, the client-side proxy (12) repeats the steps after 1112 (1117). The client-side proxy (12) completes the transfer of all data, or discards the prefetched data due to timeout and returns to the initial state (1101) (1118).

上記動作は、クライアント側プロキシ(12)、サーバ側プロキシ(15)の双方にてクライアント(11)およびサーバ(16)の組ごとに独立に行われる。クライアント(11)およびサーバ(16)の識別はパケットヘッダ中のIPアドレスを用いて行う。   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.

図13は、実施例3におけるサーバ側プロキシ(15)の動作を表すフローチャートである。初期状態ではWAN側でパケットを受信するまで待機する(1201)。受信すると送信元および宛先IPアドレスごとに分離する(1202)。そのパケットがHTMLに対するGETリクエストであれば(1203)サーバ(16)へ転送して(1204)GET待ち状態へ移行する。その他のリクエストであれば(1251)、同様にサーバ(16)へ転送する(1252)が、プリフェッチの準備は行わず、サーバ(16)からレスポンスを受信するのを待って(1253)それをクライアント(11)へ転送し(1254)、初期状態(1201)へ戻る。   FIG. 13 is a flowchart illustrating the operation of the server-side proxy (15) in the third embodiment. In the initial state, it waits until a packet is received on the WAN side (1201). When received, it is separated for each source and destination IP address (1202). If the packet is a GET request for HTML (1203), the packet is transferred to the server (16) (1204), and shifts to a GET wait state. If it is another request (1251), it is similarly transferred to the server (16) (1252), but it does not prepare for prefetching, and waits for a response from the server (16) (1253). Transfer to (11) (1254) and return to the initial state (1201).

サーバ(16)へ転送したHTMLに対するGET(1204)のレスポンスが受信されるまで待機し(1205)受信されるとクライアント側プロキシ(15)へ転送する(1206)。同時にこのレスポンスを解析してファイル一覧を作成する(1207)。   It waits until a response of GET (1204) for the HTML transferred to the server (16) is received (1205), and when it is received, it transfers it to the client side proxy (15) (1206). At the same time, this response is analyzed to create a file list (1207).

続いてクライアント側プロキシ(12)からのプリフェッチリクエストを待ちうける(1208)。図11の1014及び1015がプリフェッチリクエストである。リクエストは連続して複数送られるため、全てのリクエストを受信するまでこれを繰り返す(1209)。続いてこれを順次サーバ(16)へ転送し(1210)、それに対するレスポンスを受信するまで待機する(1211)。少なくとも一のレスポンスが受信されれば、サーバ側プロキシ(15)は、そのレスポンスをクライアント側プロキシ(12)へ転送する(1212)。なお、図11の1023ないし1028のように、サーバ側プロキシは、一のファイルのリクエストに対するサーバからのレスポンス受領後に、別のファイルのリクエストを送信していてもよい。   Next, a prefetch request from the client side proxy (12) is awaited (1208). Reference numerals 1014 and 1015 in FIG. 11 are prefetch requests. Since a plurality of requests are sent continuously, this is repeated until all requests are received (1209). Subsequently, this is sequentially transferred to the server (16) (1210) and waits until a response is received (1211). If at least one response is received, the server side proxy (15) transfers the response to the client side proxy (12) (1212). Note that, as indicated by 1023 to 1028 in FIG. 11, the server-side proxy may transmit a request for another file after receiving a response to the request for one file from the server.

GET以外のリクエストを受信した場合(1255)は、同様にサーバへ転送する(1256)が、サーバ(16)からレスポンスを受信するのを待って(1257)それをクライアント側プロキシ(12)へ転送し(1258)、初期状態(1201)へ戻る。   When a request other than GET is received (1255), the request is similarly transferred to the server (1256), but a response is received from the server (16) (1257) and transferred to the client-side proxy (12). (1258), the process returns to the initial state (1201).

ファイル一覧にファイルが残っていれば、1210以降を繰り返す(1213)。すべてのデータを転送し終わるか、タイムアウトによりプリフェッチしたデータを破棄し初期状態(1201)に戻る(1214)。 上記動作は、クライアント側プロキシ(12)、サーバ側プロキシ(15)の双方にてクライアント(11)およびサーバ(16)の組ごとに独立に行われる。クライアント(11)およびサーバ(16)の識別はパケットヘッダ中のIPアドレスを用いて行う。   If a file remains in the file list, the processes after 1210 are repeated (1213). Either all data has been transferred or the prefetched data is discarded due to a timeout and the process returns to the initial state (1201) (1214). 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.

装置内の構成については実施例1の場合と同様であるので、ここでは省略する。   Since the configuration in the apparatus is the same as that in the first embodiment, it is omitted here.

本発明の第四の実施例を図14に示す。この例では実施例1の複数のクライアントが、同一のフォルダをダウンロードした際に、プロキシにて読み込み済みのデータをバッファに保持し、一のクライアントからのアクセスで削除するのではなく、複数のクライアントからのアクセスのためにバッファに保持し、複数のクライアントにファイルを転送することにより、データ転送量の削減を図っている。   FIG. 14 shows a fourth embodiment of the present invention. In this example, when a plurality of clients of the first embodiment download the same folder, the data read by the proxy is held in the buffer and is not deleted by access from one client. The data transfer amount is reduced by holding the data in a buffer for access from the client and transferring the file to a plurality of clients.

この例では実施例1の場合にクライアントB(11b)が追加されており、クライアントA(11a)と同一のフォルダに対しダウンロードを試みている。クライアントA(11a)のシーケンスは実施例1と同様であるので、詳細は省略する。   In this example, the client B (11b) is added in the case of the first embodiment, and the download is attempted to the same folder as the client A (11a). Since the sequence of the client A (11a) is the same as that of the first embodiment, the details are omitted.

クライアント側プロキシ(12)では、フォルダカウント(1410)という値を用いてフォルダごとの同時アクセスしているクライアント数を管理する。クライアントA(11a)からのPROPFIND(201)を受信すると、クライアント側プロキシ(12)は、フォルダカウント(1410)を1に更新する。この値が1である間にクライアントB(11b)からPROPFIND(1401)が送信され、これを受信したクライアント側プロキシ(12)は、フォルダカウントを2に更新する(1411)。クライアント側プロキシ(12)は、PROPFINDに対するレスポンスを保持し、これをクライアントB(11b)に送信する(1402)。これを受けて、クライアント(11)がフォルダ内のファイルに対してGETを発行する(1403)。これに対するレスポンスもクライアント側プロキシ(12)が保持しているため、クライアント側プロキシ(12)はそれをそのまま送信する。(1404)。   The client-side proxy (12) manages the number of clients that are simultaneously accessing each folder by using a value called folder count (1410). When the PROPFIND (201) is received from the client A (11a), the client side proxy (12) updates the folder count (1410) to 1. While this value is 1, the PROPFIND (1401) is transmitted from the client B (11b), and the client side proxy (12) receiving it updates the folder count to 2 (1411). The client side proxy (12) holds a response to PROPFIND and sends it to the client B (11b) (1402). In response, the client (11) issues a GET to the file in the folder (1403). Since the response to this is also held by the client side proxy (12), the client side proxy (12) transmits it as it is. (1404).

一方でクライアントA(11a)への転送はファイル3にて終了し(208)、クライアント側プロキシ(12)のフォルダカウントは1となる(1412)。   On the other hand, the transfer to the client A (11a) ends with the file 3 (208), and the folder count of the client side proxy (12) becomes 1 (1412).

クライアントB(11b)への転送はファイル2(1405、1406)、ファイル3(1407、1408)と続き、終了する。このときクライアント側プロキシ(12)のフォルダカウントが1であるので、このカウンタおよびフォルダ内のファイルを削除して終了する。   The transfer to the client B (11b) continues with the file 2 (1405, 1406) and the file 3 (1407, 1408), and ends. At this time, since the folder count of the client-side proxy (12) is 1, this counter and the files in the folder are deleted and the process is terminated.

図15はクライアント側プロキシ(12)の内部構成を表す図である。本実施例では、実施例1の構成に共有データプール(1501)とフォルダテーブル(1502)を追加したものとなっている。レスポンスデータはクライアントごとのデータ管理テーブルではなく、クライアント(11a、11b)間で共有される共有データプール(1501)に格納される。また、フォルダテーブル(1502)はフォルダごとにそのフォルダにアクセスしているクライアント数を示すテーブルである。他は図3と同様である。   FIG. 15 is a diagram showing the internal configuration of the client side proxy (12). In the present embodiment, a shared data pool (1501) and a folder table (1502) are added to the configuration of the first embodiment. The response data is not stored in the data management table for each client, but is stored in the shared data pool (1501) shared between the clients (11a, 11b). The folder table (1502) is a table showing the number of clients accessing the folder for each folder. Others are the same as FIG.

図16はサーバ側プロキシ(15)の内部構成を表す図である。本実施例では、実施例1の構成に共有データプール(1601)とフォルダテーブル(1602)を追加したものとなっている。これらはクライアント側プロキシのものと同様の機能を持つ。他は図4と同様である。   FIG. 16 is a diagram showing the internal configuration of the server-side proxy (15). In the present embodiment, a shared data pool (1601) and a folder table (1602) are added to the configuration of the first embodiment. These have the same functions as those of the client side proxy. Others are the same as FIG.

図17(a)はクライアント側プロキシ(12)のデータ管理部(304)における、データ管理テーブル(311〜313)を示す。また図17(b)はサーバ側プロキシのデータ管理部(404)における、データ管理テーブル(411〜413)を示す。実施例1との違いは、これらのテーブルではレスポンスを管理しないため、レスポンス内容(352、452)の項目がない点である。   FIG. 17A shows data management tables (311 to 313) in the data management unit (304) of the client side proxy (12). FIG. 17B shows a data management table (411 to 413) in the data management unit (404) of the server side proxy. The difference from the first embodiment is that there is no response content (352, 452) item because responses are not managed in these tables.

図17(c)は共有データプール(1501、1601)のデータテーブルを示す。これは、URL(1551)、レスポンス内容(1552)、ファイルが属するフォルダの情報(1553)を持つ。フォルダの情報は単なるフォルダ名でも、後述するフォルダテーブルのエントリへのポインタでよい。このデータはすべてのクライアント(11a、11b)で共有され、他のクライアントのリクエストによりプリフェッチされたデータであっても、データがこの中にあればこのデータをレスポンスとして送信する。   FIG. 17C shows a data table of the shared data pool (1501, 1601). This has URL (1551), response contents (1552), and information (1553) of the folder to which the file belongs. The folder information may be a simple folder name or a pointer to an entry in a folder table to be described later. This data is shared by all clients (11a, 11b), and even if it is data prefetched by a request from another client, this data is transmitted as a response if it is in this.

図17(d)はフォルダテーブル(1502)を示す。これは、フォルダ名(1554)とカウンタ(1555)を持ち、カウンタ(1555)はフォルダごとにそのフォルダにアクセスしているクライアントの数を示しており、1以上の値をとる。フォルダ内全ファイルの転送が完了すると、プロキシはフォルダテーブル(1502)をチェックし、カウンタ(1555)の値が2以上であれば、他にアクセスしているクライアントがいるため同フォルダ内のファイルを削除しない。一方カウンタ(1555)の値が1であった場合は、他にアクセスしているクライアントがいないのでファイルを削除する。   FIG. 17D shows a folder table (1502). This has a folder name (1554) and a counter (1555), and the counter (1555) indicates the number of clients accessing the folder for each folder, and takes a value of 1 or more. When the transfer of all files in the folder is completed, the proxy checks the folder table (1502), and if the value of the counter (1555) is 2 or more, there are other clients accessing the file, Do not delete. On the other hand, if the value of the counter (1555) is 1, there is no other client accessing, so the file is deleted.

図18はクライアント側プロキシ(12)の動作を表すフローチャートである。初期状態ではLAN側でパケットを受信するまで待機する(1801)。受信すると送信元および宛先IPアドレスごとに分離する(1802)。そのパケットがPROPFINDリクエストであれば(1803)フォルダテーブルをカウントアップする(1804)。その他のリクエストであれば(1851)、同様にサーバ側プロキシ(15)へ転送する(1852)が、サーバ側プロキシ(15)からレスポンスを受信するのを待って(1853)それをクライアント(11)へ転送し(1854)、初期状態(1801)へ戻る。   FIG. 18 is a flowchart showing the operation of the client side proxy (12). In the initial state, it waits until a packet is received on the LAN side (1801). When received, the source and destination IP addresses are separated (1802). If the packet is a PROPFIND request (1803), the folder table is counted up (1804). If it is another request (1851), it is similarly transferred to the server-side proxy (15) (1852), but waits for a response from the server-side proxy (15) (1853) and is sent to the client (11). (1854) and return to the initial state (1801).

フォルダカウントが2以上であれば(1805)、他のクライアントが読み込んだデータが存在するため、そのデータ(PROPFINDに対するレスポンス)をレスポンスとしてクライアント(11)へ送信する(1806)。フォルダカウントが1であれば、PROPFINDリクエストをサーバ側プロキシ(15)へ転送して(1807)GET待ち状態へ移行する。サーバ側プロキシ(15)へ転送したPROPFINDのレスポンスが受信されるまで待機し(1808)受信されるとクライアント(11)へ転送する(1809)。同時にこのレスポンスを解析してファイル一覧を作成する(1810)。   If the folder count is 2 or more (1805), since there is data read by another client, the data (response to PROPFIND) is transmitted as a response to the client (11) (1806). If the folder count is 1, the PROPFIND request is transferred to the server-side proxy (15) (1807), and a transition is made to the GET wait state. The system waits until a PROPFIND response transferred to the server-side proxy (15) is received (1808), and when received, transfers it to the client (11) (1809). At the same time, this response is analyzed to create a file list (1810).

続いてクライアントからのGETリクエストを待ちうける(1811)。GET以外のリクエストを受信した場合(1855)は、同様にサーバ側プロキシ(15)へ転送する(556)が、WAN側からレスポンスを受信するのを待って(557)それをクライアント(11)へ転送し(558)、初期状態(501)へ戻る。   Next, it waits for a GET request from the client (1811). When a request other than GET is received (1855), the request is similarly transferred to the server side proxy (15) (556), but a response is received from the WAN side (557), and then it is sent to the client (11). Transfer (558) and return to the initial state (501).

GETを受信した場合、フォルダカウントを参照し(1812)、2以上であれば他のクライアントが読み込んだデータが存在するため、そのデータをレスポンスとしてクライアントへ送信する(1813)。フォルダ内の全ファイルを転送完了するかタイムアウトするまでこれを繰り返し(1814)、終了したらフォルダカウントをカウントダウンする(1815)。   When GET is received, the folder count is referred to (1812), and if it is 2 or more, since there is data read by another client, the data is transmitted as a response to the client (1813). This is repeated until all the files in the folder have been transferred or timed out (1814), and when completed, the folder count is counted down (1815).

フォルダカウントが1であった場合、リクエストをサーバ側プロキシ(15)へ転送し(1816)、それに対するレスポンスを受信するまで待機して(1817)、受信されればクライアント(11)へ転送し(1817)、サーバ側プロキシ(15)からのプリフェッチデータを待ちうける(1818)。 サーバ側プロキシ(15)からのプリフェッチデータを受信すると(1818)、これをデータ管理部(304)に保存して(1820)、クライアントからのリクエストを待ちうける(1821)。リクエストを受信すると保存していたデータをレスポンスとしてクライアントに送信する(1822)。   If the folder count is 1, the request is transferred to the server-side proxy (15) (1816), waits until a response is received (1817), and if received, transferred to the client (11) ( 1817), it waits for prefetch data from the server side proxy (15) (1818). When prefetch data is received from the server side proxy (15) (1818), it is stored in the data management unit (304) (1820), and a request from the client is awaited (1821). When the request is received, the stored data is transmitted as a response to the client (1822).

ファイル一覧にファイルが残っていれば、512以降を繰り返す(1823)。すべてのデータを転送し終わるか、タイムアウトによりフォルダカウントをカウントダウンし、初期状態(1801)に戻る(1824)。   If a file remains in the file list, 512 and the subsequent steps are repeated (1823). When all the data has been transferred or the folder count is counted down due to a timeout, the process returns to the initial state (1801) (1824).

図19はサーバ側プロキシ(15)の動作を表すフローチャートである。初期状態ではWAN側でパケットを受信するまで待機する(1901)。受信すると送信元および宛先IPアドレスごとに分離する(1902)。そのパケットがPROPFINDリクエストであれば(1903)フォルダテーブルをカウントアップする(1904)。その他のリクエストであれば(1951)、同様にサーバ(16)へ転送する(1952)が、サーバ(16)からレスポンスを受信するのを待って(1953)それをクライアント側プロキシ(12)へ転送し(1954)、初期状態(1901)へ戻る。   FIG. 19 is a flowchart showing the operation of the server side proxy (15). In the initial state, it waits until a packet is received on the WAN side (1901). When received, the source and destination IP addresses are separated (1902). If the packet is a PROPFIND request (1903), the folder table is counted up (1904). If it is another request (1951), it is similarly transferred to the server (16) (1952), but waits to receive a response from the server (16) (1953) and forwards it to the client side proxy (12). (1954), the process returns to the initial state (1901).

フォルダカウントが2以上であれば(1905)、他のクライアントが読み込んだデータが存在するため、そのデータ(PROPFINDに対するレスポンス)をレスポンスとしてクライアント側プロキシ(12)へ送信する(1906)。フォルダカウントが1であれば、PROPFINDリクエストをサーバ(16)へ転送して(1907)GET待ち状態へ移行する。サーバ(16)へ転送したPROPFINDのレスポンスが受信されるまで待機し(1908)受信されるとクライアント側プロキシ(12)へ転送する(1909)。同時にこのレスポンスを解析してファイル一覧を作成する(1910)。   If the folder count is 2 or more (1905), since there is data read by another client, the data (response to PROPFIND) is sent as a response to the client side proxy (12) (1906). If the folder count is 1, the PROPFIND request is transferred to the server (16) (1907), and a transition is made to the GET wait state. The system waits until a PROPFIND response transferred to the server (16) is received (1908), and when received, transfers it to the client-side proxy (12) (1909). At the same time, this response is analyzed to create a file list (1910).

続いてクライアント側プロキシ(12)からのGETリクエストを待ちうける(1911)。GET以外のリクエストを受信した場合(1955)は、同様にサーバへ転送する(1956)が、サーバ(16)からレスポンスを受信するのを待って(1957)それをクライアント側プロキシ(12)へ転送し(1958)、初期状態(1901)へ戻る。   Next, a GET request from the client side proxy (12) is awaited (1911). If a request other than GET is received (1955), the request is similarly transferred to the server (1956), but a response is received from the server (16) (1957) and transferred to the client-side proxy (12). (1958), the process returns to the initial state (1901).

GETを受信した場合、フォルダカウントを参照し(1912)、2以上であれば他のクライアントが読み込んだデータが存在するため、そのデータをレスポンスとしてクライアント側プロキシ(12)へ送信する(1913)。フォルダ内の全ファイルを転送完了するかタイムアウトするまでこれを繰り返し(1914)、終了したらフォルダカウントをカウントダウンする(1915)。   When GET is received, the folder count is referred to (1912), and if it is 2 or more, data read by another client exists, so that data is transmitted as a response to the client side proxy (12) (1913). This is repeated until all the files in the folder have been transferred or timed out (1914), and when completed, the folder count is counted down (1915).

フォルダカウントが1であった場合、リクエストをサーバ(16)へ転送し(1916)、それに対するレスポンスを受信するまで待機する(1917)。受信されればクライアント側プロキシ(12)へ転送し(1918)、次のファイルに対するプリフェッチリクエストを送信する(1919)。 サーバ(16)からのプリフェッチデータを受信すると(1920)、クライアント側プロキシに送信する(1921)。ファイル一覧にファイルが残っていれば、1919以降を繰り返す(1922)。すべてのデータを転送し終わるか、タイムアウトによりプリフェッチしたデータを破棄し初期状態(1901)に戻る(1923)。   If the folder count is 1, the request is transferred to the server (16) (1916), and the system waits until a response is received (1917). If it is received, it is transferred to the client side proxy (12) (1918), and a prefetch request for the next file is transmitted (1919). When prefetch data is received from the server (16) (1920), it is transmitted to the client side proxy (1921). If a file remains in the file list, steps 1919 and after are repeated (1922). Either all the data has been transferred or the prefetched data is discarded due to a timeout and the process returns to the initial state (1901) (1923).

上述の実施例により、HTTPやWebDAVに従う通信で、サーバからクライアントの利用状況に応じて複数ファイルを効率的に転送するとができる。   According to the above-described embodiment, it is possible to efficiently transfer a plurality of files from the server according to the usage status of the client by communication according to HTTP or WebDAV.

Claims (15)

クライアントと接続されるクライアント側プロキシと、サーバと接続されるサーバ側プロキシとを含むシステムで、前記クライアントおよび前記サーバの間の通信を中継する通信方法であって、
前記クライアントと前記サーバの間で前記クライアントからのリクエストに対して前記サーバがレスポンスを送信する形式の通信方法において、
前記クライアントからが送信される第一のリクエストで取得される複数ファイルのリストを含むレスポンスを、クライアントに送信し、
前記クライアントから、前記リストに関連する第二のリクエストを受領した場合、
前記クライアントからのリクエストを待たずに、前記サーバに対して前記リストに該当する複数ファイルを取得するためのリクエストを送信し、
前記複数ファイル取得リクエストに対するレスポンスとして前記複数ファイルのリストに該当する前記複数ファイルの実体を、前記サーバからプリフェッチする、ことを特徴とする通信方法。
In a system including a client-side proxy connected to a client and a server-side proxy connected to a server, the communication method relays communication between the client and the server,
In a communication method in a format in which the server transmits a response to a request from the client between the client and the server,
A response including a list of a plurality of files acquired by the first request transmitted from the client is transmitted to the client;
If a second request related to the list is received from the client,
Without waiting for a request from the client, a request for acquiring a plurality of files corresponding to the list is sent to the server,
A communication method, comprising: prefetching an entity of the plurality of files corresponding to the list of the plurality of files from the server as a response to the request for acquiring the plurality of files.
請求項1の通信方法であって、
前記プリフェッチは、前記サーバ側プロキシで行い、
前記サーバ側プロキシは、
前記複数ファイル取得リクエストを前記サーバへ送信し、前記複数ファイル取得リクエストに対するレスポンスである前記複数ファイルの実体を前記クライアント側プロキシに送信し、
前記クライアント側プロキシは、前記サーバ側プロキシからレスポンスである前記複数ファイルの実体を受信し、かつ、前記クライアントからの前記複数ファイルの一つを取得するためのリクエストを受信した段階で、レスポンスとして該当する前記複数ファイルの一つを前記クライアントに送信することを特徴とする通信方法。
The communication method according to claim 1, comprising:
The prefetch is performed by the server side proxy,
The server side proxy
Sending the multiple file acquisition request to the server, sending the entity of the multiple files as a response to the multiple file acquisition request to the client side proxy,
The client-side proxy receives an entity of the plurality of files that is a response from the server-side proxy and receives a request for acquiring one of the plurality of files from the client, and corresponds as a response And transmitting one of the plurality of files to the client.
請求項2の通信方法であって、
前記クライアント側プロキシにおいて、前記クライアントから前記第二のリクエストを受信した後に、 前記クライアントから、前記複数ファイルリスト中の一つのファイルに対する第三以降のファイル取得リクエストを受信する場合、
前記第三以降のファイル取得リクエストにてリクエストされたファイルのプリフェッチ結果が前記サーバ側プロキシから受信されていない場合に、前記第三以降のファイル取得リクエストを前記サーバ側プロキシに転送することを特徴とする通信方法。
The communication method according to claim 2,
In the client side proxy, after receiving the second request from the client, when receiving a third or later file acquisition request for one file in the multiple file list from the client,
When the prefetch result of the file requested in the third and subsequent file acquisition requests is not received from the server-side proxy, the third and subsequent file acquisition requests are transferred to the server-side proxy. Communication method.
請求項3の通信方法であって、
前記サーバ側プロキシにおいて、前記クライアント側プロキシから前記第二のリクエストを受信した後に、
前記サーバ側プロキシが、前記クライアント側プロキシから前記第三以降のファイル取得リクエストを受信する場合、 前記サーバ側プロキシは、前記第三以降のファイル取得リクエストに合致するリクエストを前記サーバに未送信であれば、前記複数ファイルリスト中の前記第三以降のファイル取得リクエストに合致しないファイルに対するリクエストより優先的にサーバに送信し、
前記優先的に送信されたリクエストに対して前記サーバからレスポンスとしてファイルの実体を受信した場合に、前記ファイルの実体を前記クライアント側プロキシに転送する、ことを特徴とする通信方法。
The communication method according to claim 3, wherein
In the server side proxy, after receiving the second request from the client side proxy,
When the server-side proxy receives the third and subsequent file acquisition requests from the client-side proxy, the server-side proxy may not send a request that matches the third and subsequent file acquisition requests to the server. For example, a request for a file that does not match the third and subsequent file acquisition requests in the multiple file list is sent to the server with priority
A communication method, comprising: transferring a file entity to the client-side proxy when a file entity is received from the server as a response to the preferentially transmitted request.
請求項1の通信方法で、プリフェッチを前記クライアント側プロキシにて行う通信方法であって、
前記クライアント側プロキシは、前記複数ファイル取得リクエストを送信し、
前記サーバ側プロキシは、前記複数ファイル取得リクエストを前記サーバに転送して、前記サーバからレスポンスとして複数ファイルの実体を受信して、前記複数ファイルの実体を前記クライアント側プロキシへ転送し、
前記クライアント側プロキシは、前記サーバ側プロキシからレスポンスである前記複数ファイルの実体を受信し、かつ、前記クライアントからの前記複数ファイルの一つを取得するためのリクエストを受信した段階で、レスポンスとして該当する前記複数ファイルの一つを前記クライアントに送信することを特徴とする通信方法。
The communication method according to claim 1, wherein prefetching is performed by the client side proxy,
The client side proxy sends the multiple file acquisition request,
The server-side proxy transfers the multiple file acquisition request to the server, receives a plurality of file entities as a response from the server, and transfers the plurality of file entities to the client-side proxy,
The client-side proxy receives an entity of the plurality of files that is a response from the server-side proxy and receives a request for acquiring one of the plurality of files from the client, and corresponds as a response And transmitting one of the plurality of files to the client.
請求項5の通信方法であって、
前記クライアント側プロキシは、前記複数ファイル取得リクエストを送信する際に、あるファイルの取得リクエストを送信すると、前記あるファイルの取得リクエストに対するレスポンスであるファイルの実体を受信する前に、次のファイルの取得リクエストを送信する、ことを特徴とする通信方法。
The communication method according to claim 5, comprising:
When the client-side proxy transmits the multiple file acquisition request, if the client-side proxy transmits an acquisition request for a certain file, the client-side proxy acquires the next file before receiving the file entity as a response to the acquisition request for the certain file. A communication method characterized by transmitting a request.
請求項1の通信方法であって、
前記プリフェッチを前記クライアント側プロキシで行い、
前記クライアント側プロキシは、前記複数ファイル取得リクエストを送信し、
前記サーバ側プロキシは、前記クライアント側プロキシからの前記複数ファイル取得リクエストを契機として前記サーバに前記複数ファイルに対するプリフェッチリクエストを送信し、
前記サーバからレスポンスとして複数ファイルの実体を受信して、前記複数ファイルの実体を前記クライアント側プロキシへ転送し、
前記クライアント側プロキシは、前記サーバ側プロキシからレスポンスである前記複数ファイルの実体を受信し、かつ、前記クライアントからの前記複数ファイルの一つを取得するためのリクエストを受信した段階で、レスポンスとして該当する前記複数ファイルの一つを前記クライアントに送信することを特徴とする通信方法。
The communication method according to claim 1, comprising:
The prefetch is performed by the client side proxy,
The client side proxy sends the multiple file acquisition request,
The server side proxy sends a prefetch request for the plurality of files to the server triggered by the multiple file acquisition request from the client side proxy,
Receiving a plurality of file entities as a response from the server, transferring the plurality of file entities to the client side proxy,
The client-side proxy receives an entity of the plurality of files that is a response from the server-side proxy and receives a request for acquiring one of the plurality of files from the client, and corresponds as a response And transmitting one of the plurality of files to the client.
請求項1の通信方法であって、前記複数ファイルのプリフェッチは前記第一のリクエストに対するレスポンスに記載されている複数のファイルに対して行うことを特徴とする通信方法。   The communication method according to claim 1, wherein the prefetching of the plurality of files is performed on a plurality of files described in a response to the first request. 請求項1の通信方法であって、
前記クライアント側プロキシは、複数のクライアントに接続され、
前記クライアント側プロキシで、あるクライアントのリクエストに対する前記複数ファイルリストを含むレスポンスまたは前記ファイル実体であるレスポンスを保存し、
前記クライアント側プロキシが、他のクライアントから前記あるクライアントがリクエストしたファイルと同一のファイルに対するリクエストを受信した場合に、
前記他のクライアントに対して前記保存された前記レスポンスを再利用して送信することを特徴とする通信方法。
The communication method according to claim 1, comprising:
The client side proxy is connected to a plurality of clients,
The client-side proxy stores a response including the plurality of file lists or a response that is the file entity for a client request,
When the client-side proxy receives a request from another client for the same file requested by the client,
A communication method, wherein the stored response is reused and transmitted to the other client.
請求項1の通信方法で、複数のクライアントからのリクエストを処理する通信方法であって、
あるクライアントのリクエストに対する前記複数ファイルリストを含むレスポンスまたは前記ファイル実体であるレスポンスを、前記サーバ側プロキシに一時的に保存しておき、
前記サーバ側プロキシが、他のクライアントから前記あるクライアントがリクエストしたファイルと同一のファイルに対するリクエストを受信した場合に、
前記他のクライアントに対して保存された前記レスポンスを再利用して送信することを特徴とする通信方法。
A communication method according to claim 1, wherein requests from a plurality of clients are processed.
A response including the multiple file list for a request from a client or a response that is the file entity is temporarily stored in the server-side proxy,
When the server-side proxy receives a request for the same file as that requested by the client from another client,
A communication method, wherein the response stored in the other client is reused and transmitted.
請求項1記載の通信方法であって、
クライアント側プロキシ及びサーバ側プロキシは、WebDAVに従う通信であって、第一のリクエストは、PROPFINDであり、前記複数のファイルのリストは、前記ファイルの実体の場所を示すURLであって、「207 MutliStatus」というレスポンスに含まれ、第2のリクエストが、当該ファイルの実体の取得を要求するためのGETリクエストである、ことを特徴とする、通信方法。
The communication method according to claim 1, comprising:
The client-side proxy and the server-side proxy are communication conforming to WebDAV, the first request is PROPFIND, and the list of the plurality of files is a URL indicating the location of the file, and is “207 MultiStatus”. , And the second request is a GET request for requesting acquisition of the entity of the file.
請求項1記載の通信方法であって、
クライアント側プロキシ及びサーバ側プロキシは、HTTPプロトコルに従う通信であって、第一のリクエストがHTMLファイルに対するGETリクエストであり、前記複数のファイルのリストは、「200 OK」というレスポンスに含まれ、
第2のリクエストが、当該ファイルの実体の取得を要求するためのGETリクエストである、ことを特徴とする、通信方法。
The communication method according to claim 1, comprising:
The client-side proxy and the server-side proxy are communication in accordance with the HTTP protocol, and the first request is a GET request for an HTML file, and the list of the plurality of files is included in a response “200 OK”.
A communication method, wherein the second request is a GET request for requesting acquisition of an entity of the file.
クライアント装置とサーバ装置間で、サーバに格納されるデータの通信制御を行うプロキシシステムであって、
クライアントと通信するクライアント通信部と、
サーバと通信するサーバ通信部と、
前記クライアントからの、第一のリクエストに対するレスポンスに含まれる複数の情報のうち、少なくともいずれか一の情報の取得要求を前記クライアントから受信した場合、前記レスポンスに含まれる複数の情報の取得要求を、サーバに送信し、
前記複数の情報取得要求に対するレスポンスを、前記サーバからの受領した場合、前記クライアントに当該レスポンスを送信する、送信制御部と、を有する、ことを特徴とするプロキシシステム。
A proxy system that controls communication of data stored in a server between a client device and a server device,
A client communication unit that communicates with the client;
A server communication unit that communicates with the server;
When receiving an acquisition request for at least any one of the plurality of information included in the response to the first request from the client, the acquisition request for the plurality of information included in the response is received. To the server,
A proxy system comprising: a transmission control unit configured to transmit a response to the plurality of information acquisition requests from the server when the response is received from the server.
請求項13記載のプロキシシステムであって、
前記通信制御部は、バッファを備え、WebDAVプロトコルに従って、前記クライアントからの送信される前記第一のリクエストであるPROPFINDに対する前記サーバからのレスポンスに基づいて、特定されるフォルダに含まれるファイルのURLを用いて、前記フォルダに含まれるいずれか一のファイルの取得要求を前記クライアントから受信した場合、他のファイルも前記サーバからプリフェッチし、前記クライアントからの前記他のファイルの取得要求に応じてプリフェッチされたファイルを前記バッファに保持し、前記ファイルをクライアントに送信する、ことを特徴とするプロキシシステム。
The proxy system according to claim 13,
The communication control unit includes a buffer, and in accordance with the WebDAV protocol, based on a response from the server to the PROPFIND that is the first request transmitted from the client, a URL of a file included in the specified folder is obtained. When a request for acquiring any one of the files included in the folder is received from the client, the other files are also prefetched from the server, and are prefetched according to the request for acquiring the other files from the client. A proxy system, wherein the file is stored in the buffer and the file is transmitted to the client.
請求項14記載のプロキシシステムであって、
前記通信制御部は、複数のクライアントから、PROPFINDを受領し、前記複数のクライアントからファイル取得要求を受信した場合、当該複数のクライアントにプリフェッチされたファイルをそれぞれ送信し、当該ファイルを前記バッファから削除する、ことを特徴とするプロキシシステム。
15. The proxy system according to claim 14, wherein
When the communication control unit receives PROPFIND from a plurality of clients and receives a file acquisition request from the plurality of clients, the communication control unit transmits a prefetched file to each of the plurality of clients, and deletes the file from the buffer. A proxy system characterized by that.
JP2012085993A 2012-04-05 2012-04-05 Packet communication apparatus and method Expired - Fee Related JP5948111B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012085993A JP5948111B2 (en) 2012-04-05 2012-04-05 Packet communication apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012085993A JP5948111B2 (en) 2012-04-05 2012-04-05 Packet communication apparatus and method

Publications (2)

Publication Number Publication Date
JP2013218387A true JP2013218387A (en) 2013-10-24
JP5948111B2 JP5948111B2 (en) 2016-07-06

Family

ID=49590441

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012085993A Expired - Fee Related JP5948111B2 (en) 2012-04-05 2012-04-05 Packet communication apparatus and method

Country Status (1)

Country Link
JP (1) JP5948111B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015001784A (en) * 2013-06-13 2015-01-05 富士通株式会社 Information processing system, information processing apparatus, and information processing program
WO2016132501A1 (en) * 2015-02-19 2016-08-25 富士通株式会社 Communications device, information processing method, and information processing program

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001209571A (en) * 2000-01-26 2001-08-03 Sharp Corp Device to acquire information and method to acquire information, and computer readable record media stored with information acquiring program
JP2003186785A (en) * 2001-12-14 2003-07-04 Sanyo Electric Co Ltd Local server, information delivery system and user terminal devices
WO2008099897A1 (en) * 2007-02-16 2008-08-21 Sharp Kabushiki Kaisha Content display device, television receiver, content display method, content display control program, and recording medium
JP2010033112A (en) * 2008-07-25 2010-02-12 Fujitsu Ltd Content reproduction device, content reproduction method, and content reproduction program
JP2012003652A (en) * 2010-06-21 2012-01-05 Nippon Telegr & Teleph Corp <Ntt> Web information acquisition method and device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001209571A (en) * 2000-01-26 2001-08-03 Sharp Corp Device to acquire information and method to acquire information, and computer readable record media stored with information acquiring program
JP2003186785A (en) * 2001-12-14 2003-07-04 Sanyo Electric Co Ltd Local server, information delivery system and user terminal devices
WO2008099897A1 (en) * 2007-02-16 2008-08-21 Sharp Kabushiki Kaisha Content display device, television receiver, content display method, content display control program, and recording medium
JP2010033112A (en) * 2008-07-25 2010-02-12 Fujitsu Ltd Content reproduction device, content reproduction method, and content reproduction program
JP2012003652A (en) * 2010-06-21 2012-01-05 Nippon Telegr & Teleph Corp <Ntt> Web information acquisition method and device

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015001784A (en) * 2013-06-13 2015-01-05 富士通株式会社 Information processing system, information processing apparatus, and information processing program
WO2016132501A1 (en) * 2015-02-19 2016-08-25 富士通株式会社 Communications device, information processing method, and information processing program
JPWO2016132501A1 (en) * 2015-02-19 2017-10-26 富士通株式会社 COMMUNICATION DEVICE, INFORMATION PROCESSING METHOD, AND INFORMATION PROCESSING PROGRAM

Also Published As

Publication number Publication date
JP5948111B2 (en) 2016-07-06

Similar Documents

Publication Publication Date Title
US10630758B2 (en) Method and system for fulfilling server push directives on an edge proxy
Bormann et al. CoAP (constrained application protocol) over TCP, TLS, and WebSockets
US10044826B2 (en) Method and apparatus for reducing network resource transmission size using delta compression
US10645145B2 (en) Method and apparatus for accelerating data transmission in a network communication system
US10367871B2 (en) System and method for all-in-one content stream in content-centric networks
EP2988512B1 (en) System and method for reconstructable all-in-one content stream
CN103312807A (en) Data transmission method, data transmission device and data transmission system
JP2009140290A (en) Content repeater, content relay system, content relay method and program
US7346669B2 (en) Method, apparatus and system for processing message bundles on a network
CN112929411A (en) Distributed file transmission method, server and private cloud equipment
US20110173248A1 (en) Method for providing on-path content distribution
WO2013180255A1 (en) Communication devices and method
JP5948111B2 (en) Packet communication apparatus and method
US20160255176A1 (en) Information processing device, method, and medium
US8819107B2 (en) Relay apparatus, recording medium storing a relay program, and a relay method
US10110646B2 (en) Non-intrusive proxy system and method for applications without proxy support
JP2013088998A5 (en)
CN108605039B (en) Detecting malware on SPDY connections
Blanchet Postellation: an enhanced delay-tolerant network (dtn) implementation with video streaming and automated network attachment
Boros et al. Transparent Redirections in Content Delivery Networks
Netravali Understanding and improving web page load times on modern networks
JP2008217532A (en) Www content acquisition system and www content acquisition method
Morgenroth et al. Delay-tolerant networking in restricted networks
Tschofenig et al. CORE C. Bormann Internet-Draft Universitaet Bremen TZI Intended status: Standards Track S. Lemay Expires: February 25, 2017 Zebra Technologies
WO2015117677A1 (en) Method and software for transmitting website content

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141107

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151020

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151218

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160510

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160606

R151 Written notification of patent or utility model registration

Ref document number: 5948111

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees