JP5825940B2 - Distributed processing control system and control method thereof - Google Patents

Distributed processing control system and control method thereof Download PDF

Info

Publication number
JP5825940B2
JP5825940B2 JP2011192957A JP2011192957A JP5825940B2 JP 5825940 B2 JP5825940 B2 JP 5825940B2 JP 2011192957 A JP2011192957 A JP 2011192957A JP 2011192957 A JP2011192957 A JP 2011192957A JP 5825940 B2 JP5825940 B2 JP 5825940B2
Authority
JP
Japan
Prior art keywords
data
client device
client
request
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2011192957A
Other languages
Japanese (ja)
Other versions
JP2013054568A (en
JP2013054568A5 (en
Inventor
藤井 憲一
憲一 藤井
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2011192957A priority Critical patent/JP5825940B2/en
Publication of JP2013054568A publication Critical patent/JP2013054568A/en
Publication of JP2013054568A5 publication Critical patent/JP2013054568A5/ja
Application granted granted Critical
Publication of JP5825940B2 publication Critical patent/JP5825940B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Description

本発明は分散処理制御システム及びその制御方法に関し、特に、処理能力を超えてしまう大量のクライアント機器からのデータ送受信要求を処理するために用いて好適な技術に関する。   The present invention relates to a distributed processing control system and a control method therefor, and more particularly to a technique suitable for use in processing data transmission / reception requests from a large number of client devices that exceed the processing capability.

電子計算機技術の進歩により、複写機などの事務機器やカメラなどの家庭用機器においても、ネットワークを通じた処理を可能にするための多様なソフトウェアが搭載されるようになった。その結果、このような機器もインターネット上にあるネットサービスに、クライアント機器として接続することが可能になってきた。   Due to advances in electronic computer technology, various software for enabling processing via a network has been installed in office equipment such as copiers and household equipment such as cameras. As a result, such a device can be connected as a client device to a network service on the Internet.

こうしたクライアント機器に対してネットサービスを提供する場合には、URLやHTTPに代表されるようなインターネット技術を基盤として用いる必要がある。URLとはUNIFORM RESOURCE LOCATORの略であり、インターネット上に存在するデータの場所を指し示す記述方式のことである。URLは情報のアクセス手段やサーバのアドレス、ポート番号、フォルダ名、ファイル名などで構成される。   When providing a network service to such a client device, it is necessary to use an Internet technology represented by URL or HTTP as a basis. URL is an abbreviation for UNIFORM RESOURCE LOCATOR, and is a description method that indicates the location of data existing on the Internet. The URL is composed of information access means, server address, port number, folder name, file name, and the like.

また、HTTPとはHYPERTEXT TRANSFER PROTOCOLの略であり、URLで指定されたデータをサーバ機器とクライアント機器が送受信するのに使われるプロトコルのことである。HTTPにより、サーバ機器とクライアント機器の間で各種のデータをやり取りすることができる。HTTPはIETFによって規格化されている。   HTTP is an abbreviation for HYPERTEXT TRANSFER PROTOCOL, and is a protocol used for transmitting and receiving data specified by a URL between a server device and a client device. Various data can be exchanged between the server device and the client device by HTTP. HTTP is standardized by IETF.

これらのインターネット技術の上で、多数のクライアント機器からのデータ送受信を伴うアクセス要求を高速に処理するための仕掛けとして、複数のサーバ機器を用意しておき、動的に処理の負荷を分散させる、分散処理技術がある。また、データの送受信要求をサーバ機器ではなく専用のキャッシュ機器によって代替させるような、分散キャッシュ技術がある。   On these Internet technologies, as a mechanism for processing access requests involving data transmission and reception from a large number of client devices at high speed, a plurality of server devices are prepared, and the processing load is dynamically distributed. There is a distributed processing technology. In addition, there is a distributed cache technology in which a data transmission / reception request is replaced by a dedicated cache device instead of a server device.

特開平11−4261号公報Japanese Patent Laid-Open No. 11-4261 特開平11−175471号公報JP-A-11-175471

しかしながら、コンパクトデジタルカメラなど、非常に大量に販売される機器がクライアント機器としてネットサービスに接続するようになると、ネットサービスのサーバ機器側にも、従来と比較してより高いレベルでの負荷分散における性能が要求される。   However, when devices sold in large quantities, such as compact digital cameras, connect to the network service as client devices, the server device side of the network service will also be able to distribute loads at a higher level than before. Performance is required.

例えば、ネットワーク対応カメラを用いたチャットを行うサービスのような場合が典型的である。こうしたサービスでは、複数のクライアント機器間でリアルタイムに写真データを取り扱わなければならない。   For example, the case of a service for chatting using a network compatible camera is typical. In such services, photo data must be handled in real time between multiple client devices.

しかしながら、サーバ機器側の処理能力を向上させるための分散処理技術や分散キャッシュ技術だけでは、大量のクライアント機器からのデータ送受信要求を高速に取り扱うことは困難である。販売台数に比例して増加するクライアント機器からのアクセス要求を、相対的な台数に限界のあるサーバ機器あるいはキャッシュ機器の効率性向上で収容することには、限界があるからである。つまり、サーバ機器側の効率向上を行う手段だけでは、システム全体としての効率向上を実施することが困難である。このため、この限界を超えるためには、何らかの手段を用いてクライアント機器の効率向上も実現しなければならない。   However, it is difficult to handle data transmission / reception requests from a large number of client devices at high speed only with the distributed processing technology and the distributed cache technology for improving the processing capability on the server device side. This is because there is a limit in accommodating access requests from client devices, which increase in proportion to the number of units sold, by improving the efficiency of server devices or cache devices that have a limited number of units. That is, it is difficult to improve the efficiency of the entire system only by means for improving the efficiency on the server device side. For this reason, in order to exceed this limit, the efficiency of the client device must also be improved by using some means.

このような大規模化するデータ転送要求における課題に対応するための従来技術としては、まず特許文献1に記載の発明がある。この発明は、サーバのキャッシュ効率や負荷平衡を向上させるために、サーバ機器の集合であるクラスタにおける、オブジェクト要求の動的ルーティング方法を提供する手段を示したものである。   As a conventional technique for coping with such a problem in a data transfer request that is increasing in scale, there is an invention described in Patent Document 1 first. The present invention shows a means for providing a method for dynamically routing object requests in a cluster, which is a set of server devices, in order to improve cache efficiency and load balance of the server.

すなわち、URLで示されたオブジェクトへのアクセス要求に応答する、複数のサーバ機器のマッピングを動的に調整できるようにするものである。これによれば、URLで指定されるオブジェクトをキャッシュする責務を、複数のキャッシュ機器あるいはサーバ機器で効率的に分担する際の課題を解決することができる。   In other words, the mapping of a plurality of server devices that responds to an access request to the object indicated by the URL can be dynamically adjusted. According to this, it is possible to solve the problem in efficiently sharing the responsibility for caching the object specified by the URL among a plurality of cache devices or server devices.

これは、サーバ機器側におけるキャッシュの構成方法となる。そのため、URLで示されるデータを、複数のキャッシュ機器で分散させる場合の効率向上は実現可能であるものの、クライアント機器を含めた、全体における効率性向上を実現するという課題を解決するものではない。なぜならば、ネットワーク上において状態が安定しないクライアント機器を、アクセス要求に応答するサーバ機器と見做して、事前に決定しておくことはできないからである。   This is a cache configuration method on the server device side. Therefore, although it is possible to improve the efficiency when the data indicated by the URL is distributed among a plurality of cache devices, it does not solve the problem of improving the overall efficiency including the client devices. This is because a client device whose state is not stable on the network cannot be determined in advance as a server device that responds to an access request.

さらに、別の従来技術として特許文献2に記載の発明がある。特許文献2に記載の発明は、あるURLに関する転送速度やデータ種別などの特性情報を管理する書き換えサーバが、指定されたURLを書き換えてクライアント機器に返すようにしている。これにより、クライアント機器が最適な経路でデータをアクセスできるようにするための手段を示したものである。   Furthermore, there exists invention of patent document 2 as another prior art. In the invention described in Patent Document 2, a rewrite server that manages characteristic information such as transfer speed and data type related to a URL rewrites the specified URL and returns it to the client device. As a result, a means for enabling the client device to access the data through the optimum route is shown.

この発明を用いると、クライアント機器をキャッシュ機器として見做すようにURLを書き換えることができるようになる。これにより、クライアント機器からのアクセス要求をサーバ機器側だけではなく、別のクライアント機器に代替させて処理することができるようになる可能性がある。   By using the present invention, the URL can be rewritten so that the client device is regarded as a cache device. As a result, there is a possibility that an access request from a client device can be processed not only on the server device side but also on another client device.

しかしながら、特許文献1に記載の発明における理由と同様に、通電の状態やネットワーク接続の状況に関して不安定な各々のクライアント機器が保有しているデータを、永続的にキャッシュとして使用し続けることは不可能である。このため、サーバ機器の処理能力を補完するという処理を実現するための手段としては、サーバ側のキャッシュ機器と併用できないという問題は大きな制約となる。   However, for the same reason as in the invention described in Patent Document 1, it is impossible to permanently use data held by each client device that is unstable with respect to the energized state or the network connection state as a cache. Is possible. For this reason, as a means for realizing processing for complementing the processing capability of the server device, the problem that it cannot be used together with the server-side cache device is a major limitation.

以上述べたように、サーバ機器・キャッシュ機器だけで、その処理能力を超えてしまう大量のクライアント機器からのデータ送受信要求を処理することは困難である。これを可能にするためには、クライアント機器間でのデータのやりとりを、クライアント機器側においてもキャッシュできるようにすることが考えられる。しかし、この場合には他のクライアント機器が必ずしも常に使用可能ではないという問題点がある。
本発明は前述の問題点に鑑み、サーバ機器・キャッシュ機器の処理能力を超えてしまう大量のクライアント機器からのデータ送受信要求を処理できるようにすることを目的とする。
As described above, it is difficult to process data transmission / reception requests from a large number of client devices that exceed the processing capability with only server devices and cache devices. In order to make this possible, it is conceivable that data exchange between client devices can be cached on the client device side as well. However, in this case, there is a problem that other client devices are not always usable.
SUMMARY OF THE INVENTION In view of the above-described problems, an object of the present invention is to be able to process data transmission / reception requests from a large number of client devices that exceed the processing capabilities of server devices and cache devices.

本発明の分散処理制御システムは、ネットワークを通じてデータの送受信を行う機能を有する複数のクライアント機器と、クライアント機器より送受信されたデータを格納するとともに、要求に応じてクライアント機器へデータを送信する機能を有するサーバ機器と、サーバ機器からの要求によってクライアント機器へサーバ機器の代わりにデータを送信するキャッシュ機器とを有するネットワーク環境における分散処理制御システムであって、特定のアドレスを有するクライアント機器において、特定のアドレスを有するサーバ機器に対してデータを送信するデータ送信手段と、サーバ機器において、クライアント機器からデータ送信手段によって送信されたデータを受信するデータ受信手段と、サーバ機器において、データ受信手段で受信したデータを、データを送信してきたクライアント機器の情報とともにサーバ機器に格納するデータ格納手段と、サーバ機器において、データ格納手段で格納したデータを特定のアドレスを有するキャッシュ機器に転送するキャッシュ転送手段と、クライアント機器において、特定のアドレスを有するサーバ機器に対してデータを要求するデータ要求手段と、サーバ機器において、クライアントからデータ要求手段によって要求されたデータに対して、前記データを保持しているキャッシュ機器あるいは別のクライアント機器のいずれから取得するべきなのかの優先度を判定するデータ応答場所優先度判定手段と、サーバ機器において、データ応答場所優先度判定手段によって判定された優先度に基づき、キャッシュ機器、クライアント機器の複数のアドレスを含むデータ要求先を生成し、その結果をクライアント機器のデータ要求手段への応答とすることによって、クライアント機器に再度データの要求手段を再実行することを要求するデータ要求先変更手段とを有し、サーバ機器におけるデータ格納手段において、保存するクライアント機器の情報とは、クライアント機器のアドレスとネットワーク接続の状況を含む情報であり、かつサーバ機器におけるデータ応答場所優先度判定手段は、前記データをデータ要求手段によって要求してきたクライアント機器の情報と、前記データをデータ送信手段によって送信してきたクライアント機器の情報とを照合することによって、データ送信手段によるクライアント機器のアドレスの優先度を決定し、サーバ機器におけるデータ要求先変更手段において、生成されるデータ要求先は複数の機器に対するアドレスが優先度に基づいて含まれたURLで示される情報であり、かつクライアント機器におけるデータ要求再実行手段において、前記URLを事前に定められた一定の規則性に基づいて複数に分割することによって、前記データを生成したクライアント機器に対して前記データを送信するクライアント側データ要求応答手段を呼び出すことができ、かつクライアント機器において前記URLを分割せずにそのまま使用した場合には、キャッシュ機器におけるキャッシュ側データ要求応答手段を呼び出すことができることを特徴とする。 The distributed processing control system of the present invention has a plurality of client devices having a function of transmitting and receiving data through a network, a function of storing data transmitted and received from the client device, and a function of transmitting data to the client device in response to a request. A distributed processing control system in a network environment having a server device having a cache device that transmits data to the client device instead of the server device in response to a request from the server device. A data transmitting means for transmitting data to a server device having an address; a data receiving means for receiving data transmitted from the client device by the data transmitting means in the server device; and a data receiving means in the server device. Data storage means for storing the received data in the server device together with information on the client device that transmitted the data, and in the server device, cache transfer means for transferring the data stored in the data storage means to a cache device having a specific address; in the client device, the data request means for requesting data to the server device having a specific address, the server device, for the requested data by the data request unit from the client, maintains the data Ruki Based on the priority determined by the data response location priority determination means in the server device and the data response location priority determination means for determining the priority of whether to acquire from the cache device or another client device. can, cache devices, client machine A data request destination change requesting the client device to re-execute the data request means by generating a data request destination including a plurality of addresses and using the result as a response to the data request means of the client device. have a means, the data storage unit in the server apparatus, the information of the client device to store an information including the status of the client device address and the network connection, and data response places priority determination unit in the server device The priority of the address of the client device by the data transmitting means is determined by collating the information of the client device that has requested the data by the data requesting means with the information of the client device that has transmitted the data by the data transmitting means. Determine and request data in server equipment In the destination changing means, the data request destination to be generated is information indicated by a URL including addresses for a plurality of devices based on the priority, and the data request re-execution means in the client device sets the URL in advance. The client side data request response means for transmitting the data can be called to the client device that has generated the data by dividing the plurality of data based on a predetermined regularity, and the URL in the client device can be called. Is used without being divided, the cache side data request response means in the cache device can be called .

本発明によれば、生成されるデータ要求先は複数の機器に対するアドレスが優先度に基づいて含まれたURLで示される情報であるので、サーバ機器・キャッシュ機器の処理能力を超えてしまう大量のクライアント機器からのデータ送受信要求を処理することが可能になる。 According to the present invention, since the generated data request destination is information indicated by a URL including addresses for a plurality of devices based on the priority, a large amount of data that exceeds the processing capability of the server device / cache device. Data transmission / reception requests from client devices can be processed.

本発明の実施形態のクライアント機器の構成例を示すブロック図である。It is a block diagram which shows the structural example of the client apparatus of embodiment of this invention. サーバ機器・キャッシュ機器の構成例を示すブロック図である。It is a block diagram which shows the structural example of a server apparatus and cache apparatus. 分散処理制御システムで行われる処理のシーケンスを示す図である。It is a figure which shows the sequence of the process performed with a distributed processing control system. 分散処理制御システムで行われる処理のシーケンスの他の例を示す図である。It is a figure which shows the other example of the sequence of the process performed with a distributed processing control system. サーバ機器における処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the process sequence in a server apparatus. サーバ機器における、クライアント機器への応答データを示す図である。It is a figure which shows the response data to a client apparatus in a server apparatus. クライアント機器における処理手順を示すフローチャートである。It is a flowchart which shows the process sequence in a client apparatus. クライアント機器側のキャッシュ機能を使用する場合の状態を示す図である。It is a figure which shows the state in the case of using the cache function by the side of a client apparatus. 各機器を構成可能なハードウェア構成を示すブロック図である。It is a block diagram which shows the hardware constitutions which can comprise each apparatus.

以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。本実施形態において、クライアント機器は、ネットワーク環境を通じてデータの送受信を行う機能を有する。サーバ機器は、クライアント機器より送受信されたデータを格納し、また要求に応じてクライアント機器へデータを送信する機能を有する。キャッシュ機器は、サーバ機器からの要求によって、クライアント機器へサーバ機器の代わりにデータを送信する機能を有する。   Hereinafter, the present invention will be described in detail based on preferred embodiments with reference to the accompanying drawings. The configurations shown in the following embodiments are merely examples, and the present invention is not limited to the illustrated configurations. In this embodiment, the client device has a function of transmitting and receiving data through a network environment. The server device has a function of storing data transmitted and received from the client device and transmitting data to the client device in response to a request. The cache device has a function of transmitting data to the client device instead of the server device in response to a request from the server device.

(第1の実施形態)
図1は、本発明の第1の実施形態を示すクライアント機器における、主要部の構成を示したブロック図である。以下に、各部に関してより詳細に説明する。
まず、クライアントOS部101であるが、クライアント機器100を構成するハードウェアの各種構成要素を、計算機資源としてソフトウェア的に扱えるようにするものである。クライアントOS部101があることによって、クライアント機器100で動作する他の各ソフトウェア構成部が、直接ハードウェアに関する制御を行う必要がなくなる。
(First embodiment)
FIG. 1 is a block diagram showing the configuration of the main part of a client device showing the first embodiment of the present invention. Below, it demonstrates in detail regarding each part.
First, the client OS unit 101 is configured so that various hardware components constituting the client device 100 can be handled as computer resources in software. The presence of the client OS unit 101 eliminates the need for other software components that operate on the client device 100 to directly control hardware.

次に、クライアントアプリ部102であるが、クライアント機器100における機種固有の機能を、使用者に提供するための機能を有する部分である。例えば、クライアント機器100がデジタルカメラであれば、画像の撮影、保管、編集、表示などの制御を行うためのソフトウェアである。   Next, the client application unit 102 is a part having a function for providing a model-specific function in the client device 100 to the user. For example, if the client device 100 is a digital camera, it is software for performing control such as image capturing, storage, editing, and display.

本実施形態においては、クライアント機器100が具体的にどのような機能を使用者に提供しているかということに依存しないため、クライアント機器が有する個別の特徴的な機能を示すものとして、このクライアントアプリ部102を定義する。すなわち、例えばクライアント機器100が複写機なのであれば、紙の複写、印刷、送信などの機能を有する部分が、図1におけるクライアントアプリ部102の機能となる。   In the present embodiment, the client application 100 does not depend on what specific functions the client device 100 provides to the user. Therefore, the client application 100 is assumed to indicate individual characteristic functions of the client device. Part 102 is defined. That is, for example, if the client device 100 is a copying machine, a portion having functions such as paper copying, printing, and transmission is the function of the client application unit 102 in FIG.

クライアントデータ要求部103は、クライアントアプリ部102からのデータ送信要求を受理し、クライアントデータ送信部104に処理を依頼する。クライアントアプリ部102がネットワークを通じて他の機器へデータの送受信要求を行う場合においては、まずクライアントデータ要求部103がその要求を受理する。そして、その後にクライアントデータ送信部104が、クライアントOS部101を通じてネットワーク処理を行うハードウェアを駆動する。つまり、クライアントデータ要求部103は、クライアントアプリ部102が要求するデータの形式を、クライアントデータ送信部104が処理可能な形態に変換する。   The client data request unit 103 receives a data transmission request from the client application unit 102 and requests the client data transmission unit 104 to perform processing. When the client application unit 102 makes a data transmission / reception request to another device through the network, the client data request unit 103 first accepts the request. Thereafter, the client data transmission unit 104 drives hardware that performs network processing through the client OS unit 101. That is, the client data request unit 103 converts the data format requested by the client application unit 102 into a format that can be processed by the client data transmission unit 104.

例えば、クライアント機器100がネットワークへのアップロード機能をもつデジタルカメラ機器である場合を例に説明する。この時、画像をネットワーク上の特定のURLで示されるファイルとしてアップロードするように、クライアントアプリ部102がクライアントデータ要求部103に要求する。   For example, a case where the client device 100 is a digital camera device having a network upload function will be described as an example. At this time, the client application unit 102 requests the client data request unit 103 to upload the image as a file indicated by a specific URL on the network.

クライアントデータ要求部103は、そのURLを解析し、実際のホスト名やIPアドレスといった送信先と、HTTPに準拠した形式での画像を含む送信データを生成する。このように、クライアントデータ要求部103は、特定のアドレスを有するサーバ機器に対して、データを要求するデータ要求手段を提供する部分となる。   The client data request unit 103 analyzes the URL and generates transmission data including a transmission destination such as an actual host name and an IP address and an image in a format compliant with HTTP. As described above, the client data request unit 103 is a part that provides data request means for requesting data to a server device having a specific address.

また、こうして発行したデータ要求に対して、複数のアドレスを含むURLを返答として受信した場合には、受信したURLから複数のアドレスを取り出し、各々へアクセスするために、クライアントデータ送信部104を制御する処理も行う。すなわち、データ要求再実行手段も提供する。データ要求再実行手段は、前述のURLを事前に定められた一定の規則性に基づいて複数に分割することによって、要求されたデータを生成したクライアント機器に対してそのデータを送信するクライアント側データ要求応答手段を呼び出すことができる。   In addition, when a URL including a plurality of addresses is received as a response to the data request issued in this way, the client data transmission unit 104 is controlled to take out a plurality of addresses from the received URL and access each of them. The process to do is also performed. That is, data request re-execution means is also provided. The data request re-execution means divides the above-mentioned URL into a plurality based on a predetermined regularity, thereby transmitting the data to the client device that generated the requested data. Request response means can be invoked.

クライアントデータ送信部104は、クライアントデータ要求部103からの処理要求を、クライアントOS部101に転送する。例えば、クライアントデータ要求部103が変換した送信先アドレスと送信データとをもとに、クライアントOS部101を制御する。具体的には、TCP/IPのセッションを開設し、実際のHTTPデータを送信するといった制御を行う。すなわち、特定のアドレスを有するサーバ機器へ、データを送信するためのデータ送信手段を提供する部分となる。   The client data transmission unit 104 transfers the processing request from the client data request unit 103 to the client OS unit 101. For example, the client OS unit 101 is controlled based on the transmission destination address and transmission data converted by the client data request unit 103. Specifically, control is performed such as opening a TCP / IP session and transmitting actual HTTP data. That is, it is a part that provides data transmission means for transmitting data to a server device having a specific address.

クライアントデータ格納部105は、クライアントデータ要求部103が取り扱うデータを、一時的に格納しておくための処理を行う部分である。クライアントデータ格納部105は、クライアントデータ要求部103を経由するデータの送信要求に対して、そのデータを一時的に複製して格納するための制御を行う。また、クライアントデータ受信部107からの要求を受け、クライアントデータ保持部106に保持されているデータを、再びクライアントデータ送信部104を制御することで、ネットワーク上に送信するための制御も行う。   The client data storage unit 105 is a part that performs processing for temporarily storing data handled by the client data request unit 103. In response to a data transmission request via the client data request unit 103, the client data storage unit 105 performs control for temporarily copying and storing the data. Further, in response to a request from the client data receiving unit 107, the client data transmission unit 104 is controlled again to transmit the data held in the client data holding unit 106 to the network.

クライアントデータ保持部106は、クライアントデータ格納部105が実際にデータを保持しておくための記憶領域を制御する。例えば、機器に内蔵している不揮発性のメモリやハードディスクに、後で再利用できる形式で、データを保存しておくための処理を実行する。   The client data holding unit 106 controls a storage area for the client data storage unit 105 to actually hold data. For example, a process for storing data in a format that can be reused later is executed in a non-volatile memory or hard disk built in the device.

クライアントデータ受信部107は、外部の機器から発行される要求を受信する。ネットワーク上にある他の機器からの要求は、クライアントOS部101を経由して受信され、クライアントデータ受信部107に入力される。データを受信したクライアントデータ受信部107は、それをクライアントデータ格納部105が処理可能な形式に変換する。   The client data receiving unit 107 receives a request issued from an external device. Requests from other devices on the network are received via the client OS unit 101 and input to the client data receiving unit 107. The client data receiving unit 107 that has received the data converts it into a format that can be processed by the client data storage unit 105.

例えば、クライアントOS部101が開設するTCP/IPのポート番号80において、外部機器からHTTPによる接続があった場合を例に説明する。この時、HTTPによるURLやヘッダ、あるいはペイロードなどのデータを解析して、クライアントデータ格納部105に転送するのが、クライアントデータ受信部107の役割である。すなわち、他のクライアント機器から発行されたデータの要求に応答して、当該データを送信するためのクライアント側データ要求応答手段を提供する部分が、クライアントデータ受信部107である。   For example, a case where there is a connection by HTTP from an external device at the TCP / IP port number 80 established by the client OS unit 101 will be described. At this time, it is the role of the client data receiving unit 107 to analyze data such as an HTTP URL, header, or payload and transfer it to the client data storage unit 105. That is, the client data receiving unit 107 is a part that provides client-side data request response means for transmitting data in response to a data request issued from another client device.

前述のようなソフトウェア構成を備えることにより、ネットワーク上にある他の機器へ要求を送信するだけではなく、他の機器からの要求を受信して処理することができる機能を、クライアント機器100は有することができる。   By providing the software configuration as described above, the client device 100 has a function of not only transmitting requests to other devices on the network but also receiving and processing requests from other devices. be able to.

図2は、本発明の実施形態を示すサーバ機器・キャッシュ機器における、主要部の構成を示したブロック図である。サーバ機器・キャッシュ機器は同一のソフトウェアによって構成され、実行時・配備時における役割によってサーバ機器あるいはキャッシュ機器として機能する。そのため、ソフトウェアの構成図としては同一の内容となる。以下に各部に関してより詳細に説明する。   FIG. 2 is a block diagram showing a configuration of a main part in the server device / cache device showing the embodiment of the present invention. The server device and the cache device are configured by the same software, and function as a server device or a cache device depending on the role at the time of execution and deployment. For this reason, the software configuration diagram has the same contents. Each part will be described in detail below.

まず、サーバOS部201であるが、クライアント機器100のクライアントOS部101と基本的に同様である。つまり、サーバ機器200を構成するハードウェアの各種構成要素を、計算機資源としてソフトウェア的に扱えるようにするものである。サーバOS部201を備えることによって、サーバ機器200で動作する他の各ソフトウェア構成部は、直接ハードウェアに関する制御を行う必要がなくなる。   First, the server OS unit 201 is basically the same as the client OS unit 101 of the client device 100. That is, various hardware components constituting the server device 200 can be handled as software resources as software. By including the server OS unit 201, other software components operating on the server device 200 do not need to directly control hardware.

次に、サーバアプリ部202であるが、サーバ機器200における機種固有の機能を、使用者に提供するための機能を有する部分である。例えば、サーバ機器200が画像保管を行うためのサーバなのであれば、画像の受信、保管、検索、送信などの制御を行うためのソフトウェアとなる。   Next, the server application unit 202 is a portion having a function for providing a model-specific function in the server device 200 to the user. For example, if the server device 200 is a server for storing images, it is software for controlling image reception, storage, search, transmission, and the like.

本発明は、サーバ機器200が具体的にどのような機能を使用者に提供しているかということに依存しないため、本実施形態においては、サーバ機器・キャッシュ機器が有する個別の特徴的な機能を示すものとして、このサーバアプリ部202を定義する。すなわち、例えばサーバ機器200が画像保管サーバではなく文書保管サーバなのであれば、文書の受信、保管、検索、送信などの機能を有する部分が、本図におけるサーバアプリ部202の機能となる。   Since the present invention does not depend on what specific functions the server device 200 provides to the user, in the present embodiment, individual characteristic functions of the server device / cache device are provided. As shown, this server application unit 202 is defined. That is, for example, if the server device 200 is not an image storage server but a document storage server, a portion having functions such as document reception, storage, search, and transmission is the function of the server application unit 202 in the figure.

サーバデータ要求部203は、サーバアプリ部202からのデータ送信要求を受理し、サーバデータ送信部204に処理を依頼する。サーバアプリ部202が、ネットワークを通じて他の機器へデータの送受信要求を行う場合、まず、サーバデータ要求部203がその要求を受理する。その後に、サーバデータ送信部204がサーバOS部201を通じて、ネットワーク処理を行うハードウェアを駆動する。言い換えると、サーバデータ要求部203は、サーバアプリ部202が要求するデータの形式を、サーバデータ送信部204が処理可能な形態に変換する。   The server data request unit 203 receives a data transmission request from the server application unit 202 and requests the server data transmission unit 204 to perform processing. When the server application unit 202 makes a data transmission / reception request to another device via the network, first, the server data request unit 203 accepts the request. Thereafter, the server data transmission unit 204 drives hardware for performing network processing through the server OS unit 201. In other words, the server data request unit 203 converts the data format requested by the server application unit 202 into a format that can be processed by the server data transmission unit 204.

例えば、画像保管サーバであるサーバ機器200の、サーバアプリ部202を例にして説明する。特定のURLで示されるネットワーク上の画像データを、ファイルとしてダウンロードするように、サーバアプリ部202が要求する。この時、そのURLを解析し、実際のホスト名やIPアドレスといった送信先と、HTTPに準拠した形式での画像を要求する送信データを生成するのが、サーバデータ要求部203の役割である。   For example, the server application unit 202 of the server device 200 that is an image storage server will be described as an example. The server application unit 202 requests to download the image data on the network indicated by the specific URL as a file. At this time, it is the role of the server data request unit 203 to analyze the URL and generate transmission data for requesting an image in a format compliant with the transmission destination such as the actual host name and IP address.

サーバデータ送信部204は、サーバデータ要求部203からの処理要求を、サーバOS部201に転送する。例えば、サーバデータ要求部203が変換した送信先アドレスと送信データをもとに、サーバOS部201を制御する。具体的には、TCP/IPのセッションを開設し、実際のHTTPデータを送信するといった制御を行う。   The server data transmission unit 204 transfers the processing request from the server data request unit 203 to the server OS unit 201. For example, the server OS unit 201 is controlled based on the transmission destination address and transmission data converted by the server data request unit 203. Specifically, control is performed such as opening a TCP / IP session and transmitting actual HTTP data.

サーバデータ制御部205は、サーバデータ要求部203、サーバデータ受信部207、サーバデータ保持部206を制御することで、本発明の特徴的な処理を実施するための構成として機能する。他の機器から送信されてきたデータを、サーバデータ受信部207によってサーバデータ保持部206に格納する。そして、格納したデータを特定のアドレスを有する他のキャッシュ機器に転送するキャッシュ転送手段を、サーバデータ制御部205が提供する。これは、ネットワーク上に大量のクライアント機器が存在した場合に発行される大量の当該データに対する要求を、複数のサーバ機器・キャッシュ機器によって分担できるようにするためである。   The server data control unit 205 functions as a configuration for performing characteristic processing of the present invention by controlling the server data request unit 203, the server data reception unit 207, and the server data holding unit 206. Data transmitted from another device is stored in the server data holding unit 206 by the server data receiving unit 207. Then, the server data control unit 205 provides a cache transfer means for transferring the stored data to another cache device having a specific address. This is because a plurality of server devices / cache devices can share a request for a large amount of data issued when a large amount of client devices exist on the network.

また、クライアント機器からデータの取得を要求された場合に、どの機器からこれを取得するべきなのかを判定するデータ応答場所優先度判定手段も、サーバデータ制御部205は提供する。この場合の機器とは、当該データを保持しているサーバ機器、キャッシュ機器、あるいは他のクライアント機器のいずれかを意味する。   In addition, the server data control unit 205 also provides data response location priority determination means for determining which device should acquire data when a client device requests data acquisition. The device in this case means any one of a server device, a cache device, and another client device that holds the data.

また、さらにこのデータ応答場所優先度判定手段によって判定された優先度に基づき、複数のサーバ機器、キャッシュ機器、クライアント機器のアドレスを含むデータ要求先を生成する。そして、その結果をクライアント機器のデータ要求手段への応答とする。これにより、クライアント機器に送信を再度要求するデータ要求手段を再実行することを要求するデータ要求先変更手段も、サーバデータ制御部205が提供する。   Further, based on the priority determined by the data response location priority determination means, a data request destination including addresses of a plurality of server devices, cache devices, and client devices is generated. The result is used as a response to the data request means of the client device. Thus, the server data control unit 205 also provides a data request destination changing unit that requests re-execution of the data request unit that requests the client device to transmit again.

また、さらにキャッシュ転送手段によって当該データを格納しているキャッシュ機器において、データ要求再実行手段によってクライアント機器から当該データの取得要求が発行されたことに応答する手段も提供する。すなわち、当該データを送信するためのキャッシュ側データ要求応答手段も、サーバデータ制御部205が提供する。   Further, in the cache device storing the data by the cache transfer means, a means for responding when the data request re-execution means issues a request for acquiring the data from the client device is also provided. That is, the server data control unit 205 also provides a cache-side data request response means for transmitting the data.

サーバデータ保持部206は、サーバデータ制御部205が管理するデータを保持しておくための記憶領域を制御する。例えば、サーバ機器200に内蔵している不揮発性のメモリやハードディスクに、後で再利用できる形式でデータを保存しておくための処理を実行する。保存されるデータには、画像や文書といったデータ以外に、そのデータを送信してきたクライアントを識別するための情報も含まれる。すなわち、クライアント機器から送信されたデータを、そのクライアント機器の情報とともに格納するためのデータ格納手段を提供する部分が、サーバデータ保持部206である。   The server data holding unit 206 controls a storage area for holding data managed by the server data control unit 205. For example, processing for storing data in a non-volatile memory or hard disk built in the server device 200 in a format that can be reused later is executed. In addition to data such as images and documents, the stored data includes information for identifying the client that transmitted the data. That is, the server data holding unit 206 is a part that provides data storage means for storing data transmitted from a client device together with information about the client device.

サーバデータ受信部207は、外部の機器から発行される要求を受信する。ネットワーク上にある他の機器からの要求は、サーバOS部201を経由して受信され、サーバデータ受信部207に入力される。データを受信したサーバデータ受信部207は、それをサーバデータ制御部205が処理可能な形式に変換する。   The server data receiving unit 207 receives a request issued from an external device. Requests from other devices on the network are received via the server OS unit 201 and input to the server data receiving unit 207. The server data receiving unit 207 that has received the data converts it into a format that can be processed by the server data control unit 205.

例えば、サーバOS部201が開設するTCP/IPのポート番号80において、外部機器からHTTPによる接続があった場合を例に説明する。この時、HTTPによるURLやヘッダ、あるいはペイロードなどのデータを解析して、サーバデータ制御部205に要求として転送するのが、サーバデータ受信部207の役割である。すなわち、クライアント機器から送信されたデータを受信するための、データ受信手段を提供する部分となる。   For example, a case where there is an HTTP connection from an external device at the TCP / IP port number 80 established by the server OS unit 201 will be described. At this time, it is the role of the server data receiving unit 207 to analyze data such as an HTTP URL, header, or payload and transfer it to the server data control unit 205 as a request. That is, it is a part that provides data receiving means for receiving data transmitted from the client device.

サーバ機器200は前述したようなソフトウェア構成を備えている。これにより、ネットワーク上にある他の機器へ要求を送信するだけではなく、他の機器からの要求を受信して処理することができる機能を、サーバ機器200は有することになる。   The server device 200 has a software configuration as described above. As a result, the server device 200 has a function of not only transmitting a request to another device on the network but also receiving and processing a request from another device.

図3は、本発明の実施形態を示すクライアント機器とサーバ機器・キャッシュ機器における、処理のシーケンスを示す図である。特に、クライアント機器側のキャッシュ機能を使用しない場合の、処理のシーケンスに関する主要な箇所を示した図である。すなわち、本発明が提供するクライアント機器側のキャッシュ機能を一切使用しない場合に、各クライアント機器とサーバ・キャッシュ機器との間で行われる相互作用を示したものとなっている。   FIG. 3 is a diagram showing a processing sequence in the client device and the server device / cache device according to the embodiment of the present invention. In particular, it is a diagram showing the main parts related to the processing sequence when the cache function on the client device side is not used. That is, the interaction performed between each client device and the server cache device when the cache function on the client device side provided by the present invention is not used at all is shown.

カメラ機器301およびカメラ機器302は、それぞれ図1に記載されているソフトウェア構成を有することと特徴とするクライアント機器である。
サーバ機器303およびキャッシュ機器304は、それぞれ図2に記載されているソフトウェア構成を有することを特徴とする、サーバ機器とキャッシュ機器である。
Each of the camera device 301 and the camera device 302 is a client device characterized by having the software configuration described in FIG.
The server device 303 and the cache device 304 are a server device and a cache device, respectively, having the software configuration described in FIG.

図3においては、カメラ機器301およびカメラ機器302はデジタルカメラである。また、サーバ機器303およびキャッシュ機器304は、これらのカメラ機器301、302で保管した画像を保存するための写真保管サービスを構成するための機器である。また、各々の機器301〜304はネットワークによって接続されており、ネットワーク上で各々を識別するための固有のアドレスがそれぞれ付与されている。   In FIG. 3, the camera device 301 and the camera device 302 are digital cameras. The server device 303 and the cache device 304 are devices for configuring a photo storage service for storing images stored in the camera devices 301 and 302. In addition, each of the devices 301 to 304 is connected by a network, and a unique address for identifying each device is given on the network.

次に、図3を参照しながら、デジタルカメラであるカメラ機器301と、サーバ機器303およびキャッシュ機器304で構成される写真保管サービスの処理の一例を説明する。デジタルカメラであるカメラ機器301は写真を撮影する。その写真が、サーバ機器303およびキャッシュ機器304で構成される写真保管サービスに格納される。そして、さらに当該写真を他のデジタルカメラであるカメラ機器302が使用するという場合、処理の流れは以下のようになる。   Next, with reference to FIG. 3, an example of processing of a photo archiving service composed of a camera device 301 that is a digital camera, a server device 303, and a cache device 304 will be described. A camera device 301 that is a digital camera takes a picture. The photograph is stored in a photograph storage service composed of the server device 303 and the cache device 304. Further, when the camera device 302, which is another digital camera, uses the photograph, the processing flow is as follows.

まず、デジタルカメラであるカメラ機器301が写真を撮影すると、ステップ350において、その写真PIC1が画像保管サービスを構成するサーバ機器303にアップロードされる。この時、図1におけるクライアントアプリ部102が撮影を実施した後に、クライアントデータ要求部103が、クライアントデータ送信部104とクライアントOS部101を制御するデータ送信手段を用いることによって、クライアント機器側の処理が実行される。   First, when the camera device 301 which is a digital camera takes a photograph, in step 350, the photograph PIC1 is uploaded to the server device 303 constituting the image storage service. At this time, after the client application unit 102 in FIG. 1 performs shooting, the client data request unit 103 uses the data transmission unit that controls the client data transmission unit 104 and the client OS unit 101, so that processing on the client device side is performed. Is executed.

一方、サーバ機器303では、図2におけるサーバOS部201がクライアント機器からの当該要求を受信し、それをサーバデータ受信部207へと伝えることで、サーバデータ制御部205にカメラ機器301がアップロードした写真PIC1が送られる。
次に、ステップ351で、サーバ機器303は受信した写真PIC1をキャッシュ機器304に転送する。
On the other hand, in the server device 303, the server OS unit 201 in FIG. 2 receives the request from the client device and transmits it to the server data receiving unit 207, so that the camera device 301 is uploaded to the server data control unit 205. Photo PIC1 is sent.
Next, in step 351, the server device 303 transfers the received photo PIC1 to the cache device 304.

次に、ステップ352で、写真PIC1を撮影したのではない別のデジタルカメラであるカメラ機器302が、写真PIC1を使用するためのダウンロード要求を、サーバ機器303に発行する。
次に、ステップ353で、写真PIC1はすでにステップ351でキャッシュ機器304に転送済みのため、キャッシュ機器304のアドレスをサーバ機器303からカメラ機器302に返却するデータアドレス送信処理を行う。
次に、ステップ354で、カメラ機器302はステップ353で得た情報をもとに、キャッシュ機器304に該当する写真のダウンロードを要求する。
次に、ステップ355で、キャッシュ機器304は写真PIC1のデータをカメラ機器302に返却する。この結果、カメラ機器302はカメラ機器301が撮影した写真PIC1を取得することができる。
Next, in step 352, the camera device 302, which is another digital camera that has not photographed the photo PIC1, issues a download request for using the photo PIC1 to the server device 303.
Next, in step 353, since the photo PIC1 has already been transferred to the cache device 304 in step 351, data address transmission processing for returning the address of the cache device 304 from the server device 303 to the camera device 302 is performed.
Next, in step 354, the camera device 302 requests the cache device 304 to download a photo corresponding to the information obtained in step 353.
Next, in step 355, the cache device 304 returns the data of the photo PIC 1 to the camera device 302. As a result, the camera device 302 can acquire the photograph PIC1 taken by the camera device 301.

図4は、本発明の実施形態を示す、クライアント機器とサーバ機器・キャッシュ機器における処理のシーケンスを示すものである。特に、クライアント機器側のキャッシュ機能を使用する場合の処理に関する主要な箇所を示した図である。すなわち、本発明が提供するクライアント機器側のキャッシュ機能を使用した場合に、各クライアント機器とサーバ・キャッシュ機器との間で行われる相互作用を示したものである。   FIG. 4 shows a processing sequence in the client device and the server device / cache device according to the embodiment of the present invention. It is the figure which showed the main parts regarding the process in the case of using especially the cache function by the side of a client apparatus. That is, the interaction performed between each client device and the server cache device when the cache function on the client device side provided by the present invention is used is shown.

デジタルカメラであるカメラ機器301が写真を撮影すると、まずステップ450によって、その写真PIC1が画像保管サービスを構成するサーバ機器303にアップロードされる。この時、カメラ機器301を構成する図1におけるクライアントアプリ部102が撮影を実施する。具体的には、クライアントデータ要求部103が、クライアントデータ送信部104とクライアントOS部101を制御するデータ送信手段を用いることによって、この処理は実行される。また、同時に写真PIC1は、カメラ機器301のクライアントデータ格納部105を通じて、クライアントデータ保持部106にも格納される。   When the camera device 301, which is a digital camera, takes a photograph, first, in step 450, the photograph PIC1 is uploaded to the server device 303 constituting the image storage service. At this time, the client application unit 102 in FIG. 1 constituting the camera device 301 performs photographing. Specifically, this process is executed by the client data request unit 103 using a data transmission unit that controls the client data transmission unit 104 and the client OS unit 101. At the same time, the photo PIC 1 is also stored in the client data holding unit 106 through the client data storage unit 105 of the camera device 301.

一方、サーバ機器303では、図2におけるサーバOS部201がクライアント機器からの当該要求を受信し、それをサーバデータ受信部207へと伝える。これにより、サーバデータ制御部205にカメラ機器301がアップロードした写真PIC1が送られる。
次に、ステップ451で、サーバ機器303は受信した写真PIC1をキャッシュ機器304に転送する。この時、サーバ機器303を構成しているサーバデータ制御部205において、以下の処理が実行される。
On the other hand, in the server device 303, the server OS unit 201 in FIG. 2 receives the request from the client device and transmits it to the server data receiving unit 207. As a result, the photo PIC1 uploaded by the camera device 301 is sent to the server data control unit 205.
Next, in step 451, the server device 303 transfers the received photo PIC1 to the cache device 304. At this time, the server data control unit 205 configuring the server device 303 executes the following processing.

すなわち、サーバデータ受信部207によってクライアント機器から送信されてきた写真PIC1を、サーバデータ制御部205がサーバデータ保持部206に保管する。この時、写真PIC1を送信してきたカメラ機器301のアドレスやダウンロード開始・完了時刻を、写真PIC1と関連付けて保管する。次に、この写真PIC1をキャッシュ機器304に転送する。   That is, the server data control unit 205 stores the photo PIC 1 transmitted from the client device by the server data receiving unit 207 in the server data holding unit 206. At this time, the address of the camera device 301 that has transmitted the photo PIC1 and the download start / end time are stored in association with the photo PIC1. Next, the photograph PIC1 is transferred to the cache device 304.

次のステップ452は、ステップ352と同一である。すなわち、写真PIC1を撮影したのではない別のデジタルカメラであるカメラ機器302が、写真PIC1を使用するためのダウンロード要求を、サーバ機器303に発行する。   The next step 452 is the same as step 352. In other words, the camera device 302, which is another digital camera that has not photographed the photo PIC 1, issues a download request for using the photo PIC 1 to the server device 303.

次のステップ453では、写真PIC1をカメラ機器302に送信する際に、最も適した応答場所を判定する。これはサーバ機器303を構成する、サーバデータ制御部205によって実施される。本処理を行うためのデータ応答場所優先度判定手段において行われる処理の一例は、例えば以下に示す。データをデータ要求手段によって要求してきたクライアント機器の情報と、データをデータ送信手段によって送信してきたクライアント機器の情報とを照合することによって、データ送信手段によるクライアント機器のアドレスの優先度を決定する。データ応答場所優先度判定手段において行われる処理に関しては、後述する図5においてより詳細に説明する。   In the next step 453, when the photograph PIC1 is transmitted to the camera device 302, the most suitable response place is determined. This is performed by the server data control unit 205 constituting the server device 303. An example of processing performed in the data response location priority determination unit for performing this processing is shown below, for example. The priority of the address of the client device by the data transmission unit is determined by collating the information of the client device that has requested the data by the data requesting unit with the information of the client device that has transmitted the data by the data transmission unit. The processing performed in the data response location priority determination unit will be described in more detail with reference to FIG.

図4におけるステップ453では、データ応答場所優先度判定手段が、写真PIC1を撮影したカメラ機器301を、最も優先度の高い応答場所と判定した場合を示す。また、ステップ451で保存したキャッシュ機器304が、次に優先度の高い場所として適していると判定した場合を示す。   Step 453 in FIG. 4 shows a case where the data response location priority determination unit determines that the camera device 301 that has taken the photo PIC1 is the response location with the highest priority. In addition, a case where it is determined that the cache device 304 stored in step 451 is suitable as a place with the next highest priority is shown.

次に、ステップ454では、ステップ453で判定された応答場所が有するアドレスをもとにダウンロードURLを生成し、それをカメラ機器302に返却する。すなわち、データ応答場所優先度判定手段によって判定された優先度に基づき、カメラ機器301とキャッシュ機器304のアドレスを含むデータ要求先を生成する。   Next, in step 454, a download URL is generated based on the address of the response location determined in step 453 and returned to the camera device 302. That is, a data request destination including addresses of the camera device 301 and the cache device 304 is generated based on the priority determined by the data response location priority determination means.

そして、その結果をカメラ機器302へのデータ要求手段への応答URLとする。これにより、カメラ機器302に再度データの要求手段を再実行することを要求する。この処理は、サーバ機器303におけるサーバデータ制御部205が実施する。後述する図6において、図5のフローチャートと併せて本ステップで生成する応答URLを説明する。   Then, the result is set as a response URL to the data request means for the camera device 302. This requests the camera device 302 to re-execute the data request means. This process is performed by the server data control unit 205 in the server device 303. In FIG. 6 to be described later, the response URL generated in this step will be described together with the flowchart of FIG.

次に、ステップ455で、ステップ454の結果を受信したカメラ機器302が応答URLを解析し、判明したカメラ機器301のアドレスに対して、写真PIC1のダウンロード要求を発行する。本処理は、カメラ機器302を構成する図1におけるクライアントデータ要求部103において実施される。   Next, in step 455, the camera device 302 that has received the result of step 454 analyzes the response URL, and issues a download request for the photo PIC1 to the address of the determined camera device 301. This processing is performed in the client data request unit 103 in FIG.

発行したデータ要求に対し、複数のアドレスを含むURLを返答として受信した場合には、当該URLから複数のアドレスを取り出し、各々へアクセスするために、クライアントデータ送信部104をクライアントデータ要求部103が制御する。本ステップにおいて行われる処理の詳細は、後述する図7において説明する。   When a URL including a plurality of addresses is received as a response to the issued data request, the client data transmission unit 104 sets the client data request unit 103 to retrieve a plurality of addresses from the URL and access them. Control. Details of the processing performed in this step will be described with reference to FIG.

次に、ステップ456で、カメラ機器301は、写真PIC1のデータをカメラ機器302への応答として返却する。これはカメラ機器301におけるクライアントデータ格納部105が、クライアントデータ保持部106にステップ450において、保持しておいた写真PIC1を使用することによって実現する。   Next, in step 456, the camera device 301 returns the data of the photo PIC1 as a response to the camera device 302. This is realized by the client data storage unit 105 in the camera device 301 using the photograph PIC1 stored in step 450 in the client data storage unit 106.

こうして、カメラ機器302は、カメラ機器301が撮影した写真PIC1を取得することができる。図3に示されたシーケンスではキャッシュ機器304より取得するが、図4に示されたシーケンスではカメラ機器301から写真PIC1を取得することができる。すなわち、多数のクライアント機器がネットワーク上に存在した場合において、図3に比較して図4はキャッシュ機器304に負荷が集中することなく、画像のダウンロード処理を実施できることとなる。   In this way, the camera device 302 can acquire the photograph PIC1 taken by the camera device 301. In the sequence shown in FIG. 3, it is obtained from the cache device 304, but in the sequence shown in FIG. 4, the photograph PIC <b> 1 can be obtained from the camera device 301. In other words, when a large number of client devices exist on the network, the image download processing in FIG. 4 can be performed without concentrating the load on the cache device 304 as compared with FIG.

また、カメラ機器301と302が高速なネットワークに接続しており、キャッシュ機器304は低速なネットワーク経由である場合には、写真PIC1の転送に要する時間が短縮できる。このため、図4の場合は、結果としてより短時間で、カメラ機器302が写真PIC1を処理することができるようになる。   Further, when the camera devices 301 and 302 are connected to a high-speed network and the cache device 304 is via a low-speed network, the time required for transferring the photo PIC1 can be shortened. Therefore, in the case of FIG. 4, as a result, the camera device 302 can process the photo PIC1 in a shorter time.

図5は、本発明の実施形態を示すサーバ機器における処理手順を説明するフローチャートである。特に、図4に示されたクライアント機器側のキャッシュ機能を使用する場合における、サーバ機器303における特徴的な処理の流れを示したフローチャートである。すなわち、図4におけるステップ452、ステップ453、ステップ454において行われる処理のフローを、さらに詳細に示したものとなっている。   FIG. 5 is a flowchart for explaining the processing procedure in the server device showing the embodiment of the present invention. 5 is a flowchart showing a characteristic processing flow in the server device 303 when the cache function on the client device side shown in FIG. 4 is used. That is, the flow of processing performed in step 452, step 453, and step 454 in FIG. 4 is shown in more detail.

まず、S511で、カメラ機器302から写真PIC1の要求を受信する。
次に、S512で、写真PIC1を保持しているクライアント機器が他にあるかどうかを判定する。他にある場合はS513に進み、ない場合はS517に進む。図4におけるステップ451において、サーバデータ制御部205がサーバデータ保持部206に、写真PIC1を送信してきたカメラ機器301のアドレスと写真PIC1を関連付けて保管している。したがって、サーバデータ保持部206の情報を用いることによって、この判定処理を実施することができる。
First, in S511, a request for a photo PIC1 is received from the camera device 302.
Next, in S512, it is determined whether there is another client device that holds the photo PIC1. If there is another, the process proceeds to S513, and if not, the process proceeds to S517. In step 451 in FIG. 4, the server data control unit 205 stores the address of the camera device 301 that has transmitted the photo PIC1 and the photo PIC1 in the server data holding unit 206 in association with each other. Therefore, this determination process can be performed by using the information stored in the server data holding unit 206.

次に、S513で、当該データを保持しているクライアント機器と、当該データを要求してきたクライアント機器が、近傍に存在するかどうかを判定する。近傍に存在する場合はS514に進み、存在しない場合はS517に進む。ここでは近傍の定義を、ネットワーク的な距離が近いことと定義する。つまり、当該データを要求してきたカメラ機器302と当該データを保持しているカメラ機器301との接続が、キャッシュ機器304との間よりも高速であると期待できるかどうかを判定することとなる。   Next, in S513, it is determined whether the client device that holds the data and the client device that has requested the data exist in the vicinity. If it exists in the vicinity, the process proceeds to S514, and if it does not exist, the process proceeds to S517. Here, the definition of the neighborhood is defined as a short network distance. That is, it is determined whether or not the connection between the camera device 302 that has requested the data and the camera device 301 that holds the data can be expected to be faster than the connection with the cache device 304.

本実施形態では、この判定にクライアント同士が同一のサブネットに所属しているかどうかを用いる。例えば、図3および図4では、カメラ機器301のアドレスは150.61.10.1であり、またカメラ機器302のアドレスは150.61.10.2であるため、この2台は同一のサブネットに存在する。しかし、キャッシュ機器304のアドレスは10.10.10.2であるため、異なるサブネットに存在する。したがって、この場合にはカメラ機器301の方が、近傍であると判定することができる。   In this embodiment, whether or not the clients belong to the same subnet is used for this determination. For example, in FIGS. 3 and 4, since the address of the camera device 301 is 150.61.10.1 and the address of the camera device 302 is 150.61.10.2, these two devices exist in the same subnet. However, since the address of the cache device 304 is 10.10.10.2, it exists in a different subnet. Therefore, in this case, it can be determined that the camera device 301 is closer.

次に、S514で、写真PIC1のアップロード開始時刻が、現在時刻からどのくらい隔たっているのかを判定する。これは、写真PIC1がカメラ機器301に保持されているとしても、保持より一定以上の時間が経過した場合には、計算機資源に限界のあるクライアント機器においては、引き続きデータが保持されている可能性が低下することを考慮したものである。アップロード開始時刻が最近の場合はS515に進み、そうでない場合はS517に進む。   Next, in S514, it is determined how far the upload start time of the photo PIC1 is from the current time. This is because even if the photo PIC1 is held in the camera device 301, if a certain amount of time has elapsed since the holding, the client device with limited computer resources may continue to hold data. Is taken into account. If the upload start time is recent, the process proceeds to S515, and if not, the process proceeds to S517.

次に、S515で、写真PIC1のアップロード完了時刻を確認する。これは、当該データのサーバ機器へのアップロードが完了されていない場合を考慮したものである。すなわち、カメラ機器301から写真PIC1をサーバ機器303へとアップロードするためのステップであるステップ450が、もしまだ完了していない状態である場合には、キャッシュ機器304に写真PIC1はまだ存在しない。この場合は、写真PIC1を必要とするカメラ機器302の要求を、この時点で処理できる可能性があるのは、カメラ機器301のみとなる。アップロードが完了している場合はS516に進み、完了していない場合はS518に進む。   Next, in S515, the upload completion time of the photo PIC1 is confirmed. This takes into consideration the case where uploading of the data to the server device has not been completed. That is, if the step 450 for uploading the photo PIC1 from the camera device 301 to the server device 303 is not completed yet, the photo PIC1 does not exist in the cache device 304 yet. In this case, only the camera device 301 may be able to process the request of the camera device 302 that requires the photo PIC1 at this time. If the upload has been completed, the process proceeds to S516. If the upload has not been completed, the process proceeds to S518.

S516は、写真PIC1を生成元であるカメラ機器301が保持しており、かつキャッシュ機器304も保持していると判定できた場合に処理を実施する。すなわち、写真PIC1を保管している場所として、キャッシュ機器304とカメラ機器301の双方を指定したURLを生成する。
S517は、写真PIC1の生成元であるカメラ機器301が近傍ではないか、あるいはデータがすでに削除されてしまった可能性が高いと判定できた場合に処理を実施する。この場合、写真PIC1を保管している場所として、キャッシュ機器304のみを指定してURLを生成する。
S518は、写真PIC1が、生成元であるカメラ機器301のみに存在すると判定できた場合に処理を実施する。この場合、写真PIC1を保管している場所として、カメラ機器301のみを指定してURLを生成する。
S519で、以上の各ステップで判定された写真PIC1の場所をもとに、ダウンロード場所としての応答URLを生成し、これをカメラ機器302に返信する。
In S516, the process is performed when it is determined that the photo device PIC1 is held by the camera device 301 that is the generation source and the cache device 304 is also held. That is, a URL designating both the cache device 304 and the camera device 301 is generated as the location where the photo PIC1 is stored.
In S517, processing is performed when it is determined that the camera device 301 that is the generation source of the photo PIC1 is not in the vicinity or that there is a high possibility that the data has already been deleted. In this case, the URL is generated by designating only the cache device 304 as the location where the photo PIC1 is stored.
In S518, the process is performed when it is determined that the photo PIC1 exists only in the camera device 301 that is the generation source. In this case, the URL is generated by designating only the camera device 301 as the location where the photo PIC1 is stored.
In S519, a response URL as a download location is generated based on the location of the photo PIC1 determined in each of the above steps, and this is returned to the camera device 302.

図6は、本発明の実施形態を示すサーバ機器における、クライアント機器への応答データの例を示す図である。特に、図5のフローチャートで示された各状態に対応するクライアント機器への応答データの例を、各々示したものである。   FIG. 6 is a diagram showing an example of response data to the client device in the server device showing the embodiment of the present invention. In particular, an example of response data to the client device corresponding to each state shown in the flowchart of FIG. 5 is shown.

601は、図5におけるS516を経由した場合に生成されるURLである。本実施形態では、単一のURLに複数のアドレスを混在させるため、特別なマークである"._OPT_."を用いて、カメラ機器301のアドレスとキャッシュ機器304のアドレスを記述している。本方式によって生成されたURLの解析は、図1のクライアントデータ要求部103において処理される。
602は、図5におけるS517を経由した場合に生成されるURLである。
603は、図5におけるS518を経由した場合に生成されるURLである。
Reference numeral 601 denotes a URL generated when the process goes through S516 in FIG. In this embodiment, since a plurality of addresses are mixed in a single URL, the address of the camera device 301 and the address of the cache device 304 are described using a special mark “._OPT_.”. Analysis of the URL generated by this method is processed by the client data request unit 103 in FIG.
Reference numeral 602 denotes a URL generated when the process goes through S517 in FIG.
Reference numeral 603 denotes a URL generated when the process goes through S518 in FIG.

図7は、本発明の実施形態を示すクライアント機器における処理手順を説明するフローチャートである。特に、図4に示されたクライアント機器側のキャッシュ機能を使用する場合における、カメラ機器302における特徴的な処理に関する流れを示している。   FIG. 7 is a flowchart for explaining the processing procedure in the client device according to the embodiment of the present invention. In particular, a flow relating to characteristic processing in the camera device 302 when the cache function on the client device side shown in FIG. 4 is used is shown.

本処理は、カメラ機器302を構成する図1における、クライアントデータ要求部103において、実施される処理である。発行したデータ要求に対し、複数のアドレスを含むURLを返答として受信した場合に、当該URLから複数のアドレスを取り出し、各々へアクセスするためにクライアントデータ送信部104を制御するために行われる。   This process is a process executed in the client data request unit 103 in FIG. When a URL including a plurality of addresses is received as a response to the issued data request, a plurality of addresses are extracted from the URL and the client data transmission unit 104 is controlled to access each address.

まず、S711で、サーバ機器303より写真PIC1の場所を示す応答URLを受信する。これは図6に示された内容のいずれかになる。
次に、S712で当該URLを解析し、あらかじめ取り決められたマークが存在するかどうかを確認する。マークが存在する場合はS713に進み、存在しない場合はS716に進む。本実施形態の場合、図6に示されるように"._OPT_."を特別なマークとして使用しているため、この文字列がURLに含まれているかどうかを判定する。マークが存在する場合はS713に進み、存在しない場合はS716に進む。
First, in S711, a response URL indicating the location of the photo PIC1 is received from the server device 303. This is one of the contents shown in FIG.
Next, in step S712, the URL is analyzed to check whether a predetermined mark exists. If the mark exists, the process proceeds to S713, and if not, the process proceeds to S716. In the present embodiment, as shown in FIG. 6, “._OPT_.” Is used as a special mark, so it is determined whether or not this character string is included in the URL. If the mark exists, the process proceeds to S713, and if not, the process proceeds to S716.

次に、S713で、当該のマークが存在した場合には、URLからURL自身が示すアドレスではない別のアドレスを取り出す。例えば、図6における601ではURLの本来のアドレスは10.10.10.2であるため、マーク"._OPT_."を用いて切り出される150.61.10.1が別のアドレスと判定されることとなる。   Next, in S713, when the mark exists, another address that is not the address indicated by the URL itself is extracted from the URL. For example, in 601 in FIG. 6, since the original address of the URL is 10.10.10.2, 150.61.10.1 cut out using the mark “._OPT_.” Is determined as another address.

次に、S714で、取り出したアドレスから再度URLを構成し、写真PIC1をそのURLに対して要求する。すなわち、図6における601がS711で返却された場合には、こうして解析された結果の写真PIC1を要求するURLはhttp://150.61.10.1/PIC1となる。   Next, in S714, a URL is constructed again from the extracted address, and the photo PIC1 is requested for the URL. That is, when 601 in FIG. 6 is returned in S711, the URL requesting the photograph PIC1 as a result of the analysis is http://150.61.10.1/PIC1.

次に、S715で、当該URLによって写真PIC1が取得できたかどうかを判定する。取得できなかった場合、つまり、カメラ機器301へアクセスできなかった場合、あるいはカメラ機器301はすでに当該の写真PIC1を保持していなかった場合には、次のS716へ移る。   Next, in S715, it is determined whether or not the photograph PIC1 has been acquired by the URL. If the camera device 301 cannot be obtained, that is, if the camera device 301 cannot be accessed, or if the camera device 301 has not already held the photo PIC1, the process proceeds to the next S716.

S716では、S711で取得されたURLそのものを用いてもう一度、写真PIC1の取得を実施する。すなわち、図6における601の場合のURLであるhttp://10.10.10.2/PIC1._OPT_.150.61.10.1/PIC1となる。このURLとして示されているアドレスはキャッシュ機器304となるため、キャッシュ機器304に写真PIC1を要求することとなる。   In S716, the photo PIC1 is acquired once again using the URL itself acquired in S711. That is, the URL in the case of 601 in FIG. 6 is http://10.10.10.2/PIC1._OPT_.150.61.10.1/PIC1. Since the address indicated as the URL is the cache device 304, the photo PIC1 is requested from the cache device 304.

図8は、本発明の実施形態を示すクライアント機器とサーバ機器・キャッシュ機器における、データの状況、ネットワーク接続の状況を示すものである。特に、図4におけるクライアント機器側のキャッシュ機能を使用する場合の状態を示した図である。   FIG. 8 shows a data state and a network connection state in the client device and the server device / cache device according to the embodiment of the present invention. In particular, FIG. 5 is a diagram showing a state when the cache function on the client device side in FIG. 4 is used.

カメラ機器301とキャッシュ機器304は、ネットワーク801で接続されている。
カメラ機器301のクライアントデータ保持部106には、撮影した写真PIC1が格納されている。また、その写真PIC1は、ネットワーク801を通じて外部の機器から図6の603で示されるURLであるhttp://150.61.10.1/PIC1でアクセスすることができる。
The camera device 301 and the cache device 304 are connected via a network 801.
The client data holding unit 106 of the camera device 301 stores a photographed photo PIC1. Further, the photograph PIC1 can be accessed from an external device through the network 801 at http://150.61.10.1/PIC1 which is a URL indicated by 603 in FIG.

キャッシュ機器304も、同じ写真PIC1をサーバデータ保持部206に保持している。また、その写真PIC1は、ネットワーク801を通じて2つの異なったURLである図6の601と602の双方で参照することができるようになっている。この時、601はhttp://10.10.10.2/PIC1._OPT_.150.61.10.1/PIC1である。また、602はhttp://10.10.10.2/PIC1である。   The cache device 304 also holds the same photo PIC1 in the server data holding unit 206. Further, the photograph PIC1 can be referred to through both the two different URLs 601 and 602 in FIG. 6 through the network 801. At this time, 601 is http://10.10.10.2/PIC1._OPT_.150.61.10.1/PIC1. Reference numeral 602 denotes http://10.10.10.2/PIC1.

また、キャッシュ機器304のサーバデータ保持部206には、図5で示されたフローチャートにおける処理を可能とするために、写真PIC1に付帯した送信元クライアント、アップロード開始時刻、アップロード完了時刻も保持されている。   In addition, the server data holding unit 206 of the cache device 304 also holds the transmission source client, upload start time, and upload completion time attached to the photo PIC1 in order to enable the processing in the flowchart shown in FIG. Yes.

図9は、本発明の実施形態を示すクライアント機器とサーバ機器・キャッシュ機器を構成可能なハードウェアである、コンピュータ装置900について示したブロック図である。   FIG. 9 is a block diagram showing a computer device 900 that is hardware capable of configuring the client device and the server device / cache device according to the embodiment of the present invention.

図9において、901はコンピュータ装置900全体を制御するCPUである。902は変更を必要としないプログラムやパラメータを格納するROMである。903は外部装置などから供給されるプログラムやデータを一時記憶するRAMである。904はコンピュータ装置900に固定して設置されたハードディスクやメモリカードなどを含む外部記憶装置である。905はユーザの操作を受け、データを入力するポインティングデバイスやキーボードなどの入力機器とのI/Fである。906はコンピュータ装置900の保持するデータや供給されたデータを表示するための出力装置とのI/Fである。907はインターネットなどのネットワーク回線に接続するためのネットワークI/Fである。908は901〜907の各ユニットを通信可能に接続するシステムバスである。   In FIG. 9, reference numeral 901 denotes a CPU that controls the entire computer apparatus 900. A ROM 902 stores programs and parameters that do not need to be changed. A RAM 903 temporarily stores programs and data supplied from an external device. Reference numeral 904 denotes an external storage device including a hard disk, a memory card, and the like that are fixedly installed in the computer apparatus 900. Reference numeral 905 denotes an I / F with an input device such as a pointing device or a keyboard that receives user operations and inputs data. Reference numeral 906 denotes an I / F with an output device for displaying data held by the computer apparatus 900 and supplied data. Reference numeral 907 denotes a network I / F for connecting to a network line such as the Internet. A system bus 908 connects the units 901 to 907 so that they can communicate with each other.

前述した実施形態によれば、サーバ機器・キャッシュ機器の処理能力を超えてしまう大量のクライアント機器からのデータ送受信要求を処理することが可能になる。すなわち、クライアント機器間でのデータのやりとりをキャッシュして、相互に使用することができるようになる。この時、必ずしも常に使用可能ではない別のクライアント機器に存在するデータを特定し、参照することができるようになる。また、従来使用されてきたサーバ機器・キャッシュ機器におけるキャッシュ処理と併用することが可能となる。   According to the above-described embodiment, it is possible to process a data transmission / reception request from a large number of client devices that exceed the processing capability of the server device / cache device. That is, the exchange of data between client devices can be cached and used mutually. At this time, data existing in another client device that is not always available can be identified and referenced. Further, it can be used together with the cache processing in the server device / cache device which has been used conventionally.

なお、前述した実施形態においては、2つのクライアント機器、1つのサーバ機器、1つのキャッシュ機器により分散処理制御システムを構成した例を説明したが、クライアント機器は3つ以上でもよい。また、サーバ機器及びキャッシュ機器は2つ以上の複数であってもよい。   In the above-described embodiment, the example in which the distributed processing control system is configured by two client devices, one server device, and one cache device has been described. However, the number of client devices may be three or more. The server device and the cache device may be two or more.

以上、第1の実施形態を記述したが、第1の実施形態における下記の部分において、異なる第2の実施形態も考えられる。
(第2の実施形態)
前述した第1の実施形態における図5で説明されている、S513で当該データを保持しているクライアント機器と、当該データを要求してきたクライアント機器が近傍に存在するかどうかを判定する部分は、以下のように異なってもよい。
Although the first embodiment has been described above, a different second embodiment is also conceivable in the following part of the first embodiment.
(Second Embodiment)
The part for determining whether or not the client device holding the data in S513 and the client device that has requested the data exist in the vicinity described in FIG. 5 in the first embodiment is as follows. It may be different as follows.

第1の実施形態では、近傍の定義をよりネットワーク的な距離が近いこととした。すなわち、キャッシュ機器との間よりクライアント機器間が高速であると期待できるかどうかを判定するために、クライアント同士が同一のサブネットに所属しているかどうかを用いていた。しかし、第2の実施形態においては、この判定を実際にICMPパケットなどの送受信をお互いに行い、その経過時間を計測することによって判定する。   In the first embodiment, the definition of the neighborhood is a closer network distance. That is, in order to determine whether or not the client device can be expected to be faster than the cache device, whether or not the clients belong to the same subnet is used. However, in the second embodiment, this determination is performed by actually transmitting and receiving ICMP packets and the like and measuring the elapsed time.

より具体的には、データ要求手段によって別のクライアント機器がデータを要求してきたデータ要求時刻と、該当するデータをデータ送信手段によってクライアントが送信したデータ送信時刻とを照合する。そして、データ送信時刻とデータ要求時刻とが近接している場合にはデータ要求先変更手段におけるクライアント機器のアドレスに関する優先度を高くする。また、データ送信時刻からデータ要求時刻までに相当の時間経過がある場合にはクライアント機器のアドレスに関する優先度を低くする。   More specifically, the data request time when another client device has requested data by the data requesting unit is compared with the data transmission time at which the client transmitted the corresponding data by the data transmitting unit. When the data transmission time and the data request time are close to each other, the priority regarding the address of the client device in the data request destination changing unit is increased. Further, when a considerable time has elapsed from the data transmission time to the data request time, the priority related to the address of the client device is lowered.

これにより、第1の実施形態よりもさらにネットワーク的な距離の測定精度を向上させることができる。ただし、第1の実施形態に比較して、ネットワークトラフィックを増大させる可能性がある。また、クライアント機器とサーバ機器・キャッシュ機器において、主にセキュリティ上の理由によって、当該パケットの通過が許可されていない場合がある。このため、第1の実施形態の手法を第2の実施形態が置き換えるものではない。   Thereby, the measurement accuracy of the network-like distance can be further improved as compared with the first embodiment. However, there is a possibility of increasing network traffic as compared to the first embodiment. In some cases, the client device and the server device / cache device are not permitted to pass the packet mainly for security reasons. For this reason, the second embodiment does not replace the technique of the first embodiment.

(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(コンピュータプログラム)を、ネットワーク又は各種のコンピュータ読み取り可能な記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
(Other embodiments)
The present invention can also be realized by executing the following processing. That is, software (computer program) that realizes the functions of the above-described embodiments is supplied to a system or apparatus via a network or various computer-readable storage media. Then, the computer (or CPU, MPU, etc.) of the system or apparatus reads out and executes the program.

100 クライアント機器、101 クライアントOS部、102 クライアントアプリ部、103 クライアントデータ要求部、104 クライアントデータ送信部、105 クライアントデータ格納部、106 クライアントデータ保持部、107 クライアントデータ受信部、200 サーバ機器、201 サーバOS部、202 サーバアプリ部、203 サーバデータ要求部、204 サーバデータ送信部、205 サーバデータ制御部、206 サーバデータ保持部、207 サーバデータ受信部 DESCRIPTION OF SYMBOLS 100 Client apparatus, 101 Client OS part, 102 Client application part, 103 Client data request part, 104 Client data transmission part, 105 Client data storage part, 106 Client data holding part, 107 Client data receiving part, 200 Server apparatus, 201 Server OS unit, 202 server application unit, 203 server data request unit, 204 server data transmission unit, 205 server data control unit, 206 server data holding unit, 207 server data reception unit

Claims (6)

ネットワークを通じてデータの送受信を行う機能を有する複数のクライアント機器と、クライアント機器より送受信されたデータを格納するとともに、要求に応じてクライアント機器へデータを送信する機能を有するサーバ機器と、サーバ機器からの要求によってクライアント機器へサーバ機器の代わりにデータを送信するキャッシュ機器とを有するネットワーク環境における分散処理制御システムであって、
特定のアドレスを有するクライアント機器において、特定のアドレスを有するサーバ機器に対してデータを送信するデータ送信手段と、
サーバ機器において、クライアント機器からデータ送信手段によって送信されたデータを受信するデータ受信手段と、
サーバ機器において、データ受信手段で受信したデータを、データを送信してきたクライアント機器の情報とともにサーバ機器に格納するデータ格納手段と、
サーバ機器において、データ格納手段で格納したデータを特定のアドレスを有するキャッシュ機器に転送するキャッシュ転送手段と、
クライアント機器において、特定のアドレスを有するサーバ機器に対してデータを要求するデータ要求手段と、
サーバ機器において、クライアントからデータ要求手段によって要求されたデータに対して、前記データを保持しているキャッシュ機器あるいは別のクライアント機器のいずれから取得するべきなのかの優先度を判定するデータ応答場所優先度判定手段と、
サーバ機器において、データ応答場所優先度判定手段によって判定された優先度に基づき、キャッシュ機器、クライアント機器の複数のアドレスを含むデータ要求先を生成し、その結果をクライアント機器のデータ要求手段への応答とすることによって、クライアント機器に再度データの要求手段を再実行することを要求するデータ要求先変更手段とを有し、
サーバ機器におけるデータ格納手段において、保存するクライアント機器の情報とは、クライアント機器のアドレスとネットワーク接続の状況を含む情報であり、かつ
サーバ機器におけるデータ応答場所優先度判定手段は、前記データをデータ要求手段によって要求してきたクライアント機器の情報と、前記データをデータ送信手段によって送信してきたクライアント機器の情報とを照合することによって、データ送信手段によるクライアント機器のアドレスの優先度を決定し、
サーバ機器におけるデータ要求先変更手段において、生成されるデータ要求先は複数の機器に対するアドレスが優先度に基づいて含まれたURLで示される情報であり、かつ
クライアント機器におけるデータ要求再実行手段において、前記URLを事前に定められた一定の規則性に基づいて複数に分割することによって、前記データを生成したクライアント機器に対して前記データを送信するクライアント側データ要求応答手段を呼び出すことができ、かつ
クライアント機器において前記URLを分割せずにそのまま使用した場合には、キャッシュ機器におけるキャッシュ側データ要求応答手段を呼び出すことができることを特徴とする分散処理制御システム。
A plurality of client devices having a function of transmitting and receiving data through a network, a server device having a function of storing data transmitted and received from the client device and transmitting data to the client device in response to a request, and a server device A distributed processing control system in a network environment having a cache device that transmits data to a client device instead of a server device upon request,
A data transmission means for transmitting data to a server device having a specific address in a client device having a specific address;
In the server device, data receiving means for receiving data transmitted from the client device by the data transmitting means;
In the server device, the data storage means for storing the data received by the data receiving means in the server device together with the information of the client device that has transmitted the data;
In the server device, cache transfer means for transferring data stored in the data storage means to a cache device having a specific address;
In the client device, data request means for requesting data to the server device having a specific address;
In the server device, to the data requested by the data request means from the client, determines the data response places the priority of how such should be obtained from any of the data holds the Ruki Yasshu device or another client device Priority determination means;
In the server device,-out based on the priorities determined by the data response places priority determination unit, cache device generates data request destination including a plurality of addresses of the client device, the data request means of the results client device by the responses to, have a data request destination changing means for requesting to re-execute the request means again data to the client device,
In the data storage means in the server device, the information of the client device to be stored is information including the address of the client device and the network connection status, and
The data response location priority determination unit in the server device compares the information of the client device that has requested the data by the data request unit with the information of the client device that has transmitted the data by the data transmission unit, thereby Determine the priority of the address of the client device by the transmission means,
In the data request destination changing means in the server device, the generated data request destination is information indicated by a URL including addresses for a plurality of devices based on the priority, and
Client-side data for transmitting the data to the client device that generated the data by dividing the URL into a plurality of data based on a predetermined regularity in the data request re-execution unit in the client device Request response means, and
A distributed processing control system characterized in that, when the URL is used as it is without being divided in a client device, a cache-side data request response means in the cache device can be called .
サーバ機器におけるデータ応答場所優先度判定手段において、前記データをデータ要求手段によって別のクライアント機器が要求してきたデータ要求時刻と、前記データをデータ送信手段によってクライアントが送信したデータ送信時刻とを照合し、データ送信時刻とデータ要求時刻が近接している場合にはデータ要求先変更手段におけるクライアント機器のアドレスに関する優先度を高くし、かつ
データ送信時刻からデータ要求時刻までに相当の時間経過がある場合にはクライアント機器のアドレスに関する優先度を低くすることを特徴とする請求項1に記載の分散処理制御システム。
In the data response location priority determination means in the server device, the data request time when the data request means requests another data from the data request means and the data transmission time when the data is transmitted by the client by the data transmission means. When the data transmission time and the data request time are close to each other, increase the priority regarding the address of the client device in the data request destination changing means, and
2. The distributed processing control system according to claim 1, wherein when a considerable time elapses from the data transmission time to the data request time, the priority regarding the address of the client device is lowered .
クライアント機器において、データ要求先変更手段によって指定された複数のアドレスから、キャッシュ機器、クライアント機器のアドレスを取り出し、その各々の機器に対して再びデータ要求を実行するデータ要求再実行手段と
前記データを生成したクライアント機器において、データ要求再実行手段によって別のクライアント機器から前記データの取得要求が発行されたことに応答して、前記データを送信するクライアント側データ要求応答手段と
前記キャッシュ転送手段によって転送された前記データを格納しているキャッシュ機器において、前記データ要求再実行手段によってクライアント機器から前記データの取得要求が発行されたことに応答して、前記データを送信するキャッシュ側データ要求応答手段とを有することを特徴とする請求項1または2に記載の分散処理制御システム。
In the client device, a data request re-execution unit that extracts the address of the cache device and the client device from a plurality of addresses specified by the data request destination changing unit, and executes the data request again to each of the devices ,
In the client device that generated the data, a client-side data request response unit that transmits the data in response to the data request re-execution unit issuing the data acquisition request from another client device ;
In the cache device storing the data transferred by the cache transfer unit, a cache for transmitting the data in response to the data request re-execution unit issuing the data acquisition request from the client device 3. The distributed processing control system according to claim 1 , further comprising: a side data request response unit .
複数のサーバ機器及び複数のキャッシュ機器が前記ネットワークに接続されていることを特徴とする請求項1〜3の何れか1項に記載の分散処理制御システム。 The distributed processing control system according to claim 1, wherein a plurality of server devices and a plurality of cache devices are connected to the network . ネットワークを通じてデータの送受信を行う機能を有する複数のクライアント機器と、クライアント機器より送受信されたデータを格納するとともに、要求に応じてクライアント機器へデータを送信する機能を有するサーバ機器と、サーバ機器からの要求によってクライアント機器へサーバ機器の代わりにデータを送信するキャッシュ機器とを有するネットワーク環境における分散処理制御システムの制御方法であって
特定のアドレスを有するクライアント機器において、特定のアドレスを有するサーバ機器に対してデータを送信するデータ送信工程と
サーバ機器において、クライアント機器からデータ送信工程において送信されたデータを受信するデータ受信工程と
サーバ機器において、データ受信工程において受信したデータを、データを送信してきたクライアント機器の情報とともにサーバ機器に格納するデータ格納工程と
サーバ機器において、データ格納工程で格納したデータを特定のアドレスを有するキャッシュ機器に転送するキャッシュ転送工程と
クライアント機器において、特定のアドレスを有するサーバ機器に対してデータを要求するデータ要求工程と
サーバ機器において、クライアントからデータ要求工程において要求されたデータに対して、前記データを保持しているキャッシュ機器あるいは別のクライアント機器のいずれから取得するべきなのかの優先度を判定するデータ応答場所優先度判定工程と
サーバ機器において、データ応答場所優先度判定工程において判定された優先度に基づき、キャッシュ機器、クライアント機器の複数のアドレスを含むデータ要求先を生成し、その結果をクライアント機器のデータ要求工程への応答とすることによって、クライアント機器に再度データの要求工程を再実行することを要求するデータ要求先変更工程とを有し、
サーバ機器におけるデータ格納工程において、保存するクライアント機器の情報とは、クライアント機器のアドレスとネットワーク接続の状況を含む情報であり、かつ
サーバ機器におけるデータ応答場所優先度判定工程は、前記データをデータ要求工程において要求してきたクライアント機器の情報と、前記データをデータ送信工程において送信してきたクライアント機器の情報とを照合することによって、データ送信工程においてクライアント機器のアドレスの優先度を決定し、
サーバ機器におけるデータ要求先変更工程において、生成されるデータ要求先は複数の機器に対するアドレスが優先度に基づいて含まれたURLで示される情報であり、かつ
クライアント機器におけるデータ要求再実行工程において、前記URLを事前に定められた一定の規則性に基づいて複数に分割することによって、前記データを生成したクライアント機器に対して前記データを送信するクライアント側データ要求応答工程を呼び出すことができ、かつ
クライアント機器において前記URLを分割せずにそのまま使用した場合には、キャッシュ機器におけるキャッシュ側データ要求応答工程を呼び出すことができることを特徴とする分散処理制御システムの制御方法。
A plurality of client devices having a function of transmitting and receiving data through a network, a server device having a function of storing data transmitted and received from the client device and transmitting data to the client device in response to a request, and a server device A control method of a distributed processing control system in a network environment having a cache device that transmits data to a client device instead of a server device upon request ,
In a client device having a specific address, a data transmission step of transmitting data to a server device having a specific address ;
In the server device, a data reception step of receiving data transmitted in the data transmission step from the client device ;
In the server device, the data storage step of storing the data received in the data reception step in the server device together with the information of the client device that has transmitted the data ;
In the server device, a cache transfer step of transferring the data stored in the data storage step to a cache device having a specific address ;
In the client device, a data request process for requesting data to the server device having a specific address ;
In the server device, the data response location priority is used to determine whether the data requested in the data request process from the client should be acquired from the cache device holding the data or from another client device. Degree determination step ,
In the server device, a data request destination including a plurality of addresses of the cache device and the client device is generated based on the priority determined in the data response location priority determination step, and the result is returned to the data request step of the client device. And a data request destination changing process for requesting the client device to re-execute the data request process, and
In the data storage process in the server device, the client device information to be stored is information including the address of the client device and the network connection status, and
The data response location priority determination step in the server device compares the information of the client device that has requested the data in the data request step with the information of the client device that has transmitted the data in the data transmission step. Decide the priority of the address of the client device in the transmission process,
In the data request destination changing process in the server device, the generated data request destination is information indicated by a URL including addresses for a plurality of devices based on priority, and
Client-side data for transmitting the data to the client device that generated the data by dividing the URL into a plurality of data based on a predetermined regularity in the data request re-execution process in the client device The request response process can be invoked, and
A control method for a distributed processing control system , wherein when a URL is used as it is in a client device without being divided, a cache-side data request response process in the cache device can be called .
ネットワークを通じてデータの送受信を行う機能を有する複数のクライアント機器と、クライアント機器より送受信されたデータを格納するとともに、要求に応じてクライアント機器へデータを送信する機能を有するサーバ機器と、サーバ機器からの要求によってクライアント機器へサーバ機器の代わりにデータを送信するキャッシュ機器とを有するネットワーク環境における分散処理制御システムの制御方法をコンピュータに実行させるプログラムであって
特定のアドレスを有するクライアント機器において、特定のアドレスを有するサーバ機器に対してデータを送信するデータ送信工程と
サーバ機器において、クライアント機器からデータ送信工程において送信されたデータを受信するデータ受信工程と
サーバ機器において、データ受信工程において受信したデータを、データを送信してきたクライアント機器の情報とともにサーバ機器に格納するデータ格納工程と
サーバ機器において、データ格納工程で格納したデータを特定のアドレスを有するキャッシュ機器に転送するキャッシュ転送工程と
クライアント機器において、特定のアドレスを有するサーバ機器に対してデータを要求するデータ要求工程と
サーバ機器において、クライアントからデータ要求工程において要求されたデータに対して、前記データを保持しているキャッシュ機器あるいは別のクライアント機器のいずれから取得するべきなのかの優先度を判定するデータ応答場所優先度判定工程と
サーバ機器において、データ応答場所優先度判定工程において判定された優先度に基づき、キャッシュ機器、クライアント機器の複数のアドレスを含むデータ要求先を生成し、その結果をクライアント機器のデータ要求工程への応答とすることによって、クライアント機器に再度データの要求工程を再実行することを要求するデータ要求先変更工程とを有し、
サーバ機器におけるデータ格納工程において、保存するクライアント機器の情報とは、クライアント機器のアドレスとネットワーク接続の状況を含む情報であり、かつ
サーバ機器におけるデータ応答場所優先度判定工程は、前記データをデータ要求工程において要求してきたクライアント機器の情報と、前記データをデータ送信工程において送信してきたクライアント機器の情報とを照合することによって、データ送信工程においてクライアント機器のアドレスの優先度を決定し、
サーバ機器におけるデータ要求先変更工程において、生成されるデータ要求先は複数の機器に対するアドレスが優先度に基づいて含まれたURLで示される情報であり、かつ
クライアント機器におけるデータ要求再実行工程において、前記URLを事前に定められた一定の規則性に基づいて複数に分割することによって、前記データを生成したクライアント機器に対して前記データを送信するクライアント側データ要求応答工程を呼び出すことができ、かつ
クライアント機器において前記URLを分割せずにそのまま使用した場合には、キャッシュ機器におけるキャッシュ側データ要求応答工程を呼び出すことができるようにコンピュータを制御することを特徴とするプログラム
A plurality of client devices having a function of transmitting and receiving data through a network, a server device having a function of storing data transmitted and received from the client device and transmitting data to the client device in response to a request, and a server device A program that causes a computer to execute a control method of a distributed processing control system in a network environment having a cache device that transmits data to a client device instead of a server device upon request ,
In a client device having a specific address, a data transmission step of transmitting data to a server device having a specific address ;
In the server device, a data reception step of receiving data transmitted in the data transmission step from the client device ;
In the server device, the data storage step of storing the data received in the data reception step in the server device together with the information of the client device that has transmitted the data ;
In the server device, a cache transfer step of transferring the data stored in the data storage step to a cache device having a specific address ;
In the client device, a data request process for requesting data to the server device having a specific address ;
In the server device, the data response location priority is used to determine whether the data requested in the data request process from the client should be acquired from the cache device holding the data or from another client device. Degree determination step ,
In the server device, a data request destination including a plurality of addresses of the cache device and the client device is generated based on the priority determined in the data response location priority determination step, and the result is returned to the data request step of the client device. And a data request destination changing process for requesting the client device to re-execute the data request process, and
In the data storage process in the server device, the client device information to be stored is information including the address of the client device and the network connection status, and
The data response location priority determination step in the server device compares the information of the client device that has requested the data in the data request step with the information of the client device that has transmitted the data in the data transmission step. Decide the priority of the address of the client device in the transmission process,
In the data request destination changing process in the server device, the generated data request destination is information indicated by a URL including addresses for a plurality of devices based on priority, and
Client-side data for transmitting the data to the client device that generated the data by dividing the URL into a plurality of data based on a predetermined regularity in the data request re-execution process in the client device The request response process can be invoked, and
A program for controlling a computer so that a cache-side data request response process in a cache device can be called when the URL is used without being divided in a client device .
JP2011192957A 2011-09-05 2011-09-05 Distributed processing control system and control method thereof Active JP5825940B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011192957A JP5825940B2 (en) 2011-09-05 2011-09-05 Distributed processing control system and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011192957A JP5825940B2 (en) 2011-09-05 2011-09-05 Distributed processing control system and control method thereof

Publications (3)

Publication Number Publication Date
JP2013054568A JP2013054568A (en) 2013-03-21
JP2013054568A5 JP2013054568A5 (en) 2014-10-23
JP5825940B2 true JP5825940B2 (en) 2015-12-02

Family

ID=48131489

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011192957A Active JP5825940B2 (en) 2011-09-05 2011-09-05 Distributed processing control system and control method thereof

Country Status (1)

Country Link
JP (1) JP5825940B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015094962A (en) * 2013-11-08 2015-05-18 富士ゼロックス株式会社 Relay device, terminal device, and program

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001154902A (en) * 1999-11-30 2001-06-08 Nec Corp System for acquiring web object
JP2001290787A (en) * 2000-04-10 2001-10-19 Ntt Communications Kk Data distribution method and storage medium with data distribution program stored therein
JP2005208913A (en) * 2004-01-22 2005-08-04 Fuji Photo Film Co Ltd Shared album preparing system, shared album preparing method, and shared album preparing program
JP2009163630A (en) * 2008-01-09 2009-07-23 Canon Inc Information processor, information processing method, and program

Also Published As

Publication number Publication date
JP2013054568A (en) 2013-03-21

Similar Documents

Publication Publication Date Title
JP6056795B2 (en) Image processing system, gateway device, gateway device control method, gateway device control program
US20120054851A1 (en) Systems and methods for multiplexing network channels
JP6289092B2 (en) Information processing apparatus, control method thereof, and computer program
WO2023005773A1 (en) Message forwarding method and apparatus based on remote direct data storage, and network card and device
US9537930B2 (en) Information system, file server, and file server control method
US9781222B2 (en) Method, system and server device for transmitting a digital resource in a client-server communication system
Nadeem et al. An ns-3 mptcp implementation
JP2008061223A (en) Communication apparatus and communication control method
JP6521762B2 (en) HTTP server, control method therefor, image forming apparatus and program
JP5825940B2 (en) Distributed processing control system and control method thereof
JP2005322222A (en) Communication function adding method, program, storage medium and communication apparatus
EP2845090B1 (en) Transmitting a job to a destination
JP5924883B2 (en) Information processing system, information processing method, and information processing apparatus
US9509657B2 (en) Information processing apparatus, relay method, and computer-readable storage medium
US8538920B2 (en) System and method for storage service
JP2004192493A (en) Storage device controller, information processing apparatus, and program
JP2013025647A (en) Information processor, information processing method and program
JP2006018430A (en) Information processor, network system, program, data structure and storage medium
JP5806503B2 (en) COMMUNICATION SYSTEM, COMMUNICATION DEVICE, CONTROL METHOD THEREOF, AND PROGRAM
JP7363486B2 (en) Network system, communication control device, and communication control method
US20210168220A1 (en) Hybrid proxying with user space hold
JP6669382B2 (en) Device device, information processing method and program
US20240163689A1 (en) Management orchestrator for a content-centric network in a 6g network
JP6012409B2 (en) Image management apparatus, image management method, and program
Habets Everything You Ever Wanted to Know About Network Streams

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140905

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140905

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150616

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150617

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150806

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: 20150915

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151013

R151 Written notification of patent or utility model registration

Ref document number: 5825940

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151