説明

アプリケーションプラットフォーム装置、アプリケーションプラットフォームシステム及びアプリケーションプラットフォーム装置の動作方法

【課題】既存の複数サーバを簡易的な作業で自立的に動作させて活用することができるアプリケーションプラットフォーム装置、アプリケーションプラットフォームシステム及びアプリケーションプラットフォーム装置の動作方法を提供すること。
【解決手段】アプリケーションプラットフォーム装置2は、機能割当部242により、ワークフローDB232に記憶されたワークフロー情報に基づいて、当該ワークフロー情報に含まれる複数のアプリケーションそれぞれの機能を割り当てるサーバ3を決定して当該機能を割り当て、パラメータ生成部243により、機能を割り当てられたサーバ3の物理的な処理の流れを示すパラメータを生成し、パラメータ送信部244により、機能を割り当てられたサーバ3のうち、処理の基点となるサーバ3に対して、パラメータ生成部243により生成されたパラメータを送信する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、アプリケーションプラットフォーム装置、アプリケーションプラットフォームシステム及びアプリケーションプラットフォーム装置の動作方法に関する。
【背景技術】
【0002】
システム開発では、システムが大規模である場合に、システムを構成する機能ごとに開発が行われることがある。このような大規模なシステムの開発に対して、複数の機能それぞれをワークフローとして登録し、1つのまとまったシステムとして成り立たせる手法が提案されている。
【0003】
例えば、特許文献1には、業務フロー上の作業を、それぞれ異なるアプリケーションの機能によって実装し、これら複数の機能を順番に遷移させることで、1つのシステムとして動作させる方法が示されている。
【0004】
このような方法によれば、複数のアプリケーションを組み立てて1つのシステムを構築するので、既存のアプリケーションを組み込んで資源を有効に活用することができる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2002−073928号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、システム開発が大規模になるに伴い、例えば、テスト用のサーバがテスト完了後に余剰となり、有効に利用されない場合もある。これに対して、特許文献1に示される方法では、既存のアプリケーションを組み込むことで資源を有効に活用することができるものの、既存のサーバに自動的にアプリケーションの機能を割り当てることは示されておらず、既存の複数サーバを簡易的な作業で自立的に動作させて活用することができなかった。
【0007】
本発明は、既存の複数サーバを簡易的な作業で自立的に動作させて活用することができるアプリケーションプラットフォーム装置、アプリケーションプラットフォームシステム及びアプリケーションプラットフォーム装置の動作方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
(1)複数のサーバと通信可能に接続され、当該サーバに機能を割り当てて自立的に動作させるアプリケーションプラットフォーム装置であって、アプリケーションと、前記アプリケーションの識別情報と、前記アプリケーションに対応する機能の説明とを関連付けて記憶するアプリケーション記憶手段と、前記アプリケーションの識別情報と、前記アプリケーションの処理順とを関連付けてワークフロー情報として記憶するワークフロー情報記憶手段と、前記アプリケーション記憶手段に記憶されている前記アプリケーションの識別情報と、前記アプリケーションの処理順とを、前記ワークフロー情報として受け付けて、前記ワークフロー情報記憶手段に記憶させるワークフロー登録手段と、前記ワークフロー情報記憶手段に記憶された前記ワークフロー情報に基づいて、当該ワークフロー情報に含まれる複数のアプリケーションそれぞれの機能を割り当てるサーバを決定して当該機能を割り当てる機能割当手段と、前記機能を割り当てられたサーバの物理的な処理の流れを示すパラメータを生成するパラメータ生成手段と、前記機能を割り当てられたサーバのうち、処理の基点となるサーバに対して、前記パラメータ生成手段により生成されたパラメータを機能呼び出し時のパラメータとして送信するパラメータ送信手段と、を備えるアプリケーションプラットフォーム装置。
【0009】
(1)のアプリケーションプラットフォーム装置は、ワークフロー登録手段により、アプリケーション記憶手段に記憶されているアプリケーションの識別情報と、アプリケーションの処理順とを、ワークフロー情報として受け付けて、ワークフロー情報記憶手段に記憶させ、機能割当手段により、ワークフロー情報記憶手段に記憶されたワークフロー情報に基づいて、当該ワークフロー情報に含まれる複数のアプリケーションそれぞれの機能を割り当てるサーバを決定して当該機能を割り当て、パラメータ生成手段により、機能を割り当てられたサーバの物理的な処理の流れを示すパラメータを生成し、パラメータ送信手段により、機能を割り当てられたサーバのうち、処理の基点となるサーバに対して、パラメータ生成手段により生成されたパラメータを機能呼び出し時のパラメータとして送信する。
【0010】
このようにすることで、(1)のアプリケーションプラットフォーム装置は、ワークフロー情報に従って、アプリケーションの機能をサーバに割り当てることができる。さらに、(1)のアプリケーションプラットフォーム装置は、パラメータ生成手段により生成された物理的な処理の流れを示すパラメータを機能呼び出し時のパラメータとして処理の基点となるサーバに送信するので、処理の基点となるサーバでは、この機能呼び出し時のパラメータに従って、次の処理を行うサーバに対して成果物を送信することができる。さらに、成果物を生成したサーバが、次の処理を行うサーバに対してパラメータを送信するという動作を繰り返すことによって、複数のサーバでは、一連の処理を自立的に実行することができる。よって、(1)のアプリケーションプラットフォーム装置は、既存の複数サーバを簡易的な作業で自立的に動作させて活用することができる。
【0011】
(2)前記ワークフロー登録手段は、前記ワークフロー情報の実行スケジュールを受け付け、前記機能割当手段は、前記ワークフロー情報に基づいて、当該ワークフロー情報に含まれる複数のアプリケーションそれぞれの機能を割り当てるサーバを決定して当該ワークフロー情報に含まれる前記実行スケジュールに基づいて、当該機能を割り当てる、(1)に記載のアプリケーションプラットフォーム装置。
【0012】
(2)のアプリケーションプラットフォーム装置は、ワークフロー登録手段により、ワークフロー情報の実行スケジュールを受け付け、機能割当手段により、ワークフロー情報に基づいて、当該ワークフロー情報に含まれる複数のアプリケーションそれぞれの機能を割り当てるサーバを決定して当該ワークフロー情報に含まれる前記実行スケジュールに基づいて、当該機能を割り当てる。
【0013】
このようにすることで、アプリケーションプラットフォーム装置は、ワークフロー情報の登録者が所望するタイミングで、複数のサーバに対してアプリケーションの機能を割り当てることができる。
【0014】
(3)前記サーバに割り当てられた機能の実行結果を記憶するログ記憶手段と、前記機能を割り当てられた複数のサーバから、前記実行結果を取得して前記ログ記憶手段に記憶させるログ記憶制御手段と、前記ログ記憶手段に記憶された前記実行結果を出力する実行結果出力手段と、を備える、(1)又は(2)に記載のアプリケーションプラットフォーム装置。
【0015】
(3)のアプリケーションプラットフォーム装置は、ログ記憶制御手段により、機能を割り当てられた複数のサーバから実行結果を取得してログ記憶手段に記憶させ、実行結果出力手段により、ログ記憶手段に記憶された実行結果を出力する。
【0016】
このようにすることで、(3)のアプリケーションプラットフォーム装置は、アプリケーションの機能が割り当てられた複数のサーバにおける実行結果を一元的に管理することができる。
【0017】
(4)複数のサーバと、当該複数のサーバと通信可能に接続され、当該サーバに機能を割り当てて自立的に動作させるアプリケーションプラットフォーム装置とを備えるアプリケーションプラットフォームシステムであって、前記アプリケーションプラットフォーム装置は、アプリケーションと、前記アプリケーションの識別情報と、前記アプリケーションに対応する機能の説明とを関連付けて記憶するアプリケーション記憶手段と、前記アプリケーションの識別情報と、前記アプリケーションの処理順とを関連付けてワークフロー情報として記憶するワークフロー情報記憶手段と、前記アプリケーション記憶手段に記憶されている前記アプリケーションの識別情報と、前記アプリケーションの処理順とを、前記ワークフロー情報として受け付けて、前記ワークフロー情報記憶手段に記憶させるワークフロー登録手段と、前記ワークフロー情報記憶手段に記憶された前記ワークフロー情報に基づいて、当該ワークフロー情報に含まれる複数のアプリケーションそれぞれの機能を割り当てるサーバを決定して当該機能を割り当てる機能割当手段と、前記機能を割り当てられたサーバの物理的な処理の流れを示すパラメータを生成するパラメータ生成手段と、前記機能を割り当てられたサーバのうち、処理の基点となるサーバに対して、前記パラメータ生成手段により生成されたパラメータを機能呼び出し時のパラメータとして送信するパラメータ送信手段と、を備え、前記複数のサーバそれぞれは、前記アプリケーションを割り当てられ、かつ、前記パラメータを受信したことに応じて、前記アプリケーションを実行するアプリケーション実行手段と、前記パラメータに基づいて、前記アプリケーション実行手段による前記アプリケーションの実行結果の出力先を特定し、特定された出力先に前記実行結果と、前記パラメータとを送信する実行結果送信手段と、を備えるアプリケーションプラットフォームシステム。
【0018】
(5)複数のサーバと通信可能に接続され、当該サーバに機能を割り当てて自立的に動作させるアプリケーションプラットフォーム装置の動作方法であって、前記アプリケーションプラットフォーム装置は、アプリケーションと、前記アプリケーションの識別情報と、前記アプリケーションに対応する機能の説明とを関連付けて記憶するアプリケーション記憶手段と、前記アプリケーションの識別情報と、前記アプリケーションの処理順とを関連付けてワークフロー情報として記憶するワークフロー情報記憶手段と、を備え、前記動作方法は、前記アプリケーション記憶手段に記憶されている前記アプリケーションの識別情報と、前記アプリケーションの処理順とを、前記ワークフロー情報として受け付けて、前記ワークフロー情報記憶手段に記憶させるワークフロー登録ステップと、前記ワークフロー情報記憶手段に記憶された前記ワークフロー情報に基づいて、当該ワークフロー情報に含まれる複数のアプリケーションそれぞれの機能を割り当てるサーバを決定して当該機能を割り当てる機能割当ステップと、前記機能を割り当てられたサーバの物理的な処理の流れを示すパラメータを生成するパラメータ生成ステップと、前記機能を割り当てられたサーバのうち、処理の基点となるサーバに対して、前記パラメータ生成ステップにおいて生成されたパラメータを機能呼び出し時のパラメータとして送信するパラメータ送信ステップと、を含むアプリケーション装置の動作方法。
【0019】
これらアプリケーションプラットフォームシステム及びアプリケーション装置の動作方法によれば、(1)に係る発明と同様の効果を奏する。
【発明の効果】
【0020】
本発明によれば、既存の複数サーバを簡易的な作業で自立的に動作させて活用することができるアプリケーションプラットフォーム装置、アプリケーションプラットフォームシステム及びアプリケーションプラットフォーム装置の動作方法を提供することができる。
【図面の簡単な説明】
【0021】
【図1】本実施形態に係るアプリケーションプラットフォームシステムの機能構成を示すブロック図である。
【図2】本実施形態に係るアプリケーションDBを示す図である。
【図3】本実施形態に係るワークフローDBを示す図である。
【図4】本実施形態に係るログDBを示す図である。
【図5】本実施形態に係るアプリケーションDBに記憶されているアプリケーションの一例を示す図である。
【図6】本実施形態に係るアプリケーションの機能を割り当てられた後のサーバの処理の流れを示す模式図である。
【図7】本実施形態に係るアプリケーションプラットフォーム装置においてワークフロー情報が受け付けられてから、実行結果がログDBに記憶されるまでの処理の流れを示すフローチャートである。
【図8】本実施形態に係るアプリケーションの機能を割り当てられた複数のサーバにおける処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0022】
以下、本発明の実施形態について図を参照しながら説明する。
【0023】
[機能構成]
図1は、本実施形態に係るアプリケーションプラットフォームシステム1の機能構成を示すブロック図である。アプリケーションプラットフォームシステム1は、アプリケーションプラットフォーム装置2と、複数のサーバ3とを備える。
なお、図1では、アプリケーションプラットフォームシステム1に対して一のサーバ3のみ示されているが、上述のとおり、アプリケーションプラットフォームシステム1は、複数のサーバ3を備えているものとする。
【0024】
アプリケーションプラットフォームシステム1は、複数のサーバ3に対して複数のアプリケーションそれぞれの機能を割り当てて、複数の機能からなる一連の処理を実行させるシステムである。
【0025】
ここで、本実施形態におけるアプリケーションとは、実行されると成果物を出力するアプリケーションをいう。例えば、成果物としては、URL、Webページ、コンテンツ(動画や画像)等が挙げられる。
【0026】
本実施形態は、コンピュータ(サーバ3及びアプリケーションプラットフォーム装置2)及びその周辺装置に適用される。本実施形態における各部は、コンピュータ及びその周辺装置が備えるハードウェア並びに当該ハードウェアを制御するソフトウェアによって構成される。
【0027】
上記ハードウェアには、制御部としてのCPU(Central Processing Unit)の他、記憶部、通信装置、表示装置及び入力装置が含まれる。記憶部としては、例えば、メモリ(RAM:Random Access Memory、ROM:Read Only Memory等)、ハードディスクドライブ(HDD:Hard Disk Drive)及び光ディスク(CD:Compact Disk、DVD:Digital Versatile Disk等)ドライブが挙げられる。通信装置としては、例えば、各種有線及び無線インターフェース装置が挙げられる。表示装置としては、例えば、液晶ディスプレイやプラズマディスプレイ等の各種ディスプレイが挙げられる。入力装置としては、例えば、キーボード及びポインティング・デバイス(マウス、トラッキングボール、タッチパッド等)が挙げられる。
【0028】
上記ソフトウェアには、上記ハードウェアを制御するコンピュータ・プログラムやデータが含まれる。コンピュータ・プログラムやデータは、記憶部により記憶され、制御部により適宜実行、参照される。また、コンピュータ・プログラムやデータは、通信回線を介して配布されることも可能であり、CD−ROM等のコンピュータ可読媒体に記録して配布されることも可能である。
【0029】
アプリケーションプラットフォーム装置2は、操作部21と、表示部22と、第1記憶部23と、第1制御部24と、を備える。
【0030】
操作部21は、操作者から直接的な入力を受け付ける。
表示部22は、アプリケーションプラットフォーム装置2の機能に関する情報を表示する。
【0031】
第1記憶部23は、本実施形態に係るアプリケーションプラットフォーム装置2の機能を実行するプログラム(図示省略)等を記憶する。第1記憶部23は、上述の各種プログラムの他に、アプリケーション記憶手段としてのアプリケーションDB231と、ワークフロー情報記憶手段としてのワークフローDB232と、ログ記憶手段としてのログDB233とを備える。
【0032】
図2は、本実施形態に係るアプリケーションDB231を示す図である。
アプリケーションDB231は、アプリケーションと、アプリケーションの識別情報としてのアプリケーションIDと、アプリケーションに対応する機能を説明する情報とを関連付けて記憶する。例えば、アプリケーションDB231には、Webコンテンツを取得するためのアプリケーションとして、シードURLを生成するアプリケーション(シードメーカ)、シードURLに基づいてWebページを抽出するアプリケーション(クローラ)、抽出されたWebページからコンテンツを抽出するアプリケーション(エクストラクタ)が記憶されている。そして、アプリケーションDB231は、これらシードメーカ、クローラ及びエクストラクタを、それぞれ複数記憶する。
なお、アプリケーションDB231は、アプリケーションを直接記憶せず、アプリケーションの記憶場所を記憶するようにしてもよい。
【0033】
例えば、アプリケーションDB231には、シードメーカとして、動画投稿サイトXにおいて投稿された動画を含むWebページを示すURLを複数生成するシードメーカ、画像投稿サイトYにおいて投稿された画像を含むWebページを示すURLを複数生成するシードメーカ、といったように、それぞれ異なる種別のサイトのURLを生成するシードメーカが複数記憶されている。
【0034】
図3は、本実施形態に係るワークフローDB232を示す図である。
ワークフローDB232は、ワークフローを識別するワークフローIDと、アプリケーションを識別するアプリケーションIDと、アプリケーションの処理順と、基点となるアプリケーションの実行スケジュールとを関連付けてワークフロー情報として記憶する。ここで、基点となるアプリケーションとは、処理順が最も若いアプリケーションのことをいう。
【0035】
図4は、本実施形態に係るログDB233を示す図である。
ログDB233は、ワークフローIDと、当該ワークフローIDに対応するアプリケーションIDと、当該アプリケーションIDに対応するアプリケーションの機能が割り当てられたサーバ3における当該機能の実行結果とを関連付けて記憶する。
【0036】
第1制御部24は、アプリケーションプラットフォーム装置2に係る各機能を統括的に制御する。第1制御部24は、ワークフロー登録手段としてのワークフロー登録部241と、機能割当手段としての機能割当部242と、パラメータ生成手段としてのパラメータ生成部243と、パラメータ送信手段としてのパラメータ送信部244と、ログ記憶制御手段としてのログ記憶制御部245と、実行結果出力手段としての実行結果出力部246と、を備える。
【0037】
ワークフロー登録部241は、操作者から操作部11を介して、登録操作を受け付ける。続いて、ワークフロー登録部241は、登録操作を受け付けたことに応じて、アプリケーションDB231に記憶されているアプリケーションIDと、当該アプリケーションIDに対応するアプリケーションの機能を説明する情報とを表示部12にリスト表示させて、アプリケーションIDの登録を受け付ける。
【0038】
続いて、ワークフロー登録部241は、操作者から操作部11を介して、アプリケーションDB231に記憶されているアプリケーションIDと、アプリケーションの処理順と、基点となるアプリケーションの処理を開始する実行スケジュールとをワークフロー情報として受け付ける。続いて、ワークフロー登録部241は、受け付けたワークフロー情報に対応するワークフローIDを生成する。続いて、ワークフロー登録部241は、これらワークフローIDと、アプリケーションIDと、アプリケーションの処理順と、実行スケジュールとを関連付けて、ワークフロー情報としてワークフローDB232に記憶させる。
【0039】
なお、本実施形態では、ワークフロー情報によって登録されたアプリケーションIDに対応するアプリケーションの出力先は、所定サーバ(図示省略)であるものとするが、ワークフロー登録部241により、任意に指定するようにしてもよい。
【0040】
また、ワークフロー登録部241は、アプリケーションIDに対応するアプリケーションがカスタマイズ用パラメータによりカスタマイズ可能である場合、このカスタマイズ用パラメータを受け付けるようにしてもよい。
【0041】
機能割当部242は、ワークフローDB232に記憶されたワークフロー情報に基づいて、当該ワークフロー情報に含まれる複数のアプリケーションIDに対応するアプリケーションの機能を割り当てるサーバ3を決定し、当該決定されたサーバ3に当該機能を割り当てる。
【0042】
ここで、機能割当部242は、決定されたサーバ3に当該機能を割り当てる場合、ワークフローDB232に記憶されたワークフロー情報に含まれる実行スケジュールに基づいて、機能を割り当てるタイミングを決定し、決定されたタイミングで、当該機能を割り当てる。
【0043】
なお、機能を割り当てるとは、アプリケーションを決定されたサーバ3(後述の監視状態にあるサーバ3)の所定記憶領域に記憶させて、当該サーバ3に、アプリケーションを自動的に実行させることをいう。
【0044】
パラメータ生成部243は、機能割当部242により決定されたサーバ3のアドレスと、当該サーバ3に割り当てられたアプリケーションの機能の処理順に基づいて、機能を割り当てられたサーバ3の物理的な処理の流れを示すパラメータであって、これらアプリケーションの機能に対応するワークフローIDを含むパラメータを生成する。
【0045】
パラメータ送信部244は、ワークフローDB232に記憶されている処理順に基づいて、機能が割り当てられたサーバ3のうち、処理の基点となるサーバ3に対して、パラメータ生成部243により生成されたパラメータを機能呼び出し時のパラメータとして送信する。ここで、機能呼び出し時のパラメータとは、複数のサーバ3それぞれに割り当てられた機能を実行するタイミングを決定するために用いられるパラメータのことをいう。
【0046】
ログ記憶制御部245は、アプリケーションの機能を割り当てられた複数のサーバ3から、実行結果を取得してログ記憶部234に記憶させる。
【0047】
実行結果出力部246は、操作部11を介して操作者からワークフローIDの入力を受け付けたことに応じて、ログ記憶部234に記憶されている実行結果のうち、ワークフローIDに対応する実行結果を抽出し、抽出された実行結果を表示部12に出力する。
【0048】
複数のサーバ3それぞれは、アプリケーションプラットフォーム装置2によりアプリケーションの機能を割り当てられる前は、アプリケーションプラットフォーム装置2から機能の割当が行われたか否かを監視する監視状態にある。そして、アプリケーションプラットフォーム装置2から機能を割り当てられた複数のサーバ3は、協働することによって、複数のアプリケーションの機能からなる一連の処理を実行する。
【0049】
複数のサーバ3それぞれは、第2記憶部33と、第2制御部34と、を備える。
第2記憶部33は、本実施形態に係るサーバ3の機能を実行するプログラム(図示省略)等を記憶する。また、第2記憶部33は、受信したアプリケーションとパラメータとを記憶する所定記憶領域を備える。
第2制御部34は、サーバ3に係る各機能を統括的に制御する。第2制御部34は、監視部341と、アプリケーション実行部342と、実行結果送信部343と、を備える。
【0050】
監視部341は、アプリケーションの機能が割り当てられていない場合に、アプリケーションプラットフォーム装置2によるアプリケーションの機能が割り当てられたか否かを監視する。具体的には、監視部341は、第2記憶部33の所定記憶領域に、アプリケーションプラットフォーム装置2によってアプリケーションが記憶されたか否かを判定する。
【0051】
アプリケーション実行部342は、第2記憶部33の所定記憶領域にアプリケーションが記憶されたと監視部341が判定した場合に、当該アプリケーションを実行する。
【0052】
実行結果送信部343は、第2記憶部33の所定領域にパラメータが記憶されているパラメータに基づいて、アプリケーション実行部342によるアプリケーションの実行によって得られる成果物の出力先を特定する。そして、実行結果送信部343は、アプリケーションの実行によって得られる成果物と、第2記憶部33に記憶されているパラメータとを、特定された出力先に対して出力する。また、実行結果送信部343は、アプリケーションの実行結果を示す情報(実行ログ)と、実行されているアプリケーションに対応するワークフローIDとをアプリケーションプラットフォーム装置2に送信する。
【0053】
なお、実行結果送信部343は、入力される成果物又は出力される成果物に対してURLが含まれている場合、URLを構成する文字列の末尾に、#を付し、さらに#の後ろに、パラメータをアンカーとして付すようにしてもよい。また、この場合、実行結果送信部343は、パラメータを所定の暗号化方式で暗号化してもよい。そして、暗号化されたパラメータを受信した場合には、サーバ3は、暗号化されたパラメータを所定の暗号化方式で復号するようにしてもよい。
【0054】
アプリケーションプラットフォームシステム1の処理について、以下に具体例を用いて説明を進める。
【0055】
例えば、図5に示されるように、アプリケーションDB231に、アプリケーションとして、複数のシードメーカから構成されるシードメーカ群、複数のクローラから構成されるクローラ群、複数のエクストラクタから構成されるエクストラクタ群が記憶されているものとする。また、アプリケーションDB231に、複数のクローラそれぞれに対してURLを出力するための一のゲートウェイが記憶されているものとする。
【0056】
さらに、ワークフロー登録部241により、ワークフロー情報として、図3に示されるように、アプリケーションIDが、「sdmkr001」、「gw01」、「crwl03」、「xrct008」のアプリケーションが、この順番で登録されているものとする。この場合、機能割当部242は、このワークフロー情報に基づいて、当該ワークフロー情報に含まれる4つのアプリケーションIDそれぞれに対応するアプリケーションの機能を割り当てる4台のサーバ3を決定し、当該決定されたサーバ3に当該機能を割り当てる。
そして、パラメータ送信部244により、パラメータ生成部243により生成されたパラメータ(機能呼び出し時のパラメータ)が、処理の基点となるサーバ3(サーバ3A)に対して送信される。
【0057】
4台のサーバ3に対して、「sdmkr001」に対応する「サーバ3A」、「gw001」に対応する「サーバ3B」、「crwl03」に対応する「サーバ3C」、「xrct008」に対応する「サーバ3D」が割り当てられたものとすると、割り当てられた後の4台のサーバ3の処理の流れは、図6に示されるものとなる。
【0058】
図6において、サーバ3Aは、第2記憶部33にアプリケーション(シードメーカA)及びパラメータが記憶されたことに応じて、当該アプリケーションを実行し、成果物として、URLを生成する。そして、サーバ3Aは、第2記憶部33に記憶されたパラメータに基づいて、出力先をサーバ3Bと特定し、サーバ3Bに対して、成果物であるURLと、パラメータとを出力する。ここで、パラメータは、URLにアンカーとして付されることで送信される。また、サーバ3Aは、アプリケーションの実行結果を示す情報(実行ログ)と、パラメータに含まれているワークフローIDとをアプリケーションプラットフォーム装置2に送信する。
【0059】
また、サーバ3Bは、第2記憶部33にアプリケーション(ゲートウェイ)が記憶されたことに応じて、当該アプリケーションを実行する。このアプリケーションは、入力されたURLをキューに格納する。ここでは、URLは、サーバ3Aから入力される。続いて、サーバ3Bは、第2記憶部33に記憶されたパラメータに基づいて、出力先をサーバ3Cと特定し、一定間隔でキューに格納されたURLを成果物としてサーバ3Cに出力する。パラメータは、URLにアンカーとして付されることで送信される。また、サーバ3Bは、アプリケーションの実行結果を示す情報(実行ログ)と、パラメータに含まれているワークフローIDとをアプリケーションプラットフォーム装置2に送信する。
【0060】
また、サーバ3Cは、第2記憶部33にアプリケーション(クローラC)が記憶されたことに応じて、当該アプリケーションを実行する。このアプリケーションは、入力されたURLに基づいて外部のWebサーバ(図示省略)からWebページを取得する。ここでは、URLは、サーバ3Bから入力される。続いて、サーバ3Cは、第2記憶部33に記憶されたパラメータに基づいて、出力先をサーバ3Dと特定し、取得されたWebページを成果物としてサーバ3Dに出力する。パラメータは、URLにアンカーとして付された状態で送信される。また、サーバ3Cは、アプリケーションの実行結果を示す情報(実行ログ)と、パラメータに含まれているワークフローIDとをアプリケーションプラットフォーム装置2に送信する。
【0061】
また、サーバ3Dは、第2記憶部33にアプリケーション(エクストラクタB)が記憶されたことに応じて、当該アプリケーションを実行する。このアプリケーションは、Webページを入力されたことに応じて、このWebページから動画を抽出する。ここでは、Webページは、サーバ3Cから入力される。続いて、サーバ3Dは、抽出された動画を成果物として所定のサーバに出力する。また、サーバ3Dは、アプリケーションの実行結果を示す情報(実行ログ)と、パラメータに含まれているワークフローIDとをアプリケーションプラットフォーム装置2に送信する。
【0062】
このように、サーバ3A〜3Dは、協働することによって、一連の処理を自立的に実行することができる。
【0063】
[フローチャート]
続いて、アプリケーションプラットフォーム装置2における処理の流れについて説明する。
図7は、本実施形態に係るアプリケーションプラットフォーム装置2においてワークフロー情報が受け付けられてから、実行結果がログDB233に記憶されるまでの処理の流れを示すフローチャートである。
【0064】
ステップS1において、第1制御部24(ワークフロー登録部241)は、アプリケーションDB231に記憶されているアプリケーションIDと、アプリケーションの処理順と、基点となるアプリケーションの処理を開始する実行スケジュールとをワークフロー情報として受け付ける。
【0065】
ステップS2において、第1制御部24(ワークフロー登録部241)は、受け付けたワークフロー情報に対応するワークフローIDを生成し、生成されたワークフローIDと、ステップS1において受け付けたアプリケーションID、アプリケーションの処理順及び実行スケジュールとを関連付けて、ワークフロー情報としてワークフローDB232に記憶させる。
【0066】
ステップS3において、第1制御部24(機能割当部242)は、ワークフローDB232に記憶されたワークフロー情報の実行スケジュールに基づいて、アプリケーションの機能を割り当てるタイミングであるか否かを判定する。第1制御部24(機能割当部242)は、この判定がYESの場合、ステップS4に処理を移し、この判定がNOの場合、ステップS3の処理を再実行する。
【0067】
ステップS4において、第1制御部24(機能割当部242)は、ワークフローDB232に記憶されたワークフロー情報に基づいて、当該ワークフロー情報に含まれる複数のアプリケーションIDに対応するアプリケーションの機能を割り当てるサーバ3を決定し、当該決定されたサーバ3に当該機能を割り当てる。
【0068】
ステップS5において、第1制御部24(パラメータ生成部243)は、ステップS4において決定されたサーバ3のアドレスと、当該サーバ3に割り当てられたアプリケーションの機能の処理順に基づいて、機能を割り当てられたサーバ3の物理的な処理の流れを示すパラメータであって、ステップS4において参照されたワークフロー情報に対応するワークフローID(これらアプリケーションの機能に対応するワークフローID)を含むパラメータを生成する。
【0069】
ステップS6において、第1制御部24(パラメータ送信部244)は、ワークフローDB232に記憶されている処理順に基づいて、機能が割り当てられたサーバ3のうち、処理の基点となるサーバ3に対して、パラメータ生成部243により生成されたパラメータを機能呼び出し時のパラメータとして送信する。
【0070】
ステップS7において、第1制御部24(ログ記憶制御部245)は、アプリケーションの機能を割り当てられた複数のサーバ3から、実行結果を取得したか否かを判定する。第1制御部24(ログ記憶制御部245)は、この判定がYESの場合、ステップS8に処理を移し、この判定がNOの場合、ステップS9に処理を移す。
【0071】
ステップS8において、第1制御部24(ログ記憶制御部245)は、取得した実行結果をログ記憶部234に記憶させる。
【0072】
ステップS9において、第1制御部24は、ワークフローに係る処理を終了させる終了操作を受け付けたか否かを判定する。第1制御部24は、この判定がYESの場合、本フローチャートに係る処理を終了し、この判定がNOの場合、ステップS7に処理を移す。
【0073】
図8は、本実施形態に係るアプリケーションの機能を割り当てられた複数のサーバ3における処理の流れを示すフローチャートである。なお、本フローチャートの開始時において、サーバ3にはアプリケーションの機能が割り当てられていないものとする。また、図8に示されるフローチャートは、複数のサーバ3それぞれにおいて実行される。
【0074】
ステップS11において、第2制御部34(監視部341)は、監視部341は、第2記憶部33の所定記憶領域を監視して、アプリケーションプラットフォーム装置2によってアプリケーションが記憶されたか否かを判定する。第2制御部34(監視部341)は、この判定がYESの場合、ステップS12に処理を移し、この判定がNOの場合、ステップS11の処理を再実行する。
【0075】
ステップS12において、第2制御部34(アプリケーション実行部342)は、第2記憶部33の所定記憶領域に記憶されたアプリケーションを実行して成果物を生成する。
【0076】
ステップS13において、第2制御部34(実行結果送信部343)は、第2記憶部33の所定領域にパラメータが記憶されているパラメータに基づいて、ステップS12において生成された成果物の出力先を特定する。
【0077】
ステップS14において、第2制御部34(実行結果送信部343)は、ステップS12において生成された成果物と、第2記憶部33の所定領域に記憶されたパラメータとを、ステップS13において特定された出力先に対して出力する。
【0078】
ステップS15において、第2制御部34(実行結果送信部343)は、アプリケーションの実行結果を示す情報(実行ログ)と、ステップS12において実行されたアプリケーションに対応し、第2記憶部33の所定領域に記憶されているパラメータに含まれているワークフローIDとをアプリケーションプラットフォーム装置2に送信する。
【0079】
以上、本実施形態によれば、アプリケーションプラットフォーム装置2は、ワークフロー登録部241により、アプリケーションDB231に記憶されているアプリケーションIDと、アプリケーションの処理順とを、ワークフロー情報として受け付けて、ワークフローDB232に記憶させ、機能割当部242により、ワークフローDB232に記憶されたワークフロー情報に基づいて、当該ワークフロー情報に含まれる複数のアプリケーションそれぞれの機能を割り当てるサーバ3を決定し、当該機能を割り当て、パラメータ生成部243により、機能を割り当てられたサーバ3の物理的な処理の流れを示すパラメータを生成し、パラメータ送信部244により、機能を割り当てられたサーバ3のうち、処理の基点となるサーバ3に対して、パラメータ生成部243により生成されたパラメータを送信する。
【0080】
このようにすることで、アプリケーションプラットフォーム装置2は、ワークフロー情報に従って、アプリケーションの機能をサーバ3に割り当てることができる。さらに、アプリケーションプラットフォーム装置2は、パラメータ生成部243により生成された物理的な処理の流れを示すパラメータを処理の基点となるサーバ3に送信するので、処理の基点となるサーバ3では、このパラメータに従って、次の処理を行うサーバ3に対して成果物を送信することができる。さらに、成果物を生成したサーバ3が、次の処理を行うサーバに対してパラメータを機能呼び出し時のパラメータとして送信するという動作を繰り返すことによって、複数のサーバ3では、一連の処理を自立的に実行することができる。よって、アプリケーションプラットフォーム装置2は、既存の複数のサーバ3を簡易的な作業で自立的に動作させることができる。
【0081】
また、アプリケーションプラットフォーム装置2は、ワークフロー登録部241により、ワークフロー情報の実行スケジュールを受け付け、機能割当部242により、ワークフロー情報に基づいて、当該ワークフロー情報に含まれる複数のアプリケーションそれぞれの機能を割り当てるサーバを決定し、当該ワークフロー情報に含まれる実行スケジュールに基づいて、当該機能を割り当てる。
【0082】
このようにすることで、アプリケーションプラットフォーム装置2は、ワークフロー情報の登録者が所望するタイミングで、複数のサーバ3に対してアプリケーションの機能を割り当てることができる。
【0083】
また、アプリケーションプラットフォーム装置2は、ログ記憶制御部245により、機能を割り当てられた複数のサーバから、実行結果を取得してログDB233に記憶させ、実行結果出力部246により、ログDB233に記憶された実行結果を出力する。
【0084】
このようにすることで、アプリケーションプラットフォーム装置2は、アプリケーションの機能が割り当てられた複数のサーバ3における実行結果を一元的に管理することができる。
【0085】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されるものではない。
【0086】
本実施形態では、全てのアプリケーションの機能をワークフロー情報に基づいて割り当てることとしたが、これに限らない。例えば、ワークフロー情報に対して、既にアプリケーションの機能が割り当て済みのサーバ(稼動中のサーバ)を選択可能にしてもよい。
【符号の説明】
【0087】
1 アプリケーションプラットフォームシステム
2 サーバ
3 アプリケーションプラットフォーム装置
21 操作部
22 表示部
23 第1記憶部
24 第1制御部
33 第2記憶部
34 第2制御部
231 アプリケーション記憶部
232 ワークフロー記憶部
233 ログ記憶部
241 ワークフロー登録部
242 機能割当部
243 パラメータ生成部
244 パラメータ送信部
245 ログ記憶制御部
246 実行結果出力部
341 監視部
342 アプリケーション実行部
343 実行結果送信部

【特許請求の範囲】
【請求項1】
複数のサーバと通信可能に接続され、当該サーバに機能を割り当てて自立的に動作させるアプリケーションプラットフォーム装置であって、
アプリケーションと、前記アプリケーションの識別情報と、前記アプリケーションに対応する機能の説明とを関連付けて記憶するアプリケーション記憶手段と、
前記アプリケーションの識別情報と、前記アプリケーションの処理順とを関連付けてワークフロー情報として記憶するワークフロー情報記憶手段と、
前記アプリケーション記憶手段に記憶されている前記アプリケーションの識別情報と、前記アプリケーションの処理順とを、前記ワークフロー情報として受け付けて、前記ワークフロー情報記憶手段に記憶させるワークフロー登録手段と、
前記ワークフロー情報記憶手段に記憶された前記ワークフロー情報に基づいて、当該ワークフロー情報に含まれる複数のアプリケーションそれぞれの機能を割り当てるサーバを決定して当該機能を割り当てる機能割当手段と、
前記機能を割り当てられたサーバの物理的な処理の流れを示すパラメータを生成するパラメータ生成手段と、
前記機能を割り当てられたサーバのうち、処理の基点となるサーバに対して、前記パラメータ生成手段により生成されたパラメータを機能呼び出し時のパラメータとして送信するパラメータ送信手段と、
を備えるアプリケーションプラットフォーム装置。
【請求項2】
前記ワークフロー登録手段は、前記ワークフロー情報の実行スケジュールを受け付け、
前記機能割当手段は、前記ワークフロー情報に基づいて、当該ワークフロー情報に含まれる複数のアプリケーションそれぞれの機能を割り当てるサーバを決定し、当該ワークフロー情報に含まれる前記実行スケジュールに基づいて、当該機能を割り当てる、
請求項1に記載のアプリケーションプラットフォーム装置。
【請求項3】
前記サーバに割り当てられた機能の実行結果を記憶するログ記憶手段と、
前記機能を割り当てられた複数のサーバから、前記実行結果を取得して前記ログ記憶手段に記憶させるログ記憶制御手段と、
前記ログ記憶手段に記憶された前記実行結果を出力する実行結果出力手段と、
を備える、
請求項1又は2に記載のアプリケーションプラットフォーム装置。
【請求項4】
複数のサーバと、当該複数のサーバと通信可能に接続され、当該サーバに機能を割り当てて自立的に動作させるアプリケーションプラットフォーム装置とを備えるアプリケーションプラットフォームシステムであって、
前記アプリケーションプラットフォーム装置は、
アプリケーションと、前記アプリケーションの識別情報と、前記アプリケーションに対応する機能の説明とを関連付けて記憶するアプリケーション記憶手段と、
前記アプリケーションの識別情報と、前記アプリケーションの処理順とを関連付けてワークフロー情報として記憶するワークフロー情報記憶手段と、
前記アプリケーション記憶手段に記憶されている前記アプリケーションの識別情報と、前記アプリケーションの処理順とを、前記ワークフロー情報として受け付けて、前記ワークフロー情報記憶手段に記憶させるワークフロー登録手段と、
前記ワークフロー情報記憶手段に記憶された前記ワークフロー情報に基づいて、当該ワークフロー情報に含まれる複数のアプリケーションそれぞれの機能を割り当てるサーバを決定して当該機能を割り当てる機能割当手段と、
前記機能を割り当てられたサーバの物理的な処理の流れを示すパラメータを生成するパラメータ生成手段と、
前記機能を割り当てられたサーバのうち、処理の基点となるサーバに対して、前記パラメータ生成手段により生成されたパラメータを機能呼び出し時のパラメータとして送信するパラメータ送信手段と、
を備え、
前記複数のサーバそれぞれは、
前記アプリケーションを割り当てられ、かつ、前記パラメータを受信したことに応じて、前記アプリケーションを実行するアプリケーション実行手段と、
前記パラメータに基づいて、前記アプリケーション実行手段による前記アプリケーションの実行結果の出力先を特定し、特定された出力先に前記実行結果と、前記パラメータとを送信する実行結果送信手段と、
を備えるアプリケーションプラットフォームシステム。
【請求項5】
複数のサーバと通信可能に接続され、当該サーバに機能を割り当てて自立的に動作させるアプリケーションプラットフォーム装置の動作方法であって、
前記アプリケーションプラットフォーム装置は、
アプリケーションと、前記アプリケーションの識別情報と、前記アプリケーションに対応する機能の説明とを関連付けて記憶するアプリケーション記憶手段と、
前記アプリケーションの識別情報と、前記アプリケーションの処理順とを関連付けてワークフロー情報として記憶するワークフロー情報記憶手段と、を備え、
前記動作方法は、
前記アプリケーション記憶手段に記憶されている前記アプリケーションの識別情報と、前記アプリケーションの処理順とを、前記ワークフロー情報として受け付けて、前記ワークフロー情報記憶手段に記憶させるワークフロー登録ステップと、
前記ワークフロー情報記憶手段に記憶された前記ワークフロー情報に基づいて、当該ワークフロー情報に含まれる複数のアプリケーションそれぞれの機能を割り当てるサーバを決定して当該機能を割り当てる機能割当ステップと、
前記機能を割り当てられたサーバの物理的な処理の流れを示すパラメータを生成するパラメータ生成ステップと、
前記機能を割り当てられたサーバのうち、処理の基点となるサーバに対して、前記パラメータ生成ステップにおいて生成されたパラメータを機能呼び出し時のパラメータとして送信するパラメータ送信ステップと、
を含むアプリケーション装置の動作方法。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2013−12014(P2013−12014A)
【公開日】平成25年1月17日(2013.1.17)
【国際特許分類】
【出願番号】特願2011−143944(P2011−143944)
【出願日】平成23年6月29日(2011.6.29)
【出願人】(500257300)ヤフー株式会社 (1,128)
【Fターム(参考)】