(57)【要約】      （修正有）【課題】ユーザに利用を勧めるアプリケーションを、アプリケーションにより実現される機能の利用状況に応じて、柔軟に表示させる。【解決手段】サーバ装置１０は、コンポーネントとオペレーションとの組み合わせにより定義される処理を１以上含むアプリケーションの実行を制御する実行制御部１２と、アプリケーション毎の利用回数と処理毎の実行回数とを集計する集計部１３と、第１のアプリケーションを選択する選択部１４と、第１のアプリケーションに含まれる１以上の第１の処理のそれぞれの第１のコンポーネントを、第１の処理を定義する第１のオペレーションと、第１の処理を定義する第１のコンポーネントとは異なる第２のコンポーネントとの組み合わせにより定義される第２の処理のうち、実行回数が最も多い第２の処理の第２のコンポーネントに置き換えることにより、第２のアプリケーションを生成する生成部１５と、通信制御部１６と、を備える。【選択図】図２
2017111646.tif 000002
【特許請求の範囲】
【請求項１】
機能の単位を示すコンポーネントと、前記コンポーネントの動作を示すオペレーションとの組み合わせにより定義される処理を１以上含むアプリケーションの実行を制御する実行制御部と、
前記アプリケーションが利用されたときに出力されるログから、前記アプリケーション毎の利用回数と、前記処理毎の実行回数とを集計する集計部と、
前記利用回数が多い順に１以上の第１のアプリケーションを選択する選択部と、
前記１以上の第１のアプリケーションのそれぞれについて、前記第１のアプリケーションに含まれる１以上の第１の処理のそれぞれの第１のコンポーネントを、前記第１の処理を定義する第１のオペレーションと、前記第１の処理を定義する第１のコンポーネントとは異なる第２のコンポーネントとの組み合わせにより定義される第２の処理のうち、前記実行回数が最も多い前記第２の処理の第２のコンポーネントに置き換えることにより、１以上の第２のアプリケーションを生成する生成部と、
前記１以上の第２のアプリケーションの利用をユーザに勧める表示情報を、前記ユーザにより使用される機器に送信する通信制御部と、
を備えるサーバ装置。
【請求項２】
前記選択部は、前記アプリケーション毎の利用回数を、前記アプリケーションが使用されているテナント毎に集計する、
請求項１に記載のサーバ装置。
【請求項３】
前記選択部は、前記アプリケーション毎の利用回数を、前記アプリケーションが使用されているテナントの業種、テナントの規模、又は、テナントが属する国毎に集計する、
請求項１に記載のサーバ装置。
【請求項４】
前記選択部は、前記アプリケーション毎の利用回数を集計する期間を、特定の期間に限定する、
請求項１乃至３のいずれか１項に記載のサーバ装置。
【請求項５】
１以上のサーバ装置を備える情報処理システムであって、
前記サーバ装置は、
機能の単位を示すコンポーネントと、前記コンポーネントの動作を示すオペレーションとの組み合わせにより定義される処理を１以上含むアプリケーションの実行を制御する実行制御部と、
前記アプリケーションが利用されたときに出力されるログから、前記アプリケーション毎の利用回数と、前記処理毎の実行回数とを集計する集計部と、
前記利用回数が多い順に１以上の第１のアプリケーションを選択する選択部と、
前記１以上の第１のアプリケーションのそれぞれについて、前記第１のアプリケーションに含まれる１以上の第１の処理のそれぞれの第１のコンポーネントを、前記第１の処理を定義する第１のオペレーションと、前記第１の処理を定義する第１のコンポーネントとは異なる第２のコンポーネントとの組み合わせにより定義される第２の処理のうち、前記実行回数が最も多い前記第２の処理の第２のコンポーネントに置き換えることにより、１以上の第２のアプリケーションを生成する生成部と、
前記１以上の第２のアプリケーションの利用をユーザに勧める表示情報を、前記ユーザにより使用される機器に送信する通信制御部と、
を備える情報処理システム。
【請求項６】
サーバ装置が、機能の単位を示すコンポーネントと、前記コンポーネントの動作を示すオペレーションとの組み合わせにより定義される処理を１以上含むアプリケーションの実行を制御するステップと、
サーバ装置が、前記アプリケーションが利用されたときに出力されるログから、前記アプリケーション毎の利用回数と、前記処理毎の実行回数とを集計するステップと、
サーバ装置が、前記利用回数が多い順に１以上の第１のアプリケーションを選択するステップと、
サーバ装置が、前記１以上の第１のアプリケーションのそれぞれについて、前記第１のアプリケーションに含まれる１以上の第１の処理のそれぞれの第１のコンポーネントを、前記第１の処理を定義する第１のオペレーションと、前記第１の処理を定義する第１のコンポーネントとは異なる第２のコンポーネントとの組み合わせにより定義される第２の処理のうち、前記実行回数が最も多い前記第２の処理の第２のコンポーネントに置き換えることにより、１以上の第２のアプリケーションを生成するステップと、
サーバ装置が、前記１以上の第２のアプリケーションの利用をユーザに勧める表示情報を、前記ユーザにより使用される機器に送信するステップと、
を含む情報処理方法。
【請求項７】
コンピュータを、
機能の単位を示すコンポーネントと、前記コンポーネントの動作を示すオペレーションとの組み合わせにより定義される処理を１以上含むアプリケーションの実行を制御する実行制御部と、
前記アプリケーションが利用されたときに出力されるログから、前記アプリケーション毎の利用回数と、前記処理毎の実行回数とを集計する集計部と、
前記利用回数が多い順に１以上の第１のアプリケーションを選択する選択部と、
前記１以上の第１のアプリケーションのそれぞれについて、前記第１のアプリケーションに含まれる１以上の第１の処理のそれぞれの第１のコンポーネントを、前記第１の処理を定義する第１のオペレーションと、前記第１の処理を定義する第１のコンポーネントとは異なる第２のコンポーネントとの組み合わせにより定義される第２の処理のうち、前記実行回数が最も多い前記第２の処理の第２のコンポーネントに置き換えることにより、１以上の第２のアプリケーションを生成する生成部と、
前記１以上の第２のアプリケーションの利用をユーザに勧める表示情報を、前記ユーザにより使用される機器に送信する通信制御部、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はサーバ装置、情報処理システム、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
近年、クラウドコンピューティングを利用した多種多様なアプリケーションにより、サービスが提供されている。例えば、ユーザにより指定された電子データを記憶するクラウドストレージサービス等が知られている。
【０００３】
特許文献１には、機器とネットワークを介して提供されるサービスとを連携させることができる情報処理システムの発明が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら従来の技術では、ユーザに利用を勧めるアプリケーションを、アプリケーションにより実現される機能の利用状況に応じて、柔軟に表示させることができなかった。例えば従来の技術では、ユーザに利用を勧めるアプリケーションとして、アプリケーションの開発者によって開発された所定の機能を有する既存のアプリケーションが、機器に表示されていた。
【０００５】
本発明は、上記に鑑みてなされたものであって、ユーザに利用を勧めるアプリケーションを、アプリケーションにより実現される機能の利用状況に応じて、柔軟に表示させることができるサーバ装置、情報処理システム、情報処理方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明は、機能の単位を示すコンポーネントと、前記コンポーネントの動作を示すオペレーションとの組み合わせにより定義される処理を１以上含むアプリケーションの実行を制御する実行制御部と、前記アプリケーションが利用されたときに出力されるログから、前記アプリケーション毎の利用回数と、前記処理毎の実行回数とを集計する集計部と、前記利用回数が多い順に１以上の第１のアプリケーションを選択する選択部と、前記１以上の第１のアプリケーションのそれぞれについて、前記第１のアプリケーションに含まれる１以上の第１の処理のそれぞれの第１のコンポーネントを、前記第１の処理を定義する第１のオペレーションと、前記第１の処理を定義する第１のコンポーネントとは異なる第２のコンポーネントとの組み合わせにより定義される第２の処理のうち、前記実行回数が最も多い前記第２の処理の第２のコンポーネントに置き換えることにより、１以上の第２のアプリケーションを生成する生成部と、前記１以上の第２のアプリケーションの利用をユーザに勧める表示情報を、前記ユーザにより使用される機器に送信する通信制御部と、を備える。
【発明の効果】
【０００７】
本発明によれば、ユーザに利用を勧めるアプリケーションを、アプリケーションの利用状況に応じて、柔軟に表示させることができるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は実施形態の情報処理システムの装置構成の例を示す図である。
【図２】図２は実施形態のサーバ装置の機能構成の例を示す図である。
【図３】図３は実施形態のログの例を示す図である。
【図４】図４は実施形態のテナント情報の例を示す図である。
【図５】図５は実施形態のアプリ情報の例を示す図である。
【図６】図６は実施形態のアプリＩＤの一覧の例を示す図である。
【図７】図７は実施形態のアプリケーション毎の利用回数の例を示す図である。
【図８】図８は実施形態のアプリケーションに含まれる処理毎の実行回数の例を示す図である。
【図９】図９は実施形態のテナント毎の利用アプリの一覧の例を示す図である。
【図１０】図１０は実施形態のテナントのアプリケーションの利用回数の例を示す図である。
【図１１】図１１は実施形態の生成部により取得された第１のアプリケーションのアプリ情報の例１を示す図である。
【図１２】図１２は実施形態の生成部により生成された第２のアプリケーションのアプリ情報の例１を示す図である。
【図１３】図１３は実施形態の生成部により取得された第１のアプリケーションのアプリ情報の例２を示す図である。
【図１４】図１４は実施形態の生成部により生成された第２のアプリケーションのアプリ情報の例２を示す図である。
【図１５】図１５は実施形態のおすすめアプリを表示する表示情報の例１を示す図である。
【図１６】図１６は実施形態のおすすめアプリを表示する表示情報の例２を示す図である。
【図１７】図１７は実施形態のアプリ詳細を表示する表示情報の例を示す図である。
【図１８】図１８は実施形態のアプリ登録時に表示する表示情報の例を示す図である。
【図１９】図１９は実施形態の利用中アプリを表示する表示情報の例を示す図である。
【図２０】図２０は実施形態のアプリ名変更時に表示する表示情報の例を示す図である。
【図２１】図２１は実施形態の新しいアプリ名が入力された表示情報の例を示す図である。
【図２２】図２２は実施形態のアプリ名称情報の例を示す図である。
【図２３】図２３は実施形態の第２のアプリケーション（推奨アプリ）の生成方法の例を示すフローチャートである。
【図２４】図２４は実施形態の第２のアプリケーション（推奨アプリ）の利用登録方法の例を示すフローチャートである。
【図２５】図２５は実施形態のサーバ装置のハードウェア構成の例を示す図である。
【発明を実施するための形態】
【０００９】
以下に添付図面を参照して、サーバ装置、情報処理システム、情報処理方法及びプログラムの実施形態を詳細に説明する。
【００１０】
＜実施形態の情報処理システムの装置構成＞
はじめに実施形態の情報処理システムの装置構成の例について説明する。
【００１１】
図１は実施形態の情報処理システム１００の装置構成の例を示す図である。実施形態の情報処理システム１００は、サーバ装置１０、及び、機器２１ａ〜ｆを備える。
【００１２】
サーバ装置１０、及び、機器２１ａ〜ｆは、ネットワーク９０を介して接続されている。なおネットワーク９０の通信方式は有線方式であっても無線方式であってもよい。またネットワーク９０は、有線方式と無線方式とを組み合わせて実現されていてもよい。
【００１３】
情報処理システム１００が備えるサーバ装置１０の数は、１台に限らず、任意でよい。サーバ装置１０の機能構成の例については、図２を参照して後述する。
【００１４】
機器２１ａ及び機器２１ｂは、テナント２０ａで使用されている。機器２１ｃ及び機器２１ｄは、テナント２０ｂで使用されている。機器２１ｅ及び機器２１ｆは、テナント２０ｃで使用されている。以下、テナント２０ａ〜ｃを区別しない場合は、単にテナント２０という。また機器２１ａ〜ｆを区別しない場合は、単に機器２１という。
【００１５】
テナント２０は任意でよい。テナント２０は、例えば会社、病院及び図書館等である。また各テナント２０で使用される機器２１の台数及び種類は任意でよい。機器２１は、例えばＭＦＰ（Ｍｕｌｔｉｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）等である。
【００１６】
＜実施形態のサーバ装置の機能構成＞
次に実施形態のサーバ装置の機能構成の例について説明する。
【００１７】
図２は実施形態のサーバ装置１０の機能構成の例を示す図である。実施形態のサーバ装置１０は、記憶部１１、実行制御部１２、集計部１３、選択部１４、生成部１５及び通信制御部１６を備える。
【００１８】
記憶部１１は情報を記憶する。記憶部１１に記憶される情報は、例えばアプリケーション１０１、ログＤＢ１０２、テナントＤＢ１０３、アプリ情報ＤＢ１０４、集計ＤＢ１０５及びアプリ名称ＤＢ１０６等である。
【００１９】
アプリケーション１０１は１以上の処理を実行するプログラムである。アプリケーション１０１は、実行制御部１２により実行される。
【００２０】
ログＤＢ１０２は、アプリケーション１０１が実行制御部１２により実行されることにより出力されるログを記憶する。
【００２１】
図３は実施形態のログの例を示す図である。図３のログは、ｔｉｍｅ、ａｐｐ＿ｉｄ、ａｃｔｉｏｎ、ｔｅｎａｎｔ＿ｉｄ、ｕｓｅｒ＿ｉｄ、ｄｅｖｉｃｅ＿ｉｄ、ｊｏｂ＿ｉｄ、ｒｕｎｔｉｍｅ及びｒｅｓｕｌｔを含む。ｔｉｍｅは、アプリケーション１０１の処理が実行された時間を示す。ａｐｐ＿ｉｄは、アプリケーション１０１を識別する識別情報である。ａｃｔｉｏｎは、ログの種類を示す。ｔｅｎａｎｔ＿ｉｄは、アプリケーション１０１を実行した機器２１が使用されているテナントを識別する識別情報である。ｕｓｅｒ＿ｉｄは、アプリケーション１０１を実行したユーザを識別する識別情報である。ｄｅｖｉｃｅ＿ｉｄは、アプリケーション１０１を実行した機器２１を識別する識別情報である。ｊｏｂ＿ｉｄは、アプリケーション１０１を実行したジョブを識別する識別情報である。ｒｕｎｔｉｍｅは、アプリケーション１０１の実行にかかった時間（ミリ秒）を示す。ｒｅｓｕｌｔは、アプリケーション１０１の実行結果を示す。
【００２２】
図２に戻り、テナントＤＢ１０３は、テナント情報を記憶する。
【００２３】
図４は実施形態のテナント情報の例を示す図である。実施形態のテナント情報は、テナントＩＤ、テナント名、国、業種、規模、利用アプリ及び推奨アプリを含む。テナントＩＤは、テナントを識別する識別情報である。テナント名は、テナントの名称である。国は、テナントが属する国を示す。規模は、テナントの規模を示す。なお規模は任意に定めてよい。テナントが会社の場合、例えば従業員数及び資本金等により規模を定めてよい。
【００２４】
利用アプリは、テナントで利用されているアプリケーション１０１を示す。推奨アプリは、テナントに推奨するアプリケーション１０１を示す。推奨アプリは、生成部１５により生成される。推奨アプリの生成方法の詳細な説明は後述する。
【００２５】
図４の例では、例えばテナントＩＤがｔ０００００１のテナントの場合、テナント名には「Ａ社」が設定され、国には「日本」が設定され、業種には「自動車」が設定され、規模には「大」が設定され、利用アプリには「ａｐｐ００００１，ａｐｐ００００２，ａｐｐ００００３」が設定され、推奨アプリには「ａｐｐ００１１１」及び「ａｐｐ００１１２」が設定されている。
【００２６】
図２に戻り、アプリ情報ＤＢ１０４は、アプリケーション１０１の情報を示すアプリ情報を記憶する。
【００２７】
図５は実施形態のアプリ情報の例を示す図である。実施形態のアプリ情報は、アプリＩＤ、処理番号、コンポーネント名、オペレーション名及び処理名を含む。アプリＩＤは、アプリケーション１０１を識別する識別情報である。
【００２８】
処理番号は、処理の順序を示す。コンポーネント名は、コンポーネントの名称を示す。コンポーネントは、機能の単位を示す。オペレーション名は、オペレーションの名称を示す。オペレーションは、コンポーネントの動作を示す。処理名は、処理の名称を示す。アプリケーション１０１は、コンポーネントと、オペレーションとの組み合わせにより定義される処理を１以上含む。
【００２９】
なお処理名は、アプリケーション１０１のデフォルトの名称としても使用される。アプリケーション１０１のデフォルトの名称は、例えば処理名をスラッシュ（／）で区切ることにより連結させた文字列である。
【００３０】
図５の例では、アプリＩＤがａｐｐ００００１のアプリケーション１０１は、処理名が「ＦＡＸ受信」である処理と、処理名が「オンラインストレージＡに保存」である処理とを含む。アプリＩＤがａｐｐ００００１のアプリケーション１０１のデフォルトの名称は、例えば「ＦＡＸ受信／オンラインストレージＡに保存アプリ」である。
【００３１】
処理名が「ＦＡＸ受信」である処理は、コンポーネント名が「ｆａｘ」であるコンポーネントと、オペレーション名が「ｒｅｃｅｉｖｅ」であるオペレーションとの組み合わせにより定義される。また処理名が「オンラインストレージＡに保存」である処理は、コンポーネント名が「ｏｎｌｉｎｅ＿ｓｔｏｒａｇｅ＿Ａ」であるコンポーネントと、オペレーション名が「ｕｐｌｏａｄ」であるオペレーションとの組み合わせにより定義される。アプリＩＤがａｐｐ００００１のアプリケーション１０１では、処理名が「ＦＡＸ受信」である処理の処理番号が１であり、処理名が「オンラインストレージＡに保存」である処理の処理番号が２である。
【００３２】
すなわち、アプリＩＤがａｐｐ００００１のアプリ情報により、アプリＩＤがａｐｐ００００１のアプリケーション１０１として、ＦＡＸ機能により受信されたデータを、オンラインストレージＡに保存するフローによる処理が定義される。
【００３３】
またアプリＩＤがａｐｐ００００２のアプリケーション１０１は、処理名が「オンラインストレージＡからダウンロード」である処理と、処理名が「翻訳機Ａで翻訳」である処理と、処理名が「プリンタ印刷」である処理とを含む。アプリＩＤがａｐｐ００００２のアプリケーション１０１のデフォルトの名称は、例えば「オンラインストレージＡからダウンロード／翻訳機Ａで翻訳／プリンタ印刷アプリ」である。
【００３４】
処理名が「オンラインストレージＡからダウンロード」である処理は、コンポーネント名が「ｏｎｌｉｎｅ＿ｓｔｏｒａｇｅ＿Ａ」であるコンポーネントと、オペレーション名が「ｄｏｗｎｌｏａｄ」であるオペレーションとの組み合わせにより定義される。また処理名が「翻訳機Ａで翻訳」である処理は、コンポーネント名が「ｔｒａｎｓｌａｔｏｒ＿Ａ」であるコンポーネントと、オペレーション名が「ｔｒａｎｓｌａｔｅ」であるオペレーションとの組み合わせにより定義される。また処理名が「プリンタ印刷」である処理は、コンポーネント名が「ｐｒｉｎｔｅｒ」であるコンポーネントと、オペレーション名が「ｐｒｉｎｔ」であるオペレーションとの組み合わせにより定義される。アプリＩＤがａｐｐ００００２のアプリケーション１０１では、処理名が「オンラインストレージＡからダウンロード」である処理の処理番号が１であり、処理名が「翻訳機Ａで翻訳」である処理の処理番号が２であり、処理名が「プリンタ印刷」である処理の処理番号が３である。
【００３５】
すなわち、アプリＩＤがａｐｐ００００２のアプリ情報により、アプリＩＤがａｐｐ００００２のアプリケーション１０１として、オンラインストレージＡからデータをダウンロードし、当該データを翻訳機Ａで所定の言語に翻訳し、所定の言語に翻訳されたデータを所定のプリンタで印刷するフローによる処理が定義される。なお所定の言語及び所定のプリンタは、例えばアプリケーション１０１の設定画面を介してユーザにより予め指定される。
【００３６】
またアプリＩＤがａｐｐ００００３のアプリケーション１０１は、処理名が「ＦＡＸ受信」である処理と、処理名が「オンラインストレージＢに保存」である処理とを含む。アプリＩＤがａｐｐ００００３のアプリケーション１０１のデフォルトの名称は、例えば「ＦＡＸ受信／オンラインストレージＢに保存アプリ」である。
【００３７】
処理名が「ＦＡＸ受信」である処理は、コンポーネント名が「ｆａｘ」であるコンポーネントと、オペレーション名が「ｒｅｃｅｉｖｅ」であるオペレーションとの組み合わせにより定義される。また処理名が「オンラインストレージＢに保存」である処理は、コンポーネント名が「ｏｎｌｉｎｅ＿ｓｔｏｒａｇｅ＿Ｂ」であるコンポーネントと、オペレーション名が「ｕｐｌｏａｄ」であるオペレーションとの組み合わせにより定義される。アプリＩＤがａｐｐ００００３のアプリケーション１０１では、処理名が「ＦＡＸ受信」である処理の処理番号が１であり、処理名が「オンラインストレージＡに保存」である処理の処理番号が２である。
【００３８】
すなわち、アプリＩＤがａｐｐ００００３のアプリ情報により、アプリＩＤがａｐｐ００００３のアプリケーション１０１として、ＦＡＸ機能により受信されたデータを、オンラインストレージＢに保存するフローによる処理が定義される。
【００３９】
またアプリＩＤがａｐｐ００００４のアプリケーション１０１は、処理名が「メール受信」である処理と、処理名が「テキスト抽出」である処理と、処理名が「注文ＤＢに追加」である処理と、処理名が「ＰＤＦファイル作成」である処理とを含む。アプリＩＤがａｐｐ００００４のアプリケーション１０１のデフォルトの名称は、例えば「メール受信／テキスト抽出／注文ＤＢに追加／ＰＤＦファイル作成アプリ」である。
【００４０】
処理名が「メール受信」である処理は、コンポーネント名が「ｅｍａｉｌ」であるコンポーネントと、オペレーション名が「ｒｅｃｅｉｖｅ」であるオペレーションとの組み合わせにより定義される。また処理名が「テキスト抽出」である処理は、コンポーネント名が「ｔｅｘｔ」であるコンポーネントと、オペレーション名が「ｅｘｔｒａｃｔ」であるオペレーションとの組み合わせにより定義される。また処理名が「注文ＤＢに追加」である処理は、コンポーネント名が「ｏｒｄｅｒ＿ＤＢ」であるコンポーネントと、オペレーション名が「ｉｎｓｅｒｔ」であるオペレーションとの組み合わせにより定義される。また処理名が「ＰＤＦファイル作成」である処理は、コンポーネント名が「ｐｄｆ」であるコンポーネントと、オペレーション名が「ｃｒｅａｔｅ＿ｆｉｌｅ」であるオペレーションとの組み合わせにより定義される。アプリＩＤがａｐｐ００００４のアプリケーション１０１では、処理名が「メール受信」である処理の処理番号が１であり、処理名が「テキスト抽出」である処理の処理番号が２であり、処理名が「注文ＤＢに追加」である処理の処理番号が３であり、処理名が「ＰＤＦファイル作成」である処理の処理番号が４である。
【００４１】
すなわち、アプリＩＤがａｐｐ００００４のアプリ情報により、アプリＩＤがａｐｐ００００４のアプリケーション１０１として、メールにより受信されたデータから所定のテキストを抽出し、抽出されたテキストを注文ＤＢに追加し、当該注文ＤＢのＰＤＦファイルを作成するフローによる処理が定義される。なお所定のテキストは、例えばアプリケーション１０１の設定画面を介してユーザにより予め指定される。
【００４２】
図２に戻り、集計ＤＢ１０５は、アプリケーション１０１毎の利用回数と、アプリケーション１０１に含まれる処理（コンポーネント及びオペレーションの組み合わせ）毎の実行回数とを記憶する。アプリケーション１０１毎の利用回数、及び、アプリケーション１０１に含まれる処理毎の実行回数は、集計部１３により集計される。
【００４３】
実行制御部１２は、機能の単位を示すコンポーネントと、コンポーネントの動作を示すオペレーションとの組み合わせにより定義される処理を１以上含むアプリケーション１０１の実行を制御する。
【００４４】
集計部１３は、アプリケーション１０１が利用されたときに出力されるログから、アプリケーション１０１毎の利用回数と、アプリケーション１０１に含まれる処理（コンポーネント及びオペレーションの組み合わせ）毎の実行回数とを集計する。そして集計部１３は、アプリケーション１０１毎の利用回数と、アプリケーション１０１に含まれる処理毎の実行回数と、を集計ＤＢ１０５に記憶する。なお集計部１３が集計を行う頻度は任意でよい。集計が行われる頻度は、例えば１日に１回である。
【００４５】
まずアプリケーション１０１毎の利用回数の集計処理について説明する。はじめに集計部１３は、アプリ情報ＤＢ１０４からアプリＩＤの一覧を取得する。
【００４６】
図６は実施形態のアプリＩＤの一覧の例を示す図である。図６の例は、アプリＩＤとして、８ケタの英数字が、集計部１３により取得される場合を示す。
【００４７】
図２に戻り、次に集計部１３は、ログＤＢ１０２のログを、アプリＩＤの一覧に含まれるそれぞれのアプリＩＤを使用して検索することにより、アプリケーション１０１毎の利用回数を集計する。
【００４８】
図７は実施形態のアプリケーション１０１毎の利用回数の例を示す図である。図７の例では、例えばアプリＩＤがａｐｐ００００１であるアプリケーション１０１の利用回数は、２６９回である。
【００４９】
図２に戻り、次に集計部１３は、アプリケーション１０１毎の利用回数を集計ＤＢ１０５に記憶する。次に集計部１３は、アプリ情報（図５参照）と、アプリケーション１０１毎の利用回数（図７参照）から、アプリケーション１０１に含まれる処理（コンポーネント及びオペレーションの組み合わせ）毎の実行回数を集計する。
【００５０】
図８は実施形態のアプリケーション１０１に含まれる処理毎の実行回数の例を示す図である。図８の例では、例えばコンポーネント名が「ｆａｘ」であるコンポーネントと、オペレーション名が「ｒｅｃｅｉｖｅ」であるオペレーションとの組み合わせにより定義される処理（上述の「ＦＡＸ受信」処理）の実行回数は、２６９６回である。
【００５１】
図２に戻り、次に集計部１３は、アプリケーション１０１に含まれる処理（コンポーネント及びオペレーションの組み合わせ）毎の実行回数を集計ＤＢ１０５に記憶する。
【００５２】
選択部１４は、アプリケーション１０１毎の利用回数に基づいて、アプリケーション１０１を選択する。なお選択部１４により参照される利用回数は、情報処理システム全体で集計された利用回数（図７参照）でもよいし、テナント毎、テナントの業種毎、テナントの属する国毎、テナントの規模毎、デバイス毎、及び、ユーザ毎等の単位で集計された利用回数でもよい。また選択部１４は、アプリケーション１０１毎の利用回数を集計する期間を、特定の期間に限定してもよい。特定の期間は、例えば１日、１週間、１か月及び１年等である。選択部１４が、例えばアプリケーション１０１毎の利用回数を集計する期間を直近の１か月等にすることにより、新しく利用可能になったコンポーネント等を含む人気があるアプリケーション１０１を選択することができる。
【００５３】
実施形態の説明では、選択部１４が、アプリケーション１０１毎の利用回数を、テナント単位で集計する場合を例にして説明する。はじめに、選択部１４は、テナントＤＢ１０３から、テナントＩＤ毎の利用アプリの一覧として、テナントＩＤ及び利用アプリを取得する。
【００５４】
図９は実施形態のテナント毎の利用アプリの一覧の例を示す図である。図９の例では、例えばテナントＩＤがｔ０００００１であるテナントの利用アプリは、アプリＩＤがａｐｐ００００１、ａｐｐ００００２及びａｐｐ００００３により識別される３つのアプリケーション１０１である。
【００５５】
図２に戻り、次に、選択部１４は、テナント毎にアプリケーション１０１の利用回数を集計する。具体的には、選択部１４は、ログＤＢ１０２のログを、テナントＩＤ及びアプリケーションＩＤの組み合わせにより検索することにより、テナント毎のアプリケーション１０１の利用回数を集計する。
【００５６】
図１０は実施形態のテナントのアプリケーション１０１の利用回数の例を示す図である。図１０の例は、テナントＩＤがｔ０００００１であるテナント（Ａ社）のアプリケーション１０１の利用回数を示す。図１０の例では、例えばアプリＩＤがａｐｐ００００３であるアプリケーション１０１の利用回数は３１８１回であり、Ａ社では、当該アプリケーション１０１が最も利用されている。なおテナント毎のアプリケーション１０１の利用回数は、集計部１３が事前に集計してもよい。また集計部１３及び選択部１４を、１つの機能ブロックにより実現してもよい。
【００５７】
図２に戻り、選択部１４は、テナント毎に選択されたアプリケーション１０１のアプリＩＤを生成部１５に入力する。テナント毎に選択されたアプリケーション１０１のアプリＩＤは、例えば当該テナントで最も利用回数が多いアプリケーション１０１のアプリＩＤである。なお選択部１４は、テナント毎に複数のアプリケーション１０１のアプリＩＤを選択してもよい。テナント毎に選択される複数のアプリケーション１０１のアプリＩＤは、例えば当該テナントで利用回数が多い順に所定の数だけ取得されたアプリＩＤである。
【００５８】
以下、実施形態の説明では、選択部１４により、上述の図１０で、Ａ社で最も利用されているアプリＩＤがａｐｐ００００３であるアプリケーション１０１と、Ａ社で２番目に利用されているアプリＩＤがａｐｐ００００２であるアプリケーション１０１と、が選択された場合を例にして、具体的に説明する。なお選択部１４が、アプリケーション１０１毎の利用回数に基づいて、アプリケーション１０１を選択する方法は任意でよい。選択部１４は、例えば利用回数が最も多いアプリケーション１０１を１つ選択してもよい。また例えば、選択部１４は、１以上のアプリケーション１０１を利用回数が多い順に選択してもよい。
【００５９】
以下の説明では、選択部１４により選択されたアプリケーション１０１を第１のアプリケーション１０１という。また、第１のアプリケーション１０１に含まれる１以上の処理を第１の処理という。また、第１の処理を定義するコンポーネントを第１のコンポーネントといい、第１の処理を定義するオペレーションを第１のオペレーションという。
【００６０】
また、生成部１５により生成されるアプリケーション１０１を第２のアプリケーション１０１という。また、第２のアプリケーション１０１に含まれる１以上の処理を第２の処理という。また、第２の処理を定義するコンポーネントを第２のコンポーネントといい、第２の処理を定義するオペレーションを第２のオペレーションという。
【００６１】
＜最も利用されている第１のアプリケーション１０１に基づく生成処理＞
生成部１５は、選択部１４からアプリＩＤ（ａｐｐ００００３）を受け付けると、当該アプリＩＤ（ａｐｐ００００３）により識別される第１のアプリケーション１０１のアプリ情報を、アプリ情報ＤＢ１０４から取得する。
【００６２】
図１１は実施形態の生成部１５により取得された第１のアプリケーション１０１のアプリ情報の例１を示す図である。図１１の例は、生成部１５が、アプリ情報ＤＢ１０４から、アプリＩＤがａｐｐ０００３の第１のアプリケーション１０１のアプリ情報を取得した場合を示す。図１１の例では、第１のアプリケーション１０１は、１以上の第１の処理として、処理番号が１の「ＦＡＸ受信」と、処理番号が２の「オンラインストレージＢに保存」とを含む。
【００６３】
次に、生成部１５は、第１のアプリケーション１０１に含まれる１以上の第１の処理のオペレーションに基づいて、第２のアプリケーション１０１を生成する。
【００６４】
図１２は実施形態の生成部１５により生成された第２のアプリケーション１０１のアプリ情報の例１を示す図である。はじめに、生成部１５は、選択部１４により選択された第１のアプリケーション１０１に含まれる第１の処理を定義するオペレーションと同じオペレーションにより定義される第２の処理の実行回数を、集計ＤＢ１０５から取得する。図１２の例では、オペレーション「ｒｅｃｅｉｖｅ」により定義される第２の処理の実行回数と、オペレーション「ｕｐｌｏａｄ」により定義される第２の処理の実行回数と、が取得されている。
【００６５】
次に、生成部１５は、第１のアプリケーション１０１に含まれる１以上の第１の処理のそれぞれの第１のコンポーネントを、実行回数が最も多い第２の処理の第２のコンポーネントに置き換えることにより、第２のアプリケーション１０１を生成する。図１２の例では、生成部１５は、処理番号が１の第１の処理の第１のコンポーネント「ｆａｘ」を、第２のコンポーネント「ｅｍａｉｌ」に置き換えることにより、第２の処理を生成する。また、生成部１５は、処理番号が２の第１の処理の第１のコンポーネント「ｏｎｌｉｎｅ＿ｓｔｏｒａｇｅ＿Ｂ」を、第２のコンポーネント「ｏｎｌｉｎｅ＿ｓｔｏｒａｇｅ＿Ｄ」に置き換えることにより、第２の処理を生成する。
【００６６】
これにより生成部１５は、メールにより受信されたデータを、オンラインストレージＤに保存するフローによる処理を行う第２のアプリケーション１０１を生成し、当該第２のアプリケーション１０１を記憶部１１に記憶する。
【００６７】
次に、生成部１５は、生成された第２のアプリケーション１０１のアプリ情報を、まだ使用されていないアプリＩＤ「ａｐｐ００１１１」を付与して、アプリ情報ＤＢ１０４に記憶する。生成された第２のアプリケーション１０１のデフォルトの名称は、例えば「メール受信／オンラインストレージＤに保存アプリ」である。また生成部１５は、生成された第２のアプリケーション１０１のアプリＩＤ「ａｐｐ００１１１」を、Ａ社に対する推奨アプリとして、テナントＤＢ１０３のテナントＩＤ「ｔ０００００１」の推奨アプリに記憶する。
【００６８】
＜２番目に利用されている第１のアプリケーション１０１に基づく生成処理＞
生成部１５は、選択部１４からアプリＩＤ（ａｐｐ００００２）を受け付けると、当該アプリＩＤ（ａｐｐ００００２）により識別される第１のアプリケーション１０１のアプリ情報を、アプリ情報ＤＢ１０４から取得する。
【００６９】
図１３は実施形態の生成部１５により取得された第１のアプリケーション１０１のアプリ情報の例２を示す図である。図１３の例は、生成部１５が、アプリ情報ＤＢ１０４から、アプリＩＤがａｐｐ０００２の第１のアプリケーション１０１のアプリ情報を取得した場合を示す。図１３の例では、第１のアプリケーション１０１は、１以上の第１の処理として、処理番号が１の「オンラインストレージＡからダウンロード」と、処理番号が２の「翻訳機Ａで翻訳」と、処理番号が３の「プリンタ印刷」とを含む。
【００７０】
次に、生成部１５は、第１のアプリケーション１０１に含まれる１以上の第１の処理のオペレーションに基づいて、第２のアプリケーション１０１を生成する。
【００７１】
図１４は実施形態の生成部１５により生成された第２のアプリケーション１０１のアプリ情報の例を示す図である。はじめに、生成部１５は、選択部１４により選択された第１のアプリケーション１０１に含まれる第１の処理を定義するオペレーションと同じオペレーションにより定義される第２の処理の実行回数を、集計ＤＢ１０５から取得する。図１４の例では、オペレーション「ｄｏｗｎｌｏａｄ」により定義される第２の処理の実行回数と、オペレーション「ｔｒａｎｓｌａｔｅ」により定義される第２の処理の実行回数と、オペレーション「ｐｒｉｎｔ」により定義される第２の処理の実行回数と、が取得されている。
【００７２】
次に、生成部１５は、第１のアプリケーション１０１に含まれる１以上の第１の処理のそれぞれの第１のコンポーネントを、実行回数が最も多い第２の処理の第２のコンポーネントに置き換えることにより、第２のアプリケーション１０１を生成する。図１４の例では、生成部１５は、処理番号が１の第１の処理の第１のコンポーネント「ｏｎｌｉｎｅ＿ｓｔｏｒａｇｅ＿Ａ」を、第２のコンポーネント「ｏｎｌｉｎｅ＿ｓｔｏｒａｇｅ＿Ｂ」に置き換えることにより、第２の処理を生成する。また、生成部１５は、処理番号が２の第１の処理の第１のコンポーネント「ｔｒａｎｓｌａｔｏｒ＿Ａ」を、第２のコンポーネント「ｔｒａｎｓｌａｔｏｒ＿Ｃ」に置き換えることにより、第２の処理を生成する。なお、生成部１５は、オペレーション「ｐｒｉｎｔ」により定義されるコンポーネントは、第１のコンポーネント「ｐｒｉｎｔｅｒ」しかないため、処理番号が３の第１の処理の第１のコンポーネント「ｐｒｉｎｔｅｒ」は置き換えない。
【００７３】
これにより生成部１５は、オンラインストレージＢからデータをダウンロードし、当該データを翻訳機Ｃで所定の言語に翻訳し、所定の言語に翻訳されたデータを所定のプリンタで印刷するフローによる処理を行う第２のアプリケーション１０１を生成し、当該第２のアプリケーション１０１を記憶部１１に記憶する。
【００７４】
次に、生成部１５は、生成された第２のアプリケーション１０１のアプリ情報を、まだ使用されていないアプリＩＤ「ａｐｐ００１１２」を付与して、アプリ情報ＤＢ１０４に記憶する。生成された第２のアプリケーション１０１のデフォルトの名称は、例えば「オンラインストレージＢからダウンロード／翻訳機Ｃで翻訳／プリンタ印刷アプリ」である。また生成部１５は、生成された第２のアプリケーション１０１のアプリＩＤ「ａｐｐ００１１２」を、Ａ社に対する推奨アプリとして、テナントＤＢ１０３のテナントＩＤ「ｔ０００００１」の推奨アプリに記憶する。
【００７５】
図２に戻り、通信制御部１６は他の装置と通信する。通信制御部１６は、例えば表示情報を機器２１に送信する。表示情報のデータ形式は任意でよい。通信制御部１６は、例えば機器２１のブラウザにより表示可能な表示情報を、機器２１に送信する。
【００７６】
図１５は実施形態のおすすめアプリを表示する表示情報の例１を示す図である。図１５の例は、テナントＩＤ「ｔ０００００１」により識別されるテナント（Ａ社）の機器２１にログインしているユーザＩＤ「ｕ０００００１」のユーザに、おすすめアプリ（推奨アプリ）として、図１１及び図１２で例示した「メール受信／オンラインストレージＤに保存」アプリを表示する場合を示す。リンク２０１が押下されると、アプリ詳細を表示する表示情報（図１７参照）が表示される。「登録する」ボタン２０２が押下されると、アプリ登録時に表示する表示情報（図１８参照）が表示される。
【００７７】
図１６は実施形態のおすすめアプリを表示する表示情報の例２を示す図である。図１６の例は、テナントＩＤ「ｔ０００００１」により識別されるテナント（Ａ社）の機器２１にログインしているユーザＩＤ「ｕ０００００１」のユーザに、おすすめアプリとして、図１３及び図１４で例示した「オンラインストレージＢからダウンロード／翻訳機Ｃで翻訳／プリンタ印刷」アプリを表示する場合を示す。
【００７８】
なおユーザの認証は、機器２１で行ってもよいし、サーバ装置１０の通信制御部１６で行ってもよい。またユーザの認証方法は任意でよい。ユーザの認証方法は、例えばユーザＩＤ及びパスワードの組み合わせる方法でもよいし、ユーザＩＤを示す情報を含むＩＣカードを機器２１にかざす方法でもよい。また、通信制御部１６は、推奨アプリが複数ある場合、複数の推奨アプリを、おすすめアプリとして１つの表示情報により表示してもよい。
【００７９】
図１７は実施形態のアプリ詳細を表示する表示情報の例を示す図である。図１７の表示情報は、図１５の表示情報に含まれるリンク２０１が押下された場合に表示される。図１７の例では、メールにより受信されたデータを、オンラインストレージＤに保存するフローによる処理を表示する場合を示す。
【００８０】
図１８は実施形態のアプリ登録時に表示する表示情報の例を示す図である。図１８の表示情報は、図１５の表示情報に含まれる「登録する」ボタン２０２が押下された場合に、ポップアップ表示される。通信制御部１６は、機器２１から、「登録する」ボタンが押下されたことを示す情報を受信した場合、ユーザにより登録された推奨アプリのアプリＩＤを、テナントＤＢ１０３の対象テナントの利用アプリに記憶し、ユーザにより登録された推奨アプリのアプリＩＤを、テナントＤＢ１０３の対象テナントの推奨アプリから削除する。
【００８１】
図１９は実施形態の利用中アプリを表示する表示情報の例を示す図である。図１９の例は、図１１及び図１２で例示した「メール受信／オンラインストレージＤに保存アプリ」が新規に登録された場合を示す。
【００８２】
図２０は実施形態のアプリ名変更時に表示する表示情報の例を示す図である。図２０の表示情報は、図１５の表示情報に含まれるリンク２０３が押下された場合に表示される。図２０の例は、テキストボックスに新しい名前を入力することにより、アプリ名を変更する場合を示す。
【００８３】
図２１は実施形態の新しいアプリ名が入力された表示情報の例を示す図である。図２１の例は、変更後の新しいアプリ名として、「メール受信文書自動保存アプリ」が入力された場合を示す。通信制御部１６は、機器２１から、変更後の新しいアプリ名「メール受信文書自動保存アプリ」と、アプリ名を変更するアプリケーション１０１のアプリＩＤ「ａｐｐ００１１１」と、を含むアプリ名称情報を受け付けると、当該アプリ名称情報をアプリ名称ＤＢ１０６に記憶する。
【００８４】
図２２は実施形態のアプリ名称情報の例を示す図である。アプリ名称情報は、アプリＩＤ及びアプリ名を含む。図２２の例は、アプリＩＤがａｐｐ００１１１のアプリ名に、「メール受信文書自動保存アプリ」が設定されている場合を示す。なおアプリ名称ＤＢにアプリ名称情報が記憶されていないアプリケーションの名称には、上述のデフォルトの名称が使用される。
【００８５】
次に実施形態の情報処理方法の例について説明する。
【００８６】
図２３は実施形態の第２のアプリケーション（推奨アプリ）の生成方法の例を示すフローチャートである。図２３の説明では、テナント毎に第２のアプリケーション（推奨アプリ）を生成する場合について説明する。
【００８７】
はじめに、集計部１３が、アプリケーション１０１が利用されたときに出力されるログから、アプリケーション１０１毎の利用回数を集計し、当該アプリケーション１０１毎の利用回数を集計ＤＢ１０５に記憶する（ステップＳ１）。
【００８８】
次に、集計部１３は、アプリ情報（図５参照）と、アプリケーション１０１毎の利用回数（図７参照）から、アプリケーション１０１に含まれる処理（コンポーネント及びオペレーションの組み合わせ）毎の実行回数を集計し、当該処理毎の実行回数を集計ＤＢ１０５に記憶する（ステップＳ２）。
【００８９】
次に、選択部１４が、対象テナントで利用されているアプリケーション１０１毎の利用回数を集計する（ステップＳ３）。
【００９０】
次に、選択部１４は、対象テナントで利用されているアプリケーション１０１毎の利用回数に基づいて、第１のアプリケーション１０１を選択する（ステップＳ４）。具体的には、選択部１４は、例えば対象テナントで最も利用されているアプリケーション１０１を、第１のアプリケーション１０１として選択する。
【００９１】
次に、生成部１５が、アプリ情報ＤＢ１０４から、第１のアプリケーション１０１のアプリ情報を取得する（ステップＳ５）。次に、生成部１５は、第１のアプリケーション１０１のアプリ情報を参照して、第１のアプリケーション１０１に含まれる第１の処理を１つ取得する（ステップＳ６）。
【００９２】
次に、生成部１５は、ステップＳ６で取得された第１の処理を定義する第１のオペレーションと同じオペレーションと、ステップＳ６で取得された第１の処理を定義する第１のコンポーネントとは別のコンポーネントと、の組み合わせにより定義される第２の処理の実行回数を、集計ＤＢ１０５から取得する（ステップＳ７）。
【００９３】
次に、生成部１５は、ステップＳ６で取得された第１の処理の第１のコンポーネントを、実行回数が最も多い第２の処理の第２のコンポーネントに置き換えることにより、第１の処理を第２の処理に置き換える（ステップＳ８）。
【００９４】
次に、生成部１５は、第１のアプリケーション１０１に含まれる全ての第１の処理を取得したか否かを判定する（ステップＳ９）。全ての第１の処理を取得していない場合（ステップＳ９、Ｎｏ）、処理はステップＳ６に戻る。
【００９５】
全ての第１の処理を取得した場合（ステップＳ９、Ｙｅｓ）、生成部１５は、ステップＳ８で生成された第２の処理を含む第２のアプリケーション１０１を生成する（ステップＳ１０）。
【００９６】
次に、生成部１５は、ステップＳ１０で生成された第２のアプリケーション１０１を記憶部１１に記憶する（ステップＳ１１）。次に、生成部１５は、ステップＳ１０で生成された第２のアプリケーション１０１のアプリ情報を、まだ使用されていないアプリＩＤを付与して、アプリ情報ＤＢ１０４に記憶する（ステップＳ１２）。次に、生成部１５は、ステップＳ１０で生成された第２のアプリケーション１０１のアプリＩＤを、対象テナントに対する推奨アプリとして、テナントＤＢ１０３に記憶する（ステップＳ１３）。
【００９７】
図２４は実施形態の第２のアプリケーション（推奨アプリ）の利用登録方法の例を示すフローチャートである。はじめに、通信制御部１６が、機器２１からユーザＩＤ及びパスワード等の認証情報を受信することにより、ユーザを認証する（ステップＳ２１）。
【００９８】
次に、通信制御部１６は、機器２１が使用されているテナントを識別するテナントＩＤを、機器２１から受信する（ステップＳ２２）。次に、通信制御部１６は、ステップＳ２２で受信したテナントＩＤにより識別される対象テナントの利用アプリのアプリＩＤを、アプリ情報ＤＢ１０４から取得する（ステップＳ２３）。次に、通信制御部１６は、ステップＳ２２で受信したテナントＩＤにより識別される対象テナントの推奨アプリのアプリＩＤを、アプリ情報ＤＢ１０４から取得する（ステップＳ２４）。
【００９９】
次に、機器２１は、対象テナントの利用アプリ及び推奨アプリを表示する表示情報（図１５参照）を、サーバ装置１０から受信し、当該表示情報を表示する（ステップＳ２５）。表示情報に含まれる利用アプリの名称がユーザにより変更されている場合は、アプリ名称ＤＢ１０６を、ステップＳ２３で取得された利用アプリのアプリＩＤにより検索することにより取得されたデータに含まれるアプリ名が使用される。アプリ名称ＤＢ１０６に、ステップＳ２３で取得された利用アプリのアプリＩＤにより検索されるデータがない場合、アプリ情報ＤＢ１０４を、ステップＳ２３で取得された利用アプリのアプリＩＤにより検索することにより取得されたデータに含まれる処理名をスラッシュ（／）で区切ることにより得られる文字列が、当該利用アプリの名称として使用される。推奨アプリの名称は、アプリ情報ＤＢ１０４を、ステップＳ２４で取得された推奨アプリのアプリＩＤにより検索することにより取得されたデータに含まれる処理名をスラッシュ（／）で区切ることにより得られる文字列が使用される。
【０１００】
次に、通信制御部１６が、機器２１から、「登録する」ボタンが押下されたことを示す情報を受信した場合（ステップＳ２６、Ｙｅｓ）、ユーザにより登録された推奨アプリのアプリＩＤを、テナントＤＢ１０３の対象テナントの利用アプリに記憶する（ステップＳ２７）。次に、通信制御部１６は、ユーザにより登録された推奨アプリのアプリＩＤを、テナントＤＢ１０３の対象テナントの推奨アプリから削除する（ステップＳ２８）。通信制御部１６が、機器２１から、「登録する」ボタンが押下されたことを示す情報を受信しなかった場合（ステップＳ２６、Ｎｏ）、第２のアプリケーション（推奨アプリ）の利用登録を行わずに、処理を終了する。
【０１０１】
＜実施形態のサーバ装置のハードウェア構成＞
最後に実施形態のサーバ装置１０のハードウェア構成の例について説明する。
【０１０２】
図２５は実施形態のサーバ装置のハードウェア構成の例を示す図である。実施形態のサーバ装置１０は、制御装置３０１、主記憶装置３０２、補助記憶装置３０３、表示装置３０４、入力装置３０５及び通信装置３０６を備える。制御装置３０１、主記憶装置３０２、補助記憶装置３０３、表示装置３０４、入力装置３０５及び通信装置３０６は、バス３１０を介して接続されている。
【０１０３】
制御装置３０１は補助記憶装置３０３から主記憶装置３０２に読み出されたプログラムを実行する。主記憶装置３０２はＲＯＭ及びＲＡＭ等のメモリである。補助記憶装置３０３はメモリカード及びＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等である。
【０１０４】
表示装置３０４は情報を表示する。表示装置３０４は、例えば液晶ディスプレイである。入力装置３０５は、情報の入力を受け付ける。入力装置３０５は、例えばキーボード及びマウス等である。なお表示装置３０４及び入力装置３０５は、表示機能と入力機能とを兼ねる液晶タッチパネル等でもよい。通信装置３０６は他の装置と通信する。
【０１０５】
実施形態のサーバ装置１０で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、メモリカード、ＣＤ−Ｒ及びＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記憶媒体に記憶されてコンピュータ・プログラム・プロダクトとして提供される。
【０１０６】
また実施形態のサーバ装置１０で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また実施形態のサーバ装置１０が実行するプログラムを、ダウンロードさせずにインターネット等のネットワーク経由で提供するように構成してもよい。
【０１０７】
また実施形態のサーバ装置１０で実行されるプログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【０１０８】
実施形態のサーバ装置１０で実行されるプログラムは、上述の実施形態のサーバ装置１０の機能構成のうち、プログラムにより実現可能な機能を含むモジュール構成となっている。
【０１０９】
プログラムにより実現される機能は、制御装置３０１が補助記憶装置３０３等の記憶媒体からプログラムを読み出して実行することにより、プログラムにより実現される機能が主記憶装置３０２にロードされる。すなわちプログラムにより実現される機能は、主記憶装置３０２上に生成される。
【０１１０】
なお実施形態のサーバ装置１０の機能の一部又は全部を、ＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）等のハードウェアにより実現してもよい。
【０１１１】
以上説明したように、実施形態のサーバ装置１０では、実行制御部１２が、機能の単位を示すコンポーネントと、コンポーネントの動作を示すオペレーションとの組み合わせにより定義される処理を１以上含むアプリケーション１０１の実行を制御する。集計部１３が、アプリケーション１０１が利用されたときに出力されるログから、アプリケーション１０１毎の利用回数と、アプリケーション１０１に含まれる処理毎の実行回数とを集計する。選択部１４が、アプリケーション１０１の利用回数が多い順に１以上の第１のアプリケーション１０１を選択する。生成部１５が、１以上の第１のアプリケーションのそれぞれについて、第１のアプリケーション１０１に含まれる１以上の第１の処理のそれぞれの第１のコンポーネントを、第１の処理を定義する第１のオペレーションと、第１の処理を定義する第１のコンポーネントとは異なる第２のコンポーネントとの組み合わせにより定義される第２の処理のうち、実行回数が最も多い第２の処理の第２のコンポーネントに置き換えることにより、１以上の第２のアプリケーション１０１を生成する。通信制御部１６が、１以上の第２のアプリケーション１０１の利用をユーザに勧める表示情報を、ユーザにより使用される機器２１に送信する。
【０１１２】
これにより実施形態のサーバ装置１０によれば、ユーザに利用を勧めるアプリケーション１０１を、アプリケーション１０１により実現される機能の利用状況に応じて、柔軟に表示することができる。
【符号の説明】
【０１１３】
１０  サーバ装置
１１  記憶部
１２  実行制御部
１３  集計部
１４  選択部
１５  生成部
１６  通信制御部
２０  テナント
２１  機器
９０  ネットワーク
１００  情報処理システム
１０１  アプリケーション
１０２  ログＤＢ
１０３  テナントＤＢ
１０４  アプリ情報ＤＢ
１０５  集計ＤＢ
１０６  アプリ名称ＤＢ
【先行技術文献】
【特許文献】
【０１１４】
【特許文献１】特開２０１４−３２６５９号公報
【図１】
2017111646.tif 000003
【図２】
2017111646.tif 000004
【図３】
2017111646.tif 000005
【図４】
2017111646.tif 000006
【図５】
2017111646.tif 000007
【図６】
2017111646.tif 000008
【図７】
2017111646.tif 000009
【図８】
2017111646.tif 000010
【図９】
2017111646.tif 000011
【図１０】
2017111646.tif 000012
【図１１】
2017111646.tif 000013
【図１２】
2017111646.tif 000014
【図１３】
2017111646.tif 000015
【図１４】
2017111646.tif 000016
【図１５】
2017111646.tif 000017
【図１６】
2017111646.tif 000018
【図１７】
2017111646.tif 000019
【図１８】
2017111646.tif 000020
【図１９】
2017111646.tif 000021
【図２０】
2017111646.tif 000022
【図２１】
2017111646.tif 000023
【図２２】
2017111646.tif 000024
【図２３】
2017111646.tif 000025
【図２４】
2017111646.tif 000026
【図２５】
2017111646.tif 000027