図面 (/)

技術 周辺装置、その方法、及びプログラム

出願人 キヤノン株式会社
発明者 菊地洋史
出願日 2015年7月30日 (5年3ヶ月経過) 出願番号 2015-150501
公開日 2017年2月9日 (3年9ヶ月経過) 公開番号 2017-033141
状態 特許登録済
技術分野 付属装置、全体制御 タイプライター等へのデジタル出力 ファクシミリ一般
主要キーワード 手動変更 PDL用 PDL情報 コマンドタイプ 表示画 物理用紙 情報リソース デバイスドライバー
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2017年2月9日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (10)

課題

周辺装置で、接続PCのOSで使用できないアーキテクチャデバイスドライバー用のIDが指定されていると、適切なデバイスドライバーがプラグアンドプレイで接続PCにインストールできない。

解決手段

周辺装置が、プラグアンドプレイに際して、接続PCのOSの情報を元に、適切なアーキテクチャのデバイスドライバーのIDを接続されたPCに対して送信する。

概要

背景

従来から、複数の種類のデバイスドライバーが用意されている周辺装置が存在する。例えば、多種のPDL(Page Description Language)をサポートするプリンターが存在する。これらのプリンターでは、全てのPDLの種類に対する識別情報(例えば、プラグアンドプレイID)を管理している。プラグアンドプレイ(PnP)と呼ばれる技術では、情報処理装置が、いずれかの識別情報をプリンターから取得することで該識別情報に対応するPDLのプリンタードライバーインストールすることができる。

しかしながら1つのPDLのプリンタードライバーしか使用しないユーザーにとって、複数のPDL用のプリンタードライバーは必要ないため、特許文献1に記載の技術のように、どのPDLのプラグアンドプレイを発生させるかをユーザーに選択させることができる技術が知られている。

概要

周辺装置で、接続PCのOSで使用できないアーキテクチャのデバイスドライバー用のIDが指定されていると、適切なデバイスドライバーがプラグアンドプレイで接続PCにインストールできない。 周辺装置が、プラグアンドプレイに際して、接続PCのOSの情報を元に、適切なアーキテクチャのデバイスドライバーのIDを接続されたPCに対して送信する。

目的

図3は、デバイスドライバーの識別情報をユーザーに選択させるために、プリンター2000が提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

周辺装置に接続された情報処理装置に対してインストールさせるべきデバイスドライバーを、第1のアーキテクチャのデバイスドライバー及び第2のアーキテクチャのデバイスドライバーを含む複数のデバイスドライバーのリストから指定する指定手段と、接続された情報処理装置で動作するOS(オペレーティングシステム)の情報を取得する取得手段と、前記OSの情報に基づき、該OSが第2のアーキテクチャのデバイスドライバーのみをサポートするか否かを判断する判断手段と、前記指定手段により第1のアーキテクチャのデバイスドライバーが指定され、かつ、前記判断手段により該OSが第2のアーキテクチャのデバイスドライバーのみをサポートする判断された場合に、前記指定手段により指定された第1のアーキテクチャのデバイスドライバーが扱うコマンドタイプを扱える第2のアーキテクチャのデバイスドライバーに対応する識別情報、または、予め前記周辺装置に設定されたコマンドタイプを扱える第2のアーキテクチャのデバイスドライバーに対応する識別情報を、前記情報処理装置に対して送信する送信手段と、を有し、前記送信手段は、前記指定手段により第2のアーキテクチャのデバイスドライバーが指定され、かつ、前記判断手段により該OSが第2のアーキテクチャのデバイスドライバーのみをサポートする判断された場合に、前記指定手段により指定された第2のアーキテクチャのデバイスドライバーに対応する識別情報を前記情報処理装置に対して送信することを特徴とする周辺装置。

請求項2

前記取得手段は、前記情報処理装置が前記周辺装置にUSB(UniversalSerialBus)で接続された場合には、前記指定手段により指定されたデバイスドライバーに対応する識別情報またはダミーの識別情報が前記情報処理装置に対して送信された後に、前記情報処理装置で動作するOSの情報を取得し、前記送信手段は、前記指定手段により第1のアーキテクチャのデバイスドライバーが指定され、かつ、前記判断手段により該OSが第2のアーキテクチャのデバイスドライバーのみをサポートする判断された場合に、バスリセット発行された後に、前記指定手段により指定された第1のアーキテクチャのデバイスドライバーが扱うコマンドタイプを扱える第2のアーキテクチャのデバイスドライバーに対応する識別情報、または、予め前記周辺装置に設定されたコマンドタイプを扱える第2のアーキテクチャのデバイスドライバーに対応する識別情報を、前記情報処理装置に対して送信することを特徴とする請求項1に記載の周辺装置。

請求項3

前記判断手段は、更に、前記OSの情報に基づき、該OSが第1のアーキテクチャのデバイスドライバーのみをサポートするか否かを判断し、前記送信手段は、前記指定手段により第2のアーキテクチャのデバイスドライバーが指定され、かつ、前記判断手段により該OSが第1のアーキテクチャのデバイスドライバーのみをサポートする判断された場合に、前記指定手段により指定された第2のアーキテクチャのデバイスドライバーが扱うコマンドタイプを扱える第1のアーキテクチャのデバイスドライバーに対応する識別情報、または、予め前記周辺装置に設定されたコマンドタイプを扱える第1のアーキテクチャのデバイスドライバーに対応する識別情報を、前記情報処理装置に対して送信し、前記送信手段は、前記指定手段により第1のアーキテクチャのデバイスドライバーが指定され、かつ、前記判断手段により該OSが第1のアーキテクチャのデバイスドライバーのみをサポートする判断された場合に、前記指定手段により指定された第1のアーキテクチャのデバイスドライバーに対応する識別情報を前記情報処理装置に対して送信することを特徴とする請求項1または2に記載の周辺装置。

請求項4

前記取得手段は、前記情報処理装置が前記周辺装置にUSB(UniversalSerialBus)で接続された場合には、前記指定手段により指定されたデバイスドライバーに対応する識別情報またはダミーの識別情報が前記情報処理装置に対して送信された後に、前記情報処理装置で動作するOSの情報を取得し、前記送信手段は、前記指定手段により第2のアーキテクチャのデバイスドライバーが指定され、かつ、前記判断手段により該OSが第1のアーキテクチャのデバイスドライバーのみをサポートする判断された場合に、バスリセットが発行された後に、前記指定手段により指定された第2のアーキテクチャのデバイスドライバーが扱うコマンドタイプを扱える第1のアーキテクチャのデバイスドライバーに対応する識別情報、または、予め前記周辺装置に設定されたコマンドタイプを扱える第1のアーキテクチャのデバイスドライバーに対応する識別情報を、前記情報処理装置に対して送信することを特徴とする請求項3に記載の周辺装置。

請求項5

前記情報処理装置では、前記送信手段により送信された識別情報を用いて、プラグアンドプレイが実行されることを特徴とする請求項1乃至4のいずれか1項に記載の周辺装置。

請求項6

予め前記周辺装置に設定されたコマンドタイプは、前記周辺装置のベンダーによって設定されることを特徴とする請求項1乃至5のいずれか1項に記載の周辺装置。

請求項7

前記コマンドタイプは、PDL(PageDescriptionLanguage)であることを特徴とする請求項1乃至6のいずれか1項に記載の周辺装置。

請求項8

周辺装置における方法であって、前記周辺装置に接続された情報処理装置に対してインストールさせるべきデバイスドライバーを、第1のアーキテクチャのデバイスドライバー及び第2のアーキテクチャのデバイスドライバーを含む複数のデバイスドライバーのリストから指定する指定工程と、接続された情報処理装置で動作するOS(オペレーティングシステム)の情報を取得する取得工程と、前記OSの情報に基づき、該OSが第2のアーキテクチャのデバイスドライバーのみをサポートするか否かを判断する判断工程と、前記指定工程で第1のアーキテクチャのデバイスドライバーが指定され、かつ、前記判断工程で該OSが第2のアーキテクチャのデバイスドライバーのみをサポートする判断された場合に、前記指定された第1のアーキテクチャのデバイスドライバーが扱うコマンドタイプを扱える第2のアーキテクチャのデバイスドライバーに対応する識別情報、または、予め前記周辺装置に設定されたコマンドタイプを扱える第2のアーキテクチャのデバイスドライバーに対応する識別情報を、前記情報処理装置に対して送信する送信工程と、を有し、前記送信工程では、前記指定工程で第2のアーキテクチャのデバイスドライバーが指定され、かつ、前記判断工程で該OSが第2のアーキテクチャのデバイスドライバーのみをサポートする判断された場合に、前記指定された第2のアーキテクチャのデバイスドライバーに対応する識別情報が前記情報処理装置に対して送信されることを特徴とする方法。

請求項9

請求項1乃至7の何れか1項に記載の手段としてコンピューターを機能させるためのプログラム

技術分野

0001

本発明はパーソナルコンピューターなどの情報処理装置プリンターなどの周辺装置を接続する時のデバイスドライバーインストールのための技術に関する。

背景技術

0002

従来から、複数の種類のデバイスドライバーが用意されている周辺装置が存在する。例えば、多種のPDL(Page Description Language)をサポートするプリンターが存在する。これらのプリンターでは、全てのPDLの種類に対する識別情報(例えば、プラグアンドプレイID)を管理している。プラグアンドプレイ(PnP)と呼ばれる技術では、情報処理装置が、いずれかの識別情報をプリンターから取得することで該識別情報に対応するPDLのプリンタードライバーをインストールすることができる。

0003

しかしながら1つのPDLのプリンタードライバーしか使用しないユーザーにとって、複数のPDL用のプリンタードライバーは必要ないため、特許文献1に記載の技術のように、どのPDLのプラグアンドプレイを発生させるかをユーザーに選択させることができる技術が知られている。

先行技術

0004

特開2007−097156号公報

発明が解決しようとする課題

0005

近年、Windows(登録商標)OS(Operating System)において、v3プリンタードライバー、v4プリンタードライバーと呼ばれる、同じOS上で動作するアーキテクチャの全く異なるプリンタードライバーが登場してきている。アーキテクチャの異なるプリンタードライバーは提供する画面GUI)や、機能や使用手順が異なっている。例えば、v4プリンタードライバーは、従来のプリンタードライバーとは異なり、タッチパネルディスプレイ特化したGUIを用意しているといった特徴を持っている。

0006

ここで、将来的には、最新のOSにおいて、古いアーキテクチャのプリンタードライバーをサポートしなくなることが考えられる。このような場合には、ネットワーク環境上に存在する複数の情報処理装置において、その最新のOSがインストールされている装置と、そうでない装置とが混在することが考えられる。

0007

先行技術の方法で、プリンターに古いアーキテクチャのプリンタードライバーに対応するIDを設定してしまうと、その最新のOSでは、該当するプリンタードライバーがプラグアンドプレイでインストールできなくなるという課題が生じる。情報処理装置とプリンターが新たに接続するたびに、プリンターで設定されるプラグアンドプレイで利用される識別情報を、ユーザーが情報処理装置のOSを判別して変更するといったことも考えられるが、これは手間がかかる作業と言える。

課題を解決するための手段

0008

上記課題を解決するために、本発明の周辺装置は、周辺装置に接続された情報処理装置に対してインストールさせるべきデバイスドライバーを、第1のアーキテクチャのデバイスドライバー及び第2のアーキテクチャのデバイスドライバーを含む複数のデバイスドライバーのリストから指定する指定手段と、接続された情報処理装置で動作するOS(オペレーティングシステム)の情報を取得する取得手段と、前記OSの情報に基づき、該OSが第2のアーキテクチャのデバイスドライバーのみをサポートするか否かを判断する判断手段と、前記指定手段により第1のアーキテクチャのデバイスドライバーが指定され、かつ、前記判断手段により該OSが第2のアーキテクチャのデバイスドライバーのみをサポートする判断された場合に、前記指定手段により指定された第1のアーキテクチャのデバイスドライバーが扱うコマンドタイプを扱える第2のアーキテクチャのデバイスドライバーに対応する識別情報、または、予め前記周辺装置に設定されたコマンドタイプを扱える第2のアーキテクチャのデバイスドライバーに対応する識別情報を、前記情報処理装置に対して送信する送信手段と、を有し、前記送信手段は、前記指定手段により第2のアーキテクチャのデバイスドライバーが指定され、かつ、前記判断手段により該OSが第2のアーキテクチャのデバイスドライバーのみをサポートする判断された場合に、前記指定手段により指定された第2のアーキテクチャのデバイスドライバーに対応する識別情報を前記情報処理装置に対して送信することを特徴とする。

発明の効果

0009

本発明によれば、接続された情報処理装置のOSを調べて、周辺装置側のインストール対象となるデバイスドライバーの指定を手動変更しなくても、該OSにとって適切なアーキテクチャのデバイスドライバーのIDがプラグアンドプレイのために周辺装置から情報処理装置に送信されるようになる。

図面の簡単な説明

0010

コンピューターとプリンターとの接続形態を示す図である。
コンピューターとプリンターの構成を示す図である。
プリンターが提供するユーザーインタフェース遷移を示す図である。
実施例1におけるネットワーク(WSD)接続時の処理を説明するためのフローチャートである。
第2のアーキテクチャのデバイスドライバーに対応するIDをコンピューターに対して送信する処理の詳細を説明するためのフローチャートを示す図である。
本実施例によりコンピューターに対して送信されるPnP IDの例を示す図である。
GetPrinterElementsの具体例を示す図である。
GetPrinterElementsへの応答の具体例を示す図である。
実施例2におけるUSB接続時の処理を説明するためのフローチャートである。

実施例

0011

以下、本発明を実施するための形態について図面を用いて説明する。

0012

(実施例1)
図1(a)は、実施例1におけるコンピューター1000とプリンター2000との接続形態を示す図である。ネットワーク100に対してコンピューター1000と、その周辺装置としてのプリンター2000が接続されている。本発明はデバイスドライバーのインストール技術に関するものであるが、実施例1ではWSD(Web Services on Devices) Discoveryによるプリンタードライバーに係るネットワークプラグアンドプレイを例に説明する。よってプリンター2000はWSDの機能が有効になっていることを前提として以降の説明を行う。なお、WSD以外にも、SSDP(Simple Service Discovery Protocol)など、ネットワークプラグアンドプレイと同様にデバイスドライバーのインストールが実現可能な他のネットワークプロトコルであっても、本発明に適用可能である。

0013

図2はコンピューター1000とプリンター2000の構成をブロック図として示した図である。

0014

まず、情報処理装置としてのコンピューター1000の構成について説明する。コンピューター1000はCPU1041とメモリ1042により構成される制御部1040が全体を制御している。表示部1010はディスプレイなどの出力装置、操作部1020はマウスキーボードなどの入力装置を示す。また、記憶部1030にはOS(Operating System)1031や各種プログラム1032などのソフトウェアが保存されている。それらのプログラムは必要に応じてメモリ1042にロードされ、CPU1041によって実行される。OS1031はコンピューター1000の基本動作をつかさどるソフトウェアである。ネットワーク通信部1050はネットワーク100に接続して外部装置とのデータの入出力を行う。USB通信部1060はUSB(Universal Serial Bus)で接続された外部装置とのデータの入出力を行う。本発明においてコンピューター1000の処理は、全て記憶部1030に記憶されたソフトウェアを制御部1040におけるメモリ1042にロードしてCPU1041が実行することによって実現される。なお、CPUはCentral Processing Unitの略である。

0015

ここで、本発明が想定するOSには、v3プリンタードライバー及びv4プリンタードライバーといったアーキテクチャの全く異なるプリンタードライバーがともに動作するものと、v3プリンタードライバー及びv4プリンタードライバーのいずれか片方のみしか動作しないものが存在する。コンピューター1000のOS1031としては、その3種類のOSのいずれもがインストールされる可能性がある。

0016

次に、プリンター2000の構成を説明する。プリンター2000はCPU2041とメモリ2042により構成される制御部2040が全体を制御している。表示部2010はパネルなどの出力装置、操作部2020はタッチパネルや各種ボタンによる入力装置を示す。また、記憶部2030にはOS2031や各種プログラム2032が保存されている。これらのソフトウェアは必要に応じてメモリ2042にロードされ、CPU2041によって実行される。OS2031はプリンターの基本動作をつかさどるソフトウェアである。ネットワーク通信部2050はネットワーク100に接続して外部装置とのデータの入出力を行う。USB通信部1060はUSBで接続された外部装置とのデータの入出力を行う。印刷部2070は制御部2040の指示に従って用紙にトナーインク定着させて目的の画像を物理用紙上に形成することで印刷を行う。本発明においてプリンター2000の処理は、全て記憶部2030に記憶されたソフトウェアを制御部2040におけるメモリ2042にロードしてCPU2041が実行することによって実現される。

0017

図3は、デバイスドライバーの識別情報をユーザーに選択させるために、プリンター2000が提供するユーザーインタフェース(UI)の遷移を示す図である。ここでは、識別情報としてプリンタードライバーのPDLに対応するPnP IDを例示している。よって、このUIにより選択された識別情報は、情報処理装置におけるデバイスドライバーのインストールに利用されることになる。

0018

UIは、プリンター2000の表示部2010で表示され、タッチパネルや各種ボタンなどの操作部1020によるユーザーからの入力を受け付けて遷移する。

0019

システム管理設定」2110は、プリンター2000の各種システム管理を設定するためのUIである。本実施例におけるPnP IDの選択設定は、「ページ記述言語(PnP)」2111を選択することで可能になる。選択後のUIが「ページ記述言語(PnP)」2120の画面である。ここでは、接続形態ごと(「ネットワーク」2121、「USB」2122)に対して、PnP IDが指定できる。

0020

「ネットワーク」2121を選択後のUIが、「ネットワーク PnP ID」2130の画面である。この画面には、プリンター2000がPnP IDとして使用できるIDに対応するデバイスドライバーが全て列挙されている。プリンター2000のシステム管理者は、この画面上のリストから、ネットワークプラグアンドプレイをさせたいPDLのプリンタードライバーを指定する。

0021

ここで、リスト内のIDの後端にある「(V3)」は、従前のOSにおいて利用されていたアーキテクチャのプリンタードライバーであることを示している。一方で、「(V4)」は、新しいOSにおいて利用されるようになったアーキテクチャのプリンタードライバーであることを示している。例えば、v4プリンタードライバーは、従来のアーキテクチャのプリンタードライバーとは異なり、タッチパネルディスプレイに特化したGUIを用意しているといった特徴を持っている。また、“PDL1”と“PDL2”などは、それぞれ異なる種類のPDLであることを示している。

0022

プリンター2000のデフォルトの設定は、「PDL1(V3)」2132である。「FAX(V3)」2131は、コンピューター1000上に、V3アーキテクチャのFAXドライバーをプラグアンドプレイに従いインストールさせるための選択肢である。例えば、システム管理者が「FAX(V3)」2131を選択すると、プリンター2000のネットワークPnP IDの設定が「FAX(V3)」に変更され、表示画面は「ページ記述言語(PnP)」に戻る。

0023

なお、「PDL3(V3/V4)」2133は、特殊なPnP IDに対応する選択肢を示す。具体的には、V3アーキテクチャのPDL3用のプリンタードライバーも、V4アーキテクチャのPDL3用のプリンタードライバーも、ともに同じPnP IDに対応づけられている場合がある。よって、この特殊なPnP IDが選択され、プリンター2000が、どちらのアーキテクチャも使用可能なOSが動作するコンピューター1000に接続した場合には、該OS1031にとって優先度の高いプリンタードライバーが選択的にインストールされ、使用されることになる。

0024

「PDL1(V4)」2136は、V4アーキテクチャのPDL1用のプリンタードライバーをププラグアンドプレイに従いインストールさせるための選択肢である。

0025

V4アーキテクチャのPDL2用のプリンタードライバーについては、選択肢に存在しない。これは、プリンターベンダーによって、該プリンタードライバーがサポートされていないなどの理由に依る。また、本実施例では複数あるPDLの中から“PDL1”が最も推奨されるPDL(すなわち、推奨PDL)としてベンダーによって設定されているものとする。

0026

画面2120の「USB」2122選択後のUIが、「USB PnP ID」2140の画面であるが、内容は「ネットワークPnP ID」2130と同等なのでここでは説明は割愛する。

0027

以上のように、本実施例において、プリンター2000のシステム管理者はネットワーク接続、USB接続のそれぞれで別のPnP IDを指定することができるようになっている。

0028

図4は、図3で示したPnP IDが設定されている状態で、プリンター1000をネットワーク100に接続した時のプリンター2000の処理を示したフローチャートである。この処理は記憶部2030に記憶されたソフトウェアを制御部2040におけるメモリ2042にロードしてCPU2041が実行することによって実現される。

0029

まず、S101で、プリンター2000は、ネットワーク100に接続されたことを検知する。S102で、プリンター2000は、ネットワーク100に向かってネットワーク参加メッセージマルチキャストする。例えば、ネットワーク参加メッセージは、WSD Discoveryにおける「Hello」メッセージを示す。

0030

その後、S103で、プリンター2000は、ネットワーク100に接続されていたコンピューター1000からの探索要求を受信する。例えば、探索要求は、WSD Discoveryにおける「Probe」メッセージを示す。S104で、プリンター2000は、その要求の応答をコンピューター1000に対して送信する。例えば、この応答は、WSD Discoveryにおける「ProbeMatch」メッセージを示す。さらに、S105で、プリンター2000はコンピューター1000にMetaDataの送信を行う。

0031

S106で、プリンター2000は、コンピューターからの構成情報を受信する。例えば、構成情報は、WSD Discoveryにおける「GetPrinterElements」メッセージを示し、その具体例は、図7で後述する。

0032

S107で、プリンター2000は、コンピューター1000のOS情報を確認する。ここでの確認方法としては、例えば、構成情報内のXMLデータに入っているOS情報を取得するようにしてもよい。また、XMLデータを解析して必要なOS情報を判定してもよい。ここで、必要なOS情報を取得する方法については、ネットワークに接続された他の情報リソースから取得する、など他の方法を用いても構わない。

0033

S108で、プリンター2000は、S107で取得したOS情報に基づき、コンピューター1000のOSが第1のアーキテクチャのデバイスドライバーのみをサポートするOSであるかどうかを判断する。ここで、第1のアーキテクチャとは、例えば、前述したV3アーキテクチャを意味する。S108で、第1のアーキテクチャのみをサポートするOSであった場合にはS110にすすみ、そうでない場合にはS109に進む。

0034

S110では、プリンター2000は、図3の画面2130での指定に従い、第1のアーキテクチャのデバイスドライバーに対応するIDをコンピューター1000に対して送信する。具体的には、図3の画面2130で、「PDL1(V3)」2132が指定されていた場合には、当該指定に従い、V3アーキテクチャのPDL1用のプリンタードライバーに対応するPnP IDをコンピューター1000に対して送信する。なお、図3の画面2130で、「PDL2(V3)」、「PDL3(V3/V4)」が指定されていた場合にも、それら指定に従い、プリンター2000は、各PDLに対応するPnP IDをコンピューター1000に対して送信する。

0035

S109で、プリンター2000は、S107で取得したOS情報に基づき、コンピューター1000のOSが第2のアーキテクチャのデバイスドライバーのみをサポートするOSであるかどうかを判断する。ここで、第2のアーキテクチャとは、例えば、前述したV4アーキテクチャなどの、第1のアーキテクチャとは全く異なるアーキテクチャを意味する。S109で、第2のアーキテクチャのみをサポートするOSであった場合にはS112にすすみ、そうでない場合にはS111に進む。

0036

S111では、コンピューター1000のOSが第1及び第2のアーキテクチャをともにサポートしているので、プリンター2000は、図3の画面2130での指定に従うPnP IDをコンピューター1000対して送信する。

0037

S112で、プリンター2000は、図3の画面2130での指定に従い、第2のアーキテクチャのデバイスドライバーに対応するIDをコンピューター1000に対して送信する。例えば、「PDL1(V3)」2132のようなV3アーキテクチャに係るPDLに対応する指定が行われていたとしても、この指定を参考に、V4アーキテクチャのPnP IDをコンピューター1000に対して送信する。S112での、図3の画面2130での指定とは異なるIDをコンピューター1000に対して送信する際の判定方法については、図5を用いて更に詳細に説明する。なお、図3の画面2130で、「PDL3(V3/V4)」、「FAX(V4)」、「PDL1(V4)」のいずれかが指定されていた場合には、それら指定に従い、プリンター2000は、各PDLに対応するPnP IDをそのままコンピューター1000に対して送信する。

0038

なお、S110〜S112で示した、S106で受信した構成情報(例えば、「GetPrinterElements」)に対するコンピューター1000への応答の具体例は、図8を用いて後述する。

0039

図5は、図4のS112における処理をより詳細に説明するためのフローチャートである。

0040

まず、S301で、プリンター2000は、図3で示す画面2130を介して指定されたデバイスドライバーが、第2のアーキテクチャのデバイスドライバーに対応するものであるか否かを判断する。第2のアーキテクチャのデバイスドライバーが指定されていた場合に、S304で、プリンター2000は、画面2130を介して指定されたデバイスドライバーに対応するIDをコンピューター1000に対して送信する。例えば、画面2130で、「PDL3(V3/V4)」2133や「PDL1(V4)」2134が指定されていた場合には、S304でその指定に対応するPnP IDが、そのままコンピューター1000に対して送信される。

0041

S301で第2のアーキテクチャのデバイスドライバーが指定されていなかった場合に、S302に進む。S302で、プリンター2000は、画面2130で指定されたデバイスドライバーが扱うコマンドタイプ(PDL情報)を確認する。そして、S303で、プリンター2000は、S302で確認されたコマンドタイプを扱う第2のアーキテクチャのデバイスドライバーに対応するIDが存在するかを判断する。例えば、「PDL1(V3)」2132が指定されていた場合には、PDL1を扱えるV4のプリンタードライバーを示す「PDL1(V4)」2134が存在するので、S303では“YES”と判断されることになる。S303で“YES”と判断された場合には、S305で、プリンター2000は、S302で確認されたコマンドタイプを扱う第2のアーキテクチャのデバイスドライバーに対応するIDをコンピューター1000に対して送信する。例えば、S302で確認されたコマンドタイプを扱う第2のアーキテクチャのデバイスドライバーが、「PDL1(V4)」2134であるならば、「PDL1(V4)」2134に対応するPnP IDがコンピューター1000に対して送信される。

0042

S303で“NO”と判断された場合、例えば、画面2130で「PDL2(V3)」が指定されていた場合には、S306に進む。S306で、プリンター2000は、推奨コマンドタイプを扱える第2のアーキテクチャのデバイスドライバーに対応するIDをコンピューター1000に対して送信する。本実施例のプリンター2000では、前述のとおり推奨PDLを「PDL1」としているため、具体的には「PDL1(V4)」2134に対応するPnP IDとしてコンピューター1000に対して送信する。

0043

なお、S110でも、図5と同等の方法で、プリンター2000がコンピューター1000に対して送信する第1のアーキテクチャのデバイスドライバーに対応するIDを決定することができる。具体的には、画面2130で第2のアーキテクチャのデバイスドライバーが指定されていた場合に、該指定されたデバイスドライバーのコマンドタイプと、推奨のコマンドタイプとを用いて、コンピューター1000に対して送信すべきIDを決定する。

0044

上記に依れば、本実施例では、接続先のコンピューター1000で動作するOS1031の情報に応じて、サポートされていないアーキテクチャのデバイスドライバー用のIDを返すことがなくなる。また、新しいアーキテクチャのデバイスドライバーが用意されていなかった場合であっても、デバイスベンダーの推奨するコマンドタイプ(PDL)のデバイスドライバーをプラグアンドプレイに利用することが可能となる。

0045

図6は、図4及び図5の処理が適用された際の、パネル指定されたプリンタードライバーと、プリンター2000が実際にコンピューター1000に返すPnP IDとの関係を表にした図である。

0046

図6では、第1のアーキテクチャのデバイスドライバーのみをサポートするOSとして、V3のみサポートするWindows(登録商標)を例示している。同様に、第2のアーキテクチャのデバイスドライバーのみをサポートするOSとして、V4のみサポートするWindows(登録商標)を例示している。また、プリンター2000に設定された推奨するコマンドタイプとして、「PDL1」を例示している。

0047

図7は、プリンター2000がS106で受信する構成情報としての「GetPrinterElements」の具体例を示す図である。

0048

「GetPrinterElements」はWSDで規定されたXML形式SOAPメッセージであり、全て「Envelope」(4001〜4017)で囲まれている。「Envelope」(4001〜4017)は、「Header」(4002〜4008)と「Body」(4009〜4016)とで構成される。

0049

「Header」(4002〜4008)は、「To」(4003)と「Action」(4004〜4006)及び「MessageID」(4007)とから成る。「To」(4003)には本SOAPメッセージの宛先としてプリンター2000のアドレスが記載されている。「Action」(4004〜4006)にはこのSOAPメッセージが「GetPrinterElements」(4005)であることが記載されている。「MessageID」(4007)にはこのSOAPメッセージを示すUUID(Universally Unique Identifier)が記載されている。

0050

「Body」(4009〜4016)は、本SOAPメッセージの要求である「GetPrinterElementsRequest」(4010〜4015)で構成されている。「GetPrinterElementsRequest」(4010〜4015)は「RequestedBy」(4011)と「RequestedElements」(4012〜4014)から成る。「RequestedBy」(4011)は、本SOAPメッセージの送信元のOSの種類が記載されている。プリンター2000はS107において「RequestedBy」(4011)を参照することで、要求元のOS情報を確認することができる。「RequestedElements」(4012〜4014)に本SOAPメッセージが要求している情報の名前が記載されている。ここでは「PrinterDescription」(4013)が記載されている。

0051

図8は、プリンター2000がS110〜S112で送信する「GetPrinterElements」への応答の具体例を示す図である。

0052

「GetPrinterElements」の応答はWSDで規定されたXML形式のSOAPメッセージであり、全て「Envelope」(5001〜5023)で囲まれている。「Envelope」(5001〜5023)は、「Header」(5002〜5009)と「Body」(5010〜5022)とで構成される。

0053

「Header」(5002〜5009)は、「To」(5003)と「Action」(5004〜5006)と「MessageID」(5007)及び「RelatesTo」(5008)とから成る。「To」(5003)には本SOAPメッセージの宛先としてコンピューター1000のアドレスが記載されている。本実施例では「anonymous」が記載されている。「Action」(5004〜5006)にはこのSOAPメッセージが「GetPrinterElementsResponse」(5005)であることが記載されている。「MessageID」(5007)にはこのSOAPメッセージを示すUUID(Universally Unique Identifier)が記載されている。「RelatesTo」(5008)はどのSOAPメッセージに対する応答かが記載されている。本実施例では図7に示す「GetPrinterElements」に対する応答なので「MessageID」(4007)と同じUUIDが記載される。

0054

「Body」(5010〜5022)は、本SOAPメッセージの要求である「GetPrinterElementsResponse」(5011〜5021)で構成されている。「GetPrinterElementsResponse」(5011〜5021)は「PrinterElements」(5012〜5020)から成る。「RrinterElements」(5012〜5021)は「ElementData」(5013〜5019)から成る。「ElementData」(5013〜5019)はコンピューター1000から要求されている「PrinterDescription」(5014〜5018)で構成されている。「PrinterDescription」(5014〜5018)は「ColorSupported」(5015)、「DeviceId」(5016)、「PrinterName」(5017)とから成る。「ColorSupported」(5015)はプリンター2000がカラー機か、白黒機かを示している。本実施例ではカラー機なので「true」が記載されている。「DeviceId」(5016)にはプリンター2000のプラグアンドプレイIDが記載されている。前述した図4のS110〜S112や図5で説明したIDの送信については、「DeviceId」(5016)の値としてIDが格納されることで実現される。「PrinterName」(5017)にはプリンター2000のプリンター名が記載されている。

0055

(実施例2)
実施例1ではWSD Discoveryなどのネットワークプラグアンドプレイを例に説明したが、実施例2ではUSB接続によるプラグアンドプレイに関して説明する。

0056

図1(b)は、実施例2におけるコンピューター1000とプリンター2000との接続形態を示している。コンピューター1000とプリンター2000はUSBケーブル200によって接続されている。図2の構成図と図3のUI遷移図は実施例1と同じであるので割愛する。

0057

図9は、図3の画面2140でいずれかのデバイスドライバーが指定された後に、コンピューター1000をUSBケーブル200でプリンター2000に接続した時のプリンター2000の処理を説明するためのフローチャートである。この処理は実施例1と同様、記憶部2030に記憶されたソフトウェアを制御部2040におけるメモリ2042にロードしてCPU2041が実行することによって実現される。

0058

まず、プリンター2000は、S201でコンピューター1000にUSB接続されたことを検知すると、S202で画面2140を介して指定されたデバイスドライバーに対応するIDをコンピューター1000に対して送信する。その後、S203で、プリンター2000は、その送信したIDを用いて、コンピューター1000のOS1031とUSBのコネクション確立する。

0059

S204で、プリンター2000は、接続されたコンピューター1000のOS1031の情報を確認する。ここでの確認方法としては、例えば、コンピューター1000にあらかじめインストールしておいたデバイスドライバーと通信して情報を取得することができる。また、USB接続後のOSの挙動から判別する、別途格納されている他の情報リソースから取得する、など様々な方法が考えられるが、どのような方法を用いても構わない。

0060

S205で、プリンター2000は、S204で確認したOS情報に基づき、コンピューター1000で動作しているOS1031が第1のアーキテクチャのみをサポートするOSであるか否かを判断する。第1のアーキテクチャのみをサポートするOSであった場合にはS207に進み、そうでない場合にはS206に進む。

0061

S207で、プリンター2000は、現在、図3の画面2140で、第1のアーキテクチャのデバイスドライバーが指定されているかを判定する。ここで、画面2140で第1のアーキテクチャのデバイスドライバー(例えば、「PDL1(V3)」)が指定されていた場合には本処理を終了する。一方で、画面2140で第2のアーキテクチャのデバイスドライバー(例えば、「PDL1(V4)」)が指定されていた場合にはS208に進む。S208で、プリンター2000は、USBのバスリセット発行する。バスリセットの方法としては、例えば通常はプルアップされているUSBのD+信号線を一時的に停止することでリセットを行うことができる。その後、S209で、プリンター2000は、第1のアーキテクチャのデバイスドライバーに対応するIDを決定し、コンピューター1000に対して決定されたIDを送信する。S209でのIDの再送により、第1のアーキテクチャのデバイスドライバーのためのプラグアンドプレイがコンピューター1000で実行されることになる。なお、S209における第1のアーキテクチャのデバイスドライバーに対応するIDの決定方法図5で説明した方法と同様の手順で行うことができる。具体的には、画面2140で第2のアーキテクチャのデバイスドライバーが指定されていた場合に、該指定されたデバイスドライバーのコマンドタイプと、推奨のコマンドタイプとを用いて、コンピューター1000に対して送信すべきIDを決定することになる。

0062

S206で、プリンター2000は、S204で確認したOS情報に基づき、コンピューター1000で動作しているOS1031が第2のアーキテクチャのみをサポートするOSであるか否かを判断する。第2のアーキテクチャのみをサポートするOSであった場合にはS210に進み、そうでない場合には本処理を終了する。

0063

S210で、プリンター2000は、現在、図3の画面2140で、第2のアーキテクチャのデバイスドライバーが指定されているかを判定する。ここで、画面2140で第2のアーキテクチャのデバイスドライバー(例えば、「PDL1(V4)」)が指定されていた場合には本処理を終了する。一方で、画面2140で第1のアーキテクチャのデバイスドライバー(例えば、「PDL1(V3)」)が指定されていた場合にはS211に進む。S211で、プリンター2000は、USBのバスリセットを発行する。その後、S212で、プリンター2000は、第2のアーキテクチャのデバイスドライバーに対応するIDを決定し、コンピューター1000に対して決定されたIDを送信する。S209でのIDの再送により、第2のアーキテクチャのデバイスドライバーのためのプラグアンドプレイがコンピューター1000で実行されることになる。なお、S209における第2のアーキテクチャのデバイスドライバーに対応するIDの決定方法は図5で説明した方法と同様の手順で行うことができる。

0064

なお、図9のS202で、画面2140で指定されたデバイスドライバーに対応するIDをコンピューター1000に対して送信する例を示した。しかしながら、別のダミーIDを送信してもよい。この場合は、ダミーID用のデバイスドライバーを使用して、コンピューター1000のOS情報を取得する。さらに、このような場合には、OS情報取得後は、必ずバスリセットを行い、画面2140で指定されたデバイスドライバーに対応するID、または、S209、S212で決定されたIDをコンピューター1000に対して送信する。

0065

本実施例によれば、USB接続時であっても接続されたコンピューター1000のOS情報に適合するデバイスドライバーに対応するIDをコンピューター1000に送信することができる。従って、USBで接続されたコンピューター1000のOSでサポートされていないアーキテクチャのデバイスドライバーに対応するIDを返すことがなくなる。

0066

以上、実施例1と実施例2を用いて本発明の実施形態とその効果について図面を用いて説明した。なお、本発明ではコンピューター1000のOS1031としてWindows(登録商標)を用いて説明したが他のOSであっても同様に実施可能である。また、周辺装置としてプリンターを例示したが、スキャナーなど、同様の背景をもつ他の機器でも本発明を適用することができる。

0067

(他の実施例)
本発明は、上述した実施形態を適宜組み合わせることにより構成された装置あるいはシステムやその方法も含まれるものとする。

0068

ここで、本発明は、上述した実施形態の機能を実現する1以上のソフトウェア(プログラム)を実行する主体となる装置あるいはシステムである。また、その装置あるいはシステムで実行される上述した実施形態を実現するための方法も本発明の一つである。また、そのプログラムは、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給され、そのシステム或いは装置の1以上のコンピュータ(CPUやMPU等)によりそのプログラムが読み出され、実行される。つまり、本発明の一つとして、さらにそのプログラム自体、あるいは該プログラムを格納したコンピューターにより読み取り可能な各種記憶媒体も含むものとする。また、上述した実施形態の機能を実現する回路(例えば、ASIC)によっても、本発明は実現可能である。

0069

1000コンピューター
2000プリンター
2130ネットワークPnP ID選択画面
2140 USB PnP ID選択画面

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

  • 株式会社オービックの「 印刷制御装置、印刷制御方法、及び印刷制御プログラム」が 公開されました。( 2020/09/24)

    【課題】本発明は、複数の印刷対象データの各々を所定の用紙に印刷するに際し、ユーザの利便性に優れた制御を行うことができる印刷制御装置、印刷制御方法、及び印刷制御プログラムを提供することを目的とする。【解... 詳細

  • 富士ゼロックス株式会社の「 情報処理装置、情報処理システム及びプログラム」が 公開されました。( 2020/09/24)

    【課題】撮影画像から対象物が認識された場合に当該対象物に関する情報に基づく画像を表示する場合において、撮影画像から当該対象物が認識されない場合であっても、ユーザが、当該対象物に関する情報を確認できるよ... 詳細

  • 富士ゼロックス株式会社の「 開閉構造」が 公開されました。( 2020/09/24)

    【課題】開閉部材の開放時の衝撃を緩和することができる画像形成装置を提供する。【解決手段】装置本体に対して開閉可能な開閉部材と、開閉部材を装置本体に対して開閉可能に連結する連結部材と、を備え、連結部材は... 詳細

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ