JP2013506170A - パーベイシブコンピューティング分野のためのシステム及び方法 - Google Patents

パーベイシブコンピューティング分野のためのシステム及び方法 Download PDF

Info

Publication number
JP2013506170A
JP2013506170A JP2012527051A JP2012527051A JP2013506170A JP 2013506170 A JP2013506170 A JP 2013506170A JP 2012527051 A JP2012527051 A JP 2012527051A JP 2012527051 A JP2012527051 A JP 2012527051A JP 2013506170 A JP2013506170 A JP 2013506170A
Authority
JP
Japan
Prior art keywords
output
input
computer
application program
user
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
JP2012527051A
Other languages
English (en)
Inventor
ヴォノグ,スタニスラフ
レミー,タラ
スリン,ニコライ
シュタユラ,ワディム
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.)
Net Power and Light Inc
Original Assignee
Net Power and Light Inc
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 Net Power and Light Inc filed Critical Net Power and Light Inc
Publication of JP2013506170A publication Critical patent/JP2013506170A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

パーベイシブコンピューティングのための方法及びシステムが開示される。一実施形態によれば、コンピュータに実装された方法は、クラウドコンピューティング環境内で、周辺装置を検出し得る第1装置と通信するサーバと、サーバによって実行可能なアプリケーションプログラムとを備え、アプリケーションプログラムは、第1装置によって制御され、アプリケーションプログラムの出力は、第1装置によって検出される装置の1つに導かれる。
【選択図】図3A

Description

本発明は、一般に、コンピュータアプリケーション、より詳細には、パーベイシブコンピューティングのためのシステム及び方法に関する。
ユーザは、多数のコンピュータ及び電子装置に益々囲まれるようになっている。ユーザは、典型的に、自宅に多数のコンピュータ、職場で多数のコンピュータ、多数のディスプレイ、様々な携帯電話、ポータブルコンピュータ、ミュージックプレーヤ、テレビ、ゲームコンソール、カメラ、及びリーデング装置を有する。
最近開発されている制御装置のための方法は、マルチタッチフォン又は画面、音声指令、モーションセンシングコントローラ(例えば、Wiiリモート)、ボディトラッキングシステム(たとえば、Project Natal)、ゲイズトラッキング、及びゲームコンソール状のコントローラを含む。
既存のユーザインターフェースは、同時に、単一のコンピュータ又はモバイル装置のユーザを想定している。GUIパラダイムは、未だに大抵はデスクトップである。デスクトップGUI及び伝統的な単一のマシンオペレーティングシステムは、マウスやキーボードを越えた多数の装置及び新たなUI性能の新たな世界では、うまく機能しない。
演算装置には、そのほとんどが使用されない多くのソフトウェアアプリケーションがロードされる。アプリケーションは、特定のハードウェアマシンに連係し、移動可能ではなく、維持及びアップグレードすることが難しくかつコストのかかるものである。
多数の装置を有するユーザは、使用する1つの装置の機能(例えばiPhoneのマルチタッチ機能)を、他の装置(例えば大きなスクリーンのプラズマテレビ)と組み合わせることができない。
コンピュータ及び装置は、数十万のプライベートローカルネットーワーク内に又はインターネットの一部として接続されるのであるが、装置は、その大部分が互いに認識していない。それらの間でのデータ(すなわち写真)を転送すること及び同期させることは、しばしば長く苦痛を伴う作業である。
既存のウェブアプリケーションは、これらの問題のいくつかを解決することを目的とする。ウェブアプリケーションは、伝統的なソフトウェアアプリケーションと同様な機能を提供するために作成されるが、それらのインストールの必要性と物理的なコンピュータのスローダウンを取り除く。ウェブアプリケーションはまた、サーバ上に保存されるデータに全てのユーザの装置からアクセスできるように構築され、それ故、データの同期の必要性を取り除く。
しかしながら、ウェブアプリケーション及びブラウザベースのモデルは、以下を含むいくつかの制限を有する。
・html/ジャバスクリプトで形成されるユーザの体験は、基礎的なものであり、かつ制限される。
・フラッシュ/シルバーライトは、マルチスレッディングモデルを有しておらず、フル装備のアプリケーションを構築することができない。
ウェブアプリケーションモデル又はRIAモデルを使用する通信/協調ソフトウェアは、効果的に構築されない。
マルチマシンコンピューティング環境は、最近、ソフトウェア開発、プロビジョニング、及びマネージメント及び/又はデータセンタ(VMWare vSphere, Citrix Cloud Center. Amazon Elastic Compute Cloud, Microsoft Windows Azure他)を運営するための企業ニーズに対処するために開発されてきている。
しかしながら、これらのコンピューティング環境のいずれもが、消費者/多数の装置シナリオを想定しておらず、ユーザインターフェースも提供しない(その環境が、ウェブアプリケーション又はデスクトップオペレーティングシステムで仮想マシンを駆動するように使用される)。
パーベイシブコンピューティングのための方法及びシステムが開示される。一実施形態によれば、コンピュータに実装される方法は、クラウドコンピューティング環境内の周辺装置を検出することができる第1装置と通信するサーバと、サーバによって実行され得るアプリケーションプログラムとを備え、アプリケーションプログラムは、第1装置によって制御され、アプリケーションプログラムの出力が、サーバによって、第1装置により検出される装置の1つに導かれる。
本発明は、2009年8月27日の出願米国特許仮出願第61/237611号、発明の名称「パーベイシブコンピューティングのためのオペレーティング環境及びユーザインターフェース」の利益を求め、参照によってここに組み入れられる。
図1は、一実施形態による本システムで用いる例示的なコンピュータアーキテクチャを示す。 図2は、一実施形態によるパーベイシブコンピューティング環境の例示的なシステムレベルダイアグラムである。 図3Aは、一実施形態による単独のサーバを利用するパーベイシブコンピューティング環境の例示的なシステムレベルダイアグラムである。 図3Bは、一実施形態による多数のサーバを利用するパーベイシブコンピューティング環境の例示的なシステムレベルダイアグラムである。 図4Aは、一実施形態によるパーベイシブコンピューティング環境内での例示的な装置通信グラフを例示する。 図4Bは、一実施形態によるパーベイシブコンピューティング環境内の、アプリケーション転送の前及び後の例示的な装置通信グラフを示す。 図4Cは、一実施形態によるパーベイシブコンピューティング環境内の、アプリケーション転送の前及び後の例示的な装置通信グラフを示す。 図5は、一実施形態によるパーベイシブコンピューティング環境内で用いる例示的なクライアントアーキテクチャを示す。 図6Aは、一実施形態によるパーベイシブコンピューティング環境内で用いる例示的で単純な出力装置アーキテクチャを示す。 図6Bは、一実施形態によるパーベイシブコンピューティング環境内で用いる例示的な装置コントローラアーキテクチャを示す。 図6Cは、一実施形態によるパーベイシブコンピューティング環境内で用いる例示的なパフォーマンス演算装置アーキテクチャを示す。 図6Dは、一実施形態によるパーベイシブコンピューティング環境内で用いる例示的なネットブック状の装置アーキテクチャを示す。 図6Eは、一実施形態によるパーベイシブコンピューティング環境内で用いる例示的で単純なオペレーティングシステムアーキテクチャを示す。 図7は、一実施形態によるパーベイシブコンピューティング環境内で用いる例示的なクラウドアーキテクチャを示す。 図8Aは、一実施形態による、任意のコンピュータが任意のユーザによって使用され得る例示的なパーベイシブコンピューティング環境シナリオを示す。 図8Bは、一実施形態による、任意のコンピュータが任意のユーザによって使用され得る例示的なパーベイシブコンピューティング環境シナリオを示す。 図8Cは、一実施形態による、任意のコンピュータが任意のユーザによって使用され得る例示的なパーベイシブコンピューティング環境シナリオを示す。 図9Aは、一実施形態による、アプリケーションがユーザに従う例示的なパーベイシブコンピューティング環境シナリオを示す。 図9Bは、一実施形態による、アプリケーションがユーザに従う例示的なパーベイシブコンピューティング環境シナリオを示す。 図9Cは、一実施形態による、アプリケーションがユーザに従う例示的なパーベイシブコンピューティング環境シナリオを示す。 図10Aは、一実施形態による、ソフトウェアアプリケーションがハードウェア装置から独立している例示的なパーベイシブコンピューティング環境シナリオを示す。 図10Bは、一実施形態による、ソフトウェアアプリケーションがハードウェア装置から独立している例示的なパーベイシブコンピューティング環境シナリオを示す。 図10Cは、一実施形態による、ソフトウェアアプリケーションがハードウェア装置から独立している例示的なパーベイシブコンピューティング環境シナリオを示す。 図11Aは、一実施形態による、アプリケーションが電子新聞からテーブル面に移動する例示的なパーベイシブコンピューティング環境シナリオを示す。 図11Bは、一実施形態による、アプリケーションが電子新聞からテーブル面に移動する例示的なパーベイシブコンピューティング環境シナリオを示す。 図11Cは、一実施形態による、アプリケーションが電子新聞からテーブル面に移動する例示的なパーベイシブコンピューティング環境シナリオを示す。 図11Dは、一実施形態による、アプリケーションが電子新聞からテーブル面に移動する例示的なパーベイシブコンピューティング環境シナリオを示す。 図11Eは、一実施形態による、アプリケーションが電子新聞からテーブル面に移動する例示的なパーベイシブコンピューティング環境シナリオを示す。 図12は、一実施形態による、制御装置が他の装置及びアプリケーションを制御する例示的なパーベイシブコンピューティング環境シナリオを示す。 図13Aは、一実施形態による、装置が制御装置からの入力に応答する例示的なパーベイシブコンピューティング環境シナリオを示す。 図13Bは、一実施形態による、装置が制御装置からの入力に応答する例示的なパーベイシブコンピューティング環境シナリオを示す。 図13Cは、一実施形態による、装置が制御装置からの入力に応答する例示的なパーベイシブコンピューティング環境シナリオを示す。 図13Dは、一実施形態による、装置が制御装置からの入力に応答する例示的なパーベイシブコンピューティング環境シナリオを示す。 図14Aは、さらに他の実施形態による、装置が制御装置からの入力に応答する例示的なパーベイシブコンピューティング環境シナリオを示す。 図14Bは、さらに他の実施形態による、装置が制御装置からの入力に応答する例示的なパーベイシブコンピューティング環境シナリオを示す。
本明細書の一部として含まれる添付図面は、現在、望ましい実施形態と上記の一般的な記載とを例示し、以下に与えられる望ましい実施形態の詳細な説明は、本発明の原理を説明及び示唆する役割を果たす。
パーベイシブコンピューティングのための方法及びシステムが開示される。一実施形態によれば、方法が実行されるコンピュータは、クラウドコンピューティング環境内で周辺装置を検出し得る第1装置と通信するサーバと、サーバによって実行されるアプリケーションプログラムとを備え、アプリケーションプログラムは、第1装置によって制御され、アプリケーションプログラムの出力が、第1装置によって検出される装置の1つにサーバによって導かれる。
本方法及びシステムは、2009年9月29日出願の米国特許出願第12/569876号に記述される転送プロトコルを包含し、これによって、参照によってその全体に組み入れられる。
書類全体にわたって使用される添付の用語及び付随する定義は、以下を含む。
装置:入力、出力又は演算が可能な電子工学、生物電子工学、又はナノ電子工学装置。装置の例は、限定されることなく、ラップトップコンピュータ、サーバ、パーソナルコンピュータ、ネットブック、モバイル装置、スマートフォン、プロジェクタ、テレビを含む。
アプリケーション:クライアントによって使用されるソフトウェア。アプリケーションの例は、限定されることなく、マイクロソフトオフィスアプリケーション、写真編集ソフトウェア、及びメディアプレーヤを含む。
入力性能:人又は装置又は他のアプリケーションからの入力情報を受信する装置の能力。入力性能の例は、限定されることなく、人の声、ビデオデータ、モーション検出、加速度計センサ、温度センサ、圧力センサ(例えば、大気圧又は接触圧力)、目の動き、キーボード及びマウス、データファイル、他のアプリケーションから受信されるデータストリームを含む。
出力性能:データを出力として他の装置又は他のアプリケーションに送信するため、又は、人によって知覚され得るように出力を提供するための、ある装置の能力。出力性能の例は、大又は小スクリーン上での表示性能、3D表示、音響を含む。
演算性能:プログラミング言語の1つにおいて作成されるプログラムを実行することによって演算を行う装置の能力。
I/O/Cグラフ:入力、出力及び演算の性能グラフ。グラフは、いかなるときでもユーザ又はその関係によって使用される全ての装置の論理的表現である。I/O/Cグラフは、いかなる所与のユーザによってもどのコンピュータが使用されるかを明確にする。それはまた、どの装置が演算性能を与えるか、どの装置が入力及び出力性能を与えるか、及び、これらの装置(また、おそらく入力及び出力ストリームを複製する)が互いの間で如何にして入力及び出力を送るか、を明確にする。I/O/Cグラフは、パーベイシブオペレーティング環境を使用する全ての機会にシステム内の全てのユーザのために作成されるグラフである。
I/O/Cスーパバイザ:装置が通信する構成要素。装置は、性能をスーパバイザに伝え、さらにスーパバイザは、各ユーザに対して特有のものである。スーパバイザは、パーベイシブコンピューティング環境を使用しているいかなるときも各ユーザについてのI/O/Cグラフを維持し統合する。I/O/Cスーパバイザは、各ユーザについてのデータ、アプリケーション及び装置へのアクセスを維持する。
ネームサービス:物理ネットワークアドレス(IPアドレスのような)から取り出すために、装置に固定ネームを結合させる能力をユーザに与える。
装置エージェント:本システム内で用いる各装置のパーベイシブコンピューティングエージェント。
データプロバイダ:ユーザデータを回収するためにデータストレージプロバイダと通信することについて責任を負う構成要素。
データストレージプロバイダ:ユーザデータストレージサービスを遠隔操作する。
認証及びセキュリティゲートウェイ:ユーザを認証するための構成要素。
バーチャル(仮想)演算装置プロバイダ:ユーザのI/O/Cスーパバイザのようなシステムの他の要素からの要求に仮想演算装置を提供することについて責任を負う要素。
アプリケーションストリーマ:アプリケーションストリーミング技術を使用する仮想又は物理演算装置にアプリケーションを展開することに責任を負う構成要素。
アプリケーションイメージストレージ:アプリケーションストリーミング技術を使用する物理又は仮想演算装置に展開されるアプリケーションのイメージのためのストレージ。代わりに、アプリケーションイメージストレージは、所定のオペレーティングシステム内で、ソフトウェアインストレーションの標準プロセスを経由して仮想又は物理演算装置にインストールされるパッケージ化されたアプリケーションを含み得る。
バーチャル(仮想)マシンプロバイダ:要求に応じて仮想マシンを提供することに責任を負う構成要素。
入力エンコーダ:受信された入力をエンコードする能力のある構成要素。
入力デコーダ:受信された入力をデコードする能力のある構成要素。
入力キュー:受信された入力に関するバッファ。
出力キャプチャラ:出力を補足する能力のある構成要素。
出力レンダラ:出力を適切に提供する能力のある構成要素。
出力エンコーダ:送信される出力をエンコードする能力のある構成要素。
出力デコーダ:送信される出力をデコードする能力のある構成要素。
ネットワークスタック:パーベイシブコンピューティング環境内での装置通信のための構成要素。ネットワークスタックは、データ送信の高性能かつ低遅延性を可能にする。
ユーザインターフェース(UI)シェル:パーベイシブコンピューティング環境での、ユーザインタラクションのための装置上のユーザインターフェース。
装置取得:各装置が、周辺装置を見つけ出し、それらを取得(クライアント要求によるか否かに関わらず)できる。取得は、装置をユーザの個人的なパーベイシブコンピューティング環境内に配置する。
パーベイシブコンピューティングのための本システムは、装置が、それらのOS及びハードウェアに関係なくアプリケーションを作動させることを可能にする。ユーザは、あらゆる装置からのそのデータ、アプリケーション及び仮想マシンにもアクセスでき、そして、幅広い様々な演算装置が支援され得る。アプリケーションは、ほとんど瞬時に(すなわち、ネットワークの状況及び他の要因により、数百ミリ秒から数秒の範囲で、非常に短い期間で)装置間を移動できる。パーベイシブコンピューティングシステム内で、個人的なコンピューティング環境は、データ、アプリケーション、仮想及び物理装置を処理するためのユーザインターフェース(UI)シェルを提供する。装置は、互いに発見し合うことができ、他の装置に内在する性能を利用できる。アプリケーションストリーミング技術との組み合わせで、「ホット(hot)」な仮想マシンの使用は、待機状態にあるべき仮想機器(すなわち、特定のアプリケーションを駆動する仮想マシン)の数を最小化する。
本パーベイシブコンピューティング環境は、ロボティック装置と同様に、多数の入力、出力及び演算装置を扱うことができる。装置は、例えば、限定されないが、ラップトップ、コンピュータ(mac及びpcs)、テレビ、折り畳み可能な電子スクリーン、ロボティック装置、モバイル装置、携帯電話、アイフォン、タブレット、トラッキングカメラ、モーションセンシング、サングラス、ヘルメット、コンタクトレンズ内に構築される拡張現実ディスプレイ、加速度センシング、モーショントラッキングシステム、マルチタッチ画面、3Dディスプレイシステム(ホログラフィックか否かに限らず)、コンピューティングユニットが取り付けられる投影テーブル及びウォール、及びRFIDリーダ及びタグといった物理及び仮想のものであり得る。
本システムによれば、ユーザは、無制限の数の装置をそのコンピューティング環境内に有し得る。
本システムのユーザインターフェースは、一実施形態によれば、モーションセンシング、ボディトラッキング、マルチタッチ、ボイス及び伝統的な入力性能によるゲイズ入力性能を支援する。
ユーザデータ及びアプリケーションは、いかなる装置からもアクセス可能であり、スクリーン、コンピュータ及び装置の間を移動できる。アプリケーションは、多数のユーザの間で共有され、すなわち、かなりのユーザが同時にアプリケーションを見ることができ、一緒に仕事をすることができる。これは、途切れのない協力を可能にし、その例は、プレゼンテーションを伴うビデオチャットである。他の例としては、オーディオチャット及びテキストチャットを含む。
装置は、互いに見つけ出し、及び、互いの表示、入力及び演算性能を見つけ出すことができる。装置は、それらの入力性能及び表示性能を互いに共有できる。
本システムは、オペレーティングシステムを伴わない装置を支援する多数のオペレーティングシステムを支援する。本システムはまた、多数のデータストレージプロバイダ及びコンピューティングプロバイダを支援する。ユーザは、地理、コスト、バンド幅及び他の要因に基づいて、それらの個人的なパーベイシブコンピューティング環境に関してコンピューティングプロバイダを選択する。
上で議論されたレシーバの一実施形態は、コンタクトレンズディスプレイであり得るということが理解されるであろう。コンタクトレンズディスプレイは、参照によってここに組み入れられる「Augmented Reality in a Contact Lens」、IEEE Spectrum September 2009において議論される。そのようなコンタクトレンズは、着用者に情報を表示でき、無線装置に通信できる。これらの装置は、上で議論されたレシーバとして機能でき、そして、着用者の視野における配置されるグラフィックを配置することによってユーザの現実性を増加させることができる。小型の装置になると、これらの装置は、機能性、例えばグラフィック、指令、及びテキストのみを提供するというように制限され得る。そのような装置の一実施形態は、着用者がその環境で対象物に焦点を合わせるように、関係するテキストを表示できる。
上で議論されるグラフィカル出力は、3Dグラフィックを含み得るということが理解されるであろう。3Dグラフィックは、多数のカメラによって撮られ、その後にホログラム又は他の3Dグラフィックを創るために共に結合される特定のグラフィックであり得る。そのような3Dグラフィックは、上のシステムによって容易に支援され、3Dグラフィックは、サーバによって適切に圧縮され、レンダリングのためにレシーバに送信される。レシーバが適切な演算資源レンダリング性能を有すると仮定すると、3Dグラフィックは、ユーザに提供される。3Dグラフィックは、ここで参照によって組み入れられる、「3D:It's Nearly There」、The Economist - Technology Quarterly、2009年9月5日、第22頁、において議論される。
以下の記述において、説明の目的のために、ここで開示される様々な発明の概念の全体的な理解を提供すべく、特定の用語体系が設定される。しかしながら、これらの特定の詳細が、ここに開示される様々な発明の概念を実施するために要求されるのではないということは、当業者にとって明白であろう。
以下の詳細な記載のいくつかの部分は、コンピュータメモリ内のデータビットにおける操作のアルゴリズム及び記号による表示に関して示される。これらのアルゴリズムの記述及び表示は、最も効果的に当業者がその作業の材料を他の当業者に最も効率良く運ぶために、データ処理分野における当業者によって使用される手段である。ここでの方法は、一般に、所望の結果を導く一貫した処理であると考えられる。その処理は、物理量の物理的な操作を含む。通常、必須ではないが、これらの量は、保存され、送信され、結合され、比較され、そして、その他、操作されることが可能な電気又は磁気の信号の形式をとる。主に共通の用法の理由のために、これらの信号をビット、値、要素、記号、文字、用語、数等として参照することが、時には便利であると証明されている。
しかしながら、全てのこれらの及び類似の用語は、適切な物理量に関係し、そして、これらの量に適用される単に便利なラベルであるということが留意されるべきである。他に明確に述べられない限り、下記の議論から明らかなように、詳細な説明全体にわたり、「処理(プロセッシング)」、又は「演算(コンピューティング)」、又は「計算」、又は「決定」、又は「表示」等の用語を用いる議論が、コンピュータシステムのレジスタ及びメモリ内で、物理(電子)量として表わされるデータを、コンピュータシステムのメモリ又はレジスタ又はそのような他の情報ストレージ、変換又は表示装置内で、物理量として同様に表示される他のデータに操作及び変換するコンピュータシステム又は類似の電子演算装置の動作及び処理を参照するということが理解される。
本方法及びシステムはまた、ここでオペレーションを実行する装置に関する。この装置は、要求される目的のために特別に構成され、又は、選択的に動作され若しくはコンピュータ内に保存されるコンピュータプログラムによって選択的に作動させられ又は再構成される汎用コンピュータを備え得る。そのようなコンピュータプログラムは、限定されることなく、フロッピーディスク、光ディスク、CD−ROM、及び光磁気ディスクのあらゆる種類のディスク、リードオンリーメモリ(「ROM」)、ランダムアクセスメモリ(「RAM」)、EPROM、EEPROM、磁気又は光カード、又は、電気指令を保存し、それぞれシステムバスに接続されるあらゆる媒体といったコンピュータ読み込み可能なストレージ媒体内に保存され得る。
ここで示されるアルゴリズム及び表示は、いかなる特定のコンピュータ又は他の装置にも本質的に関係するものではない。様々な汎用システムが、ここでの示唆に従うプログラムとともに使用され、または、要求される方法ステップを実行するためのより特別な装置を構成することが便利であることを証明し得る。これらの様々なシステムの要求される構造は、以下の記述から明らかとなるであろう。加えて、本発明は、あらゆる特定のプログラミング言語への参照を伴って記述されてはいない。様々なプログラミング言語が、ここで記述される方法及びシステムの示唆を実行するために使用され得るということが理解されるであろう。
図1は、一実施形態による本システムを伴う使用のための例示的なコンピュータアーキテクチャを示す。アーキテクチャ100の一実施形態は、情報を通信するためのシステムバス120と、情報を処理するための、バス120に接続されるプロセッサ110とを備える。アーキテクチャ100は、ランダムアクセスメモリ(RAM)又は、プロセッサ110によって実行される情報及び指令を保存するためにバス120に接続される他の動的ストレージ装置125(ここではメインメモリとして参照される)とをさらに備える。メインメモリ125はまた、プロセッサ110によって指令の実行する間に、一時変数又は他の中間情報を保存するために使用され得る。アーキテクチャ100はまた、プロセッサ110によって使用される静的な情報及び指令を保存するためのバス120に接続される、リードオンリーメモリ(ROM)及び/又は他の静的な記憶装置126を含み得る。
磁気ディスク又は光ディスク及びその対応するドライブのようなデータストレージ装置127もまた、情報及び指令を保存するためのコンピュータシステム100に接続され得る。アーキテクチャ100はまた、インターフェース130を経由して、第2のI/Oバス150に接続され得る。ディスプレイ装置143、入力装置(例えば英数字入力装置142及び/又はカーソル制御装置141)を含む複数のI/O装置が、I/Oバス150に接続され得る。
通信装置140は、ネットワークを経由した他のコンピュータ(サーバ又はクライアント)へのアクセスを許容する。通信装置140は、1以上のモデム、ネットワークインターフェースカード、無線ネットワークインターフェース、又は、イーサネット、トークンリング、又は他の種類のネットワークへの接続のために使用される他のよく知られたインターフェース装置を備えていてもよい。
図2は、一実施形態によるパーベイシブコンピューティング環境の例示的なシステムレベルダイアグラムである。パーベイシブコンピューティングシステム200は、インターネット207を経由してデータセンタ(「クラウド」)208に通信するクライアント209を有する。クライアント209は、ユーザエンジン202を作動させる装置201を有し、その装置は、装置201にインストールされていないアプリケーション204を表示している。クラウド208は、クラウドエンジン205及びアプリケーション204を作動させるサーバ203を有する。クラウドはまた、サーバ203又は装置201に保存されていないユーザデータ206へのアクセスを有する。
図3Aは、単独のサーバを利用するパーベイシブコンピューティング環境の例示的な一実施形態によるシステムレベルダイアグラムである。パーベイシブコンピューティング環境300は、クラウド311と、1以上の装置(装置_1 301、装置_2 302、装置_N 303)とを有する。装置_1 301は、入力性能304、出力性能305、演算性能306、入力エンコーダ及びデコーダ307、出力エンコーダ及びデコーダ308、装置エージェント309、及びネットワークスタック310を有し得る。一実施形態による装置は、参照される構成のあらゆる組み合わせを有することができ、それらの全てを有することは要求されない。クラウド311は、スーパバイザ313(入力、出力、及び演算のためのI/O/Cスーパバイザとして参照される)、ネームサービス312、ストレージプロバイダ(316,317)と通信するデータプロバイダ314、及び認証及びセキュリティゲートウェイ315を有する。
図3Bは、多数のサーバを利用するパーベイシブコンピューティング環境の例示的な一実施形態によるシステムレベルダイアグラムである。パーベイシブコンピューティング環境340は、クラウド308と、1以上の装置(装置_1 318、装置_2 319、装置_N 320)とを有する。装置_1 318は、入力性能321、出力性能324、出力エンコーダ及びデコーダ325、装置エージェント326、及びネットワークスタック327を有し得る。一実施形態による装置は、参照される構成のあらゆる組み合わせを有することができ、そして、それらの全てを有することは要求されない。クラウド328は、スーパバイザ329(入力、出力、及び演算のためのI/O/Cスーパバイザとして参照される)、ネームサービス330、ストレージプロバイダ(336,337)と通信するデータプロバイダ331、及び認証及びセキュリティゲートウェイ335を有する。クラウド328はまた、仮想マシンマネージャ333及びアプリケーションストリーマ334と通信する仮想コンピューティング装置プロバイダ332を有する。仮想マシンマネージャ333は、仮想マシン(VM)プロバイダ338に通信し、アプリケーションストリーマ334は、アプリケーションイメージストレージ339に通信する。
図4Aは、一実施形態によるパーベイシブコンピューティング環境内での例示的な装置通信グラフを示す。入力/出力/演算スーパバイザ401(ここでは「スーパバイザ」として参照される)は、全てが互いに近接する多数の装置(402,403,404,405,406,407)と通信する。装置は、入力、出力及び/又は演算性能を有し得る。装置は、互いに発見し合うことができ、既存の機能性を他の装置に活用するために、選択的に互いに取得し合うことができる。装置4 402は、出力装置であり、取得されていない。装置1 406は、入力装置であり、取得されている。装置2 407も入力装置であり、取得されている。装置3 405は、演算装置であり、取得されている。装置5 407は、出力装置であり、取得されている。装置6 404は、入力及び出力装置であり、取得されている。
装置1のために使用される入力装置の例は、入力エンコーダを伴うアップルのアイフォンであり得る。装置2のために使用される入力装置の例は、入力エンコーダを伴うフルボディモーションセンシングカメラであり得る。装置3のために使用される演算装置の例は、出力エンコーダ及び入力エンコーダを伴う8コアCPU及びパワフルGPUを伴うサーバであり得る。装置4のために使用され得る出力装置は、出力エンコーダを伴うプロジェクタを有する投影面であり得る。装置5のために使用される出力装置の例は、出力デコーダを伴うテレビセットであり得る。装置6のために使用される入力及び出力装置の例は、入力エンコーダ及び出力デコーダを有するマルチタッチラップトップ画面であり得る。
図4B及び4Cは、一実施形態によるパーベイシブコンピューティング環境内で、アプリケーションの転送前及び後の、例示的な装置通信グラフを示す。図4Bにおいて、スーパバイザ408は、全てが取得されている4つの装置(409,410,411,412)と通信する。入力装置の装置1409(例えばアップルのアイフォン)は、入力/出力装置の装置2410(例えばネットブック)に近接している。演算装置の装置4412(例えば8コアCPU及びパワフルGPUを伴うサーバ)は、アプリケーションを駆動し、装置2410への又は装置2410からのストリーミングを行っている。入力及び出力装置(例えばネットブック)の装置3411は、取得されているが、アクティブなアプリケーションを表示していない。
図4Cもまた、全てが取得されている4つの装置(409,410,411,412)と通信するスーパバイザ408を含む。しかしながら、装置1 409は、装置3 410に代わりに表示されるように、装置2 410に表示されるアプリケーションを送信する要求を行っている。装置4 412は、ここで、装置3 411に対してストリーミングを行っている。
図5は、一実施形態によるパーベイシブコンピューティング環境内で用いる例示的なクライアントアーキテクチャを示す。装置501は、装置エージェント516及びネットワークスタック517を有する。装置501はまた、入力キャプチャラ508、入力エンコーダ512、入力デコーダ513、入力キュー509、出力キャプチャラ510、出力レンダラ511、出力エンコーダ514、出力デコーダ515、及び演算要素(502,503,504,505)の少なくとも1つを有する。装置501は、ユーザインターフェース(UI)シェル506及びアプリケーション507を選択的に有し得る。
図6Aは、一実施形態によるパーベイシブコンピューティング環境で用いる例示的な単純な出力装置アーキテクチャを示す。単純な出力装置601は、装置エージェント604とネットワークスタック605とを有する。単純な出力装置はまた、出力デコーダ603と出力リーダラ602の少なくとも1つを有する。
図6Bは、一実施形態によるパーベイシブコンピューティング環境で用いる例示的な装置コントローラアーキテクチャを示す。装置コントローラ606は、装置エージェント610とネットワークスタック611とを有する。装置コントローラ606はまた、入力キャプチャラ607と入力エンコーダ608の少なくとも1つを有する。装置コントローラは、ユーザインターフェース(UI)シェル609を選択的に有し得る。
図6Cは、一実施形態によるパーベイシブコンピューティング環境内で用いる例示的なパフォーマンスコンピューティング(演算)装置を示す。パフォーマンスコンピューティング装置(又はクラウドサーバ)612は、装置エージェント620とネットワークスタック621とを有する。パフォーマンスコンピューティング装置は、CPU613、GPU614、入力デコーダ616、入力キュー618、出力キャプチャラ617、及び出力エンコーダ619の少なくとも1つを有する。パフォーマンスコンピューティング装置612は、アプリケーション615を選択的に有し得る。
図6Dは、一実施形態によるパーベイシブコンピューティング環境内で用いる例示的な装置アーキテクチャを示す。ネットブック状の装置622は、装置エージェント629とネットワークスタック630とを有する。ネットブック状の装置622はまた、入力デコーダ627、入力エンコーダ624、CPU625、グラフィック626、及び出力レンダラ623の少なくとも1つを有する。ネットブック状の装置622は、ユーザインターフェース(UI)シェル628を選択的に有し得る。
図6Eは、一実施形態によるパーベイシブコンピューティング環境内で用いる例示的で単純なオペレーティングシステムアーキテクチャを示す。単純なオペレーティングシステム631は、装置エージェント634とネットワークスタック633とを有する。単純なオペレーティングシステム631は、ビデオコーデック632を有し、ユーザインターフェース(UI)シェル635を選択的に有する。
図7は、一実施形態によるパーベイシブコンピューティング環境内で用いる例示的なクラウドアーキテクチャを示す。クラウドアーキテクチャ700は、スーパバイザ701とネームサービス702とを有する。クラウドアーキテクチャ700は、ストレージプロバイダ(705,707)と通信する仮想コンピューティング装置プロバイダ710とデータプロバイダ706とを有する。バーチャル(仮想)コンピューティング装置プロバイダ710は、バーチャル(仮想)マシンマネージャ709及びアプリケーションストリーマ711と通信する。バーチャル(仮想)マシンマネージャ709は、バーチャルマシンプロバイダ708と通信し、アプリケーションストリーマ711は、アプリケーションイメージストレージ712と通信する。クラウドアーキテクチャ700は、認証及びセキュリティゲートウェイ713を有する。
クラウドアーキテクチャ700はまた、一実施形態による支払いエンジン703と、ライセンスマネジメントエンジン704とを有する。支払いエンジン703は、サービスのためのクライアントからの支払いをコーディネートし、ライセンスマネジメントエンジン704は、パーベイシブコンピューティング環境内で利用されるアプリケーションのためのライセンシングプロトコル及び要求を管理する。
図8A−8Cは、一実施形態によるパーベイシブコンピューティング環境シナリオを例示し、あらゆるコンピュータがあらゆるユーザによって使用され得る。コンピュータは、データ、アプリケーション、仮想又は物理演算装置及びロボットを管理すべく、ユーザのためのユーザインターフェースシェルを表示する。ユーザは、仕事を完了し、認証を解除し、そして、コンピュータは、ユーザのコンピューティング環境を隠す。次のユーザは、コンピュータにアクセスでき、認証され、そして、ローカル及びパブリック装置と同様に、その人のデータ、アプリケーション、仮想コンピュータにアクセスする。シナリオは、クラウドオペレーティング環境及び上記の参照されるプロトコルによって可能になる。コンピュータにとって、全てのユーザのデータを保存し、ユーザのアプリケーションを有効にすることは不可能であろう。
例示的なパーベイシブコンピューティング環境800は、認証装置802を有するコンピュータ1 801を含む。コンピュータ1 801は、無線ネットワークアダプタ803を使用するネットワークに接続される。例示的なパーベイシブコンピューティング環境810は、認証装置802を有するコンピュータ1 801を含み、コンピュータ1 801は、無線ネットワークアダプタ803を使用するネットワークに接続される。環境810は、認証装置805を有するユーザ1 804を含む。ユーザ1 804は、認証装置805を、認証装置802に適切に近接させて配置し、そして、804のユーザ1のデータは、コンピュータ1 801内に導入される。結果としての環境811は、ユーザ1のデータ、アプリケーション、及びコンピュータ801における装置806の表示を含む。ユーザ1 804が、近接位置から離れる場合(より詳しくは、804のユーザ1の認証装置805がもはや認証装置802に近接していない場合)、804のユーザ1のデータは、もはや表示されず、コンピュータ1 801にアクセス可能ではなく、そして、環境は、800で例示される状態に戻る。
その後、ユーザ2 807が、例示的なコンピューティング環境812内でコンピュータ1 801にアクセスできる。例示的なコンピューティング環境812は、認証装置802を有するコンピュータ1 801を含み、コンピュータ1 801は、無線ネットワークアダプタ803を使用するネットワークに接続される。環境810は、認証装置808を有するユーザ2 807を含む。ユーザ2 807は、認証装置808を認証装置802を適切に近接させて配置し、807のユーザ2のデータは、コンピュータ1 801内に導入される。結果としての環境813は、ユーザ2のデータ、アプリケーション、コンピュータ1 801における装置809の表示を含む。807のユーザ2が、近接位置から離れる場合(より詳しくは、807のユーザ2の認証装置808がもはや認証装置802に近接していない場合)、807のユーザ2のデータは、もはや表示されず、コンピュータ1 801にアクセス可能ではなく、そして、環境は、800で例示される状態に戻る。
図9A−9Cは、一実施形態による例示的なパーベイシブコンピューティングシナリオを示し、アプリケーションはユーザに従う。ユーザが、ラップトップにおける自分の個人的なコンピューティング環境にログインし、そして、ユーザは、作動中のアプリケーションを有する。アプリケーションは、実際にクラウドオペレーティング環境内で作動しており、あらゆるオペレーティングシステム又はアプリケーションであり得る。ユーザは、自分のラップトップから離れ、テレビに接近(RFIDリーダが、ユーザを感知し、取り付けられたPCがユーザを認証)し、アプリケーションは、瞬時にテレビへと移動する。例示的なパーベイシブコンピューティング環境900は、認証装置905を有するユーザ1 904を含む。ユーザ1 904は、認証装置906によって(認証装置905を認証装置906に適切に近接して配置することによって)認証され、コンピュータ1 902におけるアプリケーション1 902を作動させている。コンピュータ1 901は、無線ネットワークアダプタ903を使用するネットワークに接続される。
ユーザ1 904は、コンピュータ1 901から離れ、パーベイシブコンピューティング環境907内のコンピュータ2 908に向かう。コンピュータ1 908は、ネットワークアダプタ903を使用するネットワークに接続される。ユーザ1 904は、認証装置905を認証装置911に適切に近接して配置することによって認証され、アプリケーション1 902は、ユーザ1 904が離れる前にコンピュータ1 901内にあったように、同じ状態で自動的にコンピュータ1 908に移動する。
ユーザ1 904は、他の環境909に向かってさらに近づくことができ、環境909は、無線ネットワークアダプタ903を使用するネットワークに接続されるHDTV910を含む。HDTV910は、認証装置912を有し、904のユーザ1の認証装置が近接すると、ユーザ1 904が認証される。一旦、ユーザ1 904が認証されると、アプリケーション1 902は、ユーザ1 904が離れる前に、コンピュータ2 908上にあるように、同様にHDTV910に表示される。
図10A−10Cは、例示的なパーベイシブコンピューティングシナリオを示し、ソフトウェアアプリケーションがハードウェア装置から独立している。ラップトップは、アプリケーションを「作動させ」ていることが可能であり、シャットダウン可能であり、そして、アプリケーションは、操作中のままである。例示的なパーベイシブオペーレーション環境1000は、制御装置1004(例えば、アイフォン又はウィーモート)、コンピュータ1 1001、及びコンピュータ21003を含む。コンピュータ1 1001は、アプリケーション11002を「作動」している。制御装置1004は、入力、例えば、コンピュータ2 1003に向かうウェイビングモーションを提供でき、環境は、1005において例示されるようにシフトする。環境1005は、コンピュータ1 1001、制御装置1004、及びコンピュータ21003を含むが、しかし、コンピュータ2 1003は、ここでは、アプリケーション1 1002を「作動」させている。アプリケーション1 1002は、コンピュータ1 1001をそのままにする場合と同様に、同じ状態で、表示され/作動している。
さらに他の例示的な環境1006は、コンピュータ1 1001、コンピュータ2 1003、及び制御装置1004を含む。コンピュータ1 1001は、シャットダウン可能であり、アプリケーション1 1002は、さらにコンピュータ2 1003上で作動する。
図11A−11Eは、一実施形態による例示的なパーベイシブコンピューティング環境を示し、アプリケーションが、電子新聞からテーブル画面に移動する。ユーザが、個人的なコンピューティング環境に入り、クラウドオペレーティング環境内に休眠状態で保存されたアプリケーション(プレゼンテーション)を再開させる。それはレガシーアプリケーションであり、フレキシブルスクリーンは、それにおけるレガシーオペレーティングシステムの欠如を理由として、通常、それを作動させることができない。しかしながら、それは、クラウドオペレーティング環境から視覚的にストリームされ、電子新聞のビルトインデコーダディスプレイでは可能である。ユーザインターフェース(UI)シェルにより、スクリーン上のオブジェクトの応答性の良いローカルドラッギング及びリサイジングが、リモートアプリケーションの作動の遅延の影響を軽減可能にする。ユーザは、発見された共同の投影装置(それに取り付けられる演算ユニットを有し、ユニットは、ネットワーク接続性を有する)に対してアプリケーションをドラッグする。クラウドオペレーティング環境は、これを認識し、新たな装置に対するアプリケーションのストリーミングを開始する。
例示的な環境1100は、ユーザ1 1102、フレキシブルスクリーン1101(例えば電子新聞)、及び、無線ネットワークアダプタ1103を含む。例示的な環境1104において、1102のユーザ1のデータ1105は、上記の参照プロトコル及びクラウドオペレーティング環境をフレキシブルスクリーン1101に使用してストリームされる。例示されるように、例示的な環境1106に示されるように、ユーザ1 1102は、フレキシブルスクリーン1101に対してストリームされるアプリケーション1109を有し得る。
さらなる他の例示的な環境1110及び1114が、追加のプロジェクタ1107及び投影面1108を含む。ユーザ1は、アプリケーション1 1109を投影面1108に対してドラッグし、クラウドオペレーティング環境は、上記の参照プロトコルを投影装置1108に使用してアプリケーションをストリーミングすることを開始する。ユーザ1 1102は、入力1112を制御装置1111に提供でき、プロジェクション画面1108に対するアプリケーションストリーミングが1113に応答する。
図12は、一実施形態による例示的なパーベイシブコンピューティング環境シナリオを示し、制御装置が他の装置及びアプリケーションを制御する。例示的な制御装置は、アイフォンであり得る。アプリケーションは、投影テーブル上で作動している。ユーザは、アイフォンをアプリケーションのための入力装置として設定し、ユーザは、アプリケーション内でタイプするためにアイフォンキーボードを起動する。アイフォン入力は、文字や文章を表示するクラウドオペレーティング環境に、仮想マシンに、そしてその後、アプリケーションコードに対してリダイレクトされる。この新たな視覚的情報は、傍受され、投影装置に送信される。プロジェクタに取り付けられるコンピューティング装置におけるデコーダは、テーブルに表示される視覚的情報をデコードする。例示的なパーベイシブ環境1200が、入力手段(例えばキーボード)を有する制御装置1 1201を使用するユーザ1 1202を含み、制御装置1201は、無線ネットワークアダプタ1203を使用する無線ネットワークに接続される。無線ネットワークアダプタ1203を使用する無線ネットワークはまた、プロジェクタ(投影装置)1207及び投影面1205である。ユーザ1 1202によって制御装置1 1201に入力される入力1204は、投影面1205に表示1206される。
図13A−13Dは、一実施形態による例示的なパーベイシブコンピューティング環境シナリオを示し、装置が制御装置からの入力に応答する。例示的なパーベイシブコンピューティング環境1300は、無線ネットワークアダプタ1303を使用する無線ネットワークに接続される制御装置1301を使用するユーザ1 1302を含む。HDTV1304もまた、無線ネットワーク1303に接続される。他の例示的な環境1307が、入力1 1305を制御装置1301に入力するユーザ1 1302と、HDTV1304上で表示される入力1 1306の表示とを含む。
他の例示的な環境1312は、入力2 1310を制御装置2 1310(例えばウィーモート)に入力するユーザ1 1302を含む。制御装置トラッカ1308が、制御装置2 1210の移動をトラックし、入力2 1311の表示が、HDTV1304に現れる。さらに他の例示的な環境は、入力3 1315を制御装置3 1314に入力するユーザ1 1302を含み、入力3 1316への応答がHDTV1304に表示される。例示的な入力3 1316は、アプリケーション内のフレームをリサイジングし、マルチタッチとして参照されるアイフォンの例示的な特徴を利用している。
図14A−14Bは、一実施形態による例示的なパーベイシブコンピューティング環境シナリオを示し、装置が、制御装置からの入力に応答する。例示的なパーベイシブコンピューティング環境1400は、無線ネットワークアダプタ1403を使用する無線ネットワークに接続される制御装置1 1401を使用するユーザ1 1402を含む。ユーザ1 1402は、制御装置11401を使用する装置2 1404を制御し、装置2 1404は、無線ネットワークアダプタ1403を使用する無線ネットワークに接続される。例示的な環境1405において、ユーザ1 1402は、入力1 1406を制御装置1 1401に与え、装置2は、入力1407に応答する。この装置シナリオの例は、アイフォン及びルンバを含む。ユーザは、アイフォンを振り、又は、身振りをして、ルンバは、それに応じて移動する。このシナリオは、上記の参照プロトコル及びクラウドオペレーティング環境を使用して可能になる。
以下は、本システムの多数の実施形態によるシナリオの例である。当業者は、本発明が2つの例示的な実施形態を使用して記載された一方で、他のシナリオが本発明の開示の範囲において可能である旨を理解する。例えば、要素の役割及び関係が、本発明の原理に従って交換されかつ拡張される。用例及び定義は以下を含む。
〈id〉−持続的な特性を有するオブジェクト
[id]−システム内の何処かで現在作動中の指名されたエージェント
output = [sender]=>[receiver](args) −[sender]エージェントがメッセージを[receiver]に送り、[receiver]エージェントが出力とともに応答する。
シナリオ1
参加者
○ id〈user〉を伴うユーザ及びそのスーパバイザ[supervisor]。
○ id〈phone〉を伴うiPhone及びそこで作動中のエージェント[phone]。
○ 装置〈dev〉及びそこで作動中のエージェント[dev]。
○ ヴァーチャルマシンマネージャ[VMManager]。
○ アプリケーションid〈app〉。
○ アプリケーションが動作中であるバーチャルアプライアンス〈va〉。
シナリオ
・ ユーザがiPhoneを立ち上げ、ユーザが認証情報を入力する。
・ アイフォンは、id〈Phone〉を有し、ユーザはid〈user〉を有する。
・ アイフォンは、アクセスポイントに接続し、ユーザのスーパバイザに要求を送信する:
・ [phone]=>[supervisor]('acquire', [device: <phone>])
・ スーパバイザは以下を行う:
・ return acquire(<phone>)
・ アイフォンは、要求をスーパバイザに「現状の〈user〉を取得する」旨の要求を送信する。
・ state = [phone]=>[supervisor]('getState')
・ スーパバイザは以下を行う:
・ return getState()
・ アイフォンは、ユーザに既知のオンラインで利用可能な全ての装置のリストを示す。
・ アイフォンは、上記で取得された状況における情報を使用する。
・ ユーザは、現在利用可能な装置を選択し、「アプリケーションの立ち上げ」を選択する。
・ 選択された装置は、id〈dev〉を有する。
・ アイフォンは、「〈dev〉で立ち上げられ得るアプリケーションをリストにする」旨の要求を送信する:
・ apps = [phone]=>[supervisor]('getApps', [device:<dev>])
・ スーパバイザは以下を行う:
・ capabilities = <dev>.capabilities['consume', 'output']
・ appList = [supervisor]=>[VMManager]('compatibleApps', capabilities)
・ return appList
・ アイフォンは、この装置上で立ち上げられ得る利用可能なアプリケーションのリストを示す。
・ アイフォンは上記で取得されたアプリを使用する。
・ ユーザは、アプリケーションを選択し、それを立ち上げる。
・ 選択されたアプリケーションは、id〈app〉を有する。
・ アイフォンは、スーパバイザに「〈dev〉での〈app〉の立ち上げ」を求める:
・ [phone]=>[supervisor]('launch', [app:<app>, device:<dev>])
・ スーパバイザは、VMマネージャに、〈user〉のために〈app〉を立ち上げることを求める。
・ acquire(<dev>)
・ <va> = [supervisor]=>[VMManager]('launch', [app:<app>, user:<user>])
・ acquire(<va>)
・ return Ok
・ スーパバイザは、「〈va〉への接続」を〈dev〉に伝える:
・ connect('output', <va>, <dev>)
・ アプリケーションが、装置のスクリーンに出現する。
・ アイフォンの入力が、装置に、そして最終的にアプリケーションにリダイレクトされる。
・ スーパバイザは、入力を〈dev〉にリダイレクトすることを〈phone〉に伝える。
・ connect('input', <phone>, <dev>)
・ 〈dev〉上の装置エージェントが受信された入力を、HDTVを通じて、システム及び遠隔のアプリケーションに送信(ブロードキャスト)する。
シナリオ2
参加者
・ id〈user〉を伴うユーザ及びそのスーパバイザ[supervisor]。
・ id〈phone〉を伴うアイフォン及びそこで作動中のエージェント[phone]。
・ リモートアプリケーションを示し、アイフォンの入力を維持する、id〈mac〉を伴うMac及びエージェント[mac]。
・ id〈pc〉を伴うPC及びエージェント[pc]
シナリオ:
・ ユーザは、装置(Mac)上で作動中のアプリケーションを有し、アイフォンの入力が同様にこの装置にリダイレクトされる。
・ ユーザは、id〈user〉と、関係するスーパバイザ[supervisor]とを有する。
・ 装置idは、〈mac〉であり、エージェントidは、[mac]である。
・ アイフォンは〈phone〉であり、エージェントは[phone]である。
・ アプリケーションは、ヴァーチャルアプライアンス〈va〉上で動作している。
・ ユーザは、他の装置(PC)の近くを歩き、この装置上で認証するための自己のRFIDカードを使用する。
・ 装置のidは〈pc〉であり、そこで作動中のエージェント[pc]を有する。
・ RFIDハードウェアは、ユーザid〈user〉を含む[pc]に信号を送信する。
・ [pc]は、ユーザが近くのPCを有することをスーパバイザに通知する:
・ state = [pc]=>[supervisor]('acquire', [device:<pc>])
・ … (same steps as in "Launch application from iPhone")
・ PCは、全てのユーザの装置の現在の状況を表示する。
・ アプリケーションは、MacからPCへと移動する。
・ PCは、スーパバイザに全ての出力をPC自体に移動させるよう求める:
・ [pc]=>[supervisor]('redirectAll', [type:'output', device:<pc>])
・ Supervisor redirects output from all owned devices to PC:
・ redirectAll('output', <pc>)
・ アイフォンの入力は、この段階でPCにリダイレクトされている。
・ PCは、全ての所有される装置から入力を取得するよう、スーパバイザに求める:
・ [pc]=>[supervisor]('redirectAll', [type:'input', device:<pc>])
・ スーパバイザは、全ての入力装置に、PCと接続するよう求める。
・ redirectAll('input', <pc>)
一実施形態によれば、スーパバイザは、以下のような限定されない、いくつかの機能を利用できる:
・ acquire(device):
・ <device>.online = True
・ <device>.currentOwner = <user>
・ <user>.ownedDevices.append(<device>)
・ return Ok
・ release(device):
・ if <device>.currentOwner != <user>: return Ok
・ <device>.currentOwner = None
・ <user>.ownedDevices.remove(<device>)
・ return Ok
・ getState():
・ devices = <user>.knownDevices
・ output = []
・ for each <device> in devices: output.append([id:<device>, location:<device>.location, name:<device>.name, available: <device>.online and <device>.currentOwner == None, …])
・ return output
・ connect(type, producer, consumer):
・ secret = randomString()
・ if <producer>.role[type] == Both and <consumer>.role[type] == Both: server = <producer>, client = <consumer>
・ if <producer>.role[type] == Both and <consumer>.role[type] == Passive: server = <consumer>, client = <producer>
・ if <producer>.role[type] == Both and <consumer>.role[type] == Active: server = <producer>, client = <consumer>
・ …
・ if <producer>.role[type] == <consumer>.role[type]: return Error
・ [supervisor]=>[server]('acceptConnection', [type:type, from:client, secret:secret])
・ [supervisor]=>[client]('makeConnection', [type:type, to:server, secret:secret])
・ <user>.connections.append([type:type, producer:<producer>, consumer:<consumer>]
・ return Ok
・ disconnect(type, producer, consumer):
・ [supervisor]=>[producer]('disconnect', [role:'producer', type:type, with:<consumer>])
・ [supervisor]=>[consumer]('disconnect', [role:'consumer', type:type, with:<producer>])
・ <user>.connections.remove([type:type, producer:<producer>, consumer:<consumer>]
・ return Ok
・ redirectAll(type, consumer):
・ for each [conType, conProducer, conConsumer] in <user>.connections: if conType == type and conConsumer != consumer: disconnect(conType, conProducer, conConsumer); connect(conType, conProducer, consumer)
パーベイシブコンピューティングのための方法及びシステムが開示されている。ここで記述される実施形態は、説明のためのものであり、本実施形態の主題を限定すると考えられるべきではないということが理解される。様々な変更、使用、代用、再結合、改良、製品の方法が、本発明の範囲又は思想から逸脱することなく、当業者にとって明白となるであろう。

Claims (28)

  1. クラウドコンピューティング環境内で、周辺装置を検出し得る第1装置と通信するサーバと、前記サーバによって実行可能なアプリケーションプログラムとを備え、前記アプリケーションプログラムは、前記第1装置によって制御され、前記アプリケーションプログラムの出力は、前記第1装置によって検出される装置の1つに導かれるシステム。
  2. 前記アプリケーションプログラムの出力が前記第1装置に導かれる請求項1に記載のシステム。
  3. 前記周辺装置は、他の周辺装置を検出し得る請求項1に記載のシステム。
  4. 前記クラウドコンピューティング環境は、
    スーパバイザと、
    データプロバイダと、
    認証ゲートウェイと、
    ネームサービスと、
    を備える請求項1に記載のシステム。
  5. 前記クラウドコンピューティング環境は、バーチャル演算装置プロバイダをさらに備える請求項4に記載のシステム。
  6. 前記クラウドコンピューティング環境は、支払いエンジンとライセンスマネジメントエンジンとをさらに備える請求項4に記載のシステム。
  7. 装置は、装置エージェントとネットワークスタックとを備える請求項1に記載のシステム。
  8. 装置は、入力性能、出力性能、演算性能、入力キュー、入力キャプチャラ、入力エンコーディング、入力デコーディング、出力レンダリング、出力エンコーディング、及び出力デコーディングのうちの1以上をさらに含む請求項7に記載のシステム。
  9. 装置は、ユーザインターフェースシェルをさらに備える請求項7に記載のシステム。
  10. 装置は、周辺装置を制御し得る請求項1に記載のシステム。
  11. 前記アプリケーションプログラムの出力は、装置のハードウェア及びソフトウェア性能から独立して、装置に導かれ得る請求項1に記載のシステム。
  12. 前記アプリケーションプログラムの前記出力は、前記第1装置により検出される2以上の前記装置に前記サーバによって同時に導かれる請求項1に記載のシステム。
  13. 前記アプリケーションプログラムの前記出力は、前記サーバによって、第1装置により検出される一方の装置から他の装置へと途切れなく導かれ、前記アプリケーションプログラムの前記出力は、前記装置に以前に表示されていた状態と同じ状態を示す請求項1に記載のシステム。
  14. 前記データプロバイダは、ユーザへの共同アクセス及び共同データを提供する請求項4に記載のシステム。
  15. クラウドコンピューティング環境内において、アプリケーションプログラムを制御しかつ周辺装置を検出し得る第1装置と通信することと、前記アプリケーションプログラムの出力を前記第1装置によって検出される装置の1つに導くこと、とを備えるコンピュータに実装された方法。
  16. 前記アプリケーションプログラムの出力は、第1装置に導かれる請求項15に記載のコンピュータに実装された方法。
  17. 周辺装置は他の周辺装置を検出し得る請求項15に記載のコンピュータに実装された方法。
  18. 前記クラウドコンピューティング環境は、
    スーパバイザと、
    データプロバイダと、
    認証ゲートウェイと、
    ネームサービスと
    を備える請求項12に記載のコンピュータに実装された方法。
  19. 前記クラウドコンピューティング環境は、バーチャル演算装置プロバイダをさらに備える請求項18に記載のコンピュータに実装された方法。
  20. 前記クラウドコンピューティング環境は、支払いエンジンと、ライセンスマネジメントエンジンとをさらに備える請求項18に記載のコンピュータに実装された方法。
  21. 装置は、装置エージェントとネットワークスタックとをさらに備える請求項15に記載のコンピュータに実装された方法。
  22. 装置は、入力性能、出力性能、演算性能、入力キュー、入力キャプチャラ、入力エンコーディング、入力デコーディング、出力レンダリング、出力エンコーディング、及び出力デコーディングのうちの1以上をさらに含む請求項21に記載のコンピュータに実装された方法。
  23. 装置は、ユーザインターフェースシェルをさらに備える請求項21に記載のコンピュータに実装された方法。
  24. 装置は、周辺装置を制御し得る請求項15に記載のコンピュータに実装された方法。
  25. 前記アプリケーションプログラムの出力は、装置のハードウェア及びソフトウェア性能から独立して、装置に導かれ得る請求項15に記載のコンピュータに実装された方法。
  26. 前記アプリケーションプログラムの前記出力は、第1装置により検出される2以上の装置に前記サーバによって同時に導かれる請求項15に記載のシステム。
  27. 前記アプリケーションプログラムの前記出力は、前記サーバによって、第1装置により検出される一方の装置から他の装置へと途切れなく導かれ、前記アプリケーションプログラムの前記出力は、前記装置に以前に表示されていた状態と同じ状態を示す請求項15に記載のシステム。
  28. 前記データプロバイダは、ユーザへの共同アクセス及び共同データを提供する請求項18に記載のシステム。
JP2012527051A 2009-08-27 2010-08-27 パーベイシブコンピューティング分野のためのシステム及び方法 Pending JP2013506170A (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US23761109P 2009-08-27 2009-08-27
US12/569,884 2009-09-29
US12/569,884 US8060560B2 (en) 2009-08-27 2009-09-29 System and method for pervasive computing
PCT/US2010/047047 WO2011025989A1 (en) 2009-08-27 2010-08-27 A system and method for pervasive computing

Publications (1)

Publication Number Publication Date
JP2013506170A true JP2013506170A (ja) 2013-02-21

Family

ID=43626448

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012527051A Pending JP2013506170A (ja) 2009-08-27 2010-08-27 パーベイシブコンピューティング分野のためのシステム及び方法

Country Status (8)

Country Link
US (2) US8060560B2 (ja)
EP (1) EP2471221A4 (ja)
JP (1) JP2013506170A (ja)
KR (1) KR101356453B1 (ja)
CN (1) CN102577251A (ja)
AU (1) AU2010286543A1 (ja)
CA (1) CA2771785C (ja)
WO (1) WO2011025989A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015507787A (ja) * 2011-12-15 2015-03-12 マイクロソフト コーポレーション 自律ネットワーク・ストリーミング
JP2015062063A (ja) * 2013-09-23 2015-04-02 ジョンソン・アンド・ジョンソン・ビジョン・ケア・インコーポレイテッドJohnson & Johnson Vision Care, Inc. 複数の外部デバイスとの無線通信が可能な眼用レンズシステム

Families Citing this family (97)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8405702B1 (en) 2008-11-24 2013-03-26 Shindig, Inc. Multiparty communications systems and methods that utilize multiple modes of communication
US9401937B1 (en) 2008-11-24 2016-07-26 Shindig, Inc. Systems and methods for facilitating communications amongst multiple users
US9712579B2 (en) 2009-04-01 2017-07-18 Shindig. Inc. Systems and methods for creating and publishing customizable images from within online events
US9344745B2 (en) 2009-04-01 2016-05-17 Shindig, Inc. Group portraits composed using video chat systems
US8779265B1 (en) 2009-04-24 2014-07-15 Shindig, Inc. Networks of portable electronic devices that collectively generate sound
US8060560B2 (en) * 2009-08-27 2011-11-15 Net Power And Light, Inc. System and method for pervasive computing
US8571939B2 (en) 2010-07-07 2013-10-29 Toshiba Global Commerce Solutions Holdings Corporation Two phase payment link and authorization for mobile devices
US9569771B2 (en) 2011-04-29 2017-02-14 Stephen Lesavich Method and system for storage and retrieval of blockchain blocks using galois fields
US9037564B2 (en) 2011-04-29 2015-05-19 Stephen Lesavich Method and system for electronic content storage and retrieval with galois fields on cloud computing networks
US9361479B2 (en) 2011-04-29 2016-06-07 Stephen Lesavich Method and system for electronic content storage and retrieval using Galois fields and geometric shapes on cloud computing networks
US9137250B2 (en) 2011-04-29 2015-09-15 Stephen Lesavich Method and system for electronic content storage and retrieval using galois fields and information entropy on cloud computing networks
US8171137B1 (en) 2011-05-09 2012-05-01 Google Inc. Transferring application state across devices
US8224894B1 (en) 2011-05-09 2012-07-17 Google Inc. Zero-click sharing of application context across devices
US8812601B2 (en) * 2011-05-09 2014-08-19 Google Inc. Transferring application state across devices with checkpoints
US8971572B1 (en) 2011-08-12 2015-03-03 The Research Foundation For The State University Of New York Hand pointing estimation for human computer interaction
US8775638B2 (en) * 2012-02-02 2014-07-08 Siemens Aktiengesellschaft Method, computer readable medium and system for scaling medical applications in a public cloud data center
US9098357B2 (en) * 2012-04-11 2015-08-04 Nokia Technologies Oy Method and apparatus for activity management across multiple devices
US8798332B2 (en) 2012-05-15 2014-08-05 Google Inc. Contact lenses
US9184800B2 (en) 2012-07-16 2015-11-10 Google Inc. Automated sharing of application data over a near field communication link
US9523865B2 (en) 2012-07-26 2016-12-20 Verily Life Sciences Llc Contact lenses with hybrid power sources
US9298020B1 (en) 2012-07-26 2016-03-29 Verily Life Sciences Llc Input system
US8857981B2 (en) 2012-07-26 2014-10-14 Google Inc. Facilitation of contact lenses with capacitive sensors
US9158133B1 (en) 2012-07-26 2015-10-13 Google Inc. Contact lens employing optical signals for power and/or communication
US8919953B1 (en) 2012-08-02 2014-12-30 Google Inc. Actuatable contact lenses
US8971978B2 (en) 2012-08-21 2015-03-03 Google Inc. Contact lens with integrated pulse oximeter
US9696564B1 (en) 2012-08-21 2017-07-04 Verily Life Sciences Llc Contact lens with metal portion and polymer layer having indentations
US9111473B1 (en) 2012-08-24 2015-08-18 Google Inc. Input system
US8820934B1 (en) 2012-09-05 2014-09-02 Google Inc. Passive surface acoustic wave communication
US20140192315A1 (en) 2012-09-07 2014-07-10 Google Inc. In-situ tear sample collection and testing using a contact lens
US9398868B1 (en) 2012-09-11 2016-07-26 Verily Life Sciences Llc Cancellation of a baseline current signal via current subtraction within a linear relaxation oscillator-based current-to-frequency converter circuit
US10010270B2 (en) 2012-09-17 2018-07-03 Verily Life Sciences Llc Sensing system
US9326710B1 (en) 2012-09-20 2016-05-03 Verily Life Sciences Llc Contact lenses having sensors with adjustable sensitivity
US8960898B1 (en) 2012-09-24 2015-02-24 Google Inc. Contact lens that restricts incoming light to the eye
US8870370B1 (en) 2012-09-24 2014-10-28 Google Inc. Contact lens that facilitates antenna communication via sensor impedance modulation
US20140088372A1 (en) 2012-09-25 2014-03-27 Google Inc. Information processing method
US8979271B2 (en) 2012-09-25 2015-03-17 Google Inc. Facilitation of temperature compensation for contact lens sensors and temperature sensing
US8989834B2 (en) 2012-09-25 2015-03-24 Google Inc. Wearable device
US8985763B1 (en) 2012-09-26 2015-03-24 Google Inc. Contact lens having an uneven embedded substrate and method of manufacture
US8960899B2 (en) 2012-09-26 2015-02-24 Google Inc. Assembling thin silicon chips on a contact lens
US8821811B2 (en) 2012-09-26 2014-09-02 Google Inc. In-vitro contact lens testing
US9884180B1 (en) 2012-09-26 2018-02-06 Verily Life Sciences Llc Power transducer for a retinal implant using a contact lens
US9063351B1 (en) 2012-09-28 2015-06-23 Google Inc. Input detection system
US8965478B2 (en) 2012-10-12 2015-02-24 Google Inc. Microelectrodes in an ophthalmic electrochemical sensor
US9176332B1 (en) 2012-10-24 2015-11-03 Google Inc. Contact lens and method of manufacture to improve sensor sensitivity
US9757056B1 (en) 2012-10-26 2017-09-12 Verily Life Sciences Llc Over-molding of sensor apparatus in eye-mountable device
CN102970280B (zh) * 2012-10-30 2015-11-18 青岛百灵信息科技有限公司 基于云计算和普适计算的多态视频业务系统
CN102945539B (zh) * 2012-10-30 2015-07-29 青岛百灵信息科技有限公司 基于云计算和普适计算的多态移动查房方法
US10423214B2 (en) 2012-11-20 2019-09-24 Samsung Electronics Company, Ltd Delegating processing from wearable electronic device
US8994827B2 (en) 2012-11-20 2015-03-31 Samsung Electronics Co., Ltd Wearable electronic device
US11237719B2 (en) * 2012-11-20 2022-02-01 Samsung Electronics Company, Ltd. Controlling remote electronic device with wearable electronic device
US10185416B2 (en) 2012-11-20 2019-01-22 Samsung Electronics Co., Ltd. User gesture input to wearable electronic device involving movement of device
US11157436B2 (en) 2012-11-20 2021-10-26 Samsung Electronics Company, Ltd. Services associated with wearable electronic device
US11372536B2 (en) 2012-11-20 2022-06-28 Samsung Electronics Company, Ltd. Transition and interaction model for wearable electronic device
US10551928B2 (en) 2012-11-20 2020-02-04 Samsung Electronics Company, Ltd. GUI transitions on wearable electronic device
KR102097578B1 (ko) * 2012-12-10 2020-04-07 삼성전자 주식회사 애플리케이션 실행 방법 및 장치
US10033773B2 (en) 2012-12-10 2018-07-24 Samsung Electronics Co., Ltd. Application execution method and apparatus
US8874182B2 (en) 2013-01-15 2014-10-28 Google Inc. Encapsulated electronics
US9289954B2 (en) 2013-01-17 2016-03-22 Verily Life Sciences Llc Method of ring-shaped structure placement in an eye-mountable device
US9636016B1 (en) 2013-01-25 2017-05-02 Verily Life Sciences Llc Eye-mountable devices and methods for accurately placing a flexible ring containing electronics in eye-mountable devices
US20140209481A1 (en) 2013-01-25 2014-07-31 Google Inc. Standby Biasing Of Electrochemical Sensor To Reduce Sensor Stabilization Time During Measurement
US9125180B1 (en) 2013-03-15 2015-09-01 Google Inc. Techniques for automatically establishing a long-lasting connection across computing devices configured for short-range wireless communication
US9161712B2 (en) 2013-03-26 2015-10-20 Google Inc. Systems and methods for encapsulating electronics in a mountable device
US9113829B2 (en) 2013-03-27 2015-08-25 Google Inc. Systems and methods for encapsulating electronics in a mountable device
KR101306556B1 (ko) * 2013-04-08 2013-09-09 한성대학교 산학협력단 스마트 기기 기반 통합 로봇 제어 시스템
CN103297501A (zh) * 2013-05-07 2013-09-11 杭州玄鸟数字技术有限公司 全息投影实时交互系统
US9451456B2 (en) 2013-06-03 2016-09-20 The Aerospace Corporation Smart phone server sleeve
US20140371560A1 (en) 2013-06-14 2014-12-18 Google Inc. Body-Mountable Devices and Methods for Embedding a Structure in a Body-Mountable Device
US9084561B2 (en) 2013-06-17 2015-07-21 Google Inc. Symmetrically arranged sensor electrodes in an ophthalmic electrochemical sensor
US9948895B1 (en) 2013-06-18 2018-04-17 Verily Life Sciences Llc Fully integrated pinhole camera for eye-mountable imaging system
US9685689B1 (en) 2013-06-27 2017-06-20 Verily Life Sciences Llc Fabrication methods for bio-compatible devices
US9492118B1 (en) 2013-06-28 2016-11-15 Life Sciences Llc Pre-treatment process for electrochemical amperometric sensor
US9028772B2 (en) 2013-06-28 2015-05-12 Google Inc. Methods for forming a channel through a polymer layer using one or more photoresist layers
US9814387B2 (en) 2013-06-28 2017-11-14 Verily Life Sciences, LLC Device identification
US9307901B1 (en) 2013-06-28 2016-04-12 Verily Life Sciences Llc Methods for leaving a channel in a polymer layer using a cross-linked polymer plug
JP6248528B2 (ja) * 2013-10-11 2017-12-20 セイコーエプソン株式会社 放電灯駆動装置、光源装置、プロジェクターおよび放電灯駆動方法
US10271010B2 (en) 2013-10-31 2019-04-23 Shindig, Inc. Systems and methods for controlling the display of content
US9662199B2 (en) * 2013-11-26 2017-05-30 Strathspey Crown Holdings, LLC Intraocular lens having input and output electronics
US9572522B2 (en) 2013-12-20 2017-02-21 Verily Life Sciences Llc Tear fluid conductivity sensor
US9654674B1 (en) 2013-12-20 2017-05-16 Verily Life Sciences Llc Image sensor with a plurality of light channels
US9910884B2 (en) 2014-01-13 2018-03-06 Microsoft Technology Licensing, Llc Resuming items in their last-used presentation modes
US10691332B2 (en) 2014-02-28 2020-06-23 Samsung Electronics Company, Ltd. Text input on an interactive display
US9366570B1 (en) 2014-03-10 2016-06-14 Verily Life Sciences Llc Photodiode operable in photoconductive mode and photovoltaic mode
US9184698B1 (en) 2014-03-11 2015-11-10 Google Inc. Reference frequency from ambient light signal
US9789655B1 (en) 2014-03-14 2017-10-17 Verily Life Sciences Llc Methods for mold release of body-mountable devices including microelectronics
US9952751B2 (en) 2014-04-17 2018-04-24 Shindig, Inc. Systems and methods for forming group communications within an online event
US9733333B2 (en) 2014-05-08 2017-08-15 Shindig, Inc. Systems and methods for monitoring participant attentiveness within events and group assortments
JP6358847B2 (ja) * 2014-05-14 2018-07-18 オリンパス株式会社 表示処理装置および撮像装置
US9711181B2 (en) 2014-07-25 2017-07-18 Shindig. Inc. Systems and methods for creating, editing and publishing recorded videos
KR102264050B1 (ko) 2014-11-28 2021-06-11 삼성전자주식회사 전자 장치들 간에 기능을 공유하는 방법 및 장치
CN104503834B (zh) * 2014-12-29 2018-02-27 联想(北京)有限公司 一种信息处理方法及第一电子设备
US9734410B2 (en) 2015-01-23 2017-08-15 Shindig, Inc. Systems and methods for analyzing facial expressions within an online classroom to gauge participant attentiveness
KR102306536B1 (ko) * 2015-04-01 2021-09-29 삼성전자주식회사 위젯 제공 시스템 및 방법
US10133916B2 (en) 2016-09-07 2018-11-20 Steven M. Gottlieb Image and identity validation in video chat events
CN108446151B (zh) * 2017-02-14 2022-01-25 阿里巴巴集团控股有限公司 通讯方法及装置
US10877960B2 (en) 2017-10-16 2020-12-29 Citrix Systems, Inc. Normalizing user identification across disparate systems
CN109032804B (zh) 2018-08-01 2020-12-11 创新先进技术有限公司 数据处理方法和装置、服务器
US11843593B2 (en) 2020-06-01 2023-12-12 Citrix Systems, Inc. Application integration using multiple user identities

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006088035A1 (ja) * 2005-02-17 2006-08-24 Sharp Kabushiki Kaisha 通信ネットワークの制御システム、通信端末および通信ネットワークの制御方法
JP2008027090A (ja) * 2006-07-20 2008-02-07 Sharp Corp 装置選択制御システム、処理装置、制御装置及び装置選択制御方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6850252B1 (en) 1999-10-05 2005-02-01 Steven M. Hoffberg Intelligent electronic appliance system and method
WO2002033541A2 (en) * 2000-10-16 2002-04-25 Tangis Corporation Dynamically determining appropriate computer interfaces
US7181017B1 (en) 2001-03-23 2007-02-20 David Felsher System and method for secure three-party communications
JP4703657B2 (ja) * 2004-11-05 2011-06-15 株式会社東芝 ネットワーク探索方法
US7654462B2 (en) * 2005-02-16 2010-02-02 Casey Steven M Mobile device base station for enhanced signal strength for on-demand media services
US20060239190A1 (en) * 2005-04-25 2006-10-26 Matsushita Electric Industrial Co., Ltd. Policy-based device/service discovery and dissemination of device profile and capability information for P2P networking
DE102005033211A1 (de) * 2005-07-13 2007-01-18 Deutsche Thomson-Brandt Gmbh Verfahren zur Feststellung der Aktivität eines Gerätes in einem Netzwerk verteilter Stationen sowie Netzwerkstation für die Durchführung des Verfahrens
CN100401707C (zh) * 2006-05-31 2008-07-09 北京和利时系统工程有限公司 一种分布式控制系统中的远程过程调用方法及系统
US20080189700A1 (en) * 2007-02-02 2008-08-07 Vmware, Inc. Admission Control for Virtual Machine Cluster
US9811849B2 (en) 2007-09-28 2017-11-07 Great-Circle Technologies, Inc. Contextual execution of automated workflows
US7886050B2 (en) 2007-10-05 2011-02-08 Citrix Systems, Inc. Systems and methods for monitoring components of a remote access server farm
TWI363993B (en) * 2007-10-31 2012-05-11 Ibm Method for auto-deploying an application from a mobile device to a host in a pervasive computing environment and the mobile device implementing the method
US8689115B2 (en) * 2008-09-19 2014-04-01 Net Power And Light, Inc. Method and system for distributed computing interface
US8918488B2 (en) * 2009-02-04 2014-12-23 Citrix Systems, Inc. Methods and systems for automated management of virtual resources in a cloud computing environment
US8060560B2 (en) 2009-08-27 2011-11-15 Net Power And Light, Inc. System and method for pervasive computing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006088035A1 (ja) * 2005-02-17 2006-08-24 Sharp Kabushiki Kaisha 通信ネットワークの制御システム、通信端末および通信ネットワークの制御方法
JP2008027090A (ja) * 2006-07-20 2008-02-07 Sharp Corp 装置選択制御システム、処理装置、制御装置及び装置選択制御方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSNG200900578048; 太田賢,他3名: 'シームレスなサービス実現のための環境適応型モバイル端末アーキテクチャ' マルチメディア,分散,協調とモバイル(DICOMO)シンポジウム論文集 1997年〜2006年版 V 第2001巻,第7号, 20010627, p.301-306, 社団法人情報処理学会 *
JPN6014026921; 太田賢,他3名: 'シームレスなサービス実現のための環境適応型モバイル端末アーキテクチャ' マルチメディア,分散,協調とモバイル(DICOMO)シンポジウム論文集 1997年〜2006年版 V 第2001巻,第7号, 20010627, p.301-306, 社団法人情報処理学会 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015507787A (ja) * 2011-12-15 2015-03-12 マイクロソフト コーポレーション 自律ネットワーク・ストリーミング
JP2015062063A (ja) * 2013-09-23 2015-04-02 ジョンソン・アンド・ジョンソン・ビジョン・ケア・インコーポレイテッドJohnson & Johnson Vision Care, Inc. 複数の外部デバイスとの無線通信が可能な眼用レンズシステム

Also Published As

Publication number Publication date
CA2771785C (en) 2013-02-05
KR20120049374A (ko) 2012-05-16
KR101356453B1 (ko) 2014-02-03
WO2011025989A1 (en) 2011-03-03
AU2010286543A1 (en) 2012-04-19
US8060560B2 (en) 2011-11-15
CN102577251A (zh) 2012-07-11
US8959141B2 (en) 2015-02-17
US20110055317A1 (en) 2011-03-03
EP2471221A4 (en) 2013-05-01
US20120124128A1 (en) 2012-05-17
CA2771785A1 (en) 2011-03-03
EP2471221A1 (en) 2012-07-04

Similar Documents

Publication Publication Date Title
US8060560B2 (en) System and method for pervasive computing
US9451043B2 (en) Remote virtualization of mobile apps
RU2700188C2 (ru) Представление вычислительной среды на множественных устройствах
US9699262B2 (en) Integrated viewing of local and remote applications in various multiplatform environments
US20150082239A1 (en) Remote Virtualization of Mobile Apps with Transformed Ad Target Preview
US20130041938A1 (en) Dynamic Mobile Interaction Using Customized Interfaces
JP2016076216A (ja) アプリケーション試用システム、方法及びそのサーバとユーザデバイス
US10635296B2 (en) Partitioned application presentation across devices
KR20170061675A (ko) 타겟 장치 리소스를 호스트 장치의 컴퓨팅 환경에 대여하는 방법
US20180196584A1 (en) Execution of multiple applications on a device
US11157160B1 (en) Graphical user interface (GUI) for controlling virtual workspaces produced across information handling systems (IHSs)
WO2018005060A2 (en) Multiuser application platform
JP7101313B2 (ja) コンピューティング環境内での仮想デスクトップの提供
CN108255547B (zh) 一种应用程序控制方法及装置
WO2016144985A1 (en) Automatic provisioning of meeting room device
US11016717B1 (en) Selective electronic content casting
Arthur et al. Xice windowing toolkit: Seamless display annexation
CA2900169A1 (en) Wireless access point for facilitating bidirectional, application-layer communication among computing devices
US10290151B2 (en) AR/VR device virtualisation
US11487559B2 (en) Dynamically switching between pointer modes
WO2015078214A1 (zh) 用于实现远程虚拟桌面和应用程序的方法以及设备
US20170270108A1 (en) System for supporting remote accesses to a host computer from a mobile computing device
Aslam et al. Cross-Platform Service for Nomadic Devices in Biodiversity Research
EP3014387A1 (en) Methods and systems for generating dynamic user interface

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130730

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130828

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130906

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20131204

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20131211

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140627

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20141121