(57)【特許請求の範囲】
【請求項１】
デバイスドライバ手段と、
オペレーティングシステム手段と、
を有し、
前記デバイスドライバ手段は、
前記デバイスドライバ手段のインストールの際に前記オペレーティングシステム手段に既に登録されている登録済みデバイスドライバ手段を列挙する列挙手段と、
前記列挙手段で列挙された登録済みデバイスドライバ手段に、前記デバイスドライバ手段のポートと一致するポートの登録済みデバイスドライバ手段が存在するか否かを判定する判定手段と、
前記判定手段で、前記列挙手段で列挙された登録済みデバイスドライバ手段に、前記デバイスドライバ手段のポートと一致するポートの登録済みデバイスドライバ手段が存在しないと判定された場合、前記列挙手段で列挙された登録済みデバイスドライバ手段のデバイスのうち、前記デバイスドライバ手段のデバイスと一致する機種名のデバイスから個体識別番号を取得し、取得した個体識別番号が前記デバイスドライバ手段のデバイスの個体識別番号と一致するか否かを判定する一致判定手段と、
前記一致判定手段で、前記取得した個体識別番号が前記デバイスドライバ手段のデバイスの個体識別番号と一致すると判定された場合、前記デバイスドライバ手段のデバイスと個体識別番号が一致したデバイスの登録済みデバイスドライバ手段が存在すると判定された場合、前記登録済みデバイスドライバ手段のドライバの種類とドライバ名とを記憶装置に記憶する記憶手段と、
を有し、
前記オペレーティングシステム手段は、
デバイスステージに表示される、前記デバイスステージに関連付けられているデバイスドライバ手段のデバイスを表すカスタムオブジェクトから起動されるデバイス詳細ページに表示する、前記カスタムオブジェクトが表すデバイスが提供する機能へのリンクを表すタスクのリストを列挙するタスク列挙手段と、
前記タスク列挙手段で列挙されたタスクに係るデバイスに、前記記憶手段で記憶装置に記憶されたドライバの種類と一致する種類のデバイスが存在する場合、前記カスタムオブジェクトが表すデバイスが提供する機能へのリンクを表すタスクを前記デバイス詳細ページに表示する表示手段と、
を有する、情報処理装置。
【請求項２】
前記デバイスドライバ手段は、
前記記憶手段で記憶装置にドライバの種類とドライバ名とを記憶したデバイスドライバのステータスをオフラインに変更する変更手段を更に有し、
前記オペレーティングシステム手段は、
前記デバイスステージを表示する際に、前記デバイスステージと関連付けられているデバイスドライバ手段のステータスがオフラインの場合、前記デバイスドライバ手段のデバイスを表すカスタムオブジェクトを非表示にする非表示手段を更に有し、
前記タスク列挙手段は、前記デバイスステージと関連付けられているデバイスドライバ手段のステータスがオフラインでない場合、デバイスステージに表示されているデバイスを表すカスタムオブジェクトから起動されるデバイス詳細ページに表示する、前記カスタムオブジェクトが表すデバイスが提供する機能へのリンクを表すタスクのリストを列挙する、請求項１記載の情報処理装置。
【請求項３】
前記デバイスドライバ手段は、前記デバイスドライバ手段のアンインストールの際に、前記記憶手段で記憶装置に記憶したドライバの種類とドライバ名とを前記記憶装置から削除する削除手段を更に有する、請求項１又は２記載の情報処理装置。
【請求項４】
デバイスドライバ手段と、オペレーティングシステム手段と、を有する情報処理装置における情報処理方法であって、
前記デバイスドライバ手段が、前記デバイスドライバ手段のインストールの際に前記オペレーティングシステム手段に既に登録されている登録済みデバイスドライバ手段を列挙する列挙ステップと、
前記デバイスドライバ手段が、前記列挙ステップで列挙された登録済みデバイスドライバ手段に、前記デバイスドライバ手段のポートと一致するポートの登録済みデバイスドライバ手段が存在するか否かを判定する判定ステップと、
前記デバイスドライバ手段が、前記列挙ステップで列挙された登録済みデバイスドライバ手段に、前記デバイスドライバ手段のポートと一致するポートの登録済みデバイスドライバ手段が存在しないと判定された場合、前記列挙ステップで列挙された登録済みデバイスドライバ手段のデバイスのうち、前記デバイスドライバ手段のデバイスと一致する機種名のデバイスから個体識別番号を取得し、取得した個体識別番号が前記デバイスドライバ手段のデバイスの個体識別番号と一致するか否かを判定する一致判定ステップと、
前記デバイスドライバ手段が、前記一致判定ステップで、前記取得した個体識別番号が前記デバイスドライバ手段のデバイスの個体識別番号と一致すると判定された場合、前記デバイスドライバ手段のデバイスと個体識別番号が一致したデバイスの登録済みデバイスドライバ手段が存在すると判定された場合、前記登録済みデバイスドライバ手段のドライバの種類とドライバ名とを記憶装置に記憶する記憶ステップと、
を含み、
前記オペレーティングシステム手段が、デバイスステージに表示される、前記デバイスステージに関連付けられているデバイスドライバ手段のデバイスを表すカスタムオブジェクトから起動されるデバイス詳細ページに表示する、前記カスタムオブジェクトが表すデバイスが提供する機能へのリンクを表すタスクのリストを列挙するタスク列挙ステップと、
前記オペレーティングシステム手段が、前記タスク列挙ステップで列挙されたタスクに係るデバイスに、前記記憶ステップで記憶装置に記憶されたドライバの種類と一致する種類のデバイスが存在する場合、前記カスタムオブジェクトが表すデバイスが提供する機能へのリンクを表すタスクを前記デバイス詳細ページに表示する表示ステップと、
を含む、情報処理方法。
【請求項５】
コンピュータを、
デバイスドライバ手段と、
オペレーティングシステム手段と、
して機能させるプログラムであって、
前記デバイスドライバ手段は、
前記デバイスドライバ手段のインストールの際に前記オペレーティングシステム手段に既に登録されている登録済みデバイスドライバ手段を列挙する列挙手段と、
前記列挙手段で列挙された登録済みデバイスドライバ手段に、前記デバイスドライバ手段のポートと一致するポートの登録済みデバイスドライバ手段が存在するか否かを判定する判定手段と、
前記判定手段で、前記列挙手段で列挙された登録済みデバイスドライバ手段に、前記デバイスドライバ手段のポートと一致するポートの登録済みデバイスドライバ手段が存在しないと判定された場合、前記列挙手段で列挙された登録済みデバイスドライバ手段のデバイスのうち、前記デバイスドライバ手段のデバイスと一致する機種名のデバイスから個体識別番号を取得し、取得した個体識別番号が前記デバイスドライバ手段のデバイスの個体識別番号と一致するか否かを判定する一致判定手段と、
前記一致判定手段で、前記取得した個体識別番号が前記デバイスドライバ手段のデバイスの個体識別番号と一致すると判定された場合、前記デバイスドライバ手段のデバイスと個体識別番号が一致したデバイスの登録済みデバイスドライバ手段が存在すると判定された場合、前記登録済みデバイスドライバ手段のドライバの種類とドライバ名とを記憶装置に記憶する記憶手段と、
を有し、
前記オペレーティングシステム手段は、
デバイスステージに表示される、前記デバイスステージに関連付けられているデバイスドライバ手段のデバイスを表すカスタムオブジェクトから起動されるデバイス詳細ページに表示する、前記カスタムオブジェクトが表すデバイスが提供する機能へのリンクを表すタスクのリストを列挙するタスク列挙手段と、
前記タスク列挙手段で列挙されたタスクに係るデバイスに、前記記憶手段で記憶装置に記憶されたドライバの種類と一致する種類のデバイスが存在する場合、前記カスタムオブジェクトが表すデバイスが提供する機能へのリンクを表すタスクを前記デバイス詳細ページに表示する表示手段と、
を有する、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
近年、ＰＣに接続することができるデバイスは増加の一方である。従来、ＰＣに接続することができるデバイスは、キーボードやマウス等の入力装置と、プリンタやディスプレイ等の出力装置とだけだった。しかし、ＵＳＢメモリやＳＤカード等の外部記憶装置や、カメラやマイク、携帯電話等のデバイスまでＰＣに接続することができるようになっている。更に、ＬＡＮやＷＡＮ等の広域のネットワークを通じても、ＵＰｎＰやＷＳＤ（Ｗｅｂ  Ｓｅｒｖｉｃｅ  Ｏｎ  Ｄｅｖｉｃｅｓ）、Ｂｏｎｊｏｕｒ等の技術で、デバイスがＰＣに接続することができるようになってきた。
このように多数のデバイスが接続されている環境で、ＰＣに接続されているデバイスの一覧がツリー上に表示されているだけでは、ユーザは、実際にどのデバイスがどのように接続されているのかが簡単には分からなかった。特にオフィス環境におけるプリンタは、ＰＣに複数台接続されていても全て同じアイコンで表示され、ユーザは、アイコンを見ただけではどのアイコンが出力先として選択したプリンタなのかが分からなかった。複数のＵＳＢメモリを接続したときも、ユーザは、どのＵＳＢメモリがどのドライブに割り当てられるのかが分からなかった。
このデバイスの接続形態が分かりにくい問題を回避するために、過去に様々な技術が提案されている。例えば、プリンタの現在の状態をＰＣに送信し、その状態によってアイコンを変更することで、紙切れやインク・トナー切れ等のエラー情報をわかりやすくした技術がある（特許文献１）。
【０００３】
Ｗｉｎｄｏｗｓ（登録商標）７では、デバイスステージと呼ばれる新しいユーザインターフェースが追加された（非特許文献１）。デバイスステージは、ＰＣに接続している全てのデバイスをアイコンで一覧表示する「デバイスとプリンタ」のギャラリービューと、それぞれのデバイスに特化したポータルサイトを表示するデバイス詳細ページとからなる。「デバイスとプリンタ」のギャラリービューでは、ＰＣに接続されている全てのデバイスが、それぞれの形状や色を模したカスタムアイコンで表示され、ユーザにとって視認性が高い。また、デバイスステージにおいてユーザが、それぞれのアイコンをクリックするとデバイス詳細ページのポータルサイトが表示される。ポータルサイトではカスタムアイコンやデバイスのステータス情報、メーカーのロゴが表示され、タスクと呼ばれる様々なデバイス機能へのリンクが表示される。オンラインマニュアルやデバイスオプションの購入ページへのリンクだけでなく、プリンタの印刷設定やスキャナ画像の取り込み等、デバイスの機能や付属のアプリケーションやユーティリティへのリンクも存在する。
このような技術によって、ＰＣに複数のデバイスが接続されているときに、アイコンが複雑化せずに、デバイスを特定でき、ユーザが機能を使用する際に迷わないようになっている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平８−２７８８６８号公報
【非特許文献】
【０００５】
【非特許文献１】"ｏｎｌｉｎｅ"、平成２０年１２月５日、［平成２１年８月２８日検索］、インターネット＜ｈｔｔｐ：／／ｗｗｗ．ｍｉｃｒｏｓｏｆｔ．ｃｏｍ／ｊａｐａｎ／ｗｈｄｃ／ｄｅｖｉｃｅ／ＤｅｖｉｃｅＥｘｐｅｒｉｅｎｃｅ／ＭｆｐＤｅｖＥｘｐ．ｍｓｐｘ＞
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、Ｗｉｎｄｏｗｓ７のデバイスステージでは、一台で複数の機能を持つ複合機のときに、それぞれの機能ごとにデバイス詳細ページが作成されることがある。ＰＣは、デバイスが接続され、プラグアンドプレイで自動認識するときは、デバイスの機能をグルーピングするＩＤにより、複数の機能を持つ複合機であっても一つのデバイスとして認識し、複合機の全ての機能へのリンクを持つデバイス詳細ページを１つ作成する。しかし、ＰＣは、デバイスが接続された際に手動で接続先が指定され、デバイスドライバをインストールするときは、機能ごとにデバイス詳細ページを作成することがある。これはデバイス詳細ページがデバイスドライバに関連づけられて作成されるためである。つまり、スキャナとプリンタとＦＡＸとでデバイスドライバが別になると、デバイス詳細ページがそれぞれ別々に作成される。更にプリンタ機能であっても、１台のデバイスでＰＤＬ（プリンタのページ記述言語）ごとにそれぞれドライバが異なると、更に複数のデバイス詳細ページが作成される。この状態になると、デバイス詳細ページのポータルサイト上からリンクされる機能が、スキャナドライバと連携する場合はスキャナ機能のみ、プリンタドライバと連携する場合はプリンタ機能のみの表示となってしまう。
【０００７】
本発明は、複数の機能を提供する装置をＰＣ等に接続する際に接続先が同一機種であればデバイスステージのデバイス詳細ページ上で前記装置の全ての機能へのリンクを使用可能にする技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
そこで、本発明の情報処理装置は、デバイスドライバ手段と、オペレーティングシステム手段と、を有し、前記デバイスドライバ手段は、前記デバイスドライバ手段のインストールの際に前記オペレーティングシステム手段に既に登録されている登録済みデバイスドライバ手段を列挙する列挙手段と、前記列挙手段で列挙された登録済みデバイスドライバ手段に、前記デバイスドライバ手段のポートと一致するポートの登録済みデバイスドライバ手段が存在するか否かを判定する判定手段と、前記判定手段で、前記列挙手段で列挙された登録済みデバイスドライバ手段に、前記デバイスドライバ手段のポートと一致するポートの登録済みデバイスドライバ手段が存在しないと判定された場合、前記列挙手段で列挙された登録済みデバイスドライバ手段のデバイスのうち、前記デバイスドライバ手段のデバイスと一致する機種名のデバイスから個体識別番号を取得し、取得した個体識別番号が前記デバイスドライバ手段のデバイスの個体識別番号と一致するか否かを判定する一致判定手段と、前記一致判定手段で、前記取得した個体識別番号が前記デバイスドライバ手段のデバイスの個体識別番号と一致すると判定された場合、前記デバイスドライバ手段のデバイスと個体識別番号が一致したデバイスの登録済みデバイスドライバ手段が存在すると判定された場合、前記登録済みデバイスドライバ手段のドライバの種類とドライバ名とを記憶装置に記憶する記憶手段と、を有し、前記オペレーティングシステム手段は、デバイスステージに表示される、前記デバイスステージに関連付けられているデバイスドライバ手段のデバイスを表すカスタムオブジェクトから起動されるデバイス詳細ページに表示する、前記カスタムオブジェクトが表すデバイスが提供する機能へのリンクを表すタスクのリストを列挙するタスク列挙手段と、前記タスク列挙手段で列挙されたタスクに係るデバイスに、前記記憶手段で記憶装置に記憶されたドライバの種類と一致する種類のデバイスが存在する場合、前記カスタムオブジェクトが表すデバイスが提供する機能へのリンクを表すタスクを前記デバイス詳細ページに表示する表示手段と、を有する。
【発明の効果】
【０００９】
本発明によれば、複数の機能を提供する装置をＰＣ等に接続する際に接続先が同一機種であればデバイスステージのデバイス詳細ページ上で前記装置の全ての機能へのリンクを使用可能にする技術を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】クライアントの一例としてコンピュータを用いたシステム構成の一例を示す図である。
【図２】ネットワークの環境の一例を簡略的に示す図である。
【図３】デバイスステージのユーザインターフェースの一例を示す図である。
【図４】デバイスステージのユーザインターフェースの一例を示す図である。
【図５】ＰａｃｋａｇｅＩｎｆｏ．ｘｍｌの一例を示す図である。
【図６】ＤｅｖｉｃｅＩｎｆｏ．ｘｍｌの一例を示す図である。
【図７】ＷｉｎｄｏｗｓＩｎｆｏ．ｘｍｌの一例を示す図である。
【図８】Ｂｅｈａｖｉｏｒ．ｘｍｌの一例を示す図である。
【図９】Ｔａｓｋｓ．ｘｍｌの一例を示す図である。
【図１０】デバイスドライバのインストールを説明するための図である。
【図１１】実施形態１のデバイスドライバのインストール処理の一例を示すフローチャートである。
【図１２】レジストリの設定値の構成の一例を示す図である。
【図１３】デバイスステージにタスクを表示する処理の一例を示すフローチャートである。
【図１４】Ｔａｓｋｓ．ｘｍｌに記載された１つのタスクを示す図である。
【図１５】実施形態１のデバイスドライバのアンインストール処理の一例を示すフローチャートである。
【図１６】実施形態２のデバイスドライバのインストール処理の一例を示すフローチャートである。
【図１７】実施形態２のデバイスドライバのアンインストール処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について図面に基づいて説明する。
【００１２】
図１は、クライアント（情報処理装置）の一例としてコンピュータを用いたシステム構成の一例を示す図である。尚、特に断らない限り、本実施形態の機能が実行されるのであれば、単体の装置であっても、複数の装置からなるシステムであっても、ネットワークを介して接続がなされ処理が行われるシステムであってもよい。
ＣＰＵ１０１は、主記憶装置１０２のＲＯＭ１０２１或いはＲＡＭ１０２２或いは補助記憶装置１０５に格納されたプログラムに従って装置全体の制御を行う。ＲＡＭ１０２２は、ＣＰＵ１０１が各種処理を行う際のワークエリアとしても使用される。補助記憶装置１０５は、オペレーティングシステム（ＯＳ）１０５４やアプリケーションソフト１０５１等を記録する。キーボード１０３１やマウス・タッチパネル等に代表されるポインティングデバイス１０３２等の入力機器は、入力Ｉ／Ｆ１０３を通じて、ユーザがコンピュータに対して各種指示を与えるためのデバイスである。出力Ｉ／Ｆ１０４は、データを外部に出力するためのインタフェースであり、モニタ１０４１やプリンタ１０４２等の出力機器に対してデータを出力する。コンピュータは、プリンタ１０４２と、直接接続されるローカルＩ／Ｏのみならず、通信Ｉ／Ｆ１０６を通じて接続されるネットワーク１０６１を通して接続されていてもよい。また、１０７は、共通データシステムバスで、上述したコンピュータの各構成要素間のデータのやりとりを行う。
ＣＰＵ１０１が、プログラムに基づいて処理を実行することによって、後述するクライアントの機能及びクライアントによるフローチャートに係る処理が実現される。
【００１３】
図２は、ネットワーク１０６１の環境の一例を簡略的に示す図である。印刷を行う文書や画像を作成するクライアント２０１／２０２が単体若しくは複数、ネットワークに接続されている。また、ネットワーク１０６１には、プリンタを管理するサーバーコンピュータ２０３が接続されていることもある。プリンタ２０４／２０５が単体若しくは複数ネットワークに接続されており、プリンタ２０５のように物理的に接続されていても実際には使用できないオフライン状態であることもある。ネットワークにはＰＡＮ、ＬＡＮ、ＭＡＮ、ＷＡＮ等の小規模から大規模までのネットワークがあり、これらの機器が全てのネットワークに接続されている。クラウド等、サーバーやプリンタがインターネットを越えて接続されていてもよい。尚、ＰＡＮとは、Ｐｅｒｓｏｎａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋの略である。ＬＡＮとは、Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋの略である。ＭＡＮとは、Ｍｅｔｒｏｐｏｌｉｔａｎ  Ａｒｅａ  Ｎｅｔｗｏｒｋの略である。ＷＡＮとは、Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋの略である。
【００１４】
図３及び図４は、デバイスステージのユーザインターフェースの一例を示す図である。図３に示されているユーザインターフェース（画面）は、クライアントに接続している全てのデバイスを一覧表示する「デバイスとプリンタ」のギャラリービューである。各デバイスは、大きなカスタムアイコンでデバイスの形状や色を模しており、ユーザへ視覚的に訴えることで、接続されているデバイスがより分かりやすくなっている。尚、カスタムアイコンは、カスタムオブジェクトの一例である。
クライアントにデバイスが接続されており、デバイスドライバ１０５３がインストールされていると、アイコンが表示される。デバイスドライバ１０５３は、デバイスをクライアントから制御するために必要なモジュールである。ＯＳ１０５４は、デバイスの種類ごとにデフォルトのアイコンを用意している。
デバイスドライバ１０５３にデバイスステージメタデータパッケージ１０５２が関連づけられていると、デバイスドライバ１０５３のインストール時にデバイスステージがクライアントにインストールされる。そして、個々のデバイスの形状にそったカスタムアイコンを表示することができるようになる。デバイスステージは、ポータルサイトの挙動を記載したＸＭＬ等のメタデータとアイコンやビットマップ等のリソースとが１つの圧縮ファイルにパッケージングされている。これをデバイスステージメタデータパッケージ１０５２と呼ぶ。デバイスステージやデバイスステージメタデータパッケージ１０５２もデバイスドライバ１０５３と同様に、補助記憶装置１０５に保持される。
デバイスを動作させるのに必要なデバイスドライバ１０５３をインストールするときに、プラグアンドプレイＩＤと関連づけてデバイスステージメタデータパッケージ１０５２がインストールされる。したがって、１つのデバイスステージメタデータパッケージ１０５２には必ず１つのデバイスドライバ１０５３が関連づけられている。
【００１５】
図４に示されているユーザインターフェース（画面）は、「デバイスとプリンタ」ギャラリービューのアイコンから起動される、デバイス詳細ページのポータルサイトである。ポータルサイトは大きく２つの領域に分類される。デバイス名４０１、デバイスの状態を表示するデバイスステータス４０２、メーカーのロゴ４０３、デバイスのカスタムアイコン４０４を表示するブランディングバー領域と、タスクへのリンク４０５領域と、である。タスクとは、ポータルサイトからリンクするデバイス機能のことで、オンラインマニュアルやデバイスオプションの購入ページへのリンクが主である。しかし、プリンタの印刷設定やスキャナ画像の取り込み等、デバイスの機能や付属のアプリケーション、ユーティリティへのリンクもタスクとして記述することができる。プリンタでは印刷に関するタスクしか存在しないが、複合機では印刷だけでなくＦＡＸやスキャナに関するタスクもポータルサイトに同時に表示される。
【００１６】
図５、６、７、８、９は、デバイスステージメタデータパッケージ１０５２に含まれる、デバイスステージを構成するためのＸＭＬファイルの一例を示す図である。図５のＰａｃｋａｇｅＩｎｆｏ．ｘｍｌには、デバイスステージメタデータパッケージがどのように構成されているかが記載されている、全体を管理しているＸＭＬファイルである。より具体的に説明すると、ＰａｃｋａｇｅＩｎｆｏ．ｘｍｌには、デバイスドライバ１０５３と関連づけを行うためのハードウェアＩＤや、ロケール情報等が記載されている。ＰａｃｋａｇｅＩｎｆｏ．ｘｍｌの情報を基にＯＳ１０５４は、パッケージに含まれるデータからデバイスステージの画面を構築する。
図６のＤｅｖｉｃｅＩｎｆｏ．ｘｍｌには、ターゲットとなるデバイスの情報が記載されている。より具体的に説明するとＤｅｖｉｃｅＩｎｆｏ．ｘｍｌには、デバイスの種別を表すカテゴリや、デバイスのモデル名やメーカー名等が記載されている。複合機の場合、ＤｅｖｉｃｅＩｎｆｏ．ｘｍｌには、カテゴリにプリンタとＦＡＸとスキャナとの３つに関する記載がある。
図７のＷｉｎｄｏｗｓＩｎｆｏ．ｘｍｌは、ＯＳ１０５４に対してデバイスステージの構成を知らせるためのファイルである。図８と図９とは、デバイスステージのデバイス詳細ページのポータルサイトを構成するための情報が記載されたファイルである。図８のＢｅｈａｖｉｏｒ．ｘｍｌには、デバイス詳細ページのブランディングバーのレイアウトがどのように構成されるかが記載されている。より具体的に説明するとＢｅｈａｖｉｏｒ．ｘｍｌには、デバイスステータス４０２として何を表示するか、メーカーのロゴ４０３やデバイスのカスタムアイコン４０４等のアイコンファイル名、どのようなタスクのリンク４０５があるのか等が記載されている。ＯＳ１０５４は、デバイスステージメタデータパッケージ内に含まれているファイル名を指定することで、パッケージ内のアイコンファイルを表示する。図９のＴａｓｋｓ．ｘｍｌは、タスクのリンク４０５をクリックしたときにどのような挙動をするのかが記載されたファイルである。より具体的に説明すると、Ｔａｓｋｓ．ｘｍｌには、起動するプログラムの指定や、リンク先のＵＲＬ等が記載されている。
これらの５種類のＸＭＬファイルと、アイコンファイルやビットマップ等のリソースデータを、圧縮して１つのファイルにまとめたものがデバイスステージメタデータパッケージ１０５２となる。
【００１７】
図１０は、デバイスドライバのインストールを説明するための図である。ＯＳ１０５４に含まれるモジュールが、デバイスごとに提供されるデバイスドライバのインストールを行っている。まず、ＰＣに接続されているデバイスの一覧を表示するデバイスマネージャ１００１や、ハードウェアの追加ウィザード１００２が、デバイスドライバ１０５３のインストールの処理を開始する。特にプリンタドライバをインストールする際は、ハードウェアの追加ウィザード１００２のプリンタ版ともいえる専用のプリンタの追加ウィザードが処理を行う。尚、以下ではハードウェアの追加ウィザード１００２を単に追加ウィザード１００２という。
インストールでは、追加ウィザード１００２は、まず対話形式のユーザインターフェースを表示する。そして追加ウィザード１００２は、ユーザインターフェースを介してユーザにｉｎｆファイル（Ｄｅｖｉｃｅ  Ｓｅｔｕｐ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｆｉｌｅ）１００５、ドライバの種類・デバイスの機種名・接続先のポート名を選択させる。そして追加ウィザード１００２は、選択された情報に基づき、インストール設定情報を作成する。
ｉｎｆファイル１００５は、デバイスドライバのインストール方法が記載されたファイルで、機種名やプラグアンドプレイＩＤ、モジュール構成等が記載されている。インストール設定情報が作成されると、追加ウィザード１００２が、ＯＳ１０５４のＡＰＩであるＳｅｔｕｐＡＰＩやＣｆｇＭｇｒＡＰＩ１００３を呼び出すことによって、インストール処理を開始する。ここで、ＡＰＩとは、Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅの略である。
【００１８】
ＳｅｔｕｐＡＰＩやＣｆｇＭｇｒＡＰＩ１００３は、インストール設定情報に基づきデバイスドライバのｉｎｆファイル１００５を取得する。ＳｅｔｕｐＡＰＩやＣｆｇＭｇｒＡＰＩ１００３は、ｉｎｆファイル１００５をプラグアンドプレイマネージャ１００４に渡して、プラグアンドプレイマネージャ１００４が実際のデバイスドライバ１０５３のインストールを行う。プラグアンドプレイマネージャ１００４は、ｉｎｆファイル１００５から、インストール設定情報のデバイスの機種名を基にプラグアンドプレイＩＤを取得する。
この対話形式のユーザインターフェースに従ってデバイスドライバ１０５３をインストールする方法は手動（マニュアル）インストールと呼ばれる。
他の方法としてＰＣにデバイスを接続して自動的にデバイスドライバ１０５３のインストールを開始するプラグアンドプレイがある。プラグアンドプレイの場合、プラグアンドプレイマネージャ１００４は、手動インストールとは逆にプラグアンドプレイＩＤから機種名を検索する。デバイスを接続すると、プラグアンドプレイマネージャ１００４が、デバイスから会社名を表すＭＦＧの文字列とデバイス名を表すＭＤＬの文字列とを受け取ってプラグアンドプレイＩＤを作成する。作成されたプラグアンドプレイＩＤを基に、プラグアンドプレイマネージャ１００４は、ｉｎｆファイル１００５に記載された同一のプラグアンドプレイＩＤの機種名を探し出す。これがプラグアンドプレイによるデバイスドライバ１０５３のインストールである。
どちらかの方法でｉｎｆファイル１００５を使って機種とプラグアンドプレイＩＤとが特定できた場合、プラグアンドプレイマネージャ１００４は、関連するモジュール構成を読み出しドライバ１００６のパッケージの中から関連するモジュールをインストールする。このとき、プラグアンドプレイマネージャ１００４は、レジストリ１００８に機種名とプラグアンドプレイＩＤとを記載する。
レジストリ１００８は、ＯＳ１０５４の設定値を保存するデータベースであり、名前と型とデータとの３つの組で設定値を保存する。レジストリ１００８には、ＯＳ１０５４を通じて、ＯＳ１０５４自身もデバイスドライバ１０５３からも設定値を読み書き可能である。
【００１９】
以上のＯＳ１０５４のデバイスドライバ１０５３のインストール動作から、機種１つにつき１つのデバイスドライバ１０５３がインストールされることになる。また、プラグアンドプレイＩＤは、デバイスに接続して開始するプラグアンドプレイ動作でなくても、ｉｎｆファイル１００５から取得され、機種名と関連づけられることもできる。
プラグアンドプレイマネージャ１００４は、デバイスドライバ１０５３のインストールが終了すると、次はデバイスステージのインストールを行う。プラグアンドプレイマネージャ１００４は、デバイスステージのインストールデータとして、ＯＳ１０５４のＤｅｖｉｃｅＭｅｔａｄａｔａＳｔｏｒｅフォルダにあるデバイスステージメタデータパッケージ１００７を使って行う。ＤｅｖｉｃｅＭｅｔａｄａｔａＳｔｏｒｅフォルダの中には、既にＯＳ１０５４が持つデバイスステージメタデータパッケージ１００７が存在する。しかし、追加でデバイス特有のデバイスステージメタデータパッケージ１００７をインストールすることもできる。追加には２つの方法がある。
１つは、インストーラやインターネットのサイトからのダウンロードを使用して、ＤｅｖｉｃｅＭｅｔａｄａｔａＳｔｏｒｅフォルダにデバイスステージメタデータパッケージ１００７をコピーする方法である。もう１つは、デバイスドライバのｉｎｆファイル１００５にデバイスステージメタデータパッケージを構成ファイルの１つとして記載しておき、プラグアンドプレイマネージャ１００４がデバイスドライバをインストールする際に、コピーしてもらう方法である。どちらの方法であっても、ＤｅｖｉｃｅＭｅｔａｄａｔａＳｔｏｒｅフォルダにコピーされると、ＯＳ１０５４は、パッケージの圧縮を解凍し、ＤｅｖｉｃｅＭｅｔａｄａｔａフォルダにパッケージの中身のファイルを置く。このファイルは、デバイスステージメタデータキャッシュと呼ばれる。プラグアンドプレイマネージャ１００４は、デバイスステージのインストールを行う際に、ＤｅｖｉｃｅＭｅｔａｄａｔａフォルダのデバイスステージメタデータキャッシュを見て、ＰａｃｋａｇｅＩｎｆｏ．ｘｍｌファイルを取得する。プラグアンドプレイマネージャ１００４は、ＰａｃｋａｇｅＩｎｆｏ．ｘｍｌファイルの中に記載されているモデル名を取得して、現在インストールしているデバイスドライバの機種名と一致するかどうかを判定し、一致するデバイスステージをインストールする。一致するものがなければ、デバイスステージはインストールされず、ＯＳ１０５４が持つデフォルトのアイコンが表示されるのみである。
【００２０】
＜実施形態１＞
次に図１１と図１３とのフローチャートを使用して、実施形態１について説明する。図１１は、デバイスドライバ１０５３のインストール処理の一例を示すフローチャートである。
ＯＳ１０５４は、デバイスドライバ１０５３をインストールする際に、まずはデバイスドライバ１０５３のインストールイベント関数を呼び出す（Ｓ１２０１）。するとデバイスドライバ１０５３は、デバイスと接続するポート名をＯＳ１０５４のＡＰＩを呼び出して取得する（Ｓ１２０２）。次にデバイスドライバ１０５３は、接続しているデバイスから個体識別番号（シリアルナンバー）を取得する（Ｓ１２０３）。これはデバイスに対してコマンドを送付して、デバイスからの返答を受け取る形で取得する。
次にデバイスドライバ１０５３は、ＯＳ１０５４に既に登録されている同じ種類のデバイスドライバを列挙してリストに保存しておく（Ｓ１２０４）。ドライバの種類とは、現在インストールしようとしているデバイスドライバがプリンタドライバならプリンタ、スキャナドライバならスキャナ、ＦＡＸドライバならＦＡＸ等のカテゴリである。尚、次にデバイスドライバ１０５３は、ＯＳ１０５４に既に登録されているデバイスドライバ（登録済みデバイスドライバ）を列挙してリストに保存しておくようにしてもよい。
デバイスドライバ１０５３は、リストにドライバが存在する、つまり既にインストールされたデバイスドライバの中に種類が同一のものがあるか否かを判定する（Ｓ１２０５）。デバイスドライバ１０５３は、リストの先頭からデバイスドライバの名称を取得する（Ｓ１２０６）。デバイスドライバ１０５３は、取得したデバイスドライバの名称からデバイスに接続しているポート名と機種名とを取得する（Ｓ１２０７）。デバイスドライバ１０５３は、ポート名が現在インストールしようとしているデバイスドライバと同一（Ｓ１２０８）、かつ、機種名が同一か否かを判定する（Ｓ１２０９）。デバイスドライバ１０５３は、ドライバ名を取得したデバイスドライバのデバイスに個体識別番号を問い合わせる（Ｓ１２１０）。そして、デバイスドライバ１０５３は、個体識別番号も等しいことを確認する（Ｓ１２１１）。Ｓ１２１１の処理は、一致判定の処理の一例である。デバイスドライバ１０５３は、取得したデバイスドライバから種類を問い合わせる（Ｓ１２１２）。デバイスドライバ１０５３は、取得したデバイスドライバの種類と名称とをセットにしてレジストリ１００８に保存しておく（Ｓ１２１３）。
【００２１】
保存したレジストリ１００８の設定値の構成の一例を示す図が図１２である。レジストリ１００８は、レジストリデータ１７０２とデータをまとめるレジストリフォルダ１７０１とからなる。デバイスドライバ１０５３は、レジストリフォルダ１７０１のデバイスドライバの中に、関連するドライバのデータを保存する。レジストリデータ１７０２は、名前と型とデータとの３つを１組として保存する。デバイスドライバ１０５３は、名前として取得したデバイスドライバ１０５３の種類を、型はデータが文字列であることを示すＲＥＧ＿ＳＺを、データは取得したデバイスドライバの名称を１組ずつ記載する。
そして、デバイスドライバ１０５３は、取得したデバイスドライバのステータスをＯＳ１０５４のＡＰＩを使用してオフラインに変更する（Ｓ１２１４）。デバイスドライバ１０５３は、リストに列挙された次のデバイスドライバを見るために処理済みのデバイスドライバをリストから削除し（Ｓ１２１５）、同様の処理を種類が同一のデバイスドライバ全てに対して行う。終了した場合、デバイスドライバ１０５３は、通常のインストール処理に進み（Ｓ１２１６）、デバイスドライバのインストールを完了する。
【００２２】
デバイスドライバのインストールが完了し、デバイスステージのインストールが終了すると、図１３のデバイスステージにタスクを表示する処理の一例を示すフローチャートに進む。ユーザが「デバイスとプリンタ」ギャラリービューを開くと、ＯＳ１０５４は、デバイスステージのカスタムアイコンの表示のために、デバイスステージメタデータパッケージのファイルを取得する（Ｓ１３０１）。ＯＳ１０５４は、デバイスステージと関連づけられているデバイスドライバ１０５３のステータスを参照し、オフラインかどうかを判定する（Ｓ１３０２）。尚、デバイスステージと関連づけられているデバイスドライバが複数存在する場合、ＯＳ１０５４は、デバイスステージと関連づけられているデバイスドライバの数分、Ｓ１３０２の処理を行う。
Ｓ１３０２の判定の結果、オフラインであった場合は、ＯＳ１０５４は、デバイスステージのカスタムアイコンを非表示にして、「デバイスとプリンタ」ギャラリービューで表示しないようにする（Ｓ１３１０）。アイコンを表示する場合、ＯＳ１０５４は、デバイス詳細ページのポータルサイトを表示するための情報をＢｅｈａｖｉｏｒ．ｘｍｌとＴａｓｋｓ．ｘｍｌとから取得する。その際、ＯＳ１０５４は、タスクへのリンク（タスク）についてはリストとして保持する（Ｓ１３０３）。つまり、ＯＳ１０５４は、タスクのリストを列挙する。Ｓ１３０３の処理は、タスク列挙の処理の一例である。
尚、Ｓ１３０２の判定において、ＯＳ１０５４は、オフライン、かつ、デバイスステージのＷｉｎｄｏｗｓＩｎｆｏ．ｘｍｌのＳｈｏｗＤｅｖｉｃｅＩｎＤｉｓｃｏｎｎｅｃｔｅｄＳｔａｔｅがｆａｌｓｅかどうかを判定するようにしてもよい。そして、ＯＳ１０５４は、オフライン、かつ、デバイスステージのＷｉｎｄｏｗｓＩｎｆｏ．ｘｍｌのＳｈｏｗＤｅｖｉｃｅＩｎＤｉｓｃｏｎｎｅｃｔｅｄＳｔａｔｅがｆａｌｓｅの場合、Ｓ１３１０へ進むようにしてもよい。
図１４は、Ｔａｓｋｓ．ｘｍｌに記載された１つのタスクを示す図である。ＯＳ１０５４は、デバイス詳細ページのポータルサイト画面を構築するのだが、タスクだけはリストを使って処理する。ＯＳ１０５４は、タスクをリストから取り出し（Ｓ１３０５）、タスクにＲｅｑｕｉｒｅｍｅｎｔｓ要素があるとき（Ｓ１３０６）は、記載されたレジストリ１００８を見に行く。Ｒｅｑｕｉｒｅｍｅｎｔｓ要素には、図１１のフローチャートのＳ１２１３で保存されたレジストリ１００８、つまり、デバイスドライバ１０５３がインストール中に記載した図１２の位置が記載されている。これにより、ＯＳ１０５４は、デバイスドライバ１０５３が保存したレジストリ１００８からドライバの種類を読みだすことができる。ＯＳ１０５４は、その種類の中にＲｅｑｕｉｒｅｍｅｎｔｓ要素に記載されたものと同一のものがあれば（Ｓ１３０７）、タスクをデバイス詳細ページに表示して（Ｓ１３０８）、リストから削除する（Ｓ１３０９）。これを繰り返して、リストから全てのタスクの処理を終えたら（Ｓ１３０４）、デバイス詳細ページの表示が完成する。この処理により、デバイスドライバ１０５３が事前に作成したレジストリ１００８を基に、デバイスステージの画面を構築するため、同一ポートに関連付けられた複合機の機能が、プラグアンドプレイに関係なくデバイスドライバ１０５３に応じて表示される。
【００２３】
ユーザが「デバイスとプリンタ」ギャラリービューのアイコンを指定し、デバイスドライバ１０５３を削除する場合、図１５のフローチャートに従ってデバイスドライバ１０５３は動作する。まずＯＳ１０５４は、デバイスドライバ１０５３のアンインストールイベントの関数を呼び出す（Ｓ１４０１）。次にデバイスドライバ１０５３は、記載したレジストリ１００８を全て削除する（Ｓ１４０２）。そして、通常のアンインストール処理が行われ（Ｓ１４０３）、デバイスドライバ１０５３が削除される。レジストリ１００８がなくなっているので、デバイスステージを次に表示した際には、関連する機能のタスクが削除され、使えなくなる。このようにして、デバイスドライバ１０５３とタスクとの関連性が削除時でも保たれる。
本実施形態の処理はプリンタドライバだけでなく、スキャナドライバやＦＡＸドライバ等全てのデバイスドライバ１０５３に適用することができる。また、ポート名だけでデバイスが判別することができる場合は、個体識別番号をデバイスに必ずしも問い合わせる必要はない。ＩＰＶ６等のように機能ごとにＩＰアドレスが割り当てられてしまうときは、同一のポート名が存在しなくなってしまうので、デバイスドライバ１０５３は、個体識別番号を使ってデバイスを特定する。
【００２４】
＜実施形態２＞
実施形態２として、ＯＳ１０５４が同一ポートのデバイスドライバを検索する処理を説明する。実施形態１ではデバイスドライバ１０５３が同一ポートのデバイスドライバを検索し、レジストリ１００８を経由してデバイスステージに情報を渡す処理を説明した。本実施形態では、ＯＳ１０５４がこの処理行う一例を説明する。図９のＴａｓｋｓ．ｘｍｌにあるように、各タスクは、Ｐｒｏｐｅｒｔｙ要素を使って、ＯＳ１０５４が持つ、デバイスステージに関連付けられたデバイスドライバのインストール情報を参照することができる。ＯＳ１０５４は、関連付けられたデバイスドライバの一覧リストをＧＵＩＤと共に管理している。ここで、ＧＵＩＤとは、Ｇｌｏｂａｌｌｙ  Ｕｎｉｑｕｅ  Ｉｄｅｎｔｉｆｉｅｒの略である。このリストには、同時にプラグアンドプレイＩＤと機種名とも記載されている。このＧＵＩＤをＰｒｏｐｅｒｔｙ要素に記載することで、関連付けられたデバイスドライバによって、例えばＯＳ１０５４は、タスクの表示を切り替えることができる。しかし、手動インストールでは関連付けられたデバイスドライバは１つしかないので、ＯＳ１０５４は、他のデバイスステージに関連づけられているデバイスドライバを検索して、追加する。この処理の一例を示したフローチャートが図１６である。
ＯＳ１０５４は、デバイスドライバ１０５３のインストール時に、まずｉｎｆファイル１００５からプラグアンドプレイＩＤと機種名とを取得する（Ｓ１５０１）。ＯＳ１０５４は、全てのデバイスステージを検索する。そして、ＯＳ１０５４は、過去にインストールしたデバイスドライバとＧＵＩＤとのリストの中に、現在インストールの対象としているデバイスドライバ１０５３と同一のプラグアンドプレイＩＤと機種名とがあるか否かを判定する（Ｓ１５０２）。つまり、ＯＳ１０５４は、過去にインストールしたデバイスドライバとＧＵＩＤとを列挙し、リストとし、リストの中に、現在インストールの対象としているデバイスドライバ１０５３と同一のプラグアンドプレイＩＤと機種名とがあるか否かを判定する。
同一のプラグアンドプレイＩＤと機種名とがあれば、ＯＳ１０５４は、過去にインストールしたデバイスステージに関連づけられているデバイスドライバのＧＵＩＤとして、現在インストールの対象としているデバイスドライバ１０５３を追加する（Ｓ１５０４）。尚、デバイスドライバのＧＵＩＤは、デバイスドライバの識別情報の一例である。Ｓ１５０４の処理は、関連付けの処理の一例である。
ＯＳ１０５４は、デバイスステージに表示される、前記デバイスステージに関連付けられたデバイスを表すカスタムアイコンを前記デバイスステージに表示する。この処理は、カスタムオブジェクト表示の処理の一例である。
また、ＯＳ１０５４は、前記カスタムアイコンから起動されるデバイス詳細ページに表示する、前記カスタムアイコンが表すデバイスが提供する機能へのリンクを表すタスクを前記デバイス詳細ページに表示する。この処理は、タスク表示の処理の一例である。
【００２５】
デバイスドライバのアンインストール時には、ＯＳ１０５４が図１７のフローチャートに従って処理を実行する。ＯＳ１０５４は、全てのデバイスステージを検索し、過去にインストールしたデバイスドライバとＧＵＩＤとのリストの中に、現在アンインストールするデバイスドライバと同一のプラグアンドプレイＩＤと機種名とがあるか否かを判定する（Ｓ１６０１）。同一のものがあれば、ＯＳ１０５４は、過去にインストールしたデバイスステージに関連づけられているデバイスドライバのＧＵＩＤから、アンインストールするデバイスドライバを削除する（Ｓ１６０２）。
このようにＯＳ１０５４が検索することで、デバイスドライバ１０５３は、インストール・アンインストール時に特別な処理を行わなくても、機能に応じてデバイスステージのアイコンやタスクの表示を切り替えることができる。
【００２６】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００２７】
以上、上述した実施形態によれば、複数の機能を提供する装置をＰＣ等に接続する際に接続先が同一機種であればデバイスステージのデバイス詳細ページ上で前記装置の全ての機能へのリンクを使用可能にする技術を提供することができる。
【００２８】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００２９】
１０５３  デバイスドライバ、１０５４  ＯＳ
【図１】
0005451349.tif 000002
【図２】
0005451349.tif 000003
【図３】
0005451349.tif 000004
【図４】
0005451349.tif 000005
【図５】
0005451349.tif 000006
【図６】
0005451349.tif 000007
【図７】
0005451349.tif 000008
【図８】
0005451349.tif 000009
【図９】
0005451349.tif 000010
【図１０】
0005451349.tif 000011
【図１１】
0005451349.tif 000012
【図１２】
0005451349.tif 000013
【図１３】
0005451349.tif 000014
【図１４】
0005451349.tif 000015
【図１５】
0005451349.tif 000016
【図１６】
0005451349.tif 000017
【図１７】
0005451349.tif 000018