(57)【要約】【課題】複数の同じ製品のデバイスがＵＳＢ等で接続されているコンピューター上で、ウェブアプリケーションから特定のデバイスを利用したい場合でも、容易にそのデバイスを識別して利用可能にすること。【解決手段】コンピューターからＷｅｂブラウザーで、Ｗｅｂアプリケーションを含むウェブサイトにアクセスした場合に、コンピューターの接続デバイスへのアクセス要求（Ｓ６０５）があった場合、Ｗｅｂブラウザーが、ＯＳに対して各接続デバイスの情報を取得要求し（Ｓ６０６）、取得された各接続デバイスの情報を一覧で表示する接続許可プロンプトを提供し（Ｓ６１０）、接続許可プロンプトで選択された接続デバイスに対応する識別名を設定する名称登録プロンプトを提供し（Ｓ６１３、Ｓ６１７）、接続許可プロンプトで選択された接続デバイスの情報と名称登録プロンプトで設定された識別名とを紐付けて記憶領域に保存する（Ｓ６１４、Ｓ６１９）。【選択図】図６
2020144406.tif 000002
【特許請求の範囲】
【請求項１】
ウェブブラウザが実行される情報処理装置であって、
前記ウェブブラウザの機能として、ウェブアプリケーションを含むウェブサイトにアクセスした場合に、前記情報処理装置に接続されている接続デバイスへのアクセス要求があった場合、オペレーティングシステムに対して、各接続デバイスの情報を取得する取得要求を実行する第１実行手段と、
前記ウェブブラウザの機能として、前記取得要求に基づき取得された各接続デバイスの情報を一覧で表示し、前記ウェブアプリケーションがいずれの接続デバイスへ接続することを許可するか選択するための第１画面を提供する第１提供手段と、
前記ウェブブラウザの機能として、前記第１画面で選択された接続デバイスに対応する識別名を設定する第２画面を提供する第２提供手段と、
前記ウェブブラウザの機能として、前記第１画面で選択された接続デバイスの情報と、前記第２画面で設定された識別名とを紐付けて記憶領域に保存する保存手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記デバイスは、ＵＳＢまたはＢｌｕｅｔｏｏｔｈで接続されることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第１提供手段は、前記第１画面を提供する場合に、前記取得要求に基づき取得された接続デバイスの情報に紐付けて設定された識別名が前記保存手段に保存されている場合には、前記第１画面において、該接続デバイスの情報とともに該接続デバイスの情報に紐付く識別名を前記一覧に表示することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記保存手段は、前記第１画面で選択された接続デバイスの情報と、前記第２画面で設定された識別名と、さらに前記ウェブアプリケーションに対応する情報とを紐付けて保存することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記ウェブブラウザの機能として、前記ウェブアプリケーションからのアクセス要求に応じて実行される取得要求に応じて、該ウェブアプリケーションに対応する情報に紐付けて保存された接続デバイスの情報が取得された場合には、前記第１画面を提供することなく、該ウェブアプリケーションから該接続デバイスへの接続が許可する許可手段を有することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記ウェブブラウザの機能として、前記第１画面の一覧に同一の情報が表示され且つ前記識別名が設定されていない複数の接続デバイスのいずれかが選択された場合には、これらの接続デバイスのうち、前記ウェブアプリケーションからの接続を許可しない接続デバイスを前記情報処理装置から切断すべき旨の要求を行なう第３画面を提供する第３提供手段を有し、
前記第２提供手段は、前記第３画面が提供された後、前記第１画面で選択された接続デバイスと同一の情報を有し且つ前記識別名が設定されていない他の接続デバイスが前記情報処理装置に接続されていないことを確認した場合に、前記第２画面を提供することを特徴とする請求項１〜５のいずれか１項に記載の情報処理装置。
【請求項７】
前記取得要求に基づき取得される接続デバイスの情報は、接続デバイスのベンダーを識別する情報、接続デバイスの製品名を識別する情報の少なくともいずれかを含むことを特徴とする請求項１〜６のいずれか１項に記載の情報処理装置。
【請求項８】
前記取得要求に基づき取得される接続デバイスの情報は、接続デバイスのシリアル番号を含み、
前記第１提供手段は、前記第１画面で、シリアル番号を提示する情報に含めることを特徴とする請求項１〜７のいずれか１項に記載の情報処理装置。
【請求項９】
前記第１画面は、前記一覧に表示される前記接続デバイスの情報ごとに、対応する接続デバイスに通知動作を指示するための指示部を有し、
前記ウェブブラウザの機能として、前記指示部で指示された接続デバイスに前記通知動作を行わせるコマンドを発行するための要求を、オペレーティングシステムに対して実行する第２実行手段を有することを特徴とする請求項１〜８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記通知動作は、接続デバイスが有する発光部が所定の形態で発光する動作、接続デバイスが有する表示部が所定の表示を行う動作、接続デバイスが有するスピーカーから所定の音を発生する動作の少なくともいずれかを含むことを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
ウェブブラウザが実行される情報処理装置の制御方法であって、
前記ウェブブラウザの機能として、ウェブアプリケーションを含むウェブサイトにアクセスした場合に、前記情報処理装置に接続されている接続デバイスへのアクセス要求があった場合、オペレーティングシステムに対して、各接続デバイスの情報を取得する取得要求を実行する実行ステップと、
前記ウェブブラウザの機能として、前記取得要求に基づき取得された各接続デバイスの情報を一覧で表示し、前記ウェブアプリケーションがいずれの接続デバイスへ接続することを許可するか選択するための第１画面を提供する第１提供ステップと、
前記ウェブブラウザの機能として、前記第１画面で選択された接続デバイスに対応する識別名を設定する第２画面を提供する第２提供ステップと、
前記ウェブブラウザの機能として、前記第１画面で選択された接続デバイスの情報と、前記第２画面で設定された識別名とを紐付けて記憶領域に保存する保存ステップと、
を有することを特徴とする情報処理装置の制御方法。
【請求項１２】
コンピューターを、請求項１〜１０のいずれか１項に記載の手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｗｅｂアプリケーションを介したデバイスの制御が可能な情報処理装置、情報処理装置の制御方法及びプログラムに関する。
【背景技術】
【０００２】
近年、新しいＷｅｂ標準の提案として、Ｗ３Ｃ（World Wide Web Consortium）に提案されているＷｅｂＵＳＢ ＡＰＩという技術がある。従来、コンピューターからＵＳＢデバイスを使用するには、そのデバイス用のドライバーを入手し、利用するコンピューターのＯＳ（Operating System）にインストールする必要があった。また、専用のネイティブ（Native）アプリケーションから接続・使用する必要があった。
【０００３】
近年、ネイティブアプリケーションで実行する処理をＷｅｂアプリケーションで置き換える事例が多くなっている。
しかし、Ｗｅｂアプリケーションからコンピューターに接続されたＵＳＢデバイスを使用するには、専用のブラウザーのプラグインを作成して、ＯＳにインストールされたドライバーを利用する、といった煩雑な手間があった。
【０００４】
ＷｅｂＵＳＢでは、従来のＵＳＢデバイスドライバー相当をＪａｖａＳｃｒｉｐｔ（登録商標）プログラムとして、アドホックにダウンロード・使用でき、Ｗｅｂアプリケーションからコンピューターに接続したＵＳＢデバイスにアクセス可能となる。
【０００５】
また、特許文献１には、コンピューターのリソースをＷｅｂサービス化してＷｅｂアプリケーションから利用できる技術が提案されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１４−２１５６７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
例えば、コンピューターにＵＳＢ接続した複数の同じ機種のプリンターがある。このプリンターのうち特定のプリンターを利用してＷｅｂアプリケーションから印刷を行いたい、というユースケースがある。
【０００８】
ＷｅｂＵＳＢでは、ＷｅｂアプリケーションがＵＳＢ接続デバイスへのアクセスを求めると、Ｗｅｂブラウザーはコンピューターに接続されているデバイス一覧をユーザーに提示する。なお、接続デバイス一覧には、ＵＳＢデバイスから取得されるvendorIdとproductIdから作成され各製品名（例えば「Ａ社 Ｂプリンター」のような名称）が表示される。Ｗｅｂアプリケーションは、この接続デバイス一覧の中でユーザーから接続許可を受けた接続デバイスにアクセス可能となる。
【０００９】
しかし、上述した従来の技術では、複数の同じ機種のＵＳＢデバイス（例えば「Ａ社 Ｂプリンター」）がコンピューターに接続されている場合、上述の接続デバイスの一覧に同一の製品名が表示されてしまう。つまり、上述の例では「Ａ社 Ｂプリンター」が複数表示されてしまい識別できない状態となる。このような場合、ユーザーは、この一覧で同じ機種のＵＳＢデバイスを識別することができず、接続許可するＵＳＢデバイスを適切に選択することが困難であった。これは、ＵＳＢインターフェースの仕様からＵＳＢデバイスのベンダーや製品名等を取得することは可能であるが、ユーザーがＵＳＢデバイスを識別可能な情報を取得することができないことに起因している。
【００１０】
なお、特許文献１の技術では、コンピューター上に存在する複数の同様のリソース（上述の例では同一製品の複数のプリンター）のなかから特定リソース（特定のプリンター）を選択して利用したいという要求に対しては対応できない。
【００１１】
このように、従来の技術では、複数の同じ機種のデバイスがコンピューターにＵＳＢ接続されている場合、ユーザーがＷｅｂアプリケーション上からデバイスを識別することが困難であるという課題があった。なお、この課題は、デバイスがＵＳＢ接続される場合に限定されるものではなく、デバイスがＢｌｕｅｔｏｏｔｈ（登録商標）接続等される場合についても同様である。
【００１２】
本発明は、上記の問題点を解決するためになされたものである。本発明の目的は、複数の同じ製品のデバイスが接続されているコンピューター上で、Ｗｅｂアプリケーションから特定のデバイスを利用したい場合に、容易にそのデバイスを識別して利用できるようにする仕組みを提供することである。
【課題を解決するための手段】
【００１３】
本発明は、ウェブブラウザが実行される情報処理装置であって、前記ウェブブラウザの機能として、ウェブアプリケーションを含むウェブサイトにアクセスした場合に、前記情報処理装置に接続されている接続デバイスへのアクセス要求があった場合、オペレーティングシステムに対して、各接続デバイスの情報を取得する取得要求を実行する第１実行手段と、前記ウェブブラウザの機能として、前記取得要求に基づき取得された各接続デバイスの情報を一覧で表示し、前記ウェブアプリケーションがいずれの接続デバイスへ接続することを許可するか選択するための第１画面を提供する第１提供手段と、前記ウェブブラウザの機能として、前記第１画面で選択された接続デバイスに対応する識別名を設定する第２画面を提供する第２提供手段と、前記ウェブブラウザの機能として、前記第１画面で選択された接続デバイスの情報と、前記第２画面で設定された識別名とを紐付けて記憶領域に保存する保存手段と、を有することを特徴とする。
【発明の効果】
【００１４】
本発明によれば、複数の同じ製品のデバイスが接続されているコンピューター上で、ウェブアプリケーションから特定のデバイスを利用したい場合でも、容易にそのデバイスを識別して利用することが可能となる。
【図面の簡単な説明】
【００１５】
【図１】本実施形態に係るシステム全体の構成の一例を示す図。
【図２】本実施形態に係る情報処理装置のハードウェア構成の一例を示す図。
【図３】本実施形態に係るデバイスのハードウェア構成の一例を示す図。
【図４】本実施形態に係るシステムのソフトウェア構成の一例を示す図。
【図５】第１実施形態のＷｅｂアプリケーションにアクセス許可を付与する際のＵＩを説明する図。
【図６】第１実施形態のＷｅｂアプリケーション実行処理を説明するシーケンス図。
【図７】第１実施形態のＷｅｂアプリケーションにアクセス許可を付与する際のＵＩを説明する図。
【図８】本実施形態のプリントＷｅｂアプリケーションＵＩを説明する図。
【図９】第１実施形態のＷｅｂアプリケーションにアクセス許可を付与する際のＵＩを説明する図。
【図１０】第２，３実施形態のＷｅｂアプリケーションにアクセス許可を付与する際のＵＩを説明する図。
【図１１】第３実施形態のＷｅｂアプリケーション実行処理を説明するシーケンス図。
【発明を実施するための形態】
【００１６】
以下、本発明を実施するための形態について図面を用いて説明する。
〔第１実施形態〕
＜システム構成＞
図１は、本発明の一実施形態を示す情報処理装置を含むシステム全体の構成の一例を示す図である。
【００１７】
図１において、Ｗｅｂサーバー１０１は、クライアントコンピューター（以下「コンピューター」）１０２にＷｅｂアプリケーション（ウェブアプリケーション）を提供する機能を有する。ここでは、ブラウザーに対してＷｅｂアプリケーションを提供する機能のあるサーバーであればよく、クラウド上のサーバーであったり、データセンター内のサーバーであったり、コンピューター内であったりとサーバーのロケーションは問わない。
【００１８】
コンピューター１０２は、ユーザーが使用するコンピューターである。コンピューター１０２としては、パーソナルコンピューター、ラップトップコンピューター、タブレットコンピューター、スマートフォンなどがある。
【００１９】
デバイス１０３及びデバイス１０４は、コンピューター１０２に接続して使用するデバイスである。本実施例では、ＵＳＢプリンターを例にして説明するが、これに限定されるものではない。ここでは、コンピューター１０２とデバイス１０３、１０４との接続方法は、ＵＳＢによる有線接続であるものとして説明するが、これは発明の範囲を限定するものではない。接続方法については、コンピューター１０２がデバイス１０３，１０４を制御することができればよく、この接続方法としてはＢｌｕｅｔｏｏｔｈ（登録商標）などの無線による接続でもよい。
【００２０】
ネットワーク１０５は、コンピューター１０２が接続しているネットワークである。ネットワーク１０５は、有線通信のネットワークに限らず、無線ＬＡＮや携帯電話通信ネットワークなどの無線通信網である場合もある。
Ｗｅｂサーバー１０１とネットワーク１０５はそれぞれインターネット１０７に接続している。Ｗｅｂサーバー１０１とコンピューター１０２は、インターネット１０７を介して通信可能である。
【００２１】
＜情報処理装置のハードウェア構成＞
図２は、Ｗｅｂサーバー１０１、コンピューター１０２を構成する情報処理装置のハードウェア構成の一例を示すブロック図である。
情報処理装置は、ＣＰＵ２０１、主記憶装置２０２、補助記憶装置２０３、入出力Ｉ／Ｆ部２０４、通信Ｉ／Ｆ部２０５を有する。
【００２２】
ＣＰＵ２０１は、所定のプログラムを実行し、情報処理装置の各種制御を指示するユニットである。主記憶装置２０２は、ＣＰＵ２０１がプログラムを実行する際に使用するワークメモリであり、ＲＡＭ（Random Access Memory）などにより実現される。
【００２３】
補助記憶装置２０３は、データを永続的に記憶することを目的とした記憶装置であり、ＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）等により実現される。また、補助記憶装置２０３は、アプリケーションプログラムおよびＯＳ（Operating System）が記憶されている。ここで、コンピューター１０２における後述するブラウザーは、このアプリケーションプログラムによって実現される。さらに、このアプリケーションプログラムで実現されるブラウザーは、ＷｅｂＵＳＢのＡＰＩをサポートしているものとする。なお、本実施形態では、デバイス１０３、１０４は、ＷｅｂＵＳＢのＡＰＩをサポートしていることを前提としている。もちろん、デバイス１０３、１０４が、Ｂｌｕｅｔｏｏｔｈによる無線接続に対応している場合は、ＷｅｂＢｌｕｅｔｏｏｔｈのＡＰＩをサポートしているものとしてもよい。補助記憶装置２０３に記憶されている各種プログラムは、ＣＰＵ２０１がプログラムを実行する際に主記憶装置２０２にロードされ実行される。
【００２４】
入出力Ｉ／Ｆ部２０４は、ユーザーの操作入力を受け付ける機能を持つユニットと、ユーザーに情報を提示する機能を持つユニットを有する。操作入力を受け付けるユニットの具体例としては、マウス、キーボードが挙げられる。一方で、ユーザーに情報を提示する機能を持つユニットの具体例としては、モニターやスピーカーが挙げられる。
【００２５】
通信Ｉ／Ｆ部２０５は、外部装置からのデータの受信や外部装置へのデータの送信を行うためのインターフェースである。通信Ｉ／Ｆ部２０５は、既定のプロトコルを介して、補助記憶装置２０３に記録された情報処理装置の各種の保持する情報を外部装置に提供できる。通信Ｉ／Ｆ部２０５は、ＣＰＵ２０１により実行される各種プログラムにしたがって外部装置と通信を行う。プロトコルの種類としては、ＨＴＴＰ（Hypertext Transfer Protocol）やＳＮＭＰ（Simple Network Management Protocol）やシリアル通信、ＵＳＢ通信、Ｂｌｕｅｔｏｏｔｈ通信などが挙げられる。なお、コンピューター１０２の場合、通信Ｉ／Ｆ部２０５にＵＳＢインターフェースを含むことを想定しているが、Ｂｌｕｅｔｏｏｔｈインターフェースを含む構成でもよい。
また、外部装置の具体例としては、ＵＳＢ機器、Ｂｌｕｅｔｏｏｔｈ機器、ネットワークを介して接続されたコンピューター、他のネットワーク機器などが挙げられる。
【００２６】
＜デバイスのハードウェア構成＞
次に、デバイス１０３，１０４のハードウェア構成について説明する。
図３は、デバイス１０３，１０４のハードウェア構成の一例を示すブロック図である。本実施形態では、デバイス１０３，１０４は、ＵＳＢプリンターであるものとして説明をするが、これに限定されるものではなくＢｌｕｅｔｏｏｔｈ機器等であってもよい。
【００２７】
デバイス１０３，１０４において、制御部３０１は、デバイスの内部的な情報制御を行うためのものである。制御部３０１は、ＣＰＵ３０２、主記憶装置３０３、補助記憶装置３０４を有する。ＣＰＵ３０２、主記憶装置３０３及び補助記憶装置３０４の詳細については、それぞれ図２の情報処理装置が持つものと変わらないため説明を省略する。
【００２８】
プリント部３０５は、コンピューター１０２から受信した画像データを用紙に出力するための、プリント機構である。表示部３０６は、ユーザーにプリントの状態や操作メニューを示すための部位である。表示部の例としては、液晶モニターなどが該当する。操作部３０７は、プリントなどユーザーがデバイス１０３，１０４に実行させたい動作を入力するための実行をインプットするための部位である。
【００２９】
通信Ｉ／Ｆ３０８は、デバイス１０３，１０４が外部の機器とやり取りするためのインターフェースである。本実施形態では、デバイス１０３，１０４は、コンピューター１０２とＵＳＢ接続するものであり、通信Ｉ／Ｆ３０８もＵＳＢインターフェースを想定している。もちろんデバイス１０３、および、１０４の他の機能として、Ｂｌｕｅｔｏｏｔｈインターフェースやネットワークインターフェースなどを別に持っていてもよい。
【００３０】
＜システム全体のソフトウェア構成＞
図４は、本実施形態のシステムのソフトウェア構成の一例を示す図である。なお、各ハードウェアにインストールされたソフトウェアは、それぞれ情報処理装置のＣＰＵ２０１、デバイスのＣＰＵ３０２で実行され、ネットワーク接続の矢印で図示するように、相互に通信可能な構成となっている。
【００３１】
＜サーバー１０１の構成＞
Ｗｅｂアプリケーションサーバー４１１は、サーバー１０１のＣＰＵ２０１が補助記憶装置２０３に格納されるプログラムを主記憶装置２０２にロードして実行することにより実現されて機能する。また、データストア４１４は、サーバー１０１の補助記憶装置２０３内の記憶領域として実現さる。
【００３２】
Ｗｅｂアプリケーションサーバー４１１は、サーバー１０１にインストールされたＷｅｂアプリケーションサーバーである。
Ｗｅｂ ＡＰＩ４１２は、Ｗｅｂアプリケーションサーバー４１１によって提供されるＡＰＩ（Application Programming Interface）である。Ｗｅｂ ＵＩ４１３は、Ｗｅｂアプリケーションサーバー４１１によって提供されるＵＩ（User Interface）である。
データストア４１４は、Ｗｅｂアプリケーションサーバー４１１が使用するデータを保存・格納する。
【００３３】
Ｗｅｂアプリケーションサーバー４１１は、コンピューター１０２からのＨＴＴＰリクエストの内容に応じて、応答を返す。例えば、Ｗｅｂ ＵＩ４１３がＨＴＭＬやＪａｖａＳｃｒｉｐｔ（登録商標）などのコンテンツファイルを応答したり、Ｗｅｂ ＡＰＩ４１２がＸＭＬやＪＳＯＮデータを応答したりする。
【００３４】
＜コンピューター１０２の構成＞
ＯＳ４２２、ブラウザー４２５は、コンピューター１０２のＣＰＵ２０１が補助記憶装置２０３に格納されるプログラムを主記憶装置２０２にロードして実行することにより実現されて機能する。
【００３５】
ＵＳＢホストコントローラー４２１は、ＵＳＢ接続・通信を行うためのハードウェアである。
ＯＳ４２２は、コンピューター１０２にインストールされたオペレーティングシステムである。ＯＳ４２２は、コンピューター１０２の各ハードウェアを管理・制御し、各種プログラムの実行管理を行う基本ソフトウェアである。ＯＳ４２２は、内部にＵＳＢプロトコル・スタック４２３、ＵＳＢホストコントローラードライバー４２４等を備える。
【００３６】
ＵＳＢプロトコル・スタック４２３は、ＵＳＢプロトコルを利用するためのプログラムモジュール、ライブラリー、ＡＰＩなどを備える。ＵＳＢホストコントローラードライバー４２４は、ＵＳＢプロトコル・スタック４２３からの命令で、ＵＳＢホストコントローラー４２１を駆動・制御する。
【００３７】
ブラウザー４２５は、コンピューター１０２にインストールされたウェブブラウザー（Ｗｅｂブラウザー）である。ブラウザー４２５は、ＨＴＭＬ（HyperText Markup Language）やＪａｖａＳｃｒｉｐｔを表示・実行するアプリケーションである。
【００３８】
Ｗｅｂアプリケーション４２６は、ブラウザー上で実行されるアプリケーションである。このＷｅｂアプリケーション４２６では、ＪａｖａＳｃｒｉｐｔやＥＣＭＡＳｃｒｉｐｔなどのスクリプトが実行される。ブラウザー４２５は、ネットワークを介して、サーバー１０１で実行されるＷｅｂアプリケーションサーバー４１１からＨＴＭＬ，ＪａｖａＳｃｒｉｐｔやＥＣＭＡＳｃｒｉｐｔ等を取得し、Ｗｅｂアプリケーション４２６として実行、表示する。
【００３９】
Ｂｒｏｗｓｅｒ ＡＰＩ４２７は、ブラウザー４２５に備えられるＡＰＩである。Ｂｒｏｗｓｅｒ ＡＰＩ４２７は、Ｗｅｂアプリケーション４２６からＯＳ４２２が提供する機能にアクセスできるように設けられているＡＰＩである。
【００４０】
＜デバイス１０３，１０４の構成＞
ＵＳＢコントローラードライバー４３２、アクセス制御部４３３は、デバイス１０３，１０４のＣＰＵ３０２が補助記憶装置３０４に格納されるプログラムを主記憶装置３０３にロードして実行することにより実現されて機能する。また、データ記憶部４３４は、デバイス１０３，１０４の補助記憶装置３０４内の記憶領域として実現さる。
【００４１】
ＵＳＢターゲットコントローラー４３１は、デバイス１０３，１０４に備えられるハードウェアであり、ＵＳＢ接続・通信を行う。ＵＳＢコントローラードライバー４３２は、デバイス１０３，１０４にインストールされたものである。ＵＳＢコントローラードライバー４３２は、ＵＳＢターゲットコントローラー４３１を駆動・制御する。
【００４２】
また、デバイス１０３，１０４内には、アクセス制御部４３３、データ記憶部４３４が設けられている。アクセス制御部４３３は、ＵＳＢ接続からの通信内容を判断し、データ記憶部４３４へのアクセス許可を制御し、必要なデータの読み込み・書き込みを制御する。
【００４３】
＜ブラウザー画面構成１＞
まず、Ｗｅｂアプリケーション４２６がコンピューター１０２上で初回起動された場合について説明する。
図５は、第１実施形態においてブラウザー４２５上でＷｅｂサーバー１０１から取得したＷｅｂアプリケーションの実行・表示例を示す図である。
【００４４】
図５の例は、Ｗｅｂアプリケーション４２６がコンピューター１０２上で初回起動した際のＵＳＢデバイスへのアクセス許可取得時における画面例に対応する。
ここでは、Ｗｅｂサーバー１０１から取得したＷｅｂアプリケーション４２６は、ＷｅｂＵＳＢを利用してデバイス１０３やデバイス１０４を制御することができるプリントＷｅｂアプリケーションを想定して説明する。
【００４５】
画面５００は、サーバー１０１に接続して、Ｗｅｂアプリケーションサーバー４１１から取得したプリントＷｅｂアプリケーションを実行・表示しているブラウザー４２５のウィンドウに対応する。ＵＲＬ５０１は、ブラウザー４２５で開かれているＷｅｂアプリケーションサーバー４１１のＵＲＬである。
【００４６】
接続許可プロンプト５０２は、Ｗｅｂアプリケーションサーバー４１１のドメインが、ＷｅｂＵＳＢでコンピューター１０２に接続されたデバイスにＵＳＢ接続するためのプロンプトである。この接続許可プロンプト５０２での表示例は、コンピューター１０２にデバイス１０３が１台接続されている状態のときの表示例に対応する。
接続先デバイス選択肢５０３は、ＷｅｂＵＳＢの接続先デバイスの選択肢である。コンピューター１０２に複数のデバイスが接続されている場合には、その選択肢として複数のデバイスがここに表示される。
【００４７】
「接続」ボタン５０４は、ＷｅｂＵＳＢの接続許可操作を実行するためのボタンコントロールである。ユーザーは、Ｗｅｂアプリケーション４２６に対して接続許可を出す対象のデバイスを接続先デバイス選択肢５０３の中から選択し、「接続」ボタン５０４を押下することにより、選択したデバイスへの接続を許可する。
【００４８】
画面５１０は、画面５００で接続許可された後に表示されるデバイスへ名称を付与するためのプロンプトである。画面５１０では、画面５００で選択したデバイスに対する名前の登録を行うための入力フィールドを有した名称登録プロンプト５１１が表示される。
【００４９】
名称登録プロンプト５１１は、デバイス１０３に名前を登録するためのプロンプトである。
入力フィールド５１２は、ユーザーからデバイスの名前（識別名）の入力を受け付ける入力フィールドである。ここでは「Caxxn Color Laser Printer Model 9」という製品名称のデバイスに「業務Ａ用レーザープリンター」という名称を付与する際の入力例を記載している。
【００５０】
「登録」ボタン５１３は、ユーザーがデバイスに対して付与した識別名の登録を実行するボタンコントロールである。ユーザーが、入力フィールド５１２にデバイスの名前を入力し、「登録」ボタン５１３を押下すると、画面５００で指示した接続許可設定とともにデバイスに識別名が付与されブラウザー４２５に保存される。なお、既にブラウザー４２５に保存されている識別名が、入力フィールド５１２に入力されている場合には、その旨をユーザーに通知し、入力フィールド５１２へ他の識別名を入力するように促す構成でもよい。
【００５１】
＜シーケンス図＞
図６は、第１実施形態におけるＷｅｂアプリケーション４２６の実行処理を説明するシーケンス図である。
【００５２】
まず、ユーザーがブラウザー４２５にＷｅｂアプリケーションサーバー４１１を含むウェブサイトのＵＲＬ（例えば図５のＵＲＬ５０１で示したＵＲＬ）を指定してプリントＷｅｂアプリケーションを開く（Ｓ６０１）。
上記Ｓ６０１のユーザー操作に応じて、ブラウザー４２５は、Ｗｅｂアプリケーションサーバー４１１にアクセスし、Ｗｅｂコンテンツリクエストを送信する（Ｓ６０２）。
上記Ｓ６０２の要求に応じて、Ｗｅｂアプリケーションサーバー４１１は、プリントＷｅｂアプリケーション用のＨＴＭＬ／ＪａｖａＳｃｒｉｐｔ等のコンテンツをブラウザー４２５に応答する（Ｓ６０３）。ここでは、ＪａｖａＳｃｒｉｐｔ記載しているが、ＥＣＭＡＳｃｒｉｐｔ等であってもよい。
【００５３】
上記Ｓ６０３の応答を受信すると、ブラウザー４２５は、受信したＨＴＭＬを解析し、ＪａｖａＳｃｒｉｐｔやＥＣＭＡＳｃｒｉｐｔ等のスクリプトを検知すると該スクリプトをＷｅｂアプリケーション４２６として実行する（Ｓ６０４）。
上記Ｓ６０４で実行されたＷｅｂアプリケーション４２６は、ブラウザー４２５に対してusb.requestDeviceを命令する（Ｓ６０５）。すなわち、Ｗｅｂアプリケーション４２６は、接続デバイスへのアクセス要求を行う。
上記Ｓ６０５の命令に応じて、ブラウザー４２５は、ＯＳ４２２に接続中のデバイス情報の取得要求を行う（Ｓ６０６）。
【００５４】
上記Ｓ６０６の要求に応じて、ＯＳ４２２は、各接続デバイス（図６の例では接続しているデバイス１０３）に対してDevice DescriptorのidVendorとidProduct、また、String DescriptorのproductNameとserialNumberを要求する（Ｓ６０７）。
上記S６０７の要求に応じて、デバイス１０３は、ＯＳ４２２に対してDevice DescriptorのidVendorとidProduct、及び、String DescriptorのproductNameとserialNumberを返す（Ｓ６０８）。なお、idVendorはそのデバイスのベンダーを識別する識別子、idProductはそのデバイスの製品を識別する識別子、productNameはそのデバイスの製品名、serialNumberはそのデバイスのシリアル番号を示す。
【００５５】
図６の例では、コンピューター１０２に接続しているデバイスの数は１台となっているが、コンピューター１０２に複数のＵＳＢデバイスが接続されていてもよい。その場合、上記Ｓ６０７及びＳ６０８のステップが接続されているデバイスの数分繰り返し実行されるものとする。
【００５６】
上記ＯＳ４２２は、コンピューター１０２に接続している全てのデバイスの情報を収集すると、全てのデバイスの情報をブラウザー４２５へ返す。（Ｓ６０９）
また、ＯＳ４２２の実装によっては、デバイスがコンピューター１０２に接続されたときに、Device DescriptorやString Descriptorの情報をＯＳ４２２が保管する。そのような構成の場合、上記Ｓ６０７及びＳ６０８の処理をキャンセルして、ＯＳ４２２はブラウザー４２５に対して、上記保管しておいたデバイス情報を返すこともできる。
【００５７】
上記Ｓ６０９でＯＳ４２２から返された情報に基づいて、ブラウザー４２５は、コンピューター１０２に接続している全てのＵＳＢデバイスのリスト（一覧）を生成する。さらに、ブラウザー４２５は、ブラウザー画面５００上に、該ＵＳＢデバイスのデバイスリストを選択肢５０３として提示する接続許可のプロンプト５０２を表示する（Ｓ６１０）。
【００５８】
上記Ｓ６１０のプロンプト表示に応じて、ユーザーは、該表示されたプロンプト５０２からＷｅｂアプリケーション４２６がどのＵＳＢデバイスにアクセスすることを許可するか判断する。ここアクセスを許可すると判断すると、ユーザーは、選択肢５０３の中からアクセス許可するデバイス１０３を選択し、アクセス許可の発行を行う（Ｓ６１１）。
【００５９】
上記Ｓ６１１のアクセス許可の発行のユーザー操作に応じて、ブラウザー４２５は、以下の制御を行う。
＜選択されたデバイスを一意に特定できる場合＞
まず、例えば図５の画面５００に示したように、選択されたデバイスを一意に特定できる場合、すなわち選択されたデバイスと同一の製品がコンピューター１０２に接続されていない場合について説明する。
この場合、ブラウザー４２５は、今後同一製品が同時に接続された場合に識別できるように該選択されたデバイスに識別名の登録設定を行うためのプロンプト（例えば図５の５１１のようなプロンプト）を表示する（Ｓ６１２）。
上記Ｓ６１２のプロンプト表示に応じて、ユーザーは、デバイスに識別名の登録設定を行うためのプロンプトにおいてデバイス名称（識別名）の登録操作を行う（Ｓ６１３）。
【００６０】
上記Ｓ６１３のデバイス名称登録操作に応じ、ブラウザー４２５は、USBPermissionStorageに、Ｗｅｂアプリケーションサーバー４１１のドメイン名称と、AllowedUSBDeviceの情報と、デバイス名称（識別名）を紐付けて保存する（Ｓ６１４）。なお、AllowedUSBDeviceの情報としては、idVendor、idProduct及びserialNumberの情報が保存される。また、USBPermissionStorageは、ブラウザー４２５が管理するコンピューター１０２内の記憶領域である。
【００６１】
以後、上述のように識別名がユーザーにより設定された接続デバイスがコンピューター１０２に接続されている状態で、該接続デバイスの情報と紐付けられたドメイン名称に対応するＷｅｂアプリケーションからのアクセス要求があった場合、ブラウザー４２５は、該識別名を接続先デバイス選択肢とする接続許可プロンプトを表示する。さらに、上述の状態で、上記ドメイン名称に対応しない他のＷｅｂアプリケーションからのアクセス要求があった場合でも、ブラウザー４２５は、上述の設定された識別名を接続先デバイス選択肢とする接続許可プロンプトを表示することが可能である。
【００６２】
なお、上述の状態で、上記ドメイン名称に対応するＷｅｂアプリケーションからのアクセス要求があった場合、ブラウザー４２５は、接続許可プロンプト５０２を表示することなく、上記ドメイン名称と紐付けされた接続デバイスへのアクセスを許可するようにしてもよい。
【００６３】
＜選択されたデバイスを一意に特定できない場合＞
次に、例えば後述する図９の画面９００に示すように、選択されたデバイスを一意に特定できない場合、すなわち選択されたデバイスと同一の製品がコンピューター１０２に複数接続されている場合について説明する。この場合、ブラウザー４２５は、例えば後述する図９の画面９１０のように、ユーザーに対して不要なデバイスの切断を要求する（Ｓ６１５）。この要求に応じて、ユーザーは不要なデバイスの切断を行う。
【００６４】
ブラウザー４２５は、ＵＳＢデバイスの切断イベント（disconnect event）を取得すると、デバイスが一意に特定できるようになったか確認を行う（Ｓ６１６）。そして、ユーザーがアクセス許可するとして選択したデバイスが一意に特定できるようになると、ブラウザー４２５は、上記Ｓ６１２１２と同様に、該デバイスに識別名の登録設定を行うためのプロンプトを表示する（Ｓ６１７）。
上記Ｓ６１７のプロンプト表示に応じて、ユーザーは、上記Ｓ６１２１３と同様に、デバイスに識別名の登録設定を行うためのプロンプトにおいてデバイス名称（識別名）の登録操作を行う（Ｓ６１８）。
【００６５】
上記Ｓ６１８のデバイス名称登録操作に応じ、ブラウザー４２５は、USBPermissionStorageに、Ｗｅｂアプリケーションサーバー４１１のドメイン名称と紐つけ、AllowedUSBDeviceの情報と、デバイス名称（識別名）を保存する（Ｓ６１９）。詳細は、Ｓ６１４と同様であるので省略する。
【００６６】
上記Ｓ６１４又はＳ６１９の処理の後、ブラウザー４２５は、Ｗｅｂアプリケーション４２６に対し、上記Ｓ６１１で選択操作されたＵＳＢデバイスへのアクセスを許可する（Ｓ６２０）。図示しないが、この後、Ｗｅｂアプリケーション４２６は、例えば、ＷｅｂＵＳＢを利用してユーザーにＵＳＢデバイスの機能を提供するための画面（例えば後述する図８の８００のような画面）をブラウザー４２５に表示する。
【００６７】
＜ブラウザー画面構成２＞
次に、Ｗｅｂアプリケーション４２６がコンピューター１０２上で過去に起動されている場合について説明する。
図７は、コンピューター１０２におけるブラウザー４２５上でＷｅｂサーバー１０１から取得したＷｅｂアプリケーションの実行・表示例を示す図である。
図７の例は、ユーザーがプリントＷｅｂアプリケーションに対して、過去にデバイスアクセスを許可していて、ＵＳＢデバイスに名称が付与されているデバイスと、名称付与がされていないデバイスとが混在している場合のＵＳＢデバイスへのアクセス許可取得時における画面例に対応する。図６のシーケンス中では、Ｓ６１４、Ｓ６１９でＵＳＢデバイスに名称を登録した後に、再度アクセスしアクセス許可画面を表示させたときの画面例に対応する。
【００６８】
画面７００は、サーバー１０１に接続して、Ｗｅｂアプリケーションサーバー４１１から取得したプリントＷｅｂアプリケーションを実行・表示しているブラウザーのウィンドウである。コンピューター１０２には「Caxxn Color Laser Printer Printer Model 9」という製品名のプリンターが２台ＵＳＢにて接続されている。
【００６９】
図７において、接続先デバイス選択肢７０１では、図６のＳ６１４、Ｓ６１９にてユーザーにより「業務Ａ用レーザープリンター」という以前登録されたデバイス名称がproductName等の代わりに表示されている。この接続先デバイス選択肢７０１に対応するデバイスは、初回に接続したときにアクセス許可を発行済みとしてブラウザー４２５に保管されているので、表示情報に「ペア設定済み」との記載が表示されている。なお、「業務Ａ用レーザープリンター」という以前登録されたデバイス名称とproductName等を併用して表示してもよい。
【００７０】
接続先デバイス選択肢７０１は、ＵＳＢデバイスのserialNumberに対してデバイス名称が登録されているので、デバイスを一意に特定することができる選択肢に対応する。
接続先デバイス選択肢７０２は、ユーザーによりデバイス名称が登録されていないので、初回表示時のままproductNameが表示されている選択肢に対応する。
その他については図５の画面５００と同様であるので説明を省略する。
【００７１】
図８は、ブラウザー４２５上でＷｅｂサーバー１０１から取得したＷｅｂアプリケーション４２６の実行・表示例を示す図である。特に、図６のシーケンス図中において、Ｓ６２０でＵＳＢデバイスに名称を登録した後に、Ｗｅｂアプリケーション４２６がＷｅｂＵＳＢを利用してユーザーにプリント機能を提供している画面例を表している。
【００７２】
図８において、画面８００は、サーバー１０１に接続して、Ｗｅｂアプリケーションサーバー４１１から取得したプリントＷｅｂアプリケーションを実行・表示しているブラウザー４２５のウィンドウである。
【００７３】
画面８００内には、アプリケーションタイトルやプリントにおける設定変更フィールドが設けられている。
対象のプリンタ名８０１には、ユーザーがアクセス許可を行った際にデバイス名称の登録を行った登録名称（図８の例では「業務Ａ用レーザープリンター」）を表示する。これにより、ＵＳＢデバイスを一意に特定し、制御している対象のデバイスを間違えてしまうことを抑制できる。
その他、このプリントアプリケーションの画面８００では、印刷における縦・横の設定や、用紙サイズ、ページレイアウトなども設定することができる。
【００７４】
＜ブラウザー画面構成３＞
図９は、第１実施形態におけるブラウザー４２５上でＷｅｂサーバー１０１から取得したＷｅｂアプリケーションの実行・表示例を示す図である。ここでは、図６のＳ６１１でアクセス許可を発行したが、productNameからは選択されたデバイスを一意に特定できないケースに関する例に対応する。
【００７５】
コンピューター１０２に同一製品のＵＳＢデバイスが複数接続されていて、ユーザーによるデバイス名称登録が行われていない場合には、図６のＳ６１０で表示される接続許可プロンプトでは、画面９００のように、同じ製品名が接続許可プロンプトに列挙される。この時、ユーザーは、ＵＳＢデバイスを特定できないため、どちらかのＵＳＢデバイスを選択し「接続」ボタン５０４を押下することになる。
【００７６】
「接続」ボタン５０４が押下され、ブラウザー４２５は、選択肢として表示しているproductNameだけでは一意に特定できないことを検知すると、９１０のようなダイアログを表示し、ユーザーに不要なデバイスを切断するように促す（画面９１０）。
画面９１０では、プロンプト９１１を表示して、ユーザーに対して不要なデバイスの切断を要求する。ブラウザー４２５は、ＵＳＢデバイスの切断イベント（disconnect event）を取得すると、デバイスが一意に特定できるようになったか確認する。そして、ユーザーがアクセス許可するとして選択したデバイスが一意に特定できるようになると、ブラウザー４２５は、図５の画面５１０のように、デバイスに識別名の登録設定を行うためのプロンプト５１１を表示する。
【００７７】
以上のように、本実施形態では、ＵＳＢ（又はＢｌｕｅｔｏｏｔｈ）で複数の同じ製品のデバイスが接続されているコンピューターから特定のデバイスを利用したい場合であっても、ユーザーが容易にデバイスを識別して利用可能できる。
【００７８】
〔第２実施形態〕
図１０（ａ）は、第２実施形態においてコンピューター１０２に同一製品のデバイスが複数接続している場合の識別方法を説明する図である。
画面１０００に示す例は、接続許可プロンプト５０２の接続先デバイス選択肢に、製品名とともにＵＳＢのシリアル番号を出力している。ブラウザー４２５は、ＵＳＢのString DescriptorよりserialNumberを取得し、productName等とともに出力することにより、この接続先デバイス選択肢１００１の出力を実現している。
【００７９】
以下、具体例を用いて説明する。
１００１の例では、productName等に基づく製品名が「Caxxn Color Laser Printer Model 9」、serialNumberに基づくシリアル番号が「82134d2db3f6」のデバイスが選択肢として表示されている。また、１００２の例では、productName等に基づく製品名が「Caxxn Color Laser Printer Model 9」、serialNumberに基づくシリアル番号が「92142b2311ab」のデバイスが選択肢として表示されている。
【００８０】
以上のように、第２実施形態によれば、製品名とともにＵＳＢのシリアル番号を出力しているため、製品名が同じであっても、ユーザーは、それぞれ異なるデバイスが接続されていることを容易に把握することが可能になる。また、ユーザーは、ＯＳのデバイスマネージャーから、コンピューター１０２上のどこのポートに接続しているデバイスに表示されているシリアル番号が付与されているかを確認できるため、識別が可能となる。
【００８１】
〔第３実施形態〕
図１０（ｂ）は、第３実施形態においてコンピューター１０２に同一製品のデバイスが複数接続している場合の識別方法を説明する図である。
第３実施形態では、ＵＳＢデバイスに所定の動作を実行させるためのusb.notify( )のような処理命令を予め実装しておく。さらに、画面１０１０の１０１１，１０１２に示すように、接続許可プロンプト５０２に製品名とともに「確認」ボタン１０９９を用意する。「確認」ボタン１０９９は、対応する接続デバイスに通知動作を指示するための指示部である。ユーザーがこの「確認」ボタン１０９９を押下すると、ブラウザー４２５は、押下された「確認」ボタン１０９９に対応するＵＳＢデバイスに対して、usb.notify( )の通知コマンドを発行するために、ＯＳ４２２に処理を依頼する。これにより、ＯＳ４２２から、指定されたデバイスに通知処理が実行され、ＬＥＤ等の発光部を有しているデバイスであれば該発光部が所定の形態で発光（例えば点滅など）する。また、表示部を有しているデバイスであれば、該表示部に所定の表示（例えばメッセージ表示等）が行われる。また、スピーカーを有しているデバイスであれば、該スピーカーから所定の音（ビープ音等）が発生される。ブラウザー４２５がusb.notify( )を実行することにより、対応するデバイスが、その他の何らかの通知動作を行うものであればよい。以上のようなデバイスの通知動作を「確認」ボタン１０９９を押下したユーザーが確認することで、該ユーザーが、対象のデバイスがどのデバイスなのかを五感等により物理的に識別できる仕組みを有する構成であればよい。
【００８２】
＜シーケンス図＞
図１１は、第３実施形態における図１０（ｂ）の「確認」ボタン１０９９を押下した際の処理を説明するシーケンス図である。なお、図６のＳ６０１〜Ｓ６０９のように、第１実施形態と同様のシーケンスについては図示を省略してある。
【００８３】
図６のＳ６０９でＯＳ４２２から返された情報に基づいて、ブラウザー４２５は、ブラウザー画面上に、ＵＳＢデバイスの情報と図１０（ｂ）の１０１１，１０１２のような「確認」ボタン１０９９を有する選択肢を含む接続許可のプロンプト５０２を表示する（Ｓ１１０１）。
上記Ｓ１１０１の表示があると、ユーザーは、プロンプト５０２からＷｅｂアプリケーション４２６がどのＵＳＢデバイスにアクセスすることを許可するか判断する。この際、接続されているデバイスを一意に特定できる場合と、一意に特定できない場合とに分けて説明する。
【００８４】
＜接続されているデバイスを一意に特定できる場合＞
コンピューターに同一製品が複数接続されておらず、識別が可能な場合、ユーザーは、選択肢の中からアクセス許可するデバイス１０３を選択し、アクセス許可の発行を行う（Ｓ１１０２）。
上記Ｓ１１０２の操作に応じて、ブラウザー４２５は、今後同一製品が同時に接続された場合に識別できるように該選択されたデバイスに名称登録するためのプロンプト（例えば図５の５１１のようなプロンプト）を表示する（Ｓ１１０３）。
上記Ｓ１１０３のプロンプト表示に応じて、ユーザーは、デバイスの名称登録するためのプロンプトにおいてデバイス名称の登録操作を行う（Ｓ１１０４）。
【００８５】
上記Ｓ１１０４のデバイス名称登録操作に応じ、ブラウザー４２５は、USBPermissionStorageに、Ｗｅｂアプリケーションサーバー４１１のドメイン名称と、AllowedUSBDeviceと、デバイス名称を保存する（Ｓ１１０５）。なお、AllowedUSBDeviceの情報としては、idVendor、idProduct及びserialNumberの情報が保存される。
【００８６】
＜接続されているデバイスを一意に特定できない場合＞
コンピューターに同一製品が複数接続されており識別が難しい場合、ユーザーは表示されたプロンプトから任意の「確認」ボタン１０９９を押下する（Ｓ１１１１）。
「確認」ボタン１０９９の押下を受けたブラウザー４２５は、該「確認」ボタン１０９９に対応するＵＳＢデバイスに対して、usb.notify( )の通知コマンドを発行するために、ＯＳ４２２に処理を依頼する（Ｓ１１１２）。
【００８７】
上記Ｓ１１１２の処理依頼を受けたＯＳ４２２は、指定されたデバイス１０３に対して通知処理を実行する（Ｓ１１１３）。
上記Ｓ１１１３の通知処理を受けたデバイス１０３は、通知の処理を実行する。例えば、このシーケンス例では、ＬＥＤを有しているデバイスとしており、ＬＥＤを３秒間点滅させる処理を行っている（Ｓ１１１４）。
【００８８】
上記Ｓ１１１４の処理を完了すると、デバイス１０３は、ＯＳ４２２に対して成功応答を返す（Ｓ１１１５）。
上記Ｓ１１１５の成功応答を受けたＯＳ４２２は、ブラウザー４２５に対して成功応答を返す（Ｓ１１１６）。
このようにすることで、ユーザーは、「確認」ボタン１０９９を押下したデバイスが物理的にどのデバイスであるのかを識別できるようになる。
【００８９】
上述のようにデバイスを識別した後、ユーザーは、選択肢の中からアクセス許可するデバイス１０３を選択し、アクセス許可の発行を行う（Ｓ１１１７）。
上記Ｓ１１１７の操作に応じて、ブラウザー４２５は、今後同一製品が同時に接続された場合に識別できるように該選択されたデバイスに名称登録するためのプロンプト（例えば図５の５１１のようなプロンプト）を表示する（Ｓ１１１８）。
上記Ｓ１１１８のプロンプト表示に応じて、ユーザーは、デバイスの名称登録するためのプロンプトにおいてデバイス名称の登録操作を行う（Ｓ１１１９）。
【００９０】
上記Ｓ１１１９のデバイス名称登録操作に応じ、ブラウザー４２５は、USBPermissionStorageに、Ｗｅｂアプリケーションサーバー４１１のドメイン名称と、AllowedUSBDeviceと、デバイス名称を保存する（Ｓ１１２０）。なお、AllowedUSBDeviceの情報としては、idVendor、idProduct及びserialNumberの情報が保存される。
【００９１】
上記Ｓ１１０５又はＳ１１２０の処理の後、ブラウザー４２５は、Ｗｅｂアプリケーション４２６に対し、上記Ｓ６１１で選択操作されたＵＳＢデバイスへのアクセスを許可する（Ｓ１１２１）。図示しないが、この後、Ｗｅｂアプリケーション４２６は、例えば、ＷｅｂＵＳＢを利用してユーザーにＵＳＢデバイスの機能を提供するための画面（例えば図８の８００のような画面）をブラウザー４２５に表示する。
【００９２】
以上のように、第３実施形態によれば、ユーザーの確認操作に応じて、実施にＵＳＢデバイスに通知動作を行わせることにより、製品名が同じであっても、ユーザーは、それぞれのデバイスを容易に識別可能となる。
【００９３】
各実施形態によれば、ＷｅｂＵＳＢ（又はＷｅｂＢｌｕｅｔｏｏｔｈ）の技術で、ＵＳＢ（又はＢｌｕｅｔｏｏｔｈ）デバイスへのアクセス許可を発行する際、コンピューターに複数の同一製品が接続されている場合でも、それらを識別可能に表示できる。また、Ｗｅｂアプリケーションを利用している間にも、対象のＵＳＢ（又はＷｅｂＢｌｕｅｔｏｏｔｈ）デバイスを識別し制御することができ、誤った処理が実行されることを抑えることができる。
なお、上述の説明では、コンピューター１０２とデバイスとの接続がＵＳＢ（又はＢｌｕｅｔｏｏｔｈ）接続されるデバイスの場合について説明した。しかし、コンピューター１０２とデバイスとの接続は、ＵＳＢ又はＢｌｕｅｔｏｏｔｈに限定されるものではなく、同様の他の規格に基づく接続であっても同様に本発明は適用可能である。
以上のように、複数の同じ製品のデバイスが接続されているコンピューター上で、ウェブアプリケーションから特定のデバイスを利用したい場合でも、容易にそのデバイスを識別して利用することが可能となる。
【００９４】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施形態を組み合わせた構成も全て本発明に含まれるものである。
【００９５】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施形態の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施形態及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
【図１】
2020144406.tif 000003
【図２】
2020144406.tif 000004
【図３】
2020144406.tif 000005
【図４】
2020144406.tif 000006
【図５】
2020144406.tif 000007
【図６】
2020144406.tif 000008
【図７】
2020144406.tif 000009
【図８】
2020144406.tif 000010
【図９】
2020144406.tif 000011
【図１０】
2020144406.tif 000012
【図１１】
2020144406.tif 000013