(57)【要約】【課題】コンピュータ装置のグラフィックレンダリングサーフェス上にコンピュータモデルのいずれかの側面を持続的にレンダリングできるノードフレームワークを開示する。【解決手段】まず、各々がペイロードに関連し、一方が持続ノードであり、他方が持続ノードと所定の関係を有する複数のノードを受け取る。次に、これらの複数のノードの各々に関連するペイロードを抽出する。最後に、複数のノードの各々に関連する抽出されたペイロードに基づく情報の表示を可能にする。【選択図】図１
2018129087.tif 000002
【特許請求の範囲】
【請求項１】
ノードの管理方法であって、
ローカルシステム上のアプリケーションにより、各々がペイロードに関連し、一方が持続ノードであり、他方が前記持続ノードと所定の関係を有する複数のノードを受け取るステップと、
前記複数のノードの各々に関連する前記ペイロードを抽出するステップと、
前記ローカルシステム上の前記アプリケーションにより、前記複数のノードの各々に関連する前記抽出されたペイロードに基づく情報の表示を可能にするステップと、
を含むことを特徴とする方法。
【請求項２】
前記ローカルシステム上の前記アプリケーションの初期設定を受け取るステップと、
前記ローカルシステム上の前記アプリケーションの前記初期設定に応答して、前記複数のノードを作成するステップと、
前記複数のノードを記憶するステップと、
を含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記複数のノードを作成するステップは、前記ローカルシステム上に前記複数のノードを作成するステップを含み、
前記複数のノードを記憶するステップは、前記ローカルシステム上に前記複数のノードを記憶するステップを含む、
ことを特徴とする請求項２に記載の方法。
【請求項４】
前記複数のノードを作成するステップは、前記ローカルシステムに接続されたクラウド分散データベース上に前記複数のノードを作成するステップを含み、
前記複数のノードを記憶するステップは、前記ローカルシステムに接続された前記クラウド分散データベース上に前記複数のノードを記憶するステップを含む、
ことを特徴とする請求項２に記載の方法。
【請求項５】
前記持続ノードは、該持続ノードを作成した処理よりも長く存続する、
ことを特徴とする請求項１に記載の方法。
【請求項６】
前記持続ノードは、前記ローカルシステム上の前記アプリケーションよりも長く存続する、
ことを特徴とする請求項５に記載の方法。
【請求項７】
前記複数のノードの各々に関連する前記ペイロードは、前記ローカルシステム上の前記アプリケーションによりレンダリングされるオブジェクトを含む、
ことを特徴とする請求項１に記載の方法。
【請求項８】
前記オブジェクトは、前記ローカルシステム上の前記アプリケーションによりレンダリングされるグラフィック形状である、
ことを特徴とする請求項７に記載の方法。
【請求項９】
前記複数のノードの各々に関連する前記ペイロードは、前記ローカルシステム上の前記アプリケーションによりレンダリングされる前記グラフィック形状の位置情報をさらに含む、
ことを特徴とする請求項８に記載の方法。
【請求項１０】
前記複数のノードのうちの前記他方のノードと前記持続ノードとの前記所定の関係は、前記持続ノードへの参照を前記複数のノードのうちの前記他方のノードに記憶することを含む、
ことを特徴とする請求項１に記載の方法。
【請求項１１】
前記ローカルシステム上の前記アプリケーション内の処理イベントをモニタするステップと、
前記モニタした処理イベントに応答して、前記複数のノードの少なくとも一方に関連する前記ペイロードを更新するステップと、
前記複数のノードのうちの前記少なくとも一方に関連する前記ペイロードを記憶するステップと、
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項１２】
前記処理イベントは、形状の変更、配向の変更、色の変更、寸法の変更、アクティブ化及び非アクティブ化を含む群から選択される、
ことを特徴とする請求項１１に記載の方法。
【請求項１３】
前記複数のノードを受け取るステップは、前記ローカルシステム上の前記アプリケーションにより、前記ローカルシステムに接続されたクラウド分散データベースから前記複数のノードを受け取るステップを含む、
ことを特徴とする請求項１に記載の方法。
【請求項１４】
前記ローカルシステム上の別のアプリケーションにより別の複数のノードを受け取るステップをさらに含み、前記別の複数のノードの１つは前記持続ノードである、
ことを特徴とする請求項１に記載の方法。
【請求項１５】
前記ローカルシステム上の前記アプリケーションは、ＨＴＭＬ互換ブラウザを含む、
ことを特徴とする請求項１に記載の方法。
【請求項１６】
前記複数のノードは、接続されているが相互に作用しない接続ノードである、
ことを特徴とする請求項１に記載の方法。
【請求項１７】
前記複数のノードは、階層ツリー関係で配置された階層ノードである、
ことを特徴とする請求項１に記載の方法。
【請求項１８】
前記複数のノードの各々は、属性に関連付けられる、
ことを特徴とする請求項１に記載の方法。
【請求項１９】
少なくとも１つのメモリに接続された少なくとも１つのプロセッサを備えたシステムであって、該少なくとも１つのプロセッサは、
アプリケーションにより、各々がペイロードに関連し、一方が持続ノードであり、他方が前記持続ノードと所定の関係を有する複数のノードを受け取り、
前記複数のノードの各々に関連する前記ペイロードを抽出し、
前記アプリケーションにより、前記複数のノードの各々に関連する前記抽出されたペイロードに基づく情報の表示を可能にする、
ように構成される、
ことを特徴とするシステム。
【請求項２０】
１又はそれ以上のコードセグメントを含むコンピュータプログラムを記憶する非一時的メモリであって、前記コードセグメントは、実行時に少なくとも１つのプロセッサに、
アプリケーションにより、各々がペイロードに関連し、一方が持続ノードであり、他方が前記持続ノードと所定の関係を有する複数のノードを受け取ることと、
前記複数のノードの各々に関連する前記ペイロードを抽出することと、
前記アプリケーションにより、前記複数のノードの各々に関連する前記抽出されたペイロードに基づく情報の表示を可能にすることと、
を行わせる、
ことを特徴とする非一時的メモリ。
【発明の詳細な説明】
【背景技術】
【０００１】
コンピュータグラフィックの生成、レンダリング及び操作には、コンピュータソフトウェア及びハードウェアの様々な要素を用いてコンピュータ画面上で視覚オブジェクト／グラフィックを作成することが伴い得る。グラフィックデザイナーは、自身の選んだ背景上にデジタル画像／写真を作成及び／又はインポートすることにより、グラフィック処理を用いて様々なタイプの現実のシナリオ／状況のモデル及び／又はシミュレーションを作成することができる。インターネットの進化には、現実の状況を様々なグラフィック形式で表現するグラフィック形状及び画像をレンダリングするためのブラウザ能力が含まれてきた。エンドユーザは、ブラウザのグラフィカルユーザインターフェイスを用いて、途切れなくインターネットをナビゲートすることができる。しかしながら、これらの情報はステートレスなものであり自己持続性に欠けるため、今なお欠点が存在する。
【先行技術文献】
【特許文献】
【０００２】
【特許文献１】米国特許出願第６１／５１４，２４３号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明は、いずれかのコンピュータ装置のいずれかのグラフィックレンダリングサーフェス上に、コンピュータモデルのいずれかの側面を持続的にレンダリングするための堅牢かつ柔軟な機構を提供することにより、これらの欠点を克服するものである。
【課題を解決するための手段】
【０００４】
本発明は、階層的、持続的かつ相関的なノードフレームワークに関連し、これの能力は、いずれかのコンピュータ装置上のいずれかのグラフィックレンダリングサーフェス上に、モデル化したシナリオを提示することと、クライアントマシンのいずれかのグラフィックレンダリングサーフェス上にレンダリングされたモデル化したシナリオ全体のコンテキストを保持することと、全ての形の変形又はその他の命令を用いたレンダリングサーフェス上の（単複の）イベント又は（単複の）システム生成イベントを介したいずれかのレンダリングされたグラフィックサーフェス上におけるいずれかのユーザインタラクションを追跡することと、メモリ及び／又はデータベース内に存在する非レンダリングデータに変形／変更を適用することと、レンダリングされたノードフレームワーク及びレンダリングされていないノードフレームワークに対するありとあらゆる修正を、コンピュータ装置上でローカルに及び／又はクラウド分散インフラにおいて、メモリ、データベース又はファイルシステム内で持続させることと、を含む。
【０００５】
本発明のさらなる理解をもたらすように含められ、本明細書に組み込まれてその一部を成す添付図面に、説明と共に本発明の原理を説明する役割を果たす本発明の例示的な実施形態を示す。
【図面の簡単な説明】
【０００６】
【図１】小型の一戸建て住宅のレンダリング例を示す図である。
【図２】いずれか１つをクラウド対応とすることができる、メモリテーブル、データベース又はファイルシステム内のノードのデータベーススキーマ及び表現を示す図である。
【図３】住宅モデルシミュレーションのグラフィックレンダリングサーフェスを示す図である。
【図４】本発明のノードフレームワークの実施形態を用いて作成したクラウド対応カレンダーを示す図である。
【図５】ノード処理フローの概要を示す図である。
【図６】ノードのライフサイクルを示す図である。
【図７】２つの詳細な処理スタックを示す図であり、ＨＴＭＬ５ブラウザ内のＣａｎｖａｓ上のノードを用いた例を表すノードフレームワークの詳細な処理スタックを示し、サーバの詳細な処理スタックを示す。
【図８】クライアントデータノードのメモリ内データ表現のＣａｎｖａｓレイアウトを示す図である。
【図９】本発明のノードフレームワークの実施形態を用いてＣａｎｖａｓ上にレンダリングした電子メールクライアントの画像を示す図である。
【発明を実施するための形態】
【０００７】
本明細書で説明する特定の方法、複合物、材料、製造技術、使用法及び用途は変化することがあるので、本発明はこれらに限定されない。本明細書で使用する専門用語は、特定の実施形態を説明する目的でのみ使用するものであり、本発明の範囲を限定するものではない。単数形の「ａ、ａｎ（英文不定冠詞）」及び「ｔｈｅ（英文定冠詞）」は、文脈において別途明確に示していない限り複数形の照応も含むことが意図されている。従って、例えば、「要素（ａｎ  ｅｌｅｍｅｎｔ）」という記載は１又はそれ以上の要素を意味し、当業者に周知のこれらの同等物を含む。同様に、別の例として、「ステップ（ａ  ｓｔｅｐ）」又は「手段（ａ  ｍｅａｎｓ）」という記載は１又はそれ以上のステップ又は手段を意味し、下位ステップ及び従属手段を含むことができる。使用する全ての接続詞は、考えられる最も包括的な意味で理解すべきである。従って、「又は（ｏｒ）」という単語は、文脈において別途明確に必要としていない限り、論理上の「排他的ＯＲ」の定義よりもむしろ、論理上の「ＯＲ」の定義を有すると理解すべきである。説明する構造は、このような構造の機能的同等物も意味すると理解すべきである。近似を表すと解釈できる言語は、文脈において別途明確に示していない限りそのように理解すべきである。
【０００８】
本明細書で使用する全ての技術用語及び科学用語は、別途定義していない限り、本発明が属する技術の当業者が一般に理解している意味と同じ意味を有する。好ましい方法、技術、装置及び材料について説明するが、本発明の実施又は試験においては、本明細書で説明するものと同様又は同等のあらゆる方法、技術、装置又は材料を使用することができる。本明細書で説明する構造は、このような構造の機能的同等物も意味すると理解すべきである。
【０００９】
特定される全ての特許公報及びその他の刊行物は、例えばこのような刊行物に記載される、本発明と共に使用できる方法を記載及び開示する目的で引用により本明細書に組み入れられる。これらの刊行物は、これらが本願の出願日よりも前に開示されていることのみを示すために提供するものである。この点に関し、先行発明又は他のいずれかの理由に起因して、このような開示に先行する権利が本発明者らに与えられていないことを認めるものであると解釈すべきではない。
【００１０】
「クラウドイベント」という用語は、クラウド内で生成されるシステムイベントを意味し、時間に基づくことも、又はシステムとのユーザインタラクションに基づくこともできる。
【００１１】
「レイヤ」という用語は、特定の機能セットの実装の詳細を隠す方法を意味する。
【００１２】
「ノード」という用語は、独自の属性及びセーブ方法を有する抽象モデルを意味する。ノードは、ペイロードオブジェクトを保持するための（オブジェクト属性の形の）コンパートメントを有することもできる。オブジェクトをサポートしないプログラミング言語の場合、ノードは、いずれかのグラフィックサーフェス上にレンダリングできる、或いはメモリ内又はデータベース上にデータアレイとして記憶できる、様々な付属のペイロードオブジェクト要素を操作し、誘導し、変形し、変換し、結合し、及び／又は埋め込むための基礎的機構又はキャリアとすることができる。
【００１３】
「ペイロード」という用語は、（単複の）ノードに追加又は付加された（単複の）オブジェクトを意味する。
【００１４】
「変形（ｔｒａｎｓｆｏｒｍｓ）」及び「変換（ｔｒａｎｓｆｏｒｍａｔｉｏｎｓ）」という用語は、（単複の）ノードに（単複の）ペイロードオブジェクトとして埋め込まれた（単複の）グラフィック形状を意味する。これらのグラフィック形状は、その属性の変化に基づいて、その外観をキャンバス上で変化させることができる。これらの属性は、アレイ形式及び／又はマトリクス形式で表される。これらの属性の変化は、マトリクスの変形機能を用いて組み込むことができる。
【００１５】
本発明の様々な実施形態ではノードが持続的であり、すなわち、プログラム又は機械内の情報の状態又はその他の構成の特徴が、そのノードを作成した処理よりも長く存続する。これらの実施形態におけるノードの持続特性は、必要に応じて定期的に又は要求時に呼び出すことができる。ノードフレームワークは、そのペイロードオブジェクトの変化を瞬時に記憶することができ、いつでもこれらを要求することができる。この点に関し、ペイロードは、ノードと共にデータベース内で持続する。本発明のフレームワークは、他のクラスが傾向又は機能を継承する元となる基底クラスとしてノードを使用するフレームワークの代わりに、ペイロードとしての様々なオブジェクトのキャリアとして使用できるノードを含む。本発明は、この違いにより、ノードを基底クラスとして使用する現在利用可能なライブラリと区別される。現在のライブラリは、グラフィックレンダリングサーフェス上における効率的な図形描画機能を提供するにすぎないが、本発明では、クラウドコンピューティング駆動による協調アプリケーションのためのあらゆるグラフィックレンダリングサーフェスを保持して持続させることができる。
【００１６】
特定のノード機能を継承しないことにより、異なるオブジェクトペイロードは互いに完全に異なって動作することができ、これによりノードオブジェクトを真に多様性と呼べるようになる。同じクラスから２つの異なるオブジェクトが継承される場合、これらは何らかの共通の機能を共有する。しかしながら、本フレームワークでは、ノードが中立的なサードパーティの連結アダプタとして機能することができる。従って、オブジェクトを基底／抽象ノードクラス上にペイロードとしてロードする場合、これらのペイロードは互いに完全に無関心であるが、２つのノード間の所定の関係の１つを使用することによってこれらのペイロードを連結し、いずれかのレンダリングされたグラフィックサーフェス上で無数の方法で相互作用させることができる。
【００１７】
本発明の実施形態では、持続性に加え、ノードフレームワークが、ローカルデータベース又はクラウド分散データベース内で持続するノード及びペイロードのグラフィックメッシュのメモリ内アレイを抽出して作成することができる。このグラフィックメッシュのメモリ内データ表現を図８に示す。この例示を目的とした図８には、ペイロード（８０６）を含む単一のノード（８０５）を示している。このノードは、単一のグラフィック表現内で複数のノードに容易に拡張することができる。アプリケーションは、様々なカラーマスクを適用して細部を除去するように構築することもできるが、他のオブジェクト上（或いは、他のオブジェクトを表すノード、又はノードのペイロード上）に存在する数千ものオブジェクトのうちの（１つのノードによって表すことができる）１つのオブジェクトを移動させるカスケード効果をシミュレートするように書くことなどもできる。通常のコンピュータ装置（８０３）では、この種の又はこの規模の必要な変換を行うことができないと思われる。分散クラウドコンピューティングプラットフォームであれば、これらのタスクを実行できるとともに、同期機構（８０９及び８１２）を利用することにより、クライアントデータノード（８０７）からのメモリ内データアレイをクラウドコンピューティングプラットフォーム（８１１）に転送することができる。この結果、クラウドコンピューティングプラットフォームは、最適に変換を適用し、データを操作して結果を計算することができる。その後、アプリケーションが、結果をレンダリングしさえすればよいコンピュータ装置（８０３）に、必要なレンダリング要素を転送することに加え、これらの計算結果をクラウド分散データベース（８１１）に記憶する。従って、このフレームワークでは、Ｃａｎｖａｓ又はその他のグラフィックルーチンのレンダリングしか行うことができない装置にクラウドの膨大な計算能力を適用することができる。
【００１８】
本発明の実施形態では、０、１、２又はそれ以上の埋め込みのオブジェクトのアドオンをペイロードとして用いてノードを起動することができる。さらに、これらのペイロードオブジェクト（或いは、言語としてのＪａｖａＳｃｒｉｐｔ（登録商標）はオブジェクトを理解しないので、ＪａｖａＳｃｒｉｐｔ内に存在する時にはオブジェクトのように作用する関数）は、データベース内におけるノードの持続性を含むノードの基礎的な特性を全て継承する。ノードをキャリアとして使用すると、ペイロードオブジェクトが、独自の持続特性及び特殊な機能ルーチンを有することができるようになる。ノード内に存在する別個の異なる特徴に加え、階層関係、同位関係、グループ化などの、ノードの固有の特性を全て使用することができる。
【００１９】
ペイロードの例としては、以下に限定されるわけではないが、（例えば、ＨＴＭＬ５  Ｃａｎｖａｓなどの）いずれかのグラフィックレンダリングサーフェス上のグラフィック形状、クラウド分散ネットワーク内の（ＩＰアドレスによって識別される）サーバマシン、いずれかのコンピュータオペレーティングシステム内のディレクトリ、ファイル及びフォルダ、電子メールシステムからのフォルダ、ピア接続されたゲーム内のユーザ、その時に物理的オブジェクトが存在する場合にはこれらの全てのモデル表現が挙げられる。
【００２０】
（単複の）ノードは、作成時又はその後に、別の（単複の）ノードとの間に固有のカスタマイズされた関係を持つように構成することができる。この関係の性質により、所与のノード又はその埋め込みオブジェクトペイロードが、いずれかの関連ノード又はその対応する埋め込みオブジェクトペイロードの挙動にどのように影響するかが決まる。これにより、オブジェクトペイロードのタイプに応じてノードが多様な形になり、様々な個性を示すようになる。
【００２１】
ノードをペイロードの容器として使用すると、異なるタイプのペイロード間の関係がより柔軟なものになる。ノードは、インピーダンス整合アダプタとして機能する。ノードをアダプタとして使用しなければ、この種の関係を確立し、これに従って動作しようと試みることが困難かつ面倒になる。
【００２２】
一例として、図１に、小型の一戸建て住宅のレンダリングを示す。形状のグラフィックレンダリングを使用すれば、親ノードである家（１０１）から図１に示すような家の図を描くことができる。
【００２３】
データベース内では、３つのノードのデータを図２のように表すことができる。或いは、ペイロードオブジェクトの高度なネイティブレンダリングルーチンを使用すれば、アプリケーションが家の高解像度画像をレンダリングし、この場合、ノードは、画像の形のさらなるペイロードを有し、データベースは、この画像のためのさらなる列を有するようになる。
【００２４】
図３に示すレンダリング形式では、１つのノードが、抽象ノード内のペイロードオブジェクトである家（３０１）全体を表し、別のノードが、ペイロードオブジェクトである家のドア（３０２）を表し、さらに別のノードが、抽象ノード内のペイロードであるドアのアラーム（３０３）を表すようになる。このノードフレームワークでは、ドアノード及びアラームノードを家ノードに埋め込むことができる。レンダリングサーフェス上では、家ノードの物理的位置を動かした場合、確立された連結ノードの関係に基づいて、ドアノード及びアラームノードも家ノードと共に動くようになる。この相互作用的動作及び結果的な応答により、グラフィックレンダリング形状を変換するあらゆるアプリケーションを、クラウドのためのモバイル及びデスクトップアプリケーションを構築するための真のプラットフォームとして使用できるようになる。
【００２５】
ドアノードは、「ノードリンク」関係を用いてアラームノードと連結することができる。図３に示すように、モデルシミュレーションのグラフィックレンダリングサーフェス上では、ユーザの操作によってドアを開け始めることができ、これによりドア（３０２）ノードの座標が（２５，５）から（３７，７）に変化する。次に、これによりアラーム（３０３）ノードの状態の変化が引き起こされ、この結果、アラームを鳴らす能力又はその色を変化させる機能がレンダリングサーフェスに備わっている場合には、これらのいずれかが行われる。この状態では、ユーザがセーブ関数を呼び出した場合、このセーブ関数の呼び出しが、家を含むノード、及びそのペイロードオブジェクトである家から、家のドア及びアラームの埋め込みノード、並びにこれらのそれぞれのペイロードオブジェクトであるドア及びアラームに伝播する。
【００２６】
現在のところ、完全に異なるタイプのオブジェクトを１つの結合ユニットとして組み合わせ、これをグラフィックサーフェス上に一体にレンダリングできる能力、及びシームレスなユーザインターフェイス、並びに図４に示すようなクラウド対応の相互作用型カレンダーなどのネスト化された持続性伝播及びメモリ内変換のような機能を有する既存のフレームワークは存在しない。
【００２７】
図４の各グラフィックは、様々なタイプの異なるペイロードオブジェクトを表すノードである。最終的なグラフィックは、コンピュータ装置の画面上にレンダリングされた様々なノード（及びこれらのペイロード）間の関係を示す画像である。ユーザがカレンダーオブジェクトと交信すると、これらの動作が、図中のノードにより表される１又はそれ以上のグラフィックに変換される。これらのノード及びペイロードは、グラフィックを１つの地点から別の地点に移動／ドラッグすること、グラフィック上の日付及び／又は時間、さらにはイベントを変更すること、単一のセルウィンドウを通じて見るのに適したイベントよりも多くのイベントを有するセル（やはりペイロードを含むノード）の背景パネルをスクロールすること、矢印上をクリックすることによって月を切り替えること、月（この場合は２月）をクリックすることによって年間の月の一覧を取得することなどの様々なイベントを処理する。これらは、完全に機能的なカレンダー製品において実現できるノードの相互作用的動作のほんの一部にすぎない。
【００２８】
図５に示すノード処理フローの概要に、本発明の実施形態における持続的かつ相互作用的なノードフレームワークを５ステップの例として示す。ここでは、データベースからの値を用いて、アプリケーションスクリプトからノードを作成してレンダリングすることができる。データベースは、クライアントマシン／装置上のローカルデータベース、又はクラウド分散データベースとすることができる。ユーザがグラフィックノードと相互作用すると、ユーザの全ての相互作用的行動及びグラフィック形状／ノードからの全ての応答を捕捉し、データベース内で持続させることができる。この例では、新たなロードアップ時に、ノード処理フローのさらなるステップとすることができるノードのライフサイクルを示す図６の（６２９）を用いて、アプリケーションにクラウド分散データベースからローカルキャッシュにデータをロードさせる必要が生じ得る。
【００２９】
ノードを通じて異種オブジェクト同士を組み合わせると、画像及びデータ要素を提示するためのより効率的かつ堅牢な環境が形成されることに加え、いずれかのレンダリングサーフェスにアプリケーションレベルの挙動をもたらす新たな可能性が生じる。現在のところ、ブラウザ内におけるこの適合化の応用は、ノードの使用を通じてＨＴＭＬ  Ｃａｎｖａｓ上で受動的グラフィック又は「ダム」グラフィックを操作して、静的及び／又は受動的アプリケーションをより相互作用的にするとともに、クラウド用のモバイル又はデスクトップアプリケーションとしてのユーザ体験をより良いものにすることである。
【００３０】
アプリケーションは、ローカルデータベースを用いてスタンドアロンモードで、（全体が引用により本明細書に組み入れられる米国特許出願第６１／５１４，２４３号に記載されるような）クラウド対応型クラウド分散データベースを用いて、又はこれらの２つの方法を混合した形でフレームワークを実装することができる。クラウドを使用する場合、クラウドの持続性により、ユーザが開始した又はシステムが生成したイベントに関する相互作用的変化をクラウド内で持続させるとともに、このクラウドに接続されたありとあらゆる選択された装置に同時送信することができる。この機能により、モバイルアプリケーションとデスクトップアプリケーションの間に真の協調が形成されるようになる。この処理を、例えば図６及び図８に示す。
【００３１】
本発明の別の実施形態であるハイブリッド構成では、プログラムが固有のクライアントサーバアーキテクチャを利用し、２つの別個のデータベースがプログラムと相互作用する。図７に示すように、これらのデータベースの一方は、（１つの構成では）クライアント側のブラウザの一時空間内に存在し（７０２）、他方は、クラウド分散されたバックエンドサーバ側に存在する（７０６）。これらのデータベースは、アプリケーションのニーズに応じて、ユーザインタラクション、ポーリング、バックエンドサーバの処理又はクラウドベースのイベント機構から開始されるデータベース複製といった技術のいずれか１つ又は組み合わせを使用することにより、互いに定期的に更新を調整することができる。プログラムスクリプトは、ノード及びそのペイロード情報、さらにはいずれかのレンダリングされた画像の視覚的側面及びその内容を、ユーザ入力を伴わずにクライアントのためにリアルタイムで更新することができる。
【００３２】
本発明のさらに別の実施形態では、例えば図８に示すように、モバイル装置上で実行されるクライアントのネイティブアプリケーションが、クラウド分散データベースのストレージに直接接続される（８０９及び８１２）。或いは、アプリケーションがローカルデータベースを利用し、このローカルデータベースをバックエンドのクラウド分散データベースと継続的に、又は設定した間隔で、或いは必要に応じて同期させることもできる。このことも、例えば図６（６２９及び６３０）に示している。
【００３３】
本発明の別の実施形態では、例えば図９に示すように、ノードフレームワークを用いてＣａｎｖａｓ上に電子メールクライアントをレンダリングすることもできる。左端のパネルを用いて、あらゆるローカル又はリモートファイルシステムのディレクトリ及び／又はファイル構造を表すことができる。
【００３４】
図示のように、例えば図５では、ノードのライフサイクル及びレイアウトが、図形の属性を全てデータストアに記憶し、この図形をいずれかのグラフィックレンダリングサーフェス上にレンダリングすること、又は図形をレンダリングした後に関連する図形の全ての属性をデータベースに記憶することのいずれかを行うことができる。属性を記憶する各インスタンスは、ノードを構成することができる。これにより、複数の図形を含むレンダリングサーフェス全体を装置のメモリ、ローカルデータストア又はクラウドデータストアに記憶し、これらからオンデマンドでレンダリングすることが可能になる。データストアは、ページをレンダリングするウェブサーバに接続された、ブラウザを有する装置のローカルデータベースとすることも、又はクラウド内の分散ファイル又はデータベースとすることもでき、ハイブリッドモードのようにデータベースを組み合わせた形をとることもできる。システムは、基本的にはレンダリングされていないメモリ内ノードアレイであるローカルデータベース又はクラウドベースのデータベースに、いずれかのレンダリングサーフェスの側面及び属性をデータバイトの形で記憶する。アプリケーションは、このメモリ内データアレイをクラウドコンピューティングプラットフォームに送信して、高度コンピュータ変換アルゴリズム処理にかけることができる。完了時には、クラウド分散データベースが有効な場合、このレンダリングされていないメモリ内ノードアレイを用いて、同じ又は異なる物理ネットワーク上の別の遠隔クラウドに接続された装置のデータベースで別のメモリ内ノードアレイを複製してそのコピーを更新することができる。これにより、モバイルアプリケーションとデスクトップアプリケーションの間の真の協調機能を容易にすることができる。
【００３５】
いずれかのグラフィックレンダリングサーフェス上で、ノードがその固有の統合的かつ相互関係的な特性によって図形をレンダリングできるようにすることにより、いずれかのレンダリングサーフェス上のモデル化されたペイロードオブジェクトの挙動を模倣したキーボードイベント、音声イベント、マウスイベント又はタッチイベントのいずれかをグラフィック形状の１つに行うことを通じて様々なユーザ行動を送信することができる。ノードを介したこれらのグラフィック間の関係は、データストアに記憶され、アクセス時にグラフィックオブジェクト内にキャッシュされ、いずれかのグラフィックレンダリングサーフェス上にレンダリングされる時にスクリプト言語で参照される。ユーザインタラクション及び／又はシステムイベントの影響を受けたオブジェクトの全ての変化／変形は、ノード内に記憶されている及び／又はメモリ内に存在するオブジェクトペイロードに適用される。これにより、応答時間の速い堅実かつ信頼できるユーザ体験が可能になる。ノード内のモデル化されたペイロードオブジェクトを表すこれらのグラフィックオブジェクトは、これらがシステムにより生成されたものであるか、それともユーザにより生成されたものであるかに関わらず、全てのタイプのイベントのイベントリスナであることを示す能力を有する。これにより、イベントリスナとして示されたこれらのグラフィックオブジェクトからのイベントを、ノード関係を用いて固有の方法で処理して伝播することが容易になり、これにより様々なグラフィック及び／又はクラウドインフラ間の相互作用が可能になり、従ってあらゆる関連ノード及び／又はそのペイロードの挙動属性、さらにはノードのレンダリングに使用される装置上のレンダリングサーフェスに影響が及ぶ。実際には、現実モデル又はシミュレーションを描く静的グラフィック形状に動的属性が割り当てられ、ノード及びそのペイロードを再レンダリングする追加コストを負担することはない。これにより、グラフィック形状の画素の１つにいずれかの変化が生じた場合に、これらのグラフィックサーフェスには独力でコンテキストを記憶しておく能力がないという理由でキャンバス全体を再描画する必要があるＣａｎｖａｓなどの最も一般的に使用されているグラフィックサーフェスを使用するための最大の障害が排除される。本発明の実施形態では、これらのグラフィックサーフェスにコンテキストを保持しておく能力が備わるので、Ｃａｎｖａｓを含む全てのレンダリングサーフェスを、新世代の対話型モバイル及びデスクトップアプリケーションを開発する際に主流となる構成単位として使用することができる。
【００３６】
現在のグラフィックレンダリングサーフェスには、クラウド分散されたデータストアはもちろんのこと、いずれかのデータストア内でグラフィック形状を持続させることに関連する機能が欠けている。本明細書に開示するようなノード関係機構を使用し、各ノード内に別個の固有のタイプのオブジェクトをペイロードとして埋め込めば、この処理によってあらゆるグラフィックレンダリングサーフェス上のグラフィック形状に関連する全ての属性を制御できるようになる。このノード関係は、所与のグラフィックレンダリングサーフェス上のグラフィック形状の協調的な挙動も、単独的な挙動も可能にする。さらに、オブジェクトペイロードはノードの持続特性を利用することができ、従って全ての修正及びグラフィック形状属性を、ほんのわずかな動きでも恒久的に持続させる。ノードの相対的位置又はその基礎となるペイロード形状を様々な形にさらにカテゴリ分けして、異なる相互作用的挙動パターンを実現することもできる。この相関的な形でノードを記憶する際には、固有のフィールド、すなわち固有のノードレベル、ノード表示ステータス及びノードステータスを作成することにより、行に基づくデータをデータベースに記憶してデータベースから取り出す新たな方法が容易になる。
【００３７】
ノードレベルは、いずれかのレンダリングサーフェス上でグラフィックをレンダリングしている最中に、グラフィックオブジェクトのオフセット／インデント／奥行きの生成を可能にする。ノード表示ステータスは、レンダリング中に、ノード及びその関連する属性の表示又は非表示を可能にする。ノードステータスは、特定のノードを能動的又は受動的として指定することを可能にし、これを用いて、いずれかのシステム又はユーザベースのイベント処理のためにレンダリングサーフェス上でグラフィック形状をレンダリングしている最中及びその後にノードを相互作用的又は静的にすることができる。
【００３８】
データを取り出してノード関係機構を使用すると、スクリプトが、階層ツリー、親−子ノード、ピアノード、埋め込みノード又は親クローンなどとすることができる関係のためのノードのメッシュを作成する。その後、このノード関係を、将来的なレンダリング／変換／修正で使用できるようにデータストアに記憶する。これらの関係は、いつでも動的に終了又は調整することができる。このノードのメッシュを取り出していずれかのグラフィックサーフェス上でレンダリングする際には、グラフィック形状をアクティブにし、塗り直し、消去し、位置変更し、方向変更し、非アクティブにし、その初期状態又は以前の状態に戻し、他の形状の上又は他の場所に効率的にドラッグ又はドラッグアンドドロップすることができる。ノード関係を使用すると、関連するグラフィック形状を、他のグラフィック形状とのユーザインタラクションに基づいていずれかのグラフィックレンダリングサーフェス上でドラッグし、又は静止させておくことができる。グラフィック形状は、ユーザインタラクション又はシステム生成イベントを通じた、マウスポインタ、音声入力又は画面のタッチに伴って動くようになる。関連する形状は、その固有の埋め込みペイロード及びノード間関係に基づいて、様々な種類の挙動を示すことができる。ユーザ又はシステムイベントの作用を受けたノードは、このノードに何らかの関係を通じて結び付けられた関連する／連結された／リンクされた／埋め込まれた全てのノードに変形／変化を表すメッセージを送信する。メモリ内の関連するノード及び／又はそのペイロードにはこれらの変形／変化が適用されるので、グラフィック形状が効果的に応答して良好なユーザ体験をもたらす。この挙動は、形状の変化、配向形状の変化、形状の色又は寸法の変化、アクティブ化又は非アクティブ化などに類似することができる。
【００３９】
２つのノード間の関係は、ノード作成時又はその後のあらゆる時点で構成することができる。ノードが確立できる関係のタイプとしては、以下に限定されるわけではないが、２つのノードが接続されているが相互作用しておらず、従って他方の挙動に無関心であるが互いにアクセスしてメッセージを送信し合うことができる接続ノード、ノードが階層ツリー関係で配置され、階層のレベルに制限がない階層ノード、ノードが同じレベルに存在し、互いに一斉に挙動するピア接続ノード、１又は複数のノードが互いの中に埋め込まれ、埋め込まれたノードの行動が埋め込まれた先の親ノードの行動に限定される埋め込みノードが挙げられる。
【００４０】
境界は、キャンバス上の物理的境界、化学実験における物理的限界、上限及び下限のある金融サービスソフトウェア用途における有限境界などの様々なタイプとすることができる。この種の関係を用いて、埋め込みノードのペイロードオブジェクトを親の境界の外部内又はそのノードのみの外部内のいずれかで強制的にスクロールさせることができる。
【００４１】
親クローンノードは、各ノードが互いに独立している性質を除きピア接続ノードに類似する。しかしながら、この種のノードでは、１回の同報通信で全ての関連ノードに同報メッセージを伝播することができる。さらに、１回の同報メッセージ通信で関連するノードの挙動を制御することもできる。
【００４２】
本発明の実施形態では、ペイロードスイッチングにより、ノードが、そのペイロードを１つのオブジェクトから同じ種類（クラス／関数型）の別のオブジェクトに切り替え、及び／又はペイロードを元々のペイロードタイプとは異なる新しいタイプのオブジェクトに切り替えることができる。これにより、ノードは、その挙動をペイロードのみに基づいて切り替えることができる。従って、ノード間の関係を変化させると、様々なノードの挙動に影響が及ぶこともある。
【００４３】
本発明のシステムの様々な実施形態は、各ノード内の異なる形の２又はそれ以上のノード間の関係を捕捉することができる。このノード属性とペイロード属性の形で捕捉される関係により、関係内のノードに様々な変形／変更を直接適用できるようになる。これらの関係及び参照は、アレイ又は集合の形で捕捉されるので、これらはメモリ内に存在し、変更／変形を１つのノードから他の１又は多くのノードに極めて速く伝播することができる。ノードベースのフレームワークがなければ、あらゆるアプリケーション又はシステムがノード間の個々の関係を形成する必要があり、従って形状間の相互通信がさらに複雑になり、いずれかのグラフィックレンダリングサーフェス上に相互作用するグラフィックのメッシュを作成することが極めて困難になる。
【００４４】
ネスト化ノード又は埋め込みノードなどのノードを別のノード内のペイロードとして反復的に開始する能力は、ノードを同じ又は異なるタイプのペイロード間の一種のアダプタとして使用する能力をもたらす。これらのノードは、同じタイプ及び異なるタイプのノード間の相互作用を容易にする変換装置として機能することにより、接続されたペイロード間の相互作用及び関係を強固なものとは対照的に柔軟なものにする。この柔軟さと適応的な関係により、いずれかのグラフィックレンダリングサーフェス上でグラフィック形状をより効率的かつ相互作用的にレンダリングすること、ペイロードオブジェクトのグループ化、ペイロードの協調的修正、選択したペイロードのグループ内における協調的な動き、選択したオブジェクトのペイロードの属性変化をデータベースに送信することなどの利点がもたらされる。
【００４５】
以下の説明は実施形態を示すものにすぎず、本発明の範囲、適用性又は構成を限定するものではない。むしろ、以下の説明は、実施形態を実装するための実施可能な説明を当業者にもたらすものである。要素の機能及び構成には、特許請求の範囲の思想及び範囲から逸脱することなく様々な変更を加えることができると理解されたい。例えば、本発明は、ソーシャルネットワーキング、クライアント／カスタマー管理及びサービス、金融及びビジネスサービス、医療記録管理、取引管理、販売、マーケティング、分析、セキュリティ上の脅威、機密情報収集、及び共同研究に用途があると想定される。
【００４６】
本発明の実施形態では、グラフィックレンダリングサーフェスとしてＨＴＭＬブラウザ内でＣａｎｖａｓを使用することができる。柔軟なノードフレームワークは、Ｃａｎｖａｓ上にグラフィックレンダリング形状を組み込み、これらを対話型アプリケーションの構成要素として利用する。グラフィックを本来の形で提供できるブラウザ仕様は、ＨＴＭＬ５である。この方法を使用すれば、プラグインをインストールせずにユーザ体験を強化することができる。
【００４７】
しかしながら、ＨＴＭＬ５  Ｃａｎｖａｓ要素に変更を加えると、画像全体を再描画する必要が生じる。本発明の様々な実施形態では、持続性のあるノードを使用して、キャンバス全体及びこのキャンバス上の全てのグラフィック形状を再描画する必要性を排除する。代わりに、場合によってはプログラムを単一のグラフィック形状に対して選択的なものとし、従ってそのコンテキスト及び状態を保持する相互作用的キャンバスを設計して作成する方法を提供して、相互作用的グラフィックの性能、並びにＣａｎｖａｓ及びその全ての構成の同じ状態を複製する性能の劇的な改善を、クラウド内で接続された全ての装置にもたらすようにすることができる。ライブラリによっては、レイヤなどの技術を用いてこの問題を克服しようと試みたものもあるが、コンテキスト、持続性、及びローカルデータベースからグラフィックを再び読み込んで更新する能力がなければ、これらの解決策は支持できなくなる。
【００４８】
Ｃａｎｖａｓは、画素の組み合わせとして記述される画像への変換を行う「ファイア・アンド・フォーゲット」モデルを提供することにより、より豊かなグラフィック体験をユーザに提案することができる。Ｃａｎｖａｓの重大な短所は、プログラムがグラフィック形状を描画し終えると、プログラムが描いたコンテキスト及びグラフィック形状を記憶から消してしまう点である。この不具合に対処するために、市販のオープンソースライブラリには、レンダリングされた形状の境界及び１又はそれ以上のレイヤを用いてＣａｎｖａｓ上に形状を描き、グラフィック形状をレンダリングするスクリプトプログラム内にグラフィック形状の寸法を保持するものもある。しかしながら、これらのライブラリは、アプリケーションが終了するとやはりコンテキスト及び関係を失ってしまう。
【００４９】
ブラウザ内で形状を描くためのベクトルに基づく別の標準規格に、スケーラブル・ベクトル・グラフィックス（ＳＶＧ）がある。ＳＶＧは、いくかのビットマップ操作機能を可能にするが、様々な装置面上に図形をレンダリングするには非効率的なままである。
【００５０】
ユーザが、画面上にレンダリングされたインターネットブラウザベースのキャンバスと交信すると、変形（属性の変更）を行うことができる。現在では、この機能を提供するオープンソースライブラリもあるが、本発明のいくつかの実施形態は、これらの変形をメモリ又はデータベースに記憶するだけでなく、フレームワーク内のノード関係を用いてこれらのメモリ内変形をキャンバス上の適当なグラフィック形状に適用しながら、これらの変更をローカル及び／又はクラウドベースのデータベース内で持続させる。要するに、本発明では、アプリケーション開発者及びエンドユーザが、ウェブベースアプリケーション及びデスクトップアプリケーションのためのユーザ行動に応答する（クラウド持続性の）キャンバスと連動することができる。現在では、個々のグラフィック形状の再描画を可能にする機能を提供するオープンソースライブラリもあるが、持続的性質は存在しない。本発明のノードフレームワークを利用すると、ローカルデータベース及びクラウド上の持続的性質の形状を装置上で再レンダリングすることができる。
【００５１】
既存のライブラリのほとんど全ては、本質的にはレイヤであるいわゆるコンテナに異なるタイプのオブジェクトを埋め込むことができない。この種のコーディングの思考は、これらのライブラリの主な目的が、キャンバスに効率的なグラフィック描画を提供するにすぎないことに起因する。本発明の範囲はさらに広く、複数の装置にわたってクラウド対応のアプリケーションを構築するための基礎としてＣａｎｖａｓを使用可能にすることを意図している。
【００５２】
他の方法は、レイヤ、グループ又はグラフィック形状のスーパークラスとしてノードを定義するのに対し、本発明のノード及びノード関係は、キャンバス及びその他のレンダリングサーフェス上のグラフィック形状のさらなる柔軟性及び機能性を可能にする。１つの例は、グラフィック形状が異なるレイヤではなく同じレイヤ内で１つの親から別の親に移動する場合である。
【００５３】
本発明の実施形態の応用例は、ノードを用いてグラフィック形状を開始することである。ノードのペイロードが特定のグラフィック形状タイプである場合、このノードをＣａｎｖａｓ上でグラフィック形状としてレンダリングすることができる。ノードがＣａｎｖａｓ上でグラフィック形状としてレンダリングされると、このグラフィック形状は、このノードの全ての属性にアクセスすることができる。この形状は、ｘ軸、ｙ軸又はｚ軸に沿って、或いは必要に応じて全ての軸に沿ってドラッグ可能な形状として指定できるとともに、マウスドラッグ、マウスクリック、マウスオーバー、マウスアウトのような標準的なマウスイベントなどのシステム生成イベントを通じてユーザにより生成されたイベントをリスンするイベントリスナとして示すことができる。一般に、イベントをリスンする形状に対するこれらの動作は、対応する基本ライブラリによって処理される。これらのイベントは傍受され、ノードオブジェクトに渡される。ペイロードオブジェクト内のネイティブ処理よりも前にこれらのイベントを傍受することにより、既存の方法よりもはるかに強力、堅牢かつ効率的な方法で処理をカスタマイズすることが可能になる。場合によっては、ペイロード内のネイティブ機能の実行後に、データを効率的に処理する能力に影響を与えることなくノード機能を呼び出すこともできる。ノード内の捕捉されたイベントは、グラフィック形状の属性を変更してこれらのメッセージを他のノードに同報通信又は転送することにより、グラフィック形状に影響を与えることができる。あらゆる接続ノードの挙動は、ノード間に存在する関係のタイプ、及びイベント処理時にノードが有しているペイロードのタイプに基づく。
【００５４】
本発明の実施形態の別の応用例は、Ｃａｎｖａｓ上におけるノードのロードオブジェクトとしてのグラフィック形状である。グラフィックオブジェクトが所与のノードのペイロードである場合、Ｃａｎｖａｓ上で様々なグラフィック形状を描画しても、このレンダリングは一時的なものにすぎない。グラフィックの形態が、たとえ１つの画素に関しても位置、色、向きなどが異なる場合、ユーザはキャンバスを再描画する必要がある。また、グラフィック形状のいくつかを時間と関連付けることにより、タイミングに基づいて動的に割り当てられた異なる属性を有することもできる。
【００５５】
ノードの属性（時間に関する因子又は機能的因子）はデータストアに記憶される。これらの属性は、スクリプト言語のルーチンを用いて、ノード内のペイロードに容易に適用することができる。ノードがこれらの値を提供しなければ、プログラムは、ノード上にペイロードとしてロードできる全てのタイプのオブジェクトについて最初から開始する必要がある。このノードフレームワークは、Ｃａｎｖａｓをクラウド対応モバイルアプリケーション及びデスクトップアプリケーションの構成単位又は基盤とすることに加え、アプリケーションを高速化してＣＰＵの使用量を最小限に抑えることもできる。これが実現される理由は、ノード及びペイロードオブジェクトの属性が全てローカルにキャッシュされ、クラウドバックエンドとの情報で本質的に更新されるからである。
【００５６】
本発明の実施形態の別の応用例は、拡張可能かつ崩壊可能なツリー状のグラフィックをＣａｎｖａｓ上にレンダリングする際に階層パターンを使用することである。この階層ツリーを無数の方法で使用して、様々なタイプのオブジェクトペイロードを様々な形でＣａｎｖａｓ上にグラフィック表現することができる。
【００５７】
この応用の一部として、ディレクトリ構造に関しては、ユーザのためのクラウドベースの保管金庫を提供することができる。ユーザは、自身の個人用文書をこの金庫内に記憶することを選択することができる。この金庫は、独自のディレクトリ構造及びクラウド内に分散されたファイルシステムを有する。このディレクトリ及びファイル構造は、エンドユーザに対し、引き出し及びフォルダを含む保管キャビネットの形でキャンバス上に提示される。階層ノードツリー／関係は、引き出し、フォルダ及びファイルに類似するレンダリンググラフィック形状の形で情報の物理レイアウトを描く際に使用することができる。このノードフレームワークを用いて、限定ではないがクラウド分散ファイルシステムを含むあらゆるオペレーティングシステムからのディレクトリリストのファイル及びフォルダ構造をＣａｎｖａｓ上に描くことができる。
【００５８】
例えば、図９に示すような電子メールフォルダ構造については、ノード構造を用いて、電子メール、タスク、イベント、ミーティング、チャット、日常活動などの項目を含むＣＲＭシステムのファイルフォルダ管理を表現することができる。これらの過程で発生する通常の行動に加え、クラウドベースのディレクトリ構造及びノード構造を用いて、上述したディレクトリ構造に類似する文書アーカイブ及び管理のためのディレクトリ及びファイル構造全体のグラフィック表現を作成することもできる。
【００５９】
ビジネスプロセスモデリングについては、この階層ノードツリーを用いて、部署及び／又は経営階層組織を含む仕事関係の組織図を表すことができる。ノードは、親−子、ピア接続、埋め込みなどのいずれかの関係の形をとることができる。
【００６０】
ゲーム業界については、関連ノード及びこれらの埋め込みオブジェクトペイロードの相互作用、及びグラフィック形状のドラッグアンドドロップ機能により、あらゆるグラフィックレンダリングサーフェス上で新たな一意的に面白い双方向型ゲームを作成することが可能になる。例えば図８に示すように、ユーザ１（８０１）及びユーザ２（８０２）という２人の人間のプレーヤ間の、又は人間とコンピュータの間のリアルタイムのゲームインタラクションをシームレスに表現することができる。基本的に、グラフィック処理は、強力なクラウド分散サーバ（８１１）で実行されるが、（単複の）計算済みノード（８０５）及びこれらの（単複の）ペイロード（８０６）の形で送信される結果は、クライアントデータベース側（８０７）の（単複の）イベントジェネレータ又はグラフィック変換となる。この結果、クライアントエンド（８０３）におけるロード時間が速くなり、ＣＰＵ使用量が減少する。ユーザ装置上のレンダリングサーフェスでは、全てのノード及びこれらのペイロードが、持続性のあるノードのレンダリング法に加え、これらの固有のレンダリング法を用いて描写される。関連するグラフィックをレンダリングする装置（８０３）は、ノード及びそのペイロードの持続的属性のローカルにキャッシュされたコピー（８０７）を有するようになる。また、バックエンドサーバ上のクラウドベースインフラ（８１０）が、ユーザ画面のレンダリングしていない複製をメモリ内に保持し、負荷の重いコンピュータ処理を全て実行するようになる。クライアント装置からの非常に大量かつ複雑な計算タスク要求がサーバ側で完了すると、システムは、サーバ側データベース（８１０）内のデータを更新する。この協調機構を通じ、サーバ側データベースからの計算結果が、クライアント側データベースキャッシュ（８０７）に送信される。これにより、これらの結果が、装置のグラフィックレンダリングサーフェス上の図形に対する図形変更の形でレンダリングされるようになる。要するに、ブラウザ又は他のいずれかのグラフィックレンダリングサーフェスにおいてＣａｎｖａｓをレンダリングできるあらゆる装置に、複雑なグラフィックインタラクションを処理するためのクラウドコンピューティングインフラの圧倒的な計算能力がもたらされ、従ってエンドユーザに堅牢かつ強力な計算処理が提供される。
【００６１】
協調アプリケーションについては、図８に示す例が以下の内容を示す。２つの装置（８０３及び８１４）がクラウドに接続され、１つのデータセットで同じアプリケーションをロードする。この場合、各装置上のアプリケーションが、（単複の）ノード（８０５）及び（単複の）そのペイロード（８０６）に関連するデータ（８０７）のローカルコピーを作成し、関連する図形を両方の装置（８０３及び８１４）上で、又はターゲット装置（８１４）上のみで同時に又は異なる時点でレンダリングするようになる。一方の装置のユーザは、Ｃａｎｖａｓと交信し、グラフィック形状及び／又はノードの一方の属性を変更することができる。この変更は、アプリケーションによりローカルデータベースに記憶されると同時に、協調機構を通じてバックエンドクラウド分散データベースに送信される。同じクラウド分散データベースには他の装置も接続されているので、第１の装置が送信した変更は、クラウド分散データベースを通じて第２の装置にも送信されるようになる。第２の装置上で実行中のアプリケーションは、この変更を受け取ってデータベースのローカルコピーに記憶する。この変更を受け取った時点で装置が実行中の場合、キャンバスが、その外観をリアルタイムで変更する。要するに、本発明の実施形態は、この処理を通じて、１つの装置上のキャンバスに対する変更を、クラウドを介して別の装置にリアルタイムで送信し、従って真の協調アプリケーションを形成する。この機能は、断じて２つの装置に限定されるものではなく、クラウドに接続された無限数の装置、及びＣａｎｖａｓ以外の他のあらゆるグラフィックレンダリングサーフェスにも拡大することができる。
【００６２】
ローカルシステムなどのシステムは、あらゆるコンピュータ、サーバ、又はモバイル技術コンピュータ装置などとすることができる。システムは、ディスプレイ、入出力装置、１又はそれ以上のプロセッサ、及び１又はそれ以上のメモリを含むことができる。１又はそれ以上のプロセッサは、システム内における実行命令を処理することができる。例えば、１又はそれ以上のプロセッサは、１又はそれ以上のメモリ又はクラウド分散データベースに記憶された命令を処理して、ディスプレイ上にグラフィック情報を表示することができる。１又はそれ以上のプロセッサは、シングルスレッドプロセッサであっても、又はマルチスレッドプロセッサであってもよい。１又はそれ以上のメモリは、例えば、揮発性又は不揮発性ランダムアクセスメモリ（「ＲＡＭ」）及び／又はリードオンリメモリ（「ＲＯＭ」）を含むことができる。システム内の構成要素は、内部バスを通じて通信することができる。
【００６３】
本明細書で説明した本発明の実施形態はほんの一例にすぎない。当業者であれば、本明細書で具体的に説明した実施形態からの、本開示の範囲に含まれるように意図された変形形態を認識することができる。従って、本発明は、以下の特許請求の範囲によってのみ限定されるものである。このような変形形態が添付の特許請求の範囲及びその同等物の範囲内に収まる場合には、これらの変形形態も本発明の対象となる。
【符号の説明】
【００６４】
６０１  アプリケーション開始
いずれかのコンピュータ装置上でＪａｖａＳｃｒｉｐｔを用いて、又はネイティブアプリケーションとしてアプリケーションをブラウザ内にロード
６０２  アプリケーションが、ローカルデータベース及び／又はクラウド分散データベースから全てのノードデータをオブジェクトペイロードデータと共に取り出す
６０３  装置上におけるアプリケーションレンダリング
アプリケーションが、装置画面上でノード及び／又はペイロードデータをレンダリング
６０４  ユーザが、レンダリングされたグラフィック形状と交信
６０５  データ更新
アプリケーションが、レンダリングされたグラフィック形状の１つ又はそれ以上とのユーザインタラクションを捕捉。このインタラクションによってノード及び／又はペイロードの属性が変化することがあり、アプリケーションがこの変化を捕捉し、これらの変化をローカルデータベースに記憶
６０６  データ要求
アプリケーションが、ノード及び／又はペイロードのレンダリングされたデータをローカルに記憶
６０７  ノードデータベース接続
６０８  サーバ処理
アプリケーションがローカルデータベース更新を捕捉し、必要に応じて、設定した間隔で、継続的に又はオンデマンドでクラウド分散データベースに転送して持続させる
６０９  クラウド分散データベース
【図１】
2018129087.tif 000003
【図２】
2018129087.tif 000004
【図３】
2018129087.tif 000005
【図４】
2018129087.tif 000006
【図５】
2018129087.tif 000007
【図６】
2018129087.tif 000008
【図７】
2018129087.tif 000009
【図８】
2018129087.tif 000010
【図９】
2018129087.tif 000011
【手続補正書】
【提出日】平成30年4月18日(2018.4.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のデータノードの管理方法であって、
ローカルシステムからクラウド分散サーバにより、変化を含む入力を受け取るステップと、
クラウド分散データベースに接続された前記クラウド分散サーバにより、前記変化から、前記複数のデータノードおよび複数のペイロードを含む結果を計算するステップと、
ローカルシステム上のアプリケーションにより、前記クラウド分散データベースから前記複数のデータノード及び前記複数のペイロードを受け取るステップであって、
前記複数のデータノードの各々がペイロードを含み、
前記ペイロードは、前記ローカルシステム上の前記アプリケーションによってレンダリングされるオブジェクト、グラフィックレンダリングサーフェスのグラフィック形状、クラウド分散ネットワーク内のサーバマシン、いずれかのコンピュータオペレーティングシステム内のディレクトリ、ファイル及びフォルダ、電子メールシステムからのフォルダ、ピア接続されたゲーム内のユーザ、及び物理的オブジェクトのモデル表現のうちの少なくとも１つを含み、
前記複数のデータノードの各々は、前記ペイロードを保持し、前記ペイロードを操作し、前記ペイロードを誘導し、前記ペイロードを変形し、前記ペイロードを変換し、前記ペイロードに結合し、及び、グラフィックサーフェス上でレンダリング可能な前記ペイロードに接続されたオブジェクトコンポーネントを埋め込むことのうちの少なくとも１つがなされ、
前記複数のデータノードのうちの少なくとも１つが持続性のあるノードであり、
前記複数のデータノードのうちの別のものが前記持続性のあるノードと所定の関係を有する、
ステップと、
前記ローカルシステム上の前記アプリケーションにより、前記複数のデータノードの各々に関連する前記ペイロードを抽出するステップと、
前記ローカルシステム上の前記アプリケーションにより、前記複数のデータノードの各々に関連する前記ペイロードに基づく表示可能な出力を計算するステップと、
前記ローカルシステム上の前記アプリケーションにより、前記複数のデータノードの各々に関連する前記抽出されたペイロードに基づく情報の表示を可能にするステップと、
を含むことを特徴とする方法。
【請求項２】
前記ローカルシステム上の前記アプリケーションの初期設定を受け取るステップと、
前記ローカルシステム上の前記アプリケーションの前記初期設定に応答して、前記複数のノードを作成するステップと、
前記複数のノードを記憶するステップと、
を含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記複数のノードを作成するステップは、前記ローカルシステム上に前記複数のノードを作成するステップを含み、
前記複数のノードを記憶するステップは、前記ローカルシステム上に前記複数のノードを記憶するステップを含む、
ことを特徴とする請求項２に記載の方法。
【請求項４】
前記複数のノードを作成するステップは、前記ローカルシステムに接続された前記クラウド分散データベース上に前記複数のノードを作成するステップを含み、
前記複数のノードを記憶するステップは、前記ローカルシステムに接続された前記クラウド分散データベース上に前記複数のノードを記憶するステップを含む、
ことを特徴とする請求項２に記載の方法。
【請求項５】
前記持続性のあるノードは、該持続性のあるノードを作成した処理よりも長く存続する、
ことを特徴とする請求項１に記載の方法。
【請求項６】
前記持続性のあるノードは、前記ローカルシステム上の前記アプリケーションよりも長く存続する、
ことを特徴とする請求項５に記載の方法。
【請求項７】
前記オブジェクトは、前記ローカルシステム上の前記アプリケーションによりレンダリングされるグラフィック形状である、
ことを特徴とする請求項１に記載の方法。
【請求項８】
前記複数のノードの各々に関連する前記ペイロードは、前記ローカルシステム上の前記アプリケーションによりレンダリングされる前記グラフィック形状の位置情報をさらに含む、
ことを特徴とする請求項７に記載の方法。
【請求項９】
前記複数のノードのうちの１つのノードと前記持続性のあるノードとの前記所定の関係は、前記持続性のあるノードへの参照を前記複数のノードのうちの前記１つのノードに記憶することを含む、
ことを特徴とする請求項１に記載の方法。
【請求項１０】
前記ローカルシステム上の前記アプリケーション内の処理イベントをモニタするステップと、
前記モニタした処理イベントに応答して、前記複数のノードの少なくとも一方に関連する前記ペイロードを更新するステップと、
前記複数のノードのうちの前記少なくとも一方に関連する、更新された前記ペイロードを記憶するステップと、
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項１１】
前記処理イベントは、形状の変更、配向の変更、色の変更、寸法の変更、アクティブ化及び非アクティブ化を含む群から選択される、
ことを特徴とする請求項１０に記載の方法。
【請求項１２】
前記ローカルシステム上の別のアプリケーションにより、第２の複数のノードを受け取るステップをさらに含み、前記第２の複数のノードの少なくとも１つは持続性のあるノードである、
ことを特徴とする請求項１に記載の方法。
【請求項１３】
前記ローカルシステム上の前記アプリケーションは、ＨＴＭＬ互換ブラウザを含む、
ことを特徴とする請求項１に記載の方法。
【請求項１４】
前記複数のノードは、接続されているが相互に作用しない接続ノードである、
ことを特徴とする請求項１に記載の方法。
【請求項１５】
前記複数のノードは、階層ツリー関係で配置された階層ノードである、
ことを特徴とする請求項１に記載の方法。
【請求項１６】
前記複数のノードの各々は、属性に関連付けられる、
ことを特徴とする請求項１に記載の方法。
【請求項１７】
少なくとも１つのメモリに接続された少なくとも１つのプロセッサを備えたシステムであって、該少なくとも１つのプロセッサは、
ローカルシステムからクラウド分散サーバにより、変化を含む入力を受け取り、
クラウド分散データベースに接続された前記クラウド分散サーバにより、前記変化から、複数のデータノードおよび複数のペイロードを含む結果を計算し、
ローカルシステム上のアプリケーションにより、前記クラウド分散データベースから前記複数のデータノード及び前記複数のペイロードを受け取るように構成され、
前記複数のデータノードの各々がペイロードを含み、
前記ペイロードは、前記ローカルシステム上の前記アプリケーションによってレンダリングされるオブジェクト、グラフィックレンダリングサーフェスのグラフィック形状、クラウド分散ネットワーク内のサーバマシン、いずれかのコンピュータオペレーティングシステム内のディレクトリ、ファイル及びフォルダ、電子メールシステムからのフォルダ、ピア接続されたゲーム内のユーザ、及び物理的オブジェクトのモデル表現のうちの少なくとも１つを含み、
前記複数のデータノードの各々は、前記ペイロードを保持し、前記ペイロードを操作し、前記ペイロードを誘導し、前記ペイロードを変形し、前記ペイロードを変換し、前記ペイロードに結合し、及び、グラフィックサーフェス上でレンダリング可能な前記ペイロードに接続されたオブジェクトコンポーネントを埋め込むことのうちの少なくとも１つがなされ、
前記複数のデータノードのうちの少なくとも１つが持続性のあるノードであり、
前記複数のデータノードのうちの別のものが前記持続性のあるノードと所定の関係を有し、
前記ローカルシステム上の前記アプリケーションにより、前記複数のデータノードの各々に関連する前記ペイロードを抽出し、
前記ローカルシステム上の前記アプリケーションにより、前記複数のデータノードの各々に関連する前記ペイロードに基づく表示可能な出力を計算し、
前記ローカルシステム上の前記アプリケーションにより、前記複数のデータノードの各々に関連する前記抽出されたペイロードに基づく情報の表示を可能にする、
ように構成される、
ことを特徴とするシステム。
【請求項１８】
１又はそれ以上のコードセグメントを含むコンピュータプログラムを記憶する非一時的メモリであって、前記コードセグメントは、実行時に少なくとも１つのプロセッサに、
ローカルシステムからクラウド分散サーバにより、変化を含む入力を受け取り、
前記クラウド分散サーバにより、前記変化から、複数のデータノードおよび複数のペイロードを含む結果を計算し、
ローカルシステム上のアプリケーションにより、クラウド分散データベースから前記複数のデータノード及び前記複数のペイロードを受け取ることを行わせ、
前記複数のデータノードの各々がペイロードを含み、
前記ペイロードは、前記ローカルシステム上の前記アプリケーションによってレンダリングされるオブジェクト、グラフィックレンダリングサーフェスのグラフィック形状、クラウド分散ネットワーク内のサーバマシン、いずれかのコンピュータオペレーティングシステム内のディレクトリ、ファイル及びフォルダ、電子メールシステムからのフォルダ、ピア接続されたゲーム内のユーザ、及び物理的オブジェクトのモデル表現のうちの少なくとも１つを含み、
前記複数のデータノードの各々は、前記ペイロードを保持し、前記ペイロードを操作し、前記ペイロードを誘導し、前記ペイロードを変形し、前記ペイロードを変換し、前記ペイロードに結合し、及び、グラフィックサーフェス上でレンダリング可能な前記ペイロードに接続されたオブジェクトコンポーネントを埋め込むことのうちの少なくとも１つがなされ、
前記複数のデータノードのうちの少なくとも１つが持続性のあるノードであり、
前記複数のデータノードのうちの別のものが前記持続性のあるノードと所定の関係を有し、
前記ローカルシステム上の前記アプリケーションにより、前記複数のデータノードの各々に関連する前記ペイロードを抽出することと、
前記ローカルシステム上の前記アプリケーションにより、前記複数のデータノードの各々に関連する前記ペイロードに基づく表示可能な出力を計算することと、
前記ローカルシステム上の前記アプリケーションにより、前記複数のデータノードの各々に関連する前記抽出されたペイロードに基づく情報の表示を可能にすることと、
を行わせる、
ことを特徴とする非一時的メモリ。