JP2016181066A - Data conversion server, control method and program - Google Patents
Data conversion server, control method and program Download PDFInfo
- Publication number
- JP2016181066A JP2016181066A JP2015060207A JP2015060207A JP2016181066A JP 2016181066 A JP2016181066 A JP 2016181066A JP 2015060207 A JP2015060207 A JP 2015060207A JP 2015060207 A JP2015060207 A JP 2015060207A JP 2016181066 A JP2016181066 A JP 2016181066A
- Authority
- JP
- Japan
- Prior art keywords
- server
- data
- data conversion
- storage
- request
- 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
Links
Images
Abstract
Description
印刷サービスを備えたデータ変換サーバー、制御方法、およびプログラム。 Data conversion server provided with printing service, control method, and program.
近年、サーバーがクライアントにサービスを提供するクラウドコンピューティングの形態が注目を集めている。クラウドコンピューティングは、多くのコンピューティング・リソースを用いてデータ変換やデータ処理を分散実行し、多くのクライアントからの要求を分散並列処理により並行して処理することが主な特徴である。現在、このクラウドコンピューティングを実現するクラウドコンピューティング環境上にWebサービスを実装し、多種多様なサービスを提供するベンダーが乱立しつつある。クラウドサービスの開発において、すでにWeb上に多く提供されているサービスを有効活用し新しい機能を提供することで、開発スピードや開発コストの面で優位になる。 In recent years, a form of cloud computing in which a server provides services to clients has attracted attention. The main feature of cloud computing is that data conversion and data processing are distributed and executed using many computing resources, and requests from many clients are processed in parallel by distributed parallel processing. Currently, vendors that implement a web service on a cloud computing environment that realizes this cloud computing and provide a wide variety of services are becoming increasingly prone. In cloud service development, it is advantageous in terms of development speed and development cost by effectively utilizing services already provided on the Web and providing new functions.
クラウドサービスを構築し運用していく上で、ソフトウェアのアップデートや提供サービスの機能追加などサーバーをメンテナンスする必要がある。しかしインターネット上に公開されたクラウドサービスを停止してメンテナンスを実施することはサービス利用ユーザーにとって大きなデメリットとなる。そのためサービス無停止でサービス利用ユーザーに影響を与えることなくサーバーメンテナンスを行うことが強く望まれる。 When building and operating a cloud service, it is necessary to maintain the server, such as updating software and adding services. However, it is a big demerit for service users to stop the cloud service published on the Internet and perform maintenance. Therefore, it is strongly desired to perform server maintenance without affecting service users without stopping the service.
特許文献1にはN−Activeのサーバープール内のサーバーの負荷状況をテーブルに管理し、負荷が大きい場合には新サーバーを追加して上で旧サーバーを停止することでユーザーに影響をあたえることなくサーバーのソフトウェアアップデートを実現している。
In
従来技術に記載のソフトウェアアップデート時にサーバー入れ替えを行う技術を適用した場合、多数のサーバーを管理するサーバー管理システムで各サーバーの負荷状況を管理することになる。この形態によるサーバーの管理を行った場合、負荷状況を見ながら少しずつサーバー入れ替えを行うため、サーバー入れ替え手順が複雑になり、サーバー台数が多い場合には時間もかかるという課題がある。 When the technology for replacing servers at the time of software update described in the prior art is applied, the load status of each server is managed by a server management system that manages a large number of servers. When the server is managed in this form, the server replacement is performed little by little while observing the load status, so that the server replacement procedure becomes complicated, and there is a problem that it takes time when the number of servers is large.
そこで、サーバーを無停止で入れ替える手法としてBlue−GreenDeploymentと呼ばれる手法がある。Blue−GreenDeploymentはサーバーのドメイン名を変えることなく、DNSレコードを旧サーバーから新サーバーに変更する手法で、ドメイン名が変わらないためクライアントに影響なくサーバーの入れ替えを簡単に短時間で行うことができる。 Therefore, there is a technique called Blue-Green Deployment as a technique for exchanging servers without stopping. Blue-Green Deployment is a method that changes the DNS record from the old server to the new server without changing the domain name of the server. The domain name does not change, so the server can be easily replaced in a short time without affecting the client. .
ところが、印刷サービスとストレージサービスと言った異なる2つのサービスを連携させ1つのリクエストを処理するシステムにおいてサーバーの入れ替えを行う場合、サーバー入れ替え後も旧サーバーにあるファイルに継続してアクセスする可能性がある。そのため、DNSレコードを旧サーバーから新サーバーに変更してしまうと、連携元のサーバーが旧サーバーにあるファイルにアクセスすることができなくなってしまうという課題が発生する。 However, when a server is replaced in a system that processes one request by linking two different services such as a print service and a storage service, there is a possibility that a file in the old server may be continuously accessed even after the server is replaced. is there. For this reason, if the DNS record is changed from the old server to the new server, there arises a problem that the cooperation source server cannot access the file in the old server.
本願発明は、上述した課題を解決するサーバーを提供することを目的とする。 An object of the present invention is to provide a server that solves the above-described problems.
本発明を解決するための一実施形態におけるサーバーは、アップロードされた印刷対象のデータを保存するストレージサーバーと通信可能な、前記ストレージサーバーに保存されたデータを取得し印刷データへ変換するデータ変換サーバーであって、ユーザーからの印刷指示に伴い前記データの変換リクエストを送信するクライアントから前記変換リクエストを受信したことに応じて、前記データのアップロード先を示すアドレスを前記クライアントへ送信する送信手段と、複数の前記ストレージサーバーの内何れか1つのストレージサーバーに対し前記変換リクエストが関連付くよう、前記変換リクエストを識別する識別子とストレージサーバーに関する情報とを関連付けて記憶させる記憶手段と、前記アドレスに基づきストレージサーバーへ前記データのアップロードが完了し、再び前記データ変換サーバーへアクセスしてきた前記クライアントから前記識別子を受信した際、受信した前記識別子に関連付くストレージサーバーに関する情報を前記記憶手段から取得し、取得した情報を基にストレージサーバーから前記データを取得し印刷データへ変換することを特徴とする。 A server in an embodiment for solving the present invention is a data conversion server that can communicate with a storage server that stores uploaded data to be printed and that acquires data stored in the storage server and converts it into print data A transmission means for transmitting an address indicating an upload destination of the data to the client in response to receiving the conversion request from the client that transmits the data conversion request in accordance with a print instruction from a user; Storage means for storing an identifier for identifying the conversion request and information related to the storage server so that the conversion request is associated with any one of the plurality of storage servers, and storage based on the address server When the upload of the data is completed and the identifier is received from the client that has accessed the data conversion server again, information on the storage server associated with the received identifier is acquired from the storage means, and the acquired information The data is acquired from the storage server based on the data and converted into print data.
アップロードされた印刷対象のデータを保存するストレージサーバーと通信可能な、前記ストレージサーバーに保存されたデータを取得し印刷データへ変換するデータ変換サーバーであって、ユーザーからの印刷指示に伴い前記データの変換リクエストを送信するクライアントから前記変換リクエストを受信したことに応じて、前記データのアップロード先を示すアドレスを前記クライアントへ送信する送信手段と、複数の前記ストレージサーバーの内何れか1つのストレージサーバーに対し前記変換リクエストが関連付くよう、前記変換リクエストを識別する識別子とストレージサーバーに関する情報とを関連付けて記憶させる記憶手段と、前記アドレスに基づきストレージサーバーへ前記データのアップロードが完了し、再び前記データ変換サーバーへアクセスしてきた前記クライアントから前記識別子を受信した際、受信した前記識別子に関連付くストレージサーバーに関する情報を前記記憶手段から取得し、取得した情報を基にストレージサーバーから前記データを取得し印刷データへ変換する。 A data conversion server that can communicate with a storage server that stores uploaded data to be printed and that converts the data stored in the storage server into print data. In response to receiving the conversion request from a client that transmits a conversion request, a transmission unit that transmits an address indicating the upload destination of the data to the client, and any one of the plurality of storage servers Storage means for associating and storing an identifier for identifying the conversion request and information relating to the storage server so that the conversion request is associated with the storage request, uploading of the data to the storage server based on the address is completed, and the data again When the identifier is received from the client that has accessed the replacement server, information about the storage server associated with the received identifier is acquired from the storage unit, and the data is acquired from the storage server based on the acquired information and printed. Convert to data.
以下、本発明を実施するための最良の形態について図面を用いて説明する。 The best mode for carrying out the present invention will be described below with reference to the drawings.
<実施例1>
<システム構成>
図1は、本発明の実施形態に係るモバイル印刷システムの全体構成を示す図である。
<Example 1>
<System configuration>
FIG. 1 is a diagram showing an overall configuration of a mobile printing system according to an embodiment of the present invention.
図1において、プリンタ102、モバイル端末103はローカルネットワーク101を介して複数台接続されていることを想定している。プリンタ102、モバイル端末103は、ローカルネットワーク101を介してインターネットワーク100にアクセスし、105〜110のサーバーにアクセスすることができる。モバイル端末103、プリンタ102は有線または無線LANを介してネットワークに接続する。
In FIG. 1, it is assumed that a plurality of
本実施例では、モバイル端末103は、無線LANターミナル104を介してネットワークに接続することを想定しているが、携帯データ通信キャリアが提供する無線ネットワークを介して接続する場合も当然想定される。無線LANターミナル104は、一般的なネットワーク・ルーター機能を有した無線LANの親機であり、家庭内や事務所などの中で無線LANを提供している。
In this embodiment, it is assumed that the
DNSサーバー105はドメイン名とIPアドレスの対応付けを管理し、名前解決リクエストでドメイン名を受け付け、対応するIPアドレスを応答する。データ変換サーバー106は、モバイル端末103から送信されるコンテンツデータをプリンタ102が読み取り可能なデータ形式に変換する。
The
本実施例では旧データ変換サーバー106aから新データ変換サーバー106bにデータ変換サーバーのソフトウェアコンポーネントを入れ替える。なお、新旧を区別する必要がない場合はデータ変換サーバー106として記載する。DBサーバー107はデータ変換サーバー106がデータ変換処理に必要な情報を格納するデータベースサーバーである。認可サーバー108はOAuthを実現するためのサーバーでありクライアント情報の管理や認可トークンの発行・管理を行う。トークン交換サーバー109は認可サーバー108で発行した認可トークンをストレージサーバー110にアクセス可能なURLに交換する。
In this embodiment, the software component of the data conversion server is replaced from the old
ストレージサーバー110はファイル管理を行うサーバーであり、モバイル端末103、プリンタ102、データ変換サーバー106からのファイルアップロード/ダウンロードを受け付ける。本実施例では旧ストレージサーバー110aから新ストレージサーバー110bにデータ変換サーバーのソフトウェアコンポーネントを入れ替える。なお、新旧を区別する必要がない場合はストレージサーバー110として記載する。
The
ここで、印刷システム内に存在する105〜110までの各サーバーは、それぞれ複数台のサーバーで冗長化されたクラウドサービスとしてインターネット上に公開されるが、本実施例では説明を簡略化するため、それぞれ1台構成としている。即ち、各サーバーは複数存在することになるが、図1に示す通り1台のサーバーであっても良い。
Here, each of the
<モバイル端末103のハードウェア構成>
図2aはモバイル端末103のハードウェア構成図である。ハードウェアの各構成要素は、システムバス202に接続されている。ROM204にはオペレーティングシステム及び、通話、データ通信を制御するアプリケーションが格納されており、CPU203で実行される。データ通信を制御するアプリケーションとしては、MailソフトやWebブラウザなどがある。
<Hardware configuration of
FIG. 2 a is a hardware configuration diagram of the
RAM205は、プログラムを実行するためのワークメモリエリアである。また、WebブラウザがWebサーバーから取得してきたWebページデータやWebサービスにアクセスするための認証情報などを一時記憶するためのメモリでもある。記憶装置210は不揮発性の記憶装置であり、モバイル端末の再起動後も保持しておく必要のある各種動作モード設定や、稼働ログなどが記憶される。
A
NetworkController206は、無線LAN通信部212、携帯キャリアの提供するネットワークに参加するための携帯電話データ通信部213の通信制御を行う。一般的に無線LANのネットワークに参加できるとき、NetworkController206は、無線LANの接続を優先する。モバイル端末が無線LANのネットワークエリアから外れた場合には、携帯キャリアが提供する無線通信ネットワークへ参加する。音声制御部207は、主に通話アプリケーションが起動しユーザーが電話をしているときに利用する。マイク・スピーカ214にて音声データの入出力を行い、音声制御部207は、その制御プログラムとの仲介を行っている。
The
表示制御部208は、モバイル端末のディスプレイ215にて出力する情報の制御を行っている。入力制御部209は、モバイル端末のボタンやタッチパネル216にてユーザーが指示した情報の制御を行っている。これらの音声制御部207、表示制御部208、入力制御部209を利用して、モバイル端末上でのアプリケーションは、ネットワーク通信情報やモバイル端末のさまざまな情報をユーザーに提供する。位置検出制御部211は、GPSセンサー217からモバイル端末の位置情報を取得しOSに提供する。これらの制御は、CPU203で動くOSにて制御される。
The
<サーバーのハードウェア構成>
図2bは、105〜110の各サーバーのハードウェア構成の一例を示す図である。特に断らない限り、本発明の機能が実行可能であるならば、単体の機器であっても、複数の機器からなるシステムであっても、本発明が適用できることは言うまでもない。また、特に断らない限り、本発明の機能が実行可能であるならば、LAN、WAN等のネットワークを介して接続が為され、処理が行われるシステムであっても本発明を適用できることは言うまでもない。本実施例ではシステムバス219により各構成要素が接続されているものとして説明する。
<Server hardware configuration>
FIG. 2B is a diagram illustrating an example of a hardware configuration of each of the
220は情報処理装置の制御装置であるCPUであり、記憶装置226に格納されているアプリケーションプログラム、プリントドライバプログラム、オペレーティングシステムや本発明のモバイル印刷システムプログラムを実行する。また、CPU220はRAM222にプログラム実行に必要な情報、ファイル等を一時的に格納する制御を行う。また、CPU220はディスプレイ227上の不図示マウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。221は記憶手段であるROMであり、内部には基本I/Oプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する。222は一時記憶手段であるRAMであり、CPU220の主メモリやワークエリア等として機能する。224は表示制御部であり、ディスプレイ227にて出力する情報の制御を行っている。225は入力制御部であり、キーボード228より入力される情報を制御し、情報処理装置は入力制御部225を介して外部装置とのデータのやり取りを行う。226は外部記憶手段の一つで、大容量メモリとして機能する記憶装置であり、アプリケーションプログラム、プリントドライバプログラム、OS等を格納している。228は指示入力手段であるキーボードであり、ユーザーが印刷サーバー等に命令等を入力指示するためのものである。227は表示手段であるディスプレイであり、キーボード228から入力したコマンド等を表示するものである。
A
<プリンタ102のハードウェア構成>
図2cは、プリンタ102のハードウェア構成図である。ハードウェアの各構成要素は、システムバス230に接続されている。209はプリンタ102のコントローラであり、プリンタの制御系を司る機器である。231は装置全体の制御を行うCPUであり、システムバス230に接続される各種デバイスとのアクセスを統括的に制御する。この制御は、ROM232に記憶された制御プログラム等あるいはディスクコントローラ(DKC235)を介して接続された外部メモリ236に記憶された制御プログラムやリソースデータ(資源情報)等に基づく。
<Hardware Configuration of
FIG. 2 c is a hardware configuration diagram of the
233はCPU231の主メモリ、ワークエリア等として機能するRAMで、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。240は大容量メモリとして機能する外部記憶手段であり、本発明に係る印刷アプリケーション306のプログラムを格納している。239は操作パネル(操作部)であり、画面の表示や、画面を介したユーザーの操作指示を受け付ける。また、プリンタ102の動作モード等の設定やプリンタ102の動作状況の表示、複写指定等の操作を行うためのボタンおよび液晶パネル等の表示部も配置される。234は、ネットワークインターフェースカード(NIC)であり、該インターフェース234を介して外部装置とのデータのやり取りを行う。なお、本図で示したプリントエンジン238は既知の印刷技術を利用するものであり、好適な実施系として例えば電子写真方式(レーザービーム方式)やインクジェット方式、昇華方(熱転写)方式等が挙げられる。237のラスタコントローラは、PDL言語・PDF言語である印刷データを画像データに変換するコントローラである。241の機器I/Fは、USB等で接続可能な外部機器との接続I/Fである。
<モバイル端末103のソフトウェア構成>
図3aは、モバイル端末103のソフトウェア構成図である。モバイル端末103にインストールされた印刷アプリケーション300は図2で示した記憶装置210に記憶されており、前述したようにCPU203によってRAM205にロードされ実行される。印刷アプリケーション300はモバイル端末103内に保存されている文書を、データ変換サーバー106で印刷データに変換しプリンタ102に送信することで印刷を行う。
<Software configuration of
FIG. 3 a is a software configuration diagram of the
<DNSサーバー105のソフトウェア構成>
図3bは、DNSサーバー105のソフトウェア構成図である。なお各ソフトウェアモジュールは図2で示した記憶装置226に記憶されており、前述したようにCPU220によってRAM222にロードされ実行される。310はDNS I/FでありDNSサーバー105の各種インターフェースを地教師、受け付けた情報の妥当性の検証を行う。311はDNSレコード管理部であり、DNSレコード400を管理する。DNSレコード管理部311はDNS I/F310で受け付けた名前解決リクエストで渡されるドメイン名に対応するIPアドレスをDNSレコード400から探し応答する。312はストレージであり、図4で説明するDNSサーバー105が保持している情報が格納されている。
<Software configuration of
FIG. 3 b is a software configuration diagram of the
<データ変換サーバー106のソフトウェア構成>
図3cは、データ変換サーバー106のソフトウェア構成図である。なお各ソフトウェアモジュールは図2で示した記憶装置226に記憶されており、前述したようにCPU220によってRAM222にロードされ実行される。320はWebサーバーであり、データ変換サーバー106の各種インターフェースを提供し、受け付けた情報の妥当性の検証を行う。321は、データ変換部であり、モバイル端末103がストレージサーバー110にアップロードした文書ファイルと印刷チケットを受信し、文書ファイルを印刷チケットに従ってプリンタ102が印刷可能な印刷データファイルに変換を行う。データ変換部は生成した印刷データファイルと印刷データのリストであるインデックスファイルをストレージサーバー110にアップロードする。データ変換サーバー106が管理する後述の文書情報500とデータ変換情報510はDBサーバー107に格納する。旧データ変換サーバー106aと新データ変換サーバー106bはDBサーバー107に格納された文書情報500とデータ変換情報510を共有する。
<Software Configuration of
FIG. 3 c is a software configuration diagram of the
<DBサーバー107のソフトウェア構成>
図3dは、DBサーバー107のソフトウェア構成図である。なお各ソフトウェアモジュールは図2で示した記憶装置226に記憶されており、前述したようにCPU220によってRAM222にロードされ実行される。330はWebサーバーであり、DBサーバー107の各種インターフェースを提供し、受け付けた情報の妥当性の検証を行う。331はDB管理部であり、Webサーバー330で受け付けたリクエストに応じてDBサーバー107がストレージ332に保持する情報の操作を行う。332はストレージであり、図5で説明するDBサーバー107が保持している情報が格納されている。
<Software configuration of
FIG. 3 d is a software configuration diagram of the
<認可サーバー108のソフトウェア構成>
図3eは、認可サーバー108のソフトウェア構成図である。なお各ソフトウェアモジュールは図2で示した記憶装置226に記憶されており、前述したようにCPU220によってRAM222にロードされ実行される。340はWebサーバーであり、認可サーバー108の各種インターフェースを提供し、受け付けた情報の妥当性の検証を行う。341は、認可情報管理部であり、図6aと図6bで説明するクライアント情報600と認可トークン情報610を管理し、Webサーバー340が受け付けたリクエストに応じて、認可トークンの発行・スコープ確認・有効期限確認などを行う。342はストレージであり、図6aと図6bで説明する認可サーバー108が保持している情報が格納されている。
<Software configuration of
FIG. 3E is a software configuration diagram of the
<トークン交換サーバー109のソフトウェア構成>
図3fは、トークン交換サーバー109のソフトウェア構成図である。なお各ソフトウェアモジュールは図2で示した記憶装置226に記憶されており、前述したようにCPU220によってRAM222にロードされ実行される。350はWebサーバーであり、トークン交換サーバー109の各種インターフェースを提供し、受け付けた情報の妥当性の検証を行う。351は、一時URL発行部であり、図7aで説明するスコープ情報700を管理し、Webサーバー350が受け付けたリクエストに応じて、ストレージサーバー110にアクセス可能な一時URLの発行を行う。352はストレージであり、図7aで説明するトークン交換サーバー109が保持している情報が格納されている。
<Software configuration of
FIG. 3 f is a software configuration diagram of the
<ストレージサーバー110のソフトウェア構成>
図3gは、ストレージサーバー110のソフトウェア構成図である。なお各ソフトウェアモジュールは図2で示した記憶装置226に記憶されており、前述したようにCPU220によってRAM222にロードされ実行される。360はWebサーバーであり、ストレージサーバー110の各種インターフェースを提供し、受け付けた情報の妥当性の検証を行う。361は、アクセス制御部でありWebサーバー360が受け付けたリクエストを実行許可するか否かを判断する。アクセス制御部361が実行許可したリクエストはストレージ管理部362へ渡され、実行拒否と判断したリクエストはエラーにする。ストレージ管理部362は図8で説明するファイル情報810を管理し、アップロードリクエストされたファイルの入出力を行う。363はストレージであり、図8で説明するストレージサーバー110が保持している情報やストレージサーバー110受信したファイルが格納されている。
<Software configuration of
FIG. 3 g is a software configuration diagram of the
<DNSサーバー105のデータ>
図4はDNSサーバー105が外部メモリに記憶するデータテーブルである。これらのデータテーブルは、DNSサーバー105の外部メモリではなく、インターネット100やローカルネットワーク101を介して通信可能に構成された別のサーバーに記憶するように構成することもできる。DNSサーバー105が保持するデータテーブルは、DNSレコード400より成る。
<Data of
FIG. 4 is a data table stored in the external memory by the
DNSレコード400にはDNSサーバー105の名前解決に必要なレコードが保存される。DNSレコード400ではドメイン名401とValue403に格納されるIPアドレスが紐付けて保存され、DNSサーバー105は名前解決リクエストで受け付けたドメイン名401と一致するValue403を応答する。402はDNSレコードのValue403の種別を表し、IPアドレスであることを示すAや、ドメイン名の別名を示すCNAMEなどがある。TTL404は名前解決結果の有効期限である。DNSサーバー105に対して名前解決リクエストを行った任意のクライアントは、名前解決リクエストの結果が得られたIPアドレスをTTL404の間利用することができる。
The
<データ変換サーバー106が管理するデータ>
図5a、図5bはDBサーバー107が外部メモリに記憶するデータテーブルである。DBサーバー107が保持するデータテーブルは、文書情報500、データ変換情報510から成り、データ変換サーバー106が利用する。文書情報500はデータ変換サーバー106がデータ変換リクエスト受信時にデータ変換部331がレコード生成し、DBサーバー107上のストレージ363に保持する。501は文書IDであり、データ変換サーバー106がデータ変換リクエストを受信した際に発行する文書を一意に識別する識別子である。502はクライアントIDであり、データ変換リクエストを行ったクライアントを一意に識別する識別子である。データ変換サーバー106はデータ変換リクエストのパラメータとして受信した認可トークンに紐づくクライアントIDを認可サーバー108から取得しクライアントID502として保持する。文書URL503はデータ変換リクエストされた文書ファイルが保存された場所を示すURLパスである。文書URL503はデータ変換サーバー106がデータ変換リクエスト受信時に、一意になるようURLパスに文書ID501やクライアントID502を含めて生成し保存する。ストレージサーバードメイン名504は文書ファイルが保存されているストレージサーバー110のドメイン名を格納する。
<Data managed by the
5a and 5b are data tables stored in the external memory by the
データ変換情報510はデータ変換サーバー106がデータ変換リクエスト受信時にデータ変換部331がレコード生成し、DBサーバー107上のストレージ363に保持する。511はデータ変換IDであり、データ変換サーバー106がデータ変換リクエストを受信した際に発行するデータ変換処理を一意に識別する識別子である。クライアントID512、文書ID513はデータ変換サーバー106がデータ変換リクエスト受信時に生成する文書情報500のクライアントID502と文書ID501と同じ値である。印刷チケットURL514はデータ変換リクエストされた印刷チケットファイルを保存するURLパスである。印刷チケットURL514は、データ変換サーバー106がデータ変換リクエスト受信時に、一意になるようURLパスにデータ変換ID511やクライアントID512を含めて生成され保存される。
The data conversion information 510 is generated by the
インデックスURL515は、データ変換サーバー106が印刷データ変換時に生成するインデックスファイルが保存された場所を示すアドレスであり、ストレージサーバー110のURLから成る。インデックスURL515はデータ変換サーバー106が印刷データ変換完了時にストレージサーバー110で一意になるようURLパスにデータ変換ID511やクライアントID512を含めて生成し保存する。ステータス516はデータ変換サーバー106の印刷データ変換状況を示しており、データ変換サーバー106が印刷データ変換状況に応じて更新する。ステータス516には“待機中”や“変換済み”がある。ストレージサーバードメイン名517は印刷チケットファイルが保存されているストレージサーバー110のドメイン名を格納する。データ変換情報510により、データ変換サーバーは、変換リクエストと、複数存在するデータ変換サーバーの内何れか1つ、即ち、現在稼働しているストレージサーバーとの関連付けを認識することが可能になる。
The
図5cはデータ変換サーバー106が印刷データ変換時に生成するインデックスファイルの例である。インデックスファイルはJSONフォーマットで、印刷データの一時URLのリストを記載する。図5cは4ページ分のJpeg画像の一時URLが記載されている例である。プリンタ102やモバイル端末103はインデックスファイルに記載されている一時URLが指し示す印刷データを順番にダウンロードし印刷実行する。
FIG. 5c is an example of an index file generated by the
<認可サーバー108のデータ>
図6a、図6bは認可サーバー108が外部メモリに記憶するデータテーブルである。これらのデータテーブルは、認可サーバー108の外部メモリではなく、インターネット100やローカルネットワーク101を介して通信可能に構成された別のサーバーに記憶するように構成することもできる。認可サーバー108が保持するデータテーブルは、クライアント情報600、認可トークン情報610より成る。
<Data of
6A and 6B are data tables stored in the external memory by the
図6aのクライアント情報600は106〜110のサーバーにアクセス可能なクライアントの情報が登録されている。本実施例においてクライアント情報にはモバイル端末103とデータ変換サーバー106が登録されている。601はクライアントIDであり、クライアントを一意に識別する識別子である。本実施例では複数のモバイル端末103のクライアントIDをmobile0001〜mobile0002、データ変換サーバー106のクライアントIDをconvert0001として定義し登録している。602はクライアントの正当性を判断するためのパスワードであり、認可サーバー108はクライアントID601とパスワード602の一致によりクライアントを特定する。603はOAuthのスコープであり認可サーバー108が発行する認可トークンでアクセス可能な範囲を示す。
In the
本実施例のスコープ603の種類は、MobilePrint、SignedUrlUpload、SignedUrlDownload、New−SignedUrlUpload、New−SignedUrlDownloadを定義する。MobilePrintスコープはモバイル端末103がデータ変換サーバー106のインターフェースにアクセスする際に必要なスコープである。SignedUrlUploadスコープはモバイル端末103がストレージサーバー110へファイルアップロードするための一時URLを発行するために旧データ変換サーバー106aが利用するスコープである。New−SignedUrlUploadスコープはモバイル端末103がストレージサーバー110へファイルアップロードするための一時URLを発行するために新データ変換サーバー106bが利用するスコープである。SignedUrlDownloadスコープはモバイル端末103がストレージサーバー110からファイルダウンロードするための一時URLを発行するために旧データ変換サーバー106aが利用するスコープである。New−SignedUrlDownloadスコープはモバイル端末103がストレージサーバー110からファイルダウンロードするための一時URLを発行するために新データ変換サーバー106bが利用するスコープである。
The types of the
図6bの認可トークン情報610はWebサーバー340がトークン取得リクエストを受け付けた際に、認可情報管理部341がレコードを登録する。611は認可トークンを一意に識別可能な識別子であり、認可情報管理部311が生成し登録する。612は認可トークンの有効期限であり、認可情報管理部341がトークン取得リクエスト受信時間から一定時間後の値が登録される。有効期限612を過ぎた認可トークン611は無効である。スコープ613は認可トークン611が利用可能なスコープであり、認可サーバー108へのトークン取得リクエストで渡されるスコープが登録。クライアントID614は認可サーバー108へのトークン取得リクエストで渡されるクライアントIDが登録される。
6B, when the
<トークン交換サーバー109のデータ>
図7aはトークン交換サーバー109が外部メモリに記憶するデータテーブルである。これらのデータテーブルは、トークン交換サーバー109の外部メモリではなく、インターネット100やローカルネットワーク101を介して通信可能に構成された別のサーバーに記憶するように構成することもできる。トークン交換サーバー109が保持するデータテーブルは、スコープ情報700より成る。
<Data of
FIG. 7 a is a data table stored in the external memory by the
図7aのスコープ情報700はスコープ701、一時URL有効期限702、ドメイン名702からなる。スコープ701は一時URLを発行可能なスコープであり、本実施例ではSignedUrlUpload、SignedUrlDownload、New−SignedUrlUpload、New−SignedUrlDownloadが登録されている。一時URL有効期限702は一時URLを利用可能な有効期限が登録される。ドメイン名702はトークン交換サーバー109が発行する一時URLのストレージサーバー110のドメイン名である。スコープ701がSignedUrlUpload、SignedUrlDownloadのドメイン名702には旧ストレージサーバー110aのドメイン名が登録される。スコープ701がNew−SignedUrlUpload、New−SignedUrlDownloadのドメイン名702には新ストレージサーバー110bのドメイン名が登録される。
The scope information 700 in FIG. 7 a includes a
図7bはトークン交換サーバー109が発行するストレージサーバー110の一時URLの例である。トークン交換サーバー109はデータ変換サーバー106からの一時URL発行リクエストで受け取ったURLパスにクエリーパラメータを付与して一時URLを生成する。また一時URLのドメイン名はデータ変換サーバー106からの一時URL発行リクエストで渡される認可トークンのスコープに紐づくドメイン名702を用いる。一時URLのパラメータには有効期限を示すExpiresや一時URLの有効性を確認するための署名であるSignatureがトークン交換サーバー109により付与される。Signatureはトークン交換サーバー109とストレージサーバー110で共通して保持する証明書を用いてURLを署名しており、トークン交換サーバー109で生成した一時URLをストレージサーバー110で有効性検証することができる。一時URL発行手段として、トークン交換サーバー109がストレージサーバー110に一時URL発行依頼し、ストレージサーバー110が一時URLを生成する方法もある。
FIG. 7 b is an example of a temporary URL of the
<ストレージサーバー110のデータ>
図8はストレージサーバー110が外部メモリに記憶するデータテーブルである。これらのデータテーブルは、ストレージサーバー110の外部メモリではなく、インターネット100やローカルネットワーク101を介して通信可能に構成された別のサーバーに記憶するように構成することもできる。ストレージサーバー110が保持するデータテーブルはファイル情報800より成る。
<Data of
FIG. 8 is a data table stored in the external memory by the
図8のファイル情報800はストレージサーバー110に保存するファイルの情報でありストレージ管理部362が管理する。データURL801はストレージサーバー110に保存するファイルを一意に特定することができるURLである。ファイルパス802はストレージ363上のファイルパスであり、ストレージ管理部362が管理するファイルの格納場所を示す。ストレージ管理部362は/dataディレクトリ内にデータURL801のサブパスと同じ階層構造でディレクトリを作成しファイル格納する。データURL801に対してリクエストすることによりストレージ363上のファイル操作を行うことができる。たとえば、データURL801に対してHTTP GETメソッドをリクエストすると対応するファイルがダウンロードできる。データURL801に対してHTTP PUTメソッドにファイル添付してリクエストするとファイルをアップロードし保存できる。データURL801に対してHTTP DELETEメソッドをリクエストすると対応するファイルを削除できる。
File information 800 in FIG. 8 is information on a file stored in the
<印刷アプリケーション300の画面>
図9はモバイル端末103に表示する印刷アプリケーション300の画面例であり図2aにおいて表示制御部208を介してディスプレイ215に表示されるものである。ファイル選択画面900ではモバイル端末103内のファイルがファイルリスト表示部901にリストとして表示される。データ変換中画面910はファイル選択画面900で選択した印刷対象のファイルをデータ変換サーバー106で印刷データに変換中に表示される画面である。912はデータ変換結果を表示する領域であり、データ変換中を示すアイコン911が表示されている。913のプレビューボタンが押下されると印刷アプリケーション300はデータ変換サーバー106でのデータ変換リクエストを開始する。
<Screen of
FIG. 9 shows a screen example of the
914の印刷設定ボタンが押下されると印刷設定画面920が表示され、印刷アプリケーション300がデータ変換サーバー106へのデータ変換リクエストする際の印刷設定を変更することができる。915の印刷ボタンが押下され印刷指示が行われると印刷アプリケーション300はデータ変換サーバー106でデータ変換した印刷データをプリンタ102に送信して印刷実行する。印刷設定画面920は用紙サイズや部数などの各種印刷属性921を設定する画面である。データ変換結果画面930には印刷アプリケーション300がデータ変換サーバー106にデータ変換リクエストした結果得られた印刷データのプレビュー931が表示される。
When the
<名前解決フロー>
図10は印刷アプリケーション300がDNSサーバー105でドメイン名の名前解決を行い、旧データ変換サーバー106aにリクエストを行うフローである。印刷アプリケーション300は旧データ変換サーバー106aに対して任意のリクエストを行う際、旧データ変換サーバー106aのドメイン名であるdata−convert.comの名前解決を行う。S10.1において印刷アプリケーション300は旧データ変換サーバー106aのドメイン名であるdata−convert.comをパラメータとしてDNSサーバー105に名前解決リクエストを行う。S10.2においてDNSサーバー105は、DNSレコード400から旧データ変換サーバー106aのドメイン名(data−convert.com)と一致するドメイン名401に紐づくValue403(192.168.0.3)とTTL404(60)を応答する。S10.3において印刷アプリケーション300は名前解決の結果得られたIPアドレス(192.168.0.3)に対して任意のリクエストを行う。また印刷アプリケーション300は名前解決の結果をTTLの期間キャッシュし、再度同一ドメイン名にアクセスする際には名前解決リクエストを行わずキャッシュ情報を利用する。
<Name resolution flow>
FIG. 10 is a flow in which the
図10で説明した名前解決しリクエストを行うフローは、印刷アプリケーション300と106〜110の各サーバー間へのリクエストや、106〜110の各サーバー間のリクエストにおいても同様に名前解決を行う。
In the flow for performing the name resolution and request described with reference to FIG. 10, the name resolution is performed in the same way for requests between the servers of the
<印刷アプリケーション300からの印刷フロー>
図11は印刷アプリケーション300が文書をデータ変換サーバー106で印刷データに変換し、プリンタ102に印刷実行するフローである。図11の印刷フローにおいて旧データ変換サーバー106aから新データ変換サーバー106bへのサーバー入れ替え、旧ストレージサーバー110aから新ストレージサーバー110bへのサーバー入れ替えを印刷フローに影響を与えることなく無停止で行う様子を示す。
<Print flow from
FIG. 11 is a flow in which the
旧データ変換サーバー106aから新データ変換サーバー106bへの切り替えはDNSレコード400においてデータ変換サーバー106のドメイン名401(data−convert.com)のValue403を旧データ変換サーバー106aのIPアドレスから新データ変換サーバー106bのIPアドレスに変更することで実施する。DNSレコード400の変更はサーバー管理者が手動で実施してもよいし、誤操作を防ぐため別途準備した非図示の運用管理サーバーから自動で変更するよう構成することもできるが手段は問わない。DNSレコード400を変更することでDNSサーバー105への名前解決の結果が切り替わるためサーバーが切り替わることになる。なおクライアントで名前解決が行われ新データ変換サーバー106bに切り替わるタイミングはクライアントで保持する名前解決結果のキャッシュのTTL404が経過した時であり、クライアント毎に任意のタイミングで行われる。図11では印刷アプリケーション300からの印刷フロー中のS11.9のタイミングでDNSレコード400が旧データ変換サーバー106aから新データ変換サーバー106bへ書き換わっている。
Switching from the old
図11の印刷フローは印刷アプリケーション300のファイル選択画面900においてファイルが選択され、データ変換中画面910におけるプレビューボタン913が押下されたことを印刷アプリケーション300が検知してから始まる。
The print flow in FIG. 11 starts after the
S11.1において印刷アプリケーション300は認可サーバー108にトークン取得リクエストし認可トークンを取得する。印刷アプリケーション300はトークン取得リクエスト(S11.1)において自身で保持するクライアントID(例えばmobile0001)、パスワードとスコープにMobilePrintをパラメータとして指定する。トークン取得リクエスト(S11.1)を受け付けた認可サーバー108はトークン取得リクエスト(S11.1)のパラメータとクライアントID601、パスワード602とがそれぞれ一致し、スコープ603にMobilePrintが含まれていることを確認することでクライアントを特定する。そして認可サーバー108は認可トークン611を生成し、有効期限、トークン取得リクエスト(S11.1)のパラメータとして受け付けたクライアントID、スコープを認可トークン情報610にレコード登録し、生成した認可トークン611を印刷アプリケーション300に返却する。
In step S <b> 11.1, the
S11.2において印刷アプリケーション300はサーバー入れ替え前の旧データ変換サーバー106aにS11.1で取得した認可トークンをパラメータとしてデータ変換リクエストを行う。S11.3において旧データ変換サーバー106aはS11.2のデータ変換リクエストのパラメータである認可トークンと、MobilePrintスコープを指定して認可サーバー108にトークンチェックリクエストを行う。トークンチェックリクエスト(S11.3)を受け付けた認可サーバー108はパラメータとして指定された認可トークン、MobilePrintスコープと一致する認可トークン611、スコープ613を検索し認可トークン情報610からレコードを特定する。認可サーバー108は特定できた認可トークン情報610のレコードの有効期限612が現時刻よりも後であることができた場合、特定した認可トークン情報610のレコードを応答する。特定した認可トークン情報610のレコードの有効期限612が過ぎている、または認可トークン情報610のレコードを特定できない場合、認可サーバー108はトークンチェックリクエスト(S11.3)で受け付けた認可トークンは無効である応答する。
In step S11.2, the
S11.4において旧データ変換サーバー106aはトークンチェックリクエスト(S11.3)の結果、認可トークンが有効であり認可トークン情報610のレコードを受け取った場合、文書情報500、データ変換情報510にレコード登録し、認可サーバー108にトークン取得リクエストし認可トークンを取得する。ここで旧データ変換サーバー106aが文書情報500に登録するレコードには旧データ変換サーバー106aが発行する文書ID、トークンチェックリクエスト(S11.3)の応答で受け取ったクライアントIDである。旧データ変換サーバー106aがデータ変換情報510に登録するレコードには、データ変換サーバー106が発行するデータ変換ID、前記文書情報500に登録したクライアントIDと文書IDである。旧データ変換サーバー106aはトークン取得リクエスト(S11.4)において、予め保持している旧データ変換サーバー106aのクライアントID(convert0001)、パスワード、およびスコープにSignedUrlUploadをパラメータとして指定しトークン取得リクエストを送信する。トークン取得リクエスト(S11.4)を受け付けた認可サーバー108におけるクライアント特定方法、認可トークン発行方法はS11.1と同様である。
In S11.4, when the old
S11.5において旧データ変換サーバー106aはトークン取得リクエスト(S11.4)で取得した認可トークンと、文書ID501とクライアントID502から生成した文書URLと、データ変換ID511とクライアントID512から生成した印刷チケットURLをパラメータとして、トークン交換サーバー109に一時URL取得リクエストを行う。また旧データ変換サーバー106aは生成した文書URLと印刷チケットURLを文書URL503と印刷チケットURL514に保存する。なお、旧データ変換サーバー106aがトークン交換サーバー109に認可トークンを送信し一時URL取得リクエストを行う理由は、2つのサーバーのセキュリティドメインが異なるためであり、旧データ変換サーバー106aが認可サーバー108により認可されていなければ一時URLの取得は不可能である。
In S11.5, the old
S11.6においてトークン交換サーバー109は一時URL取得リクエスト(S11.5)のパラメータとして受け取った認可トークンをパラメータとして認可サーバー108にトークン情報取得リクエストを行う。認可サーバー108はトークン情報取得リクエスト(S11.6)を受け付けると認可トークン情報610からパラメータとして受け取った認可トークンと一致する認可トークン611をもつレコードを特定し有効期限612が現時刻より後だった場合スコープを返却する。ここで返却されるスコープはS11.4におけるトークン取得リクエストで指定したSignedUrlUploadスコープである。認可トークン情報610にパラメータの認可トークンと一致するレコードが存在しない、または特定したレコードの有効期限612が現時刻より前だった場合、認可サーバー108はエラーを返却する。
In S11.6, the
S11.7においてトークン交換サーバー109はトークン情報取得リクエスト(S11.6)の応答がSignedUrlUploadスコープであることを確認できた場合、一時URL取得リクエストで受信した文書URLと印刷チケットURLを用いて夫々の一時URLの生成を行う。生成する一時URLはスコープ情報700に登録されているスコープ501がSignedUrlUploadであるドメイン名702で一時URL有効期間602まで利用可能なURLである。S11.7でトークン交換サーバー109が発行する一時URLは旧ストレージサーバー110aのドメイン名となる。なお、文書の一時URLは文書のアップロード先を示すアドレスであり、印刷チケットの一時URLは印刷チケットのアップロード先を示すアドレスであることを特徴とする。
In S11.7, when the
トークン交換サーバー109は生成した文書の一時URLと印刷チケットの一時URLを一時URL取得リクエスト(S11.5)の応答として旧データ変換サーバー106aに返却する。そして旧データ変換サーバー106aは文書の一時URLと印刷チケットの一時URL、生成したデータ変換IDをデータ変換リクエスト(S11.2)の応答として印刷アプリケーション300に返却する。
The
S11.8において印刷アプリケーションはデータ変換リクエスト(S11.2)の応答として受け取った文書の一時URLと印刷チケットの一時URLに対してそれぞれ文書ファイルと印刷チケットファイルを添付してHTTP PUTメソッドをリクエストする。なおS11.8の文書/印刷チケットアップロードリクエストはドメイン名が旧ストレージサーバー110aを指している。文書/印刷チケットアップロードリクエスト(S11.8)を受け付けた旧ストレージサーバー110aはリクエストに添付されたファイルをファイルパス802に保存する。そして旧ストレージサーバー110aはファイル情報800に文書/印刷チケットアップロードリクエスト(S11.8)のデータURLと添付ファイルを保存したファイルパスを登録する。
In S11.8, the print application requests the HTTP PUT method by attaching the document file and the print ticket file to the temporary URL of the document and the temporary URL of the print ticket received as a response to the data conversion request (S11.2). . In the document / print ticket upload request in S11.8, the domain name indicates the
S11.9において印刷アプリケーション300のデータ変換サーバーのドメイン名(data−convert.com)の名前解決結果のキャッシュ有効期限が切れて、DNSサーバー105に名前解決リクエストが行われる。DNSサーバー105への名前解決リクエストの結果、新データ変換サーバー106bのIPアドレスが得られるため、以降の印刷アプリケーション300のリクエストは新データ変換サーバー106bに行われる。S11.10において印刷アプリケーション300は旧ストレージサーバー110aへの文書/印刷チケットアップロード(S11.8)が完了すると、文書/印刷チケットアップロード完了を新データ変換サーバー106bに通知する。印刷アプリケーション300は文書/印刷チケットアップロード完了リクエスト(S11.10)には、S11.1で取得した認可トークン、S11.2で取得したデータ変換IDをパラメータとして指定する。
In S11.9, the cache validity period of the name resolution result of the domain name (data-convert.com) of the data conversion server of the
S11.11において新データ変換サーバー106bは、文書/印刷チケットアップロード完了リクエスト(S11.10)のパラメータで渡された認可トークンとMobilePrintスコープをパラメータとして認可サーバー108に対してトークンチェックリクエストを行う。トークンチェックリクエスト(S11.11)を受け付けた認可サーバー108のトークンチェック方法についてはS11.3と同様である。
In S11.11, the new
S11.12において新データ変換サーバー106bは、まずデータ変換情報510から文書/印刷チケットアップロード完了リクエスト(S11.10)のパラメータで渡されたデータ変換IDと一致するデータ変換ID511を検索する。なお、本実施例では新データ変換サーバー106bが処理を行う例を示しているが、データ変換サーバーの切り替えが発生せずに、ストレージサーバーの切り替えのみ行われる場合も存在するため、本処理を実行する対象が旧データ変換サーバー106aでも実行することがある点に留意されたい。
In S11.12, the new
そして、新データ変換サーバー106bはデータ変換ID511を検索により見つかったレコードの印刷チケットURL514とストレージサーバードメイン名517、文書ID513を特定する。さらに文書ID513を用いて文書情報500から文書URL503とストレージサーバードメイン名504を特定する。新データ変換サーバー106bは特定した文書URL503とストレージサーバードメイン名504、印刷チケットURL514とストレージサーバードメイン名517に対して文書/印刷チケットダウンロードリクエスト(HTTP GET)を行う。ここでデータ変換情報510から文書/印刷チケットアップロード完了リクエスト(S11.10)されたデータ変換IDがデータ変換情報510上に見つからない場合、新データ変換サーバー106bはS11.10のリクエストにエラー応答する。またストレージサーバードメイン名504、517が文書情報500やデータ変換情報510に登録されていない場合、旧ストレージサーバーaのドメイン名で文書/印刷チケットダウンロードリクエストを行う。ストレージサーバードメイン名504、517を文書情報500やデータ変換情報510に登録する対応を行っていないデータ変換サーバー106が以前にあった場合でも文書/印刷チケットが保存されたストレージサーバー110を特定することができる。文書/印刷チケットダウンロードリクエストを受け付けた旧ストレージサーバー110aは、ファイル情報800から受け付けたURLからデータURL711を特定し、応答としてファイルパス802に保存されたファイルを返す。
Then, the new
S11.13において新データ変換サーバー106bは文書/印刷チケットダウンロードリクエスト(S11.12)で旧ストレージサーバー110aから取得した文書ファイルと印刷チケットファイルを用いてデータ変換を行う。新データ変換サーバー106bは印刷チケットに従って文書ファイルを印刷データファイルに変換する。新データ変換サーバー106bによって生成される印刷データファイルは文書と印刷チケットによって1ファイルになることも複数ファイルになることもある。新データ変換サーバー106bはデータ変換が完了するとS11.12において特定したデータ変換情報510のレコードのステータスを“変換済み”に更新する。
In S11.13, the new
S11.14において新データ変換サーバー106bはS11.13で生成した1または複数の印刷データファイルを新ストレージサーバー110bにアップロード(HTTP PUT)する。ここで新データ変換サーバー106bは印刷データファイルのURLパスにS11.12で特定したデータ変換情報510のレコードのクライアントID512とデータ変換ID511も含める。次に新データ変換サーバー106bはアップロードした印刷データURLを使って、図5cの例で示した印刷データURLの一時URLリストであるインデックスファイルを生成する。新データ変換サーバー106bの印刷データURLの一時URLの生成方法については図示省略しているが、先述のS11.5〜11.7で説明した一時URL生成フローと同様でありスコープにNew−SignedUrlDownloadを指定する。この一時URLが印刷データの保存先を示している。トークン交換サーバー109はNew−SignedUrlDownloadスコープが指定されているためドメイン名702が新ストレージサーバー110bである一時URLを生成する。新データ変換サーバー106bはインデックスファイルを新ストレージサーバー110bにアップロード(HTTP PUT)する。ここで新データ変換サーバー106bはインデックスファイルのURLパスにS11.12で特定したデータ変換情報510のレコードのクライアントID512とデータ変換ID511も含める。インデックス/印刷データアップロードリクエストを受け付けた新ストレージサーバー110bはURLパスに従って生成するファイルパスにインデックスファイルと印刷データファイルを保存し、ファイル情報800にレコード登録する。
In S11.14, the new
S11.15において印刷アプリケーション300は新データ変換サーバー106bに変換ステータス取得リクエストを行う。印刷アプリケーション300は変換ステータス取得リクエスト(S11.15)のパラメータとして、S11.1で取得した認可トークン、S11.2で取得したデータ変換IDをパラメータとして指定する。S11.16において変換ステータス取得リクエスト(S11.15)を受け付けた新データ変換サーバー106bはパラメータで指定された認可トークンのトークンチェックリクエストを認可サーバー108に行う。認可サーバー108におけるトークンチェックについては先述のS11.3と同様である。
In S11.15, the
次に新データ変換サーバー106bは変換ステータス取得リクエスト(S11.15)のパラメータで指定されたデータ変換IDと一致するデータ変換ID511をデータ変換情報510から検索し、一致したレコードのステータス516を確認する。新データ変換サーバー106bはステータス516が“変換済み”でない場合に変換ステータス取得リクエスト(S11.15)にステータス516を応答する。印刷アプリケーション300は文書/印刷チケットアップロード完了リクエスト(S11.10)の後、変換ステータス取得リクエスト(S11.15)の応答でステータスが“変換済み”になるまで繰り返し変換ステータス取得リクエスト(S11.15)を行う。この繰り返しのリクエストは、ポーリングによる定期通信である。
Next, the new
S11.17において変換ステータス取得リクエスト(S11.15)で指定されたデータ変換IDのステータス516が“変換済み”だった場合、新データ変換サーバー106bはS11.18〜S11.20においてインデックスURL515の一時URLを生成する。S11.18〜S11.20の一時URL生成フローは先述のS11.5〜11.7で説明した一時URL生成フローと同様でありスコープにNew−SignedUrlDownloadを指定する。ここで使用するインデックスURLは先述した変換ステータス取得リクエスト(S11.15)のパラメータで指定されたデータ変換IDと一致するレコードのインデックスURL515である。
When the
S11.18〜S11.20においてインデックスURL515の一時URLを取得した新データ変換サーバー106bはS11.15の応答として取得したインデックスURL515の一時URLとステータス516(“変換済み”)を返す。
The new
S11.21において印刷アプリケーション300は変換ステータス取得リクエスト(S11.15)で取得したインデックスURL515の一時URLからインデックスファイルをダウンロード(HTTP GET)する。インデックスダウンロードリクエスト(S11.21)を受け付けた新ストレージサーバー110bは応答として、リクエストされたインデックスURLに対応するファイルパス802をファイル情報800から特定し、ファイルパス802に保存したインデックスファイルを返す。インデックスファイルを受信した印刷アプリケーション300はインデックスファイル内に記載された1つまたは複数の印刷データURLの一時URLからダウンロード(HTTP GET)する。印刷データダウンロードリクエスト(S11.21)を受け付けた新ストレージサーバー110bは応答として、リクエストされた印刷データURLに対応するファイルパス802をファイル情報800から特定し、ファイルパス802に保存した印刷データファイルを返す。印刷アプリケーション300は新ストレージサーバー110bからダウンロードした印刷データファイルをデータ変換結果画面930に印刷データのプレビュー931として表示する。
In S11.21, the
S11.22において印刷アプリケーション300はデータ変換結果画面930の印刷ボタン915が押下されたことを検知すると新ストレージサーバー110bからダウンロードした1つまたは複数の印刷データをプリンタ102に送信し印刷実行する。
In step S11.22, when the
ここで旧データ変換サーバー106aはDNSレコード400を変更した後、TTL404の時間経過後に削除することができる。クライアントが名前解決結果をTTL404時間キャッシュしており、TTL404の時間経過後は旧データ変換サーバー106aにリクエストされることはなくなる。また旧データ変換サーバー106aの削除はサーバー管理者が手動で実施してもよいし、誤操作を防ぐため別途準備した非図示の運用管理サーバーから自動で変更するよう構成することもできる。
Here, the old
旧ストレージサーバー110aはデータ変換サーバー106のDNSレコード400を変更した後、ダウンロード用の一時URL有効期間702(本実施例では86400秒)の経過後に削除することができる。ダウンロード用の一時URL有効期間702が経過すると旧ストレージサーバー110aのドメイン名で発行した一時URLでリクエストされなくなる。また旧データ変換サーバー106aの削除はサーバー管理者が手動で実施してもよいし、誤操作を防ぐため別途準備した非図示の運用管理サーバーから自動で変更するよう構成することもできる。
The
以上のように、新旧のデータ変換サーバー106で管理するデータをDBサーバー105で共有し、文書情報500やデータ変換情報510にジョブ毎のストレージサーバードメイン名504、517に従ってストレージサーバー110にアクセスを行うことで、印刷アプリケーション300からの印刷フロー中にデータ変換サーバー106とストレージサーバー110のサーバー入れ替えを行っても、エラーすることなく印刷実行することができる。
As described above, data managed by the old and new
また、旧ストレージサーバー110aの一時URLを発行するスコープ(SignedUrlUpload、SignedUrlDownload)を旧データ変換サーバー106aが使い、新ストレージサーバー110bの一時URLを発行するスコープ(New−SignedUrlUpload、New−SignedUrlDownload)を新データ変換サーバー106bが使うことで、データ変換サーバー106のDNSレコード400を旧ストレージサーバー110aから新データ変換サーバー106bに変更後、徐々に新ストレージサーバー110bが使われるようになる。旧ストレージサーバー110aに保存されたファイルについても継続して利用することができるため無停止でサーバー入れ替えを行うことができる。
In addition, the old
<その他の実施形>
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
<Other implementations>
The present invention is also realized by executing the following processing. That is, software (program) for realizing the functions of the above-described embodiments is supplied to a system or apparatus via a network or various storage media, and a computer (or CPU, MPU, etc.) of the system or apparatus reads the program. It is a process to be executed.
102 プリンタ
103 モバイル端末
105 DNSサーバー
106 データ変換サーバー
107 DBサーバー
108 認可サーバー
109 トークン交換サーバー
110 ストレージサーバー
102
Claims (11)
ユーザーからの印刷指示に伴い前記データの変換リクエストを送信するクライアントから前記変換リクエストを受信したことに応じて、前記データのアップロード先を示すアドレスを前記クライアントへ送信する送信手段と、
複数の前記ストレージサーバーの内何れか1つのストレージサーバーに対し前記変換リクエストが関連付くよう、前記変換リクエストを識別する識別子とストレージサーバーに関する情報とを関連付けて記憶させる記憶手段と、
前記アドレスに基づきストレージサーバーへ前記データのアップロードが完了し、再び前記データ変換サーバーへアクセスしてきた前記クライアントから前記識別子を受信した際、受信した前記識別子に関連付くストレージサーバーに関する情報を前記記憶手段から取得し、取得した情報を基にストレージサーバーから前記データを取得し印刷データへ変換する変換手段と、を有するデータ変換サーバー。 A data conversion server that can communicate with a storage server that stores uploaded data to be printed and that acquires data stored in the storage server and converts it into print data,
In response to receiving the conversion request from the client that transmits the data conversion request in accordance with a print instruction from the user, a transmission unit that transmits an address indicating the upload destination of the data to the client;
Storage means for associating and storing an identifier for identifying the conversion request and information related to the storage server so that the conversion request is associated with any one of the plurality of storage servers;
When uploading the data to the storage server based on the address and receiving the identifier from the client that has accessed the data conversion server again, information about the storage server associated with the received identifier is stored from the storage means. A data conversion server having conversion means for acquiring the data from the storage server based on the acquired information and converting the data into print data.
送信手段は、ユーザーからの印刷指示に伴い前記データの変換リクエストを送信するクライアントから前記変換リクエストを受信したことに応じて、前記データのアップロード先を示すアドレスを前記クライアントへ送信し、
記憶手段は、複数の前記ストレージサーバーの内何れか1つのストレージサーバーに対し前記変換リクエストが関連付くよう、前記変換リクエストを識別する識別子とストレージサーバーに関する情報とを関連付けて記憶させ、
変換手段は、前記アドレスに基づきストレージサーバーへ前記データのアップロードが完了し、再び前記データ変換サーバーへアクセスしてきた前記クライアントから前記識別子を受信した際、受信した前記識別子に関連付くストレージサーバーに関する情報を前記記憶手段から取得し、取得した情報を基にストレージサーバーから前記データを取得し印刷データへ変換することを特徴とする。 A control method executed in a printing system including a storage server that stores uploaded data to be printed and a data conversion server that acquires the data stored in the storage server and converts the data into print data. Transmits an address indicating the upload destination of the data to the client in response to receiving the conversion request from the client that transmits the data conversion request in accordance with a print instruction from the user,
The storage means associates and stores an identifier for identifying the conversion request and information about the storage server so that the conversion request is associated with any one of the plurality of storage servers.
When the data has been uploaded to the storage server based on the address and the identifier is received from the client that has accessed the data conversion server again, the conversion means receives information on the storage server associated with the received identifier. The data is acquired from the storage unit, and the data is acquired from the storage server based on the acquired information and converted into print data.
ユーザーからの印刷指示に伴い前記データの変換リクエストを送信するクライアントから前記変換リクエストを受信したことに応じて、前記データのアップロード先を示すアドレスを前記クライアントへ送信する送信ステップと、
複数の前記ストレージサーバーの内何れか1つのストレージサーバーに対し前記変換リクエストが関連付くよう、前記変換リクエストを識別する識別子とストレージサーバーに関する情報とを関連付けて記憶させる記憶ステップと、
前記アドレスに基づきストレージサーバーへ前記データのアップロードが完了し、再び前記データ変換サーバーへアクセスしてきた前記クライアントから前記識別子を受信した際、受信した前記識別子に関連付くストレージサーバーに関する情報を取得し、取得した情報を基にストレージサーバーから前記データを取得し印刷データへ変換する変換ステップと、を含むプログラム。 A program executed in a data conversion server that can communicate with a storage server that stores uploaded data to be printed and that acquires data stored in the storage server and converts the data into print data.
A transmission step of transmitting to the client an address indicating the upload destination of the data in response to receiving the conversion request from the client that transmits the data conversion request in accordance with a print instruction from the user;
A storage step of associating and storing an identifier for identifying the conversion request and information related to the storage server so that the conversion request is associated with any one of the plurality of storage servers;
When uploading the data to the storage server based on the address and receiving the identifier from the client that has accessed the data conversion server again, obtain information about the storage server associated with the received identifier. A conversion step of acquiring the data from the storage server based on the information and converting the data into print data.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015060207A JP6429694B2 (en) | 2015-03-23 | 2015-03-23 | Data conversion server, control method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015060207A JP6429694B2 (en) | 2015-03-23 | 2015-03-23 | Data conversion server, control method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016181066A true JP2016181066A (en) | 2016-10-13 |
JP6429694B2 JP6429694B2 (en) | 2018-11-28 |
Family
ID=57131066
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015060207A Active JP6429694B2 (en) | 2015-03-23 | 2015-03-23 | Data conversion server, control method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6429694B2 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003216368A (en) * | 2002-01-21 | 2003-07-31 | Canon Inc | Service providing system, service providing method, service providing device, its control method, control program and computer readable memory |
JP2011170766A (en) * | 2010-02-22 | 2011-09-01 | Canon Inc | Network system, control method of network system, and program |
WO2016088199A1 (en) * | 2014-12-02 | 2016-06-09 | キヤノン株式会社 | Print system, method, and program |
-
2015
- 2015-03-23 JP JP2015060207A patent/JP6429694B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003216368A (en) * | 2002-01-21 | 2003-07-31 | Canon Inc | Service providing system, service providing method, service providing device, its control method, control program and computer readable memory |
JP2011170766A (en) * | 2010-02-22 | 2011-09-01 | Canon Inc | Network system, control method of network system, and program |
WO2016088199A1 (en) * | 2014-12-02 | 2016-06-09 | キヤノン株式会社 | Print system, method, and program |
Also Published As
Publication number | Publication date |
---|---|
JP6429694B2 (en) | 2018-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9230078B2 (en) | Authentication system, control method thereof, service provision device, and storage medium | |
JP6039602B2 (en) | Printer registration device, display device, printer registration method, computer program | |
US20190020770A1 (en) | Information input apparatus, information processing system, and information processing method | |
US8379257B2 (en) | System operating under web environment and method of controlling the same | |
JP6377176B2 (en) | Printing system, method, and program | |
JP2017107342A (en) | Authentication cooperation system, authentication cooperation method, authorization server, application server, and program | |
JP6039603B2 (en) | Printer list generation device, mobile terminal, printer list generation method, and computer program | |
JP2006252480A (en) | Computer, image processing system, and image processing method | |
JP2012173816A (en) | Printing system, control method, information processor, device driver program, and installer program | |
JP2013011956A (en) | Printing system, print server, print management method, and program | |
JP2014059717A (en) | Information processing system, information processor, device, information processing method, and information processing program | |
US20130088751A1 (en) | Job management apparatus, job control system, and job control method | |
JP6168079B2 (en) | Printing system, printing device search program, and recording medium | |
EP3073365A1 (en) | Networked image forming apparatus, networked image forming system and method of image forming | |
JP6197286B2 (en) | Communication device, information processing system, and information processing system control method | |
JP2020184228A (en) | Image formation device, control method, and program thereof | |
JP2017139013A (en) | Printing system, information processing device and program | |
JP6303312B2 (en) | Service providing system and image providing method | |
JP2022073284A (en) | Information processing device | |
JP2015108951A (en) | Printing system, information processing apparatus, image forming apparatus, and program | |
JP6429694B2 (en) | Data conversion server, control method, and program | |
JP6226001B2 (en) | Usage control system and usage control method | |
JP7047504B2 (en) | Job system, job execution method, information processing device, program | |
JP2013114516A (en) | Use management system, use management method, information terminal and use management program | |
US8395799B2 (en) | Printing system, output device, data management system, control method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180201 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180823 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180828 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180914 |
|
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: 20181002 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20181030 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6429694 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |