(57)【特許請求の範囲】
【請求項１】
ネットワークに接続されるとともに周辺装置を接続することが可能であり、接続された周辺装置に対するネットワーク上の端末からのアクセスを制御するネットワーク装置であり、
周辺装置を着脱可能な接続手段と、
接続手段に新たに接続された周辺装置を検知する検知手段と、
ネットワーク上の端末から、ネットワーク装置に未接続の周辺装置に対するアクセス権を予約する予約コマンドとその予約コマンドの発信者を特定する発信者ＩＤを受信する通信手段と、
検知手段が新たに接続された周辺装置を検知した場合に、検知された周辺装置に対する受信した発信者ＩＤで特定される発信者以外からのアクセスを拒否するアクセス制御手段と、
を備えており、
周辺装置には、自己を識別するための周辺装置ＩＤが付されており、
前記通信手段は、予約対象の周辺装置を識別する周辺装置ＩＤを伴う第１予約コマンドと周辺装置ＩＤを伴わない第２予約コマンドを受信し、
前記アクセス制御手段は、検知された周辺装置が受信した周辺装置ＩＤと同じ周辺装置ＩＤを有しない場合には、検知された周辺装置に対する第１予約コマンドとともに受信した発信者ＩＤで特定される発信者以外からのアクセスを拒否し、検知された周辺装置が受信した周辺装置ＩＤと同じ周辺装置ＩＤを有する場合には、検知された周辺装置に対する第２予約コマンドとともに受信した発信者ＩＤで特定される発信者以外からのアクセスを拒否する、
ことを特徴とするネットワーク装置。
【請求項２】
ネットワークに接続されるとともに周辺装置を接続することが可能であり、接続された周辺装置に対するネットワーク上の端末からのアクセスを制御するネットワーク装置であり、
周辺装置を着脱可能な接続手段と、
接続手段に新たに接続された周辺装置を検知する検知手段と、
ネットワーク上の端末から、ネットワーク装置に未接続の周辺装置に対するアクセス権を予約する予約コマンドとその予約コマンドの発信者を特定する発信者ＩＤを受信する通信手段と、
検知手段が新たに接続された周辺装置を検知した場合に、検知された周辺装置に対する受信した発信者ＩＤで特定される発信者以外からのアクセスを拒否するアクセス制御手段と、
を備えており、
周辺装置には、自己が属するカテゴリを特定するためのカテゴリＩＤが付されており、
前記通信手段は、予約コマンドと発信者ＩＤとともに予約対象の周辺装置のカテゴリを特定するカテゴリＩＤを受信し、
前記アクセス制御手段は、検知された周辺装置が、受信したカテゴリＩＤと同じカテゴリＩＤを有する場合に、検知された周辺装置に対する受信した発信者ＩＤで特定される発信者以外からのアクセスを拒否する、
ことを特徴とするネットワーク装置。
【請求項３】
ネットワークに接続されるとともに周辺装置を接続することが可能であり、接続された周辺装置に対するネットワーク上の端末からのアクセスを制御するネットワーク装置であり、
周辺装置を着脱可能な接続手段と、
接続手段に新たに接続された周辺装置を検知する検知手段と、
ネットワーク上の端末から、ネットワーク装置に未接続の周辺装置に対するアクセス権を予約する予約コマンドとその予約コマンドの発信者を特定する発信者ＩＤを受信する通信手段と、
検知手段が新たに接続された周辺装置を検知した場合に、検知された周辺装置に対する受信した発信者ＩＤで特定される発信者以外からのアクセスを拒否するアクセス制御手段と、
を備えており、
前記アクセス制御手段は、
検知された周辺装置に対する受信した発信者ＩＤで特定される発信者からのアクセスを受理した後に、受信した発信者ＩＤで特定される発信者以外からのアクセスの拒否処理を解除するとともに、受信した発信者ＩＤと検知された周辺装置の周辺装置ＩＤを記憶し、
記憶した周辺装置ＩＤを有する周辺装置の接続が再び検知された場合に、再び検知された周辺装置に対する記憶した発信者ＩＤで特定される発信者以外からのアクセスを拒否する、
ことを特徴とするネットワーク装置。
【請求項４】
アクセス制御手段は、予約コマンドを受信してから所定時間以内に検知手段が新たに接続される周辺装置を検知しなかった場合に、新たに接続される周辺装置に対する受信した発信者ＩＤで特定される発信者以外からのアクセスの拒否処理を解除することを特徴とする請求項１から３のいずれか１項に記載のネットワーク装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークに接続されるとともに周辺装置を接続することが可能であり、接続された周辺装置に対するネットワーク上の端末からのアクセスを制御するネットワーク装置に関する。特に、未接続の周辺装置に対してアクセス権を予約することができ、接続直後に他の端末からアクセスされることを防止できるネットワーク装置に関する。
【背景技術】
【０００２】
様々な装置がネットワークに直接接続されることが可能となっているが、ネットワークに直接できない周辺装置も多く存在する。そのような周辺装置には、例えばＵＳＢ、ＲＳ２３２Ｃ等をインタフェイスにする周辺装置がある。
ネットワークに直接接続されることができる周辺装置は、複数の端末から同時にアクセスされることを前提としている。しかしながら、ＵＳＢ等をインタフェイスにする周辺装置は、ひとつの装置に接続され、その装置との間で１対１のアクセスしかすることができない。本明細書では、複数の端末からの同時アクセスをすることができず、接続先の装置との間で１対１のアクセスを行なう周辺装置をシングルアクセス周辺装置、または単に周辺装置と称する。また、「アクセス」とは、周辺装置との間でデータの授受を行うことをいう。換言すれば、「アクセス」とは、周辺装置を通信することをいう。
そのような周辺装置は、ネットワークに接続可能な端末に接続し、その端末を介してネットワーク上の他の端末から利用することができる。
しかしながら、周辺装置は、複数の端末からの同時アクセスができないため、ある端末が周辺装置へアクセスしているときに他の端末はその周辺装置にアクセスすることができない。例えば周辺装置がスキャナである場合、あるユーザがスキャナに原稿をセットしてから自分の端末に戻る間に、他のユーザがそのスキャナへアクセスしてしまう事態が起こり得る。そこで、特許文献１には、自己に接続されている周辺装置に対する他の端末からのアクセス権を予約することのできる装置が開示されている。以下では、ネットワークに接続されるとともに周辺装置を接続することが可能な装置をネットワーク装置と称する。
【０００３】
【特許文献１】特開２００１−２３６３０１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
周辺装置が既にネットワーク装置に接続されている場合には、どのような周辺装置が接続されているかをネットワーク機器も他の端末も認識できるため、特許文献１の技術によって、予め周辺装置を予約することができる。
ところで、装置と１対１で接続されることを前提としている周辺装置は、論理的な接続（ソフトウエア的な接続）を確立するプロトコルが簡単であるため、容易に脱着が可能であることが多い。従って、周辺装置を新たにネットワーク装置に接続し、その後に自己の端末へ戻ってその周辺装置を使用する場合が想定される。例えば、原稿をセットしたスキャナをネットワーク装置へ新たに接続し、その後、自己の端末に戻ってそのスキャナを使用する場合などである。特許文献１に開示されたネットワーク装置は、未接続の周辺装置に対してはその周辺装置を特定できないためアクセス権を予約することができない。そのため特許文献１に開示されたネットワーク装置では、周辺装置を新たに接続する事態に対しては、周辺装置を接続した本来のユーザがアクセスする前に他のユーザのアクセスを許してしまう。
本発明は上記課題に鑑みてなされたものであり、その目的は、ネットワーク上の端末から、ネットワーク装置に未接続の周辺装置に対してアクセス権を予約することができるネットワーク装置を提供することにある。
【課題を解決するための手段】
【０００５】
本発明に係るネットワーク装置は、接続手段と検知手段と通信手段とアクセス制御手段を備える。
接続手段は、周辺装置を着脱することができる。検知手段は、接続手段に新たに接続された周辺装置を検知する。通信手段は、ネットワーク上の端末から、ネットワーク装置に未接続の周辺装置に対するアクセス権を予約する予約コマンドとその予約コマンドの発信者を特定する発信者ＩＤを受信する。アクセス制御手段は、検知手段が新たに接続された周辺装置を検知した場合に、検知された周辺装置に対する、受信した発信者ＩＤで特定される発信者以外からのアクセスを拒否する処理を行う。
【０００６】
接続手段は、例えば周辺装置と通信ケーブルを接続する物理的なコネクタでよい。検知手段の例としては、プラグアンドプレイ機能を備えたデバイス認識ソフトウエアがある。発信者ＩＤは、例えば予約コマンドを送信する端末のＩＰアドレスや、その端末のユーザが入力するパスワードである。前者の場合は予約コマンドを送信した端末が「発信者」となり、後者の場合はパスワードを入力したユーザが「発信者」となる。
【０００７】
上記のネットワーク装置は、予約コマンドを受信した後に新たに接続された未接続の周辺装置に対して無条件に受信した発信者ＩＤへ排他的なアクセス権を設定する。未接続の周辺装置を特定することなく、その周辺装置に対して予めアクセス権を予約することができる。
【０００８】
周辺装置には、自己を識別するための周辺装置ＩＤが付されている場合がある。そのような場合には、本発明のネットワーク装置は、次の技術的特徴を備えることが好ましい。通信手段は、予約コマンドと発信者ＩＤとともに予約対象の周辺装置を識別する周辺装置ＩＤを受信する。アクセス制御手段は、検知された周辺装置が、受信した周辺装置ＩＤと同じ周辺装置ＩＤを有する場合に、検知された周辺装置に対する、受信した発信者ＩＤで特定される発信者以外からのアクセスを拒否する。
ユーザは、周辺装置ＩＤによって、アクセス権を予約する周辺装置を特定する。そうすることによって、複数のユーザが同時に異なる周辺装置（未接続の周辺装置）に対してアクセス権を予約することができる。
【０００９】
本発明のネットワーク装置は、次の技術的特徴を備えることが好ましい。通信手段は、周辺装置ＩＤを伴わない第１予約コマンドと周辺装置ＩＤを伴う第２予約コマンドを受信することができる。アクセス制御手段は、検知された周辺装置が受信した周辺装置ＩＤと同じ周辺装置ＩＤを有しない場合には、検知された周辺装置に対する、第１予約コマンドとともに受信した発信者ＩＤで特定される発信者以外からのアクセスを拒否する。また、アクセス制御手段は、検知された周辺装置が受信した周辺装置ＩＤと同じ周辺装置ＩＤを有する場合には、検知された周辺装置に対する、第２予約コマンドとともに受信した発信者ＩＤで特定される発信者以外からのアクセスを拒否する。
予約コマンド受信手段が、一の発信者からの周辺装置ＩＤを伴わない予約コマンドを受信した後、新たに周辺装置が検知される前に、他の発信者からの周辺装置ＩＤを伴う予約コマンドを受信した場合でも、両予約コマンドを両立させることができる。つまり、他の発信者により指定された周辺装置ＩＤが付された周辺装置が検知された場合でも、一の発信者からのその周辺装置へのアクセスは拒否され、一の発信者よりも後に予約コマンドを送信した他の発信者からのアクセスのみを許可することができる。
【００１０】
また、周辺装置には、自己が属するカテゴリを特定するためのカテゴリＩＤが付されている場合がある。そのような場合には、本発明のネットワーク装置は次の技術的特徴を備えることが好ましい。通信手段は、予約コマンドと発信者ＩＤとともに予約対象の周辺装置のカテゴリを特定するカテゴリＩＤを受信する。アクセス制御手段は、検知された周辺装置が、受信したカテゴリＩＤと同じカテゴリＩＤを有する場合に、検知された周辺装置に対する、受信した発信者ＩＤで特定される発信者以外からのアクセスを拒否する。
【００１１】
例えば、ＵＳＢ規格では、周辺装置を機能別に区別するカテゴリ（ＵＳＢ規格では「クラス」と称されている）として、オーディオ、マスストレージ、プリンタ、イメージング等のカテゴリ（クラス）が規定されている。ＵＳＢ規格に準拠した周辺装置は、自己が属するカテゴリを特定するためのカテゴリＩＤを記憶しており、端末に接続されると、自己が記憶しているカテゴリＩＤを端末に送信する。そのようなカテゴリＩＤを活用することによって、未接続の周辺装置を一意に特定することができずとも、異なるカテゴリに属する周辺装置であれば、同時に複数の未接続の周辺装置に対してアクセス権を予約することができる。
【００１２】
本発明のネットワーク装置は、次の技術的特徴を備えることが好ましい。アクセス制御手段は、検知された周辺装置に対する、受信した発信者ＩＤで特定される発信者からのアクセスを受理した後に、受信した発信者ＩＤで特定される発信者以外からのアクセスの拒否処理を解除する。またアクセス制御手段は、受信した発信者ＩＤと検知された周辺装置の周辺装置ＩＤを記憶する。さらに、アクセス制御手段は、記憶した周辺装置ＩＤを有する周辺装置の接続が再び検知された場合に、再び検知された周辺装置に対する記憶した発信者ＩＤで特定される発信者以外からのアクセスを拒否する。
【００１３】
未接続の周辺装置に対してアクセス権を予約し、周辺装置が接続されて予約コマンドを送信した発信者がその周辺装置にアクセスした後は、自動的にアクセス制限を解除する。これによって、その周辺装置に対して他のユーザがアクセス可能となる。特定のユーザがアクセス権を予約してアクセスした周辺装置は、そのユーザが管理する周辺装置である場合がある。そこで、上記のネットワーク装置は、予約コマンドを発信したユーザが予約した周辺装置へアクセスしたのちにアクセス制限を解除するが、その周辺装置が再び接続された場合に、自動的に、最初に予約コマンドを発信したユーザに対して排他的なアクセス権を設定する。ユーザは、周辺装置を接続する毎に予約コマンドを送信する必要がない。
【００１４】
本発明のネットワーク装置は、次の技術的特徴を備えることが好ましい。アクセス制御手段は、予約コマンドを受信してから所定時間以内に検知手段が新たに接続される周辺装置を検知しなかった場合に、新たに接続される周辺装置に対する受信した発信者ＩＤで特定される発信者以外からのアクセスの拒否処理を解除する。アクセス権を予約したユーザが何らかの理由で周辺装置を接続しなかった場合でも、未接続の周辺装置に対するアクセス権の予約が自動的に解除される。
【発明の効果】
【００１５】
本発明によれば、ネットワーク上の端末から、ネットワーク装置に未接続の周辺装置に対してアクセス権を予約することができるネットワーク装置を実現できる。
【実施例】
【００１６】
（第１実施例）
図面を参照して本発明の実施例を説明する。第１実施例のネットワーク装置は、ネットワークに接続されるとともに周辺装置を接続することが可能であり、接続された周辺装置に対するネットワーク上の端末からのアクセスを制御するサーバ２である。
図１にサーバ２のブロック図を示す。なお、図１に示すブロック図は、後述する他の実施例においても参照する。他の実施例におけるサーバの構成は本実施例のサーバ２の構成と同じであり、処理する内容が異なる。各実施例のサーバを区別するために、第２実施例におけるサーバを「サーバ１０２」として表し、第３実施例におけるサーバを「サーバ２０２」として表し、第４実施例におけるサーバを「サーバ３０２」として表す。サーバ２は、ネットワーク６０に接続されている。ネットワーク６０には、ユーザが操作する複数の端末５０ａ、５０ｂ、５０ｃが接続されている。
【００１７】
サーバ２は、周辺装置を接続するための複数のポート６ａ、６ｂ、６ｃを備えている。ポート６ａ、６ｂ、６ｃは、物理的には周辺装置のケーブルを脱着するコネクタである。図１には、ポート６ａに周辺装置７０ａが接続されており、ポート６ｂに周辺装置７０ｂが接続されている状態が示されている。また、破線で示す周辺装置７２は、未接続の周辺装置を示している。周辺装置７０ａ、７０ｂ、７２は、プリンタやイメージングデバイス、或いは大容量記憶装置等である。
以下では、参照番号に英字の添え字が付されている複数の同種の装置を総称する場合に符号を省略して表記する。例えば、ポート６ａ、６ｂ、６ｃを総称する場合には英字の添え字を省略して単に「ポート６」と表記する。
【００１８】
ユーザは、端末５０から周辺装置７０を利用することができる。すなわち、端末５０からネットワーク６０とサーバ２を介して周辺装置７０へアクセスすることができる。周辺装置７０は、一度にひとつの端末とだけしか通信することができない。そこで、サーバ２が、端末５０から周辺装置７０へのアクセスを制御する。
端末５０は、サーバ２に対して、未だサーバ２に接続されていない周辺装置７２に対する排他的なアクセス権を予約することができる。換言すれば、サーバ２によって、端末５０のユーザは、新たに接続される周辺装置７２に対して予めアクセス権を予約することができる。端末５０のユーザは、新たに接続される周辺装置７２を指定することなしに予約することができる。
【００１９】
サーバ２は、ＣＰＵ８、ポートコントローラ４、記憶装置１０を備えている。ＣＰＵ８は、記憶装置１０に記憶されている各種のプログラムに基づいて、各種の処理を実行する。ポートコントローラ４は、夫々のポート６ａ、６ｂ、６ｃに接続されている周辺装置と、１対１の通信を行う。ポートコントローラ４は、ＣＰＵ８とも接続されており、ＣＰＵ８によって制御される。すなわち、ＣＰＵ８は、ポートコントローラ４を介して周辺装置７０と接続されている。
【００２０】
記憶装置１０には、ポート制御プログラム１２、通信プログラム１４、アクセス制御プログラム１８、及び、データファイル１８を記憶している。なお、図１に表記された「ＰＧＭ」の文字は「プログラム」を意味している。データファイル１８は、端末５０から受信したデータや接続された周辺装置７０のデータを記述しているファイルである。
【００２１】
記憶装置１０に記憶されたプログラムの機能を概説する。
ポート制御プログラム１２には、ポートコントローラ４を制御し、サーバ２に接続された周辺装置７０とＣＰＵ８（すなわちサーバ２）の間の通信を制御する処理が記述されている。また、ポート制御プログラム１２によって、ポート６に新たに接続された周辺装置７２を検知することができる。また、各周辺装置７０、７２には、個々の周辺装置を特定するデバイスＩＤ（周辺装置ＩＤ）が記憶されている。ポートプログラム１２には、新たな周辺装置の接続を検知すると、その周辺装置から、デバイスＩＤを取得する処理が記述されている。例えば、未接続の周辺装置７２が新たにポート６ｃに接続されると、サーバ２は、新たに接続された周辺装置７２から、その周辺装置７２に記憶されたデバイスＩＤを取得する。周辺装置から取得したデバイスＩＤは、データファイル１８に記憶される。
通信プログラム１４には、ネットワーク６０を介した端末５０とサーバ２の間の通信を制御する処理が記述されている。また、通信プログラム１４には、端末５０からコマンド等のデータを受信するとともに、サーバ２から端末５０へメッセージ等のデータを送信する処理が記述されている。受信したコマンド等のデータは、データファイル１８に記憶される。
【００２２】
本実施例で説明するコマンドには、予約コマンド、接続コマンド、切断コマンドがある。予約コマンドは、サーバ２に未接続の周辺装置７２に対するアクセス権の予約をサーバ２に要求するコマンドである。接続コマンドは、サーバ２に接続されている周辺装置７０（未接続の周辺装置７２が新たに接続された後にはその周辺装置７２を含む）との通信の確立をサーバ２に要求するコマンドである。サーバ２によって接続コマンドが受理されると、端末５０から周辺装置７０へのアクセスが可能となる。従って、所定の端末からの接続コマンドに対してその所定の端末と周辺装置の間の接続を確立しない場合が、サーバ２がその端末から周辺装置へのアクセスを拒否することを意味する。
切断コマンドは、周辺装置７０との間に確立された通信の切断をサーバ２に要求するコマンドである。
端末５０は、予約コマンドを送信する際には、コマンドとともにコマンドの発信者（ユーザ）を識別するユーザＩＤ（発信者ＩＤ）を送信する。なお、本実施例におけるユーザＩＤは、コマンドを送信する端末５０（ユーザが操作する端末５０）のＩＰアドレスである。ユーザＩＤは、ユーザが端末５０に入力するパスワード等であってもよい。
端末５０は、切断コマンドを送信する際には、コマンドとともに、ユーザＩＤと、切断の対象となる周辺装置を識別するためのデバイスＩＤ（周辺装置ＩＤ）を送信する。なお、デバイスＩＤは、前述したように、ポート制御プログラム１２によって、未接続の周辺装置７２がポート６に接続されたときに、その新たに接続された周辺装置７２から取得される。ポート制御プログラム１２によって取得されたデバイスＩＤは、各端末５０へ送信される。従って、各端末５０は、切断コマンドを送信する際に、コマンドとともにデバイスＩＤを送信することができる。
また、端末は、接続コマンドを送信する際には、コマンドとともに、ユーザＩＤと、接続する対象となる周辺装置を特定するためのデバイスＩＤを送信する。
【００２３】
サーバ２が端末５０へ送信する主なメッセージには次の種類がある。
・OK_RESERVED（予約成立を表すメッセージ）
・NG_O_RESERVED（予約不成立（他の端末が予約中）を表すメッセージ）
・OK_CONNECTED（接続成立を表すメッセージ）
・OK_DISCONNECTED（切断が成功したことを表すメッセージ）
・NG_O_CONNECTED（他の端末が接続中であることを表すメッセージ）
・NG_NOT_CONNECTED（指定された周辺装置がポートに接続されていない旨を表すメッセージ）
【００２４】
アクセス制御プログラム１６には、端末５０から周辺装置７０へのアクセスを制御する処理が記述されている。すなわち、アクセス制御プログラム１６によって、サーバ２は、特定の端末５０と周辺装置７０との間の通信を許可するか、或いは拒否するかを決定する。サーバ２は、端末５０から予約コマンドを受信すると、その端末５０（ユーザＩＤによって特定される端末）に対して、予約コマンド受信後に新たに接続される周辺装置７２への排他的なアクセス権を設定する。すなわち、サーバ２は、予約コマンドを受理すると、予約コマンド受信後に新たに接続された周辺装置７２と他の端末との間の通信を確立しない、別言すれば、サーバ２は、予約コマンドを受理すると、予約コマンド受信後に新たに接続された周辺装置７２への他の端末からのアクセスを拒否する。
【００２５】
サーバ２が実行する処理について説明する。
まず、サーバ２が、端末５０からコマンドを受信するメイン処理について説明する。図２は、サーバ２が実行するメイン処理のフローチャート図である。このフローチャートの処理は、通信プログラム１４に記述されている。
サーバ２は、端末５０からコマンドを受信すると（ステップＳ２）、そのコマンドを解析してコマンドの種類に応じた処理（予約処理、接続処理、切断処理）を起動する（ステップＳ３−Ｓ８）。
次に、図２に示した予約処理（ステップＳ４）、接続処理（ステップＳ６）、及び（切断処理（ステップＳ８）の夫々について説明する。これらの処理は、アクセス制御プログラム１６に記述されている。なお、以下では、図１に示す未接続の周辺装置７２を予約の対象とする。
【００２６】
図３は、予約処理のフローチャート図である。
予約処理ではまず、「ブロックフラグ」がＯＮであるか否かを確認する（ステップＳ１０）。ここで、「ブロックフラグ」とは、プログラム中で定義されているフラグであり、既に予約が成立しているか否かを示すフラグである。「ブロックフラグ」は、後述する所定の処理によって「ＯＮ」或いは「ＯＦＦ」に設定される。「ＯＮ」は既に予約が成立していることを表し、「ＯＦＦ」は予約が成立していないことを表す。
【００２７】
「ブロックフラグ」が「ＯＮ」の場合には（ステップＳ１０：ＹＥＳ）、すなわち、既に予約コマンドを受け付けて予約が成立している場合には、重複して予約コマンドを受け付けないために、予約コマンドを発した端末５０（ユーザＩＤによって特定される端末）に対して「NG_O_RESERVED」メッセージ（他の端末が予約中であることを表すメッセージ）を送信して処理を終了する（ステップＳ１６）。
「ブロックフラグ」が「OFF」の場合には（ステップＳ１０：NO）、すなわち、まだ予約が成立していない場合には、「ブロックフラグ」に「ON」を設定するとともに、予約コマンドとともに受信したユーザＩＤを記憶する（ステップＳ１２）。次に、「OK_RESERVED」メッセージ（予約が成立した旨を表すメッセージ）を端末へ送信する（ステップＳ１４）。ステップＳ１２の処理において「ブロックフラグ」に「ON」が設定されるため、以後、「ブロックフラグ」に「OFF」が設定されるまでの間は、サーバ２は、他の予約コマンドを受け付けることがない。
【００２８】
ユーザは、未接続の周辺装置７２の予約が完了すると、サーバ２のポート６に周辺装置７２を接続する。従って、以下では、周辺装置７２は、新たに接続された周辺装置７２となる。なお、サーバ２は、周辺装置７２が新たに接続されると、周辺装置７２からデバイスＩＤを取得し、端末５０へ送信する。
【００２９】
図４に、接続処理のフローチャート図を示す。なお、前述したように、サーバ２は、接続コマンドとともに、接続対象となる周辺装置を特定するためのデバイスＩＤと、接続コマンドを送信した端末５０を特定するユーザＩＤを受信する。
接続処理ではまず、「ブロックフラグ」が「ON」であるか否かを確認する（ステップＳ２０）。前述したように、「ブロックフラグ」が「ON」の場合は、既に予約が成立していることを意味し、「OFF」の場合は予約が成立していないことを意味する。
【００３０】
「ブロックフラグ」が「ＯＮ」の場合（ステップＳ２０：ＹＥＳ）、接続コマンドとともに受信したユーザＩＤと、ステップＳ１２（図３参照）において記憶したユーザＩＤ（予約コマンドとともに受信したユーザＩＤ）が一致するか否かを確認する（ステップＳ２２）。一致しない場合（ステップＳ２２：ＮＯ）、接続コマンドを送信した端末と予約コマンドを送信した端末が異なるので、接続コマンドを送信した端末とデバイスＩＤで特定される周辺装置を接続せずに処理を終了する。すなわち、予約コマンドを送信した端末以外の端末ユーザからの周辺装置へのアクセスを拒否する。この場合、「NG_O_RESERVED」メッセージ（既に他者が予約中である旨を表すメッセージ）を、接続コマンドを送信した端末（受信したユーザＩＤによって特定される端末）へ送信して処理を終了（ステップＳ２４）。
接続コマンドとともに受信したユーザＩＤと、ステップＳ１２において記憶したユーザＩＤが一致する場合には（ステップＳ２２：ＹＥＳ）、予約コマンドを送信した端末と接続コマンドを送信した端末が一致するので、ステップＳ２６へ移行し、受信したユーザＩＤによって特定される端末と受信したデバイスＩＤによって特定される周辺装置の接続を試みる。すなわち、受信したデバイスＩＤで特定される周辺装置が既に接続中（他の端末との間に通信が確立中）であるか否かを確認し（ステップＳ２６）、接続中でない場合（ステップＳ２６：ＮＯ）、受信したユーザＩＤによって特定される端末と受信したデバイスＩＤによって特定される周辺装置を接続する（ステップＳ２８）。その後、「ブロックフラグ」に「OFF」を設定し（ステップＳ３０）、「OK_CONNECTED」メッセージ（接続成立を表すメッセージ）を端末５０へ送信して処理を終了する（ステップＳ３２）。
デバイスＩＤで特定される周辺装置が他の端末と接続中の場合（ステップＳ２６：YES）、「NG_O_CONNECTED」メッセージ（他の端末が接続中であることを表すメッセージ）を端末へ送信して処理を終了する（ステップＳ３４）。
なお、ステップＳ２２に続いてステップＳ２６が実行される場合にステップＳ２６の判断が「ＹＥＳ」となるのは、接続コマンドとともに受信したデバイスＩＤによって特定される周辺装置が、予約コマンドを受信する前から他の端末から接続されている場合である。この場合は、ユーザ（予約コマンドを送信した端末）が、新たに接続する周辺装置に対して予約をしたものの、予約コマンドに続いて送信する接続コマンドに誤ったデバイスＩＤ（新たに接続した周辺装置のデバイスＩＤではなく、予約コマンド送信時に既に接続されていた周辺装置のデバイスＩＤ）を付加してしまった場合である。そのため、ステップＳ２２に続いて実行されるステップＳ２６の判断が「ＹＥＳ」の場合には、「ブロックフラグ」に「OFF」を設定することなく処理を終了し、予約状態を維持する（「ブロックフラグ」の設定を「ON」に維持する）。そうすることによって、接続コマンドに誤ったデバイスＩＤが付加されていた場合に、予約が取り消されることを防止できる。
ステップＳ２８の処理が実行されると、端末から周辺装置へのアクセスが可能となる。また、ステップＳ３０の処理によって、新たな予約コマンドを受け付けることが可能となる。
【００３１】
「ブロックフラグ」が「OFF」の場合（ステップＳ２０：NO）は、前述した図３の処理が実行されていない場合である。すなわち、未接続の周辺装置７２に対する予約が行われていない場合である。この場合には、ステップＳ２６へ移行し、受信したユーザＩＤによって特定される端末と受信したデバイスＩＤによって特定される周辺装置の接続を試みる。なお、ステップＳ２６移行の処理は、前述したとおりであるので説明を省略する。
【００３２】
図５に、切断処理のフローチャート図を示す。なお、前述したように、受信する切断コマンドには、ユーザＩＤと、切断の対象となる周辺装置を特定するデバイスＩＤが付されている。
サーバ２は、切断コマンドとともに受信したデバイスＩＤによって特定される周辺装置と、切断コマンドを送信した端末（受信したユーザＩＤによって特定される端末）の間の通信を切断する（ステップＳ４０）。次いで、「OK_DISCONNECTED」メッセージ（切断が成功した旨を示すメッセージ）を端末へ送信する（ステップＳ４２）。
【００３３】
上記のサーバ２は、端末５０から予約コマンドを受信すると、予約コマンドを送信した端末のユーザＩＤを記憶するとともに、「ブロックフラグ」に「ON」を設定する（図３、ステップＳ１２）。「ブロックフラグ」に「ＯＮ」が設定されると、予約コマンドを発信した端末と同じ端末から接続コマンドが送信されるまで、他の端末からの接続コマンドは一切拒否される（図４、ステップＳ２０、Ｓ２２）。他方、予約コマンドを発信した端末と同じ端末から接続コマンドが送信されると、その端末と周辺装置を接続する（ステップＳ２２、Ｓ２８）。
以上の処理では、予約時にデバイスＩＤを必要としない。従って、未接続の周辺装置のデバイスＩＤが不明であっても、その周辺装置に対するアクセス権を予約することができる。
【００３４】
（第２実施例）
次に第２実施例のサーバ１０２（ネットワーク装置）について説明する。サーバ１０２は、図１のブロック図と同じ構成を有しているので、サーバ１０２の構成については説明を省略する。サーバ１０２が備える装置やプログラムを表すときは、図１のブロック図の参照番号を援用する。
第２実施例のサーバ１０２と第１実施例のサーバ２は、実行する処理が異なる。
サーバ１０２は、新たに接続する周辺装置を特定せずにその周辺装置へのアクセス権を予約すると同時に、新たに接続する周辺装置を特定してその周辺装置へのアクセス権を予約することができる。
サーバ１０２は、ユーザＩＤのみを付した予約コマンドと、予約対象の周辺装置を特定するデバイスＩＤとユーザＩＤの両者を付した予約コマンドを受け付けることができる。
サーバ１０２が実行するメイン処理は図２に示した処理と同じであるので説明を省略する。サーバ１０２が実行する切断処理は、図５に示した処理と同じであるので説明を省略する。サーバ１０２は、予約処理と接続処理が第１実施例のサーバ２と異なる。
【００３５】
サーバ１０２の予約処理を説明する。図６に、サーバ１０２の予約処理のフローチャート図を示す。
サーバ１０２の予約処理ではまず、予約コマンドにデバイスＩＤが付されているか否かを確認する（ステップＳ４０）。デバイスＩＤが付されていない場合は（ステップＳ４０：ＮＯ）、図３のフローチャートの処理へ移行する（ステップＳ５０）。すなわち、予約コマンドにデバイスＩＤが付されていない場合は、第１実施例の場合と同じ処理が実行される。
予約コマンドにデバイスＩＤが付されている場合は（ステップＳ４０：ＹＥＳ）、そのデバイスＩＤで特定される周辺装置が既にサーバ１０２に接続されており、他の端末と接続中であるか否かを確認する（ステップＳ４２）。デバイスＩＤで特定される周辺装置が既に他の端末と接続中の場合は（ステップＳ４２：ＹＥＳ）、予約することができないので、予約コマンドを送信した端末（ユーザＩＤによって特定される端末）へ、「NG_O_CONNECTED」メッセージ（他の端末が接続中であることを表すメッセージ）を送信して処理を終了する（ステップＳ５２）。
デバイスＩＤで特定される周辺装置が他の端末と接続中でない場合（ステップＳ４２：NO）、受信したデバイスＩＤが既に予約リストに登録されているか否かを確認する（ステップＳ４４）。予約リストは、サーバ１０２の記憶装置（図１の記憶装置２０）に記憶されているデータファイル１８であり、次のステップＳ４６で説明するように、予約コマンドに付されたユーザＩＤとデバイスＩＤを対応付けるデータである。
受信したデバイスＩＤが予約リストに登録されていない場合（ステップＳ４４：ＮＯ）受信した予約コマンドに付されたユーザＩＤとデバイスＩＤを対応付けて予約リストへ登録する（ステップＳ４６）。ユーザＩＤとデバイスＩＤが対応付けられて予約リストに登録されることによって、周辺装置（デバイスＩＤによって特定される周辺装置）の予約が成立する。その後、ユーザＩＤによって特定される端末へ、「OK_RESERVED」メッセージ（予約が成立したことを表すメッセージ）を送信する（ステップＳ４８）。
受信したデバイスＩＤが予約リストに登録されている場合（ステップＳ４４：ＹＥＳ）、受信したデバイスＩＤによって特定される周辺装置が既に他の端末によって予約されているので、ユーザＩＤによって特定される端末へ「NG_O_RESERVED」メッセージ（既に他の端末が予約中である旨を表すメッセージ）を送信する（ステップＳ５４）。
【００３６】
次に、サーバ１０２の接続処理について説明する。図７に、サーバ１０２の接続処理のフローチャート図を示す。前述したように、サーバ１０２は、接続コマンドとともに、接続コマンドを送信した端末を特定するユーザＩＤと、接続の対象となる周辺装置を特定するデバイスＩＤを受信する。
サーバ１０２は、受信したデバイスＩＤが、登録リストに登録されているか否かを確認する（ステップＳ６０）。受信したデバイスＩＤが登録リストに登録されていない場合は、そのデバイスＩＤを指定した予約コマンドを受け付けていないことを意味する。従って、登録リストに登録されていないデバイスＩＤによって特定される周辺装置は、デバイスＩＤを指定しない予約コマンドの対象となっている可能性がある。そこで、ステップＳ６０の判断がＮＯの場合は、デバイスＩＤを指定しない予約コマンドに対する処理である図４のフローチャートの処理へ移行する（ステップＳ７０）。
【００３７】
ステップＳ６０の判断がＹＥＳの場合は、受信したデバイスＩＤによって特定される周辺装置が既に予約されていることを意味する。この場合には、登録リストから、受信したデバイスＩＤに対応付けられて登録されているユーザＩＤを抽出する。このユーザＩＤで特定される端末が、登録されたデバイスＩＤによって特定される周辺装置を予約した端末である。そこで、接続コマンドとともに受信したユーザＩＤが、登録されたユーザＩＤに一致するか否かを確認する（ステップＳ６２）。一致しない場合は（ステップＳ６２：ＮＯ）、登録されているデバイスＩＤによって特定される周辺装置は、接続コマンドを送信した端末（接続コマンドとともに受信したユーザＩＤによって特定される端末）から予約されたものでないことを意味する。この場合には、「NG_O_RESERVED」メッセージ（既に他の端末が予約中である旨を表すメッセージ）を送信して処理を終了する（ステップＳ７２）。
【００３８】
ステップＳ６２の判断がＹＥＳの場合は、登録されているデバイスＩＤによって特定される周辺装置が、接続コマンドを送信した端末（接続コマンドとともに受信したユーザＩＤによって特定される端末）によって予約されていることを意味する。この場合には、受信したユーザＩＤによって特定される端末と登録されたデバイスＩＤによって特定される周辺装置を接続する（ステップＳ６４）。すなわち、端末と周辺装置の間の通信を確立する。通信が確立すると、端末５０から周辺装置へのアクセスが可能となる。その後、登録リストから、受信したユーザＩＤとデバイスＩＤの登録を抹消し（ステップＳ６６）、「OK_CONNECTED」メッセージ（接続成立を表すメッセージ）を端末へ送信して処理を終了する（ステップＳ６８）。受信したユーザＩＤとデバイスＩＤの登録を抹消することで、そのデバイスＩＤによって特定される周辺装置を、接続が解除された後に再び予約可能にすることができる。
第２実施例のサーバ１０２（ネットワーク装置）によれば、予約対象となる周辺装置を特定した予約コマンドと、周辺装置を特定しない予約コマンドを同時に受け付けることができる。
【００３９】
（第３実施例）
次に第３実施例のサーバ２０２（ネットワーク装置）について説明する。サーバ２０２は、図１のブロック図と同じ構成を有しているので、サーバ２０２の構成については説明を省略する。サーバ２０２が備える装置やプログラムを表すときは、図１のブロック図の参照番号を援用する。
第３実施例のサーバ２０２と第１実施例のサーバ２は、実行する処理が異なる。
サーバ２０２は、新たに接続する周辺装置を特定せずにその周辺装置へのアクセス権を予約すると同時に、新たに接続する周辺装置のカテゴリを特定してそのカテゴリに属する周辺装置へのアクセス権を予約することができる。ここで、「カテゴリ」とは、周辺装置を機能別に分類するためのデータであり、個々の周辺装置に予め記憶されている。例えば、ＵＳＢ規格では、カテゴリ（ＵＳＢ規格では「クラス」と称されている）として、オーディオ、マスストレージ、プリンタ、イメージング等のカテゴリ（クラス）が規定されている。カテゴリの種類は、端末５０にも予め記憶されている。
サーバ２０２（ポート制御プログラム１２）は、ポート６に周辺装置が接続されると、その周辺装置から、その周辺装置のカテゴリを特定するカテゴリＩＤを取得し記憶する。
【００４０】
サーバ２０２は、ユーザＩＤのみを付した予約コマンドと、予約対象の周辺装置のカテゴリを特定するカテゴリＩＤとユーザＩＤの両者を付した予約コマンドを受け付けることができる。
サーバ２０２が実行するメイン処理は図２に示した処理と同じであるので説明を省略する。サーバ２０２が実行する切断処理は、図５に示した処理と同じであるので説明を省略する。サーバ２０２は、予約処理と接続処理が第１実施例のサーバ２と異なる。
【００４１】
サーバ２０２の予約処理を説明する。図８に、サーバ２０２の予約処理のフローチャート図を示す。
サーバ２０２の予約処理ではまず、予約コマンドにカテゴリＩＤが付されているか否かを確認する（ステップＳ８０）。カテゴリＩＤが付されていない場合は（ステップＳ８０：ＮＯ）、図３のフローチャートの処理へ移行する（ステップＳ８８）。すなわち、予約コマンドにカテゴリＩＤが付されていない場合は、第１実施例の場合と同じ処理が実行される。
予約コマンドにカテゴリＩＤが付されている場合は（ステップＳ８０：ＹＥＳ）、受信したカテゴリＩＤが既に予約リストに登録されているか否かを確認する（ステップＳ８２）。本実施例の登録リストは、第２実施例の登録リストとは異なり、予約コマンドとともに受信したユーザＩＤとカテゴリＩＤを対応付けて記憶しているデータファイルである。
受信したカテゴリＩＤが予約リストに登録されていない場合（ステップＳ８２：ＮＯ）受信した予約コマンドに付されたユーザＩＤとカテゴリＩＤを対応付けて予約リストへ登録する（ステップＳ８４）。ユーザＩＤとカテゴリＩＤを対応付けられて予約リストに登録することによって、周辺装置（カテゴリＩＤによって特定されるカテゴリに属する周辺装置）の予約が成立する。その後、ユーザＩＤによって特定される端末へ、「OK_RESERVED」メッセージ（予約が成立したことを表すメッセージ）を送信する（ステップＳ８６）。
受信したカテゴリＩＤが予約リストに登録されている場合（ステップＳ８２：ＹＥＳ）、受信したカテゴリＩＤによって特定されるカテゴリに属する周辺装置が既に他の端末によって予約されているので、ユーザＩＤによって特定される端末へ「NG_O_RESERVED」メッセージ（既に他の端末が予約中である旨を表すメッセージ）を送信する（ステップＳ９０）。
【００４２】
次に、サーバ２０２の接続処理について説明する。図９に、サーバ２０２の接続処理のフローチャート図を示す。前述したように、サーバ２０２は、接続コマンドとともに、接続コマンドを送信した端末を特定するユーザＩＤと、接続の対象となる周辺装置を特定するデバイスＩＤを受信する。
また、前述したように、サーバ２０２は、ポート６への周辺装置の接続を検知すると、新たに接続された周辺装置からデバイスＩＤとカテゴリＩＤを取得している。
【００４３】
サーバ２０２は、接続コマンドとともに受信したユーザＩＤが、登録リストに登録されているか否かを確認する（ステップＳ９２）。すなわち、受信したユーザＩＤが、ステップＳ８４（図８）で登録されたユーザＩＤに一致するか否かを確認する。換言すれば、接続コマンドを送信した端末（受信したユーザＩＤによって特定される端末）が、カテゴリＩＤを指定した予約コマンドを送信した端末であるか否かを確認する。
ステップＳ９２の判断がＮＯの場合、接続コマンドは、カテゴリＩＤを指定しない予約コマンドを送信した端末からのものである可能性がある。そこで、ステップＳ９２の判断がＮＯの場合は、カテゴリＩＤを指定しない予約コマンドに対する処理である図４のフローチャートの処理へ移行する（ステップＳ１０４）。
【００４４】
ステップＳ９２の判断がＹＥＳの場合、登録リストを参照し、受信したユーザＩＤ（登録リストに登録されているユーザＩＤ）に対応付けられているカテゴリＩＤを特定する。そして、他の端末と接続中でなく、特定したカテゴリＩＤ（登録されたカテゴリＩＤ）と同じカテゴリＩＤを有している周辺装置がポート６に接続されているか否か（登録されたカテゴリＩＤと同じカテゴリＩＤを有している周辺装置が存在するか否か）を確認する（ステップＳ９４）。ステップＳ９４の判断がＮＯの場合、接続の対象となる周辺装置がポート６に接続されていないので、「NG_NOT_CONNECTED」メッセージ（指定された周辺装置がポートに接続されていない旨を表すメッセージ）を送信して処理を終了する（ステップＳ１０６）。
次に、ステップＳ９４で存在が確認された周辺装置のデバイスＩＤが、接続コマンドとともに受信したデバイスＩＤに一致するか否かを確認する（ステップＳ９６）。ステップＳ９６の判断がＮＯの場合、接続の対象となる周辺装置がポート６に接続されていないので、「NG_NOT_CONNECTED」メッセージ（指定された周辺装置がポートに接続されていない旨を表すメッセージ）を送信して処理を終了する（ステップＳ１０６）。
【００４５】
ステップＳ９６の判断がＹＥＳの場合は、接続コマンドを送信した端末が過去にカテゴリＩＤを指定して予約コマンドを送信した端末であり、かつ、指定されたカテゴリＩＤを有する周辺装置であって接続コマンドとともに受信したデバイスＩＤを有する周辺装置がポート６に接続されている場合である。この場合には、ステップＳ９４で存在が確認された周辺装置と、接続コマンドを送信した端末を接続する（ステップＳ９８）。その後、登録リストから、接続した端末と周辺装置のユーザＩＤとカテゴリＩＤを抹消し（ステップＳ１００）、「OK_CONNECTED」メッセージ（接続成立を表すメッセージ）を端末５０へ送信して処理を終了する（ステップＳ１０２）。
【００４６】
上記のサーバ２０２は、サーバ２０２に未接続であり、デバイスＩＤが不明の周辺装置に対して、カテゴリＩＤを指定してアクセス権を予約することができる。カテゴリＩＤを指定して予約するので、異なるカテゴリに属する複数の周辺装置を同時に予約することができる。
【００４７】
（第４実施例）
次に、第４実施例のサーバ３０２（ネットワーク装置）を説明する。このサーバは、予約後に接続が成立した周辺装置と端末との関係を記憶しておき、その周辺装置が再びサーバに接続された場合に、以前に予約した端末に対して自動的に予約を成立させる。サーバ３０２の構成は、図１に示した第２実施例のサーバ１０２の構成と同じであるので説明を省略する。サーバ３０２は、第２実施例のサーバ１０２の処理に加えて、以下の処理を実施する。
サーバ３０２は、図４のステップＳ２６の処理、及び、図７のステップＳ６４の処理の後に、接続した周辺装置と端末のデバイスＩＤとユーザＩＤを別途記憶する。
また、サーバ３０２は、ポート６に新たに接続された周辺装置を検出すると、図１０のフローチャートに示す処理を実行する。新たに接続された周辺装置のデバイスＩＤが、別途記憶したデバイスＩＤに一致するか否かを確認する（ステップＳ１１０）。一致する場合（ステップＳ１１０：ＹＥＳ）、別途記憶したデバイスＩＤとユーザＩＤを、登録リストに登録する（ステップＳ１１２）。図１０のフローチャートの処理によって、過去に予約され接続された周辺装置を、自動的に予約することができる。
【００４８】
また、サーバ３０２は、時間を計測するタイマ（不図示）を備えており、次の処理を実行する。図３のステップＳ１２の処理を実行した後にタイマをスタートさせる。タイマをスタートさせた後に所定時間が経過するまでに図４のステップＳ２８の処理が実行されない場合、接続コマンドを受信しなくともステップＳ３０の処理だけを実行する。同様に、サーバ３０２は、図６のステップＳ４６の処理を実行した後にタイマをスタートさせる。タイマをスタートさせた後に所定時間が経過するまでに図７のステップＳ６４の処理が実行されない場合、接続コマンドを受信しなくともステップＳ６６の処理だけを実行する。これらの処理によって、予約が成立した後に所定時間が経過しても接続が成立しない場合に、予約を強制的に解除することができる。
【００４９】
なお、第１実施例のサーバ２、或いは第３実施例のサーバ２０２であっても、第２実施例で説明した登録リスト（デバイスＩＤとユーザＩＤを対応付けるリスト）、及び、前記したタイマを備えることによって、第４実施例のサーバ３０２と同じ機能を実現することができる。
【００５０】
（第５実施例）
上記の実施例では、サーバは、予約コマンドを受信した後に、新たに接続された周辺装置７２、及び、予約コマンド受信時に既に接続されているがいずれの端末５０からもアクセスされていない周辺装置７０を、予約コマンドとともに受信したユーザＩＤで特定される端末５０以外からのアクセスを拒否する。第５実施例のサーバは、予約コマンドを受信後に、新たに接続される周辺装置７２のみを予約の対象（アクセス拒否の対象）とする。この第５実施例のサーバによれば、予約コマンド受信時に既に接続されている周辺装置７０は、予約コマンドを送信した端末以外の端末５０からのアクセスが可能となる。換言すれば、デバイスＩＤを指定しない予約コマンドであっても、予約の対象となる周辺装置を、予約コマンド受信後に新たに接続された周辺装置のみに限定することによって、予約コマンド受信前に既にサーバに接続されていた周辺装置に対しては他の端末からのアクセスを許容することができる。
【００５１】
第５実施例のサーバに特有の処理を説明する。なお、以下に説明する処理以外の処理は、第２実施例のサーバが実行する処理と同様の処理を実行する。本実施例のサーバは、周辺装置の新たな接続が検知される毎に、図１１に示すフローチャートの処理を実行する。図１１に示す処理は、アクセス制御プログラム１６（図１参照）に独立したサブルーチンとして記述されており、ポート制御プログラムが新たに接続された周辺装置を検知したときに実行される。
サーバは、周辺装置の新たな接続が検知されると、その周辺装置からデバイスＩＤを取得する（ステップＳ１２０）。次に、サーバは、ブロックフラグがＯＮであるか否かを確認する（ステップＳ１２２）。ブロックフラグがＯＦＦの場合はそのまま処理を終了する。ブロックフラグがＯＮの場合は、取得したデバイスＩＤに、予約コマンドとともに受信したユーザＩＤ（このときのユーザＩＤは、図３のステップＳ１２の処理によって記憶されている）を対応付けて登録（記憶）する（ステップＳ１２４）。このときの「登録」は、第２実施例で説明した「予約リスト」への登録である。即ち、サーバは、デバイスＩＤを指定しない予約コマンドを受信すると、その予約コマンドとともに受信したユーザＩＤに、予約コマンド受信後に新たに接続された周辺装置のデバイスＩＤを対応付けて予約リストに登録（記憶）する。このサーバの接続処理は、図７に示した処理と同じである。
このサーバによれば、登録リストに登録されていないデバイスＩＤを有する周辺装置（即ち、予約コマンドの受信時に既にサーバに接続されていた周辺装置）に対しては、予約コマンドを送信した端末以外の端末５０からのアクセスが可能となる。
なお、予約コマンドを受信後に複数の周辺装置の新たな接続が検知された場合には、複数の周辺装置のデバイスＩＤを夫々予約コマンドとともに受信したユーザＩＤに対応付けて登録する。即ち、形式的には、ひとつのユーザＩＤが複数の予約を登録した状態となる。そのような場合でも、接続コマンドにデバイスＩＤが付されているので、接続コマンドとともに受信したユーザＩＤによって特定される端末から、特定のデバイスＩＤ（接続コマンドとともに受信したデバイスＩＤ）を有する周辺装置へのアクセスだけを許可することができる。
第５実施例のサーバの技術的特徴を整理すると以下のとおりである。
・周辺装置には、自己を識別するためのデバイスＩＤ（周辺装置ＩＤ）を記憶している。・アクセス制御プログラム（アクセス制御手段）は、ポート制御プログラム（検知手段）が新たに接続された周辺装置を検知した場合に、新たに接続された周辺装置からデバイスＩＤを取得し、取得したデバイスＩＤと、予約コマンドとともに受信したユーザＩＤ（発信者ＩＤ）を対応付けて記憶する。これによって、アクセス制御プログラムは、検知された周辺装置（取得したデバイスＩＤによって特定される周辺装置）に対する受信したユーザＩＤで特定される発信者以外からのアクセスを拒否することが容易となる。
【００５２】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【図面の簡単な説明】
【００５３】
【図１】サーバ（ネットワーク装置）のブロック図である。
【図２】サーバが実行するメイン処理のフローチャート図である。
【図３】サーバが実行する予約処理のフローチャート図である。
【図４】サーバが実行する接続処理のフローチャート図である。
【図５】サーバが実行する切断処理のフローチャート図である。
【図６】第２実施例のサーバが実行する予約処理のフローチャート図である。
【図７】第２実施例のサーバが実行する接続処理のフローチャート図である。
【図８】第３実施例のサーバが実行する予約処理のフローチャート図である。
【図９】第３実施例のサーバが実行する接続処理のフローチャート図である。
【図１０】第４実施例のサーバが実行する処理のフローチャート図である。
【図１１】第５実施例のサーバが実行する処理のフローチャート図である。
【符号の説明】
【００５４】
２、１０２、２０２、３０２：サーバ（ネットワーク装置）
４：ポートコントローラ
６：ポート
８：ＣＰＵ
１０：記憶装置
５０：端末
６０：ネットワーク
７０：周辺装置
【図１】
0004930224.tif 000002
【図２】
0004930224.tif 000003
【図３】
0004930224.tif 000004
【図４】
0004930224.tif 000005
【図５】
0004930224.tif 000006
【図６】
0004930224.tif 000007
【図７】
0004930224.tif 000008
【図８】
0004930224.tif 000009
【図９】
0004930224.tif 000010
【図１０】
0004930224.tif 000011
【図１１】
0004930224.tif 000012