JP5837189B2 - ローカル装置へのシェアドアクセス - Google Patents

ローカル装置へのシェアドアクセス Download PDF

Info

Publication number
JP5837189B2
JP5837189B2 JP2014515865A JP2014515865A JP5837189B2 JP 5837189 B2 JP5837189 B2 JP 5837189B2 JP 2014515865 A JP2014515865 A JP 2014515865A JP 2014515865 A JP2014515865 A JP 2014515865A JP 5837189 B2 JP5837189 B2 JP 5837189B2
Authority
JP
Japan
Prior art keywords
local device
computer
network
station
local
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014515865A
Other languages
English (en)
Other versions
JP2014522016A (ja
Inventor
バスカラン サブラマニアム
バスカラン サブラマニアム
ミゲル ジェイ ベガ
ミゲル ジェイ ベガ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Inc filed Critical Apple Inc
Publication of JP2014522016A publication Critical patent/JP2014522016A/ja
Application granted granted Critical
Publication of JP5837189B2 publication Critical patent/JP5837189B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake

Description

本発明は、一般的に、電子装置に関するもので、より特定すれば、ネットワークを経て電子装置をシェアすることに関する。
関連出願の相互参照:本PCT特許出願は、2011年6月16日に出願された“SHARED ACCESS TO A LOCAL DEVICE”と題する米国特許出願第13/161,942号の優先権を主張するものであり、これは、米国特許商標庁において代理人管理番号P9951US1(P222092.US.01)でも識別することができ、これは、全ての目的で、ここに参考として援用される。
コンピュータ及び他の電子装置、例えば、タブレット、移動電話、ゲームコンソール、及び他の同等の装置(以下「コンピュータ」)は、種々の外部装置、例えば、これに限定されないが、プリンタ、カメラ、スキャナ、コンピュータ、電話、等(「外部装置」)に電子的に接続されるように構成される。多くの外部装置は、ネットワークを通してコンピュータに接続されるか(「ネットワーク装置」)又はローカルで接続される(「ローカル装置」)ように構成される。ネットワーク装置は、ネットワークを通して多数のコンピュータに接続され、各コンピュータは、ネットワーク装置に個々にアクセスする。それとは対照的に、ローカル装置は、多くの場合に、所与の時間に単一のコンピュータに接続されるだけである。ローカル装置を別のコンピュータに接続するには、ローカル装置を第1のコンピュータから切断する必要がある。ローカル装置がコンピュータにローカルで接続されるとき、装置特有のドライバがインストールされる(又はユーザがコンピュータにそれをインストールする必要がある)。ドライバは、コンピュータがローカル装置と通信してそこにコマンドを与えるのを許す。現在では、人々が家に2台以上のコンピュータをもつことが一般的になったが、それら装置の多くは、ネットワーク装置ではなくローカル装置である。例えば、家族で1台のプリンタしかないが、家族の各メンバーが自分自身のコンピュータを有している。
本開示の実施例は、ローカル装置がネットワークアクセスのために構成されていないネットワークを経てローカル装置サービスを提供する方法の形態をとる。この方法は、ローカル装置がビジーであるかどうか決定し、そしてローカル装置がビジーでない場合には、ローカル装置により提供される利用可能な第1サービスを、ネットワークを経て放送することを含む。次いで、ローカル装置がビジーでなく且つコンピュータによって選択された場合に、ローカル装置へのコンピュータアクセスを与える。
本開示の他の実施例は、ネットワークを経てローカル装置により提供されるサービスにコンピュータを接続する方法の形態をとる。この方法は、ネットワークを経て利用できるサービスがあるかどうかコンピュータによって決定することを含む。利用できるサービスがある場合には、サービスを提供するように構成されたローカル装置を選択する。ローカル装置が選択されると、接続ステーションと通信して、コンピュータ及びローカル装置と通信する。次いで、ローカル装置に対応するコンピュータのドライバを起動する。
本開示の更に別の実施例は、ローカル装置へのネットワークアクセスを与える接続ステーションの形態をとる。この接続ステーションは、ローカル装置からのサービス通知及びコンピュータからの選択通知を受け取るように構成されたネットワークインターフェイスを備えている。又、接続ステーションは、ネットワークインターフェイスと通信するプロセッサも備えている。このプロセッサは、ローカル装置からネットワークを経てコンピュータへサービス通知を放送し、そしてコンピュータが選択通知をネットワークインターフェイスへ送信するときにローカル装置へのコンピュータアクセスを与えるように構成される。
ローカル装置へネットワークアクセスを与えるシステムを示す図である。 ローカル装置へネットワークアクセスを与えるシステムの別の実施形態を示す図である。 ローカル装置へネットワークアクセスを与えるシステムの別の実施形態を示す図である。 図1Aに示すシステムのブロック図である。 ネットワークを経てローカル装置へローカルアクセスを与えるための一実施形態を示すフローチャートである。 ネットワークを経てコンピュータへローカル装置を接続する方法の一実施形態を示すフローチャートである。 接続ステーションがネットワークを経てローカル装置とコンピュータとの間で容易に通信するための方法の一実施形態を示すフローチャートである。
概略
ここに示す幾つかの実施形態において、本開示は、ネットワーク(例えば、WiFi、Ethernet(登録商標)、Bluetooth(登録商標)、及び他のネットワーキングトポロジー)を経てローカル装置へのアクセスを与える方法の形態をとる。ローカル装置は、非ネットワーク装置であるか、又は少なくとも1つの非ネットワーク機能を含むものである。例えば、ローカル装置は、多機能プリンタ、複写機、スキャナであり、ここで、スキャナ及びコピー機能は、ローカルでアクセスされるだけであるように構成される。この方法は、ネットワークアクセスするようにローカル装置を特別に構成する必要なく、ネットワークを経てローカル装置(又は装置の幾つかの機能)を設けることを許す。換言すれば、本開示は、コンピュータ及び/又はローカル装置に対応するソフトウェアドライバを実質的に変更せずに、ネットワークにわたって利用できる「独創的な(out of box)」コンポーネントを提供する。
更に、本開示は、並列に使用されるローカル装置によって与えられる多数の機能を提供する。例えば、ローカル装置は、プリンタ機能及びスキャナ機能を含み、又、本開示は、プリンタアクセスを経てローカル装置にコンピュータを接続しつつ、第2のコンピュータにより使用される個別のスキャニングアクセスを与える。
1つの実施形態において、接続ステーションは、コンピュータによりネットワークを経てローカル装置へのネットワークアクセスを与える。接続ステーションは、ローカル装置とコンピュータとの間に通信配置されるが、コンピュータ及びローカル装置は、互いに(接続時に)(例えば、直接的ユニバーサルシリアルバス接続を経て)見掛け上、ローカル接続される。このように、ローカル装置及び/又はコンピュータは、見掛け上、ネットワーク上にあるか又はネットワークに接続されるように特別に構成される必要はない。又、接続ステーションは、ローカル装置とコンピュータとの間の通信を促進し及び/又は変換することもできる。
詳細な説明
規範的な実施形態において、1つ以上のコンピュータによりローカル装置へのネットワークアクセスを与えるシステムは、少なくとも1つのコンピュータ、接続ステーション、及びローカル装置を備えている。図1Aは、ローカル装置へのネットワークアクセスを与えるシステム100のブロック図である。このシステム100は、ネットワーク108を経て接続ステーション104と通信するコンピュータ102を備えている。接続ステーション104は、次いで、ローカル装置106と通信する。従って、接続ステーション104は、コンピュータ102及びローカル装置106の両方と通信する。この実施形態では、コンピュータ102とローカル装置106との間の通信は、接続ステーション104を経て送信される。接続ステーション104は、コンピュータ102がネットワーク108を経てローカル装置106へアクセスできるようにする(又はローカル装置106の機能を選択できるようにする)が、ローカル装置106は、最初ネットワーク装置として構成されない。
図1Bは、システム100の別の実施形態のブロック図である。この実施形態では、コンピュータ102は、第2の接続ステーション140に接続され、これが、次いで、(ネットワーク108を経て)第1の接続ステーション104に接続される。同様に、図1Bには示されていないが、接続ステーション104、140は、ネットワーク108を介さずに互いに直接通信するように構成されてもよい。例えば、接続ステーション104、140は、互いに直結されてもよく、高周波、或いは他のネットワーク/接続トポロジー、例えば、Bluetooth(登録商標)を使用するピコネットシステムを経て通信してもよい。
図1Cは、図1Aのシステムの別の実施形態のブロック図である。この実施形態では、接続ステーション104は、複数のローカル装置106、162、164に接続される。更に、接続ステーション104は、(ネットワーク108を経て)コンピュータ102及び/又は第2のコンピュータ121にも接続される。このように、接続ステーション104は、複数のローカル装置106、162、164への、コンピュータ102、121の単一の接続を与える。ローカル装置162、164は、実質的に、任意の形式のローカル装置、例えば、デジタルカメラ、オーディオ装置、記憶装置、又はプリンタである。
図2は、図1Aに示したシステムのブロック図である。コンピュータ102は、実質的に、任意の形式の電子コンピューティング装置である。例えば、コンピュータ102は、パーソナルコンピュータ、ラップトップコンピュータ、スマートホン、ビデオゲームコンソール、等である。コンピュータ102は、プロセッサ110、入力/出力インターフェイス112、ネットワーク/通信インターフェイス116、及びメモリ114を備えている。コンピュータ102内の種々のコンポーネントは、システムバス118(又は複数のシステムバス)を経て電子的に一緒に接続される。コンピュータ102は、図示されていない付加的なローカリ又はリモートコンポーネントを含み、図2は、単なる例示に過ぎない。
ネットワーク/通信インターフェイス116は、種々の電気信号を受信及び送信する。例えば、ネットワーク/通信インターフェイス116は、コンピュータ102をネットワーク108に接続して、接続ステーション104、並びにネットワーク108上の他の装置及びコンピュータへ信号を送信し、及び/又はそれらから信号を受信するのに使用される。又、ネットワーク/通信インターフェイス116は、ワイヤレス又はワイヤード接続(インターネット、WiFi、Bluetooth(登録商標)、Ethernet(登録商標)、USB、及びFirewireを含むが、それに限定されない)を経て電子信号を送信及び送出するのにも使用される。
メモリ114は、コンピュータ102により使用される電子データを記憶する。例えば、メモリ114は、任意の形式のコンテンツを含む電気的データを記憶し、これは、オーディオファイル、ビデオファイル、ドキュメントファイル及びデータファイルを含むが、これに限定されない。記憶されたデータは、コンピュータの1つ以上の種々のアプリケーション及び/又はオペレーションに対応する。メモリ114は、これに限定されないが、不揮発性記憶装置、磁気記憶媒体、光学記憶媒体、磁気−光学記憶媒体、電気的記憶媒体、リードオンリメモリ、ランダムアクセスメモリ、消去可能なプログラマブルメモリ及びフラッシュメモリを含む任意のフォーマットである。メモリは、コンピュータに対してローカルに設けられてもよく、及び/又はコンピュータからリモートに設けられてもよい。
プロセッサ110は、コンピュータ102及びその種々のコンポーネントの動作をコントロールする。プロセッサ110は、接続ステーション104と通信する。プロセッサ110は、実質的に、インストラクションを処理し、受信し及び/又は送信することのできる電子装置である。例えば、プロセッサ110は、マイクロプロセッサ又はマイクロコンピュータである。
入力/出力インターフェイス112は、種々の装置/ソースへの及びそれらからのコンピュータ102による通信を促進する。例えば、入力/出力インターフェイス112は、(例えば、キーボード、タッチ感知面、マウス、可聴入力又は他の装置を経て)ユーザからデータを受け取り、コンピュータ102のコントロールボタン(例えば、電源ボタン、ボリュームボタン)、等からもデータを受け取る。或いは又、入力/出力インターフェイス112は、外部のドライブ、例えば、ユニバーサルシリアルバス(USB)、又は他のビデオ/オーディオ/データ入力へデータを送り、及びそれらからデータを受け取る。
再び、図1Aを参照すれば、ネットワーク108は、接続ステーション104とコンピュータ102との間に電子的通信を与える。ネットワーク108は、実質上、任意の形式の電子的通信メカニズム/経路でよく、そしてワイヤレス、又はワイヤード、或いはそれらの組み合わせでもよい。例えば、ネットワーク108は、インターネット、Ethernet(登録商標)、ユニバーサルシリアルバスケーブル(USB)、又は無線信号(例えば、WiFi、Bluetooth(登録商標))を含む。1つの例では、ネットワーク108は、ローカルエリアネットワーク(LAN)であるが、他の例では、ネットワーク108は、ワイドエリアネットワーク(WAN)であり、或いはネットワークトポロジーが所与の具現化に対して必要に応じて使用される。
図1及び2を参照すれば、接続ステーション104は、実質的に、2つの装置間に通信を与えるように構成された任意の形式のコンピューティング装置である。接続ステーション104は、コンピュータ102及びローカル装置106との間で電子的通信を行うように構成される。2つの装置間の電子的通信は、ワイヤード及び/又はワイヤレストポロジーを含む任意の接続トポロジーを使用する。更に、接続ステーション102とローカル装置106との間のそのような接続は、直接的でもよいし間接的でもよい。例えば、ローカル装置106は、接続ステーション104へ直接的に接続され、そしてコンピュータ102は、接続ステーション104へワイヤレス接続される。しかしながら、他の設定が使用されてもよく、例えば、コンピュータ102及びローカル装置106は、両方とも、接続ステーション104にワイヤレス接続されてもよく、等々である。更に、接続ステーション102は、ルーター機能を発揮してもよい。換言すれば、接続ステーション102は、ある装置から別の装置へのデータパケットを受信及び送信してもよい。
接続ステーション104は、プロセッサ120、ネットワーク/通信インターフェイス124、メモリ126、及び種々のコンポーネントを電気的に接続するシステムバス130を備えている。プロセッサ120は、コンピュータ102のプロセッサ110と実質的に同様であるが、望ましいアプリケーションに基づいて、接続ステーション104のプロセッサ124は、一般的に、コンピュータ102よりパワフルでない。同様に、メモリ126は、コンピュータ102のメモリ114と実質的に同じであるが、接続ステーション104のメモリ126は、(一般的に)少量のデータを記憶するように構成される。外部メモリ及びデータ記憶サービスも、所与の具現化について必要に応じて、メモリ126とは別々に又はそれに組み合わせて利用することができる。
又、ネットワーク/通信インターフェイス124は、コンピュータ102のネットワーク/通信インターフェイス116と実質的に同じであるが、その必要はない。ネットワーク/通信インターフェイス124は、更に、ある装置に対してネットワーク108のアクセスを与え、装置を互いに接続し、複数の、おそらく異種の、コンピュータ及びローカル装置間でネットワーク化機能を遂行し、そして他のネットワーク及び接続管理機能を遂行するように構成される。例えば、ネットワーク/通信インターフェイス124は、コンピュータ102、ローカル装置106、及びそれに直接的又は間接的に接続された他の装置へルート機能を与える。
図1A及び2を更に参照すれば、ローカル装置106は、実際上、コンピュータに電子的に接続される任意の装置である。更に、ローカル装置106は、コンピュータにローカル接続されるように構成された装置、即ちネットワークの一部分としてではなくコンピュータに直結されるように構成された装置である。例えば、ローカル装置106は、プリンタ、スキャナ、カメラ、ビデオカメラ、記憶装置、等である。更に、ある例において、ローカル装置106は、複数のサービス又はアプリケーションを与えるように構成される。これらの例では、ローカル装置106は、その装置106により与えられるサービス又はアプリケーションの全部ではなく1つがネットワークを経て与えられるように構成される。例えば、ローカル装置106は、プリント、コピー、記憶、及びスキャニングのような多数のサービス又は機能与える多機能装置であるが、プリンタ機能だけがネットワーク化サービスとして与えられてもよい。ローカル装置106は、多機能装置でもよいし、単一機能装置でもよいことに注意されたい。
幾つかの実施形態では、ローカル装置106は、接続128を経てコンピュータ102へ作動的に接続されるように構成される。接続128は、ケーブルのようなワイヤード接続でもよいし、ワイヤレス接続でもよい。ワイヤード接続の場合には、ケーブルは、実質的に、電子的通信をサポートするための任意の形式のケーブルでよく、1つの例では、ケーブル128がUSBである。図1Aに示すように、ローカル装置106は、接続128を経て接続ステーション104と通信する。
再び、図1Aを参照すれば、システム100は、ローカル装置106へのコンピュータ102のネットワークアクセスを与えるが、ローカル装置106は、一般的に、接続128を経て直接通信するように構成される。これは、ある実施形態では、接続ステーション104及びコンピュータ102がローカル装置106と上位互換性をもてるようにする。換言すれば、ローカル装置106は、ネットワーク能力を有していないが、接続ステーション104は、ローカル装置106により提供される機能に対してネットワーク能力を与えることができる。更に、ローカル装置106は、装置のソフトウェア(例えば、ドライバ)又は装置のハードウェア(例えば、ネットワークカード、モジュール、等)への変更を実質的に必要とせずに)、接続ステーション104及びネットワーク108を経て他の装置及びコンピュータへ通信接続することができる。
接続ステーション104は、ネットワーク能力を与えるように最初に構成されていない多数の異なる装置にネットワーク能力を与えることができる。これは、ネットワーク装置が、通常、例えば、多数のネットワークトポロジーに関連して使用されるプロトコルスタックの権利取得を要求する高い経費を伴わずに、ローカル装置106がネットワーク装置として機能するのを許す。更に、ローカル装置106は、多数のコンピュータによりアクセスされて使用され、これは、多数のユーザが実質的に同時に同じ装置にアクセスするのを許し、且つ所与のユーザのコンピュータとローカル装置の地理的な接近性に関する問題もない。
図3は、ローカル装置106の利用性を広告し、そしてネットワークを経ての装置へのコンピュータアクセスを裁定する方法の一実施形態を示すフローチャートである。この方法200は、ローカル装置106とコンピュータ102との間で通信を行うためのリモートバーチャル化を与えるが、一般的には、ローカル装置106へのコンピュータ102によるアクセスを調整又は裁定する。方法200は、動作202で始まり、ローカル装置106は、接続ステーション104に通信接続される。
ローカル装置106が接続ステーション104と通信すると、この方法200は、動作204へ進み、接続ステーション104は、ローカル装置106が使用中であるか、さもなければ、使用できるかどうか決定し、例えば、ローカル装置106は、使用中であるが、バッファを有していて、付加的な入力を受け取ることができる。この動作は、ローカル装置106がビジーであるかどうか、又はローカル装置106が多数の機能、現在利用できる特定の機能を与えるかどうか決定する。更に、ある実施形態では、接続ステーション104は、ローカル装置106から状態情報を決定し、例えば、ローカル装置106がある期間利用できるかどうか決定する。ローカル装置106が使用中であるか、さもなければ、利用不可である場合には、方法200は、動作210へ進み、接続ステーション104は、ローカル装置106がもはや使用中でなく又は利用不可でなくなるまで、所定の、決定されたランダムな、又は選択時間中、待機となる。
ローカル装置106(又は特定の機能)が所与のコンピュータのアクセスに利用可能であると、方法200は、動作206へ進む。動作206において、接続ステーション104は、ネットワーク108を経て広告又は他の警報を放送する。例えば、接続ステーション104は、ドメイン名システムサービス発見(DNS−SD)のようなサービス発見プロトコルを使用して、ネットワークを経てのサービスとしてシェアされる各ローカル装置106を広告する。
警報又は広告は、ローカル装置106が利用可能であるとの通知を含む。他の実施形態では、警報又は広告の存在は、それ自身、ローカル装置106が利用可能であることを指示する。換言すれば、接続ステーション104は、実際に利用可能なローカル装置106についてのみ広告又は警報を与える。それ故、ローカル装置106がビジーである場合には、広告又は警報がない。同様に、接続された装置で、ビジーであるか又はシェアできない装置は、広告されない。更に、ローカル装置106が接続ステーション104から切断されると、接続ステーション104は、もはや特定の装置を広告しない。このように、不必要な広告が回避され、シェアできるローカル装置106だけが広告される。
放送が送信され、各コンピュータ102は、広告を受信するように構成される。例えば、コンピュータ102は、接続ステーション104と同じ又は同様のサービス発見プロトコルを使用し、そして広告及び既存の広告の更新を受信する。
更に、接続ステーション104は、多数の装置と通信し、各装置(又は選択装置)がネットワーク108を経て放送されることに注意されたい。それ故、放送は、ネットワーク108と通信する異なるコンピュータ102に全て利用できる多数の異なる装置を含む。幾つかの別の実施形態では、コンピュータ102及び接続ステーション104は、チャレンジ・リプライ(challenge and reply)ベースで通信する。例えば、コンピュータ102は、接続ステーション104に問合せして、放送を受け取る前に利用可能な装置があるかどうか調べる。
接続ステーション104による放送又は広告は、ローカル装置106に関する情報を含む。この情報は、ユーザ(又はコンピュータ102)が、ローカル装置106への接続を希望するかどうか決定できるようにする。この情報は、売主情報(例えば、ブランド名)、シリアル番号、及び他の関連情報、例えば、ローカル装置106により提供される機能を含む。
ローカル装置106がネットワーク108を経て放送されると、方法200は、動作208へ進み、接続ステーション104は、コンピュータ102がローカル装置106への排他的アクセスを要求したかどうか決定する。コンピュータ102による選択プロセスは、図4を参照して詳細に説明する。しかしながら、コンピュータ102は、ローカル装置106へのアクセスを要求すると、ローカル装置106(又は機能)への接続を希望することを指示するコールを接続ステーション104へ発信する。ローカル装置106が選択されると、方法200は、動作212へ進む。
動作212は、ローカル装置106がビジーであるかどうか決定する。接続ステーション104は、コンピュータ102が現在ローカル装置106への排他的アクセスを有するかどうか、及び/又はローカル装置106の望ましい機能が使用中であるかどうか決定する。
別の実施形態において、ローカル装置106は、コンピュータ102がローカル装置106へのアクセスを有し且つローカル装置106と現在通信しているか、又は将来ローカル装置106と通信するかもしれない場合にも、ビジーと考えられる。しかしながら、これらの実施形態は、具現化がより困難である。これは、ローカル装置106とコンピュータ102との間の将来の通信を予想することが困難だからである。例えば、ローカル装置106がプリンタでありそしてそれがペーパーを使い果たした場合には、更なるペーパーが装置106に供給されるまでローカル装置106とコンピュータ102との間に通信が切れる。接続ステーション104から見ると、この現在通信の欠如は、コンピュータ102とローカル装置106との間の通信の終了の合図であるが、それは、一時的な状態に過ぎない。それ故、一般的に、ローカル装置106は、単にコンピュータがローカル装置106への排他的アクセスを有する場合にビジーであると決定されてもよい。
幾つかの実施形態において、動作206における放送は、ローカル装置106の状態、例えば、ローカル装置106がビジーであるかどうかを含むことに注意されたい。しかしながら、動作212は、ローカル装置106が動作206と動作212との間でビジーになった場合に完了される。しかし、ある実施形態では、動作212が省略されてもよいことに注意されたい。というのは、動作206は、動作204においてローカル装置106が使用中でないことを接続ステーション104が決定しない限り、実行されないからである。この実施形態では、接続ステーション104は、ローカル装置106が現在使用中/ビジーである場合に利用可能となるのでローカル装置106を放送しない。
動作212において、ローカル装置106がビジーであると接続ステーション104が決定した場合には、方法200は、動作214へ進む。動作214は、ローカル装置106(又は機能)へのコンピュータ102のアクセスを拒絶する。例えば、接続ステーション104は、ローカル装置106(又は機能)がもはや利用できないという警報メッセージをコンピュータ102に与える。
接続ステーション104がローカル装置106へのコンピュータ102のアクセスを拒絶すると、方法200は、動作218へ進む。動作218は、ローカル装置106(又は機能)が使用中であることを放送する。例えば、動作206からのオリジナル放送広告は、ローカル装置106がビジーであるか、又は広告が単に除去されたことを指示するように変更される。更に、使用中の広告は、コンピュータ102がローカル装置106にアクセスすることに関する情報、例えば、識別子も含む。方法200は、次いで、動作204へ戻り、そして接続ステーション104がもう一度チェックを行って、ローカル装置106(又は機能)が使用中であるかどうか決定する。ローカル装置が切り離された(detach)場合には、動作204は、ローカル装置106がもう一度利用可能になったことを指示する。
動作212において、ローカル装置106がビジーでないことを接続ステーション104が決定すると、方法200は、動作216へ進み、そしてコンピュータ102は、ローカル装置106へのアクセスを許可する。ローカル装置106は、次いで、コンピュータ102に通信結合される。ローカル装置106は、次いで、コンピュータ102に「添付(attach)」されると考えられるが、ローカル装置106は、コンピュータ102に「仮想的に」添付され、「物理的には」添付されないことに注意されたい。即ち、ローカル装置106は、接続128を経て接続ステーション104に直接接続され、そして接続ステーション104を通して、ローカル装置106は、コンピュータ102に添付され又はそれと通信する。
図4を参照して詳細に述べるように、ローカル装置106がコンピュータ102に対してバーチャル化されると、コンピュータ102は、ローカル装置106をローカルとして見る。ある実施形態では、ローカル装置106を添付することは、ローカル装置106の個別機能をコンピュータ102に接続することを含む。例えば、ローカル装置106は、それがスキャニング機能及びプリント機能の両方を有する場合に、その一方の機能、例えば、プリント機能のみについてコンピュータ102に接続されるが、他方の機能については接続されない。
幾つかの実施形態において、ローカル装置106は、動作216までコンピュータ102に添付されない。これは、ユーザにより(コンピュータ102を経て)開始されるまでローカル装置106とコンピュータ102との間に接続がないことを意味する。これは、機能又はローカル装置106が実際に利用されるまで、コンピュータ102が機能又は全ローカル装置106を独占するのを防止する。ローカル装置106は、「ネットワーク」装置として構成されないので一度に1つの機能又は接続を与えるように構成されるだけである。それ故、機能が実際に利用されるまでコンピュータ102が機能又はローカル装置106に接続するのを防止することにより、ローカル装置106は、使用と使用との間のダウンタイムに他のコンピュータに接続することができる。
ローカル装置106(又は個別機能)がコンピュータ102に接続されると、方法200は、動作217へ進む。接続ステーション104は、コンピュータ102とローカル装置106との間の接続が切れたかどうか決定する。例えば、ローカル装置106又はコンピュータ102がデッドになると、ネットワーク108への接続が失われるか、さもなければ、通信が防止される。ローカル装置106とコンピュータ102との間の接続が切れなかった場合には、方法200は、動作218へ進む。
動作218において、接続ステーション104は、ローカル装置106が使用中であることを、ネットワーク108を経て放送する。この放送で、ネットワーク108にアクセスする他のコンピュータ及び装置は、ローカル装置106(又はローカル装置106のある機能)が利用できないと考えることができる。次いで、方法200は、動作204へ戻り、接続ステーション104は、ローカル装置106が使用中であるかどうか決定する。
動作217において、ローカル装置106とコンピュータ102との間の接続が切れた場合には、方法200は、動作220へ進む。接続ステーション104は、アクセスはもはや得られないことをコンピュータ102(又はローカル装置106)に通知する。接続ステーション104は、次いで、ローカル装置106へのコンピュータ102のアクセスを終了させ、方法200は終了となる。接続ステーション104がローカル装置106へのコンピュータ102のアクセスを与えている間の実質的に任意の時点で、接続ステーション104は、2つの間の接続が切れたかどうか決定するためにチェックすることに注意されたい。これは、コンピュータ102とローカル装置106との間の接続が切れた場合にコンピュータ102がローカル装置106のアクセスを独占するのを防止する。
図4は、ネットワーク108を通してローカル装置106(又はローカル装置106の機能)をコンピュータ102へ接続する方法の一実施形態を示すフローチャートである。この方法300は、動作302で始まり、コンピュータ102は、ネットワーク108を経て利用できる装置及びサービスについてネットワーク108をサーチする。動作302は、コンピュータ102のスタートアップ時に行われる。ユーザが利用可能な装置/サービスを見るためのアプリケーションを選択すると、コンピュータ102は、ネットワーク108をスキャンし続けて、利用可能な装置及びサービス、等を探す。
動作302において、コンピュータ102は、方法200の動作206、218における接続ステーション104による広告のような放送された警報又は広告をサーチすることによりネットワーク108をスキャン又はサーチする。広告は、ローカル装置106に関する情報、例えば、製造者、部品番号、シリアル番号、製品名、等を含む。
動作304の後に、方法300は、動作306へ進み、コンピュータ102、接続ステーション104、及び/又はユーザは、装置及び/又は機能がビジーであるかどうか決定する。例えば、ローカル装置106がネットワーク108上の別のコンピュータによって現在使用されている場合には、接続ステーション104は、ローカル装置106がビジーであることを示す別の広告を送信する。選択された装置又は望ましい装置がビジーである場合には、方法300は、動作304へ戻る。しかしながら、ローカル装置106がビジーでない場合には、方法300は、動作308へ進む。幾つかの実施形態において、接続ステーション104は、ローカル装置106がビジーである場合には広告を放送しないことに注意されたい。それ故、望ましい具現化に基づき、動作304を省略してもよい。
動作308は、ネットワーク108を経て広告されたローカル装置106をコンピュータ102が使用したいかどうか決定する。例えば、ユーザは、ローカル装置106に関する情報、例えば、その利用可能な機能(例えば、プリント、スキャニング、等)を見て、ローカル装置106の使用を望むと決定し、そしてローカル装置106(又は機能)を選択するようにコンピュータ102を構成する。次いで、コンピュータ102は、接続ステーション104からローカル装置106(又は機能)への排他的アクセスを要求する。
動作308において、ユーザが選択された装置の使用を望まない場合には、方法300は、動作302へ戻り、そしてコンピュータ102は、利用可能なサービスをもう一度サーチする。しかしながら、ユーザがローカル装置106の使用を望む場合には、方法300は、動作310へ進む。
動作310は、ローカル装置106のドライバがインストールされたかどうか決定する。ドライバは、コンピュータ102がローカル装置106と良好に通信できるようにするためのソフトウェアパケットである。ドライバは、ローカル装置106に特有の情報を含み、そしてコンピュータ102の1つ以上のコンポーネントと相互作用するように構成される。ドライバは、製造者を経て(例えば、ウェブサイトを経て)コンピュータ102へ送られ、そしてローカル装置106ごとに及び/又はローカル装置106の機能ごとに特定のドライバがある。ドライバがインストールされない場合には、方法300は、動作312へ進み、ドライバがインストールされる。例えば、ローカル装置の多くの製造者は、ウェブサイト上のローカル装置ごとにドライバを与え、コンピュータ102は、要求されたドライバをダウンロードする。
動作312でドライバがインストールされた後に、方法300は、動作306へ戻り、ローカル装置106がビジーであるかどうか決定する。ある場合には、ドライバをインストールするのに、コンピュータ102を再スタートすることが要求される。このケースでは、ローカル装置106が利用不可となり、それ故、動作306で、もう一度、ローカル装置106が利用可能であるかどうか決定する。
ある実施形態では、ドライバが接続ステーション104ではなくコンピュータ102にインストールされる。これは、多数のローカル装置106が使用されて、接続ステーション104にソフトウェアドライバを含ませると、接続ステーション104がより大きなコンピューティングパワー及び/又はメモリを有することが必要になるからである。それ故、一般的に、接続ステーション104は、ローカル装置106及びコンピュータ102の両方に共通の一般的にジェネリックな動作を使用して、ローカル装置106及びコンピュータ102の両方と相互作用する。例えば、ローカル装置106がUSB接続を含む場合には、接続ステーション104は、ローカル装置106及びコンピュータ102との間で読み取り、書き込み及び装置要求を通信する。
しかしながら、他の実施形態では、ドライバは、接続ステーション104にインストールされる。それらの実施形態では、接続ステーション104は、コンピュータ102のドライバと、ローカル装置106により必要とされるドライバとの間で変換を遂行する。このように、コンピュータ102は、ローカル装置106のための特定のドライバに適合しなくてもよく又はそれを受け入れることができなくてもよい。例えば、コンピュータ102は、新たなローカル装置106のドライバに適合しない旧式のオペレーティングシステムを有してもよい。このように、接続ステーション104は、ローカル装置106の機能的能力の少なくとも幾つかをコンピュータ102に与える通信メカニズムを果たす。これらの例において、接続ステーション104とコンピュータ102との間の通信プロトコルを拡張できることに注意されたい。通信プロトコルは、読み取り/書き込みのための終了点、選択判断の判断順序、及びどの装置へ要求を発行すべきか、等の高レベルのドライバ動作を含まねばならない。
ドライバがインストールされると、方法300は動作314へ進み、コンピュータ102は、ローカル装置106への排他的アクセスを要求する。例えば、コンピュータ102は、ネットワークホスト名、ネットワークアドレス、ポート番号、又はローカル装置106の広告に含まれる他の識別子に基づいて、ローカル装置106を要求する。ある例では、接続ステーション104により要求が受け取られた時間にローカル装置106がビジーになったためにアクセスが拒絶される(図2の動作214で述べたように)。
ローカル装置106がビジーでない場合に、接続ステーション104は、ローカル装置へのコンピュータ102のアクセスを許可する。コンピュータ102は、全ローカル装置106へのアクセス、又はコンピュータ102に対するローカル装置106の個別の機能を要求する。
コンピュータ102へのアクセスが許可されると、方法300は、動作315へ進む。動作315は、コンピュータ102においてローカル装置106のバーチャルバージョンを開始する。接続ステーション104は、コンピュータ102とローカル装置106との間の仲介役であり、接続ステーション104がコンピュータ102とローカル装置106との間の通信を促進できるようにする。
コンピュータ102及びローカル装置106の両方から見て、コンピュータ102においてローカル装置106がバーチャル化されたとき、接続は、見掛け上、直接的接続となる。しかしながら、コンピュータ102及びローカル装置106は、両方とも、接続ステーション104を通して互いに通信するだけであり、即ち非直接的接続である。更に、ローカル装置106がコンピュータ102に添付されると、コンピュータ102は、ローカル装置106を、ローカルUSBのようなローカル装置として見る。
接続ステーション104及び/又はコンピュータ102は、(コンピュータ102から見て)真の意味で「ローカル」ではないとのフラグを装置106に立てるサービス放送と共にメタデータタグを装置情報にタグ付けする。例えば、コンピュータ102におけるローカル装置106の全てのバーチャル装置インスタンスは、それらを、ローカル装置106にも対応するコンピュータ102内の対応ネットワークサービスレコードと一致させることができるようにタグ付けされる。これは、コンピュータ102がローカル装置106の単一記述をユーザに提示できるようにする。
幾つかの実施形態において、コンピュータ102は、ネットワーク装置、及びローカルに添付される装置の両方を取り扱うソフトウェアを含む。これらの例では、ソフトウェアは、2つの別々のエンティティ(ネットワーク装置及びローカル装置)として接続ステーション104に添付されるローカル装置106の取り扱いを回避するように構成される。それ故、ネットワーク108に放送されるローカル装置106及びコンピュータ102に見えるローカル装置106に対応するリスト又はデータは、一緒に合成される。これは、コンピュータ102が、ローカル装置106の2つの別々の記述(例えば、一方はシェアされた装置及びもう一方はローカル接続された装置)ではなく、単一の記述を表示できるようにする。これは、コンピュータ102により及び/又は接続ステーション104により行われる。
コンピュータ102は、接続ステーション104と通信し且つローカル装置106のバーチャル化の観点を取り扱う専用バックグランドプロセス又は他のソフトウェアを含む。ある実施形態では、ソフトウェアライブラリがバックグランドプロセスと通信し、アプリケーションプログラミングインターフェイスを与える。アプリケーションプログラミングインターフェイスは、コンピュータ102上で実行されるアプリケーションがローカル装置106を使用できるようにする。このように、アプリケーションは、アプリケーションにより与えられる確立されるユーザ経験と一貫したものとなるように、ローカル装置106のバーチャルな「添付」及び「切り離し」を統合することができる。換言すれば、アプリケーションは、ローカル装置106を、(ユーザから見て)直接添付されたものとして提示できるように、バックグランドプロセスを経てローカル装置106へ接続し及び切断することができる。
例えば、コンピュータ102が、直接接続された装置及び「真の」ネットワーク装置を含むスキャニングアプリケーションを含む場合には、ローカル装置106をネットワーク装置として提示するようにアプリケーションを形成することができる。ユーザが(例えば、利用可能なモデルのクリック可能なリストから)特定の装置を選択すると、コンピュータ102へのローカル装置106のバーチャルな添付及び切り離しは、アプリケーションを経て行われるが、バックグランドプロセスと通信するソフトウェアライブラリからの助けを伴う。
ローカル装置106がコンピュータ102に添付されると、方法300は、任意の動作316へ進み、そしてコンピュータ102により使用される機能ではなく、ローカル装置106の他の機能がブロックされる。例えば、ローカル装置106は、記憶機能及びスキャニング機能を含む。コンピュータ102が選択機能(例えば、スキャニング)のためにローカル装置106に接続されると、ローカル装置106において利用可能な他の機能(例えば、記憶されたファイルの検索)がコンピュータ102に対してブロックされる。
動作316の後に、方法300は、動作318へ進み、そしてコンピュータ102は、ドライバを起動する。ローカル装置106は、コンピュータ102に対してローカルに(例えば、直接的に)添付されているように見えるので、ドライバは、起動されて、適切に動作するが、ドライバは、ネットワーク108を経てローカル装置106を添付できるように変更されていない。
ドライバが起動されると、コンピュータ102は、ローカル装置106と通信するように構成される。(ドライバを経て)コンピュータ102は、接続ステーション104を経てローカル装置106と通信する。これは、図5を参照して詳細に述べる。上述したように、ローカル装置106がコンピュータ102に添付されると、ローカル装置106(又は選択機能)は、ネットワーク108上の他のコンピュータにとって利用不能となる。これは、ローカル装置106がネットワーク装置として構成されず、コンピュータ102に(ケーブル128を経て)直結されるように構成されるに過ぎないからである。それ故、接続ステーション104は、ローカル装置106をコンピュータ102に直結する必要性を実質的に排除するが、ローカル装置106は、動作装置(例えば、コンピュータ102)に対する単一の通信経路をオープンさせるように構成されるだけである。それに加えて又はそれとは別に、ローカル装置106の幾つかの機能は、一度に1つのコンピュータ102により使用されるように構成されるだけである。例えば、スキャニング機能は、一度に1つのコンピュータをスキャンするように構成される。
別の実施形態において、図1Cに示したように、接続ステーション104は、ローカル装置106及び/又はコンピュータ102を、そのいずれか又は両方が単一の他の装置に接続されていると考えるように効果的に「だます(trick)」ように構成される。例えば、(接続装置104を経て)ローカル装置106は、実際にそれが複数のコンピュータ(例えば、スキャニング機能を使用する1つのコンピュータ及び別の機能を使用する別のコンピュータ)に接続されたときに、単一のコンピュータ102にしか接続されていないと考えるように「だまされる(spoofed)」。この実施形態では、接続ステーション104は、本質的に、1つ以上のコンピュータ102、120とローカル装置106との間のバッファとして働く。
動作318の後に、方法300は、動作320へ進み、接続ステーション104及び/又はローカル装置106は、コンピュータ102がローカル装置106の使用を終了したかどうか決定する。例えば、ローカル装置106を使用するアプリケーションが完了すると、コンピュータ102は、それがローカル装置106とで終了したことを(例えば、それらのポイント対ポイント通信プロトコルを経て)接続ステーション104に通知する。次いで、接続ステーション104は、ローカル装置106の現在状態を反映するように、即ちローカル装置106が現在利用可能であることを反映するように、ローカル装置106の広告を更新する。
コンピュータ102がローカル装置106とでまだ終了していない場合には、方法300は、動作322へ進み、そしてコンピュータ102が終了するように待機ループが方法300を休止する。コンピュータ102がローカル装置106とで終了すると、方法300は、動作324へ進み、コンピュータ102とローカル装置106との間のバーチャル接続が「切り離し」され、そして「使用中」フラグが(適宜)リセットされる。接続ステーション104は、ローカル装置106とコンピュータ102との間の「バーチャル」接続を終了する。
図5は、接続ステーション104がネットワーク108を経てローカル装置106とコンピュータ102との間の通信を促進する方法400の一実施形態を示すフローチャートである。この方法400は、動作402で始まり、接続ステーション104は、ローカル装置106とコンピュータ102との間を排他的に結合し、又はそれらの間に論理的接続を確立する。例えば、ローカル装置106は、図4及び5の動作216、314について各々述べたように、コンピュータ102に添付される。ローカル装置106及びコンピュータ102が接続装置104を経て通信すると、方法400は、動作404へ進む。
動作404は、ローカル装置106及び/又はコンピュータ102が、他へ転送する必要のあるコマンド及び/又はデータを有するかどうか決定する。コマンド又はデータは、情報の読み取り、書き込み、検索、リセット、等の要求を含む。一般的に、ローカル装置106は、コンピュータ102へコマンドを発行しないことに注意されたい。むしろ、一般的に、コンピュータ102は、ローカル装置106へのコマンドを排他的に要求する。更に、動作410について以下に述べるように、コンピュータ102による各要求は、実際には、接続ステーション104により実行される。
ローカル装置106及び/又はコンピュータ102が他に対するコマンドを有する場合には、方法400は、動作406へ進む。他方、ローカル装置106もコンピュータ102も、他に対するコマンド又はデータ要求を有していない場合には、方法400は、動作405へ進む。
動作405は、所定の待機時間を越えたかどうか決定する。例えば、コンピュータ102が応答しなくなった(例えば、ネットワーク108への接続を失うか、クラッシュするか、等々の)場合には、接続ステーション104が、待機時間の後に、ローカル装置106へのコンピュータ102のアクセスを取り消す。動作405で接続が終了されるとき、コンピュータ102がもはや接続ステーション104及びローカル装置106と通信できないにも関わらずコンピュータ102がローカル装置106への排他的アクセスを独占することが防止される。
ローカル装置106もコンピュータ102も、設定期間中、他に対するインストラクションをもたない場合には、動作405が、待機時間を越えたかどうか決定し、方法400が無限ループを進むことのないようにする。設定期間の後に、インストラクションがない場合には、方法400は、終了412へ進む。しかしながら、動作405において、待機時間をまだ越えない場合には、方法400は、動作404へ戻り、インストラクションがあるかどうか決定する。動作405は、無限ループ状態を潜在的に防止するための待機時間チェック、サイクル数チェック又は他のチェックであることに注意されたい。
更に、ある場合には、コンピュータ102と接続ステーション104との間にキープアライブパケットが周期的に送信される。キープアライブパケットは、コンピュータ102が依然応答すること、及びローカル装置106とコンピュータ102との間の接続が依然有効であることを接続ステーション104に通知する。接続ステーション104は、キープアライブパケットを受け取ると、時間切れタイマー、及び/又は時間切れまでのサイクル数をスタートする。キープアライブパケットは、コンピュータ102とローカル装置106との間の、アイドル状態であるが依然応答性のある接続を、接続ステーション104が終了させるのを防止する。例えば、コンピュータ102とローカル装置106との間の通信が欠如すると、コンピュータ102が応答しなくなったことを示さない。
コマンド及び/又はデータが受け取られると、方法400は動作406へ進み、ローカル装置106又はコンピュータ102からのコマンド及び/又はデータが接続ステーション104へ送信される。接続ステーション104は、コマンド及び/又はデータを受け取ると、動作408において、そのコマンド及び/又はデータを変換する。コマンド及び/又はデータは、直接的接続のために構成されたものであるから、接続ステーション104は、コマンド及び/又はデータを変換する。例えば、ローカル装置106は、コンピュータ102との間で直接的に通信するように構成され、又、ローカル装置106は、ネットワーク108を経てコンピュータ102と通信するので、コマンド及び/又はデータは、見掛け上、ローカルで送信されるように変換される。
コマンド及び/又はデータが送信されると、方法400は、動作410へ進み、コマンド及び/又はデータは、ローカル装置106へ又はローカル装置106から送信される。例えば、コンピュータ102は、ローカル装置106から読み取りコマンドを発行し、そのコマンドが適切に変換された後に、接続ステーション104は、そのコマンドをローカル装置106へ送信する。同様に、ローカル装置106は、データを接続ステーション104へ送信し、そのデータは、それが変換されると、(ネットワーク108を経て)コンピュータ102へ転送される。
結論
以上の説明は、広い応用をもつ。例えば、ここに開示した例は、ネットワークを経てローカル装置へのアクセスを与えることに焦点を当てたが、ここに開示した概念は、特定の通信スキームのために構成された他の形式の装置にも等しく適用できることが明らかであろう。同様に、ネットワーク及び接続ステーションは、ローカル装置に関連して説明したが、ここに開示した装置及び技術は、多数の装置により提供される特定の機能又はサービスにも等しく適用できる。従って、いずれの実施形態の開示も、例示に過ぎず、請求項を含む開示の範囲がそれらの例に限定されることを示唆するものではない。
100:システム
102、121:コンピュータ
104:接続ステーション
106、162、164:ローカル装置
108:ネットワーク
110、120:プロセッサ
112、127:入力/出力インターフェイス
114、126:メモリ
116、124:ネットワーク/通信インターフェイス
118、130:システムバス
140:接続ステーション

Claims (14)

  1. 接続ステーションを経て少なくとも1つのコンピュータへローカル装置サービスを提供する方法において、
    接続ステーションに直接またはローカルに通信結合されたローカル装置がビジーであるかどうかその接続ステーションによって決定する段階であって、前記ローカル装置は前記接続ステーションとだけ通信するように構成される、段階と、
    前記ローカル装置により提供される利用可能な第1サービスを前記接続ステーションに直接またはネットワークを経て通信結合された少なくとも1つのコンピュータへ前記接続ステーションによって放送する段階と、
    前記ローカル装置がビジーでなく且つ所与のコンピュータによって選択された場合に、前記少なくとも1つのコンピュータうちの所与の1つに、前記ローカル装置へのアクセスを前記接続ステーションによって与える段階と、
    を含み、
    前記少なくとも1つのコンピュータのうちの所与の1つにアクセスを与える段階は、
    前記少なくとも1つのコンピュータのうちの所与の1つから前記ローカル装置のための1つ以上のコマンドを受信する段階であって、前記コマンドは前記少なくとも1つのコンピュータのうちの所与の1つと前記ローカル装置との間の直接接続のために構成される、段階と、
    前記コマンドを変換する段階であって、変換されたコマンドは、前記ローカル装置からは、前記少なくとも1つのコンピュータのうちの所与の1つから発生されたものではなく、前記接続ステーションからローカルに発生された要求であると見えるように構成された、段階と、
    前記ローカル装置へ前記変換されたコマンドを送信する段階と、を含む方法。
  2. 前記ローカル装置がビジーである場合に、前記方法は、前記コンピュータが前記ローカル装置にアクセスするのを防止する段階を更に含む、請求項1に記載の方法。
  3. 前記ローカル装置は、多機能ローカル装置である、請求項1に記載の方法。
  4. 前記ローカル装置の第1サービスを放送するのと同時に、前記ローカル装置により提供される利用可能な第2サービスを放送する段階を更に含む、請求項1に記載の方法。
  5. 接続ステーションは、前記ローカル装置によりネットワークを経て提供される利用可能な第1サービスを放送する、請求項1に記載の方法。
  6. ローカル装置によりネットワークを経て提供されるサービスにコンピュータを接続する方法において、
    ネットワークを経てサービスが利用できるかどうか前記コンピュータによって決定する段階と、
    サービスを提供するように構成されたローカル装置の第1の選択を前記コンピュータによって接続ステーションへ通信する段階と、
    前記ローカル装置が利用できるという前記接続ステーションからの応答を前記コンピュータにより受信する段階と、
    前記コンピュータ上の前記ローカル装置に対応するドライバを起動する段階と、
    前記コンピュータにより前記接続ステーションを通して前記ローカル装置にアクセスする段階と、
    を含み、
    前記ローカル装置にアクセスする段階は、
    前記コンピュータから前記ローカル装置のための1つ以上のコマンドを受信する段階であって、前記コマンドは前記コンピュータと前記ローカル装置との間の直接接続のために構成される、段階と、
    前記コマンドを変換する段階であって、変換されたコマンドは、前記ローカル装置からは、前記コンピュータから発生されたものではなく、前記接続ステーションからローカルに発生された要求であると見えるように構成された、段階と、
    前記ローカル装置へ前記変換されたコマンドを送信する段階と、
    む方法。
  7. 前記接続ステーションは、ネットワークを経て利用可能なサービスをリストする放送を与える、請求項に記載の方法。
  8. ネットワークを経て利用可能なサービスがあるかどうか決定する前に、サービスを要求するコンピュータのアプリケーションを起動する段階を含む、請求項に記載の方法。
  9. 前記ローカル装置へのコンピュータアクセスを与える前に、前記方法は、前記ローカル装置により提供される少なくとも1つのサービスがビジーであるかどうか決定する段階を更に含む、請求項に記載の方法。
  10. 前記サービスは、プリント機能、スキャニング機能又はコピー機能の1つである、請求項に記載の方法。
  11. 前記ローカル装置にコンピュータアクセスを与える前記段階は、前記ローカル装置及びコンピュータから前記接続ステーションへ通信経路を形成することを含む、請求項10に記載の方法。
  12. ローカル装置へネットワークアクセスを与える接続ステーションにおいて、
    ローカル装置からのサービス通知、及びコンピュータからの選択通知を受け取るように構成されたネットワークインターフェイスと、
    前記ネットワークインターフェイスと通信するプロセッサであって、
    前記ローカル装置からネットワークを経て前記コンピュータへ前記サービス通知を放送し、
    前記コンピュータが前記選択通知を前記ネットワークインターフェイスへ送信するときに前記ローカル装置にコンピュータアクセスを与え、
    前記コンピュータが前記ローカル装置にアクセスするときに、前記ローカル装置がビジーであることを少なくとも1つの第2のコンピュータに通信する、
    ように構成されたプロセッサと、
    を備え
    前記プロセッサは、
    前記コンピュータから前記ローカル装置のための1つ以上のコマンドを受信し、前記コマンドは前記コンピュータと前記ローカル装置との間の直接接続のために構成され、
    前記コマンドを変換し、変換されたコマンドは、前記ローカル装置からは、前記コンピュータから発生されたものではなく、前記接続ステーションからローカルに発生された要求であると見えるように構成され、
    前記ローカル装置へ前記変換されたコマンドを送信する、ことによって前記ローカル装置にコンピュータアクセスを与えるように構成された接続ステーション。
  13. 前記プロセッサは、前記コンピュータからコンピュータコマンドを受信するように更に構成される、請求項12に記載の接続ステーション。
  14. 前記プロセッサは、ルーター機能を発揮するように更に構成される、請求項12に記載の接続ステーション。
JP2014515865A 2011-06-16 2012-06-05 ローカル装置へのシェアドアクセス Active JP5837189B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/161,942 US8667079B2 (en) 2011-06-16 2011-06-16 Shared access to a local device
US13/161,942 2011-06-16
PCT/US2012/040921 WO2012173820A2 (en) 2011-06-16 2012-06-05 Shared access to a local device

Publications (2)

Publication Number Publication Date
JP2014522016A JP2014522016A (ja) 2014-08-28
JP5837189B2 true JP5837189B2 (ja) 2015-12-24

Family

ID=46246284

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014515865A Active JP5837189B2 (ja) 2011-06-16 2012-06-05 ローカル装置へのシェアドアクセス

Country Status (6)

Country Link
US (1) US8667079B2 (ja)
EP (1) EP2710464B1 (ja)
JP (1) JP5837189B2 (ja)
KR (1) KR101443006B1 (ja)
CN (1) CN103608771B (ja)
WO (1) WO2012173820A2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5729344B2 (ja) * 2012-03-29 2015-06-03 ブラザー工業株式会社 画像処理装置および画像処理システム
CN111512596A (zh) * 2017-12-29 2020-08-07 高通股份有限公司 用于维持连接状态的技术
KR20230154311A (ko) 2021-03-10 2023-11-07 젠코어 인코포레이티드 Cd3 및 gpc3에 결합하는 이종이량체 항체

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6452692B1 (en) * 1996-12-02 2002-09-17 Sun Microsystems, Inc. Networked printer server
US6348971B2 (en) * 1997-06-20 2002-02-19 Seiko Epson Corporation Printing system and printing method for selecting an optimum printing for printing
JP4059598B2 (ja) * 1999-09-09 2008-03-12 株式会社リコー プリンタ選択装置、プリンタ選択方法及び記憶媒体
US7706017B2 (en) * 2001-01-11 2010-04-27 Sharp Laboratories Of America, Inc. Systems and methods for providing load balance rendering for direct printing
US20050209842A1 (en) 2004-03-16 2005-09-22 Digi International Inc. Remote USB port system and method
JP4457797B2 (ja) * 2004-07-27 2010-04-28 ブラザー工業株式会社 画像形成装置設定プログラム、画像形成装置設定装置、画像読取装置設定プログラム、および画像読取装置設定装置
US20090303521A1 (en) 2008-06-06 2009-12-10 Moschip Seminconductor Technology Limited Method and system for sharing of a usb printer to all clients
TWM357099U (en) 2008-11-26 2009-05-11 Azurewave Technologies Inc System and apparatus of wireless remote universal serial bus hub
US8438294B2 (en) * 2010-04-07 2013-05-07 Apple Inc. Application programming interface, system, and method for collaborative online applications

Also Published As

Publication number Publication date
CN103608771B (zh) 2016-11-02
WO2012173820A2 (en) 2012-12-20
BR112013032085A2 (pt) 2016-12-13
EP2710464A2 (en) 2014-03-26
US8667079B2 (en) 2014-03-04
CN103608771A (zh) 2014-02-26
JP2014522016A (ja) 2014-08-28
KR20140007977A (ko) 2014-01-20
EP2710464B1 (en) 2020-02-12
US20120324107A1 (en) 2012-12-20
KR101443006B1 (ko) 2014-09-22
WO2012173820A3 (en) 2013-03-14

Similar Documents

Publication Publication Date Title
US11706600B2 (en) Information processing program product, information processing apparatus, and information processing system
JP5500142B2 (ja) 省電力モード解除装置、中継装置、省電力モード解除方法、およびコンピュータープログラム
US20140355048A1 (en) System and method of mobile printing using near field communication
US8819276B2 (en) Apparatus, system, and method of processing printing operation on home network
JP5837189B2 (ja) ローカル装置へのシェアドアクセス
US10855879B2 (en) Method for establishing wireless connection of image forming device by using mobile terminal, and image forming device for performing same
JP2020027509A (ja) 中継システム
US11579822B2 (en) Information processing apparatus, control method of the same, and storage medium
JP7027986B2 (ja) 情報処理装置、情報処理システム、設定情報の共有方法およびプログラム
JP2013118532A (ja) 記録媒体及びそれを用いる撮像装置
JP6638786B2 (ja) 通信機器
US20200045197A1 (en) System and method for deploying software and applications
JP2016045791A (ja) 端末管理システム、端末装置、管理装置、端末管理方法およびプログラム
JP5903798B2 (ja) 情報処理システムおよびプログラム
JP2020155897A (ja) 電子黒板、電子黒板管理システム及び電子黒板管理方法
JP2007199825A (ja) データ処理装置、出力装置、情報処理装置、ドライバ処理方法、プログラム
BR112013032085B1 (pt) Método para prover um serviço de dispositivo local, método para conectar um computador a um serviço provido por um dispositivo local e estação de conexão para prover um acesso de rede a um dispositivo local
JP2016076933A (ja) 記録媒体及びその制御方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150316

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150615

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20151005

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151104

R150 Certificate of patent or registration of utility model

Ref document number: 5837189

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250