(57)【特許請求の範囲】
【請求項１】
接続ステーションを経て少なくとも１つのコンピュータへローカル装置サービスを提供する方法において、
接続ステーションに直接またはローカルに通信結合されたローカル装置がビジーであるかどうかその接続ステーションによって決定する段階であって、前記ローカル装置は前記接続ステーションとだけ通信するように構成される、段階と、
前記ローカル装置により提供される利用可能な第１サービスを前記接続ステーションに直接またはネットワークを経て通信結合された少なくとも１つのコンピュータへ前記接続ステーションによって放送する段階と、
前記ローカル装置がビジーでなく且つ所与のコンピュータによって選択された場合に、前記少なくとも１つのコンピュータのうちの所与の１つに、前記ローカル装置へのアクセスを前記接続ステーションによって与える段階と、
を含み、
前記少なくとも１つのコンピュータのうちの所与の１つにアクセスを与える段階は、
前記少なくとも１つのコンピュータのうちの所与の１つから前記ローカル装置のための１つ以上のコマンドを受信する段階であって、前記コマンドは前記少なくとも１つのコンピュータのうちの所与の１つと前記ローカル装置との間の直接接続のために構成される、段階と、
前記コマンドを変換する段階であって、変換されたコマンドは、前記ローカル装置からは、前記少なくとも１つのコンピュータのうちの所与の１つから発生されたものではなく、前記接続ステーションからローカルに発生された要求であると見えるように構成された、段階と、
前記ローカル装置へ前記変換されたコマンドを送信する段階と、を含む方法。
【請求項２】
前記ローカル装置がビジーである場合に、前記方法は、前記コンピュータが前記ローカル装置にアクセスするのを防止する段階を更に含む、請求項１に記載の方法。
【請求項３】
前記ローカル装置は、多機能ローカル装置である、請求項１に記載の方法。
【請求項４】
前記ローカル装置の第１サービスを放送するのと同時に、前記ローカル装置により提供される利用可能な第２サービスを放送する段階を更に含む、請求項１に記載の方法。
【請求項５】
接続ステーションは、前記ローカル装置によりネットワークを経て提供される利用可能な第１サービスを放送する、請求項１に記載の方法。
【請求項６】
ローカル装置によりネットワークを経て提供されるサービスにコンピュータを接続する方法において、
ネットワークを経てサービスが利用できるかどうか前記コンピュータによって決定する段階と、
サービスを提供するように構成されたローカル装置の第１の選択を前記コンピュータによって接続ステーションへ通信する段階と、
前記ローカル装置が利用できるという前記接続ステーションからの応答を前記コンピュータにより受信する段階と、
前記コンピュータ上の前記ローカル装置に対応するドライバを起動する段階と、
前記コンピュータにより前記接続ステーションを通して前記ローカル装置にアクセスする段階と、
を含み、
前記ローカル装置にアクセスする段階は、
前記コンピュータから前記ローカル装置のための１つ以上のコマンドを受信する段階であって、前記コマンドは前記コンピュータと前記ローカル装置との間の直接接続のために構成される、段階と、
前記コマンドを変換する段階であって、変換されたコマンドは、前記ローカル装置からは、前記コンピュータから発生されたものではなく、前記接続ステーションからローカルに発生された要求であると見えるように構成された、段階と、
前記ローカル装置へ前記変換されたコマンドを送信する段階と、
む方法。
【請求項７】
前記接続ステーションは、ネットワークを経て利用可能なサービスをリストする放送を与える、請求項６に記載の方法。
【請求項８】
ネットワークを経て利用可能なサービスがあるかどうか決定する前に、サービスを要求するコンピュータのアプリケーションを起動する段階を含む、請求項６に記載の方法。
【請求項９】
前記ローカル装置へのコンピュータアクセスを与える前に、前記方法は、前記ローカル装置により提供される少なくとも１つのサービスがビジーであるかどうか決定する段階を更に含む、請求項６に記載の方法。
【請求項１０】
前記サービスは、プリント機能、スキャニング機能又はコピー機能の１つである、請求項６に記載の方法。
【請求項１１】
前記ローカル装置にコンピュータアクセスを与える前記段階は、前記ローカル装置及びコンピュータから前記接続ステーションへ通信経路を形成することを含む、請求項１０に記載の方法。
【請求項１２】
ローカル装置へネットワークアクセスを与える接続ステーションにおいて、
ローカル装置からのサービス通知、及びコンピュータからの選択通知を受け取るように構成されたネットワークインターフェイスと、
前記ネットワークインターフェイスと通信するプロセッサであって、
前記ローカル装置からネットワークを経て前記コンピュータへ前記サービス通知を放送し、
前記コンピュータが前記選択通知を前記ネットワークインターフェイスへ送信するときに前記ローカル装置にコンピュータアクセスを与え、
前記コンピュータが前記ローカル装置にアクセスするときに、前記ローカル装置がビジーであることを少なくとも１つの第２のコンピュータに通信する、
ように構成されたプロセッサと、
を備え、
前記プロセッサは、
前記コンピュータから前記ローカル装置のための１つ以上のコマンドを受信し、前記コマンドは前記コンピュータと前記ローカル装置との間の直接接続のために構成され、
前記コマンドを変換し、変換されたコマンドは、前記ローカル装置からは、前記コンピュータから発生されたものではなく、前記接続ステーションからローカルに発生された要求であると見えるように構成され、
前記ローカル装置へ前記変換されたコマンドを送信する、ことによって前記ローカル装置にコンピュータアクセスを与えるように構成された接続ステーション。
【請求項１３】
前記プロセッサは、前記コンピュータからコンピュータコマンドを受信するように更に構成される、請求項１２に記載の接続ステーション。
【請求項１４】
前記プロセッサは、ルーター機能を発揮するように更に構成される、請求項１２に記載の接続ステーション。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的に、電子装置に関するもので、より特定すれば、ネットワークを経て電子装置をシェアすることに関する。
【０００２】
関連出願の相互参照：本ＰＣＴ特許出願は、２０１１年６月１６日に出願された“SHARED ACCESS TO A LOCAL DEVICE”と題する米国特許出願第１３／１６１，９４２号の優先権を主張するものであり、これは、米国特許商標庁において代理人管理番号Ｐ９９５１ＵＳ１（Ｐ２２２０９２．ＵＳ．０１）でも識別することができ、これは、全ての目的で、ここに参考として援用される。
【背景技術】
【０００３】
コンピュータ及び他の電子装置、例えば、タブレット、移動電話、ゲームコンソール、及び他の同等の装置（以下「コンピュータ」）は、種々の外部装置、例えば、これに限定されないが、プリンタ、カメラ、スキャナ、コンピュータ、電話、等（「外部装置」）に電子的に接続されるように構成される。多くの外部装置は、ネットワークを通してコンピュータに接続されるか（「ネットワーク装置」）又はローカルで接続される（「ローカル装置」）ように構成される。ネットワーク装置は、ネットワークを通して多数のコンピュータに接続され、各コンピュータは、ネットワーク装置に個々にアクセスする。それとは対照的に、ローカル装置は、多くの場合に、所与の時間に単一のコンピュータに接続されるだけである。ローカル装置を別のコンピュータに接続するには、ローカル装置を第１のコンピュータから切断する必要がある。ローカル装置がコンピュータにローカルで接続されるとき、装置特有のドライバがインストールされる（又はユーザがコンピュータにそれをインストールする必要がある）。ドライバは、コンピュータがローカル装置と通信してそこにコマンドを与えるのを許す。現在では、人々が家に２台以上のコンピュータをもつことが一般的になったが、それら装置の多くは、ネットワーク装置ではなくローカル装置である。例えば、家族で１台のプリンタしかないが、家族の各メンバーが自分自身のコンピュータを有している。
【発明の概要】
【０００４】
本開示の実施例は、ローカル装置がネットワークアクセスのために構成されていないネットワークを経てローカル装置サービスを提供する方法の形態をとる。この方法は、ローカル装置がビジーであるかどうか決定し、そしてローカル装置がビジーでない場合には、ローカル装置により提供される利用可能な第１サービスを、ネットワークを経て放送することを含む。次いで、ローカル装置がビジーでなく且つコンピュータによって選択された場合に、ローカル装置へのコンピュータアクセスを与える。
【０００５】
本開示の他の実施例は、ネットワークを経てローカル装置により提供されるサービスにコンピュータを接続する方法の形態をとる。この方法は、ネットワークを経て利用できるサービスがあるかどうかコンピュータによって決定することを含む。利用できるサービスがある場合には、サービスを提供するように構成されたローカル装置を選択する。ローカル装置が選択されると、接続ステーションと通信して、コンピュータ及びローカル装置と通信する。次いで、ローカル装置に対応するコンピュータのドライバを起動する。
【０００６】
本開示の更に別の実施例は、ローカル装置へのネットワークアクセスを与える接続ステーションの形態をとる。この接続ステーションは、ローカル装置からのサービス通知及びコンピュータからの選択通知を受け取るように構成されたネットワークインターフェイスを備えている。又、接続ステーションは、ネットワークインターフェイスと通信するプロセッサも備えている。このプロセッサは、ローカル装置からネットワークを経てコンピュータへサービス通知を放送し、そしてコンピュータが選択通知をネットワークインターフェイスへ送信するときにローカル装置へのコンピュータアクセスを与えるように構成される。
【図面の簡単な説明】
【０００７】
【図１Ａ】ローカル装置へネットワークアクセスを与えるシステムを示す図である。
【図１Ｂ】ローカル装置へネットワークアクセスを与えるシステムの別の実施形態を示す図である。
【図１Ｃ】ローカル装置へネットワークアクセスを与えるシステムの別の実施形態を示す図である。
【図２】図１Ａに示すシステムのブロック図である。
【図３】ネットワークを経てローカル装置へローカルアクセスを与えるための一実施形態を示すフローチャートである。
【図４】ネットワークを経てコンピュータへローカル装置を接続する方法の一実施形態を示すフローチャートである。
【図５】接続ステーションがネットワークを経てローカル装置とコンピュータとの間で容易に通信するための方法の一実施形態を示すフローチャートである。
【発明を実施するための形態】
【０００８】
概略
ここに示す幾つかの実施形態において、本開示は、ネットワーク（例えば、ＷｉＦｉ、Ｅｔｈｅｒｎｅｔ（登録商標）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、及び他のネットワーキングトポロジー）を経てローカル装置へのアクセスを与える方法の形態をとる。ローカル装置は、非ネットワーク装置であるか、又は少なくとも１つの非ネットワーク機能を含むものである。例えば、ローカル装置は、多機能プリンタ、複写機、スキャナであり、ここで、スキャナ及びコピー機能は、ローカルでアクセスされるだけであるように構成される。この方法は、ネットワークアクセスするようにローカル装置を特別に構成する必要なく、ネットワークを経てローカル装置（又は装置の幾つかの機能）を設けることを許す。換言すれば、本開示は、コンピュータ及び／又はローカル装置に対応するソフトウェアドライバを実質的に変更せずに、ネットワークにわたって利用できる「独創的な(out of box)」コンポーネントを提供する。
【０００９】
更に、本開示は、並列に使用されるローカル装置によって与えられる多数の機能を提供する。例えば、ローカル装置は、プリンタ機能及びスキャナ機能を含み、又、本開示は、プリンタアクセスを経てローカル装置にコンピュータを接続しつつ、第２のコンピュータにより使用される個別のスキャニングアクセスを与える。
【００１０】
１つの実施形態において、接続ステーションは、コンピュータによりネットワークを経てローカル装置へのネットワークアクセスを与える。接続ステーションは、ローカル装置とコンピュータとの間に通信配置されるが、コンピュータ及びローカル装置は、互いに（接続時に）（例えば、直接的ユニバーサルシリアルバス接続を経て）見掛け上、ローカル接続される。このように、ローカル装置及び／又はコンピュータは、見掛け上、ネットワーク上にあるか又はネットワークに接続されるように特別に構成される必要はない。又、接続ステーションは、ローカル装置とコンピュータとの間の通信を促進し及び／又は変換することもできる。
【００１１】
詳細な説明
規範的な実施形態において、１つ以上のコンピュータによりローカル装置へのネットワークアクセスを与えるシステムは、少なくとも１つのコンピュータ、接続ステーション、及びローカル装置を備えている。図１Ａは、ローカル装置へのネットワークアクセスを与えるシステム１００のブロック図である。このシステム１００は、ネットワーク１０８を経て接続ステーション１０４と通信するコンピュータ１０２を備えている。接続ステーション１０４は、次いで、ローカル装置１０６と通信する。従って、接続ステーション１０４は、コンピュータ１０２及びローカル装置１０６の両方と通信する。この実施形態では、コンピュータ１０２とローカル装置１０６との間の通信は、接続ステーション１０４を経て送信される。接続ステーション１０４は、コンピュータ１０２がネットワーク１０８を経てローカル装置１０６へアクセスできるようにする（又はローカル装置１０６の機能を選択できるようにする）が、ローカル装置１０６は、最初ネットワーク装置として構成されない。
【００１２】
図１Ｂは、システム１００の別の実施形態のブロック図である。この実施形態では、コンピュータ１０２は、第２の接続ステーション１４０に接続され、これが、次いで、（ネットワーク１０８を経て）第１の接続ステーション１０４に接続される。同様に、図１Ｂには示されていないが、接続ステーション１０４、１４０は、ネットワーク１０８を介さずに互いに直接通信するように構成されてもよい。例えば、接続ステーション１０４、１４０は、互いに直結されてもよく、高周波、或いは他のネットワーク／接続トポロジー、例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）を使用するピコネットシステムを経て通信してもよい。
【００１３】
図１Ｃは、図１Ａのシステムの別の実施形態のブロック図である。この実施形態では、接続ステーション１０４は、複数のローカル装置１０６、１６２、１６４に接続される。更に、接続ステーション１０４は、（ネットワーク１０８を経て）コンピュータ１０２及び／又は第２のコンピュータ１２１にも接続される。このように、接続ステーション１０４は、複数のローカル装置１０６、１６２、１６４への、コンピュータ１０２、１２１の単一の接続を与える。ローカル装置１６２、１６４は、実質的に、任意の形式のローカル装置、例えば、デジタルカメラ、オーディオ装置、記憶装置、又はプリンタである。
【００１４】
図２は、図１Ａに示したシステムのブロック図である。コンピュータ１０２は、実質的に、任意の形式の電子コンピューティング装置である。例えば、コンピュータ１０２は、パーソナルコンピュータ、ラップトップコンピュータ、スマートホン、ビデオゲームコンソール、等である。コンピュータ１０２は、プロセッサ１１０、入力／出力インターフェイス１１２、ネットワーク／通信インターフェイス１１６、及びメモリ１１４を備えている。コンピュータ１０２内の種々のコンポーネントは、システムバス１１８（又は複数のシステムバス）を経て電子的に一緒に接続される。コンピュータ１０２は、図示されていない付加的なローカリ又はリモートコンポーネントを含み、図２は、単なる例示に過ぎない。
【００１５】
ネットワーク／通信インターフェイス１１６は、種々の電気信号を受信及び送信する。例えば、ネットワーク／通信インターフェイス１１６は、コンピュータ１０２をネットワーク１０８に接続して、接続ステーション１０４、並びにネットワーク１０８上の他の装置及びコンピュータへ信号を送信し、及び／又はそれらから信号を受信するのに使用される。又、ネットワーク／通信インターフェイス１１６は、ワイヤレス又はワイヤード接続（インターネット、ＷｉＦｉ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、Ｅｔｈｅｒｎｅｔ（登録商標）、ＵＳＢ、及びＦｉｒｅｗｉｒｅを含むが、それに限定されない）を経て電子信号を送信及び送出するのにも使用される。
【００１６】
メモリ１１４は、コンピュータ１０２により使用される電子データを記憶する。例えば、メモリ１１４は、任意の形式のコンテンツを含む電気的データを記憶し、これは、オーディオファイル、ビデオファイル、ドキュメントファイル及びデータファイルを含むが、これに限定されない。記憶されたデータは、コンピュータの１つ以上の種々のアプリケーション及び／又はオペレーションに対応する。メモリ１１４は、これに限定されないが、不揮発性記憶装置、磁気記憶媒体、光学記憶媒体、磁気−光学記憶媒体、電気的記憶媒体、リードオンリメモリ、ランダムアクセスメモリ、消去可能なプログラマブルメモリ及びフラッシュメモリを含む任意のフォーマットである。メモリは、コンピュータに対してローカルに設けられてもよく、及び／又はコンピュータからリモートに設けられてもよい。
【００１７】
プロセッサ１１０は、コンピュータ１０２及びその種々のコンポーネントの動作をコントロールする。プロセッサ１１０は、接続ステーション１０４と通信する。プロセッサ１１０は、実質的に、インストラクションを処理し、受信し及び／又は送信することのできる電子装置である。例えば、プロセッサ１１０は、マイクロプロセッサ又はマイクロコンピュータである。
【００１８】
入力／出力インターフェイス１１２は、種々の装置／ソースへの及びそれらからのコンピュータ１０２による通信を促進する。例えば、入力／出力インターフェイス１１２は、（例えば、キーボード、タッチ感知面、マウス、可聴入力又は他の装置を経て）ユーザからデータを受け取り、コンピュータ１０２のコントロールボタン（例えば、電源ボタン、ボリュームボタン）、等からもデータを受け取る。或いは又、入力／出力インターフェイス１１２は、外部のドライブ、例えば、ユニバーサルシリアルバス（ＵＳＢ）、又は他のビデオ／オーディオ／データ入力へデータを送り、及びそれらからデータを受け取る。
【００１９】
再び、図１Ａを参照すれば、ネットワーク１０８は、接続ステーション１０４とコンピュータ１０２との間に電子的通信を与える。ネットワーク１０８は、実質上、任意の形式の電子的通信メカニズム／経路でよく、そしてワイヤレス、又はワイヤード、或いはそれらの組み合わせでもよい。例えば、ネットワーク１０８は、インターネット、Ｅｔｈｅｒｎｅｔ（登録商標）、ユニバーサルシリアルバスケーブル（ＵＳＢ）、又は無線信号（例えば、ＷｉＦｉ、Ｂｌｕｅｔｏｏｔｈ（登録商標））を含む。１つの例では、ネットワーク１０８は、ローカルエリアネットワーク（ＬＡＮ）であるが、他の例では、ネットワーク１０８は、ワイドエリアネットワーク（ＷＡＮ）であり、或いはネットワークトポロジーが所与の具現化に対して必要に応じて使用される。
【００２０】
図１及び２を参照すれば、接続ステーション１０４は、実質的に、２つの装置間に通信を与えるように構成された任意の形式のコンピューティング装置である。接続ステーション１０４は、コンピュータ１０２及びローカル装置１０６との間で電子的通信を行うように構成される。２つの装置間の電子的通信は、ワイヤード及び／又はワイヤレストポロジーを含む任意の接続トポロジーを使用する。更に、接続ステーション１０２とローカル装置１０６との間のそのような接続は、直接的でもよいし間接的でもよい。例えば、ローカル装置１０６は、接続ステーション１０４へ直接的に接続され、そしてコンピュータ１０２は、接続ステーション１０４へワイヤレス接続される。しかしながら、他の設定が使用されてもよく、例えば、コンピュータ１０２及びローカル装置１０６は、両方とも、接続ステーション１０４にワイヤレス接続されてもよく、等々である。更に、接続ステーション１０２は、ルーター機能を発揮してもよい。換言すれば、接続ステーション１０２は、ある装置から別の装置へのデータパケットを受信及び送信してもよい。
【００２１】
接続ステーション１０４は、プロセッサ１２０、ネットワーク／通信インターフェイス１２４、メモリ１２６、及び種々のコンポーネントを電気的に接続するシステムバス１３０を備えている。プロセッサ１２０は、コンピュータ１０２のプロセッサ１１０と実質的に同様であるが、望ましいアプリケーションに基づいて、接続ステーション１０４のプロセッサ１２４は、一般的に、コンピュータ１０２よりパワフルでない。同様に、メモリ１２６は、コンピュータ１０２のメモリ１１４と実質的に同じであるが、接続ステーション１０４のメモリ１２６は、（一般的に）少量のデータを記憶するように構成される。外部メモリ及びデータ記憶サービスも、所与の具現化について必要に応じて、メモリ１２６とは別々に又はそれに組み合わせて利用することができる。
【００２２】
又、ネットワーク／通信インターフェイス１２４は、コンピュータ１０２のネットワーク／通信インターフェイス１１６と実質的に同じであるが、その必要はない。ネットワーク／通信インターフェイス１２４は、更に、ある装置に対してネットワーク１０８のアクセスを与え、装置を互いに接続し、複数の、おそらく異種の、コンピュータ及びローカル装置間でネットワーク化機能を遂行し、そして他のネットワーク及び接続管理機能を遂行するように構成される。例えば、ネットワーク／通信インターフェイス１２４は、コンピュータ１０２、ローカル装置１０６、及びそれに直接的又は間接的に接続された他の装置へルート機能を与える。
【００２３】
図１Ａ及び２を更に参照すれば、ローカル装置１０６は、実際上、コンピュータに電子的に接続される任意の装置である。更に、ローカル装置１０６は、コンピュータにローカル接続されるように構成された装置、即ちネットワークの一部分としてではなくコンピュータに直結されるように構成された装置である。例えば、ローカル装置１０６は、プリンタ、スキャナ、カメラ、ビデオカメラ、記憶装置、等である。更に、ある例において、ローカル装置１０６は、複数のサービス又はアプリケーションを与えるように構成される。これらの例では、ローカル装置１０６は、その装置１０６により与えられるサービス又はアプリケーションの全部ではなく１つがネットワークを経て与えられるように構成される。例えば、ローカル装置１０６は、プリント、コピー、記憶、及びスキャニングのような多数のサービス又は機能与える多機能装置であるが、プリンタ機能だけがネットワーク化サービスとして与えられてもよい。ローカル装置１０６は、多機能装置でもよいし、単一機能装置でもよいことに注意されたい。
【００２４】
幾つかの実施形態では、ローカル装置１０６は、接続１２８を経てコンピュータ１０２へ作動的に接続されるように構成される。接続１２８は、ケーブルのようなワイヤード接続でもよいし、ワイヤレス接続でもよい。ワイヤード接続の場合には、ケーブルは、実質的に、電子的通信をサポートするための任意の形式のケーブルでよく、１つの例では、ケーブル１２８がＵＳＢである。図１Ａに示すように、ローカル装置１０６は、接続１２８を経て接続ステーション１０４と通信する。
【００２５】
再び、図１Ａを参照すれば、システム１００は、ローカル装置１０６へのコンピュータ１０２のネットワークアクセスを与えるが、ローカル装置１０６は、一般的に、接続１２８を経て直接通信するように構成される。これは、ある実施形態では、接続ステーション１０４及びコンピュータ１０２がローカル装置１０６と上位互換性をもてるようにする。換言すれば、ローカル装置１０６は、ネットワーク能力を有していないが、接続ステーション１０４は、ローカル装置１０６により提供される機能に対してネットワーク能力を与えることができる。更に、ローカル装置１０６は、装置のソフトウェア（例えば、ドライバ）又は装置のハードウェア（例えば、ネットワークカード、モジュール、等）への変更を実質的に必要とせずに）、接続ステーション１０４及びネットワーク１０８を経て他の装置及びコンピュータへ通信接続することができる。
【００２６】
接続ステーション１０４は、ネットワーク能力を与えるように最初に構成されていない多数の異なる装置にネットワーク能力を与えることができる。これは、ネットワーク装置が、通常、例えば、多数のネットワークトポロジーに関連して使用されるプロトコルスタックの権利取得を要求する高い経費を伴わずに、ローカル装置１０６がネットワーク装置として機能するのを許す。更に、ローカル装置１０６は、多数のコンピュータによりアクセスされて使用され、これは、多数のユーザが実質的に同時に同じ装置にアクセスするのを許し、且つ所与のユーザのコンピュータとローカル装置の地理的な接近性に関する問題もない。
【００２７】
図３は、ローカル装置１０６の利用性を広告し、そしてネットワークを経ての装置へのコンピュータアクセスを裁定する方法の一実施形態を示すフローチャートである。この方法２００は、ローカル装置１０６とコンピュータ１０２との間で通信を行うためのリモートバーチャル化を与えるが、一般的には、ローカル装置１０６へのコンピュータ１０２によるアクセスを調整又は裁定する。方法２００は、動作２０２で始まり、ローカル装置１０６は、接続ステーション１０４に通信接続される。
【００２８】
ローカル装置１０６が接続ステーション１０４と通信すると、この方法２００は、動作２０４へ進み、接続ステーション１０４は、ローカル装置１０６が使用中であるか、さもなければ、使用できるかどうか決定し、例えば、ローカル装置１０６は、使用中であるが、バッファを有していて、付加的な入力を受け取ることができる。この動作は、ローカル装置１０６がビジーであるかどうか、又はローカル装置１０６が多数の機能、現在利用できる特定の機能を与えるかどうか決定する。更に、ある実施形態では、接続ステーション１０４は、ローカル装置１０６から状態情報を決定し、例えば、ローカル装置１０６がある期間利用できるかどうか決定する。ローカル装置１０６が使用中であるか、さもなければ、利用不可である場合には、方法２００は、動作２１０へ進み、接続ステーション１０４は、ローカル装置１０６がもはや使用中でなく又は利用不可でなくなるまで、所定の、決定されたランダムな、又は選択時間中、待機となる。
【００２９】
ローカル装置１０６（又は特定の機能）が所与のコンピュータのアクセスに利用可能であると、方法２００は、動作２０６へ進む。動作２０６において、接続ステーション１０４は、ネットワーク１０８を経て広告又は他の警報を放送する。例えば、接続ステーション１０４は、ドメイン名システムサービス発見（ＤＮＳ−ＳＤ）のようなサービス発見プロトコルを使用して、ネットワークを経てのサービスとしてシェアされる各ローカル装置１０６を広告する。
【００３０】
警報又は広告は、ローカル装置１０６が利用可能であるとの通知を含む。他の実施形態では、警報又は広告の存在は、それ自身、ローカル装置１０６が利用可能であることを指示する。換言すれば、接続ステーション１０４は、実際に利用可能なローカル装置１０６についてのみ広告又は警報を与える。それ故、ローカル装置１０６がビジーである場合には、広告又は警報がない。同様に、接続された装置で、ビジーであるか又はシェアできない装置は、広告されない。更に、ローカル装置１０６が接続ステーション１０４から切断されると、接続ステーション１０４は、もはや特定の装置を広告しない。このように、不必要な広告が回避され、シェアできるローカル装置１０６だけが広告される。
【００３１】
放送が送信され、各コンピュータ１０２は、広告を受信するように構成される。例えば、コンピュータ１０２は、接続ステーション１０４と同じ又は同様のサービス発見プロトコルを使用し、そして広告及び既存の広告の更新を受信する。
【００３２】
更に、接続ステーション１０４は、多数の装置と通信し、各装置（又は選択装置）がネットワーク１０８を経て放送されることに注意されたい。それ故、放送は、ネットワーク１０８と通信する異なるコンピュータ１０２に全て利用できる多数の異なる装置を含む。幾つかの別の実施形態では、コンピュータ１０２及び接続ステーション１０４は、チャレンジ・リプライ(challenge and reply)ベースで通信する。例えば、コンピュータ１０２は、接続ステーション１０４に問合せして、放送を受け取る前に利用可能な装置があるかどうか調べる。
【００３３】
接続ステーション１０４による放送又は広告は、ローカル装置１０６に関する情報を含む。この情報は、ユーザ（又はコンピュータ１０２）が、ローカル装置１０６への接続を希望するかどうか決定できるようにする。この情報は、売主情報（例えば、ブランド名）、シリアル番号、及び他の関連情報、例えば、ローカル装置１０６により提供される機能を含む。
【００３４】
ローカル装置１０６がネットワーク１０８を経て放送されると、方法２００は、動作２０８へ進み、接続ステーション１０４は、コンピュータ１０２がローカル装置１０６への排他的アクセスを要求したかどうか決定する。コンピュータ１０２による選択プロセスは、図４を参照して詳細に説明する。しかしながら、コンピュータ１０２は、ローカル装置１０６へのアクセスを要求すると、ローカル装置１０６（又は機能）への接続を希望することを指示するコールを接続ステーション１０４へ発信する。ローカル装置１０６が選択されると、方法２００は、動作２１２へ進む。
【００３５】
動作２１２は、ローカル装置１０６がビジーであるかどうか決定する。接続ステーション１０４は、コンピュータ１０２が現在ローカル装置１０６への排他的アクセスを有するかどうか、及び／又はローカル装置１０６の望ましい機能が使用中であるかどうか決定する。
【００３６】
別の実施形態において、ローカル装置１０６は、コンピュータ１０２がローカル装置１０６へのアクセスを有し且つローカル装置１０６と現在通信しているか、又は将来ローカル装置１０６と通信するかもしれない場合にも、ビジーと考えられる。しかしながら、これらの実施形態は、具現化がより困難である。これは、ローカル装置１０６とコンピュータ１０２との間の将来の通信を予想することが困難だからである。例えば、ローカル装置１０６がプリンタでありそしてそれがペーパーを使い果たした場合には、更なるペーパーが装置１０６に供給されるまでローカル装置１０６とコンピュータ１０２との間に通信が切れる。接続ステーション１０４から見ると、この現在通信の欠如は、コンピュータ１０２とローカル装置１０６との間の通信の終了の合図であるが、それは、一時的な状態に過ぎない。それ故、一般的に、ローカル装置１０６は、単にコンピュータがローカル装置１０６への排他的アクセスを有する場合にビジーであると決定されてもよい。
【００３７】
幾つかの実施形態において、動作２０６における放送は、ローカル装置１０６の状態、例えば、ローカル装置１０６がビジーであるかどうかを含むことに注意されたい。しかしながら、動作２１２は、ローカル装置１０６が動作２０６と動作２１２との間でビジーになった場合に完了される。しかし、ある実施形態では、動作２１２が省略されてもよいことに注意されたい。というのは、動作２０６は、動作２０４においてローカル装置１０６が使用中でないことを接続ステーション１０４が決定しない限り、実行されないからである。この実施形態では、接続ステーション１０４は、ローカル装置１０６が現在使用中／ビジーである場合に利用可能となるのでローカル装置１０６を放送しない。
【００３８】
動作２１２において、ローカル装置１０６がビジーであると接続ステーション１０４が決定した場合には、方法２００は、動作２１４へ進む。動作２１４は、ローカル装置１０６（又は機能）へのコンピュータ１０２のアクセスを拒絶する。例えば、接続ステーション１０４は、ローカル装置１０６（又は機能）がもはや利用できないという警報メッセージをコンピュータ１０２に与える。
【００３９】
接続ステーション１０４がローカル装置１０６へのコンピュータ１０２のアクセスを拒絶すると、方法２００は、動作２１８へ進む。動作２１８は、ローカル装置１０６（又は機能）が使用中であることを放送する。例えば、動作２０６からのオリジナル放送広告は、ローカル装置１０６がビジーであるか、又は広告が単に除去されたことを指示するように変更される。更に、使用中の広告は、コンピュータ１０２がローカル装置１０６にアクセスすることに関する情報、例えば、識別子も含む。方法２００は、次いで、動作２０４へ戻り、そして接続ステーション１０４がもう一度チェックを行って、ローカル装置１０６（又は機能）が使用中であるかどうか決定する。ローカル装置が切り離された(detach)場合には、動作２０４は、ローカル装置１０６がもう一度利用可能になったことを指示する。
【００４０】
動作２１２において、ローカル装置１０６がビジーでないことを接続ステーション１０４が決定すると、方法２００は、動作２１６へ進み、そしてコンピュータ１０２は、ローカル装置１０６へのアクセスを許可する。ローカル装置１０６は、次いで、コンピュータ１０２に通信結合される。ローカル装置１０６は、次いで、コンピュータ１０２に「添付(attach)」されると考えられるが、ローカル装置１０６は、コンピュータ１０２に「仮想的に」添付され、「物理的には」添付されないことに注意されたい。即ち、ローカル装置１０６は、接続１２８を経て接続ステーション１０４に直接接続され、そして接続ステーション１０４を通して、ローカル装置１０６は、コンピュータ１０２に添付され又はそれと通信する。
【００４１】
図４を参照して詳細に述べるように、ローカル装置１０６がコンピュータ１０２に対してバーチャル化されると、コンピュータ１０２は、ローカル装置１０６をローカルとして見る。ある実施形態では、ローカル装置１０６を添付することは、ローカル装置１０６の個別機能をコンピュータ１０２に接続することを含む。例えば、ローカル装置１０６は、それがスキャニング機能及びプリント機能の両方を有する場合に、その一方の機能、例えば、プリント機能のみについてコンピュータ１０２に接続されるが、他方の機能については接続されない。
【００４２】
幾つかの実施形態において、ローカル装置１０６は、動作２１６までコンピュータ１０２に添付されない。これは、ユーザにより（コンピュータ１０２を経て）開始されるまでローカル装置１０６とコンピュータ１０２との間に接続がないことを意味する。これは、機能又はローカル装置１０６が実際に利用されるまで、コンピュータ１０２が機能又は全ローカル装置１０６を独占するのを防止する。ローカル装置１０６は、「ネットワーク」装置として構成されないので一度に１つの機能又は接続を与えるように構成されるだけである。それ故、機能が実際に利用されるまでコンピュータ１０２が機能又はローカル装置１０６に接続するのを防止することにより、ローカル装置１０６は、使用と使用との間のダウンタイムに他のコンピュータに接続することができる。
【００４３】
ローカル装置１０６（又は個別機能）がコンピュータ１０２に接続されると、方法２００は、動作２１７へ進む。接続ステーション１０４は、コンピュータ１０２とローカル装置１０６との間の接続が切れたかどうか決定する。例えば、ローカル装置１０６又はコンピュータ１０２がデッドになると、ネットワーク１０８への接続が失われるか、さもなければ、通信が防止される。ローカル装置１０６とコンピュータ１０２との間の接続が切れなかった場合には、方法２００は、動作２１８へ進む。
【００４４】
動作２１８において、接続ステーション１０４は、ローカル装置１０６が使用中であることを、ネットワーク１０８を経て放送する。この放送で、ネットワーク１０８にアクセスする他のコンピュータ及び装置は、ローカル装置１０６（又はローカル装置１０６のある機能）が利用できないと考えることができる。次いで、方法２００は、動作２０４へ戻り、接続ステーション１０４は、ローカル装置１０６が使用中であるかどうか決定する。
【００４５】
動作２１７において、ローカル装置１０６とコンピュータ１０２との間の接続が切れた場合には、方法２００は、動作２２０へ進む。接続ステーション１０４は、アクセスはもはや得られないことをコンピュータ１０２（又はローカル装置１０６）に通知する。接続ステーション１０４は、次いで、ローカル装置１０６へのコンピュータ１０２のアクセスを終了させ、方法２００は終了となる。接続ステーション１０４がローカル装置１０６へのコンピュータ１０２のアクセスを与えている間の実質的に任意の時点で、接続ステーション１０４は、２つの間の接続が切れたかどうか決定するためにチェックすることに注意されたい。これは、コンピュータ１０２とローカル装置１０６との間の接続が切れた場合にコンピュータ１０２がローカル装置１０６のアクセスを独占するのを防止する。
【００４６】
図４は、ネットワーク１０８を通してローカル装置１０６（又はローカル装置１０６の機能）をコンピュータ１０２へ接続する方法の一実施形態を示すフローチャートである。この方法３００は、動作３０２で始まり、コンピュータ１０２は、ネットワーク１０８を経て利用できる装置及びサービスについてネットワーク１０８をサーチする。動作３０２は、コンピュータ１０２のスタートアップ時に行われる。ユーザが利用可能な装置／サービスを見るためのアプリケーションを選択すると、コンピュータ１０２は、ネットワーク１０８をスキャンし続けて、利用可能な装置及びサービス、等を探す。
【００４７】
動作３０２において、コンピュータ１０２は、方法２００の動作２０６、２１８における接続ステーション１０４による広告のような放送された警報又は広告をサーチすることによりネットワーク１０８をスキャン又はサーチする。広告は、ローカル装置１０６に関する情報、例えば、製造者、部品番号、シリアル番号、製品名、等を含む。
【００４８】
動作３０４の後に、方法３００は、動作３０６へ進み、コンピュータ１０２、接続ステーション１０４、及び／又はユーザは、装置及び／又は機能がビジーであるかどうか決定する。例えば、ローカル装置１０６がネットワーク１０８上の別のコンピュータによって現在使用されている場合には、接続ステーション１０４は、ローカル装置１０６がビジーであることを示す別の広告を送信する。選択された装置又は望ましい装置がビジーである場合には、方法３００は、動作３０４へ戻る。しかしながら、ローカル装置１０６がビジーでない場合には、方法３００は、動作３０８へ進む。幾つかの実施形態において、接続ステーション１０４は、ローカル装置１０６がビジーである場合には広告を放送しないことに注意されたい。それ故、望ましい具現化に基づき、動作３０４を省略してもよい。
【００４９】
動作３０８は、ネットワーク１０８を経て広告されたローカル装置１０６をコンピュータ１０２が使用したいかどうか決定する。例えば、ユーザは、ローカル装置１０６に関する情報、例えば、その利用可能な機能（例えば、プリント、スキャニング、等）を見て、ローカル装置１０６の使用を望むと決定し、そしてローカル装置１０６（又は機能）を選択するようにコンピュータ１０２を構成する。次いで、コンピュータ１０２は、接続ステーション１０４からローカル装置１０６（又は機能）への排他的アクセスを要求する。
【００５０】
動作３０８において、ユーザが選択された装置の使用を望まない場合には、方法３００は、動作３０２へ戻り、そしてコンピュータ１０２は、利用可能なサービスをもう一度サーチする。しかしながら、ユーザがローカル装置１０６の使用を望む場合には、方法３００は、動作３１０へ進む。
【００５１】
動作３１０は、ローカル装置１０６のドライバがインストールされたかどうか決定する。ドライバは、コンピュータ１０２がローカル装置１０６と良好に通信できるようにするためのソフトウェアパケットである。ドライバは、ローカル装置１０６に特有の情報を含み、そしてコンピュータ１０２の１つ以上のコンポーネントと相互作用するように構成される。ドライバは、製造者を経て（例えば、ウェブサイトを経て）コンピュータ１０２へ送られ、そしてローカル装置１０６ごとに及び／又はローカル装置１０６の機能ごとに特定のドライバがある。ドライバがインストールされない場合には、方法３００は、動作３１２へ進み、ドライバがインストールされる。例えば、ローカル装置の多くの製造者は、ウェブサイト上のローカル装置ごとにドライバを与え、コンピュータ１０２は、要求されたドライバをダウンロードする。
【００５２】
動作３１２でドライバがインストールされた後に、方法３００は、動作３０６へ戻り、ローカル装置１０６がビジーであるかどうか決定する。ある場合には、ドライバをインストールするのに、コンピュータ１０２を再スタートすることが要求される。このケースでは、ローカル装置１０６が利用不可となり、それ故、動作３０６で、もう一度、ローカル装置１０６が利用可能であるかどうか決定する。
【００５３】
ある実施形態では、ドライバが接続ステーション１０４ではなくコンピュータ１０２にインストールされる。これは、多数のローカル装置１０６が使用されて、接続ステーション１０４にソフトウェアドライバを含ませると、接続ステーション１０４がより大きなコンピューティングパワー及び／又はメモリを有することが必要になるからである。それ故、一般的に、接続ステーション１０４は、ローカル装置１０６及びコンピュータ１０２の両方に共通の一般的にジェネリックな動作を使用して、ローカル装置１０６及びコンピュータ１０２の両方と相互作用する。例えば、ローカル装置１０６がＵＳＢ接続を含む場合には、接続ステーション１０４は、ローカル装置１０６及びコンピュータ１０２との間で読み取り、書き込み及び装置要求を通信する。
【００５４】
しかしながら、他の実施形態では、ドライバは、接続ステーション１０４にインストールされる。それらの実施形態では、接続ステーション１０４は、コンピュータ１０２のドライバと、ローカル装置１０６により必要とされるドライバとの間で変換を遂行する。このように、コンピュータ１０２は、ローカル装置１０６のための特定のドライバに適合しなくてもよく又はそれを受け入れることができなくてもよい。例えば、コンピュータ１０２は、新たなローカル装置１０６のドライバに適合しない旧式のオペレーティングシステムを有してもよい。このように、接続ステーション１０４は、ローカル装置１０６の機能的能力の少なくとも幾つかをコンピュータ１０２に与える通信メカニズムを果たす。これらの例において、接続ステーション１０４とコンピュータ１０２との間の通信プロトコルを拡張できることに注意されたい。通信プロトコルは、読み取り／書き込みのための終了点、選択判断の判断順序、及びどの装置へ要求を発行すべきか、等の高レベルのドライバ動作を含まねばならない。
【００５５】
ドライバがインストールされると、方法３００は動作３１４へ進み、コンピュータ１０２は、ローカル装置１０６への排他的アクセスを要求する。例えば、コンピュータ１０２は、ネットワークホスト名、ネットワークアドレス、ポート番号、又はローカル装置１０６の広告に含まれる他の識別子に基づいて、ローカル装置１０６を要求する。ある例では、接続ステーション１０４により要求が受け取られた時間にローカル装置１０６がビジーになったためにアクセスが拒絶される（図２の動作２１４で述べたように）。
【００５６】
ローカル装置１０６がビジーでない場合に、接続ステーション１０４は、ローカル装置へのコンピュータ１０２のアクセスを許可する。コンピュータ１０２は、全ローカル装置１０６へのアクセス、又はコンピュータ１０２に対するローカル装置１０６の個別の機能を要求する。
【００５７】
コンピュータ１０２へのアクセスが許可されると、方法３００は、動作３１５へ進む。動作３１５は、コンピュータ１０２においてローカル装置１０６のバーチャルバージョンを開始する。接続ステーション１０４は、コンピュータ１０２とローカル装置１０６との間の仲介役であり、接続ステーション１０４がコンピュータ１０２とローカル装置１０６との間の通信を促進できるようにする。
【００５８】
コンピュータ１０２及びローカル装置１０６の両方から見て、コンピュータ１０２においてローカル装置１０６がバーチャル化されたとき、接続は、見掛け上、直接的接続となる。しかしながら、コンピュータ１０２及びローカル装置１０６は、両方とも、接続ステーション１０４を通して互いに通信するだけであり、即ち非直接的接続である。更に、ローカル装置１０６がコンピュータ１０２に添付されると、コンピュータ１０２は、ローカル装置１０６を、ローカルＵＳＢのようなローカル装置として見る。
【００５９】
接続ステーション１０４及び／又はコンピュータ１０２は、（コンピュータ１０２から見て）真の意味で「ローカル」ではないとのフラグを装置１０６に立てるサービス放送と共にメタデータタグを装置情報にタグ付けする。例えば、コンピュータ１０２におけるローカル装置１０６の全てのバーチャル装置インスタンスは、それらを、ローカル装置１０６にも対応するコンピュータ１０２内の対応ネットワークサービスレコードと一致させることができるようにタグ付けされる。これは、コンピュータ１０２がローカル装置１０６の単一記述をユーザに提示できるようにする。
【００６０】
幾つかの実施形態において、コンピュータ１０２は、ネットワーク装置、及びローカルに添付される装置の両方を取り扱うソフトウェアを含む。これらの例では、ソフトウェアは、２つの別々のエンティティ（ネットワーク装置及びローカル装置）として接続ステーション１０４に添付されるローカル装置１０６の取り扱いを回避するように構成される。それ故、ネットワーク１０８に放送されるローカル装置１０６及びコンピュータ１０２に見えるローカル装置１０６に対応するリスト又はデータは、一緒に合成される。これは、コンピュータ１０２が、ローカル装置１０６の２つの別々の記述（例えば、一方はシェアされた装置及びもう一方はローカル接続された装置）ではなく、単一の記述を表示できるようにする。これは、コンピュータ１０２により及び／又は接続ステーション１０４により行われる。
【００６１】
コンピュータ１０２は、接続ステーション１０４と通信し且つローカル装置１０６のバーチャル化の観点を取り扱う専用バックグランドプロセス又は他のソフトウェアを含む。ある実施形態では、ソフトウェアライブラリがバックグランドプロセスと通信し、アプリケーションプログラミングインターフェイスを与える。アプリケーションプログラミングインターフェイスは、コンピュータ１０２上で実行されるアプリケーションがローカル装置１０６を使用できるようにする。このように、アプリケーションは、アプリケーションにより与えられる確立されるユーザ経験と一貫したものとなるように、ローカル装置１０６のバーチャルな「添付」及び「切り離し」を統合することができる。換言すれば、アプリケーションは、ローカル装置１０６を、（ユーザから見て）直接添付されたものとして提示できるように、バックグランドプロセスを経てローカル装置１０６へ接続し及び切断することができる。
【００６２】
例えば、コンピュータ１０２が、直接接続された装置及び「真の」ネットワーク装置を含むスキャニングアプリケーションを含む場合には、ローカル装置１０６をネットワーク装置として提示するようにアプリケーションを形成することができる。ユーザが（例えば、利用可能なモデルのクリック可能なリストから）特定の装置を選択すると、コンピュータ１０２へのローカル装置１０６のバーチャルな添付及び切り離しは、アプリケーションを経て行われるが、バックグランドプロセスと通信するソフトウェアライブラリからの助けを伴う。
【００６３】
ローカル装置１０６がコンピュータ１０２に添付されると、方法３００は、任意の動作３１６へ進み、そしてコンピュータ１０２により使用される機能ではなく、ローカル装置１０６の他の機能がブロックされる。例えば、ローカル装置１０６は、記憶機能及びスキャニング機能を含む。コンピュータ１０２が選択機能（例えば、スキャニング）のためにローカル装置１０６に接続されると、ローカル装置１０６において利用可能な他の機能（例えば、記憶されたファイルの検索）がコンピュータ１０２に対してブロックされる。
【００６４】
動作３１６の後に、方法３００は、動作３１８へ進み、そしてコンピュータ１０２は、ドライバを起動する。ローカル装置１０６は、コンピュータ１０２に対してローカルに（例えば、直接的に）添付されているように見えるので、ドライバは、起動されて、適切に動作するが、ドライバは、ネットワーク１０８を経てローカル装置１０６を添付できるように変更されていない。
【００６５】
ドライバが起動されると、コンピュータ１０２は、ローカル装置１０６と通信するように構成される。（ドライバを経て）コンピュータ１０２は、接続ステーション１０４を経てローカル装置１０６と通信する。これは、図５を参照して詳細に述べる。上述したように、ローカル装置１０６がコンピュータ１０２に添付されると、ローカル装置１０６（又は選択機能）は、ネットワーク１０８上の他のコンピュータにとって利用不能となる。これは、ローカル装置１０６がネットワーク装置として構成されず、コンピュータ１０２に（ケーブル１２８を経て）直結されるように構成されるに過ぎないからである。それ故、接続ステーション１０４は、ローカル装置１０６をコンピュータ１０２に直結する必要性を実質的に排除するが、ローカル装置１０６は、動作装置（例えば、コンピュータ１０２）に対する単一の通信経路をオープンさせるように構成されるだけである。それに加えて又はそれとは別に、ローカル装置１０６の幾つかの機能は、一度に１つのコンピュータ１０２により使用されるように構成されるだけである。例えば、スキャニング機能は、一度に１つのコンピュータをスキャンするように構成される。
【００６６】
別の実施形態において、図１Ｃに示したように、接続ステーション１０４は、ローカル装置１０６及び／又はコンピュータ１０２を、そのいずれか又は両方が単一の他の装置に接続されていると考えるように効果的に「だます(trick)」ように構成される。例えば、（接続装置１０４を経て）ローカル装置１０６は、実際にそれが複数のコンピュータ（例えば、スキャニング機能を使用する１つのコンピュータ及び別の機能を使用する別のコンピュータ）に接続されたときに、単一のコンピュータ１０２にしか接続されていないと考えるように「だまされる(spoofed)」。この実施形態では、接続ステーション１０４は、本質的に、１つ以上のコンピュータ１０２、１２０とローカル装置１０６との間のバッファとして働く。
【００６７】
動作３１８の後に、方法３００は、動作３２０へ進み、接続ステーション１０４及び／又はローカル装置１０６は、コンピュータ１０２がローカル装置１０６の使用を終了したかどうか決定する。例えば、ローカル装置１０６を使用するアプリケーションが完了すると、コンピュータ１０２は、それがローカル装置１０６とで終了したことを（例えば、それらのポイント対ポイント通信プロトコルを経て）接続ステーション１０４に通知する。次いで、接続ステーション１０４は、ローカル装置１０６の現在状態を反映するように、即ちローカル装置１０６が現在利用可能であることを反映するように、ローカル装置１０６の広告を更新する。
【００６８】
コンピュータ１０２がローカル装置１０６とでまだ終了していない場合には、方法３００は、動作３２２へ進み、そしてコンピュータ１０２が終了するように待機ループが方法３００を休止する。コンピュータ１０２がローカル装置１０６とで終了すると、方法３００は、動作３２４へ進み、コンピュータ１０２とローカル装置１０６との間のバーチャル接続が「切り離し」され、そして「使用中」フラグが（適宜）リセットされる。接続ステーション１０４は、ローカル装置１０６とコンピュータ１０２との間の「バーチャル」接続を終了する。
【００６９】
図５は、接続ステーション１０４がネットワーク１０８を経てローカル装置１０６とコンピュータ１０２との間の通信を促進する方法４００の一実施形態を示すフローチャートである。この方法４００は、動作４０２で始まり、接続ステーション１０４は、ローカル装置１０６とコンピュータ１０２との間を排他的に結合し、又はそれらの間に論理的接続を確立する。例えば、ローカル装置１０６は、図４及び５の動作２１６、３１４について各々述べたように、コンピュータ１０２に添付される。ローカル装置１０６及びコンピュータ１０２が接続装置１０４を経て通信すると、方法４００は、動作４０４へ進む。
【００７０】
動作４０４は、ローカル装置１０６及び／又はコンピュータ１０２が、他へ転送する必要のあるコマンド及び／又はデータを有するかどうか決定する。コマンド又はデータは、情報の読み取り、書き込み、検索、リセット、等の要求を含む。一般的に、ローカル装置１０６は、コンピュータ１０２へコマンドを発行しないことに注意されたい。むしろ、一般的に、コンピュータ１０２は、ローカル装置１０６へのコマンドを排他的に要求する。更に、動作４１０について以下に述べるように、コンピュータ１０２による各要求は、実際には、接続ステーション１０４により実行される。
【００７１】
ローカル装置１０６及び／又はコンピュータ１０２が他に対するコマンドを有する場合には、方法４００は、動作４０６へ進む。他方、ローカル装置１０６もコンピュータ１０２も、他に対するコマンド又はデータ要求を有していない場合には、方法４００は、動作４０５へ進む。
【００７２】
動作４０５は、所定の待機時間を越えたかどうか決定する。例えば、コンピュータ１０２が応答しなくなった（例えば、ネットワーク１０８への接続を失うか、クラッシュするか、等々の）場合には、接続ステーション１０４が、待機時間の後に、ローカル装置１０６へのコンピュータ１０２のアクセスを取り消す。動作４０５で接続が終了されるとき、コンピュータ１０２がもはや接続ステーション１０４及びローカル装置１０６と通信できないにも関わらずコンピュータ１０２がローカル装置１０６への排他的アクセスを独占することが防止される。
【００７３】
ローカル装置１０６もコンピュータ１０２も、設定期間中、他に対するインストラクションをもたない場合には、動作４０５が、待機時間を越えたかどうか決定し、方法４００が無限ループを進むことのないようにする。設定期間の後に、インストラクションがない場合には、方法４００は、終了４１２へ進む。しかしながら、動作４０５において、待機時間をまだ越えない場合には、方法４００は、動作４０４へ戻り、インストラクションがあるかどうか決定する。動作４０５は、無限ループ状態を潜在的に防止するための待機時間チェック、サイクル数チェック又は他のチェックであることに注意されたい。
【００７４】
更に、ある場合には、コンピュータ１０２と接続ステーション１０４との間にキープアライブパケットが周期的に送信される。キープアライブパケットは、コンピュータ１０２が依然応答すること、及びローカル装置１０６とコンピュータ１０２との間の接続が依然有効であることを接続ステーション１０４に通知する。接続ステーション１０４は、キープアライブパケットを受け取ると、時間切れタイマー、及び／又は時間切れまでのサイクル数をスタートする。キープアライブパケットは、コンピュータ１０２とローカル装置１０６との間の、アイドル状態であるが依然応答性のある接続を、接続ステーション１０４が終了させるのを防止する。例えば、コンピュータ１０２とローカル装置１０６との間の通信が欠如すると、コンピュータ１０２が応答しなくなったことを示さない。
【００７５】
コマンド及び／又はデータが受け取られると、方法４００は動作４０６へ進み、ローカル装置１０６又はコンピュータ１０２からのコマンド及び／又はデータが接続ステーション１０４へ送信される。接続ステーション１０４は、コマンド及び／又はデータを受け取ると、動作４０８において、そのコマンド及び／又はデータを変換する。コマンド及び／又はデータは、直接的接続のために構成されたものであるから、接続ステーション１０４は、コマンド及び／又はデータを変換する。例えば、ローカル装置１０６は、コンピュータ１０２との間で直接的に通信するように構成され、又、ローカル装置１０６は、ネットワーク１０８を経てコンピュータ１０２と通信するので、コマンド及び／又はデータは、見掛け上、ローカルで送信されるように変換される。
【００７６】
コマンド及び／又はデータが送信されると、方法４００は、動作４１０へ進み、コマンド及び／又はデータは、ローカル装置１０６へ又はローカル装置１０６から送信される。例えば、コンピュータ１０２は、ローカル装置１０６から読み取りコマンドを発行し、そのコマンドが適切に変換された後に、接続ステーション１０４は、そのコマンドをローカル装置１０６へ送信する。同様に、ローカル装置１０６は、データを接続ステーション１０４へ送信し、そのデータは、それが変換されると、（ネットワーク１０８を経て）コンピュータ１０２へ転送される。
【００７７】
結論
以上の説明は、広い応用をもつ。例えば、ここに開示した例は、ネットワークを経てローカル装置へのアクセスを与えることに焦点を当てたが、ここに開示した概念は、特定の通信スキームのために構成された他の形式の装置にも等しく適用できることが明らかであろう。同様に、ネットワーク及び接続ステーションは、ローカル装置に関連して説明したが、ここに開示した装置及び技術は、多数の装置により提供される特定の機能又はサービスにも等しく適用できる。従って、いずれの実施形態の開示も、例示に過ぎず、請求項を含む開示の範囲がそれらの例に限定されることを示唆するものではない。
【符号の説明】
【００７８】
１００：システム
１０２、１２１：コンピュータ
１０４：接続ステーション
１０６、１６２、１６４：ローカル装置
１０８：ネットワーク
１１０、１２０：プロセッサ
１１２、１２７：入力／出力インターフェイス
１１４、１２６：メモリ
１１６、１２４：ネットワーク／通信インターフェイス
１１８、１３０：システムバス
１４０：接続ステーション
【図１Ａ】
0005837189.tif 000002
【図１Ｂ】
0005837189.tif 000003
【図１Ｃ】
0005837189.tif 000004
【図２】
0005837189.tif 000005
【図３】
0005837189.tif 000006
【図４】
0005837189.tif 000007
【図５】
0005837189.tif 000008