(57)【特許請求の範囲】
【請求項１】
端末装置であって、
ＴＣＰ／ＩＰスタック上に、前記ＴＣＰ／ＩＰスタックを介したメッセージ交換機能、および、外部装置とのクロスプラットフォーム接続機能を有するメッセージ交換層である通信レイヤと、
前記通信レイヤを介して、ネットワークに通信可能に接続された通信レイヤを備えた前記外部装置とネットワーク接続を行う接続手段と、
前記端末装置上のガジェットと単数もしくは複数の前記外部装置上のガジェットと、または、複数の前記外部装置上のガジェットが、前記通信レイヤを介して互いに通信するパイプラインを構築するパイプライン構築手段と、
を備えたことを特徴とする端末装置。
【請求項２】
請求項１に記載の端末装置において、
前記パイプラインは、
実装されるＯＳの同一または非同一に係わらず、前記端末装置上のガジェットと単数もしくは複数の前記外部装置上のガジェットと、または、複数の前記外部装置上のガジェット、の間の通信と同期とを可能とするハイブリッドパイプラインであることを特徴とする端末装置。
【請求項３】
請求項１または２に記載の端末装置において、
入力／出力フォーマットに基づいて、前記パイプラインを構築するための前記ガジェットを検出するガジェット検出手段、
を更に備えたことを特徴とする端末装置。
【請求項４】
請求項１に記載の端末装置において、
前記端末装置上のガジェット、および／または、前記外部装置上のガジェットへのインターフェースであるローカルダッシュボード、
を更に備えたことを特徴とする端末装置。
【請求項５】
請求項１乃至４のいずれか一つに記載の端末装置において、
前記外部装置との通信および／または同期のために、前記外部装置とのメッセージ交換を中継するローカルプロキシ、
を更に備えたことを特徴とする端末装置。
【請求項６】
請求項１乃至３のいずれか一つに記載の端末装置において、
前記ガジェットと、前記端末装置上の別の前記ガジェットおよび／または前記外部装置上のガジェットと、の接続性を示すガジェットグラフを取得するガジェットグラフ取得手段、
を更に備えたことを特徴とする端末装置。
【請求項７】
請求項１乃至３のいずれか一つに記載の端末装置において、
前記ガジェットの、前記端末装置上の別の前記ガジェットおよび／または前記外部装置上のガジェットによる発見可能性を示す値である発見可能スコアを取得する発見可能スコア取得手段、
を更に備えたことを特徴とする端末装置。
【請求項８】
請求項１乃至３のいずれか一つに記載の端末装置において、
前記外部装置にて、前記パイプラインを実装可能とすることを特徴とする端末装置。
【請求項９】
請求項６に記載の端末装置において、
前記ガジェットグラフ取得手段は、
前記ガジェットから前記別のガジェットへの入力と出力との関数である接続性スコアに基づいて、前記ガジェットグラフを取得することを特徴とする端末装置。
【請求項１０】
請求項７に記載の端末装置において、
前記発見可能スコア取得手段は、
前記ガジェットから前記別のガジェットへの入力と出力との関数である接続性スコア、前記ガジェットに含まれる発見のコンテキストに関する情報であるコンテキストスコア、アクセス制御およびセキュリティレベルに関連付けられた特定の権限を定義したプリビレッジスコア、特定のライセンスプロパティに基づいて前記発見可能性を管理するライセンス形式を定義するライセンススコア、および／または、前記ガジェットの群集ダイナミクスを定量化した群衆スコアに基づいて、前記発見可能スコアを取得することを特徴とする端末装置。
【請求項１１】
請求項１乃至３のいずれか一つに記載の端末装置において、
前記パイプラインを構築する前記ガジェットを前記外部装置から一括ダウンロードするダウンロード手段、
を更に備えたことを特徴とする端末装置。
【請求項１２】
端末装置とゲートウェイサーバとを通信可能に接続した情報通信システムであって、
前記端末装置は、
ＴＣＰ／ＩＰスタック上に、前記ＴＣＰ／ＩＰスタックを介したメッセージ交換機能、および、外部装置とのクロスプラットフォーム接続機能を有するメッセージ交換層である通信レイヤと、
前記通信レイヤを介して、ネットワークに通信可能に接続された通信レイヤを備えた前記外部装置とネットワーク接続を行う接続手段と、
前記端末装置上のガジェットと単数もしくは複数の前記外部装置上のガジェットと、または、複数の前記外部装置上のガジェットが、前記通信レイヤを介して互いに通信するパイプラインを構築するパイプライン構築手段と、
を備え、
前記ゲートウェイサーバは、
ガジェットを管理および制御するクラウドベースの制御インターフェース、
を備えたことを特徴とする情報通信システム。
【請求項１３】
請求項１２に記載の情報通信システムにおいて、
更に、クラウドプロキシサーバと通信可能に接続され、
前記クラウドプロキシサーバは、
前記情報通信システム上の前記ガジェットへのインターフェースであるクラウドダッシュボード、
を更に備えたことを特徴とする情報通信システム。
【請求項１４】
請求項１３に記載の情報通信システムにおいて、
前記端末装置は、
前記クラウドプロキシサーバとの通信および／または同期のために、前記クラウドプロキシサーバとのメッセージ交換を中継するローカルプロキシ、
を更に備え、
前記クラウドプロキシサーバは、
前記端末装置との前記通信および／または前記同期のために、前記端末装置との前記メッセージ交換を中継するクラウドプロキシ、
を更に備えたことを特徴とする情報通信システム。
【請求項１５】
請求項１４に記載の情報通信システムにおいて、
前記ゲートウェイサーバは、
前記ガジェットの開発に使用するガジェットビルダー、
を更に備えたことを特徴とする情報通信システム。
【請求項１６】
ＴＣＰ／ＩＰスタック上に、前記ＴＣＰ／ＩＰスタックを介したメッセージ交換機能、および、外部装置とのクロスプラットフォーム接続機能を有するメッセージ交換層である通信レイヤを備えた端末装置において実行される情報通信方法であって、
前記通信レイヤを介して、ネットワークに通信可能に接続された通信レイヤを備えた前記外部装置とネットワーク接続を行う接続ステップと、
前記端末装置上のガジェットと単数もしくは複数の前記外部装置上のガジェットと、または、複数の前記外部装置上のガジェットが、前記通信レイヤを介して互いに通信するパイプラインを構築するパイプライン構築ステップと、
を含むことを特徴とする情報通信方法。
【請求項１７】
ＴＣＰ／ＩＰスタック上に、前記ＴＣＰ／ＩＰスタックを介したメッセージ交換機能、および、外部装置とのクロスプラットフォーム接続機能を有するメッセージ交換層である通信レイヤを備えた端末装置に実行させるためのプログラムであって、
前記通信レイヤを介して、ネットワークに通信可能に接続された通信レイヤを備えた前記外部装置とネットワーク接続を行う接続ステップと、
前記端末装置上のガジェットと単数もしくは複数の前記外部装置上のガジェットと、または、複数の前記外部装置上のガジェットが、前記通信レイヤを介して互いに通信するパイプラインを構築するパイプライン構築ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、端末装置、情報通信システム、情報通信方法、および、プログラムに関する。
【背景技術】
【０００２】
従来から、ネットワーク接続プラットフォームを提供する技術が開示されている。
【０００３】
非特許文献１に記載のＬａｙｅｒにおいては、Ｗｅｂプロトコル上に形成されるクラウドベースのプラットフォームを構築する技術が開示されている。
【０００４】
また、非特許文献２に記載のＢｌｕｅＳｔａｃｋｓにおいては、仮想化層を用いたエミュレータに関する技術が開示されている。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Ｌａｙｅｒ  （ｈｔｔｐｓ：／／ｌａｙｅｒ．ｃｏｍ／）
【非特許文献２】ＢｌｕｅＳｔａｃｋｓ  （ｈｔｔｐ：／／ｗｗｗ．ｂｌｕｅｓｔａｃｋｓ．ｃｏｍ／）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来のプラットフォームは、ハイパーテキストベース、または、クラウドベースであり、Ｗｅｂベースのアプリケーションとだけ接続可能であるという問題点を有していた。
【０００７】
また、図１に示すように、従来のプラットフォームを用いたクロスプラットフォーム技術は、仮想化技術に基づいているため、プラットフォームのスタック全体がベースのプラットフォーム上で実行（シミュレートまたはエミュレート）される必要があるため、パフォーマンスが向上しにくいという問題点を有していた。また、従来のクロスプラットフォーム技術においては、ローカルのメモリおよび処理能力への依存が大きく、仮想化を可能とするためにカーネルレベルでの処理を必要とし、異なるプラットフォーム上で実行しているアプリケーション間のデータ交換ができない、すなわち、仮想レイヤによりデータアクセスが制限されるという問題点を有していた。
【０００８】
本発明は、上記問題点に鑑みてなされたもので、基礎となるオペレーティングシステム（ＯＳ）、プラットフォーム、または、ハードウェアデバイスに関係なくクロスプラットフォーム接続のための機能を提供する端末装置、情報通信システム、情報通信方法、および、プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
このような目的を達成するため、本発明の端末装置は、ＴＣＰ／ＩＰスタック上に、前記ＴＣＰ／ＩＰスタックを介したメッセージ交換機能、および、外部装置とのクロスプラットフォーム接続機能を有するメッセージ交換層である通信レイヤ、を備えたことを特徴とする。
【００１０】
また、本発明の端末装置は、上記記載の端末装置において、前記端末装置上のガジェットと単数もしくは複数の前記外部装置上のガジェットと、または、複数の前記外部装置上のガジェットが、前記通信レイヤを介して互いに通信するパイプラインを構築するパイプライン構築手段、を更に備えたことを特徴とする。
【００１１】
また、本発明の端末装置は、上記記載の端末装置において、前記パイプラインは、実装されるＯＳの同一または非同一に係わらず、前記端末装置上のガジェットと単数もしくは複数の前記外部装置上のガジェットと、または、複数の前記外部装置上のガジェット、の間の通信と同期とを可能とするハイブリッドパイプラインであることを特徴とする。
【００１２】
また、本発明の端末装置は、上記記載の端末装置において、入力／出力フォーマットに基づいて、前記パイプラインを構築するための前記ガジェットを検出するガジェット検出手段、を更に備えたことを特徴とする。
【００１３】
また、本発明の端末装置は、上記記載の端末装置において、前記端末装置上のガジェット、および／または、前記外部装置上のガジェットへのインターフェースであるローカルダッシュボード、を更に備えたことを特徴とする。
【００１４】
また、本発明の端末装置は、上記記載の端末装置において、前記外部装置との通信および／または同期のために、前記外部装置とのメッセージ交換を中継するローカルプロキシ、を更に備えたことを特徴とする。
【００１５】
また、本発明の端末装置は、上記記載の端末装置において、前記ガジェットと、前記端末装置上の別の前記ガジェットおよび／または前記外部装置上のガジェットと、の接続性を示すガジェットグラフを取得するガジェットグラフ取得手段、を更に備えたことを特徴とする。
【００１６】
また、本発明の端末装置は、上記記載の端末装置において、前記ガジェットの、前記端末装置上の別の前記ガジェットおよび／または前記外部装置上のガジェットによる発見可能性を示す値である発見可能スコアを取得する発見可能スコア取得手段、を更に備えたことを特徴とする。
【００１７】
また、本発明の端末装置は、上記記載の端末装置において、前記外部装置にて、前記パイプラインを実装可能とすることを特徴とする。
【００１８】
また、本発明の端末装置は、上記記載の端末装置において、前記ガジェットグラフ取得手段は、前記ガジェットから前記別のガジェットへの入力と出力との関数である接続性スコアに基づいて、前記ガジェットグラフを取得することを特徴とする。
【００１９】
また、本発明の端末装置は、上記記載の端末装置において、前記発見可能スコア取得手段は、前記ガジェットから前記別のガジェットへの入力と出力との関数である接続性スコア、前記ガジェットに含まれる発見のコンテキストに関する情報であるコンテキストスコア、アクセス制御およびセキュリティレベルに関連付けられた特定の権限を定義したプリビレッジスコア、特定のライセンスプロパティに基づいて前記発見可能性を管理するライセンス形式を定義するライセンススコア、および／または、前記ガジェットの群集ダイナミクスを定量化した群衆スコアに基づいて、前記発見可能スコアを取得することを特徴とする。
【００２０】
また、本発明の端末装置は、上記記載の端末装置において、前記パイプラインを構築する前記ガジェットを前記外部装置から一括ダウンロードするダウンロード手段、を更に備えたことを特徴とする。
【００２１】
また、本発明の情報通信システムは、端末装置とゲートウェイサーバとを通信可能に接続した情報通信システムであって、前記端末装置は、ＴＣＰ／ＩＰスタック上に、前記ＴＰＣ／ＩＰスタックを介したメッセージ交換機能、および、外部装置とのクロスプラットフォーム接続機能を有するメッセージ交換層である通信レイヤ、を備え、前記ゲートウェイサーバは、ガジェットを管理および制御するクラウドベースの制御インターフェース、を備えたことを特徴とする。
【００２２】
また、本発明の情報通信システムは、上記記載の情報通信システムにおいて、更に、クラウドプロキシサーバと通信可能に接続され、前記クラウドプロキシサーバは、前記情報通信システム上の前記ガジェットへのインターフェースであるクラウドダッシュボード、を更に備えたことを特徴とする。
【００２３】
また、本発明の情報通信システムは、上記記載の情報通信システムにおいて、前記端末装置は、前記クラウドプロキシサーバとの通信および／または同期のために、前記クラウドプロキシサーバとのメッセージ交換を中継するローカルプロキシ、を更に備え、前記クラウドプロキシサーバは、前記端末装置との前記通信および／または前記同期のために、前記端末装置との前記メッセージ交換を中継するクラウドプロキシ、を更に備えたことを特徴とする。
【００２４】
また、本発明の情報通信システムは、上記記載の情報通信システムにおいて、前記ゲートウェイサーバは、前記ガジェットの開発に使用するガジェットビルダー、を更に備えたことを特徴とする。
【００２５】
また、本発明の情報通信方法は、端末装置において実行される情報通信方法であって、ＴＣＰ／ＩＰスタック上に、前記ＴＣＰ／ＩＰスタックを介したメッセージ交換機能、および、外部装置とのクロスプラットフォーム接続機能を有するメッセージ交換層である通信レイヤを介して、前記外部装置とネットワーク接続を行う接続ステップ、を含むことを特徴とする。
【００２６】
また、本発明のプログラムは、端末装置に実行させるためのプログラムであって、ＴＣＰ／ＩＰスタック上に、前記ＴＣＰ／ＩＰスタックを介したメッセージ交換機能、および、外部装置とのクロスプラットフォーム接続機能を有するメッセージ交換層である通信レイヤを介して、前記外部装置とネットワーク接続を行う接続ステップ、を実行させることを特徴とする。
【発明の効果】
【００２７】
この発明によれば、クロスＯＳアプリケーションの統合とデータ転送とを可能にするという効果を奏する。また、この発明によれば、現在の機構では不可能であるクロスＯＳアプリケーション制御を用いたプロセスを可能にするという効果を奏する。また、この発明によれば、シームレスに異なるデバイスと別のＯＳにインストールされた複数のアプリとを起動することができるという効果を奏する。また、この発明によれば、ユーザはどのデバイスやＯＳを使用しているかを心配することなく、複数のＯＳシームレスな方法で複数のデバイスの統合利用ができるという効果を奏する。
【図面の簡単な説明】
【００２８】
【図１】図１は、仮想化技術に基づく従来のクロスプラットフォーム技術の一例を示す図である。
【図２】図２は、本実施形態における情報通信システムの構成の一例を示すブロック図である。
【図３】図３は、本実施形態における情報通信システムの構成の一例を示すブロック図である。
【図４】図４は、本実施形態におけるプラットフォーム間接続の一例を示す図である。
【図５】図５は、本実施形態における端末装置の構成の一例を示すブロック図である。
【図６】図６は、本実施形態におけるダッシュボードの一例を示す図である。
【図７】図７は、本実施形態のガジェットグラフの一例を示す図である。
【図８】図８は、本実施形態のガジェットマトリックスの一例を示す図である。
【図９】図９は、本実施形態におけるクラウドダッシュボードの一例を示す図である。
【図１０】図１０は、本実施形態におけるクラウドダッシュボードの一例を示す図である。
【図１１】図１１は、本実施形態におけるクラウドダッシュボードの一例を示す図である。
【図１２】図１２は、本実施形態におけるクラウドダッシュボードの一例を示す図である。
【図１３】図１３は、本実施形態におけるパイプライン構築処理の一例を示すフロー図である。
【図１４】図１４は、本実施形態におけるパイプライン構築処理の一例を示すフロー図である。
【図１５】図１５は、本実施形態におけるパイプライン構築処理の一例を示すフロー図である。
【図１６】図１６は、本実施形態におけるパイプライン構築処理の一例を示すフロー図である。
【図１７】図１７は、本実施形態におけるパイプライン構築処理の一例を示すフロー図である。
【図１８】図１８は、本実施形態におけるパイプライン構築処理の一例を示すフロー図である。
【図１９】図１９は、本実施形態におけるパイプライン構築処理の一例を示すフロー図である。
【図２０】図２０は、本実施形態におけるパイプライン構築処理の一例を示すフロー図である。
【図２１】図２１は、本実施形態におけるパイプライン構築処理の一例を示すフロー図である。
【図２２】図２２は、本実施形態におけるパイプライン構築処理の一例を示すフロー図である。
【図２３】図２３は、本実施形態におけるパイプライン構築処理の一例を示すフロー図である。
【図２４】図２４は、本実施形態におけるパイプライン構築処理の一例を示すフロー図である。
【図２５】図２５は、本実施形態におけるパイプライン構築処理の一例を示すフロー図である。
【図２６】図２６は、本実施形態における情報通信システムのプラットフォームのシステムアーキテクチャの一例を示す図である。
【図２７】図２７は、本実施形態における通信概要の一例を示す図である。
【図２８】図２８は、本実施形態における通信概要の一例を示す図である。
【図２９】図２９は、本実施形態における情報通信システムの使用例を示す図である。
【図３０】図３０は、本実施形態における情報通信システムの使用例を示す図である。
【発明を実施するための形態】
【００２９】
以下に、本発明にかかる端末装置、情報通信システム、情報通信方法、および、プログラムの実施形態を図面に基づいて詳細に説明する。なお、この実施形態によりこの発明が限定されるものではない。
【００３０】
［情報通信システムの構成］
まず、本実施形態における情報通信システムの構成の一例について、図２および図３を参照して以下に説明する。ここで、図２および図３は、本実施形態における情報通信システムの構成の一例を示すブロック図であり、該構成のうち本発明に関係する部分のみを概念的に示している。
【００３１】
図２に示すように、本実施形態の情報通信システムは、概略的に、ローカルコア２０とローカルコアデータベース２１とローカルプロキシ３０とローカルダッシュボード６０とを少なくとも備えた端末装置１００、クラウドコア２２とクラウドプロキシ４０とクラウドプロキシデータベース４１とクラウドダッシュボード６１とを少なくとも備えたクラウドプロキシサーバ２００、および、ゲートウェイ５０とゲートウェイデータベース５１と開発部５２と管理制御パネル部５３とエンドユーザガジェットアクセス部５４と分析提案エンジン８０とを少なくとも備えたゲートウェイサーバ３００を通信可能に接続して構成される。
【００３２】
通信には、一例として、ネットワークを介した有線・無線通信等の遠隔通信等を含む。また、これら情報通信システムの各部は任意の通信路を介して通信可能に接続されている。ここで、図２に示すように、端末装置１００、クラウドプロキシサーバ２００、および、ゲートウェイサーバ３００は、ネットワークを介して互いに拡張プロトコル（メッセージ）１２を送受信してもよい。
【００３３】
ここで、本情報通信システムにおいて送受信されるプロトコル（メッセージ）は、通信用メッセージ群であってもよい。また、拡張プロトコルメッセージ１２は、主要な構成により要求される特別なメッセージ群であってもよい。
【００３４】
また、図２に示すように、端末装置１００と、ガジェット７０が実装された装置、ウェブサーバ、および／または、アプリケーション等とは、ネットワークを介してベースプロトコル（メッセージ）１１を送受信してもよい。また、図２に示すように、各装置の各部は、任意の通信路を介して拡張プロトコルメッセージ１２、ベースプロトコルメッセージ１１、および／または、内部メッセージ１３を送受信してもよい。
【００３５】
ここで、ベースプロトコルメッセージ１１は、全ての構成により要求されるメッセージ群であってもよい。また、端末装置１００、クラウドプロキシサーバ２００、および、ゲートウェイサーバ３００は、ネットワークを介して互いにベースプロトコルメッセージ１１を送受信してもよい。
【００３６】
なお、本情報通信システムにおいて、メッセージは、プログラミング言語特異的なＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）を束ねたプロトコルバインドＳＤＫ（Ｓｏｆｔｗａｒｅ  Ｄｅｖｅｌｏｐｍｅｎｔ  Ｋｉｔ）を含んでいてもよい。
【００３７】
ここで、端末装置１００において、ローカルコア２０は、ガジェット７０同士の通信を促進する仲介役として機能する。また、ローカルコアデータベース２１は、ガジェット７０同士の通信に関する情報を記憶する。また、ローカルプロキシ３０は、ローカルコア２０へのローカルのプロキシとして機能する。また、ローカルダッシュボード６０は、ガジェット７０に対するローカルのアクセスポイントとして機能する。
【００３８】
ここで、ガジェット７０は、クラウドベースのソフトウェアまたはサービス等のクラウドガジェット７１、自立型のインストール可能なソフトウェアまたはサービス等のローカルガジェット７２、および、本情報通信システム対応の対応機器７３などであってもよい。
【００３９】
また、図３に示すように、本情報通信システムは、概略的に、会社等においてクラウドガジェット７１または対応機器７３を実装したモバイル機器に通信可能に接続されたＷｉｎｄｏｗｓ（登録商標）  ＰＣ１００−１、スマートホームにおいて対応機器（測定機器）７３に通信可能に接続されたハブ１００−２、病院等において測定機器７３に通信可能に接続されたＬｉｎｕｘ（登録商標）／Ｍａｃ（登録商標）システム１００−３、対応機器７３を実装したドローンもしくはスマートカー、対応機器７３を実装したウェアブルデバイスもしくはセンサ、対応機器７３を実装したモバイル機器およびローカルガジェット７２を実装したクラウドアプリケーションに通信可能に接続されたクラウドプロキシサーバ２００、ならびに、第三者の支払ゲートウェイに通信可能に接続されたゲートウェイサーバ３００を通信可能に接続して構成される。
【００４０】
このように、本情報通信システムにおけるプロトコルは、プラットフォーム（Ｗｉｎｄｏｗｓ（登録商標）、Ｌｉｎｕｘ（登録商標）またはＭａｃ（登録商標）等）、および、ハードウェアデバイスに関係なく、クロスプラットフォームの接続のための機能を提供する。
【００４１】
ここで、図４を参照して、本実施形態におけるクロスプラットフォームの接続性について説明する。図４は、本実施形態におけるプラットフォーム間接続の一例を示す図である。
【００４２】
図４に示すように、様々なプラットフォーム（ｉＯＳ、Ａｎｄｒｏｉｄ（登録商標）、Ｗｉｄｏｗｓ（登録商標）、Ｍａｃ（登録商標）またはＬｉｎｕｘ（登録商標）等）を実装する端末装置１００、および、クラウドプロキシサーバ２００のベースプロトコル（通信レイヤ）１１は、ネットワークスタックの上に構築される。
【００４３】
それにより、通信レイヤ１１は、標準のＴＣＰ／ＩＰスタックを使用してネットワーク接続をサポートする全てのソフトウェアプログラム、デバイスおよびサービス間で水平統合する環境を提供することができる。
【００４４】
本情報通信システムは、ＴＣＰ／ＩＰスタックを介してメッセージ交換することにより、クロスプラットフォーム接続を可能としている。図４に示すように、本情報通信システムは、仮想化技術とは異なり、各プラットフォームのカーネルでプログラムを行い、その代りに、接続を可能にするために各プラットフォーム上のＴＣＰ／ＩＰスタックを利用している。
【００４５】
これにより、本情報通信システムは、仮想化技術のようなベースのプラットフォームのカーネルにＡＰＩまたはフックを必要としない、軽量メッセージ交換層である通信レイヤ１１を提供することができる。
【００４６】
また、本情報通信システムは、クロスプラットフォーム接続を可能とするために、プラットフォームまたはＯＳ毎に開発用のＡＰＩとプログラミングインターフェースとの独自のセットをユーザに提供してもよい。
【００４７】
また、本情報通信システムにおいて、全てのプラットフォームは、ＴＣＰ／ＩＰスタックを介して、各プラットフォーム上のアプリケーションにネットワーク接続可能である。
【００４８】
このように、本情報通信システムは、ＴＣＰ／ＩＰスタック上の通信レイヤ１１に基づいて、アプリケーション層のクロスプラットフォーム接続機能を提供することができ、地理的に離れたロケーションでも接続を確立することができる。
【００４９】
［端末装置１００の構成］
次に、本実施形態における端末装置１００の構成の詳細について、図３乃至図８を参照して以下に説明する。図５は、本実施形態における端末装置１００の構成の一例を示すブロック図であり、該構成のうち本発明に関係する部分のみを概念的に示している。
【００５０】
ここで、本実施形態における端末装置１００においては、各構成が一筐体内に全て備えられ、単独で処理を行うもの（スタンドアローン型）を、端末装置１００として説明するが、当該実施例に限らず、各構成が分離した筐体内に備えられ、ネットワーク等を介して接続されて一つの概念としての装置を構成するものであってもよい。
【００５１】
ここで、端末装置１００は、例えば、一般に市販されるデスクトップ型もしくはノート型のパーソナルコンピュータ等の情報処理装置、ハブ（集線装置）、タブレット端末、携帯電話、スマートフォン、ＰＨＳ、または、ＰＤＡ等の携帯端末装置等であってもよい。
【００５２】
また、図５に示すように、端末装置１００は、概略的に、制御部１０２と記憶部１０６を備える。ここで、制御部１０２は、端末装置１００の全体を統括的に制御するＣＰＵ等である。また、記憶部１０６は、各種のデータベースやテーブルなどを格納する装置である。
【００５３】
また、端末装置１００は、ＴＣＰ／ＩＰスタック上に、ＴＣＰ／ＩＰスタックを介したメッセージ交換機能、および、外部装置（他の端末装置１００、クラウドプロキシサーバ２００、ゲートウェイサーバ３００、ガジェット７０を実装したデバイス、モバイル機器、および／または、測定機器等）とのクロスプラットフォーム接続機能を有するメッセージ交換層である通信レイヤ１１を備えていてもよい。
【００５４】
また、端末装置１００は、外部装置との通信および／または同期のために、外部装置とのメッセージ交換を中継するローカルプロキシ３０を備えていてもよい。なお、本情報通信システムにおいては、ローカルコンポーネントからなるプロキシ内から、複数のデバイス、サービスまたはアプリケーションとの接続および同期を可能としている。
【００５５】
また、端末装置１００は、ローカルにある（端末装置１００上の）ガジェット７０、および／または、外部装置上のガジェット７０へのインターフェースであるローカルダッシュボード６０を備えていてもよい。ここで、ローカルダッシュボード６０は、ガジェット７０、および／または、パイプライン等を表示させてもよい。
【００５６】
また、ローカルダッシュボード６０は、Ｗｅｂ（ＨＴＭＬ）ベース、または、ＪａｖａＦＸ（登録商標）ベース等のユーザインターフェースであってもよい。また、ローカルダッシュボード６０は、端末装置１００がネットワーク接続していない場合でも、ローカルに格納されたガジェット７０へのインターフェースとしてアクセス可能であってもよい。
【００５７】
ここで、図６を参照して、本実施形態におけるローカルダッシュボード６０の一例について説明する。図６は、本実施形態におけるローカルダッシュボード６０の一例を示す図である。
【００５８】
図６に示すように、本実施形態におけるローカルダッシュボード６０は、端末装置１００に保存された、ユーザが利用可能な５つのパイプラインを表示している。
【００５９】
これら端末装置１００の各部は任意の通信路を介して通信可能に接続されている。更に、端末装置１００は、入出力部、および、入出力部の制御を行う入出力制御インターフェース部を備えていてもよく、端末装置１００とネットワーク（またはルータ等の通信装置）との間における通信制御を行う通信制御インターフェース部を備えていてもよい。
【００６０】
記憶部１０６に格納される各種のデータベースやテーブル（ローカルコアデータベース２１）は、固定ディスク装置等のストレージ手段である。例えば、記憶部１０６は、各種処理に用いる各種のプログラム、テーブル、ファイル、データベース、および、ウェブページ等を格納する。
【００６１】
また、図５において、制御部１０２は、ＯＳ等の制御プログラムや、各種の処理手順等を規定したプログラム、および、所要データを格納するための内部メモリを有する。そして、制御部１０２は、これらのプログラム等により、種々の処理を実行するための情報処理を行う。
【００６２】
制御部１０２は、ローカルに存在するコアエンジンであるローカルコア２０を備えてもよい。ここで、ローカルコア２０は、ガジェット７０を制御するためのコントローラとして機能し、機能概念的に、発見可能スコア取得部２０ａ、ガジェットグラフ取得部２０ｂ、ガジェット検出部２０ｃ、パイプライン構築部２０ｄ、および、ダウンロード部２０ｅを備える。
【００６３】
このうち、発見可能スコア取得部２０ａは、ガジェット７０の、ローカルにある（端末装置１００上の）別のガジェット７０および／または外部装置（別の端末装置１００、クラウドプロキシサーバ２００、ゲートウェイサーバ３００、ガジェット７０を実装したモバイル機器、ガジェット７０を実装した測定機器、または、ガジェット７０を実装したクラウドアプリケーション等）上のガジェット７０による発見可能性を示す値である発見可能スコアを取得する発見可能スコア取得手段である。
【００６４】
ここで、発見可能スコア取得部２０ａは、ガジェット７０から別のガジェット７０への入力と出力との関数である接続性スコア（Ｃｇ）、ガジェット７０に含まれる発見のコンテキストに関する情報であるコンテキストスコア（ＣＸｇ）、アクセス制御およびセキュリティレベルに関連付けられた特定の権限を定義したプリビレッジスコア（Ｐｇ）、特定のライセンスプロパティに基づいて発見可能性を管理するライセンス形式を定義するライセンススコア（Ｌｇ）、および／または、ガジェット７０の群集ダイナミクスを定量化した群衆スコア（ＣＷｇ）に基づいて、発見可能スコア（Ｄｇ＝ｆ（Ｃｇ，ＣＸｇ，Ｐｇ，Ｌｇ，ＣＷｇ））を取得してもよい。
【００６５】
ここで、Ｃｇは、２ガジェット７０間の接続の値を示してもよい。ここで、Ｃｇは、ガジェット７０−１からガジェット７０−２への入力（Ｉｇ）と出力（Ｏｇ）との関数（Ｃｇ＝ｆ（Ｉｇ，Ｏｇ））であってもよい。
【００６６】
また、ＣＸｇについて、各ガジェット７０には、アプリケーションドメイン（分析、データ処理等）のような発見のコンテキストに関する情報が含まれており、発見スコアの計算に使用されてもよい。
【００６７】
また、Ｐｇについて、各ガジェット７０は、Ｐｇを決定するアクセス制御およびセキュリティレベルの点で、それぞれ関連付けられた特定のプリビレッジを定義してもよい。また、Ｌｇについて、各ガジェット７０は、特定のライセンスプロパティに基づいて発見可能性を管理する独自のライセンス形式を定義してもよい。
【００６８】
また、アルゴリズムのメトリックに基づいて、上記の要因間のガジェット７０の値を算出する一方で、ＣＷｇは、使用パターン、ダウンロード統計および専門家の推薦に基づいて群衆ダイナミクスを定量化した値であってもよい。
【００６９】
Ｄｇは、ガジェットグラフ上のガジェット７０の表示方法を決定し、ユーザのクエリに基づいて、ユーザに対してどのようにガジェット７０を表示するかをコントロールしてもよい。
【００７０】
ここで、上記パラメータに基づいて、ガジェット７０のＤｇを最適化するために、クラウド上で実行されているアルゴリズムを用いてもよい。
【００７１】
また、ガジェットグラフ取得部２０ｂは、ガジェット７０と、ローカルにある（端末装置１００上の）別のガジェット７０および／または外部装置（例えば、別の端末装置１００、ゲートウェイサーバ３００、ガジェット７０を実装したモバイル機器、ガジェット７０を実装した測定機器、または、ガジェット７０を実装したクラウドアプリケーション等）上のガジェット７０と、の接続性を示すガジェットグラフを取得するガジェットグラフ取得手段である。
【００７２】
ここで、ガジェットグラフ取得部２０ｂは、ガジェット７０から別のガジェット７０への入力と出力との関数であるＣｇに基づいて、ガジェットグラフを取得してもよい。また、ガジェットグラフ取得部２０ｂは、ガジェット７０と、ローカルにある（端末装置１００上の）別のガジェット７０および外部装置上のガジェット７０と、の接続性をマトリックスビューで示すガジェットマトリックスを取得してもよい。
【００７３】
ここで、図７を参照して、本実施形態のガジェットグラフについて説明する。図７は、本実施形態のガジェットグラフの一例を示す図である。
【００７４】
図７に示すように、ガジェットグラフは、本実施形態のプラットフォーム内のガジェット７０が、他のどのガジェット７０と接続することができるかを、各ガジェット７０に関連する入力／出力（Ｉ／Ｏ）のパラメータに基づいて、ガジェット７０間の接続性を表している。
【００７５】
なお、ガジェット７０は、本実施形態の通信のためのメッセージ群であるプロトコルを用いて行う通信を理解できるソフトウェアプログラム、ハードウェアデバイス、サーバまたはクラウドベースのプログラム等であってもよい。
【００７６】
また、ガジェットグラフは、ガジェット７０の発見可能性とガジェット７０間のナビゲーションの可能性を容易にする。また、本実施形態における発見可能性は、下流ガジェット７０（他のガジェット７０からのデータやメッセージを受け取ることができるガジェット７０）または上流ガジェット７０（他のガジェット７０にデータまたはメッセージを送ることができるガジェット７０）を検出する機能であってもよい。
【００７７】
また、ガジェットグラフは、ガジェット７０間の相互接続性をキャプチャできる。また、ガジェットグラフ上の各ガジェット７０は、独自の通信とデータ交換フォーマット（Ｉ／Ｏ）との情報を保持していてもよい。また、ガジェットグラフは、ガジェット７０のグローバルな接続性を可視化できる。
【００７８】
なお、接続性マトリックス、すなわち、ガジェットグラフ上の各セルのサイズは、ガジェット７０のＣｇの値を示している。
【００７９】
また、図８を参照して、本実施形態のガジェットマトリックスについて説明する。図８は、本実施形態のガジェットマトリックスの一例を示す図である。
【００８０】
図８に示すように、ガジェットマトリックスは、ガジェット７０（Ｇ１−Ｇ２７）の接続性をマトリックスビューで表したものである。ここで、ガジェットマトリックスの各行および列は、ガジェット７０とＩ／Ｏを示している。
【００８１】
ガジェットマトリックスの行列の各セルは、行と列とで表される２つのガジェット７０間のデータおよびメッセージ交換の一般的なフォーマットの数を示している。また、ガジェットマトリックスは、他のガジェット７０との接続性（セルの値）に基づいて、ガジェット７０のクエリを可能にしている。
【００８２】
また、ガジェット検出部２０ｃは、入力／出力フォーマットに基づいて、パイプラインを構築するためのガジェット７０を検出するガジェット検出手段である。すなわち、ガジェット検出部２０ｃは、入力／出力（Ｉ／Ｏ）フォーマットに基づいて、ガジェット７０を自動検出できる。
【００８３】
また、ガジェット検出部２０ｃは、Ｉ／Ｏフォーマットに基づいた各ガジェットパラメータの自動設定をしてもよい。
【００８４】
また、パイプライン構築部２０ｄは、ローカルにある（端末装置１００上の）ガジェット７０と単数もしくは複数の外部装置（他の端末装置１００またはクラウド等）上のガジェット７０と、または、複数の外部装置上のガジェット７０が、通信レイヤ１１を介して互いに通信するパイプラインを構築するパイプライン構築手段である。
【００８５】
ここで、パイプラインは、実装されるＯＳの同一または非同一に係わらず、端末装置１００上のガジェットと単数もしくは複数の外部装置上のガジェットと、または、複数の外部装置上のガジェット、の間の通信と同期とを可能とするハイブリッドパイプラインであってもよい。
【００８６】
このように、パイプライン構築部２０ｄは、クロスプラットフォームダイナミックガジェットのパイプラインを構築できる。すなわち、パイプライン構築部２０ｄは、本情報通信システムを介して互いに通信（メッセージデータを送信）するガジェット７０同士のパイプラインを構築する機能を有する。
【００８７】
また、各ガジェット７０は、デバイス（センサ、ウェアラブルデバイス、スマートフォン、または、ソフトウェアプログラム等）のような別の構成要素であってもよく、異なるプログラミング言語であってもよく、異なるマシンおよびＯＳ（モバイル機器、パソコン、Ｍａｃ（登録商標）、センサネットワーク等）上に存在していてもよい。
【００８８】
また、パイプラインを構成するコンポーネントは、異なる地理的位置に別の物理マシン上で実行されていてもよい。また、パイプラインは、ローカルコア２０を実行している単一の端末装置（マシン）１００上、また、クラウド（クラウドコア２２を実行しているクラウドプロキシサーバ２００等）上で実行してもよい。このように、本情報通信システムにおける各構成は、他のユーザとのパイプラインを共有する機能を有していてもよい。
【００８９】
また、本情報通信システムは、ユーザが自分の研究等のワークフローにあわせて、適当なガジェット７０を選択し、ガジェット７０のパイプラインを定義するための機能を提供してもよい。
【００９０】
また、本情報通信システムは、パイプラインビルダーガジェット７０のプロトコルへの更新だけでなく、ゲートウェイ５０からパイプラインのための特定のガジェット７０を検出するための機能を提供してもよい。
【００９１】
また、ダウンロード部２０ｅは、データ等を外部装置からダウンロードするダウンロード手段である。ここで、ダウンロード部２０ｅは、パイプラインを構築するガジェット７０を外部装置（例えば、ゲートウェイサーバ３００等）から一括ダウンロードしてもよい。また、ダウンロード部２０ｅは、クラウド上のパイプラインを保存する機能を有している。
【００９２】
例えば、ダウンロード部２０ｅは、ゲートウェイ５０（ガジェット７０のウェブストア）からバンドルとして、パイプラインに関係する全てのガジェット７０を一括ダウンロードする機能を有していてもよい。
【００９３】
ここで、図５に示すように、ローカルコア２０は、Ｗｉｎｄｏｗｓ（登録商標）、Ｍａｃ（登録商標）またはＬｉｎｕｘ（登録商標）等が実行されている各端末装置（マシン）１００の制御部１０２に実装される。また、各ガジェット７０（各マシンのＯＳ上で動作するソフトウェアまたはアプリケーション等）は、ローカルコア２０とやりとりする。
【００９４】
また、ローカルコア２０は、端末装置（ハブ）１００−２の制御部１０２に実装されてもよい。また、各ガジェット７０（ＩｏＴ（Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ）内にあるデバイスまたはセンサ等）は、ハブ１００−２上に実装されているローカルコア２０と通信してもよい。
【００９５】
なお、端末装置１００は、外部装置（他の端末装置１００、または、クラウドプロキシサーバ２００等）にて、パイプラインを実装可能としてもよい。
【００９６】
また、図３に示すように、ローカルコア２０は、プラットフォームの中央部分を形成し、機能拡張のために更新する機能を提供してもよい。また、ベースプロトコルおよび拡張プロトコルに基づいて安定化されたローカルコア２０は、Ｗｉｎｄｏｗｓ（登録商標）、Ｍａｃ（登録商標）またはＬｉｎｕｘ（登録商標）のような異なるプラットフォーム上で機能する必要があるため、全ての機能をサポートしてもよい。
【００９７】
また、ローカルコア２０は、パイプライン機能をサポートするように全ての関連プロトコルを更新し、パイプラインガジェットのサポートに関連する更新も行う機能を提供してもよい。
【００９８】
また、ローカルコア２０は、ライセンス機能をサポートするために、プロトコルレベルの変更を行い、全てのガジェット７０が特定のライセンス無しで発見できないように、ライセンスの種類を開発者が設定できる機能を提供してもよい。このライセンス追加機能により、有料のガジェット７０が、無料またはオープンソースのライセンスを持つガジェット７０から発見できなくなる。
【００９９】
また、ローカルコア２０は、ローカルダッシュボード６０にガジェットソーシャル機能をサポートするためにプロトコルレベルの変更を行う機能を提供してもよい。また、ローカルコア２０（ダウンロード部２０ｅ）は、平行して同時に複数のガジェット７０をダウンロードする機能、および、ダウンロードの進捗状況を示すテーブル形式のシンプルなユーザインターフェース（ＵＩ）でダウンロード状況を表示できるような機能を提供してもよい。
【０１００】
また、ローカルコア２０は、端末装置（デバイス）１００のオフラインからオンラインへの変更を、デバイス１００へのガジェット７０のダウンロードをトリガとして設定する機能を提供してもよい。これにより、ローカルコア２０（ダウンロード部２０ｅ）は、デバイス１００のオフライン時にキューが入れられ、自動的にゲートウェイサーバ３００と同期したウェブストアから全てのガジェット７０をデバイス１００にダウンロードする機能を提供してもよい。
【０１０１】
また、ローカルコア２０は、ベースプロトコルおよび拡張プロトコルの全ての通信を追跡するロギングモジュールを備えていてもよい。当該ロギングモジュールは、ローカルコア２０へのバックエンド機能として統合されてもよい。また、ローカルコア２０は、記録されたログをインターネット上で実行されているロギングサーバ等にアップデートしてもよい。
【０１０２】
ここで、ロギングモジュールは、ローカルコア２０起動時に開始され、ローカルコア２０の実行中作動してもよい。このため、ユーザ操作により、ロギングモジュールを実行する必要はない。また、ユーザは、ゲートウェイ５０にログインせずにガジェット７０を使用することができるため、ロギングモジュールは、ゲートウェイ５０へのログインの有無に係わらず、動作するようにしてもよい。
【０１０３】
また、ロギングモジュールは、ユーザがゲートウェイ５０またはクラウドダッシュボード６１にログインしていない場合、全ての関連データを収集し、ローカルデータベース（ローカルコアデータベース２１）またはログファイルに格納（アプリケーションの一部としてバンドル）してもよい。
【０１０４】
また、ロギングモジュールは、ユーザがゲートウェイ５０またはクラウドダッシュボード６１に接続（ログイン）している場合、ローカルデータベース（ローカルコアデータベース２１）またはログファイルに格納されたデータをロギングサーバ等にアップロードしてもよい。なお、ロギングサーバのログでは、ｄｅｖｉｃｅ＿ＩＤ、ＩＮＦＯ、ＥＲＲＯＲ、ＤＥＢＵＧ等のログレベルのパラメータに基づいて検索することができる。
【０１０５】
また、図３に示すように、ローカルダッシュボード６０は、ユーザにとってのプラットフォームへのメインウィンドウとなっている。ここで、ローカルダッシュボード６０は、ゲートウェイ５０に接続せずにローカルコア２０で動作してもよい。
【０１０６】
例えば、ローカルダッシュボード６０は、ＷｅｂベースまたはＪａｖａＦＸ（登録商標）ベースであり、ダウンロードした全ガジェット７０を表示し、ダウンロードしたガジェット７０を検索する機能を提供してもよい。また、ローカルダッシュボード６０は、ユーザ定義のタグによりローカルガジェットを分類する機能を提供してもよい。
【０１０７】
また、ローカルダッシュボード６０は、インターネット接続なしにローカルで実行可能である。ここで、ユーザがローカルダッシュボード６０を使用して、任意のプラットフォームの任意の場所で実行されている任意の端末装置（デバイス）１００を見ることができてもよい。
【０１０８】
また、ユーザは、任意の端末装置（デバイス）１００の任意のガジェット７０をダウンロードし、ダウンロードの進行状況をローカルダッシュボード６０からモニタリングできてもよい。また、ユーザは、ローカルダッシュボード６０からガジェット７０を削除したり、ガジェット７０を実行したりできてもよい。
【０１０９】
また、ローカルダッシュボード６０は、ローカルにダウンロードしたガジェット７０を分類する機能を提供することができる。また、ローカルダッシュボード６０は、ローカルとクラウドとのガジェット７０を分類してもよい。ここで、ローカルダッシュボード６０は、１つのガジェット７０を複数のカテゴリに分類する機能を提供してもよい。なお、これらのカテゴリは、ウェブストアで利用可能なカテゴリおよびタグとは関係ない。
【０１１０】
また、ローカルダッシュボード６０は、ガジェットソーシャル機能を提供するため、ガジェット管理を簡便にできる。また、ローカルダッシュボード６０は、サポートされている全てのデータ形式に関連した任意の形式のデータをロードする機能を提供してもよい。
【０１１１】
また、ローカルダッシュボード６０は、ワークフロー作成機能を提供し、ユーザのパイプラインの実行を可能としてもよい。
【０１１２】
［クラウドプロキシサーバ２００の構成］
また、本実施形態におけるクラウドプロキシサーバ２００の構成の詳細について、図２、図３および図９乃至図１２を参照して以下に説明する。
【０１１３】
クラウドプロキシサーバ２００は、クラウドサービス（クラウドコンピューティング）を提供する情報処理装置であって、端末装置１００等とゲートウェイサーバ３００とのネットワークを中継するものであってもよい。なお、本実施形態において、クラウドプロキシサーバ２００は、既知のパーソナルコンピュータ、ワークステーション等の情報処理装置として構成してもよく、また、該情報処理装置に任意の周辺装置を接続して構成してもよい。
【０１１４】
図２および図３に示すように、クラウドプロキシサーバ２００において、クラウドコア２２は、クラウドに存在するコアエンジンであり、ガジェット７０を制御するためのコントローラとして機能し、ガジェット７０同士の通信を促進する仲介役として機能する。
【０１１５】
また、クラウドコア２２は、プラットフォームの中央部分を形成し、機能拡張のために更新する機能を提供してもよい。また、ベースプロトコルおよび拡張プロトコルに基づいて安定化されたクラウドコア２２は、ローカルコア２０が備える全ての機能、および、構成（例えば、発見可能スコア取得部２０ａ乃至ダウンロード部２０ｅに相当する構成等）を備えていてもよい。
【０１１６】
また、クラウドプロキシサーバ２００において、クラウドプロキシ４０は、クラウドベースのプロキシとして機能する。また、クラウドプロキシ４０は、ガジェット７０のパイプラインを構築するためのクラウドベースのプラットフォームを提供してもよい。また、端末装置１００上で実行されるガジェット７０は、クラウドにおけるクラウドプロキシ４０と通信してもよい。また、パイプラインは、クラウド（クラウドプロキシサーバ２００）上で実行することができる。
【０１１７】
このように、本情報通信システムにおいては、クラウド・コンポーネントからなるプロキシ内から、複数のデバイス、サービスまたはアプリケーションの接続および同期を可能としている。
【０１１８】
また、本情報通信システムにおいては、クラウドプロキシ４０とローカルプロキシ３０とが通信し、メッセージを交換し、クロスプラットフォームでデバイス、サービスまたはアプリケーションとの接続を可能としている。
【０１１９】
また、クラウドプロキシデータベース４１は、各種のデータベース、テーブル、および／または、ファイルなどを格納するストレージ手段であり、クラウドプロキシ４０を介したガジェット７０同士の通信に関する情報を記憶する。
【０１２０】
また、クラウドプロキシサーバ２００において、クラウドダッシュボード６１は、ガジェット７０に対するクラウドベースのアクセスポイントとして機能する。ここで、ユーザは、クラウドプロキシサーバ２００に通信可能に接続された任意の端末装置１００等から、クラウドダッシュボード６１を利用可能である。
【０１２１】
ここで、クラウドダッシュボード６１は、ユーザが任意のプラットフォームの任意の場所で実行されている任意の端末装置（デバイス）１００を見る機能を提供してもよい。また、クラウドダッシュボード６１は、任意の端末装置（デバイス）１００の任意のガジェット７０をダウンロードし、ダウンロードの進行状況をユーザにモニタリングさせる機能を提供してもよい。
【０１２２】
また、クラウドダッシュボード６１は、ユーザにローカルダッシュボード６０のガジェット７０を削除、および、ガジェット７０を実行する機能を提供してもよい。
【０１２３】
このように、ユーザは、クラウドベースのクラウドダッシュボード６１を利用可能であり、ユーザがクラウドダッシュボード６１を使用した場合、任意のプラットフォームの任意の場所で実行されている任意の端末装置（デバイス）１００を見ることができる。
【０１２４】
また、クラウドダッシュボード６１は、どのデバイス（Ｗｉｎｄｏｗｓ（登録商標）、Ｍａｃ（登録商標）、または、他デバイス等）上にあるローカルダッシュボード６０にもアクセスできる。すなわち、クラウドダッシュボード６１は、任意のデバイスにあるローカルダッシュボード６０上で稼働するすべてのガジェット７０に対しても、ブラウザを介してクラウドからアクセスできる。
【０１２５】
ここで、図９乃至図１２を参照して、本実施形態におけるクラウドダッシュボード６１へのログインの一例について説明する。図９乃至図１２は、本実施形態におけるクラウドダッシュボード６１の一例を示す図である。
【０１２６】
図９に示すように、ユーザは任意の端末装置１００等からクラウドダッシュボード６１にログインする。
【０１２７】
そして、図１０に示すように、ユーザは、ローカルダッシュボード６０にアクセスしたいデバイスＤ１からデバイスＤ４を選択する。もしデバイスがオンラインであれば、ユーザは同じユーザ名とパスワードで、そのデバイスにログインする。ログインされたデバイス（デバイスＤ３およびデバイスＤ４）は、緑色で表示される。
【０１２８】
ここで、もしデバイスがオフラインであれば、赤色で表示される。図１０において、オフラインとして表示されたデバイスＤ１およびデバイスＤ２は、通信可能に接続されていないか、ログインされていないかのいずれかの状態であってもよい。
【０１２９】
そして、図１１に示すように、ユーザがデバイスを選択した場合、ユーザは、そのデバイス上のどのガジェット７０（ガジェットＧ１乃至ガジェットＧ１０）に対してもアクセス、起動、および、データの送信が可能となる。
【０１３０】
ここで、図１１に示すように、ユーザの操作する端末装置１００と選択したデバイスとのプラットフォーム（Ｗｉｎｄｏｗｓ（登録商標））は、同一であってもよい。
【０１３１】
また、図１２に示すように、クラウドダッシュボード６１は、ユーザの操作する端末装置１００とプラットフォーム的に異なるデバイス上にあるガジェット７０（ガジェットＧ１１乃至ガジェットＧ１５）にアクセスし、クラウドダッシュボード６１のインターフェースから、異なるデバイスおよび／またはＯＳ（ｉＯＳ）上で動作する別のガジェット７０にデータを送信する機能を提供してもよい。
【０１３２】
［ゲートウェイサーバ３００の構成］
また、本実施形態におけるゲートウェイサーバ３００の構成の詳細について、図２および図３を参照して以下に説明する。
【０１３３】
ゲートウェイサーバ３００は、クラウドサービスを提供する情報処理装置であって、クラウドベースのインターフェースを提供し、ガジェット７０の開発者、ユーザおよび管理者のための高度な機能を提供するものであってもよい。なお、本実施形態において、ゲートウェイサーバ３００は、既知のパーソナルコンピュータ、ワークステーション等の情報処理装置として構成してもよく、また、該情報処理装置に任意の周辺装置を接続して構成してもよい。
【０１３４】
図２および図３に示すように、ゲートウェイサーバ３００において、ゲートウェイ５０は、ガジェット７０のマーケット、および、中枢管理命令部門として機能する。
【０１３５】
また、ゲートウェイデータベース５１は、各種のデータベース、テーブル、および／または、ファイルなどを格納するストレージ手段であり、ガジェット７０等を記憶する。
【０１３６】
また、開発部（開発者ポータル）５２は、開発者にガジェット７０の開発環境を提供する。ここで、開発部５２は、ガジェット７０の開発に使用するガジェットビルダーを提供してもよい。
【０１３７】
また、管理制御パネル部（管理者ポータル）５３は、ゲートウェイ５０を管理するための制御インターフェースの提供等の機能を有する。ここで、管理制御パネル部５３は、ガジェット７０を管理および制御するクラウドベースの制御インターフェースを備えていてもよい。
【０１３８】
また、エンドユーザガジェットアクセス部５４は、ガジェット７０の実行を可能とするクラウド環境の提供等の機能を有する。
【０１３９】
また、分析提案エンジン８０は、ガジェット７０の分析および提案等を行う機能を有する。
【０１４０】
ここで、ゲートウェイ５０は、ガジェット７０をブラウズし、タグベースの検索に基づいて、それらのガジェット７０をユーザが検索可能な機能を備えていてもよい。また、開発者ポータル５２から開発者は、ガジェット７０にタグを付けることができる。また、開発者は、特定のガジェット７０に対して最大５つのタグを付けられてもよい。
【０１４１】
また、ゲートウェイ５０は、指定された検索ボックスにユーザにより任意の単語が入力された場合、予め付加されたタグを使用してガジェット７０を検索し、タグのいずれかに関連した単語に一致する全てのガジェット７０を検索して、結果を表示させてもよい。
【０１４２】
また、ゲートウェイ５０は、ガジェットプラットフォーム、または、ガジェット提供者等の全てのデフォルトのタグをガジェット７０の詳細ページに表示させてもよい。また、ゲートウェイ５０のガジェット７０のマーケット（ウェブストア）は、ユーザによりプラットフォームタグがクリックされた場合、該当するプラットフォームに関連する全てのガジェット７０を表示させてもよい。
【０１４３】
また、ガジェット７０のウェブストアは、ユーザにより提供者タグがクリックされた場合、該当する提供者によりアップロードされた全てのガジェット７０を表示させてもよい。
【０１４４】
また、ガジェット７０のウェブストアは、ＦＡＱ（よくある質問）形式のフォーマットで、生物学分野等に共通の問題領域のリストを表示させてもよい。そして、分析提案エンジン８０は、対応するガジェット７０を提案・表示させてもよい。
【０１４５】
また、管理ポータルは、ＦＡＱのスタイルタグに基づいて、対応するガジェット７０を供給するためのインターフェースを提供してもよい。すなわち、管理ポータルは、ユーザが頻繁に聞く質問が入力された場合、検索結果として対応するガジェット７０の名称を表示してもよい。
【０１４６】
ガジェット７０のウェブストアは、ガジェット７０の詳細ページで、同様の入出力フォーマットを有するガジェット７０を全て表示させてもよい。また、ガジェット７０のウェブストアは、類似の出力フォーマットを有するガジェット７０をセクション：Ｕｐｓｔｒｅａｍ  ｏｆ  ｍｅ（私の上流）に表示させてもよい。
【０１４７】
また、ガジェット７０のウェブストアは、同様の入力フォーマットを有するガジェット７０をセクション：Ｄｏｗｎｓｔｒｅａｍ  ｏｆ  ｍｅ（私の下流）に表示させてもよい。
【０１４８】
また、ガジェット７０のウェブストアは、評価数、レビュー数、インストール数、および／または、投票数等のパラメータに基づいて、ガジェット７０を検索する機能を提供してもよい。
【０１４９】
また、ガジェット７０のウェブストアは、複数のガジェット７０を一括ダウンロードするためのカートへの複数ガジェット７０の一括追加機能を提供してもよい。
【０１５０】
また、ガジェット７０のウェブストアは、ユーザがカート機能に類似したガジェットバンドルに１つまたは複数のガジェット７０を追加する機能を提供してもよい。
【０１５１】
そして、ガジェット７０のウェブストアは、ガジェットバンドルページを探索することで、追加された全てのガジェット７０を一括ダウンロードさせ、インストールさせる機能を提供してもよい。
【０１５２】
また、ユーザは、ダウンロードする前に、ガジェットバンドルをカテゴリと関連付けてもよい。ここで、端末装置１００は、ガジェットバンドルからダウンロードした全てのガジェット７０を、関連するカテゴリごとにローカルダッシュボード６０に表示させてもよい。
【０１５３】
また、ゲートウェイ５０は、ガジェットバンドルまたはインスタンス（ガジェット７０をセットにするパッケージ化バージョン）をアップロードまたはダウンロードする機能を提供してもよい。なお、ガジェットバンドルとインスタンスとの違いは、インスタンスにローカルコア２０とローカルダッシュボード６０とが含まれていることである。
【０１５４】
また、ガジェット７０のウェブストアは、ダウンロード用に別のページを備えていてもよい。ここで、別のページでは、いくつかのガジェット７０、ローカルコア２０およびローカルダッシュボード６０を含むパッケージ化されたバージョンをダウンロードさせる機能を提供してもよい。ここで、パッケージ化されたバージョンは、Ｗｉｎｄｏｗｓ（登録商標）またはＭａｃ（登録商標）等の異なるＯＳプラットフォームで利用できる。
【０１５５】
また、ゲートウェイ５０は、ガジェット７０のダウンロードおよびインストールの統計／履歴を、ゲートウェイ５０上のユーザページに表示させてもよい。これにより、ユーザは、サインインするたびに、登録された全てのデバイスに対してガジェット７０のダウンロード履歴を確認することができる。
【０１５６】
ここで、ゲートウェイ５０は、ダウンロードしたガジェット名、バージョン、プラットフォーム、デバイス、ダウンロード日付、および／または、ダウンロードステータス等をユーザページに表示させてもよい。
【０１５７】
また、ユーザは、デバイス、プラットフォーム、および、ダウンロードステータス（成功／失敗）の３つのパラメータに基づいて、ガジェット７０のダウンロード履歴をフィルタリングすることができる。
【０１５８】
また、ゲートウェイ５０は、ユーザがこれまでダウンロードした全てのガジェット７０を確認できるように、ガジェット７０のダウンロード履歴を表示するアーキテクチャをサポートする機能を提供してもよい。
【０１５９】
また、ゲートウェイ５０は、特定のユーザが全てのデバイスを管理する機能を提供してもよい。ここで、管理制御パネル部５３は、デバイスの削除、または、名前の変更等を行う機能を提供してもよい。
【０１６０】
また、ゲートウェイ５０は、画像のアップロード、または、ガジェット７０ウェブストアにより提供される利用可能なアバターライブラリからプリロードアイコンをユーザに選択させることにより、特定のデバイスにアバターを関連付ける機能を提供してもよい。
【０１６１】
また、ゲートウェイ５０は、ユーザ登録ページからユーザアバターおよび画像をアップロードする機能を提供し、画像をガジェットレビューとして表示させてもよい。このように、ゲートウェイ５０は、画像をアップロード、または、ウェブストアから提供される利用可能なアバターライブラリからプリロードアイコンをユーザに選択させることで、ユーザアカウントのアバター画像を設定する機能を提供してもよい。
【０１６２】
また、ゲートウェイ５０は、ユーザ指定が無い場合、デフォルトのアバター画像を設定してもよい。ここで、ユーザにより選択された画像は、レビューを追加した場合に確認ページに現れてもよい。また、ゲートウェイ５０は、いつでもアバター画像を削除および編集できる機能を提供してもよい。
【０１６３】
また、ゲートウェイ５０は、ユーザに代替メールアドレス、アバター、住所、連絡先、および、プロバイダＵＲＬ等のユーザ詳細情報の管理ページを提供してもよい。
【０１６４】
また、ゲートウェイ５０は、ユーザのフィードバックに基づいて、既存のウェブストアのＵＩを拡張する機能を提供してもよい。
【０１６５】
また、管理制御パネル部（管理者ポータル）５３は、ゲートウェイ５０を管理するための制御インターフェースを提供してもよい。ここで、管理者ポータル５３は、全ガジェット７０を管理する管理者インターフェースを提供し、ログインした管理者に全てのガジェット７０を監視・管理させてもよい。
【０１６６】
また、管理者ポータル５３は、開発者がアップロードしたガジェット７０をブロックする機能を提供し、管理者にガジェット７０のブロック／未公開を設定させてもよい。なお、本実施形態において、開発者が管理者の設定を変更することはできないようにしてもよい。
【０１６７】
また、管理者ポータル５３は、本情報通信システムと無関係なデータのガジェット７０をアップロードした場合、エラーを開発者に通知するための電子メールを送信する機能を提供してもよい。
【０１６８】
ここで、管理者は、管理者ポータル５３から、ガジェット７０の開発者に各種通知およびメッセージ等の電子メールを送信することができる。この際、管理者は、開発者の電子メールアドレスを入力する必要はなく、該当する開発者を選択するだけで、自動的に登録メールアカウントに電子メールを送信することができる。
【０１６９】
また、管理者ポータル５３は、ガジェット７０を束ねるバンドルを作成し、そのバンドルをゲートウェイ５０上に表示する機能を提供してもよい。すなわち、管理者は、複数のガジェット７０を選択して、バンドルを作成することができる。管理者が作成したバンドルは、ウェブストア内の別ページに表示され、ユーザは、端末装置１００のローカルダッシュボード６０またはクラウドダッシュボード６１に当該バンドルをダウンロードすることができる。
【０１７０】
また、管理者ポータル５３は、トップ１０ダウンロードガジェット、国ごとのダウンロード数、および、主に使用されたプラットフォーム等の統計結果を表示する機能を提供してもよい。ここで、管理者ポータル５３には、簡単に管理者が定義したパラメータに基づいて、本情報通信システムのトラフィックを監視した統計グラフを表示する機能を提供してもよい。
【０１７１】
また、開発部（開発者ポータル）５２は、アップロード、変更、コミュニティに自作のガジェット７０を公開する開発者のための管理制御インターフェースを提供してもよい。ここで、開発者ポータル５２は、開発者の登録メカニズムを更新（国、州、連絡先、または、アバター等の新フィールドの導入）をしてもよい。
【０１７２】
また、開発者ポータル５２は、開発者の画像アップロード機能を提供してもよい。開発者は、画像をアップロード、または、事前にアップロードされた画像を選択することで、開発者アカウント用のアバター画像を設定することができる。
【０１７３】
また、開発者ポータル５２は、ユーザとしてのアカウントを開発者としてのアカウントとして同じものを使用可能とする機能を提供してもよい。
【０１７４】
また、開発者ポータル５２は、２つのガジェット７０を親子のようにマッピングする機能を提供してもよい。また、開発者ポータル５２は、ガジェット７０に特定の起動環境を設定してもよい。例えば、開発者ポータル５２は、２つのガジェット７０について、親ガジェットを経由して子ガジェットが起動するように設定してもよい。
【０１７５】
開発者は、開発者ポータル５２から、親ガジェットを選択することができ、開発者ポータル５２は、子ガジェットに指定できる全ガジェット７０を検索するためのユーザインターフェースを提供してもよい。なお、開発者ポータル５２は、検索結果として、ガジェット７０のアイコンと名前とを表示させてもよい。
【０１７６】
また、開発者ポータル５２は、該当する子ガジェットを指定するためのガジェットマークを表示する機能を提供してもよい。ここで、開発者ポータル５２は、子ガジェットをサポートする特定のガジェット７０をマークしてもよい。これは、開発者ポータル５２上で、簡単なチェックボックスとして表示させてもよい。
【０１７７】
また、開発者ポータル５２は、チェックボックスが選択されたガジェット７０を、親ガジェットの検索対象にしてもよい。また、開発者は、チェックボックスが選択されたガジェット７０のみを親ガジェットとして選択してもよい。
【０１７８】
また、開発者ポータル５２は、開発者にガジェットビルダーをダウンロードさせてもよい。なお、ガジェットビルダーを使用する場合、開発者は、常にオンラインである必要がある。
【０１７９】
ここで、ガジェットビルダーは、ゲートウェイ５０上で展開する前に、ガジェット７０を構築し、テストする開発者用機能を提供してもよい。ここで、ガジェットビルダーは、子ガジェットのガジェットバンドルを作成する機能を提供してもよい。
【０１８０】
また、ガジェット７０は、固定のディレクトリ構造を含むサブディレクトリを保持し、ガジェット７０関連の別ファイルは、特定のディレクトリにある必要があるが、ガジェットビルダーは、このようにディレクトリ構造を管理する機能を提供してもよい。
【０１８１】
ここで、ガジェットビルダーは、ガジェット７０のルートディレクトリとして任意のディレクトリを開発者に選択させ、ガジェットバイナリ、アイコンまたは依存ファイル等を開発者に選択させる機能を提供してもよい。
【０１８２】
また、ガジェットビルダーは、ワンクリックでＺＩＰ形式のガジェットバンドルを開発者に構築させ、作成したバンドルを開発者ポータル５２またはツール自体からアップロードする機能を提供してもよい。
【０１８３】
また、ガジェットビルダーは、Ｗｉｎｄｏｗｓ（登録商標）、Ｍａｃ（登録商標）またはＬｉｎｕｘ（登録商標）のような、任意のプラットフォームでダウンロード可能なユニバーサルガジェットのＺＩＰを構築する機能を提供してもよい。
【０１８４】
また、ガジェットビルダーは、特定のライセンスなしにガジェット７０を発見できないように、開発者がガジェット７０に対してライセンスの種類を設定する機能を提供してもよい。このライセンス追加機能により、有料のガジェット７０が、無料またはオープンソースのライセンスをもつガジェット７０から発見できなくなる。
【０１８５】
［情報通信システムの処理］
次に、このように構成された本実施形態における情報通信システムの処理の詳細について、以下に図１３乃至図２５を参照して詳細に説明する。
【０１８６】
［パイプライン構築処理］
図１３乃至図１８を参照して、本実施形態におけるパイプライン構築処理の一例について説明する。図１３乃至図１８は、本実施形態におけるパイプライン構築処理の一例を示すフロー図である。
【０１８７】
図１３に示すように、パイプライン構築部２０ｄは、入力ファイルの種類をユーザに選択させる（ステップＳＡ−１）。
【０１８８】
そして、図１４に示すように、パイプライン構築部２０ｄは、ステップＳＡ−１にて選択された入力ファイル（ｔｘｔ）を送るためのガジェット７０をユーザに選択させる（ステップＳＡ−２）。
【０１８９】
そして、図１５に示すように、パイプライン構築部２０ｄは、出力ファイルの種類をユーザに選択させる（ステップＳＡ−３）。
【０１９０】
そして、図１６に示すように、パイプライン構築部２０ｄは、ガジェット（Ｇ２）７０−１から出力される、ステップＳＡ−２にて選択された出力ファイル（ｘｍｌ）を送るためのガジェット７０をユーザに選択させる（ステップＳＡ−４）。
【０１９１】
そして、図１７に示すように、パイプライン構築部２０ｄは、ガジェット（Ｇ２）７０−１、および、ガジェット（Ｇ１）７０−２から構築されたパイプラインの名前をユーザに入力させる（ステップＳＡ−５）。
【０１９２】
そして、図１８に示すように、パイプライン構築部２０ｄは、ユーザインターフェースにユーザが利用可能なパイプラインの数を５から６に増加させ（ステップＳＡ−６）、処理を終了する。
【０１９３】
更に、図１９乃至図２５を参照して、本実施形態におけるパイプライン構築処理の一例について説明する。図１９乃至図２５は、本実施形態におけるパイプライン構築処理の一例を示すフロー図である。
【０１９４】
図１９に示すように、パイプライン構築部２０ｄは、ゲートウェイ５０のヘッダーページのパイプラインボタンがユーザによりクリックされ、パイプラインビルダーページが起動された場合、プラットフォーム（Ｗｉｎｄｏｗｓ（登録商標）、Ｍａｃ（登録商標）またはＬｉｎｕｘ（登録商標））をユーザに選択させる（ステップＳＢ−１）。
【０１９５】
図２０に示すように、パイプライン構築部２０ｄは、入力ファイルの種類（フォーマット）をユーザに選択させる（ステップＳＢ−２）。ここで、パイプライン構築部２０ｄは、検索ボックスを使用して、必要なフォーマットを選択させてもよい。
【０１９６】
そして、図２１に示すように、パイプライン構築部２０ｄは、ステップＳＢ−１にて選択された入力ファイル（ｘｍｌ）を送るためのガジェット７０をユーザに選択させる（ステップＳＢ−３）。
【０１９７】
そして、図２２に示すように、パイプライン構築部２０ｄは、出力ファイルの種類（フォーマット）をユーザに選択させる（ステップＳＢ−４）。
【０１９８】
そして、図２３に示すように、パイプライン構築部２０ｄは、ガジェット（Ｇ４）７０−３から出力される、ステップＳＢ−４にて選択された出力ファイル（ｘｍｌ）を送るためのガジェット７０をユーザに選択させる（ステップＳＢ−５）。
【０１９９】
そして、図２４に示すように、パイプライン構築部２０ｄは、パイプラインビルダーページに、ガジェット（Ｇ４）７０−３、および、ガジェット（Ｇ５）７０−４から構築された完全なガジェットワークフローを表示させ、パイプラインの名前をユーザに入力させる（ステップＳＢ−６）。
【０２００】
そして、図２５に示すように、パイプライン構築部２０ｄは、ユーザによりパイプライン作成ボタンがクリックされた場合、パイプラインを作成し、パイプラインビルダーページにユーザが利用可能なパイプラインの数を１から２に増加させ（ステップＳＢ−７）、処理を終了する。ここで、パイプライン構築部２０ｄは、パイプラインの作成保存に、ユーザのログインを要求してもよい。
【０２０１】
このように、ゲートウェイ５０は、クラウド環境における、ユーザインターフェースウィザードを使ったガジェット７０／パイプラインのワークフローの作成機能を提供してもよい。また、パイプライン構築部２０ｄは、ユーザが作成した全てのパイプラインは、簡単なテーブル形式で単一のページに表示させ、編集できる機能を提供してもよい。
【０２０２】
更に、図２６乃至図２８を参照して、本実施形態における情報通信システムの一例について説明する。
【０２０３】
まず、図２６を参照して、本実施形態における情報通信システムのプラットフォームのシステムアーキテクチャの一例を説明する。図２６は、本実施形態における情報通信システムのプラットフォームのシステムアーキテクチャの一例を示す図である。
【０２０４】
図２６に示すように、本情報通信システムのプラットフォームは、本プラットフォームアーキテクチャの複数のコンポーネントを組み合わせたものであってもよい。
【０２０５】
ここで、図２６に示すように、主なコンポーネントとしては、エンドユーザがローカルコア２０と対話するためのＷｅｂベースのインターフェースであるローカルダッシュボード６０、通信および／または同期のためにメッセージ交換を中継するローカルプロキシ３０およびクラウドプロキシ４０、ならびに、開発者、ユーザおよび管理者のための流通チャネルであるゲートウェイ５０の拡張機能（例えば、マーケット（ＡＰＰストア）、開発者ポータル５２、管理者ポータル５３およびガジェットビルダー等）であってもよい。
【０２０６】
また、図２７および図２８を参照して、本実施形態におけるダッシュボードのアーキテクチャの一例を説明する。図２７および図２８は、本実施形態における通信概要の一例を示す図である。
【０２０７】
本情報通信システムにおいては、インターネット接続およびポート８０９０で実行されているＷｅｂサーバなしに、ローカルに既存のＨＴＭＬベースのローカルダッシュボード６０を実行するためのアーキテクチャを設定してもよい。
【０２０８】
また、本情報通信システムにおいては、ローカルのローカルダッシュボード６０が正常に動作することをテストし、既存のクラウドのダッシュボードに似た動作をすることを確認した。
【０２０９】
また、本情報通信システムにおいては、ポート８０９０で実行されているＷｅｂサーバ、ポート９０００で実行されているＴＣＰサーバであるクラウドコア２２、ならびに、Ｗｅｂサーバに接続するＨＴＴＰクライアントおよびＴＣＰサーバに接続するＴＣＰクライアントを実装したゲートウェイガジェット等のモジュールを使用し、Ｗｅｂ  ＡＰＩを使用して、クラウドダッシュボード６１を実装してもよい。
【０２１０】
ここで、クラウドダッシュボード６１は、基本的には、ポート８０９０で実行されているＷｅｂサーバおよびゲートウェイ５０を介してクラウドコア２２と対話してもよい。ここで、本情報通信システムにおいて、ポート８０９０で実行されているＷｅｂサーバは、ゲートウェイ５０に要求を転送するだけであり、すべての処理がクラウドコア２２内で行われてもよい。
【０２１１】
ここで、図２７に示すように、本情報通信システムにおいて、クラウドダッシュボード６１は、ポート８０９０で実行されているＷｅｂサーバに接続し、Ｗｅｂサーバを介してさまざまな要求を送信してもよい。したがって、本情報通信システムにおいて、クラウドダッシュボード６１は、ポート８０９０で実行されているＷｅｂサーバ、ローカルプロキシ３０およびゲートウェイ５０を使用して、ローカルコア２０との間で様々なメッセージを送受信してもよい。
【０２１２】
また、本情報通信システムにおいては、ポート８０９０で実行されているＷｅｂサーバがなくとも、クラウドのダッシュボードと同じように、直接ゲートウェイ５０に同じセットのメッセージを送受信することができる方法を開発した。
【０２１３】
ここで、その方法では、ポート８０９０で実行されているＷｅｂサーバを必要とせず、任意のインターネット接続も必要ない。具体的には、Ｗｅｂサーバが必要だが、ゲートウェイ５０のような独立したガジェット７０の作成、または、単にｎｏｄｅｊｓを使ってゲートウェイ５０自体の内部にＷｅｂサーバを実装することで、ローカルのＨＴＭＬページは、インターネットおよびポート８０９０で実行されているＷｅｂサーバなしで、ローカルコア２０からメッセージを送受信する方法を達成することができる。
【０２１４】
したがって、本情報通信システムにおいては、クラウドダッシュボード６１を再利用して、ゲートウェイ５０へのローカルＨＴＴＰ接続を確立し、ローカルコア２０と対話することで、簡単にローカルにダッシュボードを実装することができる。
【０２１５】
また、図２８に示すように、本情報通信システムにおいては、インターネット接続が利用可能な場合、ゲートウェイ５０がポート８０９０で実行されているＷｅｂサーバに接続されてもよい。
【０２１６】
また、本情報通信システムにおいて、インターネットが利用できない場合、ＨＴＭＬページに実装されたローカルダッシュボード６０は、ポート７７７７上で実行されているゲートウェイローカルＨＴＴＰサーバを経由してのローカルコア２０に接続してもよい。
【０２１７】
ここで、本情報通信システムにおいて、ローカルダッシュボード６０のＨＴＭＬページは、ｓｏｃｋｅｔ−Ｉ／Ｏを使用してローカルプロキシ３０／クラウドプロキシ４０上で実行されているポート７７７７ＨＴＴＰサーバと接続してもよい。
【０２１８】
また、本情報通信システムにおいて、ローカルダッシュボード６０は、ローカルプロキシ３０／クラウドプロキシ４０内部のｄａｓｈｂｏａｒｄ．ｊｓ内部で扱われるプロトコルメッセージを送信し、ローカルプロキシ３０／クラウドプロキシ４０内部のｄａｓｈｂｏａｒｄ．ｊｓ内部で処理されてもよい。
【０２１９】
また、本情報通信システムにおいて、最後にｃｏｒｅｔａｌｋ．ｊｓコアを用いてクラウドプロキシ４０／ローカルプロキシ３０にリクエストを転送してもよい。そして、本情報通信システムにおいては、クラウドプロキシ４０／ローカルプロキシ３０に応答を送信し、ｃｏｒｅｔａｌｋ．ｊｓはそれを受け取ってもよい。
【０２２０】
次に、本情報通信システムにおいては、ｄａｓｈｂｏａｒｄ．ｊｓから、ｓｏｃｋｅｔ．ｅｍｉｔを使ってローカルダッシュボード６０にメッセージが転送されてもよい。ここで、本情報通信システムにおいては、ダッシュボードｓｏｃｋｅｔ−Ｉ／Ｏがローカルコア２０からの応答を受信するハンドラを持っていてもよい。
【０２２１】
また、本情報通信システムにおいて、ローカルダッシュボード６０は、接続文字列を変更する必要があり、その場合にポート８０９０で実行されているＷｅｂサーバに接続し、その際、ポート８０９０で実行されているＷｅｂサーバとローカルプロキシ３０／クラウドプロキシ４０とは、接続していてもよい。
【０２２２】
このように、本情報通信システムの長所としては、本アーキテクチャが、クラウドダッシュボード６１とローカルダッシュボード６０とが、ＨＴＴＰサーバへの接続文字列を除いて同様のＨＴＭＬページを持つことになることである。
【０２２３】
また、本情報通信システムの長所としては、全てのクラウドダッシュボード６１上の任意のＵＩ関連の変更は、自動的にすべてのローカルダッシュボード６０に反映されることである。また、本情報通信システムの長所としては、任意のＪａｖａスクリプト（登録商標）およびＣＳＳフレームワークを利用することができることである。
【０２２４】
また、本情報通信システムの長所としては、ＪａｖａＦＸ（登録商標）のサポート、および、異なるＯＳでどう実装するかに悩まされることなく、完全なブラウザベースのローカルダッシュボード６０を構築することができることである。また、本情報通信システムの長所としては、２つのダッシュボードのために２つの別々のソースを維持する必要がないことである。
【０２２５】
また、本情報通信システムの長所としては、ユーザは、ローカルまたはクラウドの区別なく、同じダッシュボードを使用できる点である。また、本情報通信システムの長所としては、Ｊａｖａスクリプト（登録商標）を使用して開発したガジェットソーシャルを実装することが非常に簡単あり、非常に軽量化でき、実装するダッシュボードは１つだけでよい点である。
【０２２６】
このように、本情報通信システムにおいては、クロスＯＳアプリケーションの統合とデータ転送とを可能にしている。例えば、Ｅコマースを行うような状況の場合、電子商取引市場のサービスプロバイダは、彼らの取引市場サーバとしてＬｉｎｕｘ（登録商標）等の特定のＯＳを使用し、電子商取引市場に出店している店は、自分の好みに応じてＷｉｎｄｏｗｓ（登録商標）またはＯＳ  Ｘ（登録商標）等のＯＳを混ぜてショップ管理アプリケーションを実行している場合がある。
【０２２７】
そこで、本情報通信システムにおいては、ローカルにインストールされたシステムがＯＳに関係なく同様に動作するように設計され、パッケージ化する際に各ＯＳに合わせたパッケージを作成することができる。
【０２２８】
例えば、本情報通信システムにおいて、商慣行の監視・制御アプリのセットが、パッケージとしてインストールされている場合、市場に参加している店が非倫理的な価格設定等の特定の不正行為を犯した際、監視アプリは、不正行為の可能性のための市場サーバと通信してもよい。
【０２２９】
そして、本情報通信システムにおいて、（市場管理の判断に関わる）不正行為が確認された場合、監視アプリは、店側の制御アプリを中断させることができ、不正行為が修正されるまで市場サーバへのアクセスを停止させることができる。
【０２３０】
また、従来、市場アクセスの中断は、市場サーバを遮断して行われなければならず、ローカル監視のアプリを使わずに、不正行為をトレース、または、そのような予想される不正行為を防止することはできなかった。このような不正行為のトレースおよび防止は、ローカル監視アプリがお店の取引と入力行動とを追跡することができた場合にのみ行うことができた。
【０２３１】
このような場合、店は、ピア・ツー・ピアの商業取引を行う意図個体であり、市場サーバへの単純な動作ログの収集および伝送とは異なる。したがって、従来のシステムでは、どのようなログを収集し、送信するかが静的に決定されていたが、本情報通信システムでは、サーバ側コマンドにモニタプログラムの動的な挙動変化を可能としている。
【０２３２】
これにより、本情報通信システムでは、各店舗の行動を追跡するために、店舗側ＰＣのメモリストレージを拡張記憶部として利用する機能を、市場プロバイダに提供することができる。
【０２３３】
また、本情報通信システムにおいて、クライアントアプリケーションが、携帯電話、タブレットおよびＰＣ等の端末装置１００にインストールされている場合、クライアントアプリケーションを動的にユーザのショッピング行動に依存して再構成することができ、ユーザが自分のアカウントで所有する全てのデバイスに反映させることができる。
【０２３４】
また、従来型のクラウドサービスでは、個々のアカウントに対して提供されたユーザ設定や情報をカスタマイズできるが、リッチクライアントアプリは変更できなかった。そこで、本情報通信システムにおいては、リッチクライアントアプリケーションを動的に、アカウント設定の変更に関連した再設定することを可能とし、このような変更をユーザのすべてのデバイスに反映させることができるようにした。
【０２３５】
ここで、図２９を参照して、本実施形態における情報通信システムの使用例について説明する。図２９は、本実施形態における情報通信システムの使用例を示す図である。
【０２３６】
本情報通信システムにおいて、ユーザが、複数のモバイルおよびＰＣ等の端末装置（デバイス）１００全てに本発明を実施するシステムをインストールしていた場合、且つ、ユーザがＰＣ上でのビジネス文書作成に取り組んでおり、共同研究者のチームといくつかの図について議論したい場合に、ユーザは、タブレットデバイスを使用して、図とデジタルペンとを使用して、図上にコメントを表示するようにしたい場合がある。
【０２３７】
このような場合、本情報通信システムにおいては、ユーザが、複数のモバイルおよびＰＣ等の端末装置（デバイス）１００全てに本発明を実施するシステムをインストールしていることを前提として、指定したイメージファイルをＰＣからツールに引き出すトリガにすることができ、タブレット上に描画ツールが表示され、コメントを書き込むことができるようにしてもよい。
【０２３８】
そして、本情報通信システムにおいては、結果がすぐにドキュメントへの統合のためのＰＣ側にフィードバックされる。
【０２３９】
また、ユーザは、電話でいくつかの問題を議論したい場合がある。このような場合、本情報通信システムにおいて、ユーザはＰＣのローカルダッシュボード６０上の電話ガジェットをクリックし、携帯電話を呼び出し、ユーザが話をしたい人に対して電話をかけることができる。
【０２４０】
このような場合、本情報通信システムにおいては、シームレスに異なるデバイスと別のＯＳがインストールされた複数のアプリを起動することができる。従来、そのようなシームレスな統合利用することはできず、ユーザはＤｒｏｐｂｏｘ（登録商標）やＥｖｅｒｎｏｔｅ（登録商標）等のようなクラウドサービスにファイルを送信し、アプリケーションをアクティブにするために、各デバイスに取りこむ必要があった。
【０２４１】
このように、本情報通信システムにおいては、複数のＯＳシームレスな方法で複数のデバイスの統合利用を可能にする。したがって、ユーザは、通信レイヤ１１を端末装置１００にインストールすることで、どのデバイス、または、ＯＳが使用しているかを心配する必要なく、全てのデバイスを統合できる。
【０２４２】
例えば、従来の文書共同作成ツールは、クラウドベースで存在し、各ユーザがオンラインでアクセスしてブラウザ上での編集をおこなっていた。
【０２４３】
一方、図２９に示すように、本情報通信システムにおいては、ローカルにあるＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）内にある異なるＯＳ（Ｍａｃ  ＯＳ（登録商標）、Ｗｉｎｄｏｗｓ（登録商標）、および、Ｌｉｎｕｘ（登録商標））が稼働する端末装置（ローカルマシン）１００−６、ローカルマシン１００−７およびローカルマシン１００−８と、クラウドプロキシサーバ（クラウドベースサーバ）２００−１と、のアクセスを組み合わせたハイブリッドな共同作業が可能となる。
【０２４４】
ここで、図２９に示すように、本情報通信システムにおいては、システム上で稼働できるローカルガジェット（文書作成ガジェット）７２は、ローカルのＬＡＮ内で、ローカルコア２０およびローカルプロキシ３０を介して通信することができる。
【０２４５】
また、図２９に示すように、本情報通信システムにおいては、クラウドベースサーバ２００−１上で稼働するクラウドガジェット（文書作成ガジェット）７１もまた、クラウドコア２２およびクラウドプロキシ４０を介してローカルガジェット７２と通信することができる。
【０２４６】
更に、図３０を参照して、本実施形態における情報通信システムの使用例について説明する。図３０は、本実施形態における情報通信システムの使用例を示す図である。
【０２４７】
図３０に示すように、本情報通信システムにおいては、ユーザがウェアラブルデバイスを装着した場合、ローカルガジェット（モニタリング＆警告ガジェット）７２により運動量、体温および／または心拍等が計測される。
【０２４８】
そして、計測された情報が、ウェアラブルデバイス自体に蓄積させるとともに、その全てまたは一部の情報が、通信レイヤ１１（ローカルプロキシ３０とローカルコア２０と、または、クラウドプロキシ４０とクラウドコア２２と）を通じて、医療機関の端末装置（ローカルサーバ）１００−９上のガジェット（統合解析ガジェット）７０−２に送られる。
【０２４９】
そして、統合解析ガジェット７０−２は、ウェアラブルデバイスから送られたデータを、その個人のクラウド上に存在するゲノム情報、および／または、ローカルサーバ１００−９に存在する医療情報とともに解析する。
【０２５０】
そして、統合解析ガジェット７０−２の解析結果がクラウドプロキシサーバ（クラウドサーバ）２００−２上に存在するガジェット（リスク計算ガジェット）７０−１に送られ、リスク計算ガジェット７０−１は、ユーザ個人のリスクを計算する。
【０２５１】
そして、リスク計算ガジェット７０−１の計算結果が、医療従事者が所有する端末装置（タブレット）１００−１０に送られ、タブレット１００−１０に実装されているガジェット（医療従事者向け対話ガジェット）７０−３を通じて医師にリスク情報が提示される。
【０２５２】
そして、医師の判断に従い、ユーザ個人の装着するウェアラブルデバイスに実装されているモニタリング＆警告ガジェット７２を通じて、ユーザに緊急に医療機関へ行くように等の警告を通知することもできる。なお、リスク計算ガジェット７０−１、統合解析ガジェット７０−２および医療従事者向け対話ガジェット７０−３は、クラウドガジェット７１またはローカルガジェット７２のいずれであってもよい（例えば、状況によって使い分けられてもよい）。
【０２５３】
また、本情報通信システムにおいて、ユーザが、複数のモバイルおよびＰＣ等の端末装置（デバイス）１００全てに本発明を実施するシステムをインストールしていた場合、且つ、ユーザのモニター対象の個人が、ウェアラブルデバイスなどで日常活動の連続的計測を行っており、ユーザが、複数の専門家のチームとの間で複数のデータを連動して解析し、モニター対象の個人の疾病悪化リスクを予測し、警告したい場合に、ユーザは、複数の計算環境に実装された複数のガジェット７０を使用して、一連の解析を行い、さらに、タブレット端末等の端末装置１００を利用して図とデジタルペンとを使用して、解析結果に対する医師などの判断をもとに、モニター対象個人に警告を表示するようにしたい場合がある。
【０２５４】
このような場合、ユーザは、複数のモバイルおよびＰＣ等の端末装置（デバイス）１００全てに本発明を実施するシステムをインストールしていることを前提として、指定した行動データ、ゲノムデータ、および／または、医療データをＰＣ等の端末装置１００からツール（ガジェット７０等）への送信処理をトリガとして、ＰＣ等の端末装置１００上に解析ツールを表示させ、自動的に解析を実行させてもよい。
【０２５５】
更に、タブレット等の端末装置１００において、その結果を、対話ツール等のガジェット７０に表示させ、医師などの判断を示すことができるようにしてもよい。
【０２５６】
そして、本情報通信システムにおいては、タブレット等の端末装置１００上の対話ツール等のガジェット７０において示された医師の判断を反映して、モニター対象の個人の装着するウエアラブル端末に実装されているガジェットを起動させ、警告などをすぐにフィードバックしてもよい。
【０２５７】
［他の実施形態］
さて、これまで本発明の実施形態について説明したが、本発明は、上述した実施形態以外にも、特許請求の範囲に記載した技術的思想の範囲内において種々の異なる実施形態にて実施されてよいものである。
【０２５８】
また、実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。
【０２５９】
このほか、上記文献中や図面中で示した処理手順、制御手順、具体的名称、各処理の登録データや検索条件等のパラメータを含む情報、画面例、データベース構成については、特記する場合を除いて任意に変更することができる。
【０２６０】
また、端末装置１００、クラウドプロキシサーバ２００、および、ゲートウェイサーバ３００に関して、図示の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。
【０２６１】
例えば、端末装置１００、クラウドプロキシサーバ２００、および、ゲートウェイサーバ３００の各装置が備える処理機能、特に制御部１０２にて行われる各処理機能については、その全部または任意の一部を、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）および当該ＣＰＵにて解釈実行されるプログラムにて実現してもよく、また、ワイヤードロジックによるハードウェアとして実現してもよい。尚、プログラムは、後述する、コンピュータに本発明に係る方法を実行させるためのプログラム化された命令を含む、一時的でないコンピュータ読み取り可能な記録媒体に記録されており、必要に応じて端末装置１００に機械的に読み取られる。すなわち、ＲＯＭまたはＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）などの記憶部１０６などには、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）と協働してＣＰＵに命令を与え、各種処理を行うためのコンピュータプログラムが記録されている。このコンピュータプログラムは、ＲＡＭにロードされることによって実行され、ＣＰＵと協働して制御部を構成する。
【０２６２】
また、このコンピュータプログラムは、端末装置１００、クラウドプロキシサーバ２００、および、ゲートウェイサーバ３００に対して任意のネットワークを介して接続されたアプリケーションプログラムサーバに記憶されていてもよく、必要に応じてその全部または一部をダウンロードすることも可能である。
【０２６３】
また、本発明に係るプログラムを、コンピュータ読み取り可能な記録媒体に格納してもよく、また、プログラム製品として構成することもできる。ここで、この「記録媒体」とは、メモリーカード、ＵＳＢメモリ、ＳＤカード、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、および、Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ等の任意の「可搬用の物理媒体」を含むものとする。
【０２６４】
また、「プログラム」とは、任意の言語や記述方法にて記述されたデータ処理方法であり、ソースコードやバイナリコード等の形式を問わない。なお、「プログラム」は必ずしも単一的に構成されるものに限られず、複数のモジュールやライブラリとして分散構成されるものや、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）に代表される別個のプログラムと協働してその機能を達成するものをも含む。なお、実施形態に示した各装置において記録媒体を読み取るための具体的な構成、読み取り手順、あるいは、読み取り後のインストール手順等については、周知の構成や手順を用いることができる。
【０２６５】
記憶部１０６に格納される各種のデータベース等は、ＲＡＭ、ＲＯＭ等のメモリ装置、ハードディスク等の固定ディスク装置、フレキシブルディスク、および、光ディスク等のストレージ手段であり、各種処理やウェブサイト提供に用いる各種のプログラム、テーブル、データベース、および、ウェブページ用ファイル等を格納する。
【０２６６】
また、端末装置１００、クラウドプロキシサーバ２００、および、ゲートウェイサーバ３００は、既知のデスクトップ型またはノート型のパーソナルコンピュータ、携帯電話、スマートフォン、ＰＨＳ、およびＰＤＡ等の携帯端末装置、ならびに、ワークステーション等の情報処理装置として構成してもよく、また、該情報処理装置に任意の周辺装置を接続して構成してもよい。また、端末装置１００、クラウドプロキシサーバ２００、および、ゲートウェイサーバ３００は、該情報処理装置に本発明の方法を実現させるソフトウェア（プログラム、データ等を含む）を実装することにより実現してもよい。
【０２６７】
更に、装置の分散・統合の具体的形態は図示するものに限られず、その全部または一部を、各種の付加等に応じて、または、機能負荷に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。すなわち、上述した実施形態を任意に組み合わせて実施してもよく、実施形態を選択的に実施してもよい。
【産業上の利用可能性】
【０２６８】
以上詳述に説明したように、本発明によれば、基礎となるＯＳ、プラットフォーム、または、ハードウェアデバイスに関係なくクロスプラットフォーム接続のための機能を提供する端末装置、情報通信システム、情報通信方法、および、プログラムを提供することができるので、情報処理、および、様々な分野において有用である。
【符号の説明】
【０２６９】
１１  ベースプロトコルメッセージ
１２  拡張プロトコルメッセージ
１３  内部メッセージ
２０  ローカルコア
２０ａ  発見可能スコア取得部
２０ｂ  ガジェットグラフ取得部
２０ｃ  ガジェット検出部
２０ｄ  パイプライン構築部
２０ｅ  ダウンロード部
２１  ローカルコアデータベース
２２  クラウドコア
３０  ローカルプロキシ
４０  クラウドプロキシ
４１  クラウドプロキシデータベース
５０  ゲートウェイ
５１  ゲートウェイデータベース
５２  開発部
５３  管理制御パネル部
５４  エンドユーザガジェットアクセス部
６０  ローカルダッシュボード
６１  クラウドダッシュボード
７０  ガジェット
７１  クラウドガジェット
７２  ローカルガジェット
７３  対応機器
８０  分析提案エンジン
１００  端末装置
１０２  制御部
１０６  記憶部
２００  クラウドプロキシサーバ
３００  ゲートウェイサーバ
【図１】
0006437380.tif 000002
【図２】
0006437380.tif 000003
【図３】
0006437380.tif 000004
【図４】
0006437380.tif 000005
【図５】
0006437380.tif 000006
【図６】
0006437380.tif 000007
【図７】
0006437380.tif 000008
【図８】
0006437380.tif 000009
【図９】
0006437380.tif 000010
【図１０】
0006437380.tif 000011
【図１１】
0006437380.tif 000012
【図１２】
0006437380.tif 000013
【図１３】
0006437380.tif 000014
【図１４】
0006437380.tif 000015
【図１５】
0006437380.tif 000016
【図１６】
0006437380.tif 000017
【図１７】
0006437380.tif 000018
【図１８】
0006437380.tif 000019
【図１９】
0006437380.tif 000020
【図２０】
0006437380.tif 000021
【図２１】
0006437380.tif 000022
【図２２】
0006437380.tif 000023
【図２３】
0006437380.tif 000024
【図２４】
0006437380.tif 000025
【図２５】
0006437380.tif 000026
【図２６】
0006437380.tif 000027
【図２７】
0006437380.tif 000028
【図２８】
0006437380.tif 000029
【図２９】
0006437380.tif 000030
【図３０】
0006437380.tif 000031