特許第5701983号(P5701983)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ ヒューレット−パッカード デベロップメント カンパニー エル.ピー.の特許一覧

<>
  • 特許5701983-プリント要求の処理 図000002
  • 特許5701983-プリント要求の処理 図000003
  • 特許5701983-プリント要求の処理 図000004
  • 特許5701983-プリント要求の処理 図000005
  • 特許5701983-プリント要求の処理 図000006
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5701983
(24)【登録日】2015年2月27日
(45)【発行日】2015年4月15日
(54)【発明の名称】プリント要求の処理
(51)【国際特許分類】
   G06F 3/12 20060101AFI20150326BHJP
   B41J 29/38 20060101ALI20150326BHJP
【FI】
   G06F3/12 C
   G06F3/12 A
   G06F3/12 K
   B41J29/38 Z
【請求項の数】14
【全頁数】26
(21)【出願番号】特願2013-519638(P2013-519638)
(86)(22)【出願日】2010年7月15日
(65)【公表番号】特表2013-537664(P2013-537664A)
(43)【公表日】2013年10月3日
(86)【国際出願番号】US2010042048
(87)【国際公開番号】WO2012008958
(87)【国際公開日】20120119
【審査請求日】2013年3月8日
(73)【特許権者】
【識別番号】511076424
【氏名又は名称】ヒューレット−パッカード デベロップメント カンパニー エル.ピー.
【氏名又は名称原語表記】Hewlett‐Packard Development Company, L.P.
(74)【代理人】
【識別番号】100087642
【弁理士】
【氏名又は名称】古谷 聡
(74)【代理人】
【識別番号】100076680
【弁理士】
【氏名又は名称】溝部 孝彦
(74)【代理人】
【識別番号】100121061
【弁理士】
【氏名又は名称】西山 清春
(72)【発明者】
【氏名】カマス,ハリシュ,ビー
(72)【発明者】
【氏名】コエイ,ヘアン,クーン
(72)【発明者】
【氏名】スリヴァスタヴァ,ラフル,クマル
【審査官】 征矢 崇
(56)【参考文献】
【文献】 特開2009−025946(JP,A)
【文献】 特開2010−128555(JP,A)
【文献】 特開2009−259292(JP,A)
【文献】 特開2008−040991(JP,A)
【文献】 特開2003−216397(JP,A)
【文献】 特開2002−108583(JP,A)
【文献】 特開2008−194942(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F3/09−3/12
H04N1/00
B41J29/00−29/70
B41J5/00−5/52;21/00−21/18
(57)【特許請求の範囲】
【請求項1】
コンピュータにより実施される方法であって、
ファイルをプリンタでプリントするための要求を公衆ネットワークを介して第1のコンピュータシステムにおいて受信し、
該要求が該第1のコンピュータシステムとは別個の異なる第2のコンピュータシステム上で実行しているアプリケーションにより送信されたものであることの指示を該要求が含むことを判定し、該アプリケーションが、該第2のコンピュータシステムとは別個の異なる電子装置を介してユーザから受信した通信に応答し、前記要求が、該電子装置から受信した1つ又は2つ以上の通信に応じて該アプリケーションにより送信されたものであり、
該アプリケーションが前記第1のコンピュータシステムにより信頼されていることを判定し、
前記要求を受信したこと及び前記アプリケーションが信頼されていることを判定したことに応じて、ファイルをプリントするための前記要求のプリンタによる遂行を可能にするために該要求の指示を前記プリンタに提示する、
という各ステップからなり、
ファイルをプリントするための前記要求の前記プリンタによる遂行を可能にするために該要求の指示を該プリンタに提示する前記ステップが、該ファイルをプリントするための該要求を、前記第1のコンピュータシステムにより承認されているプリント要求に対応する待ち行列に追加するステップを含み、該方法が、
前記第1のコンピュータシステムにおいて、及び公衆ネットワークを介して、更なるファイルを前記プリンタでプリントするための更なる要求を受信し、
該更なるファイルを前記プリンタでプリントするための該更なる要求が、前記第1のコンピュータシステムが承認することができないソースから受信したものであることを判定し、
該更なる要求が前記第1のコンピュータシステムが承認することができないソースから受信したものであることが判定された結果として、該更なる要求を、前記プリンタからの遂行の承認が必要な待ち行列に追加する、
という各ステップを更に含む、コンピュータにより実施される方法。
【請求項2】
公衆ネットワークを介して、及び他の電子装置から、該他の電子装置のユーザに関する認証信任状を受信し、
該他の電子装置のユーザに関する受信した認証信任状の妥当性を検証し、
前記第1のコンピュータシステムにおいて、及び公衆ネットワークを介して、他の更なるファイルを前記プリンタでプリントするための他の更なる要求を受信し、
該他の更なるファイルを前記プリンタでプリントするための該他の更なる要求が前記他の電子装置から受信したものであることを判定し、
該他の更なる要求が前記他の電子装置から受信したものであると判定され、及び該他の電子装置のユーザに関する前記認証信任状の妥当性が検証された結果として、該他の更なる要求を、前記第1のコンピュータシステムにより承認されているプリント要求に対応する前記待ち行列に追加する、
という各ステップを更に含む、請求項1に記載の方法。
【請求項3】
前記第2のコンピュータシステム上で実行されている前記アプリケーションがウェブサービスであり、
前記要求が該第2のコンピュータシステム上で実行しているアプリケーションにより送信されたものであることの指示を該要求が含むことを判定する前記ステップが、該要求が該第2のコンピュータシステム上で実行しているウェブサービスにより送信されたものであることの指示を該要求が含むことを判定するステップからなり、
前記アプリケーションが前記第1のコンピュータシステムにより信頼されていることを判定する前記ステップが、前記ウェブサービスが前記第1のコンピュータシステムにより信頼されていることを判定するステップからなる、
請求項1又は請求項2に記載の方法。
【請求項4】
ファイルをプリンタでプリントするための前記要求を前記第1のコンピュータシステムにおいて受信する前記ステップが、該第1のコンピュータシステムにおいて、前記第2のコンピュータシステム上で実行している前記アプリケーションから、公衆ネットワークを介して該アプリケーションに対して直接アクセス可能でないプリンタでファイルをプリントするための要求を受信するステップからなる、請求項1ないし請求項3の何れか一項に記載の方法。
【請求項5】
ファイルをプリンタでプリントするための前記要求を前記第1のコンピュータシステムにおいて受信する前記ステップが、前記第1のコンピュータシステムにおいて、前記電子装置を介して前記ユーザから受信した通信に応じて、前記第2のコンピュータシステム上で実行している前記アプリケーションから、公衆ネットワークを介して前記電子装置に対して直接アクセス可能でないプリンタでファイルをプリントするための要求を受信するステップからなる、請求項1ないし請求項3の何れか一項に記載の方法。
【請求項6】
前記アプリケーションが前記第1のコンピュータシステムにより信頼されていることを判定する前記ステップが、該第1のコンピュータシステムにおいて第1のユーザに関する認証情報を受信することなく該第1のコンピュータシステムにより該アプリケーションが信頼されていることを判定するステップを含む、請求項1ないし請求項5の何れか一項に記載の方法。
【請求項7】
ファイルをプリントするための前記要求のプリンタによる遂行を可能にするために該要求の指示を前記プリンタに提示する前記ステップが、該ファイルを該プリンタでプリントするための命令を前記第1のコンピュータシステムから前記プリンタへ送信するステップを含む、請求項1ないし請求項6の何れか一項に記載の方法。
【請求項8】
前記第1のコンピュータシステムにおいて、前記プリンタから、該プリンタのためのプリントジョブが該第1のコンピュータシステムにおいて保留状態になっているか否かについての照会を受信するステップを更に含み、
ファイルをプリントするための前記要求の前記プリンタによる遂行を可能にするために該要求の指示を該プリンタに提示する前記ステップが、該プリンタから前記照会を受信したことに応じて該プリンタでファイルをプリントするための命令を前記第1のコンピュータシステムから該プリンタへ送信するステップを含む、
請求項1ないし請求項6の何れか一項に記載の方法。
【請求項9】
前記アプリケーションが前記第1のコンピュータシステムにより信頼されていることを判定する前記ステップが、
前記第2のコンピュータシステム上で実行している前記アプリケーションから暗号化されたディジタル署名を受信し、
該受信した暗号化されたディジタル署名を復号し、
該復号されたディジタル署名が前記第1のコンピュータシステムにより信頼されているアプリケーションに対応するものであることを検証する、
という各ステップを含む、請求項1ないし請求項5の何れか一項に記載の方法。
【請求項10】
前記暗号化されたディジタル署名を前記アプリケーションから受信する前記ステップが、前記第1のコンピュータシステムにおいて前記プリンタでファイルをプリントするための前記要求を受信する前記ステップの一部として前記暗号化されたディジタル署名を受信するステップを含むように、前記暗号化されたディジタル署名が前記プリンタでファイルをプリントするための前記要求に付随する、請求項9に記載の方法。
【請求項11】
前記アプリケーションが前記第1のコンピュータシステムにより信頼されていることを判定する前記ステップが、
前記第2のコンピュータシステム上で実行している前記アプリケーションから認証情報を受信し、
該アプリケーションから受信した該認証情報が、前記第1のコンピュータシステムにより信頼されていることが分かっているアプリケーションに対応するものであることを検証する、
という各ステップを含む、請求項1ないし請求項5の何れか一項に記載の方法。
【請求項12】
プリンティングサービスをホストするコンピュータシステムであって、該コンピュータシステムが、
1つ又は2つ以上の処理要素と、
該1つ又は2つ以上の処理要素による実行時に、
公衆ネットワークを介して、他の複数の電子装置のサブセットから、該複数の電子装置のサブセットのユーザに関する認証信任状を受信し、
該他の複数の電子装置のサブセットのユーザに関する受信した該認証信任状の妥当性を検証し、
該他の複数の電子装置のサブセットのユーザに関する該認証信任状の妥当性の検証に応じて、該複数の電子装置のサブセットのうちの対応する電子装置を介して該ユーザとのセッションを確立し、
公衆ネットワークを介して、前記他の複数の電子装置に代わってそれぞれのプリンタでファイルをプリントするための要求を受信し、該プリンタのうちの少なくとも一部は、公衆ネットワークを介して該他の複数の電子装置のうちの少なくとも一部に対してアクセス可能でなく、
前記プリンタでファイルをプリントするための複数の受信した要求の各々毎に、
ファイルをプリントすべき特定のプリンタを識別し、及び
前記要求が、リモートコンピュータシステム上で実行しているアプリケーションであって前記プリンティングサービスをホストする前記コンピュータシステムにより信頼されていることが分かっているアプリケーションから受信したものであるか否か、ユーザに関する認証信任状を送信し及びセッションがアクティブなままになっている前記他の複数の電子装置のサブセットのうちの1つから受信したものであるか否か、又は進行中のアクティブなセッションが存在しない電子装置から受信したものであるか否かを判定し、
前記プリンティングサービスをホストする前記コンピュータシステムにより信頼されていることが分かっているアプリケーションから受信したものであると判定された、特定のプリンタで第1のファイルをプリントするための第1の要求については、該第1の要求の指示を、前記特定のプリンタにより遂行されるべきプリント要求に対応する第1の待ち行列に追加し、
ユーザに関する認証信任状を送信し及びセッションがアクティブなままになっている前記他の複数の電子装置のサブセットのうちの1つから受信したものであると判定された、前記特定のプリンタで第2のファイルをプリントするための第2の要求については、該第2の要求の指示を、前記特定のプリンタにより遂行されるべきプリント要求に対応する第2の待ち行列に追加し、
進行中のアクティブなセッションが存在しない前記他の複数の電子装置のうちの1つから受信したものであると判定された、前記特定のプリンタで第3のファイルをプリントするための第3の要求については、該第3の要求の指示及び該第3の要求を送信したソースの指示を、前記特定のプリンタにより承認された後に該特定のプリンタにより遂行されるべきプリント要求に対応する第3の待ち行列に追加し、
前記第1の要求の指示を含む前記第1の待ち行列、前記第2の要求の指示を含む前記第2の待ち行列、並びに前記第3の要求の指示及び該第3の要求を送信したソースの指示を含む前記第3の待ち行列を、前記特定のプリンタに提示する、
という各ステップを前記1つ又は2つ以上の処理要素に行わせる命令を格納している、コンピュータメモリ記憶装置と
を備えている、コンピュータシステム。
【請求項13】
1つ又は2つ以上の処理要素による実行時に該1つ又は2つ以上の処理要素に前記第3の要求の指示及び該第3の要求を送信したソースの指示を前記第3の待ち行列に追加させる前記命令が、前記1つ又は2つ以上の処理要素による実行時に該1つ又は2つ以上の処理要素に前記第3の要求を送信したユーザの識別子の指示を前記第3の待ち行列に追加させる命令を含み、
1つ又は2つ以上の処理要素による実行時に該1つ又は2つ以上の処理要素に前記第3の要求の指示及び該第3の要求を送信したソースの指示を含む前記第3の待ち行列を前記特定のプリンタに提示させる前記命令が、前記1つ又は2つ以上の処理要素による実行時に該1つ又は2つ以上の処理要素に前記第3の要求の指示及び該第3の要求を送信した前記ユーザの前記識別子の指示を含む前記第3の待ち行列を前記特定のプリンタに提示させる命令を含む、
請求項12に記載のコンピュータシステム。
【請求項14】
プリンタを制御するための該プリンタ又は外部プリンタコントローラの1つ又は2つ以上の処理要素による実行時に、
該プリンタで遂行すべき保留中のプリント要求を識別するための照会を該プリンタから公衆ネットワークを介してホストプリンティングサービスに送信し、
該照会に応じて、前記ホストプリンティングサービスにより遂行することが承認されている遂行すべき第1の保留中のプリント要求、及び前記ホストプリンティングサービスにより遂行することが承認されていない遂行すべき第2の保留中のプリント要求の指示を受信し、
前記プリンタに前記第1の保留中のプリント要求を遂行させ、
前記第2の保留中のプリント要求について前記ホストプリンティングサービスにより遂行することが承認されていない結果として、前記プリンタに近接する表示装置に該第2の保留中のプリント要求に関する情報を表示させ、
該第2の保留中のプリント要求に関する情報の表示に応じて、該第2の保留中のプリント要求を遂行するための承認をユーザから受信し、
該第2の保留中のプリント要求を遂行するための該ユーザからの承認を受信した結果として、前記プリンタに該第2の保留中のプリント要求を遂行させる、
という各ステップを前記1つ又は2つ以上の処理要素に行わせる命令を格納した有形のコンピュータ読み出し可能な記憶媒体。
【発明の詳細な説明】
【背景技術】
【0001】
プリンタは、ファイルを(例えば、紙などの物理的なプリンタ媒体上に)ハードコピー形態へと変換するハードウェア装置である。プリンタは、局所的な周辺機器としてコンピュータに接続することが可能である。追加的又は代替的に、プリンタは、該プリンタをローカルエリアネットワーク(LAN)又は社内用もしくはエンタープライズイントラネットを介して複数のコンピュータへ接続することを可能にするネットワークインタフェイスを有することが可能である。
【図面の簡単な説明】
【0002】
図1】電子通信ネットワークの一例のブロック図である。
図2】ホストプリンティングサービスの一例のブロック図である。
図3】ホストプリンティングサービスにおいて受信したプリント要求を処理するためのプロセスの一例のフローチャートである。
図4】プリンタにおいて受信したホストプリンティングサービスからのプリント要求を処理するためのプロセスの一例のフローチャートである。
図5】プリンタの一例の説明図である。
【発明を実施するための形態】
【0003】
ホストプリンティングサービスは、1つ又は2つ以上のコンピュータ装置(例えばサーバ)からなるシステム上で実行される。このホストプリンティングサービスは、ネットワーク接続(例えばインターネット)を介して1つ又は2つ以上のリモートコンピュータ装置及び1つ又は2つ以上のリモートプリンタにアクセスすることが可能である。該ホストプリンティングサービスは、複数のリモートプリンタのうちの特定のプリンタでファイル(例えば文書)をプリントするための要求をリモートコンピュータ装置から受信し、かかる受信した要求をその遂行のために適当なプリンタへと中継するよう構成される。このようにして、ホストプリンティングサービスは、(例えば、プリンタが(おそらくファイアウォールの後ろにある)プライベートネットワーク上にあってパブリックネットワーク接続を介してユーザの装置にアクセスすることができないため、及び/又はユーザの装置がプリンタに対して直接的なプリント要求を発行するよう構成されていないために)本来であればユーザに対して利用可能とならないプリンタでファイルをプリントするための要求を遂行できるようにすることが可能なものである。
【0004】
例えば、出張中の実業家が、スマートフォン上で実行している電子メールクライアントアプリケーションを使用してファイルを参照し、次いで残りの旅行日程に備えて該ファイルのハードコピーを取得したい場合があり得る。しかし、該実業家のスマートフォンは、該実業家のホテルで利用できるプリンタがあるネットワークへのアクセスが阻止されており、及び/又は(例えば、該実業家のスマートフォンが該ホテルで利用できるプリンタへプリント要求を送信するために必要なドライバを有していないため)該プリンタへプリント要求を発行するように該実業家のスマートフォンを適当に設定することができない場合がある。それにもかかわらず、ホストプリンティングサービスは、該実業家のスマートフォンによりインターネットを介してアクセスすることが可能であり、また、該実業家のホテルで利用できるプリンタとの接続を確立できるよう構成することが可能である。このため、ホストプリンティングサービスは、該実業家のスマートフォンからインターネットを介して該ホストプリンティングサービスへファイルをプリントするための要求を発行し、次いで該プリント要求を該実業家のホテルで利用できる複数のプリンタのうちの1つへと中継することにより、該実業家が該実業家のホテルで該ファイルをプリントすることを可能にする。
【0005】
1つ又は2つ以上のリモートコンピュータ装置にアクセスすることが可能であることに加えて、ホストプリンティングサービスはまた、他のリモートコンピュータ装置に応じて1つ又は2つ以上のコンピュータ装置(例えば、サーバ)上で実行している1つ又は2つ以上の他のホストサービス(例えば、ウェブサービス)にアクセスすることが可能である。更に、ホストプリンティングサービスは、複数のリモートプリンタのうちの特定の1つでファイルをプリントするためのそれらホストサービスからの要求を受信し、及びかかる受信した要求をその遂行のために適当なプリンタへと中継するよう構成される。このようにして、ホストプリンティングサービスは、コンピュータ装置を使用してウェブサービスにアクセスしているユーザが、所望のプリンタで、該所望のプリンタがネットワーク接続を介して該ユーザの該コンピュータ装置に対してアクセス可能であるか否かにかかわらず、及び/又は該ユーザのコンピュータ装置が該所望のプリンタへプリント要求を直接発行するよう構成されているか否かにかかわらず、該ウェブサービスからファイルをプリントできるようにすることが可能である。更に、ユーザのコンピュータ装置が所望のプリンタに接続されており、及び該ユーザのコンピュータ装置が該所望のプリンタに対してプリント要求を直接発行することができるよう適切に構成されている場合であっても、該ホストプリンティングサービスは、該ユーザがウェブサービスから該ユーザのコンピュータ装置へファイルをダウンロードし、次いで該ダウンロードしたファイルをプリントするための要求を所望のプリンタに対して発行する、ということを必要とすることなく、該ユーザがウェブサービスからファイルをプリントできるようにすることが可能である。
【0006】
例えば、親は、該親の家庭用コンピュータを使用して写真共有ウェブサービスにアクセスして、該親が以前に該写真共有ウェブサービスへアップロードした該親の子供の写真であって現在では該写真共有ウェブサービスによってホストされ及び該写真共有ウェブサービスを介してアクセス可能となっている該親の子供の写真を処理することが可能である。該写真共有ウェブサービスによりホストされ同サービスを介してアクセス可能となっている該親の家族の写真を閲覧している間に、該親は、複数の該写真のうちの1つのハードコピーをプリントしたいと思うことがある。しかし、該親の家庭用コンピュータがプリンタに接続されていない場合があり、又は、該親が該親の家庭用コンピュータに接続されているプリンタよりも一層高い写真印刷能力を有する所望のプリンタで該写真をプリントしたい場合がある。かかる場合であっても、ホストプリンティングサービスが該写真共有ウェブサービスにアクセスして、該写真を印刷させたい所望のプリンタがネットワーク接続を介して該親の家庭用コンピュータに対してアクセス可能となっていない場合、該親の家庭用コンピュータが該所望のプリンタへプリント要求を直接発行するよう構成されていない場合、及び/又は該写真共有ウェブサービスがネットワーク接続を介して該所望のプリンタへのアクセスを有さない場合であっても該写真共有ウェブサービスが該ホストプリンティングサービスと対話して該所望のプリンタに対するプリント要求を発行するように、該親が該親の家庭用コンピュータを使用して該写真共有ウェブサービスに指示できるようにすることが可能である。
【0007】
ホストプリンティングサービスは、(本来であればアクセスすることができない)多数のプリンタへのアクセスを提供することができるが、かかるアクセスは、ホストプリンティングサービスを介した直接的なもの、又は該ホストプリンティングサービスへのアクセスを有するウェブサービスを介した間接的なものであり、これは、プリント要求を遂行するために連携するそれら多数のプリンタに(他の場合であれば曝されることのない)多数のプリント要求を負わせるものともなり得る。それ故、ホストプリンティングサービスは、該サービスが連携する複数のプリンタとは別個に又は該プリンタと共に、該複数のプリンタにより遂行されるプリント要求を、ホストプリンティングサービス及びプリンタの所有者の一方又は両方により承認されたプリント要求に制限することを意図した、プリント要求処理機構を採用する。
【0008】
例えば、実施態様によっては、ホストプリンティングサービスは、ユーザが該ホストプリンティングサービスに対して該ユーザ自身を認証することを必要とし、該認証の後、該ユーザに関連する電子装置を介して受信したプリント要求を該ユーザに代わって特定のプリンタへと中継する。追加的に又は代替的に、ホストプリンティングサービスは、該ホストプリンティングサービスにより認証されていないユーザに代わってプリント要求を受信した場合に、プリンタのある場所におけるエンティティによりローカルで認証されるまでプリント要求が遂行されないことを指定する指示と共に、該プリント要求を指定されたプリンタへと中継することが可能である。かかる場合、該プリンタは、ディスプレイを含む対話式コンピュータシステムに接続することが可能であり、及び、該プリンタは、保留中のプリント要求及び/又は保留中のプリント要求の発行者の身元の視覚的な指示を該ディスプレイに生成させることにより、関連するユーザからの保留中のプリント要求の承認又は拒否を請求することが可能である。続行に対する認証を受信した後のみ、プリンタはプリント要求を遂行することが可能である。更に、ホストプリンティングサービスは、以前に確立された信頼関係が存在するウェブサービスにのみ、該ホストプリンティングサービスを介したプリント要求の発行を許可することが可能である。このようにして、ホストプリンティングサービスは、プリンタにより遂行される望ましくない又は無許可のプリント要求を削減するために、該ホストプリンティングサービスと協働するプリンタへ中継されて該プリンタにより遂行されるプリント要求を調節することが可能である。
【0009】
図1は、ホストプリンティングサービス100の一例を含む電子通信ネットワークの一例のブロック図である。説明上、図1に図示し以下で説明する幾つかの要素は、一体的な実体として表現されている。しかし、それら複数の要素は、それぞれ、一組の特定の動作を実行するよう設計され及び専ら特定の地理的な領域のためのものであり又は代替的には2つ又は3つ以上の異なる地理的な場所にわたって分散された多数の相互接続されたコンピュータ装置及びその他の構成要素を含み又はそれらで実施することが可能なものである。
【0010】
図1に示すように、ホストプリンティングサービス100は、多数の電子的なユーザ装置102(a)-102(n)及び多数のプリンタ104(a)-104(m)にネットワーク106を介してアクセスすることが可能なものである。実施形態によっては、ネットワーク106はパブリックネットワークとすることが可能であり、電子的なユーザ装置102(a)-102(n)は、ネットワーク106上に存在すること又は1つもしくは2つ以上の対応するプライベートネットワークを介してネットワーク106にアクセスすることが可能なものである。同様に、プリンタ104(a)-104(m)は、ネットワーク106上に存在すること又は1つもしくは2つ以上の対応するプライベートネットワークを介してネットワーク106にアクセスすることが可能なものである。このため、電子的なユーザ装置102(a)-102(n)は、パブリックネットワーク接続を介してプリンタ104(a)-104(m)にアクセスできない可能性がある。
【0011】
電子的なユーザ装置102(a)-102(n)は、所定の態様で命令に応答し及び命令を実行することができる1つ又は2つ以上の汎用コンピュータ(例えば、デスクトップ、ラップトップ、タブレット、及びネットブックコンピュータを含むパーソナルコンピュータ、スマートフォン、及びPDA(personal digital assistants))、1つ又は2つ以上の特定用途コンピュータ、及び/又は汎用コンピュータ及び特定用途コンピュータの1つ又は2つ以上の組み合わせを含むことが可能である。
【0012】
個々の電子的なユーザ装置102(a)-102(n)は典型的には、オペレーティングシステム及び1つ又は2つ以上のアプリケーションプログラムといったデータ及びプログラムを格納するための内部的又は外部的な記憶要素を有している。アプリケーションプログラムの例として文書その他の電子的なコンテンツを生成することができるオーサリングアプリケーション(例えば、ワードプロセシングプログラム、データベースプログラム、スプレッドシートプログラム、又はグラフィクスプログラム)、他のコンピュータユーザと通信し、様々なコンピュータリソースにアクセスし、及び電子的なコンテンツの参照、生成、又はその他の操作を行うことができるクライアントアプリケーション(例えば、電子メールクライアント)、及び標準的なインターネットコンテンツを描画し、場合によってはウェブベースの電子メールクライアントもサポートすることができる、ブラウザアプリケーションが挙げられる。
【0013】
更に、個々の電子的なユーザ装置102(a)-102(n)は典型的には、記憶装置に格納されている命令及び/又は1つ又は2つ以上の他の電子装置から(例えば、ネットワーク106を介して)受信した命令を実行するための中央処理装置(CPU)も含む。個々の電子的なユーザ装置102(a)-102(n)はまた通常は、データを送受信するための通信装置を含む。かかる通信装置の一例として、アンテナ、送受信器、通信カード、及び有線又は無線データ経路を介してネットワーク106を介したデータの送受信を行うことができる他のネットワークアダプタが挙げられる。
【0014】
ホストプリンティングサービス100は、ネットワーク106を介してホストプリンティングサービス100に接続された1つ又は2つ以上のクライアント装置(例えば、電子的なユーザ装置102(a)-102(n))にサービスを提供するよう構成された1つ又は2つ以上のコンピュータ装置(例えば、サーバ)を使用して実施することが可能である。該ホストプリンティングサービス100が実施される1つ又は2つ以上のコンピュータ装置は、オペレーティングシステム及び1つ又は2つ以上のアプリケーションプログラムといったデータ及びプログラムを格納する内部的又は外部的な記憶要素を有することが可能である。該1つ又は2つ以上のアプリケーションプログラムは、該記憶要素に格納された命令であって、その実行時に該1つ又は2つ以上のコンピュータ装置に本書で説明するホストプリンティングサービスの機能を提供させる命令として実施することが可能である。
【0015】
更に、ホストプリンティングサービス100が実施される該1つ又は2つ以上のコンピュータ装置の各々は、記憶装置に格納されている命令及び/又は(例えば、ネットワーク106を介して)1つ又は2つ以上の他の電子装置から受信した命令を実行するための1つ又は2つ以上のプロセッサを含むことが可能である。更に、これらのコンピュータ装置はまた、典型的には、データを送受信するためのネットワークインタフェイス及び通信装置を含む。
【0016】
ネットワーク106は、ホストプリンティングサービス100、電子的なユーザ装置102(a)-102(n)、及びプリンタ104(a)-104(m)の間の直接的又は間接的な通信リンクをそれら装置間の物理的な離間距離にかかわらず提供することが可能である。このため、ホストプリンティングサービス100、電子的なユーザ装置102(a)-102(n)、及びプリンタ104(a)-104(m)のそれぞれは、互いに地理的に近接して位置することが可能であり、または代替的に、ホストプリンティングサービス100、電子的なユーザ装置102(a)-102(n)、及びプリンタ104(a)-104(m)のそれぞれは、広大な地理的な距離にわたって分散させることが可能である。ネットワーク106の例として、インターネット、WWW(World Wide Web)、WAN、LAN、アナログ又はディジタル式の有線又は無線による電話回線網、ラジオ、テレビ、ケーブル、衛星、及び/又はデータを伝送するための他のあらゆる他の伝送機構が挙げられる。
【0017】
ホストプリンティングサービス100と電子的なユーザ装置102(a)-102(n)並びにプリンタ104(a)-104(m)との間の電子的な通信を可能にすることに加えて、ネットワーク106はまた、ホストプリンティングサービス100と1つ又は2つ以上のウェブサービス108との間の通信も可能にする。
【0018】
ウェブサービスは典型的には、ネットワーク(例えば、ネットワーク106)を介して該ウェブサービスと通信することができる遠隔地にある異なるコンピュータ装置(例えば、電子的なユーザ装置102(a)-102(n))との対話及び該電子的なユーザ装置102(a)-102(n)からの命令に応じてコンピュータ装置(例えば、サーバ)上で実行される複数のコンピューティングアプリケーションである。このように、ウェブサービスは、1つ又は2つ以上の遠隔地にある異なるコンピュータ装置であって該コンピュータ装置に応じてウェブサービスを実行することになる該コンピュータ装置に「サービスを提供する」ことであると言うことができる。例えば、図1に示すように、電子的なユーザ装置102(n)は、ウェブサービス108により提供されるサービスを利用するために、ネットワーク106を介してウェブサービス108にアクセスする。ウェブサービスの1つの利便性は、該ウェブサービスを実施するコンピュータ装置を、その応答対象となるリモートコンピュータ装置から広大な地理的距離だけ離間させることが可能であり、しかも、該ウェブサービスは依然としてそれらリモートコンピュータ装置のための所望のタスクを実行するために必要な機能及び処理能力を該リモートコンピュータ装置に提供することが可能である、ということにある。
【0019】
多数の異なるタイプのウェブサービスが存在し、そのほんの一例を挙げると、ウェブサービスは、写真処理及び共有機能、ビジネスマーケティング資料設計機能、及びワード又はデータ処理をリモートコンピュータ装置へ提供することが可能である。多くの場合、ウェブサービスは、遠隔地にある電子的なユーザ装置を使用してウェブサービスにアクセスしているユーザが、該ユーザが該アクセスに使用している該電子的なユーザ装置と同じ場所にある記憶装置によってではなく該ウェブサービスによって格納されているデータ又はファイルに対してアクセスし、操作し、又はその他の対話を行うことができるようにすることが可能である。例えば、写真処理及び共有ウェブサービスは、該ウェブサービスにより格納されている写真に対してユーザがアクセスし及び該写真を操作することを可能とし、ビジネスマーケティング設計ウェブサービスは、該ウェブサービスにより格納されているビジネスマーケティング資料をユーザが生成し操作することを可能とし、及びワード又はデータ処理ウェブサービスは、文書、スプレッドシート、及び該ウェブサービスにより格納されているその他のファイルをユーザが生成し操作することを可能とするものである。
【0020】
かかる場合、かかるウェブサービスのユーザにとって、格納されているデータ又はファイルを該ユーザに代わって該ウェブサービスによりプリントする能力を該ウェブサービスが該ユーザに提供することが有利である。例えば、写真共有ウェブサービスのユーザにとっては、該ウェブサービスにより格納されている1つ又は2つ以上の写真を該ウェブサービスを介してプリントすることができることが有利となり得る。同様に、ビジネスマーケティング設計ウェブサービスのユーザにとっては、該ウェブサービスにより格納されているビジネスマーケティング資料を該ウェブサービスを介してプリントすることができることが有利となり得る。また、ワード又はデータ処理ウェブサービスのユーザにとっては、該ウェブサービスにより格納されている文書、スプレッドシート、又はその他のファイルを該ウェブサービスを介してプリントすることができることが有利となり得る。しかし、ウェブサービス自体は、ウェブサービスにおいて格納されているデータ又はファイルを該ウェブサービスのユーザに代わってプリントするためにプリンタとインタフェイスする能力を有していない可能性がある。このため、ウェブサービスと協働するように、例えば、ウェブサービス108のためにプリントサービスを提供するために該ウェブサービス108と協働するように、ホストプリンティングサービス100を構成することが可能である。
【0021】
ホストプリンティングサービス100は、電子的なユーザ装置102(a)-102(n)及び1つ又は2つ以上のウェブサービス108の両方からプリント要求を受信するように構成され、及び必要に応じて、これらのプリント要求をその遂行のために複数のプリンタ104(a)-104(m)のうちの特定の1つへ中継するよう構成される。このようにして、ホストプリンティングサービス100は、電子的なユーザ装置102(a)-102(n)がネットワーク接続を介して個々のプリンタ104(a)-104(m)にアクセスすることができるか否かにかかわらず、及び/又は電子的なユーザ装置102(a)-102(n)がプリンタ104(a)-104(m)のそれぞれにプリント要求を発行し又は該プリンタ104(a)-104(m)のそれぞれと通信するように適当に構成されているか否かにかかわらず、該電子的なユーザ装置102(a)-102(n)がプリント要求を発行して該複数のプリンタ104(a)-104(m)のうちの特定の1つにより該プリント要求を遂行させることを可能にする。
【0022】
特定の電子的なユーザ装置102がネットワーク接続を介して特定のプリンタ104にアクセスすることができない理由は多数存在する。例えば、特定の電子的なユーザ装置102は、個人用サービスプロバイダによって利用可能となる無線接続(例えば、IEEE 802.11規格に基づく無線LAN(WLAN)、無線周波数に基づく無線ネットワーク、及び/又は無線サービスプロバイダにより提供されるセルラー又は携帯電話ネットワーク)を介してインターネットにアクセスするスマートフォン又はタブレットコンピュータとすることが可能であり、電子的なユーザ装置102のユーザがファイルをプリントさせたい特定のプリンタ104は、該電子的なユーザ装置102等の未知の又は権限のない装置から到来する通信を遮断するファイアウォール(図示せず)を介してインターネットに接続された異なるプライベートLAN上に存在する可能性がある。
【0023】
同様に、特定の電子的なユーザ装置102が特定のプリンタ104にプリント要求を発行し又は該特定のプリンタ104と通信するように適当に構成されていない理由は多数存在する。例えば、電子的なユーザ装置102にとって必要なドライバが該電子的なユーザ装置102上にインストールされていない場合があり、及び/又は、電子的なユーザ装置102と特定のプリンタ104とが同一のプライベートネットワーク(図示せず)上に存在する場合であっても、該電子的なユーザ装置が該プリンタ104の正しいネットワークアドレス(例えば、IPアドレス)を知らない場合がある。
【0024】
ホストプリンティングサービス100、電子的なユーザ装置102(a)-102(n)、ウェブサービス108、及びプリンタ104(a)-104(m)は、互いに通信を行って電子的なユーザ装置102(a)-102(n)及び/又はウェブサービス108により発行されたプリント要求を遂行するために様々な異なる技術を用いることが可能である。
【0025】
例えば、実施形態によっては、ホストプリンティングサービス100は、プリント要求を発行し該プリント要求を遂行すべく該ホストプリンティングサービス100と通信するために、電子的なユーザ装置102(a)-102(n)、ウェブサービス108、及びプリンタ104(a)-104(m)が使用することができる、アプリケーションプログラミングインタフェイス(API)を提供する。特定の実施形態では、該APIは、REST(REpresentational State Transfer)APIとすることが可能である。RESTフレームワークは、大域識別子(例えば、URI(Uniform Resource Identifier)など)により参照されるリソースを指定する。かかるリソースを操作するために、ホストプリンティングサービス100及びプリンタ104(a)-104(m)は、HTTP(HyperText Transfer Protocol)等の標準的なインタフェイスを使用して通信することが可能である。
【0026】
ホストプリンティングサービス100により提供されるAPIは、プリンタ104(a)-104(m)において及び/又は該ホストプリンティングサービス100において実行しているアプリケーションにより呼び出すことができる様々なAPIルーチン(又は方法)を含むことが可能である。REST APIを使用することにより統合化が促進される。これは、該APIルーチンを使用して、異なるノード(例えば、電子的なユーザ装置102(a)-102(n)、ホストプリンティングサービス100が実施されているコンピュータ装置、及び/又はプリンタ104(a)-104(m))での異なるオペレーションシステムの使用に起因して生じ得るアドレスの競合又は不一致を伴うことなく、プリント関連サービスの実行に伴う通信を行うことができるからである。REST APIの使用はまた、プリンタ104(a)-104(m)又はその他のプリント関連サービスへのアクセスを可能とするために電子的なユーザ装置102(a)-102(n)上にプリンタデバイスドライバをインストールすることを不要とすることが可能である。
【0027】
ホストプリンティングサービス100等のホストプリンティングサービスへのアクセス時に電子的なユーザ装置102(a)-102(n)により遭遇し得る1つの問題は、プラットフォームの違い、文書フォーマットの相違、ソフトウェアが利用できないこと、及び/又はその他の問題によって文書の認識が妨げられて、プリント又はプリント関連サービスの実行が困難になり又は不可能になる、ということである。このため、場合によっては、フォーマット変換を実行してこの問題に対処する。かかる場合、フォーマット変換は、電子的なユーザ装置102(a)-102(n)、ホストプリンティングサービス100、及び/又はプリンタ104(a)-104(m)の何れにおいて実行することも可能である。
【0028】
電子的なユーザ装置102(a)-102(n)及び/又はウェブサービス108は、ホストプリンティングサービス100へプリント要求を発行するためにREST APIを使用することが可能である。電子的なユーザ装置102(a)-102(n)のうちの1つ又はウェブサービス108からプリント要求を受信すると、ホストプリンティングサービス100は、該プリント要求を遂行するプリンタとしてプリンタ104(a)-104(m)のうちのどれが特定されるかを識別することが可能であり、次いで、該ホストプリンティングサービス100は、該プリント要求を遂行することが要求される該特定のプリンタに対応するプリント要求待ち行列に該プリント要求を追加することが可能である。
【0029】
断続的に(例えば、定期的に)、個々のプリンタ104(a)-104(m)は、REST APIを使用してホストプリンティングサービスに照会を行って、該ホストプリンティングサービス100において該個々のプリンタのための何れかのプリント要求が保留になっているか否かを判定することが可能である。かかる照会に応じて、ホストプリンティングサービス100は、該照会を送信したプリンタに対応するプリント要求待ち行列が該照会を行ったプリンタのための保留中のプリント要求を含むか否かを判定し、該待ち行列が該プリンタのための1つ又は2つ以上のプリント要求を含むと判定されたことに応じて、ホストプリンティングサービス100は、例えばREST APIを使用して、該プリンタのための該1つ又は2つ以上の保留中のプリント要求をその遂行のために該プリンタへ送信する。
【0030】
REST APIを使用して、保留中のプリント要求についてホストプリンティングサービス100に照会を行い、その後、保留中のプリント要求を該ホストプリンティングサービス100から受信することにより、個々のプリンタ104(a)-104(m)が(到来する通信が該プリンタ104(a)-104(m)へと中継されるのを阻止することになるファイアウォールの後ろ側のプライベートネットワーク上に該プリンタ104(a)-104(m)が存在する場合であっても)ホストプリンティングサービス100からプリント要求を受信することが可能となる。
【0031】
ホストプリンティングサービス100は、(本来であれば電子的なユーザ装置102(a)-102(n)及びウェブサービス108に対してアクセス可能とはならない)多数のプリンタ104(a)-104(m)に対するアクセスを電子的なユーザ装置102(a)-102(n)及びウェブサービス108に提供し、これにより、電子的なユーザ装置102(a)-102(n)又はウェブサービス108からファイルをプリントすることに関する大きな柔軟性が該電子的なユーザ装置102(a)-102(n)及びウェブサービス108のユーザに提供されるが、該ホストプリンティングサービス100はまた、結果的に、本来よりも一層多数のプリント要求を受信する蓋然性をプリンタ104(a)-104(m)に被らせるものとなる。このため、ホストプリンティングサービス100は、プリンタ104(a)-104(m)とは別個に、又はプリンタ104(a)-104(m)と連携して、プリンタ104(a)-104(m)のそれぞれが「スパム」プリンティング活動のターゲットとなるのを阻止するため、及びプリンタ104(a)-104(m)のそれぞれがそれらプリンタに対応する所有者又は操作者が遂行を意図しているプリント要求のみを受信して最終的に該プリント要求のみを遂行することを確実にするための、1つ又は2つ以上のポリシーを実施することが可能である。
【0032】
特に、ホストプリンティングサービス100が採用する一つの機構は、ユーザ、及び/又は電子的なユーザ装置102(a)-102(n)により発行されたプリント要求を遂行する前に該ホストプリンティングサービス100にアクセスするために該ユーザにより使用される該電子的なユーザ装置102(a)-102(n)を認証する認証サービスである。例えば、図1に示すように、電子的なユーザ装置102(a)は、ホストプリンティングサービス100と認証された通信セッションを確立している。
【0033】
ユーザ、及び/又はホストプリンティングサービス100にアクセスするためにユーザが使用する電子的なユーザ装置102(a)-102(n)を認証するために、様々な異なる技術をホストプリンティングサービス100により採用することが可能である。例えば、実施形態によっては、ホストプリンティングサービス100は、該ホストプリンティングサービス100との認証された通信セッションを確立するために、ユーザが登録済みのユーザ名又はその他の識別子(例えば、口座番号)と検証済みのパスワードとを該ホストプリンティングサービス100に提示することを要求することが可能である。追加的に又は代替的に、ホストプリンティングサービス100は、該ホストプリンティングサービス100との認証された通信セッションを確立するために、電子的なユーザ装置が検証済みのディジタル証明書を該ホストプリンティングサービス100に提示すること及び/又はチャレンジ・レスポンス認証機構を実施することを要求することが可能である。
【0034】
いずれにせよ、電子的なユーザ装置102(a)が、ホストプリンティングサービス100とのcommercial service認証された通信セッションを確立した後、該ホストプリンティングサービス100は、該電子的なユーザ装置102(a)が、該ホストプリンティングサービス100を介してアクセスすることが可能な1つ又は2つ以上のプリンタ104(a)-104(m)によりプリント要求を遂行させることを可能とすることが可能である。実施形態によっては、電子的なユーザ装置102(a)が、ホストプリンティングサービス100との認証された通信セッションを確立した後、該ホストプリンティングサービス100は、該電子的なユーザ装置102(a)が、該ホストプリンティングサービス100を介してアクセスすることが可能な全てのプリンタによりプリント要求を遂行させることを可能にすることが可能である。
【0035】
代替的な実施形態では、電子的なユーザ装置102(a)が、ホストプリンティングサービス100との認証された通信セッションを確立した後、該ホストプリンティングサービス100は、該電子的なユーザ装置102(a)が、該ホストプリンティングサービス100を介してアクセスすることが可能な全てのプリンタ104(a)-104(m)よりも少数のサブセットによりプリント要求を遂行させることのみを可能とすることが可能である。例えば、ホストプリンティングサービス100は、特定の種類のプリンタ(例えば、特定の制限された又は指定された能力を有するプリンタ)又は特定の地理的領域内にあるプリンタにのみアクセスできる権利をユーザに与えるホストプリンティングサービス100を使用するための申し込みを提供することが可能である。追加的に又は代替的に、ホストプリンティングサービス100は、電子的なユーザ装置102(a)が、プリンタ104(a)-104(m)のうち該プリンタの所有者又は操作者が電子的なユーザ装置102(a)のユーザに対して利用可能なものとして指定した特定のサブセットにのみアクセスすることを可能にすることが可能である。例えば、ホストプリンティングサービス100は、電子的なユーザ装置102(a)のユーザに対し、該ホストプリンティングサービス100を介してアクセスすることが可能なプリンタであって該電子的なユーザ装置のユーザの使用者により所有されているプリンタによりプリント要求を遂行させることのみ、及び/又は該ホストプリンティングサービス100を介してアクセスすることが可能なプリンタであり且つ商用サービスにより所有されているプリンタであって該電子的なユーザ装置102(a)のユーザが該商用サービスにより所有されている該プリンタによりプリント要求を遂行する権利を該ユーザに与えるアカウントを有している該商用サービスにより所有されている該プリンタによりプリント要求を遂行させることのみを可能とすることが可能である。
【0036】
場合によっては、ホストプリンティングサービス100は、認証されていない電子的なユーザ装置102(a)-102(n)及び/又は電子的なユーザ装置102(a)-102(n)のユーザにより発行されたプリント要求を受容することが可能である。例えば、図1に示すように、電子的なユーザ装置102(b)は、ホストプリンティングサービス100と通信セッションを確立しているが、該通信セッションはホストプリンティングサービス100により認証されていない。この場合、ホストプリンティングサービス100は、電子的なユーザ装置102(b)からのプリント要求を受容することが可能であり、これらのプリント要求を電子的なユーザ装置102(b)により指定されたプリンタ104(a)-104(m)のそれぞれに中継することさえも可能である。しかし、この際、ホストプリンティングサービス100は、プリント要求の中継対象となるプリンタ104(a)-104(m)のそれぞれに、該プリント要求が未だ認証されていないことを示すことが可能である。このため、これらのプリント要求を遂行する前に、関与するプリンタは、該プリント要求を遂行するためのユーザの手動による認証を要求することが可能である。
【0037】
例えば、プリンタ104(a)-104(m)は、ユーザに対してメッセージを表示し及び該ユーザから入力を受容することができる対話型の電子装置を含むこと又はかかる対話型の電子装置に接続されることが可能である。プリンタ104(a)-104(m)のうちの1つが、未だ認証されていないものとして識別されるプリント要求をホストプリンティングサービス100から受信すると、該プリンタは、該プリント要求の遂行を延期し、及び未認証の該プリント要求に関する詳細を提供するメッセージを対話型の電子装置上に表示させることが可能である。該プリント要求を遂行すべき確認をユーザが該対話型の電子装置に入力した後にのみ、該プリンタは、該未認証の要求を遂行することが可能となる。該未認証の要求を拒否すべきことを指示する入力をユーザが対話型の電子装置に提供した場合、又は指示を受信することなく一定期間を超える時間が経過した場合には、該未認証の要求をキャンセルすることが可能である。
【0038】
上述のように、ホストプリンティングサービス100は、ウェブサービス108が、該ホストプリンティングサービス100を介してアクセスすることが可能な複数のプリンタのうちの1つ又は2つ以上により遂行するためのプリント要求を該ホストプリンティングサービス100へ発行することを可能にする。しかし、プリンタ104(a)-104(m)にウェブサービス108からの違法なプリント要求が殺到するリスクを低減させるために、ホストプリンティングサービス100は、ウェブサービス108から受信されるプリント要求の遂行を調整する1つ又は2つ以上の様々な機構を採用することが可能である。
【0039】
実施形態によっては、ホストプリンティングサービス100は、該ホストプリンティングサービス100が以前に信頼できる関係を確立したウェブサービスのみが、該ホストプリンティングサービス100を介してアクセスすることが可能な複数のプリンタ104(a)-104(m)のうちの1つにより遂行するために該ホストプリンティングサービス100へプリント要求を発行することを可能にすることが可能である。例えば、図1に示すように、ウェブサービス108は以前にホストプリンティングサービス100と信頼できる関係を確立している。ホストプリンティングサービス100と以前に信頼できる関係を確立していることを立証するために、ホストプリンティングサービス100は、該ホストプリンティングサービス100へディジタル証明書を送信することをウェブサービスへ要求することが可能である。
【0040】
ウェブサービスとの信頼できる関係を確立するプロセスの一部として又は該確立に加えて、ホストプリンティングサービス100は、ウェブサービスにより認証された電子的なユーザ装置又はユーザとの通信セッションの過程で生成されたプリント要求のみを該ウェブサービスが該ホストプリンティングサービス100へ発行することを要求することが可能である。例えば、図1に示すように、電子的なユーザ装置102(n)は、ウェブサービス108と認証された通信セッションを確立している。このように、ホストプリンティングサービス100は、電子的なユーザ装置102(n)及び/又はそのユーザ自体を認証するための代理的な手段として、ウェブサービス108により実行される該電子的なユーザ装置102(n)及び/又はそのユーザの認証を使用することが可能である。
【0041】
ホストプリンティングサービス100により実行される認証に関して上述したものを含めて、電子的なユーザ装置102(n)及び/又はそのユーザを認証するためにウェブサービス108により様々な異なる技術を採用することが可能である。
【0042】
ウェブサービス108が以前にホストプリンティングサービス100と信頼できる関係を確立し及びウェブサービス108が電子的なユーザ装置102(n)と確立した通信セッションを認証したという事実に起因して、ホストプリンティングサービス100は、ウェブサービス108から受信したプリント要求であって電子的なユーザ装置102(n)との対話の結果として生成されたプリント要求を、その遂行のために該ホストプリンティングサービス100を介してアクセスすることが可能な複数のプリンタ104(a)-104(m)のそれぞれに中継することが可能である。実施形態によっては、ホストプリンティングサービス100は、該ホストプリンティングサービス100が以前に信頼できる関係を確立していないウェブサービスからのプリント要求を受容することが可能であり、及び/又は、ホストプリンティングサービス100は、該ホストプリンティングサービス100が以前に信頼できる関係を確立しているウェブサービスから発せられたプリント要求であるが、電子的なユーザ装置及び/又はそのユーザとの該信頼できるウェブサービスによる未認証の対話の結果として生じたものである、該プリント要求を受容することが可能である。しかし、ホスト電子通信システム100が、以前に認証された通信セッションを確立していない電子的なユーザ装置から直接受信したプリント要求については、かかるプリント要求は、該プリント要求が未認証であるとの指示と共にプリンタ104(a)-104(m)のうちの適当なものへと中継して、該プリント要求を遂行するためのローカルな認証又は確認を受信するまで該関与するプリンタが該プリント要求を遂行しないようにすることが可能である。
【0043】
図2は、ホストプリンティングサービス200、例えば、図1に示したホストプリンティングサービス100の一例を示すブロック図である。説明上、図2に図示し以下で説明する幾つかの構成要素は、一体をなす複数の実体(monolithic entities)として表現する。しかし、それら構成要素の各々は、多数の相互接続されたコンピューティング装置及びその他の構成要素を含むこと及び/又はそれら構成要素で実施することが可能であり、該その他の構成要素は、一組の特定の操作を実行するよう設計されたもの、特定の地理的領域専用に構成されたもの、又は代替的には、2つ又は3つ以上の異なる地理的な場所にわたって分散させることが可能なものとすることが可能である。
【0044】
図2に示すように、ホストプリンティングサービス200は、1つ又は2つ以上の遠隔地にある電子的なユーザ装置、ウェブサービス、及び/又はプリンタと通信するためのネットワークインタフェイス202、該ホストプリンティングサービス200により利用可能となる機能を提供するためのアプリケーション命令を格納するコンピュータメモリ記憶装置204、及び(例えばコンピュータメモリ記憶装置204からの)命令を実行するための1つ又は2つ以上のプロセッサ206、及び/又は1つ又は2つ以上のその他の電子的な装置を含む。上述のように、コンピュータメモリ記憶装置204に格納されているアプリケーション命令が1つ又は2つ以上のプロセッサ206により実行され、これにより、1つ又は2つ以上の遠隔地にある電子的なユーザ装置及び/又は1つ又は2つ以上のウェブサービスからのプリント要求をホストプリンティングサービス200に受信させ、及びそれら要求をその遂行のために1つ又は2つ以上の適当なプリンタへと中継する。
【0045】
ホストプリンティングサービス200はまた、プリンタレジストリを格納するコンピュータメモリ記憶装置208、ユーザレジストリを格納するコンピュータメモリ記憶装置210、及びウェブサービスレジストリを格納するコンピュータメモリ記憶装置212を含む。
【0046】
ホストプリンティングサービス200は、電子的なユーザ装置からホストプリンティングサービス200により受信されたプリント要求を遂行するためにホストプリンティングサービス200に対して利用可能となることを望むことを新しいプリンタが示す度に、プリンタ登録プロセスを実行することが可能である。例えば、ホストプリンティングサービス200は、複数のプリンタ又はかかるプリンタと連携するリソース(例えば、プリンタについて管理者権限を有するパーソナルコンピュータ)をホストプリンティングサービス200に登録してそれ以降に該プリンタがホストプリンティングサービス200により受信されたプリント要求を遂行するために該ホストプリンティングサービス200と協働することができるようにするAPI及び/又はユーザインタフェイスを提供することが可能である。
【0047】
この登録プロセスの一部として、新しいプリンタをホストプリンティングサービス200に登録する際に、ホストプリンティングサービス200は、該新しいプリンタに関する様々な情報を収集することが可能であり、該情報としては、例えば、ネットワークアドレス(例えば、該新しいプリンタのIPアドレス及び/又はMAC(Media Access Control)アドレス)、該新しいプリンタの場所(例えば、緯度及び経度座標、GPS座標、所在地住所、ビル名/番号、ビルの階、フロア位置)、該新しいプリンタの能力(例えば、サポートするフォーマット、プリント技術(例えば、インクジェット又はレーザ)、頁数/分、カラー又は白黒、ページサイズ、解像度)、該新しいプリンタと通信するためのプロトコル、該新しいプリンタの製造者及び型式、該新しいプリンタのテキスト記述(例えば、プリンタ名)、該新しいプリンタの所有者/操作者、及び/又は該新しいプリンタにプリント要求を発行することが許可されている者に関する規則を指定するアクセス権が挙げられる。
【0048】
このホストプリンティングサービス200により収集された情報は次いで、コンピュータメモリ記憶装置208に格納されているプリンタレジストリ内に記録することが可能である。該コンピュータメモリ記憶装置208は、遠隔地にある電子的なユーザ装置及び/又はウェブサービスから受信したプリント要求を遂行すべく協働するようホストプリンティングサービス200を構成し及び該協働が認証されるようにする様々なプリンタに関する情報を記録するものである。このため、ホストプリンティングサービス200が協働するよう構成され及び該協働が認証されることになる各プリンタ毎に、コンピュータメモリ記憶装置208に格納されるプリンタレジストリは、ネットワークアドレス、場所、提供される能力の指示、プリンタと通信するための通信プロトコルに関する情報、プリンタの製造者及び型式の指示、プリンタに関するテキスト記述、プリンタの所有者/操作者の指示、及び/又はプリント要求の発行が許可される者に関する規則を格納することが可能である。
【0049】
ホストプリンティングサービス200はまた、新しい電子的なユーザ装置及び/又は新しい電子的なユーザ装置のユーザが、ホストプリンティングサービス200により提供されるサービスの利用を望むことを示す度に、ユーザ登録プロセスを実行することが可能である。例えば、ホストプリンティングサービス200は、電子的なユーザ装置及び/又は電子的なユーザ装置のユーザがホストプリンティングサービス200により提供されるサービスにアクセスするためにホストプリンティングサービス200に登録することを可能にするAPI及び/又はユーザインタフェイスを提供することが可能である。
【0050】
このユーザ登録プロセスの一部として、電子的なユーザ装置の新しいユーザ及び/又は新しい電子的なユーザ装置をホストプリンティングサービス200に登録する際に、ホストプリンティングサービス200は、該新しいユーザ及び/又は電子的なユーザ装置に関する様々な情報を収集することが可能であり、例えば、新しいユーザの場合には、該新しいユーザの名称、該新しいユーザの所在地住所、該新しいユーザに関する認証情報(例えば、ユーザ名その他の識別子及びそれに対応するパスワード、ディジタル証明書)、該新しいユーザに関する支払情報(例えば、クレジットカード情報)(例えば、プリント要求の遂行に料金が徴収されるプリンタでプリント要求を遂行することを該ユーザが望む場合)、ホストプリンティングサービス200に登録されているプリンタのうち該新しいユーザがアクセスすることが許可されているプリンタの指示、プリンタプリファレンス情報(例えば、好ましいプリンタのタイプ及び能力に関する情報)、及び/又は該新しいユーザがホストプリンティングサービス200にアクセスするために使用することができる様々な装置に関する識別情報を収集することが可能である。
【0051】
このホストプリンティングサービス200により収集された情報は次いで、コンピュータメモリ記憶装置210に格納されているユーザレジストリ内に記録することが可能である。該コンピュータメモリ記憶装置210は、ホストプリンティングサービス200により提供されるサービスにアクセスすることができるようにホストプリンティングサービス200に登録されている様々な電子的なユーザ装置のユーザ及び/又は電子的なユーザ装置に関する情報を記録するものである。このため、ホストプリンティングサービス200に登録される各ユーザ毎に、コンピュータメモリ記憶装置210に格納されるユーザレジストリは、ユーザの名称、所在地住所、認証情報、支払情報、ホストプリンティングサービス200に登録されているプリンタのうちユーザがアクセスすることが許可されているプリンタの指示、プリンタプリファレンス情報、及び/又はホストプリンティングサービス200にアクセスするためにユーザが使用することができる様々な装置に関する識別情報を格納することが可能である。
【0052】
上述のように、ホストウェブサービス200は、他のウェブサービスからのプリント要求を受信し、及び複数のプリンタと協働してかかるウェブサービスから受信したプリント要求を遂行するよう構成することが可能である。また、既述のように、ホストウェブサービス200は、他のウェブサービスからプリント要求を受容する前に該他のウェブサービスとの信頼関係の形成を要求することが可能である。かかるウェブサービスとの信頼関係の形成に資するべく、ホストプリンティングサービス200は、ホストプリンティングサービス200により提供されるサービスに対してアクセス可能であることを望むことを新しいウェブサービスが示す度に、ウェブサービス登録プロセスを実行することが可能である。例えば、ホストプリンティングサービス200は、ウェブサービス又はかかるウェブサービスと連携するリソース(例えば、ウェブサービスについて管理者権限を有するパーソナルコンピュータ)をホストプリンティングサービス200に登録してそれ以降に該ウェブサービスがホストプリンティングサービス200により提供されるサービスにアクセスすることができるようにするAPI及び/又はユーザインタフェイスを提供することが可能である。実施形態によっては、ホストプリンティングサービス200は、ウェブサービスと信頼できる関係を確立する前に、該ウェブサービスにより提供されるサービスにアクセスするユーザを該ウェブサービスが認証することを要求することが可能である。
【0053】
この登録プロセスの一部として、新しいウェブサービスをホストプリンティングサービス200に登録する際に、ホストプリンティングサービス200は、該新しいウェブサービスに関する様々な情報を収集することが可能であり、かかる情報には、例えば、新しいウェブサービスの名称、該新しいウェブサービスに関する認証情報、及び/又は該新しいウェブサービスと通信するための通信プロトコルが含まれる。
【0054】
このホストプリンティングサービス200により収集された情報は次いで、コンピュータメモリ記憶装置212に格納されているウェブサービスレジストリ内に記録することが可能である。該コンピュータメモリ記憶装置212は、ホストプリンティングサービス200が信頼できる関係を維持する様々なウェブサービスに関する情報を記録するものである。このため、ホストプリンティングサービス200が信頼できる関係を維持する各ウェブサービス毎に、コンピュータメモリ記憶装置212に格納されるウェブサービスレジストリは、ウェブサービスの名称、ウェブサービスに関する認証情報、及び/又はウェブサービスと通信するための通信プロトコルを格納することが可能である。
【0055】
ホストプリンティングサービス200はまた、ホストプリンティングサービス200が電子的なユーザ装置から受信したプリント要求を遂行するために協働するよう構成されている各プリンタ毎にプリント要求待ち行列216(a)-216(m)を格納するよう構成されたコンピュータメモリ記憶装置214を含む。ホストプリンティングサービス200が特定のプリンタにより遂行されるべきプリント要求を受信した際、該ホストプリンティングサービス200は、該プリント要求を該特定のプリンタに対応するプリント要求待ち行列216に格納し、このプリント要求待ち行列を該特定のプリンタに提示して該特定のプリンタが保留中のプリント要求に気づくようにする。
【0056】
実施形態によっては、ホストプリンティングサービス200は、それと協働するよう構成されている各プリンタ毎に複数の異なるプリント要求副待ち行列を維持することが可能である。例えば、図2に示すように、ホストプリンティングサービス200により維持される各プリント要求待ち行列216(a)-216(m)は、3つの副待ち行列、すなわち、信頼できるウェブサービスからの承認済み要求の副待ち行列(218)、ユーザ装置からの承認済み要求の副待ち行列220、及びユーザ装置からの未承認の要求の副待ち行列(222)を含む。
【0057】
ホストプリンティングサービス200が特定のプリンタにより遂行すべきプリント要求を信頼できるウェブサービスから受信すると、該ホストプリンティングサービス200は該プリント要求が認証されていることを判定し、該ホストプリンティングサービス200は、該プリント要求を該特定のプリンタのための前記信頼できるウェブサービスからの承認済み要求の副待ち行列218に追加する。同様に、ホストプリンティングサービス200が特定のプリンタにより遂行すべきプリント要求を認証されたユーザ及び/又は電子的なユーザ装置から受信すると、ホストプリンティングサービス200は、該プリント要求を該特定のプリンタのための前記ユーザ装置からの承認済み要求の副待ち行列220に追加し、ホストプリンティングサービスが特定のプリンタにより遂行すべきプリント要求を認証されていないユーザ及び/又は電子的なユーザ装置から受信すると、ホストプリンティングサービス200は、該プリント要求を該特定のプリンタのための前記ユーザ装置からの未承認の要求の副待ち行列222に追加する。
【0058】
代替的な実施形態では、ホストプリンティングサービス200は、異なる出所からの及び/又は異なる認証状態を有するプリント要求について個々のプリンタ毎のプリント要求待ち行列内に別個のプリント要求の副待ち行列を維持しないことが可能である。その代わりに、ホストプリンティングサービス200は、各プリンタ毎に単一のプリント要求待ち行列を維持する一方で、出所に関する情報及び/又は該プリント要求の承認状態をプリンタへ送信される通信内に含めることが可能である。
【0059】
図3は、ホストプリンティングサービスにおいて受信したプリント要求を処理するためのプロセスの一実施形態のフローチャート300である。図3のフローチャート300に示す各プロセスは、ホストプリンティングサービスにより実行することが可能であり、例えば、図1に示すホストプリンティングサービス100、又は図2に示すホストプリンティングサービス200により実行することが可能である。更に、図3のフローチャート300で示すプロセスは、コンピュータ読み出し可能記憶装置に格納されているアプリケーションコードを実行する結果としてホストプリンティングサービスが実行されているコンピューティングシステムの1つ又は2つ以上の処理要素によって実施することが可能である。図3のフローチャート300に示すプロセスは、新しいプリント要求が受信される度に実行することが可能である。
【0060】
ブロック302で、ファイルをプリントするための要求がホストプリンティングサービスにより受信される。これに応じて、ブロック304で、ホストプリンティングサービスが該要求の送信元を判定する。ホストプリンティングサービスが、該要求が信頼できるウェブサービスから受信したものであると判定した場合、該ホストプリンティングサービスはブロック306へと進み、該要求が電子的なユーザ装置から受信したものである場合には、ホストプリンティングサービスはブロック308へと進む。該要求が、信頼できるウェブサービス及び電子的なユーザ装置以外のエンティティから受信したものである場合には、ホストプリンティングサービスはブロック310へと進み、ホストプリンティングサービスは該要求を拒否する。
【0061】
ホストプリンティングサービスは、ファイルをプリントするための要求が信頼できるウェブサービスから受信したものであるか否かを判定するために様々な異なる技術を使用することが可能である。例えば、実施形態によっては、ウェブサービスから受信したファイルをプリントするための要求は、暗号化されたディジタル署名を含む可能性がある。かかる実施形態では、ホストプリンティングサービスがファイルをプリントするための要求をウェブサービスから受信する際に、ホストプリンティングサービスが該暗号化されたディジタル署名を復号し、該復号したディジタル署名をウェブサービスレジストリ(例えば、図2に示すコンピュータメモリ記憶装置212に格納されているウェブサービスレジストリ)に格納されている情報と比較して、該復号されたディジタル署名が信頼できるウェブサービスのディジタル署名と一致するか否かを判定することが可能である。ホストプリンティングサービスがウェブサービスレジストリで一致を見いだした場合には、ホストプリンティングサービスは、ファイルをプリントするための要求が信頼できるウェブサービスから受信されたものであると判定することが可能である。認証のために暗号化されたディジタル署名を使用する代わりに、ホストプリンティングサービスは、認証のためにウェブサービスからのパスワード又はその他の認証情報(例えば、ディジタル証明書)を要求することが可能である。
【0062】
追加的に又は代替的に、ホストプリンティングサービスはまた、信頼できるウェブサービスから受信したプリント要求が、該プリント要求の発行に先立ち又はその発行の一部として(例えば、有効なユーザ名その他の識別子及びそれに対応するパスワードの検証を介して)ウェブサービスにより認証されたユーザを出所とするものであることを確認することが可能である。実施形態によっては、ホストプリンティングサービスは、ウェブサービスが認証したユーザに代わってプリント要求を発行することしかしないウェブサービスとしか信頼できる関係を確立しないことが可能である。代替的に、他の実施形態では、ホストプリンティングサービスは、プリント要求を受信した後にウェブサービスに照会を行って、該プリント要求が認証されたユーザを出所とするものであるか否かを確認することが可能であり、又は、ウェブサービスが、ホストプリンティングサービスにプリント要求を最初に送信する際に該プリント要求が認証されたユーザを出所とするものであることの指示を含めることが可能である。
【0063】
プリント要求を送信したウェブサービスがホストプリンティングサービスにより信頼されていないものであること及び/又はプリント要求がウェブサービスにより識別されていないユーザを出所とするものであることをホストプリンティングサービスが判定した場合には、該ホストプリンティングサービスは該プリント要求を拒否することが可能である。
【0064】
これとは対照的に、ブロック304でプリント要求が信頼できるウェブサービスから受信したものであると判定された後には、ホストプリンティングサービスはブロック306へと進み、該ホストプリンティングサービスは、ファイルがプリントされるべきプリンタとしてプリント要求において指定されているプリンタを識別する。ブロック306から、ホストプリンティングサービスはブロック312へ進み、該ホストプリンティングサービスは、該プリント要求を、信頼できるウェブサービスから受信した承認済みのプリント要求を含む前記識別されたプリンタのためのプリント要求の待ち行列(例えば、図2に示すコンピュータメモリ記憶装置218に格納されている信頼できるウェブサービスからの承認済み要求の副待ち行列)に追加する。
【0065】
実施形態によっては、ホストプリンティングサービスと信頼できる関係を有する1つ又は2つ以上のウェブサービスのみが、該ホストプリンティングサービスが協働するよう構成されている複数のプリンタの全てよりも少数のサブセットによりプリント要求を遂行させる資格を有することが可能である。かかる場合には、ホストプリンティングサービスが、ブロック306で、ファイルをプリントすべきプリンタとしてプリント要求で指定されているプリンタを識別する際に、該ホストプリンティングサービスは、プリンタレジストリ(例えば、図2に示すコンピュータメモリ記憶装置208に格納されているプリンタレジストリ)及びウェブサービスレジストリ(例えば、図2に示すコンピュータメモリ記憶装置212に格納されているウェブサービスレジストリ)のうちの一方又は両方と情報交換を行って、識別されたプリンタにプリント要求を遂行させる権限がウェブサービスに与えられているか否かを判定することが可能である。識別されたプリンタにプリント要求を遂行させる権限がウェブサービスに与えられていない場合には、ホストプリンティングサービスは該プリント要求を拒否することが可能である。代替的に、識別されたプリンタにプリント要求を遂行させる権限がウェブサービスに与えられている場合には、ホストプリンティングサービスは、ブロック312へ進み、既述のように、該ホストプリンティングサービスは、該識別されたプリンタのためのプリント要求の待ち行列にプリント要求を追加する。次いで該ホストプリンティングサービスは、例えば、REST APIを介してプリント要求の待ち行列をプリンタへ提示することにより、このプリント要求、及びおそらくはそれと同じ待ち行列に追加された他のプリント要求が保留状態にあることを、識別されたプリンタへ最終的に通知する。
【0066】
ブロック304に戻り、ホストプリンティングサービスが、プリント要求が電子的なユーザ装置から受信されたことを判定すると、該ホストプリンティングサービスは、ブロック308へ進み、該ホストプリンティングサービスは、該プリント要求を送信した電子的なユーザ装置との通信セッションが認証された通信セッションであるか否かを判定する。
【0067】
ホストプリンティングサービスは、電子的なユーザ装置との通信セッションを認証するために様々な異なる技術を採用することが可能である。例えば、一実施形態では、ホストプリンティングサービスは、電子的なユーザ装置のユーザが該電子的なユーザ装置を使用して認証のためにユーザ名その他の識別子をパスワードと共にホストプリンティングサービスへ提示することを要求することが可能である。ユーザ名その他の識別子とそれに対応するパスワードとをユーザから受信すると、ホストプリンティングサービスは、ユーザレジストリ(例えば、コンピュータメモリ記憶装置210に格納されているユーザレジストリ)と情報交換を行って、該ユーザ名その他の識別子及びパスワードが該ユーザレジストリに格納されているユーザに関する認証情報と一致することを確認することが可能である。該ユーザ名その他の識別子及びパスワードが該ユーザレジストリに格納されているユーザに関する認証情報と一致する場合には、ホストプリンティングサービスは、該電子的なユーザ装置との通信セッションを認証することが可能である。これとは対照的に、該ユーザ名その他の識別子及びパスワードが、ユーザに関する認証情報と一致しない場合には、ホストプリンティングサービスは、該電子的なユーザ装置との通信セッションの認証を拒否することが可能である。
【0068】
ホストプリンティングサービスが、ブロック308で、電子的なユーザ装置から受信したプリント要求が認証された通信セッションを介して受信されたものであると判定した場合、該ホストプリンティングサービスは、ブロック314へ進み、該ホストプリンティングサービスは、ファイルをプリントすべきプリンタとしてプリント要求で指定されているプリンタを識別する。ファイルをプリントすべきプリンタが識別された後、ブロック316で、ホストプリンティングサービスは、前記プリント要求を、該ホストプリンティングサービスにより認証されている通信セッションを介してユーザ装置から受信した承認済みプリント要求を含む識別されたプリンタのためのプリント要求の待ち行列(例えば、図2に示すコンピュータメモリ記憶装置220に格納されているユーザ装置からの承認済み要求の副待ち行列)に追加する。次いで、ホストプリンティングサービスは、例えば、REST APIを介してプリント要求の待ち行列をプリンタへ提示することにより、このプリント要求、及びおそらくはそれと同じ待ち行列に追加された他のプリント要求が保留状態にあることを、識別されたプリンタへ最終的に通知する。
【0069】
実施形態によっては、ホストプリンティングサービスに登録されている一人又は二人以上のユーザのみが、該ホストプリンティングサービスが協働するよう構成されている複数のプリンタの全てよりも少数のサブセットによりプリント要求を遂行させる資格を有することが可能である。かかる場合には、ホストプリンティングサービスが、ブロック314で、ファイルをプリントすべきプリンタとしてプリント要求で指定されているプリンタを識別する際に、該ホストプリンティングサービスは、プリンタレジストリ(例えば、図2に示すコンピュータメモリ記憶装置208に格納されているプリンタレジストリ)及びユーザレジストリ(例えば、図2に示すコンピュータメモリ記憶装置210に格納されているユーザレジストリ)のうちの一方又は両方と情報交換を行って、識別されたプリンタにプリント要求を遂行させる権限がユーザに与えられているか否かを判定することが可能である。識別されたプリンタにプリント要求を遂行させる権限がユーザに与えられていない場合には、ホストプリンティングサービスは該プリント要求を拒否することが可能である。代替的に、識別されたプリンタにプリント要求を遂行させる権限がユーザに与えられている場合には、ホストプリンティングサービスは、ブロック316へ進み、既述のように、該ホストプリンティングサービスは、該識別されたプリンタのためのプリント要求の待ち行列にプリント要求を追加する。
【0070】
ブロック308に戻り、ホストプリンティングサービスが、電子的なユーザ装置から受信したプリント要求が、認証された通信セッションを介して該電子的なユーザ装置から受信されたものであると判定した場合、該ホストプリンティングサービスは、ブロック318へ進み、該ホストプリンティングサービスは、ファイルをプリントすべきプリンタとしてプリント要求で指定されているプリンタを識別する。
【0071】
その後、ホストプリンティングサービスは、ブロック320で、プリンタ要求で指定されているプリンタが、ホストプリンティングサービスがプリント要求を遂行すべく協働するよう構成されている有効なプリンタに対応するものであるか否かを判定する。例えば、実施形態によっては、ホストプリンティングサービスは、プリンタに関するネットワークアドレスその他の識別子を指定する未認証の通信セッションを介して電子的なユーザ装置からプリント要求を受信するよう構成することが可能である。このため、かかる実施形態では、指定されたプリンタへプリント要求を中継する前に、ホストプリンティングサービスは、指定されたプリンタが有効なものであること、及び該ホストプリンティングサービスがプリント要求を遂行すべく該指定されたプリンタと協働するよう構成されていることを最初に確認する。
【0072】
ホストプリンティングサービスが、ブロック320で、指定されたプリンタが有効なものではないこと及び/又はホストプリンティングサービスが該指定されたプリンタと協働するよう構成されていないことを判定した場合、該ホストプリンティングサービスは、ブロック310へ進んで該要求を拒否する。代替的に、ホストプリンティングサービスが、ブロック320で、指定されたプリンタが有効なものであること及び/又は該ホストプリンティングサービスがプリント要求を遂行すべく該指定されたプリンタと協働するよう構成されていることを判定した場合には、該ホストプリンティングサービスはブロック322へ進み、該ホストプリンティングサービスは、プリント要求を、プリンタによる遂行に先立って承認を必要とする指定されたプリンタのためのプリント要求の待ち行列(例えば、図2に示すコンピュータメモリ記憶装置222(a)に格納されているユーザ装置からの未承認の要求の副待ち行列)に追加する。
【0073】
かかる未認証の通信セッションを介して電子的なユーザ装置から受信されたプリント要求が、その遂行に先立って承認を必要とするプリント要求の待ち行列に追加される場合には、該プリント要求に関する更なる情報、例えば、該プリント要求を発行したユーザ及び/又は電子的なユーザ装置又はプリントすべき頁数といった情報を該プリント要求に含ませて(例えば、末尾に追加し、先頭に追加し、又はその他の態様で付随させて)、最終的にプリント要求を認証する責務を有するエンティティに、該要求を認証すべきか否かの判定に資することができる情報を提供することが可能である。
【0074】
図4は、プリンタで受信したホストプリンティングサービスからのプリント要求を処理するためのプロセスの一例のフローチャートである。図4のフローチャート400に示す各プロセスは、プリンタ(例えば、図1に示すプリンタ104(a)-104(m)のうちの1つ及び/又は図1に示すプリンタ104(a)-104(m)のうちの1つを制御するよう構成された外部コントローラ)により実行することが可能なものである。特に、図4のフローチャート400に示すプロセスは、プリンタ又は外部プリンタコントローラの1つ又は2つ以上の処理要素により、該プリンタ又は外部プリンタコントローラに対してアクセス可能なコンピュータ読み出し可能記憶装置に格納されている一連の実行命令として実施することが可能である。
【0075】
上述のように、実施形態によっては、断続的に(例えば、定期的に又は非定期的に)プリント要求を遂行すべくホストプリンティングサービスと協働するよう構成されているプリンタは、ホストプリンティングサービスに照会して、該ホストプリンティングサービスにおいて該プリンタのためのプリント要求で保留になっているものがあるか否かを判定することが可能である。実施形態によっては、ホストプリンティングサービス及びプリンタは両方とも、REST APIを使用してかかるホストプリンティングサービスとプリンタとの間の通信を可能にするよう構成することが可能である。、
ブロック402で、プリンタは、例えば、GET REST API方式及びRETRIEVE REST API方式(the GET and RETRIEVE REST API methods)の一方又は両方を使用して、保留中のプリント要求をホストプリンティングサービスに照会する。ホストプリンティングサービスに該プリンタのための保留中のプリント要求が存在する場合には、該ホストプリンティングサービスは、該保留中の要求を例えばREST APIを使用して該プリンタへ中継し、ブロック404で、該プリンタが、該保留中のプリント要求をホストプリンティングサービスから受信する。
【0076】
その後、ブロック406で、該プリンタは、受信した複数のプリント要求のそれぞれが既にホストプリンティングサービスにより承認されているか否かを判定する。例えば、上述のように、プリント要求が電子的なユーザ装置との認証された通信セッションを介して該電子的なユーザ装置からホストプリンティングサービスが受信したものである場合、又はプリント要求が信頼できるウェブサービスからホストプリンティングサービスが受信したものである場合には、該ホストプリンティングサービスは、該プリンタのための該プリント要求を予め承認することが可能である。
【0077】
プリンタが、ブロック406で、プリント要求が既にホストプリンティングサービスにより承認されていると判定した場合には、該プリンタは、ブロック408で該プリント要求を遂行し、有形の基体上にファイルの視覚的な表現を描画することにより、電子版のファイルをハードコピー形態へと変換する。
【0078】
これとは対照的に、プリンタが、ブロック406で、プリント要求がホストプリンティングサービスにより未だ承認されていないと判定した場合には、該プリンタは、ブロック410で、該プリント要求の手動による承認を要求する。例えば、実施形態によっては、プリンタは、組み込み型の表示装置を含むことが可能であり、又は外部表示装置へのアクセスを有することが可能である。かかる実施形態では、プリンタは、それまでの未承認のプリント要求に関する情報を表示装置に表示させて、該プリント要求を遂行すべきか否かについてユーザからの手動での指示を要求することが可能である。
【0079】
図5は、組み込み型の表示装置502を有するプリンタ500の一例を示しており、この場合には、該表示装置502は、一例として、タッチスクリーン式表示装置である。プリンタ500がホストプリンティングサービスから該ホストプリンティングサービスにより承認されていないプリント要求を受信すると、該プリンタ500は、該プリント要求に関する情報(例えば、図5に示すように該プリント要求を発行したユーザの名称)を含むメッセージを表示装置502に表示させて(保留中のプリント要求に関する更なる情報(例えば、プリントすべき頁数)を表示させることも可能)、該プリント要求を承認するか拒否するかについてユーザからの手動による指示を要求する。プリンタ500の操作者が該プリント要求を承認すると決定した場合には、該操作者は、タッチスクリーン式表示装置502上の「承認」ボタン504を選択することが可能である。一方、プリンタ500の操作者が該プリント要求を拒否すると決定した場合には、該操作者は、タッチスクリーン式表示装置502上の「拒否」ボタン506を選択することが可能である。
【0080】
図4に戻り、ブロック412で、プリンタが、プリント要求が承認された指示を受信した場合には、該プリンタは、ブロック408へ進んで該プリント要求を遂行する。代替的に、ブロック412で、プリンタが、プリント要求が拒否された指示を受信した(又は所定時間が経過し及びプリント要求の状態に関する決定が受信されなかった)場合には、プリンタは、ブロック414へ進んで該プリント要求をキャンセルする。
【0081】
ブロック408でプリント要求を遂行した後、及びブロック414でプリント要求をキャンセルした後の何れの場合にも、プリンタは、該プリンタにおいてホストプリンティングサービスから受信した更なるプリント要求が保留状態のままになっているか否かを判定する。該プリンタにおいてホストプリンティングサービスから受信した更なるプリント要求が、実際に、保留状態のままになっている場合には、該プリンタは、ブロック404に戻って、残りの保留中のプリント要求の各々毎に上述のプロセスを繰り返す。代替的に、プリンタにおいてホストプリンティングサービスから受信したプリント要求であって保留状態のままになっているものが存在しない場合には、プリンタはブロック402に戻り、該プリンタは、保留中のプリント要求についてホストプリンティングサービスに再び照会する。
【0082】
多数の方法、技術、システム、及び装置について説明した。本開示の方法、技術、システム、及び装置は、例えば、コンピュータ読み出し可能な記憶媒体に格納されている命令を実行することにより、ディジタル電子回路又はコンピュータハードウェアという形で実施することが可能である。
【0083】
これら技術を実施する装置は、適当な入出力装置、コンピュータプロセッサ、及び/又はプロセッサにより実行するための命令を格納した有形のコンピュータ読み出し可能な記憶媒体を含むことが可能である。
【0084】
本書で開示する技術を実施するプロセスは、入力データを操作して適当な出力を生成することにより所望の機能を実行するための有形のコンピュータ読み出し可能な記憶媒体に格納されている命令を実行するプロセッサにより実行することが可能である。適当なプロセッサの一例として、汎用マイクロプロセッサ及び専用マイクロプロセッサの両方が挙げられる。実行可能な命令を格納するための適当なコンピュータ読み出し可能な記憶装置として、例えば、EPROM(Erasable Programmable Read-Only Memory)、EEPROM(Electrically Erasable Programmable Read-Only Memory)、及びフラッシュメモリデバイスを含む半導体メモリデバイス、光磁気ディスク、及びCD-ROM(Compact Disc Read-Only Memory)を含む、あらゆる形態の不揮発性記憶手段が挙げられる。上述の何れも、ASIC(Application-Specific Integrated Circuit)により補足し又はASICに組み込むことが可能である。
【0085】
本書では、特定の順序で実行されるものとして本開示の技術の操作を説明したが、実施形態によっては、それぞれの操作を異なる順序で再構成し及び/又は廃止しつつ、所望の結果を依然として達成することが可能である。同様に、本開示の装置における構成要素を異なる態様で組み合わせ及び/又は他の構成要素に置換し又は他の構成要素により補足しつつ、所望の結果を依然として達成することが可能である。
図1
図2
図3
図4
図5