(57)【要約】【課題】通信装置のメモリ不足による携帯端末からのデータ転送の中断の発生を軽減することである。【解決手段】ユーザの入力データを格納する携帯端末であるＨＴ１Ａ〜１Ｆと、ＨＴ１Ａ〜１Ｆからデータを受信してキャッシュメモリ２ｂＡ〜２ｂＥに格納する通信装置であるＩＯＢＯＸ２Ａ〜２Ｄと、ＩＯＢＯＸ２Ａ〜２Ｄから通信ケーブル４，５を介してデータを集約するホストコンピュータ３とを有する通信システムであるＨＴシステムαにおいて、ＩＯＢＯＸ２Ａは、各ＩＯＢＯＸ２Ａ〜２Ｄのキャッシュメモリ２ｂＡ〜２ｂＥ使用量を取得し、当該キャッシュメモリ使用量に応じた表示指令を各ＩＯＢＯＸ２Ａ〜２Ｄへ送信し、各ＩＯＢＯＸ２Ａ〜２Ｄは、それぞれ前記表示指令に応じてキャッシュメモリの使用状態表示をする。【選択図】　図１
2004096150.tif 000002
【特許請求の範囲】
【請求項１】
携帯端末が装着可能に構成されると共に、装着された携帯端末との間で送受信されるデータが一時的に記憶されるメモリを備えた通信装置がネットワークを介して複数台接続された通信システムであって、
前記ネットワークに接続された前記各通信装置のメモリ使用量を取得する取得手段と、
前記取得手段により取得された各通信装置のメモリ使用量の平均値を算出する算出手段と、
前記算出手段により算出されたメモリ使用量の平均値と前記各通信装置のメモリ使用量とを比較し、この比較結果に応じたメモリ使用状態に基づいた表示指令を前記ネットワークを介して前記各通信装置に送信する制御手段とを具備し、
前記各通信装置は、前記ネットワークを介して受信した前記表示指令に応じて自メモリの使用状態を表示することを特徴とする通信システム。
【請求項２】
前記ネットワークに接続された前記各通信装置が待機状態か否かを判別する判別手段を更に具備し、
前記取得手段は、前記判別手段により前記通信装置が待機状態であると判別された場合は、当該通信装置に対して前記メモリの使用状態を問い合せて前記各通信装置における前記メモリのメモリ使用量を取得するようにしたことを特徴とする請求項１記載の通信システム。
【請求項３】
携帯端末が装着可能に構成されると共に、装着された携帯端末との間で送受信されるデータが一時的に記憶されるメモリを備えた通信装置がネットワークを介して複数台接続された通信システムであって、
前記ネットワークに接続された前記各通信装置のメモリ使用量を取得する取得手段と、
前記取得手段により取得された各通信装置のメモリ使用量に基づいて、前記携帯端末から送信される送信データを当該携帯端末が装着された通信装置のメモリに格納可能か否かを判別する判別手段と、
前記判別手段により前記送信データを格納可能と判別された場合は、当該送信データを前記携帯端末が装着された通信装置に受信させる制御手段と、
前記判別手段により前記送信データを格納不可能と判別された場合は、前記取得手段において取得された各通信装置のメモリ使用量に基づいて、当該送信データを格納可能な通信装置をユーザへ通知する通知手段とを具備したことを特徴とする通信システム。
【請求項４】
携帯端末が装着可能に構成されると共に、装着された携帯端末との間で送受信されるデータが一時的に記憶されるメモリを備えた通信装置がネットワークを介して複数台接続された通信システムであって、
前記ネットワークに接続された前記各通信装置のメモリ使用量を取得する取得手段と、
前記取得手段により取得された各通信装置のメモリ使用量に基づいて、第１の通信装置のメモリに格納されたデータを、第２の通信装置のメモリへ転送させる転送制御手段とを具備したことを特徴とする通信システム。
【請求項５】
前記転送制御手段は、前記第１の通信装置に装着された携帯端末から送信される送信データが、当該第１の通信装置のメモリの空き容量よりも大きい場合は、前記送信データをメモリに格納できる第２の通信装置を検索し、その検索された第２の通信装置に当該送信データを転送することを特徴とする請求項４記載の通信システム。
【請求項６】
前記転送制御手段は、前記第１の通信装置に装着された携帯端末から送信される送信データが、当該第１の通信装置のメモリの空き容量よりも大きく、当該送信データを格納できる第２の通信装置が存在しない場合に、前記送信データを複数の分割データに分割し、当該分割データをメモリに格納できる第２の通信装置に当該分割データを転送することを特徴とする請求項４記載の通信システム。
【請求項７】
携帯端末が装着可能に構成されると共に、装着された携帯端末との間で送受信されるデータが一時的に記憶されるメモリを備えた通信装置がネットワークを介して複数台接続された通信システムであって、
前記ネットワークに接続された前記各通信装置のメモリに格納された前記携帯端末から送信された送信データの容量を取得する取得手段と、
前記ネットワークに接続されたホストコンピュータから所定の携帯端末に対応する送信データ要求を受信する受信手段と、
前記受信手段により前記所定の携帯端末の送信データ要求が受信された場合に、前記取得手段により取得された各通信装置に格納された送信データの容量に基づいて、前記所定の携帯端末に対応する容量の大きな送信データを格納する通信装置から、当該通信装置のメモリに格納された前記所定の携帯端末の送信データを、前記ホストコンピュータへ転送させる転送制御手段とを具備したことを特徴とする通信システム。
【請求項８】
コンピュータに、
ネットワークに接続された複数の通信装置のメモリ使用量を取得する機能と、
前記取得された各通信装置のメモリ使用量の平均値を算出する機能と、
前記算出されたメモリ使用量の平均値と前記各通信装置のメモリ使用量とを比較し、この比較結果に応じたメモリ使用状態に基づいた表示指令を前記ネットワークを介して前記各通信装置に送信する機能と、
を実現させるための通信データ管理プログラム。
【請求項９】
コンピュータに、
ネットワークに接続された複数の通信装置のメモリ使用量を取得する機能と、前記取得された各通信装置のメモリ使用量に基づいて、携帯端末から送信される送信データを当該携帯端末が装着された通信装置のメモリに格納可能か否かを判別する機能と、
前記送信データを格納可能と判別された場合は、当該送信データを前記装着された通信装置に受信させる機能と、
前記送信データを格納不可能と判別された場合は、前記取得された各通信装置のメモリ使用量に基づいて、当該送信データを格納可能な通信装置をユーザへ通知する機能と、
を実現させるための通信データ管理プログラム。
【請求項１０】
コンピュータに、
ネットワークに接続された複数の通信装置のメモリ使用量を取得する機能と、前記取得された各通信装置のメモリ使用量に基づいて、第１の通信装置のメモリに格納されたデータを、第２の通信装置のメモリへ転送させる機能と、
を実現させるための通信データ管理プログラム。
【請求項１１】
コンピュータに、
ネットワークに接続された複数の通信装置のメモリに格納された携帯端末から送信された送信データの容量を取得する機能と、
前記ネットワークに接続されたホストコンピュータから所定の携帯端末に対応する送信データ要求を受信する機能と、
前記所定の携帯端末の送信データ要求が受信された場合に、前記取得された各通信装置に格納された送信データの容量に基づいて、前記所定の携帯端末に対応する容量の大きな送信データを格納する通信装置から、当該通信装置のメモリに格納された前記所定の携帯端末の送信データを、前記ホストコンピュータへ転送させる機能と、
を実現させるための通信データ管理プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、端末装置が装着されて、装着された携帯端末との間でデータ通信を行う複数の通信装置を備える通信システム及びその通信データを管理する通信データ管理プログラムに関する。
【０００２】
【従来の技術】
近年、小売店や飲食店等では、ハンディターミナルと呼ばれる携帯型の入力装置が利用されている。このハンディターミナル（以下ＨＴとする）は、商品の在庫や顧客の注文等のデータを入力して、ホストコンピュータに伝送する機能を有する電子機器である。
【０００３】
ここで、ＨＴとホストコンピュータとは、ＩＯＢＯＸを中継して通信接続され、ＨＴからデータを接触又は非接触にＩＯＢＯＸに送信し、当該送信されたデータを複数のＩ／Ｏボックスからケーブル等を介してホストコンピュータに集約する構成である。ＩＯＢＯＸは、ホストコンピュータに接続される１台のマスタＩＯＢＯＸと、マスタＩＯＢＯＸに接続される少なくとも１台のスレーブＩＯＢＯＸが設置され、ユーザは、ＨＴを任意のＩＯＢＯＸに装着させてＨＴからホストコンピュータへデータ送信させる。
【０００４】
また、キャッシュメモリを内蔵する高速ＩＯＢＯＸも考えられている。これは、ＩＯＢＯＸにおいて、ＨＴから受信したデータを一旦内蔵キャッシュメモリに格納して、当該格納されたデータをホストコンピュータへ送信させる構成で、ホストコンピュータ−ＩＯＢＯＸ間の通信速度が遅い場合又は通信が行われていない場合でも、高速且つ確実に、ＨＴからデータ送信を行うことができる。
【０００５】
【発明が解決しようとする課題】
しかし、ＨＴの運用を考えた場合、複数のＩＯＢＯＸの設置場所等の関係から、特定のＩＯＢＯＸ（例えばＨＴが置き易いＩＯＢＯＸ等）に多くのデータが転送され、当該ＩＯＢＯＸのキャッシュメモリが不足する場合がある。
【０００６】
そして、ＨＴからのデータ転送中にＩＯＢＯＸのキャッシュメモリが不足すると、エラーが発生してデータ転送が中断される。この場合、ＨＴが装着されたＩＯＢＯＸがホストコンピュータにある程度データを送信してエラーから復帰するのを待ち、それからデータ転送をやり直す必要がある。
【０００７】
また、ユーザがどのＩＯＢＯＸにデータを転送できるかを調べるためには、ホストコンピュータを使用して、各ＩＯＢＯＸのメモリ情報を取得する必要がある。このため、どのＩＯＢＯＸにデータを転送すればエラーが発生しないかを即座に判断することができない。
【０００８】
このような要因から、キャッシュメモリ内蔵のＩＯＢＯＸを用いる場合、キャッシュメモリ不足によるエラーが発生した場合、データ転送を再開するまでに無駄な時間が発生し、ＨＴから効率的なデータ収集ができないという問題があった。
【０００９】
本発明の課題は、ＩＯＢＯＸ等の通信装置のメモリ不足による、ＨＴ等の携帯端末からのデータ転送の中断の発生を軽減することである。
【００１０】
【課題を解決するための手段】
請求項１記載の発明は、携帯端末が装着可能に構成されると共に、装着された携帯端末との間で送受信されるデータが一時的に記憶されるメモリを備えた通信装置がネットワークを介して複数台接続された通信システムであって、前記ネットワークに接続された前記各通信装置のメモリ使用量を取得する取得手段と、前記取得手段により取得された各通信装置のメモリ使用量の平均値を算出する算出手段と、前記算出手段により算出されたメモリ使用量の平均値と前記各通信装置のメモリ使用量とを比較し、この比較結果に応じたメモリ使用状態に基づいた表示指令を前記ネットワークを介して前記各通信装置に送信する制御手段とを具備し、前記各通信装置は、前記ネットワークを介して受信した前記表示指令に応じて自メモリの使用状態を表示することを特徴とする。
更に、コンピュータに対して、上述した請求項１記載の発明に示した主要機能を実現させるためのプログラムを提供する（請求項８記載の発明）。
【００１１】
請求項１又は８記載の発明によれば、各通信装置のメモリ使用量を取得して、各通信装置にメモリの使用状態を表示させるので、ユーザはメモリ使用量の少ない通信装置が分かり、その通信装置に携帯端末を装着してデータ通信を行わせて、通信装置のメモリ不足による携帯端末からのデータ転送の中断を起こりにくくすることができる。
【００１２】
また、例えば、前記ネットワークに接続された前記各通信装置が待機状態か否かを判別する判別手段を更に具備し、前記取得手段は、前記判別手段により前記通信装置が待機状態であると判別された場合は、当該通信装置に対して前記メモリの使用状態を問い合せて前記各通信装置における前記メモリのメモリ使用量を取得するように構成しても良い（請求項２記載の発明）。
【００１３】
請求項３記載の発明は、携帯端末が装着可能に構成されると共に、装着された携帯端末との間で送受信されるデータが一時的に記憶されるメモリを備えた通信装置がネットワークを介して複数台接続された通信システムであって、前記ネットワークに接続された前記各通信装置のメモリ使用量を取得する取得手段と、前記取得手段により取得された各通信装置のメモリ使用量に基づいて、前記携帯端末から送信される送信データを当該携帯端末が装着された通信装置のメモリに格納可能か否かを判別する判別手段と、前記判別手段により前記送信データを格納可能と判別された場合は、当該送信データを前記携帯端末が装着された通信装置に受信させる制御手段と、前記判別手段により前記送信データを格納不可能と判別された場合は、前記取得手段において取得された各通信装置のメモリ使用量に基づいて、当該送信データを格納可能な通信装置をユーザへ通知する通知手段と、特徴とする。
更に、コンピュータに対して、上述した請求項３記載の発明に示した主要機能を実現させるためのプログラムを提供する（請求項９記載の発明）。
【００１４】
請求項３又は９記載の発明によれば、携帯端末から送信される送信データを通信装置のメモリに格納できる場合は、その送信データをその通信装置に受信させて格納させ、携帯端末から送信される送信データを通信装置のメモリに格納しきれない場合は、その送信データを格納できる他の通信装置をユーザに通知するので、ユーザはメモリ使用量の少ない通信装置が分かり、その通信装置に携帯端末を装着してデータ通信を行わせて、通信装置のメモリ不足による携帯端末からのデータ転送の中断を起こりにくくすることができる。
【００１５】
請求項４記載の発明は、携帯端末が装着可能に構成されると共に、装着された携帯端末との間で送受信されるデータが一時的に記憶されるメモリを備えた通信装置がネットワークを介して複数台接続された通信システムであって、前記ネットワークに接続された前記各通信装置のメモリ使用量を取得する取得手段と、前記取得手段により取得された各通信装置のメモリ使用量に基づいて、第１の通信装置のメモリに格納されたデータを、第２の通信装置のメモリへ転送させる転送制御手段とを具備したことを特徴とする。
更に、コンピュータに対して、上述した請求項４記載の発明に示した主要機能を実現させるためのプログラムを提供する（請求項１０記載の発明）。
【００１６】
請求項４又は１０記載の発明によれば、メモリ使用量の大きな第１の通信装置のメモリに格納されたデータを第２の通信装置へ転送してそのメモリに格納させて、複数の通信装置のメモリ使用量を平均化できるので、ユーザがどのような通信装置を使用して携帯端末のデータを格納させても、通信装置のメモリ不足による携帯端末からのデータ転送の中断を起こりにくくすることができる。
【００１７】
また、例えば、前記転送制御手段は、前記第１の通信装置に装着された携帯端末から送信される送信データが、当該第１の通信装置のメモリの空き容量よりも大きい場合は、前記送信データをメモリに格納できる第２の通信装置を検索し、その検索された第２の通信装置に当該送信データを転送するとして構成しても良い（請求項５記載の発明）。
【００１８】
また、例えば、前記転送制御手段は、前記第１の通信装置に装着された携帯端末から送信される送信データが、当該第１の通信装置のメモリの空き容量よりも大きく、当該送信データを格納できる第２の通信装置が存在しない場合に、前記送信データを複数の分割データに分割し、当該分割データをメモリに格納できる第２の通信装置に当該分割データを転送するとして構成しても良い（請求項６記載の発明）。
【００１９】
請求項７記載の発明は、携帯端末が装着可能に構成されると共に、装着された携帯端末との間で送受信されるデータが一時的に記憶されるメモリを備えた通信装置がネットワークを介して複数台接続された通信システムであって、前記ネットワークに接続された前記各通信装置のメモリに格納された前記携帯端末から送信された送信データの容量を取得する取得手段と、前記ネットワークに接続されたホストコンピュータから所定の携帯端末に対応する送信データ要求を受信する受信手段と、前記受信手段により前記所定の携帯端末の送信データ要求が受信された場合に、前記取得手段により取得された各通信装置に格納された送信データの容量に基づいて、前記所定の携帯端末に対応する容量の大きな送信データを格納する通信装置から、当該通信装置のメモリに格納された前記所定の携帯端末の送信データを、前記ホストコンピュータへ転送させる転送制御手段とを具備したことを特徴とする。
更に、コンピュータに対して、上述した請求項７記載の発明に示した主要機能を実現させるためのプログラムを提供する（請求項１１記載の発明）。
【００２０】
請求項７又は１１記載の発明によれば、ホストコンピュータから送信データの取得要求のあった携帯端末が送信元の送信データをメモリに格納する通信装置のうち、その携帯端末に対応する容量の大きな送信データを格納する通信装置から、その携帯端末に対応する送信データを優先的にホストコンピュータに転送させるので、各通信装置のメモリの空き容量を平均化でき、通信装置のメモリ不足による携帯端末からのデータ転送の中断を起こりにくくすることができる。
【００２１】
【発明の実施の形態】
以下、添付図面を参照して、本発明の第１〜第８の実施の形態について順に説明する。
【００２２】
（第１の実施の形態）
本実施の形態を図１〜図５を参照して説明する。先ず、図１及び図２を参照して装置的特長を説明する。図１は、本実施の形態のＨＴシステムαの構成を示す図であり、図２は、図１中のＩＯＢＯＸ２Ａ〜２Ｄの内部構成を示す図である。
【００２３】
図１に示すように、本実施の形態の通信システムであるＨＴシステムαは、商品の在庫や顧客の注文等の、ユーザからの入力データを格納する携帯端末である複数のＨＴ（ハンディターミナル）１Ａ〜１Ｆと、ＨＴ１Ａ〜１Ｆからのデータを受信し中継する通信装置である複数のＩＯＢＯＸ２Ａ〜２Ｄと、ＨＴ１Ａ〜１Ｆのデータを収集するホストコンピュータ３と、ＩＯＢＯＸ２Ａ〜２Ｄ間を接続する通信ケーブル４と、ホストコンピュータ３とＩＯＢＯＸ２Ａとの間を接続するケーブル５とを備える。
【００２４】
ＩＯＢＯＸ２Ａ〜２Ｄは高速ＩＯＢＯＸであり、それぞれＨＴ１Ａ〜１Ｆから受信したデータを一時的に蓄積格納するキャッシュメモリ２ｂＡ〜２ｂＤを備える。各キャッシュメモリ２ｂＡ〜２ｂＤの最大キャッシュメモリ使用量（最大格納容量）は同じであるとする。また、ＩＯＢＯＸ２Ａは、ホストコンピュータ３と接続されるので特にマスタＩＯＢＯＸと呼び、ＩＯＢＯＸ２Ｂ〜２Ｄは、ＩＯＢＯＸ２Ａと連鎖接続されるので特にスレーブＩＯＢＯＸと呼ぶ。
【００２５】
また、本実施の形態では、マスタＩＯＢＯＸとスレーブＩＯＢＯＸの内部構成は同じであるとするが、それぞれ異なる構成としてもよく、例えば、不要な部分を省いた構成であってもよい。各スレーブＩＯＢＯＸも異なる内部構成をしてもよい。また、ＨＴ１Ａ〜１Ｆの数は、図１上で代表的に示したものであり、他の数でもよく、ＩＯＢＯＸ２Ａ〜２Ｄの数は、１台のマスタＩＯＢＯＸと少なくとも１台のスレーブＩＯＢＯＸを有する他の数であってもよい。
【００２６】
ＨＴ１Ａ〜１ＦとＩＯＢＯＸ２Ａ〜２Ｄとのデータ通信方式は、例えば、ＩｒＤＡ（Ｉｎｆｒａｒｅｄ　Ｄａｔａ　Ａｓｓｏｃｉａｔｉｏｎ：赤外線データ通信協議会）等の非接触式の光通信であるが、これに限るものではなく、例えば電極を接触させる接触式のデータ通信方式でもよい。また、通信ケーブル４は、例えば、ＲＳ−４２２、ＲＳ−４８５、ＳＣＳＩ等の規格の通信方式のケーブルであるが、これに限るものでなくＵＳＢ等の他の通信方式のケーブルでもよい。また、通信ケーブル５は、例えば、ＲＳ−２３２Ｃ、ＳＣＳＩ、イーサネット（登録商標）等の規格の通信方式のケーブルであるが、これに限るものでなくＵＳＢ等の他の通信方式のケーブルでもよい。
【００２７】
次に、図２を参照して、ＩＯＢＯＸ２Ａ〜２Ｄの内部構成を説明する。図２に示すように、各ＩＯＢＯＸ２Ａ〜２Ｄは、その内部に、各部の中央制御を行うＣＰＵ（Ｃｅｎｔｒａｌ　Ｐｒｏｃｅｓｓｉｎｇ　Ｕｎｉｔ）２ａと、ＨＴ１Ａ〜１Ｆからの送信データを格納するキャッシュメモリ２ｂ（図１ではキャッシュメモリ２ｂＡ〜２ｂＤと表現）と、情報を一時的に格納するＲＡＭ（Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｍｅｍｏｒｙ）２ｃと、情報を記憶する記憶装置２ｄと、表示用ＬＥＤ（Ｌｉｇｈｔ　Ｅｍｉｔｔｉｎｇ　Ｄｉｏｄｅ）の点灯により各種動作状態をユーザに表示する状態表示部２ｅと、ＨＴ１Ａ〜１Ｆとの通信を制御するＩｒＤＡの第１通信部２ｆと、他ＩＯＢＯＸとの通信を制御する第２通信部２ｇと、ホストコンピュータ３との通信を制御する第３通信部２ｈと、ＨＴ１Ａ〜１Ｆが第１通信部２ｆと通信可能に自ＩＯＢＯＸに装着されたかを検出する装着検出部２ｉとから構成され、各部をバス１ｊにより通信接続する。
【００２８】
ＩＯＢＯＸ２ＡのＣＰＵ２ａは、状態表示処理を実行する。ＩＯＢＯＸ２ＡのＣＰＵ２ａは、状態表示処理の実行により、待機状態の接続ＩＯＢＯＸのキャッシュメモリ２ｂのキャッシュメモリ使用量をＲＡＭ２ｃのメモリ容量レジスタＣ２に格納し、メモリ容量レジスタＣ２上のキャッシュメモリ使用量に基づき、キャッシュメモリ使用状態を示す状態表示コマンドを各ＩＯＢＯＸへ送信し、状態表示部２ｅのＬＥＤに自機のキャッシュメモリ使用状態を表示する（図５参照）。
【００２９】
キャッシュメモリ２ｂは、ＨＴ１Ａ〜１Ｆからの送信データを格納し、その格納データの容量情報であるキャッシュメモリ使用量を出力可能な構成とする。
【００３０】
ＲＡＭ２ｃは、各種プログラムを展開するプログラム領域、各種データを展開するデータ領域等のワーク領域を有し、ＣＰＵ１ａでランダムアクセス可能に各種情報を記憶するメモリである。
【００３１】
記憶装置２ｄは、プログラムやデータなどが予め記憶されまたは書込み可能な図示しない記録媒体を有し、当該記録媒体は、磁気的、光学的記録媒体、若しくは半導体等の不揮発性メモリ等のＣＰＵ１ａ読取り可能な記録媒体で構成されている。前記記録媒体は、ハードディスク等の記憶装置１ｅに固定的に設けたもの、若しくはＣＤ−ＲＯＭ、メモリカード、携帯ハードディスク等の着脱自在に装着する可搬型のものを含む。ＲＡＭ２ｃ及び記憶装置２ｄは、ＣＰＵ２ａの制御により内部データの書換が可能な構成である。
【００３２】
また、記録媒体に記憶されたプログラム、データ等は、その一部若しくは全部を外部機器から通信ネットワークを介して通信装置２ｆ，２ｇ，２ｈから受信して格納する構成にしてもよく、また、記録媒体は通信ネットワーク上に構築された外部機器の記録媒体であってもよい。更に、前記各種プログラムを通信ネットワークを介して外部機器へ送信及びインストールする構成にしてもよい。
【００３３】
状態表示部２ｅは、キャッシュメモリ２ｂの格納データの格納状態を表す状態ＳＩ１〜ＳＩ３に対応して緑、黄、赤に点灯するＬＥＤ２ｅＡ〜２ｅＤを備える。状態ＳＩ１は、ＨＴ１Ａ〜１Ｆから第１通信部２ｆを介して送信データをＩＯＢＯＸに受信可能、且つキャッシュメモリ２ｂに空き容量が多い状態を示し、状態ＳＩ２は、ＨＴ１Ａ〜１Ｆから第１通信部２ｆを介して送信データをＩＯＢＯＸに受信可能，且つキャッシュメモリ２ｂに空き容量が少ない状態を示し、状態ＳＩ３は、ＨＴ１Ａ〜１Ｆから第１通信部２ｆを介して送信データをＩＯＢＯＸに送信データを受信不可能，或いはキャッシュメモリ２ｂに空き容量がない状態を示す。
【００３４】
第１通信部２ｆは、ＩｒＤＡ方式で非接触にＨＴ１Ａ〜１Ｂとデータを送受信する。第２通信部２ｇは、他のＩＯＢＯＸと通信ケーブル４を介してデータを送受信する。第３通信部２ｈは、ホストコンピュータ３と通信ケーブル５を介してデータを送受信する。第３通信部２ｈは、マスタＩＯＢＯＸ２Ａのみホストコンピュータ３と接続される。
【００３５】
なお、各ＩＯＢＯＸ２Ａ〜２Ｄは、ここでは、それぞれ１台の機器で表現しているが、通信ネットワーク等を介した複数の機器をＨＴシステムα内に設置して、各ＩＯＢＯＸ２Ａ〜２Ｄの各種処理を各機器で分散して実行する構成でもよい。この場合、各種処理を実行する負荷が分散される。
【００３６】
次に、図３及び図４を参照して、ＩＯＢＯＸ２ＡのＲＡＭ２ｃに格納する情報を説明する。図３は、本実施の形態においてＲＡＭ２ｃに格納される情報の構成を示す図であり、図４は、図３におけるメモリ状態レジスタＣ３の内部構成を示す図である。
【００３７】
図３に示すように、ＩＯＢＯＸ２ＡのＲＡＭ２ｃは、状態表示処理で用いる変数Ｎを格納するＢＯＸ指定メモリＣ１と、各ＩＯＢＯＸのキャッシュメモリ２ｂのキャッシュメモリ使用量を格納するメモリ容量レジスタＣ２と、各ＩＯＢＯＸのキャッシュメモリ２ｂの状態を格納するメモリ状態レジスタＣ３とを格納する。メモリ容量レジスタＣ２、メモリ状態レジスタＣ３は、各ＩＯＢＯＸの数に対応してそれぞれ１〜ｎまで格納させるが、本実施の形態においてはＩＯＢＯＸ２Ａ〜２Ｄがそれぞれ１〜４に対応するものとする。
【００３８】
図４に示すように、メモリ状態レジスタＣ３は、各ＩＯＢＯＸに対応するＩＯＢＯＸ番号とそのメモリ状態Ｃ３１〜Ｃ３ｎが格納される。本実施の形態では、一例として、ＩＯＢＯＸ２Ａ〜２ＤがそれぞれＩＯＢＯＸ番号１〜４に対応するものとし、先に説明した状態ＳＩ１〜ＳＩ３が格納されるものとする。
【００３９】
例えば、状態ＳＩ１は、ＨＴとデータ送受信可能、且つキャッシュメモリ２ｂに最大キャッシュメモリ容量の５０パーセント以上の空き容量がある場合の状態とし、状態ＳＩ２は、ＨＴとデータ送受信可能、且つキャッシュメモリ２ｂの最大キャッシュメモリ容量の２０パーセント以上で５０パーセントより少ない空き容量がある場合の状態とし、状態ＳＩ３は、ＨＴとデータ送受信不可能、又はキャッシュメモリ２ｂの最大キャッシュメモリ容量の２０パーセントより少ない空き容量しかない場合の状態とするが、これに限るものではない。
【００４０】
次に、ＨＴシステムαにおける動作を図５及び図６を参照して説明する。図５は、状態表示処理を示すフローチャートであり、図６は、状態表示処理の結果例を示す図である。
【００４１】
先ず、図６を参照して状態表示処理を説明する。状態表示処理は、ある所定の周期で定期的に、マスタのＩＯＢＯＸ２Ａで実行される処理であり、ユーザに対して、各ＩＯＢＯＸ２Ａ〜２Ｂのキャッシュメモリ２ｂの使用（空き）状態を状態表示部２ｅのＬＥＤに表示する処理であり、例えば、ＩＯＢＯＸ２Ａの電源投入されたこと、又は所定の周期に達したこと等をトリガーとして、ＩＯＢＯＸ２ＡのＣＰＵ２ａは、記憶装置２ｄに記憶された状態表示処理のプログラムを読出して実行することにより開始される。
【００４２】
図５に示すフローチャートは、ＩＯＢＯＸ２Ａを構成するコンピュータに各機能を実現させるためのプログラムを説明する為のものである。このプログラムは、ＣＰＵ１ａが読取可能なプログラムコードの形態で記憶装置２ｄに格納されている例で説明するが、全ての機能を記憶装置２ｄに格納する必要は無く、必要に応じてその一部若しくは全部を通信ネットワークを介して受信して実現するようにしてもよい。この説明は、他の処理でも同様である。
【００４３】
先ず、ＣＰＵ２ａは、各ＩＯＢＯＸが接続されているかの情報を各ＩＯＢＯＸ２Ｂ〜２Ｄから通信ケーブル４、第２通信部２ｇを介して受信し、この台数＋１（ＩＯＢＯＸ２Ａを入れる）をＩＯＢＯＸ台数であるとする（ステップＳ１）。
【００４４】
そして、ＣＰＵ２ａは、ＩＯＢＯＸ２Ａを含めてキャッシュメモリ２ｂの格納情報を取得するＩＯＢＯＸを１つ選択し、その番号をＮ＝１と設定する（ステップＳ２）。以下、Ｎは変数としてＲＡＭ２ｃ上でＢＯＸ指定メモリＣ１に適宜記憶及び書換えされる。
【００４５】
そして、ＣＰＵ２ａは、ステップＳ２又はＳ７でＩＯＢＯＸ番号がＮの選択されたＩＯＢＯＸ（ここではＩＯＢＯＸＮと表現する）が待機状態であるかの情報を当該ＩＯＢＯＸＮから通信ケーブル４、第２通信部２ｇを介して取得し、受信した待機状態であるかの情報により、ＩＯＢＯＸＮが待機状態か否かを判別する（ステップＳ３）。ステップＴ３における待機状態とは、ＨＴと通信可能なＩＯＢＯＸの待機状態であり、例えば、あるＨＴと通信中のＩＯＢＯＸは待機状態ではないとする。
【００４６】
ＩＯＢＯＸＮが待機状態である場合（ステップＳ３；ＹＥＳ）、ＣＰＵ２ａは、ＩＯＢＯＸＮのキャッシュメモリ２ｂのキャッシュメモリ使用量を、ＩＯＢＯＸＮから通信ケーブル４、第２通信部２ｇを介して取得し（ステップＳ４）、ステップＳ４において取得したキャッシュメモリ使用量をＲＡＭ２ｃのメモリ容量レジスタＣ２に格納する（ステップＳ５）。
【００４７】
ＩＯＢＯＸＮが待機状態でない場合（ステップＳ４；ＮＯ）、ステップＳ５へ進み、ＣＰＵ２ａは、ＩＯＢＯＸＮが待機状態でない旨をＲＡＭ２ｃのメモリ容量レジスタＣ２に格納する。
【００４８】
そして、ＣＰＵ２ａは、ステップＳ１において取得したＩＯＢＯＸ台数と、現在のＮが同じかにより、ＩＯＢＯＸＮが終端であるかを判別する（ステップＳ６）。ＩＯＢＯＸＮが終端でない場合（ステップＳ６；ＮＯ）、ＣＰＵ２ａは、Ｎ＝Ｎ＋１を算出して、当該新しいＮに対応するＩＯＢＯＸを選択し（ステップＳ７）、ステップＳ３へ進む。
【００４９】
なお、ステップＳ２又はＳ７において、ＩＯＢＯＸ２Ａを選択した場合、ステップＳ３において、ＩＯＢＯＸ２Ａが待機状態であるかの情報を第１通信部２ｆから取得する処理となり、ステップＳ４において、キャッシュメモリ２ｂからキャッシュメモリ２ｂに格納されたキャッシュメモリ使用量を取得する処理となる。
【００５０】
ＩＯＢＯＸＮが終端である場合（ステップＳ６；ＹＥＳ）、ＣＰＵ２ａは、ＲＡＭ２ｃに格納されたメモリ容量レジスタＣ２の各ＩＯＢＯＸのキャッシュメモリ使用量を、予め設定した閾値と比較する（ステップＳ８）。ステップＳ７における閾値とは、例えば、最大キャッシュメモリ容量の５０％、８０％である。
【００５１】
そして、ＣＰＵ２ａは、ステップＳ７において比較した結果により、全てのＩＯＢＯＸがどの状態であるかを決定し、ＲＡＭ１ｃのメモリ状態レジスタＣ３に状態ＳＩ１〜ＳＩ３として格納する（ステップＳ９）。ステップＳ９は具体的には、メモリ容量レジスタが待機状態でなく、且つキャッシュメモリ使用量が５０パーセントより少なければ状態ＳＩ１、メモリ容量レジスタが待機状態でなく、且つキャッシュメモリ使用量が５０パーセント以上で８０パーセントより少なければ状態ＳＩ２、メモリ容量レジスタが待機状態である、又はキャッシュメモリ使用量が８０パーセント以上であれば状態ＳＩ３とする。
【００５２】
そして、ＣＰＵ２ａは、通信ケーブル４で接続されている全てのＩＯＢＯＸのそれぞれに第２通信部２ｇ、通信ケーブル４を介して、メモリ状態レジスタに対応する状態表示コマンドを送信する（ステップＳ１０）。そして、ＣＰＵ２ａは、ＩＯＢＯＸ２Ａに対応するＲＡＭ２ｃのメモリ状態レジスタＣ３に応じて、状態表示部２ｅに状態を示す色を表示させ（ステップＳ１１）、状態表示処理を終了する。
【００５３】
ステップＳ１０の後、ＩＯＢＯＸ２Ａの他のＩＯＢＯＸは、状態表示コマンドを通信ケーブル４、第２通信部２ｇを介して受信し、当ＩＯＢＯＸのＣＰＵ２ａは、受信した状態表示コマンドに応じて、状態表示部２ｅに状態を示す色を表示させる。
【００５４】
ここで、図６を参照して、状態表示処理の具体的な表示例を示す。図６に示すように、ＨＴ１Ａ，１Ｂ、ＩＯＢＯＸ２Ａ〜２Ｄ、ホストコンピュータ３が接続され、ＨＴ１ＢはＩＯＢＯＸ２Ｄと通信中であるとする。そして、ステップＳ１〜Ｓ９において、図４に示すメモリ状態レジスタＣ３かＲＡＭ２ｃに格納されたとする。ＩＯＢＯＸ２Ａは、待機状態で且つキャッシュメモリ２ｂＡのキャッシュメモリ使用量が５０パーセント以上８０パーセント未満であることにより状態ＳＩ２であり、状態表示部２ｅのＬＥＤ２ｅＡは橙色に表示され、ＩＯＢＯＸ２Ｂは、待機状態で且つキャッシュメモリ２ｂＢのキャッシュメモリ使用量が８０パーセント以上であることにより状態ＳＩ３であり、状態表示部２ｅのＬＥＤ２ｅＢは赤色に表示され、ＩＯＢＯＸ２Ｃは、待機状態で且つキャッシュメモリ２ｂＣのキャッシュメモリ使用量が５０パーセント未満であることにより状態ＳＩ１であり、状態表示部２ｅのＬＥＤ２ｅＣは緑色に表示され、ＩＯＢＯＸ２Ｄは、待機状態でないので状態ＳＩ３であり、状態表示部２ｅのＬＥＤ２ｅＤは赤色に表示される。
【００５５】
よって、本実施の形態によれば、各ＩＯＢＯＸのキャッシュメモリ使用量を取得して、各ＩＯＢＯＸにキャッシュメモリ２ｂの使用状態（空き容量状態）をＬＥＤ表示させるので、ユーザはキャッシュメモリ使用量の少ないＩＯＢＯＸが分かり、そのＩＯＢＯＸにＨＴを装着してデータ通信を行わせるため、ＩＯＢＯＸのキャッシュメモリ不足によるＨＴからの送信データ転送の中断を起こりにくくすることができる。
【００５６】
（第２の実施の形態）
本実施の形態を図７及び図８を参照して説明する。図７は、本実施の形態においてＲＡＭ２ｃに格納される情報の構成を示す図であり、図８は、第１のデータ転送処理を示すフローチャートである。本実施の形態の装置的特長は第１の実施の形態と同様であり、異なる部分を説明する。
【００５７】
各ＩＯＢＯＸ２Ａ〜２ＤのＣＰＵ２ａは、第１のデータ転送処理を実行する。第１のデータ転送処理の実行により、各ＩＯＢＯＸ２Ａ〜２ＤのＣＰＵ２ａは、ＨＴが装着されない場合に、各ＩＯＢＯＸのキャッシュメモリ２ｂの空き容量をＲＡＭ２ｃの空き容量情報レジスタＣ５に格納し、ＨＴが装着された場合に、ＨＴから送信データ容量を受信し、空き容量情報レジスタＣ５の空き容量を参照し、前記送信データが空き容量より大きい場合、送信データを受信してキャッシュメモリ２ｂに格納し、前記送信データが空き容量より大きくない場合、空き容量が最大のＩＯＢＯＸを検出してＨＴに当該ＩＯＢＯＸの番号を通知する（図８参照）。
【００５８】
図７に示すように、各ＩＯＢＯＸ２Ａ〜２ＤのＲＡＭ２ｃには、第１のデータ転送処理で用いる変数Ｎを格納するＢＯＸ指定メモリＣ４と、各ＩＯＢＯＸのキャッシュメモリ２ｂの空き容量を格納する空き容量情報レジスタＣ５と、ＨＴからの送信データの容量情報を格納するＨＴ送信容量レジスタＣ６と、ＨＴからの送信データそのものを格納するＨＴ送信蓄積データレジスタＣ７とを格納する。空き容量情報レジスタＣ５は、各ＩＯＢＯＸの数に対応してそれぞれ１〜ｎまで格納させるが、本実施の形態においてはＩＯＢＯＸ２Ａ〜２Ｄがそれぞれ１〜４に対応するものとする。
【００５９】
なお、以下、送信データとはＨＴ１Ａ〜１ＦからＩＯＢＯＸ２Ａ〜２Ｄ（を介してホストコンピュータ３）へ送信するデータであるものとする。これは以下の実施の形態でも同様である。
【００６０】
ここで、図８を参照してＨＴシステムαの動作を説明する。各ＩＯＢＯＸ２Ａ〜２Ｄは、第１のデータ転送処理を実行する。ここで、第１のデータ転送処理の実行主体のＩＯＢＯＸを自ＩＯＢＯＸとする。第１のデータ転送処理は、自ＩＯＢＯＸのキャッシュメモリ２ｂの空き容量が少なくＨＴ１Ａ〜１Ｆからデータを受信できない場合、他のＩＯＢＯＸにデータを転送する処理である。
【００６１】
第１のデータ転送処理は、各ＩＯＢＯＸ２Ａ〜２Ｄにおいて実行する処理であり、例えば、自ＩＯＢＯＸの電源投入されたことをトリガーとして、自ＩＯＢＯＸのＣＰＵ２ａは、記憶装置２ｄに記憶された第１のデータ転送処理のプログラムを読出して実行することにより開始される。以下、第１のデータ転送処理の実行主体を自ＩＯＢＯＸとする。
【００６２】
先ず、自ＩＯＢＯＸのＣＰＵ２ａは、ＩＯＢＯＸが接続されているかの情報を各ＩＯＢＯＸ２Ｂ〜２Ｄから通信ケーブル４、第２通信部２ｇを介して受信し、この台数＋１（自ＩＯＢＯＸを入れる）をＩＯＢＯＸ台数であるとし、また、装着検出部２ｉに、第１通信部２ｆにＨＴ１Ａ〜１Ｆのいずれかが装着されたことを問い合せることによりＨＴの接続をチェックする（ステップＴ１）。そして、自ＩＯＢＯＸのＣＰＵ２ａは、ステップＴ１においてＨＴが装着されたか否かを判別する（ステップＴ２）。
【００６３】
ＨＴが装着されていない場合（ステップＴ２；ＮＯ）、自ＩＯＢＯＸのＣＰＵ２ａは、自ＩＯＢＯＸと他のＩＯＢＯＸから１つのＩＯＢＯＸを選択し、そのＩＯＢＯＸ番号をＮ＝１に設定する（ステップＴ３）。以下、Ｎは変数としてＲＡＭ２ｃ上でＢＯＸ指定メモリＣ４に適宜記憶及び書換えされる。
【００６４】
そして、自ＩＯＢＯＸのＣＰＵ２ａは、ステップＴ３で設定されたＩＯＢＯＸ（ＩＯＢＯＸＮとする）のキャッシュメモリ２ｂのキャッシュメモリ使用量を、通信ケーブル４、第２通信部２ｇを介して受信し、最大メモリ容量−受信したキャッシュメモリ使用量により、ＩＯＢＯＸＮの空き容量を取得する（ステップＴ４）。
【００６５】
そして、自ＩＯＢＯＸのＣＰＵ２ａは、ステップＴ４で取得されたＩＯＢＯＸＮの空き容量を、ＲＡＭ２ｃ上の空き容量情報レジスタＣ５に格納する（ステップＴ５）。そして、自ＩＯＢＯＸのＣＰＵ２ａは、ステップＴ３又はＴ７において全てのＩＯＢＯＸを選択したか否かを、ステップＴ１において取得したＩＯＢＯＸの接続台数を用いて判別する（ステップＴ６）。全てのＩＯＢＯＸを選択していない場合（ステップＴ６；ＮＯ）、自ＩＯＢＯＸのＣＰＵ２ａは、Ｎ＝Ｎ＋１を算出し、算出したＮに対応する新たなＩＯＢＯＸＮを選択し（ステップＴ７）、ステップＴ４へ戻る。全てのＩＯＢＯＸを選択した場合（ステップＴ６；ＹＥＳ）、ステップＴ１へ戻る。
【００６６】
ＨＴが装着された場合（ステップＴ２；ＹＥＳ）、自ＩＯＢＯＸのＣＰＵ２ａは、自ＩＯＢＯＸに装着されたＨＴの送信データを、そのＨＴから第１通信部２ｆを介して受信し、受信した送信データの容量をＲＡＭ２ｃのＨＴ送信データ容量レジスタＣ６に格納する（ステップＴ８）。そして、自ＩＯＢＯＸのＣＰＵ２ａは、ＲＡＭ２ｃに格納された空き容量情報レジスタＣ５を参照して、自ＩＯＢＯＸの空き容量情報を取得する（ステップＴ９）。
【００６７】
そして、自ＩＯＢＯＸのＣＰＵ２ａは、ステップＴ８において取得したＨＴの送信データの容量と、ステップＴ９において取得した自ＩＯＢＯＸの空き容量とを比較して、送信データ容量の方が大きいか否かを判別する（ステップＴ１０）。送信データ容量の方が大きくない場合（ステップＴ１０；ＮＯ）、自ＩＯＢＯＸのＣＰＵ２ａは、自ＩＯＢＯＸに装着されたＨＴの送信データそのものを、そのＨＴから第１通信部２ｆを介して受信し、受信した送信データそのものをＲＡＭ２ｃのＨＴ送信蓄積データレジスタＣ７に格納する（ステップＴ１１）。そして、自ＩＯＢＯＸのＣＰＵ２ａは、ステップＴ１１において格納したＨＴ送信蓄積データレジスタＣ７の送信データそのものをキャッシュメモリ２ｂに格納し（ステップＴ１２）、ステップＴ１へ戻る。
【００６８】
送信データ容量の方が大きい場合（ステップＴ１０；ＹＥＳ）、自ＩＯＢＯＸのＣＰＵ２ａは、ＲＡＭ２ｃに格納された空き容量情報レジスタＣ５を参照して、自ＩＯＢＯＸの他の最大空き容量のＩＯＢＯＸ（キャッシュメモリ使用量が最小のＩＯＢＯＸ）を検出する（ステップＴ１３）。そして、自ＩＯＢＯＸのＣＰＵ２ａは、ステップＴ１３において検出したＩＯＢＯＸ番号を、第１通信部２ｆを介して、自ＩＯＢＯＸに装着されたＨＴへ通知し（ステップＴ１４）、ステップＴ１へ戻る。
【００６９】
ステップＴ１４において、装着されたＨＴは、図示しない表示部に、ＩＯＢＯＸから受信したＩＯＢＯＸ番号を表示し、ＨＴのユーザは当該表示されたＩＯＢＯＸ番号を参照して、どのＩＯＢＯＸにＨＴを装着させればいいのかを知ることができる。また、状態表示部２ｅは、ＬＣＤ（Ｌｉｑｕｉｄ　Ｃｒｙｓｔａｌ　Ｄｉｓｐｌａｙ）等のディスプレイを有する構成とし、ステップＴ１４において、自ＩＯＢＯＸのＣＰＵ２ａは、ステップＴ１３において検出したＩＯＢＯＸ番号を、状態表示部２ｅに表示させる等の構成でもよい。
【００７０】
よって、本実施の形態によれば、各ＩＯＢＯＸにおいて、装着されたＨＴから送信される送信データをキャッシュメモリに格納しきれない場合は、その送信データを受信できる他の最大空き容量のＩＯＢＯＸをＨＴに送信してＨＴを介してユーザに通知するので、ユーザは送信データを受信可能なメモリ使用量の少ないＩＯＢＯＸが分かり、そのＩＯＢＯＸにＨＴを装着してデータ通信を行わせるため、ＩＯＢＯＸのキャッシュメモリ不足によるＨＴからの送信データ転送の中断を起こりにくくすることができる。
【００７１】
（第３の実施の形態）
本実施の形態を図９〜図１１を参照して説明する。図９は、本実施の形態においてＲＡＭ２ｃに格納される情報の構成を示す図であり、図１０は、第２のデータ転送処理を示すフローチャートであり、図１１は、第２のデータ転送処理のデータ転送例を示す図である。本実施の形態の装置的特長は第１の実施の形態と同様であり、異なる部分を説明する。
【００７２】
ＩＯＢＯＸ２ＡのＣＰＵ２ａは、第２のデータ転送処理を実行する。第２のデータ転送処理の実行により、ＩＯＢＯＸ２ＡのＣＰＵ２ａは、全ＩＯＢＯＸが待機状態の場合、各ＩＯＢＯＸのキャッシュメモリ使用量及び最小ファイル容量をＲＡＭ２ｃのメモリ容量レジスタＣ１０及びファイル容量レジスタＣ１１に格納し、メモリ容量レジスタＣ１０のキャッシュメモリ使用量の平均値Ｍを算出し、キャッシュメモリ使用量が最大及び最小のＩＯＢＯＸを検出し、最大キャッシュメモリ使用量Ａ−Ｍが、ファイル容量レジスタＣ１１から取得した最小ファイルＦの容量より大きい場合、最大ＩＯＢＯＸから最小ＩＯＢＯＸへ最小ファイルＦ転送させる（図１０参照）。
【００７３】
図９に示すように、ＩＯＢＯＸ２ＡのＲＡＭ２ｃには、第２のデータ転送処理で用いる変数Ｎを格納するＢＯＸ指定メモリＣ８と、各ＩＯＢＯＸのキャッシュメモリ２ｂのキャッシュメモリ使用量の平均値Ｍを格納する平均値メモリＣ９と、各ＩＯＢＯＸのキャッシュメモリ２ｂのキャッシュメモリ使用量を格納するメモリ容量レジスタＣ１０と、各ＩＯＢＯＸのキャッシュメモリ２ｂ内の最小ファイルの容量を格納するファイル容量レジスタＣ１１と、キャッシュメモリ使用量が最大のＩＯＢＯＸのキャッシュ使用量Ａ及びそのＩＯＢＯＸ番号を格納する最大容量情報Ｃ１２と、キャッシュメモリ使用量が最小のＩＯＢＯＸ番号を格納する最小容量ＢＯＸＣ１３と、キャッシュメモリ使用量が最大のＩＯＢＯＸＡの最小ファイルＦの容量を格納する最小ファイルＣ１４とを格納する。
【００７４】
メモリ容量レジスタＣ１０及びファイル容量レジスタＣ１１は、各ＩＯＢＯＸの数に対応してそれぞれ１〜ｎまで格納させるが、本実施の形態においてはＩＯＢＯＸ２Ａ〜２Ｄがそれぞれ１〜４に対応するものとする（全てのＩＯＢＯＸ２Ａ〜２Ｄが待機状態の場合）。
【００７５】
ここで、図１０を参照してＨＴシステムαの動作を説明する。ＩＯＢＯＸ２Ａは、第２のデータ転送処理を実行する。第２のデータ転送処理は、全ＩＯＢＯＸが待機状態になった場合、キャッシュメモリ使用量が最大のＩＯＢＯＸから最小のＩＯＢＯＸへファイルを転送する処理である。
【００７６】
第２のデータ転送処理は、マスタであるＩＯＢＯＸ２Ａにおいて所定期間毎に定期的に実行する処理であり、例えば、ＩＯＢＯＸ２Ａの電源投入されたことをトリガーとして、又は所定期間の経過後、ＩＯＢＯＸ２ＡのＣＰＵ２ａは、記憶装置２ｄに記憶された第２のデータ転送処理のプログラムを読出して実行することにより開始される。
【００７７】
先ず、ＣＰＵ２ａは、ＩＯＢＯＸが接続されているかの情報を各ＩＯＢＯＸ２Ｂ〜２Ｄから通信ケーブル４、第２通信部２ｇを介して受信し、この台数＋１（ＩＯＢＯＸ２Ａを入れる）をＩＯＢＯＸ接続台数であるとし、ＩＯＢＯＸが待機状態であるかの情報を各ＩＯＢＯＸ２Ｂ〜２Ｄから通信ケーブル４、第２通信部２ｇを介して受信し、前記接続台数中の、（ＩＯＢＯＸ２Ａを入れる）待機状態のＩＯＢＯＸの待機台数を取得する（ステップＵ１）。
【００７８】
ステップＵ１において、ＩＯＢＯＸ２Ａが待機状態であるかの情報は、装着検出部２ｉに問い合せる。そして、ＣＰＵ２ａは、ステップＵ１において取得した待機台数を用いて、全ＩＯＢＯＸ２Ａ〜２Ｄが待機状態であるか否かを判別する（ステップＵ２）。
【００７９】
全ＩＯＢＯＸが待機状態でない場合（ステップＵ２；ＮＯ）、第２のデータ転送処理を終了する。全ＩＯＢＯＸが待機状態である場合（ステップＵ２；ＹＥＳ）、ＣＰＵ２ａは、ＩＯＢＯＸ２Ａを含めてキャッシュメモリ２ｂの格納情報を取得する待機状態のＩＯＢＯＸを１つ選択し、その番号をＮ＝１と設定する（ステップＵ３）。以下、Ｎは変数としてＲＡＭ２ｃ上でＢＯＸ指定メモリＣ９に適宜記憶及び書換えされる。
【００８０】
そして、ＣＰＵ２ａは、ステップＵ３又はＵ６でＩＯＢＯＸ番号がＮの選択されたＩＯＢＯＸ（ここではＩＯＢＯＸＮと表現する）のキャッシュメモリ２ｂのキャッシュメモリ使用量を、ＩＯＢＯＸＮから通信ケーブル４、第２通信部２ｇを介して受信し、また同様にそのキャッシュメモリ２ｂ中の最小容量のファイルの容量を受信し、受信したキャッシュメモリ使用量をＲＡＭ２ｃのメモリ容量レジスタＣ１０に格納し、受信したファイル容量をＲＡＭ２ｃのファイル容量レジスタＣ１１に格納する（ステップＵ４）。
【００８１】
そして、ＣＰＵ２ａは、ステップＵ１において取得したＩＯＢＯＸ待機台数と、現在のＮが同じかにより、ＩＯＢＯＸＮが終端であるか否かを判別する（ステップＵ５）。ＩＯＢＯＸＮが終端でない場合（ステップＵ５；ＮＯ）、ＣＰＵ２ａは、Ｎ＝Ｎ＋１を算出して、当該新しいＮに対応するＩＯＢＯＸを選択し（ステップＵ６）、ステップＵ４へ進む。
【００８２】
なお、ステップＵ３又はＵ６において、ＩＯＢＯＸ２Ａを選択した場合、ステップＵ４において、キャッシュメモリ２ｂのキャッシュメモリ使用量及びファイル容量を取得及び格納する処理となる。
【００８３】
ＩＯＢＯＸＮが終端である場合（ステップＵ５；ＹＥＳ）、ＣＰＵ２ａは、ＲＡＭ２ｃに格納されたメモリ容量レジスタＣ１０の各ＩＯＢＯＸのキャッシュメモリ使用量の合計値を、ステップＵ１において取得したＩＯＢＯＸ待機台数で割ることにより平均値Ｍを取得し、ＲＡＭ２ｃの平均値メモリＣ９に格納する（ステップＵ７）。そして、ＣＰＵ２ａは、ＲＡＭ２ｃに格納されたメモリ容量レジスタＣ１０を参照して、キャッシュメモリ使用量が最大のＩＯＢＯＸを検出し、そのＩＯＢＯＸのキャッシュメモリ使用量ＡとＩＯＢＯＸ番号をＲＡＭ２ｃの最大容量情報Ｃ１２に格納する（ステップＵ８）。
【００８４】
そして、ＣＰＵ２ａは、ＲＡＭ２ｃに格納されたメモリ容量レジスタＣ１０を参照して、キャッシュメモリ使用量が最小のＩＯＢＯＸを検出し、そのＩＯＢＯＸ番号をＲＡＭ２ｃの最小容量Ｃ１３に格納する（ステップＵ９）。そして、ＣＰＵ２ａは、ＲＡＭ２ｃに格納されたファイル容量レジスタＣ１１を参照して、ステップＵ８において検出された最大ＩＯＢＯＸ中の最小ファイル容量Ｆを取得し、ＲＡＭ２ｃの最小ファイルＣ１４に格納する（ステップＵ１０）。
【００８５】
そして、ＣＰＵ２ａは、ステップＵ８において取得した最大容量Ａ−ステップＵ７において取得した平均値Ｍの値が、ステップＵ１１において取得した最小ファイル容量Ｆより大きいか否かを判別する（ステップＵ１１）。Ａ−Ｍが大きい場合（ステップＵ１１；ＹＥＳ）、ＣＰＵ２ａは、ステップＵ８において取得した最大ＩＯＢＯＸへ、ステップＵ９において取得した最小ＩＯＢＯＸ番号を第２通信部２ｇ及び通信ケーブル４を介して送信し、データ転送要求する（ステップＵ１２）。ステップＵ１２において、最小ＩＯＢＯＸ番号を受信した最大ＩＯＢＯＸは、最小ＩＯＢＯＸ番号のＩＯＢＯＸへ自身の最小ファイルを転送することとなる。
【００８６】
そして、ＩＯＢＯＸ２ＡのＣＰＵ２ａは、ＲＡＭ２メモリ容量レジスタＣ１０及びファイル容量レジスタＣ１１を、ステップＵ１２の処理に応じて変更し（ステップＵ１３）、ステップＵ８へ戻る。ステップＵ１３は、具体的には、メモリ容量レジスタＣ１０において、最大ＩＯＢＯＸのキャッシュメモリ使用量から最小ファイル容量を減算し、最小ＩＯＢＯＸのキャッシュメモリ使用量に最小ファイル容量を加算し、ファイル容量レジスタＣ１１においては、旧最大ＩＯＢＯＸの新最小ファイルを受信して、旧最大ＩＯＢＯＸのファイル容量を前記新最小ファイルに変更することとなる。Ａ−Ｍが小さい場合（ステップＵ１１；ＮＯ）、第２のデータ転送処理を終了する。
【００８７】
ここで、図１１を参照して第２のデータ転送処理の具体例を説明する。先ず、ステップＵ８において、最大ＩＯＢＯＸがＩＯＢＯＸ２Ｂと検出され、キャッシュメモリ２ｂＢのキャッシュメモリ使用量が最大容量Ａと検出され、ステップＵ９において、最小ＩＯＢＯＸがＩＯＢＯＸ２Ｃと検出され、ステップＵ１０において、最大ＩＯＢＯＸ２Ｂの最小ファイルＦ１が検出される。
【００８８】
そして、ステップＵ１１において、Ａ１−Ｍ＞Ｆ１であるので、ステップＵ１２において、マスタＩＯＢＯＸ２Ａは、ＩＯＢＯＸ２ＢにＩＯＢＯＸ番号２Ｃを送信し、ＩＯＢＯＸ２Ｂは、ファイルＦ１をＩＯＢＯＸ２Ｃへ転送する。これらの過程をＡ−Ｍ＞Ｆでなくなるまで繰り返すこととなる。
【００８９】
よって本実施の形態によれば、通信ケーブルに接続された複数のＩＯＢＯＸのキャッシュメモリ使用量を平均化できるので、ユーザがどのＩＯＢＯＸを使用してＨＴの送信データを格納させても、ＩＯＢＯＸのキャッシュメモリ不足によるＨＴからの送信データ転送の中断を起こりにくくすることができる。
【００９０】
なお、本実施の形態は、転送するファイルを決定する閾値として、キャッシュメモリ使用量の平均値Ｍを用いたが、実際の運用においては、使用されるファイルの種類と大きさがある程度限定される場合が考えられる。このため、転送するファイルの種類や転送できるファイルの上限を予め設定しておく等の、より運用的な構成にしてもよい。
【００９１】
（第４の実施の形態）
本実施の形態を図１２〜図１６を参照して説明する。図１２は、本実施の形態においてＲＡＭ２ｃに格納される情報の構成を示す図であり、図１３は、第３のデータ転送処理を示すフローチャートであり、図１４は、第３のデータ転送処理のデータ転送例を示す図であり、図１５は、第４のデータ転送処理を示すフローチャートであり、図１６は、第５のデータ転送処理を示すフローチャートである。本実施の形態の装置的特長は第１の実施の形態と同様であり、異なる部分を説明する。
【００９２】
各ＩＯＢＯＸ２Ａ〜２ＤのＣＰＵ２ａは、第３のデータ転送処理を実行する。第３のデータ転送処理の実行により、各ＩＯＢＯＸのＣＰＵ２ａは、ＨＴが装着された場合、ＨＴから送信データ容量を受信し、空き容量が送信データ容量より大きい場合、ＨＴから送信データを受信してキャッシュメモリ２ｂに格納し、空き容量が送信データ容量より大きくない場合、空き容量が送信データ容量より大きいＩＯＢＯＸを探索し、ＨＴから送信データを受信して当該空き容量が十分大きいＩＯＢＯＸに転送する（図１３参照）。
【００９３】
図１２に示すように、各ＩＯＢＯＸ２Ａ〜２ＤのＲＡＭ２ｃには、各ＩＯＢＯＸのキャッシュメモリ２ｂの空き容量を格納する空き容量レジスタＣ１５と、ＨＴからの送信データ容量を格納するＨＴ送信データ容量レジスタＣ１６と、ＨＴからの送信データそのものを格納するＨＴ送信蓄積データレジスタＣ１７とを格納する。
【００９４】
ここで、図１３を参照してＨＴシステムαの動作を説明する。各ＩＯＢＯＸは、第３のデータ転送処理を実行する。第３のデータ転送処理の実行主体のＩＯＢＯＸを自ＩＯＢＯＸとする。第３のデータ転送処理は、自ＩＯＢＯＸにＨＴ１Ａ〜１Ｆが装着されて、自ＩＯＢＯＸのキャッシュメモリ２ｂに十分な空きが無い場合、キャッシュメモリ２ｂに十分な空き容量があるＩＯＢＯＸへ送信データを転送する処理である。
【００９５】
第３のデータ転送処理は、各ＩＯＢＯＸにおいて実行する処理であり、例えば、自ＩＯＢＯＸの電源投入されたことをトリガーとして、自ＩＯＢＯＸのＣＰＵ２ａは、記憶装置２ｄに記憶された第３のデータ転送処理のプログラムを読出して実行することにより開始される。
【００９６】
先ず、自ＩＯＢＯＸのＣＰＵ２ａは、装着検出部２ｉに、ＨＴ１Ａ〜１Ｆが新たに自ＩＯＢＯＸに第１通信部２ｆを介して装着されたかを問合せ、装着されたＨＴ１Ａ〜１Ｆを検出されたか否かを判別する（ステップＶ１）。装着されたＨＴ１Ａ〜１Ｆが検出されない場合（ステップＶ１；ＮＯ）、ステップＶ１へ戻る。
【００９７】
装着されたＨＴ１Ａ〜１Ｆが検出された場合（ステップＶ１；ＹＥＳ）、自ＩＯＢＯＸのＣＰＵ２ａは、装着されたＨＴから送信データ容量を第１通信部２ｆを介して受信し、受信した送信データ容量をＲＡＭ２ｃのＨＴ送信データ容量レジスタＣ１６に格納する（ステップＶ２）。
【００９８】
そして、自ＩＯＢＯＸのＣＰＵ２ａは、自ＩＯＢＯＸのキャッシュメモリ２ｂにキャッシュメモリ使用量を出力させ、最大キャッシュメモリ容量−出力されたキャッシュメモリ使用量により得られる空き容量が、ＲＡＭ２ｃのＨＴ送信データ容量レジスタＣ１６に格納された送信データ容量より大きいか否かを判別する（ステップＶ３）。
【００９９】
空き容量が大きい場合（ステップＶ３；ＹＥＳ）、自ＩＯＢＯＸのＣＰＵ２ａは、装着されたＨＴから送信データそのものを第１通信部２ｆを介して受信し、受信した送信データ容量をＲＡＭ２ｃのＨＴ送信蓄積データ容量レジスタＣ１７に格納する（ステップＶ４）。
【０１００】
そして、自ＩＯＢＯＸのＣＰＵ２ａは、ステップＶ４においてＲＡＭ２ｃのＨＴ送信蓄積データ容量レジスタＣ１７に格納された送信データそのものを、キャッシュメモリ２ｂに格納し（ステップＶ５）、ステップＶ１へ戻る。
【０１０１】
空き容量が大きくない場合（ステップＶ３；ＮＯ）、自ＩＯＢＯＸのＣＰＵ２ａは、自ＩＯＢＯＸに接続された接続ＩＯＢＯＸがあるかの情報を通信ケーブル４、第２通信部２ｇを介して受信し、当ステップで未探索の接続ＩＯＢＯＸを探索する（ステップＶ６）。そして、自ＩＯＢＯＸのＣＰＵ２ａは、ステップＶ６において未探索の接続ＩＯＢＯＸが発見されたか否かを判別する（ステップＶ７）。
【０１０２】
未探索の接続ＩＯＢＯＸがある場合（ステップＶ７；ＹＥＳ）、自ＩＯＢＯＸのＣＰＵ２ａは、発見された接続ＩＯＢＯＸのキャッシュメモリ２ｂのキャッシュメモリ使用量を通信ケーブル４、第２通信部２ｇを介して受信し、最大キャッシュメモリ使用量−受信したキャッシュメモリ使用量から空き容量を算出して、算出された探索ＩＯＢＯＸの空き容量をＲＡＭ１ｃの空き容量レジスタＣ１５に書込む（ステップＶ８）。
【０１０３】
そして、自ＩＯＢＯＸのＣＰＵ２ａは、ステップＶ８において算出された空き容量が、ステップＶ２において受信した送信データ容量よりも大きいか否かを判別する（ステップＶ９）。空き容量が大きくない場合（ステップＶ９；ＮＯ）、ステップＶ１へ戻る。
【０１０４】
空き容量が大きい場合（ステップＶ９；ＹＥＳ）、自ＩＯＢＯＸのＣＰＵ２ａは、装着されたＨＴから送信データそのものを第１通信部２ｆを介して受信し、受信した送信データ容量をＲＡＭ２ｃのＨＴ送信蓄積データ容量レジスタＣ１７に格納する（ステップＶ１０）。そして、自ＩＯＢＯＸのＣＰＵ２ａは、ステップＶ１０において格納されたＨＴ送信蓄積データ容量レジスタＣ１７上の送信データを、ステップＶ６で探索された空き容量の大きいＩＯＢＯＸへ、第２通信部２ｇ、通信ケーブル４を介して送信し（ステップＶ１１）、ステップＶ１へ戻る。ステップＶ１１において、送信データを受信したＩＯＢＯＸは、受信した送信データをキャッシュメモリ２ｂに格納する。
【０１０５】
未探索の接続ＩＯＢＯＸがない場合（ステップＶ７；ＮＯ）、自ＩＯＢＯＸのＣＰＵ２ａは、空き容量の大きなＩＯＢＯＸが存在しなく、送信データ転送不可の旨のエラーメッセージを状態表示部２ｅに表示させる（ステップＶ１２）。ステップＶ１２は、例えば、状態表示部２ｅのＬＥＤの点灯によりエラーメッセージを表示するが、これに限るものでなく、状態表示部２ｅがメッセージ表示可能なＬＣＤを備えて、エラーメッセージを表示させる構成などでもよい。そして、自ＩＯＢＯＸのＣＰＵ２ａは、空き容量の大きなＩＯＢＯＸが存在しない旨を装着されたＨＴへ通知させ（ステップＶ１３）、ステップＶ１へ戻る。
【０１０６】
ここで、図１４を参照して本実施の形態のデータ転送例を説明する。図１４に示すように、第３のデータ転送処理のステップＶ１において、ＩＯＢＯＸ２ＢにＨＴ１Ａが装着され、ステップＶ３において、ＩＯＢＯＸ２Ｂのキャッシュメモリ２ｂＢの空き容量がＨＴ１Ａからの送信データ容量よりも小さい場合、ステップＶ６において、未探索の接続ＩＯＢＯＸを探索し、ＩＯＢＯＸ２Ｃを探索した場合、ステップＶ９において、キャッシュメモリ２ｂＣの空き容量が前記送信データ容量より大きいと判別された場合、ステップＶ１０においてＩＯＢＯＸ２ＢはＨＴ１Ａから送信データを受信し、ステップＶ１１においてＩＯＢＯＸ２Ｂは送信データをＩＯＢＯＸ２Ｃへ送信する。その後、ＩＯＢＯＸ２Ｃは、受信した送信データをキャッシュメモリ２ｂＣへ格納する。
【０１０７】
よって、本実施の形態によれば、各ＩＯＢＯＸにおいて、装着されたＨＴから送信される送信データをキャッシュメモリに格納しきれない場合は、当該送信データを格納できるＩＯＢＯＸを検索し、検索されたＩＯＢＯＸに前記送信データを転送するので、ＩＯＢＯＸのキャッシュメモリ不足によるＨＴからの送信データ転送の中断を起こりにくくすることができる。
【０１０８】
次に、本実施の形態の変形例を説明する。先ず、図１５を参照して第１の変形例を説明する。本変形例は、上記の第４の実施の形態を変形した構成であり、異なる部分を説明する。先ず、ＲＡＭ２ｃには、空き容量レジスタＣ１５、ＨＴデータ容量レジスタＣ１６、ＨＴ送信蓄積データレジスタＣ１７に加えて、他ＩＯＢＯＸの空き容量のリストを格納する他ＩＯＢＯＸ空き容量リストレジスタを格納する。
【０１０９】
各ＩＯＢＯＸ２Ａ〜２ＤのＣＰＵ２ａは、第４のデータ転送処理を実行する。第４のデータ転送処理の実行により、各ＩＯＢＯＸのＣＰＵ２ａは、各ＩＯＢＯＸのＣＰＵ２ａは、ＨＴが装着された場合、ＨＴから送信データ容量を受信し、空き容量が送信データ容量より大きい場合、ＨＴから送信データを受信してキャッシュメモリ２ｂに格納し、空き容量が送信データ容量より大きくない場合、他のＩＯＢＯＸのキャッシュメモリの空き容量を示す他ＢＯＸ空き容量リストを作成し、ＨＴから送信データを受信して、他ＢＯＸ空き容量リスト中の、送信データ格納可能で最小空き容量のＩＯＢＯＸに送信データを転送する（図１５参照）。
【０１１０】
ここで、図１５を参照して、ＨＴシステムαの動作を説明する。各ＩＯＢＯＸは、第４のデータ転送処理を実行する。第４のデータ転送処理の実行主体のＩＯＢＯＸを自ＩＯＢＯＸとする。第４のデータ転送処理は、自ＩＯＢＯＸにＨＴ１Ａ〜１Ｆが装着され、自ＩＯＢＯＸのキャッシュメモリ２ｂに十分な空きが無い場合、キャッシュメモリ２ｂに十分な空き容量があり、且つ空き容量が最小のＩＯＢＯＸへ送信データを転送する処理である。
【０１１１】
第４のデータ転送処理は、各ＩＯＢＯＸにおいて実行する処理であり、例えば、自ＩＯＢＯＸの電源投入されたことをトリガーとして、自ＩＯＢＯＸのＣＰＵ２ａは、記憶装置２ｄに記憶された第４のデータ転送処理のプログラムを読出して実行することにより開始される。
【０１１２】
先ず、図１５に示すステップＶ２１〜Ｖ２８は、第３のデータ転送処理におけるステップＶ１〜Ｖ８とそれぞれ同様である。そして、自ＩＯＢＯＸのＣＰＵ２ａは、ステップＶ２６において探索されたＩＯＢＯＸの番号と、当該ＩＯＢＯＸの番号に対応する、ステップＶ２８において算出された空き容量とからなる他ＢＯＸ空き容量リストを作成又は更新し、ＲＡＭ２ｃ上の他ＢＯＸ空き容量リストレジスタに格納し（ステップＶ２９）、ステップＶ２６へ戻る。
【０１１３】
未探索の接続ＩＯＢＯＸがない場合（ステップＶ２７；ＮＯ）、自ＩＯＢＯＸのＣＰＵ２ａは、ＲＡＭ２ｃの他ＢＯＸ空き容量リストレジスタ上にステップＶ２９において作成された他ＢＯＸ空き容量リストがあるか否かを判別する（ステップＶ３０）。他ＢＯＸ空き容量リストがある場合（ステップＶ３０；ＹＥＳ）、自ＩＯＢＯＸのＣＰＵ２ａは、ＲＡＭ２ｃの他ＢＯＸ空き容量リストレジスタ上の他ＢＯＸ空き容量リストを参照して、他ＢＯＸ空き容量リスト上の未検索の最小空き容量のＩＯＢＯＸを検索する（ステップＶ３１）。
【０１１４】
そして、自ＩＯＢＯＸのＣＰＵ２ａは、ステップＶ３１において検索された未検索の最小空き容量のＩＯＢＯＸの空き容量が、ステップＶ２において受信した送信データの容量より大きいか否かを判別する（ステップＶ３２）。未検索の最小空き容量のＩＯＢＯＸの空き容量が大きい場合（ステップＶ３２；ＹＥＳ）、自ＩＯＢＯＸのＣＰＵ２ａは、自ＩＯＢＯＸに装着されたＨＴから第１通信部２ｆを介して送信データそのものを受信し、ＲＡＭ２ｃの送信蓄積データレジスタＣ１７に格納する（ステップＶ３３）。
【０１１５】
そして、自ＩＯＢＯＸのＣＰＵ２ａは、ステップＶ３３において受信した送信データをステップＶ３１において検索された、送信データ容量より大きい空き容量が最小のＩＯＢＯＸに、第２通信部２ｇ及び通信ケーブル４を介して転送し（ステップＶ３４）、ステップＶ２１へ戻る。
【０１１６】
空き容量が大きくない場合（ステップＶ３２；ＮＯ）、自ＩＯＢＯＸのＣＰＵ２ａは、ステップＶ３１において検索されたＩＯＢＯＸが他ＢＯＸ空き容量リストの最後に残ったＩＯＢＯＸであるか否かを判別する（ステップＶ３５）。最後に残ったＩＯＢＯＸである場合（ステップＶ３５；ＮＯ）、ステップＶ３１へ戻る。他ＢＯＸ空き容量リストの最後である場合（ステップＶ３５；ＹＥＳ）、ステップＶ３６へ進む。ステップＶ３６，Ｖ３７は、第３のデータ転送処理におけるステップＶ１２，Ｖ１３とそれぞれ同様である。他ＢＯＸ空き容量リストがない場合（ステップＶ３０；ＮＯ）、ステップＶ３６へ進む。
【０１１７】
よって、本変形例によれば、各ＩＯＢＯＸにおいて、装着されたＨＴから送信される送信データをキャッシュメモリに格納しきれない場合は、当該送信データを格納できる最小空き容量のＩＯＢＯＸを検索していき、検索された最小空き容量のＩＯＢＯＸに送信データを転送するので、空き容量の大きなＩＯＢＯＸを残しておくことができ、ＩＯＢＯＸのキャッシュメモリ不足によるＨＴからの送信データ転送の中断を起こりにくくすることができる。
【０１１８】
次に、図１６を参照して第２の変形例を説明する。本変形例は、前記第１の変形例と同様の構成であり、異なる部分を説明する。
【０１１９】
各ＩＯＢＯＸ２Ａ〜２ＤのＣＰＵ２ａは、第５のデータ転送処理を実行する。第５のデータ転送処理の実行により、各ＩＯＢＯＸのＣＰＵ２ａは、ＨＴが装着された場合、ＨＴから送信データ容量を受信し、空き容量が送信データ容量より大きい場合、ＨＴから送信データを受信してキャッシュメモリ２ｂに格納し、自空き容量が送信データ容量より大きくない場合、他ＩＯＢＯＸのキャッシュメモリの空き容量を示す他ＢＯＸ空き容量リストを作成し、ＨＴから送信データを受信して、他ＢＯＸ空き容量リスト中の、送信データ格納可能で最大空き容量のＩＯＢＯＸに送信データを転送する（図１６参照）。
【０１２０】
ＨＴシステムαの動作を説明する。各ＩＯＢＯＸは、第５のデータ転送処理を実行する。第５のデータ転送処理の実行主体のＩＯＢＯＸを自ＩＯＢＯＸとする。第５のデータ転送処理は、自ＩＯＢＯＸにＨＴ１Ａ〜１Ｆが装着された場合、自ＩＯＢＯＸのキャッシュメモリ２ｂに十分な空きが無い場合、キャッシュメモリ２ｂに十分な空き容量があり、且つ空き容量が最大のＩＯＢＯＸへ送信データを転送する処理である。
【０１２１】
第５のデータ転送処理は、各ＩＯＢＯＸにおいて実行する処理であり、例えば、自ＩＯＢＯＸの電源投入されたことをトリガーとして、自ＩＯＢＯＸのＣＰＵ２ａは、記憶装置２ｄに記憶された第５のデータ転送処理のプログラムを読出して実行することにより開始される。
【０１２２】
先ず、図１６に示すステップＶ４１〜Ｖ５０は、第４のデータ転送処理におけるステップＶ２１〜Ｖ３０とそれぞれ同様である。そして、他ＢＯＸ空き容量リストがある場合（ステップＶ５０；ＹＥＳ）、自ＩＯＢＯＸのＣＰＵ２ａは、ＲＡＭ２ｃの他ＢＯＸ空き容量リストレジスタ上の他ＢＯＸ空き容量リストを参照して、他ＢＯＸ空き容量リスト上の未検索の最大空き容量のＩＯＢＯＸを検索する（ステップＶ５１）。
【０１２３】
そして、未検索の最大空き容量のＩＯＢＯＸについて、ステップＶ５２〜Ｖ５４の各ステップを、未検索の最小空き容量のＩＯＢＯＸについての第４のデータ転送処理におけるステップＶ３２〜Ｖ３４とそれぞれ同様に行う。空き容量が大きくない場合（ステップＶ５２；ＮＯ）、ステップＶ５５へ進む。ステップＶ５５，Ｖ５６は、第４のデータ転送処理におけるステップＶ３６，Ｖ３７と同様である。他ＢＯＸ空き容量リストがない場合（ステップＶ５０；ＮＯ）、ステップＶ５５へ進む。
【０１２４】
よって、本変形例によれば、ＨＴから送信される送信データを装着先のＩＯＢＯＸのキャッシュメモリに格納しきれない場合は、前記送信データを格納できる最大空き容量のＩＯＢＯＸを検索していき、検索された最大空き容量のＩＯＢＯＸに送信データを転送するので、各ＩＯＢＯＸのキャッシュメモリ使用量を平均化することができ、ＩＯＢＯＸのキャッシュメモリ不足によるＨＴからの送信データ転送の中断を起こりにくくすることができる。
【０１２５】
（第５の実施の形態）
本実施の形態を図１７及び図１８を参照して説明する。図１７は、本実施の形態においてＲＡＭ２ｃに格納される情報の構成を示す図であり、図１８は、第６のデータ転送処理を示すフローチャートである。本実施の形態は、第４の実施の形態の第１の変形例と同様の構成であり、異なる部分を説明する。
【０１２６】
各ＩＯＢＯＸ２Ａ〜２ＤのＣＰＵ２ａは、第６のデータ転送処理を実行する。第６のデータ転送処理の実行により、ＣＰＵ２ａは、ＨＴが装着された場合、ＨＴから送信データ容量を受信し、自空き容量が送信データ容量より大きい場合、ＨＴから送信データを受信してキャッシュメモリ２ｂに格納し、自空き容量が送信データ容量より大きくない場合、他ＩＯＢＯＸのキャッシュメモリの空き容量を示す他ＢＯＸ空き容量リストを作成し、ＨＴから送信データを受信して、他ＢＯＸ空き容量リスト中の、送信データ格納可能で最小空き容量のＩＯＢＯＸに送信データを転送する。
【０１２７】
また、いずれのＩＯＢＯＸも送信データ格納可能でない場合、他ＢＯＸ空き容量リストを参照して他ＩＯＢＯＸの空き容量合計を算出し、自空き容量＋他ＩＯＢＯＸの空き容量合計が送信データ容量より大きい場合、ＨＴから送信データを受信し、当該送信データを分割してキャッシュメモリ２ｂ及び各ＩＯＢＯＸに分割送信データを転送する（図１８参照）。
【０１２８】
図１７に示すように、ＩＯＢＯＸ２ＡのＲＡＭ２ｃには、各ＩＯＢＯＸのキャッシュメモリ２ｂの空き容量を格納する空き容量レジスタＣ１８と、ＨＴからの送信データの容量情報を格納するＨＴ送信データ容量レジスタＣ１９と、他ＩＯＢＯＸの空き容量のリストを格納する他ＩＯＢＯＸ空き容量リストレジスタＣ２０と、他ＩＯＢＯＸ空き容量リストの空き容量合計を格納する他ＩＯＢＯＸ空き容量合計レジスタＣ２１と、ＨＴからの送信データそのものを格納するＨＴ送信蓄積データレジスタＣ２２とを格納する。
【０１２９】
ここで、図１８を参照してＨＴシステムαの動作を説明する。各ＩＯＢＯＸは、第６のデータ転送処理を実行する。第６のデータ転送処理の実行主体のＩＯＢＯＸを自ＩＯＢＯＸとし、自ＩＯＢＯＸのキャッシュメモリの空き容量を自空き容量とする。第６のデータ転送処理は、自ＩＯＢＯＸにＨＴ１Ａ〜１Ｆが装着され、自ＩＯＢＯＸのキャッシュメモリ２ｂに十分な空きが無い場合、送信データを分割して、他ＢＯＸ空き容量リスト中のＩＯＢＯＸへ分割した送信データを転送する処理である。
【０１３０】
第６のデータ転送処理は、各ＩＯＢＯＸにおいて実行する処理であり、例えば、自ＩＯＢＯＸの電源投入されたことをトリガーとして、自ＩＯＢＯＸのＣＰＵ２ａは、記憶装置２ｄに記憶された第６のデータ転送処理のプログラムを読出して実行することにより開始される。
【０１３１】
先ず、図１８に示すステップＸ１〜Ｘ１０は、第５のデータ転送処理におけるステップＶ２１〜Ｖ３０とそれぞれ同様である。そして、自ＩＯＢＯＸのＣＰＵ２ａは、他ＢＯＸ空き容量リストがある場合（ステップＸ１０；ＹＥＳ）、自ＩＯＢＯＸのＣＰＵ２ａは、ＲＡＭ２ｃの他ＢＯＸ空き容量リストレジスタＣ２０を参照し、他ＢＯＸ空き容量リスト中に、空き容量がステップＸ２において受信した送信データの容量よりも大きいＩＯＢＯＸがあるか否かを判別する（ステップＸ１１）。
【０１３２】
空き容量が送信データ容量よりも大きいＩＯＢＯＸがある場合（ステップＸ１１；ＹＥＳ）、自ＩＯＢＯＸのＣＰＵ２ａは、自ＩＯＢＯＸに装着されたＨＴから第１通信部２ｆを介して送信データそのものを受信し、ＲＡＭ２ｃの送信蓄積データレジスタＣ１７に格納する（ステップＸ１２）。そして、自ＩＯＢＯＸのＣＰＵ２ａは、ステップＸ１２において受信した、ＲＡＭ２ｃの送信蓄積データレジスタＣ１７上の送信データを、ステップＸ１１において判別された空き容量が送信データ容量よりも大きいＩＯＢＯＸに、第２通信部２ｇ及び通信ケーブル４を介して送信し（ステップＸ１３）、ステップＸ１へ戻る。
【０１３３】
空き容量が送信データ容量よりも大きいＩＯＢＯＸがない場合（ステップＸ１１；ＮＯ）、自ＩＯＢＯＸのＣＰＵ２ａは、ＲＡＭ２ｃの他ＢＯＸ空き容量リストレジスタＣ２０の他ＢＯＸ空き容量リスト上の全てのＩＯＢＯＸの空き容量の合計を算出し、算出した他ＩＯＢＯＸ空き容量合計をＲＡＭ２ｃ上の他ＢＯＸ空き容量合計レジスタＣ２１へ格納する（ステップＸ１４）。
【０１３４】
そして、自ＩＯＢＯＸのＣＰＵ２ａは、自ＩＯＢＯＸのキャッシュメモリ２ｂのキャッシュメモリ使用量から自空き容量を算出し、当該自空き容量＋ステップＸ１４で算出した他ＩＯＢＯＸ空き容量合計が、ステップＸ２で受信した送信データ容量よりも大きいか否かを判別する（ステップＸ１５）。自空き容量＋他ＩＯＢＯＸ空き容量合計が大きい場合（ステップＸ１５；ＹＥＳ）、自ＩＯＢＯＸのＣＰＵ２ａは、自ＩＯＢＯＸに装着されたＨＴから第１通信部２ｆを介して、自空き容量分の分割送信データを受信し、受信した分割送信データをＲＡＭ２ｃのＨＴ送信蓄積データレジスタＣ２２へ格納する（ステップＸ１６）。
【０１３５】
そして、自ＩＯＢＯＸのＣＰＵ２ａは、ステップＸ１６においてＲＡＭ２ｃのＨＴ送信蓄積データレジスタＣ２２に格納された分割送信データをキャッシュメモリ２ｂへ格納する（ステップＸ１７）。そして、自ＩＯＢＯＸのＣＰＵ２ａは、ＲＡＭ２ｃの他ＢＯＸ空き容量リストレジスタ上の他ＢＯＸ空き容量リストを参照して、他ＢＯＸ空き容量リスト上の１つの未検索の空き容量ＢＯＸを検索し、当該検索したＩＯＢＯＸの空き容量をＲＡＭ２ｃの空き容量レジスタＣ１８に格納する（ステップＸ１８）。
【０１３６】
そして、自ＩＯＢＯＸのＣＰＵ２ａは、自ＩＯＢＯＸに装着されたＨＴから第１通信部２ｆを介して、ステップＸ１８において検索したＩＯＢＯＸの空き容量分の分割送信データを受信し、受信した分割送信データをＲＡＭ２ｃのＨＴ送信蓄積データレジスタＣ２２へ格納する（ステップＸ１９）。
【０１３７】
そして、自ＩＯＢＯＸのＣＰＵ２ａは、ステップＸ１９においてＲＡＭ２ｃのＨＴ送信蓄積データレジスタＣ２２に格納された分割送信データを、ステップＸ１８において検索したＩＯＢＯＸへ、第２通信部２ｇ、通信ケーブル４を介して転送する（ステップＸ２０）。そして、自ＩＯＢＯＸのＣＰＵ２ａは、第１通信部２ｆを介して、自ＩＯＢＯＸに装着されたＨＴから受信していない未受信の分割送信データがあるかの情報を受信し、装着されたＨＴから受信していない未受信の分割送信データがあるか否かを判別する（ステップＸ２１）。
【０１３８】
未受信の分割送信データがある場合（ステップＸ２１；ＹＥＳ）、ステップＸ１８へ戻る。未受信の分割送信データがない場合（ステップＸ２１；ＮＯ）、ステップＸ１へ戻る。自空き容量＋他ＩＯＢＯＸ空き容量合計が大きくない場合（ステップＸ１５；ＮＯ）、ステップＸ２２へ進む。ステップＸ２２，Ｘ２３は、第４のデータ転送処理におけるステップＶ３６，Ｖ３７と同様である。他ＢＯＸ空き容量リストがない場合（ステップＸ１０；ＮＯ）、ステップＸ２２へ進む。
【０１３９】
よって、本実施の形態によれば、各ＩＯＢＯＸにおいて、装着されたＨＴから送信される送信データを分割して、複数のＩＯＢＯＸへ分割送信データを転送して格納させるので、各ＩＯＢＯＸがＨＴから送信された送信データをそのキャッシュメモリに格納しきれない場合の当該送信データ転送の中断を起こりにくくすることができる。
【０１４０】
（第６の実施の形態）
本実施の形態を図１９〜図２１を参照して説明する。図１９は、本実施の形態においてＲＡＭ２ｃに格納される情報の構成を示す図であり、図２０は、第７のデータ転送処理を示すフローチャートであり、図２１は、第７のデータ転送処理におけるデータ転送例を示す図である。本実施の形態は、第１の実施の形態と同様の構成であり、異なる部分を説明する。
【０１４１】
マスタＩＯＢＯＸ２ＡのＣＰＵ２ａは、第７のデータ転送処理を実行する。第７のデータ転送処理の実行により、ＩＯＢＯＸ２ＡのＣＰＵ２ａは、ＨＴが装着されていなく、キャッシュメモリ２ｂが完全に空いている空き容量ＩＯＢＯＸがない場合、最小キャッシュメモリ使用量の最小ＩＯＢＯＸを探索し、当該最小ＩＯＢＯＸのキャッシュメモリ使用量が空き容量よりも大きい、最大のキャッシュメモリ使用量をもつＩＯＢＯＸを探索し、当該最大のキャッシュメモリ使用量をもつＩＯＢＯＸに最小ＩＯＢＯＸの格納データをデータ転送させる旨のデータ転送コマンドを、最小ＩＯＢＯＸへ送信する（図２０参照）。
【０１４２】
図１９に示すように、ＩＯＢＯＸ２ＡのＲＡＭ２ｃには、第７のデータ転送処理で用いる変数Ｉを格納する変数メモリＣ２３と、各ＩＯＢＯＸのキャッシュメモリ２ｂのキャッシュメモリ使用量を格納するメモリ容量レジスタＣ２４と、キャッシュメモリ使用量が最小のＩＯＢＯＸの番号を格納する最小容量ＢＯＸＣ２５と、変数メモリＣ２３に対応するＩＯＢＯＸ番号を格納するＢＯＸ指定メモリＣ２６とを格納する。メモリ容量レジスタＣ２４は、各ＩＯＢＯＸの数に対応してそれぞれ１〜ｎまで格納させるが、本実施の形態においてはＩＯＢＯＸ２Ａ〜２Ｄがそれぞれ１〜４に対応するものとする。
【０１４３】
ここで、図２０を参照してＨＴシステムαの動作を説明する。マスタＩＯＢＯＸ２Ａは、第７のデータ転送処理を実行する。第７のデータ転送処理は、ＩＯＢＯＸ２ＡにＨＴ１Ａ〜１Ｆが装着されない場合、各ＩＯＢＯＸのキャッシュメモリ２ｂ中の格納データを転送させて、キャッシュメモリ２ｂが完全に空いた空きＩＯＢＯＸを常に生成する処理である。
【０１４４】
第７のデータ転送処理は、マスタＩＯＢＯＸ２Ａにおいて実行する処理であり、例えば、ＩＯＢＯＸ２Ａの電源投入されたことをトリガーとして、ＩＯＢＯＸ２ＡのＣＰＵ２ａは、記憶装置２ｄに記憶された第７のデータ転送処理のプログラムを読出して実行することにより開始される。
【０１４５】
先ず、マスタＩＯＢＯＸ２ＡのＣＰＵ２ａは、装着検出部２ｉに、ＨＴ１Ａ〜１Ｆが新たにＩＯＢＯＸ２Ａに第１通信部２ｆを介して装着されたか否かを問合せ、装着されたＨＴ１Ａ〜１Ｆを検出されたか否かを判別する（ステップＹ１）。装着されたＨＴ１Ａ〜１Ｆが検出された場合（ステップＹ１；ＹＥＳ）、ＣＰＵ２ａは、装着されたＨＴから送信データを第１通信部２ｆを介して受信し、受信した送信データをキャッシュメモリ２ｂに格納し（ステップＹ２）、ステップＹ１へ戻る。
【０１４６】
装着されたＨＴ１Ａ〜１Ｆが検出されない場合（ステップＹ１；ＮＯ）、ＣＰＵ２ａは、各ＩＯＢＯＸのキャッシュメモリ使用量を各ＩＯＢＯＸから通信ケーブル４、第２通信部２ｇ介して取得し、取得した各ＩＯＢＯＸのキャッシュメモリ使用量をＲＡＭ２ｃのメモリ容量レジスタＣ２４に格納する（ステップＹ３）。ステップＹ３において、ＩＯＢＯＸ２Ａのキャッシュメモリ使用量は、キャッシュメモリ２ｂから直接取得する。
【０１４７】
そして、ＣＰＵ２ａは、ＲＡＭ２ｃのメモリ容量レジスタＣ２４を参照して、キャッシュメモリ２ｂが完全に空いている（キャッシュメモリ使用量が０）ＩＯＢＯＸ（空きＩＯＢＯＸとする）があるか否かを判別する（ステップＹ４）。空きＩＯＢＯＸがある場合（ステップＹ４；ＹＥＳ）、ステップＹ１へ戻る。
【０１４８】
空きＩＯＢＯＸがない場合（ステップＹ４；ＮＯ）、ＣＰＵ２ａは、ＲＡＭ２ｃのメモリ容量レジスタＣ２４を参照して、キャッシュメモリ使用量が最小のＩＯＢＯＸ（最小ＩＯＢＯＸとする）を検索し、検索した最小ＩＯＢＯＸの番号をＲＡＭ２ｃの最小容量ＢＯＸＣ２５へ格納する（ステップＹ５）。そして、ＣＰＵ２ａは、Ｉ＝１をＲＡＭ２ｃ上の変数メモリＣ２３に設定する（ステップＹ６）。以下、ＲＡＭ２ｃ上の変数メモリＣ２３はＩに対応して適時変更される。
【０１４９】
そして、ＣＰＵ２ａは、キャッシュメモリ使用量がＩ番目に大きいＩＯＢＯＸ（ＩＯＢＯＸＩとする）を検索する（ステップＹ７）。そして、ＣＰＵ２ａは、ステップＹ７において探索されたＩＯＢＯＸＩがあるか否かを判別する（ステップＹ８）。ＩＯＢＯＸＩがない場合（ステップＹ８；ＮＯ）、ステップＹ１へ戻る。
【０１５０】
ＩＯＢＯＸＩがある場合（ステップＹ８；ＹＥＳ）、ＣＰＵ２ａは、ＲＡＭ２ｃのメモリ容量レジスタＣ２４を参照して、ステップＹ７において探索されたＩＯＢＯＸＩの番号を取得し、ＲＡＭ２ｃ上のＢＯＸ指定メモリＣ２６へ格納する（ステップＹ９）。そして、ＣＰＵ２ａは、ＲＡＭ２ｃのメモリ容量レジスタＣ２４及びＢＯＸ指定メモリＣ２６を参照して、最小ＩＯＢＯＸのキャッシュメモリ使用量及びＩＯＢＯＸＩのキャッシュメモリ使用量を取得し、最大キャッシュメモリ容量−ＩＯＢＯＸＩのキャッシュメモリ使用量からＩＯＢＯＸＩの空き容量を算出し、最小ＩＯＢＯＸのキャッシュメモリ使用量が、ＩＯＢＯＸＩの空き容量よりも大きいか否かを判別する（ステップＹ１０）。
【０１５１】
最小ＩＯＢＯＸのキャッシュメモリ使用量が大きくない場合（ステップＹ９；ＮＯ）、ＣＰＵ２ａは、Ｉ＝Ｉ＋１を算出し、算出したＩをＲＡＭ２ｃ上の変数メモリＣ２３に設定し（ステップＹ１１）、ステップＹ７へ戻る。
【０１５２】
最小ＩＯＢＯＸのキャッシュメモリ使用量が大きい場合（ステップＹ９；ＮＯ）、ＣＰＵ２ａは、ＲＡＭ２ｃのＢＯＸ指定メモリＣ２６及び最小容量Ｃ２５を参照して、ＩＯＢＯＸＩのキャッシュメモリ２ｂに格納されている格納データを最小ＩＯＢＯＸへ転送させる旨の、最小ＩＯＢＯＸ番号を含むデータ転送コマンドを、第２通信部２ｇ及び通信ケーブル４を介してＩＯＢＯＸＩへ送信し（ステップＹ１２）、ステップＹ１へ戻る。
【０１５３】
ステップＹ１２の実行後、ＩＯＢＯＸＩは、ＩＯＢＯＸ２Ａからデータ転送コマンドを受信し、キャッシュメモリ２ｂに格納されている格納データを最小ＩＯＢＯＸへデータ転送し、最小ＩＯＢＯＸは、ＩＯＢＯＸＩから格納データを受信し、キャッシュメモリ２ｂに格納する。最小ＩＯＢＯＸは、自身が空きＩＯＢＯＸになった旨をユーザに伝えるため、例えば、状態表示部２ｅのＬＥＤを点灯する。
【０１５４】
ここで、図２１を参照して、本実施の形態のデータ転送例を説明する。図２１は、ＩＯＢＯＸ２Ａ，２Ｂ，２Ｃ，２Ｄそれぞれのキャッシュメモリ２ｂＡ，２ｂＢ，２ｂＣ，２ｂＤを通信ケーブル４で接続したイメージ図となっている。図２０のステップＹ５において最小ＩＯＢＯＸがＩＯＢＯＸ２Ｂであると探索され、ステップＹ７において探索されたＩＯＢＯＸがＩＯＢＯＸ２Ｃであると探索され、ステップＹ１０において、最小ＩＯＢＯＸ２Ｂのキャッシュメモリ使用量が最小ＩＯＢＯＸ２Ｃの空き容量よりも大きい場合、ＩＯＢＯＸ２Ａは、最小ＩＯＢＯＸ２Ｂへデータ転送コマンドを送信し、ＩＯＢＯＸ２Ｂは、ＩＯＢＯＸ２Ｃへ格納データを転送する。そして、ＩＯＢＯＸ２Ｂは、空きＩＯＢＯＸとなる。
【０１５５】
よって、本実施の形態によれば、空きＩＯＢＯＸを生成し、空きＩＯＢＯＸが常にキャッシュメモリの空き容量を確保されているので、ユーザは、空きＩＯＢＯＸにＨＴを装着させて送信データを転送させることができ、送信データ転送の中断を起こりにくくすることができる。
【０１５６】
なお、本実施の形態では、空きＩＯＢＯＸは１つである構成であるが、複数にする構成でもよい。
【０１５７】
（第７の実施の形態）
本実施の形態を図２２を参照して説明する。図２２は、本実施の形態におけるデータ転送例を示す図である。本実施の形態は、第６の実施の形態の構成と同様であるため、異なる部分を説明する。
【０１５８】
第６の実施の形態は、各ＩＯＢＯＸのうち固定しない空きＩＯＢＯＸを生成する構成であったが、本実施の形態は、各ＩＯＢＯＸのうち固定した空きＩＯＢＯＸを生成するものである。
【０１５９】
ここで、図２２を参照して、本実施の形態のデータ転送例を説明する。図２２は、ＩＯＢＯＸ２Ａ，２Ｂ，２Ｃ，２Ｄそれぞれのキャッシュメモリ２ｂＡ，２ｂＢ，２ｂＣ，２ｂＤを通信ケーブル４で接続したイメージ図となっている。この例では、ＩＯＢＯＸ２Ｂが固定された空きＩＯＢＯＸであるとする。また本実施の形態の処理の主体はマスタＩＯＢＯＸ２Ａであるとする。
【０１６０】
今、固定空きＩＯＢＯＸ２ＢにＨＴが装着された場合、固定空きＩＯＢＯＸ２Ｂに装着されたＨＴから送信データｂ１を一旦受信させてキャッシュメモリ２ｂＢに格納させる。そして、ＩＯＢＯＸ２Ａは、図２０の第７のデータ転送処理におけるステップＹ６〜Ｙ１１と同様に、固定空きＩＯＢＯＸ２Ｂ以外のＩＯＢＯＸで、且つ送信データｂ１を格納可能な最小の空き容量を持つＩＯＢＯＸを探索する。
【０１６１】
そして、送信データｂ１を格納可能な最小の空き容量を持つＩＯＢＯＸがＩＯＢＯＸ２Ｃである場合、図２２に示すように、固定空きＩＯＢＯＸ２Ｂに、キャッシュメモリ２Ｂｂに格納された送信データｂ１を、ＩＯＢＯＸ２Ｃへデータ転送させる。そして、固定空きＩＯＢＯＸ２Ｂは、例えば、キャッシュメモリ２Ｂｂが空き状態である旨をユーザに伝えるため、例えば、状態表示部２ｅのＬＥＤを点灯する。
【０１６２】
よって、本実施の形態によれば、予め決まった固定空きＩＯＢＯＸを生成し、固定空きＩＯＢＯＸが常にキャッシュメモリの空き容量を確保されているので、ユーザはＨＴの送信データを少なくとも固定空きＩＯＢＯＸに格納することができ、送信データ転送の中断を起こりにくくすることができる。
【０１６３】
なお、本実施の形態では、固定空きＩＯＢＯＸは１つである構成であるが、複数にする構成でもよい。
【０１６４】
（第８の実施の形態）
本実施の形態を図２３及び図２４を参照して説明する。図２３は、本実施の形態においてＲＡＭ２ｃに格納される情報の構成を示す図であり、図２４は、第８のデータ転送処理を示すフローチャートである。本実施の形態の装置的特長は、第１の実施の形態と同様の構成であり、異なる部分を説明する。
【０１６５】
ＩＯＢＯＸ２ＡのＣＰＵ２ａは、第６のデータ転送処理を実行する。第６のデータ転送処理の実行により、ＣＰＵ２ａは、ホストコンピュータ３からあるＨＴの送信データ取得のホスト要求がない場合、各ＩＯＢＯＸにおける、送信元がＨＴ毎のキャッシュメモリ使用量を、ＲＡＭ２ｃのＨＴメモリ容量レジスタＣ２８へ格納し、前記ホスト要求がある場合、ＨＴメモリ容量レジスタＣ２８を参照して、取得要求されたＨＴＬが送信元の送信データを、キャッシュメモリ２ｂに格納するＩＯＢＯＸのうち、最大の送信データを持つＩＯＢＯＸに、ＨＴＬに対応した格納データをホストコンピュータ３に転送させる旨の格納データ転送コマンドを送信する（図２４参照）。
【０１６６】
図１７に示すように、ＩＯＢＯＸ２ＡのＲＡＭ２ｃには、第８のデータ転送処理に用いる変数Ｉ，Ｊ，Ｊｍａｘ，Ｋ，Ｋｍａｘ，Ｌを格納する変数メモリＣ２７と、各ＩＯＢＯＸのキャッシュメモリ２ｂのキャッシュメモリ使用量を、送信元のＨＴ毎に格納するＨＴメモリ容量レジスタＣ２８とを格納する。ＨＴメモリ容量レジスタＣ２８は、各ＩＯＢＯＸの数に対応してそれぞれ１〜ｎまで格納させるＨＴメモリ容量レジスタＣ２８１〜ＨＴメモリ容量レジスタＣ２８ｎに分けられる。本実施の形態においてはＩＯＢＯＸ２Ａ〜２Ｄがそれぞれ１〜４に対応するものとする。
【０１６７】
また、各ＩＯＢＯＸのＨＴメモリ容量レジスタＣ２８１〜Ｃ２８ｎは、更に、送信元ＨＴの送信データ毎のキャッシュメモリ使用量として、ＨＴ１メモリ容量レジスタＣ２８１〜ＨＴｍメモリ容量レジスタＣ２８１、〜、ＨＴ１メモリ容量レジスタＣ２８ｎ〜ＨＴｍメモリ容量レジスタＣ２８ｎに分けて格納される。ここで、ＨＴは１〜ｍの番号があるものとし、本実施の形態においてはＨＴ１Ａ〜１Ｆがそれぞれ１〜５に対応するものとする。
【０１６８】
ここで、図２４を参照してＨＴシステムαの動作を説明する。マスタＩＯＢＯＸ２Ａは、第８のデータ転送処理を実行する。第８のデータ転送処理は、ＩＯＢＯＸ２Ａに、取得要求のあったＨＴの送信データをホストコンピュータ３へ転送する場合に、各ＩＯＢＯＸ中の前記要求のあったＨＴに対応し容量が最大の送信データを格納するＩＯＢＯＸから容量の降順に、そのＨＴの送信データをホストコンピュータ３へ転送させる処理である。
【０１６９】
第８のデータ転送処理は、マスタＩＯＢＯＸ２Ａにおいて実行する処理であり、例えば、ＩＯＢＯＸ２Ａの電源投入されたことをトリガーとして、ＩＯＢＯＸ２ＡのＣＰＵ２ａは、記憶装置２ｄに記憶された第８のデータ転送処理のプログラムを読出して実行することにより開始される。
【０１７０】
先ず、マスタＩＯＢＯＸ２ＡのＣＰＵ２ａは、第３通信部２ｈ、通信ケーブル５を介してホストコンピュータ３からの通信チェックをし、また、ＩＯＢＯＸが接続されているかの情報を各ＩＯＢＯＸ２Ｂ〜２Ｄから通信ケーブル４、第２通信部２ｇを介して受信し、この台数＋１（ＩＯＢＯＸ２Ａを入れる）をＩＯＢＯＸ接続台数であるとする（ステップＺ１）。そして、ＣＰＵ２ａは、ステップＺ１においてホストコンピュータ３からあるＨＴの取得要求があったか否かを判別する（ステップＺ２）。
【０１７１】
ホストコンピュータ３からＨＴの取得要求がない場合（ステップＺ２；ＮＯ）、ＣＰＵ２ａは、ＩＯＢＯＸの番号ＩについてＩ＝１を設定する（ステップＺ３）。以下、ＲＡＭ２ｃの変数メモリＣ２７に格納された変数Ｉ，Ｊ，Ｊｍａｘ，Ｋ，Ｋｍａｘ，Ｌは、本処理での変更に応じて適宜変更される。
【０１７２】
そして、ＣＰＵ２ａは、Ｉ番目のＩＯＢＯＸ（ＩＯＢＯＸＩとする）に格納された、送信元ＨＴ毎のキャッシュ使用量の情報である格納データ容量情報を、通信ケーブル４、第２通信部２ｇを介してＩＯＢＯＸＩから受信する（ステップＺ４）。そして、ＣＰＵ２ａは、ステップＺ４において受信したＩＯＢＯＸＩの格納データ容量情報を、ＲＡＭ２ｃのＨＴメモリ容量レジスタＣ２８Ｉに格納する（ステップＺ５）。
【０１７３】
そして、ＣＰＵ２ａは、ステップＺ１において取得したＩＯＢＯＸの接続台数を用いて、ステップＺ５において全ての接続ＩＯＢＯＸからの格納データ容量情報をＨＴメモリ容量レジスタＣ２８に格納したか（全てのＩについて格納したか）否かを判別する（ステップＺ６）。全ＩＯＢＯＸからの格納データ容量情報を格納していない場合（ステップＺ６；ＮＯ）、Ｉ＝Ｉ＋１を算出し、算出したＩを設定し（ステップＺ７）、ステップ４へ戻る。全ＩＯＢＯＸからの格納データ容量情報を格納した場合（ステップＺ６；ＹＥＳ）、ステップＺ１へ戻る。
【０１７４】
ホストコンピュータ３からＨＴの取得要求がある場合（ステップＺ２；ＹＥＳ）、ＣＰＵ２ａは、ステップＺ２において、ホストコンピュータ３から情報の取得要求されたＨＴの番号Ｌを取得する（ステップＺ８）。そして、ＣＰＵ２ａは、ＩＯＢＯＸの番号を示すＪを、Ｊ＝１に設定する（ステップＺ９）。そして、最大のキャッシュメモリ使用量のＩＯＢＯＸの番号を示すＪｍａｘをＪｍａｘ＝１に設定し、ＨＴからの最大の送信データ容量を示すＫｍａｘをＫｍａｘ＝０に設定する（ステップＺ１０）。
【０１７５】
そして、ＣＰＵ２ａは、番号ＪのＩＯＢＯＸＪのキャッシュメモリ２ｂに格納された、番号ＬのＨＴ（ＨＴＬとする）が送信元の送信データの送信データ容量を示すＫを、ＲＡＭ２ｃのＨＴＬメモリ容量レジスタＣ２８Ｊから取得する（ステップＺ１１）。そして、ＣＰＵ２ａは、ＫがＫｍａｘよりも大きいかを判別する（ステップＺ１２）。
【０１７６】
そして、ＣＰＵ２ａは、番号ＪのＩＯＢＯＸＪのキャッシュメモリ２ｂに格納された、番号ＬのＨＴ（ＨＴＬとする）が送信元の送信データの送信データ容量を示すＫを、ＲＡＭ２ｃのＨＴＬメモリ容量レジスタＣ２８Ｊから取得する（ステップＺ１１）。そして、ＣＰＵ２ａは、ＫがＫｍａｘよりも大きいか否かを判別する（ステップＺ１２）。
【０１７７】
ＫがＫｍａｘよりも大きい場合（ステップＺ１２；ＹＥＳ）、ＣＰＵ２ａは、Ｋ＝Ｋｍａｘに設定し、Ｊ＝Ｊｍａｘに設定する（ステップＺ１３）。そして、ＣＰＵ２ａは、Ｊ＝Ｊ＋１に設定する（ステップＺ１４）。ＫがＫｍａｘよりも大きくない場合（ステップＺ１２；ＮＯ）、ステップＺ１４へ進む。
【０１７８】
そして、ＣＰＵ２ａは、ステップＺ１において取得したＩＯＢＯＸの接続台数を用いて、ステップＺ１１〜Ｚ１４において全ての接続ＩＯＢＯＸについて処理を行ったか（全てのＪについて処理したか）否かを判別する（ステップＺ１５）。全ＩＯＢＯＸの処理を終了していない場合（ステップＺ１５；ＮＯ）、ステップＺ１１へ戻る。全ＩＯＢＯＸの処理を終了した場合（ステップＺ１５；ＹＥＳ）、ＣＰＵ２ａは、Ｋｍａｘ＝０（ＨＴＬが送信元である送信データが全ＩＯＢＯＸに格納されていない）であるかを判別する（ステップＺ１６）。Ｋｍａｘ＝０である場合（ステップＺ１６；ＹＥＳ）、ステップＺ１へ戻る。
【０１７９】
Ｋｍａｘ＝０でない場合（ステップＺ１６；ＮＯ）、ＣＰＵ２ａは、ＩＯＢＯＸＪｍａｘにそのキャッシュメモリ２ｂに格納された、ＨＴＬが送信元の送信データをホストコンピュータ３へ転送させる旨の格納データ転送コマンドを、第２通信部２ｇ、通信ケーブル４を介してＩＯＢＯＸＪｍａｘに送信する（ステップＺ１８）。そして、ＣＰＵ２ａは、ＲＡＭ２ｃのＨＴＬメモリ容量レジスタＣ２８Ｊｍａｘに格納された送信データ容量を０に変更し（ステップＺ１８）、ステップＺ９へ戻る。
【０１８０】
ステップＺ１８の実行後、ＩＯＢＯＸＪｍａｘは、格納データ転送コマンドをＩＯＢＯＸ２Ａから受信し、そのキャッシュメモリ２ｂに格納された、ＨＴＬが送信元の送信データをホストコンピュータ３へ通信ケーブル４，５を介して転送させる。ＩＯＢＯＸＪｍａｘがＩＯＢＯＸ２Ａの場合、通信ケーブル５のみを介してデータ転送する。
【０１８１】
よって、本実施の形態によれば、ホストコンピュータ３から送信データの取得要求のあったＨＴが送信元の送信データを格納するＩＯＢＯＸのうち、そのＨＴの容量の大きな送信データを格納するＩＯＢＯＸから、そのＨＴの送信データを優先的にホストコンピュータ３に転送するので、各ＩＯＢＯＸのキャッシュメモリの空き容量を平均化でき、各ＩＯＢＯＸがＨＴから送信された送信データをそのキャッシュメモリに格納しきれない場合の当該送信データ転送の中断を起こりにくくすることができる。
【０１８２】
なお、第１〜第８の実施の形態において、表示処理、第１〜第８のデータ転送処理の各プログラムをマスタＩＯＢＯＸ２Ａ、あるいは各ＩＯＢＯＸを主体として実行しているが、前記処理の各機能をＨＴシステムα内で実現できる構成であれば、プログラムの実行主体等は、他の構成をとってもよい。
【０１８３】
以上、本発明の実施の形態につき説明したが、本発明は、必ずしも上述した手段及び手法にのみ限定されるものではなく、本発明にいう目的を達成し、本発明にいう効果を有する範囲内において適宜に変更実施が可能なものである。
【０１８４】
【発明の効果】
請求項１又は８記載の発明によれば、各通信装置のメモリ使用量を取得して、各通信装置にメモリの使用状態を表示させるので、ユーザはメモリ使用量の少ない通信装置が分かり、その通信装置に携帯端末を装着してデータ通信を行わせて、通信装置のメモリ不足による携帯端末からのデータ転送の中断を起こりにくくすることができる。
【０１８５】
請求項３又は９記載の発明によれば、携帯端末から送信される送信データを通信装置のメモリに格納できる場合は、その送信データをその通信装置に受信させて格納させ、携帯端末から送信される送信データを通信装置のメモリに格納しきれない場合は、その送信データを格納できる他の通信装置をユーザに通知するので、ユーザはメモリ使用量の少ない通信装置が分かり、その通信装置に携帯端末を装着してデータ通信を行わせて、通信装置のメモリ不足による携帯端末からのデータ転送の中断を起こりにくくすることができる。
【０１８６】
請求項４又は１０記載の発明によれば、メモリ使用量の大きな第１の通信装置のメモリに格納されたデータを第２の通信装置へ転送してそのメモリに格納させて、複数の通信装置のメモリ使用量を平均化できるので、ユーザがどのような通信装置を使用して携帯端末のデータを格納させても、通信装置のメモリ不足による携帯端末からのデータ転送の中断を起こりにくくすることができる。
【０１８７】
請求項７又は１１記載の発明によれば、ホストコンピュータから送信データの取得要求のあった携帯端末が送信元の送信データをメモリに格納する通信装置のうち、その携帯端末に対応する容量の大きな送信データを格納する通信装置から、その携帯端末に対応する送信データを優先的にホストコンピュータに転送させるので、各通信装置のメモリの空き容量を平均化でき、通信装置のメモリ不足による携帯端末からのデータ転送の中断を起こりにくくすることができる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態におけるＨＴシステムαの構成を示す図である。
【図２】図１中のＩＯＢＯＸ２Ａ〜２Ｄの内部構成を示す図である。
【図３】第１の実施の形態においてＲＡＭ２ｃに格納される情報の構成を示す図である。
【図４】図３におけるメモリ状態レジスタＣ３の内部構成を示す図である。
【図５】状態表示処理を示すフローチャートである。
【図６】状態表示処理の結果例を示す図である。
【図７】第２の実施の形態においてＲＡＭ２ｃに格納される情報の構成を示す図である。
【図８】第１のデータ転送処理を示すフローチャートである。
【図９】第３の実施の形態においてＲＡＭ２ｃに格納される情報の構成を示す図である。
【図１０】第２のデータ転送処理を示すフローチャートである。
【図１１】第２のデータ転送処理のデータ転送例を示す図である。
【図１２】第４の実施の形態においてＲＡＭ２ｃに格納される情報の構成を示す図である。
【図１３】第３のデータ転送処理を示すフローチャートである。
【図１４】第３のデータ転送処理のデータ転送例を示す図である。
【図１５】第４のデータ転送処理を示すフローチャートである。
【図１６】第５のデータ転送処理を示すフローチャートである。
【図１７】第５の実施の形態においてＲＡＭ２ｃに格納される情報の構成を示す図である。
【図１８】第６のデータ転送処理を示すフローチャートである。
【図１９】第６の実施の形態においてＲＡＭ２ｃに格納される情報の構成を示す図である。
【図２０】第７のデータ転送処理を示すフローチャートである。
【図２１】第７のデータ転送処理におけるデータ転送例を示す図である。
【図２２】第７の実施の形態におけるデータ転送例を示す図である。
【図２３】第８の実施の形態においてＲＡＭ２ｃに格納される情報の構成を示す図である。
【図２４】第８のデータ転送処理を示すフローチャートである。
【符号の説明】
α…ＨＴシステム
１Ａ〜１Ｆ…ＨＴ
２Ａ〜２Ｄ…ＩＯＢＯＸ
２ａ…ＣＰＵ
２ｂ…キャッシュメモリ
２ｃ…ＲＡＭ
２ｄ…記憶装置
２ｅ…状態表示部
２ｆ…第１通信部
２ｇ…第２通信部
２ｈ…第３通信部
２ｊ…バス
３…ホストコンピュータ
４，５…通信ケーブル
【図１】
2004096150.tif 000003
【図２】
2004096150.tif 000004
【図３】
2004096150.tif 000005
【図４】
2004096150.tif 000006
【図５】
2004096150.tif 000007
【図６】
2004096150.tif 000008
【図７】
2004096150.tif 000009
【図８】
2004096150.tif 000010
【図９】
2004096150.tif 000011
【図１０】
2004096150.tif 000012
【図１１】
2004096150.tif 000013
【図１２】
2004096150.tif 000014
【図１３】
2004096150.tif 000015
【図１４】
2004096150.tif 000016
【図１５】
2004096150.tif 000017
【図１６】
2004096150.tif 000018
【図１７】
2004096150.tif 000019
【図１８】
2004096150.tif 000020
【図１９】
2004096150.tif 000021
【図２０】
2004096150.tif 000022
【図２１】
2004096150.tif 000023
【図２２】
2004096150.tif 000024
【図２３】
2004096150.tif 000025
【図２４】
2004096150.tif 000026