(57)【要約】【課題】ＦＴＰサーバが搭載されたＦＴＰ型処理装置において、処理装置のメディア接続部に接続された記憶メディアの接続状態を、プロトコルの拡張変更を何ら行なうことなくホスト装置側に、よりユーザーにわかりやすい形で通知できるようにすることにある。【解決手段】ホスト装置からのネットワークを介したＦＴＰ通信によるコマンドに従い、ＦＴＰ型処理装置に搭載されているメディア接続部に接続された記憶メディアの状態を反映した状態反映ファイル名を決定し、決定された状態反映ファイル名を持つファイルの存在を示す情報をホスト装置に送信する。【選択図】図１１
2008198122.tif 000002
【特許請求の範囲】
【請求項１】
メディア接続部を備えたＦＴＰ型処理装置であり、
ホスト装置からのネットワークを介したＦＴＰ通信によるコマンドに従い、前記メディア接続部に接続された記憶メディアに対し、少なくともファイル単位によるデータの読出し、書込みを行うＦＴＰサーバ手段を備え、
前記ＦＴＰ型処理装置の状態、または、前記メディア接続部へ接続された前記記憶メディアの状態を反映した状態反映ファイル名を決定する状態反映ファイル名決定手段を備え、
前記ＦＴＰサーバ手段は、決定された前記状態反映ファイル名を持つファイルの存在を示す情報を前記ホスト装置に送信することを特徴とするＦＴＰ型処理装置。
【請求項２】
前記状態反映ファイル名決定手段は、前記状態反映ファイル名を持つファイルを実在のファイルとして前記記憶メディア内に記憶することなく、状態反映ファイル名を決定する請求項１記載のＦＴＰ型処理装置。
【請求項３】
前記状態反映ファイル名決定手段は、前記状態反映ファイル名を、前記記憶メディアが使用可能な状態かを示すものとして決定することを特徴とする請求項１又は２に記載のＦＴＰ型処理装置。
【請求項４】
前記状態反映ファイル名決定手段は、前記メディア接続部への記憶メディアの接続状態を反映した状態反映ファイル名を決定する請求項３に記載のＦＴＰ型処理装置。
【請求項５】
前記状態反映ファイル名決定手段は、前記記憶メディアのフォーマット状態を反映した状態反映ファイル名を決定する請求項３に記載のＦＴＰ型処理装置。
【請求項６】
複数のメディア接続部が設けられ、
前記状態反映ファイル名決定手段は、前記状態反映ファイル名を、いずれのメディア接続部の状態、または、いずれのメディア接続部に接続された記憶メディアの状態を示すものか特定できるものとして決定する請求項１ないし５のいずれか１項に記載のＦＴＰ型処理装置。
【請求項７】
前記ＦＴＰ型処理装置は、前記メディア接続部に、種別の異なる前記記憶メディアを接続可能であり、
前記状態反映ファイル名決定手段は、前記状態反映ファイル名を、記憶メディアの種別が特定可能なものとして作成する請求項１ないし６記載のＦＴＰ型処理装置。
【請求項８】
前記ＦＴＰサーバ手段は、前記状態反映ファイル名を持つファイルがいずれのディレクトリに存在するかを示すディレクトリ情報を前記ホスト装置に送信する請求項１ないし請求項７のいずれか１項に記載のＦＴＰ型処理装置。
【請求項９】
前記記憶メディアが接続されていない状態で、前記ディレクトリ情報を、前記状態反映ファイル名を持つファイルが所定のディレクトリに存在することを示すものとして決定するディレクトリ情報決定手段を備え、
前記ＦＴＰサーバ手段は、決定されたディレクトリ情報を前記ホスト装置に送信する請求項８記載のＦＴＰ型処理装置。
【請求項１０】
前記記憶メディアが接続されている状態で、前記ディレクトリ情報を、前記記憶メディアを示すディレクトリとは異なるディレクトリに前記状態反映ファイル名を持つファイルが存在することを示すものとして決定する第２のディレクトリ情報決定手段を備え、
前記ＦＴＰサーバ手段は、決定されたディレクトリ情報を前記ホスト装置に送信する請求項８又は９に記載のＦＴＰ型処理装置。
【請求項１１】
前記ＦＴＰ型処理装置の状態、または、前記メディア接続部へ接続された前記記憶メディアの状態を反映するデータであり、前記状態反映ファイル名決定手段が決定した状態反映ファイル名に対応するデータである状態反映データを決定する状態反映データ決定手段を備え、
前記ＦＴＰサーバ手段は、状態反映ファイル名を持つファイルへのアクセス要求を受けたことを条件として、状態反映ファイル名に対応する状態反映データを返信することを特徴とする請求項１ないし１０のいずれか１項に記載のＦＴＰ型処理装置。
【請求項１２】
前記状態反映ファイル名決定手段は、前記状態反映ファイル名を、前記状態反映データの形式が特定可能なものとして作成する、請求項１１に記載のＦＴＰ型処理装置。
【請求項１３】
前記ネットワークを介して送信される印刷データに基づいて印刷を実行可能なネットワークプリンタに組み込まれてなる請求項１ないし請求項１２のいずれか１項に記載のＦＴＰ型処理装置。
【請求項１４】
ホスト装置と、
メディア接続部を備え、前記ホスト装置からのネットワークを介したＦＴＰ通信によるコマンドに従い、前記メディア接続部に接続された記憶メディアに対し、少なくともファイル単位によるデータの読出し、書込みを行うＦＴＰサーバ手段を備えたＦＴＰ型処理装置とからなり、
前記ＦＴＰ型処理装置は、前記ＦＴＰ型処理装置の状態、または、前記メディア接続部へ接続された前記記憶メディアの状態を反映した状態反映ファイル名を決定する状態反映ファイル名決定手段を備え、前記ＦＴＰサーバ手段は、決定された前記状態反映ファイル名を持つファイルの存在を示す情報を前記ホスト装置に送信し、
前記ホスト装置は、前記ＦＴＰ型処理装置から送信された状態反映ファイル名を表示装置に表示することを特徴とするＦＴＰシステム。
【請求項１５】
メディア接続部を備え、前記ホスト装置からのネットワークを介したＦＴＰ通信によるコマンドに従い、前記メディア接続部に接続された記憶メディアに対し、少なくともファイル単位によるデータの読出し、書込みを行うＦＴＰサーバ手段を備えたＦＴＰ型処理装置において、前記ＦＴＰ型処理装置の状態、または、前記メディア接続部へ接続された前記記憶メディアの状態を反映した状態反映ファイル名を決定し、決定された前記状態反映ファイル名を持つファイルの存在を示す情報を前記ホスト装置に送信し、
前記ホスト装置において、前記ＦＴＰ型処理装置から送信された状態反映ファイル名を表示装置に表示することを特徴とする状態表示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パーソナルコンピュータ（以下「ＰＣ」と略称する）やワークステーション等をホスト装置としてこれとＦＴＰ通信するＦＴＰ型処理装置、そのＦＴＰ型処理装置とホスト装置とからなるＦＴＰシステム、および、その状態表示方法に関する。
【背景技術】
【０００２】
【特許文献１】特開２００３−１７７９８７号公報
【０００３】
ＦＴＰ（File Transfer Protocol）にて、ファイルを転送する仕組みは従来より知られている（例えば、特許文献１参照）。
【０００４】
また、近年、フラッシュメモリなどの不揮発性メモリがカード型にパッケージングされたいわゆるメモリーカード（記憶メディアの一例）が広く知られている。このメモリーカードは、デジタルカメラや携帯音楽プレーヤーなどのデジタル機器に用いられるデータの記憶媒体として急速に普及している。メモリーカードの仕様は統一されておらず、例えば、コンパクトフラッシュ（登録商標、以下「ＣＦ」と略称する）、スマートメディア（登録商標、以下「ＳＭ」と略称する）、メモリースティック（登録商標、以下「ＭＳ」と略称する）、ＳＤメモリーカード（登録商標、以下「ＳＤ」と略称する）など、種々のものが市場に出回っている。
【０００５】
ＰＣなどはメモリーカードの読み書きを行なうメモリーカードリーダライタ（以下「リーダライタ」と略称する）と通信することで、リーダライタに接続された上記メモリーカードへのアクセスが可能となる。近年ではこうしたリーダライタを搭載した印刷装置なども普及しており、例えば、ＪＰＥＧ形式等で保存された画像データファイルを書き込んだメモリーカードをリーダライタに接続することで、ＰＣを経由せずに画像を直接印刷できるようになっている。
【０００６】
ＰＣなどにＦＴＰクライアントプログラムをインストールしておき、カードリーダ側にＦＴＰサーバプログラムを搭載しておけば、デジタルカメラやカメラ付き携帯電話の撮影画像データファイルの保存先として使用されるメモリーカードをリーダライタに接続することで、そのメモリーカードに保存されているデータファイルをＦＴＰによりＰＣへ転送することができる。つまり、リーダライタをＰＣの外付けＦＴＰ型処理装置として利用することが可能である。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、ＦＴＰにおいては、ＦＴＰサーバが記憶メディア（リムーバブルメディア、以下、単にメディアともいう）を取り扱うことを前提としたプロトコル設計がなされていない。従って、上記のようなＦＴＰ型処理装置（あるいはそれを搭載したプリンタなどの周辺デバイス）にＦＴＰサーバを搭載した場合、メディア接続部への記憶メディアの接続状態や、メディア接続部に接続された記憶メディアの状態をホストに通知することはできなかった。
【０００８】
例えば、ＰＣが、記憶メディア未接続のＦＴＰ型処理装置にアクセスしようとした場合、ＦＴＰ型処理装置は、ＰＣから受けた要求に従って扱うべきファイルや、ファイルを格納すべきディレクトリを記憶した記憶メディアを認識できないため、ＦＴＰにおける、要求されたリクエストはアクセス権限がファイルシステム側の理由で実行できないことを示すレスポンスコード「550」及びメッセージ列「You cannot change directory」が出力されることになる。
【０００９】
しかし、ＦＴＰに精通していない一般ユーザーがこのコードを見ても、スロットにメディアが接続されていないことがその原因であると把握することは不可能に近い。また、ＦＴＰに精通しているユーザーがこのコードを見ても、いくつも考えられる、アクセス権限やファイルシステム側の理由の何が原因なのかは判らない。
【００１０】
この原因は、従来のＦＴＰプロトコルに置いては、記憶メディアがない状態でＦＴＰサーバが動作していることを想定していなかったからに他ならない。
【００１１】
そこで、レスポンスコードの出力内容を、よりユーザーの理解しやすいものに変更するように、ＦＴＰプロトコル自体の拡張変更を行うことも考えられるが、もし拡張変更したとしても、大量に使用されている、既存のＦＴＰクライアントのユーザはその恩恵にあずかることは出来ない。また、プロトコルの拡張変更は、国際的な団体を通して承認を得る必要があり、非常に面倒である。
【００１２】
本発明の課題は、ＦＴＰ環境を前提として、ＦＴＰサーバが搭載されたＦＴＰ型処理装置側における記憶メディアの接続状態を、プロトコルの拡張変更を何ら行なうことなくホスト装置側に、よりユーザーにわかりやすい形で通知できるようにすることにある。
【課題を解決する手段】
【００１３】
上記の課題を解決するために、請求項１のＦＴＰ型処理装置は、メディア接続部を備え、ホスト装置からのネットワークを介したＦＴＰ通信によるコマンドに従い、前記メディア接続部に接続された記憶メディアに対し、少なくともファイル単位によるデータの読出し、書込みを行うＦＴＰサーバ手段を備え、前記ＦＴＰ型処理装置の状態、または、前記メディア接続部へ接続された前記記憶メディアの状態を反映した状態反映ファイル名を決定する状態反映ファイル名決定手段を備え、前記ＦＴＰサーバ手段は、決定された前記状態反映ファイル名を持つファイルの存在を示す情報を前記ホスト装置に送信することを特徴とする。
【００１４】
請求項２のＦＴＰ型処理装置は、請求項１記載のＦＴＰ型処理装置において、前記状態反映ファイル名決定手段は、前記状態反映ファイル名を持つファイルを実在のファイルとして前記記憶メディア内に記憶することなく、状態反映ファイル名を決定することを特徴とする。
【００１５】
請求項３のＦＴＰ型処理装置は、請求項１又は２に記載のＦＴＰ型処理装置において、前記状態反映ファイル名決定手段は、前記状態反映ファイル名を、前記記憶メディアが使用可能な状態かを示すものとして決定することを特徴とする。
【００１６】
請求項４のＦＴＰ型処理装置は、請求項３に記載のＦＴＰ型処理装置において、前記状態反映ファイル名決定手段は、前記メディア接続部への記憶メディアの接続状態を反映した状態反映ファイル名を決定することを特徴とする。
【００１７】
請求項５のＦＴＰ型処理装置は、請求項３に記載のＦＴＰ型処理装置において、前記状態反映ファイル名決定手段は、前記記憶メディアのフォーマット状態を反映した状態反映ファイル名を決定することを特徴とする。
【００１８】
請求項６のＦＴＰ型処理装置は、請求項１ないし５のいずれか１項に記載のＦＴＰ型処理装置において、複数のメディア接続部が設けられ、前記状態反映ファイル名決定手段は、前記状態反映ファイル名を、いずれのメディア接続部の状態、または、いずれのメディア接続部に接続された記憶メディアの状態を示すものか特定できるものとして決定することを特徴とする。
【００１９】
請求項７のＦＴＰ型処理装置は、請求項１ないし６のいずれか１項に記載のＦＴＰ型処理装置において、前記ＦＴＰ型処理装置は、前記メディア接続部に、種別の異なる前記記憶メディアを接続可能であり、前記状態反映ファイル名決定手段は、前記状態反映ファイル名を、記憶メディアの種別が特定可能なものとして作成することを特徴とする。
【００２０】
請求項８のＦＴＰ型処理装置は、請求項１ないし７のいずれか１項に記載のＦＴＰ型処理装置において、前記ＦＴＰサーバ手段は、前記状態反映ファイル名を持つファイルが、いずれのディレクトリに存在するかを示すディレクトリ情報を前記ホスト装置に送信することを特徴とする。
【００２１】
請求項９のＦＴＰ型処理装置は、請求項８に記載のＦＴＰ型処理装置において、前記記憶メディアが接続されていない状態で、前記ディレクトリ情報を、前記状態反映ファイル名を持つファイルが所定のディレクトリに存在することを示すものとして決定するディレクトリ情報決定手段を備え、前記ＦＴＰサーバ手段は、決定されたディレクトリ情報を前記ホスト装置に送信することを特徴とする。
【００２２】
請求項１０のＦＴＰ型処理装置は、請求項８又は９に記載のＦＴＰ型処理装置において、前記記憶メディアが接続されている状態で、前記ディレクトリ情報を、前記記憶メディアを示すディレクトリとは異なるディレクトリに前記状態反映ファイル名を持つファイルが存在することを示すものとして決定する第２のディレクトリ情報決定手段を備え、前記ＦＴＰサーバ手段は、決定されたディレクトリ情報を前記ホスト装置に送信することを特徴とする。
【００２３】
請求項１１のＦＴＰ型処理装置は、請求項１ないし１０のいずれか１項に記載のＦＴＰ型処理装置において、前記ＦＴＰ型処理装置の状態、または、前記メディア接続部へ接続された前記記憶メディアの状態を反映するデータであり、前記状態反映ファイル名決定手段が決定した状態反映ファイル名に対応するデータである状態反映データを決定する状態反映データ決定手段を備え、前記ＦＴＰサーバ手段は、状態反映ファイル名を持つファイルへのアクセス要求を受けたことを条件として、状態反映ファイル名に対応する状態反映データを返信することを特徴とする。
【００２４】
請求項１２のＦＴＰ型処理装置は、請求項１１に記載のＦＴＰ型処理装置において、前記状態反映ファイル名決定手段は、前記状態反映ファイル名を、前記状態反映データの形式が特定可能なものとして作成することを特徴とする。
【００２５】
請求項１３のＦＴＰ型処理装置は、請求項１ないし１２のいずれか１項に記載のＦＴＰ型処理装置において、前記ネットワークを介して送信される印刷データに基づいて印刷を実行可能なネットワークプリンタに組み込まれてなることを特徴とする。
【００２６】
請求項１４のＦＴＰシステムは、ホスト装置と、メディア接続部を備え、前記ホスト装置からのネットワークを介したＦＴＰ通信によるコマンドに従い、前記メディア接続部に接続された記憶メディアに対し、少なくともファイル単位によるデータの読出し、書込みを行うＦＴＰサーバ手段を備えたＦＴＰ型処理装置とからなり、前記ＦＴＰ型処理装置は、前記ＦＴＰ型処理装置の状態、または、前記メディア接続部へ接続された前記記憶メディアの状態を反映した状態反映ファイル名を決定する状態反映ファイル名決定手段を備え、前記ＦＴＰサーバ手段は、決定された前記状態反映ファイル名を持つファイルの存在を示す情報を前記ホスト装置に送信し、前記ホスト装置は、前記ＦＴＰ型処理装置から送信された状態反映ファイル名を表示装置に表示することを特徴とする。
【００２７】
請求項１５の状態表示方法は、メディア接続部を備え、前記ホスト装置からのネットワークを介したＦＴＰ通信によるコマンドに従い、前記メディア接続部に接続された記憶メディアに対し、少なくともファイル単位によるデータの読出し、書込みを行うＦＴＰサーバ手段を備えたＦＴＰ型処理装置において、前記ＦＴＰ型処理装置の状態、または、前記メディア接続部へ接続された前記記憶メディアの状態を反映した状態反映ファイル名を決定し、決定された前記状態反映ファイル名を持つファイルの存在を示す情報を前記ホスト装置に送信し、前記ホスト装置において、前記ＦＴＰ型処理装置から送信された状態反映ファイル名を表示装置に表示することを特徴とする。
【課題を解決するための手段及び発明の効果】
【００２８】
請求項１のＦＴＰ型処理装置、請求項１４のＦＴＰシステム、請求項１５の状態表示方法によれば、ＦＴＰ型処理装置におけるＦＴＰ型処理装置の状態、または、前記メディア接続部へ接続された前記記憶メディアの状態を示す状態反映ファイル名を持つファイルの存在を示す情報が（状態反映ファイル名を持つファイルを実際に存在させる必要はない、もちろん、存在させてもよい）ホスト装置に送信される。ホスト装置にはＦＴＰプロトコルに対応したＦＴＰクライアントが備えられており、ＦＴＰサーバから送信された情報に従って、少なくとも状態反映ファイル名を表示する（もちろん、状態反映ファイル名とともにアイコンを表示するなどしてもよい）機能を持っている。表示された状態反映ファイル名を見ることで、ホスト装置（およびＦＴＰ型処理装置）のユーザはＦＴＰ型処理装置の状態、または、前記メディア接続部へ接続された前記記憶メディアの状態を容易に知ることが出来る。
【００２９】
すなわち、ＦＴＰサーバが搭載されたＦＴＰ型処理装置側における記憶メディアの接続状態を、プロトコルの拡張変更を何ら行なうことなく、ユーザーにわかりやすい形で通知できる。
【００３０】
請求項２のＦＴＰ型処理装置によれば、記憶メディアの所有者が意図しないファイルを記憶メディアに記憶しないため、所有者に不快な思いをさせずにすむ。
【００３１】
また、記憶メディアが書き込み不可能であったり、容量不足だったとしても、記憶メディアの装置状態を、ユーザにわかりやすい形で通知できる。
【００３２】
請求項３のＦＴＰ型処理装置によれば、記憶メディアが使用可能な状態かを、ユーザにわかりやすい形で通知できる。
【００３３】
請求項４のＦＴＰ型処理装置によれば、ＦＴＰ型処理装置に接続された記憶メディアがフォーマットされているかどうかなどのフォーマット状態を、ユーザにわかりやすい形で通知できる。
【００３４】
これにより、ユーザは記憶メディアが使用可能かを知ることが出来る。
【００３５】
請求項５のＦＴＰ型処理装置によれば、ＦＴＰ型処理装置に記憶メディアが接続されているかどうかなどの接続状態を、ユーザにわかりやすい形で通知できる。
【００３６】
これにより、ユーザは記憶メディアが使用可能かを知ることが出来る。
【００３７】
請求項６のＦＴＰ型処理装置によれば、ＦＴＰ型処理装置に備えられた、どのメディア接続部についての情報であるかを、ユーザにわかりやすい形で通知できる。
【００３８】
これにより、ユーザはＦＴＰ型処理装置に接続した（あるいは接続したと思っている）記憶メディアの状況を、より正確に知ることが出来る。
【００３９】
請求項７のＦＴＰ型処理装置によれば、どの種類の記憶メディアについての情報であるかを、ユーザにわかりやすい形で通知できる。
【００４０】
これにより、ユーザはＦＴＰ型処理装置に接続した（あるいは接続したと思っている）記憶メディアの状況を、より正確に知ることが出来る。
【００４１】
請求項８のＦＴＰ型処理装置によれば、状態反映ファイル名がいずれのディレクトリに存在しているかを示す情報が（状態反映ファイル名を持つファイルを実際に存在させる必要はない、もちろん、存在させてもよい）ホスト装置に送信される。これにより、ホスト装置に備えられたＦＴＰクライアントはファイルがいずれのディレクトリに存在しているかを認識することができ、認識したディレクトリに状態反映ファイル名をもつファイルが存在するものとして表示することができる。
【００４２】
請求項９のＦＴＰ型処理装置によれば、ファイルを記憶する記憶メディアが接続されていない状態でも、状態反映ファイル名が所定のディレクトリに存在してことを示す情報がホスト装置に送信される。これにより、ＦＴＰ型処理装置に記憶メディアが接続されていない状態でも、ホスト装置は、ＦＴＰ型処理装置の状態、または、前記メディア接続部へ接続された前記記憶メディアの状態を示す状態反映ファイル名を表示する（もちろん、状態反映ファイル名とともにアイコンを表示するなどしてもよい）。
【００４３】
すなわち、ＦＴＰサーバが搭載されたＦＴＰ型処理装置側における記憶メディアの接続状態を、ＦＴＰ型処理装置に記憶メディアが接続されていない状態でも、ユーザーにわかりやすい形で通知できる。
【００４４】
請求項１０のＦＴＰ型処理装置によれば、ホスト装置は、状態反映ファイル名を持つファイルが記憶メディアを示すディレクトリとは異なるディレクトリに存在するものとして表示する。
【００４５】
これにより、ユーザは状態反映ファイル名を持つファイルが、記憶メディアに記憶されているファイルとは異なる、特殊な（状態通知用の）ファイルであると認識することができる。
【００４６】
したがって、ＦＴＰ型処理装置の状態、または、前記メディア接続部へ接続された前記記憶メディアの状態を示すファイル名にユーザの注意を惹くことができる。
【００４７】
更に言えば、状態反映ファイル名を持つファイルが、記憶メディアに記憶されているとユーザが誤解することによる不快感など、余計なトラブルを起こす心配も回避できる。
【００４８】
請求項１１のＦＴＰ型処理装置によれば、状態反映ファイル名を持つファイルへのアクセス要求元に、ＦＴＰ型処理装置の状態、または、前記メディア接続部へ接続された前記記憶メディアの状態を反映するデータである状態反映データが送信される。状態反映データは、ファイル名の形態に限らない形態で情報を格納できる。
【００４９】
これにより、アクセス要求元は、ファイル名の形態よりも詳細な情報や、ファイル名の形態よりも判りやすい、例えば図形などの形態で、ＦＴＰ型処理装置の状態、または、前記メディア接続部へ接続された前記記憶メディアの状態を示す情報を表示したり解析したりすることができる。
【００５０】
すなわち、アクセス要求元（およびＦＴＰ型処理装置）のユーザに、ファイル名の形態に限らない形態でＦＴＰ型処理装置の状態、または、前記メディア接続部へ接続された前記記憶メディアの状態を通知することができる。
【００５１】
特に、ＦＴＰクライアントを備えたホスト装置には、表示したファイルへのアクセス指示をユーザから受け、その指示に従ったアクセス要求をＦＴＰサーバに送信する機能および、取得したファイルの内容を表示する機能を当然備えている。このため、ユーザは、普段から使い慣れたＦＴＰクライアントのユーザインターフェースを使って、表示された状態反映ファイル名を持つファイルへのアクセス指示を行うだけで、ファイル名の形態に限らない形態でＦＴＰ型処理装置の状態、または、前記メディア接続部へ接続された前記記憶メディアの状態を知ることが出来る。
【００５２】
状態反映データの例としては、記憶メディアの記憶容量の残りを示した画像データなどが挙げられる。
【００５３】
請求項１２のＦＴＰ型処理装置によれば、ホスト装置に、状態反映データの形式が特定可能な状態反映ファイル名が送信される。
【００５４】
さまざまなデータ形式を持つファイルが存在することは知られている。状態反映データの形式が特定できることで、ホスト装置は、状態反映データの形式に合致した手順でＦＴＰ型処理装置の状態、または、前記メディア接続部へ接続された前記記憶メディアの状態を表示したり解析したりすることができる。
【００５５】
一般的なデータ形式として、.txt、.jpg、.pdf、.xlsなどが考えられる。
【発明を実施するための最良の形態】
【００５６】
以下、適宜図面を参照して本発明の実施形態に係るＦＴＰシステムについて説明する。なお、以下に説明するＦＴＰシステムの構成は、本発明を具現化するための単なる一例であり、本発明の要旨を変更しない範囲で構成を適宜変更できることは当然である。図１は、上記ＦＴＰシステム１の概略構成を示すブロック図である。ＦＴＰシステム１は、プリンタ８０と、該プリンタ８０をネットワークプリンタとして使用するホスト装置（パーソナルコンピュータ：以下、「ＰＣ］ともいう）３とがネットワーク４１０にて通信可能にされている。
【００５７】
なお、ネットワーク４１０は、図示したような有線のネットワークでもよいし、無線のネットワークでもよい。
【００５８】
図２は、プリンタ８０の外観構成を示すものである。該プリンタ８０は、いわゆる多機能装置（ＭＦＰ：Multi Function Peripheral）であり、ＦＴＰ型処理装置をなすマルチリーダライタ２をプリンタに組み込んだプリンタ複合機として構成されている。具体的には、装置前面にメディア接続用スロット（以下、単に「スロット」ともいう）１６〜１９が露出するように配設されたマルチリーダライタ２とを一体的に備えてなり、プリンタ機能、スキャナ機能、コピー機能及びファクシミリ機能などを有する。
【００５９】
なお、メディア接続用スロットに代えて、あるいは併設して、ＵＳＢ接続部を備え、記憶メディアとしてのＵＳＢメモリが接続できる構成でもよいし、無線接続部を備え、記憶メディアとしての無線機能を持ったメモリカードを接続できる構成でもよい。
【００６０】
プリンタ８０は、ＰＣ３とネットワーク接続されて、ＰＣ３とマルチリーダライタ２に挿入されたメモリーカードとの間でデータ通信を行なうリーダライタ装置として機能する。また、ＰＣ３（図１）から送信された印刷データに基づき、画像や文書を所定の用紙に印刷する。また、マルチリーダライタ２によってメモリーカード（記憶メディア）から読み取られた印刷データに基づいても、画像や文書を所定の用紙に印刷する（直接印刷）。また、スキャナ部により読み取られた画像データをＰＣ３へ送信したり、スキャナ部で読み取った画像を、印刷部を用いてコピーしたりすることも可能である。
【００６１】
プリンタ８０のマルチリーダライタ２は、図２に示すように、メディア接続用スロット１６〜１９として、第１メモリーカード１１を挿入するための第１スロット１６と、第２メモリーカード１２を挿入するための第２スロット１７と、第３メモリーカード１３を挿入するための第３スロット１８と、第４メモリーカード１４を挿入するための第４スロット１９とを備えている。
【００６２】
図３は、上記プリンタ８０の電気的構成を示すブロック図である。プリンタ８０は、その内部に、各構成部を制御するＣＰＵ３４と、制御プログラムや種々のデータ等を格納するＲＯＭ３５（本実施形態では、フラッシュメモリ等の不揮発性メモリにて構成している）と、ＣＰＵ３４による演算の作業領域となるＲＡＭ３７と、がバス３３を介して相互にデータ転送が可能なように接続されている。また、バス３３には、フラッシュメモリ制御用ＬＳＩを介して各スロット１６〜１９が接続されている。これらスロット１６〜１９に着脱可能に接続される各第１〜第４メモリーカード１１〜１４は、例えば、ＣＦ、ＳＭ、ＭＳ、ＳＤなど、データの書込み、書き換え、消去、読出しなどが可能なフラッシュメモリを搭載したカード型記憶メディアである。なお、上記のスロット１６〜１９は、いずれかの種類のメモリーカードを択一的に接続可能である。
【００６３】
バス３３には、印刷部８２、スキャナ部１３２、電話線Ｉ／Ｆ１３３、ＬＣＤ、キーボード及びカーソル移動キーなどからなる操作・表示部９１が繋がれている。さらに、バス３３には、ＬＡＮＩ／Ｆ２４が接続されている。ＬＡＮＩ／Ｆ２４は、第一のネットワークを介してホスト装置であるＰＣ３と接続している。複数のＰＣ３及びプリンタ８０はＴＣＰ／ＩＰネットワーク４１０にて相互接続されている（図１参照）。
【００６４】
ＲＯＭ３５には、マルチリーダライタ２の動作制御プログラム及び、印刷制御、スキャン制御、ＦＡＸ通信制御などを司る各々の制御プログラムが格納され、ＣＰＵ３４は、これらプログラムを、ＲＡＭ３７を実行エリアとして実行することで、プリンタ複合機としての総合的な動作制御を行なう。
【００６５】
ＲＯＭ３５にはさらに、ＦＴＰサーバプログラムが格納されている。また、ＴＣＰ／ＩＰネットワーク４１０上にてプリンタ８０が特定されるためのＩＰアドレス及びサブネットマスクもＲＯＭ３５に記憶されている。さらに、状態反映ファイル名決定プログラムもＲＯＭ３５に記憶されている。
【００６６】
メディア接続用スロット１６〜１９には、メモリーカード（記憶メディア）１１〜１４が接続される。また、ＰＣ３は、ハードディスクなどからなるローカルディスク３Ｌと、液晶ディスプレイなどからなるモニタ３Ｍとを備え、ローカルディスク３Ｌには、ＦＴＰクライアントプログラムが組み込まれたブラウザがインストールされている。
【００６７】
プリンタ８０側では、前述した各々の制御プログラムと、状態反映ファイル名決定プログラム、及びＦＴＰサーバプログラムが、ＣＰＵ３４で実行されることにより、ＦＴＰサーバ手段、状態反映ファイル名決定手段、がシステム上で実現されている。
【００６８】
以下、通信システム１におけるデータシーケンスを、図９のシーケンス図を用いて説明する。このシーケンス図は、ＰＣ３側でユーザーがＦＴＰクライアント機能が組み込まれたブラウザを立ち上げ、図５に示すように、プリンタ８０のノード名「ftp://brn_600789」を入力し、アクセスを開始させたときに始まる。なお、ＰＣ３側にノード名「ftp://brn_600789」へのショートカットを用意しておき、そのショートカットを操作することで、ブラウザが起動後そのままプリンタ８０へアクセスするよう構成していてもよい。
【００６９】
まず、ＰＣ３（ＦＴＰクライアント）はプリンタ８０（ＦＴＰサーバ）にアクセスするために、ＦＴＰに割り当てられた２１番ポートにてコネクトする（Ｊ１）。プリンタ８０はＰＣ３に対しユーザー名要求レスポンスを送信する（Ｊ２）。ＰＣ３はこれを受けてプリンタ８０にＦＴＰサーバにログインするためのユーザー名を送信する（Ｊ３）。
【００７０】
次に、プリンタ８０からＰＣ３にパスワード要求レスポンスを送信する（Ｊ４）。そして、該パスワード要求レスポンスを受けたＰＣ３からプリンタ８０に、該ホスト装置にて入力されたパスワードを送信する（Ｊ５）。プリンタ８０では、受信したパスワードとユーザー名とに基づいてログインユーザーを認証し、認証受理の場合に該ログインユーザーのＦＴＰサーバ（プリンタ８０）へのログインを許可する応答をＰＣ３へ返信する（Ｊ６）。
【００７１】
ＦＴＰサーバへのログインが許可されたＰＣ３は、続いて、ルートディレクトリへのアクセスを要求するコマンド「cd / (change directory root)」を発行する（Ｊ７）。このコマンドを受信したプリンタ８０は、ルートディレクトリへアクセスし（カレントディレクトリをルートディレクトリに変更することを試み）、成功したことを示すコードをＰＣ３へ返信する（Ｊ８）。
【００７２】
なお、ルートディレクトリへのアクセスに失敗すれば、前述したようにレスポンスコード「550」などが返信されることになる。この実施形態では、記憶メディアが未接続の状態でも、ルートディレクトリへのアクセスが成功したことを示すコードをＰＣ３へ返信するように工夫している。
【００７３】
ルートディレクトリへのアクセスが成功したことを示すコードを受信したＰＣ３は、このルートディレクトリに対するlistコマンドを発行する（Ｊ９）。listコマンドを受信したプリンタ８０は、図３の状態反映ファイル名決定プログラムによって決定された、メディア接続部の状態や、記憶メディアの状態に応じた状態反映ファイル名を有したファイルがルートディレクトリに存在している、との情報を送信する（Ｊ８）。
【００７４】
図４（ａ）は、メディア接続部や記憶メディアの状態を示すファイル名を決定する際に、ＣＰＵ３４が参照する文字列テーブルの例である。図４（ｂ）は、記憶メディアがフォーマット済みのとき、さらに参照される文字列を示すテーブルの例である。
【００７５】
この実施例では、ルートディレクトリにこのような状態反映ファイル名を持つファイルが存在していないにもかかわらず、状態反映ファイル名を持つファイルが”存在している”という通知を行うこととする。この通知を受け取ったＰＣ３は通知どおり、ルートディレクトリにファイルが存在しているもことを示す表示を画面上に行う。
【００７６】
図５（ａ）は、ＰＣ３による状態反映ファイル名の表示例である。このように、状態反映ファイル名を持つファイルが存在することが、ブラウザのウィンドウ１５０内に表示される。例えば、プリンタ８０の特定のスロット、例えばＣＦ用のスロットにフォーマット済みのＣＦが接続されていれば、状態反映ファイル名１５３は「ＣＦカードにアクセス可能です」となり、これがアイコン１５２とともに表示される。このように、自然言語で表された情報を見ることで、ユーザーはプリンタ８０の記憶メディアの接続状態を簡単に把握することができる。
【００７７】
また、プリンタ８０は、先に述べたlistコマンドへの応答として「ＭＥＭ＿ＣＡＲＤ」というディレクトリ名を持ったディレクトリが存在しているとの情報も送信している。この情報を受信したＰＣ３は、「ＭＥＭ＿ＣＡＲＤ」というディレクトリ名１５１とアイコンを表示する。プリンタ８０は、このディレクトリ名を、記憶メディアの最上位ディレクトリを示すディレクトリ名として決定し、ＰＣ３へ送信している。ユーザがこのディレクトリ１５１を開くことに応じ、このディレクトリへのアクセスをＰＣ３が要求してきた場合（具体的には、「cd/MEM_CARD」の送信とlistコマンドの送信が続けて行われる）、プリンタ８０は記憶メディアの最上位ディレクトリに記憶されているファイルのファイル名それぞれをＰＣ３に返信する。これを受信したＰＣは、図６に示すような、接続された記憶メディアに格納されているファイルのアイコンを一覧表示することになる。
【００７８】
また、プリンタ８０が、記憶メディアの容量を反映した状態反映ファイル名を持つファイルが存在するという情報をＰＣ３に送信することも有効である（図５（ｂ））。
【００７９】
変形例として、記憶メディアが接続されていることと記憶メディアの容量の双方を反映した状態反映ファイル名を持つファイルが存在するという情報をＰＣ３に送信することも有効である（図５（ｃ））。
【００８０】
なお、どのスロットにも記憶メディアが接続されていなければ、図７に示すように、状態反映ファイル名１５３は「カードが挿入されていません」となる。また、図８に示すように、接続された記憶メディア（ＣＦの場合を例示している）が未フォーマットであれば、状態反映ファイル名１５３は「ＣＦカードが未フォーマットです」となる。
【００８１】
なお、ＰＣ３がlistコマンドを再発行してくる都度、その時点でのプリンタ８０や記憶メディアの状態を反映した状態反映ファイル名を持つファイルが存在するという情報をプリンタ８０が返信するようにすることで、接続状態に変化があった場合にも、ＰＣ３のユーザは、ＰＣ３がlistコマンドを再発行した時点での状態を知ることができる。
【００８２】
図１０は、図５（ｂ）または（ｃ）で示した、記憶メディアの容量を反映した状態反映ファイル名を持つファイルのアイコンがクリックされるなどした場合に、プリンタ８０から送信され、ＰＣ３に表示されるファイルの内容（状態反映データ）を示したものである。これにより、ユーザは、ファイル名によって掴んだ状態のさらに詳細情報や付加的な情報を、ファイルの閲覧を指示するという簡単な方法で得ることが出来、かつ表示されたデータを確認するだけで容易に確認できる。
【００８３】
以下、フローチャート等を参照して、本発明の処理を説明する。
【００８４】
図１１から図１８は、プリンタ８０におけるＣＰＵ３４がＦＴＰサーバプログラムに従って実行するＦＴＰサーバ処理の動作フローである。ＦＴＰサーバ処理は、プリンタ８０の起動に伴って動作が開始される。
【００８５】
図１１で示すＦＴＰサーバ処理では、まず、仮想ディレクトリツリーの初期化処理を行い、ＦＴＰサーバ処理でＣＰＵが管理するディレクトリツリーをＲＡＭなどのメモリ上に形成する（Ｓ１００）。続いて、ＦＴＰポートのオープンなど、ＦＴＰサーバとしてネットワーク機器と接続するための準備を行う（Ｓ１１０）。続いてＦＴＰサーバとして、ファイルへのアクセス要求の受信、要求への応答などの定常動作処理を実行する（Ｓ１２０）。以降、プリンタ８０の電源が切断されたり、リセットなどが行われるまで、定常動作し続ける。
【００８６】
図１２は、図１１のＳ１１０における仮想ディレクトリツリーの初期化処理を詳細に示したフローチャートである。
【００８７】
まず、ＣＰＵ３４は、仮想ディレクトリツリーの構成を管理するために必要なメモリ、ＦＴＰサーバシステムを管理するために必要なメモリをＲＡＭなどに確保する（Ｓ２００）。
【００８８】
続いて、確保したメモリ上の仮想ディレクトリツリーに、ＦＴＰサーバのルートディレクトリ用の管理領域を確保する（Ｓ２１０）。
【００８９】
続いて、確保したルートディレクトリ用の管理領域を初期化する。ここでは、ディレクトリ名称がないこと、ディレクトリの実体は、先に述べたシステム領域に存在すること、ディレクトリ内に格納されたファイルのファイル名はない（すなわち、ディレクトリ内にファイルがない）こと、サブディレクトリはない、という属性を管理領域に設定する（Ｓ２２０）。
【００９０】
続いて、先に述べたルートディレクトリがカレントディレクトリであると認識する（Ｓ２３０）。このように認識しておくことで、ＦＴＰサーバにアクセスしてきたＦＴＰクライアント（以下、クライアントとも呼ぶ）が、「cd /」することなくlistコマンドを送信してきた場合でも、プリンタ８０はカレントディレクトリであるルートディレクトリ内に存在するファイルのファイル名およびサブディレクトリ名を返信するようになる。
【００９１】
なお、図１９（ａ）は、仮想ディレクトリツリーの初期化処理によって構成される仮想ディレクトリツリーを示す概念図である。
【００９２】
また、仮想ディレクトリツリーの初期化処理によってメモリ確保されただけのシステム領域については、概念図を省略する。
【００９３】
図１３は、図１１の（Ｓ１２０）における定常動作処理を詳細に示したフローチャートである。
【００９４】
ＦＴＰサーバとしての初期化が終了すると、ＣＰＵ３４はクライアントからのログイン（図９：Ｊ１参照）を待つログインウェイト状態になる（Ｓ３００）。
【００９５】
クライアントからのログインリクエストがなければ（Ｓ３１０：ＮＯ）、再びログインウェイト状態になる。
【００９６】
クライアントからのログインリクエストがあれば（Ｓ３１０：ＹＥＳ）、ログインシーケンスを実行する（Ｓ３２０）（図９：Ｊ２〜Ｊ５参照）。
【００９７】
ログインシーケンスが失敗ならば（Ｓ３３０：ＮＯ）、再びログインウェイト状態になる。
【００９８】
ログインシーケンスが成功ならば（Ｓ３３０：ＹＥＳ）、クライアントにログイン成功を示すコードを送信し（図９：Ｊ６参照）、クライアントからのＦＴＰコマンドを待つ、コマンドウェイト状態になる（Ｓ３４０）。
【００９９】
クライアントから「cd」コマンドがあれば（Ｓ３５０：ＹＥＳ）、コマンドに応じたcd処理を実行する（Ｓ３６０）。
【０１００】
クライアントから「list」コマンドがあれば（Ｓ３７０：ＹＥＳ）、コマンドに応じたlist処理を実行する（Ｓ３８０）。
【０１０１】
クライアントから「get」コマンドがあれば（Ｓ３９０：ＹＥＳ）、コマンドに応じたget処理を実行する（Ｓ４００）。
【０１０２】
クライアントから「put」コマンドがあれば（Ｓ４１０：ＹＥＳ）、コマンドに応じたput処理を実行する（Ｓ４２０）。
【０１０３】
クライアントからのその他のコマンドがあれば、その他のコマンドに応じた処理を実行する（Ｓ４３０）。
【０１０４】
それぞれの処理を実行するか、クライアントからコマンドがなければ、プリンタ８０のシャットダウン処理などで、プログラムを終了する指示がないか判断する（Ｓ４４０）。
【０１０５】
プログラムを終了する指示がなければ（Ｓ４４０：ＮＯ）、再びコマンドウェイト状態になる。
【０１０６】
プログラムを終了する指示があれば（Ｓ４４０：ＹＥＳ）、ＦＴＰサーバとしての機能を終了するシャットダウン処理を行い（Ｓ４５０）、定常動作を終了する。
【０１０７】
図１４は、図１２のＳ３６０におけるcd処理を詳細に示したフローチャートである。
【０１０８】
cd処理では、cdコマンドにより指定されたディレクトリを、カレントディレクトリとして認識する、換言すれば、カレントディレクトリを切り替える処理を行う。
【０１０９】
ＣＰＵ３４は、まず、現在の装置状態に基づいて、仮想ファイル情報を作成する（Ｓ５００）。
【０１１０】
続いて、対象とするディレクトリをコマンドが指定していれば（Ｓ５１０：ＹＥＳ）、クライアントからコマンドによって指定されたディレクトリが、仮想ディレクトリツリーの中に存在するか、あるいは、実体ディレクトリの中に存在するかを判断する（Ｓ５２０）。
【０１１１】
指定されたディレクトリが、仮想ディレクトリツリーの中に存在するか、あるいは、実体ディレクトリの中に存在すれば（Ｓ５２０：ＹＥＳ）、指定されたディレクトリをカレントディレクトリであると認識し（Ｓ５３０）、コマンドが成功したことを示すＯＫコードをクライアントに送信し（Ｓ５４０）、cd処理を終了する。
【０１１２】
なお、ＦＴＰサーバ処理においては、カレントディレクトリが認識しなおされない限りは、cdコマンドで指定されたディレクトリがカレントディレクトリとして認識され続けることになる。
【０１１３】
指定されたディレクトリが、仮想ディレクトリツリーの中に存在せず、かつ、実体ディレクトリの中に存在しない場合（Ｓ５２０：ＮＯ）、指定されたディレクトリをカレントディレクトリであると認識せず、コマンドが失敗したことを示すＮＧコードをクライアントに送信し（Ｓ５５０）、cd処理を終了する。
【０１１４】
一方、Ｓ５１０で、対象とするディレクトリをコマンドが指定していなければ（Ｓ５１０：ＮＯ）、コマンドは、カレントディレクトリを指定しているものであると認識し（Ｓ５６０）、Ｓ５３０以降の処理を実行する。
【０１１５】
図１５は、図１２のＳ３８０におけるlist処理を詳細に示したフローチャートである。
【０１１６】
list処理では、listコマンドにより指定されたディレクトリに存在するファイルのファイル名およびディレクトリのディレクトリ名を、クライアントに返信する、換言すれば、クライアントが指定したディレクトリ内のファイルおよびディレクトリのリストをクライアントに認識させる処理を行う。
【０１１７】
ＣＰＵ３４は、まず、現在の装置状態に基づいて、仮想ファイル情報を作成する（Ｓ６００）。
【０１１８】
続いて、対象とするディレクトリをコマンドが指定していれば（Ｓ６１０：ＹＥＳ）、クライアントからコマンドによって指定されたディレクトリが、仮想ディレクトリツリーの中に存在するか、あるいは、実体ディレクトリの中に存在するかを判断する（Ｓ６２０）。
【０１１９】
指定されたディレクトリが、仮想ディレクトリツリーの中に存在するか、あるいは、実体ディレクトリの中に存在する場合（Ｓ６２０：ＹＥＳ）、さらに、指定されたディレクトリの実体がシステム領域内であるか否かを判断する（Ｓ６３０）。
【０１２０】
指定されたディレクトリの実体がシステム領域内ならば（Ｓ６３０：ＹＥＳ）、指定されたディレクトリ用の管理領域に記憶されたファイル名およびサブディレクトリ名をクライアントに送信し（Ｓ６４０）、list処理を終了する。すなわち、プリンタ８０や、プリンタ８０に接続された記憶メディアの状態を示すファイル名など、本発明ならではの特別なファイル名をクライアントに送信する。
【０１２１】
指定されたディレクトリの実体がシステム領域内でない、換言すれば、記憶メディアなどの記憶装置内にであるならば（Ｓ６３０：ＮＯ）、指定されたディレクトリに記憶されたファイル名およびサブディレクトリ名をクライアントに送信し（Ｓ６５０）、list処理を終了する。すなわち、記憶メディアなどに実際に記憶されているファイルおよびディレクトリのファイル名およびディレクトリ名を送信する。
【０１２２】
指定されたディレクトリが、仮想ディレクトリツリーの中に存在せず、かつ、実体ディレクトリの中に存在しない場合（Ｓ６２０：ＮＯ）、コマンドが失敗したことを示すＮＧコードをクライアントに送信し（Ｓ６６０）、list処理を終了する。
【０１２３】
一方、Ｓ６１０で、対象とするディレクトリをコマンドが指定していなければ（Ｓ６１０：ＮＯ）、コマンドは、カレントディレクトリを指定しているものであると認識し（Ｓ６７０）、Ｓ６３０以降の処理を実行する。
【０１２４】
図１６は、図１２にのＳ４００おけるget処理を詳細に示したフローチャートである。
【０１２５】
get処理では、getコマンドにより指定されたファイルの実体データを、クライアントに返信する、換言すれば、クライアントが指定したファイルの実体データをクライアントに取得させる処理を行う。
【０１２６】
ＣＰＵ３４は、まず、現在の装置状態に基づいて、仮想ファイル情報を作成する（Ｓ７００）。
【０１２７】
続いて、対象とするファイルをコマンドが指定しているかどうかを判断する（Ｓ７１０）。
【０１２８】
対象とするファイルが指定されていれば、どこのディレクトリ内のファイルを対象としているか（対象とするディレクトリはどこか）をコマンドが指定しているかどうかを判断する（Ｓ７２０）。
【０１２９】
対象とするディレクトリをコマンドが指定していれば（Ｓ７２０：ＹＥＳ）、クライアントからコマンドによって指定されたディレクトリが、仮想ディレクトリツリーの中に存在するか、あるいは、実体ディレクトリの中に存在するかを判断する（Ｓ７３０）。
【０１３０】
指定されたディレクトリが、仮想ディレクトリツリーの中に存在するか、あるいは、実体ディレクトリの中に存在する場合（Ｓ７３０：ＹＥＳ）、さらに、指定されたディレクトリの実体がシステム領域内であるか否かを判断する（Ｓ７４０）。
【０１３１】
指定されたディレクトリの実体がシステム領域内ならば（Ｓ７４０：ＹＥＳ）、指定されたディレクトリ用の管理領域に記憶された情報に基づいて、ファイルの実体データを取得する（Ｓ７５０）。
【０１３２】
ファイルの実体データを取得できたならば（Ｓ７６０：ＹＥＳ）、クライアントに実体データを送信し（Ｓ７７０）、get処理を終了する。すなわち、プリンタ８０や、プリンタ８０に接続された記憶メディアの状態を示すファイルの実体データなど、本発明ならではの特別なファイルの実体データをクライアントに送信する。
【０１３３】
ファイルの実体データを取得できなかったならば（Ｓ７６０：ＮＯ）、コマンドが失敗したことを示すＮＧコードをクライアントに送信し（Ｓ７８０）、get処理を終了する。
【０１３４】
指定されたディレクトリの実体がシステム領域内でない、換言すれば、記憶メディアなどの記憶装置内にであるならば（Ｓ７４０：ＮＯ）、指定されたディレクトリに記憶されたファイルの実体データを取得し（Ｓ７９０）、Ｓ７６０以降の処理を実行する。すなわち、記憶メディアなどに実際に記憶されているファイルの実体データを送信する。
【０１３５】
指定されたディレクトリが、仮想ディレクトリツリーの中に存在せず、かつ、実体ディレクトリの中に存在しない場合（Ｓ７３０：ＮＯ）、コマンドが失敗したことを示すＮＧコードをクライアントに送信し（Ｓ７８０）、get処理を終了する。
【０１３６】
一方、Ｓ７２０で、対象とするディレクトリをコマンドが指定していなければ（Ｓ７２０：ＮＯ）、コマンドは、カレントディレクトリ内のファイルを対象として指定しているものであると認識し（Ｓ８００）、Ｓ７４０以降の処理を実行する。
【０１３７】
また、対象とするファイルをコマンドが指定していなければ（Ｓ７１０：ＮＯ）、コマンドが失敗したことを示すＮＧコードをクライアントに送信し（Ｓ７８０）、get処理を終了する。
【０１３８】
図１７は、図１２のＳ４２０におけるput処理を詳細に示したフローチャートである。
【０１３９】
put処理では、クライアントからputコマンドにより送信されたファイルの実体データを、ＦＴＰサーバ内の記憶装置に記憶する、換言すれば、クライアントが指定したファイルの実体データをＦＴＰサーバに書き込ませる処理を行う。
【０１４０】
ＣＰＵ３４は、まず、現在の装置状態に基づいて、仮想ファイル情報を作成する（Ｓ９００）。
【０１４１】
続いて、ファイルを記憶するディレクトリ（対象とするディレクトリ）をコマンドが指定しているかどうかを判断する（Ｓ９１０）。
【０１４２】
対象とするディレクトリをコマンドが指定していれば（Ｓ９１０：ＹＥＳ）、クライアントからコマンドによって指定されたディレクトリが、仮想ディレクトリツリーの中に存在するか、あるいは、実体ディレクトリの中に存在するかを判断する（Ｓ９２０）。
【０１４３】
指定されたディレクトリが、仮想ディレクトリツリーの中に存在するか、あるいは、実体ディレクトリの中に存在する場合（Ｓ９２０：ＹＥＳ）、さらに、指定されたディレクトリの実体がシステム領域内であるか否かを判断する（Ｓ９３０）。
【０１４４】
指定されたディレクトリの実体がシステム領域内ならば（Ｓ９３０：ＹＥＳ）、コマンドが失敗したことを示すＮＧコードをクライアントに送信し（Ｓ９６０）、put処理を終了する。すなわち、プリンタ８０や、プリンタ８０に接続された記憶メディアの状態を示すファイル名をクライアントに送信するために設けられた、仮想的な特別なディレクトリへのアクセスができないようにする。これにより、ＰＣ３のユーザがファイルの実体データを書き込んだと思ったにもかかわらず、ディレクトリが仮想的なために書き込まれていなかった、という事態を防ぐことができる。
【０１４５】
指定されたディレクトリの実体がシステム領域内でない、換言すれば、記憶メディアなどの記憶装置内にであるならば（Ｓ９３０：ＮＯ）、指定されたディレクトリに実体データを記憶させ（Ｓ９４０）、コマンドが成功したことを示すＯＫコードをクライアントに送信し（Ｓ９５０）、put処理を終了する。すなわち、記憶メディアなどに実際に実体データを記憶する。
【０１４６】
一方、指定されたディレクトリが、仮想ディレクトリツリーの中に存在せず、かつ、実体ディレクトリの中に存在しない場合（Ｓ９２０：ＮＯ）、コマンドが失敗したことを示すＮＧコードをクライアントに送信し（Ｓ９６０）、put処理を終了する。
【０１４７】
一方、Ｓ９１０、対象とするディレクトリをコマンドが指定していなければ（Ｓ９１０：ＮＯ）、コマンドは、カレントディレクトリ内のファイルを対象として指定しているものであると認識し（Ｓ９７０）、Ｓ９３０以降の処理を実行する。
【０１４８】
図１８は、図１４〜図１７における仮想ファイル情報の作成処理を詳細に示したフローチャートである。
【０１４９】
仮想ファイル情報の作成処理では、プリンタ８０の装置状態（装置としての状態やＦＴＰサーバとしての状態を含む）やプリンタ８０に接続された記憶メディアの状態を確認し、状態を反映したファイル名やデータの内容を決定する、換言すれば、ＦＴＰクライアントにＦＴＰサーバ側の状態を知らせる情報の内容を決定する処理を行う。
【０１５０】
詳細は後述するが、ここで、ＦＴＰクライアントからのコマンドを受信したことを条件として、コマンドで指定されたディレクトリの存在を確認することから、プリンタ８０からの記憶メディアが離脱していたとしても、カレントディレクトリを仮想ディレクトリ上に存在しているものとして認識しなおすことから、ＦＴＰクライアントには記憶メディアが接続されていないことを示すファイル名がルートディレクトリ上に存在しているという情報知らせることが可能になる。
【０１５１】
また、ここで、メディア接続部の数や、メディア接続部に接続可能な記憶メディアの種類に関する情報を取得することから、プリンタ８０へのメディア接続部の増減などについても状態反映ファイル名や状態反映データに反映できる。
【０１５２】
また、カレントディレクトリの実体ディレクトリが存在していた記憶メディアが離脱したとしても、カレントディレクトリを仮想ディレクトリ上に存在しているものとして認識しなおすことから、記憶メディアが差換えられたことがユーザに伝わり、ユーザが差換えられた記憶メディアを、今までの記憶メディアであると誤解して使用することを防ぐことができる。
【０１５３】
また、ここで、プリンタ８０の状態や、メディア接続部に接続された記憶メディアの状態を確認することから、プリンタ８０の状態変化や、記憶メディアの状態変化を状態反映ファイル名や状態反映データに反映できる。また、メディア接続部に別の記憶メディアが接続されなおされていても、新たな記憶メディアの状態を反映できる。
【０１５４】
ここで、処理の説明に戻る。
【０１５５】
ＣＰＵ３４は、まず、プリンタ８０の状態をチェックする（Ｓ１１００）。プリンタ８０が備えるメディア接続部の数や、メディア接続部に接続可能な記憶メディアの種類に関する情報も、この時取得する。
【０１５６】
続いて、変数Ｎに０を代入する（Ｓ１１１０）。このＮは、メディア接続部全てについての情報を確認するためにプログラム内で使われる変数である。
【０１５７】
次に、Ｎが、メディア接続部の数より少なければ（Ｓ１１２０：ＮＯ）、Ｎに１を加算する（Ｓ１１３０）。
【０１５８】
続いて、仮想ディレクトリツリー内に、サブディレクトリＮ（Ｎ番目のメディア接続部の状態を反映したファイルを仮想的に用意するためのサブディレクトリ）用の管理領域を確保する（Ｓ１１４０）。
【０１５９】
Ｎ番目のメディア接続部（以降、メディア接続部Ｎとも称する）に記憶メディアが接続されていれば（Ｓ１１５０：ＹＥＳ）、続いて、記憶メディアの種類を確認する（Ｓ１１６０）。
【０１６０】
続いて、メディア接続部Ｎに接続された記憶メディアがフォーマット済みかを確認する（Ｓ１１７０）。
【０１６１】
記憶メディアがフォーマット済みであれば（Ｓ１１７０：ＹＥＳ）、メディア接続部Ｎに接続された記憶メディアの総記憶容量と残り記憶容量を確認し（Ｓ１１８０）、記憶メディアの総記憶容量と残り記憶容量を示すファイル名を決定する（Ｓ１１９０）。
【０１６２】
続いて、記憶メディアの総記憶容量と残り記憶容量を示す画像データを決定し、記憶メディアの総記憶容量と残り記憶容量を示すファイル名を持つファイルの実体データとして認識する（Ｓ１２００）。
【０１６３】
続いて、メディア接続部Ｎに接続された記憶メディアの種類に基づいて、その種類の記憶メディアにアクセス可能であることを示すファイル名を決定する（Ｓ１２１０）。
【０１６４】
一方、Ｓ１１５０で、メディア接続部Ｎに記憶メディアが接続されていなければ（Ｓ１１５０：ＮＯ）、記憶メディアが接続されていないことを示すファイル名を決定する（Ｓ１２７０）。
【０１６５】
また一方、Ｓ１１７０で、メディア接続部Ｎに接続された記憶メディアがフォーマット済みでなければ（Ｓ１１７０：ＮＯ）、記憶メディアが未フォーマットであることを示すファイル名を決定する（Ｓ１２８０）。
【０１６６】
続いて、メディア接続部Ｎ用の管理領域を初期化する（Ｓ１２２０）。ここでは、ディレクトリ名称が、記憶メディアの種類と何番目の記憶部かを示す名称である、ディレクトリの実体は、記憶部Ｎに接続された記憶メディアに存在する、という属性を管理領域に設定する。
【０１６７】
続いて、ルートディレクトリの管理領域を更新する（Ｓ１２３０）。ここでは、ディレクトリ内に格納されたファイルのファイル名として、Ｓ１１９０、Ｓ１２１０、Ｓ１２７０、Ｓ１２８０などで決定したファイル名を追加し、また、ディレクトリ内に格納されたサブディレクトリのディレクトリ名として、Ｓ１２２０でメディア接続部Ｎ用の管理領域に記憶されたディレクトリ名を追加する。
【０１６８】
続いて、再びＳ１１２０に戻り、プリンタ８０のメディア接続部全てについて確認が終了する（Ｓ１１２０：ＹＥＳ）まで以上の処理を繰り返す。
【０１６９】
プリンタ８０のメディア接続部全てについて確認が終了したならば（Ｓ１１２０：ＹＥＳ）、全てのメディア接続部に関する状態を確認したことになるため、繰り返しから抜ける。
【０１７０】
そして、カレントディレクトリが仮想ディレクトリツリーの中に存在するか、あるいは、実体ディレクトリの中に存在するかどうかを確認する（Ｓ１２４０）。
【０１７１】
カレントディレクトリが仮想ディレクトリツリーの中に存在するか、あるいは、実体ディレクトリの中に存在するならば（Ｓ１２４０：ＹＥＳ）、その実体は前回の仮想ファイル情報の作成処理の時点と同じ実体かどうかを確認する（Ｓ１２５０）（実体が記憶メディアであるならば、前回の記憶メディアの識別子などを記憶しておき、現在のものと比較することなどが考えられる）。
【０１７２】
実体ディレクトリが前回と同じであれば（Ｓ１２５０：ＹＥＳ）、仮想ファイル情報の作成処理を終了する。
【０１７３】
一方、Ｓ１２４０で、指定されたディレクトリが、仮想ディレクトリツリーの中に存在せず、かつ、実体ディレクトリの中に存在しない場合（Ｓ１２４０：ＮＯ）、あるいは、Ｓ１２５０で、実体ディレクトリが前回と違っている場合（Ｓ１２５０：ＮＯ）、ルートディレクトリをカレントディレクトリであると認識し（Ｓ１２６０）、仮想ファイル情報の作成処理を終了する。
【０１７４】
プリンタ８０において、図１１〜図１８のフローチャートで示した処理が実行されることにより得られる結果を例示する。
【０１７５】
図１９（ｂ）は、仮想ファイル情報の作成処理によって構成される仮想ディレクトリツリーを示す概念図であり、図２０は、仮想ファイル情報の作成処理によって構成されるシステム領域を示す概念図であり、図２１はＦＴＰクライアントに表示される画面図である。
【０１７６】
これらの図には、プリンタ８０には４つのメディア接続部が存在しており、それぞれ、ＣＦ、ＳＭ、ＭＳ、ＳＤが接続可能であり、ＣＦとＭＳは接続されており、ＭＳは未フォーマットの状態であることが示されている。
【０１７７】
なお、ファイル２の「実体」には「ＣＦ（残１３Ｍ  全１４Ｍ）.jpg」というファイル名を持つファイルの実体データ（図１０参照）が記憶されているメモリアドレスが格納されている。
【０１７８】
なお、今まで示した実施例は、本願発明の実施形態のひとつであり、数々の変形例についても本願発明の範囲に入ることはもちろんである。
【０１７９】
例えば、本実施例では、プリンタ８０が複数のメディア接続部を持つことが可能なものとして例示したが、メディア接続部が１つしかない装置に適用しても、本願発明の範囲内である。
【０１８０】
また、複数のメディア接続部それぞれについて、接続された記憶メディアを実体とするサブディレクトリを設ける例を例示したが、いずれかひとつのメディア接続部に接続された記憶メディアだけをサブディレクトリとして認識する構成としても、本願発明の範囲内である（図５〜図８参照）。
【０１８１】
例えば、本実施例では、ＦＴＰクライアントからのコマンドを受信したことを条件として、状態反映ファイル名や状態反映データの内容を決定したが、ＦＴＰサーバの起動時に決定したり、定期的に決定するよう構成しても、本願発明の範囲内である。
【０１８２】
例えば、本実施例では、記憶メディアの接続状態を示すファイル名と、記憶メディアの記憶容量を示すファイル名を別途のものとして例示したが、１つのファイル名の中に、記憶メディアの接続状態を示す文字列と、記憶メディアの記憶容量を示す文字列とが両方含まれている構成も、本願発明の範囲内である。もちろん、他の状態を示す文字列をさらに含める構成も、本願発明の範囲内である。
【０１８３】
また、図１８のＳ１２４０〜Ｓ１２６０にて、カレントディレクトリの実体ディレクトリが変更されていないか確認する構成としたが、図２２に示すように、カレントディレクトリの実体ディレクトリが存在していた記憶メディアの接続／離脱や、メディア接続部の増減がある度に確認し、カレントディレクトリの実体ディレクトリが存在しなくなった時点でルートディレクトリをカレントディレクトリとする構成としても、本願発明の範囲内である。
【０１８４】
図２２に示すスロット状態の監視処理で、ＣＰＵ３４は、まず、スロットの増減またはカードの接続／離脱があれば（Ｓ１３００：ＹＥＳ）、カレントディレクトリの実体ディレクトリが存在するか（実体ディレクトリのあったカードが離脱したり、カードが接続されていたスロットが外されたりしていないか）確認する（Ｓ１３１０）。
【０１８５】
カレントディレクトリの実体ディレクトリが存在しなくなったならば（Ｓ１３１０：ＮＯ）、ルートディレクトリをカレントディレクトリであると認識する（Ｓ１３２０）。
【０１８６】
この、スロット状態の監視処理は、ＦＴＰサーバが稼動している間、ＣＰＵ３４において常駐し続ける。
【０１８７】
また、実体ディレクトリは記憶メディア内にあるものを示したが、従来のＦＴＰサーバ装置と同様に、プリンタ８０がメモリやＨＤＤなどの記憶装置をも備える構成であり、その記憶装置にも実体ディレクトリが存在している構成であってもよい。
【０１８８】
また、プリンタ８０の装置状態として、記憶メディアの接続状態を例としてあげたが、このような、ＦＴＰ型処理装置としての状態に限らず、ＦＴＰ型処理装置としての機能とは異なる、プリンタ８０が備える機能、たとえば印刷装置としての機能、スキャナ装置としての機能、ＦＡＸ装置としての機能がどのような状態であるかなど、を装置状態として扱い、状態反映ファイル名や状態反映データに反映させてもよい。例としては、印刷可能であるかどうか、読み取り可能であるかどうか、ＦＡＸ送信可能であるかどうか、などの状態が考えられる。
【０１８９】
また、ＦＴＰ型処理装置の例として、プリンタ８０を示したが、スキャナ装置、ディスプレイ装置、オーディオ装置、カラオケ装置、デジタルカメラ装置、プロジェクタ装置、ディスクドライブ装置、ミシン、電話機、モバイル装置、工作用装置、ロボットなど、ＦＴＰサーバ機能を有し、メディア接続部を持ちうる構成の装置であればいずれに適用しても良いことは明らかである。
【図面の簡単な説明】
【０１９０】
【図１】本発明のＦＴＰシステムの全体構成の概略を示すブロック図。
【図２】本発明のＦＴＰシステムに適用されるプリンタの一例を示す斜視図。
【図３】プリンタ（カードリーダ）の電気的構成の一例を示すブロック図。
【図４】状態反映ファイル名のテーブルの一例を示す図。
【図５】状態反映ファイル名を持つファイルの第一のアイコン表示例を示す図。
【図６】メモリーカードのファイル格納ディレクトリ内部のリスト表示例を示す図。
【図７】状態反映ファイル名を持つファイルの第二のアイコン表示例を示す図。
【図８】状態反映ファイル名を持つファイルの第三のアイコン表示例を示す図。
【図９】本発明のＦＴＰシステムの動作の一例を示すシーケンス図。
【図１０】状態反映データの表示例を示す図。
【図１１】プリンタ８０におけるＦＴＰサーバ処理のフローチャート。
【図１２】プリンタ８０における仮想ディレクトリツリーの初期化処理のフローチャート。
【図１３】プリンタ８０における定常動作処理のフローチャート。
【図１４】プリンタ８０におけるcd処理のフローチャート。
【図１５】プリンタ８０におけるlist処理のフローチャート。
【図１６】プリンタ８０におけるget処理のフローチャート。
【図１７】プリンタ８０におけるput処理のフローチャート。
【図１８】プリンタ８０における仮想ファイル情報の作成処理のフローチャート。
【図１９】仮想ディレクトリツリーの例を示す図。
【図２０】システム領域の例を示す図。
【図２１】状態反映ファイル名を持つファイルの第四のアイコン表示例を示す図。
【図２２】プリンタ８０におけるスロット状態の監視処理のフローチャート。
【符号の説明】
【０１９１】
１  ＦＴＰシステム
２  マルチリーダライタ部
３  ＰＣ（ホスト装置）
３Ｂ  ブラウザソフトウェア
３Ｌ  ローカルディスク
３Ｍ  モニタ
１１〜１４  メモリーカード（記憶メディア）
１６〜１９  メディア接続用スロット（メディア接続部）
２４  ＬＡＮ  Ｉ／Ｆ
３３  バス
３４  ＣＰＵ
３５  ＲＯＭ
３７  ＲＡＭ
８０  プリンタ（ＦＴＰ型処理装置）
８２  印刷部
９１  操作・表示部
１３２  スキャナ部
１３３  電話線Ｉ／Ｆ
１５２  状態反映ファイル名を持つファイルのアイコン
１５３  状態反映ファイル名
４１０  ネットワーク
【図１】
2008198122.tif 000003
【図２】
2008198122.tif 000004
【図３】
2008198122.tif 000005
【図４】
2008198122.tif 000006
【図５】
2008198122.tif 000007
【図６】
2008198122.tif 000008
【図７】
2008198122.tif 000009
【図８】
2008198122.tif 000010
【図９】
2008198122.tif 000011
【図１０】
2008198122.tif 000012
【図１１】
2008198122.tif 000013
【図１２】
2008198122.tif 000014
【図１３】
2008198122.tif 000015
【図１４】
2008198122.tif 000016
【図１５】
2008198122.tif 000017
【図１６】
2008198122.tif 000018
【図１７】
2008198122.tif 000019
【図１８】
2008198122.tif 000020
【図１９】
2008198122.tif 000021
【図２０】
2008198122.tif 000022
【図２１】
2008198122.tif 000023
【図２２】
2008198122.tif 000024