JP2015510651A - 持続的ノードフレームワーク - Google Patents

持続的ノードフレームワーク Download PDF

Info

Publication number
JP2015510651A
JP2015510651A JP2014558922A JP2014558922A JP2015510651A JP 2015510651 A JP2015510651 A JP 2015510651A JP 2014558922 A JP2014558922 A JP 2014558922A JP 2014558922 A JP2014558922 A JP 2014558922A JP 2015510651 A JP2015510651 A JP 2015510651A
Authority
JP
Japan
Prior art keywords
nodes
node
application
payload
local system
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
JP2014558922A
Other languages
English (en)
Inventor
アジャイ ジャドハブ
アジャイ ジャドハブ
Original Assignee
アジャイ ジャドハブ
アジャイ ジャドハブ
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 アジャイ ジャドハブ, アジャイ ジャドハブ filed Critical アジャイ ジャドハブ
Publication of JP2015510651A publication Critical patent/JP2015510651A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
    • 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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/972Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/13Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
    • 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • G06F9/4493Object persistence

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Structural Engineering (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Architecture (AREA)
  • Civil Engineering (AREA)
  • Evolutionary Computation (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Processing Or Creating Images (AREA)
  • Digital Computer Display Output (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

コンピュータ装置のグラフィックレンダリングサーフェス上にコンピュータモデルのいずれかの側面を持続的にレンダリングできるノードフレームワークを開示する。まず、各々がペイロードに関連し、一方が持続ノードであり、他方が持続ノードと所定の関係を有する複数のノードを受け取る。次に、これらの複数のノードの各々に関連するペイロードを抽出する。最後に、複数のノードの各々に関連する抽出されたペイロードに基づく情報の表示を可能にする。【選択図】図1

Description

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

Claims (20)

  1. ノードの管理方法であって、
    ローカルシステム上のアプリケーションにより、各々がペイロードに関連し、一方が持続ノードであり、他方が前記持続ノードと所定の関係を有する複数のノードを受け取るステップと、
    前記複数のノードの各々に関連する前記ペイロードを抽出するステップと、
    前記ローカルシステム上の前記アプリケーションにより、前記複数のノードの各々に関連する前記抽出されたペイロードに基づく情報の表示を可能にするステップと、
    を含むことを特徴とする方法。
  2. 前記ローカルシステム上の前記アプリケーションの初期設定を受け取るステップと、
    前記ローカルシステム上の前記アプリケーションの前記初期設定に応答して、前記複数のノードを作成するステップと、
    前記複数のノードを記憶するステップと、
    を含むことを特徴とする請求項1に記載の方法。
  3. 前記複数のノードを作成するステップは、前記ローカルシステム上に前記複数のノードを作成するステップを含み、
    前記複数のノードを記憶するステップは、前記ローカルシステム上に前記複数のノードを記憶するステップを含む、
    ことを特徴とする請求項2に記載の方法。
  4. 前記複数のノードを作成するステップは、前記ローカルシステムに接続されたクラウド分散データベース上に前記複数のノードを作成するステップを含み、
    前記複数のノードを記憶するステップは、前記ローカルシステムに接続された前記クラウド分散データベース上に前記複数のノードを記憶するステップを含む、
    ことを特徴とする請求項2に記載の方法。
  5. 前記持続ノードは、該持続ノードを作成した処理よりも長く存続する、
    ことを特徴とする請求項1に記載の方法。
  6. 前記持続ノードは、前記ローカルシステム上の前記アプリケーションよりも長く存続する、
    ことを特徴とする請求項5に記載の方法。
  7. 前記複数のノードの各々に関連する前記ペイロードは、前記ローカルシステム上の前記アプリケーションによりレンダリングされるオブジェクトを含む、
    ことを特徴とする請求項1に記載の方法。
  8. 前記オブジェクトは、前記ローカルシステム上の前記アプリケーションによりレンダリングされるグラフィック形状である、
    ことを特徴とする請求項7に記載の方法。
  9. 前記複数のノードの各々に関連する前記ペイロードは、前記ローカルシステム上の前記アプリケーションによりレンダリングされる前記グラフィック形状の位置情報をさらに含む、
    ことを特徴とする請求項8に記載の方法。
  10. 前記複数のノードのうちの前記他方のノードと前記持続ノードとの前記所定の関係は、前記持続ノードへの参照を前記複数のノードのうちの前記他方のノードに記憶することを含む、
    ことを特徴とする請求項1に記載の方法。
  11. 前記ローカルシステム上の前記アプリケーション内の処理イベントをモニタするステップと、
    前記モニタした処理イベントに応答して、前記複数のノードの少なくとも一方に関連する前記ペイロードを更新するステップと、
    前記複数のノードのうちの前記少なくとも一方に関連する前記ペイロードを記憶するステップと、
    をさらに含むことを特徴とする請求項1に記載の方法。
  12. 前記処理イベントは、形状の変更、配向の変更、色の変更、寸法の変更、アクティブ化及び非アクティブ化を含む群から選択される、
    ことを特徴とする請求項11に記載の方法。
  13. 前記複数のノードを受け取るステップは、前記ローカルシステム上の前記アプリケーションにより、前記ローカルシステムに接続されたクラウド分散データベースから前記複数のノードを受け取るステップを含む、
    ことを特徴とする請求項1に記載の方法。
  14. 前記ローカルシステム上の別のアプリケーションにより別の複数のノードを受け取るステップをさらに含み、前記別の複数のノードの1つは前記持続ノードである、
    ことを特徴とする請求項1に記載の方法。
  15. 前記ローカルシステム上の前記アプリケーションは、HTML互換ブラウザを含む、
    ことを特徴とする請求項1に記載の方法。
  16. 前記複数のノードは、接続されているが相互に作用しない接続ノードである、
    ことを特徴とする請求項1に記載の方法。
  17. 前記複数のノードは、階層ツリー関係で配置された階層ノードである、
    ことを特徴とする請求項1に記載の方法。
  18. 前記複数のノードの各々は、属性に関連付けられる、
    ことを特徴とする請求項1に記載の方法。
  19. 少なくとも1つのメモリに接続された少なくとも1つのプロセッサを備えたシステムであって、該少なくとも1つのプロセッサは、
    アプリケーションにより、各々がペイロードに関連し、一方が持続ノードであり、他方が前記持続ノードと所定の関係を有する複数のノードを受け取り、
    前記複数のノードの各々に関連する前記ペイロードを抽出し、
    前記アプリケーションにより、前記複数のノードの各々に関連する前記抽出されたペイロードに基づく情報の表示を可能にする、
    ように構成される、
    ことを特徴とするシステム。
  20. 1又はそれ以上のコードセグメントを含むコンピュータプログラムを記憶する非一時的メモリであって、前記コードセグメントは、実行時に少なくとも1つのプロセッサに、
    アプリケーションにより、各々がペイロードに関連し、一方が持続ノードであり、他方が前記持続ノードと所定の関係を有する複数のノードを受け取ることと、
    前記複数のノードの各々に関連する前記ペイロードを抽出することと、
    前記アプリケーションにより、前記複数のノードの各々に関連する前記抽出されたペイロードに基づく情報の表示を可能にすることと、
    を行わせる、
    ことを特徴とする非一時的メモリ。
JP2014558922A 2012-02-23 2013-02-25 持続的ノードフレームワーク Pending JP2015510651A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261602241P 2012-02-23 2012-02-23
US61/602,241 2012-02-23
PCT/US2013/027584 WO2013126868A1 (en) 2012-02-23 2013-02-25 Persistent node framework

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2018079772A Division JP6532981B2 (ja) 2012-02-23 2018-04-18 持続的ノードフレームワーク

Publications (1)

Publication Number Publication Date
JP2015510651A true JP2015510651A (ja) 2015-04-09

Family

ID=49006292

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2014558922A Pending JP2015510651A (ja) 2012-02-23 2013-02-25 持続的ノードフレームワーク
JP2018079772A Active JP6532981B2 (ja) 2012-02-23 2018-04-18 持続的ノードフレームワーク

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2018079772A Active JP6532981B2 (ja) 2012-02-23 2018-04-18 持続的ノードフレームワーク

Country Status (6)

Country Link
US (1) US10382287B2 (ja)
EP (1) EP2817727A4 (ja)
JP (2) JP2015510651A (ja)
AU (2) AU2013222163B2 (ja)
CA (1) CA2865422C (ja)
WO (1) WO2013126868A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11145016B1 (en) 2016-06-30 2021-10-12 Alarm.Com Incorporated Unattended smart property showing
EP3479307A4 (en) 2016-06-30 2019-07-10 Camargo, Fabian Emilio Philipe PLANNED TEMPORARY RENTAL ACCESS
US10983661B2 (en) * 2016-10-24 2021-04-20 Microsoft Technology Licensing, Llc Interface for positioning an object in three-dimensional graphical space
US10347063B1 (en) 2017-03-01 2019-07-09 Alarm.Com Incorporated Authorized smart access to a monitored property
US10607105B1 (en) * 2019-03-27 2020-03-31 Disney Enterprises, Inc. Perceptual data association
CN112734880A (zh) * 2021-01-18 2021-04-30 福州富昌维控电子科技有限公司 一种基于嵌入式人机界面的矢量图显示方法与终端

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06290015A (ja) * 1993-02-17 1994-10-18 Internatl Business Mach Corp <Ibm> ソフトウェアのウィンドウに注釈を付けるためのシステム
JPH1091323A (ja) * 1996-06-26 1998-04-10 Xerox Corp グラフィックオブジェクトのグループを作成し操作するための方法及びコンピュータ制御グラフィックディスプレイシステム
US20040177093A1 (en) * 2003-03-06 2004-09-09 Ward Mullins Displayable presentation page and SQL searchable relational data source implementation of a system, method and software for creating or maintaining distributed transparent persistence of complex data objects and their data relationships
JP2007532997A (ja) * 2004-04-12 2007-11-15 マイクロソフト コーポレーション オブジェクトおよびエンティティの表示を構築するための方法および装置
US20080228904A1 (en) * 2002-03-20 2008-09-18 Daniel Crespo-Dubie Home Gateway Architecture and State Based Distributed System and Method
JP2010517174A (ja) * 2007-01-25 2010-05-20 マイクロソフト コーポレーション ストリーミング可能な対話的レンダリング非依存のページレイアウト

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10105586A (ja) * 1996-09-26 1998-04-24 Toyota Keeramu:Kk Cadシステムにおけるチーム形式による設計方式及びその設計方法
US5949425A (en) * 1997-11-25 1999-09-07 Terrain Experts, Inc. Terrain representation with polygonal seams
US20050035970A1 (en) * 1999-08-03 2005-02-17 Wirtschafter Jenny Dana Methods and apparatuses for authoring declarative content for a remote platform
JP2003016473A (ja) * 2001-06-29 2003-01-17 Fujitsu Ltd 三次元空間表示プログラム及び三次元空間表示方法
US6803912B1 (en) * 2001-08-02 2004-10-12 Mark Resources, Llc Real time three-dimensional multiple display imaging system
US7295119B2 (en) * 2003-01-22 2007-11-13 Wireless Valley Communications, Inc. System and method for indicating the presence or physical location of persons or devices in a site specific representation of a physical environment
US7466315B2 (en) * 2003-03-27 2008-12-16 Microsoft Corporation Visual and scene graph interfaces
US7269796B1 (en) * 2003-04-25 2007-09-11 At&T Corp. Method for infrastructure quick view
US7290216B1 (en) * 2004-01-22 2007-10-30 Sun Microsystems, Inc. Method and apparatus for implementing a scene-graph-aware user interface manager
US20060136575A1 (en) * 2004-05-11 2006-06-22 Ray Payne Integrated security suite architecture and system software/hardware
EP1834491A4 (en) * 2005-01-05 2010-06-02 Hillcrest Lab Inc DISTRIBUTED SOFTWARE STRUCTURE FOR USER INTERFACES
US20060274070A1 (en) * 2005-04-19 2006-12-07 Herman Daniel L Techniques and workflows for computer graphics animation system
US20060265664A1 (en) * 2005-05-17 2006-11-23 Hitachi, Ltd. System, method and computer program product for user interface operations for ad-hoc sensor node tracking
US8924889B2 (en) * 2005-12-02 2014-12-30 Hillcrest Laboratories, Inc. Scene transitions in a zoomable user interface using a zoomable markup language
US8493388B2 (en) * 2006-08-09 2013-07-23 Siemens Medical Solutions Usa, Inc. Modular volume rendering using visual programming
CA2680008A1 (en) * 2007-03-15 2008-09-25 Thomson Licensing Methods and apparatus for automated aesthetic transitioning between scene graphs
US20090045939A1 (en) * 2007-07-31 2009-02-19 Johnson Controls Technology Company Locating devices using wireless communications
WO2009085280A2 (en) * 2007-12-20 2009-07-09 I.D. Rank Security, Inc. Systems and methods for monitoring and management of network security systems
US8368705B2 (en) * 2008-07-16 2013-02-05 Google Inc. Web-based graphics rendering system
US8253730B1 (en) * 2008-08-29 2012-08-28 Adobe Systems Incorporated System and method for construction of data structures for ray tracing using bounding hierarchies
US20110258461A1 (en) * 2010-04-16 2011-10-20 Twinstrata, Inc System and method for resource sharing across multi-cloud arrays
US8779921B1 (en) * 2010-05-14 2014-07-15 Solio Security, Inc. Adaptive security network, sensor node and method for detecting anomalous events in a security network
US8832130B2 (en) * 2010-08-19 2014-09-09 Infosys Limited System and method for implementing on demand cloud database
US8957757B1 (en) * 2010-10-28 2015-02-17 Alarm.Com Incorporated Access management and reporting technology
US20120169499A1 (en) * 2010-12-31 2012-07-05 Schneider Electric Buildings Ab Method and system for monitoring physical security via detecting potential intrusion
US8953889B1 (en) * 2011-09-14 2015-02-10 Rawles Llc Object datastore in an augmented reality environment
US8935328B2 (en) * 2011-09-15 2015-01-13 Ramakrishna J Tumuluri System and method for collaborative 3D visualization and real-time interaction on a computer network

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06290015A (ja) * 1993-02-17 1994-10-18 Internatl Business Mach Corp <Ibm> ソフトウェアのウィンドウに注釈を付けるためのシステム
JPH1091323A (ja) * 1996-06-26 1998-04-10 Xerox Corp グラフィックオブジェクトのグループを作成し操作するための方法及びコンピュータ制御グラフィックディスプレイシステム
US20080228904A1 (en) * 2002-03-20 2008-09-18 Daniel Crespo-Dubie Home Gateway Architecture and State Based Distributed System and Method
US20040177093A1 (en) * 2003-03-06 2004-09-09 Ward Mullins Displayable presentation page and SQL searchable relational data source implementation of a system, method and software for creating or maintaining distributed transparent persistence of complex data objects and their data relationships
JP2007532997A (ja) * 2004-04-12 2007-11-15 マイクロソフト コーポレーション オブジェクトおよびエンティティの表示を構築するための方法および装置
JP2010517174A (ja) * 2007-01-25 2010-05-20 マイクロソフト コーポレーション ストリーミング可能な対話的レンダリング非依存のページレイアウト

Also Published As

Publication number Publication date
AU2013222163A1 (en) 2014-09-04
AU2018241118A1 (en) 2018-10-25
EP2817727A1 (en) 2014-12-31
AU2013222163B2 (en) 2018-07-05
WO2013126868A1 (en) 2013-08-29
US20150033135A1 (en) 2015-01-29
CA2865422A1 (en) 2013-08-29
AU2018241118B2 (en) 2019-11-07
US10382287B2 (en) 2019-08-13
CA2865422C (en) 2020-08-25
EP2817727A4 (en) 2015-10-28
JP6532981B2 (ja) 2019-06-19
JP2018129087A (ja) 2018-08-16

Similar Documents

Publication Publication Date Title
JP6532981B2 (ja) 持続的ノードフレームワーク
Auber et al. TULIP 5
US10338896B2 (en) Systems and methods for developing and using real-time data applications
US11386257B2 (en) Efficient manipulation of surfaces in multi-dimensional space using energy agents
EP2780826B1 (en) Browser-based collaborative development of a 3d model
CN105144153B (zh) 用于内容组织的方法和系统
CN106062705B (zh) 跨平台渲染引擎
US9684426B2 (en) Non-transitory computer-readable medium encoded with a 3D graphical user interface program and a computing device for operating the same
US20160342678A1 (en) Manipulation of arbitrarily related data
US11809684B2 (en) Coordinated display of software application interfaces
CA2870298A1 (en) Remoting graphical components through a tiered remote access architecture
US20120166977A1 (en) User programming access to data model in user interface design
Fisher et al. Visualizations everywhere: A multiplatform infrastructure for linked visualizations
CN114780077A (zh) 网页可视化编辑的装置及方法
Wagner et al. Native cross-platform visualization: A proof of concept based on the Unity3D game engine
US20140337284A1 (en) Synchronizing folders using a shadow folder hierarchy
US11275492B1 (en) Persistence strategy for applications
Canfora et al. Toward seamless migration of Java AWT-based applications to personal wireless devices
Besacier et al. Toward user interface virtualization: legacy applications and innovative interaction systems
Kim et al. Cluster rendering on large high-resolution multi-displays using X3DOM and HTML
US10930036B2 (en) Bar chart optimization
JP2017072977A (ja) コンピュータ・プログラム
WO2023055599A1 (en) User-defined groups of graphical objects
Zammetti et al. Taking wxPIM to the Desktop
Mendoza et al. Implementation of a Touch Based Graphical User Interface for Semantic Information System

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170308

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20170607

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170907

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20171218