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

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

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

特開2023-66237情報処理システム、サービス提供システム、アプリ実行方法
<>
  • 特開-情報処理システム、サービス提供システム、アプリ実行方法 図1
  • 特開-情報処理システム、サービス提供システム、アプリ実行方法 図2
  • 特開-情報処理システム、サービス提供システム、アプリ実行方法 図3
  • 特開-情報処理システム、サービス提供システム、アプリ実行方法 図4
  • 特開-情報処理システム、サービス提供システム、アプリ実行方法 図5
  • 特開-情報処理システム、サービス提供システム、アプリ実行方法 図6
  • 特開-情報処理システム、サービス提供システム、アプリ実行方法 図7
  • 特開-情報処理システム、サービス提供システム、アプリ実行方法 図8
  • 特開-情報処理システム、サービス提供システム、アプリ実行方法 図9
  • 特開-情報処理システム、サービス提供システム、アプリ実行方法 図10
  • 特開-情報処理システム、サービス提供システム、アプリ実行方法 図11
  • 特開-情報処理システム、サービス提供システム、アプリ実行方法 図12
  • 特開-情報処理システム、サービス提供システム、アプリ実行方法 図13
  • 特開-情報処理システム、サービス提供システム、アプリ実行方法 図14
  • 特開-情報処理システム、サービス提供システム、アプリ実行方法 図15
  • 特開-情報処理システム、サービス提供システム、アプリ実行方法 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023066237
(43)【公開日】2023-05-15
(54)【発明の名称】情報処理システム、サービス提供システム、アプリ実行方法
(51)【国際特許分類】
   G06F 9/445 20180101AFI20230508BHJP
   H04N 1/00 20060101ALI20230508BHJP
【FI】
G06F9/445
H04N1/00 127Z
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2021176843
(22)【出願日】2021-10-28
(71)【出願人】
【識別番号】000006747
【氏名又は名称】株式会社リコー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】染谷 洋輔
【テーマコード(参考)】
5B376
5C062
【Fターム(参考)】
5B376EA01
5B376EA11
5B376EA21
5B376FA19
5B376GA01
5C062AA05
5C062AA13
5C062AA29
5C062AB23
5C062AB38
5C062AC05
5C062AC34
(57)【要約】
【課題】外部から取得したデータを機器に提供できる情報処理システムを提供すること。
【解決手段】1つ以上の処理を含むアプリケーションを機器からの要求に応じて実行する情報処理システム10であって、1つ以上の処理を含むアプリケーションの作成要求を受信する通信部11と、前記アプリケーションに含まれる処理に基づいて、外部からデータを取得する処理に、前記データを保存領域に保存する処理が追加された処理フローを生成するフロー生成部55と、前記アプリケーションの実行を要求された場合、前記アプリケーション及び前記処理フローを実行するアプリ実行部56と、前記保存領域の前記データを表示する画面情報を前記機器に提供する画面生成部12と、を有することを特徴とする。
【選択図】図5
【特許請求の範囲】
【請求項1】
1つ以上の処理を含むアプリケーションを機器からの要求に応じて実行する情報処理システムであって、
1つ以上の処理を含むアプリケーションの作成要求を受信する通信部と、
前記アプリケーションに含まれる処理に基づいて、外部からデータを取得する処理に、前記データを保存領域に保存する処理が追加された処理フローを生成するフロー生成部と、
前記アプリケーションの実行を要求された場合、前記アプリケーション及び前記処理フローを実行するアプリ実行部と、
前記保存領域の前記データを表示する画面情報を前記機器に提供する画面生成部と、
を有することを特徴とする情報処理システム。
【請求項2】
前記アプリケーションに含まれる処理が、ファイルブラウズに関する処理か否かに応じて、前記処理フローを生成するか否かを判断するフロー要否判断部を有することを特徴とする請求項1に記載の情報処理システム。
【請求項3】
前記フロー要否判断部が前記処理フローを生成すると判断した前記アプリケーションに含まれる処理が、保存領域にデータを保存できるか否かに関する処理の種別に応じて、
前記フロー生成部は、異なる前記処理フローを生成することを特徴とする請求項2に記載の情報処理システム。
【請求項4】
前記フロー要否判断部が前記処理フローを生成すると判断した前記アプリケーションに含まれる処理が、前記保存領域にデータを保存できる第一の種別の場合、
前記フロー生成部は、前記第一の種別の処理により、外部からデータを取得して前記データを保存領域に保存する処理フローを生成し、
前記フロー要否判断部が前記処理フローを生成すると判断した前記アプリケーションに含まれる処理が、前記保存領域にデータを保存できない第二の種別の場合、
前記フロー生成部は、前記第二の種別の処理により外部からデータを取得する処理に、前記データを保存領域に保存する前記第一の種別の処理が追加された処理フローを生成することを特徴とする請求項3に記載の情報処理システム。
【請求項5】
前記処理フローを生成すると判断した前記アプリケーションに含まれる処理が、保存領域にデータを保存できる第一の種別又は保存領域にデータを保存できない第二の種別かに関わらず、
前記フロー生成部は、前記第二の種別の処理により外部からデータを取得する処理に、前記データを保存領域に保存する前記第一の種別の処理が追加された処理フローを生成することを特徴とする請求項1又は2に記載の情報処理システム。
【請求項6】
前記フロー生成部が、前記第二の種別の処理により外部からデータを取得する処理に、前記データを保存領域に保存する前記第一の種別の処理が追加された処理フローを生成する場合、
前記第一の種別の処理は、前記保存領域における前記データのURLを発行し、
前記画面生成部は、前記URLにより指定される前記保存領域の前記データを表示する画面情報を生成することを特徴とする請求項4又は5に記載の情報処理システム。
【請求項7】
前記フロー要否判断部が前記処理フローを生成すると判断した前記アプリケーションに含まれる処理が、保存領域にデータを保存する機能を有するか否かを判断する種別判断部を有し、
前記種別判断部が、前記保存領域にデータを保存する機能を有すると判断した場合、
前記フロー生成部は、前記保存領域にデータを保存する機能を有する第一の種別の処理により、外部からデータを取得して前記データを保存領域に保存する処理フローを生成し、
前記種別判断部が、前記保存領域にデータを保存する機能を有さないと判断した場合、
前記フロー生成部は、前記保存領域にデータを保存する機能を有さない第二の種別の処理により外部からデータを取得する処理に、前記データを保存領域に保存する前記第一の種別の処理が追加された処理フローを生成することを特徴とする請求項3に記載の情報処理システム。
【請求項8】
前記アプリケーションは、外部から取得したファイルのリストを前記機器に送信するものであり、
前記処理フローは、前記機器から指定されたファイルのサムネイルを前記データとして前記保存領域に保存し、
前記画面生成部は、前記保存領域に保存された前記サムネイルを表示する画面情報を前記機器に提供することを特徴とする請求項1~7のいずれか1項に記載の情報処理システム。
【請求項9】
前記アプリケーションは、外部から取得したファイルのリストを前記機器に送信するものであり、
前記処理フローは、前記機器から指定されたファイルのアイコンを前記データとして前記保存領域に保存し、
前記画面生成部は、前記保存領域に保存された前記アイコンを表示する画面情報を前記機器に提供することを特徴とする請求項1~7のいずれか1項に記載の情報処理システム。
【請求項10】
1つ以上の処理を含むアプリケーションを機器からの要求に応じて実行する情報処理システムと、前記機器とが通信するサービス提供システムであって、
前記情報処理システムは、
1つ以上の処理を含むアプリケーションの作成要求を受信する通信部と、
前記アプリケーションに含まれる処理に基づいて、外部からデータを取得する処理に、前記データを保存領域に保存する処理が追加された処理フローを生成するフロー生成部と、
前記アプリケーションの実行を要求された場合、前記アプリケーション及び前記処理フローを実行するアプリ実行部と、
前記保存領域の前記データを表示する画面情報を前記機器に提供する画面生成部と、を有し、
前記機器は、
前記情報処理システムから受信した前記画面情報に基づいて前記データを表示することを特徴とするサービス提供システム。
【請求項11】
1つ以上の処理を含むアプリケーションを機器からの要求に応じて実行する情報処理システムが行うアプリ実行方法であって、
通信部が、1つ以上の処理を含むアプリケーションの作成要求を受信するステップと、
フロー生成部が、前記アプリケーションに含まれる処理に基づいて、外部からデータを取得する処理に、前記データを保存領域に保存する処理が追加された処理フローを生成するステップと、
アプリ実行部が、前記アプリケーションの実行を要求された場合、前記アプリケーション及び前記処理フローを実行するステップと、
画面生成部が、前記保存領域の前記データを表示する画面情報を前記機器に提供するステップと、
を有することを特徴とするアプリ実行方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理システム、サービス提供システム、及び、アプリ実行方法に関する。
【背景技術】
【0002】
複数の機能(例えば、スキャン、フォルダへの保存、メール送信等)を組み合わせたアプリケーションを提供するサービスが知られている。このようなサービスで行われる処理をワークフローという。ワークフローには、ストレージサーバーなどの外部サービスシステムが保持しているファイルを画像形成装置等の機器で印刷するものなど、ファイルを使用するものが存在する。
【0003】
機器でファイルを印刷する際に、プレビューを表示する技術が知られている(例えば、特許文献1参照。)。特許文献1には、外部サーバーから、印刷装置に関するデバイス情報を取得し、取得したデバイス情報と、印刷すべきドキュメントとに基づいて、該ドキュメントの印刷プレビューを示す画像を生成し、印刷プレビュー画像をブラウザのウィンドウ上に表示する印刷装置が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の技術では、外部から取得したデータを機器に提供できない場合があるという問題があった。理由の1つは、アプリケーションに含まれる処理が、機能が制限された所定の種別の処理の場合、該処理は、外部から取得したデータを保存するために用意されたデータの保存領域を使用できないためである。
【0005】
本発明は、上記課題に鑑み、外部から取得したデータを機器に提供できる情報処理システムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題に鑑み、本発明は、1つ以上の処理を含むアプリケーションを機器からの要求に応じて実行する情報処理システムであって、1つ以上の処理を含むアプリケーションの作成要求を受信する通信部と、前記アプリケーションに含まれる処理に基づいて、外部からデータを取得する処理に、前記データを保存領域に保存する処理が追加された処理フローを生成するフロー生成部と、前記アプリケーションの実行を要求された場合、前記アプリケーション及び前記処理フローを実行するアプリ実行部と、前記保存領域の前記データを表示する画面情報を前記機器に提供する画面生成部と、を有することを特徴とする。
【発明の効果】
【0007】
外部から取得したデータを機器に提供できる情報処理システムを提供することができる。
【図面の簡単な説明】
【0008】
図1】コンポーネントとアプリケーションの関係を説明する図である。
図2】本実施形態に係るサービス提供システムの一例のシステム構成を示す図である。
図3】情報処理システム及び端末装置の一例のハードウェア構成を示す図である。
図4】機器の一例である画像形成装置のハードウェア構成図である。
図5】サービス提供システムの一例の機能構成を示す図である。
図6図5の機能ブロック図において、各機能部から一時ファイル領域へ直接アクセスができるか否かを表した図である。
図7】フロー生成部が、自動生成フローを自動で生成する仕組みを模式的に説明する図である。
図8】アプリ作成画面の一例である。
図9】情報処理システムが自動生成フローを生成する際の処理を説明する一例のシーケンス図である(実施例1)。
図10】内部コンポーネントを含むアプリケーションがファイルのプレビューを表示する手順を示す一例のシーケンス図である(実施例1)。
図11】外部コンポーネントを含むアプリケーションがファイルのプレビューを表示する手順を示す一例のシーケンス図である(実施例1)。
図12】情報処理システムが自動生成フローを生成する際の処理を説明する一例のシーケンス図である(実施例2)。
図13】自動生成フローが生成されたアプリケーションがファイルのプレビューを表示する手順を示す一例のシーケンス図である(実施例2)。
図14】情報処理システムが自動生成フローを生成する際の処理を説明する一例のシーケンス図である(実施例3)。
図15】機器が表示する一例のファイルブラウズ画面を示す図である。
図16】ファイルブラウズで選択されたファイルのプレビュー画像の表示例を示す図である。
【発明を実施するための形態】
【0009】
以下、本発明を実施するための形態の一例として、情報処理システムと情報処理システムが行うアプリ実行方法について図面を参照しながら説明する。
【実施例0010】
<処理の概略>
まず、図1を参照して、ワークフローについて補足する。図1は、コンポーネント201とアプリケーション202の関係を説明する図である。本実施形態では、アプリケーション202が複数のコンポーネント201を組み合わせて作られる。コンポーネント201とは、機能又は処理単位に用意されたプログラムのパーツである。図1(a)に示すように、各種の外部サービスシステムへのファイルのアップロードやダウンロードを行うコンポーネント、ファイルにOCR、スタンプ、及び、PDFに関する処理を行うコンポーネント201が用意されている。
【0011】
また、図1(b)に示すように、1つ以上のコンポーネント201が実行順に配置されることで、アプリケーション202が作成される。アプリケーション202が実行されることでワークフローが実行される。
【0012】
コンポーネント201には主に「内部コンポーネント」「外部コンポーネント」の2種類が存在する。内部コンポーネント(第一の種別の処理の一例)はコンポーネントから利用可能な機能等が多いが、情報処理システムが社内的に開発したものである。外部コンポーネント(第二の種別の処理の一例)は、利用可能な機能が制限されている代わりに、情報処理システムの開発者以外のアプリ開発者(このような製品をサードパーティ製という場合がある)による開発したものである。
【0013】
外部サービスシステムが保存するファイルを機器がプレビュー表示する機能は、内部コンポーネントであれば比較的、容易に実現できる。これは、プレビュー機能では、内部コンポーネントが外部サービスシステムから取得したサムネイル画像を一時ファイル領域に保存でき、一時ファイル領域へアクセスするためのURLを機器(アプリケーション)に発行するためである。アプリケーションは、外部サービスシステムへの認証を経ずに一時ファイル領域のサムネイル画像を、ユーザーインタフェースに埋め込むことで、プレビュー表示する。
【0014】
しかし、外部コンポーネントの場合、情報処理システムが管理する一時ファイル領域へ保存機能を制限されているため、一時ファイル領域にサムネイル画像を保存することができない。このため、外部コンポーネントは、プレビュー機能を実現することが容易でなかった。なお、外部コンポーネントが機能を制限されているのは、セキュリティ等を考慮したためである。
【0015】
そこで、本実施形態では、一時ファイル領域にサムネイル画像を保存する内部コンポーネント(後述する一時ファイル保存コンポーネント)を用意し、外部コンポーネントがファイルブラウズ等をするものである場合、一時ファイル保存コンポーネントを組み込んだ自動生成フローを情報処理システムが自動で生成する。一時ファイル保存コンポーネントは、アプリケーションが実行されることで、外部コンポーネントがプレビュー表示する場合に実行される。こうすることで、情報処理システムは、外部コンポーネントから一時ファイル領域へサムネイル画像を保存できないという制限を解除せずに、外部コンポーネントによるプレビュー機能を実現できる。
【0016】
<用語について>
アプリケーションとは、ユーザーがサービスを受けるために機器や情報処理装置で実行されるプログラムである。アプリケーションには、Webブラウザとサーバー側のプログラムが協調して実行するWebアプリと、サーバーを必須とせずに(通信してもよい)情報処理装置が実行するネイティブアプリがある。Webアプリの場合、アプリケーションは一連の処理を順番に実行するワークフローアプリの場合がある。
【0017】
アプリケーションは1つ以上の処理を含む。処理は、アプリケーションが目的の成果物を出力できるようにある程度の機能がまとめられた情報処理であればよい。本実施形態では、コンポーネントが実行する情報処理又はコンポーネントが処理に相当する。
【0018】
処理フローとは、複数の処理が決まった順番で実行される又は複数の処理をいう。処理フローをワークフローという場合がある。
【0019】
ファイルブラウズとは、ファイルのリストやフォルダの構造をディスプレイ上に表示し、その選択を受け付けるファイル/フォルダの表示方法をいう。ファイルブラウズの表示例を図15に示す。
【0020】
プレビューとは、コンピュータなどにおいて、実際になんらかの出力を行う前に、出力の結果をシミュレートし、画面上で表示すること又は表示された画像をいう。プレビュー画像の表示例を図16に示す。
【0021】
<システム構成>
本実施形態に係るサービス提供システム100のシステム構成について、図2を参照しながら説明する。図2は、本実施形態に係るサービス提供システム100の一例のシステム構成を示す図である。
【0022】
図2に示すサービス提供システム100は、情報処理システム10と、機器20と、端末装置30と、を含み、インターネット等の広域的なネットワークN1を介して通信可能に接続されている。サービス提供システム100は外部システムである外部サービスシステム40と通信する。
【0023】
情報処理システム10は、一台以上の情報処理装置で実現され、ネットワークN1を介して、クラウドサービス等の外部サービスシステム40と連携した一連の処理により実現される各種のサービスを提供する。本実施形態に係る情報処理システム10が提供するサービスの具体例については後述する。情報処理システム10は、クラウドコンピューティングにより実現されてもよいし、単一の情報処理装置によって実現されてもよい。クラウドコンピューティングとは、特定ハードウェア資源が意識されずにネットワーク上のリソースが利用される形態をいう。情報処理システム10は、インターネット上に存在しても、オンプレミスに存在してもよい。なお、一連の処理は1つのアプリにより提供され、一連の処理を「処理フロー」「ワークフロー」ともいう。
【0024】
機器20は、ユーザーが使用する各種の電子機器である。機器20は、例えば、MFP(Multifunction Peripheral)等の画像形成装置、PC(パーソナルコンピュータ)、プロジェクタ、電子黒板、テレビ会議端末、デジタルカメラ等である。機器20はネットワークN2に接続されている。ユーザーは、機器20を用いて、情報処理システム10又は外部サービスシステム40が提供する各種のサービスを利用することができる。
【0025】
なお、以降では、複数の機器20について、各々を区別するときは、「機器20」、「機器20」等と添え字を用いて記載する。
【0026】
端末装置30は、例えば、管理者又はユーザーが使用するデスクトップPC、ノート型PC、スマートフォン、タブレット端末等である。端末装置30はネットワークN2に接続されている。管理者又はユーザーは端末装置30を操作して、情報処理システム10又は外部サービスシステム40が提供する各種のサービスを利用することができ、更に、アプリの設定を行うことができる。
【0027】
なお、以降では、複数の端末装置30について、各々を区別するときは、「端末装置30」、「端末装置30」等と添え字を用いて記載する。
【0028】
外部サービスシステム40は、ネットワークN1を介してアプリの実行によるサービスを提供する一台以上の情報処理装置である。アプリの実行によりデータの保存又は読出等が行われる。外部サービスシステム40の「外部」とは、情報処理システム10とは別のシステムであることをいう。異なる企業により運営される場合が多い。例えば、同じユーザーであっても外部サービスシステム40と情報処理システム10ではアカウントが異なる。
【0029】
外部サービスシステム40の一例には、例えば、各種のクラウドサービス、ASP(Application Service Provider)等があり、ネットワークを介して提供される各種の外部サービスが含まれてよい。例えば、サービスの一例としてストレージサービスがある。外部サービスシステム40は、インターネット上に存在しても、オンプレミスに存在してもよい。
【0030】
なお、以降では、複数の外部サービスシステム40について、各々を区別するときは、図示されている「外部サービスシステム40」、「外部サービスシステム40」等と、記載する。
【0031】
<ハードウェア構成例>
図3を参照して、本実施形態に係る情報処理システム10及び端末装置30のハードウェア構成について説明する。
【0032】
<<情報処理システム及び端末装置>>
図3は、本実施形態に係る情報処理システム10及び端末装置30の一例のハードウェア構成を示す図である。図3に示されているように、情報処理システム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を備えている。
【0033】
これらのうち、CPU501は、情報処理システム10及び端末装置30全体の動作を制御する。ROM502は、IPL等のCPU501の駆動に用いられるプログラムを記憶する。RAM503は、CPU501のワークエリアとして使用される。HD504は、プログラム等の各種データを記憶する。HDDコントローラ505は、CPU501の制御にしたがってHD504に対する各種データの読み出し又は書き込みを制御する。ディスプレイ506は、カーソル、メニュー、ウィンドウ、文字、又は画像などの各種情報を表示する。外部機器接続I/F508は、各種の外部機器を接続するためのインターフェースである。この場合の外部機器は、例えば、USB(Universal Serial Bus)メモリやプリンタ等である。ネットワークI/F509は、ネットワークN2を利用してデータ通信をするためのインターフェースである。バスライン510は、図3に示されているCPU501等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
【0034】
また、キーボード511は、文字、数値、又は各種指示などの入力に使用される複数のキーを備えた入力手段の一種である。ポインティングデバイス512は、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行う入力手段の一種である。DVD-RWドライブ514は、着脱可能な記録媒体の一例としてのDVD-RW513に対する各種データの読み出し又は書き込みを制御する。なお、DVD-RWドライブ514は、DVD-RWに限らず、DVD-R等であってもよい。メディアI/F516は、フラッシュメモリ等の記録メディア515に対するデータの読み出し又は書き込み(記憶)を制御する。
【0035】
<<機器>>
図4は、機器20の一例である画像形成装置のハードウェア構成図である。図4に示されているように、画像形成装置は、コントローラ910、近距離通信回路920、エンジン制御部930、操作パネル940、ネットワークI/F950を備えている。
【0036】
これらのうち、コントローラ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で接続した構成となっている。
【0037】
これらのうち、CPU901は、画像形成装置の全体制御を行う制御部である。NB903は、CPU901と、MEM-P902、SB904、及びAGPバス921とを接続するためのブリッジであり、MEM-P902に対する読み書きなどを制御するメモリコントローラと、PCI(Peripheral Component Interconnect)マスタ及びAGPターゲットとを有する。
【0038】
MEM-P902は、コントローラ910の各機能を実現させるプログラムやデータの格納用メモリであるROM902a、プログラムやデータの展開、及びメモリ印刷時の描画用メモリなどとして用いるRAM902bとからなる。なお、RAM902bに記憶されているプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、CD-R、DVD等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【0039】
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)のインターフェースを有していてよい。
【0040】
MEM-C907は、コピー用画像バッファ及び符号バッファとして用いるローカルメモリである。HD909は、画像データの蓄積、印刷時に用いるフォントデータの蓄積、フォームの蓄積を行うためのストレージである。HD909は、CPU901の制御にしたがってHD909に対するデータの読出又は書込を制御する。AGPバス921は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレータカード用のバスインタフェースであり、MEM-P902に高スループットで直接アクセスすることにより、グラフィックスアクセラレータカードを高速にすることができる。
【0041】
また、近距離通信回路920には、近距離通信回路のアンテナ920aが備わっている。近距離通信回路920は、NFC、Bluetooth(登録商標)等の通信回路である。
【0042】
更に、エンジン制御部930は、スキャナ部931、プリンタ部932及びファクシミリ部933を有している。また、操作パネル940は、現在の設定値や選択画面等を表示させ、操作者からの入力を受け付けるタッチパネル等のパネル表示部940a、並びに、濃度の設定条件などの画像形成に関する条件の設定値を受け付けるテンキー及びコピー開始指示を受け付けるスタートキー等からなるハードキー940bを備えている。コントローラ910は、画像形成装置全体の制御を行い、例えば、描画、通信、操作パネル940からの入力等を制御する。スキャナ部931又はプリンタ部932には、誤差拡散やガンマ変換などの画像処理部分が含まれている。
【0043】
なお、画像形成装置は、操作パネル940のアプリ切り替えキーにより、ドキュメントボックス機能、コピー機能、プリンタ機能、及びファクシミリ機能を順次に切り替えて選択することが可能となる。ドキュメントボックス機能の選択時には、機器20はドキュメントボックスモードとなり、コピー機能の選択時にはコピーモードとなり、プリンタ機能の選択時にはプリンタモードとなり、ファクシミリモードの選択時にはファクシミリモードとなる。
【0044】
また、ネットワークI/F950は、ネットワークN2を利用してデータ通信をするためのインターフェースである。近距離通信回路920及びネットワークI/F950は、PCIバス922を介して、ASIC906に電気的に接続されている。
【0045】
<機能について>
次に、本実施形態に係るサービス提供システム100の機能構成について、図5を参照しながら説明する。図5は、本実施形態に係るサービス提供システム100の一例の機能構成を示す図である。
【0046】
<<機器>>
機器20は、第二通信部21と、表示制御部22と、操作受付部23と、画像データ生成部24と、ファクシミリ処理部25と、電子メール処理部26とを有する。これら各機能部は、機器20にインストールされた1以上のプログラムに含まれる命令を図4に示したCPU901が実行することで実現される機能又は手段である。例えば、第二通信部21、表示制御部22及び操作受付部23はWebブラウザにより実現され、その他は個別のアプリ(ネイティブアプリ)により実現される。
【0047】
第二通信部21は、情報処理システム10との間で各種の情報を送受信する。本実施形態では、第二通信部21は、アプリ一覧画面の画面情報等を情報処理システム10から受信し、アプリの実行要求等を情報処理システム10に送信する。
【0048】
表示制御部22は、各種の画面の画面情報を解釈してパネル表示部940aに表示する。操作受付部23は、パネル表示部940aに表示された各種画面におけるユーザーの各種操作を受け付ける。
【0049】
画像データ生成部24は、操作受付部23が選択を受け付けたアプリケーションが画像データを生成するものである場合、スキャナ部931で原稿をスキャンして画像データを生成する。ファクシミリ処理部25は、ファクシミリ部933によるファクシミリの受信及び送信に関する処理を行い、ファクシミリを受信した場合に予め対応付けられているアプリケーションの実行を情報処理システム10に要求する。なお、ファクシミリ処理部25は、ファクシミリの送信元(FAX番号)に対応したアプリケーションを要求してもよい。
【0050】
電子メール処理部26は、電子メールの送受信に関する処理を行い、電子メールを受信した場合に予め対応付けられているアプリケーションの実行を情報処理システム10に要求する。なお、電子メール処理部26は、電子メールの送信元(メールアドレス)に対応したアプリケーションを要求してもよい。
【0051】
<<端末装置>>
端末装置30は、第一通信部31と、表示制御部32と、操作受付部33とを有する。これら各機能部は、端末装置30にインストールされた1以上のプログラムに含まれる命令をCPU501が実行することで実現される機能又は手段である。なお、このプログラムはWebブラウザでもよいし、専用のソフトウェアでもよい。
【0052】
第一通信部31は、情報処理システム10又は外部サービスシステム40との間で各種の情報を送受信する。本実施形態ではアプリケーションの作成に関する画面情報等を情報処理システム10から受信し、アプリ管理者が設定したアプリケーション情報を情報処理システム10に送信する。
【0053】
表示制御部32は、各種の画面の画面情報を解釈してディスプレイ506に表示する。操作受付部33は、ディスプレイ506に表示された各種画面におけるアプリ開発者の各種操作を受け付ける。
【0054】
<<情報処理システム>>
情報処理システム10は、通信部11、画面生成部12、制御部13、外部コンポーネント管理部14、及び、認証情報記憶部15を有する。これら各機能部は、情報処理システム10にインストールされた1以上のプログラムに含まれる命令を図3に示したCPU501が実行することで実現される機能又は手段である。また、認証情報記憶部15は、図3に示したHD504等に構築される。
【0055】
通信部11は、端末装置30と機器20との間で各種の情報を送受信する。本実施形態では、通信部11は、端末装置30からアプリケーションの作成要求を受信する。また、通信部11は、アプリケーションの実行時にはアプリケーションのリストを機器20又は端末装置30に送信し、アプリケーションの実行要求を受信する。
【0056】
画面生成部12は、アプリケーションの作成時に端末装置30が表示する画面情報を生成し、アプリケーションの実行時に機器20が表示する画面の画面情報を生成する。なお、画面情報は、HTML、XML、スクリプト言語、及びCSS(Cascading Style Sheet)等で記述されたプログラムであり、主にHTMLによりWebページの構造が特定され、スクリプト言語によりWebページの動作が規定され、CSSによりWebページのスタイルが特定される。
【0057】
認証情報記憶部15は、外部サービスシステム40におけるユーザーの認証情報を記憶する。外部サービスシステム40の認証情報は、情報処理システム10におけるユーザーID(ユーザーの識別情報)等と対応付けられている。認証情報は、ユーザーIDとパスワード、ICカードの番号、生体認証情報など、公知のものとする。OAUTHなどのシングルサインオンが可能な場合、認証情報記憶部15はなくてもよい。
【0058】
制御部13について説明する。制御部13は、コンポーネント管理部16、一時ファイル領域19、種別判断部51、フロー要否判断部52、及び、アプリ管理部53を有している。
【0059】
コンポーネント管理部16は、内部コンポーネント17(一時ファイル保存コンポーネント18を含む)の実体を管理する。コンポーネント管理部16は、アプリ管理部53から内部コンポーネント17が呼び出された場合、内部コンポーネント17を呼び出して実行する。一時ファイル保存コンポーネント18は、外部コンポーネントがファイルブラウズによりプレビュー表示するアプリケーションの作成時に、自動生成フローに組み込まれる。一時ファイル保存コンポーネント18は内部コンポーネントなので、一時ファイル領域19にアクセスできる。
【0060】
アプリ管理部53は、アプリケーションの構成(コンポーネントの実行順等)、及び、アプリケーションと自動生成フローの対応等を管理する。アプリ管理部53はフロー生成部55とアプリ実行部56とを有する。フロー生成部55は、フロー要否判断部52とコンポーネント種別判断部の判断結果をもとに、アプリケーションに応じた自動生成フローを生成し、管理する。アプリ実行部56は、アプリケーションを実行する際、アプリケーション、及び、アプリケーションに対応付けられている自動生成フローに含まれるコンポーネントを呼び出す。
【0061】
フロー要否判断部52は、アプリケーションが自動生成フローを生成する必要がある構成か否かを判断する。判断の基準は、特定のコンポーネントが含まれるか否か、又は、特定の入力形式を指定されたパラメータを持つコンポーネントがあるか否か、等である。一例として、自動生成フローを生成するコンポーネントには、ファイルブラウズに関するコンポーネントがある。自動生成フローが必要な場合、フロー要否判断部52は、どのコンポーネントに対応する自動生成フローを生成するのか、というコンポーネントの識別情報を返す。
【0062】
種別判断部51は、コンポーネントの識別情報に基づいてコンポーネントが内部コンポーネントか外部コンポーネントかを判断する。
【0063】
一時ファイル領域19は、保存されたファイルを一定期間保持する保存領域である。一定期間の経過後、ファイルは自動で削除される。ファイルの取得後に、情報処理システム40が自動で一時ファイル領域19を削除してもよい。一時ファイル領域19は、RAM503やHD504等でよい。情報処理システム10が管理しているのであれば、一時ファイル領域19は情報処理システム10の外部にあってもよい。内部コンポーネント17は、一時ファイル領域19に保存したファイルへのURLを発行する。このURLに対し情報処理システム10は、外部サービスシステム40の認証情報を要さずにアクセス可能である。
【0064】
外部コンポーネント管理部14は、外部コンポーネント54の実体を管理する。外部コンポーネント管理部14は、アプリ管理部53からコンポーネントが呼び出された場合、外部コンポーネント54を呼び出して実行する。
【0065】
<一時ファイル領域へのアクセスのイメージ>
図6は、図5の機能ブロック図において、各機能部から一時ファイル領域19へ直接アクセスができるか否かを表した図である。外部コンポーネント管理部14に保存されて動作する外部コンポーネント54は、一時ファイル領域19へアクセスする権限を持たない。このため、外部コンポーネントがファイルのプレビューを表示する場合、内部コンポーネント17である一時ファイル保存コンポーネント18が一時ファイル領域19にアクセスする。
【0066】
<自動生成フロー>
図7は、フロー生成部55が、自動生成フローを自動で生成する仕組みを模式的に説明する図である。図7では、自動生成フローは、ファイルのプレビューを表示するので、プレビュー用フローと称している。
【0067】
図7(a)は内部コンポーネント一覧を、図7(b)は外部コンポーネント一覧を、それぞれ示す。また、図8は、アプリ作成画面の一例を示す。
【0068】
アプリ開発者が、外部サービスシステム40からの「ファイルダウンロード」を行うコンポーネント(内部でも外部でもよい)を指定して、ダウンロードするファイルをファイルブラウズにより選択してアプリケーション実行時の入力とするアプリケーションA211,アプリケーションB213を生成する。フロー生成部55は、「ファイルダウンロード」を行うコンポーネントが指定されたことに応じて(本実施形態では、フロー要否判断部52が判断する)、ファイル選択のプレビュー時に動作する処理フローを自動的に生成する。自動生成される処理フローを自動生成フローと称し、図7ではプレビュー用フロー212、214が相当する。
【0069】
図7(c)では、アプリケーションA211の○○ダウンロードコンポーネント211aが内部コンポーネントであり、「ファイルダウンロード」を行うコンポーネントである。また、アプリケーションB213の××ダウンロードコンポーネント213aが外部コンポーネントであり、「ファイルダウンロード」を行うコンポーネントである。このため、アプリケーションA211に付随するプレビュー用フロー212と、アプリケーションB213に付随するプレビュー用フロー214と、が自動で生成される。
【0070】
自動生成フローの生成時、種別判断部51が「ファイルダウンロード」コンポーネントが内部コンポーネントか外部コンポーネントかを判断し、フロー生成部55は自動生成フローの内容を変える。
【0071】
内部コンポーネントの場合、プレビュー用フロー212には予め用意されたサムネイル取得コンポーネント212aが組み込まれる。内部コンポーネントのサムネイル取得コンポーネント212aは、「外部サービスシステムからサムネイル画像を取得」及び「一時ファイル領域に保存し、URLを取得」という2つの処理を行う。したがって、アプリケーションA211に付随するプレビュー用フロー212には、一時ファイル保存コンポーネント18が組み込まれない。
【0072】
外部コンポーネントの場合、サムネイル取得コンポーネント214aと一時ファイル保存コンポーネント18が組み込まれる。外部コンポーネントのサムネイル取得コンポーネント214aは、「外部サービスシステムからサムネイル画像を取得」という処理のみを行い、「一時ファイル領域に保存し、URLを取得」する処理は、一時ファイル保存コンポーネント18に任せる。したがって、アプリケーションB213に付随するプレビュー用フロー214には、一時ファイル保存コンポーネント18が組み込まれる。
【0073】
一時ファイル保存コンポーネント18を組み込んだアプリケーションをアプリ開発者が自由に作成できると、一時ファイル領域19へアクセスできる権限を与えることと同等になってしまう。このため、一時ファイル保存コンポーネント18は自動生成フローにしか組み込むことができず、アプリ開発者が自由に利用することはできない。
【0074】
また、図8に示すように、アプリ作成画面はファイルの入力タイプ設定欄230を有する。ユーザーは入力タイプ設定欄230にファイルの入力タイプ(入力方式)を設定できる。入力タイプ設定欄230はプルダウンメニュー方式であり、テキスト入力、選択肢からの選択、又は、ファイルブラウズ等を選択可能に表示する。図8では「ファイル選択」がファイルブラウズに対応する。
【0075】
<動作手順>
<<自動生成フローの生成>>
図9は、情報処理システム10が自動生成フローを生成する際の処理を説明するシーケンス図の一例である。
【0076】
S1:アプリ開発者は、端末装置30を操作して、アプリケーションの作成を行う。アプリケーションは、画面生成部12が生成したGUI(Graphical User Interface)に対し、アプリ開発者がコンポーネントを順番に配置することで作成される。端末装置30の操作受付部33はコンポーネントの実行順などを受け付け、第一通信部31がアプリケーションの作成要求(登録要求)を情報処理システム10に要求する。アプリケーションの作成要求には、アプリケーション情報(コンポーネントの識別情報と実行順)が含まれる。
【0077】
なお、コンポーネントは、自身の入力パラメータに対してアプリ開発者が指定可能な入力方式を情報として持つ。例えば、入力方式は、テキスト入力、選択肢からの選択、又は、ファイルブラウズ等である。アプリ開発者はアプリケーションの作成時に、パラメータの入力方式を指定する。ファイルブラウズが指定されたアプリケーションは、自動生成フローの要否判断の判断結果が要となる。
【0078】
S2:情報処理システム10の通信部11はアプリケーションの登録要求を受信し、アプリ管理部53に渡す。
【0079】
S3:アプリ管理部53のフロー生成部55は、アプリケーション情報を指定して、自動生成フローが必要か否かをフロー要否判断部52に問い合わせる。
【0080】
S4:フロー要否判断部52は、アプリケーション情報に、ファイルブラウズで入力するパラメータをもつコンポーネントが含まれるか否かを判断する。
【0081】
S5:フロー要否判断部52は、判断結果(要、不要)と、判断結果が要の場合、自動生成フローが必要なコンポーネントの識別情報をアプリ管理部53に返す。
【0082】
S6:判断結果が要の場合、フロー生成部55は、自動生成フローが必要なコンポーネントを指定して、自動生成フローが必要なコンポーネントの種別(内部/外部)を種別判断部51に問い合わせる。
【0083】
S7:種別判断部51は、自動生成フローが必要なコンポーネントが内部コンポーネントか外部コンポーネントかを判断する。判断方法としては、以下のようなものがある。
【0084】
・種別判断部51が、内部コンポーネント固有で実装される関数(処理)の有無を判断する。
【0085】
・種別判断部51が、外部コンポーネント固有で実装される関数(処理)の有無を判断する。
【0086】
・種別判断部51が、コンポーネント管理部16から内部コンポーネント一覧を取得し、自動生成フローが必要なコンポーネントが含まれるか否かを判断する。
【0087】
・種別判断部51が、外部コンポーネント管理部14から外部コンポーネント一覧を取得し、自動生成フローが必要なコンポーネントが含まれるか否かを判断する。
【0088】
S8:種別判断部51は判断結果(内部コンポーネント、外部コンポーネント)をアプリ管理部53に返す。
【0089】
S9:内部コンポーネントの場合、フロー生成部55は、内部コンポーネント用の自動生成フローを生成する。内部コンポーネント用の自動生成フローには、一時ファイル保存コンポーネント18が含まれない。
【0090】
S10:フロー生成部55は、アプリ開発者が作成したアプリケーションと自動生成フローを登録する。すなわち、アプリケーションと自動生成フローそれぞれのコンポーネントの識別情報と実行順が登録される。
【0091】
S11:外部コンポーネントの場合、フロー生成部55は、外部コンポーネント用の自動生成フローを生成する。外部コンポーネント用の自動生成フローには、一時ファイル保存コンポーネント18が含まれる。
【0092】
S12:アプリ管理部53は、アプリ開発者が作成したアプリケーションと自動生成フローを登録する。すなわち、アプリケーションと自動生成フローそれぞれのコンポーネントの識別情報と実行順が登録される。
【0093】
S13:自動生成フローの要否の判断結果が不要の場合、アプリ管理部53は、アプリ開発者が作成したアプリケーションを登録する。すなわち、アプリケーションが含むコンポーネントの識別情報と実行順が登録される。
【0094】
<<プレビュー表示>>
続いて、図10を参照して、内部コンポーネントを含むアプリケーションが実行される場合を説明する。なお、アプリケーションの実行時に、内部コンポーネントか外部コンポーネントかは、特に判断されない。アプリ実行部56は、アプリケーションに対応付けられている自動生成フローに含まれるコンポーネントを順番に実行すればよい。
【0095】
図10は、内部コンポーネントを含むアプリケーションがファイルのプレビューを表示する手順を示すシーケンス図である。
【0096】
S21:ユーザーはダウンロードするファイルをファイルブラウズにより選択してアプリケーションの入力とするアプリケーションを機器20で実行した。ユーザーはこのアプリケーションでファイルを選択したものとする。機器20の操作受付部23がファイルの選択を受け付け、第二通信部21がファイルID(ファイルの識別情報)とユーザー情報を指定してプレビューを情報処理システムに要求する。なお、ユーザー情報は機器20にログインしているユーザーIDもよいし、トークンなどの一時的な識別情報でもよい。
【0097】
S22:情報処理システム10の通信部11はプレビューの要求を受信し、画面生成部12がファイルID、プレビュー用フローの識別情報及びユーザー情報を指定してプレビュー用フローの実行をアプリ実行部56に要求する。プレビュー用フローは、ファイルブラウズするアプリケーションと対応付けられており、プレビュー用フローの識別情報もアプリ実行部56に送信される。
【0098】
S23:アプリ実行部56は、プレビュー用フローの実行を開始する。
【0099】
S24,S25:まず、アプリ実行部56は、ユーザー情報を指定して、外部サービスシステム40における当該ユーザーの認証情報を認証情報記憶部15から取得する。
【0100】
S26:次に、アプリ実行部56は、ファイルIDと外部サービスシステム40の認証情報を指定して、プレビュー用フローに含まれるサムネイル取得コンポーネント212aの実行をコンポーネント管理部16に要求する。
【0101】
S27,S28:コンポーネント管理部16は、サムネイル取得コンポーネント212aを呼び出して実行する。サムネイル取得コンポーネント212aはファイルIDと外部サービスシステムの認証情報を指定して、外部サービスシステム40からファイルIDで特定されるファイルのサムネイル画像を取得する。
【0102】
S29、S30:サムネイル取得コンポーネント212aは、サムネイル画像を一時ファイル領域19に保存し、保存先のURLを取得する。
【0103】
S31:コンポーネント管理部16は、URLをアプリ実行部56に返す。
【0104】
S32:アプリ実行部56は、URLを画面生成部12に送信する。
【0105】
S33,S34:画面生成部12は、一時ファイル領域19のURLで指定されるサムネイル画像を一時ファイル領域19から取得する。
【0106】
S35:画面生成部12は、サムネイル画像を表示する画面情報を生成し、通信部11を介して、機器20に送信する。機器20の第二通信部21が画面情報を受信し、表示制御部22がサムネイル画像(ファイルのプレビュー画像)を表示する。プレビュー画像の一例を図15に示す。
【0107】
続いて、図11を参照して、外部コンポーネントを含むアプリケーションが実行される場合を説明する。図11は、外部コンポーネントを含むアプリケーションがファイルのプレビューを表示する手順を示すシーケンス図である。なお、図11の説明では主に図10との相違を説明する。ステップS41~S45の処理は図10のステップS21~S25と同様でよい。
【0108】
S46:次に、アプリ実行部56は、ファイルIDと外部サービスシステム40の認証情報を指定して、自動生成フローに含まれるサムネイル取得コンポーネント214aの実行を外部コンポーネント管理部14に要求する。アプリ実行部56はコンポーネントの識別情報に応じて、コンポーネントの要求先をコンポーネント管理部16又は外部コンポーネント管理部14に切り替える。
【0109】
S47,S48:外部コンポーネント管理部14は、サムネイル取得コンポーネント214aを呼び出して実行する。サムネイル取得コンポーネント214aはファイルIDと外部サービスシステム40の認証情報を指定して、外部サービスシステム40からファイルIDで特定されるファイルのサムネイル画像を取得する。
【0110】
S49:サムネイル取得コンポーネント214aは、サムネイル画像をアプリ実行部56に返す。
【0111】
S50:次に、アプリ実行部56は、サムネイル画像を指定して、プレビュー用フローに含まれる一時ファイル保存コンポーネント18の実行をコンポーネント管理部16に要求する。
【0112】
S51,S52:コンポーネント管理部16は、一時ファイル保存コンポーネント18を呼び出して実行する。一時ファイル保存コンポーネント18は、サムネイル画像を一時ファイル領域19に保存し、保存先のURLを取得する。
【0113】
S53:一時ファイル保存コンポーネント18は、URLをアプリ実行部56に返す。
【0114】
以降のステップS54~S57の処理は、図10のステップS32~S35と同様でよい。
【0115】
このように、本実施形態のアプリケーションは、外部コンポーネントを含んでいてもファイルのプレビューを表示できる。
【0116】
<主な効果>
以上説明したように、本実施形態では、一時ファイル領域19にサムネイル画像を保存するコンポーネント(一時ファイル保存コンポーネント18)を用意し、外部コンポーネントがプレビュー表示するアプリケーションの作成時、一時ファイル保存コンポーネント18を含む自動生成フローを情報処理システム10が自動で生成する。一時ファイル保存コンポーネント18は、外部コンポーネントがプレビュー表示する場合のみ実行される。こうすることで、外部コンポーネントから一時ファイル領域19へサムネイル画像を保存できないという制限を解除せずに、外部コンポーネントがプレビュー機能を実現できる。
【実施例0117】
本実施例では、内部/外部コンポーネントを問わず一時ファイル保存コンポーネント18を組み込んだ自動生成フローを生成する情報処理システム10について説明する。
【0118】
本実施例においては、上記の実施例にて説明した図3図4のハードウェア構成図、及び、図5に示した機能ブロック図を援用できるものとして説明する。ただし、本実施形態では、種別判断部51が不要になる。
【0119】
<動作手順>
図12は、情報処理システムが自動生成フローを生成する際の処理を説明するシーケンス図の一例である。なお、図12の説明では主に図9との相違を説明する。図12のステップS61~S65の処理は、図9のステップS1~S5の処理と同様でよい。しかし、図12では、種別判断部51は、自動生成フローが必要なコンポーネントが内部コンポーネントか外部コンポーネントかを判断しない。
【0120】
S66:自動生成フローが必要か否かの判断結果が要の場合、フロー生成部55は、内部コンポーネントと外部コンポーネントに共通の自動生成フローを生成する(内部コンポーネントか、外部コンポーネントかに関わらず自動生成フローを生成する)。この自動生成フローには、一時ファイル保存コンポーネント18が含まれる。
【0121】
S67:フロー生成部55は、アプリ開発者が作成したアプリケーションと自動生成フローを登録する。すなわち、アプリケーションと自動生成フローそれぞれのコンポーネントの識別情報と実行順が登録される。
【0122】
S68:自動生成フローが必要か否かの判断結果が不要の場合、フロー生成部55は、アプリ開発者が作成したアプリケーションを登録する。すなわち、アプリケーションが含むコンポーネントの識別情報と実行順が登録される。
【0123】
<<プレビュー表示>>
図13は、本実施例において、自動生成フローが生成されたアプリケーションがファイルのプレビューを表示する手順を示すシーケンス図である。なお、図13の説明では、主に図10との相違を説明する。図13のステップS71~S75の処理は、図10のステップS21~S25の処理と同様でよい。
【0124】
S76:内部コンポーネントの場合、アプリ実行部56は、ファイルIDと外部サービスシステム40の認証情報を指定して、プレビュー用フローに含まれるサムネイル取得コンポーネント212aの実行をコンポーネント管理部16に要求する。
【0125】
S77,S78:コンポーネント管理部16は、サムネイル取得コンポーネント212aを呼び出して実行する。このサムネイル取得コンポーネント212aは、一時ファイル保存を行わない。サムネイル取得コンポーネント212aはファイルIDと外部サービスシステム40の認証情報を指定して、外部サービスシステムからファイルIDで特定されるファイルのサムネイル画像を取得する。
【0126】
S79:サムネイル取得コンポーネント212aはサムネイル画像をアプリ実行部56に返す。
【0127】
S80:外部コンポーネントの場合、アプリ実行部56は、ファイルIDと外部サービスシステム40の認証情報を指定して、プレビュー用フローに含まれるサムネイル取得コンポーネント214aの実行を外部コンポーネント管理部14に要求する。
【0128】
S81,S82:外部コンポーネント管理部14は、サムネイル取得コンポーネント214aを呼び出して実行する。サムネイル取得コンポーネント214aはファイルIDと外部サービスシステム40の認証情報を指定して、外部サービスシステム40からファイルIDで特定されるファイルのサムネイル画像を取得する。
【0129】
S83:サムネイル取得コンポーネント214aはサムネイル画像をアプリ実行部56に返す。
【0130】
S84:内部コンポーネント又は外部コンポーネントのどちらの場合でも、アプリ実行部56は、サムネイル画像を指定して、一時ファイル保存コンポーネント18の実行をコンポーネント管理部16に要求する。
【0131】
S85、S86:コンポーネント管理部16は、一時ファイル保存コンポーネント18を呼び出して実行する。一時ファイル保存コンポーネント18はサムネイル画像を一時ファイル領域19に保存し、保存先のURLを取得する。
【0132】
S87:コンポーネント管理部16は、URLをアプリ実行部56に返す。
【0133】
以降のステップS88~S91の処理は、図10のステップS32~S35の処理と同様でよい。
【0134】
<<主な効果>>
本実施例では、自動生成フローが必要なコンポーネントが内部コンポーネントか外部コンポーネントかを判断せずに、共通の自動生成フローを生成できる。一時ファイル保存コンポーネント18を利用する自動生成フローは、外部サービスシステム40に対応するサムネイル取得コンポーネント212a(及び214aも)で一時ファイル保存を行わない。そのため、内部コンポーネントでも外部コンポーネントと同様に一時ファイル保存コンポーネント18を利用することによって、サムネイル取得コンポーネント作成時の実装作業を軽減することができる。
【実施例0135】
実施例2では、フロー生成部55が、内部コンポーネントに対しても一時ファイル保存コンポーネント18を使用する自動生成フローを生成した。しかし、情報処理システム10の処理能力等によっては、内部コンポーネントでは、一時ファイル保存コンポーネント18を利用しない構成を選択したい場合も考えられる。例えば、アプリ管理部53からコンポーネント管理部16へのアクセス回数が増えることによる処理時間増大を避けたい場合がある。
【0136】
そこで、本実施例では、内部コンポーネントごとに、自動生成フローに一時ファイル保存コンポーネント18を組み入れるか否かを選択できる情報処理システム10について説明する。このため、外部サービスシステム40を利用する内部コンポーネントについて、サムネイル取得コンポーネントの実装時に、アプリ開発者が以下のいずれかを選択して実装する。
【0137】
a 「外部サービスシステムからサムネイル画像を取得」と「一時ファイル領域19に保存し、アクセスするためのURLを取得」の両方の処理を実装
b 「外部サービスシステムからサムネイル画像を取得」の処理のみ実装
種別判断部51で、内部コンポーネントがaとbのどちらの処理を実装しているか(処理が存在するか)を判断することにより、フロー生成部55は、自動生成フローに一時ファイル保存コンポーネント18を組み込むかどうかを決定する。
【0138】
本実施例においては、上記の実施例にて説明した図3図4のハードウェア構成図、及び、図5に示した機能ブロック図を援用できるものとして説明する。
【0139】
<動作手順>
図14は、情報処理システム10が自動生成フローを生成する際の処理を説明するシーケンス図の一例である。なお、図14の説明では主に図12との相違を説明する。図14のステップS101~S105の処理は、図12のステップS61~S65の処理と同様でよい。
【0140】
S106:自動生成フローを必要とするか否かの判断結果が要の場合、フロー生成部55は、コンポーネントを指定して、自動生成フローが必要なコンポーネントの種類を種別判断部51に問い合わせる。
【0141】
S107:種別判断部51は、自動生成フローが必要なコンポーネントが、一時ファイル保存コンポーネント18を組み込むコンポーネントか否かを判断する。判断方法としては、以下のようなものがある。
【0142】
・「外部サービスシステムからサムネイル画像を取得」と「一時ファイル領域19に保存し、アクセスするためのURLを取得」の両方の処理を実装
→ 一時ファイル保存コンポーネント18を組み込まない
・「外部サービスシステムからサムネイル画像を取得」の処理のみ実装
→ 一時ファイル保存コンポーネント18を組み込む
S108:種別判断部51は判断結果(一時ファイル保存の処理を持つか否か)をアプリ管理部53に返す。
【0143】
S109:自動生成フローが必要なコンポーネントが一時ファイル保存の処理を持つ場合、フロー生成部55は、一時ファイル保存コンポーネント18が含まれない自動生成フローを生成する。内部コンポーネントの一部は、「一時ファイル領域19に保存し、アクセスするためのURLを取得」する処理を実装しているので、内部コンポーネントの一部について、フロー生成部55は一時ファイル保存コンポーネント18が含まれない自動生成フローを生成する。
【0144】
S110:フロー生成部55は、アプリ開発者が作成したアプリケーションと自動生成フローを登録する。すなわち、アプリケーションと自動生成フローそれぞれのコンポーネントの識別情報と実行順が登録される。
【0145】
S111:自動生成フローが必要なコンポーネントが一時ファイル保存の処理を持たない場合、フロー生成部55は、一時ファイル保存コンポーネント18を含む自動生成フローを生成する。内部コンポーネントの一部は、「一時ファイル領域19に保存し、アクセスするためのURLを取得」する処理を実装していないので、内部コンポーネントの一部について、フロー生成部55は一時ファイル保存コンポーネント18が含まれる自動生成フローを生成する。また、外部コンポーネントの全ては、「一時ファイル領域19に保存し、アクセスするためのURLを取得」する処理を実装していないので、外部コンポーネントの全てついて、フロー生成部55は一時ファイル保存コンポーネント18が含まれる自動生成フローを生成する。
【0146】
S112:フロー生成部55は、アプリ開発者が作成したアプリケーションと自動生成フローを登録する。すなわち、アプリケーションと自動生成フローそれぞれのコンポーネントの識別情報と実行順が登録される。
【0147】
S113:自動生成フローを必要とするか否かの判断結果が不要の場合、フロー生成部55は、アプリ開発者が作成したアプリケーションを登録する。すなわち、アプリケーションが含むコンポーネントの識別情報と実行順が登録される。
【0148】
なお、このようにして生成された自動生成フローの実行手順は、実施例1の図10図11と同様になる。すなわち、一時ファイル保存コンポーネント18を含む自動生成フローの実行時は図10が実行され、一時ファイル保存コンポーネント18を含まない自動生成フローの実行時は図11が実行される。
【0149】
<主な効果>
本実施例によれば、情報処理システム40が、内部コンポーネントに関して、一時ファイル保存コンポーネント18を組み入れるか否かを制御できる。例えば、アプリ実行部56からコンポーネント管理部16へのアクセス回数が増えることによる処理時間増大を抑制することができる。
【実施例0150】
本実施例では、プレビュー表示以外のために、一時ファイル保存コンポーネント18を含む自動生成フローを生成する情報処理システム10について説明する。
【0151】
図15に示すように、一時ファイル保存コンポーネント18は、プレビュー表示の他に、例えば以下のような用途が考えられる。図15は、機器20が表示するファイルブラウズ画面の一例である。図16は、ファイルブラウズで選択されたファイルのプレビュー画像の表示例を示す。ファイルブラウズ画面には各ファイルに対応付けてプレビューボタン221が表示される。ユーザーがプレビューボタン221を押下することで、機器20がファイルのプレビュー(サムネイル)223を表示できる。
【0152】
また、図15に示すファイルブラウズは、ファイル名の先頭にアイコン220を表示する。このファイルブラウズのアイコン220を、外部コンポーネントが外部サービスシステム40から取得し、一時ファイル領域19に保存して利用する。
【0153】
ファイルブラウズは、機器20のシステム(OSなど)が用意した画像を利用して、フォルダやファイルのアイコンを表示している。一時ファイル保存コンポーネント18は、このアイコンを外部サービスシステム40が保持する独自のものに変更できる。外部サービスシステム40の独自のアイコン220を表示可能にする機能を追加する場合、フロー生成部55は、プレビュー機能と同様に、一時ファイル保存コンポーネント18を自動生成フローに組み入れる。
【0154】
アプリ実行部56は、以下のように自動生成フローを実行する。
【0155】
外部コンポーネントが外部サービスシステム40からアイコン画像を取得 →
一時ファイル保存コンポーネント18が一時ファイル領域19にアイコン画像を保存し、URLを発行 →
画面生成部12がファイルブラウズの画面にアイコン画像を埋め込む。
【0156】
したがって、本実施例によれば、一時ファイル保存コンポーネント18により、機器20が、外部サービスシステム40から取得した画像をアイコンとして表示できる。
【0157】
<その他の適用例>
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【0158】
例えば、図5などの構成例は、端末装置30、機器20、及び情報処理システム10による処理の理解を容易にするために、主な機能に応じて分割したものである。処理単位の分割の仕方や名称によって本願発明が制限されることはない。端末装置30、機器20、及び情報処理システム10の処理は、処理内容に応じて更に多くの処理単位に分割することもできる。また、1つの処理単位が更に多くの処理を含むように分割することもできる。
【0159】
また、実施例に記載された装置群は、本明細書に開示された実施形態を実施するための複数のコンピューティング環境のうちの1つを示すものにすぎない。ある実施形態では、情報処理システム10は、サーバクラスタといった複数のコンピューティングデバイスを含む。複数のコンピューティングデバイスは、ネットワークや共有メモリなどを含む任意のタイプの通信リンクを介して互いに通信するように構成されており、本明細書に開示された処理を実施する。
【0160】
更に、情報処理システム10は、本実施形態で開示された処理ステップ、例えば図9図14等を様々な組み合わせで共有するように構成できる。例えば、所定のユニットによって実行されるプロセスは、情報処理システム10が有する複数の情報処理装置によって実行され得る。また、情報処理システム10は、1つのサーバー装置にまとめられていても良いし、複数の装置に分けられていても良い。
【0161】
上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)や従来の回路モジュール等のデバイスを含むものとする。
【符号の説明】
【0162】
10 情報処理システム
20 機器
30 端末装置
40 外部サービスシステム
100 サービス提供システム
【先行技術文献】
【特許文献】
【0163】
【特許文献1】特開2002-55801号公報
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16