JP2014209341A - アンサンブルコンピューティング - Google Patents

アンサンブルコンピューティング Download PDF

Info

Publication number
JP2014209341A
JP2014209341A JP2014082896A JP2014082896A JP2014209341A JP 2014209341 A JP2014209341 A JP 2014209341A JP 2014082896 A JP2014082896 A JP 2014082896A JP 2014082896 A JP2014082896 A JP 2014082896A JP 2014209341 A JP2014209341 A JP 2014209341A
Authority
JP
Japan
Prior art keywords
message
computing
virtual network
server
application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2014082896A
Other languages
English (en)
Inventor
チャールズ・ピッケルハウプト
Pickelhaupt Charles
ドミトリー・ビシカロ
Bisikalo Dmitry
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
FMR LLC
Original Assignee
FMR LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by FMR LLC filed Critical FMR LLC
Publication of JP2014209341A publication Critical patent/JP2014209341A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)

Abstract

【課題】並列コンピューティングノード間のシームレス相互運用のための方法、システム、及びコンピュータープログラム製品が提供される。【解決手段】サーバーコンピューティング装置が、第1コンピューティングノードから、1以上の他のコンピューティングノードへの伝送のためのメッセージを受信する。複数のコンピューティングノードが、サーバーコンピューティング装置で仮想ネットワークとして規定され、各コンピューティングノードが、サーバーと通信するためのアンサンブルモジュールを含む202。サーバーは、メッセージを受信する仮想ネットワークの1以上の他のコンピューティングノードを決定する204。サーバーは、決定された1以上の他のコンピューティングノードにメッセージを送信する。各宛先コンピューティングノードが、決定されたノード上の第2アプリケーションのためのアプリケーション特有指令にメッセージをフォーマットする206。【選択図】図2

Description

関連出願
本出願は、2013年4月12日に出願された米国仮特許出願No.61/811,403の優先権を主張し、この全内容が参照により本明細書に組み込まれる。
本出願は、概して、所謂アンサンブルコンピューティングとも呼ばれる、並列コンピューティング装置の間のシームレスな相互運用のための、コンピュータープログラム製品を含む、方法及び機器に関する。
日常における多様なコンピューティング装置の導入が進展し、指数関数的に成長し続けている。イノベーションの歩みが継続するに応じて、新しい形態要因(例えば、スマートフォン、タブレット、デジタルTV、及びゲームコンソール)、新しい種類のセンサー(例えば、加速度計、GPS、及び近接センサー)、新しい低レベルネットワーク(例えば、Wi−Fi、Bluetooth(登録商標)、及びNFC)、及び他の技術的な進展がマーケットにおいて導入されている。
これらのコンピューティング装置が個別の独立のノードとして動作し、相互運用してお互いに増強するそれらの能力が単純な、基本の協調モードに限定されている(例えば、スマートフォンからプリンターへ写真を送信し、若しくはそれをデジタルTVに表示する)。装置間の相互運用とこれらの用途が、装置設計者により事前に設定されており、度々、狭い目的にかなう。
一般的には、コンピューティングシステムが、それが提供できる機能性や能力により規定される。コンピューティング装置のメーカーは、基本的なコンピューティング・プラットホーム・オペレーティング・システム(OS)能力を提供し、(例えば、PC、タブレット、及びスマートフォン)また個々のベンダーのためにプラットホームを開放し、アプリケーション及びサービスに進展させる。多様なアプリケーションが、相互運用、データの共有、及び他の方法でお互いの能力の増強をすることができる。PC時代、モバイル及びセンサー時代への進入のため、OSプロバイダーは、それらのコアオペレーティング・システムの一部として、アプリケーション・相互運用・アプリケーション・プログラミング・インターフェース(API)を提供している。マイクロソフト・ウィンドウズ(登録商標)OLE、Apple OpenDoc、及びAndroid Intentsは、APIの例であり、個々のベンダーに提供されるプロトコルにより、それらのアプリケーションが相互運用することが許容される。
プロプラエタリ及び/又はアプリケーション特定API又はプロトコルの使用無くして、未だ創出されていない装置及びシステムを含む、異なる種類の装置又はシステムの間の個別の、あつらえの相互運用を許容する方法及びシステムの要求が存在する。本明細書に記述の方法及びシステムは、アンサンブルコンピューティングに関し、これは、異種装置の間を含む、並列コンピューティング装置の間のシームレスな相互運用のためのオープン(非閉鎖)システムである。本明細書に記述の技術を用い、コンピューティング装置が、シームレスネットワーク、又は能力のアンサンブルに接続可能である。このネットワークは、コンピューティング装置間の事前設定された相互作用モードを想定せず、むしろ拡張及び再構成に開かれている。
本発明は、一側面において、並列コンピューティングノード間のシームレスな相互運用のためのシステムを特徴とする。システムは、サーバーコンピューティング装置と、前記サーバーコンピューティング装置に接続した複数のコンピューティングノードを含み、複数のコンピューティングノードが、前記サーバーコンピューティング装置における仮想ネットワークとして規定され、各コンピューティングノードが、前記サーバーコンピューティング装置と通信するためのアンサンブルモジュールを含む。前記サーバーコンピューティング装置は、前記仮想ネットワークにおける1以上の他のコンピューティングノードへの伝送のためにメッセージを第1コンピューティングノードから受信するように構成され、メッセージが、第1コンピューティングノード上の第1アプリケーションからのアプリケーション特有指令に基づいて、第1コンピューティングノードにより生成される。サーバーコンピューティング装置は、前記メッセージを受信するために前記仮想ネットワークにおける1以上の他のコンピューティングノードを決定するように構成される。サーバーコンピューティング装置は、前記決定された1以上の他のコンピューティングノードへ前記メッセージを送信するように構成され、各宛先コンピューティングノードが、決定されたノード上の第2アプリケーションのためのアプリケーション特有指令に前記メッセージをフォーマットする。
本発明は、別側面において、並列コンピューティングノード間のシームレスな相互運用のための方法を特徴とする。サーバーコンピューティング装置は、サーバーコンピューティング装置に結合した複数のコンピューティングノードにおける第1コンピューティングノードから、1以上の他のコンピューティングノードへの伝送のためのメッセージを受信し、メッセージが、第1コンピューティングノード上の第1アプリケーションからのアプリケーション特有指令に基づいて第1コンピューティングノードにより生成され、ここで、複数のコンピューティングノードが、サーバーコンピューティング装置で仮想ネットワークとして規定され、各コンピューティングノードが、サーバーコンピューティング装置と通信するためのアンサンブルモジュールを含む。サーバーコンピューティング装置が、メッセージを受信するために仮想ネットワークにおける1以上の他のコンピューティングノードを決定する。サーバーコンピューティング装置が、決定された1以上の他のコンピューティングノードにメッセージを送信し、ここで、各宛先コンピューティングノードが、決定されたノード上の第2アプリケーションのためのアプリケーション特有指令に前記メッセージをフォーマットする。
本発明は、別側面において、並列コンピューティングノード間のシームレスな相互運用のための、コンピューター読み取り可能記録媒体に有形に具現化されたコンピュータープログラム製品を特徴にする。コンピュータープログラム製品は、複数のコンピューティングノードに結合されたサーバーコンピューティング装置に、1以上の他のコンピューティングノードへの伝送のためにメッセージを、複数のコンピューティングノードにおける第1コンピューティングノードから受信するようにさせるべく動作可能である指令を含み、メッセージが、第1コンピューティングノード上の第1アプリケーションからのアプリケーション特有指令に基づいて第1コンピューティングノードにより生成され、ここで、複数のコンピューティングノードが、サーバーコンピューティング装置で仮想ネットワークとして規定され、各コンピューティングノードが、サーバーコンピューティング装置と通信するためのアンサンブルモジュールを含む。コンピュータープログラム製品は、サーバーコンピューティング装置に、メッセージを受信するために仮想ネットワークにおける1以上の他のコンピューティングノードを決定するようにさせるべく動作可能である指令を含む。コンピュータープログラム製品は、サーバーコンピューティング装置に、決定された1以上の他のコンピューティングノードにメッセージを送信させるべく動作可能である指令を含み、ここで、各宛先コンピューティングノードが、決定されたノード上の第2アプリケーションのためのアプリケーション特有指令に前記メッセージをフォーマットする。
上述の側面のいずれかが、1以上の次の特徴を含むことができる。幾つかの実施形態においては、メッセージが、仮想ネットワーク識別子及びメッセージトピック識別子を含む。幾つかの実施形態においては、サーバーコンピューティング装置が、仮想ネットワーク識別子及びメッセージトピック識別子の少なくとも一つに基づいてメッセージを受信する仮想ネットワークにおける1以上の他のコンピューティングノードを決定する。
幾つかの実施形態においては、メッセージが、アプリケーション非依存関数(application-agnostic function)を表す。幾つかの実施形態においては、メッセージが、仮想ネットワークにおける1以上の他のコンピューティングノードに関連する識別子を含み、サーバーコンピューティング装置が、仮想ネットワークの1以上の他のコンピューティングノードに関連した識別子に基づいてメッセージを受信する仮想ネットワークの1以上の他のコンピューティングノードを決定する。
幾つかの実施形態においては、複数のコンピューティングノードが、異種オペレーティングシステムを活用するノードを含む。幾つかの実施形態においては、第1アプリケーション及び第2アプリケーションが異種のアプリケーションであり、第1アプリケーションが、第1コンピューティングノードの特徴に特有であり、第2アプリケーションが、第2コンピューティングノードの特徴に特有である。
幾つかの実施形態においては、アンサンブルモジュールが、サーバーコンピューティング装置にメッセージを送信し、またサーバーコンピューティング装置からメッセージを受信するために用いられる関数のライブラリである。幾つかの実施形態においては、コンピューティングノードの仮想ネットワークには継続時間が付与され、その経過後にサーバーコンピューティング装置から仮想ネットワーク定義が除かれる。
幾つかの実施形態においては、サーバーコンピューティング装置は、仮想ネットワークに加入するためのリクエストをコンピューティングノードから受信するように構成され、リクエストが、認証証明と仮想ネットワーク識別子を含む。サーバーコンピューティング装置は、認証証明を認証し、仮想ネットワーク識別子に関連した仮想ネットワークにコンピューティングノードを割り当てるように構成される。幾つかの実施形態においては、サーバーコンピューティング装置は、メッセージトピックへの加入のリクエストを仮想ネットワークにおけるコンピューティングノードから受信し、メッセージトピックに関連した加入リストにコンピューティングノードを割り当てるように構成される。
本発明の他の側面及び利益が、例示目的のみで本発明の原理を図示する添付図面を一緒に参照することにより、次の詳細な説明から明らかになる。
上述した本発明の利点が、追加の利点と共に、添付図面を一緒に参照し、次の記述を参照することにより良く理解される。図面は必ずしも一定の割合で縮尺するものではなく、むしろ重点が本発明の原理の説明に置かれている。
図1は、並列のコンピューティング装置間のシームレスな相互運用のためのシステムのブロック図である。 図2は、並列のコンピューティング装置間のシームレスな相互運用のための方法のフロー図である。 図3は、アンサンブルコンピューティングシステムを生成するための方法のフロー図である。 図4は、アンサンブルコンピューティングシステムにノードを登録するための方法のフロー図である。 図5は、アンサンブルコンピューティングシステムにおける装置間のメッセージの交換のための方法のフロー図である。
図1は、本明細書に記述の技術を用いた並列のコンピューティング装置の間のシームレスな相互運用のためのシステム100のブロック図である。図1は、通信ネットワークを介して複数のクライアントコンピューティング装置104a−104cに結合したアンサンブルサーバー102を含む。アンサンブルサーバー102は、データベース108に結合される。図1のクライアントコンピューティング装置104a−104c、及び装置104a−104c上で稼働するアプリケーションが、共同してアンサンブルを作り上げる。各クライアントコンピューティング装置104a−104cは、アンサンブルモジュール106a−106cを含み、各装置上で稼働するアプリケーションから受け取った送信のアンサンブルメッセージをアンサンブルサーバー102へ送信するように動作し、また各装置上で稼働している1以上のアプリケーションにアンサンブルサーバー102から受け取った受信のアンサンブルメッセージを受信するように動作する。
幾つかの実施形態においては、アンサンブルモジュールは、アンサンブルサーバー102へアンサンブルメッセージを送信し、またアンサンブルサーバー102からアンサンブルメッセージを受信するべくクライアント装置上で稼働するアプリケーションにより用いられる関数(例えば、アンサンブルAPI)のライブラリである。各アプリケーションは、アンサンブルAPIを用いてそれらのアプリケーション特定メッセージをアンサンブルシステム100に適合するフォーマットに変換するように構成される。例えば、アプリケーション開発者は、それらのアプリケーションにロジックを含め、アンサンブルAPIと相互作用し、またアンサンブルサーバー102への伝送のためにアンサンブル適合メッセージをアンサンブルAPIに提供する。
アンサンブルは、アプリケーションレベルの仮想ネットワークであり、装置上で稼働する多数のコンピューティングアプリケーションにより構成される。本明細書で用いられるように、「装置」や「アプリケーション」との用語は、この文脈において、非常に包括的であるものと理解されるべきである。任意のコンピューティング装置、スマートフォン、PC上のアプリケーション、デジタルTV、センサー、ましてクラウドにおけるウェブサービスもアンサンブルにおける「装置」またはノードとして理解される。
アンサンブルシステム100における装置(例えば、クライアントコンピューティング装置104a−104c)は、異種であり得、つまり、装置は、同一ベンダーにより製造され、同一OS上で稼働し、若しくは、任意の共通の相互運用フレームワークをサポートする必要はない。システム100は、アンサンブル内への任意の種類の装置の包含にとって完全に開かれている。任意のソフトウェア、ファームウェア、ハードウェア、若しくはそのような装置上で稼働する他の実行コマンドが、この文脈において「アプリケーション」と考えられる。
装置がアンサンブル上に集められ、若しくは含められ、それらが個別に提供できるよりも、より大きなユーザー体験を提供する。個々の部分の合計よりも大きいことにより、コンピューティングアンサンブルは、シームレスな統合及び個々のコンポーネントの相互運用を通じてその所有者に新しい能力を提供するように設計される。この文脈において、アンサンブル「所有者」は、装置またはアプリケーションの所有に結び付けられず(すなわち、個人により全ての装置が所有される。)、むしろ、アンサンブル内の装置、アプリケーション、またはノードをアンサンブルする目的に結び付けられる。例えば、アンサンブルの簡単な一例が、個人により所有された全ての装置を含むが、別の種類のアンサンブルは、人々のグループ若しくは組織により用いられる特定のアプリケーションから構成されることができる。アンサンブル所有者は、アンサンブルにおいてノードを含め、または除外する能力を有する。個人は、各アンサンブルの目的に応じて、複数のアンサンブルを所有及び/又は加入することができる。またアンサンブルは、要求されるならば、他のアンサンブルも所有することができる。
上述のように、アンサンブルメンバーは、コンピューティング装置のオペレーティングシステム、ソフトウェアアプリケーション、ウェブサービス、またはこの類であり得る。アンサンブルメンバーは、(以下に定義の)アンサンブルインフラストラクチャー(Ensemble Infrastructure)により提供されたアンサンブルAPIと相互作用し、アンサンブルに加入し、脱退し、またアンサンブル全体のメッセージを登録及び送信/受信する。
アンサンブル管理タスクは、アンサンブルAPIを介してアンサンブルを生成し、個々のノードを加入するように選択及び招待し、また個々のノードを非接続にすることを含む。アンサンブル管理は、アンサンブル所有者により(または所有者の代わりに)実行される。アンサンブルの寿命は、その目的に基づいて変わる。例えば、アンサンブルは、長寿命であり、多数の物理装置の所有に結び付けられる。別例においては、アンサンブルは、臨機応変であり、短期間目的で生成される(例えば、二人の個人が、二装置アンサンブルにおいて自身のスマートフォンを接続し、アドレスを交換し、または契約を履行する)。これらの臨機応変アンサンブルは、その必要性がもはや存在しなくなるや否や消滅される。幾つかのアンサンブルは一時的である(例えば、会議の間だけ生成される、会議フィードバック収集のための開かれたアンサンブル)。アンサンブルは、プライベート(すなわち、アンサンブル所有者は、メンバーシップを完全に制御できる)、共有(すなわち、特定の基準に応じて、幾つかのノードの加入に開かれている)、または開かれたもの(オープン)であり得る。
アンサンブルインフラストラクチャーは、多数の実施態様を有することができるが、アンサンブルAPIを介してアクセス可能である。アンサンブルインフラストラクチャーの責務は、下記が含まれる。
アンサンブル(例えば、命名されたノードのネットワーク)を生成する能力
アンサンブル内のノードを管理する(ノードを含める/除外する/招待する)能力
アンサンブルの現在のメンバーに関する情報を維持する能力
アンサンブルの現在のメンバーへのメッセージの送付/ブロードキャストする能力
メンバーのために一時的に利用できないメッセージをキューに入れ/保存する能力
幾つかの実施形態においては、アンサンブルコンピューティングは、分散型非同期メッセージングブロードキャストシステムである。他の相互運用フレームワークとは異なり、アンサンブル(例えは、アンサンブルシステム100)は、単一の装置または特定の種類のOSに限定されない。アンサンブルにおけるノードは、物理装置に結び付けられず、むしろ任意のネットワーク化されたコンピューティング媒体において共存または物理距離だけ離間して存在できる。アンサンブルに集められるや、ノードらが仮想メッセージングネットワークを表し、任意の種類のメッセージを生成及び消費する。各個々のノードは、その関心を特定の種類のメッセージ(トピックとも呼ばれる)に登録することができる。任意のノードは、アンサンブルAPIを介してメッセージを送信することができ、アンサンブルインフラストラクチャーは、これらのメッセージの関心のノードへの配送に対処する。
アンサンブルメッセージは、広範囲の種類のアプリケーション非依存(不可知)(application-agnostic)機能を表す。幾つかの実施形態においては、メッセージ種類が、認証、登録、登録解除、送信/ブロードキャスト、受信/聴取を含むことができる。アンサンブルAPIを介してアンサンブルサーバー102と相互作用する個々のノードは、個々のノードに適合するフォーマットにアンサンブルメッセージを解釈して変換することが要求される。アンサンブルサーバー102及びアンサンブルモジュール106a−106cは、メッセージ定義、解釈、翻訳、または分析のいずれも実行しない。
例えば、クライアント装置104a上で稼働する金融アプリケーション、及びクライアント装置104b上で稼働するディスプレイ装置ドライバーは、両方とも、同一のアンサンブルの一部としてアンサンブルサーバー102に登録される。装置104a上のフィナンシャルアプリケーションは、クライアント装置104b上のディスプレイ装置ドライバーを用いた表示のために投資分析チャートを送信することを希望する。金融アプリケーションは、投資分析チャートの基礎のグラフィカルデータを、アンサンブルAPIにより定義された「送信」メッセージに変換し、アンサンブルサーバー102へ「送信」メッセージを送信するロジックを含む。アンサンブルサーバー102は、クライアント装置104bが「送信」メッセージの意図された宛先であると決定し、メッセージを装置104bに送信する。装置104b上のディスプレイ装置ドライバーは、アンサンブルAPIを介して「送信」メッセージを受信し、また関連のディスプレイ装置上でチャートを表示するために「送信」メッセージを適合のフォーマットに変換するロジックを含む。
図2は、図1のシステム100を用いた、並列コンピューティング装置間のシームレスな相互運用のための方法のフロー図である。アンサンブルサーバーコンピューティング装置102は、アンサンブルにおける1以上の他のコンピューティングノード(例えば、クライアント装置104b、104c)への転送のためにクライアント装置(例えば、クライアント装置104a)からメッセージを受信する(202)。クライアント装置104bにより生成されたメッセージは、クライアント装置104a上のアプリケーションからのアプリケーション特有指令に基づく。例えば、クライアント装置104aがAndroid(商標)基準のスマートフォンであり、装置104a上で稼働するカメラアプリケーションは、別の装置104b(例えば、スマートテレビジョン)に写真を送信したいと希望する。カメラアプリケーションは、装置104a上のアンサンブルモジュール106aにより認識及び解釈されるフォームへカメラアプリケーションに特有の指令及び他のデータ(例えば、写真ファイル、メタデータ)をフォーマットする。一例としては、カメラアプリケーションは、カメラアプリケーションの一部であるAPIと相互作用することができ、アンサンブルサーバー102に適合するメッセージを構築し、指令及びデータをフォーマットすることができる。
メッセージの受信後、アンサンブルサーバー102は、メッセージを受信する1以上の他のクライアント装置(例えば、装置104b)を決定する(204)。上述のように、図1が複数のクライアント装置104a−104cを図示するが、システム100のクライアント装置104a−104cは、任意の広範囲の装置及びノードのアレイであり得、ソフトウェアベースのアプリケーション(例えば、ウェブサービス、クラウドサービス、装置上のファームウェア)を含み得るものと理解されるべきである。
アンサンブルサーバー102は、決定された1以上の他のクライアント装置(例えば、装置104b)にメッセージを送信し(206)、各決定されたクライアント装置が、決定されたノード上のアプリケーションにとってのアプリケーション特有指令へメッセージをフォーマットする。上述の例に続いて、受信する装置104b(例えば、スマートテレビジョン)上のアンサンブルモジュール106bが、アンサンブルサーバーからメッセージを受信し、メッセージをテレビジョン上の写真閲覧アプリケーションに送信する。写真閲覧アプリケーションが、写真閲覧アプリケーションに特有の指令にメッセージをフォーマットし、スクリーン上に写真を表示する。この態様において、送信する装置104aと受信する装置104bが、同一の写真ソフトウェア、オペレーティングシステム、及び同種のものを具備する必要がなく、写真自体が、各装置104a、104bが解釈及びレンダリングできる共通フォーマット(例えば、.jpg、.gif)である必要がない。
図3は、本発明の例示の実施形態に係り、また図1のシステム100を用いたアンサンブルを生成するための方法300のフロー図である。アンサンブル所有者は、コンピューティング装置を介してアンサンブルサーバー102にアクセスすることができる(例えば、クライアント装置EC 104a上のウェブブラウザーを開き、アンサンブルサーバー102に関連のURLへナビゲートする)。アンサンブル所有者は、認証証明(例えば、ユーザ名及びパスワード)をクライアント装置104aに提供し、そして、この装置が、アンサンブルサーバー102へ認証要求メッセージを送信する(304a)。アンサンブルサーバー102は、(例えば、受信した証明をアンサンブル所有者に関するデータベース108レコードと比較することにより)供給された証明を認証し、認証応答メッセージをクライアント装置104aに返信し(304b)、アンサンブル所有者が、首尾良くログインしたことが示される。アンサンブル所有者は、次に、アンサンブルサーバー102にアンサンブル構築メッセージ(Create Ensemble message)を送信する(306a)。アンサンブル構築メッセージは、アンサンブル名属性(例えば、<アンサンブル名>)を含む。アンサンブルサーバー102は、そのアンサンブルのために新しいデータベースレコードを生成し、データベースレコードに<アンサンブル名>属性を記憶する。アンサンブルサーバー102は、また、アンサンブルID(例えば、<EID>)属性をアンサンブルに付与する。アンサンブルサーバーは、装置104aによる将来の参照のための<EID>属性を含むアンサンブル完成メッセージ(Ensemble Created message)を装置104aに返信する(306b)。従って、クライアント装置104aによりアンサンブルサーバー102へ送信される次のアンサンブルメッセージが<EID>を含み、従って、サーバー102が、アンサンブルメッセージをどのように転送するかを決定できる。
図4は、本発明の例示の実施形態に係り、また図1のシステム100を用いたアンサンブルにノードを登録するための方法400のフロー図である。クライアント装置EC1 104aが、クライアント装置EC1 104aがサーバー102にアクセスすることを許すための認証証明を含む認証要求メッセージをアンサンブルサーバー102に送信する(404a)。アンサンブルサーバー102は、提供された証明を認証し、クライアント装置104aに認証応答メッセージを返信する(404b)。装置104aは、次に、装置104aが加入を希望するアンサンブルに関する<EID>を含む登録メッセージ(registration message)をアンサンブルサーバー102に送信する(406a)。アンサンブルサーバー102は、<EID>アンサンブルに関するクライアント装置EC1 104aのために新しいデータベースレコード(例えば、クライアント装置ネットワークアドレス、クライアント装置識別子、クライアント装置名、クライアント装置所有者名、及び同種のもの)を生成し、クライアント装置104aが<EID>アンサンブルの一部として登録されたことを示す登録確認メッセージ(registration confirmation message)をクライアント装置104aに送信する(406b)。クライアント装置EC1 104aは、次に、<トピック>属性を含むクライアント加入(サブスクライブ)要求メッセージ(Client Subscribe Request message)をアンサンブルサーバー102に送信する。アンサンブルサーバー102は、<トピック>属性におけるクライアント装置EC1の加入(サブスクライブ)を記録し、加入(サブスクライブ)が首尾良く構成されたことを示す加入(サブスクライブ)確認メッセージ(subscription confirmation message)をクライアント装置EC1 104aに送信する(408b)。アンサンブルサーバー102は、次に、<トピック>に関する次のメッセージを<トピック>に加入されたアンサンブル内のクライアント装置(例えば、装置EC1 104a)に送信する。
<トピック>属性は、アンサンブルサーバー102により用いられ、異種のアンサンブルメッセージが識別される。幾つかの実施形態においては、<トピック>属性は、自由形式、解放端のストリングであり、アンサンブルメッセージの種類及び/又は内容の指標を提供する。アンサンブルシステム100により用いられる<トピック>属性のリストが、アンサンブルシステム100及びアンサンブルAPIを用いる各アプリケーションの開発者により決定される。アンサンブルサーバー102は、任意の特定のアンサンブルメッセージのために<トピック>属性を解釈又は理解しない。むしろ、アンサンブルサーバー102は、クライアント装置サブスクライブの一部として<トピック>属性を記録し、到来するアンサンブルメッセージのために<トピック>属性を比較し、クライアント装置がメッセージを受信するべきか(つまり、クライアントが<トピック>に加入しているか)を決定する。
図5は、本発明の例示の実施形態に係り、また図1のシステム100を用いた装置間でメッセージを交換するための方法500のフロー図である。クライアント装置EC1 104a上のアプリケーションは、アンサンブルにおける他の装置(例えば、クライアント装置EC2 104b、クライアント装置EC3 104c)へ特定のトピック(例えば、<トピック>)に関するメッセージを通信することを希望する。クライアント装置EC1 104aは、アンサンブルに関する<EID>を含む<トピック>に関するメッセージをアンサンブルサーバー102に送信する(504a)。アンサンブルサーバー102は、アンサンブル<EID>内にあり、また<トピック>に加入する他のクライアント装置(例えば、104b,104c)に関する情報を探索する。アンサンブルサーバー102は、次に、クライアント装置EC2 104bにメッセージを送信し(504b)、クライアント装置EC3 104cにメッセージを送信する(504c)。
一例としては、クライアント装置EC1 104aは、スマートフォンである。電話がEC1 104aに着信し、ユーザーが、自身の他の装置EC2 104b(例えば、PC動作電話ソフトウェア)及びEC3 104c(例えば、自身のワイヤレスLANに接続された自宅電話)にその電話を転送することを希望する。EC1 104a上の電話ソフトウェアは、電話に関するトピック(例えば、<電話>)に関するメッセージをアンサンブルサーバー102に送信する。アンサンブルサーバー102は、クライアントEC2 104b及びEC3 104cが<電話>トピックに加入していると決定する。アンサンブルサーバー102は、メッセージをEC2及びEC3装置に送信する。EC2 104bにおいては、電話ソフトウェアが、アンサンブルメッセージを受信し、例えば、音声ストリーム及びコールのための対応のSIPシグナリングを受信するためにアンサンブルメッセージをアプリケーション特有フォーマットに変換する。EC3 104cでは、電話ファームウェアが、アンサンブルメッセージを受信し、アンサンブルメッセージを特定のフォーマットに変換し、自宅電話がコールセッションの確立を可能にする。ユーザーは、次に、自身のPC(例えば、EC2)又は自身の自宅電話(例えば、EC3)でコールに応答するか否かを決定できる。
アンサンブルシステム100の他の例示の使用例及び本明細書に記述の技術が、限定するわけではないが、以下のものを含む。
Figure 2014209341
Figure 2014209341
上述した技術は、デジタル及び/又はアナログ電子回路、若しくはコンピューターハードウェア、ファームウェア、ソフトウェア、若しくはこれらの組み合わせにおいて実行できる。コンピュータープログラム製品、つまり、例えば、プログラマブルプロセッサー、コンピューター、及び/又は多数のコンピューターといったデータ処理装置による実行のため、若しくはその動作の制御のため、機械読み取り可能記憶装置に有形に具現化されたコンピュータープログラムとして実施され得る。コンピュータープログラムは、ソースコード、コンパイルされたコード、解釈されたコード及び/又は機械コードを含む任意の形態のコンピューター又はプログラミング言語で記述されることができ、コンピュータープログラムは、スタンドアローンプログラムとして、若しくはサブルーチン、エレメント、コンピューティング環境における使用に適する他のユニットとしてといった任意の形態において活用される。コンピュータープログラムは、1以上のサイトで一つのコンピューター又は多数のコンピューター上で実行されるべく活用可能である。
コンピュータープログラムを実行する1以上のプロセッサーが方法を実行することができ、入力データを操作し、及び/又は出力データを生成することにより機能を実行する。方法のステップは、例えば、FPGA(field programmable gate array)、FPAA(field-programmable analog array)、CPLD(complex programmable logic device)、PSoC(Programmable System-on-Chip)、ASIP(application-specific instruction-set processor)、又はASIC(application-specific integrated circuit)、又は同類といった特別用途ロジック回路により実行され、またそれにより装置が実施できる。サブルーチンは、記憶されたコンピュータープログラム及び/又はプロセッサ、及び/又は1以上の機能を実施する特別回路の部分に言及し得る。
コンピュータープログラムの実行に適するプロセッサーは、一例としては、汎用及び特別用途マイクロプロセッサーの両方、また任意の種類のデジタル又はアナログコンピューターの任意の1以上のプロセッサーを含む。一般的には、プロセッサーは、リードオンリーメモリー又はランダムアクセスメモリー又は両方から指令及びデータを受信する。コンピューターの本質的な要素は、指令を実行するためのプロセッサー及び指令及び/又はデータを記憶するための1以上のメモリーである。キャッシュといったメモリー装置は、一時的にデータを記憶するために用いることができる。メモリー装置は、長期間のデータ記憶のためにも用いられることができる。一般的には、コンピューターは、例えば、磁気、磁気光ディスク、又は光ディスクといったデータを記憶するための1以上のマスストレージ装置からデータを受信し、そこにデータを転送し、又はこの両方を含み、若しくは行うべく動作可能に結合される。コンピュータープログラム指令及びデータを具現化するのに適するコンピューター読み取り可能記憶媒体は、全ての形態の揮発性及び不揮発性メモリー、一例としては、半導体メモリー装置、例えば、DRAM、SRAM、EPROM、EEPROM、及びフラッシュメモリー装置;磁気ディスク、例えば、内部ハードディスク又はリムーバブルディスク;磁気光ディスク;及び光ディスク、例えば、CD、DVD、HD−DVD、及びBlu−ray(登録商標)ディスクを含む。プロセッサー及びメモリーは、特別用途ロジック回路により補助され、及び/又は組み込まれ得る。
ユーザーとの相互作用を提供するため、上述の技術が、ユーザーに情報を表示するためのディスプレイ装置、例えば、CRT、プラズマ、又はLCDモニター、及びこれによりユーザーがコンピューターに入力を提供することができる(例えば、ユーザーインターフェース要素と相互作用する)キーボード、及びポインティング装置、例えば、マウス、トラックボール、タッチパッド、又はモーションセンサーと通信可能であるコンピューター上で実施することができる。別種の装置を用い、同様にユーザーとの相互作用を提供することができる。例えば、ユーザーへ提供されるフィードバックが、任意の形態のセンサーフィードバック、例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバックであり得る。ユーザーからの入力は、音、発話、及び/又は触覚入力を含む、任意の形態で受信され得る。
上述の技術は、バックエンドコンポーネントを含む分散コンピューティングシステムにおいて実施可能である。バックエンドコンポーネントは、例えば、データサーバー、ミドルウェアコンポーネント、及び/又はアプリケーションサーバーである。上述の技術は、フロントエンドコンポーネントを含む分散コンピューティングシステムにおいて実施可能である。フロントエンドコンポーネントは、例えば、グラフィカルユーザーインターフェースを有するコンピューター、ユーザーがそれを介して例示の実施と相互作用することができるウェブブラウザー、及び/又は送信装置用の他のグラフィカルユーザーインターフェースであり得る。上述の技術は、そのようなバックエンド、ミドルウェア、又はフロントエンドコンポーネントの任意の組み合わせを含む分散コンピューティングシステムにおいて実施可能である。
コンピューティングシステムのコンポーネントは、伝送媒体により相互接続でき、伝送媒体は、任意の形態又はデジタル又はアナログデータ通信媒体(例えば、通信ネットワーク)を含むことができる。伝送媒体は、任意の構成の1以上のパケット基準ネットワーク、及び/又は1以上の回路基準ネットワークを含むことができる。パケット基準ネットワークは、例えば、インターネット、キャリアーインターネットプロトコル(IP)ネットワーク(例えば、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、キャンパスエリアネットワーク(CAN)、メトロポリタンエリアネットワーク(MAN)、ホームエリアネットワーク(HAN)、プライベートIPネットワーク、IP構内電話交換機(IPBX)、ワイヤレスネットワーク(例えば、ラジオアクセスネットワーク(RAN)、ブルートゥース、Wi−Fi、WiMAX、汎用パケットラジオサービス(GPRS)ネットワーク、HiperLAN)、及び/又は他のパケット基準ネットワークを含むことができる。回路基準ネットワークは、例えば、公衆交換電話網(PSTN)、レガシー構内電話交換機(PBX)、ワイヤレスネットワーク(例えば、RAN、符号分割多重アクセス(CDMA)ネットワーク、時分割多重アクセス(TDMA)ネットワーク、グローバル・システム・フォー・モバイル・コミュニケーションズ(GSM)ネットワーク)、及び/又は他の回路基準のネットワークを含むことができる。
伝送媒体を介した情報転送は、1以上の通信プロトコルに基づくことができる。通信プロトコルは、例えば、Ethernet(登録商標)プロトコル、インターネットプロトコル(IP)、Voice over IP(VOIP)、Peer−to−Peer(P2P)プロトコル、ハイパーテキスト転送プロトコル(HTTP)、セッション開始プロトコル(SIP)、H.323、メディアゲートウェイコントロールプロトコル(MGCP)、シグナリングシステム#7(SS7)、グローバル・システム・フォー・モバイル・コミュニケーションズ(GSM)プロトコル、プッシュ−トゥ−トーク(PTT)プロトコル、PTTオーバーセルラー(POC)プロトコル、ユニバーサル・モバイル・テレコミュニケーション・システム(UMTS)、3GPPロング・ターム・エボリューション(LTE)、及び/又は他の通信プロトコルを含むことができる。
コンピューティングシステムの装置は、例えば、コンピューター、ブラウザー装置を有するコンピューター、電話、IP電話、モバイル装置(例えば、携帯電話、パーソナル・デジタル・アシスタンス(PDA)装置、スマートフォン、タブレット、ラップトップコンピューター、電子メール装置)、及び/又は他の通信装置を含むことができる。ブラウザー装置は、例えば、ワールドワイドウェブブラウザー(例えば、グーグル社からのChrome(商標)、マイクロソフト社から入手できるMicrosoft(登録商標)Internet Explorer(登録商標)、及び/又はMozilla社から入手できるMozilla(登録商標)Firefox)を備えるコンピューター(例えば、デスクトップコンピューター及び/又はラップトップコンピューター)を含む。モバイルコンピューティング装置は、例えば、Research in MotionのBlackberry(登録商標)、アップル社のiPhone(登録商標)、及び/又はアンドロイド基準の装置を含む。IP電話は、例えば、シスコシステムズ社から入手できるシスコ(登録商標)統合IP電話7985G及び/又はシスコ(登録商標)統合ワイヤレスフォーン7920を含む。
備える、含む、及び/又は個々の複数の態様は、無制限であり、列挙されたものを含み、また列挙されていない追加のものも含むことができる。及び/又は、無制限であり、列挙されたものの1以上、また列挙されたものの組み合わせを含む。
当業者は、その精神若しくは本質的な特徴から逸脱することなく本発明が他の特定の形態で具現化されると理解するだろう。従って、上述の実施形態は、本明細書に記述の本発明の限定というよりは全側面において例示であるものと考えられる。
100 システム
102 サーバー
104a、b 装置
106b モジュール

Claims (23)

  1. 並列コンピューティングノード間のシームレスな相互運用のためのシステムであって、
    サーバーコンピューティング装置;及び
    前記サーバーコンピューティング装置に結合された複数のコンピューティングノードであって、前記複数のコンピューティングノードが、前記サーバーコンピューティング装置で仮想ネットワークとして規定され、各コンピューティングノードが、前記サーバーコンピューティング装置と通信するためのアンサンブルモジュールを含む、複数のコンピューティングノードを備え、
    前記サーバーコンピューティング装置が、
    第1コンピューティングノードから、前記仮想ネットワークにおける1以上の他のコンピューティングノードへの伝送のためのメッセージを受信するステップであって、前記メッセージが、前記第1コンピューティングノード上の第1アプリケーションからのアプリケーション特有指令に基づいて前記第1コンピューティングノードにより生成される、ステップ、
    前記メッセージを受信する前記仮想ネットワークの1以上の他のコンピューティングノードを決定するステップ、及び
    決定された1以上の他のコンピューティングノードに前記メッセージを送信するステップを行うように構成され、
    各宛先のコンピューティングノードが、前記決定されたノードにおける第2アプリケーションのためのアプリケーション特有指令に前記メッセージをフォーマットする、システム。
  2. 前記メッセージが、仮想ネットワーク識別子及びメッセージトピック識別子を含む、請求項1に記載のシステム。
  3. 前記サーバーコンピューティング装置が、前記仮想ネットワーク識別子及び前記メッセージトピック識別子の少なくとも一つに基づいて、前記メッセージを受信する前記仮想ネットワークの1以上の他コンピューティングノードを決定する、請求項2に記載のシステム。
  4. 前記メッセージが、アプリケーション非依存関数を表す、請求項1に記載のシステム。
  5. 前記メッセージが、前記仮想ネットワークにおける1以上の他のコンピューティングノードに関連する識別子を含み、前記サーバーコンピューティング装置が、前記仮想ネットワークの1以上の他のコンピューティングノードに関連した識別子に基づいて、前記メッセージを受信する前記仮想ネットワークの1以上の他のコンピューティングノードを決定する、請求項1に記載のシステム。
  6. 前記複数のコンピューティングノードが、異種オペレーティングシステムを活用するノードを含む、請求項1に記載のシステム。
  7. 前記第1アプリケーション及び前記第2アプリケーションが異種のアプリケーションであり、前記第1アプリケーションが、前記第1コンピューティングノードの特徴に特有であり、前記第2アプリケーションが、前記第2コンピューティングノードの特徴に特有である、請求項1に記載のシステム。
  8. 前記アンサンブルモジュールは、前記サーバーコンピューティング装置に前記メッセージを送信し、また前記サーバーコンピューティング装置から前記メッセージを受信するために用いられる関数のライブラリである、請求項1に記載のシステム。
  9. 前記コンピューティングノードの前記仮想ネットワークには継続時間が付与され、その経過後に前記サーバーコンピューティング装置から前記仮想ネットワーク定義が除かれる、請求項1に記載のシステム。
  10. 前記サーバーコンピューティング装置は、認証証明と仮想ネットワーク識別子を含む、前記仮想ネットワークに加入するためのリクエストを、前記コンピューティングノードから受信するように構成され、
    前記認証証明を認証し、
    前記仮想ネットワーク識別子に関連した前記仮想ネットワークに前記コンピューティングノードを割り当てるように構成される、請求項1に記載のシステム。
  11. 前記サーバーコンピューティング装置は、メッセージトピックへの加入のリクエストを前記仮想ネットワークの前記コンピューティングノードから受信し、前記メッセージトピックに関連した加入リストに前記コンピューティングノードを割り当てるように構成される、請求項1に記載のシステム。
  12. 並列コンピューティングノード間のシームレスな相互運用のための方法であって、
    サーバーコンピューティング装置により、前記サーバーコンピューティング装置に結合した複数のコンピューティングノードの第1コンピューティングノードから、1以上の他のコンピューティングノードへの伝送のためのメッセージを受信するステップであって、前記メッセージが、第1コンピューティングノード上の第1アプリケーションからのアプリケーション特有指令に基づいて前記第1コンピューティングノードにより生成され、ここで、前記複数のコンピューティングノードが、前記サーバーコンピューティング装置で仮想ネットワークとして規定され、各コンピューティングノードが、前記サーバーコンピューティング装置と通信するためのアンサンブルモジュールを含む、ステップと、
    前記サーバーコンピューティング装置により、前記メッセージを受信する前記仮想ネットワークの1以上の他のコンピューティングノードを決定するステップと、
    前記サーバーコンピューティング装置により、決定された1以上の他のコンピューティングノードに前記メッセージを送信するステップを含み、
    各宛先コンピューティングノードが、決定されたノード上の第2アプリケーションのためのアプリケーション特有指令に前記メッセージをフォーマットする、方法。
  13. 前記メッセージが、仮想ネットワーク識別子及びメッセージトピック識別子を含む、請求項12に記載の方法。
  14. 前記サーバーコンピューティング装置が、前記仮想ネットワーク識別子及び前記メッセージトピック識別子の少なくとも一つに基づいて、前記メッセージを受信する前記仮想ネットワークの1以上の他コンピューティングノードを決定する、請求項13に記載の方法。
  15. 前記メッセージが、アプリケーション非依存関数を表す、請求項12に記載の方法。
  16. 前記メッセージが、前記仮想ネットワークにおける1以上の他のコンピューティングノードに関連する識別子を含み、
    前記サーバーコンピューティング装置が、前記仮想ネットワークの1以上の他のコンピューティングノードに関連した識別子に基づいて、前記メッセージを受信する前記仮想ネットワークの1以上の他のコンピューティングノードを決定する、請求項12に記載の方法。
  17. 前記複数のコンピューティングノードが、異種オペレーティングシステムを活用するノードを含む、請求項12に記載の方法。
  18. 前記第1アプリケーション及び前記第2アプリケーションが異種のアプリケーションであり、前記第1アプリケーションが、前記第1コンピューティングノードの特徴に特有であり、前記第2アプリケーションが、前記第2コンピューティングノードの特徴に特有である、請求項12に記載の方法。
  19. 前記アンサンブルモジュールは、前記サーバーコンピューティング装置に前記メッセージを送信し、また前記サーバーコンピューティング装置から前記メッセージを受信するために用いられる関数のライブラリである、請求項12に記載の方法。
  20. 前記コンピューティングノードの前記仮想ネットワークには継続時間が付与され、その経過後に前記サーバーコンピューティング装置から前記仮想ネットワーク定義が除かれる、請求項12に記載の方法。
  21. 前記サーバーコンピューティング装置は、認証証明と仮想ネットワーク識別子を含む、前記仮想ネットワークに加入するためのリクエストを、前記コンピューティングノードから受信するように構成され、
    前記認証証明を認証し、
    前記仮想ネットワーク識別子に関連した前記仮想ネットワークに前記コンピューティングノードを割り当てるように構成される、請求項12に記載の方法。
  22. 前記サーバーコンピューティング装置は、メッセージトピックへの加入のリクエストを前記仮想ネットワークの前記コンピューティングノードから受信し、前記メッセージトピックに関連した加入リストに前記コンピューティングノードを割り当てるように構成される、請求項12に記載の方法。
  23. 並列コンピューティングノード間のシームレスな相互運用のための、コンピューター読み取り可能記憶媒体に有形に具現化されたコンピュータープログラム製品であって、当該コンピュータープログラム製品が、複数のコンピューティングノードに結合したサーバーコンピューティング装置に、
    複数のコンピューティングノードの第1コンピューティングノードから、1以上の他のコンピューティングノードへの伝送のためのメッセージを受信するステップであって、前記メッセージが、第1コンピューティングノード上の第1アプリケーションからのアプリケーション特有指令に基づいて前記第1コンピューティングノードにより生成され、ここで、前記複数のコンピューティングノードが、前記サーバーコンピューティング装置で仮想ネットワークとして規定され、各コンピューティングノードが、前記サーバーコンピューティング装置と通信するためのアンサンブルモジュールを含む、ステップと、
    前記メッセージを受信する前記仮想ネットワークの1以上の他のコンピューティングノードを決定するステップと、
    決定された1以上の他のコンピューティングノードに前記メッセージを送信するステップであって、各宛先コンピューティングノードが、決定されたノード上の第2アプリケーションのためのアプリケーション特有指令に前記メッセージをフォーマットする、ステップを生じさせるように動作可能である、コンピュータープログラム製品。
JP2014082896A 2013-04-12 2014-04-14 アンサンブルコンピューティング Pending JP2014209341A (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201361811403P 2013-04-12 2013-04-12
US61/811,403 2013-04-12
US14/218,363 US8819127B1 (en) 2013-04-12 2014-03-18 Ensemble computing
US14/218,363 2014-03-18

Publications (1)

Publication Number Publication Date
JP2014209341A true JP2014209341A (ja) 2014-11-06

Family

ID=51358724

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014082896A Pending JP2014209341A (ja) 2013-04-12 2014-04-14 アンサンブルコンピューティング

Country Status (2)

Country Link
US (2) US8819127B1 (ja)
JP (1) JP2014209341A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12001529B1 (en) * 2021-11-05 2024-06-04 Validate Me LLC Counting machine for manufacturing and validating event-relevant identities via an ensemble network

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006065871A (ja) * 2005-08-29 2006-03-09 Sanyo Electric Co Ltd 家電機器ネットワークシステム
JP2006523905A (ja) * 2003-03-06 2006-10-19 インターナショナル・ビジネス・マシーンズ・コーポレーション パブリッシュ/サブスクライブ・メッセージングのためのシステム及び方法
JP2009542140A (ja) * 2006-06-27 2009-11-26 インターナショナル・ビジネス・マシーンズ・コーポレーション 高速短待ち時間データ通信環境において冗長メッセージ・ストリームを使用する高信頼性メッセージングのための方法、装置、およびプログラム

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004531780A (ja) * 2000-06-22 2004-10-14 マイクロソフト コーポレーション 分散型コンピューティングサービスプラットフォーム
US20030172135A1 (en) * 2000-09-01 2003-09-11 Mark Bobick System, method, and data structure for packaging assets for processing and distribution on multi-tiered networks
US7216173B2 (en) * 2001-06-12 2007-05-08 Varian Medical Systems Technologies, Inc. Virtual private network software system
US6754192B2 (en) 2002-04-29 2004-06-22 Harris Corporation Temporal transition network protocol (TTNP) in a mobile ad hoc network
US7401336B2 (en) 2002-05-30 2008-07-15 Oracle International Corporation Role based integrated platform
US6879574B2 (en) 2002-06-24 2005-04-12 Nokia Corporation Mobile mesh Ad-Hoc networking
US7607137B2 (en) 2002-07-01 2009-10-20 Sap Ag Integration of heterogeneous applications
DE602004010519T2 (de) * 2003-07-04 2008-11-13 Nippon Telegraph And Telephone Corp. Fernzugriffs-vpn-aushandlungsverfahren und aushandlungseinrichtung
US7523220B2 (en) 2003-09-17 2009-04-21 Microsoft Corporation Metaspace: communication middleware for partially connected mobile ad hoc networks
KR100550009B1 (ko) 2003-11-13 2006-02-08 한국전자통신연구원 유비쿼터스 컴퓨팅을 위한 네트워크 장치 및 패킷 라우팅방법
KR100679865B1 (ko) 2005-03-07 2007-02-07 아주대학교산학협력단 유비쿼터스 컴퓨팅 환경의 다양성을 지원하기 위한 시스템
US8412826B2 (en) 2005-03-21 2013-04-02 Hewlett-Packard Development Company, L.P. Message exchange between software components
EP1889160A2 (en) * 2005-06-09 2008-02-20 Whirlpool Corporation Software architecture system and method for communication with, and management of, at least one component within a household appliance
JP4663497B2 (ja) * 2005-12-01 2011-04-06 株式会社日立製作所 情報処理システムおよび情報処理装置の割当管理方法
US8072950B2 (en) 2006-07-05 2011-12-06 Samsung Electronics Co., Ltd. Collaborative mobile ad hoc network infrastructure
US8203971B2 (en) 2007-01-12 2012-06-19 Samsung Electronics Co., Ltd. Group communication in a mobile ad-hoc network
US8181151B2 (en) 2007-10-26 2012-05-15 Microsoft Corporation Modeling and managing heterogeneous applications
US9021046B2 (en) * 2010-01-15 2015-04-28 Joyent, Inc Provisioning server resources in a cloud resource
US8984109B2 (en) 2010-11-02 2015-03-17 International Business Machines Corporation Ensemble having one or more computing systems and a controller thereof
WO2012079240A1 (en) 2010-12-17 2012-06-21 Empire Technology Development Llc Device discovery in a ubiquitous computing environment
GB2493133A (en) 2011-07-12 2013-01-30 Kingston University Higher Education Corp Ubiquitous networking
US9208007B2 (en) * 2012-01-18 2015-12-08 International Business Machines Corporation Open resilience framework for simplified and coordinated orchestration of multiple availability managers

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006523905A (ja) * 2003-03-06 2006-10-19 インターナショナル・ビジネス・マシーンズ・コーポレーション パブリッシュ/サブスクライブ・メッセージングのためのシステム及び方法
JP2006065871A (ja) * 2005-08-29 2006-03-09 Sanyo Electric Co Ltd 家電機器ネットワークシステム
JP2009542140A (ja) * 2006-06-27 2009-11-26 インターナショナル・ビジネス・マシーンズ・コーポレーション 高速短待ち時間データ通信環境において冗長メッセージ・ストリームを使用する高信頼性メッセージングのための方法、装置、およびプログラム

Also Published As

Publication number Publication date
US9106643B2 (en) 2015-08-11
US20140351905A1 (en) 2014-11-27
US8819127B1 (en) 2014-08-26

Similar Documents

Publication Publication Date Title
EP3437262B1 (en) Multi-modal conversational intercom
KR102612883B1 (ko) 다수의 디바이스들에 걸친 데이터 동기화
KR101984413B1 (ko) 서비스 레이어를 통해 제3자 서비스들에 대한 액세스를 가능하게 하는 시스템들 및 방법들
EP2807868B1 (en) Method and apparatus for automatic service discovery and connectivity
AU2023285970A1 (en) Personal domain for a virtual assistant system on a communal device
JP6208875B2 (ja) セキュアメディアベース会議のための方法およびシステム
RU2411682C2 (ru) Способ, устройство, сетевой элемент, система и компьютерный программный продукт для обеспечения совместного доступа к контенту
TWI501610B (zh) 用以提供分享服務之方法及裝置
JP5891559B2 (ja) インスタントメッセージングの方法、端末、サーバ及びシステム
JP2019149193A (ja) モバイル・デバイス上のアプリケーションからリモート・ウェブ・クライアントを扱うための技法
WO2014044075A1 (en) A data-sharing method, terminal, server, and system
KR20150013860A (ko) 클라이언트 없는 클라우드 컴퓨팅
JP6563416B2 (ja) 近接ベースのピアツーピアモバイルコンピューティング用のアプリケーションのユーザエクスペリエンスを向上させるシステムおよび方法
WO2013127145A1 (zh) 针对群组资源的操作方法、群组服务器
KR20120099775A (ko) 애드 혹 피어-투-피어 접속을 위한 분산형 메시지 버스를 이용하는 방법 및 장치
KR20220165763A (ko) 에지 컴퓨팅을 사용한 미디어 스트리밍
EP2978160A1 (en) Method and apparatus for providing an anonymous communication session
US20140089430A1 (en) Data-sharing method, terminal, server, and system
JP2014209341A (ja) アンサンブルコンピューティング
WO2023213101A1 (zh) 一种通信方法、装置及设备
US20130132478A1 (en) Establishing Communication Among Parties Based on Location
WO2017000453A1 (zh) 管理联系人的号码的方法和装置
Chen et al. Enabling resource-aware ubiquitous applications for personal cloud with a pairing device framework
Hasswa et al. Utilizing the IP Multimedia Subsystem to create an extensible service-oriented architecture
KR20240004621A (ko) 5gms 인식 애플리케이션에 의한 에지 서버 발견 및 인스턴스화의 트리거링

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170314

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180313

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20180613

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180913

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181106

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190604