IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 株式会社リコーの特許一覧

特開2023-72975情報処理システム、表示方法、サービス提供システム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023072975
(43)【公開日】2023-05-25
(54)【発明の名称】情報処理システム、表示方法、サービス提供システム
(51)【国際特許分類】
   G06F 21/62 20130101AFI20230518BHJP
   H04N 1/00 20060101ALI20230518BHJP
   G06F 21/31 20130101ALI20230518BHJP
【FI】
G06F21/62
H04N1/00 127Z
G06F21/31
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2021185744
(22)【出願日】2021-11-15
(71)【出願人】
【識別番号】000006747
【氏名又は名称】株式会社リコー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】染谷 洋輔
【テーマコード(参考)】
5C062
【Fターム(参考)】
5C062AA05
5C062AA13
5C062AA29
5C062AB23
5C062AB38
5C062AB40
5C062AC05
5C062AC34
5C062AF12
(57)【要約】      (修正有)
【課題】外部サービスシステムが有する操作対象のうちアプリケーションによる操作が可能な操作対象を表示する情報処理システム、表示方法及びサービス提供システムを提供する。
【解決手段】外部サービスシステム40が有する操作対象をアプリケーションが操作する情報処理システム10であって、操作対象に設定された権限と操作の可否が対応付けられた権限情報を記憶する権限情報記憶部42と、ユーザーの認証に関する処理を行う認証処理部19と、ユーザーが使用する各種の電子機器である機器20からの要求に応じて、ユーザーがアクセス権を有する操作対象のリストを外部サービスシステムから取得する外部サービス処理部14と、取得した操作対象に設定されている権限に対し、権限情報記憶部において操作が許可されている操作対象のリストを表示する画面情報を機器に提供する画面生成部12と、を有する。
【選択図】図6
【特許請求の範囲】
【請求項1】
外部サービスシステムが有する操作対象をアプリケーションが操作する情報処理システムであって、
前記操作対象に設定された権限と操作の可否が対応付けられた権限情報を記憶する権限情報記憶部と、
ユーザーの認証に関する処理を行う認証処理部と、
機器からの要求に応じて、前記ユーザーがアクセス権を有する前記操作対象のリストを前記外部サービスシステムから取得する外部サービス処理部と、
取得した前記操作対象に設定されている権限に対し、前記権限情報記憶部において操作が許可されている前記操作対象のリストを表示する画面情報を前記機器に提供する画面生成部と、
を有することを特徴とする情報処理システム。
【請求項2】
前記外部サービスシステムから前記操作対象のリストを取得し、前記アプリケーションが行う各操作を前記操作対象に行い、前記操作対象に設定されている権限に対応付けて前記操作の可否を前記権限情報記憶部に登録するアプリ実行部を有することを特徴とする請求項1に記載の情報処理システム。
【請求項3】
予め設定されているタイミングになると、前記権限情報を更新する処理を開始する権限更新判断部を有し、
前記権限更新判断部が、前記権限情報を更新するタイミングであると判断した場合、前記アプリ実行部が、前記外部サービスシステムから前記操作対象のリストを取得し、前記アプリケーションが行う各操作を前記操作対象に行い、前記操作対象に設定されている権限に対応付けて前記操作の可否を前記権限情報記憶部に登録することを特徴とする請求項2に記載の情報処理システム。
【請求項4】
前記外部サービス処理部は、機器からのアプリケーションの実行要求に応じて前記外部サービスシステムにおける前記操作対象に操作を行い、
前記アプリ実行部は、前記アプリケーションが行った操作、前記操作対象に設定されている権限、及び、前記操作の可否を対応付けて前記権限情報記憶部に登録することを特徴とする請求項2又は3に記載の情報処理システム。
【請求項5】
前記アプリ実行部は、前記権限情報記憶部に記憶されていない未知の権限が、前記アプリケーションが操作を行った前記操作対象に設定されている場合のみ、前記操作対象に設定されている権限に対応付けて前記操作の可否を前記権限情報記憶部に登録することを特徴とする請求項4に記載の情報処理システム。
【請求項6】
前記アプリケーションは複数のコンポーネントを順番に実行するものであり、
前記コンポーネントに対応付けて、前記権限情報記憶部に記憶されている権限情報を更新するか否かが設定されたコンポーネント情報記憶部を有し、
前記操作対象に操作を行った前記アプリケーションが有するコンポーネントが、前記コンポーネント情報記憶部において、権限情報を更新すると設定されている場合、
前記アプリ実行部は、前記操作対象に設定されている権限に対応付けて前記操作の可否を登録することを特徴とする請求項4又は5に記載の情報処理システム。
【請求項7】
前記アプリ実行部は、前記外部サービスシステムの識別情報、前記権限、前記操作の種類、及び、前記操作の可否を対応付けて記録しておき、
前記操作の可否における成功した比率が閾値以上の場合、前記操作対象に設定されている権限に対応付けて前記操作の可否を前記権限情報記憶部に登録することを特徴とする請求項4に記載の情報処理システム。
【請求項8】
前記外部サービスシステムごとに、前記権限に対し許可される前記操作の種類の追加、編集、及び、削除を受け付ける画面を生成する画面生成部を有し、
端末装置が前記画面に対し受け付けた前記権限情報を受信し、前記アプリ実行部は、前記権限情報記憶部が記憶している前記権限情報を更新することを特徴とする請求項2~7のいずれか1項に記載の情報処理システム。
【請求項9】
外部サービスシステムが有する操作対象をアプリケーションが操作する情報処理システムが行う表示方法であって、
認証処理部が、ユーザーの認証に関する処理を行うステップと、
外部サービス処理部が、機器からの要求に応じて、前記ユーザーがアクセス権を有する前記操作対象のリストを前記外部サービスシステムから取得するステップと、
前記操作対象に設定された権限と操作の可否が対応付けられた権限情報を記憶する権限情報記憶部に基づいて、
画面生成部が、取得した前記操作対象に設定されている権限に対し、前記権限情報記憶部において操作が許可されている前記操作対象のリストを表示する画面情報を前記機器に提供するステップと、
を有することを特徴とする表示方法。
【請求項10】
アプリケーションの実行を要求する機器と、外部サービスシステムが有する操作対象を前記アプリケーションが操作する情報処理システムと、を有するサービス提供システムであって、
前記情報処理システムは、
前記操作対象に設定された権限と操作の可否が対応付けられた権限情報を記憶する権限情報記憶部と、
ユーザーの認証に関する処理を行う認証処理部と、
機器からの要求に応じて、前記ユーザーがアクセス権を有する前記操作対象のリストを前記外部サービスシステムから取得する外部サービス処理部と、
取得した前記操作対象に設定されている権限に対し、前記権限情報記憶部において操作が許可されている前記操作対象のリストを表示する画面情報を前記機器に提供する画面生成部と、を有し、
前記機器は、
前記情報処理システムから受信した前記画面情報に基づいて、前記権限情報記憶部において操作が許可されている前記操作対象のリストを表示することを特徴とするサービス提供システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理システム、表示方法、及び、サービス提供システムに関する。
【背景技術】
【0002】
複数の機能(例えば、スキャン、フォルダへの保存、メール送信等)を組み合わせたアプリケーションを提供するサービスが知られている。このようなサービスで行われる処理をワークフローという。ワークフローには、ストレージサーバーなどの外部サービスシステムが保持しているファイルを画像形成装置等の機器で印刷したり、外部サービスシステムのフォルダにファイルを送信したりするものなど、外部サービスシステムを使用するものが存在する。
【0003】
ワークフローで使用される電子データの配信先を管理する技術が考案されている(例えば、特許文献1参照。)。特許文献1には、スキャン画像の配信先として事前に登録されたフォルダ群が今現在配信可能な状態にあるかを確認するため、フォルダへの配信可否に関する情報を保持しておくシステムが開示されている。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の技術では、外部サービスシステムが有する操作対象のうちアプリケーションによる操作が可能な操作対象が表示されないという問題がある。補足すると、外部サービスシステムと連携するワークフローのアプリケーションは、ファイルのダウンロードやアップロード等を行う。一般に、外部サービスシステムでは、ファイルやフォルダに対しユーザーが可能な操作を制限するために、ファイル/フォルダには操作に必要な権限が設定されている。外部サービスシステムのファイル/フォルダを情報処理システムが単に提供するだけでは、アプリケーションが操作できないファイル/フォルダをユーザーが選択する場合がある。これを回避するためには、外部サービスシステムごとに、専用の実装を行う等の作業が必要であり手間となっていた。
【0005】
本発明は、上記課題に鑑み、外部サービスシステムが有する操作対象のうちアプリケーションによる操作が可能な操作対象を表示する情報処理システムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題に鑑み、本発明は、外部サービスシステムが有する操作対象をアプリケーションが操作する情報処理システムであって、前記操作対象に設定された権限と操作の可否が対応付けられた権限情報を記憶する権限情報記憶部と、ユーザーの認証に関する処理を行う認証処理部と、機器からの要求に応じて、前記ユーザーがアクセス権を有する前記操作対象のリストを前記外部サービスシステムから取得する外部サービス処理部と、取得した前記操作対象に設定されている権限に対し、前記権限情報記憶部において操作が許可されている前記操作対象のリストを表示する画面情報を前記機器に提供する画面生成部と、を有することを特徴とする。
【発明の効果】
【0007】
外部サービスシステムが有する操作対象のうちアプリケーションによる操作が可能な操作対象を表示する情報処理システムを提供できる。
【図面の簡単な説明】
【0008】
図1】コンポーネントとアプリケーションの関係を説明する図である。
図2】サービス提供システムが行う処理の概略を説明する図である。
図3】サービス提供システムの一例のシステム構成を示す図である。
図4】情報処理システム及び端末装置の一例のハードウェア構成を示す図である。
図5】機器の一例である画像形成装置のハードウェア構成図である。
図6】サービス提供システムの一例の機能構成を示す図である。
図7】ユーザー情報記憶部に記憶されている一例のユーザー情報を示す図である。
図8】権限情報記憶部に記憶されている一例の権限情報を示す図である。
図9】権限の名称を登録する一例の名称登録画面を示す図である。
図10】情報処理システムが事前に用意されたファイル/フォルダに対して各種操作を行い、権限と操作結果を対応付けて保存する処理を示す一例のシーケンス図である。
図11】外部サービスシステムから取得される、ファイル/フォルダのリストとファイル/フォルダに設定されている権限の一例を示す図である。
図12】事前に保存されている権限情報を利用して、ユーザーが実行するアプリケーションが操作できるファイル/フォルダのみを表示する処理を示す一例のシーケンス図である。
図13】外部サービスシステムから取得された一例の権限情報を示す図である。
図14】アプリ実行部による一例の判断結果を示す図である。
図15】機器が表示する一例のファイル/フォルダの表示画面を示す図である。
図16】機器がアプリケーションを実行した際にその実行結果から権限情報を更新する処理を示す一例のシーケンス図である。
図17】サービス提供システムの一例の機能構成を示す図である(実施例2)。
図18】情報処理システムが事前に用意されたファイル/フォルダに対して各種操作を行い、権限と操作結果を対応付けて保存する処理を示す一例のシーケンス図である(実施例2)。
図19】管理者が権限情報を更新する手順を示す一例のシーケンス図である(実施例3)。
図20】端末装置が情報処理システムに送信する権限情報の一例のリクエストボディを示す図である(実施例3)。
図21】端末装置が表示する一例の権限情報設定画面を示す図である(実施例3)。
図22】機器がアプリケーションを実行した際にその実行結果から権限情報を更新する処理を示す一例のシーケンス図である(実施例4)。
図23】サービス提供システムの一例の機能構成を示す図である(実施例5)。
図24】コンポーネント情報記憶部に記憶された一例のコンポーネント情報を示す図である(実施例5)。
図25】機器がアプリケーションを実行した際にその実行結果から権限情報を更新する処理を示す一例のシーケンス図である(実施例5)。
図26】サービス提供システムの一例の機能構成を示す図である(実施例6)。
図27】実行履歴記憶部に記憶されている一例の実行履歴を示す図である(実施例6)。
図28】機器がアプリケーションを実行した際にその実行結果から権限情報を更新する処理を示す一例のシーケンス図である(実施例6)。
【発明を実施するための形態】
【0009】
以下、本発明を実施するための形態の一例として、情報処理システムと情報処理システムが行う表示方法について図面を参照しながら説明する。
【実施例0010】
<処理の概略>
まず、図1を参照して、ワークフローについて補足する。図1は、コンポーネント201とアプリケーション202の関係を説明する図である。本実施形態では、アプリケーション202が複数のコンポーネント201を組み合わせて作られる。コンポーネント201とは、機能又は処理単位に用意されたプログラムのパーツである。図1(a)に示すように、各種の外部サービスシステムへのファイルのアップロードやダウンロードを行うコンポーネント、ファイルにOCR,スタンプ、及び、PDFに関する処理を行うコンポーネント201が用意されている。
【0011】
また、図1(b)に示すように、1つ以上のコンポーネント201が実行順に配置されることで、アプリケーション202が作成される。アプリケーション202が実行されることでワークフローが実行される。
【0012】
図2は、本実施形態のサービス提供システムが行う処理の概略を説明する図である。
【0013】
(1) 情報処理システム10は、事前に用意された、管理者のアカウントで表示できるファイル/フォルダに対して各種操作を行う。ファイル/フォルダには操作に必要な権限が設定されている。操作とは、ファイルやフォルダに対し行われうる一般的な処理であり、例えばアップロード、ダウンロード、削除、編集、メタデータ編集などである。
【0014】
(2) 情報処理システム10は、ファイルやフォルダに対し要求される権限と、各種の操作を実際に行った場合の操作結果を対応付けて保存する。
【0015】
(3) ユーザーが所望のアプリケーションを実行し、このユーザーがアプリケーションで操作するファイル/フォルダのリストを要求する操作を機器20に入力する。
【0016】
(4) アプリケーションはファイル/フォルダのリストを情報処理システム10に要求する。
【0017】
(5) 情報処理システム10はユーザーが表示できる(ユーザーがアクセス権を有する)ファイル/フォルダを外部サービスシステム40から取得し、保存しておいた操作結果を利用してファイル/フォルダの権限に対し操作が可能なファイル/フォルダのみを機器20に送信する。これにより、機器20はアプリケーションの実行の際、ファイル/フォルダに設定された権限に対し操作が可能なファイル/フォルダのみを表示できる。
【0018】
このように、本実施形態の情報処理システム10は、管理者のアカウントで、各種権限を持つフォルダ/ファイルに対してアップロードやダウンロードといった操作を行いその操作結果を保存するので、権限と操作の可否を対応付けておくことができる。したがって、ユーザーがアプリケーションを実行した際、情報処理システム10は、ユーザーによる操作が可能なファイル/フォルダのみを機器20に提供できる。
【0019】
<用語について>
アプリケーションとは、ユーザーがサービスを受けるために機器や情報処理装置で実行されるプログラムである。アプリケーションには、Webブラウザとサーバー側のプログラムが協調して実行するWebアプリと、サーバーを必須とせずに(通信してもよい)情報処理装置が実行するネイティブアプリがある。Webアプリの場合、アプリケーションは一連の処理を順番に実行するワークフローアプリの場合がある。
【0020】
アプリケーションは1つ以上の処理を含む。処理は、アプリケーションが目的の成果物を出力できるようにある程度の機能がまとめられた情報処理であればよい。本実施形態では、コンポーネントが実行する情報処理又はコンポーネントが処理に相当する。
【0021】
ファイルブラウズとは、ファイルのリストやフォルダの構造をディスプレイ上に表示し、その選択を受け付けるファイル/フォルダの操作方法をいう。
【0022】
操作対象とは、外部サービスシステムが有するデータであって、アプリケーションが操作するデータである。本実施形態では、ファイル/フォルダという用語で説明される。
【0023】
権限とは、ファイル/フォルダに対し操作を行うため必要な操作者側の属性である。権限はファイル/フォルダに設定されている。ファイルはディレクトリと呼ばれてもよい。
【0024】
ユーザーがアクセス権を有するファイル/フォルダとは、ログインしたユーザーが閲覧、編集、又は削除の1つ以上を行えるファイル/フォルダである。例えば、ユーザーがオーナーのファイル/フォルダ、及び、テナント内で共有される共有ファイル/フォルダである。本実施形態では、単に「表示できるファイル/フォルダ」という用語で説明される。
【0025】
<システム構成>
本実施形態に係るサービス提供システム100のシステム構成について、図3を参照しながら説明する。図3は、本実施形態に係るサービス提供システム100の一例のシステム構成を示す図である。
【0026】
図3に示すサービス提供システム100は、情報処理システム10と、機器20と、端末装置30と、を含み、インターネット等の広域的なネットワークN1を介して通信可能に接続されている。サービス提供システム100は外部システムである外部サービスシステム40と通信する。
【0027】
情報処理システム10は、一台以上の情報処理装置で実現され、ネットワークN1を介して、クラウドサービス等の外部サービスシステム40と連携した一連の処理により実現される各種のサービスを提供する。本実施形態に係る情報処理システム10が提供するサービスの具体例については後述する。情報処理システム10は、クラウドコンピューティングにより実現されてもよいし、単一の情報処理装置によって実現されてもよい。クラウドコンピューティングとは、特定ハードウェア資源が意識されずにネットワーク上のリソースが利用される形態をいう。情報処理システム10は、インターネット上に存在しても、オンプレミスに存在してもよい。なお、一連の処理は1つのアプリケーションにより提供され、一連の処理を「処理フロー」「ワークフロー」ともいう。
【0028】
機器20は、ユーザーが使用する各種の電子機器である。機器20は、例えば、MFP(Multifunction Peripheral)等の画像形成装置、PC(パーソナルコンピュータ)、プロジェクタ、電子黒板、テレビ会議端末、デジタルカメラ等である。機器20はネットワークN2に接続されている。ユーザーは、機器20を用いて、情報処理システム10又は外部サービスシステム40が提供する各種のサービスを利用することができる。
【0029】
なお、以降では、複数の機器20について、各々を区別するときは、「機器20」、「機器20」等と添え字を用いて記載する。
【0030】
端末装置30は、例えば、管理者又はユーザーが使用するデスクトップPC、ノート型PC、スマートフォン、タブレット端末等である。端末装置30はネットワークN2に接続されている。管理者又はユーザーは端末装置30を操作して、情報処理システム10又は外部サービスシステム40が提供する各種のサービスを利用することができ、更に、アプリケーションの設定を行うことができる。
【0031】
なお、以降では、複数の端末装置30について、各々を区別するときは、「端末装置30」、「端末装置30」等と添え字を用いて記載する。
【0032】
外部サービスシステム40は、ネットワークN1を介してアプリケーションの実行によるサービスを提供する一台以上の情報処理装置である。アプリケーションの実行によりデータの保存又は読出等が行われる。外部サービスシステム40の「外部」とは、情報処理システム10とは別のシステムであることをいう。異なる企業により運営される場合が多い。例えば、同じユーザーであっても外部サービスシステム40と情報処理システム10ではアカウントが異なる。
【0033】
外部サービスシステム40の一例には、例えば、各種のクラウドサービス、ASP(Application Service Provider)等があり、ネットワークを介して提供される各種の外部サービスが含まれてよい。例えば、サービスの一例としてストレージサービスがある。外部サービスシステム40は、インターネット上に存在しても、オンプレミスに存在してもよい。
【0034】
なお、以降では、複数の外部サービスシステム40について、各々を区別するときは、図示されている「外部サービスシステム40」、「外部サービスシステム40」等と、記載する。
【0035】
<ハードウェア構成例>
図4を参照して、本実施形態に係る情報処理システム10及び端末装置30のハードウェア構成について説明する。
【0036】
<<情報処理システム及び端末装置>>
図4は、本実施形態に係る情報処理システム10及び端末装置30の一例のハードウェア構成を示す図である。図4に示されているように、情報処理システム10及び端末装置30はコンピュータによって構築されており、CPU501、ROM502、RAM503、HD(Hard Disk)504、HDD(Hard Disk Drive)コントローラ505、ディスプレイ506、外部機器接続I/F(Interface)508、ネットワークI/F509、バスライン510、キーボード511、ポインティングデバイス512、DVD-RW(Digital Versatile Disk Rewritable)ドライブ514、メディアI/F516を備えている。
【0037】
これらのうち、CPU501は、情報処理システム10及び端末装置30全体の動作を制御する。ROM502は、IPL等のCPU501の駆動に用いられるプログラムを記憶する。RAM503は、CPU501のワークエリアとして使用される。HD504は、プログラム等の各種データを記憶する。HDDコントローラ505は、CPU501の制御にしたがってHD504に対する各種データの読み出し又は書き込みを制御する。ディスプレイ506は、カーソル、メニュー、ウィンドウ、文字、又は画像などの各種情報を表示する。外部機器接続I/F508は、各種の外部機器を接続するためのインターフェースである。この場合の外部機器は、例えば、USB(Universal Serial Bus)メモリやプリンタ等である。ネットワークI/F509は、ネットワークN2を利用してデータ通信をするためのインターフェースである。バスライン510は、図4に示されているCPU501等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
【0038】
また、キーボード511は、文字、数値、又は各種指示などの入力に使用される複数のキーを備えた入力手段の一種である。ポインティングデバイス512は、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行う入力手段の一種である。DVD-RWドライブ514は、着脱可能な記録媒体の一例としてのDVD-RW513に対する各種データの読み出し又は書き込みを制御する。なお、DVD-RWドライブ514は、DVD-RWに限らず、DVD-R等であってもよい。メディアI/F516は、フラッシュメモリ等の記録メディア515に対するデータの読み出し又は書き込み(記憶)を制御する。
【0039】
<<機器>>
図5は、機器20の一例である画像形成装置のハードウェア構成図である。図5に示されているように、画像形成装置は、コントローラ910、近距離通信回路920、エンジン制御部930、操作パネル940、ネットワークI/F950を備えている。
【0040】
これらのうち、コントローラ910は、コンピュータの主要部であるCPU901、システムメモリ(MEM-P)902、ノースブリッジ(NB)903、サウスブリッジ(SB)904、ASIC(Application Specific Integrated Circuit)906、記憶部であるローカルメモリ(MEM-C)907、HDDコントローラ908、及び、記憶部であるHD909を有し、NB903とASIC906との間をAGP(Accelerated Graphics Port)バス921で接続した構成となっている。
【0041】
これらのうち、CPU901は、画像形成装置の全体制御を行う制御部である。NB903は、CPU901と、MEM-P902、SB904、及びAGPバス921とを接続するためのブリッジであり、MEM-P902に対する読み書きなどを制御するメモリコントローラと、PCI(Peripheral Component Interconnect)マスタ及びAGPターゲットとを有する。
【0042】
MEM-P902は、コントローラ910の各機能を実現させるプログラムやデータの格納用メモリであるROM902a、プログラムやデータの展開、及びメモリ印刷時の描画用メモリなどとして用いるRAM902bとからなる。なお、RAM902bに記憶されているプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、CD-R、DVD等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【0043】
SB904は、NB903とPCIデバイス、周辺デバイスとを接続するためのブリッジである。ASIC906は、画像処理用のハードウェア要素を有する画像処理用途向けのIC(Integrated Circuit)であり、AGPバス921、PCIバス922、HDDコントローラ908及びMEM-C907をそれぞれ接続するブリッジの役割を有する。このASIC906は、PCIターゲット及びAGPマスタ、ASIC906の中核をなすアービタ(ARB)、MEM-C907を制御するメモリコントローラ、ハードウェアロジックなどにより画像データの回転などを行う複数のDMAC(Direct Memory Access Controller)、並びに、スキャナ部931、プリンタ部932、及びファクシミリ部との間でPCIバス922を介したデータ転送を行うPCIユニットとからなる。なお、ASIC906は、USB(Universal Serial Bus)のインターフェースや、IEEE1394(Institute of Electrical and Electronics Engineers 1394)のインターフェースを有していてよい。
【0044】
MEM-C907は、コピー用画像バッファ及び符号バッファとして用いるローカルメモリである。HD909は、画像データの蓄積、印刷時に用いるフォントデータの蓄積、フォームの蓄積を行うためのストレージである。HD909は、CPU901の制御にしたがってHD909に対するデータの読出又は書込を制御する。AGPバス921は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレータカード用のバスインタフェースであり、MEM-P902に高スループットで直接アクセスすることにより、グラフィックスアクセラレータカードを高速にすることができる。
【0045】
また、近距離通信回路920には、近距離通信回路のアンテナ920aが備わっている。近距離通信回路920は、NFC、Bluetooth(登録商標)等の通信回路である。
【0046】
更に、エンジン制御部930は、スキャナ部931、プリンタ部932及びファクシミリ部933を有している。また、操作パネル940は、現在の設定値や選択画面等を表示させ、操作者からの入力を受け付けるタッチパネル等のパネル表示部940a、並びに、濃度の設定条件などの画像形成に関する条件の設定値を受け付けるテンキー及びコピー開始指示を受け付けるスタートキー等からなるハードキー940bを備えている。コントローラ910は、画像形成装置全体の制御を行い、例えば、描画、通信、操作パネル940からの入力等を制御する。スキャナ部931又はプリンタ部932には、誤差拡散やガンマ変換などの画像処理部分が含まれている。
【0047】
なお、画像形成装置は、操作パネル940のアプリ切り替えキーにより、ドキュメントボックス機能、コピー機能、プリンタ機能、及びファクシミリ機能を順次に切り替えて選択することが可能となる。画像形成装置は、ドキュメントボックス機能の選択時にはドキュメントボックスモードとなり、コピー機能の選択時にはコピーモードとなり、プリンタ機能の選択時にはプリンタモードとなり、ファクシミリモードの選択時にはファクシミリモードとなる。
【0048】
また、ネットワークI/F950は、ネットワークN2を利用してデータ通信をするためのインターフェースである。近距離通信回路920及びネットワークI/F950は、PCIバス922を介して、ASIC906に電気的に接続されている。
【0049】
<機能について>
次に、本実施形態に係るサービス提供システム100の機能構成について、図6を参照しながら説明する。図6は、本実施形態に係るサービス提供システム100の一例の機能構成を示す図である。
【0050】
<<機器>>
機器20は、第二通信部21と、表示制御部22と、操作受付部23と、画像データ生成部24と、ファクシミリ処理部25と、電子メール処理部26とを有する。これら各機能部は、機器20にインストールされた1以上のプログラムに含まれる命令をCPU901が実行することで実現される機能又は手段である。例えば、第二通信部21、表示制御部22及び操作受付部23はWebブラウザにより実現され、その他は個別のアプリケーション(ネイティブアプリ)により実現される。
【0051】
第二通信部21は、情報処理システム10との間で各種の情報を送受信する。本実施形態では、第二通信部21は、各種の画面の画面情報等を情報処理システム10から受信し、アプリケーションの実行要求等を情報処理システム10に送信する。また、第二通信部21は、ファイル/フォルダのリストを情報処理システム10から受信する。
【0052】
表示制御部22は、各種の画面の画面情報を解釈してパネル表示部940aに表示する。操作受付部23は、パネル表示部940aに表示された各種画面におけるユーザーの各種操作を受け付ける。
【0053】
画像データ生成部24は、操作受付部23が選択を受け付けたアプリケーションが画像データを生成するものである場合、スキャナ部931で原稿をスキャンして画像データを生成する。ファクシミリ処理部25は、ファクシミリ部933によるファクシミリの受信及び送信に関する処理を行い、ファクシミリを受信した場合に予め対応付けられているアプリケーションの実行を情報処理システム10に要求する。なお、ファクシミリ処理部25は、ファクシミリの送信元(FAX番号)に対応したアプリケーションを要求してもよい。
【0054】
電子メール処理部26は、電子メールの送受信に関する処理を行い、電子メールを受信した場合に予め対応付けられているアプリケーションの実行を情報処理システム10に要求する。なお、電子メール処理部26は、電子メールの送信元(メールアドレス)に対応したアプリケーションを要求してもよい。
【0055】
<<端末装置>>
端末装置30は、第一通信部31と、表示制御部32と、操作受付部33とを有する。これら各機能部は、端末装置30にインストールされた1以上のプログラムに含まれる命令をCPU501が実行することで実現される機能又は手段である。なお、このプログラムはWebブラウザでもよいし、専用のソフトウェアでもよい。
【0056】
第一通信部31は、情報処理システム10又は外部サービスシステム40との間で各種の情報を送受信する。本実施形態では、第一通信部31は、権限と操作の可否を保存する権限事前検証用アプリの実行を情報処理システム10に要求する。また、第一通信部31は、各外部サービスシステム40における権限の名称を情報処理システム10に登録する。
【0057】
表示制御部32は、各種の画面の画面情報を解釈してディスプレイ506に表示する。操作受付部33は、ディスプレイ506に表示された各種画面におけるアプリ開発者の各種操作を受け付ける。
【0058】
<<情報処理システム>>
情報処理システム10は、第三通信部11、画面生成部12、アプリ実行部13、外部サービス処理部14、認証処理部19、ユーザー情報記憶部41、及び、権限情報記憶部42を有する。これら各機能部は、情報処理システム10にインストールされた1以上のプログラムに含まれる命令を図4に示したCPU501が実行することで実現される機能又は手段である。また、ユーザー情報記憶部41、及び、権限情報記憶部42は、図4に示したHD504等に構築される。
【0059】
第三通信部11は、端末装置30と機器20との間で各種の情報を送受信する。本実施形態では、第三通信部11は、アプリケーションの実行時にはアプリケーションのリストを機器20又は端末装置30に送信し、アプリケーションの実行要求を受信する。また、第三通信部11は、アプリケーションが操作できるファイル/フォルダのリストを機器20に送信する。
【0060】
画面生成部12は、アプリケーションの作成時に端末装置30が表示する画面情報を生成し、アプリケーションの実行時に機器20が表示する画面の画面情報を生成する。なお、画面情報は、HTML、XML、スクリプト言語、及びCSS(Cascading Style Sheet)等で記述されたプログラムであり、主にHTMLによりWebページの構造が特定され、スクリプト言語によりWebページの動作が規定され、CSSによりWebページのスタイルが特定される。
【0061】
アプリ実行部13は、コンポーネントを組み合わせたアプリケーションの定義を管理しており、コンポーネントを実行順に呼び出してアプリケーションを実行する。
【0062】
外部サービス処理部14は、外部サービスシステム40のAPI(Application Interface)と通信して、外部サービスシステム40が有するファイル/フォルダに対する各種の操作を行う。
【0063】
認証処理部19は、ユーザー情報を使用したユーザー認証を行う。ユーザー認証は情報処理システム10が行うのでなく、外部の認証装置を使用したり、OAUTHなどの仕組みを利用したりすることもできる。
【0064】
図7は、ユーザー情報記憶部41に記憶されているユーザー情報の一例である。ユーザー情報は、情報処理システム10におけるアカウント情報、外部サービスシステム40ごとのアカウント情報を対応付けて有している。したがって、情報処理システム10にログインしたログインユーザーが特定されると、このユーザーの外部サービスシステム40におけるアカウント情報も特定される。
【0065】
なお、外部サービスシステム40におけるアカウント情報は、ユーザーID(ユーザー名)とパスワード、又は、外部サービスシステム40が発行したトークンなどである。外部サービスシステム40では、ユーザーのアカウント情報(トークンを含む)に応じてユーザーの認可情報が決まっている。認可情報により、ユーザーが、外部サービスシステム40が有するファイル/フォルダのうち表示できるファイル/フォルダが決まっている。
【0066】
図8は、権限情報記憶部42に記憶されている権限情報を示す。権限情報には、外部サービスシステム40が有するファイル/フォルダに対し設定されている権限に対応付けて、ファイル/フォルダに対する各種の操作の可否が登録されている。
【0067】
・外部サービスシステムIDは外部サービスシステム40の識別情報である。
【0068】
・権限は、ファイル/フォルダに対し要求される権限である。権限には、download、upload、admin、read、writeなどがある。どのような権限があるかは外部サービスシステム40によって変わりうる。一方、download、uploadなど、多くの外部サービスシステム40に共通の権限も存在するが、download、uploadの権限をどのような名称とするかは外部サービスシステム40によって異なっている場合が多い。このため、管理者は予め外部サービスシステム40ごとに、各権限の名称を情報処理システム10に登録してある(図9参照)。
【0069】
・アップロード、ダウンロード、削除、編集、及び、メタデータ編集は、ファイル/フォルダに対し行われる操作の一例である。操作の可否は、Trueが許可、Falseが制限(禁止)とする。
【0070】
<外部サービスシステムにおける権限の名称の登録>
次に、図9を参照して、外部サービスシステム40に対する各権限の名称の登録方法を説明する。図9(a)は、権限の名称を登録する名称登録画面210を説明する図である。名称登録画面210は情報処理システム10から端末装置30に提供される。管理者は端末装置30を情報処理システム10に接続させ、名称登録画面210を表示させる。
【0071】
名称登録画面210は、外部サービスシステム40のリスト欄211と、アクセス権限の名称欄212を有している。管理者は、外部サービスシステム40のリスト欄211で外部サービスシステム40を選択する。そして、管理者は、例えばJson形式で、権限の名称を登録する名称登録情報をアクセス権限の名称欄212に入力する。図9(a)では「right」が権限の名称である。管理者は、「right」が権限を表すことを、「#target」という予め決まっているキーワードを対応付けることで示す。管理者が保存ボタン213を押下することで、外部サービスシステム40における権限の名称が情報処理システム10に登録される。
【0072】
なお、Json形式は一例であり、名称登録情報はXMLでもよいし、「right」と「#target」とを対応付けたCSVやテーブルでもよい。
【0073】
図9(b)も同様に権限の名称を登録する名称登録画面220を説明する図である。図9(b)の名称登録画面220は、外部サービスシステム40のリスト欄221、アイテム一覧取得ボタン222、アイテム取得情報表示欄223、取り込みボタン225、及び、アクセス権限の名称欄224を有している。図7に示したように、管理者は、外部サービスシステム40における認証情報を情報処理システム10に予め登録してある。
【0074】
管理者がアイテム一覧取得ボタン222を押下すると、情報処理システム10が、管理者が表示できるファイル/フォルダのリストを取得して端末装置30に送信する。端末装置30は、アイテム取得情報表示欄223にファイル/フォルダのリストを表示する。ファイル/フォルダのリストに、権限を表す名称(ここでは「right」)があるので、管理者が選択する。選択後に、管理者が取り込みボタン225を押下すると、端末装置30(又は情報処理システム10が変換してもよい)がJson形式の名称登録情報を生成し、アクセス権限の名称欄224に表示する。管理者が保存ボタン226を押下することで、外部サービスシステム40における権限の名称が情報処理システム10に登録される。
【0075】
<動作手順>
続いて、図10図14を参照して、情報処理システム10が行う処理又は動作について説明する。
【0076】
<<権限情報の保存>>
図10は、情報処理システム10が事前に用意されたファイル/フォルダに対して各種操作を行い、権限と操作結果を対応付けて保存する処理を示すシーケンス図である。なお、図10を含む以降のシーケンス図では簡単のため第三通信部11を省略した。端末装置30又は機器20との通信には第三通信部11が使用されている。
【0077】
図10の処理は、システム外での準備作業(外部サービスシステム40に管理者が各種の権限を設定した権限事前検証用アプリのためのファイル/フォルダを作成しておく。)が終わってから行う必要があるので、管理者が手動で実行を開始する場合がある。しかしながら、実施例2で説明するように、管理者が外部サービスシステム40を連携先として登録したタイミングや、定期的なチェックとして自動で実行されてもよい。
【0078】
S1:管理者は、端末装置30を操作して情報処理システム10に接続させ、端末装置30に管理者用画面を要求する操作を行う。第一通信部31は管理者用画面を情報処理システム10に要求する。
【0079】
S2:情報処理システム10の第三通信部11は管理者用画面の要求を受信し、管理者がログインしていない場合は、画面生成部12がログイン画面を生成する。第三通信部11は、ログイン画面の画面情報を端末装置30に送信する。
【0080】
S3:端末装置30の第一通信部31がログイン画面の画面情報を受信し、表示制御部32がログイン画面を表示する。管理者がアカウント情報を入力するので、第一通信部31はアカウント情報を指定してログイン要求を情報処理システム10に送信する。
【0081】
S4:情報処理システム10の第三通信部11はログイン要求を受信し、認証処理部19は、ユーザー情報を参照して認証する。ここでは認証が成功したものとする。画面生成部12が管理者用画面を生成する。第三通信部11は、管理者用画面の画面情報を端末装置30に送信する。
【0082】
S5:管理者は管理者用画面から外部サービスシステム40を指定して、権限事前検証の開始を入力する。操作受付部33が操作を受け付けて、第一通信部31が権限事前検証の要求を情報処理システム10に送信する。
【0083】
S6:情報処理システム10の第三通信部11は権限事前検証の要求を受信し、画面生成部12が権限事前検証用アプリの実行をアプリ実行部13に要求する。権限事前検証用アプリは図8の権限情報を作成するアプリケーションである。画面生成部12は情報処理システム10におけるアカウント情報と外部サービスシステム40を指定する。
【0084】
S7,S8:アプリ実行部13は、まず、ユーザー情報記憶部41から情報処理システム10におけるアカウント情報に対応付けられている、外部サービスシステム40における管理者のアカウント情報を取得する。
【0085】
S9,S10:次に、アプリ実行部13は、権限事前検証用アプリの実行を要求されたので、外部サービスシステム40から、ファイル/フォルダのリストとファイル/フォルダに設定されている権限を取得する。権限事前検証用アプリのためのファイル/フォルダと権限は事前に外部サービスシステム40に登録されている。つまり、予め、権限情報の作成のためのファイル/フォルダが用意されている。
【0086】
図11は、外部サービスシステム40から取得される、ファイル/フォルダのリストとファイル/フォルダに設定されている権限の一例を示す。図11はJson形式になっており、ファイル/フォルダごとに、ファイル/フォルダ名231、235、識別情報232、236、ファイル/フォルダの区別233、237、権限234、238が外部サービスシステム40から送信される。なお、外部サービスシステム40から送信される図11の情報は文字列に限らず、権限に対応する数値や記号等の場合もある。
【0087】
S11、S12:図10に戻って説明する。アプリ実行部13は、外部サービスシステム40から取得されたファイル/フォルダに対し、アプリケーションが行いうる全ての操作を行う。アプリ実行部13は、例えば、アップロード、ダウンロード、削除、編集、及び、メタデータ編集の全てを行う。この操作の全ては権限事前検証用アプリに設定されいてもよいし、情報処理システム10が有する全てのコンポーネントが行いうる操作でもよい。図10では、説明の便宜上、アップロード、ダウンロードのみを示した。
【0088】
S13:操作が成功した場合、外部サービスシステム40はOK(操作成功)をアプリ実行部13に返す。
【0089】
S14,S15:アプリ実行部13は、外部サービスシステムID、権限、操作の種類、操作結果(許可)を指定して、権限情報記憶部42に、権限情報を書き込む。外部サービスシステム40から取得された情報のどれが権限であるかは、上記のように外部サービスシステム40ごとに設定されている。例えば、図9の例では「right」が権限である。
【0090】
S16:操作が失敗した場合、外部サービスシステム40はNG(操作成功)を外部サービス処理部14に返す。例えばHTTP通信では403が通知される。403は、リソースが存在するものの、アクセス者にページを表示する権限がない(権限エラー)ためアクセスが拒否されたことを示す。
【0091】
S17,S18:アプリ実行部13は、外部サービスシステムID、権限、操作の種類、操作結果(制限)を指定して、権限情報記憶部42に、権限情報を書き込む。
【0092】
S19:その他のエラーの場合、権限を検証できないので、アプリ実行部13は、権限情報を保存しない。以上で、図8のような権限情報が権限情報記憶部42に保存された。
【0093】
<<外部サービスシステムのファイル/フォルダの表示>>
続いて、図12を参照して、権限情報を使用したファイル/フォルダの表示方法を説明する。図12は、事前に保存されている権限情報を利用して、ユーザーが実行するアプリケーションが操作できるファイル/フォルダのみを表示する処理を示すシーケンス図である。
【0094】
S21:ユーザーは、機器20に対しアプリ画面を表示する操作を行う。機器20の第二通信部21はアプリ画面を情報処理システム10に要求する。アプリ画面は、ユーザーが実行したいアプリケーションのメイン画面である。
【0095】
S22:情報処理システム10の第三通信部11はアプリ画面の要求を受信し、ユーザーがログインしていない場合は、画面生成部12がログイン画面を生成する。第三通信部11は、ログイン画面の画面情報を機器20に送信する。
【0096】
S23:機器20の第二通信部21がログイン画面の画面情報を受信し、表示制御部22がログイン画面を表示する。ユーザーがアカウント情報を入力するので、第二通信部21はアカウント情報を指定してログイン要求を情報処理システム10に送信する。
【0097】
S24:情報処理システム10の第三通信部11はログイン要求を受信し、認証処理部19は、ユーザー情報を参照して認証する。ここでは認証が成功したものとする。画面生成部12がホーム画面を生成する。第三通信部11は、ホーム画面の画面情報を端末装置30に送信する。ホーム画面とは、アプリケーションのアイコンのリストを表示して、アプリケーションの実行を受け付ける画面である。
【0098】
S25:ユーザーはホーム画面から任意のアプリケーションを選択する。操作受付部23が操作を受け付けて、第二通信部21がアプリIDを指定してアプリケーションの実行の要求を情報処理システム10に送信する。
【0099】
S26:情報処理システム10の第三通信部11はアプリケーションの実行要求を受信し、画面生成部12がアプリIDを指定してアプリ実行部13にアプリ画面を要求する。
【0100】
S27:アプリ実行部13は、アプリIDで指定されたアプリケーションのアプリ画面に配置される情報(アプリ名、メニュー、ボタン等)を画面生成部12に返す。
【0101】
S28:画面生成部12は、アプリ画面を生成し、第三通信部11は、アプリ画面の画面情報を機器20に送信する。機器20の第二通信部21はアプリ画面の画面情報を受信し、表示制御部22がアプリ画面を表示する。
【0102】
S29:ユーザーが実行するアプリケーションがファイル/フォルダを使用する場合(例えばダウンロードして印刷するアプリケーション、ファイルをアップロードするアプリケーション等)、ユーザーはファイル/フォルダを表示させる操作を機器20に入力する。操作受付部23が操作を受け付けて、第二通信部21がファイル/フォルダの表示要求を情報処理システム10に送信する。
【0103】
S30:情報処理システム10の第三通信部11はファイル/フォルダの表示要求を受信し、画面生成部12が、情報処理システム10におけるユーザーのアカウント情報を指定して、ファイル/フォルダの表示要求をアプリ実行部13に送信する。
【0104】
S31,S32:アプリ実行部13は、まず、ユーザー情報記憶部41から情報処理システム10におけるユーザーのアカウント情報に対応付けられている、外部サービスシステム40におけるアカウント情報を取得する。
【0105】
S33,S34:次に、アプリ実行部13は、外部サービス処理部14を介して、外部サービスシステム40におけるアカウント情報を指定して、ユーザーが表示できるファイル/フォルダの一覧を取得する。
【0106】
S35,S36:次に、アプリ実行部13は、アプリケーションが連携する外部サービスシステム40の権限情報を権限情報記憶部42から取得する。図13は、外部サービスシステム40から取得された権限情報の一例を示す。図13では、一例として、
(a) admin241という権限に対しアップロード242とダウンロード243がTrue(許可)、
(b) write244という権限に対しアップロード245とダウンロード246がTrue(許可)、
(c) read247という権限に対しアップロード248とダウンロード249がFalse(制限)、
となっている。
【0107】
S37,S38:アプリ実行部13は、ユーザーが表示できるファイル/フォルダの権限に対し操作が許可されているか否かを権限情報で判断して、操作が許可されているファイル/フォルダのみを画面生成部12に送信する。なお、この判断は機器20側で行ってもよい。例えば、ユーザーが表示できるファイル/フォルダの権限にadminがある場合、(a)ではTrue(許可)なので、adminが権限のファイル/フォルダは機器20に表示される。例えば、ユーザーが表示できるファイル/フォルダの権限にwriteがある場合、(b)ではTrue(許可)なので、writeが権限のファイル/フォルダは機器20に表示される。例えば、ユーザーが表示できるファイル/フォルダの権限にreadがある場合、(c)ではFalse(制限)なので、readが権限のファイル/フォルダは機器20に表示されない。
【0108】
なお、権限情報記憶部42において、権限に対応付けられている操作の可否のうち、一部の操作についてのみ許可の場合、アプリ実行部13は、操作が許可されていると判断して、ファイル/フォルダのみを画面生成部12に送信する。この場合、許可されている操作の種類も機器20に送信されるとよい。機器20はファイル/フォルダごとに許可されている操作をユーザーに通知(ボタンにテキストで記載してもよいし、ボタンの押下に対しポップアップ表示してもよい)できる。
【0109】
また、アプリ実行部13は、アプリケーションが行う操作が許可されているファイル/フォルダのみを画面生成部12に送信してもよい。例えば、アプリケーションが行う操作がアップロードの場合、アプリ実行部13は、ユーザーが表示できるファイル/フォルダの権限に対し、アプリケーションが行う操作が許可されているファイル/フォルダのみを画面生成部12に送信する。
【0110】
図14は、アプリ実行部13による判断結果を示す。図14(a)は文字列形式の判断結果を、図14(b)はリスト形式の判断結果をそれぞれ示す。まず、図14(a)について説明する。図14(a)の情報が画面生成部12に渡される。False(制限)のフォルダは表示されないので、図14(a)では、権限がwrite251とadmin252のファイル/フォルダのみが画面生成部12に渡されている。
【0111】
同様に、図14(b)では、フォルダごとに許可されている全ての権限253,254が記述されているが、含まれる情報は図14(a)と同様である。
【0112】
S39:図12に戻り、画面生成部12は、アプリケーションが操作できるファイル/フォルダのみを含むファイル/フォルダの表示画面を生成し、第三通信部11を介して機器20に送信する。機器20の第二通信部21はファイル/フォルダの表示画面の画面情報を受信し、表示制御部22が操作パネル940に表示する。
【0113】
<ファイル/フォルダの表示例>
図15は、機器20が表示するファイル/フォルダの表示画面260を示す。図15では6つのフォルダ261a~261fが表示されている。この6つのフォルダ261a~261fは、アプリケーションによる操作が実行可能なフォルダである。ユーザーがフォルダ261a~261fを、下位層選択ボタン262a~262fで選択すると、機器20がフォルダ内のファイル(フォルダの場合もある)を情報処理システム10に要求する。情報処理システム10はアプリケーションによる操作が実行可能なファイルのみを機器20に送信する。したがって、機器20は、アプリケーションによる操作が実行可能なファイルのみを表示できる。
【0114】
<アプリケーションの実行に伴う権限情報の更新>
権限事前検証用アプリにより事前に権限情報が作成されても、外部サービスシステム40に存在する全ての権限のファイル/フォルダが権限事前検証用アプリ用に用意されていない場合や、外部サービスシステム40側の権限の仕様が変わる場合が生じうる。そこで、本実施形態では、情報処理システム10が、アプリケーションの実行結果に応じて権限情報を更新する。
【0115】
図16は、機器20がアプリケーションを実行した際にその実行結果から権限情報を更新する処理を示すシーケンス図である。
【0116】
S41:ユーザーがファイル/フォルダが表示された表示画面からファイル/フォルダを指定して、アプリケーションの実行を機器20に入力する。機器20の操作受付部23が操作を受け付け、第二通信部21は、ファイル/フォルダID及び権限を指定してアプリケーションの実行要求を情報処理システム10に要求する。
【0117】
S42:情報処理システム10の第三通信部11はアプリケーションの実行要求を受信し画面生成部12がファイル/フォルダID、権限、及び、情報処理システム10におけるユーザーのアカウント情報を指定して、アプリケーションの実行要求をアプリ実行部13に送信する。
【0118】
S43,S44:アプリ実行部13は、ユーザー情報記憶部41から情報処理システム10におけるユーザーのアカウント情報に対応付けられている、外部サービスシステム40におけるユーザーのアカウント情報を取得する。
【0119】
S45:アプリ実行部13は、外部サービスシステム40におけるアカウント情報を指定して、ファイル/フォルダに関する操作を外部サービスシステム40に要求する。この操作とは例えば、ファイルのアップロードやダウンロードなど、アプリケーションが可能な操作のうちユーザーが選択した操作である。
【0120】
S46~S48:ファイル/フォルダの操作に成功した場合、外部サービスシステム40がOK(成功)を返す。情報処理システム10は操作が成功した旨を機器20に送信する。
【0121】
S49、S50:操作が成功したので、アプリ実行部13は、外部サービスシステムID、権限、操作、操作結果(許可)を指定して権限情報記憶部42に記憶されている権限情報を更新する。
【0122】
なお、ファイル/フォルダの権限が権限情報にない未知の権限だった場合にのみ、アプリ実行部13が権限情報を権限情報記憶部42に書き込んでもよい。ある権限と操作の組み合わせにおいて、成功/失敗のログを蓄積し、頻度が高い組み合わせのみ、アプリ実行部13が、権限情報を更新してもよい。これらについては実施例4,6にて説明する。
【0123】
S51~S53:ファイル/フォルダの操作に、外部サービス処理部14が失敗した場合、外部サービスシステム40はNG(操作失敗)を外部サービス処理部14に返す。例えばHTTP通信では403が通知される。情報処理システム10は操作が失敗した旨を機器20に送信する。
【0124】
S54、S55:アプリ実行部13は、操作が失敗したので、外部サービスシステムID、権限、操作、操作結果(制限)を指定して権限情報記憶部42に記憶されている権限情報を更新する。
【0125】
S56~S58:その他の失敗の場合、情報処理システム10は操作が失敗した旨を機器20に送信する。
【0126】
このように、本実施形態では、権限の事前検証を実行した外部サービスシステム40に存在しなかった権限を持つファイル/フォルダが存在した場合や、外部サービスシステム40側の権限の仕様が変わった場合にも対応することができる。
【0127】
<主な効果>
本実施例によれば、管理者のアカウントで、各種権限を持つフォルダ/ファイルに対してアップロードやダウンロードといった操作を行いその操作結果を保存するので、権限と操作の可否を対応付けておくことができる。ユーザーがアプリケーションを実行した際、情報処理システム10は、ユーザーによる操作が可能なファイル/フォルダのみを機器20に提供できる。
【実施例0128】
本実施例では、管理者が手動で権限の事前検証を行うのでなく、権限更新判断部15が定期的に権限の事前検証を行う情報処理システム10について説明する。
【0129】
本実施例においては、上記の実施例にて説明した図4図5のハードウェア構成図を援用できるものとして説明する。
【0130】
<機能について>
図17は、本実施形態に係るサービス提供システム100の一例の機能構成を示す図である。なお、図17の説明において、図6おいて同一の符号を付した構成要素は同様の機能を果たすので、主に本実施例の主要な構成要素についてのみ説明する場合がある。
【0131】
本実施例の情報処理システム10は新たに権限更新判断部15を有している。権限更新判断部15は権限の事前検証を行うタイミングを判断して、事前検証を開始する。
【0132】
<権限情報の保存>
図18は、情報処理システム10が事前に用意されたファイル/フォルダに対して各種操作を行い、権限と操作結果を対応付けて保存する処理を示すシーケンス図である。
【0133】
S61:権限更新判断部15は、毎日の0時など、権限の更新タイミングを判断する。実行間隔は、権限更新判断部15に設定されている。
【0134】
S62、S63:権限更新判断部15は、外部サービスシステム40と連携するコンポーネントの一覧をアプリ実行部13から取得する。外部サービスシステム40と連携するコンポーネントはコンポーネントの識別情報が予め設定されている。外部サービスシステム40と連携するコンポーネントにかぎらず、情報処理システム10が有する全てのコンポーネントに対して行ってもよい。各コンポーネントはアプリ実行部に通知され、各コンポーネントが行う全ての操作が検証される。
【0135】
以下のステップS64~S77は外部サービスシステム40ごとに実行される。
【0136】
S64:更新タイミングになると、権限更新判断部15は、権限事前検証用アプリの実行をアプリ実行部13に要求する。権限更新判断部15は外部サービスシステム40を指定する。
【0137】
S65,S66:アプリ実行部13は、ユーザー情報記憶部41から、管理者の情報処理システム10におけるアカウント情報に対応付けられている、外部サービスシステム40における管理者のアカウント情報を取得する。
【0138】
以降のステップS67~S77の処理は図10ステップS9~S19と同様でよい。
【0139】
<主な効果>
本実施例によれば、権限更新判断部15が定期的に権限の事前検証を行うことができ、管理者が、権限事前検証用アプリの実行を行う必要がない。なお、本実施例は実施例1と組み合わせて実行できる。
【実施例0140】
本実施例では、管理者が権限情報を手動で登録する方法について説明する。なお、本実施例においては、上記の実施例にて説明した図4図5のハードウェア構成図及び図6の機能ブロック図を援用できるものとして説明する。
【0141】
図19は、管理者が権限情報を更新する手順を示すシーケンス図の一例である。なお、管理者はすでにログインしている。
【0142】
S401:管理者は端末装置30を操作して情報処理システム10に接続させ、端末装置30に権限情報設定画面を要求する操作を行う。情報処理システム10の画面生成部12は、すでに設定されている権限情報を権限情報記憶部42から取得し、権限情報設定画面を生成する。権限情報が登録されていなければ、画面生成部12は権限情報がない権限情報設定画面を生成する。
【0143】
S402:端末装置30の第一通信部31が権限情報設定画面の画面情報を受信し、表示制御部32が権限情報設定画面を表示する。図21に権限情報設定画面の一例を示す。管理者が権限情報を入力するので、操作受付部33が受け付ける。第一通信部31は権限情報を指定して権限情報更新要求を情報処理システム10に送信する。
【0144】
S403:情報処理システム10の第三通信部11が権限情報更新要求を受信し、画面生成部12が権限情報を指定して、権限情報更新要求をアプリ実行部13に送信する。
【0145】
S404:アプリ実行部13は、権限情報記憶部42の権限情報を更新する。
【0146】
図20は、端末装置30が情報処理システム10に送信する権限情報のリクエストボディの一例である。図20に示すように、例えばJson形式で、管理者は情報処理システム10が用意するエディターに権限情報を記述する。管理者が図20のようなファイルを予め用意しておいて、このファイルを端末装置30から情報処理システム10に送信してもよい。図20に示すように、権限情報は、外部サービスシステム40の識別情報271、権限272,274に対する各操作の可否273,275を含む。
【0147】
図21は、端末装置30が表示する権限情報設定画面280の一例を示す。図21では、GUI(Graphical User Interface)として用意された権限情報設定画面280を示す。図21の権限情報設定画面280は、外部サービスシステム選択欄281、権限欄282、可能な操作欄283、追加ボタン284、編集ボタン285、削除ボタン286、及び、保存ボタン287を有している。
【0148】
・外部サービスシステム選択欄281は、管理者が権限情報を登録する外部サービスシステム40を選択する欄である。
【0149】
・権限欄282と可能な操作欄283には、外部サービスシステム選択欄281で選択された権限情報が表示される。権限欄282と可能な操作欄283は、初期状態では空欄でもよい。
【0150】
・追加ボタン284は、権限と可能な操作の入力欄を表示させ、管理者からの権限と可能な操作の入力を受け付けるボタンである。
【0151】
・編集ボタン285は、管理者が権限欄282と可能な操作欄283で選択した権限情報の編集受け付けるボタンである。
【0152】
・削除ボタン286は、管理者が権限欄282と可能な操作欄283で選択した権限情報の編集受け付けるボタンである。
【0153】
・保存ボタン287は、図21への設定内容を機器20が情報処理システム10に送信するためのボタンである。
【0154】
<主な効果>
本実施例では、管理者が権限情報を手動で登録できるので、外部サービスシステム40から事前に仕様変更が通知された場合など、外部サービスシステム40のリリースに合わせて権限情報を更新することができる。なお、本実施例は実施例1,2と組み合わせて実行できる。
【実施例0155】
本実施例では、外部サービスシステム40から送信された権限情報が未知のものだった場合にのみ、権限情報の更新を行う情報処理システム10について説明する。
【0156】
本実施例においては、上記の実施例にて説明した図4図5のハードウェア構成図、及び、図6に示した機能ブロック図を援用できるものとして説明する。
【0157】
<権限情報の保存>
図22は、機器20がアプリケーションを実行した際にその実行結果から権限情報を更新する処理を示すシーケンス図である。図22の説明では主に図16との相違を説明する。
【0158】
図22では、ステップS101~S103、S104~S107が追加されている。
【0159】
S101、S102:アプリ実行部13は、外部サービスシステム40を指定して現在、権限情報記憶部42に登録されている権限情報を取得する。
【0160】
S103:アプリ実行部13は、ステップS45でファイル/フォルダに対し実行された操作結果に基づいて、該ファイル/フォルダの権限が、権限情報記憶部42に登録されているか否か(未知か否か)を判断する。
【0161】
S49、S50:そして、アプリ実行部13は、ファイル/フォルダの権限が、権限情報記憶部42に登録されていない場合のみ、権限情報を更新する。ファイル/フォルダの権限が、権限情報記憶部42に登録されている場合、アプリ実行部13は、権限情報を更新しない。
【0162】
エラーコード403で失敗した場合も同様になる。
【0163】
S104、S105:アプリ実行部13は、外部サービスシステム40を指定して現在、権限情報記憶部42に登録されている権限情報を取得する。
【0164】
S106:アプリ実行部13は、ステップS45でファイル/フォルダに対し実行された操作結果に基づいて、該ファイル/フォルダの権限が、権限情報記憶部42に登録されているか否か(未知か否か)を判断する。
【0165】
S54、S55:そして、アプリ実行部13は、ファイル/フォルダの権限が、権限情報記憶部42に登録されていない場合のみ、権限情報を更新する。ファイル/フォルダの権限が、権限情報記憶部42に登録されている場合、アプリ実行部13は、権限情報を更新しない。
【0166】
<主な効果>
本実施例によれば、外部サービスシステム40から送信された権限情報が未知のものだった場合にのみ、権限情報の更新を行うので、既知の権限に対し、毎回書き込み処理を発生させる必要がない。なお、本実施例は実施例1,2を代替し、実施例3と組み合わせて実行できる。
【実施例0167】
本実施例では、権限情報の更新を行う必要があるコンポーネントが存在する場合にのみ、権限情報を更新する情報処理システム10について説明する。
【0168】
本実施例においては、上記の実施例にて説明した図4図5のハードウェア構成図を援用できるものとして説明する。
【0169】
<機能について>
図23は、本実施形態に係るサービス提供システム100の一例の機能構成を示す図である。なお、図23の説明において、図6おいて同一の符号を付した構成要素は同様の機能を果たすので、主に本実施例の主要な構成要素についてのみ説明する場合がある。
【0170】
本実施例の情報処理システム10は、新たにコンポーネント情報記憶部43を有している。図24は、コンポーネント情報記憶部43に記憶されたコンポーネント情報の一例を示す。コンポーネント情報にはコンポーネントIDに対応付けて権限情報の更新設定(更新する、更新しない)が登録されている。コンポーネントは外部サービスシステム40に対応付けて用意されるが、外部サービスシステム40の権限が特殊な仕様であるなどエンドユーザーの実行結果から学習すると悪影響がある場合、当該コンポーネントは更新設定が「設定しない」に登録される。こうすることで、管理者が手動で登録した権限情報のみを用いて、アプリケーションがファイル/フォルダの表示画面を表示できる。
【0171】
<アプリケーションの実行に伴う権限情報の更新>
図25は、機器20がアプリケーションを実行した際にその実行結果から権限情報を更新する処理を示すシーケンス図である。図25の説明では主に図16との相違を説明する。
【0172】
図25では、ステップS201、S202が追加されている。
【0173】
S201:アプリ実行部13は、アプリケーションに含まれるコンポーネントに、権限情報を更新するコンポーネントが含まれているか否かを判断する。アプリ実行部13は、図24に示すコンポーネント情報を参照して、権限情報を更新するコンポーネントか否かを判断する。アプリケーションに権限情報を更新するコンポーネントが含まれている場合のみ、アプリ実行部13は、ステップS49、S50を実行する。
【0174】
S202:アプリ実行部13は、アプリケーションに含まれるコンポーネントに、権限情報を更新するコンポーネントが含まれているか否かを判断する。アプリケーションに権限情報を更新するコンポーネントが含まれている場合のみ、アプリ実行部13は、ステップS54、S55を実行する。
【0175】
<主な効果>
本実施例では、外部サービスシステム40の権限が特殊な仕様であるなど、ユーザーの実行結果から学習すると悪影響がある場合に、管理者が手動で登録した権限情報のみを保存しておくことができる。なお、本実施例は実施例1,2を代替し、実施例3と組み合わせて実行できる。
【実施例0176】
本実施例では、アプリケーションの実行結果(外部サービスシステムID、権限、操作、操作結果)をログとして蓄積し、実行結果の分析結果に応じて権限情報を更新する情報処理システム10について説明する。
【0177】
<機能について>
図26は、本実施形態に係るサービス提供システム100の一例の機能構成を示す図である。なお、図26の説明において、図6おいて同一の符号を付した構成要素は同様の機能を果たすので、主に本実施例の主要な構成要素についてのみ説明する場合がある。
【0178】
本実施例の情報処理システム10は新たに履歴判断部16と実行履歴記憶部44を有している。履歴判断部16は、アプリケーションの実行履歴に基づいて、権限情報を更新するか否かを判断する。
【0179】
図27は、実行履歴記憶部44に記憶されている実行履歴を説明する図である。実行履歴は、アプリケーションが外部サービスシステム40を操作した場合に、権限と操作と操作結果を対応付けた情報である。
【0180】
・ジョブIDは、ワークフローの1回の実行ごとに採番されるアプリケーションの実行に対する識別情報である。ジョブIDの代わりに日時や連番などが使用されてもよい。
【0181】
・外部サービスシステムIDは、アプリケーションが連携した外部サービスシステム40の識別情報である。
【0182】
・権限は、アプリケーションが有する権限である。
【0183】
・操作種別は、アプリケーションがファイル/フォルダに対し行った操作の内容である。
【0184】
・実行結果は、アプリケーションによるファイル/フォルダに対する操作が成功(success)したか失敗したか(error)を示す。なお、この失敗は403エラーであることが好ましいが、その他の失敗を含んでもよい。
【0185】
<アプリケーションの実行に伴う権限情報の更新>
図28は、機器20がアプリケーションを実行した際にその実行結果から権限情報を更新する処理を示すシーケンス図である。図28の説明では主に図16との相違を説明する。
【0186】
まず、ステップS71~S78は、図16のステップS41~S48と同じでよい。
【0187】
S79,S80:アプリ実行部13は、外部サービスシステムID、権限、操作、操作結果(許可)を指定して、アプリケーションの実行履歴を実行履歴記憶部44に書き込む。
【0188】
S81~S83:ファイル/フォルダの操作に外部サービス処理部14が失敗した場合、外部サービスシステム40がNG(操作失敗)を返す。例えばHTTP通信では403が通知される。情報処理システム10は操作が失敗した旨を機器20に送信する。
【0189】
S84、S85:アプリ実行部13は、外部サービスシステムID、権限、操作、操作結果(制限)を指定して、アプリケーションの実行履歴を実行履歴記憶部44に書き込む。
【0190】
S86~S88:その他の失敗の場合、情報処理システム10は操作が失敗した旨を機器20に送信する。
【0191】
S89:履歴判断部16は、権限情報の更新を開始する。権限情報の更新は、毎日0時など、決まったタイミングに行われる。管理者が更新を指示してもよい。
【0192】
S90,S91:履歴判断部16は、実行履歴記憶部44から実行履歴を取得する。
【0193】
S92,S93:履歴判断部16は、権限情報記憶部42から権限情報を取得する。
【0194】
S94:アプリ実行部13は、権限情報の更新が必要か否かを判断する。判断方法の一例として、履歴判断部16は、外部サービスシステムID、権限及び操作の3つが同じ組み合わせの実行履歴を実行履歴記憶部44から取得し、例えば、直近XX回又は最近XX日の実行結果の成功の比率が、閾値以上であれば、その操作は可能であると判断する。
【0195】
S95:履歴判断部16は判断結果(更新する、しない)をアプリ実行部13に通知する。
【0196】
S96,S97:更新が必要な場合、アプリ実行部13は、外部サービスシステムID、権限、操作、操作内容を指定して権限情報を更新する。更新が必要でない場合、アプリ実行部13は、権限情報を更新しない。
【0197】
<主な効果>
本実施例によれば、情報処理システム10が、1回の実行結果の成功/失敗を受けて更新するよりも高い精度で権限情報を更新できるようになる。なお、本実施例は実施例1,2を代替し、実施例3と組み合わせて実行できる。
【0198】
<その他の適用例>
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【0199】
例えば、図6などの構成例は、端末装置30、機器20、及び情報処理システム10による処理の理解を容易にするために、主な機能に応じて分割したものである。処理単位の分割の仕方や名称によって本願発明が制限されることはない。端末装置30、機器20、及び情報処理システム10の処理は、処理内容に応じて更に多くの処理単位に分割することもできる。また、1つの処理単位が更に多くの処理を含むように分割することもできる。
【0200】
また、実施例に記載された装置群は、本明細書に開示された実施形態を実施するための複数のコンピューティング環境のうちの1つを示すものにすぎない。ある実施形態では、情報処理システム10は、サーバクラスタといった複数のコンピューティングデバイスを含む。複数のコンピューティングデバイスは、ネットワークや共有メモリなどを含む任意のタイプの通信リンクを介して互いに通信するように構成されており、本明細書に開示された処理を実施する。
【0201】
更に、情報処理システム10は、本実施形態で開示された処理ステップ、例えば図10等を様々な組み合わせで共有するように構成できる。例えば、所定のユニットによって実行されるプロセスは、情報処理システム10が有する複数の情報処理装置によって実行され得る。また、情報処理システム10は、1つのサーバー装置にまとめられていても良いし、複数の装置に分けられていても良い。
【0202】
上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)や従来の回路モジュール等のデバイスを含むものとする。
【符号の説明】
【0203】
10 情報処理システム
20 機器
30 端末装置
40 外部サービスシステム
100 サービス提供システム
【先行技術文献】
【特許文献】
【0204】
【特許文献1】特許5050981号公報
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27
図28