JP6377176B2 - 印刷システム、方法、およびプログラム - Google Patents

印刷システム、方法、およびプログラム Download PDF

Info

Publication number
JP6377176B2
JP6377176B2 JP2016562124A JP2016562124A JP6377176B2 JP 6377176 B2 JP6377176 B2 JP 6377176B2 JP 2016562124 A JP2016562124 A JP 2016562124A JP 2016562124 A JP2016562124 A JP 2016562124A JP 6377176 B2 JP6377176 B2 JP 6377176B2
Authority
JP
Japan
Prior art keywords
data
print
url
client
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.)
Active
Application number
JP2016562124A
Other languages
English (en)
Other versions
JPWO2016088199A1 (ja
Inventor
健介 平田
健介 平田
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
Publication of JPWO2016088199A1 publication Critical patent/JPWO2016088199A1/ja
Application granted granted Critical
Publication of JP6377176B2 publication Critical patent/JP6377176B2/ja
Active 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/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/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1247Job translation or job parsing, e.g. page banding by conversion to printer ready format
    • 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/1267Job repository, e.g. non-scheduled jobs, delay 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
    • 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
    • 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/1292Mobile client, e.g. wireless printing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Computer Interaction (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Between Computers (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Description

複数セキュリティドメイン間のサービス連携を実現する印刷システム、方法、およびプログラム。
近年、サーバーがクライアントにサービスを提供するクラウドコンピューティングの形態が注目を集めている。クラウドコンピューティングは、多くのコンピューティング・リソースを用いてデータ変換やデータ処理を分散実行し、多くのクライアントからの要求を分散並列処理により並行して処理することが主な特徴である。現在、このクラウドコンピューティングを実現するクラウドコンピューティング環境上にWebサービスを実装し、多種多様なサービスを提供するベンダーが乱立しつつある。クラウドサービスの開発においては、既にWeb上にて提供されているサービスを有効活用し新しい機能を提供することで開発スピードや開発コストの面で優位になる。
クラウドサービス連携においてはサービスを提供するベンダーが複数存在するため、セキュリティドメインが異なることが課題となる。セキュリティドメインの異なるクラウドサービスを複数連携させてユーザに利用させる場合、クライアント(ユーザ)はセキュリティドメイン毎に認証する必要があり利便性を損ねてしまうのである。一つの解決手段としてセキュリティドメインが異なるサービス間の連携において、一定期間のみ利用可能な一時URL(または認可トークン)をサービス利用者に提供することでSingleSignOnを実現する認証方法がある。
特許文献1には、クライアントからの認証情報と印刷データURLを保存しておき、ユーザに入力された認証情報と保存している認証情報が一致している場合に印刷データURLから利用可能とし印刷実行する方法が開示されており、認証情報からURLを特定する形態は従来から存在している。
特開2002−183091
従来技術に記載の認証方法を利用した技術として、スマートフォンなどのモバイル端末からプリントサービスを利用し、文書ファイルを印刷データに変換しプリンタにて印刷を行うクラウドプリンティングが想定できる。クラウドプリンティングを実現するため、ストレージサービスがファイル入出力を行い、データ変換サービスがデータ変換を行うというすみ分けを行うサービス連携が考えられる。また、ストレージサービスに対する一時URLをデータ変換サービスが利用し、ストレージサービスの所定の保存領域にデータを保存することでセキュリティドメインが異なっていても連携が可能になるという課題も解決できる。
しかしながら、2つのサービスの連携には課題が存在する。異なるセキュリティドメインに属するデータ変換サーバーとストレージサーバーの連携において、クライアント端末がデータ変換サーバーにアクセスするための認可情報(認可トークン)でストレージサーバーの一時URLが交換可能な場合がある。その場合、データ交換サーバー外部にあるクライアント端末がその認可情報を利用し不正に一時URLを発行し、データ変換サーバー内に保存されているファイルに対して意図しないファイル操作を行うというセキュリティ上の課題である。
本願発明は、ストレージサーバーの一時URLを発行する権限を新たに設けることにより、クライアント端末がデータ変換サーバーにアクセスするための認可情報を利用し一時URLを発行することを防ぐことを目的とする。
本発明の一実施形に係る印刷システムは、プリントサービスを保有するサーバーシステムと、ストレージサービスを保有するサーバーシステムと、クライアントとを含む印刷システムであって、サービスの利用を要求する要求元に対して認証情報を求めることなく前記サービスを利用させる際に必要な認可情報を発行する発行手段と、印刷対象のデータを印刷データへ変換する変換手段と、プリントサービスとセキュリティドメインが異なるストレージサービスに保存される前記印刷対象のデータまたは前記印刷データの保存領域を特定するためのURLを生成する生成手段と、を有し、第1の認可情報を前記クライアントから受信した前記変換手段は、前記クライアントにより前記印刷対象のデータまたは前記印刷データに対し操作が行われる際、前記第1の認可情報を基に前記クライアントが前記プリントサービスを利用することが可能であることを確認したことに応じて、第2の認可情報の発行を前記発行手段に要求し、発行された前記第2の認可情報を利用し前記印刷対象のデータまたは前記印刷データを保存する保存領域を特定するためのURLの生成を前記生成手段に要求し、前記生成手段により生成された前記URLを前記クライアントへ送信することを特徴とする。
ストレージサーバーの一時URLを発行する権限を新たに設けることにより、クライアント端末がデータ変換サーバーにアクセスするための認可情報を利用し一時URLを発行することを防ぐことが可能になる。
システム構成図 各装置のハードウェア構成図 各装置のハードウェア構成図 各装置のハードウェア構成図 各装置のソフトウェアコンポーネント構成図 各装置のソフトウェアコンポーネント構成図 各装置のソフトウェアコンポーネント構成図 各装置のソフトウェアコンポーネント構成図 データ変換サーバーで管理するテーブル構造とインデックスファイル例 データ変換サーバーで管理するテーブル構造とインデックスファイル例 データ変換サーバーで管理するテーブル構造とインデックスファイル例 認可サーバーで管理するテーブル構造 認可サーバーで管理するテーブル構造 トークン交換サーバーで管理するテーブル構造と一時URL例 トークン交換サーバーで管理するテーブル構造と一時URL例 ストレージサーバーで管理するテーブル構造 ストレージサーバーで管理するテーブル構造 モバイル端末からの印刷フロー モバイル端末からの印刷フロー プリントサーバーからの印刷フロー プリントサーバーからの印刷フロー
以下、本発明を実施するための最良の形態について図面を用いて説明する。
<実施例1>
<システム構成>
図1は、本発明の実施形態に係るモバイル印刷システムの全体構成を示す図である。図1において、プリンタ102、モバイル端末103はローカルネットワーク101を介して複数台接続されていることを想定している。プリンタ102、モバイル端末103は、ローカルネットワーク101を介してインターネットワーク100にアクセスし、105〜109のサーバーにアクセスすることができる。モバイル端末103、プリンタ102は有線または無線LANを介してネットワークに接続する。本実施例では、モバイル端末103は、無線LANターミナル104を介してネットワークに接続することを想定しているが、携帯データ通信キャリアが提供する無線ネットワークを介して接続する場合も当然想定される。無線LANターミナル104は、一般的なネットワーク・ルーター機能を有した無線LANの親機であり、家庭内や事務所などの中で無線LANを提供している。
プリントサーバー105は、受け付けたコンテンツデータをデータ変換サーバー106で印刷データに変換し、プリンタ102に印刷実行する。プリントサーバー105のコンテンツデータの受信手段には、メールの添付ファイルとして受信、モバイル端末103上のUIで選択されたコンテンツを受信、他のコンテンツサービス上のコンテンツを受信するなどがある。データ変換サーバー106は、モバイル端末103やプリントサーバー105から送信されるコンテンツデータをプリンタ102が読み取り可能なデータ形式に変換する。認可サーバー107はOAuthを実現するためのサーバーでありクライアント情報の管理や認可トークンの発行・管理を行う。トークン交換サーバー108は認可サーバー107で発行した認可トークンをストレージサーバー109にアクセス可能なURLに交換する。ストレージサーバー109はファイル管理を行うサーバーであり、モバイル端末103、プリンタ102、プリントサーバー105、データ変換サーバー106からのファイルアップロード/ダウンロードを受け付ける。ここで、105〜109までの各サーバーはそれぞれ複数台のサーバーで冗長化されたクラウドサービスとしてインターネット上に公開されるが、本実施例では説明を簡略化するため、それぞれ1台構成としている。
プリントサービスセキュリティドメイン110は認可サーバー107で発行された認可トークンでアクセス可能範囲を示しており、プリントサーバー105、データ変換サーバー106、認可サーバー107、トークン交換サーバー108が属する。ストレージサービスセキュリティドメイン111に属するストレージサーバー109には認可サーバー107で発行された認可トークンでアクセスすることはできない。各ドメインにて構成されるサーバー群をサーバーシステムと称し、各ドメインにおけるサーバーシステムは夫々のドメインにて提供されるサービスを保有している。例えば、プリントサービスセキュリティドメインに属するサーバーシステムは、プリントサービスを保有する。
<モバイル端末103のハードウェア構成>
図2Aはモバイル端末103のハードウェア構成図である。ハードウェアの各構成要素は、システムバス202に接続されている。 ROM204にはオペレーティングシステム及び、通話、データ通信を制御するアプリケーションが格納されており、CPU203で実行される。 データ通信を制御するアプリケーションとしては、MailソフトやWebブラウザなどがある。
RAM205は、プログラムを実行するためのワークメモリエリアである。また、WebブラウザがWebサーバーから取得してきたWebページデータやWebサービスにアクセスするための認証情報などを一時記憶するためのメモリでもある。記憶装置210は不揮発性の記憶装置であり、モバイル端末の再起動後も保持しておく必要のある各種動作モード設定や、稼働ログなどが記憶される。
NetworkController206は、無線LAN通信部212、携帯キャリアの提供するネットワークに参加するための携帯電話データ通信部213の通信制御を行う。一般的に無線LANのネットワークに参加できるとき、NetworkController206は、無線LANの接続を優先する。モバイル端末が無線LANのネットワークエリアから外れた場合には、携帯キャリアが提供する無線通信ネットワークへ参加する。音声制御部207は、主に通話アプリケーションが起動しユーザが電話をしているときに利用する。マイク・スピーカ214にて音声データの入出力を行い、音声制御部207は、その制御プログラムとの仲介を行っている。
表示制御部208は、モバイル端末のディスプレイ215にて出力する情報の制御を行っている。入力制御部209は、モバイル端末のボタンやタッチパネル216にてユーザが指示した情報の制御を行っている。これらの音声制御部207、表示制御部208、入力制御部209を利用して、モバイル端末上でのアプリケーションは、ネットワーク通信情報やモバイル端末のさまざまな情報をユーザに提供する。位置検出制御部211は、GPSセンサー217からモバイル端末の位置情報を取得しOSに提供する。これらの制御は、CPU203で動くOSにて制御される。
<サーバーのハードウェア構成>
図2Bは、105〜109の各サーバーのハードウェア構成の一例を示す図である。特に断らない限り、本発明の機能が実行可能であるならば、単体の機器であっても、複数の機器からなるシステムであっても、本発明が適用できることは言うまでもない。また、特に断らない限り、本発明の機能が実行可能であるならば、LAN、WAN等のネットワークを介して接続が為され、処理が行われるシステムであっても本発明を適用できることは言うまでもない。本実施例ではシステムバス219により各構成要素が接続されているものとして説明する。
220は情報処理装置の制御装置であるCPUであり、記憶装置226に格納されているアプリケーションプログラム、プリントドライバプログラム、オペレーティングシステムや本発明のモバイル印刷システムプログラムを実行する。また、CPU220はRAM222にプログラム実行に必要な情報、ファイル等を一時的に格納する制御を行う。また、CPU220はディスプレイ227上の不図示マウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。221は記憶手段であるROMであり、内部には基本I/Oプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する。222は一時記憶手段であるRAMであり、CPU220の主メモリやワークエリア等として機能する。224は表示制御部であり、ディスプレイ227にて出力する情報の制御を行っている。225は入力制御部であり、キーボード228より入力される情報を制御し、情報処理装置は入力制御部225を介して外部装置とのデータのやり取りを行う。226は外部記憶手段の一つで、大容量メモリとして機能する記憶装置であり、アプリケーションプログラム、プリントドライバプログラム、OS等を格納している。228は指示入力手段であるキーボードであり、ユーザが印刷サーバー等に命令等を入力指示するためのものである。227は表示手段であるディスプレイであり、キーボード228から入力したコマンド等を表示するものである。
<プリンタ102のハードウェア構成>
図2Cは、プリンタ102のハードウェア構成図である。ハードウェアの各構成要素は、システムバス230に接続されている。209はプリンタ102のコントローラであり、プリンタの制御系を司る機器である。231は装置全体の制御を行うCPUであり、システムバス230に接続される各種デバイスとのアクセスを統括的に制御する。この制御は、ROM232に記憶された制御プログラム等あるいはディスクコントローラ(DKC235)を介して接続された外部メモリ236に記憶された制御プログラムやリソースデータ(資源情報)等に基づく。233はCPU231の主メモリ、ワークエリア等として機能するRAMで、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。240は大容量メモリとして機能する外部記憶手段であり、本発明に係る印刷アプリケーション306のプログラムを格納している。239は操作パネル(操作部)であり、画面の表示や、画面を介したユーザの操作指示を受け付ける。また、プリンタ102の動作モード等の設定やプリンタ102の動作状況の表示、複写指定等の操作を行うためのボタンおよび液晶パネル等の表示部も配置される。234は、ネットワークインターフェースカード(NIC)であり、該インターフェース234を介して外部装置とのデータのやり取りを行う。なお、本図で示したプリントエンジン238は既知の印刷技術を利用するものであり、好適な実施系として例えば電子写真方式(レーザービーム方式)やインクジェット方式、昇華方(熱転写)方式等が挙げられる。237のラスタコントローラは、PDL言語・PDF言語である印刷データを画像データに変換するコントローラである。241の機器I/Fは、USB等で接続可能な外部機器との接続I/Fである。
<データ変換サーバー106のソフトウェア構成>
図3Aは、データ変換サーバー106のソフトウェア構成図である。なお各ソフトウェアモジュールは図2A、2B、2Cで示した記憶装置226に記憶されており、前述したようにCPU220によってRAM222にロードされ実行される。
300はWebサーバーであり、後述するデータ変換サーバー106の各種インターフェースを提供し、受け付けた情報の妥当性の検証を行う。301はデータ変換部であり、モバイル端末103やプリントサーバー106がストレージサーバー109にアップロードした文書ファイルと印刷チケットを受信し、文書ファイルを印刷チケットに従ってプリンタ102が印刷可能な印刷データファイルに変換する。この場合、文書ファイルが印刷対象のデータとなり、文書ファイルを基に生成されたデータが印刷データとなる。データ変換部は生成した印刷データファイルと印刷データのリストであるインデックスファイルをストレージサーバー109にアップロードする。302はストレージであり、図4Aと図4Bで説明するデータ変換サーバー106が保持している情報が格納されている。
<認可サーバー107のソフトウェア構成>
図3Bは、認可サーバー107のソフトウェア構成図である。なお各ソフトウェアモジュールは図2A、2B、2Cで示した記憶装置226に記憶されており、前述したようにCPU220によってRAM222にロードされ実行される。
310はWebサーバーであり、後述する認可サーバー107の各種インターフェースを提供し、受け付けた情報の妥当性の検証を行う。311は、認可情報管理部であり、図5Aと図5Bで説明するクライアント情報500と認可トークン情報510を管理し、Webサーバー310が受け付けたリクエストに応じて、認可トークンの発行・スコープ確認・有効期限確認などを行う。312はストレージであり、図5Aと図5Bで説明する認可サーバー107が保持している情報が格納されている。
<トークン交換サーバー108のソフトウェア構成>
図3Cは、トークン交換サーバー108のソフトウェア構成図である。なお各ソフトウェアモジュールは図2A、2B、2Cで示した記憶装置226に記憶されており、前述したようにCPU220によってRAM222にロードされ実行される。
320はWebサーバーであり、後述するトークン交換サーバー108の各種インターフェースを提供し、受け付けた情報の妥当性の検証を行う。321は、一時URL発行部であり、図6Aで説明するスコープ情報600を管理し、Webサーバー320が受け付けたリクエストに応じて、ストレージサーバー109にアクセス可能な一時URLの発行を行う。322はストレージであり、図6Aで説明するトークン交換サーバー108が保持している情報が格納されている。
<ストレージサーバー109のソフトウェア構成>
図3Dは、ストレージサーバー109のソフトウェア構成図である。なお各ソフトウェアモジュールは図2A、2B、2Cで示した記憶装置226に記憶されており、前述したようにCPU220によってRAM222にロードされ実行される。
330はWebサーバーであり、後述するストレージサーバー109の各種インターフェースを提供し、受け付けた情報の妥当性の検証を行う。331は、アクセス制御部であり、図7Aで説明する一時URLアクセス制御情報700を管理し、一時URLアクセス制御情報700からWebサーバー330が受け付けたリクエストを実行許可するか否かを判断する。アクセス制御部331が実行許可したリクエストはストレージ管理部332へ送信され、実行拒否と判断したリクエストはエラーにする。ストレージ管理部332は図7Bで説明するファイル情報710を管理し、アップロードリクエストされたファイルの入出力を行う。332はストレージであり、図7A、図7Bで説明するストレージサーバー109が保持している情報やストレージサーバー109受信したファイルが、一時URLに対応する保存領域に格納されている。
<データ変換サーバー106のデータ>
図4A、図4Bはデータ変換サーバー106が外部メモリであるデータベースに記憶するデータテーブルである。これらのデータテーブルは、データ変換サーバー106の外部メモリではなく、インターネット100やローカルネットワーク101を介して通信可能に構成された別のサーバーに記憶するように構成することもできる。データ変換サーバー106が保持するデータテーブルは、文書情報400、データ変換情報410より成る。
文書情報400はデータ変換リクエスト受信時にデータ変換部301がレコード生成し、ストレージ312上で保持する。401は文書IDであり、データ変換サーバー106がデータ変換リクエストを受信した際に発行する文書を一意に識別する識別子である。402はクライアントIDであり、データ変換リクエストを行ったクライアントを一意に識別する識別子である。データ変換サーバー106はデータ変換リクエストのパラメータとして受信した認可トークンに紐づくクライアントIDを認可サーバー107から取得しクライアントID402として保持する。文書URL403はデータ変換リクエストされた文書ファイルが保存された場所を示すアドレスであり、ストレージサービス109のURLから成る。文書URL403はデータ変換サーバー106がデータ変換リクエスト受信時に、ストレージサービス109で一意になるようURLパスに文書ID401やクライアントID402を含めて生成し保存する。
データ変換情報410はデータ変換リクエスト受信時にデータ変換部301がレコード生成し、ストレージ312上で保持する。411はデータ変換IDであり、データ変換サーバー106がデータ変換リクエストを受信した際に発行するデータ変換処理を一意に識別する識別子である。クライアントID412、文書ID413はデータ変換サーバー106がデータ変換リクエスト受信時に保持する文書情報400のクライアントID402と文書ID401と同じ値である。印刷チケットURL414はデータ変換リクエストされた印刷チケットファイルを保存するストレージサービス109のURLである。印刷チケットURL414は、データ変換サーバー106がデータ変換リクエスト受信時に、ストレージサービス109で一意になるようURLパスにデータ変換ID411やクライアントID412を含めて生成され保存される。インデックスURL415は、データ変換サーバー106が印刷データ変換時に生成するインデックスファイルが保存された場所を示すアドレスであり、ストレージサービス109のURLから成る。インデックスURL415はデータ変換サーバー106が印刷データ変換完了時にストレージサービス109で一意になるようURLパスにデータ変換ID411やクライアントID412を含めて生成し保存する。ステータス416はデータ変換サーバー106の印刷データ変換状況を示しており、データ変換サーバー106が印刷データ変換状況に応じて更新する。ステータス416には“待機中”や“変換済み”がある。
図4Cはデータ変換サーバー106が印刷データ変換時に生成するインデックスファイルの例である。インデックスファイルはJSONフォーマットで、印刷データの一時URLのリストを記載する。図4Cは4ページ分のJpeg画像の一時URLが記載されている例である。プリンタ102やモバイル端末103はインデックスファイルに記載されている一時URLが指し示す印刷データを順番にダウンロードし印刷実行する。
<認可サーバー107のデータ>
図5A、図5Bは認可サーバー107が外部メモリであるデータベースに記憶するデータテーブルである。これらのデータテーブルは、認可サーバー107の外部メモリではなく、インターネット100やローカルネットワーク101を介して通信可能に構成された別のサーバーに記憶するように構成することもできる。認可サーバー107が保持するデータテーブルは、クライアント情報500、認可トークン情報510より成る。
図5Aのクライアント情報500はプリントサービスセキュリティドメイン110に属する105〜109のサーバーにアクセス可能なクライアントの情報が登録されている。本実施例においてクライアント情報にはモバイル端末103、プリントサーバー105、データ変換サーバー106が登録されている。501はクライアントIDであり、クライアントを一意に識別する識別子である。本実施例では複数のモバイル端末103のクライアントIDをmobile0001〜mobile0002、プリントサーバー105のクライアントIDをprint0001として定義し登録している。なお、データ変換サーバー106のクライアントIDはconvert0001として定義し登録している。502はクライアントの正当性を判断するためのパスワードであり、認可サーバー107はクライアントID501とパスワード502の一致によりクライアントを特定する。503はOAuthのスコープであり認可サーバー107が発行する認可トークンでアクセス可能な範囲を示す。本実施例のスコープ503の種類は、MobilePrint、IJPrint、SignedUrlUpload、SignedUrlDownloadを定義する。
MobilePrintスコープはモバイル端末103がデータ変換サーバー106のインターフェースにアクセスする際に必要なスコープである。IJPrintスコープはプリントサーバー105がデータ変換サーバー106のインターフェースにアクセスする際に必要なスコープである。SignedUrlUploadスコープはモバイル端末103やプリントサーバー105がストレージサーバー109へファイルアップロードするための一時URLを発行するためにデータ変換サーバー106が利用するスコープである。SignedUrlDownloadスコープはモバイル端末103やプリントサーバー105がストレージサーバー109からファイルダウンロードするための一時URLを発行するためにデータ変換サーバー106が利用するスコープである。クライアントID501がconvert0001であるデータ変換サーバ106は、SignedUrlUploadスコープ、およびSignedUrlDownloadスコープの両方のスコープに紐付いている。
図5Bの認可トークン情報510はWebサーバー310がトークン取得リクエストを受け付けた際に、認可情報管理部311がレコードを登録する。511は認可トークンを一意に識別可能な識別子であり、認可情報管理部311が生成し登録する。512は認可トークンの有効期限であり、認可情報管理部311がトークン取得リクエスト受信時間から一定時間後の値が登録される。有効期限512を過ぎた認可トークン511は無効である。スコープ513は認可トークン511が利用可能なスコープであり、認可サーバー107へのトークン取得リクエストで渡されるスコープが登録。クライアントID514は認可サーバー107へのトークン取得リクエストで渡されるクライアントIDが登録される。以上説明した様に、認証情報、認可情報に関連する各種情報は互いに紐付けされている。
<トークン交換サーバー108のデータ>
図6Aはトークン交換サーバー108が外部メモリに記憶するデータテーブルである。これらのデータテーブルは、トークン交換サーバー108の外部メモリではなく、インターネット100やローカルネットワーク101を介して通信可能に構成された別のサーバーに記憶するように構成することもできる。トークン交換サーバー108が保持するデータテーブルは、スコープ情報600より成る。
図6Aのスコープ情報600はスコープ601、一時URL有効期限602からなる。スコープ601は一時URLを発行可能なスコープであり、本実施例ではSignedUrlUpload、SignedUrlDownloadが登録されている。一時URL有効期限602は一時URLを利用可能な有効期限が登録される。
図6Bはトークン交換サーバー108が発行する一時URLの例である。トークン交換サーバー108はデータ変換サーバー106から一時URL発行リクエストで受け取ったURLにクエリーパラメータを付与して一時URLを生成する。一時URLのパラメータには有効期限を示すExpiresや一時URLの有効性を確認するための署名であるSignatureがトークン交換サーバー108により付与される。Signatureはトークン交換サーバー108とストレージサーバー109で共通して保持する証明書を用いてURLを署名しており、トークン交換サーバー108で生成した一時URLをストレージサーバー109で有効性検証することができる。一時URL発行手段として、トークン交換サーバー108がストレージサーバー109に一時URL発行依頼し、ストレージサーバー109が一時URLを生成する方法もある。
また、一時URLのパラメータとしてHTTPメソッド(GET、HEAD、OPTIONS、PUT、POST、PATCH、DELETE)や接続許可IPアドレスを証明書で署名したポリシー情報を付与することもできる。それによりストレージサーバー109がリクエスト情報とポリシー情報の一致をみてリクエストの有効性検証を検証することができる。一時URLで接続できるHTTPメソッドや接続元IPアドレスを限定することで一時URLの不正利用を減らすことができる。
<ストレージサーバー109のデータ>
図7A、図7Bはストレージサーバー109が外部メモリに記憶するデータテーブルである。これらのデータテーブルは、ストレージサーバー109の外部メモリではなく、インターネット100やローカルネットワーク101を介して通信可能に構成された別のサーバーに記憶するように構成することもできる。ストレージサーバー109が保持するデータテーブルは、一時URLアクセス制御情報700、ファイル情報710より成る。
図7Aの一時URLアクセス制御情報700はWebサーバー330が受け付けたリクエストを処理するか否かをアクセス制御部331が判断するために用いる。URLパスパターン701はURLパスの正規表現であり、許可リクエスト702はHTTPの許可するメソッドである。アクセス制御部331はWebサーバー330が受け付けたHTTPリクエストのURLパスと一致するURLパスパターン701を特定し、受け付けたHTTPメソッドが許可リクエスト702に含まれる場合に処理を受諾する。許可リクエスト702に含まれないリクエストだった場合にはエラーとする。本実施例では一時URLアクセス制御情報700として文書用URLパスパターン(/*/documents/*)と印刷チケット用URLパスパターン(/*/convertjobs/*/ticket/*)の場合はアップロード/ダウンロードのためのHTTPメソッドを許可する。一方、インデックス用URLパスパターン(/*/convertjobs/*/index/*)と印刷データ用URLパスパターン(/*/convertjobs/*/data/*)の場合はダウンロードのためのHTTPメソッドのみを許可する。
図7Bのファイル情報710はストレージサーバー109に保存するファイルの情報でありストレージ管理部332が管理する。データURL411はストレージサーバー109に保存するファイルを一意に特定することができるURLである。ファイルパス712はストレージ333上のファイルパスであり、ストレージ管理部332が管理するファイルの格納場所を示す。ストレージ管理部332は/dataディレクトリ内にデータURL411のサブパスと同じ階層構造でディレクトリを作成しファイル格納する。データURL411に対してリクエストすることによりストレージ333上のファイル操作を行うことができる。たとえば、データURL411に対してHTTP GETメソッドをリクエストすると対応するファイルがダウンロードできる。データURL411に対してHTTP PUTメソッドにファイル添付してリクエストするとファイルをアップロードし保存できる。データURL411に対してHTTP DELETEメソッドをリクエストすると対応するファイルを削除できる。
<モバイル端末103からの印刷フロー>
図8A、図8Bはモバイル端末103が文書をデータ変換サーバー106で印刷データに変換し、プリンタ102に印刷実行するフローである。S8.1においてモバイル端末103は認可サーバー107にトークン取得リクエストし認可トークンを取得する。モバイル端末103はトークン取得リクエスト(S8.1)において自身で保持するクライアントID(例えばmobile0001)、パスワードとスコープにMobilePrintをパラメータとして指定する。トークン取得リクエスト(S8.1)を受け付けた認可サーバー107はトークン取得リクエスト(S8.1)のパラメータとクライアントID501、パスワード502とがそれぞれ一致し、スコープ503にMobilePrintが含まれていることを確認することでクライアントを特定する。そして認可サーバー107は認可トークン511を生成し、有効期限、トークン取得リクエスト(S8.1)のパラメータとして受け付けたクライアントID、スコープを認可トークン情報510にレコード登録する。また、認可サーバー107は生成した認可トークン511をモバイル端末103に返却する。
S8.2においてモバイル端末103はデータ変換サーバー106にS8.1で取得した認可トークンをパラメータとしてデータ変換リクエストを行う。S8.3においてデータ変換サーバー106はS8.2のデータ変換リクエストのパラメータである認可トークンと、MobilePrintスコープを指定して認可サーバー107にトークンチェックリクエストを行う。トークンチェックリクエスト(S8.3)を受け付けた認可サーバー107はパラメータとして指定された認可トークン、MobilePrintスコープと一致する認可トークン511、スコープ513を検索し認可トークン情報510からレコードを特定する。認可サーバー107は特定できた認可トークン情報510のレコードの有効期限512が現時刻よりも後であることができた場合、特定した認可トークン情報510のレコードを応答する。特定した認可トークン情報510のレコードの有効期限512が過ぎている、または認可トークン情報510のレコードを特定できない場合、認可サーバー107はトークンチェックリクエスト(S8.3)で受け付けた認可トークンは無効である応答する。
S8.4においてデータ変換サーバー106はトークンチェックリクエスト(S8.3)の結果、認可トークンが有効であり認可トークン情報510のレコードを受け取った場合、文書情報400、データ変換情報410にレコード登録し、認可サーバー107にトークン取得リクエストし認可トークンを取得する。ここでデータ変換サーバー106が文書情報400に登録するレコードにはデータ変換サーバー106が発行する文書ID、トークンチェックリクエスト(S8.3)の応答で受け取ったクライアントID、それらの文書IDとクライアントIDをもとに生成したストレージサービス109の文書URLである。文書URLのパスには図4Aのようにdocumentsの文字が含まれる。データ変換サーバー106がデータ変換情報410に登録するレコードには、データ変換サーバー106が発行するデータ変換ID、前記文書情報400に登録したクライアントIDと文書ID、それらのデータ変換IDとクライアントIDをもとに生成したストレージサービス109の印刷チケットURLとインデックスURLである。印刷チケットURLのパスには図4Bのようにconvertjobsとticketsの文字が含まれる。またインデックスURLのパスにはconvertjobsとindexの文字が含まれる。データ変換サーバー106はトークン取得リクエスト(S8.4)において、予め保持しているデータ変換サーバー106のクライアントID(convert0001)、パスワード、およびスコープにSignedUrlUploadをパラメータとして指定しトークン取得リクエストを送信する。トークン取得リクエスト(S8.4)を受け付けた認可サーバー107におけるクライアント特定方法、認可トークン発行方法はS8.1と同様である。
S8.5においてデータ変換サーバー106はトークン取得リクエスト(S8.4)で取得した認可トークンと、生成した文書URL403と印刷チケットURL414をパラメータとして、トークン交換サーバー108に一時URL取得リクエストを行う。S8.6においてトークン交換サーバー108は一時URL取得リクエスト(S8.5)のパラメータとして受け取った認可トークンをパラメータとして認可サーバー107にトークン情報取得リクエストを行う。認可サーバー107はトークン情報取得リクエスト(S8.6)を受け付けると、認可トークン情報510からパラメータとして受け取った認可トークンと一致する認可トークン511をもつレコードを特定する。そして、有効期限512が現時刻より後だった場合スコープを返却する。ここで返却されるスコープはS8.4におけるトークン取得リクエストで指定したSignedUrlUploadスコープである。認可トークン情報510にパラメータの認可トークンと一致するレコードが存在しない、または特定したレコードの有効期限512が現時刻より前だった場合、認可サーバー107はエラーを返却する。
S8.7においてトークン交換サーバー108はトークン情報取得リクエスト(S8.6)の応答がSignedUrlUploadスコープであることを確認できた場合、一時URL取得リクエストで受信した文書URLと印刷チケットURLを用いて夫々の一時URLの生成を行う。ここで生成する一時URLはスコープ情報600に登録されているスコープ501がSignedUrlUploadである一時URL有効期間602まで利用可能なURLである。また一時URLにモバイル端末103の接続元IPアドレスをポリシー情報としてパラメータとして付与することで、一時URLで接続できる接続元IPアドレスをモバイル端末103のみに限定することもできる。一時URLで接続できる接続元IPアドレスを限定することで一時URLの不正利用を減らすことができる。トークン交換サーバー108は生成した文書URLの一時URLと印刷チケットURLの一時URLを一時URL取得リクエスト(S8.5)の応答としてデータ返却サーバー106に返却する。そしてデータ変換サーバー106は受け取った文書URLの一時URLと印刷チケットURLの一時URL、生成したデータ変換IDをデータ変換リクエスト(S8.2)の応答としてモバイル端末103に返却する。
S8.8においてモバイル端末103はデータ変換リクエスト(S8.2)の応答として受け取った文書URLの一時URLと印刷チケットURLの一時URLに対してそれぞれ文書ファイルと印刷チケットファイルを添付してHTTP PUTメソッドをリクエストする。文書/印刷チケットアップロードリクエスト(S8.8)を受け付けたストレージサーバー109は一時URLアクセス制御情報700に基づいてリクエストの許可/拒否を判断する。S8.8における文書URLはdocumentsが含まれるよう生成されておりURLパスパターン701における”/*/documents/*”に一致し、許可リクエスト702でPUTが許可されている。またS8.8における印刷チケットURLはconvertjobsとticketが含まれるよう生成されておりURLパスパターン701における”/*/convertjobs/*/ticket/*”に一致し、許可リクエスト702でPUTが許可されている。したがって、ストレージサーバー109は文書/印刷チケットアップロードリクエスト(S8.8)受け付けを許可する。
ここで、ストレージサーバー109が受け付けた一時URLのポリシー情報に接続元IPアドレスが付与されていた場合、ストレージサーバー109がリクエストを受け付けた通信データの接続元IPアドレスと一致した場合にのみアクセス許可する。ストレージサーバー109は受け付けた一時URLのポリシー情報に付与された接続元IPアドレスと、通信データの接続元IPアドレスが一致しない場合にはリクエストをエラーとする。このストレージサーバー109が一時URLの接続元IPアドレスでアクセス可否を判断する処理は後述のS8.20、S9.8、S9.21における一時URLによるリクエスト受付時に同様に行われる。文書/印刷チケットアップロードリクエスト(S8.8)受け付けを許可したストレージサーバー109は、リクエストに添付されたファイルをファイルパス712に保存する。そしてストレージサーバー109はファイル情報710に文書/印刷チケットアップロードリクエスト(S8.8)のデータURLと添付ファイルを保存したファイルパスを登録する。
S8.9においてモバイル端末103はストレージサーバー109への文書/印刷チケットアップロード(S8.8)が完了すると、文書/印刷チケットアップロード完了をデータ変換サーバー106に通知する。モバイル端末103は文書/印刷チケットアップロード完了リクエスト(S8.9)には、S8.1で取得した認可トークン、S8.2で取得したデータ変換IDをパラメータとして指定する。S8.10においてデータ変換サーバー106は、文書/印刷チケットアップロード完了リクエスト(S8.9)のパラメータで渡された認可トークンとMobilePrintスコープをパラメータとして認可サーバー107に対してトークンチェックリクエストを行う。トークンチェックリクエスト(S8.10)を受け付けた認可サーバー107のトークンチェック方法についてはS8.3と同様である。
S8.11においてデータ変換サーバー106は、まずデータ変換情報410から文書/印刷チケットアップロード完了リクエスト(S8.9)のパラメータで渡されたデータ変換IDと一致するデータ変換ID411を検索する。そして、データ変換サーバー106はデータ変換ID411を検索により見つかったレコードの印刷チケットURL414と文書ID413を特定する。さらに文書ID413を用いて文書情報400から文書URL403を特定する。データ変換サーバー106は特定した文書URL403と印刷チケットURL414に対して文書/印刷チケットダウンロードリクエスト(HTTP GET)を行う。ここでデータ変換情報410から文書/印刷チケットアップロード完了リクエスト(S8.9)されたデータ変換IDがデータ変換情報410上に見つからない場合、データ変換サーバー106はS8.9のリクエストにエラー応答する。文書/印刷チケットダウンロードリクエストを受け付けたストレージサーバー109は、ファイル情報710から受け付けたURLからデータURL711を特定し、応答としてファイルパス712に保存されたファイルを返す。ここでデータ変換サーバー106はストレージサーバー109の認可トークンを保持しておりストレージサーバー109へのリクエストには認可トークンを付与する。したがって、ストレージサーバー109はデータ変換サーバー106からの文書/印刷チケットダウンロードリクエストを、一時URLアクセス制御情報700を用いたアクセス制御の対象外とし許可する。
S8.12においてデータ変換サーバー106は文書/印刷チケットダウンロードリクエスト(S8.11)でストレージサーバー109から取得した文書ファイルと印刷チケットファイルを用いてデータ変換を行う。データ変換サーバー106は印刷チケットに従って文書ファイルを印刷データファイルに変換する。データ変換サーバー106によって生成される印刷データファイルは文書と印刷チケットによって1ファイルになることも複数ファイルになることもある。データ変換サーバー106データ変換が完了するとS8.11において特定したデータ変換情報410のレコードのステータスを“変換済み”に更新する。
S8.13においてデータ変換サーバー106はS8.12で生成した1または複数の印刷データファイルをURLパスにconvertjobsとdataを含めてストレージサーバー109にアップロード(HTTP PUT)する。ここでデータ変換サーバー106は印刷データファイルのURLパスにS8.11で特定したデータ変換情報410のレコードのクライアントID412とデータ変換ID411も含める。次にデータ変換サーバー106はアップロードした印刷データURLを使って、図4Bの例で示した印刷データURLの一時URLリストであるインデックスファイルを生成する。データ変換サーバー106の印刷データURLの一時URLの生成方法については図示省略しているが、先述のS8.4〜8.7で説明した一時URL生成フローと同様でありスコープにSignedUrlDownloadを指定する。ストレージサーバー109はSignedUrlDownloadスコープが指定されているため長い一時URL有効期間602の一時URLを生成する。データ変換サーバー106はインデックスファイルをURLパスにconvertjobsとindexを含めてストレージサーバー109にアップロード(HTTP PUT)する。ここでデータ変換サーバー106はインデックスファイルのURLパスにS8.11で特定したデータ変換情報410のレコードのクライアントID412とデータ変換ID411も含める。インデックス/印刷データアップロードリクエストを受け付けたストレージサーバー109はURLパスに従って生成するファイルパスにインデックスファイルと印刷データファイルを保存し、ファイル情報710にレコード登録する。
次に、印刷データを取得する方法について図8Bを用いて説明する。S8.14においてモバイル端末103はデータ変換サーバー106に変換ステータス取得リクエストを行う。モバイル端末103は変換ステータス取得リクエスト(S8.14)のパラメータとして、S8.1で取得した認可トークン、S8.2で取得したデータ変換IDをパラメータとして指定する。S8.15において変換ステータス取得リクエスト(S8.14)を受け付けたデータ変換サーバー106はパラメータで指定された認可トークンのトークンチェックリクエストを認可サーバー107に行う。認可サーバー107におけるトークンチェックについては先述のS8.3と同様である。
次にデータ変換サーバー106は変換ステータス取得リクエスト(S8.14)のパラメータで指定されたデータ変換IDと一致するデータ変換ID411をデータ変換情報410から検索し、一致したレコードのステータス416を確認する。データ変換サーバー106はステータス416が“変換済み”でない場合に変換ステータス取得リクエスト(S8.14)にステータス416を応答する。モバイル端末103は文書/印刷チケットアップロード完了リクエスト(S8.9)の後、変換ステータス取得リクエスト(8.14)の応答でステータスが“変換済み”になるまで繰り返し変換ステータス取得リクエスト(8.14)を行う。この繰り返しのリクエストは、ポーリングによる定期通信である。
S8.16において変換ステータス取得リクエスト(S8.14)で指定されたデータ変換IDのステータス416が“変換済み”だった場合、データ変換サーバー106はS8.15〜S8.19においてインデックスURL415の一時URLを生成する。S8.15〜S8.19の一時URL生成フローは先述のS8.4〜8.7で説明した一時URL生成フローと同様でありスコープにSignedUrlDownloadを指定する。ここで使用するインデックスURLは先述した変換ステータス取得リクエスト(S8.14)のパラメータで指定されたデータ変換IDと一致するレコードのインデックスURL415である。
S8.15〜S8.19においてインデックスURL415の一時URLを取得したデータ変換サーバー106はS8.14の応答として取得したインデックスURL415の一時URLとステータス416(“変換済み”)を返す。S8.20においてクライアント端末103は変換ステータス取得リクエスト(S8.14)で取得したインデックスURL415の一時URLからインデックスファイルをダウンロード(HTTP GET)する。インデックスダウンロードリクエスト(S8.20)を受け付けたストレージサーバー109は一時URLアクセス制御情報700を用いたアクセス許可/拒否を判断する。インデックスURLパスにはconvertjobsとindexが含まれており、URLパスパターン701の“/*/convertjobs/*/index/*”に一致し、許可リクエスト702にGETが含まれているため、ストレージサーバー109はインデックスダウンロードリクエスト(S8.20)を許可する。
ストレージサーバー109はインデックスダウンロードリクエスト(S8.20)の応答として、リクエストされたインデックスURLに対応するファイルパス712をファイル情報710から特定し、ファイルパス712に保存したインデックスファイルを返す。インデックスファイルを受信したクライアント端末103はインデックスファイル内に記載された1つまたは複数の印刷データURLの一時URLからダウンロード(HTTP GET)する。印刷データダウンロードリクエスト(S8.20)を受け付けたストレージサーバー109は一時URLアクセス制御情報700を用いたアクセス許可/拒否を判断する。インデックスURLパスにはconvertjobsとdataが含まれており、URLパスパターン701の“/*/convertjobs/*/data/*”に一致し、許可リクエスト702にGETが含まれているため、ストレージサーバー109は印刷データダウンロードリクエスト(S8.20)を許可する。ストレージサーバー109は印刷データダウンロードリクエスト(S8.20)の応答として、リクエストされた印刷データURLに対応するファイルパス712をファイル情報710から特定し、ファイルパス712に保存した印刷データファイルを返す。S8.21においてクライアント端末103はダウンロードした1つまたは複数の印刷データをプリンタ102に送信し印刷実行する。
<プリントサーバー105からの印刷フロー>
図9A、図9Bはプリントサーバー105が文書をデータ変換サーバー106で印刷データに変換し、プリンタ102で印刷実行するフローである。このように、本願発明のデータ変換の要求元であるクライアントはユーザ端末、サーバー等の様に多岐に渡る。S9.1〜S9.19のフローは先述のS8.1〜S8.19において、プリントサーバー105がクライアント端末103の役割を担う。そして、プリントサーバー105がデータ変換サーバー106にリクエストするスコープがIJPrintに変わる。それ以外の点は変更がないため説明を省略する。このように、夫々のクライアントに対しスコープを別々にすることでクライアントに対する差異をつけることが可能になる。しかし、URL生成のスコープに関しては、何れのクライアントに対しても与えないことでセキュリティ性を確保できる。
S9.20においてプリントサーバー105は変換ステータス取得リクエスト(S9.14)で取得したインデックスURL415の一時URLをプリンタ102に通知する。
S9.21においてインデックスURL415の一時URLを用いてストレージサーバー109からインデックスファイルと印刷データをダウンロードする方法、ストレージサーバー109によるアクセス制御方法は先述のS8.20と同様である。S9.22においてプリンタ102はS9.21でダウンロードした印刷データで印刷実行する。
以上のように、モバイル端末103やプリントサーバー105がデータ変換サーバー106にアクセスするためのスコープ(MobilePrint、IJPrint)と、一時URLを発行するために必要なスコープ(SignedUrlUpload、SignedUrlDownload)を分けたことで、データ変換サーバー106しか一時URLを取得できない。一時URLの発行をデータ変換サーバー106のみに制限することで、セキュアに一時URLを外部サービスに対して提供することができる。さらに、一時URL発行に必要なスコープをアップロード用スコープ(SignedUrlUpload)、ダウンロード用スコープ(SignedUrlDownload)に分け、アップロード用スコープで発行した一時URLはアップロードのみを許可し、ダウンロード用スコープで発行した一時URLはダウンロードのみを許可することで、一時URL利用した不正なファイル操作(アップロード、ダウンロード、更新、削除)を防ぐことができる。
<その他の実施例>
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために以下の請求項を添付する。
102 プリンタ
103 モバイル端末
105 プリントサーバー
106 データ変換サーバー
107 認可サーバー
108 トークン交換サーバー
109 ストレージサーバー

Claims (14)

  1. プリントサービスを保有するサーバーシステムと、ストレージサービスを保有するサーバーシステムと、クライアントとを含む印刷システムであって、
    サービスの利用を要求する要求元に対して認証情報を求めることなく前記サービスを利用させる際に必要な認可情報を発行する発行手段と、
    印刷対象のデータを印刷データへ変換する変換手段と、
    プリントサービスとセキュリティドメインが異なるストレージサービスに保存される前記印刷対象のデータまたは前記印刷データの保存領域を特定するためのURLを生成する生成手段と、を有し、
    第1の認可情報を前記クライアントから受信した前記変換手段は、前記クライアントにより前記印刷対象のデータまたは前記印刷データに対し操作が行われる際、前記第1の認可情報を基に前記クライアントが前記プリントサービスを利用することが可能であることを確認したことに応じて、第2の認可情報の発行を前記発行手段に要求し、発行された前記第2の認可情報を利用し前記印刷対象のデータまたは前記印刷データを保存する保存領域を特定するためのURLの生成を前記生成手段に要求し、前記生成手段により生成された前記URLを前記クライアントへ送信することを特徴とする印刷システム。
  2. 前記生成手段は、前記変換手段から受信したスコープが前記印刷対象のデータのアップロードの操作を行うことを表すスコープである場合は、アップロードを行うためのURLを生成し、前記変換手段から受信したスコープが前記印刷データのダウンロードの操作を行うことを表すスコープである場合は、ダウンロードを行うためのURLを生成することを特徴とする請求項1に記載の印刷システム。
  3. 要求元から認証情報とスコープとを受信し前記認可情報の発行を要求された前記発行手段は、受信した前記認証情報がデータベースに登録されている認証情報と一致したことを確認した後、受信したスコープに関する情報が前記認証情報に紐付けられているスコープに含まれているか否かを確認し、受信したスコープに関する情報が前記認証情報に紐付けられているスコープに含まれていることが確認できたことに応じて前記認可情報を発行することを特徴とする請求項1または2に記載の印刷システム。
  4. 前記クライアントの認証情報に紐付くスコープには、前記生成手段の認証情報に紐付くスコープが含まれておらず、前記クライアントに対しては前記第2の認可情報の発行ができないことを特徴とする請求項2または3に記載の印刷システム。
  5. 前記生成手段の認証情報に紐付くスコープには、前記印刷対象のデータのアップロードの操作を行うことを表すスコープ、前記印刷データのダウンロードの操作を行うことを表すスコープの両方のスコープが含まれることを特徴とする請求項3または4に記載の印刷システム。
  6. 前記変換手段は、前記第1の認可情報を基に前記クライアントが前記プリントサービスを利用することが可能であることを確認できなかった場合は、エラーである旨を前記クライアントへ送信することを特徴とする請求項1乃至5の何れか1項に記載の印刷システム。
  7. プリントサービスを保有する第一のサーバーシステムと、ストレージサービスを保有する第二のサーバーシステムと、クライアントとを含む印刷システムにて実行される方法であって、
    前記第一のサーバーシステムが有する発行手段は、サービスの利用を要求する要求元に対して認証情報を求めることなく前記サービスを利用させる際に必要な認可情報を発行し、
    前記第一のサーバーシステムが有する変換手段は、印刷対象のデータを印刷データへ変換し、
    前記第一のサーバーシステムが有する生成手段は、プリントサービスとセキュリティドメインが異なるストレージサービスに保存される前記印刷対象のデータまたは前記印刷データの保存領域を特定するためのURLを生成し、
    更に、第1の認可情報を前記クライアントから受信した前記変換手段は、前記クライアントにより前記印刷対象のデータまたは前記印刷データに対し操作が行われる際、前記第1の認可情報を基に前記クライアントが前記プリントサービスを利用することが可能であることを確認したことに応じて、第2の認可情報の発行を前記発行手段に要求し、発行された前記第2の認可情報を利用し前記印刷対象のデータまたは前記印刷データを保存する保存領域を特定するためのURLの生成を前記生成手段に要求し、前記生成手段により生成された前記URLを前記クライアントへ送信することを特徴とする方法。
  8. 前記生成手段は、前記変換手段から受信したスコープが前記印刷対象のデータのアップロードの操作を行うことを表すスコープである場合は、アップロードを行うためのURLを生成し、前記変換手段から受信したスコープが前記印刷データのダウンロードの操作を行うことを表すスコープである場合は、ダウンロードを行うためのURLを生成することを特徴とする請求項7に記載の方法。
  9. 要求元から認証情報とスコープとを受信し前記認可情報の発行を要求された前記発行手段は、受信した前記認証情報がデータベースに登録されている認証情報と一致したことを確認した後、受信したスコープに関する情報が前記認証情報に紐付けられているスコープに含まれているか否かを確認し、受信したスコープに関する情報が前記認証情報に紐付けられているスコープに含まれていることが確認できたことに応じて前記認可情報を発行することを特徴とする請求項7または8に記載の方法。
  10. 前記クライアントの認証情報に紐付くスコープには、前記生成手段の認証情報に紐付くスコープが含まれておらず、前記クライアントに対しては前記第2の認可情報の発行ができないことを特徴とする請求項8または9に記載の方法。
  11. 前記生成手段の認証情報に紐付くスコープには、前記印刷対象のデータのアップロードの操作を行うことを表すスコープ、前記印刷データのダウンロードの操作を行うことを表すスコープの両方のスコープが含まれることを特徴とする請求項9または10に記載の方法。
  12. 前記変換手段は、前記第1の認可情報を基に前記クライアントが前記プリントサービスを利用することが可能であることを確認できなかった場合は、エラーである旨を前記クライアントへ送信することを特徴とする請求項7乃至11の何れか1項に記載の方法。
  13. ストレージサービスを保有するサーバーシステムと、クライアントと通信可能なプリントサービスを保有するサーバーシステムにて実行されるプログラムであって、
    サービスの利用を要求する要求元に対して認証情報を求めることなく前記サービスを利用させる際に必要な認可情報を発行する発行ステップと、
    印刷対象のデータを印刷データへ変換する変換ステップと、
    プリントサービスとセキュリティドメインが異なるストレージサービスに保存される前記印刷対象のデータまたは前記印刷データの保存領域を特定するためのURLを生成する生成ステップと、
    を含み、
    第1の認可情報を前記クライアントから受信した前記変換ステップにおいて、前記クライアントにより前記印刷対象のデータまたは前記印刷データに対し操作が行われる際、前記第1の認可情報を基に前記クライアントが前記プリントサービスを利用することが可能であることを確認したことに応じて、第2の認可情報の発行を前記発行ステップにて要求し、発行された前記第2の認可情報を利用し前記印刷対象のデータまたは前記印刷データを保存する保存領域を特定するためのURLを前記生成ステップにおいて生成させ、生成された前記URLを前記クライアントへ送信することを特徴とするプログラム。
  14. プリントサービスを保有するサーバーシステムであって、
    サービスの利用を要求する要求元に対して認証情報を求めることなく前記サービスを利用させる際に必要な認可情報を発行する発行手段と、
    印刷対象のデータを印刷データへ変換する変換手段と、
    プリントサービスとセキュリティドメインが異なるストレージサービスに保存される前記印刷対象のデータまたは前記印刷データの保存領域を特定するためのURLを生成する生成手段と、
    を有し、
    第1の認可情報をクライアントから受信した前記変換手段は、前記クライアントにより前記印刷対象のデータまたは前記印刷データに対し操作が行われる際、前記第1の認可情報を基に前記クライアントが前記プリントサービスを利用することが可能であることを確認したことに応じて、第2の認可情報の発行を前記発行手段に要求し、発行された前記第2の認可情報を利用し前記印刷対象のデータまたは前記印刷データを保存する保存領域を特定するためのURLの生成を前記生成手段に要求し、前記生成手段により生成された前記URLを前記クライアントへ送信することを特徴とするサーバーシステム。
JP2016562124A 2014-12-02 2014-12-02 印刷システム、方法、およびプログラム Active JP6377176B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/081854 WO2016088199A1 (ja) 2014-12-02 2014-12-02 印刷システム、方法、およびプログラム

Publications (2)

Publication Number Publication Date
JPWO2016088199A1 JPWO2016088199A1 (ja) 2017-09-07
JP6377176B2 true JP6377176B2 (ja) 2018-08-22

Family

ID=56079258

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016562124A Active JP6377176B2 (ja) 2014-12-02 2014-12-02 印刷システム、方法、およびプログラム

Country Status (4)

Country Link
US (1) US10496342B2 (ja)
JP (1) JP6377176B2 (ja)
DE (1) DE112014007224T5 (ja)
WO (1) WO2016088199A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6429694B2 (ja) * 2015-03-23 2018-11-28 キヤノン株式会社 データ変換サーバー、制御方法、およびプログラム
JP6459814B2 (ja) * 2015-07-17 2019-01-30 スター精密株式会社 プリンタの設定状態更新システム
JP2018097449A (ja) * 2016-12-09 2018-06-21 セイコーエプソン株式会社 受注システム、プリンター
US10791120B2 (en) * 2017-08-30 2020-09-29 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. System and method for providing access to secured data via a push notification
JP6643373B2 (ja) * 2018-02-09 2020-02-12 キヤノン株式会社 情報処理システムと、その制御方法とプログラム
JP7435170B2 (ja) * 2020-03-31 2024-02-21 ブラザー工業株式会社 画像処理装置及び画像処理システム
US11770377B1 (en) * 2020-06-29 2023-09-26 Cyral Inc. Non-in line data monitoring and security services

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002183091A (ja) 2000-12-18 2002-06-28 Nec Corp 認証印刷システム
US20070288322A1 (en) * 2006-05-23 2007-12-13 Toshiba Tec Kabushiki Kaisha Portable terminal and its programs, settlement apparatus, and merchandising information providing apparatus
EP1895440A1 (en) * 2006-09-01 2008-03-05 Nokia Siemens Networks Gmbh & Co. Kg Token-based service access
JP5588900B2 (ja) 2011-03-16 2014-09-10 株式会社Jsol 電子書籍装置、サーバ装置、読書情報処理方法、およびプログラム
JP5614340B2 (ja) * 2011-03-16 2014-10-29 富士通株式会社 システム、認証情報管理方法、およびプログラム
JP5624525B2 (ja) * 2011-08-15 2014-11-12 株式会社東芝 情報処理装置、リソース提供装置および情報処理システム
JP5820188B2 (ja) * 2011-08-19 2015-11-24 キヤノン株式会社 サーバおよびその制御方法、並びにプログラム
JP5949098B2 (ja) * 2011-09-29 2016-07-06 ブラザー工業株式会社 情報処理装置、情報処理プログラムおよび情報処理方法
JP5932344B2 (ja) * 2012-01-16 2016-06-08 キヤノン株式会社 権限委譲システム、アクセス管理サービスシステム、および権限委譲システムを制御する制御方法
JP2014164364A (ja) * 2013-02-22 2014-09-08 Brother Ind Ltd 画像処理装置および制御方法
JP6090020B2 (ja) * 2013-07-10 2017-03-08 富士ゼロックス株式会社 画像形成システム

Also Published As

Publication number Publication date
DE112014007224T5 (de) 2017-08-24
WO2016088199A1 (ja) 2016-06-09
US10496342B2 (en) 2019-12-03
US20160154616A1 (en) 2016-06-02
JPWO2016088199A1 (ja) 2017-09-07

Similar Documents

Publication Publication Date Title
JP6377176B2 (ja) 印刷システム、方法、およびプログラム
CN106856475B (zh) 授权服务器以及认证协作系统
JP6177020B2 (ja) 認証システム、その制御方法、サービス提供装置およびコンピュータプログラム
JP6318940B2 (ja) サービス提供システム、データ提供方法及びプログラム
JP6167890B2 (ja) 印刷システム、情報処理装置、プリントサービスシステム、及びプログラム
CN111459420B (zh) 支持云打印服务的打印设备及其控制方法和存储介质
JP2017107343A (ja) 認証連携システム及び認証連携方法、認可サーバー及びプログラム
JP6039602B2 (ja) プリンタ登録装置、表示装置、プリンタ登録方法、コンピュータプログラム
JP4900495B2 (ja) 画像形成装置、印刷ジョブ管理方法、及び、コンピュータプログラム
EP3073365A1 (en) Networked image forming apparatus, networked image forming system and method of image forming
JP6168079B2 (ja) 印刷システム、印刷機器検索プログラム、および記録媒体
JP6183035B2 (ja) サービス提供システム、サービス提供方法及びプログラム
JP2014021949A (ja) サービス提供システム、サービス管理装置およびサービス管理装置の情報処理方法
JP6197286B2 (ja) 通信装置、情報処理システム及び情報処理システムの制御方法
JP2015026231A (ja) サービス提供システム、画像提供方法及びプログラム
JP6447766B2 (ja) サービス提供システム、データ提供方法及びプログラム
JP2015108951A (ja) 印刷システム、情報処理装置、画像形成装置及びプログラム
JP2019164670A (ja) 中継装置及びプログラム
JP6429694B2 (ja) データ変換サーバー、制御方法、およびプログラム
JP6690186B2 (ja) サービス提供システム、サービス提供方法、情報処理装置及びプログラム
JP7500206B2 (ja) 情報処理装置
JP6299101B2 (ja) サービス提供システム、サービス提供方法及びプログラム
JP2015146147A (ja) サービス提供システム、情報処理装置、画像提供方法及びプログラム
JP2005088534A (ja) 周辺機器管理システム
JP2020044745A (ja) 画像処理システムおよびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180412

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180501

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180606

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: 20180626

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180724

R151 Written notification of patent or utility model registration

Ref document number: 6377176

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151