ユニバーサルデバイスインタオペラビリティプラットフォームのためのデバイスチームリクルートメントおよびコンテンツレンディションのアーキテクチャ装置および方法
【課題】
【解決手段】類似または非類似特性を有するデバイス間の通信を提供し、その間のシームレスなインタオペラビリティを容易にするためのシステム、デバイス、方法およびコンピュータプログラム、およびコンピュータプログラム製品である。類似および非類似の恒久的または間断的に接続された電子デバイス間でコンテンツ、アプリケーション、リソース、およびコントロールを共有するためのシステムおよびデバイスのコンピュータプログラムソフトウェアおよび方法である。フレームワーク内で通信および/または相互運用するデバイス、システム、機器等が提供される。リクルートメントインタオペラビリティ方法、レンディショニングアダプテーション、インタオペラビリティセグメンテーション方法、インタオペラビリティソース、インタオペラビリティフレームワーク、インタオペラビリティツール、インタオペラビリティフォーマット、インタオペラビリティランタイム、リニアタスキング、バーチカルレイヤリング、アプリケーション駆動パワーマネージメント、インタオペラビリティアプリケーション駆動エラー復元、インタオペラビリティ命令セット、クリエイショニズム、インタオペラビリティエンジン、インタオペラビリティデバイスイネーブリング、インタオペラビリティセキュリティモデル、ソーシャル同期インタオペラビリティ方法、ソーシャルセキュリティインタオペラビリティモデル、インタオペラビリティデバイス、インタオペラビリティプラットフォーム、バーチャルポインタ、およびDart固有バージョンまたはこれらのインプリメンテーションである。
【解決手段】類似または非類似特性を有するデバイス間の通信を提供し、その間のシームレスなインタオペラビリティを容易にするためのシステム、デバイス、方法およびコンピュータプログラム、およびコンピュータプログラム製品である。類似および非類似の恒久的または間断的に接続された電子デバイス間でコンテンツ、アプリケーション、リソース、およびコントロールを共有するためのシステムおよびデバイスのコンピュータプログラムソフトウェアおよび方法である。フレームワーク内で通信および/または相互運用するデバイス、システム、機器等が提供される。リクルートメントインタオペラビリティ方法、レンディショニングアダプテーション、インタオペラビリティセグメンテーション方法、インタオペラビリティソース、インタオペラビリティフレームワーク、インタオペラビリティツール、インタオペラビリティフォーマット、インタオペラビリティランタイム、リニアタスキング、バーチカルレイヤリング、アプリケーション駆動パワーマネージメント、インタオペラビリティアプリケーション駆動エラー復元、インタオペラビリティ命令セット、クリエイショニズム、インタオペラビリティエンジン、インタオペラビリティデバイスイネーブリング、インタオペラビリティセキュリティモデル、ソーシャル同期インタオペラビリティ方法、ソーシャルセキュリティインタオペラビリティモデル、インタオペラビリティデバイス、インタオペラビリティプラットフォーム、バーチャルポインタ、およびDart固有バージョンまたはこれらのインプリメンテーションである。
Notice: Undefined index: DEJ in /mnt/www/gzt_disp.php on line 298
【特許請求の範囲】
【請求項1】
開始ソースデバイスと検査手順を到達させようとするデバイスの両方に共通な実行可能な形式でコード化された検査手順命令を含み、必要なリソースまたはケイパビリティを有するデバイスを探すよう動作可能な検査手順を、少なくとも1つの通信リンクを介して少なくとも1つの開始ソースデバイスと異なる到達可能なデバイスに送信することと;
到達可能なデバイスのそれぞれから、通信リンクを介して直接または間接的に、開始デバイスでリターン応答を受信することと;
ソフトウェアアプリケーションの意図を最もよく実行する開始ソースデバイスと応答到達可能デバイスのケイパビリティおよびリソースの組み合わせを特定する利用プランを決定するために、開始デバイスで実行する手順により、全ての応答到達可能デバイスからの受信リターンを分析することと;
開始デバイスで実行するアプリケーションプログラムにより、特定された利用プランに従って必要なリソースまたはケイパビリティを有すると特定された到達可能デバイスのそれぞれの少なくとも1つに実行可能コード、データ、コンテンツおよび/またはDartの少なくとも1つを配信することとを含むことを特徴とする、デバイスのチームをリクルートするためソースデバイスで動作するソフトウェアアプリケーションのための方法。
【請求項2】
候補デバイスで受信し、受信デバイスとリクルートデバイスの両方に既知の実行可能形式でコード化された検査手順命令を含み受信到達可能候補デバイスが別のリクルートデバイスの必要とするリソースまたはケイパビリティを有するか否かを通信リンクを介して判断する動作可能な検査手順を実行することと;
受信した検査手順についてソースデバイスを特定し、受信到達可能デバイスが、開始ソースデバイスが必要としていると特定されたリソースまたはケイパビリティまたはリソースおよびケイパビリティのセットにアクセス可能か否かに関するステータスおよび情報をソースデバイスにリターンを送信することと;
到達可能デバイスが、ソフトウェアアプリケーションの意図を実行するためチームを結成するのに必要なリソースまたはケイパビリティを有するとソースデバイスによって判断された場合、実行可能コード、データ、コンテンツおよび/またはDartの少なくとも1つを、ソースデバイス、リクルートデバイスまたは別の候補デバイスから受信することとを含むことを特徴とする、デバイスのチームをリクルートするための方法。
【請求項3】
(a)開始ソースデバイスと検査手順を到達させようとするデバイスの両方に共通する実行可能形式でコード化された検査手順命令を含み、少なくとも1つの通信リンクを介して開始ソースデバイスと異なる少なくとも1つの到達可能デバイスに必要なリソースまたはケイパビリティを有するデバイスを見つける動作可能な検査手順を、開始ソースデバイスから送信することと;
(b)開始ソースデバイスが必要とする到達可能デバイスの少なくとも1つのリソースまたはケイパビリティがあるか否かを特定するために、受信をし、到達可能デバイスのそれぞれで受信した検査手順を実行することと;
(c)到達可能デバイスが、少なくとも開始ソースデバイスが必要とすると特定されたリソースまたはケイパビリティにアクセスできる場合に、開始ソースデバイスにリターンを送信することと;
(d)通信リンクを介して直接あるいは間接的に、到達可能デバイスのそれぞれからリターンを受信することと;
(e)アプリケーションの意図を最もよく実行する開始ソースデバイスと応答到達可能デバイスのケイパビリティおよびリソースの組み合わせを特定する利用プランを決定するために、開始デバイスで実行するアプリケーションによって、全ての応答到達可能デバイスからの受信リターンを分析することと;
(f)開始デバイスで実行するアプリケーションプログラムにより、特定された利用プランに従って必要なリソースまたはケイパビリティを有すると特定された到達可能デバイスのそれぞれの少なくとも1つに実行可能コード、データ、コンテンツおよび/またはDartの少なくとも1つを配信することとを含むことを特徴とする、デバイスのチームをリクルートするための方法。
【請求項4】
少なくとも1つの到達可能デバイスによって、配信された実行可能コード、データ、コンテンツおよび/またはDartの少なくとも1つを受信することをさらに含むことを特徴とする請求項3に記載の方法。
【請求項5】
前記開始デバイスのアプリケーションの意図の少なくとも一部を実行するため実行可能コード、データ、コンテンツおよび/またはDartの少なくとも1つが配信された少なくとも1つの到達可能デバイスと相互運用することをさらに含むことを特徴とする請求項3に記載の方法。
【請求項6】
各到達可能デバイスを二次開始ソースデバイスとして動作させ、開始および到達可能デバイス間で実行可能コード、データ、コンテンツおよび/またはDartをスプレッドし、任意で、到達可能デバイスに常駐するアプリケーションコード、データ、コンテンツおよび/またはDartsを、必要に応じて前もって到達してチームとしたデバイスによって到達可能な他のデバイスに再帰的にスプレッドし、当初の開始デバイスアプリケーションの意図を実行するため所望のデバイスおよび必要あるいは所望のリソースまたはケイパビリティの所定の基準に達するまで、他の到達可能デバイスユニットに必要に応じてまたは所望によってアプリケーションを拡張し、より大きく完全なデバイスのチームを効果的に結成することと;
開始デバイスのアプリケーションの意図を実行するため、コードを実行し、開始アプリケーションの意図を実行するためデバイスのチーム間で実行すべきオペレーションを実行および/または調整するために必要なあらゆる実行可能コード、データおよびコンテンツおよび/またはDartsを交換することにより、必要あるいは望ましいオペレーションおよびリソースアクセスを実行する開始デバイスのアプリケーションのニーズおよび所望に従って、開始および到達可能デバイスのチームから、およびこの中で実行可能コード、データ、コンテンツおよび/またはDartを配信することとを含むことを特徴とする請求項3に記載の方法。
【請求項7】
前記開始デバイスが、1以上の中間到達可能デバイスを介して直列または再帰的方法で、別の到達可能デバイスへ、またはこれから間接的に、リクルートメントメッセージを送信したというリターンを、開始ソースデバイスが最初に到達したデバイスから直接受信することを特徴とする請求項3に記載の方法。
【請求項8】
前記開始ソースデバイスへのリターンは、到達可能デバイスが、開始ソースデバイスが必要とすると特定されたリソースまたはケイパビリティにアクセスできない場合にも送信されることを特徴とする請求項3に記載の方法。
【請求項9】
前記開始ソースデバイスへのリターンは、到達可能デバイスが、開始ソースデバイスが必要とすると特定されたリソースまたはケイパビリティを自身が持っているか、アクセスできる(真または論理的「1」)か、自身が持っていないかアクセスできない(偽または論理的「0」)であることを特定する単純なパラメータであることを特徴とする請求項3に記載の方法。
【請求項10】
前記開始ソースデバイスへのリターンは、DartEvent、Dartの一部、データ、コンテンツ、実行可能手順、Dart、複数のDartsおよびその組み合わせのうちの1つを含むことを特徴とする請求項3に記載の方法。
【請求項11】
前記開始ソースデバイスへのリターンは、通信プロトコルを介して開始デバイスに、特定の到達可能デバイスのリソースおよび/またはケイパビリティを特定するリターンされたデータまたはコンテンツを含むことを特徴とする請求項3に記載の方法。
【請求項12】
前記検査手順は、開始ソースデバイスで少なくとも部分的に実行されるアプリケーションタスクの意図を実行するため、開始ソースデータが必要とする特定された少なくとも1つのリソースまたはケイパビリティを検査する命令を含むことを特徴とする請求項3に記載の方法。
【請求項13】
前記方法は、デバイスのチーム間でアプリケーションをリクルートし、効果的に実行するコンピュータプログラム製品としてエンコードされたソフトウェアアプリケーションによって、少なくとも部分的にインプリメントされることを特徴とする請求項3に記載の方法。
【請求項14】
前記方法は、リクルートしたデバイスとリクルートされたデバイスの全てのリソースを組み合わせた1台のデバイスであるかのように、リクルートしたデバイスとリクルートされたデバイスのオペレーションのコントロールを効果的に連結して許可することを特徴とする請求項3に記載の方法。
【請求項15】
前記リターンは、リターンなし、データ或いはコンテンツのリターン、あらゆるデジタルにエンコードされた情報、1以上の手順、デバイスが有益である表示、リターンされたイベント、ファイルのペイロードを介したデータの量またはデータのセットを含むリターンイベント、リターン手順、Dart、どのデバイスを利用するかを人間が開始デバイスのメニューから選択できるようなデバイスのテキスト名および記述を含むリターンイベント、ソースデバイスに常駐しまたは当該デバイスから生成可能な実行可能コード、データおよびコンテンツのセットの少なくとも1つのインスタンスの特定のパッケージの識別子、デバイスで動作するのに最も適したレンディション或いはレンディションのセット、またはこれらのいずれかの組み合わせのどれか1つを含むことを特徴とする請求項3に記載の方法。
【請求項16】
少なくとも1つのリソースまたはケイパビリティは、(i)利用可能なリソースまたは特定の必要なリソース、(ii)利用可能なケイパビリティまたは特定の必要なケイパビリティ、(iii)到達可能デバイスのリソースおよびケイパビリティの1以上の相互関連セット、またはアプリケーションの意図を実行するため到達可能デバイスが利用可能なリソースおよび/あるいはケイパビリティ、ならびに(iv)これらの組み合わせからなるセットから選択することを特徴とする請求項3に記載の方法。
【請求項17】
前記リソースまたはケイパビリティは、特定されたデータ操作ソフトウェア、特定された情報処理ソフトウェア、特定されたコンピュテーションソフトウェア、特定された画像処理ソフトウェア、特定された通信ソフトウェア、特定された通信ハードウェア、特定されたメディア、特定されたデータセット、特定されたコンテンツ、特定された単数または複数のプログラム、特定された構成情報、特定されたグラフィック加速ハードウェアまたはソフトウェア、一時的または非一時的(恒久的)を問わず特定された記憶媒体、特定された印刷ケイパビリティ、特定されたファックスケイパビリティ、特定されたスキャンケイパビリティ、入力または出力あるいは入力および出力両方かを問わず、特定されたユーザインターフェースデバイス、デバイスが通信でき、他のデバイスが無限チェーンで通信できるほかのデバイスのリソースへのアクセス、およびこれらの2個以上の組み合わせからなるリソースまたはケイパビリティのセットから選択した特定されたケイパビリティの少なくとも1つのセットを含むことを特徴とする請求項3に記載の方法。
【請求項18】
共通の実行可能形式の前記検査手順は、Dart命令互換エンジン(DartEngine)その他インタオペラビリティ命令セットに埋め込まれたDart準拠命令セット(DartInstructionSet)から形成した少なくとも1つの検査手順を含むことを特徴とする請求項3に記載の方法。
【請求項19】
少なくとも1つの通信リンクは、あらゆる数の通信リンクと、チャンネルと、および/または有線か無線かを問わず、また恒久的に利用可能か間断的かを問わず、あらゆる数の同種または異種の通信プロトコルまたはそのセットを有するプロトコルを備えることを特徴とする請求項3に記載の方法。
【請求項20】
前記異種および同種の通信リンク、チャンネルおよびプロトコルは、いずれか2以上の通信デバイスで動作するプレイヤの部分である特定されたハードウェア抽象化層インプリメンテーションによってサポートされることを特徴とする請求項3に記載の方法。
【請求項21】
前記特定されたハードウェア抽象化層インプリメンテーションは、DartEngineのコンポーネントであるDartハードウェア抽象化層インプリメンテーションを含むことを特徴とする請求項20に記載の方法。
【請求項22】
少なくとも1つの通信リンクおよび通信プロトコルを用いて、ラン手順タイプのイベントを送信し、イベントのイベント識別子は、前記到達可能デバイスで動作するため前記手順を識別するファイルを参照することを特徴とする請求項3に記載の方法。
【請求項23】
前記イベントは、DartEventsを含み、ラン手順タイプのイベントは、Dart RUN_PROCEDUREタイプイベントを含むことを特徴とする請求項22に記載の方法。
【請求項24】
前記到達可能デバイスで動作するため手順を識別するファイルを参照するイベント識別子は、到達可能デバイスで動作するため手順の画像を含むファイルを参照するイベントのファイル識別子を含むことを特徴とする請求項3に記載の方法。
【請求項25】
前記ファイルは、DartFormatに準拠するDart準拠ファイル(DartFile)を含み、手順の画像は、DartProcedure(DartProcedure)のバイナリデータ画像を含むことを特徴とする請求項24に記載の方法。
【請求項26】
前記検査手順は、DartProceduresまたは完全なDartsのいずれかを含むことを特徴とする請求項3に記載の方法。
【請求項27】
前記検査手順をイベントと関連するファイルとして送信し、イベントと関連するファイルとしての検査手順の到達可能デバイスによる受信によって、到達可能デバイスでの検査手順の実行が開始されることを特徴とする請求項3に記載の方法。
【請求項28】
前記検査手順は、DartProcedureを含むことを特徴とする請求項3に記載の方法。
【請求項29】
前記到達可能デバイスの基本リソースおよびケイパビリティを含むリソースおよびケイパビリティは、命令セットプロフィール命令の利用によって決定されることを特徴とする請求項3に記載の方法。
【請求項30】
前記命令セットプロフィール命令は、Dart準拠命令セット(DartInstructionSet)のDart準拠プロフィール命令(Dart PROFILE_INSTRUCTION)を含むことを特徴とする請求項29に記載の方法。
【請求項31】
各到達可能デバイス内の前記検査手順実行は、特定の到達可能デバイスまたはそのそれぞれに送られるレンディション決定ルールに従って、開始Dart具現化アプリケーションの最良レンディションを決定し、決定した最良レンディションの識別子を返すデータの一部として送り返すことを特徴とする請求項3に記載の方法。
【請求項32】
前記レンディション決定ルールは、必要とされる複雑なコンピュテーションを実行し、到達可能デバイスのリソース、ケイパビリティおよび/または状態を決定するプロフィール命令を通じて必要なプロフィール情報にアクセスするよう適合された少なくとも1つの手順に具現化されることを特徴とする請求項31に記載の方法。
【請求項33】
前記検査手順実行は、レンディションの順序を定義するルールを参照し、複数のレンディションのそれぞれの要件全てが予め定義されたレンディション優先順序を満たすか否か、複数のレンディション中でレンディションの要件全てを満たす最初のレンディションが見つかるまで到達可能デバイスのそれぞれをチェックすることにより、複数のレンディションから最良のレンディションを決定することを特徴とする請求項31に記載の方法。
【請求項34】
前記検査手順は、Dars、手順、データまたはコンテンツを、理解された通信プロトコルを用いて通信リンクを介して開始デバイスに返すことを特徴とする請求項3に記載の方法。
【請求項35】
前記リターンは、少なくとも返された手順、データまたはコンテンツと、完全なDarts、DartParts、DartProceduresまたはDartEventsのいずれかあるいは組み合わせのうちの少なくとも1つを含み、その1つまたは組み合わせは、関連するイベントファイルありまたはなしで返されることを特徴とする請求項3に記載の方法。
【請求項36】
前記リターンは、返された手順、データ、コンテンツおよび/またはDartのうち少なくとも1つを含み、さらに任意で、エラー発生を示すリターンコードを含み、エラーコードは、特定のエラーが発生したこと、または非特定エラーが発生したことを示し、エラーコードは任意で特定のエラーおよび/またはエラーの性質を是正または通信するのに有益な情報を含むことを特徴とする請求項3に記載の方法。
【請求項37】
前記アプリケーションコードは、Dart、DartProcedure、または、開始デバイスあるいはプログラムの転送または実行を開始し、実行の結果を利用するために開始デバイスがアクセスするデバイス上で実行可能なあらゆる形式のプログラムのうち少なくとも1つであることを特徴とする請求項3に記載の方法。
【請求項38】
前記アプリケーションコードは、Dart、DartProcedure、または、手順的フォーマットが到達可能デバイスで実行するためのDartInstructionSetを利用するか否かを問わず、到達可能デバイスで実行可能または情報を送ることができる別の手順的フォーマットを含むことを特徴とする請求項3に記載の方法。
【請求項39】
前記リクルートされたデバイスのチームは、前記チームをダイナミックに拡張して、他の到達可能デバイスを含めたり、デバイスのチームを縮小して、アプリケーションの寿命または定義された実行期間中に所望の到達可能デバイスを除外したりできることを特徴とする請求項3に記載の方法。
【請求項40】
前記配信は、Darts、DartProcedures、データ、コンテンツその他情報、またはこれらの組み合わせの少なくとも1つの送信により達成され、イベントでフィールドが参照した情報がイベントと共に、あるいはイベントの一部として送信されたか否かを問わず、ダートイベント(DartEvents)の一部としてカプセル化されていることを特徴とする請求項3に記載の方法。
【請求項41】
前記デバイスのチームから、またはその間で前記開始アプリケーションのニーズに従って配信されたコード、データおよびコンテンツは、コードを実行し、開始アプリケーションの意図をさらに実行するためにデバイスのチーム間で実行するオペレーションの実行または調整に必要なあらゆる追加または異なるコード、データおよびコンテンツを任意で交換することにより、発信アプリケーションの意図を実行するため必要なオペレーションおよびリソースアクセスを実行することを特徴とする請求項3に記載の方法。
【請求項42】
前記アプリケーションは、リクルートメントプロセスの一部として全デバイスに配信された全てのコードを含むシングルバイナリイメージに具現化されることを特徴とする請求項3に記載の方法。
【請求項43】
前記方法はさらに、デバイスのチーム上の同期、直列化、調整を含み、同期、直列化および調整は、イベント、またはDartEventsのみ、または任意でDartEventsまたはイベントと関連するファイルをパスまたは交換することによって完全にまたは部分的に達成することを特徴とする請求項3に記載の方法。
【請求項44】
前記イベントは少なくとも1つのファイルを参照し、その参照によって、ファイルまたは複雑性のファイルイメージを有するファイルを効果的に含有して組み込み、これらファイルイメージがイベント構造コンテンツと通信するようにすることを特徴とする請求項43に記載の方法。
【請求項45】
相互運用および通信している開始およびリクルートされたデバイスのみ、または任意で、DartEventsまたはイベントに関連するファイルの間でDartEventsイベントをパスまたは交換することをさらに含み、前記イベントがDartEvent構造のファイル識別子(フィールド)参照によりファイルまたは他のデータまたは複雑性のデータ構造を含み、参照時にファイルイメージは常にイベント構造コンテンツと通信されることを特徴とする請求項3に記載の方法。
【請求項46】
DartEventまたはイベントは、DartFramework、DartRuntimeおよび/またはDartEngine、あるいは代替的に非DartPlatform固有イベント駆動型インプリメンテーションにより、チーム化されたあらゆる数のデバイスのイベント待ち行列間で自動的にコピーおよび/または同期され、自動同期について識別されDartによってイベント待ち行列に入れられたDartEventsまたはイベントが、自動直列化および同期によってあらゆる数のチーム化されたデバイスのイベント待ち行列に現れることを特徴とする請求項43に記載の方法。
【請求項47】
前記自動直列および同期は、開始デバイスを含む複数の協働デバイス間で動作するイベント駆動型協調アプリケーション、機能またはレンディションの自動直列化および同期のための手順によって達成され、この方法は:
所望の各デバイス間協働機能用のアプリケーションにより、発信デバイス上で接続マネージャオブジェクトインスタンスを作成することと;
全ての協働デバイス上でアプリケーションにより順に同期されるイベントタイプのリストを接続マネージメントに通信することと;
各デバイスに1つの接続マネージャを有するイベントタイプのチームを確立し、同じ同期イベントタイプのリストを共有することと;
接続マネージャによって、チーム化されたデバイスと同期するイベントタイプを特定するセッションリストを維持することと、接続マネージャによって、イベント待ち行列に入れる全てのイベントを調べ、調べた特定のイベントが、接続マネージャがセッションリストから同期すべきとわかるイベントタイプである場合、他のセッションと同期するイベントとして、そのイベントを接続マネージャに一覧したデバイスのイベント待ち行列に入れることとを含むことを特徴とする請求項46に記載の方法。
【請求項48】
前記イベント駆動型協働アプリケーション機能またはレンディションのいずれか1つによって協働デバイスイベント待ち行列に入れる全てのイベントを、いずれかのデバイスによってイベントを直接送信された全ての協働デバイスイベント待ち行列が協働デバイスのイベント待ち行列に無事に入れられたとの肯定応答を受信するまで、あらゆるデバイスのイベント待ち行列にイベントを入れることを許可しないことによって直列化することを特徴とする請求項47に記載の方法。
【請求項49】
前記イベント駆動型協働アプリケーション機能またはレンディションのいずれか1つが受信した協働デバイスイベント待ち行列に入れる全てのイベントを、いずれかの受信デバイスによってイベントを送信された全ての協働デバイスイベント待ち行列が協働デバイスのイベント待ち行列に入れられたとの肯定応答を受信するまで、受信側のあらゆるデバイスのイベント待ち行列にイベントを入れることを許可しないことによって直列化することを特徴とする請求項48に記載の方法。
【請求項50】
前記デバイスが、直接通信デバイスのチェーンを介して直接あるいは間接に通信しているかを問わず、あらゆる数の協働デバイスのイベント待ち行列が、全協働デバイス間で待ち行列イベントの直列化された1つのシステムを確立することを特徴とする請求項48に記載の方法。
【請求項51】
前記デバイスが、直接通信デバイスのチェーンを介して直接あるいは間接に通信しているかを問わず、あらゆる数の協働デバイスのイベント待ち行列が、全協働デバイス間で待ち行列イベントの直列化された1つのシステムを確立することを特徴とする請求項49に記載の方法。
【請求項52】
1つのマスタデバイスのみが同期するイベントタイプのリストにそのタイプのイベントを入れることで、かかるイベントすべてが全協働デバイス間で直列化されるようにできるシステムにより、2つ以上の協働デバイスから協働デバイスの待ち行列に入れるイベントを同期し、協働デバイスの待ち行列のイベントに単一直列化させることを特徴とする請求項47に記載の方法。
【請求項53】
前記マスタデバイスは、マスタデバイスが全協働デバイスの待ち行列に目的とするイベントを入れるために必要な全ての情報を含むマスタの要求イベントタイプのイベントによって、他の協働デバイスに代わり発行するイベントを知らされることを特徴とする請求項52に記載の方法。
【請求項54】
他のデバイスによって協働デバイスのセットになるよう前記協働デバイスのチームにリクルートされた各デバイスは、その相対的マスタデバイスを、自分をリクルートしたデバイスとみなすことを特徴とする請求項52に記載の方法。
【請求項55】
他のデバイスによって協働デバイスのセットになるよう前記協働デバイスのチームにリクルートされた各デバイスは、その相対的マスタデバイスを、自分をリクルートしたデバイスとみなすことを特徴とする請求項53に記載の方法。
【請求項56】
マスタ要求イベントタイプのイベントをマスタのデバイスの待ち行列に入れることにより、相対的マスタを持たない開始マスタデバイスがマスタデバイスに必要な情報を用いてイベントを形成し、目的とするイベントを全協働デバイスの待ち行列に入れるまで、イベントをデバイスから相対マスタデバイスへ伝播させることを特徴とする請求項54に記載の方法。
【請求項57】
協働デバイスの同期および/または直列化された待ち行列に、自身が直列化イベントのリストにある変更マスタタイプイベントを発行し、新しいマスタデバイスが現行マスタデバイスに取って代わることを同期直列化方法で全デバイスに知らせることにより、前記指定されたマスタデバイスを変更できることを特徴とする請求項52に記載の方法。
【請求項58】
前記マスタ要求イベントは、新しいマスタデバイスがイベントを処理するまで、協働デバイスの待ち行列を通じて伝播することを特徴とする請求項54に記載の方法。
【請求項59】
前記マスタ要求イベントは、新しいマスタデバイスがイベントを処理するまで、協働デバイスの待ち行列を通じて伝播することを特徴とする請求項55に記載の方法。
【請求項60】
前記マスタ要求イベントタイプのイベントによって送られると指定されたイベントの一部と特定されたオプションのファイルは、かかるファイル参照が存在する場合、識別子のある各伝播デバイスに維持され、マスタによって送信されるイベントの一部として送信されたかのように、マスタによって送信されるイベントと再び関連できるようになり、これは、マスタに処理されるマスタ要求イベントタイプの結果として送られる各イベントの一部として送らなければならなかった情報量を減らすためであることを特徴とする請求項53に記載の方法。
【請求項61】
メモリと接続され、目的とするタスクの実行命令を含む手順を実行するよう適合されたプロセッサと;
目的とするタスク実行のバージョンに必要な少なくともハードウェアリソースを備え、目的とするタスク実行に参加するため装置と異なる外部の少なくとも1つのリクルートされたデバイスを、リクルートするためプロセッサおよびメモリで少なくとも部分的に実行する手段と;
ハードウェアのリソースと使用可能にされた補完リソースが、リクルートされたデバイスが目的のタスクの実行を完全に可能にするために、リクルートされたデバイスのリソースを補完するための装置内に完全に保存された手段とを備えることを特徴とする開始装置。
【請求項62】
前記装置およびリクルートされたデバイスはそれぞれ共通の手順的環境で動作し、リクルートのためプロセッサおよびメモリで少なくとも部分的に実行される手段は、少なくとも1つの接続を介して、共通の手順的環境を含みまたはここで動作する他のデバイスに共通手順的環境でインプリメントされた手順をブロードキャストする手段を備えることを特徴とする請求項61に記載の開始装置。
【請求項63】
前記リクルートするための手段はさらに、各デバイスが特定のタスクの実行に参加するのに必要なリソースまたはケイパビリティを有するか否か判断するために、他のデバイスそれぞれのリソースおよびケイパビリティをプログラムで検査するための他のデバイス上の手順の実行を開始する手段を備えることを特徴とする請求項62に記載の開始装置。
【請求項64】
前記検査は、特定のデバイスに保存されまたは当該デバイスについて計算したデバイス固有抽象化層情報に少なくとも部分的にアクセスすることにより、他の特定のデバイスごとで実行されることを特徴とする請求項63に記載の開始装置。
【請求項65】
前記補完手段はさらに、各デバイスが特定のタスクの一部を実行できるようにするために必要なイネーブリング手順、データおよび/またはコンテンツを送信およびインストールするための手段を含むことを特徴とする請求項64記載の開始装置。
【請求項66】
前記開始デバイスと他のデバイスとの間でオペレーションを一時的または恒久的に同期させるための手段をさらに備え、同期手段は、タスクイベント待ち行列と、前記タスクイベント待ち行列を維持するための手段とを含むことを特徴とする請求項61に記載の開始装置。
【請求項67】
リクルートされた装置であって、プロセッサとプロセッサに接続されたメモリとを備えるハードウェアリソースのセットと、タスクのセットの実行のために適合されたコンピュータプログラムコードリソースとを備え、前記ハードウェアリソースは、少なくとも特定のタスク実行の1バージョンを実行することが可能だが、前記コンピュータプログラムコードリソースは、特定のタスクまたは特定のタスクの態様を実行するための所望のバージョンまたは方法と、コンピュータプログラムコード通信およびデータ通信の少なくとも一方を含む通信を受信するための手段を実行することが初めはできず、前記コンピュータプログラムコード通信は、特定のタスクの所望のバージョン、方法または態様の実行が可能な装置をレンダリングする補完的コンピュータプログラムコードリソースを備えることを特徴とするリクルートされた装置。
【請求項68】
前記リクルートされた装置と開始デバイスは、共通手順的環境でそれぞれ動作することを特徴とする請求項67に記載のリクルートされた装置。
【請求項69】
前記リクルートされたデバイスが、特定のタスクの実行に参加するために必要なリソースまたはケイパビリティを有するか否か判断するため、前記リクルートされたデバイスのリソースおよびケイパビリティをプログラムで検査する、開始デバイスから受信した手順を実行するための手段をさらに備えることを特徴とする請求項68に記載のリクルートされた装置。
【請求項70】
前記検査は、前記リクルートされたデバイスに保存されまたは当該デバイスについて計算したデバイス固有抽象化層情報に少なくとも部分的にアクセスすることにより、リクルートされたデバイスで実行することを特徴とする請求項69に記載のリクルートされた装置。
【請求項71】
前記リクルートされたデバイスが、前記特定のタスクの一部を実行できるようにするために必要なイネーブリング手順、データおよび/またはコンテンツをインストールするための手段を備えることを特徴とする請求項70に記載のリクルートされた装置。
【請求項72】
開始デバイスとリクルートされたデバイスとの間でオペレーションを一時的に同期させるための手段をさらに備え、前記同期手段が、タスクイベント待ち行列と、前記タスクイベント待ち行列を維持するための手段とを含むことを特徴とする請求項61に記載のリクルートされた装置。
【請求項73】
特定のタスクの実行に参加するため、複数の異種デバイスの間で一体化された特別なオンザフライ配信情報処理システムを形成する方法であって:
少なくとも1つの通信チャンネルと、特定のタスクの実行に参加するためのリソースまたはケイパビリティを所有する他のリクルートされたデバイスを識別およびリクルートする目的のあるプロトコルを用いて、メッセージをブロードキャストすることを含み、開始デバイスによって配信された情報処理システムの結成を開始することと;
前記リクルートされたデバイスのそれぞれが特定のタスクの一部を実行できるよう、リクルートされたデバイスのそれぞれに必要とされる手順、データおよびコンテンツの少なくとも1つを通信することとを含むことを特徴とする方法。
【請求項74】
前記目的のタスクの実行に参加するため、少なくとも前記目的のタスクの実行のバージョンに必要なハードウェアリソースを含み開始デバイスと異なる外部の少なくとも1つのリクルートされたデバイスをリクルートするための手順を、開始デバイスのプロセッサとメモリで少なくとも部分的に実行することと;
ハードウェアのリソースと使用可能にされた補完リソースが、リクルートされたデバイスが目的のタスクを完全に実行できるようにするために、リクルートされたデバイスのリソースを補完する手順および任意のデータを開始装置内に完全に保存することとをさらに含むことを特徴とする請求項73に記載の方法。
【請求項75】
前記開始デバイスとリクルートされたデバイスは、共通手順的環境でそれぞれ動作し、リクルートするためプロセッサおよびメモリで少なくとも部分的に実行する手順は、やはり共通手順的環境を含むかこれで動作する他のデバイスに少なくとも1つの接続を介して共通手順的環境でインプリメントされた手順をブロードキャストすることを含むことを特徴とする請求項74に記載の方法。
【請求項76】
前記リクルートはさらに、各デバイスが前記特定のタスクの実行に参加するために必要なリソースまたはケイパビリティを有するか否か判断するため、他のデバイスで、他のデバイスのそれぞれのリソースとケイパビリティをプログラムで検査する手順を実行開始することを含むことを特徴とする請求項75に記載の方法。
【請求項77】
前記検査は、前記特定のデバイスに保存されまたは当該デバイスについて計算したデバイス固有抽象化層情報に少なくとも部分的にアクセスすることにより、特定の他のリクルートされたデバイスのそれぞれで実行されることを特徴とする請求項76に記載の方法。
【請求項78】
前記補完はさらに、各デバイスが前記特定のタスクの一部を実行できるようにするために必要なイネーブリング手順、データおよび/またはコンテンツを送信およびインストールすることを含むことを特徴とする請求項77に記載の方法。
【請求項79】
前記開始デバイスと他のリクルートされたデバイスとの間でオペレーションを一時的に同期させることをさらに含み、同期は、タスクイベント待ち行列と、タスクイベント待ち行列の生成と維持とを含むことを特徴とする請求項77に記載の方法。
【請求項80】
前記通信は、クライアントサーバ通信インタラクションでもピアツーピア通信インタラクションでもない通信およびインタラクションであることを特徴とする請求項73に記載の方法。
【請求項81】
前記リクルートメントは、必要なデバイスを識別するため、特別なデバイス、サービスおよびリソース発見を実行し、イベントを用いてデバイスにイネーブリング手順および情報を送信し、インテリジェントおよび有効にデバイスのチームを結成してから、イベントを用いてデバイスのチームを調整し、ソース開始デバイスで当初動作しているDartまたはアプリケーションまたはタスクの目標を達成することを特徴とする請求項73に記載の方法。
【請求項82】
前記分散情報処理システムは、前記デバイスの物理的ケイパビリティの一部または全部のアクセスと調整された利用とを含むことを特徴とする請求項73に記載の方法。
【請求項83】
前記デバイスの物理的ケイパビリティは、任意で印刷、ファックス、表示、音楽のレンダリング、ビデオのレンダリング、他のデバイスの制御、デジタルかアナログかを問わず、あらゆる媒体でのデータの保存、グッズの製造、排除、撮影その他、デバイスの処理ケイパビリティによってアクセス、モニタまたは制御できるあらゆる物理的ケイパビリティを含む能力のセットから選択することを特徴とする請求項82に記載の方法。
【請求項84】
1以上のデバイスで動作する前記ソフトウェアアプリケーションは、当初は開始デバイス上の単一のソフトウェアパッケージの一部であったコードおよび/またはデータおよび/またはコンテンツを有する2以上のデバイスでのインタオペラビリティオペレーションを少なくとも部分的に実行することで、開発および/または独立的配信したアプリケーションを用いてインタオペラビリティオペレーションを実行する場合より大きなインタオペラビリティ信頼性を享受することを特徴とする請求項1に記載の方法。
【請求項85】
コンピュータシステムまたは情報機器と共に用いるコンピュータプログラム製品であって、コンピュータリーダブル記憶媒体と、そこに埋め込まれたコンピュータプログラムメカニズムとを備えるコンピュータプログラム製品において、前記コンピュータプログラムメカニズムは:
コンピュータシステムまたは情報機器に、相互動作するためリクルートされたデバイスのチームを指定の方法でリクルートする機能を指示するプログラムモジュールを備え、前記プログラムモジュールは:
開始ソースデバイスと検査手順を到達させるデバイスとの両方に共通する実行可能形式でコード化された検査手順命令を含み、少なくとも1つの通信リンクを介して前記開始ソースデバイスと異なる少なくとも1つの到達可能デバイスに必要なリソースまたはケイパビリティを有するデバイスを見つけるよう動作可能な検査手順を送信する命令と;
開始デバイスにおいて、通信リンクを介して直接あるいは間接的に到達可能デバイスのそれぞれからリターン応答を受信する命令と;
ソフトウェアアプリケーションの意図を最もよく実行する開始ソースデバイスと応答到達可能デバイスとのケイパビリティおよびリソースの組み合わせを特定する利用プランを決定するために、開始デバイスで実行する手順により、応答到達可能デバイス全てからの受信リターンを分析する命令と;
開始デバイスで実行するアプリケーションプログラムによって、特定された利用プランにしたがって必要なリソースまたはケイパビリティを有すると特定された到達可能デバイスのそれぞれの少なくとも1つに、実行可能コード、データ、コンテンツおよび/またはDartの少なくとも1つを配信する命令とを含むことを特徴とするコンピュータプログラム製品。
【請求項86】
前記コンピュータシステムまたは情報機器と共に用いるコンピュータプログラム製品であって、コンピュータリーダブル記憶媒体と、そこに埋め込まれたコンピュータプログラムメカニズムとを備えるコンピュータプログラム製品において、前記コンピュータプログラムメカニズムは:
単一のバーチャルデバイスとして動作して、特定のタスクの実行に参加するため、複数の異種デバイスの中で一体型の特別でオンザフライの分散情報処理システムを指定の方法で形成するよう機能することをコンピュータシステムまたは情報機器に指示するプログラムモジュールを備え、当該プログラムモジュールは:
少なくとも1つの通信チャンネルと、特定のタスクの実行に参加するためのリソースまたはケイパビリティを所有する他のリクルートされたデバイスを識別およびリクルートする目的を持つプロトコルとを用いてメッセージをブロードキャストする結成であって開始デバイスによる配信情報処理システムの結成を開始する命令と;
リクルートされたデバイスのそれぞれが特定のタスクの一部を実行できるようにするため、前記リクルートされたデバイスのそれぞれに必要とされた手順、データおよびコンテンツの少なくとも1つを通信する命令とを備えることを特徴とするコンピュータプログラム製品。
【請求項87】
ソフトウェアアプリケーションを別個に実行可能なイメージのセットにセグメント化する方法において、当該方法は:
アプリケーションが意図する1以上の態様を実行するため考えられるリソースおよびケイパビリティに従い、遭遇するデバイスをクラスに分けることと;
アプリケーションが意図する1以上の態様を実行するため、明確なレンダリングその他ランタイム要件に関するニーズに従って、遭遇しそうな環境または動作要件をクラスに分けることと;
デバイスの各クラスおよび各環境または動作要件で、アプリケーションが意図する1以上の態様を実行できるようにするために必要な実行可能イメージに必要なデータ、コード、コンテンツその他デジタル表示可能リソースを指定することと;
ある候補デバイスのリストで、アプリケーションの意図を実行するのに利用する各デバイスで動作するデバイスと、対応する個々に割り当てられた実行可能イメージと、そのリソースおよびケイパビリティ、必要または所望の環境または動作パラメータを選択するための利用プランを生成することと;
各クラスのデバイスおよび各環境または動作要件で利用プランをインプリメントおよび実行するために必要なデータ、コード、コンテンツその他デジタル表示可能リソースを指定することとを含むことを特徴する方法。
【請求項88】
前記ソフトウェアアプリケーションは、1以上の同種または異種の通信デバイス間で動作することを意図することを特徴とする請求項87に記載の方法。
【請求項89】
そのように正確に選択した1つの実行可能イメージが、特定の環境においてデバイスが動作するよう選択されることを特徴とする請求項87に記載の方法。
【請求項90】
そのように正確に選択した1つの実行可能イメージが、各デバイスのリソースおよびケイパビリティおよび環境と動作要件に関してアプリケーションのニーズに従ってデバイスで動作するよう選択されることを特徴とする請求項89に記載の方法。
【請求項91】
前記デバイスの少なくとも1つは、Dartデバイスであることを特徴とする請求項89に記載の方法。
【請求項92】
前記生成された利用プランを実行することをさらに含むことを特徴とする請求項87に記載の方法。
【請求項93】
前記ソフトウェアアプリケーションはDartと表現されることを特徴とする請求項87に記載の方法。
【請求項94】
前記別個に実行するイメージはレンディションであることを特徴とする請求項87に記載の方法。
【請求項95】
前記レンディションは、DartFormatに従ってDartToolsによってパッケージ化されたDartレンディションの形式で表現されることを特徴とする請求項93に記載の方法。
【請求項96】
請求項1の利用プランは、候補デバイスで動作するために送られる手順の全体または一部としてインプリメントされ、デバイスの特定のクラス、そのリソースおよび/またはその動作環境を決定することを特徴とする請求項88に記載の方法。
【請求項97】
前記手順は、インタオペラビリティ命令セットの命令として少なくとも部分的に構成されるDartProceduresであることを特徴とする請求項96に記載の方法。
【請求項98】
前記インタオペラビリティ命令セットは、DartInstructionSetであることを特徴とする請求項97に記載の方法。
【請求項99】
前記インタオペラビリティ命令セットは、手順を動作させる1以上の同種または異種の通信デバイスで実行可能な形式であることを特徴とする請求項97に記載の方法。
【請求項100】
前記通信デバイスは、特定のクラスのデバイス、そのリソースおよび/またはその動作環境を決定する手順を動作させることを特徴とする請求項99に記載の方法。
【請求項101】
前記手順は、アプリケーションの一部であるDartsとして表現されることを特徴とする請求項96に記載の方法。
【請求項102】
前記アプリケーションは、異種の通信デバイス上でアプリケーションの意図を実行するために用いる他のDartsを含むDartとして表現されることを特徴とする請求項101に記載の方法。
【請求項103】
請求項1のリクルートメント方法を用いて手順と別個実行可能イメージを送信および配信し、異種または同種デバイスのチームを結成することを特徴とする請求項87に記載の方法。
【請求項104】
パーツは、インタオペラビリティアプリケーションのサイズを制限するために、異なる対象デバイスおよび処理環境で別個に動作する異なるイメージ間で共有可能であることを特徴とする請求項87に記載の方法。
【請求項105】
パーツは、ソフトウェアに保存するデータの量を制限するために、別個に動作するイメージ間で共有可能であることを特徴とする請求項87に記載の方法。
【請求項106】
パーツは、デバイス間で通信するデータの量を制限するために、別個に動作するイメージ間で共有可能であることを特徴とする請求項87に記載の方法。
【請求項107】
パーツは、コード、データ、コンテンツ、手順、コードセット、データセット、コンテンツ、コンテンツセット、パーツを発見し組み合わせる方法に関するメタ情報、記述的テキスト、絵、ビデオ、画像、データの表その他デジタル形式で表現可能な情報の単位または情報のセットのうちの1つであることを特徴とする請求項104に記載の方法。
【請求項108】
パーツは、DartPartsおよび/またはメタ情報は、Dart RenditionsTableパーツ、および/またはDart RenditionTableパーツおよび/またはDartPartTableおよび/またはDartTrailerとして表現されることを特徴とする請求項107に記載の方法。
【請求項109】
ソフトウェアアプリケーションを別個に実行可能なイメージのセットにセグメント化する方法であって、前記方法は:
考えられるリソースおよびケイパビリティに従い、遭遇するデバイスをクラスに分けることと;
遭遇しそうな環境または動作要件をクラスに分けることと;
各クラスのデバイスおよび各環境または動作要件でアプリケーションが意図する1以上の態様を実行できるよう実行可能イメージに必要なデータ、コード、コンテンツおよび/またはその他デジタル表現可能なリソースを指定することと;
アプリケーションの意図を実行するために用いる各デバイスで動作するデバイスおよび実行可能イメージを選択するための利用プランを生成することとを含むことを特徴とする方法。
【請求項110】
ソフトウェアアプリケーションを別個に実行可能なイメージのセットにセグメント化するための装置であって、前記装置は:
アプリケーションが意図する1以上の態様を実行するため考えられるリソースおよびケイパビリティに従い、遭遇するデバイスをクラスに分けるための手段と;
アプリケーションが意図する1以上の態様を実行するため、明確なレンダリングその他ランタイム要件に関するニーズに従って、遭遇しそうな環境または動作要件をクラスに分けるための手段と;
デバイスの各クラスおよび各環境または動作要件で、アプリケーションが意図する1以上の態様を実行できるようにするために必要な実行可能イメージに必要なデータ、コード、コンテンツその他デジタル表示可能リソースを指定するための手段と;
ある候補デバイスのリストで、アプリケーションの意図を実行するのに利用する各デバイスで動作するデバイスと、対応する個々に割り当てられた実行可能イメージと、そのリソースおよびケイパビリティ、必要または所望の環境または動作パラメータを選択するための利用プランを生成するための手段と;
各クラスのデバイスおよび各環境または動作要件で利用プランをインプリメントおよび実行するために必要なデータ、コード、コンテンツその他デジタル表示可能リソースを指定するための手段とを備えることを特徴とする装置。
【請求項111】
コンピュータシステムまたは情報機器と共に用いるコンピュータプログラム製品であって、コンピュータリーダブル記憶媒体と、そこに埋め込まれたコンピュータプログラムメカニズムとを備えるコンピュータプログラム製品において、前記コンピュータプログラムメカニズムは:
コンピュータシステムまたは情報機器に、コンピュータソフトウェアコードアプリケーションを別個に実行可能なコンピュータプログラムソフトウェアコードイメージのセットにセグメント化するため指定の方法で機能するよう命令するプログラムモジュールを含み、前記プログラムモジュールは:
遭遇するデバイスを、そのリソースおよびケイパビリティに従ってクラスに分ける命令と;
遭遇する可能性のある環境または動作要件をクラスに分ける命令と;
各デバイスのクラスおよび各環境または動作要件でアプリケーションが意図する1以上の態様を実行できるようにするため実行可能イメージに必要なデータ、コード、コンピュータおよび/またはその他デジタル表現可能なリソースを指定する命令と;
アプリケーションの意図を実行するために用いる各デバイスで動作するデバイスおよび実行可能イメージを選択するための利用プランを生成する命令とを備えることを特徴とするコンピュータプログラム製品。
【請求項112】
コンピュータシステムまたは情報機器と共に用いるコンピュータプログラム製品であって、コンピュータリーダブル記憶媒体と、そこに埋め込まれたコンピュータプログラムメカニズムとを備えるコンピュータプログラム製品において、前記コンピュータプログラムメカニズムは:
コンピュータシステムまたは情報機器に、コンピュータソフトウェアコードアプリケーションを別個に実行可能なコンピュータプログラムソフトウェアコードイメージのセットにセグメント化するため指定の方法で機能するよう命令するプログラムモジュールとを備え、前記プログラムモジュールは:
遭遇するデバイスを、アプリケーションの意図の1以上の態様を実行するためそのリソースおよびケイパビリティに従ってクラスに分ける命令と;
アプリケーションの意図の1以上の態様を実行するため明確なレンダリングその他ランタイム要件に関するニーズに従って、遭遇しそうな環境または動作要件をクラスに分けるクラスに分ける命令と;
デバイスの各クラスおよび各環境または動作要件で、アプリケーションの意図の1以上の態様を実行できるようにするために必要な実行可能イメージに必要なデータ、コード、コンテンツその他デジタル表示可能リソースを指定する命令と;
ある候補デバイスのリストで、アプリケーションの意図を実行するのに利用する各デバイスで動作するデバイスと、対応する個々に割り当てられた実行可能イメージと、そのリソースおよびケイパビリティ、必要または所望の環境または動作パラメータを選択するための利用プランを生成する命令と;
各クラスのデバイスおよび各環境または動作要件で利用プランをインプリメントおよび実行するために必要なデータ、コード、コンテンツその他デジタル表示可能リソースを指定する命令とを備えることを特徴とするコンピュータプログラム製品。
【請求項113】
デバイスのチームをリクルートするためソースデバイスで動作するソフトウェアアプリケーションと、デバイスのチームで実行可能な別個に実行可能なイメージのセットにソフトウェアアプリケーションをセグメント化する方法であって、前記方法は:
開始ソースデバイスと検査手順を到達させようとするデバイスの両方に共通な実行可能な形式でコード化された検査手順命令を含み、必要なリソースまたはケイパビリティを有するデバイスを探すよう動作可能な検査手順を、少なくとも1つの通信リンクを介して少なくとも1つの開始ソースデバイスと異なる到達可能なデバイスに送信することと;
到達可能なデバイスのそれぞれから、通信リンクを介して直接または間接的に、開始デバイスでリターン応答を受信することと;
ソフトウェアアプリケーションの意図を最もよく実行する開始ソースデバイスと応答到達可能デバイスのケイパビリティおよびリソースの組み合わせを特定する利用プランを決定するために、開始デバイスで実行する手順により、全ての応答到達可能デバイスからの受信リターンを分析することと;
開始デバイスで実行するアプリケーションプログラムにより、特定された利用プランに従って必要なリソースまたはケイパビリティを有すると特定された到達可能デバイスのそれぞれの少なくとも1つに実行可能コード、データ、コンテンツおよび/またはDartの少なくとも1つを配信することと;
遭遇するデバイスを、アプリケーションの意図の1以上の態様を実行するためそのリソースおよびケイパビリティに従ってクラスに分けることと;
アプリケーションの意図の1以上の態様を実行するため明確なレンダリングその他ランタイム要件に関するニーズに従って、遭遇しそうな環境または動作要件をクラスに分けることと;
デバイスの各クラスおよび各環境または動作要件で、アプリケーションの意図の1以上の態様を実行できるようにするために必要な実行可能イメージに必要なデータ、コード、コンテンツその他デジタル表示可能リソースを指定することと;
ある候補デバイスのリストで、アプリケーションの意図を実行するのに利用する各デバイスで動作するデバイスと、対応する個々に割り当てられた実行可能イメージと、そのリソースおよびケイパビリティ、必要または所望の環境または動作パラメータを選択するための利用プランを生成することと;
各クラスのデバイスおよび各環境または動作要件で利用プランをインプリメントおよび実行するために必要なデータ、コード、コンテンツその他デジタル表示可能リソースを指定することとを含むことを特徴とする方法。
【請求項1】
開始ソースデバイスと検査手順を到達させようとするデバイスの両方に共通な実行可能な形式でコード化された検査手順命令を含み、必要なリソースまたはケイパビリティを有するデバイスを探すよう動作可能な検査手順を、少なくとも1つの通信リンクを介して少なくとも1つの開始ソースデバイスと異なる到達可能なデバイスに送信することと;
到達可能なデバイスのそれぞれから、通信リンクを介して直接または間接的に、開始デバイスでリターン応答を受信することと;
ソフトウェアアプリケーションの意図を最もよく実行する開始ソースデバイスと応答到達可能デバイスのケイパビリティおよびリソースの組み合わせを特定する利用プランを決定するために、開始デバイスで実行する手順により、全ての応答到達可能デバイスからの受信リターンを分析することと;
開始デバイスで実行するアプリケーションプログラムにより、特定された利用プランに従って必要なリソースまたはケイパビリティを有すると特定された到達可能デバイスのそれぞれの少なくとも1つに実行可能コード、データ、コンテンツおよび/またはDartの少なくとも1つを配信することとを含むことを特徴とする、デバイスのチームをリクルートするためソースデバイスで動作するソフトウェアアプリケーションのための方法。
【請求項2】
候補デバイスで受信し、受信デバイスとリクルートデバイスの両方に既知の実行可能形式でコード化された検査手順命令を含み受信到達可能候補デバイスが別のリクルートデバイスの必要とするリソースまたはケイパビリティを有するか否かを通信リンクを介して判断する動作可能な検査手順を実行することと;
受信した検査手順についてソースデバイスを特定し、受信到達可能デバイスが、開始ソースデバイスが必要としていると特定されたリソースまたはケイパビリティまたはリソースおよびケイパビリティのセットにアクセス可能か否かに関するステータスおよび情報をソースデバイスにリターンを送信することと;
到達可能デバイスが、ソフトウェアアプリケーションの意図を実行するためチームを結成するのに必要なリソースまたはケイパビリティを有するとソースデバイスによって判断された場合、実行可能コード、データ、コンテンツおよび/またはDartの少なくとも1つを、ソースデバイス、リクルートデバイスまたは別の候補デバイスから受信することとを含むことを特徴とする、デバイスのチームをリクルートするための方法。
【請求項3】
(a)開始ソースデバイスと検査手順を到達させようとするデバイスの両方に共通する実行可能形式でコード化された検査手順命令を含み、少なくとも1つの通信リンクを介して開始ソースデバイスと異なる少なくとも1つの到達可能デバイスに必要なリソースまたはケイパビリティを有するデバイスを見つける動作可能な検査手順を、開始ソースデバイスから送信することと;
(b)開始ソースデバイスが必要とする到達可能デバイスの少なくとも1つのリソースまたはケイパビリティがあるか否かを特定するために、受信をし、到達可能デバイスのそれぞれで受信した検査手順を実行することと;
(c)到達可能デバイスが、少なくとも開始ソースデバイスが必要とすると特定されたリソースまたはケイパビリティにアクセスできる場合に、開始ソースデバイスにリターンを送信することと;
(d)通信リンクを介して直接あるいは間接的に、到達可能デバイスのそれぞれからリターンを受信することと;
(e)アプリケーションの意図を最もよく実行する開始ソースデバイスと応答到達可能デバイスのケイパビリティおよびリソースの組み合わせを特定する利用プランを決定するために、開始デバイスで実行するアプリケーションによって、全ての応答到達可能デバイスからの受信リターンを分析することと;
(f)開始デバイスで実行するアプリケーションプログラムにより、特定された利用プランに従って必要なリソースまたはケイパビリティを有すると特定された到達可能デバイスのそれぞれの少なくとも1つに実行可能コード、データ、コンテンツおよび/またはDartの少なくとも1つを配信することとを含むことを特徴とする、デバイスのチームをリクルートするための方法。
【請求項4】
少なくとも1つの到達可能デバイスによって、配信された実行可能コード、データ、コンテンツおよび/またはDartの少なくとも1つを受信することをさらに含むことを特徴とする請求項3に記載の方法。
【請求項5】
前記開始デバイスのアプリケーションの意図の少なくとも一部を実行するため実行可能コード、データ、コンテンツおよび/またはDartの少なくとも1つが配信された少なくとも1つの到達可能デバイスと相互運用することをさらに含むことを特徴とする請求項3に記載の方法。
【請求項6】
各到達可能デバイスを二次開始ソースデバイスとして動作させ、開始および到達可能デバイス間で実行可能コード、データ、コンテンツおよび/またはDartをスプレッドし、任意で、到達可能デバイスに常駐するアプリケーションコード、データ、コンテンツおよび/またはDartsを、必要に応じて前もって到達してチームとしたデバイスによって到達可能な他のデバイスに再帰的にスプレッドし、当初の開始デバイスアプリケーションの意図を実行するため所望のデバイスおよび必要あるいは所望のリソースまたはケイパビリティの所定の基準に達するまで、他の到達可能デバイスユニットに必要に応じてまたは所望によってアプリケーションを拡張し、より大きく完全なデバイスのチームを効果的に結成することと;
開始デバイスのアプリケーションの意図を実行するため、コードを実行し、開始アプリケーションの意図を実行するためデバイスのチーム間で実行すべきオペレーションを実行および/または調整するために必要なあらゆる実行可能コード、データおよびコンテンツおよび/またはDartsを交換することにより、必要あるいは望ましいオペレーションおよびリソースアクセスを実行する開始デバイスのアプリケーションのニーズおよび所望に従って、開始および到達可能デバイスのチームから、およびこの中で実行可能コード、データ、コンテンツおよび/またはDartを配信することとを含むことを特徴とする請求項3に記載の方法。
【請求項7】
前記開始デバイスが、1以上の中間到達可能デバイスを介して直列または再帰的方法で、別の到達可能デバイスへ、またはこれから間接的に、リクルートメントメッセージを送信したというリターンを、開始ソースデバイスが最初に到達したデバイスから直接受信することを特徴とする請求項3に記載の方法。
【請求項8】
前記開始ソースデバイスへのリターンは、到達可能デバイスが、開始ソースデバイスが必要とすると特定されたリソースまたはケイパビリティにアクセスできない場合にも送信されることを特徴とする請求項3に記載の方法。
【請求項9】
前記開始ソースデバイスへのリターンは、到達可能デバイスが、開始ソースデバイスが必要とすると特定されたリソースまたはケイパビリティを自身が持っているか、アクセスできる(真または論理的「1」)か、自身が持っていないかアクセスできない(偽または論理的「0」)であることを特定する単純なパラメータであることを特徴とする請求項3に記載の方法。
【請求項10】
前記開始ソースデバイスへのリターンは、DartEvent、Dartの一部、データ、コンテンツ、実行可能手順、Dart、複数のDartsおよびその組み合わせのうちの1つを含むことを特徴とする請求項3に記載の方法。
【請求項11】
前記開始ソースデバイスへのリターンは、通信プロトコルを介して開始デバイスに、特定の到達可能デバイスのリソースおよび/またはケイパビリティを特定するリターンされたデータまたはコンテンツを含むことを特徴とする請求項3に記載の方法。
【請求項12】
前記検査手順は、開始ソースデバイスで少なくとも部分的に実行されるアプリケーションタスクの意図を実行するため、開始ソースデータが必要とする特定された少なくとも1つのリソースまたはケイパビリティを検査する命令を含むことを特徴とする請求項3に記載の方法。
【請求項13】
前記方法は、デバイスのチーム間でアプリケーションをリクルートし、効果的に実行するコンピュータプログラム製品としてエンコードされたソフトウェアアプリケーションによって、少なくとも部分的にインプリメントされることを特徴とする請求項3に記載の方法。
【請求項14】
前記方法は、リクルートしたデバイスとリクルートされたデバイスの全てのリソースを組み合わせた1台のデバイスであるかのように、リクルートしたデバイスとリクルートされたデバイスのオペレーションのコントロールを効果的に連結して許可することを特徴とする請求項3に記載の方法。
【請求項15】
前記リターンは、リターンなし、データ或いはコンテンツのリターン、あらゆるデジタルにエンコードされた情報、1以上の手順、デバイスが有益である表示、リターンされたイベント、ファイルのペイロードを介したデータの量またはデータのセットを含むリターンイベント、リターン手順、Dart、どのデバイスを利用するかを人間が開始デバイスのメニューから選択できるようなデバイスのテキスト名および記述を含むリターンイベント、ソースデバイスに常駐しまたは当該デバイスから生成可能な実行可能コード、データおよびコンテンツのセットの少なくとも1つのインスタンスの特定のパッケージの識別子、デバイスで動作するのに最も適したレンディション或いはレンディションのセット、またはこれらのいずれかの組み合わせのどれか1つを含むことを特徴とする請求項3に記載の方法。
【請求項16】
少なくとも1つのリソースまたはケイパビリティは、(i)利用可能なリソースまたは特定の必要なリソース、(ii)利用可能なケイパビリティまたは特定の必要なケイパビリティ、(iii)到達可能デバイスのリソースおよびケイパビリティの1以上の相互関連セット、またはアプリケーションの意図を実行するため到達可能デバイスが利用可能なリソースおよび/あるいはケイパビリティ、ならびに(iv)これらの組み合わせからなるセットから選択することを特徴とする請求項3に記載の方法。
【請求項17】
前記リソースまたはケイパビリティは、特定されたデータ操作ソフトウェア、特定された情報処理ソフトウェア、特定されたコンピュテーションソフトウェア、特定された画像処理ソフトウェア、特定された通信ソフトウェア、特定された通信ハードウェア、特定されたメディア、特定されたデータセット、特定されたコンテンツ、特定された単数または複数のプログラム、特定された構成情報、特定されたグラフィック加速ハードウェアまたはソフトウェア、一時的または非一時的(恒久的)を問わず特定された記憶媒体、特定された印刷ケイパビリティ、特定されたファックスケイパビリティ、特定されたスキャンケイパビリティ、入力または出力あるいは入力および出力両方かを問わず、特定されたユーザインターフェースデバイス、デバイスが通信でき、他のデバイスが無限チェーンで通信できるほかのデバイスのリソースへのアクセス、およびこれらの2個以上の組み合わせからなるリソースまたはケイパビリティのセットから選択した特定されたケイパビリティの少なくとも1つのセットを含むことを特徴とする請求項3に記載の方法。
【請求項18】
共通の実行可能形式の前記検査手順は、Dart命令互換エンジン(DartEngine)その他インタオペラビリティ命令セットに埋め込まれたDart準拠命令セット(DartInstructionSet)から形成した少なくとも1つの検査手順を含むことを特徴とする請求項3に記載の方法。
【請求項19】
少なくとも1つの通信リンクは、あらゆる数の通信リンクと、チャンネルと、および/または有線か無線かを問わず、また恒久的に利用可能か間断的かを問わず、あらゆる数の同種または異種の通信プロトコルまたはそのセットを有するプロトコルを備えることを特徴とする請求項3に記載の方法。
【請求項20】
前記異種および同種の通信リンク、チャンネルおよびプロトコルは、いずれか2以上の通信デバイスで動作するプレイヤの部分である特定されたハードウェア抽象化層インプリメンテーションによってサポートされることを特徴とする請求項3に記載の方法。
【請求項21】
前記特定されたハードウェア抽象化層インプリメンテーションは、DartEngineのコンポーネントであるDartハードウェア抽象化層インプリメンテーションを含むことを特徴とする請求項20に記載の方法。
【請求項22】
少なくとも1つの通信リンクおよび通信プロトコルを用いて、ラン手順タイプのイベントを送信し、イベントのイベント識別子は、前記到達可能デバイスで動作するため前記手順を識別するファイルを参照することを特徴とする請求項3に記載の方法。
【請求項23】
前記イベントは、DartEventsを含み、ラン手順タイプのイベントは、Dart RUN_PROCEDUREタイプイベントを含むことを特徴とする請求項22に記載の方法。
【請求項24】
前記到達可能デバイスで動作するため手順を識別するファイルを参照するイベント識別子は、到達可能デバイスで動作するため手順の画像を含むファイルを参照するイベントのファイル識別子を含むことを特徴とする請求項3に記載の方法。
【請求項25】
前記ファイルは、DartFormatに準拠するDart準拠ファイル(DartFile)を含み、手順の画像は、DartProcedure(DartProcedure)のバイナリデータ画像を含むことを特徴とする請求項24に記載の方法。
【請求項26】
前記検査手順は、DartProceduresまたは完全なDartsのいずれかを含むことを特徴とする請求項3に記載の方法。
【請求項27】
前記検査手順をイベントと関連するファイルとして送信し、イベントと関連するファイルとしての検査手順の到達可能デバイスによる受信によって、到達可能デバイスでの検査手順の実行が開始されることを特徴とする請求項3に記載の方法。
【請求項28】
前記検査手順は、DartProcedureを含むことを特徴とする請求項3に記載の方法。
【請求項29】
前記到達可能デバイスの基本リソースおよびケイパビリティを含むリソースおよびケイパビリティは、命令セットプロフィール命令の利用によって決定されることを特徴とする請求項3に記載の方法。
【請求項30】
前記命令セットプロフィール命令は、Dart準拠命令セット(DartInstructionSet)のDart準拠プロフィール命令(Dart PROFILE_INSTRUCTION)を含むことを特徴とする請求項29に記載の方法。
【請求項31】
各到達可能デバイス内の前記検査手順実行は、特定の到達可能デバイスまたはそのそれぞれに送られるレンディション決定ルールに従って、開始Dart具現化アプリケーションの最良レンディションを決定し、決定した最良レンディションの識別子を返すデータの一部として送り返すことを特徴とする請求項3に記載の方法。
【請求項32】
前記レンディション決定ルールは、必要とされる複雑なコンピュテーションを実行し、到達可能デバイスのリソース、ケイパビリティおよび/または状態を決定するプロフィール命令を通じて必要なプロフィール情報にアクセスするよう適合された少なくとも1つの手順に具現化されることを特徴とする請求項31に記載の方法。
【請求項33】
前記検査手順実行は、レンディションの順序を定義するルールを参照し、複数のレンディションのそれぞれの要件全てが予め定義されたレンディション優先順序を満たすか否か、複数のレンディション中でレンディションの要件全てを満たす最初のレンディションが見つかるまで到達可能デバイスのそれぞれをチェックすることにより、複数のレンディションから最良のレンディションを決定することを特徴とする請求項31に記載の方法。
【請求項34】
前記検査手順は、Dars、手順、データまたはコンテンツを、理解された通信プロトコルを用いて通信リンクを介して開始デバイスに返すことを特徴とする請求項3に記載の方法。
【請求項35】
前記リターンは、少なくとも返された手順、データまたはコンテンツと、完全なDarts、DartParts、DartProceduresまたはDartEventsのいずれかあるいは組み合わせのうちの少なくとも1つを含み、その1つまたは組み合わせは、関連するイベントファイルありまたはなしで返されることを特徴とする請求項3に記載の方法。
【請求項36】
前記リターンは、返された手順、データ、コンテンツおよび/またはDartのうち少なくとも1つを含み、さらに任意で、エラー発生を示すリターンコードを含み、エラーコードは、特定のエラーが発生したこと、または非特定エラーが発生したことを示し、エラーコードは任意で特定のエラーおよび/またはエラーの性質を是正または通信するのに有益な情報を含むことを特徴とする請求項3に記載の方法。
【請求項37】
前記アプリケーションコードは、Dart、DartProcedure、または、開始デバイスあるいはプログラムの転送または実行を開始し、実行の結果を利用するために開始デバイスがアクセスするデバイス上で実行可能なあらゆる形式のプログラムのうち少なくとも1つであることを特徴とする請求項3に記載の方法。
【請求項38】
前記アプリケーションコードは、Dart、DartProcedure、または、手順的フォーマットが到達可能デバイスで実行するためのDartInstructionSetを利用するか否かを問わず、到達可能デバイスで実行可能または情報を送ることができる別の手順的フォーマットを含むことを特徴とする請求項3に記載の方法。
【請求項39】
前記リクルートされたデバイスのチームは、前記チームをダイナミックに拡張して、他の到達可能デバイスを含めたり、デバイスのチームを縮小して、アプリケーションの寿命または定義された実行期間中に所望の到達可能デバイスを除外したりできることを特徴とする請求項3に記載の方法。
【請求項40】
前記配信は、Darts、DartProcedures、データ、コンテンツその他情報、またはこれらの組み合わせの少なくとも1つの送信により達成され、イベントでフィールドが参照した情報がイベントと共に、あるいはイベントの一部として送信されたか否かを問わず、ダートイベント(DartEvents)の一部としてカプセル化されていることを特徴とする請求項3に記載の方法。
【請求項41】
前記デバイスのチームから、またはその間で前記開始アプリケーションのニーズに従って配信されたコード、データおよびコンテンツは、コードを実行し、開始アプリケーションの意図をさらに実行するためにデバイスのチーム間で実行するオペレーションの実行または調整に必要なあらゆる追加または異なるコード、データおよびコンテンツを任意で交換することにより、発信アプリケーションの意図を実行するため必要なオペレーションおよびリソースアクセスを実行することを特徴とする請求項3に記載の方法。
【請求項42】
前記アプリケーションは、リクルートメントプロセスの一部として全デバイスに配信された全てのコードを含むシングルバイナリイメージに具現化されることを特徴とする請求項3に記載の方法。
【請求項43】
前記方法はさらに、デバイスのチーム上の同期、直列化、調整を含み、同期、直列化および調整は、イベント、またはDartEventsのみ、または任意でDartEventsまたはイベントと関連するファイルをパスまたは交換することによって完全にまたは部分的に達成することを特徴とする請求項3に記載の方法。
【請求項44】
前記イベントは少なくとも1つのファイルを参照し、その参照によって、ファイルまたは複雑性のファイルイメージを有するファイルを効果的に含有して組み込み、これらファイルイメージがイベント構造コンテンツと通信するようにすることを特徴とする請求項43に記載の方法。
【請求項45】
相互運用および通信している開始およびリクルートされたデバイスのみ、または任意で、DartEventsまたはイベントに関連するファイルの間でDartEventsイベントをパスまたは交換することをさらに含み、前記イベントがDartEvent構造のファイル識別子(フィールド)参照によりファイルまたは他のデータまたは複雑性のデータ構造を含み、参照時にファイルイメージは常にイベント構造コンテンツと通信されることを特徴とする請求項3に記載の方法。
【請求項46】
DartEventまたはイベントは、DartFramework、DartRuntimeおよび/またはDartEngine、あるいは代替的に非DartPlatform固有イベント駆動型インプリメンテーションにより、チーム化されたあらゆる数のデバイスのイベント待ち行列間で自動的にコピーおよび/または同期され、自動同期について識別されDartによってイベント待ち行列に入れられたDartEventsまたはイベントが、自動直列化および同期によってあらゆる数のチーム化されたデバイスのイベント待ち行列に現れることを特徴とする請求項43に記載の方法。
【請求項47】
前記自動直列および同期は、開始デバイスを含む複数の協働デバイス間で動作するイベント駆動型協調アプリケーション、機能またはレンディションの自動直列化および同期のための手順によって達成され、この方法は:
所望の各デバイス間協働機能用のアプリケーションにより、発信デバイス上で接続マネージャオブジェクトインスタンスを作成することと;
全ての協働デバイス上でアプリケーションにより順に同期されるイベントタイプのリストを接続マネージメントに通信することと;
各デバイスに1つの接続マネージャを有するイベントタイプのチームを確立し、同じ同期イベントタイプのリストを共有することと;
接続マネージャによって、チーム化されたデバイスと同期するイベントタイプを特定するセッションリストを維持することと、接続マネージャによって、イベント待ち行列に入れる全てのイベントを調べ、調べた特定のイベントが、接続マネージャがセッションリストから同期すべきとわかるイベントタイプである場合、他のセッションと同期するイベントとして、そのイベントを接続マネージャに一覧したデバイスのイベント待ち行列に入れることとを含むことを特徴とする請求項46に記載の方法。
【請求項48】
前記イベント駆動型協働アプリケーション機能またはレンディションのいずれか1つによって協働デバイスイベント待ち行列に入れる全てのイベントを、いずれかのデバイスによってイベントを直接送信された全ての協働デバイスイベント待ち行列が協働デバイスのイベント待ち行列に無事に入れられたとの肯定応答を受信するまで、あらゆるデバイスのイベント待ち行列にイベントを入れることを許可しないことによって直列化することを特徴とする請求項47に記載の方法。
【請求項49】
前記イベント駆動型協働アプリケーション機能またはレンディションのいずれか1つが受信した協働デバイスイベント待ち行列に入れる全てのイベントを、いずれかの受信デバイスによってイベントを送信された全ての協働デバイスイベント待ち行列が協働デバイスのイベント待ち行列に入れられたとの肯定応答を受信するまで、受信側のあらゆるデバイスのイベント待ち行列にイベントを入れることを許可しないことによって直列化することを特徴とする請求項48に記載の方法。
【請求項50】
前記デバイスが、直接通信デバイスのチェーンを介して直接あるいは間接に通信しているかを問わず、あらゆる数の協働デバイスのイベント待ち行列が、全協働デバイス間で待ち行列イベントの直列化された1つのシステムを確立することを特徴とする請求項48に記載の方法。
【請求項51】
前記デバイスが、直接通信デバイスのチェーンを介して直接あるいは間接に通信しているかを問わず、あらゆる数の協働デバイスのイベント待ち行列が、全協働デバイス間で待ち行列イベントの直列化された1つのシステムを確立することを特徴とする請求項49に記載の方法。
【請求項52】
1つのマスタデバイスのみが同期するイベントタイプのリストにそのタイプのイベントを入れることで、かかるイベントすべてが全協働デバイス間で直列化されるようにできるシステムにより、2つ以上の協働デバイスから協働デバイスの待ち行列に入れるイベントを同期し、協働デバイスの待ち行列のイベントに単一直列化させることを特徴とする請求項47に記載の方法。
【請求項53】
前記マスタデバイスは、マスタデバイスが全協働デバイスの待ち行列に目的とするイベントを入れるために必要な全ての情報を含むマスタの要求イベントタイプのイベントによって、他の協働デバイスに代わり発行するイベントを知らされることを特徴とする請求項52に記載の方法。
【請求項54】
他のデバイスによって協働デバイスのセットになるよう前記協働デバイスのチームにリクルートされた各デバイスは、その相対的マスタデバイスを、自分をリクルートしたデバイスとみなすことを特徴とする請求項52に記載の方法。
【請求項55】
他のデバイスによって協働デバイスのセットになるよう前記協働デバイスのチームにリクルートされた各デバイスは、その相対的マスタデバイスを、自分をリクルートしたデバイスとみなすことを特徴とする請求項53に記載の方法。
【請求項56】
マスタ要求イベントタイプのイベントをマスタのデバイスの待ち行列に入れることにより、相対的マスタを持たない開始マスタデバイスがマスタデバイスに必要な情報を用いてイベントを形成し、目的とするイベントを全協働デバイスの待ち行列に入れるまで、イベントをデバイスから相対マスタデバイスへ伝播させることを特徴とする請求項54に記載の方法。
【請求項57】
協働デバイスの同期および/または直列化された待ち行列に、自身が直列化イベントのリストにある変更マスタタイプイベントを発行し、新しいマスタデバイスが現行マスタデバイスに取って代わることを同期直列化方法で全デバイスに知らせることにより、前記指定されたマスタデバイスを変更できることを特徴とする請求項52に記載の方法。
【請求項58】
前記マスタ要求イベントは、新しいマスタデバイスがイベントを処理するまで、協働デバイスの待ち行列を通じて伝播することを特徴とする請求項54に記載の方法。
【請求項59】
前記マスタ要求イベントは、新しいマスタデバイスがイベントを処理するまで、協働デバイスの待ち行列を通じて伝播することを特徴とする請求項55に記載の方法。
【請求項60】
前記マスタ要求イベントタイプのイベントによって送られると指定されたイベントの一部と特定されたオプションのファイルは、かかるファイル参照が存在する場合、識別子のある各伝播デバイスに維持され、マスタによって送信されるイベントの一部として送信されたかのように、マスタによって送信されるイベントと再び関連できるようになり、これは、マスタに処理されるマスタ要求イベントタイプの結果として送られる各イベントの一部として送らなければならなかった情報量を減らすためであることを特徴とする請求項53に記載の方法。
【請求項61】
メモリと接続され、目的とするタスクの実行命令を含む手順を実行するよう適合されたプロセッサと;
目的とするタスク実行のバージョンに必要な少なくともハードウェアリソースを備え、目的とするタスク実行に参加するため装置と異なる外部の少なくとも1つのリクルートされたデバイスを、リクルートするためプロセッサおよびメモリで少なくとも部分的に実行する手段と;
ハードウェアのリソースと使用可能にされた補完リソースが、リクルートされたデバイスが目的のタスクの実行を完全に可能にするために、リクルートされたデバイスのリソースを補完するための装置内に完全に保存された手段とを備えることを特徴とする開始装置。
【請求項62】
前記装置およびリクルートされたデバイスはそれぞれ共通の手順的環境で動作し、リクルートのためプロセッサおよびメモリで少なくとも部分的に実行される手段は、少なくとも1つの接続を介して、共通の手順的環境を含みまたはここで動作する他のデバイスに共通手順的環境でインプリメントされた手順をブロードキャストする手段を備えることを特徴とする請求項61に記載の開始装置。
【請求項63】
前記リクルートするための手段はさらに、各デバイスが特定のタスクの実行に参加するのに必要なリソースまたはケイパビリティを有するか否か判断するために、他のデバイスそれぞれのリソースおよびケイパビリティをプログラムで検査するための他のデバイス上の手順の実行を開始する手段を備えることを特徴とする請求項62に記載の開始装置。
【請求項64】
前記検査は、特定のデバイスに保存されまたは当該デバイスについて計算したデバイス固有抽象化層情報に少なくとも部分的にアクセスすることにより、他の特定のデバイスごとで実行されることを特徴とする請求項63に記載の開始装置。
【請求項65】
前記補完手段はさらに、各デバイスが特定のタスクの一部を実行できるようにするために必要なイネーブリング手順、データおよび/またはコンテンツを送信およびインストールするための手段を含むことを特徴とする請求項64記載の開始装置。
【請求項66】
前記開始デバイスと他のデバイスとの間でオペレーションを一時的または恒久的に同期させるための手段をさらに備え、同期手段は、タスクイベント待ち行列と、前記タスクイベント待ち行列を維持するための手段とを含むことを特徴とする請求項61に記載の開始装置。
【請求項67】
リクルートされた装置であって、プロセッサとプロセッサに接続されたメモリとを備えるハードウェアリソースのセットと、タスクのセットの実行のために適合されたコンピュータプログラムコードリソースとを備え、前記ハードウェアリソースは、少なくとも特定のタスク実行の1バージョンを実行することが可能だが、前記コンピュータプログラムコードリソースは、特定のタスクまたは特定のタスクの態様を実行するための所望のバージョンまたは方法と、コンピュータプログラムコード通信およびデータ通信の少なくとも一方を含む通信を受信するための手段を実行することが初めはできず、前記コンピュータプログラムコード通信は、特定のタスクの所望のバージョン、方法または態様の実行が可能な装置をレンダリングする補完的コンピュータプログラムコードリソースを備えることを特徴とするリクルートされた装置。
【請求項68】
前記リクルートされた装置と開始デバイスは、共通手順的環境でそれぞれ動作することを特徴とする請求項67に記載のリクルートされた装置。
【請求項69】
前記リクルートされたデバイスが、特定のタスクの実行に参加するために必要なリソースまたはケイパビリティを有するか否か判断するため、前記リクルートされたデバイスのリソースおよびケイパビリティをプログラムで検査する、開始デバイスから受信した手順を実行するための手段をさらに備えることを特徴とする請求項68に記載のリクルートされた装置。
【請求項70】
前記検査は、前記リクルートされたデバイスに保存されまたは当該デバイスについて計算したデバイス固有抽象化層情報に少なくとも部分的にアクセスすることにより、リクルートされたデバイスで実行することを特徴とする請求項69に記載のリクルートされた装置。
【請求項71】
前記リクルートされたデバイスが、前記特定のタスクの一部を実行できるようにするために必要なイネーブリング手順、データおよび/またはコンテンツをインストールするための手段を備えることを特徴とする請求項70に記載のリクルートされた装置。
【請求項72】
開始デバイスとリクルートされたデバイスとの間でオペレーションを一時的に同期させるための手段をさらに備え、前記同期手段が、タスクイベント待ち行列と、前記タスクイベント待ち行列を維持するための手段とを含むことを特徴とする請求項61に記載のリクルートされた装置。
【請求項73】
特定のタスクの実行に参加するため、複数の異種デバイスの間で一体化された特別なオンザフライ配信情報処理システムを形成する方法であって:
少なくとも1つの通信チャンネルと、特定のタスクの実行に参加するためのリソースまたはケイパビリティを所有する他のリクルートされたデバイスを識別およびリクルートする目的のあるプロトコルを用いて、メッセージをブロードキャストすることを含み、開始デバイスによって配信された情報処理システムの結成を開始することと;
前記リクルートされたデバイスのそれぞれが特定のタスクの一部を実行できるよう、リクルートされたデバイスのそれぞれに必要とされる手順、データおよびコンテンツの少なくとも1つを通信することとを含むことを特徴とする方法。
【請求項74】
前記目的のタスクの実行に参加するため、少なくとも前記目的のタスクの実行のバージョンに必要なハードウェアリソースを含み開始デバイスと異なる外部の少なくとも1つのリクルートされたデバイスをリクルートするための手順を、開始デバイスのプロセッサとメモリで少なくとも部分的に実行することと;
ハードウェアのリソースと使用可能にされた補完リソースが、リクルートされたデバイスが目的のタスクを完全に実行できるようにするために、リクルートされたデバイスのリソースを補完する手順および任意のデータを開始装置内に完全に保存することとをさらに含むことを特徴とする請求項73に記載の方法。
【請求項75】
前記開始デバイスとリクルートされたデバイスは、共通手順的環境でそれぞれ動作し、リクルートするためプロセッサおよびメモリで少なくとも部分的に実行する手順は、やはり共通手順的環境を含むかこれで動作する他のデバイスに少なくとも1つの接続を介して共通手順的環境でインプリメントされた手順をブロードキャストすることを含むことを特徴とする請求項74に記載の方法。
【請求項76】
前記リクルートはさらに、各デバイスが前記特定のタスクの実行に参加するために必要なリソースまたはケイパビリティを有するか否か判断するため、他のデバイスで、他のデバイスのそれぞれのリソースとケイパビリティをプログラムで検査する手順を実行開始することを含むことを特徴とする請求項75に記載の方法。
【請求項77】
前記検査は、前記特定のデバイスに保存されまたは当該デバイスについて計算したデバイス固有抽象化層情報に少なくとも部分的にアクセスすることにより、特定の他のリクルートされたデバイスのそれぞれで実行されることを特徴とする請求項76に記載の方法。
【請求項78】
前記補完はさらに、各デバイスが前記特定のタスクの一部を実行できるようにするために必要なイネーブリング手順、データおよび/またはコンテンツを送信およびインストールすることを含むことを特徴とする請求項77に記載の方法。
【請求項79】
前記開始デバイスと他のリクルートされたデバイスとの間でオペレーションを一時的に同期させることをさらに含み、同期は、タスクイベント待ち行列と、タスクイベント待ち行列の生成と維持とを含むことを特徴とする請求項77に記載の方法。
【請求項80】
前記通信は、クライアントサーバ通信インタラクションでもピアツーピア通信インタラクションでもない通信およびインタラクションであることを特徴とする請求項73に記載の方法。
【請求項81】
前記リクルートメントは、必要なデバイスを識別するため、特別なデバイス、サービスおよびリソース発見を実行し、イベントを用いてデバイスにイネーブリング手順および情報を送信し、インテリジェントおよび有効にデバイスのチームを結成してから、イベントを用いてデバイスのチームを調整し、ソース開始デバイスで当初動作しているDartまたはアプリケーションまたはタスクの目標を達成することを特徴とする請求項73に記載の方法。
【請求項82】
前記分散情報処理システムは、前記デバイスの物理的ケイパビリティの一部または全部のアクセスと調整された利用とを含むことを特徴とする請求項73に記載の方法。
【請求項83】
前記デバイスの物理的ケイパビリティは、任意で印刷、ファックス、表示、音楽のレンダリング、ビデオのレンダリング、他のデバイスの制御、デジタルかアナログかを問わず、あらゆる媒体でのデータの保存、グッズの製造、排除、撮影その他、デバイスの処理ケイパビリティによってアクセス、モニタまたは制御できるあらゆる物理的ケイパビリティを含む能力のセットから選択することを特徴とする請求項82に記載の方法。
【請求項84】
1以上のデバイスで動作する前記ソフトウェアアプリケーションは、当初は開始デバイス上の単一のソフトウェアパッケージの一部であったコードおよび/またはデータおよび/またはコンテンツを有する2以上のデバイスでのインタオペラビリティオペレーションを少なくとも部分的に実行することで、開発および/または独立的配信したアプリケーションを用いてインタオペラビリティオペレーションを実行する場合より大きなインタオペラビリティ信頼性を享受することを特徴とする請求項1に記載の方法。
【請求項85】
コンピュータシステムまたは情報機器と共に用いるコンピュータプログラム製品であって、コンピュータリーダブル記憶媒体と、そこに埋め込まれたコンピュータプログラムメカニズムとを備えるコンピュータプログラム製品において、前記コンピュータプログラムメカニズムは:
コンピュータシステムまたは情報機器に、相互動作するためリクルートされたデバイスのチームを指定の方法でリクルートする機能を指示するプログラムモジュールを備え、前記プログラムモジュールは:
開始ソースデバイスと検査手順を到達させるデバイスとの両方に共通する実行可能形式でコード化された検査手順命令を含み、少なくとも1つの通信リンクを介して前記開始ソースデバイスと異なる少なくとも1つの到達可能デバイスに必要なリソースまたはケイパビリティを有するデバイスを見つけるよう動作可能な検査手順を送信する命令と;
開始デバイスにおいて、通信リンクを介して直接あるいは間接的に到達可能デバイスのそれぞれからリターン応答を受信する命令と;
ソフトウェアアプリケーションの意図を最もよく実行する開始ソースデバイスと応答到達可能デバイスとのケイパビリティおよびリソースの組み合わせを特定する利用プランを決定するために、開始デバイスで実行する手順により、応答到達可能デバイス全てからの受信リターンを分析する命令と;
開始デバイスで実行するアプリケーションプログラムによって、特定された利用プランにしたがって必要なリソースまたはケイパビリティを有すると特定された到達可能デバイスのそれぞれの少なくとも1つに、実行可能コード、データ、コンテンツおよび/またはDartの少なくとも1つを配信する命令とを含むことを特徴とするコンピュータプログラム製品。
【請求項86】
前記コンピュータシステムまたは情報機器と共に用いるコンピュータプログラム製品であって、コンピュータリーダブル記憶媒体と、そこに埋め込まれたコンピュータプログラムメカニズムとを備えるコンピュータプログラム製品において、前記コンピュータプログラムメカニズムは:
単一のバーチャルデバイスとして動作して、特定のタスクの実行に参加するため、複数の異種デバイスの中で一体型の特別でオンザフライの分散情報処理システムを指定の方法で形成するよう機能することをコンピュータシステムまたは情報機器に指示するプログラムモジュールを備え、当該プログラムモジュールは:
少なくとも1つの通信チャンネルと、特定のタスクの実行に参加するためのリソースまたはケイパビリティを所有する他のリクルートされたデバイスを識別およびリクルートする目的を持つプロトコルとを用いてメッセージをブロードキャストする結成であって開始デバイスによる配信情報処理システムの結成を開始する命令と;
リクルートされたデバイスのそれぞれが特定のタスクの一部を実行できるようにするため、前記リクルートされたデバイスのそれぞれに必要とされた手順、データおよびコンテンツの少なくとも1つを通信する命令とを備えることを特徴とするコンピュータプログラム製品。
【請求項87】
ソフトウェアアプリケーションを別個に実行可能なイメージのセットにセグメント化する方法において、当該方法は:
アプリケーションが意図する1以上の態様を実行するため考えられるリソースおよびケイパビリティに従い、遭遇するデバイスをクラスに分けることと;
アプリケーションが意図する1以上の態様を実行するため、明確なレンダリングその他ランタイム要件に関するニーズに従って、遭遇しそうな環境または動作要件をクラスに分けることと;
デバイスの各クラスおよび各環境または動作要件で、アプリケーションが意図する1以上の態様を実行できるようにするために必要な実行可能イメージに必要なデータ、コード、コンテンツその他デジタル表示可能リソースを指定することと;
ある候補デバイスのリストで、アプリケーションの意図を実行するのに利用する各デバイスで動作するデバイスと、対応する個々に割り当てられた実行可能イメージと、そのリソースおよびケイパビリティ、必要または所望の環境または動作パラメータを選択するための利用プランを生成することと;
各クラスのデバイスおよび各環境または動作要件で利用プランをインプリメントおよび実行するために必要なデータ、コード、コンテンツその他デジタル表示可能リソースを指定することとを含むことを特徴する方法。
【請求項88】
前記ソフトウェアアプリケーションは、1以上の同種または異種の通信デバイス間で動作することを意図することを特徴とする請求項87に記載の方法。
【請求項89】
そのように正確に選択した1つの実行可能イメージが、特定の環境においてデバイスが動作するよう選択されることを特徴とする請求項87に記載の方法。
【請求項90】
そのように正確に選択した1つの実行可能イメージが、各デバイスのリソースおよびケイパビリティおよび環境と動作要件に関してアプリケーションのニーズに従ってデバイスで動作するよう選択されることを特徴とする請求項89に記載の方法。
【請求項91】
前記デバイスの少なくとも1つは、Dartデバイスであることを特徴とする請求項89に記載の方法。
【請求項92】
前記生成された利用プランを実行することをさらに含むことを特徴とする請求項87に記載の方法。
【請求項93】
前記ソフトウェアアプリケーションはDartと表現されることを特徴とする請求項87に記載の方法。
【請求項94】
前記別個に実行するイメージはレンディションであることを特徴とする請求項87に記載の方法。
【請求項95】
前記レンディションは、DartFormatに従ってDartToolsによってパッケージ化されたDartレンディションの形式で表現されることを特徴とする請求項93に記載の方法。
【請求項96】
請求項1の利用プランは、候補デバイスで動作するために送られる手順の全体または一部としてインプリメントされ、デバイスの特定のクラス、そのリソースおよび/またはその動作環境を決定することを特徴とする請求項88に記載の方法。
【請求項97】
前記手順は、インタオペラビリティ命令セットの命令として少なくとも部分的に構成されるDartProceduresであることを特徴とする請求項96に記載の方法。
【請求項98】
前記インタオペラビリティ命令セットは、DartInstructionSetであることを特徴とする請求項97に記載の方法。
【請求項99】
前記インタオペラビリティ命令セットは、手順を動作させる1以上の同種または異種の通信デバイスで実行可能な形式であることを特徴とする請求項97に記載の方法。
【請求項100】
前記通信デバイスは、特定のクラスのデバイス、そのリソースおよび/またはその動作環境を決定する手順を動作させることを特徴とする請求項99に記載の方法。
【請求項101】
前記手順は、アプリケーションの一部であるDartsとして表現されることを特徴とする請求項96に記載の方法。
【請求項102】
前記アプリケーションは、異種の通信デバイス上でアプリケーションの意図を実行するために用いる他のDartsを含むDartとして表現されることを特徴とする請求項101に記載の方法。
【請求項103】
請求項1のリクルートメント方法を用いて手順と別個実行可能イメージを送信および配信し、異種または同種デバイスのチームを結成することを特徴とする請求項87に記載の方法。
【請求項104】
パーツは、インタオペラビリティアプリケーションのサイズを制限するために、異なる対象デバイスおよび処理環境で別個に動作する異なるイメージ間で共有可能であることを特徴とする請求項87に記載の方法。
【請求項105】
パーツは、ソフトウェアに保存するデータの量を制限するために、別個に動作するイメージ間で共有可能であることを特徴とする請求項87に記載の方法。
【請求項106】
パーツは、デバイス間で通信するデータの量を制限するために、別個に動作するイメージ間で共有可能であることを特徴とする請求項87に記載の方法。
【請求項107】
パーツは、コード、データ、コンテンツ、手順、コードセット、データセット、コンテンツ、コンテンツセット、パーツを発見し組み合わせる方法に関するメタ情報、記述的テキスト、絵、ビデオ、画像、データの表その他デジタル形式で表現可能な情報の単位または情報のセットのうちの1つであることを特徴とする請求項104に記載の方法。
【請求項108】
パーツは、DartPartsおよび/またはメタ情報は、Dart RenditionsTableパーツ、および/またはDart RenditionTableパーツおよび/またはDartPartTableおよび/またはDartTrailerとして表現されることを特徴とする請求項107に記載の方法。
【請求項109】
ソフトウェアアプリケーションを別個に実行可能なイメージのセットにセグメント化する方法であって、前記方法は:
考えられるリソースおよびケイパビリティに従い、遭遇するデバイスをクラスに分けることと;
遭遇しそうな環境または動作要件をクラスに分けることと;
各クラスのデバイスおよび各環境または動作要件でアプリケーションが意図する1以上の態様を実行できるよう実行可能イメージに必要なデータ、コード、コンテンツおよび/またはその他デジタル表現可能なリソースを指定することと;
アプリケーションの意図を実行するために用いる各デバイスで動作するデバイスおよび実行可能イメージを選択するための利用プランを生成することとを含むことを特徴とする方法。
【請求項110】
ソフトウェアアプリケーションを別個に実行可能なイメージのセットにセグメント化するための装置であって、前記装置は:
アプリケーションが意図する1以上の態様を実行するため考えられるリソースおよびケイパビリティに従い、遭遇するデバイスをクラスに分けるための手段と;
アプリケーションが意図する1以上の態様を実行するため、明確なレンダリングその他ランタイム要件に関するニーズに従って、遭遇しそうな環境または動作要件をクラスに分けるための手段と;
デバイスの各クラスおよび各環境または動作要件で、アプリケーションが意図する1以上の態様を実行できるようにするために必要な実行可能イメージに必要なデータ、コード、コンテンツその他デジタル表示可能リソースを指定するための手段と;
ある候補デバイスのリストで、アプリケーションの意図を実行するのに利用する各デバイスで動作するデバイスと、対応する個々に割り当てられた実行可能イメージと、そのリソースおよびケイパビリティ、必要または所望の環境または動作パラメータを選択するための利用プランを生成するための手段と;
各クラスのデバイスおよび各環境または動作要件で利用プランをインプリメントおよび実行するために必要なデータ、コード、コンテンツその他デジタル表示可能リソースを指定するための手段とを備えることを特徴とする装置。
【請求項111】
コンピュータシステムまたは情報機器と共に用いるコンピュータプログラム製品であって、コンピュータリーダブル記憶媒体と、そこに埋め込まれたコンピュータプログラムメカニズムとを備えるコンピュータプログラム製品において、前記コンピュータプログラムメカニズムは:
コンピュータシステムまたは情報機器に、コンピュータソフトウェアコードアプリケーションを別個に実行可能なコンピュータプログラムソフトウェアコードイメージのセットにセグメント化するため指定の方法で機能するよう命令するプログラムモジュールを含み、前記プログラムモジュールは:
遭遇するデバイスを、そのリソースおよびケイパビリティに従ってクラスに分ける命令と;
遭遇する可能性のある環境または動作要件をクラスに分ける命令と;
各デバイスのクラスおよび各環境または動作要件でアプリケーションが意図する1以上の態様を実行できるようにするため実行可能イメージに必要なデータ、コード、コンピュータおよび/またはその他デジタル表現可能なリソースを指定する命令と;
アプリケーションの意図を実行するために用いる各デバイスで動作するデバイスおよび実行可能イメージを選択するための利用プランを生成する命令とを備えることを特徴とするコンピュータプログラム製品。
【請求項112】
コンピュータシステムまたは情報機器と共に用いるコンピュータプログラム製品であって、コンピュータリーダブル記憶媒体と、そこに埋め込まれたコンピュータプログラムメカニズムとを備えるコンピュータプログラム製品において、前記コンピュータプログラムメカニズムは:
コンピュータシステムまたは情報機器に、コンピュータソフトウェアコードアプリケーションを別個に実行可能なコンピュータプログラムソフトウェアコードイメージのセットにセグメント化するため指定の方法で機能するよう命令するプログラムモジュールとを備え、前記プログラムモジュールは:
遭遇するデバイスを、アプリケーションの意図の1以上の態様を実行するためそのリソースおよびケイパビリティに従ってクラスに分ける命令と;
アプリケーションの意図の1以上の態様を実行するため明確なレンダリングその他ランタイム要件に関するニーズに従って、遭遇しそうな環境または動作要件をクラスに分けるクラスに分ける命令と;
デバイスの各クラスおよび各環境または動作要件で、アプリケーションの意図の1以上の態様を実行できるようにするために必要な実行可能イメージに必要なデータ、コード、コンテンツその他デジタル表示可能リソースを指定する命令と;
ある候補デバイスのリストで、アプリケーションの意図を実行するのに利用する各デバイスで動作するデバイスと、対応する個々に割り当てられた実行可能イメージと、そのリソースおよびケイパビリティ、必要または所望の環境または動作パラメータを選択するための利用プランを生成する命令と;
各クラスのデバイスおよび各環境または動作要件で利用プランをインプリメントおよび実行するために必要なデータ、コード、コンテンツその他デジタル表示可能リソースを指定する命令とを備えることを特徴とするコンピュータプログラム製品。
【請求項113】
デバイスのチームをリクルートするためソースデバイスで動作するソフトウェアアプリケーションと、デバイスのチームで実行可能な別個に実行可能なイメージのセットにソフトウェアアプリケーションをセグメント化する方法であって、前記方法は:
開始ソースデバイスと検査手順を到達させようとするデバイスの両方に共通な実行可能な形式でコード化された検査手順命令を含み、必要なリソースまたはケイパビリティを有するデバイスを探すよう動作可能な検査手順を、少なくとも1つの通信リンクを介して少なくとも1つの開始ソースデバイスと異なる到達可能なデバイスに送信することと;
到達可能なデバイスのそれぞれから、通信リンクを介して直接または間接的に、開始デバイスでリターン応答を受信することと;
ソフトウェアアプリケーションの意図を最もよく実行する開始ソースデバイスと応答到達可能デバイスのケイパビリティおよびリソースの組み合わせを特定する利用プランを決定するために、開始デバイスで実行する手順により、全ての応答到達可能デバイスからの受信リターンを分析することと;
開始デバイスで実行するアプリケーションプログラムにより、特定された利用プランに従って必要なリソースまたはケイパビリティを有すると特定された到達可能デバイスのそれぞれの少なくとも1つに実行可能コード、データ、コンテンツおよび/またはDartの少なくとも1つを配信することと;
遭遇するデバイスを、アプリケーションの意図の1以上の態様を実行するためそのリソースおよびケイパビリティに従ってクラスに分けることと;
アプリケーションの意図の1以上の態様を実行するため明確なレンダリングその他ランタイム要件に関するニーズに従って、遭遇しそうな環境または動作要件をクラスに分けることと;
デバイスの各クラスおよび各環境または動作要件で、アプリケーションの意図の1以上の態様を実行できるようにするために必要な実行可能イメージに必要なデータ、コード、コンテンツその他デジタル表示可能リソースを指定することと;
ある候補デバイスのリストで、アプリケーションの意図を実行するのに利用する各デバイスで動作するデバイスと、対応する個々に割り当てられた実行可能イメージと、そのリソースおよびケイパビリティ、必要または所望の環境または動作パラメータを選択するための利用プランを生成することと;
各クラスのデバイスおよび各環境または動作要件で利用プランをインプリメントおよび実行するために必要なデータ、コード、コンテンツその他デジタル表示可能リソースを指定することとを含むことを特徴とする方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【公表番号】特表2008−503011(P2008−503011A)
【公表日】平成20年1月31日(2008.1.31)
【国際特許分類】
【出願番号】特願2007−527741(P2007−527741)
【出願日】平成17年6月8日(2005.6.8)
【国際出願番号】PCT/US2005/020367
【国際公開番号】WO2005/121959
【国際公開日】平成17年12月22日(2005.12.22)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVA
【出願人】(506405574)ダートデバイセズ コーポレーション (1)
【Fターム(参考)】
【公表日】平成20年1月31日(2008.1.31)
【国際特許分類】
【出願日】平成17年6月8日(2005.6.8)
【国際出願番号】PCT/US2005/020367
【国際公開番号】WO2005/121959
【国際公開日】平成17年12月22日(2005.12.22)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVA
【出願人】(506405574)ダートデバイセズ コーポレーション (1)
【Fターム(参考)】
[ Back to top ]