(57)【特許請求の範囲】
【請求項１】
ローカル通信回線に接続されている機器の機器識別子と該機器の機能を少なくとも含む機器情報を取得する取得手段と、
前記機器情報の一部を匿名化する匿名化手段と、
前記匿名化手段によって処理された機器情報を、前記ローカル通信回線以外の回線に接続されている機能フロー生成装置に送信する送信手段と、
前記機能フロー生成装置から前記機器を用いる機能フローを受信する受信手段と、
前記機能フロー内の匿名化された情報を前記機器情報を用いて復元して、実行可能な機能フローを生成する生成手段
を有する情報処理装置。
【請求項２】
前記生成手段によって生成された機能フローを記憶する記憶手段と、
前記機能フローにしたがって、前記ローカル通信回線に接続されている機器を用いた実行を制御する制御手段
をさらに有する請求項１に記載の情報処理装置。
【請求項３】
請求項１又は２に記載の情報処理装置と、
該情報処理装置と通信可能な機能フロー生成装置
を有し、
前記機能フロー生成装置は、
前記情報処理装置から機器情報を受信する受信手段と、
前記機器情報内の機器を利用する機能フローのテンプレートを取得する取得手段と、
前記テンプレートから、前記機器情報を用いて、機能フローを生成する生成手段と、
前記生成手段によって生成された機能フローを、前記情報処理装置に送信する送信手段
を有する情報処理システム。
【請求項４】
コンピュータを、
ローカル通信回線に接続されている機器の機器識別子と該機器の機能を少なくとも含む機器情報を取得する取得手段と、
前記機器情報の一部を匿名化する匿名化手段と、
前記匿名化手段によって処理された機器情報を、前記ローカル通信回線以外の回線に接続されている機能フロー生成装置に送信する送信手段と、
前記機能フロー生成装置から前記機器を用いる機能フローを受信する受信手段と、
前記機能フロー内の匿名化された情報を前記機器情報を用いて復元して、実行可能な機能フローを生成する生成手段
として機能させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システム及び情報処理プログラムに関する。
【背景技術】
【０００２】
特許文献１には、接続される電子機器と搭載されるアプリケーションとを連携させた連携処理を行う連携処理装置、連携処理システム及びプログラムを提供することを課題とし、電子機器と接続され、アプリケーションからの要求を予め定義されたインタフェースを介して受け付け、電子機器を制御することによりアプリケーションと電子機器との連携処理を実行する連携処理装置であって、アプリケーションから電子機器の能力に関する情報の取得要求をインタフェースを介して受け付け、電子機器の能力に関する情報をアプリケーションに提供する能力情報提供手段と、能力に関する情報に基づいた実行要求をインタフェースを介して受け付け、実行要求に基づいて電子機器を制御する実行制御手段とを備えることが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−２２５２８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
機能フローにしたがって、通信回線に接続された機器を連携させて処理を行う技術がある。この処理が、ローカル通信回線以外の回線に接続されている連携処理装置の制御によって行われてしまうと、ローカル通信回線に接続されている機器に関する情報等が、その情報処理装置に漏洩してしまう可能性がある。
しかし、特許文献１に記載の技術では、連携処理装置と機器が双方向通信可能であることが前提になっており、外部の連携処理装置が、機器を制御可能となってしまう。
本発明は、ローカル通信回線以外の回線に接続されている情報処理装置から機能フローを受信するが、ローカル通信回線に接続されている機器に関する情報等が、その情報処理装置に漏洩してしまうことを防止するようにした情報処理装置、情報処理システム及び情報処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００５】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項１の発明は、ローカル通信回線に接続されている機器の機器識別子と該機器の機能を少なくとも含む機器情報を取得する取得手段と、前記機器情報の一部を匿名化する匿名化手段と、前記匿名化手段によって処理された機器情報を、前記ローカル通信回線以外の回線に接続されている機能フロー生成装置に送信する送信手段と、前記機能フロー生成装置から前記機器を用いる機能フローを受信する受信手段と、前記機能フロー内の匿名化された情報を前記機器情報を用いて復元して、実行可能な機能フローを生成する生成手段を有する情報処理装置である。
【０００６】
請求項２の発明は、前記生成手段によって生成された機能フローを記憶する記憶手段と、前記機能フローにしたがって、前記ローカル通信回線に接続されている機器を用いた実行を制御する制御手段をさらに有する請求項１に記載の情報処理装置である。
【０００７】
請求項３の発明は、請求項１又は２に記載の情報処理装置と、該情報処理装置と通信可能な機能フロー生成装置を有し、前記機能フロー生成装置は、前記情報処理装置から機器情報を受信する受信手段と、前記機器情報内の機器を利用する機能フローのテンプレートを取得する取得手段と、前記テンプレートから、前記機器情報を用いて、機能フローを生成する生成手段と、前記生成手段によって生成された機能フローを、前記情報処理装置に送信する送信手段を有する情報処理システムである。
【０００８】
請求項４の発明は、コンピュータを、ローカル通信回線に接続されている機器の機器識別子と該機器の機能を少なくとも含む機器情報を取得する取得手段と、前記機器情報の一部を匿名化する匿名化手段と、前記匿名化手段によって処理された機器情報を、前記ローカル通信回線以外の回線に接続されている機能フロー生成装置に送信する送信手段と、前記機能フロー生成装置から前記機器を用いる機能フローを受信する受信手段と、前記機能フロー内の匿名化された情報を前記機器情報を用いて復元して、実行可能な機能フローを生成する生成手段として機能させるための情報処理プログラムである。
【発明の効果】
【０００９】
請求項１の情報処理装置によれば、ローカル通信回線以外の回線に接続されている情報処理装置から機能フローを受信するが、ローカル通信回線に接続されている機器に関する情報等が、その情報処理装置に漏洩してしまうことを防止することができる。
【００１０】
請求項２の情報処理装置によれば、機能フローにしたがって、ローカル通信回線に接続されている機器を用いた実行を制御することができる。
【００１１】
請求項３の情報処理システムによれば、ローカル通信回線以外の回線に接続されている情報処理装置から機能フローを受信するが、ローカル通信回線に接続されている機器に関する情報等が、その情報処理装置に漏洩してしまうことを防止することができる。
【００１２】
請求項４の情報処理プログラムによれば、ローカル通信回線以外の回線に接続されている情報処理装置から機能フローを受信するが、ローカル通信回線に接続されている機器に関する情報等が、その情報処理装置に漏洩してしまうことを防止することができる。
【図面の簡単な説明】
【００１３】
【図１】本実施の形態の構成例についての概念的なモジュール構成図である。
【図２】本実施の形態を利用したシステム構成例を示す説明図である。
【図３】本実施の形態による処理例を示すフローチャートである。
【図４】機器情報テーブルのデータ構造例を示す説明図である。
【図５】フローテンプレートテーブルのデータ構造例を示す説明図である。
【図６】本実施の形態による処理例を示すフローチャートである。
【図７】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００１４】
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図１は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア（コンピュータ・プログラム）、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム（コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム）、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するという意味である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、１モジュールを１プログラムで構成してもよいし、複数モジュールを１プログラムで構成してもよく、逆に１モジュールを複数プログラムで構成してもよい。また、複数モジュールは１コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって１モジュールが複数コンピュータで実行されてもよい。なお、１つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続（データの授受、指示、データ間の参照関係等）の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、２以上の値（もちろんのことながら、全ての値も含む）が同じであってもよい。また、「Ａである場合、Ｂをする」という意味を有する記載は、「Ａであるか否かを判断し、Ａであると判断した場合はＢをする」の意味で用いる。ただし、Ａであるか否かの判断が不要である場合を除く。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク（一対一対応の通信接続を含む）等の通信手段で接続されて構成されるほか、１つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」（社会システム）にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、外部記憶媒体、通信回線を介した記憶装置、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）内のレジスタ等を含んでいてもよい。
【００１５】
本実施の形態であるフロー管理実行装置１００は、機器（電子機器）を連携させた処理を行わせるための情報処理装置であって、図１の例に示すように、フロー管理モジュール１４０、機能フロー記憶モジュール１５０、フロー実行モジュール１８０を有している。なお、フロー管理実行装置１００は、機器が接続されているローカル通信回線と同じローカル通信回線に接続されている。
ここで機器には、コンピュータ（パーソナルコンピュータ、サーバー等）の他に、コンピュータを搭載した機器である複写機、ファックス、スキャナ、プリンタ、複合機（スキャナ、プリンタ、複写機、ファックス等のいずれか２つ以上の機能を有している画像処理装置）等も含まれる。連携処理として、例えば、複合機（機器１）で読み込んだ画像を他のコンピュータ（機器２）に送信し、そのコンピュータ（機器２）で文字認識処理を行い、その画像と文字認識処理結果を他のコンピュータ（機器３）に送信し、そのコンピュータ（機器３）で画像内に文字認識処理結果を埋め込ませるファイル変換を行って格納する処理等がある。
このような連携処理を行う場合、連携させる機器として、例えば、社内の機器、不特定多数の利用者が利用し得るようになっている公衆回線等に接続されている機器が混在することがある。連携処理を制御する情報処理装置が公衆回線等に接続されている場合、社内の機器を連携させる機器として選択することは困難である。ファイアウォール等で外部からの制御ができないようになっている場合が多いからである。また、外部の機器から社内の機器を制御できるようにすることは、セキュリティ上好ましくない。一方、連携処理を行うためには、各機器の性能等の情報を予め入手しておく必要があり、その外部の機器の情報を入手するには、外部にある情報処理装置が適しており、社内の機器に関しては、社内の通信回線に接続されている情報処理装置が適している。さらに、この連携処理の手続きを記述したプログラムである連携フローは、連携フローを専門に扱う技術者が外部にいる可能性が高いので（又は社内で連携フローの専門家を育成する必要がないので）、連携フローの生成そのものは外部の情報処理装置が行うのに適している。
【００１６】
フロー管理モジュール１４０は、更新指示受付モジュール１０５、機器情報収集モジュール１１０、匿名化モジュール１１５、機能フロー生成依頼モジュール１２０、機能フロー受取モジュール１２５、復元モジュール１３０を有している。フロー管理モジュール１４０は、外部にある機能フロー生成装置２５０から機能フローを獲得する処理を行う。
更新指示受付モジュール１０５は、機器情報収集モジュール１１０と接続されている。更新指示受付モジュール１０５は、ローカル通信回線に接続されている機器の機器情報を更新させる指示を受け付ける。この更新指示は、例えば、ローカル通信回線に接続されているユーザー端末２２８からの管理者による更新指示であってもよいし、そのローカル通信回線に新たに接続された機器（バージョンアップ等された機器を含む）からの自動的に行われる更新指示であってもよい。また、更新指示受付モジュール１０５が、予め定められた期間毎に、ローカル通信回線に新たに接続された機器を検出するようにしてもよい。
【００１７】
機器情報収集モジュール１１０は、更新指示受付モジュール１０５、匿名化モジュール１１５と接続されている。機器情報収集モジュール１１０は、更新指示受付モジュール１０５が更新指示を受け付けたことに応じて、ローカル通信回線に接続されている機器の機器識別子とその機器の機能を少なくとも含む機器情報を取得する。ここで、機器情報として、例えば、機器情報テーブル４００がある。図４は、機器情報テーブル４００のデータ構造例を示す説明図である。機器情報テーブル４００は、機器ＩＤ欄４１０、機器種別欄４２０、機器名称欄４３０、バージョン欄４４０、ネットワークアドレス欄４５０、設置場所欄４６０、管理者欄４７０、機能１欄４８０、機能２欄４８２等を有している。機器ＩＤ欄４１０は、機器を、本実施の形態において一意に識別するための情報（機器ＩＤ：ＩＤｅｎｔｉｆｉｃａｔｉｏｎ）を記憶している。機器種別欄４２０は、その機器ＩＤが示す機器の機器種別（例えば、プリンタ、スキャナ等の種別）を記憶している。機器名称欄４３０は、その機器の名称を記憶している。バージョン欄４４０は、その機器のバージョンを記憶している。その機器のバージョンとして、機器に搭載されているソフトウェア等のバージョンであってもよい。ネットワークアドレス欄４５０は、その機器に接続するためのネットワークアドレスを記憶している。具体的には、ＩＰアドレス、ＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）等がある。設置場所欄４６０は、その機器が設置されている場所を記憶している。管理者欄４７０は、その機器の管理者を記憶している。機能１欄４８０は、その機器における機能１を記憶している。例えば、プリンタである場合は、カラー印刷可能か否か、印刷可能な用紙サイズ、フォント等がある。機能２欄４８２は、その機器における機能２を記憶している。
【００１８】
匿名化モジュール１１５は、機器情報収集モジュール１１０、機能フロー生成依頼モジュール１２０と接続されている。匿名化モジュール１１５は、機器情報収集モジュール１１０によって取得された機器情報の一部を匿名化する。例えば、匿名化対象の「機器情報の一部」として、特定の機器を識別することができるものがあり、例えば、機器識別子を含めてもよい。ここにおける「匿名化」とは、特定の機器を識別できないようにすることであり、具体的には、暗号化、変更処理（乱数に置き換える等）、その情報の一部の削除処理等がある。なお、機器種別、その機器の性能に関する情報は、匿名化の対象には含めない。また、匿名化した後の情報は、復元モジュール１３０において、復号することが可能であることが必要である。
機能フロー生成依頼モジュール１２０は、匿名化モジュール１１５と接続されている。機能フロー生成依頼モジュール１２０は、匿名化モジュール１１５によって処理された機器情報を、ローカル通信回線以外の回線に接続されている機能フロー生成装置２５０に送信する。ここでの機器情報は、機能フローを生成するために必要となるものである。
【００１９】
機能フロー受取モジュール１２５は、復元モジュール１３０と接続されている。機能フロー受取モジュール１２５は、機能フロー生成依頼モジュール１２０によって送信された依頼に対応した、機能フロー生成装置２５０から機器を用いる機能フローを受信する。ここでの機能フローは、ローカル通信回線に接続されている機器を利用するものが含まれている。
復元モジュール１３０は、機能フロー受取モジュール１２５、機能フロー記憶モジュール１５０と接続されている。復元モジュール１３０は、機能フロー受取モジュール１２５によって受信された機能フロー内の匿名化された情報を、機器情報を用いて復元して、実行可能な機能フローを生成する。そして、その機能フローを機能フロー記憶モジュール１５０に記憶させる。ここでの復元は、機能フローの処理を行わせるために、特定の機器を識別できるようにすることであり、匿名化モジュール１１５と逆の処理を行うものである。
【００２０】
機能フロー記憶モジュール１５０は、フロー管理モジュール１４０の復元モジュール１３０、フロー実行モジュール１８０の機能フロー抽出モジュール１６５と接続されている。機能フロー記憶モジュール１５０は、復元モジュール１３０によって生成された機能フローを記憶する。具体的には、いわゆる機能フローカタログとして、機能フローの検索、抽出が可能となるように記憶している。
【００２１】
フロー実行モジュール１８０は、機能フロー実行指示受付モジュール１６０、機能フロー抽出モジュール１６５、機能フロー実行制御モジュール１７０、実行結果返信モジュール１７５を有している。フロー実行モジュール１８０は、機能フロー記憶モジュール１５０に記憶されている機能フローにしたがって、ローカル通信回線に接続されている機器を用いた実行を制御する。
機能フロー実行指示受付モジュール１６０は、機能フロー抽出モジュール１６５と接続されている。機能フロー実行指示受付モジュール１６０は、機能フローの実行指示を受け付ける。ローカル通信回線に接続されているユーザー端末２２８、機器からのユーザーによる実行指示であってもよいし、機器から自動的に発せられた実行指示であってもよい。
機能フロー抽出モジュール１６５は、機能フロー実行指示受付モジュール１６０、機能フロー実行制御モジュール１７０、機能フロー記憶モジュール１５０と接続されている。機能フロー抽出モジュール１６５は、機能フロー実行指示受付モジュール１６０が受け付けた機能フローを機能フロー記憶モジュール１５０から抽出し、機能フロー実行制御モジュール１７０に渡す。
【００２２】
機能フロー実行制御モジュール１７０は、機能フロー抽出モジュール１６５、実行結果返信モジュール１７５と接続されている。機能フロー実行制御モジュール１７０は、機能フロー抽出モジュール１６５によって抽出された機能フローにしたがって、各機器（ローカル通信回線に接続されている機器、そのローカル通信回線以外の通信回線に接続されている機器を含む）を制御して処理を実行する。また、例えば、Ｗｅｂ  ＡＰＩの呼び出し、ＳＭＴＰでのデータ送信、ＦＴＰでのデータ送信等の基本的な機能を有していてもよい。
実行結果返信モジュール１７５は、機能フロー実行制御モジュール１７０と接続されている。実行結果返信モジュール１７５は、機能フロー実行制御モジュール１７０による機能フローの実行結果を送信する。送信先は、フロー管理実行装置１００に対して機能フローの実行指示を行ったユーザー端末２２８、機器等であってもよいし、機能フローに記載された送信先であってもよい。また、機能フローによっては、実行結果返信モジュール１７５による処理が不要である場合もある。
【００２３】
図２は、本実施の形態を利用したシステム構成例を示す説明図である。
例えば、会社、事業所、ビル等毎の拠点２３０には、機器能力収集装置２１０、フロー管理実行装置１００、ローカルネット機器群２２０、ユーザー端末２２８等が設置されている。そして、ローカルネット機器群２２０として、スキャナ２２２、プリンタ２２４、ファイルサーバー２２６等がある。機器能力収集装置２１０、フロー管理実行装置１００、スキャナ２２２、プリンタ２２４、ファイルサーバー２２６、ユーザー端末２２８は、通信回線２９６を介して通信可能に接続されている。
通信回線２９６は、無線、有線、これらの組み合わせであってもよく、例えば、社内ネット、通信インフラとしてのイントラネット、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等と呼ばれるものである。外部からはファイアウォール等によって保護されており、基本的に通信回線２９６に接続されている機器の情報を、通信回線２９８に接続されている機器に伝えないようにしている。
一方、通信回線２９８は、無線、有線、これらの組み合わせであってもよく、例えば、公衆回線、通信インフラとしてのインターネット、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等と呼ばれているものである。
【００２４】
機器能力収集装置２１０は、通信回線２９６に接続されているローカルネット機器群２２０内の機器に関する情報（機器の能力に関する情報、具体的には、機器情報テーブル４００で管理する情報）を収集し、フロー管理実行装置１００の機器情報収集モジュール１１０に渡す。収集方法としては、機器からの登録、又は機器への問い合わせによって行う。なお、フロー管理実行装置１００が呼び出し可能なクラウドサービス群２６０を対象の機器として、収集してもよい。例えば、フロー管理実行装置１００専用に利用可能となっている機器がクラウドサービス群２６０にある場合等が該当する。
【００２５】
フロー管理実行装置１００、機能フロー生成装置２５０、文字認識サービス処理装置２６２、文書変換サービス処理装置２６４等は、通信回線２９６、通信回線２９８を介して通信可能に接続されている。
クラウドサービス群２６０として、文字認識サービス処理装置２６２、文書変換サービス処理装置２６４等がある。
【００２６】
機能フロー生成装置２５０は、機能フローテンプレートＤＢ２５２、機能フロー生成モジュール２５４を有している。機能フロー生成装置２５０による機能は、クラウドサービスとして実現してもよい。
機能フローテンプレートＤＢ２５２は、機能フローのテンプレート（型、雛型）を記憶している。そのテンプレートは、その機能フロー内で用いる機器の機器種別をキーとして検索可能になっている。例えば、フローテンプレートテーブル５００を記憶している。図５は、フローテンプレートテーブル５００のデータ構造例を示す説明図である。フローテンプレートテーブル５００は、構成機器欄５１０、機能フローテンプレート欄５２０を有している。構成機器欄５１０は、機器種別で示される構成機器を記憶している。機能フローテンプレート欄５２０内の機能フローで利用している機器種別である。例えば、「Ｎｅｔｗｏｒｋ  Ｃｏｎｎｅｃｔｅｄ  Ｓｅｒｖｅｒ（スキャナ）」、「ＯＣＲ  Ｓｅｒｖｅｒ（文字認識処理装置）」、「ＳＭＴＰ（Ｓｉｍｐｌｅ  Ｍａｉｌ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）  Ｓｅｒｖｅｒ（メール送信サーバー）」等がある。機能フローテンプレート欄５２０は、機能フローのテンプレートを記憶している。このテンプレート内の「＜」、「＞」で囲まれた部分（下線部分）は、機器種別が示されている。また、機能フローテンプレートＤＢ２５２は、フロー管理実行装置１００と独立して、機能フローのテンプレートの追加、更新等が可能である。
【００２７】
機能フロー生成モジュール２５４は、フロー管理実行装置１００から機能フローの生成依頼とともに機器情報を受信する。
そして、機能フロー生成モジュール２５４は、その機器情報内の機器を利用する機能フローのテンプレートを、機能フローテンプレートＤＢ２５２から取得する。そのテンプレートから、機器情報を用いて、機能フローを生成する。その生成した機能フローをフロー管理実行装置１００（機能フローの生成依頼を送信したフロー管理実行装置１００）に送信する。その機能フローによって処理を行う機器として、クラウドサービス群２６０、ローカルネット機器群２２０内の機器がある。ただし、機能フローでは、クラウドサービス群２６０内の機器に対してはアクセス可能に記述されているが、ローカルネット機器群２２０内の機器に対しては匿名化されているので、機能フロー生成装置２５０からアクセスすることはできず、その機能フローによって制御することはできない。
具体的には、図５の例に示すフローテンプレートテーブル５００の機能フローテンプレート欄５２０内の「＜」、「＞」で囲まれた部分に機器にアクセスするための情報を埋め込む。なお、クラウドサービス群２６０内の機器であれば、アクセス可能な情報が埋め込まれるが、ローカルネット機器群２２０内の機器は、匿名化された情報が埋め込まれることになる。
【００２８】
図３は、本実施の形態（フロー管理モジュール１４０等）による処理例を示すフローチャートである。
ステップＳ３０２では、フロー管理実行装置１００の更新指示受付モジュール１０５は、ユーザー端末２２８Ａ等から機能フローの更新指示を受け付ける。
ステップＳ３０４では、フロー管理実行装置１００の機器情報収集モジュール１１０が、機器能力収集装置２１０から機器の情報を収集する。
ステップＳ３０６では、フロー管理実行装置１００の匿名化モジュール１１５が、機器情報を一部匿名化する。
ステップＳ３０８では、フロー管理実行装置１００の機能フロー生成依頼モジュール１２０が、匿名化した機器情報を付して、機能フロー生成依頼を機能フロー生成装置２５０に送信する。
【００２９】
ステップＳ３１０では、機能フロー生成装置２５０の機能フロー生成モジュール２５４が、機器情報から実現可能な機能フローを生成し、フロー管理実行装置１００に返す。機器種別の可能な組み合わせを生成して、その組み合わせをキーとして、機能フローテンプレートＤＢ２５２内を検索して、機能フローのテンプレートを抽出する。そして、テンプレートに機器（匿名化した機器を含む）を埋め込み、フロー管理実行装置１００に返す。
ステップＳ３１２では、フロー管理実行装置１００の機能フロー受取モジュール１２５は、機能フロー生成装置２５０から機能フローを受信する。
ステップＳ３１４では、フロー管理実行装置１００の復元モジュール１３０は、機能フロー内の匿名化された情報を復元し、実行可能なフローとして機能フロー記憶モジュール１５０に保存する。ステップＳ３１２で受信した機能フローの匿名化部分を解決して（実際の値に戻して）、機能フロー記憶モジュール１５０に機能フローカタログとして記憶させる。
【００３０】
図６は、本実施の形態による処理例を示すフローチャートである。
ステップＳ６０２では、フロー管理実行装置１００の機能フロー実行指示受付モジュール１６０が、ユーザー端末２２８Ａ等から機能フローを指定した実行指示を受け付ける。
ステップＳ６０４では、フロー管理実行装置１００の機能フロー抽出モジュール１６５が、機能フロー記憶モジュール１５０から指定された機能フローを抽出し、機能フロー実行制御モジュール１７０に渡す。
ステップＳ６０６では、フロー管理実行装置１００の機能フロー実行制御モジュール１７０が、その機能フローにしたがって、ローカルネット機器群２２０Ａ内の機能、又はクラウドサービス群２６０内のサービス処理装置に処理させる。
また、機能フロー実行制御モジュール１７０は、以下に示すような基本的な機能を有しており、処理を行うようにしてもよい。
・ＷｅｂＡＰＩの同期呼び出し（フローテンプレートテーブル５００内の例では、「Ｉｎｖｏｋｅ＿ａｎｄ＿ｗａｉｔ＿ｄａｔａ」等）
・ＳＭＴＰでのデータ送信
・簡単なデータ抽出（ＸＭＬから特定の要素の値を抽出する「ＸＰａｔｈ」、ＪＳＯＮから特定の要素の値を抽出する「ＪＳＯＮＰａｔｈ」、ＭＩＭＥの特定のパートを抽出する「ＭＩＭＥＰａｔｈ」等）
そして、機能フロー内では「コンテキスト」を保持し、各処理の間でのデータ受け渡しに使用することができる。例えば、「ｃｏｎｔｅｘｔ．ｄａｔａ」で前段のＡＰＩ呼び出しのレスポンスデータを取得できる。
ステップＳ６０８では、フロー管理実行装置１００の実行結果返信モジュール１７５が、処理結果をユーザー端末２２８Ａ等に返信する。
【００３１】
なお、本実施の形態としてのプログラムが実行されるコンピュータのハードウェア構成は、図７に例示するように、一般的なコンピュータであり、具体的にはパーソナルコンピュータ、サーバーとなり得るコンピュータ等である。つまり、具体例として、処理部（演算部）としてＣＰＵ７０１を用い、記憶装置としてＲＡＭ７０２、ＲＯＭ７０３、ＨＤ７０４を用いている。ＨＤ７０４として、例えばハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）を用いてもよい。更新指示受付モジュール１０５、機器情報収集モジュール１１０、匿名化モジュール１１５、機能フロー生成依頼モジュール１２０、機能フロー受取モジュール１２５、復元モジュール１３０、機能フロー記憶モジュール１５０、機能フロー実行指示受付モジュール１６０、機能フロー抽出モジュール１６５、機能フロー実行制御モジュール１７０、実行結果返信モジュール１７５、フロー実行モジュール１８０等のプログラムを実行するＣＰＵ７０１と、そのプログラムやデータを記憶するＲＡＭ７０２と、本コンピュータを起動するためのプログラム等が格納されているＲＯＭ７０３と、補助記憶装置（フラッシュメモリ等であってもよい）であるＨＤ７０４と、キーボード、マウス、タッチパネル、マイク等に対する利用者の操作に基づいてデータを受け付ける受付装置７０６と、ＣＲＴ、液晶ディスプレイ、スピーカー等の出力装置７０５と、ネットワークインタフェースカード等の通信ネットワークと接続するための通信回線インタフェース７０７、そして、それらをつないでデータのやりとりをするためのバス７０８により構成されている。これらのコンピュータが複数台互いにネットワークによって接続されていてもよい。
【００３２】
前述の実施の形態のうち、コンピュータ・プログラムによるものについては、本ハードウェア構成のシステムにソフトウェアであるコンピュータ・プログラムを読み込ませ、ソフトウェアとハードウェア資源とが協働して、前述の実施の形態が実現される。
なお、図７に示すハードウェア構成は、１つの構成例を示すものであり、本実施の形態は、図７に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア（例えば特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ：ＡＳＩＣ）等）で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図７に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、特に、パーソナルコンピュータの他、携帯情報通信機器（携帯電話、スマートフォン、モバイル機器、ウェアラブルコンピュータ等を含む）、情報家電、ロボット、複写機、ファックス、スキャナ、プリンタ、複合機などに組み込まれていてもよい。
【００３３】
前述の実施の形態のフローテンプレートテーブル５００においては、機種種別で機能フローのテンプレートを検索可能とするテーブル例を示したが、機種種別とその性能で機能フローのテンプレートを検索可能とするテーブルとしてもよい。その場合、機能フロー生成モジュール２５４は、フロー管理実行装置１００から受信した機種情報内の機種種別とその性能を用いて、機能フローテンプレートＤＢ２５２内の機能フローのテンプレートを検索してもよい。
【００３４】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通等のために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク（ＤＶＤ）であって、ＤＶＤフォーラムで策定された規格である「ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＡＭ等」、ＤＶＤ＋ＲＷで策定された規格である「ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等」、コンパクトディスク（ＣＤ）であって、読出し専用メモリ（ＣＤ−ＲＯＭ）、ＣＤレコーダブル（ＣＤ−Ｒ）、ＣＤリライタブル（ＣＤ−ＲＷ）等、ブルーレイ・ディスク（Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ）、光磁気ディスク（ＭＯ）、フレキシブルディスク（ＦＤ）、磁気テープ、ハードディスク、読出し専用メモリ（ＲＯＭ）、電気的消去及び書換可能な読出し専用メモリ（ＥＥＰＲＯＭ（登録商標））、フラッシュ・メモリ、ランダム・アクセス・メモリ（ＲＡＭ）、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリーカード等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、又は無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、又は別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して記録されていてもよい。また、圧縮や暗号化等、復元可能であればどのような態様で記録されていてもよい。
【符号の説明】
【００３５】
１００…フロー管理実行装置
１０５…更新指示受付モジュール
１１０…機器情報収集モジュール
１１５…匿名化モジュール
１２０…機能フロー生成依頼モジュール
１２５…機能フロー受取モジュール
１３０…復元モジュール
１４０…フロー管理モジュール
１５０…機能フロー記憶モジュール
１６０…機能フロー実行指示受付モジュール
１６５…機能フロー抽出モジュール
１７０…機能フロー実行制御モジュール
１７５…実行結果返信モジュール
１８０…フロー実行モジュール
２１０…機器能力収集装置
２２０…ローカルネット機器群
２２２…スキャナ
２２４…プリンタ
２２６…ファイルサーバー
２２８…ユーザー端末
２３０…拠点
２５０…機能フロー生成装置
２５２…機能フローテンプレートＤＢ
２５４…機能フロー生成モジュール
２６０…クラウドサービス群
２６２…文字認識サービス処理装置
２６４…文書変換サービス処理装置
２９６…通信回線
２９８…通信回線
【図１】
0006471644.tif 000002
【図２】
0006471644.tif 000003
【図３】
0006471644.tif 000004
【図４】
0006471644.tif 000005
【図５】
0006471644.tif 000006
【図６】
0006471644.tif 000007
【図７】
0006471644.tif 000008