JP2014106883A - 情報処理装置、印刷サーバーシステム、その制御方法、およびプログラム。 - Google Patents

情報処理装置、印刷サーバーシステム、その制御方法、およびプログラム。 Download PDF

Info

Publication number
JP2014106883A
JP2014106883A JP2012261309A JP2012261309A JP2014106883A JP 2014106883 A JP2014106883 A JP 2014106883A JP 2012261309 A JP2012261309 A JP 2012261309A JP 2012261309 A JP2012261309 A JP 2012261309A JP 2014106883 A JP2014106883 A JP 2014106883A
Authority
JP
Japan
Prior art keywords
print
printer
information
printer driver
service
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2012261309A
Other languages
English (en)
Other versions
JP6000828B2 (ja
Inventor
Tomonori Minagawa
智徳 皆川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2012261309A priority Critical patent/JP6000828B2/ja
Priority to US14/647,618 priority patent/US9557948B2/en
Priority to PCT/JP2013/006291 priority patent/WO2014083757A1/en
Publication of JP2014106883A publication Critical patent/JP2014106883A/ja
Application granted granted Critical
Publication of JP6000828B2 publication Critical patent/JP6000828B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1268Job submission, e.g. submitting print job order or request not the print data itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • G06F21/608Secure printing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1222Increasing security of the print job
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1238Secure printing, e.g. user identification, user rights for device usage, unallowed content, blanking portions or fields of a page, releasing held jobs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1287Remote printer device, e.g. being remote from client or server via internet
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1288Remote printer device, e.g. being remote from client or server in client-server-printer device configuration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2115Third party
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • G06F3/1228Printing driverless or using generic drivers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

【課題】 プリンタドライバを利用し印刷サービスにアクセスし、コンテンツデータを印刷する場合の認証の問題を解決する。
【解決手段】 印刷サービスは、印刷サービスを利用するためのユーザの権限がプリンタドライバに移譲されたことを示す権限情報と、コンテンツデータと、印刷設定とを送信可能なプリンタドライバをクライアントに配布する。
【選択図】 図12

Description

本発明は、印刷データをネットワークを介してプリンタへ送信するコンテンツ印刷システムにおける情報処理装置、印刷サーバーシステム、その制御方法、およびプログラムに関する。
従来、クライアントからサーバに対して印刷指示を送信し、印刷指示を受信したサーバが印刷対象のコンテンツデータを印刷データに変換するコンテンツデータ印刷システムがある。近年、クラウドコンピューティングの概念が注目されているが、これも前述のシステム同様、サーバがクライアントにサービスを提供する形態の一つと捉えることができる。クラウドコンピューティングは、多くのコンピューティング・リソースを用いてデータ変換やデータ処理を分散実行し、多くのクライアントからの要求を同時に処理することが主な特徴である。現在、このクラウドコンピューティングを実現するクラウドコンピューティング環境上にWebサービスを実装し、多種多様なサービスを提供するベンダーが乱立しつつある。
中でも注目すべきベンダーはGoogle(登録商標)である。Googleは、大規模なデータセンターを多数設立する他、デバイスと連携させて提供するサービスを提案し、デバイスとサービス間のデータ通信の仕組みを開発する等の積極的な動きを見せている。例えば、Googleはプリンタと連携して印刷サービスを提供するためのデータ通信の仕組みを開発し、Googleが用意したクラウドコンピューティング環境とデータ通信をプリンタが行うためのインターフェースを公開した。このインターフェースをプリンタに実装することで、プリンタとサーバがインターネットを介して接続されていたとしても、クライアントからプリンタを指定し印刷させることが可能になる。これをクラウド印刷システムと称する。
クラウド印刷システムでは、プリンタはサーバ側で一元管理される。クライアントユーザは、Webブラウザで起動したWebアプリケーションから、印刷サービスが管理するプリンタを選択し、ジョブを登録することで印刷を行うことができる。
一方、同様にサーバ側でプリンタを一元管理するイントラネット環境では、サーバ内でプリンタドライバを管理し、クライアントにインストールする機構が多く見られる。たとえば、MicrosoftのWindows(登録商標)が備えるポイント&プリント機構や、特許文献1に示されるインストールの機構が好例である。ポイント&プリントは、サーバにインストールしたプリンタドライバを共有設定し、クライアントから指示することでそのクローンコピーがクライアント側にインストールされる。サーバ側のプリンタドライバとクライアント側のプリンタドライバは通信可能であり、サーバ側でセットアップされたデバイス能力情報やポート情報などは、クライアント側でもそのまま利用できる。また、特許文献1では、プリンタサーバ側にインストールされているプリンタドライバを束ねたグループプリンタドライバ(仮想プリンタドライバ)を生成し、共有している。このグループプリンタドライバはプリンタドライバの構成を成しており、サーバ上のグループプリンタドライバをクライアントから選択することで、クライアントにインストールされる。クライアントのアプリケーションからの印刷では、本グループプリンタドライバを選択することで、サーバ上で管理されているプリンタから出力することができる。ここでは、グループプリンタドライバが生成する印刷データが、グループプリンタドライバの共有元のサーバに送信され、サーバ上で管理されているプリンタドライバを通して実際のプリンタに出力されている。
いずれの場合も、クライアントのユーザは、プリンタドライバの準備やインストールなどの煩わしい作業を自ら行う必要はなく、利便性の高いセットアップ機構が存在する。
特開2004−240589
特許文献1に記載された印刷システムにおけるプリンタサーバはイントラネット内に配置されたサーバであり、プリンタドライバからプリンタサーバにアクセスし印刷を行う際の認証を考慮する必要が無かった。しかし、クライアントにインストールされたアプリケーションで作成したコンテンツデータを、プリンタドライバを利用し印刷サービスにアクセスし印刷する際は、その認証の問題を考慮する必要がある。だが、その認証の問題を考慮したプリンタドライバについて従来は考えられていなかった。
そこで、本願発明では、プリンタドライバを利用し印刷サービスにアクセスし印刷する場合の認証の問題を解決することを1つの目的とする。
本発明の一実施形態に係る情報処理装置は、コンテンツデータおよび印刷設定から印刷ジョブを生成し、生成された印刷ジョブをネットワークを介してプリンタへ送信する印刷サービスを備えた印刷サーバーシステムと通信可能な情報処理装置であって、印刷設定画面を提供する他、前記情報処理装置のメモリに保存されたコンテンツデータおよび前記印刷設定画面で入力された印刷設定をネットワークを介して前記印刷サービスへ送信するプリンタドライバを起動する起動手段と、前記プリンタドライバの起動後、ユーザが前記プリンタドライバを利用して印刷指示を行ったことに応じて、前記印刷サービスを利用するための前記ユーザの権限が前記プリンタドライバに移譲されたことを示す権限情報と、前記コンテンツデータおよび前記印刷設定とをネットワークを介して送信することを特徴とする。
本発明により、プリンタドライバを利用し印刷サービスにアクセスし印刷する場合の認証の問題を解決することが可能となる。
コンテンツデータ印刷システム1000の構成を示す図。 コンテンツデータ印刷システム1000を構成する各装置、および各サーバ群のハードウェア構成図 コンテンツデータ印刷システム1000を構成する各装置、および各サーバ群のソフトウェア構成図 UIを示す図 (a)プリンタ120が表示する、印刷サービスへのプリンタ登録画面 (b)印刷サービス340が表示する、印刷設定画面 (c)Webアプリケーション360や印刷サービス340が表示する、ログイン画面 (d)印刷サービス340が表示する、プリンタ一覧画面 (e)デスクトップアプリケーション400が表示する、印刷設定画面 (f)印刷サービス340が表示する、アクセス許可画面 XMLで記載された通知情報 (a)ケーパビリティーズ (b)チケット初期値 (c)チケット (d)プリンタ登録要求 (e)プリンタ登録応答 (f)ジョブ準備完了の通知(通知情報A) (g)ジョブ情報の要求 (h)ジョブ情報の応答(通知情報B) 管理テーブル (a)プリンタ120が管理する、プリンタ情報管理テーブル (b)印刷サービス340が管理する、プリンタ管理テーブル (c)印刷サービス340が管理する、ジョブ管理テーブル インストールセットの構成図 (a)実施例1のインストールセットを示した構成図 (b)実施例1のドライバセットを示した構成図 (c)(d)実施例3のドライバセットを示した構成図 実施例1の、プリンタ120を印刷サービス340に登録するフローを示すシーケンス図 実施例1の、Webアプリケーション360から印刷サービス340へ印刷するフローを示したシーケンス図 実施例1の、バイパスドライバをインストールするフローを示したシーケンス図 実施例1の、デスクトップアプリケーション400から印刷サービス340へ印刷するフローを示したシーケンス図 実施例2の、バイパスドライバ390に権限委譲するフローを示したシーケンス図 実施例3の、OSに応じたバイパスドライバ390を構築するシーケンス図
実施例を説明する前に、ここで別の側面から見た本願発明の課題について説明する。イントラネット環境のサーバが管理するプリンタへの印刷と、インターネット上の印刷サービスが管理するプリンタへの印刷では、アーキテクチャが大きく異なる。そのため、クライアントのデスクトップアプリケーションから印刷サービスを中継した印刷を行うためには、その仲介をする特別な仮想プリンタドライバが必要となる。
この仮想プリンタドライバは、次の2つの能力を備える必要がある。ひとつ目の能力はプリンタドライバのインターフェースであり、デスクトップアプリケーションの印刷命令を受信し、印刷サービスが受信可能なジョブを生成する必要がある。ふたつ目の能力は印刷サービスが公開したインターフェースであり、生成したジョブを印刷サービスへ登録する必要がある。これらの能力を有する仮想プリンタドライバを用いることで、デスクトップアプリケーションから、印刷サービスが管理するプリンタへ、印刷することが可能となる。
しかし、ここで問題が2つある。ひとつ目の問題は、印刷サービスが管理するプリンタを利用するには、そのセットアップが面倒な点である。後述するように、印刷サービスはプリンタドライバとは異なるアーキテクチャでプリンタを管理している。仮想プリンタドライバから印刷サービスのプリンタを特定するには、そのプリンタ固有のIDを取得しなければならない。また、印刷設定を行うためには、そのプリンタの能力を示すケーパビリティーズ情報や、印刷設定を保持するチケット情報が必要となる。これらをプリンタ1台1台取得し、設定を行うのは非常に面倒である。前述したポイント&プリントや特許文献1では、サーバとクライアントで同タイプのOS(Operating System)が使われるため、利便性の高い仕組みが提供できた。しかし、印刷サービスはインターネット上の汎用的なサービスであり、Webブラウザさえ備えていればいかなるクライアントも接続可能なため、同様の機構を提供するのは容易ではない。
ふたつ目の問題は、イントラネットと印刷サービスとでは、認証システムが異なるため、印刷サービスへの接続時にユーザ認証が必要である点である。イントラネット環境では、サーバのファイルアクセスも印刷要求も同一の認証システムで処理される。すなわち、クライアントからサーバに一度ログインしておけば、あるいはサーバと同一のドメインにログインしておけば、サーバが管理するプリンタへ印刷する際に追加でユーザ認証をする必要はない。しかし、印刷サービスは、イントラネット外部の、インターネット上のサービスであるため、印刷要求時には接続のためのユーザ認証が必要となる。印刷のたびにユーザ認証が求められては、ユーザにとって不便である。本願発明の各実施例ではこれらの問題を解決するための方法について説明する。
次に、本発明で使用される用語について定義する。「デスクトップアプリケーション」とは、スタンドアローンアプリケーションとも呼ばれ、クライアントPC上で動作するアプリケーションを指す。単にアプリケーションと呼ばれることも多いが、本発明ではWebアプリケーションと区別してこのように呼ぶ。デスクトップアプリケーションから印刷する際は、クライアントPCにインストールされているプリンタドライバに対してOSを介して印刷データを渡す。プリンタドライバは、受信した印刷データをプリンタが解釈できる印刷ジョブに変換し、プリンタに転送することで印刷を実現する。
「Webアプリケーション」とは、ウェブの機能や特徴を利用したアプリケーションを指す。一般にWebブラウザ上で使用することが多い。Webアプリケーションから印刷する際は、Webアプリケーションが生成した印刷データファイルを印刷サービスに登録し、そのデータをプリンタから取得させることで印刷を実現する。この印刷データファイルとして、例えばPDF(Portable Document Format)やXPS(XML Paper Specification)などが使われる。なお、Webブラウザが、自身が表示しているコンテンツデータを印刷することで同様の出力物を得ることができるが、これはWebブラウザ、すなわちデスクトップアプリケーションからの印刷に分類される。
「バイパスドライバ」とは、デスクトップアプリケーションと印刷サービスを結びつけるための仮想プリンタドライバである。バイパスドライバは、プリンタドライバの構成となっており、プリンタドライバとしてクライアントPCにインストールされる。また、通常のプリンタドライバと同様に、デスクトップアプリケーションからの印刷命令を受け取るためのインターフェースを備え、受け取った印刷命令を印刷データに変換する機能を持つ。バイパスドライバは、通常のプリンタドライバとは異なり、変換された印刷データをプリンタ本体に送るのではなく、印刷サービスに登録する。その後、登録された印刷データは、印刷サービスの機能によって印刷が実現される。これがバイパスドライバの機能概要であるが、プリンタドライバの構成でありながら通常のプリンタドライバと異なる働きをしているため、ここでは仮想プリンタドライバと呼んでいる。また、通常のプリンタドライバと同様に印刷設定画面を表示し、ユーザから印刷設定の入力も受け付ける。
「ジョブ」とは、Webアプリケーションから印刷する際に、その印刷データとチケットをひとまとめたものである。印刷データとは、PDFやXPSファイルなど、印刷サービスが解釈可能な形式のファイルを指し、コンテンツデータそのものである場合もある。チケットとは、ユーザにより行われた印刷設定を保持した情報を指し、しばしば印刷設定と同義で使われる。このジョブを印刷サービスに対して登録することで、印刷が実現される。「ジョブ情報」とは、印刷データやチケットの格納場所や属性を指す。前述したバイパスドライバも「ジョブ」を生成し、印刷サービスに登録する。
「印刷ジョブ」とは、ジョブ(印刷データと印刷設定)がレンダリングされ、各プリンタに適したフォーマットに変換されたものである。通常はページ記述言語(PDL:Page Description Language)やイメージデータとなる。なお、プリンタによってはレンダリングする必要が無い場合も考えられるので、コンテンツデータおよび印刷設定であるチケットを含む「ジョブ」が「印刷ジョブ」となることもある。
以下、本発明を実施するための最良の形態について図面を用いて説明する。
始めに、実施例1におけるコンテンツデータ印刷システム1000の構成について説明する。図1は、コンテンツデータ印刷システム1000の構成を示す図である。コンテンツデータ印刷システム1000は、クライアント180、1台以上のプリンタ120(および121等)を含む。2つの装置はユーザ環境に配置された装置であり、ネットワーク100を介して互いに接続されており、ネットワーク100はインターネット101に接続されており、各装置はインターネット101を介して互いに通信可能である。なお、クライアント180、プリンタ120はインターネット101を介して接続されていてもよい。また、コンテンツデータ印刷システム1000は、Webアプリケーションサーバー群160、印刷サーバ群140を含む。
2つのサーバ群は、同じベンダーから提供されたサーバ群である場合もある。その場合は、両サーバ群はネットワーク100を介して接続されていてもよい。コンテンツデータ印刷システム1000を構成する各装置、および各サーバ群は、インターネット101を介して接続可能であり、互いにデータ通信することができる。なお、各装置は1台のみであるが複数台あっても良い。また、各サーバ群は複数台で構成されているが1台であっても良い。サーバーシステムと称した場合、少なくとも1台のサーバから構成されるシステムを指しており、例えば、印刷サーバーシステムと称した場合、少なくとも1台の印刷サーバから構成されたシステムである。
次に、コンテンツデータ印刷システム1000を構成する各情報処理装置、および各サーバ群のハードウェア構成について説明する。図2は、コンテンツデータ印刷システム1000を構成する各装置、および各サーバ群のハードウェア構成を示す図である。201は、コンテンツデータ印刷システム1000を構成する各装置、および各サーバ群である。202は、CPU(Central Processing Unit)であり、各種プログラムを実行し、様々な機能を実現するユニットである。203は、ROM(Read Only Memory)であり、各種プログラムを記憶するメモリユニットである。204は、RAM(Random Access Memory)であり、CPU202は、ROM203に記憶されているプログラムをメモリユニットであるRAM204にロードしプログラムを実行する。
また、RAM204は、CPU202の一時的な作業記憶領域としても利用されるユメモリニットである。Input/Outputインターフェース205は、各装置、および各サーバ群に接続されているディスプレイ(不図示)にデータを送信する他、ポインティングデバイス(不図示)からデータを受信するインターフェースユニットである。NIC(Network Interface Card)206は、コンテンツデータ印刷システム1000を構成する各装置、および各サーバ群をネットワーク100に接続するためのユニットである。以上説明してきたユニットは、バス207を介してデータの送受信を行うことが可能である。また、プリンタ120は、印刷ユニット(不図示)を搭載しており、印刷ユニットは、バス207を介して各ユニットとデータを送受信することが可能である。なお、印刷ユニットは、ラスタイメージ等の画像データを記録紙のような記録媒体に印刷することが可能な画像形成ユニットである。
次に、コンテンツデータ印刷システム1000を構成する各装置、および各サーバ群のソフトウェア構成について説明する。図3は、コンテンツデータ印刷システム1000を構成する各装置、および各サーバ群のソフトウェア構成を示している。図3に示されている各ソフトウェア構成の機能を実現するプログラムは、各装置、および各サーバ群のROM203に記憶されており、CPU202がRAM204にプログラムをロードし実行することでこれらの機能は実現される。
以下、各情報処理装置、および各サーバーシステムによって実現される機能について説明する。機能の説明は、大きく前半と後半の2つの部分にわけて行う。まず前半では、Webアプリケーションから、印刷サービスに登録されたプリンタに対して印刷を行う基本印刷機能について説明する。後半は、基本印刷機能を発展させて、デスクトップアプリケーションから、印刷サービスに登録されたプリンタに対して印刷を行う、本発明特有の発展印刷機能について説明する。
前半で説明する基本印刷機能の特徴は、まずプリンタを印刷サービスに登録し、ユーザはWebアプリケーションからの印刷において登録済のプリンタを選択し、印刷を実行する点である。Webアプリケーションは、印刷サービスに対し、印刷サービスが提供するインターフェースに則してジョブを登録する。また、プリンタは、印刷サービスが提供するインターフェースに則してジョブを取得し、印刷する。それに対し、後半で説明する発展印刷機能の特徴は、バイパスドライバが、デスクトップアプリケーションからの印刷命令を受け、印刷サービスが受信可能なジョブを生成し、印刷サービスにジョブを登録することで印刷を実行する点である。バイパスドライバは、印刷サービスが表示する画面でインストール指示されることで、クライアントPC上にインストールされる。ユーザは、デスクトップアプリケーションから印刷する際、通常のプリンタドライバを選択するのと同様、アプリケーションが表示する印刷ボタンが押下されたことで表示されるプリンタ選択画面においてバイパスドライバを選択すればよい。
これより前半部分として、基本印刷機能について説明する。基本印刷機能はさらに二つの機能に分類される。一つ目の系に分類される機能は、プリンタ120を印刷サービス340に登録する、プリンタ登録系に分類される機能である。二つ目の系に分類される機能は、印刷サーバ群140が生成した印刷データをプリンタ120に印刷させる、印刷系に分類される機能である。
最初に、一つ目の系であるプリンタ登録系の機能について、図3を用いて説明する。まず、プリンタ120の動作を説明する。プリンタ120は、印刷制御部320を有する。印刷制御部320は、プリンタ120を印刷サービス340上で利用可能とするために、登録要求を受け付ける。操作部321は、各種操作画面を表示する。ここでは、図4(a)に例示するUI(User Interface)を表示するものとする。ユーザは本UIを通してプリンタ120を印刷サービス340に登録する指示を行うことができる。なお、印刷サービス340のURLが入力できるようになっていても良い。実施例1では、URLは内部的に記録されている値を使うものとする。ここで印刷サービス340にログインするためのユーザID411とパスワード412を入力し、登録実行ボタン413を押下すると、操作部321は制御部322に登録操作を指示する。制御部322は、プリンタ情報格納部323から、登録に必要なプリンタの登録情報を取得する。
登録情報には、プリンタ120に割り当てられた固有の識別情報であるRPID(Real Printer ID)が含まれる。プリンタ120を含む各プリンタには、夫々固有の識別情報が割り当てられており、この識別情報により各プリンタは特定される。固有の識別情報として、たとえばMacアドレスなどが利用可能であるが、これに限るものではない。また、登録情報にはプリンタ120のプリンタネームが含まれている。プリンタネームとは、プリンタ120に割り当てられた名前であり、プリンタ120を呼称するときに用いるものである。なお、プリンタネームは識別情報と異なり、各プリンタのプリンタネームが同一である場合もある。また、登録情報にはケーパビリティーズが含まれている。ケーパビリティーズとは、例えば、プリンタ120が両面印刷可能であるか否か、およびカラー印刷可能であるか否か、および出力可能ペーパサイズ等の情報を含む、プリンタの印刷機能に関する情報である。
ケーパビリティーズは、図5(a)に示すようにXML形式で表現が可能である。この<Item>が、プリンタ120の能力を示しており、プリンタ120は、両面印刷可能であり、かつカラー出力可能であり、かつB5サイズ、およびA4サイズ、およびA3サイズの紙を出力可能であることが示されている。また、登録情報にはチケット初期値が含まれている。図5(b)に示すようにXML形式で表現が可能であり、図5(a)のサブセットとなっており、各機能においていずれかの<Item>が選ばれている状態となる。図5(b)の例では、片面出力、カラー出力、A4サイズ、が設定されていることを意味する。図6(a)は、プリンタ情報格納部323が格納している情報を示す図であり、RPIDが611、プリンタネームが612、ケーパビリティーズが613、チケット初期値が614に相当する。SPID615は後述する。
制御部322は、プリンタ情報格納部323から取得したプリンタの登録情報と、操作部321から取得したログイン情報を、プリンタ登録送信部324に渡し、プリンタ登録処理を指示する。プリンタ登録送信部324は、受信したログイン情報を用いて印刷サービス340にログインする。ログインに成功した後は、特に断らない限り、プリンタ120と印刷サービス340との間はログインユーザのアカウントでセッションが張られた状態が維持される。
次に、プリンタ登録送信部324は、受信した登録情報をもとに印刷サービス340に対してプリンタの登録要求を行う。図5(d)は、印刷サービス340に対するプリンタ登録要求情報の一例であり、XMLで記載された情報の中に、プリンタネーム541、RPID542、ケーパビリティーズ543、チケット544が含まれている。以上が、プリンタ120が有する印刷制御部320の説明である。
次に印刷サーバ群140の動作を説明する。印刷サーバ群140は、印刷サービス340を有する。印刷サービス340は、プリンタの登録要求を受け付け、アプリケーションから選択可能なサービスプリンタを作成する。プリンタ登録受付部341は、プリンタ登録要求とその登録情報をプリンタ登録送信部324から受信すると、登録情報を制御部342に送る。制御部342は、登録情報をプリンタ情報管理部343に送り、プリンタ登録を指示する。
プリンタ情報管理部343は、取得した登録情報を基に登録要求のあったプリンタに対応するサービスプリンタ(SP:Service Printer)344を作成し、夫々のサービスプリンタに対するユニークな識別ID(SPID)を発行する。このサービスプリンタ344(以降、SP344と称する)は、要求のあったプリンタごとに、かつユーザカウントごとに、ユニークなものが生成される。したがって、同じ実プリンタであっても、異なるユーザが登録すれば異なるサービスプリンタ344が生成される。また、このSPIDは、印刷時に印刷サービス340のプリンタが選択された際に、印刷サービス340が対象プリンタを識別するために利用されるものとなる。換言すれば、サービスプリンタはプリンタオブジェクトであり、印刷サーバ群140においてプリンタ120をユーザに認識させる情報の集合体である。印刷サーバ群140はサービスプリンタの情報を利用しプリンタ情報を提示する他、プリンタ120と通信が可能である。なお、SP344は、論理的には独立したプリンタととらえることができるが、実装としては実体をもっていてもよいし、プログラム的に処理された実態を持たない存在であってもよい。
プリンタ情報管理部343は、ユーザID、SPID、プリンタネーム、ケーパビリティーズ、チケットを関連付けて格納する。図6(b)は、プリンタ情報管理部343が格納している情報を示す図であり、SPIDが621、プリンタネームが622、RPIDが623、ケーパビリティーズが624、チケット初期値が625に相当する。また、プリンタオーナー626には、プリンタを登録したユーザ情報が格納される。
プリンタ情報管理部343で発行されたSPIDは、制御部342、プリンタ登録受付部341を介して、プリンタ登録送信部324に送信される。プリンタ登録送信部324は、登録要求の応答として、印刷サービス340からSPIDを受け取る。図5(e)はその一例で、XMLで記載されており、プリンタに対応するSPID551が割り当てられている。プリンタ登録送信部324は、受け取ったSPIDを制御部322に送信し、制御部322は同情報をプリンタ情報格納部323に送信する。プリンタ情報格納部323は、プリンタ情報に紐付けてSPIDを格納する。図6(a)のSPID615は、プリンタ情報に紐付けて格納された状態を示す。以上が、印刷サーバ群140が有する印刷サービス340の説明である。
次に一つ目の系であるプリンタ登録系の処理フローについて、図8のフロー図を用いて説明をする。まず、S801にて、プリンタ120から印刷サービス340へ、登録要求を発行する。ここでは、図4(a)の画面でユーザ指示を受けることに応じて、図5(d)のプリンタ登録要求が、プリンタ登録送信部324からプリンタ登録受付部341へ送信される。次に、S802にて、サービスプリンタの登録、およびSPIDの発行がなされる。ここでは、プリンタ情報管理部343により、SP344が生成され、そのSPIDが発行され、発行されたSPIDはプリンタ登録情報と共に図6(b)のプリンタ管理テーブルに格納される。
次に、S803にて、印刷サービス340からプリンタ120に対し、成功応答と共に発行されたSPIDが送信される。ここでは、図5(e)のプリンタ登録応答が、プリンタ登録受付部341からプリンタ登録送信部324へ送信される。そして、プリンタ120は、受信したSPIDをプリンタ情報格納部323へ格納する。以上が、一つ目の系であるプリンタ登録系の処理フローについての説明である。結果、プリンタ120が印刷サービス340に登録され、その結果として印刷サービス340で利用可能なSPIDが発行される。
次に、二つ目の系である印刷系に分類される機能について、図3を用いて説明する。始めに、クライアント180が有する機能について説明する。クライアント180は、Webブラウザ380を有する。Webブラウザ380は、Webアプリケーションサーバー群160に保存されているコンテンツデータの印刷指示を、Webアプリケーションサーバー群160に送信する。また、Webブラウザ380は、Webアプリケーションサーバー群160から印刷サーバ群140へのアクセス命令、即ち、リダイレクトの指示を受信し、受信したリダイレクトの指示に従い印刷サーバ群140へアクセスする。また、Webブラウザ380は、そのWebブラウザ380を利用しているユーザが印刷可能なプリンタの一覧と、各プリンタに対応する印刷設定画面を、印刷サーバ群140から取得して表示する。図4(b)は、Webブラウザ380が表示する印刷設定画面の一例である。また、Webブラウザ380は、その印刷設定画面でユーザが設定したプリンタと印刷設定値を印刷サーバ群140へ送信する。以上が、クライアント180が有するWebブラウザ380の説明である。
次に、Webアプリケーションサーバー群160が有する機能について説明する。Webアプリケーションサーバー群160は、Webアプリケーション360を有する。Webアプリケーション360は、文書作成サービスを提供する。ユーザは、例えば、会社の会議で資料を配布したい場合に、その資料を作成するため文書作成サービスを利用する。クライアント180がWebアプリケーション360を利用する場合は、クライアント180にそのアプリケーションをインストールする必要はなく、Webブラウザ380を有していれば良い。Webアプリケーション360は、その資料を作成するための画面情報を、Webブラウザ380に送信する。図4(c)はユーザ認証画面の一例である。ユーザID431、パスワード432を入力し、ログインボタン433を押下すると認証処理が始まる。Webアプリケーション360は、Webブラウザ380を介してユーザが入力したユーザID、およびパスワードを含むユーザ情報を基に認証を行い、認証が成功したことに応じて資料を作成するための画面情報を送る。その画面情報を受信したWebブラウザ380は、その画面情報を基に文書を作成するための作成画面を表示し、ユーザはその作成画面を用いて会議で配布する資料を作成する。Webアプリケーション360は、ユーザがその作成画面を用いて作成した資料の情報を受信し、受信した情報を基にコンテンツデータを作成し、Webアプリケーションサーバー群160の記憶装置に作成したコンテンツデータを記憶させる。なお、Webアプリケーション360は、文書作成サービスに限らずメールサービス、スケジュールサービスも提供している。
文書作成サービスを利用し作成したコンテンツデータを印刷したいユーザは、その作成画面に表示されている印刷ボタンを押す(不図示)。Webアプリケーション360は、その印刷ボタンが押されたという情報を受信し、印刷サーバ群140へのアクセス命令、即ち、リダイレクトの指示をWebブラウザ380へ送信する。なお、リダイレクト指示には、上述したWebブラウザ380を利用しているユーザに対応する一覧リストを取得するための要求、およびユーザが印刷を指示したコンテンツデータを識別するためのコンテンツデータ識別情報、およびユーザ情報が含まれている。また、Webアプリケーション360は、印刷サーバ群140からコンテンツデータの取得要求があった場合に、その取得要求と共に送られたコンテンツデータを識別するためのコンテンツデータ識別情報を基に、対象のコンテンツデータを印刷サーバ群140へ送信する。なお、Webアプリケーション360はWebブラウザ380を介さず、直接印刷サーバ群140に問い合わせてユーザに対応する一覧リストを取得するための要求等を送信する構成であっても良い。以上が、Webアプリケーションサーバー群160が有するWebアプリケーション360の説明である。なお、コンテンツデータは文書データに限らず、画像データ、帳票データのようなものであっても良い。
次に、印刷サービス340の機能について説明する。印刷サービス340は、Webアプリケーションから印刷データを取得して格納し、またプリンタからのジョブ取得要求に応じて印刷ジョブをネットワークを介してプリンタへ送信する。印刷サービス340は、プリンタ情報提示部346を有する。プリンタ情報提示部346は、Webブラウザ380からのプリンタ一覧リスト取得要求を受けたことに応じて、プリンタ一覧リストをWebブラウザ380に送信する。ここで、プリンタ情報提示部346は、ユーザ情報を基にプリンタ情報管理部343が格納している図6(b)のプリンタ管理テーブルから、SPID、プリンタネームを特定する。そして、プリンタ情報提示部346は、SPID、プリンタネームを基に、そのユーザが利用可能なプリンタの一覧リストを生成する。
また、プリンタ情報提示部346は、プリンタ一覧リストからユーザが選択したプリンタのSPIDを受信する。プリンタ情報提示部346は、受信したSPIDを基にプリンタ情報管理部343が格納しているケーパビリティーズを特定し、印刷設定画面を生成し、生成した印刷設定画面をWebブラウザ380へ送信する。また、受信したSPIDを基にプリンタ情報管理部343が格納しているチケット初期値を特定し、印刷設定の初期値とする。プリンタ情報管理部343は、図5(a)に示すケーパビリティーズの情報から印刷設定画面を生成する。図4(b)に示すように、各機能421は、ケーパビリティーズに記載された印刷設定のみが表示された印刷設定画面となる。
印刷指示受信部347は、コンテンツデータと、印刷設定画面で設定されたチケット、およびSPIDをWebブラウザ380から受信する。チケットやコンテンツデータは実体ではなくロケーション(URLなど)でもよい。その場合は、必要に応じてロケーションからファイルを取得する。Webブラウザ380がWebアプリケーション360のリダイレクトの指示に基づいてアクセスしてきた際は、ユーザが印刷を指示したコンテンツデータを識別するためのコンテンツデータ識別情報を受信する。印刷指示受信部347は、コンテンツデータ識別情報を受信した際、受信したコンテンツデータ識別情報を基にWebアプリケーション360から印刷対象となるコンテンツデータを取得する。受信、または取得したコンテンツデータ、チケット、SPIDは、ユーザ情報と紐付けてジョブ管理部348に格納される。ここで、チケットは、図5(c)のようにXML形式で記載されている。図5(c)によれば、ユーザは両面設定、およびモノクロ設定、および用紙サイズA4を設定したことが分かる。なお、ジョブ管理部348は、必要に応じて取得したコンテンツデータを印刷データに変換する場合もある。また、ジョブ管理部348は、取得したSPIDに対応するSP344に指示し、取得したジョブをスプールする。なお、SP344が実体を持つ場合は夫々のSPがスプール処理を行えばよいが、ジョブ全体をテーブルで管理してもよい。
制御部342は、ジョブ管理部348から印刷データ、チケット、SPIDを取得する。通信モジュール350は、通信モジュール330を有するプリンタ120と通信を行うことが可能であり、2者間のデータ通信のインターフェースである。通信モジュール350は、印刷データ格納部352、チケット格納部353、ジョブ情報提示部351を有する。印刷データ格納部352は、制御部342から印刷データを受信し格納する。チケット格納部353は、制御部342から印刷設定を受信し格納する。制御部342は、印刷データ格納部352、および印刷設定格納部353から格納が終了した旨を受信したことに応じて、ジョブ管理部348に指示し、ジョブの情報を格納する。図6(c)は、ジョブ管理部348が格納しているジョブ情報を示す図であり、ジョブIDが631、ジョブ名が632、SPIDが633、チケットが634、印刷データの格納場所(URLなど)が635、チケットの格納場所が636に相当する。チケット634は、チケットの格納場所636に格納されているチケットと同じものなので、含めなくてもよい。ここでは、チケットは利用頻度が高いため、扱いやすいように直接管理テーブルに加えている。ジョブオーナー637は、ジョブの印刷指示を行ったユーザの情報が格納される。実施例1では単一のユーザのため、すべてUserXが格納されている。ステータス638には、ジョブのステータスが格納される。たとえば、印刷サービスにジョブが保存された状態ではQUEUED、プリンタからダウンロードされた状態ではSPOOLED、正常に印刷された状態ではDONE、エラーで印刷できない状態ではERROR、などを設定することができる。
次に、制御部342は、ジョブ情報提示部351に情報通知の指示を行う。ジョブ情報提示部351は、プリンタ120に対して、印刷データの準備ができた旨の通知情報Aを送信する。通知情報Aは、図5(f)に示すようにXML形式で表現できる。ここでは、出力対象のプリンタにジョブの準備ができた旨を伝えられれば良いので、SPIDのみを送付している。以上が、印刷サービス340の機能の説明となる。
次に、プリンタ120の機能について説明する。プリンタ120は、印刷サービス340からジョブを取得し、印刷出力を実行する。ジョブ情報受信部331は、ジョブ情報提示部351が発行した通知情報Aを受け取ったことに応じて、印刷サービス340に対してジョブ情報の要求を行う。これは、プリンタ120の登録要求で生成されたSP344に対し、SP344にスプールされているジョブを取得する要求となる。そこで、ジョブ情報の要求は、図5(g)に示すようにSPIDを引数とすることでSPIDを指定する。このSPIDは、プリンタ情報格納部323が格納する図6(a)のテーブルでも管理されているが、ここでは図5(f)に含まれるSPIDを使用すればよい。
ジョブ情報提示部351は、ジョブ情報受信部331からジョブ情報の要求を受け取とると、ジョブ管理部348に確認し、取得したSPIDに紐付くジョブの情報を抽出し、通知情報Bを生成する。図6(c)に示したジョブを例にとると、通知情報Bを生成するために利用される情報は、ジョブID631、ジョブ名632、印刷データ格納場所635、チケット格納場所636となる。通知情報Bは、これらの情報を基に、図5(h)に示されるXML形式で生成される。各情報は、夫々ジョブID561、ジョブ名562、印刷データ格納場所563、チケット格納場所564となる。通知情報Bの生成が完了すると、ジョブ情報提示部351は、通知情報Bをプリンタ120に送信する。
ジョブ情報受信部331は、通知情報Bを受け取ると、通知情報Bに記載されている印刷データの格納場所、およびチケットの格納場所を確認し、夫々の情報を印刷データ取得部332、チケット取得部333に通知する。印刷データ取得部332は、通知された印刷データの格納場所を基に、印刷データ格納部352から印刷データを取得する。またチケット取得部333は、通知されたチケットの格納場所を基に、チケット格納部353からチケットを取得する。取得が完了すると、制御部322は、印刷データ生成部334に印刷ジョブの生成を指示する。印刷データ生成部334は、印刷データ取得部332から印刷データを、またチケット取得部333からチケットを夫々受け取り、チケットの印刷設定に応じた印刷ジョブを生成する。印刷データ生成部334は、印刷ジョブの生成が完了すると、印刷ジョブを印刷実行部335に送信し、印刷ユニットから出力する。
以上が、プリンタ120が印刷するまでの処理フローとなる。
次に二つ目の系である印刷系の処理フローについて、図9のフロー図を用いて説明をする。S901にて、Webブラウザ380はWebアプリケーション360に接続する。S902にて、Webアプリケーション360は、その応答として認証画面を返信する。Webブラウザ380は図4(c)の認証画面を表示し、ユーザが入力した認証情報を、S903にて、Webアプリケーション360に送信する。S904にて、Webアプリケーション360は認証情報の妥当性を評価し、正しければアクセストークンを発行する。S905にて、Webアプリケーション360は、Webブラウザ380へ、成功応答と共にアクセストークンを送信する。以後、必要に応じてセッションを張る際にアクセストークンの利用が可能となる。アクセストークンは、アクセス対象のサービスを利用するためのユーザの権限を、アクセス元の装置、またはサービスにアクセスするアプリケーションに移譲した際に発行されるデータである。アクセス対象のサービスは、アクセストークンを送信する装置、またはアプリケーションがアクセスして来た場合、ユーザに認証情報の要求を行うことなくサービスを提供する。ユーザは、装置、またはアプリケーションがサービスにアクセスするたびに認証情報を入力する必要が無いので利便性が高い。アクセストークンのようにユーザの権限が移譲されたことを示すデータの事を権限情報と称する。
なお、権限情報の一例であるアクセストークンは、認証サーバーシステム(不図示)で発行する形態であっても良く、これ以降の説明でアクセストークンが生成されると記載があった場合、認証サーバーシステムで発行する形態であっても良いことに留意されたい。なお、その場合の認証サーバーシステムは、アクセストークン、およびそのアクセストークンを再発行するためのリフレッシュトークンの発行が可能である。アクセストークン、およびリフレッシュトークンには有効期限が設定されており、アクセストークンの有効期限はリフレッシュトークンの有効期限よりも短く設定されている。
また、アクセストークンを発行可能な認証サービスを受けることができる装置は、認証サーバーシステムに登録されている認証情報を送信してきた装置に限る。認証が終わると、Webアプリケーション360は、Webブラウザ380に対して、表示するコンテンツデータを送信し、ユーザによる編集を受け付ける。また、Webアプリケーション360上でユーザによる印刷指示が行われた際は、S907にて、Webブラウザ380へ、印刷サービス340に対するプリンタ一覧要求のリダイレクト命令を送信する。
S911にて、Webブラウザ380は、リダイレクト命令に応じて、印刷サービス340に対し、プリンタ一覧要求を送信する。なお、印刷サービス340がWebアプリケーション360と同一ベンダーによるサービスであれば、接続には前述したアクセストークンが利用可能であり、別途ユーザ認証を行う必要はない。また、同一ベンダーでなくとも協力関係にあるサービス同士であれば、アクセストークンを共通して利用する形態であっても良い。アクセストークンがない場合、または期限切れの場合は、ここでもユーザ認証を行う。次に、印刷サービス340は、プリンタの一覧情報(SPIDの一覧情報)を生成し、S912にてWebブラウザ380に返信する。S913にて、Webブラウザ380は、プリンタの一覧画面を表示し、プリンタの選択を受け付ける。
S914にて、Webブラウザは、選択されたプリンタのSPIDを、印刷サービス340に送信する。印刷サービス340は、SPIDを受信すると、対応するケーパビリティーズとチケットを図6(b)のプリンタ管理テーブルから取得し、図4(b)の421に示す印刷設定画面を生成する。S915にて、印刷サービス340は、Webブラウザ380へ、印刷設定画面と、チケットの情報を送信する。S916にて、Webブラウザ380は印刷設定画面を表示し、ユーザによる印刷設定変更を受け付ける。
S921にて、Webブラウザ380は、印刷サービス340へ、ジョブの登録要求を行う。ここでは、印刷データ(コンテンツデータ)、チケット、SPIDを送信する。S922にて、印刷サービス340のジョブ管理部348は、受信した情報を図6(c)に示すジョブ管理テーブルに格納する。S923にて、印刷サービス340のジョブ情報提示部351は、プリンタ120のジョブ情報受信部331へ、図5(f)に示す通知情報Aを送信する。S924にて、ジョブ情報受信部331は、ジョブ情報提示部351へ、図5(g)に示すジョブ情報取得要求を送信する。S925にて、ジョブ情報提示部351は、ジョブ情報受信部331へ、図5(h)に示すジョブ情報(通知情報B)を返信する。
S926にて、120の印刷データ取得部332、チケット取得部333は、印刷サービス340へ、ジョブ情報の取得要求を行う。S927にて、印刷サービス340の印刷データ格納部352、チケット格納部353に格納してあるジョブ情報が、プリンタ120に送信される。S928にて、プリンタ120の印刷実行部335で、印刷物の出力がなされる。以上が、二つ目の系である印刷系の処理フローについての説明である。結果、Webアプリケーション360から印刷サービス340にジョブを登録することで、印刷サービス340が管理するプリンタに対して印刷が可能となる。実施例1の前半部分の説明は以上である。以後の後半部分では、前半部分で説明した基本印刷機能を発展させ、デスクトップアプリケーションからクラウド印刷サービスを経由した発展印刷機能について説明する。
前半で説明した基本機能では、Webアプリケーションからの印刷を対象とした。これは、印刷サービスへ印刷要求を行うためのインターフェースが、Webアプリケーションからの利用を前提としているためである。しかし、現在まだ主流であるデスクトップアプリケーションから、印刷サービスが管理するプリンタに対して印刷できないのは不便である。特に、デスクトップアプリケーションから印刷を行う場合はデバイスドライバを使って印刷を行うことが主流であるため、デバイスドライバを使って印刷サービスから印刷を行いたいという要望はある。そこで、以下に説明する仮想プリンタドライバであるバイパスドライバの機能により、デスクトップアプリケーションから印刷サービスへの印刷が実現可能であることを示す。はじめに、バイパスドライバの機能の概要を説明する。
バイパスドライバは、通常のプリンタドライバと同様に、デスクトップアプリケーションからの印刷要求を受け取るためのインターフェースを備える。また、バイパスドライバは、印刷サービスに接続し、印刷サービスにジョブを登録するためのインターフェースを備える。一般に、プリンタドライバは、アプリケーションから受信した印刷命令(コンテンツデータ、および印刷設定を含む)をプリンタが解釈可能な形式の印刷データに変換し、プリンタに送信する。バイパスドライバは、アプリケーションから受信した印刷命令を印刷サービスが解釈可能な形式の印刷データに変換し、印刷設定を含むチケット共に印刷サービスに登録する。印刷サービスは、Webアプリケーションから受信したのと同様に、このバイパスドライバから受信したジョブを格納し、プリンタから取得させて印刷される。なお、バイパスドライバは、アプリケーションから受信した印刷命令を変換することなく印刷サービスに送信する形態であっても良い。以上が、バイパスドライバの機能の概要である。
これより後半部分として、発展印刷機能について説明する。発展印刷機能はさらに二つの機能に分類される。一つ目の系に分類される機能は、バイパスドライバ390をクライアント180にインストールする、ドライバインストール系に分類される機能である。二つ目の系に分類される機能は、デスクトップアプリケーション400が生成した印刷データを印刷サービス340に登録し、印刷サービス340が管理するプリンタに印刷する、印刷系に分類される機能である。最初に、一つ目の系であるドライバインストール系の機能について、図3の構成図、および図10のフロー図を用いて説明する。最初に、Webブラウザ380がユーザからの指示を受けて、印刷サービス340に接続を行うフローについて説明する。
S1001にて、Webブラウザ380は、印刷サービス340に接続要求を行う。S1002にて、印刷サービス340のユーザ認証部355は、接続要求の応答として、図4(c)に例示す認証画面を送信する。Webブラウザ380は受信した認証画面を表示し、ユーザID431とパスワード432の入力、およびログインボタン433の押下を受け付ける。ログインボタン433が押下されると、S1003にて、Webブラウザ380は、印刷サービス340に対して、入力された情報を送信し、認証を要求する。S1004にて、印刷サービス340のユーザ認証部355はユーザ情報管理部356に指示し、受信した認証情報の妥当性を評価し、正規な認証情報であると評価したことに応じてアクセストークンを発行する。S1005にて、発行されたアクセストークンは、ユーザ認証部355からWebブラウザ380へ、成功応答と共に送信される。以上により、Webブラウザ380と印刷サービス340との間にセッションが張られた状態となる。また、Webブラウザ380が印刷サービス340に対してセッションを張り直す必要が生じた際は、取得したアクセストークンを利用することでユーザ認証の情報入力ステップを省略することができる。
次に、S1006にて、Webブラウザ380から、印刷サービス340に対して、プリンタ一覧画面表示の要求を行う。S1007にて、要求を受信したプリンタ情報提示部346は、接続しているユーザカウントに紐付けられたプリンタ情報を図6(b)の管理テーブルから収集し、図4(d)に例示するプリンタ一覧画面を生成する。S1008にて、Webブラウザ380は、応答と共にプリンタ一覧画面を受信すると、それを表示し、ユーザの入力を受け付ける。ここで、図4(d)のプリンタ441はプリンタの一覧であり、インストールボタン442はバイパスドライバをインストールするための要求を発行するためのボタンである。インストールボタン442が押下されると、S1011にて、Webブラウザ380は、印刷サービス340に、バイパスドライバのインストール要求と、対象となるプリンタのSPIDを送信する。
S1012にて、プリンタ情報提示部346は、インストール要求とSPIDを受信すると、指定プリンタのインストールセットの生成に関する情報を収集する。プリンタ固有の情報となるのは、プリンタの能力を示すケーパビリティーズ、印刷設定を示すチケット、サービスプリンタを特定するSPIDの3つである。以上の3要素は、図6(b)のプリンタ管理テーブルで管理される情報から取得可能である。ケーパビリティーズはケーパビリティーズ624から、チケットはチケット初期値625から、SPIDはSPID621から、夫々取得する。次に、S1013にて、バイパスドライバをインストールするのに必要なインストールセットを生成する。
図7(a)は、インストールセット700に含まれるモジュールやファイルを示した構成図である。インストールセット700は、ドライバセット710と、更新用のデータ、およびセットアップモジュール719で構成される。ドライバセット710は、プリンタドライバとしてインストールするための最小限のモジュールとファイルのセットである。このドライバセットがあれば、OSの機能を利用してプリンタドライバをインストールすることができる。ただし、後述するセットアップモジュールの機能を利用することで、より高度なインストールが可能となる。ドライバセット710は、印刷設定モジュール701、印刷データ生成モジュール702、仮ケーパビリティーズ703、仮チケット704、仮SPID705、INFファイル706で構成される。印刷設定モジュール701は、デスクトップアプリケーションからの印刷設定要求に応じて印刷設定画面を表示し、ユーザの指示に基づいて印刷設定を行うためのモジュールである。印刷データ生成モジュール702は、アプリケーションからの印刷要求に応じて印刷データを生成し、出力するモジュールである。
仮ケーパビリティーズ703、仮チケット704、仮SPID705は、夫々ケーパビリティーズ、チケット、SPIDのダミー情報であり、固定の値を持つ。INFファイル706は、本バイパスドライバが、前述したモジュールと情報で構成されることを記載したファイルであり、その構成でインストールされることを示す。また、インストールセット700には、更新用のデータである、実ケーパビリティーズ711、実チケット712、実SPID713が含まれる。これらは、本来の情報を持つデータであり、ドライバセット710がインストールされた後、データの更新に利用される。実ケーパビリティーズ711、実チケット712、実SPID713は、S1012で取得した情報が適用される。最後に、インストールセット700には、セットアップモジュール719が含まれる。セットアップモジュール719は、一連のインストール作業を行う、プリンタやユーザカウントに非依存のモジュールである。セットアップモジュール719は、まずドライバセット710をインストールし、それが完了すると、更に更新用のデータで上書きするよう指示する。以上により収集された、情報、モジュール、ファイルにより、インストールセット700が生成される。
S1014にて、プリンタ情報提示部346は、生成されたインストールセット700とその起動命令を、Webブラウザ380に送信する。Webブラウザ380が受信したインストールセット700は、クライアント180上にインストーラ410として構成される。
S1021にて、Webブラウザ380は、起動命令に応じて、インストーラ410にセットアップの起動を指示する。インストーラ410は、インストールセット700の中のセットアップモジュール719を起動する。S1022にて、セットアップモジュール719は、クライアント180のOSに対し、まずドライバセット710のインストール要求を行う。S1023にて、ドライバセット710は、INFファイル706に従い、指定されたモジュール、ファイル、情報がOS上にインストールされる。インストールされたドライバセットは、クライアント180にバイパスドライバ390として構成される。
バイパスドライバ390は、印刷設定部391、印刷データ生成部392、ジョブ送信部393、プリンタデータ格納部394、ユーザデータ格納部395、トークン取得部396で構成される。印刷設定部391は印刷設定モジュール701が適用され、印刷設定を行う機能を持つ。印刷データ生成部392は印刷データ生成モジュール702が適用され、印刷データ生成の機能を持つ。ジョブ送信部393は生成されたジョブを送信する機能を持つ。プリンタデータ格納部394は、プリンタに関する情報を格納する機能を持ち、仮ケーパビリティーズ703、仮チケット704、仮SPID705が格納される。この時点ではダミー情報が格納されている。クライアント180を複数のユーザが利用する場合でも、プリンタデータ格納部394にはユーザ非依存の情報が格納されるため、プリンタ毎に唯一のデータ領域があればよい。ユーザデータ格納部395は、複数のユーザが利用する際に、ユーザカウント毎に区別された領域を持ち、ユーザに依存する情報が格納される。トークン取得部396は、印刷サービス340に接続するためのアクセストークンを要求する機能を持つ。トークン取得部396については、実施例2で詳述する。
セットアップモジュール719は、次にインストールセット700に含まれる実ケーパビリティーズ711、実チケット712、実SPID713のデータ更新作業を行う。S1024にて、セットアップモジュール719は、バイパスドライバ390のプリンタデータ格納部394に対し、前記3つのデータで更新するよう要求する。S1025にて、プリンタデータ格納部394は、受信したデータを用いて既存のデータを上書きする。以上のステップにより、プリンタデータ格納部394には、実際のプリンタに対応したケーパビリティーズ、チケット、SPIDがセットされたことになる。以上が、一つ目の系であるドライバインストールの系に分類される機能とフローについての説明である。
以上説明した機能により、ユーザは図4(d)のプリンタ一覧画面でプリンタに応じたインストールボタンを押下するだけで、デスクトップアプリケーションから印刷サービス340を利用するためのバイパスドライバがクライアントにインストールされる。また、セットアップファイルの起動や各種設定などの煩わしい作業なしに、バイパスドライバが利用可能となる。
次に、二つ目の系である印刷系に分類される機能について、図3の構成図、および図11のフロー図を用いて説明する。クライアント180は、デスクトップアプリケーション400を有する。ここでは、ユーザがデスクトップアプリケーション400でコンテンツデータを作成し、印刷を指示し、プリンタ選択画面において対象プリンタのバイパスドライバ390を選択し、バイパスドライバ390の起動後、印刷を行うケースを考える。
S1101にて、ますデスクトップアプリケーション400が起動され、コンテンツデータの編集がなされる。デスクトップアプリケーション400は、ユーザにより印刷設定の要求がなされると、S1102にて、バイパスドライバ390に対して印刷設定要求とチケットを送信する。S1103にて、バイパスドライバ390の印刷設定部391は、図4(e)に例示する印刷設定画面を表示する。図4(e)の画面の構成や表示の方法は、図4(b)の構築方法と基本的に同じである。即ち、印刷設定部391は、プリンタデータ格納部394からインストール時に格納したケーパビリティーズを取得し、能力情報に応じて印刷設定画面を構成する。また、S1102で取得したチケットが持つパラメータを、印刷設定の初期値として表示する。次にS1104にて、印刷設定部391は、ユーザによって入力された印刷設定のパラメータをチケットに保存する。ユーザの印刷設定入力が完了すると、印刷設定部391は、S1105にて、デスクトップアプリケーション400にチケット情報を返信する。
デスクトップアプリケーション400はユーザにより印刷の要求がなされると、S1106にて、バイパスドライバ390に対して印刷要求とコンテンツデータ、チケットを送信する。S1107にて、バイパスドライバ390の印刷データ生成部392は、受信したコンテンツデータを印刷サービス340が受信可能なフォーマット(PDFやXPS形式)の印刷データに変換する。受信したチケット、および印刷データ生成部392で生成された印刷データは、ジョブ送信部393に送信される。なお、コンテンツデータを変換せずに印刷データとしてジョブ送信部393に送信する場合もある。
S1111にて、ジョブ送信部393は、印刷サービス340に接続要求を行う。S1112にて、印刷サービス340のユーザ認証部355は、接続要求の応答として、図4(c)に例示す認証画面を送信する。バイパスドライバ390は受信した認証画面を表示し、ユーザID431とパスワード432の入力、およびログインボタン433の押下を受け付ける。ログインボタン433が押下されると、S1113にて、バイパスドライバ390は、印刷サービス340に対して、入力された情報を送信して認証要求を行う。印刷サービス340のユーザ認証部355は、ユーザ情報管理部356に指示し、受信した情報を基に認証を行う。S1114にて、ユーザ認証が成功すると、ユーザ情報管理部356はアクセストークンを発行する。S1115にて、発行されたアクセストークンは、ユーザ認証部355を経由し、バイパスドライバ390に成功応答とともに送信される。以上により、バイパスドライバ390と印刷サービス340との間にセッションが張られた状態となる。バイパスドライバ390が印刷サービス340にセッションを張り直す必要が生じた際には、取得したアクセストークンを利用することで認証要求のステップを省略することもできる。バイパスドライバ390は、取得したアクセストークンをプリンタデータ格納部394に格納しておいても良い。
S1121にて、ジョブ送信部393は、印刷サービス340へ、ジョブの登録要求を行う。ここでは、印刷データ、チケット、SPIDを送信する。これ以降、S1122からS1128にて、印刷サービス340が受信したジョブの印刷処理がなされるが、これは前半の基本印刷機能で説明した図9のS922からS928とまったく同じである。すなわち、印刷サービス340の視点から見た場合、Webアプリケーション360から印刷要求がなされた場合と区別することなく、バイパスドライバ390からの印刷要求の処理がなされる。以上が、二つ目の系である印刷の系に分類される機能とフローについての説明である。
以上説明した機能により、ユーザはバイパスドライバへの特別な設定なしに、また従来通りのプリンタへ印刷するのと同様の手順で、デスクトップアプリケーション400から印刷サービス340が管理するプリンタへの印刷を行うことが可能となる。
また、ドライバセット710は、プリンタやユーザカウントによって変わることがない、固定の構成である。OSベンダーによっては、認証テストをパスしたドライバセットに対してデジタル署名を発行する場合があるが、ドライバセット710は固定の構成であるため、この構成で取得したデジタル署名は本実施例では有効である。そして、クライアントが、インストール時に署名不足であると警告表示を行うようなシステムであっても、その警告を避けることができる。そして、プリンタごとに異なるケーパビリティーズやチケット、SPIDは、更新情報として更新されるため、機種ごとのドライバインストールが正しく完了する。
なお、本実施例ではインストールセット(ドライバセット+実データ+セットアップツール)の実施形式について説明した。しかし、デジタル署名が必要ない環境であれば、インストールセットではなく、実際のプリンタ情報を同梱したドライバセットを利用しても良い。図7(b)は、インストールセットではなく、ドライバセットを扱う場合の構成図である。ドライバセット720は、次に示すファイルを含む。まず、印刷設定モジュール721、印刷データ生成モジュール722、INFファイル726は、ドライバセット710と同じもので構成される。次に、実ケーパビリティーズ723、実チケット724、実SPID725は、ダミーのものではなく、図6(b)から取得したもので構成される。これは、実ケーパビリティーズ711、実チケット712、実SPID713と同じものである。この構成の場合、図10のS1021では、セットアップの起動ではなく、直接OSに対してドライバのインストール指示を行うことでインストールが実行される。なお、このステップで実データがインストールされるため、S1024とS1025の更新ステップは不要となる。
実施例1では、最初に印刷する際、または印刷する毎に、アクセストークンの取得が必要なためユーザにとっては面倒である可能性もある。そこで、アクセストークンを、ケーパビリティーズやチケット、SPIDと一緒に、インストールセットまたはドライバセットのデータとして含め、インストール時に格納することも可能である。その場合、S1011のインストール要求のアクセスで利用された(遡るとS1004で発行された)アクセストークンを、図10のS1012のデータ収集時に確保し、S1013のインストールセット作成時に含めればよい。即ち、バイパスドライバがクライアント180に配布されるよりも前にアクセストークンがインストールセットに含まれるので、バイパスドライバのインストール後にクリティカルに印刷サービス340を利用することができる。
しかし、実施例1の権限情報はユーザが認証されたこと同時にアクセストークンが発行される形態であり、権限移譲のプロセスとしてはセキュリティ的に不十分である可能性がある。そこで実施例2では、OAuthと呼ばれる認可の連携機能により、バイパスドライバ390に対して印刷サービス340へのアクセス権限を委譲する機能について説明する。なお、説明しない部分については原則実施例1と同様の構成・フローとなる。
ここでは、印刷サービス340からアクセストークンを取得し、取得したアクセストークンをバイパスドライバ390が受信する機能について、図3の構成図、および図12のフロー図を用いて説明する。なお、実施例1と同様、印刷サービス340がアクセストークンを発行する前提で説明するが、後述するS1202のリダイレクト先が認証サービスを提供する認証サーバーシステムであり、認証サーバーシステムによりアクセストークンが発行される形態であっても良い。
なお、バイパスドライバ390のインストールの完了までは、図10で説明したフローと同じである。このS1025のあと、バイパスドライバ390はWeb Browser380に対し、バイパスドライバ390にアクセストークンの発行を要求するよう指示を出し、図12のフローが一連の流れとして続く。ただし、S1014のインストールセットの送信では、セットアップモジュールの起動命令だけでなく、アクセストークン取得の起動命令も含まれるものとする。即ち、バイパスドライバのインストール時のタイミングでアクセストークンを発行する例を説明する。なお、アクセストークンの発行のタイミングはこれに限られず、バイパスドライバの初回起動時、または始めての操作時、または任意の操作時の何れかのタイミングで発行しても良い。何れの場合であっても、後述する認可画面は夫々のタイミングで表示される。
まず、Webブラウザ380が、アクセストークン取得の起動命令を受信したことに応じて処理が開始される。S1201にて、Webブラウザ380は、バイパスドライバ390に対してアクセストークンの取得要求を行う。これは、アクセストークン取得の起動命令に、バイパスドライバ390のトークン要求部396を起動するJavaScript(登録商標)命令を含めることなどで実現可能となる。また、バイパスドライバをインストールした際に、バイパスドライバ毎にユニークなURLを生成し、そのURLを基にWebブラウザからバイパスドライバにアクセスしても良い。S1202にて、バイパスドライバ390のトークン要求部396は、Webブラウザを印刷サービス340にリダイレクトさせる。印刷サービス340のユーザ認証部355は、バイパスドライバ390からリダイレクトさせられたWebブラウザ380を操作するユーザのアクセスを受け付ける。ドライバドライバS1203にて、ユーザ認証部355は、ユーザを認証するために図4(c)に例示される認証画面をリダイレクトしてきたWebブラウザ380に表示させ、ユーザに認証情報を入力させる。S1204にて、Webブラウザ380は、ユーザ認証部355へ、入力された認証情報を送り、認証要求を行う。S1205にて、ユーザ認証部355は、受信した認証情報をユーザ情報管理部356へ送り、ユーザの識別を行う。また、アクセストークンを要求しているバイパスドライバ390に関しても、ユーザのアクセスから情報を取り出し、合わせて検証を行う。
認証をパスすると、S1206にて、ユーザ認証部355は、バイパスドライバ390に対するアクセストークンを発行してよいかユーザに確認を行う。ここで、ユーザ認証部355は、認証されたユーザに認可を求めるために、図4(f)に示されるような認可画面をWebブラウザ380に表示させ、認可操作を行わせる。S1207にて、Webブラウザ380は、ユーザの入力結果を応答として返信する。S1208にて、ユーザ認証部355は、ユーザの認可を得られたか確認する。認可が得られた場合、ユーザ認証部355は、アクセストークンを発行するための認可コードを生成する。
S1209にて、ユーザ認証部355は、Webブラウザ380へ、アクセス元であるバイパスドライバ390に再度リダイレクトさせる。このリダイレクト要求には、S1208で生成した認可コードが含まれる。S1210にて、Webブラウザ380は、バイパスドライバ390のトークン要求部396へ、S1209のリダイレクト要求に従って認可コードを送信する。
S1211にて、トークン要求部396は、取得した認可コードを用いて、印刷サービス340にアクセストークンの発行を要求する。なお、印刷サービス340にアクセスしてきたバイパスドライバ390の認証は、例えば、予めインストールセットに組み込まれていたクライアント証明書で認証を行う形式であっても良い。認証サービスを受ける際には通常、認証情報を要求するが、クライアント証明書の場合は認証情報の要求は発生しないので、ユーザは認証に際し特別な操作を行わなくて良い。S1212にて、印刷サービス340のユーザ認証部355は、受信したアクセストークンの発行要求から、アクセストークンを要求しているバイパスドライバ390の情報を取り出し、正当性を検証する。検証が正当なら、更にS1211で受け付けた認可コードの正当性を検証する。いずれも正当であった場合、S1213にて、ユーザ認証部355は、受信した認可コードに対応するアクセストークンを発行する。S1214にて、ユーザ認証部355は、トークン要求部396へ、S1211の応答としてアクセストークンを返信する。最後にS1215にて、トークン要求部396は、受信したアクセストークンをユーザデータ格納部395に格納する。
以後、取得したアクセストークンを利用することで、印刷実行時のユーザ認証処理をスキップすることができる。具体的には図11のS1111の接続でアクセストークンを使えば、S1112からS1115の処理をスキップすることができる。ここで、ユーザデータ格納部395は、ユーザ毎の区別が必要な情報を格納する。アクセストークンはユーザ毎に異なる情報であるため、プリンタデータ格納部394ではなくユーザデータ格納部395に格納される。この機能により、クライアント180を使用するユーザが複数であった場合にも、他ユーザの印刷ジョブを見たり印刷したりしてしまうことを避けられる。一般には、クライアント180へのログインによりユーザが特定され、ユーザデータ格納部395もOSが管理するユーザ毎に自動的に特定される。
以上説明した機能により、安全にバイパスドライバにアクセス権限を委譲し、ユーザは印刷毎に認証作業を行う手間を省くことができ、ユーザにとって利便性が向上する。なお、本実施例では、ユーザからの入力を受け付ける画面をWebブラウザ380とする例を示したが、インストーラ410やバイパスドライバ390に同等の機能があっても構わない。また、本実施例では、アクセストークン取得の起動命令を印刷サービス340から受信する例を示したが、これはインストーラがインストールフローの一環で発行したものであっても、ユーザが明示的に指示したものであっても構わない。
実施例1、および実施例2ではクライアントにインストールされているOSの種類やバージョンについて言及しなかったが、実際にはOSの種類やバージョンは複数存在する。そして、OSが異なればインストールすべきプリンタドライバのアーキテクチャも異なるため、バイパスドライバのドライバセットが1種類だけだとサポートできないクライアントができてしまう。
そこで本実施例では、クライアントにインストールされているOSの種類やバージョンを判別し、OSに対応したアーキテクチャのバイパスドライバをインストールする方法について説明する。なお、説明しない部分については原則実施例1、または実施例2と同様の構成・フローとなる。
印刷サービス340は、あらかじめ複数のOSに対応したドライバセットを準備しておく。たとえば図7(c)はOS−Aで動作するアーキテクチャのモジュールとデータ形式を含み、図7(d)はOS−B上で動作するアーキテクチャのモジュールとデータ形式を含む、といった具合である。図7(d)のPPDファイルは、Postscript Printer Descriptionファイルを指す。PPDは、ケーパビリティーズとチケットとは表現の形式は異なるが、機能としては同様に、プリンタの能力(能力PPD)と、そのサブセットとして印刷設定(設定PPD)を表現することができる。
印刷サービス340が表示する図4(d)のプリンタ一覧画面でユーザによりバイパスドライバのインストールが指示されると、インストールセットを生成する処理であるS1011からS1013の処理が、以下のように変わる。以下、図13のフロー図を用いて説明する。
Webブラウザ380は、S1310で対象プリンタのSPIDを送る。このとき、OS情報も送信する。たとえば、UserAgentの識別名により、送信元クライアントのOS情報を伝えることができる。S1311にて、印刷サービス340は、OS情報を受信すると、クライアント180のOSの種類やバージョンを判断する。次にS1312,S1313でインストールセットを作成するが、クライアント180がOS−Aであると判断した場合は図7(c)のドライバセットを、OS−Bであると判断した場合は図7(d)のドライバセットを選択し、インストールセットを構築する。以上により、クライアント180のOSに対応したインストールセットを構築し、送信することができる。これ以降の処理は、図10のS1014以降の処理と同じである。
以上説明した機能により、クライアントにインストールされている夫々のOSに適したアーキテクチャのバイパスドライバを自動的にインストールすることが可能となる。そして、ユーザはクライアント情報を意識する必要がなく、インストール時の利便性が向上する。なお、本実施例では自動でOSを判断する例を示したが、バイパスドライバインストール指示を行う際に、OSの種類やバージョンを選択するフローであっても構わない。
120 プリンタ
340 印刷サービス
360 Webアプリケーション
380 Webブラウザ
390 バイパスドライバ
400 デスクトップアプリケーション
410 インストーラ

Claims (13)

  1. コンテンツデータおよび印刷設定から印刷ジョブを生成し、生成された印刷ジョブをネットワークを介してプリンタへ送信する印刷サービスを備えた印刷サーバーシステムと通信可能な情報処理装置であって、
    印刷設定画面を提供する他、前記情報処理装置のメモリに保存されたコンテンツデータおよび前記印刷設定画面で入力された印刷設定をネットワークを介して前記印刷サービスへ送信するプリンタドライバを起動する起動手段と、
    前記プリンタドライバの起動後、ユーザが前記プリンタドライバを利用して印刷指示を行ったことに応じて、前記印刷サービスを利用するための前記ユーザの権限が前記プリンタドライバに移譲されたことを示す権限情報と、前記コンテンツデータおよび前記印刷設定とをネットワークを介して送信する送信手段と、を有する情報処理装置。
  2. 前記印刷サービスを利用するための前記ユーザの権限を前記プリンタドライバへ移譲することを認可するか否かを確認するための認可画面を、前記印刷サーバーシステムと連携する認証サーバーシステムから受信し、受信された前記認可画面を表示する表示手段と、
    表示された前記認可画面においてユーザにより認可された旨を前記認証サーバーシステムへ送信することにより発行された前記権限情報を保存する保存手段と、を有することを特徴とする請求項1に記載の情報処理装置。
  3. 前記表示手段は、前記プリンタドライバのインストール時、または初回起動時、または操作時の何れかのタイミングで前記認可画面を表示することを特徴とすると請求項2に記載の情報処理装置。
  4. 前記表示手段は、前記プリンタドライバが前記印刷サービスから配布されるよりも前のタイミングで前記認可画面を表示し、
    前記保存手段は、前記認可画面においてユーザにより認可された旨を前記認証サーバーシステムへ送信することにより発行された前記権限情報を含む前記プリンタドライバのインストールセットをインストールすることによって、前記権限情報を保存することを特徴とする請求項2または3に記載の情報処理装置。
  5. 前記プリンタドライバのインストールセットには、前記認証サーバーシステムが提供する認証サービスを受ける際に必要となるクライアント証明書が含まれており、前記権限情報の発行の際には前記認証サーバーシステムから認証情報から要求されないことを特徴とする請求項4に記載の情報処理装置。
  6. クライアントと通信可能な印刷サーバーシステムであって、
    コンテンツデータおよび印刷設定から印刷ジョブを生成し、生成された印刷ジョブをネットワークを介してプリンタへ送信する印刷サービスと、
    印刷設定画面を提供する他、前記クライアントのメモリに保存されたコンテンツデータおよび前記印刷設定画面で入力された印刷設定をネットワークを介して前記印刷サービスへ送信するプリンタドライバを配布する配布手段と、
    前記クライアントに配布されたプリンタドライバから送信される、前記印刷サービスを利用するためのユーザの権限が前記プリンタドライバに移譲されたことを示す権限情報と、前記コンテンツデータおよび前記印刷設定とをネットワークを介して受信する受信手段と、を有する印刷サーバーシステム。
  7. 前記権限情報を発行可能な認証サービスを提供する認証サーバーシステムと通信可能な前記印刷サーバーシステムであって、
    前記印刷サービスは、受信された前記権限情報を前記認証サーバーシステムへ送信し、前記認証サービスと連携することで前記権限情報が正規な情報であることが確認されたことに応じて、コンテンツデータおよび印刷設定から印刷ジョブを生成することを特徴とする請求項6に記載の印刷サーバーシステム。
  8. 前記配布手段は、前記プリンタドライバを前記クライアントに配布するよりも前に前記認証サーバーシステムにより発行された前記権限情報を取得し、取得された権限情報を含む前記プリンタドライバのインストールセットを生成し、前記クライアントから前記プリンタドライバの配布の要求を受けたことに応じて、生成された前記プリンタドライバのインストールセットを配布することを特徴とする請求項7に記載の印刷サーバーシステム。
  9. 前記配布手段は、プリンタ選択画面で選択されたプリンタに対応するプリンタドライバのインストールセットを生成し、前記クライアントから前記プリンタドライバの要求を受けたことに応じて生成された前記プリンタドライバのインストールセットを配布することを特徴とする請求項6乃至8の何れか1項に記載の印刷サーバーシステム。
  10. 前記配布手段は、前記クライアントにインストールされているOSに関する情報を受信し、プリンタ選択画面で選択されたプリンタに対応し、かつ前記OSに対応するプリンタドライバのインストールセットを生成し、前記クライアントから前記プリンタドライバの要求を受けたことに応じて生成された前記プリンタドライバのインストールセットを配布することを特徴とする請求項6乃至9の何れか1項に記載の印刷サーバーシステム。
  11. クライアントと通信可能な印刷サーバーシステムを制御する制御方法であって、
    印刷サービスは、コンテンツデータおよび印刷設定から印刷ジョブを生成し、生成された印刷ジョブをネットワークを介してプリンタへ送信し、
    配布手段は、印刷設定画面を提供する他、前記クライアントのメモリに保存されたコンテンツデータおよび前記印刷設定画面で入力された印刷設定をネットワークを介して前記印刷サービスへ送信するプリンタドライバを配布し、
    受信手段は、前記クライアントに配布されたプリンタドライバから送信される、前記印刷サービスを利用するためのユーザの権限が前記プリンタドライバに移譲されたことを示す権限情報と、前記コンテンツデータおよび前記印刷設定とをネットワークを介して受信することを特徴とする制御方法。
  12. 請求項11に記載の制御方法を情報処理装置に実行させるためのプログラム。
  13. コンテンツデータおよび印刷設定から印刷ジョブを生成し、生成された印刷ジョブをネットワークを介してプリンタへ送信する印刷サービスを備えた印刷サーバーシステムと通信可能な情報処理装置にインストールされるプリンタドライバのプログラムであって、
    印刷設定画面を表示する表示ステップと、
    印刷指示を受けたことに応じて、前記印刷サービスを利用するためのユーザの権限が前記プリンタドライバに移譲されたことを示す権限情報と、前記情報処理装置のメモリに保存されたコンテンツデータと、前記印刷設定画面で入力された印刷設定とをネットワークを介して前記印刷サービスへ送信する送信ステップと、を含むプログラム。
JP2012261309A 2012-11-29 2012-11-29 情報処理装置、印刷サーバーシステム、その制御方法、およびプログラム。 Expired - Fee Related JP6000828B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2012261309A JP6000828B2 (ja) 2012-11-29 2012-11-29 情報処理装置、印刷サーバーシステム、その制御方法、およびプログラム。
US14/647,618 US9557948B2 (en) 2012-11-29 2013-10-24 Information processing apparatus for activating a printer driver upon completion of user authentication
PCT/JP2013/006291 WO2014083757A1 (en) 2012-11-29 2013-10-24 Information processing apparatus, print server system, method for controlling print server system, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012261309A JP6000828B2 (ja) 2012-11-29 2012-11-29 情報処理装置、印刷サーバーシステム、その制御方法、およびプログラム。

Publications (2)

Publication Number Publication Date
JP2014106883A true JP2014106883A (ja) 2014-06-09
JP6000828B2 JP6000828B2 (ja) 2016-10-05

Family

ID=50827422

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012261309A Expired - Fee Related JP6000828B2 (ja) 2012-11-29 2012-11-29 情報処理装置、印刷サーバーシステム、その制御方法、およびプログラム。

Country Status (3)

Country Link
US (1) US9557948B2 (ja)
JP (1) JP6000828B2 (ja)
WO (1) WO2014083757A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016177781A (ja) * 2015-03-20 2016-10-06 株式会社リコー 情報処理システム、情報処理装置およびプログラム
JP2019053792A (ja) * 2019-01-15 2019-04-04 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及びアプリケーションプログラム

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9384428B1 (en) * 2014-12-15 2016-07-05 The Western Union Company Methods and systems for improving disclosure requirement compliance
US20170230543A1 (en) * 2016-02-09 2017-08-10 Kabushiki Kaisha Toshiba Server apparatus and control method
JP6501077B2 (ja) * 2016-03-25 2019-04-17 京セラドキュメントソリューションズ株式会社 印刷システム
JP7102216B2 (ja) * 2018-05-07 2022-07-19 キヤノン株式会社 プログラム
JP7324048B2 (ja) * 2019-05-22 2023-08-09 キヤノン株式会社 印刷装置、印刷システム、印刷装置の登録方法、及び、プログラム
CN112748891B (zh) * 2020-12-31 2023-05-23 同智伟业软件股份有限公司 法院文书打印管理***及方法
US11985117B2 (en) * 2022-02-22 2024-05-14 Toshiba Tec Kabushiki Kaisha System and method for single sign on across multiple applications with license enablement

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000056936A (ja) * 1998-08-06 2000-02-25 Pfu Ltd 印刷システム、印刷サーバ装置及び端末装置
JP2008290271A (ja) * 2007-05-22 2008-12-04 Murata Mach Ltd ネットワーク複合機
JP2009200741A (ja) * 2008-02-20 2009-09-03 Ricoh Co Ltd 画像処理装置,色調整方法,プログラム,および記録媒体
JP2010244550A (ja) * 2009-04-06 2010-10-28 Toshiba Corp プリントサーバ装置、プリントサーバ装置によるデータ管理方法、およびデータ管理プログラム
JP2010277524A (ja) * 2009-06-01 2010-12-09 Ricoh Co Ltd 情報処理装置、情報処理システム、情報処理方法、及びプログラム
JP2012043398A (ja) * 2010-07-21 2012-03-01 Canon Inc コンテンツ印刷システム、および印刷中継システム、および制御方法、およびプログラム
JP2012088838A (ja) * 2010-10-18 2012-05-10 Canon Inc 情報処理装置、情報処理装置を制御する制御方法、およびそのプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004240589A (ja) 2003-02-04 2004-08-26 Canon Inc 印刷システム及びその制御方法並びに情報処理装置及び方法
JP5312162B2 (ja) * 2009-04-10 2013-10-09 キヤノン株式会社 情報処理装置、管理サーバ、情報処理方法、及びプログラム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000056936A (ja) * 1998-08-06 2000-02-25 Pfu Ltd 印刷システム、印刷サーバ装置及び端末装置
JP2008290271A (ja) * 2007-05-22 2008-12-04 Murata Mach Ltd ネットワーク複合機
JP2009200741A (ja) * 2008-02-20 2009-09-03 Ricoh Co Ltd 画像処理装置,色調整方法,プログラム,および記録媒体
JP2010244550A (ja) * 2009-04-06 2010-10-28 Toshiba Corp プリントサーバ装置、プリントサーバ装置によるデータ管理方法、およびデータ管理プログラム
JP2010277524A (ja) * 2009-06-01 2010-12-09 Ricoh Co Ltd 情報処理装置、情報処理システム、情報処理方法、及びプログラム
JP2012043398A (ja) * 2010-07-21 2012-03-01 Canon Inc コンテンツ印刷システム、および印刷中継システム、および制御方法、およびプログラム
JP2012088838A (ja) * 2010-10-18 2012-05-10 Canon Inc 情報処理装置、情報処理装置を制御する制御方法、およびそのプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016177781A (ja) * 2015-03-20 2016-10-06 株式会社リコー 情報処理システム、情報処理装置およびプログラム
JP2019053792A (ja) * 2019-01-15 2019-04-04 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及びアプリケーションプログラム

Also Published As

Publication number Publication date
JP6000828B2 (ja) 2016-10-05
US20150301773A1 (en) 2015-10-22
WO2014083757A1 (en) 2014-06-05
US9557948B2 (en) 2017-01-31

Similar Documents

Publication Publication Date Title
JP6000828B2 (ja) 情報処理装置、印刷サーバーシステム、その制御方法、およびプログラム。
JP5888880B2 (ja) 印刷システム、サーバ装置、画像形成装置および印刷処理方法
JP6098172B2 (ja) 情報処理システム及びデータ変換方法
JP5683205B2 (ja) 情報処理装置、情報処理装置を制御する制御方法、およびそのプログラム
JP5730082B2 (ja) プリントサーバ、印刷システム、制御方法、およびプログラム。
US8958095B2 (en) Relay server, relay server control method, and storage medium
JP5697486B2 (ja) 印刷中継サーバ、印刷中継サーバを制御する制御方法、その制御方法のプログラム、および印刷処理方法
US8860988B2 (en) Print relay system, print relay system control method, and storage medium
JP6098169B2 (ja) 情報処理システム、情報処理装置、プログラム及び認証方法
JP5424614B2 (ja) 情報処理システム、情報処理装置、Webサーバ、制御方法、及びプログラム
JP2013073314A (ja) 印刷中継システム、印刷システム、制御方法およびコンピュータプログラム
JP5022875B2 (ja) 情報処理装置及びその制御方法、情報処理システム及びプログラム
CN103218187A (zh) 信息处理***控制方法、中间服务设备以及验证方法
JP6327881B2 (ja) 情報処理装置、その制御方法、及びプログラム
WO2011058635A1 (ja) 画像処理装置および画像処理装置の制御方法
JP2011253474A (ja) ユーザ装置特定方法および情報処理システム
JP2007317195A (ja) 印刷ジョブを実行するための方法及び媒体
JP2013092833A (ja) サーバ装置、クライアント装置、情報処理方法及びプログラム
JP2014115907A (ja) 情報処理システムおよびその制御方法、並びにプログラム
JP6292009B2 (ja) システム、及び方法
JP7230617B2 (ja) 印刷システム、情報処理装置及びプログラム
JP2012226700A (ja) 印刷システム、印刷中継サーバー、印刷中継サーバーを制御する制御方法、およびそのプログラム。
JP7146422B2 (ja) 情報処理装置及びクッキー情報管理方法
CN103324450B (zh) 信息处理设备和信息处理方法
JP2006285840A (ja) 文書管理システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160628

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160704

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160802

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160831

R151 Written notification of patent or utility model registration

Ref document number: 6000828

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees