JP2016006624A - 情報処理システム、情報処理方法、情報処理装置及びプログラム - Google Patents

情報処理システム、情報処理方法、情報処理装置及びプログラム Download PDF

Info

Publication number
JP2016006624A
JP2016006624A JP2014209730A JP2014209730A JP2016006624A JP 2016006624 A JP2016006624 A JP 2016006624A JP 2014209730 A JP2014209730 A JP 2014209730A JP 2014209730 A JP2014209730 A JP 2014209730A JP 2016006624 A JP2016006624 A JP 2016006624A
Authority
JP
Japan
Prior art keywords
information
processing request
processing
unit
storage
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
JP2014209730A
Other languages
English (en)
Other versions
JP6439370B2 (ja
Inventor
和徳 杉村
Kazunori Sugimura
和徳 杉村
東哲 張
Totetsu Cho
東哲 張
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2014209730A priority Critical patent/JP6439370B2/ja
Priority to US14/718,247 priority patent/US9819751B2/en
Priority to EP15169616.8A priority patent/EP2950230B1/en
Publication of JP2016006624A publication Critical patent/JP2016006624A/ja
Application granted granted Critical
Publication of JP6439370B2 publication Critical patent/JP6439370B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • 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
    • G06F21/41User authentication where a single sign-on provides access to a plurality of computers
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computing Systems (AREA)
  • Facsimiles In General (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】連携して処理を行う外部サービスの追加を容易にすることができる情報処理システム、情報処理方法、情報処理装置及びプログラムを提供することを課題とする。
【解決手段】1以上の情報処理装置を含む情報処理システムであって、前記情報処理装置の上で動作する第1のプログラムと連携して処理を行う1以上の外部サービスに対する第1の処理要求を受け付ける受付手段と、前記受付手段により前記第1の処理要求を受け付けると、前記1以上の外部サービスの間で共通に利用される複数のインタフェース手段のうち、前記第1の処理要求に含まれる前記外部サービスの識別情報に対応する外部サービスとの間で共通に利用されるインタフェース手段を介して、該識別情報に対応する該外部サービスに対して前記第1の処理要求に基づく第2の処理要求を行う処理要求手段と、を有することにより、上記課題を解決する。
【選択図】 図4

Description

本発明は、情報処理システム、情報処理方法、情報処理装置及びプログラムに関する。
近年、クラウドコンピューティング等により多種多様な外部サービスが提供されるようになった。例えば画像形成装置で原稿をスキャンして取得した画像データについて、異なるデータ形式に変換するサービスや電子データを外部ストレージに保管するサービス等が知られている。
このような外部サービスの普及に伴い、複合機等の画像形成装置上で動作するアプリケーションが外部サービスと連携して処理を行う技術が知られている(例えば特許文献1参照)。
しかしながら、上記の従来技術においては、連携して処理を行う外部サービスを追加・変更等する場合、追加・変更等に係る外部サービスとの認証手段を提供するためのモジュールやデータ連携手段を提供するためのモジュール等を作成する必要があった。また、これらの各手段は、システム全体に点在する場合が多い。したがって、連携して処理を行う外部サービスが追加・変更等する度に、システム全体を変更しなければならなかった。
本発明の実施の形態は、上記の点に鑑みてなされたもので、連携して処理を行う外部サービスの追加を容易にすることを目的とする。
上記目的を達成するため、本発明の実施の形態は、1以上の情報処理装置を含む情報処理システムであって、前記情報処理装置の上で動作する第1のプログラムと連携して処理を行う1以上の外部サービスに対する第1の処理要求を受け付ける受付手段と、前記受付手段により前記第1の処理要求を受け付けると、前記1以上の外部サービスの間で共通に利用される複数のインタフェース手段のうち、前記第1の処理要求に含まれる前記外部サービスの識別情報に対応する外部サービスとの間で共通に利用されるインタフェース手段を介して、該識別情報に対応する該外部サービスに対して前記第1の処理要求に基づく第2の処理要求を行う処理要求手段と、を有することを特徴とする。
本発明の実施の形態によれば、連携して処理を行う外部サービスの追加を容易にすることができる。
第1の実施形態に係る情報処理システムの一例の構成図である。 コンピュータの一例のハードウェア構成図である。 第1の実施形態に係る画像形成装置の一例のハードウェア構成図である。 第1の実施形態に係る情報処理システムの一例の処理ブロック図である。 第1の実施形態に係る認証情報設定処理の一例のシーケンス図である。 サービス情報テーブルの一例の構成図である。 プロキシ変換情報テーブルの一例の構成図である。 外部ストレージ連携APIの一例を説明するための図である。 設定情報の一例を示す図である。 認証情報設定画面の一例のイメージ図である。 ユーザ情報テーブルの一例の構成図である。 第1の実施形態に係るデータ保存先情報設定処理の一例のシーケンス図である。 保存先フォルダ設定画面の一例のイメージ図である。 データ保存先情報テーブルの一例の構成図である。 第1の実施形態に係るデータアップロード処理の一例のシーケンス図である。 第2の実施形態に係る情報処理システムの一例の処理ブロック図である。 第2の実施形態に係る認証情報設定処理の一例のシーケンス図である。 設定情報の他の例を示す図である。 認可設定情報テーブルの一例の構成図である。 OAuth登録情報テーブルの一例の構成図である。 ユーザ情報テーブルの他の例の構成図である。 第2の実施形態に係るデータ保存先情報設定処理の一例のシーケンス図である。 第2の実施形態に係るデータアップロード処理の一例のシーケンス図である。 第2の実施形態に係るOAuthによる認可処理の一例のシーケンス図である。
以下、本発明の実施形態について図面を参照しながら説明する。
[第1の実施形態]
<システム構成>
図1は、第1の実施形態に係る情報処理システムの一例の構成図である。図1に示される情報処理システム1において、サービス提供環境E2、ユーザ環境E1及び外部ストレージシステム40等は、インターネット等の広域的なネットワークN1を介して通信可能に接続されている。
サービス提供環境E2は、ネットワークを介してクラウドサービス等の外部サービスを提供するシステム環境である。なお、本実施の形態では、外部サービスの具体例としてクラウドサービスを採用して説明するが、ASP(Application Service Provider)によって提供されるサービスやWebサービス等、ネットワークを介して提供されるサービスに関して本実施の形態が適用されてもよい。
サービス提供環境E2は、一台以上の情報処理装置で実現されるサービス提供システム20を有する。サービス提供システム20は、ネットワークを介して所定のサービスを提供する。例えば、サービス提供システム20は、ユーザ環境E1の画像形成装置10においてスキャンされた画像データを、予め設定された保存先に保存するサービスを提供する。本実施形態では、サービス提供環境E2は、クラウドサービスの一例として、外部ストレージシステム40と連携してクラウドストレージサービス(以降、単に「ストレージサービス」という)を提供するものとして説明する。なお、サービス提供システム20の全部又は一部は、ユーザ環境E1に設置されていてもよい。すなわち、サービス提供システム20を構成する情報処理装置の全部又は一部は、ユーザ環境E1に包含されていてもよい。
ユーザ環境E1は、例えば画像形成装置10を使用するユーザである企業等におけるシステム環境である。ユーザ環境E1において、一台以上の画像形成装置10と一台以上のPC端末30とはLAN(Local Area Network)等のネットワークを介して接続されている。
本実施形態に係る画像形成装置10は、スキャン機能を有する画像形成装置である。スキャン機能以外に、印刷、コピー、又はファックス(FAX)通信等の機能を有する複合機が画像形成装置10として用いられてもよい。
PC端末30は、ユーザ環境E1における画像形成装置10の利用者が使用する端末である。PC端末30は、PC(Personal Computer)の他、PDA(Personal Digital Assistance)、タブレット型端末、スマートフォン、携帯電話等が用いられてもよい。
外部ストレージシステム40は、ネットワークを介してストレージサービス(又はオンラインストレージ)と呼ばれるクラウドサービスを提供するコンピュータシステムである。ストレージサービスとは、外部ストレージシステム40のストレージの記憶領域を貸し出すサービスである。本実施形態では、外部ストレージシステム40によって貸し出される記憶領域は、サービス提供システム20によって提供されるストレージサービスにおいて、画像データの保存先の候補である。以降では、複数の外部ストレージシステム40について、各々を区別するときは、外部ストレージシステム40、外部ストレージシステム40、・・・と記載する。また、外部ストレージシステム40によって提供されるサービスの名称(サービス名)を「ストレージサービスA」、ストレージシステム40によって提供されるサービス名を「ストレージサービスB」、・・・とする。
なお、外部ストレージシステム40は、複数台の情報処理装置によって実現されるシステムであってもよい。また、図1に示される情報処理システム1の構成は一例であって、他の構成であってもよい。
<ハードウェア構成>
図1に示されるサービス提供システム20及びPC端末30は、例えば図2に示されるようなハードウェア構成のコンピュータにより実現される。
図2は、コンピュータの一例のハードウェア構成図である。図2のコンピュータ100は、入力装置101と、表示装置102と、外部I/F103と、RAM(Random Access Memory)104と、ROM(Read Only Memory)105と、CPU(Central Processing Unit)106と、通信I/F107と、HDD(Hard Disk Drive)108とを備え、それぞれがバスBで接続されている。
入力装置101はキーボードやマウス、タッチパネル等を含み、ユーザが各操作信号を入力するのに用いられる。表示装置102はディスプレイ等を含み、コンピュータ100による処理結果を表示する。なお、入力装置101及び表示装置102は必要なときに接続して利用する形態であってもよい。
通信I/F107はコンピュータ100をネットワークN1に接続するインタフェースである。これにより、コンピュータ100は通信I/F107を介してデータ通信を行うことができる。
また、HDD108は、プログラムやデータを格納している不揮発性の記憶装置の一例である。格納されるプログラムやデータには、コンピュータ100全体を制御する基本ソフトウェアであるOS(Operating System)、及びOS上において各種機能を提供するアプリケーションソフトウェア等がある。なお、コンピュータ100はHDD108に替え、記憶媒体としてフラッシュメモリを用いるドライブ装置(例えばソリッドステートドライブ:SSD)を利用するものであってもよい。
HDD108は格納しているプログラムやデータを所定のファイルシステム及び/又はDBにより管理している。外部I/F103は、外部装置とのインタフェースである。外部装置には、記録媒体103a等がある。
これにより、コンピュータ100は外部I/F103を介して記録媒体103aの読み取り及び/又は書き込みを行うことができる。記録媒体103aにはフレキシブルディスク、CD、DVD、SDメモリカード、USBメモリ等がある。
ROM105は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ(記憶装置)である。ROM105にはコンピュータ100の起動時に実行されるBIOS、OS設定、及びネットワーク設定等のプログラムやデータが格納されている。RAM104はプログラムやデータを一時保持する揮発性の半導体メモリ(記憶装置)である。
CPU106は、ROM105やHDD108等の記憶装置からプログラムやデータをRAM104上に読み出し、処理を実行することで、コンピュータ100全体の制御や機能を実現する演算装置である。サービス提供システム20及びPC端末30はコンピュータ100のハードウェア構成により、後述する各種処理を実現できる。
図1に示される画像形成装置10は、例えば図3に示されるようなハードウェア構成により実現される。図3は、第1の実施形態に係る画像形成装置の一例のハードウェア構成図である。図3に示される画像形成装置10は、コントローラ201と、操作パネル202と、外部I/F203と、通信I/F204と、スキャナ205とを備える。
コントローラ201はCPU211と、RAM212と、ROM213と、NVRAM214と、HDD215とを備える。ROM213は、各種プログラムやデータが格納されている。RAM212はプログラムやデータを一時保持する。NVRAM214は、例えば設定情報等が格納されている。また、HDD215は各種プログラムやデータが格納されている。
CPU211は、ROM213やNVRAM214、HDD215等からプログラムやデータ、設定情報等をRAM212上に読み出し、処理を実行することで、画像形成装置10全体の制御や機能を実現する。
操作パネル202はユーザからの入力を受け付ける入力部と、表示を行う表示部とを備えている。外部I/F203は外部装置とのインタフェースである。外部装置には、記録媒体203a等がある。これにより、画像形成装置10は外部I/F203を介して記録媒体203aの読み取り及び/又は書き込みを行うことができる。記録媒体203aにはICカード、フレキシブルディスク、CD、DVD、SDメモリカード、USBメモリ等がある。
通信I/F204は、画像形成装置10をネットワークN1に接続するインタフェースである。これにより、画像形成装置10は通信I/F204を介してデータ通信を行うことができる。スキャナ205は原稿から画像データ(電子データ)を読み取るための読取装置である。
<ソフトウェア構成>
本実施形態に係る情報処理システム1は、例えば図4に示されるような処理ブロックにより実現することができる。図4は、第1の実施形態に係る情報処理システムの一例の処理ブロック図である。なお、図4の情報処理システム1において、本実施形態の説明に不要な処理ブロックについては図示を省略している。
画像形成装置10は、1つ以上のクライアントアプリ11を有する。クライアントアプリ11は、サービス提供システム20と連携させるために、画像形成装置10にインストールされる必要のあるアプリケーションプログラムである。クライアントアプリ11は、後述するサーバアプリ22と連携し、利用できるストレージサービスの表示やストレージサービスへのデータの保存要求等を行う。なお、「クライアントアプリ」という用語は、サービス提供システム20側にインストールされる必要のあるアプリケーションプログラム(後述する「サーバアプリ22」)と区別するために便宜上用いた用語である。
なお、クライアントアプリ11とサーバアプリ22とが同一のプログラムであってもよい。また、クライアントアプリ11は、SDK(Software Development Kit)を利用して開発されたアプリケーションであるSDKアプリケーションを利用できる。
サービス提供システム20は、WebAPI21と、サーバアプリ22と、ポータルアプリ23と、サービス情報部24と、外部ストレージ配信部25と、認証部26と、プロキシ部27と、外部ストレージ共通フレームワーク28とを有する。これらは、サービス提供システム20にインストールされる一以上のプログラムによって構成され、CPU106等に所定の処理を実行させる。
また、サービス提供システム20は、サービス情報記憶部51と、ユーザ情報記憶部52と、データ保存先情報記憶部53と、プロキシ変換情報記憶部54とを利用する。これら各記憶部は、HDD108、又はサービス提供システム20とネットワークを介して接続される記憶装置等を用いて実現可能である。
WebAPI21は、画像形成装置10やPC端末30がサービス提供システム20を利用するためのインタフェースである。WebAPI21は、画像形成装置10やPC端末30からの各種要求をサーバアプリ22やポータルアプリ23等が受け付けるために設けられた予め定義されたインタフェースであり、例えば、関数やクラス等により構成される。
サーバアプリ22は、クライアントアプリ11と連携してサービス提供システム20が提供するストレージサービスを実現するアプリケーションプログラムである。サーバアプリ22は、外部ストレージ連携部221を有しており、クライアントアプリ11から所定の要求を受け付けると、外部ストレージ連携部221は、プロキシ部27を介して、ストレージサービスのディレクトリ情報取得API(Application Programming Interface)の呼び出し要求を外部ストレージ共通フレームワーク28に対して行う。なお、サーバアプリ22は、SDKを利用して開発されたアプリケーションであるSDKアプリケーションを利用できる。
ポータルアプリ23は、PC端末30に対して、外部ストレージシステム40におけるデータの保存先フォルダの設定や認証情報設定等を提供する。ポータルアプリ23は、UI生成部231を有しており、PC端末30からの要求を受け付けると、UI生成部231は、受け付けた要求に応じたUI(ユーザインタフェース)画面の生成を行う。
サービス情報部24は、利用できるストレージサービスの管理を行う。また、サービス情報部24は、他の各部からの依頼に応じて、サービス情報記憶部51から利用できるストレージサービスに関する情報(以降、「サービス情報」という)を取得する。
外部ストレージ配信部25は、サーバアプリ22からの所定の要求に応じて、外部ストレージシステム40にデータを保存するための処理を行う。外部ストレージ配信部25は、外部ストレージ連携部251を有しており、サーバアプリ22から所定の要求を受け付けると、外部ストレージ連携部251は、プロキシ部27を介して、データのアップロードAPIの呼び出し要求を外部ストレージ共通フレームワーク28に対して行う。
認証部26は、ユーザ毎の認証情報(以降、「ユーザ情報」という)の管理を行う。また、認証部26は、他の各部からの依頼に応じて、ユーザ情報記憶部52からユーザ情報を取得する。認証部26は、外部ストレージ共通認証部261を有し、外部ストレージ共通認証部261は、プロキシ部27を介して、外部ストレージシステム40へのログインAPIの呼び出し要求を外部ストレージ共通フレームワーク28に対して行う。
外部ストレージ共通フレームワーク28は、外部ストレージ連携API61と、ストレージサービス用アプリ62とを有する。また、外部ストレージ共通フレームワーク28は、外部ストレージサービスの設定情報記憶部63を利用する。
外部ストレージ連携API61は、ストレージサービス用アプリ62を利用するための共通のインタフェースである。外部ストレージ連携API61は、サービス提供システム20の各部からのAPIの呼び出し要求をストレージサービス用アプリ62が受け付けるために設けられた予め定義されたインタフェースであり、例えば、関数やクラス等により構成される。
ストレージサービス用アプリ62は、外部ストレージシステム40に対して、ディレクトリ情報の取得、データのアップロード、データのダウンロード等の各種処理を行うことができるプログラムである。ストレージサービス用アプリ62は、利用できるストレージサービス毎に存在する。例えば、ストレージサービスAを利用するためのストレージサービスA用アプリ62、ストレージサービスBを利用するためのストレージサービスB用アプリ62、・・・が存在する。なお、各ストレージサービス用アプリ62には、「アプリID」と「バージョン」とが対応付けられており、これらの情報は、ストレージサービスの名称とともに、サービス情報記憶部51においてサービス情報として管理される。
また、ストレージサービス用アプリ62は、それぞれ対応する設定情報記憶部63を利用する。設定情報記憶部63には、対応する外部ストレージサービスの設定情報が記憶されている。設定情報は、UI生成部231がユーザインタフェースを生成するために必要な情報が指定されている。
プロキシ部27は、他の各部から外部ストレージシステム40に対する各種要求を受け付けると、プロキシ変換情報記憶部54のプロキシ変換情報テーブルを参照し、対応するホスト情報(アドレス情報)に要求を転送する。例えば、プロキシ部27は、外部ストレージシステム40(ストレージサービスA)に対する要求を受け取った場合、プロキシ変換情報テーブルを参照し、ストレージサービスA用アプリ62が動作するホストに、この要求を転送する。
より具体的に説明すると、ストレージサービスA用アプリ62(アプリID「appA」)がホスト情報「aaa.xxx.co.jp」の装置に存在し、ストレージサービスB用アプリ62(アプリID「appB」)がホスト情報「bbb.xxx.co.jp」の装置に存在するとする。このとき、プロキシ部27は、プロキシ変換情報テーブルを参照し、受け取った要求に含まれるアプリIDが「appA」である場合、この要求を「aaa.xxx.co.jp」に転送し、他方、受け取った要求に含まれるアプリIDが「appB」である場合、この要求を「bbb.xxx.co.jp」に転送する。換言すれば、プロキシ部27は、所望のストレージサービス用アプリ62が搭載されている(動作している)ホスト情報の装置に対して、受け取った要求を転送する。
なお、異なるホスト情報が同一の装置で実現されてもよいし、複数台の装置で実現されていてもよい。他方、例えば外部ストレージ共通フレームワーク28が一台の情報処理装置で実現されており、かつ、一つのホスト情報のみを有する場合等は、サービス提供システム20は、プロキシ部27を有していなくてもよい。
また、サービス情報記憶部51は、サービス情報を記憶する。ユーザ情報記憶部52は、ユーザ情報を記憶する。データ保存先情報記憶部53は、データ保存先情報を記憶する。プロキシ変換情報記憶部54は、プロキシ変換情報を記憶する。外部ストレージサービスの設定情報記憶部63は、設定情報を記憶する。
なお、上述したように、サービス提供システム20の処理ブロックは、複数台の情報処理装置により構成されていてもよい。例えば、プロキシ部27とプロキシ変換情報記憶部54とを一台の情報処理装置で構成し、外部ストレージ共通フレームワーク28を複数台の情報処理装置で構成して運用してもよい。
以上のように本実施形態に係るサービス提供システム20は、各ストレージサービスを利用するための外部ストレージ共通フレームワーク28を有する。また、外部ストレージ共通フレームワーク28は、各ストレージサービス用アプリ62を利用するための共通に定義されたAPIである外部ストレージ連携API61を有する。したがって、利用できるストレージサービスを追加・変更等する場合、外部ストレージ連携API61を利用することにより、システム全体に影響を与えることなくストレージサービス用アプリ62を追加・変更等を行うことができる。換言すれば、ストレージサービスの追加・変更等に伴うサービス提供システム20への影響を、外部ストレージ共通フレームワーク28の中だけに限定させることができる。なお、外部ストレージ連携API61は、例えばサードベンダー等に公開してもよい。
<処理の詳細>
次に、本実施形態に係る情報処理システムの処理の詳細について説明する。
《認証情報設定処理》
まず、情報処理システム1のユーザが利用することができるストレージサービスの認証情報を設定する処理について説明する。図5は、第1の実施形態に係る認証情報設定処理の一例のシーケンス図である。
ステップS501において、ユーザがPC端末30を操作してユーザ情報編集画面へ遷移させる。これは、例えば、PC端末30のWebブラウザ(不図示)等を用いて、WebAPI21を介して、サービス提供システム20のポータルアプリ23が提供するポータルサイトにログインし、このポータルサイトで所定のボタンを押下することでユーザ情報編集画面に遷移させることができる。なお、ユーザがポータルサイトにログインする際には、ユーザID、パスワード等を入力する。ここで、後述する外部ストレージシステム40にログインするためのユーザID及びパスワードと区別するため、サービス提供システム20にログインするためのユーザID及びパスワードを、以降では便宜的に、利用者ID及び利用者パスワードと呼ぶ。
ステップS502において、ポータルアプリ23は、サービス情報部24に対してサービス情報の取得を依頼する。サービス情報部24は、ポータルアプリ23からサービス情報の取得依頼を受け付けると、サービス情報記憶部51に記憶されている図6に示すようなサービス情報テーブルを取得し、ポータルアプリ23に送信する。
図6は、サービス情報テーブルの一例の構成図である。サービス情報テーブルは、ストレージサービスを利用するためのストレージサービス用アプリ62の情報を管理している。サービス情報テーブルは、「アプリID」、「外部ストレージサービス名」及び「バージョン」等のデータ項目を有する。「アプリID」は、利用可能な外部ストレージシステム40に対して各種処理を要求するためのストレージサービス用アプリ62の識別情報である。「外部ストレージサービス名」は、外部ストレージシステム40が提供するサービスの名称である。「バージョン」は、ストレージサービス用アプリ62のバージョン情報である。
例えば、図6に示すサービス情報テーブルの1レコード目には、ストレージサービスA用アプリ62のアプリID「app001」、外部ストレージシステム40が提供するサービス名「ストレージサービスA」、ストレージサービスA用アプリ62のバージョン情報「v1」が記憶されている。
なお、図6に示されるサービス情報テーブルでは、同一のアプリIDであっても異なるバージョンのストレージサービス用アプリ62は別々に管理しているが、バージョンに関わらず同一のアプリIDを1レコードで管理してもよい。
次に、ステップS503及びステップS504の処理を、ステップS502に取得したサービス情報テーブルに含まれるレコード数の回数繰り返し行う。
ステップS503において、ポータルアプリ23は、ステップS502で取得したサービス情報テーブルからレコードを1件取得し、このレコードのアプリID及びバージョンを含む設定情報取得APIの呼び出し要求をプロキシ部27に送信する。
ステップS504において、プロキシ部27は、アプリID及びバージョンを含む設定情報取得APIの呼び出し要求を受け取ると、図7に示すようなプロキシ変換情報テーブルを参照し、該当のホスト名に対して設定情報取得APIの呼び出し要求を転送する。
図7は、プロキシ変換情報テーブルの一例の構成図である。プロキシ変換情報テーブルは、アプリIDに対応した転送先のホスト名を管理している。プロキシ変換情報テーブルは、「アプリID」、「転送先ホスト情報」等のデータ項目を有する。「アプリID」は、上述したようにストレージサービス用アプリ62の識別情報である。「転送先ホスト名」は、プロキシ部27が受け付けた各種要求を転送する転送先のホスト名である。
例えば、プロキシ部27が受け取った設定情報取得APIの呼び出し要求に含まれるアプリID及びバージョンがそれぞれ「app001」及び「v2」である場合、プロキシ部27は、図7に示すプロキシ変換情報テーブルを参照し、この設定情報取得APIの呼び出し要求を「aaa.xxx.co.jp」に転送する。一方、プロキシ部27が受け取った要求に含まれるアプリID及びバージョンがそれぞれ「app002」及び「v1」である場合、プロキシ部27は、この要求を「bbb.xxx.co.jp」に転送する。このように、プロキシ部27は、受け取った要求に含まれるアプリIDに応じて、この要求を転送先ホスト情報に指定されたホストに転送する。なお、転送先ホスト情報に代えて、転送先を示すIPアドレス等を用いてもよい。これら転送先ホスト情報、IPアドレス等は、アドレス情報の一例である。
そして、プロキシ部27が転送した設定情報取得APIの呼び出し要求より、外部ストレージ連携API61の設定情報取得APIが呼び出され、該当の外部ストレージ用アプリ62は設定情報の取得を行う。より具体的には、外部ストレージ連携API61は、アプリID及びバージョンを含む設定情報取得APIの呼び出し要求を受け取ると、設定情報取得APIを呼び出し、この呼び出し要求に含まれるアプリID及びバージョンに対応する外部ストレージ用アプリ62に対して設定情報の取得を依頼する。外部ストレージ用アプリ62は、設定情報記憶部63から設定情報を取得し、プロキシ部27を介して、設定情報をポータルアプリ23に送信する。
なお、サービス提供システム20がプロキシ部27を有さない構成である場合、上記のステップS503において、ポータルアプリ23は、外部ストレージ連携API61に対して直接、設定情報取得APIの呼び出し要求を行う。
ここで、外部ストレージ連携API61について、図8を用いて説明する。図8は、外部ストレージ連携APIの一例を説明するための図である。外部ストレージ連携API61は、外部ストレージシステム40に対して各種処理要求を行うためのAPIを定義している。図8において、外部ストレージシステム40の設定情報を取得するためのAPIは、エンドポイント「/アプリID/バージョン/info」で定義されている。したがって、外部ストレージシステム40(ストレージサービスA)の設定情報を取得するためには、例えばアプリID「app001」、バージョン「v2」を指定した設定情報取得APIの呼び出し要求を外部ストレージ連携API61に送信すればよい。これにより、ストレージサービスA用アプリ62によりストレージサービスAの設定情報記憶部63から設定情報が取得される。このように、外部ストレージ連携API61は、エンドポイントのうち「アプリID」及び「バージョン」が可変部分として定義されており、「アプリID」及び「バージョン」が指定されることにより、この「アプリID」及び「バージョン」に対応するストレージサービス用アプリ62に処理を依頼する。これにより、サービス提供システム20に対してストレージサービス用アプリ62を追加・変更等する場合においても、外部ストレージ連携API61の修正等を行う必要がない。
ここで、設定情報記憶部63に記憶されている設定情報は、例えば図9に示すような情報である。図9は、設定情報の一例を示す図である。図9では、一例として、設定情報記憶部63に記憶されているストレージサービスAの設定情報1000を示している。後述するステップS505の画面生成処理において、この設定情報1000に基づき、ストレージサービスAの認証情報を設定するためのUI画面(認証情報設定画面)が生成される。図9の各情報1100〜1200は、UI画面を生成するための情報である。
次に、ステップS505において、上記のステップS503及びステップS504の処理において取得した各ストレージサービスの設定情報に基づいて、ポータルアプリ23は、認証情報を設定するためのUI画面(認証情報設定画面)を生成する。
ここで、図9に示す設定情報1000に基づき、例えば図10に示すようなUI画面が生成される。図10は、認証情報設定画面の一例のイメージ図である。例えば、図9の情報1100からタイトル部2100が生成される。また、図9の情報1200からユーザID入力部2200が、図9の情報1300からパスワード入力部2300が生成される。このように、ポータルアプリ23は、取得した設定情報からストレージサービスの認証情報を設定するための画面を生成する。図9及び図10では、認証情報としてユーザIDとパスワードとが設定される場合を一例として示したが、これに限られず、例えば、ユーザIDとパスワードに加えて、企業名等を認証情報として設定することができてもよい。なお、どのような項目を認証情報として設定することができるかは、ストレージサービス毎に予め決定されている。なお、図9に示す設定情報1000は、JSON(JavaScript Object Notation)で記述されているが、これに限られず、例えばXML(Extensible Markup Language)等で記述されていてもよい。
また、このとき、ポータルアプリ23は、認証情報の設定を行うことができるストレージサービスの一覧を表示するための画面を生成し、PC端末30の表示装置102に表示させる。ユーザがこのストレージサービスの一覧から所望のストレージサービスを選択すると、上記のステップS505において生成した認証情報設定画面に遷移することができる。
ステップS506において、ユーザはPC端末30を操作して、ストレージサービス一覧から所望のストレージサービスを選択すると、選択したストレージサービスの認証情報設定画面に遷移する。
ステップS507において、ユーザはPC端末30を操作して、認証情報設定画面から認証情報(例えば、ユーザIDとパスワード)を入力して認証情報を設定する。例えば、ユーザがストレージサービスAの認証情報を設定する場合、図10に示す認証情報設定画面2000においてユーザIDとパスワードを入力し、設定ボタン2400を押下する。すると、PC端末30は、ユーザIDとパスワードとを含む認証情報の保存要求をポータルアプリ23に送信する。なお、ここで入力するユーザID及びパスワードは、ユーザが所望のストレージサービスにログインするためのユーザID及びパスワードである。したがって、ユーザは、予め利用するストレージサービスのユーザID及びパスワードを入手しておく必要がある。
ステップS508において、ポータルアプリ23は、PC端末30から受け取った認証情報の保存要求を認証部26に送信する。そして、認証部26は、認証情報の保存要求に含まれる認証情報(ストレージサービスのユーザID及びパスワード等)を、利用者IDとアプリIDと関連付けてユーザ情報記憶部52の例えば図11に示すようなユーザ情報テーブルに保存する。
図11は、ユーザ情報テーブルの一例の構成図である。ユーザ情報管理テーブルは、「利用者ID」、「アプリID」、「認証情報」等のデータ項目を有する。「利用者ID」は、サービス提供システム20を利用するための利用者IDである。「認証情報」は、アプリIDに対応するストレージサービスに対する認証情報である。「認証情報」は、複数のデータ項目を有している。例えば「Key1」はストレージサービスの認証に用いるユーザID、「Key2」は認証に用いるパスワード、「Key3」は認証に用いる企業名等である。例えば、図14の示すユーザ情報テーブルの1レコード目は、上記のステップS507において、利用者ID「Tony」のユーザが、ストレージサービスAのユーザIDを「user001」、パスワードを「pass001」と設定した場合に保存されるレコードである。
以上により、本実施形態に係るサービス提供システム20では、ユーザは、PC端末30から所望のストレージサービスの認証情報を設定することができる。また、認証情報設定画面を生成するための設定情報は、外部ストレージ共通フレームワーク28を用いて取得することができる。したがって、サービス提供システム20が提供するストレージサービスを追加する場合、又はサービス提供システム20が提供しているストレージサービスの設定情報を変更する場合においても、外部ストレージ共通フレームワーク28内だけに追加・変更に伴う影響を限定させることができる。
《データ保存先情報設定処理》
次に、情報処理システム1のユーザが利用することができるストレージサービスについて、データの保存先情報を設定する処理について説明する。図12は、第1の実施形態に係るデータ保存先情報設定処理の一例のシーケンス図である。
ステップS1201において、ユーザがPC端末30を操作して、データの保存先情報を設定する所望のストレージサービスを選択する。すると、PC端末30は、選択したストレージサービスのディレクトリ情報取得要求を、WebAPI21を介して、ポータルアプリ23に送信する。ディレクトリ情報取得要求には、利用者IDと、選択したストレージサービスに対応するストレージサービス用アプリ62のアプリIDとが含まれる。
なお、上記のステップS1201において、ユーザは、例えばPC端末30のWebブラウザ(不図示)等を用いて、予めポータルアプリ23が提供するポータルサイトにログインしているものとする。
ステップS1202において、ポータルアプリ23は、ディレクトリ情報取得要求をサーバアプリ22に転送する。
ステップS1203において、サーバアプリ22は、ディレクトリ情報を取得するため、認証部26に対して、ステップS1201で選択したストレージサービスに対するログイン要求を送信する。
ステップS1204において、認証部26の外部ストレージ共通認証部261は、ログイン要求に含まれる利用者IDとアプリIDとに基づいてユーザ情報記憶部52のユーザ情報テーブルから認証情報を取得し、アプリIDと、バージョンと、取得した認証情報とを含むログインAPIの呼び出し要求をプロキシ部27に対して送信する。このように、プロキシ部27(又は外部ストレージ共通フレームワーク28)との通信は外部ストレージ共通認証部261が行う。換言すれば、認証部26が外部ストレージ連携API61を利用するためには、外部ストレージ共通認証部261を介して行う。
ここで、取得する認証情報は、例えば、利用者IDが「Tony」、アプリIDが「app001」である場合、認証部26は、図11に示すユーザ情報管理テーブルから認証情報としてKey1「user001」及びKey2「pass001」を取得する。ここで取得したKey1及びKey2が、外部ストレージシステム40が提供するストレージサービスAにログインするためのユーザID及びパスワードである。
ステップS1205において、プロキシ部27は、アプリID及びバージョンを含むログインAPIの呼び出し要求を受け取ると、図7に示すようなプロキシ変換情報テーブルを参照し、該当のホスト名に対してログインAPIの呼び出し要求を転送する。そして、プロキシ部27が転送したログインAPIの呼び出し要求により、外部ストレージ連携API61のログインAPIが呼び出される。より具体的には、外部ストレージ連携API61は、アプリIDとバージョンと認証情報とを含むログインAPIの呼び出し要求を受け取ると、ログインAPIを呼び出し、この呼び出し要求に含まれるアプリID及びバージョンに対応するストレージ用アプリ62に対してログイン要求を依頼する。例えば、ログイン要求に含まれるアプリIDが「app01」、バージョンが「v2」である場合、外部ストレージ連携API61は、ストレージサービスA用アプリ62に対してログイン要求を依頼する。
ステップS1206において、ストレージサービス用アプリ62は、外部ストレージシステム40に対してログイン要求を行う。そして、外部ストレージシステム40は、受け取ったログイン要求に含まれる認証情報に基づき、認証を行い、ストレージサービス用アプリ62を介して認証結果を示す情報をサーバアプリ22に送信する。このとき、認証結果を示す情報には、例えば、PC端末30と外部ストレージシステム40とのセッションを管理するためのトークン(例えばCookie)を含めてもよい。なお、以降では、外部ストレージシステム40に対するログインが成功したものとして説明を続ける。
ステップS1207において、サーバアプリ22の外部ストレージ連携部221は、ディレクトリ情報取得APIの呼び出し要求をプロキシ部27に対して送信する。このように、プロキシ部27(又は外部ストレージ共通フレームワーク28)との通信は外部ストレージ連携部221が行う。換言すれば、サーバアプリ22が外部ストレージ連携API61を利用するためには、外部ストレージ連携部221を介して行う。これにより、例えば、サードベンダがSDKによりサーバアプリ22を開発する場合等において、外部ストレージ連携部221として機能するモジュール等を用いることにより容易に外部ストレージ連携API61を利用することができる。なお、ポータルアプリ23についても外部ストレージ連携部を有していてもよい。
ステップS1208において、プロキシ部27は、アプリID及びバージョンを含むディレクトリ情報取得APIの呼び出し要求を受け取ると、図7に示すようなプロキシ変換情報テーブルを参照し、該当のホスト名に対してディレクトリ情報取得APIの呼び出し要求を転送する。そして、プロキシ部27が転送したディレクトリ情報取得APIの呼び出し要求により、外部ストレージ連携API61のディレクトリ情報取得APIが呼び出される。より具体的には、外部ストレージ連携API61は、アプリIDとバージョンとを含むディレクトリ情報取得APIの呼び出し要求を受け取ると、ディレクトリ情報取得APIを呼び出し、この呼び出し要求に含まれるアプリID及びバージョンに対応する外部ストレージ用アプリ62に対してディレクトリ情報取得要求を依頼する。例えば、ディレクトリ情報取得要求に含まれるアプリIDが「app01」、バージョンが「v2」である場合、外部ストレージ連携API61は、ストレージサービスA用アプリ62に対してディレクトリ情報取得を依頼する。
ステップS1209において、ストレージサービス用アプリ62は、外部ストレージシステム40に対してディレクトリ情報の取得要求を行う。そして、外部ストレージシステム40は、ディレクトリ情報をストレージサービス用アプリ62を介してPC端末30に送信する。なお、ここで取得されるディレクトリ情報は、ステップS1206でログインしたユーザの外部ストレージシステム40のディレクトリ情報である。換言すれば、ステップS1201でユーザが選択したストレージサービスのディレクトリ情報である。ここで、ディレクトリ情報は、例えば、ディレクトリを構成するフォルダIDと親フォルダIDとの組である。
ステップS1210において、PC端末30は、受け取ったディレクトリ情報に基づき、外部ストレージシステム40におけるデータの保存先を設定するための例えば図13に示すような保存先フォルダの設定画面3000を表示装置102等に表示させる。図13は、保存先フォルダ設定画面の一例のイメージ図である。図13は、外部ストレージシステム40が提供するストレージサービスAにおける保存先フォルダの設定画面3000を一例として示している。この保存先フォルダの設定画面3000において、例えば、ユーザがデータの保存先として「保存先フォルダ1」を選択し、設定ボタン3100を押下すると、このユーザのストレージサービスAにおけるデータの保存先として「保存先フォルダ1」が設定される。
ステップS1211において、PC端末30は、ステップS1210で設定したデータ保存先情報の保存要求をポータルアプリ23に対して送信する。
ステップS1212において、ポータルアプリ23は、受け取ったデータ保存先情報の保存要求をサーバアプリ22に送信する。そして、サーバアプリ22は、受け取ったデータ保存先情報をデータ保存先情報記憶部53の図14に示すようなデータ保存先情報テーブルに保存する。
図14は、データ保存先情報テーブルの一例の構成図である。図14に示されるデータ保存先情報テーブルは、「利用者ID」、「アプリID」、「保存先」等のデータ項目を有する。「保存先」は、アプリIDに対応するストレージサービスにおける、利用者IDに対応するユーザのデータの保存先情報である。例えば、図14において、利用者ID「Tony」のストレージサービスA(アプリID「app001」)におけるデータの保存先は「ストレージサービスA/画像データ/保存先フォルダ1」に設定されていることを示している。後述するデータアップロード処理において、データを外部ストレージシステム40に保存する場合、「保存先」のデータ項目に設定されている保存先フォルダにデータが保存される。
以上により、本実施形態に係るサービス提供システム20では、ユーザは、PC端末30から所望のストレージサービスのデータ保存先情報を設定することができる。保存先フォルダ設定画面を生成するためのディレクトリ情報は、外部ストレージ共通フレームワーク28を用いて取得することができる。したがって、サービス提供システム20が提供するストレージサービスを追加する場合においても、外部ストレージ共通フレームワーク28内だけに追加に伴う影響を限定させることができる。
《データアップロード処理》
次に、情報処理システム1のユーザが画像形成装置10で原稿をスキャンして生成した画像データを、所望の外部ストレージシステム40に保存(アップロード)する処理について説明する。図15は、第1の実施形態に係るデータアップロード処理の一例のシーケンス図である。
ステップS1501において、ユーザは例えば利用者ID及び利用者パスワードを入力して画像形成装置10にログインし、画像データの保存(アップロード)先の外部ストレージシステム40(ストレージサービス)を選択する。そして、ユーザは画像形成装置10において、原稿をスキャンして画像データを生成する。すると、画像形成装置10のクライアントアプリ11は、画像データのアップロード要求をサーバアプリ22に送信する。このアップロード要求には、利用者IDと、生成した画像データと、選択したストレージサービスに対応するストレージサービス用アプリ62のアプリIDとが含まれる。
ステップS1502において、サーバアプリ22は、画像形成装置10のクライアントアプリ11から画像データのアップロード要求を受け取ると、この画像データを外部ストレージシステム40にアップロードするためのジョブを外部ストレージ配信部25に依頼する。
ステップS1503において、外部ストレージ配信部25は、サーバアプリ22からジョブの依頼を受け付けると、外部ストレージ連携部221に画像データのアップロードを依頼する。なお、このときサーバアプリ22は、データ保存先情報記憶部53のデータ保存先情報テーブルから保存先情報を取得し、画像データとこの画像データの保存先情報を含むジョブを生成し、外部ストレージ連携部221にアップロードを依頼する。例えば、ステップS1501においてユーザ(利用者ID「Tony」)が画像データのアップロード先としてストレージシステムA(アプリID「app001」)を選択した場合、サーバアプリ22は、保存先情報として「ストレージサービスA/画像データ/保存先フォルダ1」をデータ保存先情報テーブルから取得する。
ステップS1504において、外部ストレージ連携部251は、画像データをアップロードするため、認証部26に対して、ステップS1501で選択したストレージサービスに対するログイン要求を送信する。
ステップS1505において、認証部26の外部ストレージ共通認証部261は、ログイン要求に含まれる利用者IDとアプリIDとに基づいてユーザ情報記憶部52のユーザ情報テーブルから認証情報を取得し、アプリIDとバージョンと取得した認証情報とを含むログインAPIの呼び出し要求をプロキシ部27に対して送信する。
取得する認証情報は、例えば、利用者IDが「Tony」、アプリIDが「app001」である場合、認証部26は、図11に示すユーザ情報管理テーブルから認証情報としてKey1「user001」及びKey2「pass001」を取得する。ここで取得したKey1及びKey2が、外部ストレージシステム40が提供するストレージサービスAにログインするためのユーザID及びパスワードである。
ステップS1506において、プロキシ部27は、アプリID及びバージョンを含むログインAPIの呼び出し要求を受け取ると、図7に示すようなプロキシ変換情報テーブルを参照し、該当のホスト名に対してログインAPIの呼び出し要求を転送する。そして、プロキシ部27が転送したログインAPIの呼び出し要求により、外部ストレージ連携API61のログインAPIが呼び出される。より具体的には、外部ストレージ連携API61は、アプリIDとバージョンと認証情報を含むログインAPIの呼び出し要求を受け取ると、ログインAPIを呼び出し、この呼び出し要求に含まれるアプリID及びバージョンに対応する外部ストレージ用アプリ62に対してログイン要求を依頼する。例えば、ログイン要求に含まれるアプリIDが「app01」、バージョンが「v2」である場合、外部ストレージ連携API61は、ストレージサービスA用アプリ62に対してログイン要求を依頼する。
ステップS1507において、ストレージサービス用アプリ62は、外部ストレージシステム40に対してログイン要求を行う。そして、外部ストレージシステム40は、受け取ったログイン要求に含まれる認証情報に基づき、認証を行い、ストレージサービス用アプリ62を介して認証結果を示す情報をサーバアプリ22に送信する。このとき、認証結果を示す情報には、例えば、画像形成装置10と外部ストレージシステム40とのセッションを管理するためのトークン(例えばCookie)を含めてもよい。なお、以降では、外部ストレージシステム40に対するログインが成功したものとして説明を続ける。
ステップS1508において、外部ストレージ連携部251は、データアップロードAPIの呼び出し要求をプロキシ部27に対して送信する。
ステップS1509において、プロキシ部27は、アプリIDとバージョンと画像データとを含むデータアップロードAPIの呼び出し要求を受け取ると、図7に示すようなプロキシ変換情報テーブルを参照し、該当のホスト名に対してデータアップロードAPIの呼び出し要求を転送する。そして、プロキシ部27が転送したデータアップロードAPIの呼び出し要求により、外部ストレージ連携API61のデータアップロードAPIが呼び出される。より具体的には、外部ストレージ連携API61は、アプリIDとバージョンと画像データとを含むデータアップロードAPIの呼び出し要求を受け取ると、データアップロードAPIを呼び出し、この呼び出し要求に含まれるアプリID及びバージョンに対応する外部ストレージ用アプリ62に対して画像データのアップロード要求を依頼する。例えば、ディレクトリ情報取得要求に含まれるアプリIDが「app01」、バージョンが「v2」である場合、外部ストレージ連携API61は、ストレージサービスA用アプリ62に対してデータアップロード要求を依頼する。
ステップS1510において、ストレージサービス用アプリ62は、外部ストレージシステム40に対して、画像データのアップロード要求を行う。そして、外部ストレージシステム40は、アップロード要求に含まれる保存先情報が示すフォルダに画像データを保存する。
以上により、本実施形態に係るサービス提供システム20では、ユーザが画像形成装置10で原稿をスキャンして生成した画像データを、所望のストレージサービス(外部ストレージシステム40)の所望のフォルダに保存(アップロード)することができる。また、所望の外部ストレージシステム40への画像データのアップロードは、外部ストレージ共通フレームワーク28を用いて行うことができる。したがって、サービス提供システム20が提供するストレージサービスを追加・削除等する場合においても、外部ストレージ共通フレームワーク28内だけに追加・削除に伴う影響を限定させることができる。
[第2の実施形態]
次に、第2の実施形態に係る情報処理システム1について説明する。第2の実施形態に係る情報処理システム1では、OAuthを用いて外部ストレージシステム40との認証及びWebAPIの認可を行う点が第1の実施形態と異なる。なお、以降では、第1の実施形態と実質的に同一の機能を有する箇所及び同一の処理を行う箇所については、第1の実施形態と同一の符号を用いて、その説明を省略する。
<ソフトウェア構成>
本実施形態に係る情報処理システム1は、例えば図16に示されるような処理ブロックにより実現することができる。図16は、第2の実施形態に係る情報処理システムの一例の処理ブロック図である。図16に示すように、第2の実施形態に係るサービス提供システム20は、認証部26Aの機能が異なる。また、第2の実施形態に係るサービス提供システム20は、認可設定情報記憶部55及びOAuth登録情報記憶部56を利用する。さらに、第2の実施形態にユーザ情報記憶部52A及びストレージサービスの設定情報記憶部63に記憶される情報が異なる。なお、認可設定情報記憶部55及びOAuth登録情報記憶部56は、HDD108、又はサービス提供システム20とネットワークを介して接続される記憶装置等を用いて実現可能である。
認証部26Aは、ユーザ情報、認可設定情報、及びOAuth登録情報の管理を行う。また、認証部26Aは、他の各部からの依頼に応じて、ユーザ情報、認可設定情報、及びOAuth登録情報に基づき、認可トークンを取得する。さらに、認証部26Aは、例えばサーバアプリ22からの要求に応じて、認可トークンを返信する。ここで、認可トークンとは、OAuthにおける外部ストレージシステム40の認証及びWebAPIの認可に用いられるセキュリティトークンである。OAuthでは、この認可トークンを基づき外部ストレージシステム40のアクセス制御が行われる。認可トークンには、後述するように、スコープが関連付けられており、認可トークンを用いることでスコープに指定されたリソース(WebAPI)に対するアクセスが許可(認可)される。
また、認可設定情報記憶部55は、認可設定情報を記憶する。OAuth登録情報記憶部56は、OAuth登録情報を記憶する。
<処理の詳細>
次に、本実施形態に係る情報処理システムの処理の詳細について説明する。
≪認証情報設定処理≫
まず、情報処理システム1のユーザが利用することができるストレージサービスの認証情報を設定する処理について説明する。図17は、第2の実施形態に係る認証情報設定処理の一例のシーケンス図である。本実施形態では、OAuthを用いて設定される認証情報(ユーザ情報)には、ストレージサービス毎の認可トークン及びスコープが含まれる。この設定を行うことにより、ユーザは、サービス提供システム20に対して外部ストレージシステム40のリソースに対するアクセス権限を委譲することができる。なお、第2の実施形態に係る認証情報設定処理は、ステップS1701〜S1708の処理が第1の実施形態と異なる。したがって、以降では、これらの処理について説明する。ただし、ステップS504において取得される設定情報は、例えば図18に示すような設定情報1000Aであるものとする。図18に示す設定情報1000Aは、一例として、設定情報記憶部63Aに記憶されているストレージサービスAの設定情報1000Aを示している。第1の実施形態と異なり、設定情報1000Aには、UI画面を生成するための情報1100〜1200は含まれておらず、認証にOAuthを用いることを示す情報1300が含まれている。このように、設定情報1000Aに情報1300が含まれている場合、UI画面の生成はポータルアプリ23で行われず、各外部ストレージシステム40で行われる(すなわち、UI画面の生成が各外部ストレージシステム40に委譲される)。
なお、本実施形態では、ステップS504で取得されるすべてのストレージサービスの設定情報に、認証にOAuthを用いることを示す情報が指定されている場合について説明する。ただし、これに限られず、認証にOAuthを用いないストレージサービスの設定情報が含まれていてもよい。この場合、認証にOAuthを用いないストレージサービスに対する認証情報設定処理については第1の実施形態で説明した通りである。
ステップS1701において、ユーザはPC端末30を操作して、ストレージサービス一覧から所望のストレージサービス(例えば、ストレージサービスA)を選択して、OAuthの認可設定を行う。ここで、認可設定とは、例えば、所望のストレージサービスに対する認可トークンのスコープの設定である。ユーザは、スコープを指定することで、サービス提供システム20がアクセス可能なリソース(WebAPI)を制限することができる。例えば、「ファイルの読み取りのみ許可することを示すスコープ」を指定することで、サービス提供システム20に対して外部ストレージシステム40におけるファイルの読み取り権限を委譲することができる。すなわち、サービス提供システム20は、外部ストレージシステム40が提供するWebAPIを用いて、該当のユーザのファイルの読み取りを行うことができる。本実施形態のように、外部ストレージシステム40に対するデータのアップロード処理を行う場合、ユーザは、少なくとも「ファイルの書き込みを許可することを示すスコープ」を指定する必要がある。なお、スコープは、サービス提供システム20により指定されるようにしてもよい。
ステップS1702において、PC端末30のWebブラウザ(不図示)は、認可設定要求をポータルアプリ23に送信する。ここで、認可設定要求には、ユーザの利用者IDと、上記のステップS1701で選択されたストレージサービスを示す情報(例えば、アプリID「app001」)と、指定されたスコープを示す情報とが含まれる。
ステップS1703において、ポータルアプリ23は、PC端末30から受け取った認可設定要求を認証部26Aに送信する。
ステップS1704において、認証部26Aは、受け取った認可設定要求に含まれるユーザの利用者IDと、ストレージサービスを示す情報(これを以降、「外部ストレージサービスID」と表す)と、スコープを示す情報とを認可設定情報記憶部55に記憶されている図19に示すような認可設定情報テーブルに保存する。また、認証部26Aは、OAuth登録情報記憶部に記憶されているOAuth登録情報テーブルから該当のクライアントIDを取得して、上記の認可設定情報として保存する。さらに、認証部26Aは、このとき保存された認可設定情報に対して、認可設定情報IDを付与する。
したがって、例えば、利用者IDが「Tony」、外部ストレージサービスIDが「app001」、スコープが「aa」及び「bb」である場合、OAuth登録情報テーブルからクライアントID「AAAAAAA」が取得されるとともに、情報処理システム1内で一意な認可設定情報ID「03jigawoea2」が採番され、図19に示す認可設定情報テーブルの1行目のレコードが認可設定情報記憶部55に格納される。なお、このとき、「リフレッシュトークン」は未指定(ブランク)である。
そして、認証部26Aは、上記の認可設定情報の保存が完了すると、認可設定情報IDと、OAuth登録情報テーブルから該当の外部ストレージサービスIDのレコードとを、ポータルアプリ23を介して、PC端末30に返信する。例えば、認可設定要求に含まれる外部ストレージサービスIDが「app001」である場合、図20に示すOAuth登録情報テーブルの1行目のレコードをPC端末30に返信する。
ステップS1705において、PC端末30のWebブラウザ(不図示)は、受け取ったOAuth登録情報に含まれる認可サーバURLにアクセス(リダイレクト)する。ここで、認可サーバURLとは、該当の外部ストレージシステム40に対する認証を行うための画面(例えばログイン画面)等のURLである。このような画面において、ユーザは、該当の外部ストレージシステム40に対して認証を行うための情報(例えば、ユーザID及びパスワード等)を入力して認証を行う。そして、外部ストレージシステム40は、認証結果をPC端末30に返信する。以降では、外部ストレージシステム40に対する認証が成功したものとして説明を続ける。
ステップS1706において、PC端末30のWebブラウザ(不図示)は、認証成功を示す認証結果を受け取ると、認可要求を該当の外部ストレージサービス40に送信する。ここで、認可要求には、OAuth登録情報から取得したクライアントID及びリダイレクト先のURL、並びにステップS1701で指定したスコープ等の情報が含まれる。そして、外部ストレージシステム40は、認可要求に対する認可応答を示す認可コードを発行し、PC端末30のWebブラウザ(不図示)をリダイレクト先のURLにリダイレクトさせる。
なお、上記のステップS1705で認証が成功した後、PC端末30のWebブラウザ(不図示)に、サービス提供システム20に対して該当の外部ストレージシステム40へのOAuthを用いたアクセスを許可するか否かを選択させるための画面を表示させてもよい。そして、ユーザにより、当該画面において「許可する」ことを示す選択がなされた場合に、PC端末30のWebブラウザ(不図示)は、上記認可要求を該当の外部ストレージシステム40に送信するようにしてもよい。
ここで、OAuth登録情報とは、例えば、情報処理システム1の管理者であるユーザ等により予め登録される情報である。例えば管理者であるユーザは、予め外部ストレージシステム40に対してリダイレクト先URLを登録するとともにクライアントID及びクライアントシークレットを取得し、認可サーバURLとともにOAuth登録情報テーブルに格納させておく。なお、クライアントID及びクライアントシークレットとは、それぞれ「Consumer key」及び「Consumer secret」とも称され、それぞれ外部ストレージシステム40がサービス提供システム20を識別する識別情報及びこの識別情報とともに利用される秘密鍵である。
ステップS1707において、PC端末30のWebブラウザ(不図示)は、認可設定情報IDと、上記のステップS1706で取得した認可コードとを認証部26Aに送信する。
ステップS1708において、認証部26Aは、認可トークンの取得要求を該当の外部ストレージサービス40に送信する。すなわち、認証部26Aは、受け取った認可設定情報IDから該当の外部ストレージサービス40を特定するとともに、特定した外部ストレージサービス40のクライアントID及びクライアントシークレットをOAuth登録情報から取得する。そして、クライアントID、クライアントシークレット、及び認可コードに基づく認可トークンの取得要求を該当の外部ストレージシステム40に送信する。例えば、認可トークンの取得要求に、クライアントID、クライアントシークレット、及び認可コードが含まれるようにしてもよいし、クライアントID及び認可コードが含まれる(クライアントシークレットは含まれない)ようにしてもよい。そして、該当の外部ストレージシステム40は、認可トークン、この認可トークンの有効期限、及びリフレッシュトークンを認証部26Aに送信する。ここで、リフレッシュトークンとは、認可トークンの有効期限が経過した(すなわち、有効期限が切れた)場合に、新たな認可トークンを取得するためのセキュリティトークンである。なお、セキュリティトークンを用いずに、認可トークンの有効期限が切れた場合、再度、上記のステップS1701〜S1709の処理を行うようにしてもよい。
ステップS1709において、認証部26Aは、取得した認可トークン及び有効期限を、利用者ID、外部ストレージサービスID、及び上記のステップS1701で指定したスコープと関連付けて、例えば図21に示すようなユーザ情報記憶部52Aのユーザ情報テーブルに格納する。例えば、図21に示す1行目のレコード(ユーザ情報)は、利用者IDが「Tony」、外部ストレージサービスIDが「app001」、取得した認可トークンが「token:aaaaa」、この認可トークンのスコープが「aa」及び「bb」、この認可トークンの有効期限が「2014/10/15」であることを示している。これにより、ユーザ及び外部ストレージサービス40毎の認可トークン、認可トークンのスコープ、並びに認可トークンの有効期限が管理される。
また、認証部26Aは、受け取ったリフレッシュトークンを、該当の認可設定情報IDの認可設定情報テーブルに格納する。すなわち、上記と同じ利用者ID及び外部ストレージサービスIDである場合、図19に示す1行目のレコード(認可設定情報)に、取得したリフレッシュトークン「XXXXXXX」が格納される。
以上により、本実施形態に係るサービス提供システム20では、ユーザは、PC端末30から所望のストレージサービスの認証情報を設定することができる。また、本実施形態では、このような認証情報の設定にOAuthを用いることにより、ユーザは、サービス提供システム20に対して外部ストレージシステム40のユーザIDやパスワード等を保存する必要なく、サービス提供システム20を利用することができる。
≪データ保存先情報設定処理及びデータアップロード処理≫
次に、第2の実施形態に係るデータ保存先情報設定処理及びデータアップロード処理について説明する。第2の実施形態に係るデータ保存先情報設定処理及びデータアップロード処理は、それぞれ図22及び図23に示すステップS2201及びステップS2301の処理が第1の実施形態と異なる。これらのステップS2201及びステップS2301の処理は、略同様の処理であるため、以降ではステップS2201におけるOAuthによる認可処理について説明する。
≪OAuthによる認可処理≫
次に、図22のステップS2201におけるOAuthによる認可処理について説明する。図24は、第2の実施形態に係るOAuthによる認可処理の一例のシーケンス図である。
ステップS2401において、サーバアプリ22は、利用者ID及び外部ストレージサービスID(例えば、アプリID)を含む認可トークンの取得要求を認証部26Aに送信する。
ステップS2402において、認証部26Aは、ユーザ情報記憶部52Aに記憶されているユーザ情報テーブルから該当の認可トークンを取得する。例えば、認可トークンの取得要求に含まれる利用者IDが「Tony」、外部ストレージサービスIDが「app001」である場合、認証部26Aは、図21に示すユーザ情報テーブルから認可トークン「token:aaaaa」を取得する。そして、認証部26Aは、取得した認可トークンの有効期限が切れているか否かを判定する。認証部26は、取得した認可トークンの有効期限が切れていると判定された場合、ステップS2403及びステップS2404を行う一方、取得した認可トークンの有効期限が切れていないと判定された場合、取得した認可トークンをサーバアプリ22に送信する。
なお、認証部26Aは、取得した認可トークンの有効期限が切れているか否かに関わらず、ステップS2403及びステップS2404の処理を行い、新たな認可トークンを取得してもよい。
ステップS2403において、認証部26Aは、認可設定情報記憶部55に記憶されている認可設定情報テーブルから該当のリフレッシュトークンを取得する。例えば、認可トークンの取得要求に含まれる利用者IDが「Tony」、外部ストレージサービスIDが「app001」である場合、認証部26は、図19に示す認可設定情報テーブルからリフレッシュトークン「XXXXXXX」を取得する。そして、認証部26Aは、取得したリフレッシュトークンを含む認可トークンの取得要求を該当の外部ストレージシステム40に送信する。すると、外部ストレージシステム40は、新たな認可トークン及びこの認可トークンの有効期限を返信する。
ステップS2404において、認証部26Aは、該当の外部ストレージシステム40から取得した新たな認可トークン及び有効期限を、ユーザ情報記憶部52Aに記憶されているユーザ情報テーブルに保存する。すなわち、上記のステップS2402で取得した認可トークン及びこの認可トークンの有効期限を、新たな認可トークン及びこの認可トークンの有効期限で上書き保存する。これにより、認可トークン及び有効期限が更新される。そして、認証部26Aは、新たな認可トークンをサーバアプリ22に送信する。
以上により、サーバアプリ22は、認可トークンを取得することができる。サーバアプリ22は、後述の処理(図22のステップS1207以降の処理)において取得した認可トークンを用いて外部ストレージシステム40のWebAPI(ディレクトリ情報取得API等)を利用することができる。また、サーバアプリ22が認可トークンを用いて利用することができる外部ストレージシステム40のWebAPIは、認可トークンに設定されたスコープで指定されたリソース(WebAPI)である。したがって、ユーザ又はサービス提供システム20は、必要なリソースに限ってスコープを指定することで、セキュリティの確保を図ることができる。
以上により、本実施形態に係るサービス提供システム20は、OAuthに規定される認可トークンを用いて外部ストレージシステム40のWebAPIを利用することができる。なお、図23に示すステップS2301のOAuthによる認可処理は、上記において「サーバアプリ22」を、「外部ストレージ連携部251」と読み替えればよい。
<まとめ>
以上の第1の実施形態に係るサービス提供システム20によれば、連携して処理を行うストレージサービスの追加・変更等を容易に行うことができる。すなわち、サービス提供システム20と連携して処理を行うストレージサービスの追加・変更等を行う場合においても、外部ストレージ共通フレームワーク28内に追加・変更等に伴う影響を限定することができる。例えば、外部ストレージ共通フレームワーク28のストレージサービス用アプリ62を追加・変更する場合、サービス提供システム20の追加・変更手段(不図示)を用いて、サービス提供システム20全体の稼働は維持したまま、追加・変更を行うことができる。したがって、ストレージサービスの追加・変更等に伴う開発工数や開発期間を削減することができる。
また、第2の実施形態に係るサービス提供システム20によれば、さらに、ストレージサービスに対する認証及びWebAPIの利用許可が、OAuthの仕組みを用いて提供される。したがって、ユーザは、ストレージサービスにおけるユーザID及びパスワード等をサービス提供システム20に保存させる必要がなく、セキュリティを確保することができる。また、同時に、ユーザは、OAuthの仕組みを用いることで、サービス提供システム20に対して必要な範囲に限り、リソースのアクセスを許可(認可)することができる。
なお、本実施形態においては、入力元として画像形成装置10においてスキャンした画像データを、出力先として外部ストレージシステム40に保存する場合について説明したが、これに限られない。例えば、入力元としてはスキャンしたものに限られず、デジタルカメラ、携帯電話等で撮像された画像データであってもよいし、また、画像データに限られずPCで作成された文書データ、ICレコーダで作成された音声データ等の種々の電子データであってもよい。また、出力先としては、例えば、プロジェクタのような画像投影装置、プリンタ、会議システム等であってもよい。
その他、電子データの入力元又は出力元としては、電子データの入力手段又は出力手段として機能可能な機器であれば、他の機器を用いて、本実施の形態と同趣旨のサービスが実現されていてもよい。
さらに、入力元から入力した画像データについてサービス提供システム20において所定の処理を施してから出力先に出力してもよい。例えば、入力元として画像形成装置10においてスキャンした画像データを、サービス提供システム20においてOCR処理を行い、この処理結果であるテキストデータを出力先に出力してもよい。また、例えば、文書データを入力した場合には、サービス提供システム20において、言語の翻訳処理等を行い、この処理結果を出力先に出力してもよい。
なお、WebAPI21は、受付手段の一例である。サーバアプリ22及びポータルアプリ23は、第1のプログラムの一例である。ストレージサービス用アプリ62は、第2のプログラムの一例である。外部ストレージ連携API61は、インタフェース手段の一例である。外部ストレージ共通フレームワーク28は、処理要求手段の一例である。プロキシ部27は、転送手段の一例である。アプリIDは、外部サービスの識別情報及び第2のプログラムの識別情報の一例である。転送先ホスト情報は、アドレス情報の一例である。認証部26Aは、取得手段の一例である。認可トークンは、認可情報の一例である。
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
1 情報処理システム
10 画像形成装置
11 クライアントアプリ
20 サービス提供システム
21 WebAPI
22 サーバアプリ
23 ポータルアプリ
24 サービス情報部
25 外部ストレージ配信部
26 認証部
27 プロキシ部
28 外部ストレージ共通フレームワーク
30 PC端末
40 外部ストレージシステム
51 サービス情報記憶部
52 ユーザ情報記憶部
53 データ保存先情報記憶部
54 プロキシ変換情報記憶部
61 外部ストレージ連携API
62 ストレージサービス用アプリ
63 ストレージサービスの設定情報記憶部
特開2013−092833号公報

Claims (12)

  1. 1以上の情報処理装置を含む情報処理システムであって、
    前記情報処理装置の上で動作する第1のプログラムと連携して処理を行う1以上の外部サービスに対する第1の処理要求を受け付ける受付手段と、
    前記受付手段により前記第1の処理要求を受け付けると、前記1以上の外部サービスの間で共通に利用される複数のインタフェース手段のうち、前記第1の処理要求に含まれる前記外部サービスの識別情報に対応する外部サービスとの間で共通に利用されるインタフェース手段を介して、該識別情報に対応する該外部サービスに対して前記第1の処理要求に基づく第2の処理要求を行う処理要求手段と、
    を有する情報処理システム。
  2. 前記処理要求手段は、前記情報処理装置の上で動作する、前記1以上の外部サービスに対応する1以上の第2のプログラムをさらに有し、
    前記1以上の第2のプログラムのうちの前記受付手段により受け付けた前記第1の処理要求を受信した第2のプログラムは、前記受付手段により受け付けた前記第1の処理要求を受け付けると、前記複数のインタフェース手段のうち前記第1の処理要求に含まれる前記外部サービスの識別情報に対応する外部サービスとの間で共通に利用されるインタフェース手段を介して、該識別情報に対応する該外部サービスに対して前記第2の処理要求を行う、請求項1記載の情報処理システム。
  3. 前記情報処理システムは、
    前記1以上の第2のプログラムのうちの前記第2の処理要求を行う第2のプログラムが搭載されている前記情報処理装置のアドレス情報を取得し、該アドレス情報に基づき該第2のプログラムに前記第1の処理要求を転送する転送手段をさらに有し、
    前記1以上の第2のプログラムのうちの前記転送手段により転送された前記第1の処理要求を受信した第2のプログラムは、前記転送手段により転送された前記第1の処理要求を受け付けると、前記複数のインタフェース手段のうち前記第1の処理要求に含まれる前記外部サービスの識別情報に対応する外部サービスとの間で共通に利用されるインタフェース手段を介して、該識別情報に対応する該外部サービスに対して前記第2の処理要求を行う、請求項2記載の情報処理システム。
  4. 前記第2のプログラムが前記第2の処理要求を行うための認可情報を取得する取得手段を有し、
    前記処理要求手段は、前記識別情報に対応する外部サービスに対して、前記認可情報を含む前記第2の処理要求を行う、請求項2記載の情報処理システム。
  5. 前記認可情報は、OAuthに規定される認可トークンである、請求項4記載の情報処理システム。
  6. 前記第1のプログラムは、前記複数のインタフェース手段を利用するためのモジュールを含み、
    該モジュールは、前記受付手段により前記第1の処理要求を受け付けると、該第1の処理要求を前記転送手段に送信し、
    前記転送手段は、前記モジュールから前記第1の処理要求を受け付けると、前記1以上の第2のプログラムのうちの前記第2の処理要求を行う第2のプログラムが搭載されている前記情報処理装置のアドレス情報を取得し、該アドレス情報に基づき該第2のプログラムに前記第1の処理要求を転送する、請求項3記載の情報処理システム。
  7. 前記1以上の外部サービスに対応する1以上の第2のプログラムを、前記情報処理装置に追加する追加手段をさらに有する、請求項2ないし6のいずれか1項に記載の情報処理システム。
  8. 前記第1のプログラムは、前記複数のインタフェース手段を利用するためのモジュールを含み、
    該モジュールは、前記受付手段により前記第1の処理要求を受け付けると、該第1の処理要求を前記処理要求手段に送信し、
    前記処理要求手段は、前記モジュールから前記第1の処理要求を受け付けると、前記1以上の外部サービスの間で共通に利用される複数のインタフェース手段のうち、前記第1の処理要求に含まれる前記外部サービスの識別情報に対応する外部サービスとの間で共通に利用されるインタフェース手段を介して、該識別情報に対応する該外部サービスに対して前記第1の処理要求に基づく第2の処理要求を行う、請求項1記載の情報処理システム。
  9. 前記第1のプログラムは、前記複数のインタフェース手段を利用するためのモジュールを含み、
    該モジュールは、前記受付手段により前記第1の処理要求を受け付けると、該第1の処理要求を前記処理要求手段に送信し、
    前記1以上の第2のプログラムのうちの前記モジュールより送信された前記第1の処理要求を受信した第2のプログラムは、前記モジュールより送信された前記第1の処理要求を受け付けると、前記複数のインタフェース手段のうち前記第1の処理要求に含まれる前記外部サービスの識別情報に対応する外部サービスとの間で共通に利用されるインタフェース手段を介して、該識別情報に対応する該外部サービスに対して前記第2の処理要求を行う、請求項2記載の情報処理システム。
  10. 1以上の情報処理装置を含む情報処理システムに用いられる情報処理方法であって、
    前記情報処理装置の上で動作する第1のプログラムと連携して処理を行う1以上の外部サービスに対する第1の処理要求を受け付ける受付手順と、
    前記受付手順により前記第1の処理要求を受け付けると、前記1以上の外部サービスの間で共通に利用される複数のインタフェース手段のうち、前記第1の処理要求に含まれる前記外部サービスの識別情報に対応する外部サービスとの間で共通に利用されるインタフェース手段を介して、該識別情報に対応する該外部サービスに対して前記第1の処理要求に基づく第2の処理要求を行う処理要求手順と、
    を有する情報処理方法。
  11. 情報処理装置であって、
    前記情報処理装置の上で動作する第1のプログラムと連携して処理を行う1以上の外部サービスに対する第1の処理要求を受け付ける受付手段と、
    前記受付手段により前記第1の処理要求を受け付けると、前記1以上の外部サービスの間で共通に利用される複数のインタフェース手段のうち、前記第1の処理要求に含まれる前記外部サービスの識別情報に対応する外部サービスとの間で共通に利用されるインタフェース手段を介して、該識別情報に対応する該外部サービスに対して前記第1の処理要求に基づく第2の処理要求を行う処理要求手段と、
    を有する情報処理装置。
  12. 情報処理装置を、
    前記情報処理装置の上で動作する第1のプログラムと連携して処理を行う1以上の外部サービスに対する第1の処理要求を受け付ける受付手段、
    前記受付手段により前記第1の処理要求を受け付けると、前記1以上の外部サービスの間で共通に利用される複数のインタフェース手段のうち、前記第1の処理要求に含まれる前記外部サービスの識別情報に対応する外部サービスとの間で共通に利用されるインタフェース手段を介して、該識別情報に対応する該外部サービスに対して前記第1の処理要求に基づく第2の処理要求を行う処理要求手段、
    として機能させるためのプログラム。
JP2014209730A 2014-05-28 2014-10-14 情報処理システム、情報処理方法、情報処理装置及びプログラム Active JP6439370B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2014209730A JP6439370B2 (ja) 2014-05-28 2014-10-14 情報処理システム、情報処理方法、情報処理装置及びプログラム
US14/718,247 US9819751B2 (en) 2014-05-28 2015-05-21 Information processing system, method of processing information, information processing apparatus, and program
EP15169616.8A EP2950230B1 (en) 2014-05-28 2015-05-28 Information processing system, method of processing information, information processing apparatus, and program

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2014110558 2014-05-28
JP2014110558 2014-05-28
JP2014209730A JP6439370B2 (ja) 2014-05-28 2014-10-14 情報処理システム、情報処理方法、情報処理装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2016006624A true JP2016006624A (ja) 2016-01-14
JP6439370B2 JP6439370B2 (ja) 2018-12-19

Family

ID=53476646

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014209730A Active JP6439370B2 (ja) 2014-05-28 2014-10-14 情報処理システム、情報処理方法、情報処理装置及びプログラム

Country Status (3)

Country Link
US (1) US9819751B2 (ja)
EP (1) EP2950230B1 (ja)
JP (1) JP6439370B2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017130189A (ja) * 2016-01-20 2017-07-27 株式会社リコー 情報処理システム、情報処理装置、及び情報処理方法
JP2018094870A (ja) * 2016-12-16 2018-06-21 株式会社リコー 情報処理システム、機器、情報処理装置、情報処理方法及びプログラム
JP2018156250A (ja) * 2017-03-16 2018-10-04 株式会社リコー 情報処理システム、機器、情報処理装置、情報処理方法及びプログラム
EP3451617A1 (en) 2017-08-31 2019-03-06 Canon Kabushiki Kaisha Authority transfer system, control method therefor, computer program and storage medium
US10785204B2 (en) 2017-08-31 2020-09-22 Canon Kabushiki Kaisha Authority transfer system, control method therefor, and client
JP2021157344A (ja) * 2020-03-25 2021-10-07 京セラドキュメントソリューションズ株式会社 認証制御システム、データ連携システムおよびシステム
WO2021225080A1 (ja) * 2020-05-08 2021-11-11 ソニーグループ株式会社 情報処理装置、情報処理方法、及び、プログラム
US11269740B2 (en) 2020-02-28 2022-03-08 Kyocera Document Solutions Inc. Data linkage system and processing monitoring system

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6031543B2 (ja) * 2015-02-27 2016-11-24 株式会社Pfu 画像データ処理サーバー、システム、方法およびプログラム
CN105346256B (zh) * 2015-11-09 2017-03-22 杭州旗捷科技有限公司 一种打印机芯片、墨盒、和打印机芯片存储分配方法
US10348926B2 (en) * 2016-01-20 2019-07-09 Ricoh Company, Ltd. Information processing system, information processing apparatus, and information processing method
US10614532B1 (en) 2016-03-11 2020-04-07 Opower, Inc. Interactive analytics platform responsive to data inquiries
US10740080B2 (en) * 2016-04-22 2020-08-11 Kony, Inc. Preview and publishing of mobile applications
US10306080B2 (en) 2016-10-19 2019-05-28 Ricoh Company, Ltd. Information processing system, information processing apparatus, and program
US11632360B1 (en) * 2018-07-24 2023-04-18 Pure Storage, Inc. Remote access to a storage device
US11146564B1 (en) 2018-07-24 2021-10-12 Pure Storage, Inc. Login authentication in a cloud storage platform
US10936191B1 (en) 2018-12-05 2021-03-02 Pure Storage, Inc. Access control for a computing system
JP7131408B2 (ja) 2019-01-24 2022-09-06 株式会社リコー 情報処理システム、認証基盤、認可情報検証方法、及びプログラム
US11489943B2 (en) * 2019-02-13 2022-11-01 Red Hat, Inc. Automatic version routing among multiple instances of an application
US10951779B1 (en) * 2019-10-03 2021-03-16 Starfish Technologies LLC Cloud-based scanning systems and remote image processing methods

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012113696A (ja) * 2010-11-04 2012-06-14 Brother Ind Ltd 通信システム、中継装置、通信装置、中継方法、および通信方法
JP2014010770A (ja) * 2012-07-02 2014-01-20 Fuji Xerox Co Ltd 中継装置
JP2014092823A (ja) * 2012-10-31 2014-05-19 Ricoh Co Ltd システム及びサービス提供装置
JP2014142732A (ja) * 2013-01-23 2014-08-07 Canon Inc 権限委譲システム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7003571B1 (en) * 2000-01-31 2006-02-21 Telecommunication Systems Corporation Of Maryland System and method for re-directing requests from browsers for communication over non-IP based networks
US20060119883A1 (en) 2004-10-08 2006-06-08 Sharp Laboratories Of America, Inc. Methods and systems for imaging device credential consolidation
JP2008181427A (ja) 2007-01-25 2008-08-07 Fuji Xerox Co Ltd シングルサインオンシステム、情報端末装置、シングルサインオンサーバ、プログラム
JP2010250552A (ja) 2009-04-15 2010-11-04 Toshiba Tec Corp 中継サーバ装置
CN102598016B (zh) 2009-11-12 2015-07-08 佳能株式会社 图像处理设备和控制图像处理设备的方法
JP5906594B2 (ja) 2010-08-31 2016-04-20 株式会社リコー 連携システム、画像処理装置、連携制御方法、連携制御プログラム及び記録媒体
JP2013092833A (ja) 2011-10-24 2013-05-16 Canon Inc サーバ装置、クライアント装置、情報処理方法及びプログラム
JP5732419B2 (ja) 2012-03-13 2015-06-10 株式会社野村総合研究所 統合アクセス制御システム
JP6066647B2 (ja) 2012-09-27 2017-01-25 キヤノン株式会社 デバイス装置、その制御方法、およびそのプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012113696A (ja) * 2010-11-04 2012-06-14 Brother Ind Ltd 通信システム、中継装置、通信装置、中継方法、および通信方法
JP2014010770A (ja) * 2012-07-02 2014-01-20 Fuji Xerox Co Ltd 中継装置
JP2014092823A (ja) * 2012-10-31 2014-05-19 Ricoh Co Ltd システム及びサービス提供装置
JP2014142732A (ja) * 2013-01-23 2014-08-07 Canon Inc 権限委譲システム

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017130189A (ja) * 2016-01-20 2017-07-27 株式会社リコー 情報処理システム、情報処理装置、及び情報処理方法
JP2018094870A (ja) * 2016-12-16 2018-06-21 株式会社リコー 情報処理システム、機器、情報処理装置、情報処理方法及びプログラム
JP2018156250A (ja) * 2017-03-16 2018-10-04 株式会社リコー 情報処理システム、機器、情報処理装置、情報処理方法及びプログラム
EP3451617A1 (en) 2017-08-31 2019-03-06 Canon Kabushiki Kaisha Authority transfer system, control method therefor, computer program and storage medium
US10785204B2 (en) 2017-08-31 2020-09-22 Canon Kabushiki Kaisha Authority transfer system, control method therefor, and client
US11088847B2 (en) 2017-08-31 2021-08-10 Canon Kabushiki Kaisha Authority transfer system, control method therefor, and storage medium
US11269740B2 (en) 2020-02-28 2022-03-08 Kyocera Document Solutions Inc. Data linkage system and processing monitoring system
JP2021157344A (ja) * 2020-03-25 2021-10-07 京セラドキュメントソリューションズ株式会社 認証制御システム、データ連携システムおよびシステム
WO2021225080A1 (ja) * 2020-05-08 2021-11-11 ソニーグループ株式会社 情報処理装置、情報処理方法、及び、プログラム

Also Published As

Publication number Publication date
EP2950230A1 (en) 2015-12-02
US9819751B2 (en) 2017-11-14
JP6439370B2 (ja) 2018-12-19
EP2950230B1 (en) 2019-03-06
US20150350344A1 (en) 2015-12-03

Similar Documents

Publication Publication Date Title
JP6439370B2 (ja) 情報処理システム、情報処理方法、情報処理装置及びプログラム
JP6056384B2 (ja) システム及びサービス提供装置
US10445489B2 (en) Information processing system, information processing apparatus, and method for processing information
US9608972B2 (en) Service providing system and data providing method that convert a process target data into output data with a data format that a service receiving apparatus is able to output
US9164710B2 (en) Service providing system and service providing method
US9537849B2 (en) Service provision system, service provision method, and computer program product
JP6364738B2 (ja) 情報処理システム、情報処理装置、プログラム及び処理実行方法
US10114940B2 (en) Information processing system, information processing apparatus, and information processing method
JP2010113599A (ja) 情報処理システム、情報処理装置、情報処理方法、プログラム、及び記憶媒体
JP6511868B2 (ja) 情報処理システム、情報処理方法、情報処理装置及びプログラム
JP2018094870A (ja) 情報処理システム、機器、情報処理装置、情報処理方法及びプログラム
US9661184B2 (en) Data processing system and data processing method for authenticating user by utilizing user list obtained from service providing apparatus
JP6357780B2 (ja) ネットワークシステム及び情報通知方法
JP6413686B2 (ja) 情報処理システム、情報処理装置、及び情報処理方法
JP6303312B2 (ja) サービス提供システム及び画像提供方法
US20150040189A1 (en) Service provision system, service provision method, and computer program product
JP6237868B2 (ja) クラウドサービス提供システム及びクラウドサービス提供方法
JP7172592B2 (ja) 印刷処理プログラム、印刷処理方法、印刷処理装置、印刷処理システム及び印刷システム
JP6536309B2 (ja) 情報処理システム、情報処理装置、情報処理方法、及びプログラム
JP2020087197A (ja) 情報処理システム、情報処理プログラム、情報処理方法
JP2015032041A (ja) サービス提供システム、サービス提供方法およびプログラム
JP6201444B2 (ja) 情報処理システム、及び情報処理方法
US9648077B2 (en) Client apparatus and system
JP5745013B2 (ja) 画像処理システム、画像処理装置、画像処理システムにおける制御方法、画像処理装置の制御方法、及びプログラム
JP2015146147A (ja) サービス提供システム、情報処理装置、画像提供方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170928

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180417

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180508

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180706

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181105

R151 Written notification of patent or utility model registration

Ref document number: 6439370

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151