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

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

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

特開2024-134883情報処理システム、アプリ実行方法、プログラム
<>
  • 特開-情報処理システム、アプリ実行方法、プログラム 図1
  • 特開-情報処理システム、アプリ実行方法、プログラム 図2
  • 特開-情報処理システム、アプリ実行方法、プログラム 図3
  • 特開-情報処理システム、アプリ実行方法、プログラム 図4
  • 特開-情報処理システム、アプリ実行方法、プログラム 図5
  • 特開-情報処理システム、アプリ実行方法、プログラム 図6
  • 特開-情報処理システム、アプリ実行方法、プログラム 図7
  • 特開-情報処理システム、アプリ実行方法、プログラム 図8
  • 特開-情報処理システム、アプリ実行方法、プログラム 図9
  • 特開-情報処理システム、アプリ実行方法、プログラム 図10
  • 特開-情報処理システム、アプリ実行方法、プログラム 図11
  • 特開-情報処理システム、アプリ実行方法、プログラム 図12
  • 特開-情報処理システム、アプリ実行方法、プログラム 図13
  • 特開-情報処理システム、アプリ実行方法、プログラム 図14
  • 特開-情報処理システム、アプリ実行方法、プログラム 図15
  • 特開-情報処理システム、アプリ実行方法、プログラム 図16
  • 特開-情報処理システム、アプリ実行方法、プログラム 図17
  • 特開-情報処理システム、アプリ実行方法、プログラム 図18
  • 特開-情報処理システム、アプリ実行方法、プログラム 図19
  • 特開-情報処理システム、アプリ実行方法、プログラム 図20
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024134883
(43)【公開日】2024-10-04
(54)【発明の名称】情報処理システム、アプリ実行方法、プログラム
(51)【国際特許分類】
   G06Q 50/10 20120101AFI20240927BHJP
【FI】
G06Q50/10
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2023045314
(22)【出願日】2023-03-22
(71)【出願人】
【識別番号】000006747
【氏名又は名称】株式会社リコー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100107515
【弁理士】
【氏名又は名称】廣田 浩一
(72)【発明者】
【氏名】児玉 快
【テーマコード(参考)】
5L049
5L050
【Fターム(参考)】
5L049CC12
5L050CC12
(57)【要約】
【課題】顧客によるアプリケーションの利用を制限すること。
【解決手段】本発明は、顧客が操作する機器が要求したアプリケーションを実行する情報処理システムであって、前記顧客に対応付けられている点数の残高を記憶する第1記憶部と、前記顧客が要求したアプリケーションの実行で消費される予定の消費点数が、前記残高以下の場合、前記消費点数を予約する点数管理部61と、前記顧客が要求したアプリケーションの実行で消費される予定の消費点数が、前記残高以下の場合、前記アプリケーションを実行するアプリ実行部と、を有し、前記点数管理部は、前記アプリケーションの実行が完了した場合、前記残高から前記消費点数を消費する。
【選択図】図2
【特許請求の範囲】
【請求項1】
顧客が操作する機器が要求したアプリケーションを実行する情報処理システムであって、
前記顧客に対応付けられている点数の残高を記憶する第1記憶部と、
前記顧客が要求したアプリケーションの実行で消費される予定の消費点数が、前記残高以下の場合、前記消費点数を予約する点数管理部と、
前記顧客が要求したアプリケーションの実行で消費される予定の消費点数が、前記残高以下の場合、前記アプリケーションを実行するアプリ実行部と、を有し、
前記点数管理部は、前記アプリケーションの実行が完了した場合、前記残高から前記消費点数を消費する情報処理システム。
【請求項2】
前記アプリケーションの開発者から前記アプリケーションの実行で消費される前記消費点数の登録を受け付け、第2記憶部に保存する点数情報登録部を有し、
前記点数管理部は、前記顧客によるアプリケーションの実行の要求に対し前記第2記憶部に記憶されている前記消費点数を予約し、
前記アプリケーションの実行が完了した場合、前記残高から前記消費点数を消費する請求項1に記載の情報処理システム。
【請求項3】
前記顧客が要求したアプリケーションの実行で消費される予定の消費点数が、前記残高より大きい場合、前記アプリ実行部は、前記アプリケーションの実行中断を前記顧客に通知する請求項1又は2に記載の情報処理システム。
【請求項4】
前記第1記憶部には、前記顧客、前記点数の残高、前記顧客が購入したアプリケーションの対価を受け取った販売者、及び、前記アプリケーションの開発者が対応付けられており、
前記点数管理部が、前記残高から前記消費点数を消費した場合、前記消費点数に応じた料金を、前記販売者から前記アプリケーションの開発者に支払う請求項2に記載の情報処理システム。
【請求項5】
前記第1記憶部には、同じ前記アプリケーションの開発者が登録されている場合に前記点数の残高を消費する優先度が設定されており、
前記点数管理部は、前記優先度が高い前記点数の残高から順に消費する請求項4に記載の情報処理システム。
【請求項6】
前記点数情報登録部は、前記アプリケーションの開発者から1点数に対応する価値情報を受け付け、前記第1記憶部に保存し、
前記点数管理部は、前記消費点数に前記価値情報を乗じた前記料金を前記販売者から前記アプリケーションの開発者に支払う請求項4に記載の情報処理システム。
【請求項7】
前記アプリケーションは外部サービスシステムのAPIを利用して実行され、
前記点数情報登録部は、前記料金が前記外部サービスシステムの利用料を含むように設定された前記価値情報を、前記アプリケーションの開発者から受け付ける請求項6に記載の情報処理システム。
【請求項8】
前記アプリケーションの実行時に前記機器がスキャンで生成したページごとの画像データを前記機器から受信し、
前記アプリケーションの実行で消費される予定の前記消費点数を、処理の対象となり得る最大のページ数に応じて決定するロジック処理部を有し、
前記消費点数が前記残高以下の場合に、処理の対象でないページを除いて前記アプリケーションの実行を完了させた場合、前記点数管理部は、処理の対象でないページを除いて算出された前記消費点数を前記残高から消費する請求項1に記載の情報処理システム。
【請求項9】
前記アプリケーションの実行で消費される予定の前記消費点数を、処理の対象となり得る最大のデータ量に応じて決定するロジック処理部を有し、
前記顧客が要求したアプリケーションの実行で消費される予定の前記消費点数が、前記残高より大きい場合に、前記顧客から続行を要求された場合、
前記ロジック処理部は所定の処理単位のデータ量に応じて消費される予定の前記消費点数を決定し、
前記点数管理部は、前記ロジック処理部が前記所定の処理単位のデータ量に応じて決定した消費される予定の前記消費点数が、前記残高以下の場合、前記消費点数を予約し、
前記ロジック処理部が前記所定の処理単位のデータ量に応じて決定した消費される予定の前記消費点数が、前記残高以下の場合、前記アプリ実行部は、前記所定の処理単位に対し前記アプリケーションを実行し、
前記点数管理部は、前記所定の処理単位に対するアプリケーションの実行が完了した場合、前記残高から予約しておいた前記消費点数を消費する請求項1に記載の情報処理システム。
【請求項10】
顧客が操作する機器が要求したアプリケーションを実行する情報処理システムが行うアプリ実行方法であって、
前記顧客が要求したアプリケーションの実行で消費される予定の消費点数が、第1記憶部において前記顧客に対応付けられている点数の残高以下の場合、前記消費点数を予約する処理と、
前記顧客が要求したアプリケーションの実行で消費される予定の消費点数が、前記残高以下の場合、前記アプリケーションを実行する処理と、
前記アプリケーションの実行が完了した場合、前記残高から前記消費点数を消費する処理と、
を実行するアプリ実行方法。
【請求項11】
顧客が操作する機器が要求したアプリケーションを実行する情報処理システムを、
前記顧客が要求したアプリケーションの実行で消費される予定の消費点数が、第1記憶部において前記顧客に対応付けられている点数の残高以下の場合、前記消費点数を予約する点数管理部と、
前記顧客が要求したアプリケーションの実行で消費される予定の消費点数が、前記残高以下の場合、前記アプリケーションを実行するアプリ実行部、として機能させ、
前記点数管理部は、前記アプリケーションの実行が完了した場合、前記残高から前記消費点数を消費するプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理システム、アプリ実行方法、及び、プログラムに関する。
【背景技術】
【0002】
複数の処理(例えば、スキャン、クラウドへの保存、又はメール送信等)を組み合わせて実行し処理結果を提供するサービスが知られている。例えば、スキャンにより生成された画像ファイルに情報処理システムが所定の処理を行った上で、クラウドに保存したりメール送信したりするサービスが知られている。このようなサービスは、1以上の処理が一連の処理(ワークフロー)として実行されることにより実現される。
【0003】
一連の処理を実行するアプリケーションをプログラミング等の専門的な知識なしで作成する技術が考案されている(例えば、特許文献1参照。)。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の技術では、コンポーネントやこれを使ったアプリケーションの開発者が、顧客による対価の支払いに基づいて、顧客によるアプリケーションを実行することができないという問題があった。
【0005】
本願発明は、顧客による対価の支払いに基づいて、顧客によるアプリケーションを実行することができる技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題に鑑み、本発明は、顧客が操作する機器が要求したアプリケーションを実行する情報処理システムであって、前記顧客に対応付けられている点数の残高を記憶する第1記憶部と、前記顧客が要求したアプリケーションの実行で消費される予定の消費点数が、前記残高以下の場合、前記消費点数を予約する点数管理部と、前記顧客が要求したアプリケーションの実行で消費される予定の消費点数が、前記残高以下の場合、前記アプリケーションを実行するアプリ実行部と、を有し、前記点数管理部は、前記アプリケーションの実行が完了した場合、前記残高から前記消費点数を消費する。
【発明の効果】
【0007】
顧客による対価の支払いに基づいて、顧客によるアプリケーションを実行することができる技術を提供できる。
【図面の簡単な説明】
【0008】
図1】顧客と開発者の関係を模式的に示す図である。
図2】顧客がアプリケーションの購入時に、顧客に対し付与されるクレジットを説明する図である。
図3】アプリケーションの利用時にクレジットが検証及び消費されることを説明する図である。
図4】クレジットの消費を契機としてアプリ販売者からコンポーネント開発者にAPI利用料が支払われることを説明する図である。
図5】本実施形態に係るサービス提供システムの一例のシステム構成を示す図である。
図6】情報処理システム及び端末装置の一例のハードウェア構成を示す図である。
図7】機器の一例である画像形成装置のハードウェア構成図である。
図8】サービス提供システムの一例の機能構成を示す図である。
図9】アプリ管理部が管理するアプリケーション情報の一例を示す図である。
図10】端末装置が表示する、WF開発ツールにより提供された処理フロー画面の一例を示す図である。
図11】コンポーネント開発者がコンポーネントのクレジット定義を点数管理部とロジック処理部に登録する処理を説明するシーケンス図の一例である。
図12】第1クレジット管理情報、第2クレジット管理情報の一例を示す図である。
図13】顧客によるアプリケーションの購入に対し情報処理システムがクレジットを付与する処理を説明するシーケンス図の一例である。
図14】点数管理部が登録した第3クレジット管理情報の一例を示す図である。
図15】アプリケーションの実行時におけるクレジットの消費の処理を説明するシーケンス図の一例である。
図16】点数管理部が管理するクレジットの消費予約情報、第3クレジット管理情報を示す図の一例である。
図17】消費順序の情報を持つ第3クレジット管理情報の一例を示す図である。
図18】消費クレジット数量に応じた料金をアプリ販売者が開発者に支払う処理を説明するシーケンス図の一例である。
図19】アプリケーションの実行時におけるクレジットの消費の処理を説明するシーケンス図の一例である。
図20】ワークフローアプリとそれを構成するコンポーネントについて説明する図である。
【発明を実施するための形態】
【0009】
以下、本発明を実施するための形態の一例として、サービス提供システムとサービス提供システムが行うアプリ実行方法について図面を参照しながら説明する。
【0010】
<背景の補足>
ワークフローを実行するアプリケーションによっては、外部の第三者の従量課金API(Application Programming Interface)を利用するものがある。例えばAIによるOCR機能や翻訳機能をネットワーク上にAPIを介して公開する第三者(第三者が運営する外部サービスシステム)が存在するとする。第三者は、例えば1ページあたり○○円でAPIの利用を提供する。このケースでは、アプリケーションの開発のために第三者と契約した開発者(コンポーネント開発者又はアプリケーションの開発者等、ワークフローのアプリケーションを開発する者)がAPI利用料として支払った分を、各顧客に対して利用状況に応じて徴収したい。しかし、開発者は、顧客によるアプリケーションの利用状況をリアルタイムに把握することができず、また把握できたとしても、そのアプリケーションの利用を顧客ごとに制限することができなかった。
【0011】
また、図1に示すように、開発者が顧客からアプリケーションの利用料を徴収する場合、請求のフローが複雑になる。図1は、顧客と開発者の関係を模式的に示す図である。顧客201はアプリ販売者202からアプリケーションを購入するので、代金はアプリ販売者202が管理する。しかし、開発者(アプリ開発者203、フロー開発者204、コンポーネント開発者205)はそれぞれ第三者のAPI利用料を支払っている。アプリ販売者202が各開発者にアプリケーションのAPI利用料を支払うにしても、それぞれの開発者が支払うAPI利用料を特定することが困難である。
【0012】
また、開発者としては、顧客との契約を完全な従量課金とするのでなく、プリペイド型(契約時に有限個の「クレジット」を購入して、そのクレジットを支払うことでアプリケーションを利用できる形式)にしたいというニーズもあった。
【実施例0013】
<本実施形態の動作の概略>
そこで、本実施形態では、アプリケーションの実行時に、機器が消費予定のクレジット数量を実際の消費タイミングに先立って予約する。すなわち、情報処理システムが、アプリケーションの実行で消費される予定のクレジット数量を顧客が有するクレジットから確保しておく。これにより、顧客が購入したクレジット数量の残高を超えてアプリケーションを利用することを防ぐことができる。
【0014】
図2は、顧客がアプリケーションの購入時に、顧客に対し付与されるクレジットを説明する図である。
【0015】
(1) アプリケーションは、1以上のコンポーネント71によって構成されている。ここで、コンポーネント71とは、例えば、データの入力、処理、又は出力のいずれかの処理を実行するプログラムであり得る。コンポーネント71は第三者が提供するAPIを利用して所望のサービスを利用することができる。
【0016】
コンポーネント71を開発して提供するコンポーネント開発者は、後述する点数管理部61に対して、コンポーネント71を利用するために必要なクレジット数量と、クレジットの価値を定義する。例えば、図2のαはクレジットの単位であり、価値(価値情報の一例)としては1α=0.1米ドルに相当するものとして定義されている。
【0017】
(2) また、顧客はアプリ販売者Pからアプリケーションのライセンスを購入する。購入したアプリケーションは、上記のコンポーネント開発者が提供するコンポーネント71を利用するアプリケーションである。
【0018】
(3) アプリ販売者Pは、顧客がアプリケーションを購入した場合、該顧客に購入代金に応じたクレジットを付与するように点数管理部61に対して要求する。アプリ販売者Pは、例えば、クレジットとして1000αを、顧客Uを識別するユーザーID(又は顧客が所属するテナントを識別するテナントID)と自分の識別情報とを対応付ける。ここで、1000は上記したαで定義されたクレジットの数量である。
【0019】
図3は、アプリケーションの利用時にクレジットが検証及び消費されることを説明する図である。
【0020】
(4) コンポーネント開発者は、ロジック処理部59に対して、コンポーネント71の登録を行う(図3では、直接、コンポーネント71に登録されている)。一例として、アプリケーションがコンポーネント71の機能を利用するためには、1回のオペレーションごとに30αのクレジットが必要であるものとして登録されている。なお、オペレーションはクレジット消費が必要となる処理の単位であり、例えばアプリケーション又はコンポーネント71が有する所望の機能の実行をオペレーションと表現する。
【0021】
(5)顧客は機器を操作して購入したアプリケーションの実行を要求する。
【0022】
(6) ロジック処理部59は、顧客からアプリ実行要求を受け付けた場合(実行要求には、顧客を識別するユーザーIDが含まれていてもよい)、コンポーネント71の実行に必要なクレジット数量に基づいて、点数管理部61に対してクレジットの消費予約を行う。例えば、コンポーネントの1オペレーションの実行に必要なクレジットが30αである場合、点数管理部61は、30αの消費予約を行う。点数管理部61は、顧客に付与されているクレジットの残高を確認する。ここでは、ユーザーID又はテナントIDで識別される顧客には1000αのクレジットが、アプリ販売者によって付与されているものとする。一方、顧客に付与されているクレジットが30αに満たない場合は、ロジック処理部59は処理を終了しても良い。
【0023】
(7) ロジック処理部59は、消費予約が完了したことが点数管理部61から回答された後(このとき、回答には消費予約を識別する予約IDを回答してもよい)、コンポーネント71に対して処理の実行を要求する。コンポーネント71がAPIを利用して所望のサービスを利用することで、処理を実行した場合、処理完了をロジック処理部59に回答する。
【0024】
(8) ロジック処理部59は、処理の完了後に点数管理部61に対して予約確定を要求する。予約確定は、予約したクレジット数量に応じた分のコンポーネント71の実行が完了したことを意味する。点数管理部61は、このとき、改めて30αの消費を要求してもよいし、予約IDを受信していた場合には予約IDを送信してもよい。これにより、点数管理部61は、ユーザーID又はテナントIDに付与されているクレジットから、30α分のクレジットを消費する。
【0025】
図4は、クレジットの消費を契機としてアプリ販売者からコンポーネント開発者にAPI利用料が支払われることを説明する図である。
【0026】
(9) 後述する情報処理システムにおいて、アプリ販売者とコンポーネント開発者のアカウント情報を予め登録しておくことで、アプリ販売者のアカウント情報から、コンポーネント開発者のアカウント情報に対して、3米ドルを自動付与するように処理することができる。ここで、アプリ販売者のアカウントからコンポーネント開発者のアカウントに対して、3米ドルを送金してもよいし、3米ドルに相当するポイントを付与してもよい。
【0027】
(10) 点数管理部61は、クレジット30αが消費された場合、クレジット消費に対応するコンポーネント71を識別して、該コンポーネント71のクレジットの価値を参照する。例えば、コンポーネント71のクレジットの価値が、1α=0.1米ドルに相当するものとして定義されていた場合、点数管理部61は3米ドルをコンポーネント開発者に付与する。
【0028】
このように、本実施形態のサービス提供システムは、消費予定のクレジットを実際の消費タイミングに先立って予約するので、顧客が購入したクレジットの残高を超えてアプリケーションを利用することを防ぐことができる。開発者は複雑な請求フローなしに、顧客がアプリケーションを利用した分だけ利用料を取得できる。また、開発者としては、顧客の支払いに関してプリペイド型を実現できる。
【0029】
<用語について>
開発者は、アプリケーション、フロー又はコンポーネントの開発者のいずれでもよい。フローとは複数の処理の組み合わせをいう。開発者は、主に情報処理システムを提供する企業の関係者や関連会社の担当者である。開発者が、例えば、情報処理システムの導入を顧客に行うディーラーの社員の場合がある。
【0030】
顧客とは、機器等からアプリケーションを実行するエンドユーザー又はエンドユーザーが所属する企業などの組織である。顧客は、顧客側の管理者でもよいし、一般社員等でもよい。
【0031】
アプリケーションとは、ある特定の機能や目的のために開発・使用されるソフトウェアで、コンピュータ自身を直接制御するものではないものである。本実施形態では、アプリケーションがWebアプリであるとして説明する。アプリケーションを単に「アプリ」という場合がある。
【0032】
外部サービスシステムとは、情報処理システムとは別のシステムであることをいう。外部サービスシステムと情報処理システムとは、サービスブランドや運営企業が異なる場合が多い。
【0033】
点数とは、アプリケーション実行の対価に対応する情報であり、例えば数値で表したものである。点数は、顧客からはあとどのくらいアプリケーションを実行できるかを示し、サービスを提供する側からはアプリケーションの実行に応じて徴収する収入となる。本実施形態では、点数をクレジットと称する。
【0034】
消費点数とは、アプリケーションの実行で消費される点数である。本実施形態では、消費点数を、消費クレジット数量という用語で説明する。また、顧客に付与されている点数を残高と表現する場合があり、残高から消費点数だけ差し引くことを消費と表現する場合がある。
【0035】
テナントとは、サービス(本実施形態では、プルプリント)の提供者からサービスを受けることを契約した団体(法人、学校、自治体、これらの一部の組織等)や個人である。
【0036】
<システム構成>
本実施形態に係るサービス提供システム100のシステム構成について、図5を参照しながら説明する。図5は、本実施形態に係るサービス提供システム100の一例のシステム構成を示す図である。
【0037】
図5に示すサービス提供システム100は、情報処理システム10と、機器20と、を有する。情報処理システム10と機器20は、インターネット等の広域的なネットワークN1を介して通信可能に接続されている。また、情報処理システム10,機器20、及び、端末装置30は、ネットワークN1を介して、外部システムである外部サービスシステム40と通信できる。機器20と端末装置30は、企業などの施設に配置されており、ネットワークN2に接続されている。ネットワークN2は、LAN、Wi-Fi(登録商標)、広域イーサネット(登録商標)、4G、5G、6G等の携帯電話網、などでよい。
【0038】
情報処理システム10は、一台以上の情報処理装置で実現され、ネットワークN1を介して、クラウドサービス等の外部サービスシステム40と連携した一連の処理により実現される各種のサービスを提供する。本実施形態に係る情報処理システム10が提供するサービスの具体例については後述する。情報処理システム10は、クラウドコンピューティングにより実現されてもよいし、単一の情報処理装置によって実現されてもよい。クラウドコンピューティングとは、特定ハードウェア資源が意識されずにネットワーク上のリソースが利用される形態をいう。情報処理システム10は、インターネット上に存在しても、オンプレミスに存在してもよい。なお、一連の処理は1つのアプリケーションにより提供され、一連の処理を「処理フロー」「ワークフロー」ともいう。
【0039】
機器20は、ユーザーが使用する各種の電子機器である。機器20は、例えば、MFP(Multifunction Peripheral)等の画像形成装置、PC(パーソナルコンピュータ)、プロジェクタ、電子黒板、テレビ会議端末、デジタルカメラ等である。エンドユーザーは、機器20を用いて、情報処理システム10又は外部サービスシステム40が提供する各種のサービス(アプリケーション)を利用することができる。
【0040】
なお、以降では、複数の機器20について、各々を区別するときは、「機器20A」、「機器20B」等と添え字を用いて記載する。
【0041】
端末装置30は、例えば、管理者又はエンドユーザーが使用するデスクトップPC、ノート型PC、スマートフォン、タブレット端末等である。管理者又はエンドユーザーは端末装置30を操作して、情報処理システム10又は外部サービスシステム40が提供する各種のサービスを利用することができ、更に、アプリケーションの設定を行うことができる。
【0042】
なお、以降では、複数の端末装置30について、各々を区別するときは、「端末装置30A」、「端末装置30B」等と添え字を用いて記載する。
【0043】
外部サービスシステム40は、情報処理システム10がアプリケーションを実行する際にデータの保存、読出、又は加工を行うことで、サービスを提供する一台以上の情報処理装置である。外部サービスシステム40の「外部」とは、情報処理システム10とは別のシステムであることをいう。異なる企業により運営される場合が多い。例えば、同じユーザーであっても外部サービスシステム40と情報処理システム10ではアカウントが異なる。
【0044】
外部サービスシステム40の一例には、例えば、クラウドサービス、ASP(Application Service Provider)等があり、ネットワークを介して提供される各種の外部サービスが含まれてよい。例えば、サービスの一例としてストレージサービスがある。外部サービスシステム40は、インターネット上に存在しても、オンプレミスに存在してもよい。
【0045】
なお、以降では、複数の外部サービスシステム40について、各々を区別するときは、図示されている「外部サービスシステムA、B」と記載する。
【0046】
<ハードウェア構成例>
図6を参照して、本実施形態に係るサービス提供システム100に含まれる情報処理システム10及び端末装置30のハードウェア構成について説明する。
【0047】
<<情報処理システム及び端末装置>>
図6は、本実施形態に係る情報処理システム10及び端末装置30の一例のハードウェア構成を示す図である。図6に示されているように、情報処理システム10及び端末装置30はコンピュータ500によって構築されており、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を備えている。
【0048】
これらのうち、CPU501は、情報処理システム10及び端末装置30全体の動作を制御する。ROM502は、IPL等のCPU501の駆動に用いられるプログラムを記憶する。RAM503は、CPU501のワークエリアとして使用される。HD504は、プログラム等の各種データを記憶する。HDDコントローラ505は、CPU501の制御にしたがってHD504に対する各種データの読み出し又は書き込みを制御する。ディスプレイ506は、カーソル、メニュー、ウィンドウ、文字、又は画像などの各種情報を表示する。外部機器接続I/F508は、各種の外部機器を接続するためのインターフェースである。この場合の外部機器は、例えば、USB(Universal Serial Bus)メモリやプリンタ等である。ネットワークI/F509は、ネットワークN2を利用してデータ通信をするためのインターフェースである。バスライン510は、図6に示されているCPU501等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
【0049】
また、キーボード511は、文字、数値、又は各種指示などの入力に使用される複数のキーを備えた入力手段の一種である。ポインティングデバイス512は、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行う入力手段の一種である。DVD-RWドライブ514は、着脱可能な記録媒体の一例としてのDVD-RW513に対する各種データの読み出し又は書き込みを制御する。なお、DVD-RWドライブ514は、DVD-RWに限らず、DVD-R等であってもよい。メディアI/F516は、フラッシュメモリ等の記録メディア515に対するデータの読み出し又は書き込み(記憶)を制御する。
【0050】
<<機器>>
図7は、機器20の一例である画像形成装置のハードウェア構成図である。図7に示されているように、画像形成装置は、コントローラ910、近距離通信回路920、エンジン制御部930、操作パネル940、ネットワークI/F950を備えている。
【0051】
これらのうち、コントローラ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で接続した構成となっている。
【0052】
これらのうち、CPU901は、画像形成装置の全体制御を行う制御部である。NB903は、CPU901と、MEM-P902、SB904、及びAGPバス921とを接続するためのブリッジであり、MEM-P902に対する読み書きなどを制御するメモリコントローラと、PCI(Peripheral Component Interconnect)マスタ及びAGPターゲットとを有する。
【0053】
MEM-P902は、コントローラ910の各機能を実現させるプログラムやデータの格納用メモリであるROM902a、プログラムやデータの展開、及びメモリ印刷時の描画用メモリなどとして用いるRAM902bとからなる。なお、RAM902bに記憶されているプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、CD-R、DVD等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【0054】
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)のインターフェースを有していてよい。
【0055】
MEM-C907は、コピー用画像バッファ及び符号バッファとして用いるローカルメモリである。HD909は、画像データの蓄積、印刷時に用いるフォントデータの蓄積、フォームの蓄積を行うためのストレージである。HD909は、CPU901の制御にしたがってHD909に対するデータの読出又は書込を制御する。AGPバス921は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレータカード用のバスインタフェースであり、MEM-P902に高スループットで直接アクセスすることにより、グラフィックスアクセラレータカードを高速にすることができる。
【0056】
また、近距離通信回路920には、近距離通信回路のアンテナ920aが備わっている。近距離通信回路920は、NFC、Bluetooth(登録商標)等の通信回路である。
【0057】
更に、エンジン制御部930は、スキャナ部931、プリンタ部932及びファクシミリ部933を有している。また、操作パネル940は、現在の設定値や選択画面等を表示させ、操作者からの入力を受け付けるタッチパネル等のパネル表示部940a、並びに、濃度の設定条件などの画像形成に関する条件の設定値を受け付けるテンキー及びコピー開始指示を受け付けるスタートキー等からなるハードキー940bを備えている。コントローラ910は、画像形成装置全体の制御を行い、例えば、描画、通信、操作パネル940からの入力等を制御する。スキャナ部931又はプリンタ部932には、誤差拡散やガンマ変換などの画像処理部分が含まれている。
【0058】
なお、画像形成装置は、操作パネル940のアプリ切り替えキーにより、ドキュメントボックス機能、コピー機能、プリンタ機能、及びファクシミリ機能を順次に切り替えて選択することが可能となる。画像形成装置は、ドキュメントボックス機能の選択時にはドキュメントボックスモードとなり、コピー機能の選択時にはコピーモードとなり、プリンタ機能の選択時にはプリンタモードとなり、ファクシミリモードの選択時にはファクシミリモードとなる。
【0059】
また、ネットワークI/F950は、ネットワークN2を利用してデータ通信をするためのインターフェースである。近距離通信回路920及びネットワークI/F950は、PCIバス922を介して、ASIC906に電気的に接続されている。
【0060】
<機能について>
次に、図8を参照し、本実施形態に係るサービス提供システム100の機能構成について説明する。図8は、本実施形態に係るサービス提供システム100の一例の機能構成を示す図である。端末装置30Aをアプリケーション又はコンポーネント71の開発者が操作する端末装置(開発者端末)、端末装置30Bをエンドユーザー8が操作する端末装置(ユーザー端末)として説明する。
【0061】
<<管理者端末>>
端末装置30Aは、第一通信部31aと、表示制御部32aと、操作受付部33aとを有する。これら各機能部は、端末装置30Aにインストールされた1以上のプログラムに含まれる命令をCPU501が実行することで実現される機能又は手段である。なお、このプログラムはWebブラウザでもよいし、専用のソフトウェアでもよい。
【0062】
第一通信部31aは、情報処理システム10との間で各種の情報を送受信する。本実施形態では各種の画面情報等を情報処理システム10から受信し、開発者が設定した情報を情報処理システム10に送信する。
【0063】
表示制御部32aは、各種の画面の画面情報を解釈してディスプレイ506に表示する。操作受付部33aは、ディスプレイ506に表示された各種画面におけるユーザーの各種操作を受け付ける。なお、画面情報は、HTML、XML、スクリプト言語、及びCSS(Cascading Style Sheet)等で記述されたプログラムであり、主にHTMLによりWebページの構造が規定され、スクリプト言語によりWebページの動作が規定され、CSSによりWebページのスタイルが規定される。
【0064】
<<ユーザー端末>>
端末装置30Bは、第二通信部31bと、表示制御部32bと、操作受付部33bとを有する。これら各機能部は、端末装置30Bにインストールされた1以上のプログラムに含まれる命令をCPU501が実行することで実現される機能又は手段である。なお、このプログラムはWebブラウザでもよいし、専用のソフトウェアでもよい。
【0065】
第二通信部31bは、情報処理システム10との間で各種の情報を送受信する。第二通信部31bは、例えばマイページの画面情報等を情報処理システム10から受信し、顧客が設定した情報を情報処理システム10に送信する。
【0066】
表示制御部32bは、各種の画面の画面情報を解釈してディスプレイ506に表示する。操作受付部33bは、ディスプレイ506に表示された例えばマイページにおける顧客の各種操作を受け付ける。
【0067】
<<機器>>
機器20は、第三通信部21と、表示制御部22と、操作受付部23と、画像データ生成部24と、ファクシミリ処理部25と、電子メール処理部26とを有する。これら各機能部は、機器20にインストールされた1以上のプログラムに含まれる命令をCPU901が実行することで実現される機能又は手段である。例えば、第三通信部21、表示制御部22及び操作受付部23はWebブラウザにより実現され、その他は個別のアプリケーション(ネイティブアプリ)により実現される。
【0068】
第三通信部21は、情報処理システム10との間で各種の情報を送受信する。本実施形態では、第三通信部21は、アプリ一覧画面等の画面情報を情報処理システム10から受信し、アプリケーションの実行要求等を情報処理システム10に送信する。
【0069】
表示制御部22は、各種の画面の画面情報を解釈してパネル表示部940aに表示する。操作受付部23は、パネル表示部940aに表示された各種画面におけるユーザーの各種操作を受け付ける。
【0070】
画像データ生成部24は、操作受付部23が選択を受け付けたアプリケーションが画像データを生成するものである場合、スキャナ部931で原稿をスキャンして画像データを生成する。ファクシミリ処理部25は、ファクシミリ部933によるファクシミリの受信及び送信に関する処理を行い、ファクシミリを受信した場合に予め対応付けられているアプリケーションの実行を情報処理システム10に要求する。なお、ファクシミリ処理部25は、ファクシミリの送信元(FAX番号)に対応したアプリケーションを要求してもよい。
【0071】
電子メール処理部26は、電子メールの送受信に関する処理を行い、電子メールを受信した場合に予め対応付けられているアプリケーションの実行を情報処理システム10に要求する。なお、電子メール処理部26は、電子メールの送信元(メールアドレス)に対応したアプリケーションを要求してもよい。
【0072】
<<情報処理システム>>
情報処理システム10は、通信部11、Webアプリ制御部12、WF開発ツール13(WFはWork Flowの略)、クレジット管理ツール14、コンポーネント管理部70、及び、入出力サービス15を有している。ツールとは、一連の機能を備えたプログラム(主にWebアプリ)である。情報処理システム10が有する各機能部は、情報処理システム10にインストールされた1以上のプログラムに含まれる命令をCPU501が実行することで実現される機能又は手段である。
【0073】
通信部11は、端末装置30A,30B、及び機器20との間で各種の情報を送受信する。本実施形態では、通信部11は各種の画面の画面情報を端末装置30A,30Bに送信し、各種の設定を端末装置30A,30Bから受信する。通信部11はアプリケーションの画面情報を機器20に送信し、処理フローで処理される電子データ等を受信する。
【0074】
Webアプリ制御部12は、機器20からの要求に応じてアプリケーションを実行する。本実施形態では、アプリケーションはWebアプリとして提供される。Webアプリとは、装置のみで実行可能なネイティブアプリと対比して使用される用語である。Webアプリは、Webブラウザ上で動作するプログラミング言語(たとえばJavaScript(登録商標))によるプログラムとWebサーバー側のプログラムが協調することによって動作し、Webブラウザ上で実行されるソフトウェア又はその仕組みを言う。
【0075】
Webアプリ制御部12は、画面提供部51と、アプリ実行部52と、を有している。各Webアプリは、入出力サービス15のアプリ管理部60において画面構成情報と処理フローが管理されており、画面提供部51は、Webアプリの画面構成情報(アプリケーションの実行画面)を機器20に送信する。
【0076】
アプリ実行部52は処理フロー(スキャン、OCR、メール送信などの各処理と実行順)に基づいて、機器20がスキャンした画像データや受信したFAXや電子メール等に処理の実行をロジック処理部59に要求する。各処理は対応するコンポーネント71があり、ロジック処理部59がコンポーネント管理部70からコンポーネント71を呼び出して実行する。
【0077】
WF開発ツール13は、端末装置30Aが実行するWebブラウザを介して、機器20で動作するアプリケーションをアプリ開発者が作成することができるツールである。後述するようにアプリケーションでは様々な処理(コンポーネント)がつなぎ合わされており、情報処理システム10は各処理を順番に実行する。WF開発ツール13は、アプリケーションの開発権限を持った開発者のみがアクセスすることができ、アプリケーションを開発することができる。
【0078】
WF開発ツール13は、アプリ登録部54、及び画面提供部55を有している。画面提供部55は、後述する処理フロー画面300等を端末装置30Aに提供し、開発者のアプリケーションに関する設定(処理フロー定義、ユーザー入力項目等)を受け付ける。
【0079】
アプリ登録部54は、画面提供部55が受け付けたアプリケーションに関する設定(処理フロー定義、ユーザー入力項目等)をアプリ管理部60に登録する。
【0080】
クレジット管理ツール14は、画面提供部16と点数情報登録部17を有している。画面提供部16は、後述するクレジット管理情報に関する画面を端末装置30Aに提供し、開発者がコンポーネント71やアプリケーションに関して設定したクレジット管理情報(1回のオペレーションの必要クレジット、クレジットの価値等)を受け付ける。
【0081】
点数情報登録部17は、画面提供部16が受け付けたクレジット管理情報を点数管理部61又はロジック処理部59に登録する。
【0082】
入出力サービス15は、WF開発ツール13及びクレジット管理ツール14で設定された値を保存する。また、入出力サービス15は、アプリケーションに定義された各種処理(OCR、メール送信、フォルダへの保存等)を実行する。
【0083】
入出力サービス15は、ロジック処理部59、アプリ管理部60、及び、点数管理部61を有している。アプリ管理部60は、アプリケーション情報(各アプリケーションの処理フロー、ユーザー入力項目、デフォルト値、及び、画面構成情報等)を管理する。
【0084】
ロジック処理部59は、アプリ実行部52から要求された処理に対応するコンポーネント71を呼び出して、アプリケーションが含むOCR等のコンポーネント71に対応する処理を実行する。ロジック処理部59は、一部のクレジット管理情報(1回のオペレーション当たりの消費クレジット数量)を第2記憶部62で管理する。
【0085】
点数管理部61は、コンポーネント71を利用するために必要なクレジットの価値の定義を開発者から受け付ける。点数管理部61は、クレジットの価値を第1記憶部63に保存したクレジット管理情報で管理する。点数管理部61は、顧客のユーザーID又はテナントIDに対応付けてクレジットを管理する。点数管理部61は、アプリケーションの実行前に1回のオペレーションに応じたクレジットの予約、実行後に消費を実行する。点数管理部61は、クレジットの予約や消費を第1記憶部63に保存したクレジット管理情報で管理する。また、点数管理部61は、クレジットの消費分に応じた料金をアプリ販売者から受け取り、開発者に支払う。
【0086】
コンポーネント管理部70は、コンポーネント開発者が開発したコンポーネント71を管理する。コンポーネント71は第三者のAPIを利用する場合がある。図8では、コンポーネント71の一例として、コンポーネント管理部70は、AIOCR部71aと翻訳部71bを有している。AIOCR部71aはAIを利用したOCR処理を、第三者のAPIを呼び出して実行する。翻訳部71bは、テキストデータや音声の翻訳を、第三者のAPIを呼び出して実行する。これらのコンポーネント71は一例であり、各種のコンポーネントをコンポーネント管理部70が有していてよい。
【0087】
<アプリケーション情報>
図9は、アプリ管理部60が管理するアプリケーション情報の一例を示す。アプリケーション情報は、アプリIDに対応付けて、処理フローとデフォルト値を有している。デフォルト値はユーザー又はテナントごとに設定可能である。処理フローは、開発者によって設定された、コンポーネント1→コンポーネント2→コンポーネント3…のように、コンポーネントを実行順に配置したものである。各コンポーネントが処理に対応する。
【0088】
なお、デフォルト値は、顧客が機器20又は端末装置30でアプリケーションを実行する場合に、アプリケーションの画面の表示直後に表示される設定値である。デフォルト値は、マイページでエンドユーザーが設定する。
【0089】
また、各コンポーネント71が有する設定項目は、アプリ開発者が設定したユーザー入力項目である。各設定項目を表示するための画面構成情報は、例えばHTMLのラベルのような画面定義により用意されている。
【0090】
<端末装置が表示する画面例>
図10は、端末装置30Aが表示する、WF開発ツール13により提供された処理フロー画面300の一例である。処理フロー画面300は処理リスト欄301とエディター欄302を有する。処理リスト欄301には、アプリケーションが実行できるコンポーネント71のリストがアイコンで表示される。エディター欄302は、メッシュに区切られている。
【0091】
アプリケーション開発者は処理リスト欄301からアプリケーションに組み込みたいコンポーネント71のアイコンを選択して、エディター欄302にドラッグ&ドロップする。アプリ開発者がこれを繰り返すことで一連の処理フローを定義できる。図10の例では、Execute OCR303, Send Email304、及び、Upload File305がこの順番で定義されている。Execute OCR303, Send Email304、及び、Upload File305の各処理はそれぞれがコンポーネント71に相当する。
【0092】
<クレジット定義の登録>
次に、図11を参照して、コンポーネント開発者がコンポーネント71についてクレジットを定義する流れを説明する。図11は、コンポーネント開発者がコンポーネント71のクレジット定義を点数管理部61とロジック処理部59に登録する処理を説明するシーケンス図である。ここではコンポーネントの開発を例に説明するが、アプリケーションの開発の場合も同様である。
【0093】
S1:コンポーネント開発者は、端末装置30A(Webブラウザ)に対し、クレジット定義を登録する操作を行う。このクレジットの定義は、例えば1クレジット(1点数の一例)あたりの価値(USD)である。通貨の単位は円でも他の通貨でもよい。端末装置30Aの操作受付部33aは操作を受け付ける。コンポーネント開発者は、この価値が外部サービスシステム40の利用料を含むように設定するとよい。
【0094】
S2:端末装置30Aの第一通信部31aは、クレジット定義登録要求を情報処理システム10に送信する。クレジット定義はクレジットの価値を定義する。
【0095】
S3:情報処理システム10の通信部11はクレジット定義登録要求を受信し、点数情報登録部17がクレジット定義を点数管理部61に登録する。点数管理部61は、クレジットIDを発行し、図12(a)に示す第1クレジット管理情報を第1記憶部63に保存する。
【0096】
S4、S5:情報処理システム10の通信部11はクレジットIDを端末装置30Aに送信する。端末装置30Aの表示制御部32aがクレジットIDを表示してよく、コンポーネント開発者がクレジットIDを把握できる。
【0097】
S6,S7:コンポーネント開発者は、端末装置30A(Webブラウザ)に対し、オペレーションとクレジットとを対応付ける操作を行う。この対応付けは、1回のオペレーションで消費される必要クレジット(数量)をコンポーネントに対応付ける。端末装置30Aの操作受付部33aは操作を受け付ける。
【0098】
S8:端末装置30Aの第一通信部31aは、コンポーネント登録要求を情報処理システム10に送信する。コンポーネントの登録は、コンポーネントの1回の実行で消費されるクレジット数量を登録する。
【0099】
S8:情報処理システム10の通信部11はコンポーネント登録要求を受信し、点数情報登録部17が上記の対応付けをロジック処理部59に登録する。
【0100】
S9:ロジック処理部59は、図12(b)に示す第2クレジット管理情報を第2記憶部62に保存する。
【0101】
S10:情報処理システム10の通信部11は登録完了を端末装置30Aに送信する。端末装置30Aの表示制御部32aが登録完了を表示してよく、コンポーネント開発者はコンポーネントが登録されたことを把握できる。
【0102】
図12(a)は、点数管理部61(第1記憶部63)に登録された第1クレジット管理情報の一例を示す。コンポーネント開発者は、自身に支払われるクレジットとその価値を定義した。第1クレジット管理情報は、クレジットID、定義テナントID、及び価値の各項目を有している。
・クレジットIDの項目は、クレジット管理情報を識別する識別情報を示す。
・定義テナントIDの項目は、コンポーネント開発者もテナントとして扱われるため、コンポーネント開発者が所属するテナントの識別情報である。
・価値の項目は、情報処理システム内で使用される1クレジットが、所定の通貨ではいくらに相当するかを示す。
【0103】
図12(b)は、ロジック処理部59(第2記憶部62)に登録された第2クレジット管理情報の一例を示す。図12(b)の第2クレジット管理情報もクレジットIDに対応付けられている。第2クレジット管理情報は、オペレーション、消費クレジットID、及び実行1回あたりの消費クレジット数量、の各項目を有している。
・オペレーションの項目は、コンポーネント71が実行する処理の内容を示す。
・消費クレジットIDの項目は、第1クレジット管理情報のクレジットIDを示す。消費クレジットIDの項目は、コンポーネントの実行で消費されるクレジットの価値と対応付ける。
・実行1回あたりの消費クレジット数量(消費点数の一例)の項目は、当該コンポーネント71の1回の実行で消費される必要クレジット数量である。
【0104】
なお、図12では、第1クレジット管理情報と第2クレジット管理情報が点数管理部61とロジック処理部59とで別々に管理されているが、これは一例であり、第1クレジット管理情報と第2クレジット管理情報は1つにまとめて管理されていてもよい。
【0105】
<顧客によるアプリケーションの購入時に付与されるクレジット>
次に、図13を参照し、顧客がアプリケーションを購入した際に情報処理システム10がクレジットを顧客に付与する流れを説明する。図13は、顧客によるアプリケーションの購入に対し情報処理システム10がクレジットを付与する処理を説明するシーケンス図である。シーケンス図のアプリ販売者は、アプリケーション販売用のWebサイトである。
【0106】
S11:顧客は、端末装置30B(Webブラウザ)に対し、所望のアプリケーションを購入する操作を行う。端末装置30Bの操作受付部33bは操作を受け付ける。
【0107】
S12:アプリ販売者(所定のサーバー装置)は、クレジット付与要求(アプリ販売者のテナントID、コンポーネント71のクレジットID、購入代金に応じたクレジット数量)を受け付け、これを情報処理システム10に送信する。
【0108】
S13:情報処理システム10の通信部11はクレジット付与要求を受信し、点数情報登録部17が点数管理部61に登録する。点数管理部61は、ステップS12のテナントID、クレジットID、クレジット数量に、付与要求テナントID等を対応付けて第1記憶部63に保存する(図14参照)。なお、付与要求テナントIDはアプリ販売者のWebサイトにログインした顧客のテナントIDである。なお、付与要求テナントIDは、クレジット付与要求に含まれていてもよい。
【0109】
S14:情報処理システム10の通信部11はアプリ販売者にクレジットの付与に成功(OK)を送信する。
【0110】
S15:クレジットの付与に成功すると、アプリ販売者は販売したアプリケーションをインストールする。このインストールは、顧客のテナントIDにアプリケーションのライセンスが対応付けて登録されればよく、機器20にアプリケーションがインストールされることまでは実施されなくてもよい。
【0111】
S16:アプリ販売者はアプリケーションのインストール完了を顧客の端末装置30B(Webブラウザ)に通知する。顧客は機器20においてアプリケーションを利用可能にするインストール処理を行うことができる。
【0112】
図14は、点数管理部61が登録した第3クレジット管理情報の一例を示す。第3クレジット管理情報は例えば第1記憶部63に保存される。第3クレジット管理情報は、テナントID、クレジットID、付与クレジット数量、付与要求テナントID、付与日時、及び、残高、の各項目を有している。
・テナントIDの項目は、アプリ販売者が所属するテナントの識別情報を示す。テナントIDの項目は、顧客によるアプリケーションの実行時に、開発者側から料金の請求先の特定に使用される。
・クレジットIDの項目は、顧客が購入したアプリケーションに含まれるコンポーネント71に対し、コンポーネント71の実行の対価に関するクレジットIDを示す。1つのアプリケーションに対し複数のクレジットIDが登録されてよい。
・付与クレジット数量の項目は、顧客が購入したクレジット数量を示す。
・付与要求テナントIDの項目は、顧客が所属するテナントの識別情報を示す。
・付与日時の項目は、顧客がアプリケーションを購入した日時を示す。付与日時の項目は、顧客にクレジットが付与された日時でもある。
・残高の項目は、付与クレジット数量の内、消費されたクレジット数量を減じた残りを示す。
【0113】
<アプリケーションの実行時に消費されるクレジット>
次に、図15を参照して、顧客がアプリケーションを実行した場合に情報処理システム10がクレジットを消費する流れについて説明する。図15は、アプリケーションの実行時におけるクレジットの消費の処理を説明するシーケンス図である。
【0114】
S21:顧客が機器20(Webブラウザ)に対し、所望のアプリケーションの実行を要求する操作を行う。機器20の操作受付部23は操作を受け付ける。アプリケーションの実行は端末装置30Bでも可能である。
【0115】
S22:機器20の第三通信部21は、テナントIDを指定してアプリ実行要求を情報処理システムに送信する。このテナントIDは、実行されるアプリケーションを販売したアプリ販売者のテナントIDである。ただし、クレジットの残高を顧客のテナントと紐づけて管理している場合は、顧客のテナントIDを送信してもよい。以下ではアプリ販売者のテナントが残高を保持する場合について説明するが、顧客のテナントが残高を保持するものとしてもよい。なお、アプリ実行要求には、アプリケーションで実行する処理にかかる設定情報が含まれていてもよい。例えば、アプリケーションが有する1以上の機能それぞれの実行要否や、機能の実行にかかるパラメータ、処理対象データを識別する情報や処理対象データの保存先を示す情報、及び処理対象データの数量などの情報を含み得る。
【0116】
S23:情報処理システム10の通信部11はアプリ実行要求を受信し、アプリ実行部52が、アプリケーションの実行により消費されるクレジット消費予定最大数量をロジック処理部59に要求する。
【0117】
S24:ロジック処理部59はクレジット消費予定最大数量を算出することで決定する。ここで、クレジット消費予定最大数量は、設定情報に基づいて算出できる。算出方法の詳細は後述する。
【0118】
S25:ロジック処理部59は算出したクレジット消費予定最大数量をアプリ実行部52に返す。
【0119】
S26:アプリ実行部52は、テナントIDを指定してクレジット残高取得要求を点数管理部61に送出する。
【0120】
S27:点数管理部61は、テナントIDにより特定される残高を第3クレジット管理情報から取得する。
【0121】
S28:点数管理部61は残高をアプリ実行部52に返す。
【0122】
S29:クレジット消費予定最大数量が、アプリ販売者が保持する残高より大きい場合、アプリ実行部52は通信部11を介して、実行中断通知を機器20に送信する。この場合、アプリ実行部52はアプリの機能を実行することなく処理を終了してもよい。
【0123】
S30:機器20の第三通信部21は実行中断通知を受信し、表示制御部22が実行中断通知を表示する。顧客はクレジットの残高が足りないことを把握できる。
【0124】
S31:クレジット消費予定最大数量が、アプリ販売者が保持する残高以下の場合、アプリ実行部52は、テナントID、クレジットID及びクレジット消費予定最大数量を指定して、クレジット消費予約要求を点数管理部61に送出する。
【0125】
S32:点数管理部61は、テナントIDとクレジットIDで特定された第3クレジット管理情報の残高のうち、クレジット消費予定最大数量を予約する(図16参照)。予約することで、別のアプリケーションが実行されても、クレジット数量が予約で確保されているので、クレジット数量の残高が足りなくなることを防止できる。
【0126】
S33:点数管理部61は予約IDを発行し、アプリ実行部52に返す。
【0127】
S34:アプリ実行部52は、顧客が実行要求したアプリケーションを実行する。図15では省略されているが、アプリ実行部52はロジック処理部59に各コンポーネント71を順番に実行させる。
【0128】
S35:アプリケーションの実行が完了すると、アプリ実行部52は予約IDを指定して、クレジット消費予約確定要求を点数管理部61に送出する。クレジット消費予約確定要求は、予約したクレジット数量の消費を要求することをいう。
【0129】
S36:点数管理部61は、予約IDで特定されるクレジット消費予定最大数量を第3クレジット管理情報の残高から差し引くことで消費する。
【0130】
S37:情報処理システム10の点数管理部61はクレジットの消費処理が完了した旨(OK)をアプリ実行部52に送出する。
【0131】
S38:アプリ実行部52は、通信部11を介して、アプリ実行結果を機器20に送信する。
【0132】
S39:機器20の第三通信部21はアプリ実行結果を受信し、表示制御部22がアプリ実行結果を表示する。顧客はアプリケーションの実行が完了したことを把握できる。
【0133】
<<クレジット消費予定最大数量の算出>>
ステップS24で算出されたクレジット消費予定最大数量の算出方法を説明する。ロジック処理部59は、アプリケーションが実行する各フローと、そのフローが実行する各オペレーションをもとに、クレジット消費予定最大数量を計算する。
【0134】
例えば以下のケースを考える。顧客がアプリケーションAを実行する。アプリケーションAはフローF(コンポーネント71が行う処理)を含む。フローFはオペレーション0を実行する。
(i) オペレーション0は、その実行1回につきクレジットIDがALPHAの残高を30消費する。
(ii) フローFは、入力されたPDF(機器20がスキャンで生成した)の各ページにつき、オペレーション0を2回実行する。
(iii) ただし、フローFは、空白ページや特定のバーコードを含むページに対しては、オペレーション0を実行しない。
(iv) PDFのページが空白ページや特定のバーコードを含むかどうかは、アプリケーションAの実行を開始するまで分からない。
【0135】
このアプリケーションAに対して機器20が10ページのPDFを生成して入力した場合、クレジット消費予定最大数量は600(=30×10ページ×2回)である。つまり、ロジック処理部59は処理される予定の最大のページ数に応じてクレジット消費予定最大数量を算出する。
【0136】
しかしながら、10ページのPDFのうち、空白ページやバーコードを含むページがあれば顧客はこれらを除いたページだけオペレーションを実行したい(これらを除いたページ分だけ料金を支払いたい)。空白ページやバーコードを含むページであるかどうか(=画像処理によるバーコードが検出されるかどうか、又は、画像処理によるノイズ除去後に空白ページとみなされるかどうか)は、機器20がアプリケーションを実行するまで分からない。
【0137】
このため、アプリ実行部52がアプリケーションを実行する前に、クレジット消費予定最大数量だけ、点数管理部61がクレジットの消費を予約する。これは、アプリ実行中に別のアプリ実行要求が発生した場合に第3クレジット管理情報の残高を超えてクレジットが消費されてしまうことを防ぐためである。なお、アプリケーションが複数のコンポーネントによって構成されている場合、点数管理部61は、アプリ実行要求を受けたアプリケーションを構成するコンポーネント毎にクレジット消費予定最大数量を算出してもよい。そして、コンポーネントそれぞれのクレジット消費予定最大数量が、アプリ販売者が保持する残高より大きい場合にのみ、アプリ実行部52がアプリケーションの機能を実行できる。このとき、アプリ実行部52は、コンポーネント毎にクレジットの消費を予約してもよい。この場合、クレジット消費予約要求、及び消費予約情報にはコンポーネントを識別する情報を含めることができる。ただし、アプリ実行部52は、アプリ実行要求を受けたアプリケーションを構成する全てのコンポーネントの消費予定最大数量の合計値に基づいてクレジットの消費を予約してもよい。
【0138】
図16は、点数管理部61が管理するクレジットの消費予約情報を示す。まず、図16(a)は、図15のステップS32で作成される消費予約情報である。消費予約情報は、予約ID、テナントID、クレジットID、消費クレジット数量、及び、確定の各項目を有する。
・予約IDの項目は、クレジット消費予約を識別する識別情報を示す。
・テナントIDの項目は、アプリケーションを販売したアプリ販売者が所属するテナントの識別情報を示す。
・クレジットIDの項目は、第1クレジット管理情報においてコンポーネント71に対応付けられているクレジットIDを示す。
・消費クレジット数量の項目は、第2クレジット管理情報においてコンポーネント71に対応付けられている実行1回あたりの消費クレジット数量を示す。
・確定の項目は、アプリケーションの実行前にFALSE,実行完了でTRUEとなる。
【0139】
図16(b)はアプリケーションの実行後の消費予約情報である。確定の項目がTRUEになっている。
【0140】
図16(c)は、アプリケーションの実行後の第3クレジット管理情報を示す。アプリ実行後、図15のステップS35でクレジット消費予約確定要求をアプリ実行部52が点数管理部61に要求することで、第3クレジット管理情報の残高から、消費予約情報の消費クレジット数量が消費される。このため、図16(c)では、消費後の残高が、図14の1000から30クレジット減じられ、970になっている。
【0141】
なお、アプリ実行時に実際に消費されたクレジット数量と、クレジット消費予定最大数量に差異があった場合、アプリ実行部52が、消費予約確定要求前に予約IDを指定して、消費クレジット数量の更新を点数管理部61に要求する。その上で、消費予約情報の確定の項目が「TRUE」になる。
【0142】
この消費にもとづいて、アプリ販売者から開発者に利用料が支払われる。なお、第3クレジット管理情報に同じクレジットIDのクレジットが複数回登録されている場合は、点数管理部61はその付与日時の早い順に消費してもよいし、又は付与されたテナントの管理者がその消費する優先度を点数管理部61に対して事前に設定できてもよい。その場合は、第3クレジット管理情報に登録される残高はそれぞれ、次のように消費順序の情報を持つ。
【0143】
図17は、消費順序の情報を持つ第3クレジット管理情報を示す。図17の第3クレジット管理情報は、図14と比較して消費順序の項目を有している。点数管理部61は、優先度(消費順序)が高いクレジットの残高から順に消費する。
【0144】
<料金の支払い>
図18は、消費クレジット数量に応じた料金をアプリ販売者が開発者に支払う処理を説明するシーケンス図である。
【0145】
S101:アプリケーションの実行により第3クレジット管理情報において、予約が確定した消費クレジット数量に応じて残高が減少する。点数管理部61は、減少した消費クレジット数量に、第1クレジット管理情報に記憶されている価値を乗じて、料金を算出する。点数管理部61は開発者を指定して(定義テナントID)決まった請求方法で料金をアプリ販売者に請求する。
【0146】
S102:アプリ販売者は請求された料金を予め決まった方法で開発者に支払う。アプリ販売者は、換金可能なポイント(購入代金に応じて還元される数値)を開発者に移行してもよいし、現金を開発者に振り込んでもよい。
【0147】
また、図18の処理の流れは一例に過ぎず、点数管理部61が開発者に料金を通知し、開発者がアプリ販売者に請求してもよい。あるいは、点数管理部61がアプリ販売者から料金を預かっておき、点数管理部61が直接、開発者に料金を支払ってもよい。
【0148】
<主な効果>
本実施形態のサービス提供システムは、消費予定のクレジットを実際の消費タイミングに先立って予約するので、顧客が購入したクレジットの残高を超えてアプリケーションを利用することを防ぐことができる。開発者は複雑な請求フローなしに、顧客がアプリケーションを利用した分だけ利用料を取得できる。また、開発者としては、顧客の支払いに関してプリペイド型を実現できる。
【実施例0149】
アプリケーションによっては、クレジット消費予定最大数量が非常に大きくなってしまう場合や、理論上無限大になってしまう場合がある。例えば、コンポーネント71がPDFに含まれる文字数に対してクレジットを消費する場合、消費予定最大数量は無限大になってしまう(アプリケーションの実行前には文字数が不明なので、消費予定最大数量は無限大と算出される)。そこで、本実施例の情報処理システム10は、クレジットを消費する最小単位(アプリケーションの1回のオペレーションで実行する所定の処理単位。例えばぺーじごと。)ごとにアプリ実行部52がクレジット消費予約及び予約確定を行う。
【0150】
なお、本実施例においては、上記の実施例にて説明した図6図7のハードウェア構成図、及び、図8に示した機能ブロック図を援用できるものとして説明する。
【0151】
<アプリケーションの実行時に消費されるクレジット>
図19は、アプリケーションの実行時におけるクレジットの消費の処理を説明するシーケンス図である。図19の説明では主に図15との相違を説明する。まずステップS51~S58の処理は図15と同様でよい。
【0152】
S59:クレジット消費予定最大数量が、第3クレジット管理情報においてアプリ販売者が保持する残高より大きい場合、アプリ実行部52は通信部11を介して、クレジット残高の不足の可能性がある旨と再開IDを機器20に送信する。
【0153】
S60:機器20の第三通信部21はクレジット残高の不足の可能性がある旨を受信し、表示制御部22がクレジット残高の不足の可能性がある旨を表示する。顧客はクレジットの残高が足りない可能性があることを把握できる。
【0154】
S61:上記のように、クレジット消費予定最大数量が非常に大きくなってしまう場合や、理論上無限大になってしまう場合があるので、クレジット消費予定最大数量が残高よりも大きくても、顧客の操作でアプリケーションの実行を継続できる。顧客は、アプリケーションの続行を機器20に入力する。機器20の操作受付部23は入力を受け付ける。
【0155】
S62:機器20の第三通信部21は、再開IDを指定してアプリケーションの続行要求を情報処理システム10に送信する。
【0156】
S63:情報処理システム10の通信部11はアプリケーションの続行要求を受信し、アプリ実行部52が再開IDで特定されるアプリケーションの実行を再開する。アプリ実行部52は、クレジット消費予定数量をロジック処理部59に要求する。
【0157】
S64:ロジック処理部59は、例えば1ページ当たり(アプリケーションの1回のオペレーションで実行する所定の処理単位)の文字数(データ量)に基づいてクレジット消費予定数量を算出する。
【0158】
S65:ロジック処理部59は、クレジット消費予定数量をアプリ実行部52に返す。
【0159】
S66:クレジット消費予定数量が、アプリ販売者が保持する残高以下の場合、アプリ実行部52は、テナントID、クレジットID及びクレジット消費予定数量を指定して、クレジット消費予約要求を点数管理部61に送出する。
【0160】
S67:点数管理部61は、テナントIDとクレジットIDで特定された第3クレジット管理情報の残高のうち、クレジット消費予定数量を予約する。
【0161】
S68:一方、クレジット消費予定数量が、アプリ販売者が保持する残高より大きい場合、点数管理部61はその旨(NG)をアプリ実行部52に返す。
【0162】
S69:アプリ実行部52は、通信部11を介して、実行中断通知を機器20に送信する。
【0163】
S70:機器20の第三通信部21は実行中断通知を受信し、表示制御部22が実行中断通知を表示する。顧客はクレジットの残高が足りないことを把握できる。
【0164】
S71:クレジット消費予定数量が、アプリ販売者が保持する残高以下の場合、ステップS67に続き、点数管理部61は予約IDを発行し、アプリ実行部52に返す。
【0165】
S72:アプリ実行部52は、顧客が実行要求したアプリケーションを1ページごとに(所定の処理単位ずつ)実行する。
【0166】
S73:アプリケーションの実行が完了すると、アプリ実行部52は予約IDを指定して、クレジット消費予約確定要求を点数管理部61に送出する。
【0167】
S74:点数管理部61は、予約IDで特定されるクレジット消費予定数量を第3クレジット管理情報の残高から差し引くことで消費する。
【0168】
S75:情報処理システムの点数管理部61はクレジットの消費処理が完了した旨(OK)をアプリ実行部52に送出する。
【0169】
この後、処理は、ステップS63に戻る。機器20がスキャンして生成した全てのページについてアプリケーションの実行が完了するか、又は、クレジット消費予定数量が、顧客が保持する残高より大きい場合、処理がステップS76に進む。
【0170】
S76:アプリ実行部52は、通信部11を介して、アプリ実行結果を機器20に送信する。
【0171】
S77:機器20の第三通信部21はアプリ実行結果を受信し、表示制御部22がアプリ実行結果を表示する。顧客はアプリケーションの実行が完了したことを把握できる。
【0172】
<主な効果>
このように、本実施例では、実施例1の効果に加え、アプリ実行部52が、クレジット消費を、アプリ実行後に一度で確定する代わりに、アプリ実行中に複数回に分けて確定する。これにより、クレジット消費予定最大数量が非常に大きくなってしまう場合や、理論上無限大になってしまう場合でも、顧客は、顧客の残高の範囲でアプリケーションを実行できる。
【0173】
<ワークフローアプリとコンポーネントに関する補足>
図20を参照して、ワークフローアプリを構成するコンポーネントについて説明する。図20は、ワークフローアプリとそれを構成するコンポーネントについて説明する図である。
【0174】
管理者は、各処理を実行する処理(コンポーネント)を組み合わせワークフローとしてその一連の処理を実行するワークフローアプリ110を作成することができる。ここで、コンポーネントの一例として、データの入力や生成及び取得にかかる処理を実行するINコンポーネント、データの加工や変換など所定の処理を実行するPROCESSコンポーネント、データの出力や送信にかかる処理を実行するOUTコンポーネントが含まれる。ワークフローアプリは、複数のINコンポーネント、複数のPROCESSコンポーネント、及び、複数のOUTコンポーネントによって構成することができ、複数のコンポーネントによって1つのワークフローアプリを構成することもできる。
【0175】
INコンポーネントは、デバイス101(機器20又は端末装置30等)から処理対象のデータを取得する処理が含まれる。例えば、デバイス101がMFPやカメラである場合、原稿や被写体をスキャン又は撮影することで電子データを取得する処理が含まれる。デバイス101がプロジェクタやディスプレイである場合は表示中の画像データを取得する処理が含まれる。デバイス101がセンサである場合はセンサの検出値を取得する処理が含まれる。デバイス101がストレージサーバや記憶媒体の場合はデータを受信又は読み取る処理が含まれる。また、INコンポーネントは、ワークフローアプリを実現する情報処理システム10内のデータを取得できるが、別のワークフローアプリ又はサーバーなどの記憶装置からデータを取得してもよい。例えば、INコンポーネントは、ワークフローアプリとは別のアプリ103又は、ワークフローアプリを実現する情報処理システム10とは別のシステム102に対して、該別のアプリ103又は別のシステム102で管理しているデータを要求することができる。別のアプリ103は、要求に応じて該別のアプリで管理しているデータや、該別のアプリに対応するサーバーからデータを取得して要求元のINコンポーネントに対して送信することができる。なお、INコンポーネントは、画像データからテキストデータを生成するなどデータ形式を変換することでデータを生成する処理も含まれる。
【0176】
OUTコンポーネントは、デバイス101からデータを出力する処理が含まれる。例えば、デバイス101がMFPである場合、電子データを媒体に印刷する処理が含まれる。デバイス101がプロジェクタやディスプレイである場合、画像データを表示又は音声出力する処理が含まれる。デバイス101がストレージサーバや記憶媒体の場合はデータを送信又は記憶させる処理が含まれる。その他、OUTコンポーネントには、所定の宛先にデータや処理の結果を通知する処理が含まれる。また、OUTコンポーネントは、ワークフローアプリを実現する情報処理システム10内にデータを出力できるが、ワークフローアプリとは別のアプリ103又はワークフローアプリを実現する情報処理システム10とは別のシステム102にデータを出力してもよい。例えば、OUTコンポーネントは、該別のアプリ103又は該別のシステム102に対して、該別のアプリ103又は別のシステム102でデータ又は処理の結果を管理するよう要求することができる。別のアプリ103は、要求に応じて、受信したデータ又は処理の結果を管理し、又は該別のアプリ103に対応するサーバーで記憶するためにデータ又は処理の結果を送信することができる。
【0177】
例えば、複数のコンポーネントを組み合わせることで、ワークフローアプリは以下のような機能を実現することができる。
【0178】
INコンポーネントではMFPが原稿をスキャンすることで画像データを生成する。PROCESSコンポーネントは画像データに対して文字認識処理を実行することで数値又はテキストなどのデータに変換する。OUTコンポーネントは、変換したデータを他のシステムの一例である業務管理システムに送信する。業務管理システムは、ワークフローアプリから受信したデータを分類、又は予め設定された入力様式に基づいて整理すること管理データを生成できる。なお、PROCESSコンポーネントにおいて情報処理システム10がデータの分類及び管理データの生成を実行してもよい。この場合、OUTコンポーネントでは分類結果及び管理データを業務管理システムへ送信し、業務管理システムはワークフローアプリから受信した分類結果及び管理データを所定の領域に記憶するだけでよい。
【0179】
また、INコンポーネントでは業務管理システムが管理するデータを取得する。例えば、INコンポーネントは、設定情報や、数値又はテキストなどのデータを取得する。ここで、INコンポーネントは設定に応じて所定のデータを業務管理システムに要求してもよいし、業務管理システムからの要求に応じて業務管理システムが管理する所定のデータを受信してもよい。PROCESSコンポーネントは、設定情報に基づいて数値又はテキストを整理又は加工することで管理データを生成する。OUTコンポーネントは、管理データを業務管理システムに送信する。業務管理システムは、ワークフローアプリから受信した管理データを所定の領域に記憶する。
【0180】
ここで、業務管理システムとワークフローアプリとは、それぞれ異なる事業者によって提供される場合があり、それぞれ異なるサーバーによって構成される場合がある。このため、ワークフローアプリは、業務管理システムへデータ送信又は受信する場合、業務管理システムを構成するサーバーと通信することでデータを送信又は受信することができる。
【0181】
<その他の適用例>
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【0182】
例えば、本実施形態では、アプリケーションがWebアプリであるとして説明したが、アプリケーションはネイティブアプリでもよい。
【0183】
また、本実施形態では機器20からアプリケーションが実行されているが、端末装置30がアプリケーションを実行する場合もある。
【0184】
また、図8などの構成例は、端末装置30、機器20、及び情報処理システム10による処理の理解を容易にするために、主な機能に応じて分割したものである。処理単位の分割の仕方や名称によって本願発明が制限されることはない。端末装置30、機器20、及び情報処理システム10の処理は、処理内容に応じて更に多くの処理単位に分割することもできる。また、1つの処理単位が更に多くの処理を含むように分割することもできる。
【0185】
また、実施例に記載された装置群は、本明細書に開示された実施形態を実施するための複数のコンピューティング環境のうちの1つを示すものにすぎない。ある実施形態では、情報処理システム10は、サーバクラスタといった複数のコンピューティングデバイスを含む。複数のコンピューティングデバイスは、ネットワークや共有メモリなどを含む任意のタイプの通信リンクを介して互いに通信するように構成されており、本明細書に開示された処理を実施する。
【0186】
更に、情報処理システム10は、本実施形態で開示された処理ステップ、例えば図15等を様々な組み合わせで共有するように構成できる。例えば、所定のユニットによって実行されるプロセスは、情報処理システム10が有する複数の情報処理装置によって実行され得る。また、情報処理システム10は、1つのサーバー装置にまとめられていても良いし、複数の装置に分けられていても良い。
【0187】
上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」は、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)や従来の回路モジュール等のデバイスを含むものとする。
<請求項に関する付記>
[請求項1]
顧客が操作する機器が要求したアプリケーションを実行する情報処理システムであって、
前記顧客に対応付けられている点数の残高を記憶する第1記憶部と、
前記顧客が要求したアプリケーションの実行で消費される予定の消費点数が、前記残高以下の場合、前記消費点数を予約する点数管理部と、
前記顧客が要求したアプリケーションの実行で消費される予定の消費点数が、前記残高以下の場合、前記アプリケーションを実行するアプリ実行部と、を有し、
前記点数管理部は、前記アプリケーションの実行が完了した場合、前記残高から前記消費点数を消費する情報処理システム。
[請求項2]
前記アプリケーションの開発者から前記アプリケーションの実行で消費される前記消費点数の登録を受け付け、第2記憶部に保存する点数情報登録部を有し、
前記点数管理部は、前記顧客によるアプリケーションの実行の要求に対し前記第2記憶部に記憶されている前記消費点数を予約し、
前記アプリケーションの実行が完了した場合、前記残高から前記消費点数を消費する請求項1に記載の情報処理システム。
[請求項3]
前記顧客が要求したアプリケーションの実行で消費される予定の消費点数が、前記残高より大きい場合、前記アプリ実行部は、前記アプリケーションの実行中断を前記顧客に通知する請求項1又は2に記載の情報処理システム。
[請求項4]
前記第1記憶部には、前記顧客、前記点数の残高、前記顧客が購入したアプリケーションの対価を受け取った販売者、及び、前記アプリケーションの開発者が対応付けられており、
前記点数管理部が、前記残高から前記消費点数を消費した場合、前記消費点数に応じた料金を、前記販売者から前記アプリケーションの開発者に支払う請求項2に記載の情報処理システム。
[請求項5]
前記第1記憶部には、同じ前記アプリケーションの開発者が登録されている場合に前記点数の残高を消費する優先度が設定されており、
前記点数管理部は、前記優先度が高い前記点数の残高から順に消費する請求項4に記載の情報処理システム。
[請求項6]
前記点数情報登録部は、前記アプリケーションの開発者から1点数に対応する価値情報を受け付け、前記第1記憶部に保存し、
前記点数管理部は、前記消費点数に前記価値情報を乗じた前記料金を前記販売者から前記アプリケーションの開発者に支払う請求項4に記載の情報処理システム。
[請求項7]
前記アプリケーションは外部サービスシステムのAPIを利用して実行され、
前記点数情報登録部は、前記料金が前記外部サービスシステムの利用料を含むように設定された前記価値情報を、前記アプリケーションの開発者から受け付ける請求項6に記載の情報処理システム。
[請求項8]
前記アプリケーションの実行時に前記機器がスキャンで生成したページごとの画像データを前記機器から受信し、
前記アプリケーションの実行で消費される予定の前記消費点数を、処理の対象となり得る最大のページ数に応じて決定するロジック処理部を有し、
前記消費点数が前記残高以下の場合に、処理の対象でないページを除いて前記アプリケーションの実行を完了させた場合、前記点数管理部は、処理の対象でないページを除いて算出された前記消費点数を前記残高から消費する請求項1~7のいずれか1項に記載の情報処理システム。
[請求項9]
前記アプリケーションの実行で消費される予定の前記消費点数を、処理の対象となり得る最大のデータ量に応じて決定するロジック処理部を有し、
前記顧客が要求したアプリケーションの実行で消費される予定の前記消費点数が、前記残高より大きい場合に、前記顧客から続行を要求された場合、
前記ロジック処理部は所定の処理単位のデータ量に応じて消費される予定の前記消費点数を決定し、
前記点数管理部は、前記ロジック処理部が前記所定の処理単位のデータ量に応じて決定した消費される予定の前記消費点数が、前記残高以下の場合、前記消費点数を予約し、
前記ロジック処理部が前記所定の処理単位のデータ量に応じて決定した消費される予定の前記消費点数が、前記残高以下の場合、前記アプリ実行部は、前記所定の処理単位に対し前記アプリケーションを実行し、
前記点数管理部は、前記所定の処理単位に対するアプリケーションの実行が完了した場合、前記残高から予約しておいた前記消費点数を消費する請求項1に記載の情報処理システム。
【符号の説明】
【0188】
10 情報処理システム
20 機器
30 端末装置
40 外部サービスシステム
100 サービス提供システム
【先行技術文献】
【特許文献】
【0189】
【特許文献1】特開2018-014079号公報
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20