(57)【要約】【課題】固有のシリアルナンバーを有さないＵＳＢデバイスをホストコンピュータのどのＵＳＢポートに接続し直した場合でも、新たなキューを生成し直す必要をなくすことができるようにする。【解決手段】固有のシリアルナンバーを有さないプリンタ１０とホストコンピュータ２０とが接続されたときに、プリンタ１０のシリアルナンバー記憶部１４ａにシリアルナンバーがまだ記憶されていない場合には、ホストコンピュータ２０にてシリアルナンバーを発生させてプリンタ１０のシリアルナンバー記憶部１４ａに記憶させることにより、固有のシリアルナンバーを有さないプリンタ１０であっても、これをホストコンピュータ２０に接続するとシリアルナンバーがプリンタ１０に付与されるようにし、その結果、ＵＳＢポートではなくシリアルナンバーに対応するプリントキューが生成されるようにする。【選択図】図２
2011118754.tif 000002
【特許請求の範囲】
【請求項１】
内部メモリに初期状態としてプロダクトＩＤおよびベンダーＩＤを保有するが固有のシリアルナンバーを保有していないＵＳＢデバイスと、ＵＳＢ端子を有するホストコンピュータとを備え、上記ＵＳＢ端子を介して上記ＵＳＢデバイスと上記ホストコンピュータとを接続可能に成されたＵＳＢ接続システムであって、
上記ＵＳＢデバイスと上記ホストコンピュータとが上記ＵＳＢ端子を介して接続されたときに、ユニークなシリアルナンバーを発生させるシリアルナンバー発生部と、
上記シリアルナンバー発生部により発生されたシリアルナンバーを上記ＵＳＢデバイスの不揮発性メモリに記憶させるシリアルナンバー記録部と、
上記シリアルナンバー発生部により発生されたシリアルナンバーに対応するキューを生成するキュー生成部と、
上記キュー生成部により生成されたキューを上記ホストコンピュータの不揮発性メモリに記憶させるキュー記録部とを備え、
上記シリアルナンバー発生部は、上記ＵＳＢデバイスの不揮発性メモリに上記シリアルナンバーが記憶されていない場合に、上記任意のシリアルナンバーを発生させることを特徴とするＵＳＢ接続システム。
【請求項２】
上記シリアルナンバー発生部により発生されたシリアルナンバーと、上記ホストコンピュータに接続されている上記ＵＳＢデバイスの上記内部メモリに保有されている上記プロダクトＩＤおよび上記ベンダーＩＤとを、上記ＵＳＢデバイスのデバイス情報として上記ホストコンピュータの不揮発性メモリに記憶させるデバイス情報記録部と、
上記ＵＳＢデバイスと上記ホストコンピュータとが上記ＵＳＢ端子を介して接続されたときに、当該接続された上記ＵＳＢデバイスの上記内部メモリに保有されている上記プロダクトＩＤおよび上記ベンダーＩＤと、上記ホストコンピュータの不揮発性メモリに上記デバイス情報として記憶されているプロダクトＩＤおよびベンダーＩＤとが一致するか否かを判定するＩＤ判定部とを更に備え、
上記シリアルナンバー発生部は、上記ＵＳＢデバイスの不揮発性メモリに上記シリアルナンバーが記憶されておらず、かつ、上記ＩＤ判定部によりプロダクトＩＤおよびベンダーＩＤが一致すると判定されなかった場合は、任意のシリアルナンバーを発生させる一方、上記ＵＳＢデバイスの不揮発性メモリに上記シリアルナンバーが記憶されておらず、かつ、上記ＩＤ判定部によりプロダクトＩＤおよびベンダーＩＤが一致すると判定された場合は、当該プロダクトＩＤおよびベンダーＩＤに対応して上記デバイス情報として記憶されているシリアルナンバーを発生させ、
上記キュー生成部は、上記シリアルナンバー発生部により上記任意のシリアルナンバーが発生された場合に、上記任意のシリアルナンバーに対応するキューを生成することを特徴とする請求項１に記載のＵＳＢ接続システム。
【請求項３】
上記ＵＳＢデバイスと上記ホストコンピュータとが上記ＵＳＢ端子を介して接続されたときに、上記ホストコンピュータの不揮発性メモリに記憶されているキューの一覧を表示してユーザの選択を促すキュー表示部を更に備え、
上記シリアルナンバー発生部は、上記ＵＳＢデバイスの不揮発性メモリに上記シリアルナンバーが記憶されておらず、かつ、上記キュー表示部により表示された一覧の中からユーザにより何れのキューも選択されなかった場合は、任意のシリアルナンバーを発生させる一方、上記ＵＳＢデバイスの不揮発性メモリに上記シリアルナンバーが記憶されておらず、かつ、上記キュー表示部により表示された一覧の中からユーザにより何れかのキューが選択された場合は、当該選択されたキューに対応するシリアルナンバーを発生させ、
上記キュー生成部は、上記シリアルナンバー発生部により上記任意のシリアルナンバーが発生された場合に、上記任意のシリアルナンバーに対応するキューを生成することを特徴とする請求項１に記載のＵＳＢ接続システム。
【請求項４】
上記ＵＳＢデバイスの不揮発性メモリに上記シリアルナンバーが記憶されていない上記ＵＳＢデバイスと上記ホストコンピュータとが上記ＵＳＢ端子を介して接続されたときに生成されるシリアルナンバーなしのキューを削除するキュー削除部を更に備え、
上記シリアルナンバー発生部は、上記キュー削除部により上記シリアルナンバーなしのキューが削除された後に、上記シリアルナンバーを発生させることを特徴とする請求項１〜３の何れか１項に記載のＵＳＢ接続システム。
【請求項５】
内部メモリに初期状態としてプロダクトＩＤおよびベンダーＩＤを保有するが固有のシリアルナンバーを保有していないＵＳＢデバイスとＵＳＢ端子を有するホストコンピュータとが上記ＵＳＢ端子を介して接続されたときに、上記ＵＳＢデバイスの不揮発性メモリにシリアルナンバーが記憶されているか否かを判定するシリアルナンバー判定手段、
上記ＵＳＢデバイスの不揮発性メモリにシリアルナンバーが記憶されていないと上記シリアルナンバー判定手段により判定された場合に、ユニークなシリアルナンバーを発生させるシリアルナンバー発生手段、
上記シリアルナンバー発生手段により発生されたシリアルナンバーを上記ＵＳＢデバイスの不揮発性メモリに記憶させるために上記シリアルナンバーを上記ＵＳＢデバイスに送信するシリアルナンバー送信手段、
上記シリアルナンバー発生手段により発生されたシリアルナンバーに対応するキューを生成するキュー生成手段、および
上記キュー生成手段により生成されたキューを上記ホストコンピュータの不揮発性メモリに記憶させるキュー記憶手段、
として上記ホストコンピュータを機能させるためのコンピュータ読み取り可能なプログラム。
【請求項６】
上記ホストコンピュータを機能させるための手段として、
上記シリアルナンバー発生手段により発生されたシリアルナンバーと、上記ホストコンピュータに接続されている上記ＵＳＢデバイスから取得した上記プロダクトＩＤおよび上記ベンダーＩＤとを、上記ＵＳＢデバイスのデバイス情報として上記ホストコンピュータの不揮発性メモリに記憶させるデバイス情報記録手段、および
上記ＵＳＢデバイスと上記ホストコンピュータとが上記ＵＳＢ端子を介して接続されたときに、当該接続された上記ＵＳＢデバイスから取得した上記プロダクトＩＤおよび上記ベンダーＩＤと、上記ホストコンピュータの不揮発性メモリに上記デバイス情報として記憶されているプロダクトＩＤおよびベンダーＩＤとが一致するか否かを判定するＩＤ判定手段を更に備え、
上記シリアルナンバー発生手段は、上記ＵＳＢデバイスの不揮発性メモリに上記シリアルナンバーが記憶されておらず、かつ、上記ＩＤ判定手段によりプロダクトＩＤおよびベンダーＩＤが一致すると判定されなかった場合は、任意のシリアルナンバーを発生させる一方、上記ＵＳＢデバイスの不揮発性メモリに上記シリアルナンバーが記憶されておらず、かつ、上記ＩＤ判定手段によりプロダクトＩＤおよびベンダーＩＤが一致すると判定された場合は、当該プロダクトＩＤおよびベンダーＩＤに対応して上記デバイス情報として記憶されているシリアルナンバーを発生させ、
上記キュー生成手段は、上記シリアルナンバー発生手段により上記任意のシリアルナンバーが発生された場合に、上記任意のシリアルナンバーに対応するキューを生成することを特徴とする請求項５に記載のコンピュータ読み取り可能なプログラム。
【請求項７】
上記ホストコンピュータを機能させるための手段として、
上記ＵＳＢデバイスと上記ホストコンピュータとが上記ＵＳＢ端子を介して接続されたときに、上記ホストコンピュータの不揮発性メモリに記憶されているキューの一覧を表示してユーザの選択を促すキュー表示手段を更に備え、
上記シリアルナンバー発生手段は、上記ＵＳＢデバイスの不揮発性メモリに上記シリアルナンバーが記憶されておらず、かつ、上記キュー表示手段により表示された一覧の中からユーザにより何れのキューも選択されなかった場合は、任意のシリアルナンバーを発生させる一方、上記ＵＳＢデバイスの不揮発性メモリに上記シリアルナンバーが記憶されておらず、かつ、上記キュー表示手段により表示された一覧の中からユーザにより何れかのキューが選択された場合は、当該選択されたキューに対応するシリアルナンバーを発生させ、
上記キュー生成手段は、上記シリアルナンバー発生手段により上記任意のシリアルナンバーが発生された場合に、上記任意のシリアルナンバーに対応するキューを生成することを特徴とする請求項５に記載のコンピュータ読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＵＳＢ接続システムおよびこれに用いるコンピュータ読み取り可能なプログラムに関し、特に、固有のシリアルナンバーを有さないＵＳＢデバイスとホストコンピュータとをＵＳＢ端子を介して接続可能に成されたＵＳＢ接続システムに用いて好適なものである。
【背景技術】
【０００２】
電子機器の多くは、識別情報としてベンダーＩＤ（製造メーカＩＤ）、プロダクトＩＤ（デバイスＩＤ＝製品ＩＤ）、シリアルナンバー（識別番号）を有している。ベンダーＩＤは、メーカごとに記号が異なっている。プロダクトＩＤは、製品（機種）ごとに記号が異なっている。シリアルナンバーは、機器１台ごとに番号が異なっている。一方、ＵＳＢ（Universal Serial Bus）端子を備えた電子機器（以下、ＵＳＢデバイスという）の規格においては、シリアルナンバーは必須でなく、シリアルナンバーを有さない機器も存在する。
【０００３】
シリアルナンバーを有するＵＳＢデバイスでは、ＵＳＢケーブルによりホストコンピュータと接続した場合、シリアルナンバーに対応するキューがホストコンピュータに生成され、ＵＳＢデバイスの使用設定（ＵＳＢデバイスからホストコンピュータへのドライバのインストールなど）が行われる。例えば、シリアルナンバーが「０００１」のＵＳＢデバイスをＵＳＢケーブルでホストコンピュータに接続した場合、ホストコンピュータに「シリアルナンバーあり“０００１”」というキューが生成され、ＵＳＢデバイスの使用設定が行われる。
【０００４】
一方、シリアルナンバーのないＵＳＢデバイスでは、ＵＳＢケーブルによりホストコンピュータと接続した場合、ＵＳＢケーブルを差し込んだホストコンピュータの端子（ＵＳＢポート）の位置に対応したキューが生成され、ＵＳＢデバイスの使用設定が行われる。例えば、シリアルナンバーのないＵＳＢデバイスに一端が接続されたＵＳＢケーブルの他端をホストコンピュータのＵＳＢポート１に差し込んだ場合、ホストコンピュータに「シリアルナンバーなし“ＵＳＢポート１”」というキューが生成され、ＵＳＢデバイスの使用設定が行われる。
【０００５】
このように、シリアルナンバーなしのＵＳＢデバイスがＵＳＢケーブルによりホストコンピュータに接続された場合、ホストコンピュータでは、ＵＳＢケーブルの差し込み位置（ＵＳＢポート）に対応させてシリアルナンバーなしのキューを生成する。すなわち、ＵＳＢポートによりキューを識別している。そのため、ホストコンピュータに対するＵＳＢケーブルの差し込み位置が変更されると、ホストコンピュータは、同じＵＳＢデバイスであっても全く別のＵＳＢデバイスと認識してキューの生成およびＵＳＢデバイスの使用設定を再度行うことになる。
【０００６】
例えば、ホストコンピュータに接続するＵＳＢデバイスがプリンタである場合を例にとって具体的に説明する。図８は、シリアルナンバーなしのプリンタがＵＳＢケーブルによりホストコンピュータに接続された場合に生成されるプリントキューの例を示す図である。最初に、シリアルナンバーを有さないプリンタをホストコンピュータのＵＳＢポート１に接続した場合、図８（ａ）に示すように、プリンタ１として「シリアルナンバーなし“ＵＳＢポート１”」のプリントキューが生成され、プリンタの使用設定が行われる。
【０００７】
次に、ホストコンピュータのＵＳＢポート１からＵＳＢポート２にＵＳＢケーブルを差し替えたとする（プリンタは同じものをそのまま使っている）。この場合は、図８（ｂ）に示すように、プリンタ１とは異なるプリンタ２として「シリアルナンバーなし“ＵＳＢポート２”」のプリントキューが新たに生成され、プリンタの使用設定が再度行われる。
【０００８】
このように、同じプリンタを使っているのに、ＵＳＢケーブルの差し込み位置を変えただけで、プリントキューの生成やドライバのインストールなどが再度行われてしまうという問題があった。また、プリンタ１が「通常使うプリンタ」に設定されていると、ホストコンピュータからの印刷データがプリンタ１のプリントキュー「シリアルナンバーなし“ＵＳＢポート１”」に出力されてしまう。そのため、ＵＳＢポート２に接続し直されたプリンタに対して印刷データが送られず、印刷ができなくなってしまうという問題もあった。
【０００９】
これに対して、シリアルナンバーのあるプリンタをホストコンピュータに接続した場合は、ホストコンピュータではシリアルナンバーに対応したプリントキューを生成している。そのため、ホストコンピュータに接続したＵＳＢケーブルの差し込み位置（ＵＳＢポート）を変更しても、先程まで使用していたプリンタを全く別の機器であると判断することはない（ＵＳＢポートとプリントキューとが対応付けられていない）。したがって、新たなプリントキューの生成やプリンタの使用設定が再び行われることはない。
【００１０】
しかし、シリアルナンバーのあるプリンタにも課題はある。すなわち、シリアルナンバーのあるプリンタには、１台１台に異なるシリアルナンバーが付与されている。このため、同じプロダクトＩＤが付与された同一機種であっても、ホストコンピュータに接続するプリンタを交換してしまうと、新たなプリンタのシリアルナンバーに対応したプリントキューが生成されてしまう。その結果、同一機種のプリンタに取り替えただけなのに、プリンタの使用設定が再度必要となってしまう。例えば、故障したプリンタを外して同一機種の別のプリンタをホストコンピュータに接続し直すと、新たなプリントキューの生成とプリンタの使用設定とが再度行われてしまうという問題があった。
【００１１】
なお、全機種のＵＳＢデバイスに対して共通のシリアルナンバーを付与しておくことにより、前に使ったものと同一機種の別のＵＳＢデバイスをホストコンピュータに接続し直した場合でも、あるいは、同じＵＳＢデバイスをホストコンピュータの異なるＵＳＢポートに接続し直した場合でも、新たなキューの生成やＵＳＢデバイスの使用設定をやり直す必要をなくすことができるようにした技術が提案されている（例えば、特許文献１参照）。この特許文献１に記載の技術では、同じシリアルナンバーのＵＳＢデバイスがホストコンピュータに２台接続された場合には、後から接続されたＵＳＢデバイスのシリアルナンバーの値をプラス１して共通のシリアルナンバーと異ならせることにより、２台のＵＳＢデバイスを識別できるようにしている。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２００６−２４３９８８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
しかしながら、上記特許文献１に記載の従来技術では、同じシリアルナンバーのＵＳＢデバイスがホストコンピュータに複数台接続される場合に、接続される順序によって各ＵＳＢデバイスのシリアルナンバーが変わってしまう。すなわち、前に複数台のＵＳＢデバイスを接続したときの接続順序と、その後改めて複数台のＵＳＢデバイスを接続し直したときの接続順序とが違っていると、前回と今回とで各ＵＳＢデバイスのシリアルナンバーが変わってしまう。
【００１４】
そのため、複数台のＵＳＢデバイスを接続し直したときに、既に生成されている複数のキュー（共通のシリアルナンバーおよびこれから変更された別のシリアルナンバーに対応したそれぞれのキュー）と複数台のＵＳＢデバイスとを常に正しく１：１に対応させることができない。よって、ホストコンピュータから出力されるデータが、ユーザの意図と異なるキューに蓄積されてしまうことがあるという問題があった。例えば、ＵＳＢデバイスがプリンタである場合を例にとって、この問題を具体的に説明する。
【００１５】
図９は、全機種のプリンタに対して共通のシリアルナンバーを有する２台のプリンタＡ，ＢをＵＳＢケーブルによりホストコンピュータに接続した場合に生成されるプリントキューを示す図である。最初に、共通のシリアルナンバー「０００１」を有するプリンタＡをＵＳＢケーブルによりホストコンピュータのＵＳＢポート１に接続したとする。この場合、図９（ａ）に示すように、プリンタ１として「共通シリアルナンバーあり“０００１”」のプリントキューが生成され、ホストコンピュータにプリンタＡの使用設定が行われる。
【００１６】
次に、プリンタＡと同一の機種で共通のシリアルナンバー「０００１」を有するプリンタＢをＵＳＢケーブルによりホストコンピュータのＵＳＢポート２に接続したとする。この場合、プリンタＢのシリアルナンバーの値がプラス１されて別のシリアルナンバー「０００２」が生成され、プリンタＢのＲＡＭ（揮発性メモリ）に格納される。また、図９（ｂ）に示すように、プリンタ２として「シリアルナンバーあり“０００２”」のプリントキューがホストコンピュータに生成され、ホストコンピュータにプリンタＢの使用設定が行われる。
【００１７】
その後、ホストコンピュータのＵＳＢポート１，２に２台のプリンタＡ，Ｂを接続したまま、各プリンタＡ，Ｂの電源を落としたとする。例えば、プリンタＡ，Ｂが業務用の場合、１日の業務終了時に各プリンタＡ，Ｂの電源を落とすことはよく行われる。このとき、プリンタＢのシリアルナンバー「０００２」はプリンタＢのＲＡＭから消去される。すなわち、プリンタＢのシリアルナンバーが元の共通のシリアルナンバー「０００１」に戻される。
【００１８】
そして、翌日の業務開始時にプリンタＡ，Ｂの電源を再び入れる。このとき、前日とは逆に、プリンタＢの電源を先に入れ、その後プリンタＡの電源を入れたとする。この場合は、先に電源を入れたプリンタＢは共通のシリアルナンバー「０００１」のままであり、後から電源を入れたプリンタＡについてはシリアルナンバーの値がプラス１されて別のシリアルナンバー「０００２」が生成され、プリンタＡのＲＡＭに格納される。これにより、プリンタＡ，Ｂのシリアルナンバーが前日とは逆の状態になる。
【００１９】
そのため、例えばユーザがプリンタＡに出力したと思っていた印刷データが、実際にはプリンタＢに対応するプリントキュー「共通シリアルナンバーあり“０００１”」に送信されてしまい、ユーザの意図と異なるプリントキューに印刷データが蓄積されてしまうという問題があった。
【００２０】
本発明は、このような問題を解決するために成されたものであり、固有のシリアルナンバーを有さないＵＳＢデバイスをホストコンピュータのどのＵＳＢポートに接続し直した場合でも、新たなキューを生成し直す必要をなくすことができるようにすることを目的とする。
また、本発明は、上記目的に加え、固有のシリアルナンバーを有さないＵＳＢデバイスで前に接続したものと同一機種のＵＳＢデバイスをホストコンピュータに接続し直した場合でも、新たなキューを生成し直す必要をなくすことができるようにすることを目的とする。
さらに、本発明は、上記目的に加え、固有のシリアルナンバーを有さない複数台のＵＳＢデバイスをホストコンピュータに接続した場合でも、ホストコンピュータから出力されたデータがユーザの意図と異なるキューに蓄積されることをなくすことができるようにすることを目的とする。
【課題を解決するための手段】
【００２１】
上記した課題を解決するために、本発明では、固有のシリアルナンバーを有さないＵＳＢデバイスとホストコンピュータとがＵＳＢ端子を介して接続されたときに、当該ＵＳＢデバイスの不揮発性メモリにシリアルナンバーがまだ記憶されていない場合には、ユニークなシリアルナンバーを発生させてＵＳＢデバイスの不揮発性メモリに記憶させるようにしている。
【００２２】
本発明の他の態様では、固有のシリアルナンバーを有さないＵＳＢデバイスとホストコンピュータとがＵＳＢ端子を介して接続されたときに、ＵＳＢデバイスに格納されているプロダクトＩＤおよびベンダーＩＤと、過去に発生されたシリアルナンバーと対応付けてホストコンピュータに格納されているプロダクトＩＤおよびベンダーＩＤとが一致する場合には、そのプロダクトＩＤおよびベンダーＩＤに対応付けられたシリアルナンバーを発生させてＵＳＢデバイスの不揮発性メモリに記憶させるようにしている。
【００２３】
また、本発明の他の態様では、固有のシリアルナンバーを有さないＵＳＢデバイスとホストコンピュータとがＵＳＢ端子を介して接続されたときに、ホストコンピュータに既に登録されているキューの一覧を表示してユーザの選択を促し、一覧の中から何れかのキューが選択された場合には、その選択されたキューに対応付けられたシリアルナンバーを発生させてＵＳＢデバイスの不揮発性メモリに記憶させるようにしている。
【発明の効果】
【００２４】
上記のように構成した本発明によれば、固有のシリアルナンバーを有さないＵＳＢデバイスであっても、これをホストコンピュータに接続するとシリアルナンバーがＵＳＢデバイスに付与される。その結果、当該シリアルナンバーに対応するキューがホストコンピュータに生成される。つまり、生成されるキューは、ホストコンピュータのＵＳＢ端子の接続位置（ＵＳＢポート）と対応付けられるのではなく、シリアルナンバーと対応付けられることとなる。
【００２５】
これにより、ホストコンピュータに接続するＵＳＢポートを変更しても、ホストコンピュータはＵＳＢデバイスのシリアルナンバーに基づいて、前は別のＵＳＢポートに接続されていたものと同じＵＳＢデバイスが接続されたものと認識することができるようになる。したがって、固有のシリアルナンバーを有さないＵＳＢデバイスをホストコンピュータのどのＵＳＢポートに接続し直した場合でも、新たなキューを生成し直す必要をなくすことができる。
【００２６】
また、本発明によれば、固有のシリアルナンバーを有さない複数のＵＳＢデバイスをホストコンピュータに接続すると、それぞれのＵＳＢデバイスに対して別のシリアルナンバーが付与される。その結果、ホストコンピュータに生成されるそれぞれのキューは、ホストコンピュータのＵＳＢポートやＵＳＢデバイスがホストコンピュータに接続する順番と対応付けられるのではなく、それぞれのシリアルナンバーと対応付けられることとなる。
【００２７】
これにより、固有のシリアルナンバーを有さない複数のＵＳＢデバイスをホストコンピュータに接続した場合でも、ホストコンピュータは、ＵＳＢデバイスの接続順とは関係なく、個々のシリアルナンバーに基づいて、複数台のＵＳＢデバイスと既に生成されている複数のシリアルナンバーに対応したキューとを常に正しく１：１に対応させることができるようになる。したがって、ホストコンピュータから出力されたデータがユーザの意図と異なるキューに蓄積されることをなくすことができる。
【００２８】
本発明の他の特徴によれば、以前シリアルナンバーを発生したときに接続されていたＵＳＢデバイスと同じプロダクトＩＤおよびベンダーＩＤを持つ別のＵＳＢデバイスが新たに接続された場合には、そのプロダクトＩＤおよびベンダーＩＤに対応付けられた以前と同じシリアルナンバーがＵＳＢデバイスに付与される。また、前にＵＳＢデバイスを接続したときに発生されたシリアルナンバーに対応するキューが、今回接続しているＵＳＢデバイスと同じ機種に関するキューであるとしてユーザにより一覧の中から選択された場合には、そのキューに対応付けられた以前と同じシリアルナンバーがＵＳＢデバイスに付与される。
【００２９】
これにより、ホストコンピュータに接続するＵＳＢデバイスを以前と同じ機種の別のＵＳＢデバイスに変更した場合であっても、ホストコンピュータはシリアルナンバーに基づいて、前に接続されていたものと同じ機種のＵＳＢデバイスが新たに接続されたものと認識することができるようになる。したがって、固有のシリアルナンバーを有さないＵＳＢデバイスで前に接続したものと同一機種のＵＳＢデバイスをホストコンピュータに接続し直した場合でも、新たなキューを生成し直す必要をなくすことができる。
【図面の簡単な説明】
【００３０】
【図１】第１の実施形態によるＵＳＢ接続システムのハードウェア構成例を示す図である。
【図２】第１の実施形態によるＵＳＢ接続システムの機能構成例を示す図である。
【図３】第１の実施形態によるＵＳＢ接続システムの動作例を示すフローチャートである。
【図４】第１の実施形態によるＵＳＢ接続システムにおいて生成されるプリントキューの例を示す図である。
【図５】第２の実施形態によるＵＳＢ接続システムのハードウェア構成例を示す図である。
【図６】第２の実施形態によるＵＳＢ接続システムの機能構成例を示す図である。
【図７】第２の実施形態によるＵＳＢ接続システムの動作例を示すフローチャートである。
【図８】従来技術においてシリアルナンバーなしのプリンタがホストコンピュータに接続された場合に生成されるプリントキューを示す図である。
【図９】従来技術において２台のプリンタをホストコンピュータに接続した場合に生成されるプリントキューを示す図である。
【発明を実施するための形態】
【００３１】
以下、本発明の一実施形態を図面に基づいて説明する。図１は、第１の実施形態によるＵＳＢ接続システムのハードウェア構成例を示す図である。図１に示すように、第１の実施形態によるＵＳＢ接続システムは、ＵＳＢデバイスであるプリンタ１０と、複数のＵＳＢ端子（ＵＳＢポート）を有するホストコンピュータ２０とを備え、ＵＳＢケーブル３０を介してプリンタ１０とホストコンピュータ２０とが接続可能に成されている。
【００３２】
プリンタ１０は、ＣＰＵ１１、ＲＡＭ１２、ＲＯＭ１３、ＥＥＰＲＯＭ１４およびＵＳＢコントローラ１５を備えている。ＣＰＵ１１は、ＲＡＭ１２をワークメモリとして使用しながら、ＲＯＭ１３に格納されている各種プログラムに従って所定の処理を実行する。ＲＯＭ１３は、シリアルナンバー記録プログラム、デバイス情報送信プログラムなどを記憶した各種プログラム記憶部１３ａと、ＩＤ記憶部１３ｂとを有している。
【００３３】
各種プログラム記憶部１３ａに記憶された各種プログラムの内容については後述する。ＩＤ記憶部１３ｂは、本発明の内部メモリに相当するものであり、プリンタ１０の機種を表すプロダクトＩＤと製造者を示すベンダーＩＤとをあらかじめ記憶している。なお、本実施形態ではプリンタ１０に固有のシリアルナンバーはあらかじめ記憶していない。
【００３４】
ＥＥＰＲＯＭ１４は、本発明の不揮発性メモリに相当するものであり、シリアルナンバー記憶部１４ａを有している。なお、ＥＥＰＲＯＭ１４の代わりに、ハードディスクなど他の不揮発性メモリを用いても良い。ＵＳＢコントローラ１５は、ＵＳＢケーブル３０を介してホストコンピュータ２０との間で行う通信を制御する。
【００３５】
ホストコンピュータ２０は、ＣＰＵ２１、ＲＡＭ２２、ハードディスク２３およびＵＳＢコントローラ２４を備えている。ＣＰＵ２１は、ＲＡＭ２２をワークメモリとして使用しながら、ハードディスク２３に格納されている各種プログラムに従って所定の処理を実行する。
【００３６】
ハードディスク２３は、本発明の不揮発性メモリに相当するものであり、デバイス情報受信プログラム、キュー生成プログラム、キュー記録プログラム、キュー削除プログラム、シリアルナンバー判定プログラム、ＩＤ判定プログラム、シリアルナンバー発生プログラム、シリアルナンバー送信プログラム、デバイス情報記録プログラムなどを記憶した各種プログラム記憶部２３ａと、デバイス情報記憶部２３ｂと、キュー記憶部２３ｃとを有している。なお、ハードディスク２３の代わりに、ＥＥＰＲＯＭなど他の不揮発性メモリを用いても良い。ＵＳＢコントローラ２４は、ＵＳＢケーブル３０を介してプリンタ１０との間で行う通信を制御する。
【００３７】
図２は、第１の実施形態によるＵＳＢ接続システムを構成するプリンタ１０およびホストコンピュータ２０の機能構成例を示す図である。図２に示すように、第１の実施形態によるプリンタ１０は、その機能構成として、シリアルナンバー記録部１０１およびデバイス情報送信部１０２を備えている。ここで、シリアルナンバー記録部１０１は、図１のＣＰＵ１１および各種プログラム記憶部１３ａに記憶されたシリアルナンバー記録プログラムにより構成される。デバイス情報送信部１０２は、ＣＰＵ１１および各種プログラム記憶部１３ａに記憶されたデバイス情報送信プログラムにより構成される。
【００３８】
また、第１の実施形態によるホストコンピュータ２０は、その機能構成として、デバイス情報受信部２００、キュー生成部２０１、キュー記録部２０２、キュー削除部２０３、デバイス情報記録部２０４、ＩＤ判定部２０５、シリアルナンバー発生部２０６およびシリアルナンバー送信部２０７を備えている。ここで、デバイス情報受信部２００は、図１のＣＰＵ２１および各種プログラム記憶部２３ａに記憶されたデバイス情報受信プログラム、シリアルナンバー判定プログラムにより構成される。
【００３９】
キュー生成部２０１は、ＣＰＵ２１および各種プログラム記憶部２３ａに記憶されたキュー生成プログラムにより構成される。キュー記録部２０２は、ＣＰＵ２１および各種プログラム記憶部２３ａに記憶されたキュー記録プログラムにより構成される。キュー削除部２０３は、ＣＰＵ２１および各種プログラム記憶部２３ａに記憶されたキュー削除プログラムにより構成される。デバイス情報記録部２０４は、ＣＰＵ２１および各種プログラム記憶部２３ａに記憶されたデバイス情報記録プログラムにより構成される。
【００４０】
ＩＤ判定部２０５は、ＣＰＵ２１および各種プログラム記憶部２３ａに記憶されたＩＤ判定プログラムにより構成される。シリアルナンバー発生部２０６は、ＣＰＵ２１および各種プログラム記憶部２３ａに記憶されたシリアルナンバー発生プログラムにより構成される。シリアルナンバー送信部２０７は、ＣＰＵ２１および各種プログラム記憶部２３ａに記憶されたシリアルナンバー送信プログラムにより構成される。
【００４１】
プリンタ１０のシリアルナンバー記録部１０１は、ホストコンピュータ２０の  シリアルナンバー発生部２０６により発生されたシリアルナンバーをホストコンピュータ２０から取得してシリアルナンバー記憶部１４ａに記憶させる。
【００４２】
デバイス情報送信部１０２は、シリアルナンバー記憶部１４ａにシリアルナンバーが記憶されていないプリンタ１０とホストコンピュータ２０とが接続されたとき（プリンタ１０がＵＳＢケーブル３０によりホストコンピュータ２０に接続されたときの他、プリンタ１０がＵＳＢケーブル３０によりホストコンピュータ２０に接続された状態でプリンタ１０の電源がオンになったときを含む。以下同様。）、ＩＤ記憶部１３ｂに保有されているプロダクトＩＤおよびベンダーＩＤを、プリンタ１０のデバイス情報としてホストコンピュータ２０に送信する。
【００４３】
また、デバイス情報送信部１０２は、後述するようにプリンタ１０のリセットが行われた場合には、プリンタ１０の起動後に、シリアルナンバー記録部１０１によりシリアルナンバー記憶部１４ａに記憶されたシリアルナンバー（ホストコンピュータ２０のシリアルナンバー発生部２０６により発生されたもの）と、ＩＤ記憶部１３ｂに記憶されているプロダクトＩＤおよびベンダーＩＤとを、プリンタ１０のデバイス情報としてホストコンピュータ２０に送信する。
【００４４】
ホストコンピュータ２０のデバイス情報受信部２００は、プリンタ１０とホストコンピュータ２０とが接続されたときに、デバイス情報送信部１０２によりプリンタ１０から送信されたデバイス情報を受信する。そして、受信したデバイス情報の中にシリアルナンバーが含まれているか否か（すなわち、プリンタ１０のシリアルナンバー記憶部１４ａにシリアルナンバーが記憶されているか否か）を判定する。
【００４５】
デバイス情報の中にシリアルナンバーが含まれていない場合、デバイス情報受信部２００は、キュー生成部２０１により生成されるシリアルナンバーなしのプリントキューの削除命令をキュー削除部２０３に出力するとともに、シリアルナンバーの発生命令をシリアルナンバー発生部２０６に出力する。一方、デバイス情報の中にシリアルナンバーが含まれている場合、デバイス情報受信部２００は、シリアルナンバーに対応したプリントキューの生成命令をキュー生成部２０１に出力する。
【００４６】
キュー生成部２０１は、シリアルナンバーを有さないプリンタ１０とホストコンピュータ２０とが接続されたときに、シリアルナンバーなしのプリントキューを生成する。また、キュー生成部２０１は、その後プリンタ１０のリセットが行われた場合には、プリンタ１０の起動後にデバイス情報送信部１０２によりプリンタ１０から送られてくるデバイス情報を用いて、そのデバイス情報に含まれるシリアルナンバー（シリアルナンバー発生部２０６により発生されたもの）に対応したプリントキューを生成する。
【００４７】
このキュー生成部２０１は、ホストコンピュータ２０のハードディスク２３に記憶されたオペレーティングシステム（ＯＳ）の機能により、プリンタ１０がホストコンピュータ２０に接続されたときにプリントキューを自動的に生成する。
【００４８】
このため、キュー生成部２０１は、シリアルナンバーのないプリンタ１０がホストコンピュータ２０に接続されると、ＵＳＢケーブル３０が接続されたホストコンピュータ２０のＵＳＢポートに対応したシリアルナンバーなしのプリントキュー（例えば、プリンタ１０をホストコンピュータ２０のＵＳＢポート１に接続した場合は、「シリアルナンバーなし“ＵＳＢポート１”」のプリントキュー）を生成する。
【００４９】
また、キュー生成部２０１は、シリアルナンバーのあるプリンタ１０がホストコンピュータ２０に接続されると、キュー記憶部２３ｃを参照してそのシリアルナンバーに対応したプリントキューが既に登録されているか否かを判定する。そして、未登録の場合は、シリアルナンバーに対応したプリントキューを生成する。本実施形態では、プリンタ１０のリセットが行われる時点で、シリアルナンバーがシリアルナンバー記憶部１４ａに記憶されており、これがデバイス情報としてプリンタ１０から送られてくる。したがって、リセットによるプリンタ１０の再起動によってホストコンピュータ２０に対するプラグインが行われると、キュー生成部２０１は、シリアルナンバー記憶部１４ａに記憶されているシリアルナンバー（デバイス情報受信部２００によりデバイス情報として受信したもの）に対応したプリントキューを生成する。
【００５０】
キュー記録部２０２は、キュー生成部２０１により生成されたプリントキューをキュー記憶部２３ｃに記憶させる。キュー削除部２０３は、デバイス情報受信部２００からキュー削除命令を受けて、プリンタ１０とホストコンピュータ２０とが接続されたときにキュー生成部２０１により生成されキュー記録部２０２によってキュー記憶部２３ｃに記憶されたシリアルナンバーなしのプリントキューをキュー記憶部２３ｃから削除する。
【００５１】
上述のように、シリアルナンバーのないプリンタ１０がホストコンピュータ２０に接続されると、シリアルナンバーなしのプリントキューがキュー生成部２０１により生成される。キュー削除部２０３は、このようにして作成されたシリアルナンバーなしのプリントキューを直ちに削除する。
【００５２】
デバイス情報記録部２０４は、プリンタ１０のリセットが行われたときにデバイス情報送信部１０２によりプリンタ１０から送られてくるデバイス情報（シリアルナンバー発生部２０６により発生されたシリアルナンバー、並びにＩＤ記憶部１３ｂに記憶されているプロダクトＩＤおよびベンダーＩＤ）をデバイス情報記憶部２３ｂに記憶させる。なお、デバイス情報記憶部２３ｂに記憶されるデバイス情報と、キュー記憶部２３ｃに記憶されるシリアルナンバーなしのプリントキューとは、プロダクトＩＤおよびベンダーＩＤによって関連付けられる。また、デバイス情報記憶部２３ｂに記憶されるデバイス情報と、キュー記憶部２３ｃに記憶されるシリアルナンバーありのプリントキューとは、シリアルナンバーによって関連付けられる。
【００５３】
ＩＤ判定部２０５は、シリアルナンバーを有さないプリンタ１０とホストコンピュータ２０とが接続されたとき（具体的には、キュー削除部２０３によりシリアルナンバーなしのプリントキューが削除された後）に、プロダクトＩＤおよびベンダーＩＤの一致判定を行うことにより、ホストコンピュータ２０に対してこれまでに同一機種のプリンタ１０が接続されたことがあるか否かを判定する。すなわち、ＩＤ判定部２０５は、プリンタ１０のＩＤ記憶部１３ｂに記憶されているプロダクトＩＤおよびベンダーＩＤ（デバイス情報送信部１０２によりデバイス情報としてプリンタ１０から送られてきてデバイス情報受信部２００により受信されたもの）と、ホストコンピュータ２０のデバイス情報記憶部２３ｂにデバイス情報として記憶されているプロダクトＩＤおよびベンダーＩＤ（過去に記憶されたもの）とが一致するか否かを判定する。そして、その一致判定の結果をシリアルナンバー発生部２０６に通知する。
【００５４】
シリアルナンバー発生部２０６は、プリンタ１０のシリアルナンバー記憶部１４ａにシリアルナンバーが記憶されていないとデバイス情報受信部２００にて判定された場合に、デバイス情報受信部２００からシリアルナンバー発生命令を受けて、キュー削除部２０３によりシリアルナンバーなしのキューが削除された後に、ユニークなシリアルナンバーを発生させる。
【００５５】
ここで、シリアルナンバー発生部２０６は、ＩＤ判定部２０５から通知される判定の結果に応じて、シリアルナンバーの発生方法を変える。すなわち、ＩＤ判定部２０５によりプロダクトＩＤおよびベンダーＩＤが一致すると判定されなかった場合、シリアルナンバー発生部２０６は任意のシリアルナンバーを発生させる。例えば、乱数の発生によりランダムなシリアルナンバーを発生させる。このように、任意の乱数に基づいてシリアルナンバーを発生することにより、シリアルナンバーが重複する可能性を小さくすることができる。
【００５６】
一方、ＩＤ判定部２０５によりプロダクトＩＤおよびベンダーＩＤが一致すると判定された場合、シリアルナンバー発生部２０６は、当該一致したプロダクトＩＤおよびベンダーＩＤに対応してデバイス情報としてデバイス情報記憶部２３ｂに記憶されている、ホストコンピュータ２０で認識済みのシリアルナンバーを発生させる。上述のキュー生成部２０１は、シリアルナンバー発生部２０６により任意のシリアルナンバーが新たに発生された場合に、当該任意のシリアルナンバーに対応するプリントキューを生成する。
【００５７】
シリアルナンバー送信部２０７は、シリアルナンバー発生部２０６により発生されたシリアルナンバーを、ＵＳＢケーブル３０を介してプリンタ１０に送信する。上述のように、プリンタ１０のシリアルナンバー記録部１０１は、シリアルナンバー送信部２０７によりホストコンピュータ２０から送信されたシリアルナンバーをシリアルナンバー記憶部１４ａに記憶させる。
【００５８】
次に、上記のように構成した第１の実施形態によるＵＳＢ接続システムの動作を説明する。図３は、第１の実施形態によるＵＳＢ接続システムの動作例を示すフローチャートである。図３に示すフローチャートは、プリンタ１０とホストコンピュータ２０とが接続されたときに開始する。図４は、第１の実施形態によるＵＳＢ接続システムにおいて生成されるプリントキューの例を示す図である。以下、図３および図４を用いてＵＳＢ接続システムの動作を説明する。
【００５９】
図３において、ホストコンピュータ２０にプリンタ１０が接続されたことをホストコンピュータ２０が認識すると（ステップＳ１）、ホストコンピュータ２０は、プリンタ１０からデバイス情報を取得する（ステップＳ２）。すなわち、プリンタ１０のデバイス情報送信部１０２は、ＩＤ記憶部１３ｂに記憶されているプロダクトＩＤおよびベンダーＩＤと、シリアルナンバー記憶部１４ａにシリアルナンバーが記憶されているときはそのシリアルナンバーとを、プリンタ１０のデバイス情報としてホストコンピュータ２０に送信する。ホストコンピュータ２０のデバイス情報受信部２００は、このデバイス情報を受信する。ここでは、シリアルナンバーのないプリンタ１０をホストコンピュータ２０に接続したものとする。この場合、デバイス情報受信部２００は、シリアルナンバーを含まずプロダクトＩＤおよびベンダーＩＤを含んだデバイス情報をプリンタ１０から受信する。
【００６０】
デバイス情報を受信したデバイス情報受信部２００は、当該デバイス情報の中にシリアルナンバーが含まれているか否かを判定する（ステップＳ３）。シリアルナンバーが含まれていない場合、キュー生成部２０１は、シリアルナンバーなしのプリントキューを生成する（ステップＳ４）。例えば、プリンタ１０がホストコンピュータ２０のＵＳＢポート１に接続されていた場合、キュー生成部２０１は、図４（ａ）に示すように「シリアルナンバーなし“ＵＳＢポート１”」というプリントキューを生成する。そして、キュー記録部２０２は、キュー生成部２０１により生成されたプリントキューをキュー記憶部２３ｃに記憶させる。
【００６１】
その後、キュー削除部２０３は、図４（ｂ）に示すように、キュー記憶部２３ｃに記憶されたシリアルナンバーなしのプリントキューを削除する（ステップＳ５）。次に、ＩＤ判定部２０５は、ホストコンピュータ２０に対してこれまでに同一機種のプリンタ１０が接続されたことがあるか否かを判定する。すなわち、ＩＤ判定部２０５は、デバイス情報受信部２００にて受信したプロダクトＩＤおよびベンダーＩＤ（プリンタ１０のＩＤ記憶部１３ｂに記憶されているもの）と、ホストコンピュータ２０のデバイス情報記憶部２３ｂにデバイス情報として記憶されているプロダクトＩＤおよびベンダーＩＤ（過去に記憶されたもの）とが一致するか否かを判定する（ステップＳ６）。
【００６２】
ここで、プロダクトＩＤおよびベンダーＩＤが一致すると判定されなかった場合、つまり、プリンタ１０のプロダクトＩＤおよびベンダーＩＤと同一のプロダクトＩＤおよびベンダーＩＤがデバイス情報記憶部２３ｂに記憶されていなかった場合は、シリアルナンバー発生部２０６は、任意のシリアルナンバーを発生させる（ステップＳ７）。一方、プロダクトＩＤおよびベンダーＩＤが一致すると判定された場合、つまり、プリンタ１０のプロダクトＩＤおよびベンダーＩＤと同一のプロダクトＩＤおよびベンダーＩＤがデバイス情報記憶部２３ｂに記憶されていた場合は、シリアルナンバー発生部２０６は、当該一致したプロダクトＩＤおよびベンダーＩＤに対応してデバイス情報としてデバイス情報記憶部２３ｂに記憶されている、ホストコンピュータ２０で認識済みのシリアルナンバーを発生させる（ステップＳ８）。ここでは、そのプロダクトＩＤで示される機種のプリンタ１０を初めてホストコンピュータ２０に接続したものとする。この場合、シリアルナンバー発生部２０６は、任意のシリアルナンバー（例えば、「４８６９」という乱数）を発生させる。
【００６３】
シリアルナンバー送信部２０７は、シリアルナンバー発生部２０６により発生されたシリアルナンバーをプリンタ１０に送信する（ステップＳ９）。プリンタ１０のシリアルナンバー記録部１０１は、シリアルナンバー送信部２０７によりホストコンピュータ２０から送られてきたシリアルナンバーを取得してシリアルナンバー記憶部１４ａに記憶させる（ステップＳ１０）。その後、プリンタ１０をリセットする（ステップＳ１１）。プリンタ１０のリセットは、ホストコンピュータ２０からリセット信号を送信することによって行うようにしても良いし、プリンタ１０が自身でリセットをかけるようにしても良い。
【００６４】
プリンタ１０をリセットした後は、ステップＳ１の処理に戻る。すなわち、リセットによりプリンタ１０が再起動すると、ホストコンピュータ２０はプリンタ１０が接続されたと再認識する（ステップＳ１）。それに応じてホストコンピュータ２０は、プリンタ１０からデバイス情報を受信する（ステップＳ２）。さらに、デバイス情報を受信したデバイス情報受信部２００は、当該デバイス情報の中にシリアルナンバーが含まれているか否かを判定する（ステップＳ３）。
【００６５】
この段階では、ステップＳ１０においてシリアルナンバー記憶部１４ａに記憶されたシリアルナンバー「４８６９」がプロダクトＩＤと共にデバイス情報中に含まれているので、デバイス情報受信部２００は、デバイス情報の中にシリアルナンバーが含まれていると判定する。この場合、キュー生成部２０１は、そのシリアルナンバーに対応するプリントキューが既にキュー記憶部２３ｃに記憶されているか否かを判定する（ステップＳ１２）。そのシリアルナンバーに対応するプリントキューが既にキュー記憶部２３ｃに記憶されていれば、図３に示すフローチャートの処理を終了する。
【００６６】
一方、そのシリアルナンバーに対応するプリントキューがまだキュー記憶部２３ｃに記憶されていない場合、キュー生成部２０１は、図４（ｃ）に示すように「シリアルナンバーあり“４８６９”」という新たなプリントキューを生成する。そして、キュー記録部２０２は、キュー生成部２０１により生成されたプリントキューをキュー記憶部２３ｃに記憶させる（ステップＳ１４）。また、デバイス情報記録部２０４は、シリアルナンバー「４８６９」とプロダクトＩＤおよびベンダーＩＤとを対応付けたデバイス情報をデバイス情報記憶部２３ｂに記憶させて（ステップＳ１５）、図３に示すフローチャートの処理を終了する。
【００６７】
以上詳しく説明したように、第１の実施形態によれば、固有のシリアルナンバーを有さないプリンタ１０で、過去に接続したことがない初めての機種のプリンタ１０をホストコンピュータ２０に接続すると、ホストコンピュータ２０にて任意のシリアルナンバーが発生され（ステップＳ７）、それがプリンタ１０に付与されて不揮発性メモリであるシリアルナンバー記憶部１４ａに記憶される（ステップＳ１０）。そして、プリンタ１０のリセットによる再起動後に、当該任意のシリアルナンバーに対応するプリントキューがホストコンピュータ２０に生成される（ステップＳ１３）。
【００６８】
これにより、ＵＳＢケーブル３０を接続するホストコンピュータ２０のＵＳＢポートを変更しても（例えば、ＵＳＢポート１からＵＳＢポート２にＵＳＢケーブル３０を差し替えても）、ホストコンピュータ２０はシリアルナンバーに基づいて、前はＵＳＢポート１に接続されていたものと同じプリンタ１０が接続されたものと認識することができるようになる。
【００６９】
すなわち、ＵＳＢポートの差し替えによって図３のフローチャートがステップＳ１から行われた場合、プリンタ１０には任意のシリアルナンバーが付与されているので、ステップＳ３からステップＳ１２に進む。また、その任意のシリアルナンバーに対応するプリントキューが既に生成されているので、新たにプリントキューを生成することなく、図３に示すフローチャートの処理を終了する。したがって、元々は固有のシリアルナンバーを有さないプリンタ１０をホストコンピュータ２０のどのＵＳＢポートに接続し直した場合でも、新たなプリントキューを生成し直す必要をなくすことができる。したがって、ホストコンピュータ２０から出力されたデータがユーザの意図と異なるプリントキューに蓄積されることをなくすことができる。
【００７０】
また、例えば、ＵＳＢポート１に接続されたプリンタ１０（任意のシリアルナンバー「４８６９」が付与されたもの）が故障したため、当該故障したプリンタ１０をＵＳＢポート１から外して、同一機種の別のプリンタ１０を新たにＵＳＢポート１に接続したとする。この場合も、取り替えたプリンタ１０について、図３のステップＳ１〜Ｓ１５の処理が同様に行われる。
【００７１】
ただし、この場合は、故障したプリンタ１０と取り替えた別のプリンタ１０とが同一機種で同じプロダクトＩＤおよびベンダーＩＤを持つため、そのプロダクトＩＤおよびベンダーＩＤに対応するシリアルナンバー「４８６９」がシリアルナンバー発生部２０６により発生される（ステップＳ８）。この場合、そのシリアルナンバーに対応した「シリアルナンバーあり“４８６９”」というプリントキューが既にキュー記憶部２３ｃに記憶されているため、ステップＳ１３で新たなプリントキューは生成されない。
【００７２】
このように、ホストコンピュータ２０に接続するプリンタ１０を以前と同じ機種の別のプリンタ１０に変更した場合、ホストコンピュータ２０はシリアルナンバーに基づいて、前に接続されていたものと同じ機種のプリンタ１０が新たに接続されたものと認識することができる。したがって、元々は固有のシリアルナンバーを有さないプリンタ１０で前に接続したものと同一機種のプリンタ１０をホストコンピュータ２０に接続し直した場合でも、新たなプリントキューを生成し直す必要をなくすことができる。したがって、ホストコンピュータ２０から出力されたデータがユーザの意図と異なるプリントキューに蓄積されることをなくすことができる。
【００７３】
また、第１の実施形態では、固有のシリアルナンバーを有さないプリンタ１０をホストコンピュータ２０に接続した際に生成されるシリアルナンバーなしのプリントキューを、キュー削除部２０３により削除するようにしている。実際には使用することのないプリントキューが存在すると、どのプリントキューを利用しているのかについてユーザが混乱することがある。第１の実施形態では、使用することのないシリアルナンバーなしのプリントキューを削除しているため、ユーザがどのプリントキューを使用するかについて混乱を生じさせないようにすることができる。
【００７４】
次に、本発明の第２の実施形態を図面に基づいて説明する。図５は、第２の実施形態によるＵＳＢ接続システムのハードウェア構成例を示す図である。なお、この図５において、図１に示した符号と同一の符号を付したものは同一の機能を有するものであるので、ここでは重複する説明を省略する。図５に示すように、ホストコンピュータ２０は、表示コントローラ２５、ディスプレイ２６、入力コントローラ２７および操作部２８を更に備えている。また、ホストコンピュータ２０の各種プログラム記憶部２３ａは、ＩＤ判定プログラムに代えて、キュー表示プログラムおよびキュー選択受付プログラムを備えている。
【００７５】
表示コントローラ２５は、各種プログラム記憶部２３ａに記憶されたキュー表示プログラムの処理に基づきＣＰＵ２１から与えられる命令に従って、ディスプレイ２６に対する情報の表示を制御する。入力コントローラ２７は、各種プログラム記憶部２３ａに記憶されたキュー選択受付プログラムの処理に基づきＣＰＵ２１から与えられる命令に従って、ユーザが操作部２８を操作して行った情報の入力を制御する。
【００７６】
図６は、第２の実施形態によるＵＳＢ接続システムを構成するプリンタ１０およびホストコンピュータ２０の機能構成例を示す図である。なお、この図６において、図２に示した符号と同一の符号を付したものは同一の機能を有するものであるので、ここでは重複する説明を省略する。図６に示すように、第２の実施形態によるホストコンピュータ２０は、その機能構成として、図２に示したＩＤ判定部２０５に代えて、キュー表示部２１０およびキュー選択受付部２１１を備えている。また、第２の実施形態によるホストコンピュータ２０は、図２に示したシリアルナンバー発生部２０６に代えて、シリアルナンバー発生部２０６’を備えている。
【００７７】
ここで、キュー表示部２１０は、ＣＰＵ２１、表示コントローラ２５および各種プログラム記憶部２３ａに記憶されたキュー表示プログラムにより構成される。キュー選択受付部２１１は、ＣＰＵ２１、入力コントローラ２７および各種プログラム記憶部２３ａに記憶されたキュー選択受付プログラムにより構成される。シリアルナンバー発生部２０６’は、ＣＰＵ２１および各種プログラム記憶部２３ａに記憶されたシリアルナンバー発生プログラムにより構成される。なお、第２の実施形態によるシリアルナンバー発生プログラムは、第１の実施形態によるシリアルナンバー発生プログラムとは処理内容が異なっている。
【００７８】
キュー表示部２１０は、固有のシリアルナンバーを有さないプリンタ１０とホストコンピュータ２０とが接続されたときに、ホストコンピュータ２０のキュー記憶部２３ｃに記憶されているプリントキューの一覧をディスプレイ２６に表示してユーザの選択を促す。
【００７９】
キュー選択受付部２１１は、キュー表示部２１０によりディスプレイ２６に表示されたプリントキューの一覧の中からプリントキューをユーザが操作部２８により選択する操作を受け付ける。キュー選択受付部２１１は、何れかのプリントキューを選択するユーザ操作を受け付けた場合、選択されたプリントキューをシリアルナンバー発生部２０６’に通知する。一方、プリントキューを選択するユーザ操作を受け付けなかった場合、キュー選択受付部２１１は、プリントキューが選択されなかった旨をシリアルナンバー発生部２０６’に通知する。
【００８０】
シリアルナンバー発生部２０６’は、プリンタ１０のシリアルナンバー記憶部１４ａにシリアルナンバーが記憶されていない（プリンタ１０から受信したデバイス情報の中にシリアルナンバーが含まれていない）ことがデバイス情報受信部２００により判定され、かつ、キュー表示部２１０により表示された一覧の中からユーザにより何れのプリントキューも選択されなかったことがキュー選択受付部２１１より通知された場合は、任意のシリアルナンバーを発生させる。
【００８１】
また、シリアルナンバー発生部２０６’は、プリンタ１０のシリアルナンバー記憶部１４ａにシリアルナンバーが記憶されていないことがデバイス情報受信部２００により判定され、かつ、キュー表示部２１０により表示された一覧の中からユーザにより選択されたプリントキューがキュー選択受付部２１１より通知された場合は、当該選択されたプリントキューに対応するシリアルナンバーを発生させる。すなわち、シリアルナンバー発生部２０６’は、選択されたプリントキューに対応するシリアルナンバーを、キュー記憶部２３ｃに記憶されているプリントキューを参照することによって特定し、特定したシリアルナンバーを発生させる。
【００８２】
次に、上記のように構成した第２の実施形態によるＵＳＢ接続システムの動作を説明する。図７は、第２の実施形態によるＵＳＢ接続システムの動作例を示すフローチャートである。図７に示すフローチャートは、プリンタ１０とホストコンピュータ２０とが接続されたときに開始する。なお、図７のステップＳ２１〜Ｓ２５の処理は、図３のステップＳ１〜Ｓ５の処理と同じ処理であり、図７のステップＳ３０〜Ｓ３６の処理は、図３のステップＳ９〜Ｓ１５の処理と同じ処理であるので、ここでは重複する説明を省略する。
【００８３】
ステップＳ２５でキュー削除部２０３がシリアルナンバーなしのプリントキューを削除した後、キュー表示部２１０は、キュー記憶部２３ｃに記憶されているプリントキューの一覧をディスプレイ２６に表示する（ステップＳ２６）。そして、キュー選択受付部２１１は、ディスプレイ２６に表示されたプリントキューの一覧の中から何れかのプリントキューが操作部２８の操作により選択されたか否かを判定する（ステップＳ２７）。
【００８４】
ここで、何れかのプリントキューを選択するユーザ操作をキュー選択受付部２１１が受け付けた場合、シリアルナンバー発生部２０６’は、選択されたプリントキューに対応するシリアルナンバーを発生させる（ステップＳ２８）。一方、プリントキューを選択するユーザ操作をキュー選択受付部２１１が受け付けなかった場合、シリアルナンバー発生部２０６’は、任意のシリアルナンバーを発生させる（ステップＳ２９）。
【００８５】
例えば、１台目のプリンタ１０をホストコンピュータ２０のＵＳＢポート１に接続することによって任意のシリアルナンバーに対応するプリントキューが生成された後、２台目のプリンタ１０をホストコンピュータ２０のＵＳＢポート２に接続した場合、ステップＳ２６では、１台目のプリンタ１０に対して生成されたプリントキューを含む一覧がディスプレイ２６に表示される。このとき、ユーザが一覧の中から何れのプリントキューも選択しないことにより、２台目のプリンタ１０が１台目と異なる機種であっても同じ機種であっても、新たなシリアルナンバーを発生させることができる（ステップＳ２９）。
【００８６】
また、例えば、ＵＳＢポート１に接続されたプリンタ１０が故障したため、当該故障したプリンタ１０をＵＳＢポート１から外して、同一機種の別のプリンタ１０を新たにＵＳＢポート１に接続したとする。この場合も、ステップＳ２６では、故障したプリンタ１０に対して生成されたプリントキューを含む一覧がディスプレイ２６に表示される。このとき、ユーザが一覧の中からその故障したプリンタ１０に対応するプリントキューを選択することにより、取り替えた同一機種のプリンタ１０に対して、故障したプリンタ１０と同じシリアルナンバーを発生させることができる（ステップＳ２８）。
【００８７】
このように、第２の実施形態によれば、ホストコンピュータ２０に接続されたプリンタ１０を取り替えて同一機種の別のプリンタ１０を接続する場合には前と同じシリアルナンバーを発生させる一方、ホストコンピュータ２０に接続されたプリンタ１０に加えて別のプリンタ１０を更に接続する場合には新たに任意のシリアルナンバーを発生させることができる。後者の場合においては特に、２台目のプリンタ１０が１台目のプリンタ１０と同じ機種であっても、ユーザが一覧の中からプリントキューを選択しないことにより、新たに任意のシリアルナンバーを発生させることができる。その他は第１の実施形態により得られる効果と同じである。
【００８８】
なお、上記第２の実施形態では、キュー記憶部２３ｃに記憶されているプリントキューの全てをディスプレイ２６に一覧表示し、ユーザがその中から任意のプリントキューを選択する例について説明したが、本発明はこれに限定されない。例えば、ホストコンピュータ２０に接続されたプリンタ１０から送られてくるプロダクトＩＤおよびベンダーＩＤに基づきホストコンピュータ２０がそのプリンタ１０の機種を判別し、当該接続されたプリンタ１０と同一機種のプリントキューのみをディスプレイ２６に一覧表示するようにしてもよい。
【００８９】
また、上記第２の実施形態では、ディスプレイ２６にプリントキューの一覧を表示しているが、ホストコンピュータ２０の各プリントキューにはシリアルナンバーが対応付けられているので、プリントキューだけでなく、ホストコンピュータ２０で認識済みのシリアルナンバーも一覧表示させるようにしてもよい。
【００９０】
また、上記第１および第２の実施形態では、ＵＳＢデバイスの例としてプリンタを挙げ、プリントキューを生成する例について説明したが、本発明はこれに限定されない。すなわち、プリンタ以外のＵＳＢデバイスにも広く本発明を適用することが可能である。
【００９１】
また、上記第１および第２の実施形態では、プリンタ１０のＲＯＭ１３およびホストコンピュータ２０のハードディスク２３にそれぞれ各種プログラムを記憶しておく例について説明したが、本発明はこれに限定されない。例えば、本発明を実施するのに必要なプログラムをプリンタ１０のＲＯＭ１３に格納しておき、プリンタ１０とホストコンピュータ２０とが接続されたときに、ホストコンピュータ２０の動作に必要なプログラムをプリンタ１０からホストコンピュータ２０に送信して実行させるようにしても良い。逆に、本発明を実施するのに必要なプログラムをホストコンピュータ２０のハードディスク２３に格納しておき、プリンタ１０とホストコンピュータ２０とが接続されたときに、プリンタ１０の動作に必要なプログラムをホストコンピュータ２０からプリンタ１０に送信して実行させるようにしても良い。
【００９２】
また、上記第１および第２の実施形態では、ホストコンピュータ２０にて任意のシリアルナンバーを発生するときに、乱数によるランダムなシリアルナンバーを発生する例について説明したが、本発明はこれに限定されない。例えば、デバイス情報記憶部２３ｂまたはキュー記憶部２３ｃを参照して既登録のシリアルナンバーを調べ、それ以外のシリアルナンバーを発生するようにしても良い。
【００９３】
その他、上記第１および第２の実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその精神、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００９４】
１０  プリンタ
１１  ＣＰＵ
１３  ＲＯＭ
１３ｂ  ＩＤ記憶部
１４  ＥＥＰＲＯＭ（不揮発性メモリ）
１４ａ  シリアルナンバー記憶部
２０  ホストコンピュータ
２１  ＣＰＵ
２３  ハードディスク（不揮発性メモリ）
２３ｂ  デバイス情報記憶部
２３ｃ  キュー記憶部
１０１  シリアルナンバー記録部
１０２  デバイス情報送信部
２０１  キュー生成部
２０２  キュー記録部
２０３  キュー削除部
２０４  デバイス情報記録部
２０５  ＩＤ判定部
２０６，２０６’  シリアルナンバー発生部
２０７  シリアルナンバー送信部
２１０  キュー表示部
２１１  キュー選択受付部
【図１】
2011118754.tif 000003
【図２】
2011118754.tif 000004
【図３】
2011118754.tif 000005
【図４】
2011118754.tif 000006
【図５】
2011118754.tif 000007
【図６】
2011118754.tif 000008
【図７】
2011118754.tif 000009
【図８】
2011118754.tif 000010
【図９】
2011118754.tif 000011