(57)【要約】【課題】ロット生産で製造される複数のコンピュータに対するプレインストールデータのデータ転送時間を短縮し、そのロット生産の効率向上を図る。【解決手段】データ転送元コンピュータ１は、転送速度決定処理部１１の処理により、転送先のコンピュータ２のそれぞれに対する転送速度を、そのコンピュータ２の最大転送速度以下にし、かつ、コンピュータ２のそれぞれに対する転送速度の総和をデータ転送元コンピュータ１のデータ転送の最大転送速度以下にするという制約条件の下で、それぞれのコンピュータ２へのデータ転送の転送時間の最大値ができるだけ小さくなるように、それぞれのコンピュータ２に対する転送速度を決定する。そして、転送データ送信処理部１２の処理により、転送データ記憶部１５に記憶されている転送データをそれぞれのコンピュータ２に対し決定された転送速度で同時並列に転送する。【選択図】図１
2010130059.tif 000002
【特許請求の範囲】
【請求項１】
記憶装置に複数の転送データを記憶したデータ転送元コンピュータが、複数の転送先コンピュータのそれぞれから求められる転送データを、その複数の転送先コンピュータへ同時並列に転送するデータ転送方法であって、
前記データ転送元コンピュータは、
前記複数の転送先コンピュータのそれぞれから、転送データを指定する転送データコードと、前記転送先コンピュータのデータ転送の最大転送速度と、を取得し、
前記記憶装置を参照して、前記複数の転送先コンピュータのそれぞれについて、前記取得した転送データコードによって指定された転送データの転送データ量を求め、
前記複数の転送先コンピュータのそれぞれに対する転送速度を、前記複数の転送先コンピュータのそれぞれに対して取得された最大転送速度以下にし、かつ、前記複数の転送先コンピュータのそれぞれに対する転送速度の総和を前記データ転送元コンピュータのデータ転送の最大転送速度以下にするという制約条件の下で、前記複数の転送先コンピュータへ前記転送データをそれぞれ転送するときのデータ転送時間の最大値が小さくなるように、前記複数の転送先コンピュータのそれぞれに対する転送速度を決定し、
前記複数の転送先コンピュータのそれぞれに対して決定した転送速度で、前記複数の転送先コンピュータのそれぞれへ前記指定された転送データを、同時並列にデータ転送すること
を特徴とするデータ転送方法。
【請求項２】
複数の転送データを記憶装置に記憶し、複数の転送先コンピュータのそれぞれから求められる転送データを、その複数の転送先コンピュータへ同時並列に転送するデータ転送元コンピュータであって、
前記データ転送元コンピュータは、
前記複数の転送先コンピュータのそれぞれから、転送データを指定する転送データコードと、前記転送先コンピュータのデータ転送の最大転送速度と、を取得し、
前記記憶装置を参照して、前記複数の転送先コンピュータのそれぞれについて、前記取得した転送データコードによって指定された転送データの転送データ量を求め、
前記複数の転送先コンピュータのそれぞれに対する転送速度を、前記複数の転送先コンピュータのそれぞれに対して取得された最大転送速度以下にし、かつ、前記複数の転送先コンピュータのそれぞれに対する転送速度の総和を前記データ転送元コンピュータのデータ転送の最大転送速度以下にするという制約条件の下で、前記複数の転送先コンピュータへ前記転送データをそれぞれ転送するときのデータ転送時間の最大値が小さくなるように、前記複数の転送先コンピュータのそれぞれに対する転送速度を決定し、
前記複数の転送先コンピュータのそれぞれに対して決定した転送速度で、前記複数の転送先コンピュータのそれぞれへ前記指定された転送データを、同時並列にデータ転送すること
を特徴とするデータ転送元コンピュータ。
【請求項３】
複数の転送データを記憶装置に記憶し、３台の転送先コンピュータのそれぞれから求められる転送データを、その３台の転送先コンピュータへ同時並列に転送するデータ転送元コンピュータであって、
前記データ転送元コンピュータは、
前記３台の転送先コンピュータのそれぞれについての、前記転送先コンピュータへ転送する転送データを指定する転送データコードと、前記データコードで指定される転送データのデータサイズと、前記転送先コンピュータが可能な最大転送速度と、前記データサイズの転送データを前記最大転送速度で転送したときの転送時間である理想転送時間と、前記転送データを転送するときの決定転送速度と、前記データサイズの転送データを前記決定転送速度で転送したときの転送時間である決定転送時間と、をそれぞれ格納する欄を有するテーブルを備え、
前記３台の転送先コンピュータのそれぞれから、前記転送データコードと前記最大転送速度とを取得して、前記テーブルの対応する欄に格納する第１のステップと、
前記３台の転送先コンピュータのそれぞれについて、前記記憶装置を参照して、前記転送データコードによって指定される転送データのデータサイズを取得して、前記テーブルの対応する欄に格納する第２のステップと、
前記３台の転送先コンピュータのそれぞれについて、前記データサイズと前記最大転送速度とから前記理想転送時間を算出して、前記テーブルの対応する欄に格納する第３のステップと、
前記３台の転送先コンピュータのうち、その理想転送時間が最大の転送先コンピュータを第１の転送先コンピュータとして、前記第１の転送先コンピュータの最大転送速度および理想転送時間を、それぞれ、前記第１の転送先コンピュータの決定転送速度および決定転送時間とし、前記テーブルの対応する欄に格納する第４のステップと、
前記データ転送元コンピュータの最大転送速度から前記第１の転送先コンピュータの決定転送速度を差引いた値を残余転送速度として、前記記憶装置に記憶する第５のステップと、
前記３台の転送先コンピュータから前記第１の転送先コンピュータを除いた２台の転送先コンピュータのうち、その理想転送時間が大きい転送先コンピュータを第２の転送先コンピュータとして、前記第２の転送先コンピュータの最大転送速度と、前記残余転送速度から微小量を差引いた値と、のうち小さいほうを、前記第２の転送先コンピュータの決定転送速度に設定して、前記テーブルの対応する欄に格納し、さらに、その決定転送速度と前記第２の転送先コンピュータへ転送される転送データのデータサイズとから前記第２の転送先コンピュータの決定転送時間を算出して、前記テーブルの対応する欄に格納する第６のステップと、
前記３台の転送先コンピュータから前記第１の転送先コンピュータおよび前記第２の転送先コンピュータを除いた転送先コンピュータを第３の転送先コンピュータとし、前記残余転送速度から前記第２の転送先コンピュータの決定転送速度を差引いた値を前記第３の転送先コンピュータの決定転送速度に設定して、前記テーブルの対応する欄に格納し、さらに、その決定転送速度と前記第３の転送先コンピュータへ転送される転送データのデータサイズとから前記第３の転送先コンピュータの決定転送時間を算出して、前記テーブルの対応する欄に格納する第７のステップと、
前記第３の転送先コンピュータの決定転送時間と前記第１の転送先コンピュータの決定転送時間とを比較する第８のステップと、
前記第３の転送先コンピュータの決定転送時間が前記第１の転送先コンピュータの決定転送時間より大きかった場合に、前記第３の転送先コンピュータの決定転送時間を前記第１の転送先コンピュータの決定転送時間と同じ値に設定して、前記テーブルの対応する欄に格納し、さらに、その決定転送時間と前記第３の転送先コンピュータへ転送される転送データのデータサイズとから前記第３の転送先コンピュータの決定転送速度を算出して、前記テーブルの対応する欄に格納する第９のステップと、
前記残余転送速度から前記第３の転送先コンピュータの決定転送速度を差引いた値を前記第２の転送先コンピュータの決定転送速度に設定して、前記テーブルの対応する欄に格納し、さらに、その決定転送速度と前記第２の転送先コンピュータへ転送される転送データのデータサイズとから前記第２の転送先コンピュータの決定転送時間を算出して、前記テーブルの対応する欄に格納する第１０のステップと、
前記第２の転送先コンピュータの決定転送時間と前記第１の転送先コンピュータの決定転送時間とを比較する第１１のステップと、
前記第２の転送先コンピュータの決定転送時間が前記第１の転送先コンピュータの決定転送時間より大きかった場合に、前記第１の転送先コンピュータの決定転送速度から所定の値を減じ、その減じた値を、前記テーブルの対応する欄に格納し、さらに、その決定転送速度と前記第１の転送先コンピュータへ転送される転送データのデータサイズとから前記第１の転送先コンピュータの決定転送時間を算出して、前記テーブルの対応する欄に格納した後、前記第９のステップへ戻る第１２のステップと、
前記第８のステップで前記第３の転送先コンピュータの決定転送時間が前記第１の転送先コンピュータの決定転送時間以下であった場合、または、前記第１１のステップで前記第２の転送先コンピュータの決定転送時間が前記第１の転送先コンピュータの決定転送時間以下であった場合には、前記テーブルから前記第１、第２および第３転送先コンピュータの決定転送速度を読み出し、その読み出した前記第１、第２および第３転送先コンピュータの決定転送速度に従って、前記第１、第２および第３転送先コンピュータへのデータ転送を、同時並列に行うステップと、
を実行すること
を特徴とするデータ転送元コンピュータ。
【請求項４】
記憶装置に複数の転送データを記憶し、３台の転送先コンピュータのそれぞれから求められる転送データを、その３台の転送先コンピュータへ同時並列に転送するデータ転送元コンピュータのプログラムであって、
前記転送元コンピュータは、
前記３台の転送先コンピュータのそれぞれについての、前記転送先コンピュータへ転送する転送データを指定する転送データコードと、前記データコードで指定される転送データのデータサイズと、前記転送先コンピュータが可能な最大転送速度と、前記データサイズの転送データを前記最大転送速度で転送したときの転送時間である理想転送時間と、前記転送データを転送するときの決定転送速度と、前記データサイズの転送データを前記決定転送速度で転送したときの転送時間である決定転送時間と、をそれぞれ格納する欄を有するテーブルを備え、
前記転送先コンピュータに、
前記３台の転送先コンピュータのそれぞれから、前記転送データコードと前記最大転送速度とを取得して、前記テーブルの対応する欄に格納する第１のステップと、
前記３台の転送先コンピュータのそれぞれについて、前記記憶装置を参照して、前記転送データコードによって指定される転送データのデータサイズを取得して、前記テーブルの対応する欄に格納する第２のステップと、
前記３台の転送先コンピュータのそれぞれについて、前記データサイズと前記最大転送速度とから前記理想転送時間を算出して、前記テーブルの対応する欄に格納する第３のステップと、
前記３台の転送先コンピュータのうち、その理想転送時間が最大の転送先コンピュータを第１の転送先コンピュータとして、前記第１の転送先コンピュータの最大転送速度および理想転送時間を、それぞれ、前記第１の転送先コンピュータの決定転送速度および決定転送時間とし、前記テーブルの対応する欄に格納する第４のステップと、
前記データ転送元コンピュータの最大転送速度から前記第１の転送先コンピュータの決定転送速度を差引いた値を残余転送速度として、前記記憶装置に記憶する第５のステップと、
前記３台の転送先コンピュータから前記第１の転送先コンピュータを除いた２台の転送先コンピュータのうち、その理想転送時間が大きい転送先コンピュータを第２の転送先コンピュータとして、前記第２の転送先コンピュータの最大転送速度と、前記残余転送速度から微小量を差引いた値と、のうち小さいほうを、前記第２の転送先コンピュータの決定転送速度に設定して、前記テーブルの対応する欄に格納し、さらに、その決定転送速度と前記第２の転送先コンピュータへ転送される転送データのデータサイズとから前記第２の転送先コンピュータの決定転送時間を算出して、前記テーブルの対応する欄に格納する第６のステップと、
前記３台の転送先コンピュータから前記第１の転送先コンピュータおよび前記第２の転送先コンピュータを除いた転送先コンピュータを第３の転送先コンピュータとし、前記残余転送速度から前記第２の転送先コンピュータの決定転送速度を差引いた値を前記第３の転送先コンピュータの決定転送速度に設定して、前記テーブルの対応する欄に格納し、さらに、その決定転送速度と前記第３の転送先コンピュータへ転送される転送データのデータサイズとから前記第３の転送先コンピュータの決定転送時間を算出して、前記テーブルの対応する欄に格納する第７のステップと、
前記第３の転送先コンピュータの決定転送時間と前記第１の転送先コンピュータの決定転送時間とを比較する第８のステップと、
前記第３の転送先コンピュータの決定転送時間が前記第１の転送先コンピュータの決定転送時間より大きかった場合に、前記第３の転送先コンピュータの決定転送時間を前記第１の転送先コンピュータの決定転送時間と同じ値に設定して、前記テーブルの対応する欄に格納し、さらに、その決定転送時間と前記第３の転送先コンピュータへ転送される転送データのデータサイズとから前記第３の転送先コンピュータの決定転送速度を算出して、前記テーブルの対応する欄に格納する第９のステップと、
前記残余転送速度から前記第３の転送先コンピュータの決定転送速度を差引いた値を前記第２の転送先コンピュータの決定転送速度に設定して、前記テーブルの対応する欄に格納し、さらに、その決定転送速度と前記第２の転送先コンピュータへ転送される転送データのデータサイズとから前記第２の転送先コンピュータの決定転送時間を算出して、前記テーブルの対応する欄に格納する第１０のステップと、
前記第２の転送先コンピュータの決定転送時間と前記第１の転送先コンピュータの決定転送時間とを比較する第１１のステップと、
前記第２の転送先コンピュータの決定転送時間が前記第１の転送先コンピュータの決定転送時間より大きかった場合に、前記第１の転送先コンピュータの決定転送速度から所定の値を減じ、その減じた値を、前記テーブルの対応する欄に格納し、さらに、その決定転送速度と前記第１の転送先コンピュータへ転送される転送データのデータサイズとから前記第１の転送先コンピュータの決定転送時間を算出して、前記テーブルの対応する欄に格納した後、前記第９のステップへ戻る第１２のステップと、
前記第８のステップで前記第３の転送先コンピュータの決定転送時間が前記第１の転送先コンピュータの決定転送時間以下であった場合、または、前記第１１のステップで前記第２の転送先コンピュータの決定転送時間が前記第１の転送先コンピュータの決定転送時間以下であった場合には、前記テーブルから前記第１、第２および第３転送先コンピュータの決定転送速度を読み出し、その読み出した前記第１、第２および第３転送先コンピュータの決定転送速度に従って、前記第１、第２および第３転送先コンピュータへのデータ転送を、同時並列に行うステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の転送データを複数のコンピュータへ同時並列に転送するデータ転送方法、データ転送元コンピュータおよびプログラムに関する。
【背景技術】
【０００２】
近年、コンピュータのＯＳ（Operating System）は、その種類やバーションが増加したため、コンピュータ生産時におけるＯＳのプレインストール時間がその生産効率向上の阻害要因になってきた。
【０００３】
従来、コンピュータのロット生産方式では、ＯＳなどのプレインストールデータは、転送元のコンピュータから複数の転送先のコンピュータへ同時並列に転送される。従って、同じデータサイズのＯＳを同じ転送能力を有する複数のコンピュータにプレインストールする場合には、そのプレインストール時間はすべて同じであるため、生産効率上の問題は生じなかった。
【０００４】
近年においては、製造されるコンピュータの多品種少量生産化が進行し、それに伴い、そのコンピュータにも様々な種類のＯＳがプレインストールされるようになってきた。また、同じ種類のＯＳであっても、様々なバージョンが存在する。さらには、製造されるコンピュータの性能もそれぞれ異なる場合が多い。
【０００５】
そのため、ロット生産方式では、それぞれ異なるＯＳを、転送能力が異なる複数のコンピュータにプレインストールすることになり、その結果、それぞれのプレインストール時間も異なることになる。その場合、ロット生産における複数のコンピュータに対するプレインストール時間は、プレインストール時間が最大になるコンピュータのプレインストール時間によって律速される。すなわち、コンピュータのロット生産における生産効率が、プレインストール時間が最大になるコンピュータのプレインストール時間によって制約される。
【０００６】
特許文献１には、ソフトウエアを配布するコンピュータまたは通信ネットワークの転送能力や、複数の配布先コンピュータに対してインストールするソフトウエアの容量（つまり、データ転送量）、インストールする時間帯、優先順位、などに基づき、ソフトウエアを配布するスケジュールを決定し、そのスケジュールに従ってソフトウエアを配布するソフトウエア配布方法が開示されている。
【特許文献１】特開２００１−１６６９４３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に開示されているソフトウエア配布方法は、すでにクライアントに利用されているコンピュータにソフトウエアを配布する方法であって、ロット生産方式で製造途上にあるコンピュータに対するソフトウエアの配布方法ではない。従って、そのソフトウエア配布方法では、ロット生産方式で製造途上にある複数のコンピュータに対し、ＯＳなどをプレインストールするとき、そのプレインストールの効率を向上させることはできない。
【０００８】
本発明の目的は、ロット生産で製造される複数のコンピュータに対してそれぞれ異なるプレインストールデータを転送するデータ転送時間を短縮し、そのロット生産の効率向上を図ることが可能なデータ転送方法、データ転送元コンピュータおよびプログラムを提供することにある。
【課題を解決するための手段】
【０００９】
本発明は、記憶装置に複数の転送データを記憶したデータ転送元コンピュータが、複数の転送先コンピュータのそれぞれから求められる転送データを、その複数の転送先コンピュータへ同時並列に転送するデータ転送方法であって、
前記データ転送元コンピュータが、
（１）前記複数の転送先コンピュータのそれぞれから、転送データを指定する転送データコードと、その転送先コンピュータのデータ転送の最大転送速度と、を取得し、
（２）前記複数の転送先コンピュータのそれぞれについて、前記取得した転送データコードによって指定された転送データの転送データ量を求め、
（３）前記複数の転送先コンピュータのそれぞれに対する転送速度を、前記複数の転送先コンピュータのそれぞれに対して取得された最大転送速度以下にし、かつ、前記複数の転送先コンピュータのそれぞれに対する転送速度の総和を前記データ転送元コンピュータのデータ転送の最大転送速度以下にするという制約条件の下で、前記複数の転送先コンピュータへ前記転送データをそれぞれ転送するときのデータ転送時間の最大値が小さくなるように、前記複数の転送先コンピュータのそれぞれに対する転送速度を決定し、
（４）前記複数の転送先コンピュータのそれぞれに対して決定した転送速度で、前記複数の転送先コンピュータのそれぞれへ前記指定された転送データを、同時並列にデータ転送する
ことを特徴とする。
【００１０】
本発明においては、データ転送元コンピュータが前記（３）を実行することによって、複数の転送先コンピュータに対する転送データの転送時間の最大値をできるだけ小さくすることができる。従って、プレインストール時間を律速する転送データの転送時間が短縮されるので、コンピュータのロット生産の効率が向上する。
【発明の効果】
【００１１】
本発明によれば、ロット生産で製造される複数のコンピュータに対するプレインストールデータのデータ転送時間を短縮し、そのロット生産の効率向上を図ることができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施形態について、図面を参照して詳細に説明する。
【００１３】
図１は、本発明の実施形態に係るデータ転送方法を適用したデータ転送元コンピュータおよびデータ転送先コンピュータの構成の例を示した図である。
【００１４】
図１に示すように、データ転送元コンピュータ１は、例えば、工場内に敷設されたＬＡＮ（Local Area Network）などの通信ネットワーク４を介して、データ転送先となる複数の（図１では３台の）コンピュータ２に接続されている。また、そのそれぞれのコンピュータ２には、外付けのＤＶＤ（Digital Versatile Disk）装置などからなる外部データ入力装置３が接続されている。
【００１５】
外部データ入力装置３には、コンピュータ２を起動して、コンピュータ２の最低限必要な機能を実現するためのプログラムが保持されており、さらに、そのコンピュータ２へ転送する転送データ（プレインストールデータなど）を指定するための転送データコードと、そのコンピュータの転送能力を表した最大転送速度と、が記録されている。
【００１６】
図１において、データ転送先のコンピュータ２は、性能データ送信処理部２１、転送データ受信処理部２２、転送データ記憶部２３などを含んで構成される。
【００１７】
性能データ送信処理部２１は、外部データ入力装置３から転送データコードおよび最大転送速度のデータを取得するとともに、その取得した転送データコードおよび最大転送速度のデータをデータ転送元コンピュータ１へ送信する。
【００１８】
転送データ受信処理部２２は、データ転送元コンピュータ１へ送信した転送データコードに応じて、データ転送元コンピュータ１から転送されるプレインストールデータなどの転送データを受信し、受信した転送データを転送データ記憶部２３に格納する。ここで、転送データ記憶部２３は、ハードディスク装置などの記憶装置によって構成される。
【００１９】
なお、コンピュータ２は、図示しないＣＰＵ（Central Processing Unit）と、半導体メモリやハードディスク装置などからなる記憶装置と、を含んで構成される。そして、性能データ送信処理部２１、転送データ受信処理部２２などの機能は、前記ＣＰＵが、外部データ入力装置３から前記記憶装置にロードしたプログラムを実行することによって実現される。
【００２０】
また、図１において、データ転送元コンピュータ１は、転送速度決定処理部１１、転送データ送信処理部１２、接続受付処理部１３、転送速度管理テーブル１４、転送データ記憶部１５などを含んで構成される。
【００２１】
接続受付処理部１３は、通信ネットワーク４を介して、転送先のコンピュータ２が接続されたことを検出して、そのコンピュータ２から送信される転送データコードおよび最大転送速度のデータを取得し、その取得した転送データコードおよび最大転送速度のデータを転送速度管理テーブル１４の所定の欄に格納する。なお、転送速度管理テーブル１４の構成については、別途、図２を参照して説明する。
【００２２】
転送速度決定処理部１１は、転送先の各コンピュータ２へ転送する転送データのデータサイズ、各コンピュータ２の最大転送速度、データ転送元コンピュータ１の最大転送速度を考慮して、各コンピュータ２へ実際に転送データを転送するときの各コンピュータ２の転送速度を決定する。その決定に際しては、各コンピュータ２の転送速度の最大値ができるだけ小さくなるようにする。転送速度決定処理部１１の詳細な処理については、別途、図４を参照して説明する。
【００２３】
転送データ記憶部１５は、ハードディスク装置などの記憶装置によって構成され、複数種類の転送データをあらかじめ記憶している。なお、ここでいう複数種類の転送データとは、本実施形態の場合、コンピュータ２にプレインストールされる各種ＯＳの各種バージョンのプログラムを構成するデータである。そして、その複数種類の転送データのそれぞれには、その転送データを一意に識別するための転送データコードが付されている。
【００２４】
転送データ送信処理部１２は、接続受付処理部１３によって各コンピュータ２から取得された転送データコードによって指定される転送データを、転送データ記憶部１５から読み出し、その読み出した転送データを、転送速度決定処理部１１によって決定された各コンピュータ２の転送速度に従って、各コンピュータ２へ同時並列に転送する。
【００２５】
なお、データ転送元コンピュータ１は、図示しないＣＰＵと、半導体メモリやハードディスク装置などからなる記憶装置と、を含んで構成される。そして、転送速度決定処理部１１、転送データ送信処理部１２、接続受付処理部１３などの機能は、前記ＣＰＵが、前記記憶装置にあらかじめ格納されている所定のプログラムを実行することによって実現される。
【００２６】
図２は、本発明の実施形態に係る転送速度管理テーブル１４の構成の例を示した図である。図２に示すように、転送速度管理テーブル１４は、各転送先のコンピュータ２ごとに転送データコード（ｃｉ）、転送データサイズ（ｄｉ）、最大転送速度（ｓｉ）、理想転送時間（ｔｉ）、決定転送速度（Ｓｉ）、決定転送時間（Ｔｉ）などのデータを格納する欄を備えて構成される。
【００２７】
ここで、転送データコード（ｃｉ）および最大転送速度（ｓｉ）は、各コンピュータ２から送信されるデータであり、転送データサイズ（ｄｉ）は、転送データコード（ｃｉ）に基づき、転送データ記憶部１５を参照して得られるデータである。また、理想転送時間（ｔｉ）は、転送データサイズ（ｄｉ）の転送データを最大転送速度（ｓｉ）で転送したときの転送時間で、式（ｔｉ＝ｄｉ／ｓｉ）によって算出される。
【００２８】
また、決定転送速度（Ｓｉ）および決定転送時間（Ｔｉ）の各欄には、転送速度決定処理部１１によって決定される各コンピュータへの転送速度および転送時間が格納される。なお、その転送速度および転送時間を決定する処理の途上においては、この決定転送速度（Ｓｉ）および決定転送時間（Ｔｉ）の各欄には、計算途上の仮の決定転送速度および仮の決定転送時間が格納される。
【００２９】
図３は、本発明の実施形態に係るデータ転送元コンピュータ１が複数のデータ転送先のコンピュータ２へデータ転送を行う場合に実行する処理の流れの例を示した図である。
【００３０】
データ転送元コンピュータ１の図示しないＣＰＵは（以下、単に、「データ転送元コンピュータ１は」という）は、まず、データ転送先の各コンピュータ２（ｉ）から、転送データを指定する転送データコード（ｃｉ）と、コンピュータ２（ｉ）のデータ転送の最大転送速度（ｓｉ）と、を取得し（ステップＳ０１）、その取得した転送データコード（ｃｉ）と最大転送速度（ｓｉ）とを、転送速度管理テーブル１４の対応する各欄に格納する。なお、図１，２において、ｉ＝Ａ，Ｂ，Ｃである。
【００３１】
次に、データ転送元コンピュータ１は、転送データ記憶部１５を参照して、データ転送先の各コンピュータ２（ｉ）について、転送データコード（ｃｉ）によって指定された転送データの転送データサイズ（ｄｉ）を取得し（ステップＳ０２）、その取得した転送データサイズ（ｄｉ）を転送速度管理テーブル１４の対応する欄に格納する。
【００３２】
次に、データ転送元コンピュータ１は、データ転送先の各コンピュータ２（ｉ）の決定転送速度（Ｓｉ）を、次の２つの制約条件の下で各コンピュータ２（ｉ）の決定転送時間（Ｔｉ）の最大値ができるだけ小さくなるように決定する（ステップＳ０３）。
制約条件１：  各コンピュータ２（ｉ）の決定転送速度（Ｓｉ）は、各コンピュータ２（ｉ）の最大転送速度（ｓｉ）以下、すなわち、Ｓｉ≦ｓｉ、
制約条件２：  各コンピュータ２（ｉ）の決定転送速度（Ｓｉ）の総和は、データ転送元コンピュータ１の最大転送速度（ＳＳ）以下、すなわち、ΣＳｉ≦ＳＳ。
【００３３】
なお、ステップＳ０３においては、適宜、決定転送速度（Ｓｉ）が決定され、そのときの決定転送時間（Ｔｉ）が算出される。そして、その決定または算出された決定転送速度（Ｓｉ）および決定転送時間（Ｔｉ）は、転送速度管理テーブル１４の対応する各欄に格納される。
【００３４】
本明細書では、以下、このステップＳ０３に対応する処理を「転送速度決定処理」と呼ぶ。なお、この転送速度決定処理の具体的な処理フローの例については、図５を参照して、別途、詳しく説明する。
【００３５】
次に、データ転送元コンピュータ１は、ステップＳ０３で決定したデータ転送先の各コンピュータ２（ｉ）の決定転送速度（Ｓｉ）に従って、転送データコード（ｃｉ）により指定される転送データを転送データ記憶部１５から読み出して、各コンピュータ２（ｉ）へ同時並列に転送する（ステップＳ０４）。
【００３６】
なお、ここでいう同時並列のデータ転送とは、データ転送元コンピュータ１が、複数の転送先のコンピュータ２（ｉ）に対するデータ転送を同時に開始し、かつ、並列に転送することをいう。このような同時並列のデータ転送は、ロット生産方式でプレインストールデータなどを転送する場合に、しばしば用いられる転送方法である。
【００３７】
以上、図３に示したデータ転送元コンピュータ１の処理において、ステップＳ０３の処理（転送速度決定処理）は、各コンピュータ２（ｉ）の決定転送時間（Ｔｉ）についての最大値を最小化する処理である。すなわち、ステップＳ０３の転送速度決定処理によって、各コンピュータ２（ｉ）の決定転送時間（Ｔｉ）の中で最大となる時間、つまり、全体としてのデータ転送時間を律速する値が短縮されることになる。
【００３８】
従って、データ転送元コンピュータ１は、各コンピュータ２（ｉ）に対して、あらかじめ設定された転送データを、同時並列にデータ転送するときの全体としての転送時間を短縮することができる。なお、本明細書では、「全体としての転送時間」というときは、各コンピュータ２（ｉ）の決定転送時間（Ｔｉ）の最大値を意味するものとする。
【００３９】
図４は、本発明の実施形態に係るデータ転送元コンピュータ１によって行われるデータ転送の効果を示した図であり、（ａ）は、転送速度決定処理を適用しない場合の例、（ｂ）は、転送速度決定処理を適用した場合の例である。
【００４０】
図４の例では、最大転送速度が９００Ｍｂｐｓのデータ転送元のコンピュータから、最大転送速度が３００Ｍｂｐｓのコンピュータ（Ａ）に１ＧＢの転送データを転送し、同じく最大転送速度が３００Ｍｂｐｓのコンピュータ（Ｂ）に１ＧＢの転送データを転送し、さらに、最大転送速度が５００ｂｐｓのコンピュータ（Ｃ）に４ＧＢの転送データを転送する場合を考える。
【００４１】
ここで、Ｍｂｐｓは、メガビット／秒の略であり、１ＧＢ（ギガバイト）は、１０００ＭＢ（メガバイト）＝８×１０００Ｍｂ（メガビット）であるとする。
【００４２】
次に、３台のコンピュータ（Ａ）、（Ｂ）、（Ｃ）の間で全体としてのデータ転送時間を最小化する転送速度決定処理をしなかった場合には、図４（ａ）に示すように、データ転送元コンピュータ１は、例えば、３台のコンピュータ（Ａ）、（Ｂ）、（Ｃ）のいずれにも３００Ｍｂｐｓの転送速度を割当てて、データ転送を開始する。そして、コンピュータ（Ａ）、（Ｂ）へのデータ転送が終了した時点で、コンピュータ（Ｃ）に対して最大転送速度の５００Ｍｂｐｓを割当て、コンピュータ（Ｃ）へのデータ転送を行う。この場合には、全体としての転送時間は、７５秒となる。
【００４３】
一方、全体としてのデータ転送時間を最小化する転送速度決定処理をした場合には、その転送速度決定処理によって得られた決定転送速度（Ｓｉ）を用い、コンピュータ（Ａ）に２７５Ｍｂｐｓを割当て、コンピュータ（Ｂ）に１２５Ｍｂｐｓを割当て、コンピュータ（Ｃ）に５００Ｍｂｐｓを割当てる。この場合には、全体としての転送時間は、６４秒となる。すなわち、転送速度決定処理をしなかった場合に比べ、全体としての転送時間は、１１秒短縮されたことになる。
【００４４】
このように、全体としての転送時間の短縮が可能なのは、転送速度決定処理によって、データ転送元コンピュータ１のデータ転送の最大転送速度（ＳＳ）の帯域を、転送先のコンピュータ２に効率よく割り振ることができるからである。
【００４５】
図５は、本発明の実施形態に係る転送速度決定処理の詳細な処理フローの例を示した図である。なお、この処理フローの場合には、転送先のコンピュータ２の台数は、３台に限定される。
【００４６】
図５において、データ転送元コンピュータ１は、まず、転送速度管理テーブル１４を参照して、各コンピュータ（ｉ）のデータサイズ（ｄｉ）と最大転送速度（ｓｉ）とを取得し、データサイズがｄｉの転送データを、各コンピュータ（ｉ）の最大転送速度（ｓｉ）で、各コンピュータ（ｉ）へ転送したときの理想転送時間（ｔｉ）を、式  ｔｉ＝ｄｉ／ｓｉ  により算出する（ステップＳ１１）。ここで、ｉ＝Ａ，Ｂ，Ｃである。
【００４７】
次に、データ転送元コンピュータ１は、各コンピュータ（ｉ）の理想転送時間（ｔｉ）の最大値ｔmax＝ｍａｘ｛ｔ１，ｔ２，ｔ３ ｝を与えるコンピュータ（ｊ）の最大転送速度（ｓｊ）、理想転送時間（ｔｊ）を、それぞれ、そのコンピュータ（ｊ）の決定転送速度（Ｓｊ）、決定転送時間（Ｔｊ）に設定する。すなわち、Ｓｊ＝ｓｊ、Ｔｊ＝ｔｊとする（ステップＳ１２）。
【００４８】
ここで、ｍａｘは、複数の数値の中から最大値を求める関数である。なお、最大値となる数値が複数あった場合には、そのいずれか１つがとられる。
【００４９】
また、ステップＳ１２で求められるコンピュータ（ｊ）の決定転送時間（Ｔｊ）は、コンピュータ（ｊ）の理想転送時間（ｔｊ）であるから、全体としての転送時間をこの理想転送時間（ｔｊ）より小さくすることはできない。
【００５０】
次に、データ転送元コンピュータ１は、自らにあらかじめ設定されている最大転送速度（ＳＳ）からコンピュータ（ｊ）の決定転送速度（Ｓｊ）を差引いて得られる残余転送速度（Ｓｒ）を、式  Ｓｒ＝ＳＳ−Ｓｊ  により算出する（ステップＳ１３）。
【００５１】
次に、データ転送元コンピュータ１は、決定転送速度（ｓi）が未決定、つまり、コンピュータ｛Ａ，Ｂ，Ｃ｝からコンピュータ（ｊ）を除外したコンピュータ｛ｋ１，ｋ２｝のうち、その最大転送速度（ｓｋ１）が大きいほうのコンピュータ（ｋ１）の決定転送速度（Ｓｋ１）の値として、そのコンピュータ（ｋ１）の最大転送速度（ｓｋ１）と、残余転送速度（Ｓｒ）から微小量（δ）を差引いた値（Ｓｒ−δ）と、のうち小さいほうの値を設定する、すなわち、Ｓｋ１＝ｍｉｎ｛ｓｋ１，Ｓｒ−δ｝とする（ステップＳ１４）。ここで、例えば、δ＝１０である。
【００５２】
ここで、ｍｉｎは、複数の数値の中から最小値を求める関数である。なお、最小値となる数値が複数あった場合には、そのいずれか１つがとられる。
【００５３】
次に、データ転送元コンピュータ１は、コンピュータ（ｋ１）の決定転送時間（Ｔｋ１）を、式  Ｔｋ１＝ｄｋ１／Ｓｋ１  により算出する（ステップＳ１５）。
【００５４】
次に、データ転送元コンピュータ１は、決定転送速度が未決定、すなわち、コンピュータ（ｊ）とコンピュータ（ｋ１）を除いて得られたコンピュータ（ｋ２）の決定転送速度（Ｓｋ２）を、式  Ｓｋ２＝Ｓｒ−Ｓｋ１  により算出し、さらに、決定転送時間（ＴＫ２）を、式  Ｔｋ２＝ｄｋ２／Ｓｋ２  により算出する（ステップＳ１６）。
【００５５】
次に、データ転送元コンピュータ１は、コンピュータ（ｋ２）の転送時間（Ｔｋ２）が、コンピュータ（ｊ）の決定転送時間（Ｔｊ）より大きいか否かを判定する（ステップＳ１７）。
【００５６】
そして、その判定の結果、コンピュータ（ｋ２）の転送時間（Ｔｋ２）が、コンピュータ（ｊ）の決定転送時間（Ｔｊ）以下であった場合には（ステップＳ１７でＮｏ）、コンピュータ（ｋ１）の転送時間（Ｔｋ１）およびコンピュータ（ｋ２）の転送時間（Ｔｋ２）のいずれもが、コンピュータ（ｊ）の決定転送時間（Ｔｊ）以下になるので、そのそれぞれのコンピュータ（ｊ）、（ｋ１）、（ｋ２）の決定転送速度（Ｓｊ）、（Ｓｋ１）、（Ｓｋ２）は、確定されたことになり、データ転送元コンピュータ１は、転送速度決定処理を終了する。
【００５７】
一方、コンピュータ（ｋ２）の転送時間（Ｔｋ２）が、コンピュータ（ｊ）の決定転送時間（Ｔｊ）より大きかった場合には（ステップＳ１７でＹｅｓ）、データ転送元コンピュータ１は、コンピュータ（ｋ２）の転送時間（Ｔｋ２）としてコンピュータ（ｊ）の転送時間（Ｔｊ）を設定し（すなわち、Ｔｋ２＝Ｔｊ）、さらに、コンピュータ（ｋ２）の決定転送速度（Ｓｋ２）を、Ｓｋ２＝ｄｋ２／Ｔｋ２により算出する（ステップＳ１８）。
【００５８】
次に、データ転送元コンピュータ１は、残余転送速度（Ｓｒ）からコンピュータ（ｋ２）の決定転送速度（Ｓｋ２）を差引いた値を、コンピュータ（ｋ１）の決定転送速度（Ｓｋ１）として設定、すなわち、Ｓｋ１＝Ｓｒ−Ｓｋ２とし、さらに、決定転送時間（Ｔｋ１）を、式  Ｔｋ１＝ｄｋ１／Ｓｋ１  により算出する（ステップＳ１９）。
【００５９】
次に、データ転送元コンピュータ１は、コンピュータ（ｋ１）の転送時間（Ｔｋ１）が、コンピュータ（ｊ）の決定転送時間（Ｔｊ）より大きいか否かを判定する（ステップＳ２０）。
【００６０】
そして、その判定の結果、コンピュータ（ｋ１）の転送時間（Ｔｋ１）が、コンピュータ（ｊ）の決定転送時間（Ｔｊ）以下であった場合には（ステップＳ２０でＮｏ）、コンピュータ（ｋ１）の転送時間（Ｔｋ１）およびコンピュータ（ｋ２）の転送時間（Ｔｋ２）のいずれもが、コンピュータ（ｊ）の決定転送時間（Ｔｊ）以下になるので、そのそれぞれのコンピュータ（ｊ）、（ｋ１）、（ｋ２）の決定転送速度（Ｓｊ）、（Ｓｋ１）、（Ｓｋ２）は、確定されたことになり、データ転送元コンピュータ１は、転送速度決定処理を終了する。
【００６１】
一方、コンピュータ（ｋ１）の転送時間（Ｔｋ１）が、コンピュータ（ｊ）の決定転送時間（Ｔｊ）より大きかった場合には（ステップＳ２０でＹｅｓ）、データ転送元コンピュータ１は、コンピュータ（ｊ）の決定転送速度（Ｓｊ）から所定値（Δ）を減じて、Ｓｊ＝Ｓｊ−Δとし、コンピュータ（ｊ）の決定転送時間（Ｔｊ）および残余転送速度（Ｓｒ）を、それぞれ、式  Ｔｊ＝ｄｊ／Ｓｊ、  Ｓｒ＝ＳＳ−Ｓｊ  により算出する（ステップＳ２１）。ここで、例えば、Δ＝１０である。
【００６２】
ステップＳ２１の処理は、コンピュータ（ｊ）に割当てる転送速度を減じることを意味している。すなわち、この処理までは、コンピュータ（ｊ）に割当てられていた決定転送速度（Ｓｊ）は、コンピュータ（ｊ）の最大転送速度（ｓｊ）であったのであるが、この処理によって、コンピュータ（ｊ）の決定転送速度（Ｓｊ）は、所定量（Δ）減じられたものとなる。
【００６３】
データ転送元コンピュータ１は、その後、ステップ１８の処理へ戻り、ステップ１８以下の処理を繰り返して実行する。
【００６４】
なお、以上の転送速度決定処理の説明では、転送速度管理テーブル１４への参照やデータ格納の動作については、説明するのを省略したが、実際には、適宜、参照され、また、算出されたデータが格納される。
【００６５】
ちなみに、転送速度決定処理の実行を開始する時には、各コンピュータ（ｉ）の転送データコード（ｃｉ）、転送データサイズ（ｄｉ）および最大転送速度（ｓｉ）のデータは、すでに、転送速度管理テーブル１４に格納された状態にある（図３参照）。そして、ステップＳ１１で、各コンピュータ（ｉ）の理想転送時間（ｔｉ）が算出され、転送速度管理テーブル１４に格納される。その後、ステップＳ１３以降の処理において、各コンピュータ（ｉ）の決定転送速度（Ｓｉ）および決定転送時間（Ｔｉ）が算出され、転送速度管理テーブル１４に格納される。
【００６６】
図６〜図８は、図５の転送速度決定処理よって算出された決定転送速度（Ｓｉ）および決定転送時間（Ｔｉ）が、転送速度管理テーブル１４の中で変化する様子を示した図である。
【００６７】
図６のケースでは、初期値となる各コンピュータ（ｉ）の転送データサイズ（ｄｉ）および最大転送速度（ｓｉ）には、図４（ｂ）の場合と同じ値が設定されている。従って、図６は、図４（ｂ）の各コンピュータ（ｉ）の最終的な決定転送時間（Ｔｉ）を得るまでの決定転送速度（Ｓｉ）および決定転送時間（Ｔｉ）の変化の様子を示した図といえる。
【００６８】
図５の転送速度決定処理では、まず、初期値の理想転送時間（ｔｉ）は、ステップＳ１１の処理により設定される。そして、第１回の決定転送速度（Ｓｉ）および決定転送時間（Ｔｉ）は、ステップＳ１２〜ステップＳ１６の処理により設定される。さらに、第２回の決定転送速度（Ｓｉ）および決定転送時間（Ｔｉ）は、ステップＳ１８〜ステップＳ１９の処理で設定される。
【００６９】
また、第２回の処理のステップＳ２０の判定では、コンピュータ（Ａ＝ｋ１）、（Ｂ＝ｋ２）の決定転送時間（ＴＡ）、（ＴＢ）が、それぞれ、２９秒、６４秒となり、いずれも、コンピュータ（Ｃ＝ｊ）の決定転送時間（ＴＣ）の６４秒以下となるので、転送速度決定処理は終了し、各コンピュータ（ｉ）の決定転送速度（ＳＡ）、（ＳＢ）、（ＳＣ）が、２７５Ｍｂｐｓ、１２５Ｍｂｐｓ、５００Ｍｂｐｓに確定される。
【００７０】
次に、図７のケースでは、図６のケースからコンピュータ（Ａ）、（Ｂ）の転送データサイズ（ｄｉ）および最大転送速度（ｓｉ）が変更されている。このケースでは、第１回の処理のステップＳ１４において、コンピュータ（ｋ１）、つまり、コンピュータ（Ａ）の決定転送速度（ＳＡ）としては、コンピュータ（Ａ）の最大転送速度（ｓＡ）でなく、残余転送速度（Ｓｒ）から微小量（δ＝１０）を差引いた値（Ｓｒ−δ）が設定されている。これは、コンピュータ（Ｃ）でもコンピュータ（Ａ）でも、その転送速度を５００Ｍｂｐｓとした場合には、データ転送元コンピュータ１の最大転送速度（ＳＳ）の９００Ｍｂｐｓを超えるからである。
【００７１】
しかしながら、ステップＳ１７の判定結果は、図６のケースと同じになるので、第２回のステップＳ１８〜ステップＳ１９の処理は、図６のケースと同じように実行される。そして、ステップＳ２０の判定では、コンピュータ（Ａ）、（Ｂ）の決定転送時間（ＴＡ）、（ＴＢ）が、それぞれ、５８秒、６４秒となり、いずれも、コンピュータ（Ｃ）の決定転送時間（ＴＣ）の６４秒以下となるので、転送速度決定処理は終了し、各コンピュータ（ｉ）の決定転送速度（ＳＡ）、（ＳＢ）、（ＳＣ）が、２７５Ｍｂｐｓ、１２５Ｍｂｐｓ、５００Ｍｂｐｓに確定される。
【００７２】
次に、図８のケースは、図７のケースにおいて、コンピュータ（Ａ）の転送データサイズ（ｄA）が増加されたケースである。この場合には、第２回のステップＳ１８〜ステップＳ１９の処理でコンピュータ（Ａ）、（Ｂ）の決定転送時間（ＴＡ）、（ＴＢ）が、それぞれ、８７秒、６４秒となるので、ステップＳ２０の判定では、転送速度決定処理の終了とはならず、ステップＳ２１を実行した後、ステップＳ１８へ戻り、ステップＳ１８以下の処理を繰り返して実行する。
【００７３】
この繰り返しの処理では、コンピュータ（Ｃ）の決定転送速度（ＳＣ）は、ステップＳ２１を実行するたびに、所定量（Δ＝１０）ずつ減じられる。そして、第３回から第７回に到るまでの５回の処理によって、コンピュータ（Ａ）、（Ｂ）、（Ｃ）の決定転送時間（ＴＡ）、（ＴＢ）、（ＴＣ）が、いずれも、７１秒となり、転送速度決定処理は終了し、そのそれぞれの決定転送速度（ＳＡ）、（ＳＢ）、（ＳＣ）が、３３８Ｍｂｐｓ、１１２Ｍｂｐｓ、４５０Ｍｂｐｓに確定される。
【００７４】
以上、図面を参照して説明したようにして、複数の転送先のコンピュータ（ｉ）の決定転送時間（Ｔｉ）の最大値、つまり、全体としての転送時間を最小化することができる。よって、本実施形態によれば、ロット生産方式で製造中の複数のコンピュータに対してＯＳなどのインストールデータを転送する転送時間の最大値を小さくするすることができるので、コンピュータのロット生産の効率向上を図ることができるようになる。
【図面の簡単な説明】
【００７５】
【図１】本発明の実施形態に係るデータ転送方法を適用したデータ転送元コンピュータおよびデータ転送先コンピュータの構成の例を示した図。
【図２】本発明の実施形態に係る転送速度管理テーブルの構成の例を示した図。
【図３】本発明の実施形態に係るデータ転送元コンピュータが複数のデータ転送先のコンピュータへデータ転送を行う場合に実行する処理の流れの例を示した図。
【図４】本発明の実施形態に係るデータ転送元コンピュータによって行われるデータ転送の効果を示した図。
【図５】本発明の実施形態に係る転送速度決定処理の詳細な処理フローの例を示した図。
【図６】図５の転送速度決定処理よって算出された決定転送速度および決定転送時間が、転送速度管理テーブルの中で変化する様子を示した図。
【図７】図５の転送速度決定処理よって算出された決定転送速度および決定転送時間が、転送速度管理テーブルの中で変化する様子を示した図。
【図８】図５の転送速度決定処理よって算出された決定転送速度および決定転送時間が、転送速度管理テーブルの中で変化する様子を示した図。
【符号の説明】
【００７６】
１      データ転送元コンピュータ
２      コンピュータ（データ転送先コンピュータ）
３      外部データ入力装置
４      通信ネットワーク
１１    転送速度決定処理部
１２    転送データ送信処理部
１３    接続受付処理部
１４    転送速度管理テーブル
１５    転送データ記憶部
２１    性能データ送信処理部
２２    転送データ受信処理部
２３    転送データ記憶部
【図１】
2010130059.tif 000003
【図２】
2010130059.tif 000004
【図３】
2010130059.tif 000005
【図４】
2010130059.tif 000006
【図５】
2010130059.tif 000007
【図６】
2010130059.tif 000008
【図７】
2010130059.tif 000009
【図８】
2010130059.tif 000010