IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社リコーの特許一覧

特許7110631情報処理装置、情報処理システム、及びプログラム
<>
  • 特許-情報処理装置、情報処理システム、及びプログラム 図1
  • 特許-情報処理装置、情報処理システム、及びプログラム 図2
  • 特許-情報処理装置、情報処理システム、及びプログラム 図3
  • 特許-情報処理装置、情報処理システム、及びプログラム 図4
  • 特許-情報処理装置、情報処理システム、及びプログラム 図5
  • 特許-情報処理装置、情報処理システム、及びプログラム 図6
  • 特許-情報処理装置、情報処理システム、及びプログラム 図7
  • 特許-情報処理装置、情報処理システム、及びプログラム 図8
  • 特許-情報処理装置、情報処理システム、及びプログラム 図9
  • 特許-情報処理装置、情報処理システム、及びプログラム 図10
  • 特許-情報処理装置、情報処理システム、及びプログラム 図11
  • 特許-情報処理装置、情報処理システム、及びプログラム 図12
  • 特許-情報処理装置、情報処理システム、及びプログラム 図13
  • 特許-情報処理装置、情報処理システム、及びプログラム 図14
  • 特許-情報処理装置、情報処理システム、及びプログラム 図15
  • 特許-情報処理装置、情報処理システム、及びプログラム 図16
  • 特許-情報処理装置、情報処理システム、及びプログラム 図17
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-07-25
(45)【発行日】2022-08-02
(54)【発明の名称】情報処理装置、情報処理システム、及びプログラム
(51)【国際特許分類】
   G06F 3/12 20060101AFI20220726BHJP
   B41J 29/38 20060101ALI20220726BHJP
【FI】
G06F3/12 303
B41J29/38
G06F3/12 336
【請求項の数】 10
(21)【出願番号】P 2018043628
(22)【出願日】2018-03-09
(65)【公開番号】P2019159617
(43)【公開日】2019-09-19
【審査請求日】2021-01-18
(73)【特許権者】
【識別番号】000006747
【氏名又は名称】株式会社リコー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】宮部 和弘
【審査官】豊田 真弓
(56)【参考文献】
【文献】特開2016-177608(JP,A)
【文献】特開2016-177609(JP,A)
【文献】特開2016-058041(JP,A)
【文献】特開2004-078281(JP,A)
【文献】特開2016-164767(JP,A)
【文献】特開2005-346738(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/12
B41J 29/38
(57)【特許請求の範囲】
【請求項1】
第1のプリンタドライバと、前記第1のプリンタドライバと同じポートが指定された第2のプリンタドライバとがインストールされた情報処理装置であって、
前記第1のプリンタドライバ対応する第1の記憶手段と、
前記第2のプリンタドライバに対応する第2の記憶手段と、
前記第1のプリンタドライバからの要求に応じて、前記第1の記憶手段に設定された第1の制御情報を用いて、画像形成装置と双方向通信を行い、第2のプリンタドライバからの要求に応じて、前記第2の記憶手段に設定された第2の制御情報を用いて、前記画像形成装置と双方向通信を行う通信制御手段と、
を有し、
前記第1のプリンタドライバは、
前記第1の記憶手段に、前記画像形成装置との前記双方向通信に用いる前記第1の制御情報を設定する第1の設定手段と、
前記通信制御手段に、前記画像形成装置との前記双方向通信の実行を要求する第1の要求手段と、
として前記情報処理装置を機能させ
前記第2のプリンタドライバは、
前記第2の記憶手段に、前記画像形成装置との前記双方向通信に用いる前記第2の制御情報を設定する第2の設定手段と、
前記通信制御手段に、前記画像形成装置との前記双方向通信の実行を要求する第2の要求手段と、
として前記情報処理装置を機能させる、
報処理装置。
【請求項2】
前記第1の制御情報、及び前記第2の制御情報は、前記画像形成装置に情報の取得を要求するための1つ以上の要求情報を含む、請求項1に記載の情報処理装置。
【請求項3】
前記第1の制御情報、及び前記第2の制御情報は、前記要求情報を前記画像形成装置に送信するための送信条件を含む請求項2に記載の情報処理装置。
【請求項4】
前記通信制御手段は、前記送信条件に従って、前記要求情報を前記画像形成装置に送信する、請求項3に記載の情報処理装置。
【請求項5】
前記第1の制御情報、及び前記第2の制御情報は、前記画像形成装置に情報の取得を要求する要求情報の送信を制御するスクリプト言語を含む、請求項1に記載の情報処理装置。
【請求項6】
前記通信制御手段は、前記第1のプリンタドライバと前記第2のプリンタドライバとに共通の処理を実行する、請求項1乃至5のいずれか一項に記載の情報処理装置。
【請求項7】
前記第1の記憶手段は、前記第1のプリンタドライバ対応するQueuePropertyBagを含み、前記第2の記憶手段は、前記第2のプリンタドライバに対応するQueuePropertyBag含む、請求項1乃至6のいずれか一項に記載の情報処理装置。
【請求項8】
前記通信制御手段は、USB Bidi Extenderを含む、請求項1乃至7のいずれか一項に記載の情報処理装置。
【請求項9】
第1のプリンタドライバと、前記第1のプリンタドライバと同じポートが指定された第2のプリンタドライバとがインストールされた情報処理装置と、前記情報処理装置と接続される画像形成装置と、を含む情報処理システムであって、
前記情報処理装置は、
前記第1のプリンタドライバ対応する第1の記憶手段と、
前記第2のプリンタドライバに対応する第2の記憶手段と、
前記第1のプリンタドライバからの要求に応じて、前記第1の記憶手段に設定された第1の制御情報を用いて、画像形成装置と双方向通信を行い、第2のプリンタドライバからの要求に応じて、前記第2の記憶手段に設定された第2の制御情報を用いて、前記画像形成装置と双方向通信を行う通信制御手段と、
を有し、
前記第1のプリンタドライバは、
前記第1の記憶手段に、前記画像形成装置との前記双方向通信に用いる前記第1の制御情報を設定する第1の設定手段と、
前記通信制御手段に、前記画像形成装置との前記双方向通信の実行を要求する第1の要求手段と、
として前記情報処理装置を機能させ
前記第2のプリンタドライバは、
前記第2の記憶手段に、前記画像形成装置との前記双方向通信に用いる前記第2の制御情報を設定する第2の設定手段と、
前記通信制御手段に、前記画像形成装置との前記双方向通信の実行を要求する第2の要求手段と、
として前記情報処理装置を機能させる、
報処理システム。
【請求項10】
第1のプリンタドライバと、前記第1のプリンタドライバと同じポートが指定された第2のプリンタドライバとがインストールされた情報処理装置を、
前記第1のプリンタドライバに対応する第1の記憶手段と、
前記第2のプリンタドライバに対応する第2の記憶手段と、
前記第1の記憶手段に、前記第1のプリンタドライバが画像形成装置との双方向通信に用いる第1の制御情報を設定する第1の設定手段と、
前記第2の記憶手段に、前記第2のプリンタドライバが前記画像形成装置との前記双方向通信に用いる第2の制御情報を設定する第2の設定手段と、
前記第1のプリンタドライバからの要求に応じて、前記第1の記憶手段に設定された前記第1の制御情報を用いて、前記画像形成装置と前記双方向通信を行い、前記第2のプリンタドライバからの要求に応じて、前記第2の記憶手段に設定された前記第2の制御情報を用いて、前記画像形成装置と双方向通信を行う通信制御手段と、
前記通信制御手段に、前記画像形成装置との前記双方向通信の実行を要求する要求手段と、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理システム、及びプログラムに関する。
【背景技術】
【0002】
Windows(登録商標)2000からWindows7までのWindowsOS(Operating System)では、Version3(以降「V3」と称する)プリンタドライバと呼ばれるプリンタドライバのアーキテクチャが採用されている。また、Windows8以降のWindowsOSでは、V3プリンタドライバに加え、Version4(以降「V4」と称する)プリンタドライバと呼ばれる新しいプリンタドライバのアーキテクチャが採用されている。
【0003】
また、V4プリンタドライバにおいて、USB接続された画像形成装置との間で、印刷しながら機器情報を取得する等の複数の機能を実現する技術が知られている(例えば、特許文献1参照)。特許文献1には、ポートの情報やチャネルの情報を、印刷ジョブを送信するときと構成情報を取得するときとで重ならないように、プロパティバッグに別々の情報として保持しておくこと等が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に開示された技術により、V4プリンタドライバにおいて、例えば、USB(Universal Serial Bus)で接続された画像形成装置との間で印刷しながら構成情報を取得する等、複数の機能を同時に使用することができるようになる。
【0005】
一方、V4プリンタドライバには、1つのUSBポートを複数のプリンタドライバで利用するときに、画像形成装置との双方向通信が正しく行えない場合があるという別の問題がある。
【0006】
これは、例えば、ドライバA、ドライバBという2つのプリンタドライバがインストールされた情報処理装置において、画像形成装置との双方向通信に用いられるUSB Bidi Extenderが1つであり、個別に設定することができないためである。これにより、例えば、ドライバAとドライバBとが、それぞれ、USB Bidi Extenderを有していたとしても、ドライバBが画像形成装置と双方向通信を行う際に、ドライバA用のUSB Bidi Extenderが用いられる場合がある。この場合、ドライバBは、ドライバB用のUSB Bidi Extenderが有する双方向通信の要求情報を、画像形成装置に正しく送信することができない。
【0007】
本発明の実施の形態は、上記の問題点に鑑みてなされたものであって、V4プリンタドライバ、又は同様の制限を有するプリンタドライバにおいて、USBポートを複数のプリンタドライバで利用する際に、画像形成装置との双方向通信を正しく行えるようにする。
【課題を解決するための手段】
【0008】
上記課題を解決するため、本発明の一実施形態に係る情報処理装置は、第1のプリンタドライバと、前記第1のプリンタドライバと同じポートが指定された第2のプリンタドライバとがインストールされた情報処理装置であって、前記第1のプリンタドライバ対応する第1の記憶手段と、前記第2のプリンタドライバに対応する第2の記憶手段と、前記第1のプリンタドライバからの要求に応じて、前記第1の記憶手段に設定された第1の制御情報を用いて、画像形成装置と双方向通信を行い、第2のプリンタドライバからの要求に応じて、前記第2の記憶手段に設定された第2の制御情報を用いて、前記画像形成装置と双方向通信を行う通信制御手段と、を有し、前記第1のプリンタドライバは、前記第1の記憶手段に、前記画像形成装置との前記双方向通信に用いる前記第1の制御情報を設定する第1の設定手段と、前記通信制御手段に、前記画像形成装置との前記双方向通信の実行を要求する第1の要求手段と、として前記情報処理装置を機能させ、前記第2のプリンタドライバは、前記第2の記憶手段に、前記画像形成装置との前記双方向通信に用いる前記第2の制御情報を設定する第2の設定手段と、前記通信制御手段に、前記画像形成装置との前記双方向通信の実行を要求する第2の要求手段と、として前記情報処理装置を機能させる。
【発明の効果】
【0009】
本発明の一実施形態によれば、V4プリンタドライバ、又は同様の制限を有するプリンタドライバにおいて、USBポートを複数のプリンタドライバで利用する際に、画像形成装置との双方向通信を正しく行えるようになる。
【図面の簡単な説明】
【0010】
図1】一実施形態に係る情報処理システムのシステム構成の例を示す図である。
図2】一実施形態に係る課題について説明するための図である。
図3】一実施形態に係る情報処理装置のハードウェア構成の例を示す図である。
図4】一実施形態に係る画像形成装置のハードウェア構成の例を示す図である。
図5】一実施形態に係る情報処理装置のソフトウェア構成の例を示す図である。
図6】V4プリンタドライバ及びストアデバイスアプリがアクセス可能な記憶領域について説明するための図である。
図7】第1の実施形態に係る情報処理装置の機能構成の例を示す図である。
図8】第1の実施形態に係る情報処理装置が管理する情報の例を示す図である。
図9】第1の実施形態に係る情報処理システムの処理の一例を示すシーケンス図である。
図10】第1の実施形態に係る表示画面の例を示す図(1)である。
図11】第1の実施形態に係る表示画面の例を示す図(2)である。
図12】第1の実施形態に係る表示画面の例を示す図(3)である。
図13】第1の実施形態に係る情報処理システムの処理の別の一例を示すシーケンス図である。
図14】第2の実施形態に係る情報処理装置の機能構成の例を示す図である。
図15】第2の実施形態に係る情報処理装置が管理する情報の例を示す図である。
図16】第2の実施形態に係る情報処理システムの処理の例を示すシーケンス図である。
図17】第2の実施形態に係る機器情報の例を示す図である。
【発明を実施するための形態】
【0011】
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
【0012】
<システム構成>
図1は、一実施形態に係る情報処理システム100のシステム構成の例を示す図である。図1に示すように、情報処理システム100は、情報処理装置101と、画像形成装置102とを含み、情報処理装置101と画像形成装置102とは、USB(Universal Serial Bus)ケーブル103を介して通信可能に接続されている。
【0013】
情報処理装置101は、例えば、PC(Personal Computer)、タブレット端末、スマートフォン等の情報端末である。情報処理装置101は、例えば、ユーザからの印刷指示を受け付けて、印刷対象データから印刷データを作成した上で、印刷データの印刷を要求する印刷要求を画像形成装置102に送信する。また、情報処理装置101は、USBケーブル103を介して、画像形成装置102から、画像形成装置102の機器の構成や、オプション等の情報を含む機器情報を取得し、機器情報を反映した印刷設定画面等を、情報処理装置101の表示部に表示させることができる。
【0014】
なお、印刷対象データとは、例えば、画像データや文書データ等の印刷可能な電子データである。また、印刷データとは、印刷対象データを、画像形成装置102が印刷可能な、例えば、PDL(Page Description Language)等の形式に変換した電子データである。
【0015】
画像形成装置102は、例えば、スキャン機能、コピー機能、印刷機能、ファクシミリ機能等を一つの筐体に搭載したMFP(Multifunction Peripheral/Printer/Product)や、プリンタ等の印刷機能を有する電子機器である。画像形成装置102は、情報処理装置101から受信した印刷要求に応じて、印刷データを印刷する。
【0016】
図2は、一実施形態に係る課題について説明するための図である。
【0017】
Windows(登録商標)2000からWindows7までのWindowsOS(Operating System)では、Version3(以降「V3」と称する)プリンタドライバと呼ばれるプリンタドライバのアーキテクチャが採用されている。また、Windows8以降のWindowsOSでは、V3プリンタドライバに加え、Version4(以降「V4」と称する)プリンタドライバと呼ばれる新しいプリンタドライバのアーキテクチャが採用されている。
【0018】
V3プリンタドライバでは、USBインタフェースで双方向通信を行うモジュールとして、ランゲージモニタ(Language Monitor)が用いられ、ランゲージモニタが画像形成装置102と双方向通信を行い、画像形成装置102の機器情報を取得していた。また、このランゲージモニタは、ベンダが独自の機能を実装することができた。
【0019】
これに対して、V4プリンタドライバでは、ランゲージモニタが廃止され、代わりにUSB Bidi Extenderという仕組みが導入された。USB Bidi Extenderでは、ベンダがカスタマイズできるのはBidi Extender Javascript(登録商標)と、Bide Extension XML(Extensible Markup Language)だけである。V4プリンタドライバでは、情報処理装置101は、このUSB Bidi Extenderを用いて、画像形成装置102と双方向通信を行う。
【0020】
例えば、情報処理装置101と画像形成装置102とをUSBケーブル103で接続すると、情報処理装置101には、OSにより、画像形成装置102用のUSBポートが作成される。
【0021】
また、作成されたUSBポートに対して、複数のプリンタドライバを用いる場合がある。例えば、異なる形式の印刷データを印刷したいとき等に、印刷データ毎のプリンタドライバを情報処理装置101にインストールして、同じUSBポートを指定して利用する場合等である。
【0022】
このように、1つのUSBポートを複数のプリンタドライバが利用している情報処理装置101では、プリンタドライバに同梱されたUSB Bidi Extenderが動作せず、別のプリンタドライバのUSB Bidi Extenderが使われる場合がある。
【0023】
例えば、図2(a)に示すように、情報処理装置101には、プリンタドライバA201aと、プリンタドライバA201aに対応するUSB Bidi Extender A202aがインストールされているものとする。また、情報処理装置101には、プリンタドライバB201bと、プリンタドライバB201bに対応するUSB Bidi Extender B202bがインストールされているものとする。さらに、プリンタドライバA201a、及びプリンタドライバB201bは、いずれもUSBポート203が指定されているものとする。
【0024】
この状態で、例えば、プリンタドライバA201aが、画像形成装置102と双方向通信を行う場合、プリンタドライバA201aは、USB Bidi Extender A202aを介して、画像形成装置102と双方向通信を行うことが望ましい。同様に、プリンタドライバB201bが、画像形成装置102と双方向通信を行う場合、プリンタドライバB201bは、USB Bidi Extender B202bを介して、画像形成装置102と双方向通信を行うことが望ましい。
【0025】
しかし、実際には、OSの制約等により、例えば、図2(b)に示すように、1つのUSB Bidi Extenderのみが使用され、ユーザは、使用するUSB Bidi Extenderを指定することはできない。したがって、図2(b)の例では、プリンタドライバB201bは、USB Bidi Extender B202bを利用することができないので、画像形成装置102と正しく双方向通信を行えない場合がある。
【0026】
そこで、本実施形態に係る情報処理装置101は、USB Bidi Extenderに、各プリンタドライバに共通の処理のみを定義する。例えば、USB Bidi Extenderには、プリンタドライバに対応する記憶領域(例えば、プロパティバッグ)から、制御情報(例えば、機種情報の取得要求)を取得して、画像形成装置102に送信する処理のみを定義する。
【0027】
また、プリンタドライバは、プリンタドライバに対応する記憶領域に、制御情報を記憶する。これにより、例えば、図2(b)に示すプリンタドライバB201bは、USB Bidi Extender A202aを用いた場合であっても、正しく双方向通信を行うことができるようになる。
【0028】
<ハードウェア構成>
次に、本実施形態に係る情報処理システム100に含まれる情報処理装置101、及び画像形成装置102のハードウェア構成の例について説明する。
【0029】
(情報処理装置のハードウェア構成)
図3は、一実施形態に係る情報処理装置のハードウェア構成の例を示す図である。図3に示すように、本実施形態に係る情報処理装置101は、入力装置301と、表示装置302と、外部I/F303と、RAM(Random Access Memory)304とを有する。また、情報処理装置101は、ROM(Read Only Memory)305と、CPU(Central Processing Unit)306と、通信I/F307と、HDD(Hard Disk Drive)308とを有する。これらのハードウェアは、バスBで互いに接続されている。
【0030】
入力装置301は、キーボードやマウス、タッチパネル等を含み、ユーザが各操作信号を入力するのに用いられる。表示装置302は、ディスプレイ等を含み、情報処理装置101による処理結果を表示する。なお、入力装置301及び表示装置302の少なくとも一方は、必要なときに情報処理装置101に接続して利用する形態であっても良い。
【0031】
通信I/F307は、情報処理装置101をネットワークに接続するインタフェースである。
【0032】
HDD308は、プログラムやデータを格納している不揮発性の記憶装置である。HDD308に格納されるプログラムやデータには、情報処理装置101全体を制御する基本ソフトウェアであるOS(Operating System)、OS上において各種機能を提供するアプリケーションプログラム等がある。
【0033】
なお、情報処理装置101は、HDD308に代え、記憶媒体としてフラッシュメモリを用いるドライブ装置(例えばソリッドステートドライブ:SSD)を有して良い。また、HDD308は、格納しているプログラムやデータを所定のファイルシステムやDBにより管理している。
【0034】
外部I/F303は、情報処理装置101に外部装置を接続するための、例えば、USB等のインタフェースである。例えば、情報処理装置101は、外部I/F303に接続したUSBケーブル103を用いて、画像形成装置102を情報処理装置101に接続することができる。
【0035】
ROM305は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリである。ROM305には、OS設定、ネットワーク設定等のプログラムやデータ、及び情報処理装置101の起動時に実行されるBIOS(Basic Input/Output System)が格納されている。RAM304は、プログラムやデータを一時保持する揮発性の半導体メモリである。
【0036】
CPU306は、ROM305やHDD308等の記憶装置からプログラムやデータをRAM304上に読み出し、当該プログラムやデータに基づく処理を実行することで、情報処理装置101全体の制御やその他の機能を実現する演算装置である。
【0037】
本実施形態に係る情報処理装置101は、図3に示すハードウェア構成を有することにより、後述するような各種処理を実現できる。
【0038】
(画像形成装置のハードウェア構成)
図4は、一実施形態に係る画像形成装置のハードウェア構成の例を示す図である。
【0039】
図4に示すように、本実施形態に係る画像形成装置102は、コントローラ401と、操作パネル402と、外部I/F403と、通信I/F404と、プロッタ405を有する。また、コントローラ401は、CPU411と、RAM421と、ROM431と、NVRAM441と、HDD451とを有する。
【0040】
ROM431は、各種プログラムやデータを格納している不揮発性のメモリである。RAM421は、プログラムやデータを一時保持する揮発性のメモリである。NVRAM441は、例えば設定情報等を格納している。また、HDD451は、各種プログラムやデータを格納している不揮発性の記憶装置である。
【0041】
CPU411は、ROM431やNVRAM441、HDD451等からプログラムやデータ、設定情報等をRAM421上に読み出し、処理を実行することで、画像形成装置102全体の制御やその他の機能を実現する演算装置である。
【0042】
操作パネル402は、ユーザからの入力を受け付ける入力部と、表示を行う表示部とを有する。
【0043】
外部I/F403は、画像形成装置102に外部装置を接続するための、例えば、USB等のインタフェースである。例えば、画像形成装置102は、外部I/Fに403に接続したUSBケーブル103を用いて、情報処理装置101に画像形成装置102を接続することができる。
【0044】
通信I/F404は、画像形成装置102をネットワークに接続するインタフェースである。
【0045】
本実施形態に係る画像形成装置102は、図4に示すハードウェア構成を有することにより、後述するような各種処理を実現できる。
【0046】
<情報処理装置のソフトウェア構成>
次に、本実施形態に係る情報処理装置101のソフトウェア構成について、図5を用いて説明する。図5は、情報処理装置のソフトウェア構成の例を示す図である。
【0047】
図5に示すように、本実施形態に係る情報処理装置101は、アプリケーション510と、OS520と、プリンタドライバ530と、ストアデバイスアプリ540とを有する。
【0048】
アプリケーション510は、例えば文書作成ソフト、画像閲覧・編集ソフト、ブラウザ等、ユーザの印刷指示に応じて、OS520に印刷の指示(要求)を行うことができるアプリケーションプログラムである。アプリケーション510には、ストアアプリ511と、デスクトップアプリ512とが含まれる。
【0049】
ストアアプリ511は、例えば、Windows(登録商標)8/WindowsRT及びそれ以降のバージョンのWindowsOSにアプリケーションを提供する「Windowsストア」から、入手可能なアプリケーションである。ストアアプリ511では、「ストアアプリ UI」が用いられる。なお、Windows8及びWindows8.1では、OS520によって提供される「Modern UI」又は「Metro UI」とも称されるUIからストアアプリ511が呼び出される。
【0050】
一方、デスクトップアプリ512は、例えば、Windows7以前のバージョンのWindowsOSにおいても使用可能なアプリケーションである。
【0051】
OS520は、Windows8/WindowsRT及びそれ以降のバージョンのWindowsOSである。
【0052】
プリンタドライバ530は、印刷を制御するプログラムであり、本実施形態では、前述したV4プリンタドライバである。プリンタドライバ530は、拡張設定部531と、設定制御部532と、描画部533とを含む。
【0053】
拡張設定部531は、プリンタ拡張とも称され、デスクトップアプリ512から印刷を行う場合に、ベンダ独自の印刷設定画面等を表示する。
【0054】
設定制御部532は、禁則スクリプトとも称され、例えば、印刷設定の組み合わせが正当であるか否かを検証する。拡張設定部531は、例えば、設定制御部532により正当でないと検証された印刷設定の組み合わせを非表示にする、或いはデフォルトに戻すこと等ができる。
【0055】
また、設定制御部532は、アプリケーション510やOS520等からの要求に応じて、プリンタドライバ530が設定可能な機能の情報を示す設定能力情報であるPrintCapabilityを返信する。さらに、設定制御部532は、アプリケーション510やOS520等からの要求に応じて、プリンタドライバ530に設定されている各種機能の設定値をDevmodePropertyBagから取得し、取得した設定値を示すPrintTicketを返信する。また、設定制御部532は、PrintTicketで示された設定値をDevmodePropertyBagに保存する。
【0056】
なお、OS520に返信されたPrintCapabilityやPrintTicketは、例えば、拡張設定部531が表示する印刷設定画面における各機能の現在値の表示、選択肢の表示等に利用される。
【0057】
描画部533は、アプリケーション510において印刷指示が行われた印刷対象データから印刷データを作成する。
【0058】
ストアデバイスアプリ540は、ストアアプリ511から印刷を行う場合に、ベンダ独自の印刷設定画面等を表示する。なお、ストアデバイスアプリ540は、ストアアプリ511と同様に、「Windowsストア」から入手可能なアプリケーションである。
【0059】
デスクトップアプリ512から印刷を行う場合、プリンタドライバ530は、拡張設定部531により表示された印刷設定画面で設定された設定内容に基づいて、印刷データを作成することができる。一方で、ストアアプリ511から印刷を行う場合、プリンタドライバ530は、ストアデバイスアプリ540により表示された印刷設定画面で設定された設定内容に基づいて、印刷データを作成することができる。
【0060】
拡張設定部531及びストアデバイスアプリ540は、ベンダ独自の印刷設定画面を表示するUI部550を構成する。
【0061】
スプーラ560は、OS520等によって提供されるモジュールであり、プリンタドライバ530で生成された印刷データを一時的に記憶して、USB Bidi Extender570を用いて、順次に画像形成装置102に送信する。
【0062】
USB Bidi Extender570は、スプーラ560によって呼び出されるJavaScript(USB Bidi Javascript)を含み、画像形成装置102と双方向通信を行う通信制御手段として機能する。
【0063】
<V4プリンタドライバ530及びストアデバイスアプリ540がアクセス可能な記憶領域>
次に、V4プリンタドライバ530及びストアデバイスアプリ540がアクセス可能な記憶領域について、図6を用いて説明する。図6は、V4プリンタドライバ530及びストアデバイスアプリ540がアクセス可能な記憶領域について説明するための図である。
【0064】
図6に示すように、拡張設定部531、設定制御部532、描画部533、及びストアデバイスアプリ540は、PropertyBag610と呼ばれる記憶領域にアクセスすることができる。なお、このような記憶領域へのアクセスは、OS520によって提供されるAPI(Application Programming Interface)を用いて行うことができる。
【0065】
図6に示すように、PropertyBag610には、DriverPropertyBag611と、QueuePropertyBag612と、UserPropertyBag613とが含まれる。
【0066】
DriverPropertyBag611は、V4プリンタドライバ530を作成するときに決定された構成情報等を記憶する記憶領域である。拡張設定部531、設定制御部532、描画部533、及びストアデバイスアプリ540は、DriverPropertyBag611から各種情報の読み出しが可能である。一方で、拡張設定部531、設定制御部532、描画部533、及びストアデバイスアプリ540は、DriverPropertyBag611に対して、情報の書き込みを行うことはできない。
【0067】
QueuePropertyBag612は、論理プリンタ(プリンタアイコン)毎の設定情報等を記憶する記憶領域である。拡張設定部531及びストアデバイスアプリ540は、QueuePropertyBag612に対して、各種情報の読み出し及び書き込みが可能である。また、設定制御部532及び描画部533は、QueuePropertyBag612に対して、各種情報の読み出しが可能である。さらに、QueuePropertyBag612に記憶された情報は、前述したUSB Bidi Extenderからも読出しが可能である。
【0068】
なお、論理プリンタとは、例えば、OS520のプリンタフォルダ等にプリンタアイコンとして表示される仮想的なプリンタである。例えば、情報処理装置101の利用者は、1つの画像形成装置102に対して、設定情報(例えば、用紙サイズや向き、印刷品質等)が異なる複数の論理プリンタを作成することができる。
【0069】
UserPropertyBag613は、論理プリンタ毎に、ユーザ毎の設定情報等を記憶する記憶領域である。拡張設定部531、設定制御部532、及びストアデバイスアプリ540は、UserPropertyBag613に対して、各種情報の読み出し及び書き込みが可能である。
【0070】
また、拡張設定部531及び描画部533は、さらに、独自記憶領域620に対して、各種情報の読み出し及び書き込みが可能である。
【0071】
独自記憶領域620は、例えばレジストリやファイル等を用いて実現され、PropertyBag610とは異なる記憶領域である。独自記憶領域620は、例えば、V4プリンタドライバ530を提供するベンダ等によって定義される。
【0072】
ストアデバイスアプリ540は、OS520の課す制約により、PropertyBag610以外の記憶領域に対してアクセスすることはできない。また、設定制御部532は、上述したDevmodePropertyBag及びPropertyBag610以外の記憶領域に対してアクセスすることはできない。すなわち、ストアデバイスアプリ540及び設定制御部532は、独自記憶領域620に対して、各種情報の読み出しや書き込み等を行うことができない。
【0073】
このことは、ストアアプリ511に課されている制約と同様であり、例えば、ストアデバイスアプリ540及び設定制御部532が、OS520が使用するレジストリ等を変更し、OS520の動作に悪影響を与えることを防ぐためである。このような技術は、「サンドボックス」等と称されている。
【0074】
[第1の実施形態]
続いて、第1の実施形態に係る情報処理装置の機能構成について説明する。
【0075】
<機能構成>
図7は、一実施形態に係る情報処理装置101の機能構成の例を示す図である。
【0076】
情報処理装置101には、例えば、アプリケーション510、1つ以上のプリンタドライバ530a、530b、ストアデバイスアプリ540等のプログラムがインストールされている。
【0077】
また、情報処理装置101は、CPU306でOS520を実行することにより、1つ以上のプリンタドライバ530a、530bの各々に対応する記憶領域であるQueuePropertyBag612a、612b、及びスプーラ560等を実現している。
【0078】
なお、図7において、プリンタドライバ530bは、プリンタドライバ530aと同様の機能構成を有しているものとする。また、以下の説明の中で、1つ以上のプリンタドライバ530a、530bのうち、任意のプリンタドライバを示す場合、「プリンタドライバ530」を用いる。同様に、QueuePropertyBag612a、612bのうち、任意のQueuePropertyBagを示す場合、「QueuePropertyBag612」を用いる。
【0079】
情報処理装置101は、CPU306でプリンタドライバ530を実行することによって、図5で説明した拡張設定部531、設定制御部532、及び描画部533を実現している。
【0080】
また、本実施形態に係る拡張設定部531は、設定画面表示部710、及び双方向通信部720を含む。
【0081】
設定画面表示部710は、双方向通信部720が取得する画像形成装置102の機器情報を用いて、印刷設定画面を表示装置303等の表示部に表示させる。
【0082】
双方向通信部720は、設定部721、要求部722、取得部723等を含み、スプーラ560、及びUSB Bidi Extender570を介して、画像形成装置102から、画像形成装置102の機器情報を取得する。
【0083】
設定部(設定手段)721は、プリンタドライバ530に対応するQueuePropertyBag612等の記憶手段に、画像形成装置102と双方向通信を行うための制御情報を設定する(記憶させる)。双方向通信部720は、例えば、画像形成装置102に機種情報の取得を要求する機種情報の取得要求等の要求コマンド724を予め記憶している。また、設定部721は、この要求コマンド724を、プリンタドライバ530に対応するQueuePropertyBag612に設定する。
【0084】
例えば、プリンタドライバ530aの設定部721は、プリンタドライバ530aに対応するQueuePropertyBag612aに、プリンタドライバ530aに対応する要求コマンド724を設定する。同様に、プリンタドライバ530bの設定部721は、プリンタドライバ530bに対応するQueuePropertyBag612bに、プリンタドライバ530bに対応する要求コマンド724を設定する。
【0085】
図8(a)に、要求コマンド724の一例のイメージを示す。要求コマンド724には、例えば、図8(a)に示すように、画像形成装置102に送信する1つ以上の要求コマンドが記憶されている。なお、図8(a)は、要求コマンドが文字列の場合の例が示されているが、要求コマンドは、文字列に限られず、例えば、バイナリデータ等であっても良い。
【0086】
図8(b)に、QueuePropertyBag612に記憶させる要求コマンドの一例のイメージを示す。設定部721が、QueuePropertyBag612に要求コマンドを設定する際には、例えば、図8(b)に示すように、要求コマンドキーと、要求コマンドに対応する値とを、ペアで設定する。
【0087】
また、USB Bidi Extender570が、QueuePropertyBag612から、要求コマンドを読み出す際には、要求コマンドキーを指定することによって、要求コマンドキーに対応する値を読み出すことができる。
【0088】
なお、本実施形態では、プリンタドライバ毎に、要求コマンドの形式、又は内容等が異なるものとする。
【0089】
要求部(要求手段)722は、スプーラ560を介して、USB Bidi Extender570に、画像形成装置102との双方向通信の実行を要求する実行要求を送信する。なお、この実行要求には、例えば、QueuePropertyBag612に記憶した要求コマンド724の取得に必要な情報、例えば、要求コマンドキー等の情報が含まれている。
【0090】
本実施形態に係るUSB Bidi Extender570は、例えば、プリンタドライバ530aの要求部722からの実行要求に応じて、QueuePropertyBag612aに記憶された要求コマンドを取得して、画像形成装置102に送信する。同様に、USB Bidi Extender570は、例えば、プリンタドライバ530bの要求部722からの要求に応じて、QueuePropertyBag612bに記憶された要求コマンドを取得して、画像形成装置102に送信する。
【0091】
取得部723は、USB Bidi Extender570が取得した画像形成装置102の機器情報を、スプーラ560を介して取得する。
【0092】
図8(c)に、取得部723が、画像形成装置102から取得する機器情報801の一例のイメージを示す。例えば、図8(a)の要求コマンド「@PJL INFO OPTION」に応じて、機器情報801の「Option」の情報が取得され、要求コマンド「@PJL INFO TRAY」に応じて、機器情報801の「InputTray」の情報が取得される。
【0093】
図8(c)の例では、画像形成装置102のオプションの情報として、画像形成装置102に、両面ユニットと、ハードディスクと、256MBのメモリが搭載されていることが示されている。また、トレイの情報として、画像形成装置102が、トレイ1と、手差しトレイを備えており、トレイ1の用紙サイズがA4、手差しトレイの用紙サイズがA5であることが示されている。
【0094】
このように、本実施形態に係るUSB Bidi Extender570は、QueuePropertyBag612から要求コマンドを取得して、画像形成装置102に送信し、機器情報を取得するという、各プリンタドライバ530に共通の処理を実行する。
【0095】
したがって、例えば、図2で説明したように、プリンタドライバ530bが、プリンタドライバ530a用のUSB Bidi Extender570を使用した場合でも、問題なく画像形成装置102と双方向通信を行うことができる。
【0096】
<処理の流れ>
続いて、本実施形態に係る情報処理方法の処理の流れについて説明する。
【0097】
(情報処理システムの処理1)
図9は、第1の実施形態に係る情報処理システムの処理の一例を示すシーケンス図である。この処理は、プリンタドライバ530の設定画面表示部710が、画像形成装置102の機器情報を反映させた印刷設定画面を表示する際の処理の一例を示している。
【0098】
ステップS901において、プリンタドライバ530の設定画面表示部710は、双方向通信部720に、情報処理装置101に接続されている画像形成装置102の機器情報の取得を要求する。
【0099】
ステップS902、S903において、双方向通信部720の設定部721は、プリンタドライバ530に対応するQueuePropertyBag612に、プリンタドライバ530に対応する要求コマンド724を記憶させる。ここでは、一例として、図8(b)に示すように、QueuePropertyBag612に要求コマンド724が記憶されるものとする。
【0100】
ステップS904、S905において、双方向通信部720の要求部722は、スプーラ560を介して、USB Bidi Extender570に双方向通信を要求する。なお、この双方向通信の要求には、例えば、図8(b)に示されるような要求コマンドキー「BidiRequestCommand」が含まれている。
【0101】
ステップS906において、双方向通信部720は、USB Bidi Extender570の処理が終わるまで、所定の時間待機する。
【0102】
ステップS907において、USB Bidi Extender570は、双方向通信の要求に含まれる要求コマンドキーを用いて、QueuePropertyBag612から要求コマンドを読み出す。
【0103】
ステップS908において、USB Bidi Extender570は、取得した、画像形成装置102に機器情報の取得を要求する要求コマンドを、画像形成装置102に送信する。
【0104】
ステップS909において、USB Bidi Extender570は、要求コマンドに応じて、画像形成装置102から送信される機器情報を取得する。ここでは、例えば、図8(c)に示すような機器情報801が取得されるものとする。
【0105】
ステップS910において、USB Bidi Extender570は、取得した機器情報801をスプーラ560に送信し、ステップS911において、スプーラ560は、通知された機器情報S911を、スプーラ560内のキャッシュに記憶する。
【0106】
ステップS912、S913において、双方向通信部720の取得部723は、所定時間の待機を終えると、スプーラ560に双方向通信で取得した機器情報801の取得を要求し、スプーラ560から送信される機器情報801を取得する。
【0107】
ステップS914において、双方向通信部720は、取得した機器情報801を、設定画面表示部710に通知する。
【0108】
ステップS915において、設定画面表示部710は、取得した機器情報801を反映させた印刷設定画面を、表示装置302等の表示部に表示させる。
【0109】
(表示画面の例)
図10~12は、第1の実施形態に係る表示画面の例を示す図である。
【0110】
図10は、プリンタドライバ530の設定画面表示部710が表示させる印刷設定画面1000の一例を示している。例えば、ユーザが、印刷設定画面1000において、デバイスのプロパティを開くボタン1001(「Printer Properties」ボタン)を選択することにより、図9に示す処理が開始される。
【0111】
なお、図10に示す印刷設定画面1000は、例えば、ユーザが印刷を実行する際に、印刷設定を変えるためにプリンタドライバ530の印刷設定画面を開いたとき等に表示される。また、図10に示す印刷設定画面1000は、例えば、ユーザが標準の印刷設定を変えるために、プリンタアイコンのメニューから印刷設定画面を開いたときに表示される。
【0112】
図11は、OSによるプリンタアイコン(論理プリンタ)の一覧を表示する表示画面1100の一例を示している。例えば、ユーザが、プリンタアイコンの一覧から、プリンタアイコン1101を右クリックして表示されるメニュー1102から、プリンタドライバのプロパティ1103を選択することにより、図9に示す処理が開始される。
【0113】
図12は、図9のステップS915で表示される印刷設定画面の一例を示している。図12に示す印刷設定画面1200では、例えば、図8(c)に示すような機器情報801が反映され、両面ユニットを備えることを示すチェックボックス1201、ハードディスクを備えることを示すチェックボックス1202がチェックされている。さらに、トレイの情報1203として、画像形成装置102が、トレイ1と、手差しトレイを備えており、トレイ1の用紙サイズがA4、手差しトレイの用紙サイズがA5であること等が表示されている。
【0114】
(情報処理システムの処理2)
図13は、第1の実施形態に係る情報処理システムの処理の別の一例を示している。図9に示す処理では、プリンタドライバ530の設定部721は、設定画面表示部710から機器情報の取得を要求するたびに、QueuePropertyBag612に要求コマンド724を設定していた。
【0115】
しかし、設定部721は、図13に示す処理のように、設定画面表示部710から機器情報の取得を要求される前に、要求コマンド724をQueuePropertyBag612に予め設定しておくものであっても良い。
【0116】
なお、図13に示す処理のうち、ステップS904~S915に示す処理は、図9に示す処理と同様なので、ここでは、図9に示す処理との相違点を中心に説明する。
【0117】
ステップS1301、S1302において、双方向通信部720の設定部721は、ステップS1303で設定画面表示部710から機器情報の取得要求を受け付ける前に、要求コマンド724をQueuePropertyBag612に予め設定しておく。これにより、以後の処理において、図9のステップS902、S903の処理を省略することができるようになる。
【0118】
これにより、例えば、設定部721が、QueuePropertyBag612に設定する要求コマンド724が、毎回同じ内容である場合、図13に示す処理により、より効率的に処理を実行することができるようになる。
【0119】
なお、上記の説明では、プリンタドライバ530の設定部721は、プリンタドライバ530に対応するQueuePropertyBag612に、要求コマンド724を記憶しておくものとして説明を行った。QueuePropertyBag612は、前述したように論理プリンタ毎の記憶領域なので、複数のプリンタドライバ530の要求コマンド724が重複して記憶されることはない。
【0120】
ただし、プリンタドライバ530の設定部721が要求コマンド724を記憶する記憶領域は、QueuePropertyBag612以外の記憶領域、例えば、図6の独自記憶領域620等であっても良い。
【0121】
この場合、各プリンタドライバ530の設定部721は、例えば、図8(d)に示すように、プリンタドライバ530毎に異なる要求コマンドキーを用いて、要求コマンド724を独自記憶領域620等に記憶する。
【0122】
例えば、プリンタドライバ530aの設定部721は、要求コマンドキー「BidiRequestCommand 1」に対応付けて、要求コマンド724を独自記憶領域620等に記憶する。また、プリンタドライバ530aの要求部722は、要求コマンドキー「BidiRequestCommand 1」を含む双方向通信の要求を、スプーラ560を介して、USB Bidi Extender570に送信する。
【0123】
同様に、プリンタドライバ530bの設定部721は、要求コマンドキー「BidiRequestCommand 2」に対応付けて、要求コマンド724を独自記憶領域620等に記憶する。また、プリンタドライバ530bの要求部722は、要求コマンドキー「BidiRequestCommand 2」を含む双方向通信の要求を、スプーラ560を介して、USB Bidi Extender570に送信する。
【0124】
これにより、独自記憶領域620は、プリンタドライバ530の各々に対応する記憶手段として機能する。
【0125】
[第2の実施形態]
第1の実施形態では、プリンタドライバ530の設定部721は、例えば、QueuePropertyBag612等の記憶領域に、要求コマンド724を設定するものとして説明を行った。ただし、プリンタドライバ530の設定部721は、QueuePropertyBag612等の記憶領域に、要求コマンド724に加えて、例えば、送信条件1401等の情報をさらに設定するものであっても良い。
【0126】
第2の実施形態では、プリンタドライバ530の設定部721が、要求コマンド及び送信条件を設定する場合の処理の例について説明する。
【0127】
<機能構成>
図14は、第2の実施形態に係る情報処理装置の機能構成の例を示す図である。図14において、プリンタドライバ530の双方向通信部720は、図7に示す第1の実施形態に係る要求コマンド724に代えて、例えば、図15(a)に示すような要求コマンド及び送信条件1401を予め記憶している。
【0128】
図15(a)は、要求コマンド及び送信条件1401の一例のイメージを示している。15(a)において、送信条件「True」は、対応する要求コマンドを常に送信することを示している。また、送信条件「If(OprionTrayON)」は、オプショントレイの情報がオンである場合に、対応する要求コマンドを送信することを示している。このように、要求コマンド及び送信条件1401の送信条件には、対応する要求コマンドを送信するための条件が定義されている。
【0129】
図15(b)は、QueuePropertyBag612に記憶させる要求コマンド及び送信条件の一例のイメージを示している。設定部721が、QueuePropertyBag612に要求コマンド及び送信条件1401を設定する際には、例えば、図15(b)に示すように、要求コマンドキーと、要求コマンドキーに対応する値とを、ペアで設定する。また、設定部721は、例えば、図15(b)に示すように、要求コマンドキーに対応する値に、要求コマンドとその送信条件とを設定する。
【0130】
また、USB Bidi Extender570が、QueuePropertyBag612から、要求コマンド及び送信条件を読み出す際には、要求コマンドキーを指定することによって、要求コマンドキーに対応する値を読み出すことができる。
【0131】
また、本実施形態に係るUSB Bidi Extender570は、JavaScript(USB Bidi Javascript)によって実現される送信判定部1402を有する。送信判定部1402は、例えば、図15(b)に示すような、要求コマンドキーに対応する値を取得し、各要求コマンドを画像形成装置102に送信するか否かを判定する。
【0132】
なお、上記以外の情報処理装置101の機能構成は、図7に示す第1の実施形態に係る情報処理装置101の機能構成と同様である。
【0133】
<処理の流れ>
続いて、第2の実施形態に係る情報処理方法の処理の流れについて説明する。
【0134】
図16は、第2の実施形態に係る情報処理装置の処理の例を示すフローチャートである。この処理は、プリンタドライバ530の設定画面表示部710が、画像形成装置102の機器情報を反映させた印刷設定画面を表示する際の処理の一例を示している。なお、図16に示す処理のうち、ステップS910~S915に係る処理は、図9に示す第1の実施形態に係る処理と同様なので、ここでは、第1の実施形態との相違点を中心に説明を行う。
【0135】
ステップS1601において、プリンタドライバ530の設定画面表示部710は、双方向通信部720に、情報処理装置101に接続されている画像形成装置102の機器情報の取得を要求する。
【0136】
ステップS1602、S1603において、双方向通信部720の設定部721は、プリンタドライバ530に対応するQueuePropertyBag612に、プリンタドライバ530に対応する要求コマンド及び送信条件1401を記憶させる。ここでは、一例として、図14(b)に示すような要求コマンドキーと値(要求コマンド及び送信条件)とが、QueuePropertyBag612に記憶されるものとする。
【0137】
ステップS1604、S1605において、双方向通信部720の要求部722は、スプーラ560を介して、USB Bidi Extender570に双方向通信を要求する。なお、この双方向通信の要求には、例えば、図14(b)に示されるような要求コマンドキー「BidiRequestCommand」が含まれているものとする。
【0138】
ステップS1606において、双方向通信部720は、USB Bidi Extender570の処理が終わるまで、所定の時間待機する。
【0139】
ステップS1607において、USB Bidi Extender570は、双方向通信の要求に含まれる要求コマンドキーを用いて、QueuePropertyBag612から要求コマンド及び送信条件を読み出す。
【0140】
ステップS1608、S1609において、USB Bidi Extender570は、取得した要求コマンド及び送信条件において、送信条件「True」の要求情報を画像形成装置102に送信し、画像形成装置102から送信される機種情報を取得する。
【0141】
ステップS1610において、USB Bidi Extender570の送信判定部1402は、送信条件が「True」以外の要求コマンドについて、送信要否を判定し、送信要と判断された場合、ステップS1611、S1612の処理を実行させる。
【0142】
ステップS1611、S1612において、USB Bidi Extender570は、送信要と判断された要求コマンドを画像形成装置102に送信し、画像形成装置102から送信される機種情報を取得する。
【0143】
図17は、第2の実施形態に係る機器情報の例を示す図である。この図は、図16のステップS1608~S1612において、画像形成装置102から取得する機器情報の一例を示している。例えば、図16のステップS1608、S1609の処理で、図17(a)に示すようなオプション情報(Option)と、トレイ情報(InputTray)とが取得される。また、図16のステップS1610~1612の処理で、図17(b)に示すようなオプショントレイ情報(OptionTray)情報が取得される。
【0144】
図17(a)に示すオプション情報(Option)に含まれる「OptionTrey=ON」は、画像形成装置102nオプショントレイが搭載されていることが示されている。
【0145】
また、図17(b)のオプショントレイ情報では、オプショントレイとして、トレイ2とトレイ3とがあり、トレイ2の用紙サイズはB5、トレイ3の用紙サイズはA3であることが示されている。
【0146】
なお、上記の例では、プリンタドライバ530の設定部721が、図15(b)に示すようなテーブル情報を、プリンタドライバ530に対応するQueuePropertyBag612に記憶するものとして説明を行った。
【0147】
別の一例として、プリンタドライバ530の設定部721は、要求コマンド及び送信条件1401として、図15(c)に示すようなJavaScriptのソースコード1501を、QueuePropertyBag612に記憶するものであっても良い。なお、JavaScriptのソースコード1501は、スクリプト言語の一例である。
【0148】
この場合、USB Bidi Extender570は、QueuePropertyBag612から取得した、図15(c)に示すようなJavaScriptを実行することにより、画像形成装置102から機種情報を取得する。
【0149】
また、第2の実施形態においても、図13に示す処理のように、設定画面表示部710から機器情報の取得を要求される前に、要求コマンド及び送信条件1401をQueuePropertyBag612に予め設定しておくものであっても良い。
【0150】
なお、ここでは、プリンタドライバ530がV4プリンタドライバであるものとして説明を行ったが、本発明は、V4プリンタドライバと同様の制限を有する他のプリンタドライバにも適用可能である。
【0151】
以上、上記の各実施形態によれば、V4プリンタドライバ、又は同様の制限を有するプリンタドライバにおいて、USBポートを複数のプリンタドライバで利用する際に、画像形成装置との双方向通信を正しく行えるようになる。
【符号の説明】
【0152】
100 情報処理システム
101 情報処理装置
102 画像形成装置
530 プリンタドライバ
570 USB Bidi Extender(通信制御手段)
612 QueuePropertyBag(記憶手段)
620 独自記憶領域(記憶手段の別の一例)
721 設定部(設定手段)
722 要求部(要求手段)
724 要求コマンド
1401 要求コマンド及び送信条件
1501 JavaScriptのソースコード(スクリプト言語)
【先行技術文献】
【特許文献】
【0153】
【文献】特開2016-21157号公報
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17