JP5697661B2 - プラットフォームの拡張性フレームワーク - Google Patents

プラットフォームの拡張性フレームワーク Download PDF

Info

Publication number
JP5697661B2
JP5697661B2 JP2012508555A JP2012508555A JP5697661B2 JP 5697661 B2 JP5697661 B2 JP 5697661B2 JP 2012508555 A JP2012508555 A JP 2012508555A JP 2012508555 A JP2012508555 A JP 2012508555A JP 5697661 B2 JP5697661 B2 JP 5697661B2
Authority
JP
Japan
Prior art keywords
extension
visualization platform
application
function
create
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.)
Active
Application number
JP2012508555A
Other languages
English (en)
Other versions
JP2012525639A5 (ja
JP2012525639A (ja
Inventor
クリストファー アレン バリー
クリストファー アレン バリー
ルーブル ビー.スコット
ルーブル ビー.スコット
エドワード ランプソン ベンジャミン
エドワード ランプソン ベンジャミン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2012525639A publication Critical patent/JP2012525639A/ja
Publication of JP2012525639A5 publication Critical patent/JP2012525639A5/ja
Application granted granted Critical
Publication of JP5697661B2 publication Critical patent/JP5697661B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/451Execution arrangements for user interfaces
    • 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/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • 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/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/147Digital output to display device ; Cooperation and interconnection of the display device with other functional units using display panels
    • 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/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T15/205Image-based rendering

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Image Generation (AREA)
  • Digital Computer Display Output (AREA)
  • Processing Or Creating Images (AREA)
  • Stored Programmes (AREA)
  • Power-Operated Mechanisms For Wings (AREA)

Description

本発明は、アプリケーションの拡張性フレームワークを提供する方法、これを提供するシステム、及び、これを実施する指示を格納するコンピュータ可読記録媒体に関する。
プラットフォームの拡張性は、ソフトウェアアプリケーションと通信するためのプラグイン機能を可能にするフレームワークを提供する。いくつかの状況において、製品のリリースのスケジュールは、新しい機能がアプリケーションに組み込まれるときを定める。例えば、新しいアプリケーションのバージョンが年次でリリースされるが、ユーザは新しい機能をより頻繁に要求する。
従って、従来の戦略は、それぞれのスケジュールされたリリースにおいて選択された機能を組み込むことになる。従来の戦略がユーザの要求に常に反応するわけではないので、これが多くの問題を生じさせる。例えば、要求された機能は、アプリケーションのリリースに組み込まれるのに数年かかり、顧客の不満という結果になることがある。
プラットフォームの拡張性フレームワークを提供する。この課題を解決するための手段は、発明を実施するための形態において以下でさらに説明される簡略化された形式で概念の選択を紹介するために提供される。この課題を解決するための手段は、特許請求された主題の重要な特徴又主要な特徴を特定することを意図されない。この課題を解決するための手段は、特許請求された主題の範囲を限定するために使用されることも意図しない。
プラットフォームの拡張性フレームワークを提供する。可視化プラットフォームは、機能の拡張を登録し、オブジェクトを作成するための要求を受信する。可視化プラットフォーム、オブジェクトの作成を要求するアプリケーション及び/又は少なくとも1つの機能の拡張により提供される指示を描くことにより、オブジェクトを作成する。
以上の一般的な説明及び以下の発明を実施するための形態の両方共、例を提供し、説明のためのみである。したがって以上の一般的な説明及び以下の発明を実施するための形態は、限定的であると考慮されるべきではない。さらに、特徴又は変形が、本明細書で説明されるものに加えて提供される。例えば、実施形態は、発明を実施するための形態で説明される様々な機能の組み合わせ、又は、従属した組み合わせを目的とすることができる。
この開示に組み込まれて一部を構成する添付の図面は、本発明の様々な実施形態を示す。
オペレーティング環境のブロック図を示す図である。 プラットフォームの拡張性フレームワークを提供するための方法のフローチャートを示す図である。 コンピューティングデバイスを含むシステムのブロック図を示す図である。
以下の発明を実施するための形態は、添付の図面を参照する。可能な限り図面及び以下の説明において同じ又は同様の要素を参照するために、同じ参照番号が使用される。本発明の実施形態が説明される一方で、変更、適応及び他の実装が可能である。例えば、置き換え、追加、又は、変更を図面において示される要素に成し、そして本明細書で説明される方法は開示の方法に置き換え、順序付け直し、段階を追加することにより変更される。従って以下の発明を実施するための形態は本発明を限定しない。代わりに、本発明の正規の範囲は添付の特許請求の範囲により定義される。
プラットフォームの拡張性フレームワークを提供する。本発明の実施形態に合致して、可視化プラットフォームは、ユーザアプリケーション及び拡張された機能を提供するアドオン間の仲介を提供する。アドオンは第三者により開発され、正式な製品リリースを待つ必要なく可視化プラットフォームについてのサポートを含む任意のアプリケーションにより使用される。
図1は、可視化プラットフォーム110を提供するためのオペレーティング環境100のブロック図である。可視化プラットフォーム110は、オブジェクトマネジャ115及びレイアウトエンジン120を含むことができる。可視化プラットフォーム110は、チャート等のデータ可視化の作成を可能にするアーキテクチャを含み、可視化の上での対話型の機能をさらす。このアーキテクチャは、複数のレンダリングプラットフォームとの統合を提供する。ユーザがさらされた機能を選択するとき、アーキテクチャは、共通フォーマットに選択を解釈し、レンダリングプラットフォームと独立しているレイアウトルールに従ってデータ可視化を変更できる。
オペレーティング環境100は、機能の拡張130、レンダリングコンポーネント145を含むアプリケーション140、及び、出力デバイス150をさらに含む。例えば、機能の拡張130は、描く指示の無効化、データの追加、及び/又は、追加の描く要素を提供する機能性アドオンを含む。例えば、アプリケーション140は、ワード処理アプリケーション、表計算アプリケーション、ウェブブラウザ、電子メールアプリケーション、及び/又は、他のソフトウェアアプリケーション等のユーザアプリケーションを含む。例えば、出力デバイス150は、画面、プリンタ、電子ドキュメント、及び/又は、ウェブページを含む。
可視化プラットフォーム110は、対話型の可視化を提供するためのソフトウェアのライブラリ及び/又は、ユーティリティを含む共有コアを含む。共有コアは、例えばC++又はC#で実装され、独立したプラットフォームであることがある。共有コアは、レイアウト、形、及び/若しくは、配置を提供するための可視化ユーティリティ、行サービス、3次元ユーティリティ、アニメーションフレーム生成、並びに/又は、対話型ホットスポットを含む。可視化プラットフォーム110は、アプリケーション140、及び/又は、機能の拡張130と対話するためのAPI(application programming interface)をさらに含む。
アプリケーション140、及び、機能の拡張130は、可視化プラットフォーム110とのインターフェースを取り、アプリケーション140により出力デバイス150にレンダリングされるメモリ内にオブジェクトを作成する。機能の拡張130は、アプリケーション140と直接よりむしろ、可視プラットフォーム110とインターフェースを取ることができる。アプリケーション140、及び、機能の拡張130は、協働して一緒に及び独立した方式で作成されることを許容される。例えば、アプリケーション140は、関連付けられたデータ束でチャートオブジェクトを作成し、機能の拡張は、データオブジェクトの説明文、及び、系列を作成することができる。本発明の実施形態に合致して、機能の拡張130は、オブジェクトを作成できるが、アプリケーション140にデータを提供したままである。
オペレーティング環境100と独立したオペレーティングシステムは、可視化プラットフォーム110の複数のバージョンによりサポートされる。可視化プラットフォーム110は、ワシントン州レドモンド(Redmond、WA)のマイクロソフト社(登録商標)により開発された.NETプロトコルを使用して実装されるDLL(dynamically linked library)において等、プラットフォームに依存しないコードを使用して実装される。従って、機能の拡張130は、プラットフォームに依存しないコードをサポートする任意のオペレーティングシステム上で作動するアドオンを含むことができる。本発明の実施形態に合致して、アプリケーションは、プラットフォームに依存しないコードをサポートしないが、プラットフォームに依存しない機能の拡張140の使用をサポートすることができる。
図2は、プラットフォームの拡張性フレームワークを提供するための本発明の実施形態に合致した方法200において引き起こされる一般の段階を説明するフローチャートである。方法200は、図3に関して、以下でより詳細に説明されるように、コンピューティングデバイス300を使用して実装される。方法200の段階を実装する方法は、以下でより詳細に説明されることになる。方法200は、開始ブロック205で開始し、コンピューティングデバイス300が、可視化プラットフォームをインスタント化する段階210に進む。例えば、コンピューティングデバイス300は、複数の環境、及び/又は、オペレーティングシステムにおける実行を作動する単一コードのベースを含む可視化プラットフォーム110をインスタンス化できる。
コンピューティングデバイス300がインスタント化された段階210から、方法200は、コンピューティングデバイス300が可視化プラットフォームに少なくとも1つの機能の拡張を登録する段階215に進む。例えば、コンピューティングデバイス300は、機能の拡張のために設計された共通のメモリの位置に格納される機能の拡張130を位置付け、機能の拡張130は、可視化プラットフォーム110に利用可能な機能性に関して詳細を提供できる。本発明の実施形態に合致して、可視化プラットフォーム110は、可視化プラットフォーム110が作成するよう作動するオブジェクトのリストを判定及び提供する。作成可能なオブジェクトのリストは、描く命令が可視化プラットフォーム110、機能の拡張130、及び/又は、アプリケーション140の少なくとも1つから利用可能であるオブジェクトを含む。
一度コンピューティングデバイス300が215において少なくとも1つの機能の拡張を登録すると、方法200は、コンピューティングデバイス300がオブジェクトを作成する要求を受信する段階220へ続く。例えば、可視化プラットフォーム110は、チャート、グラフ、絵(ピクチャ)、及び/又はマルチメディアのオブジェクト等のオブジェクトを作成するために、アプリケーション140からの要求を受信する。要求は、オブジェクトのタイプ、データ構造、少なくとも1つの描く命令、データ系列(data series)、及び/または、少なくとも1つのデータ値を含む。
コンピューティングデバイス300は、段階220においてオブジェクトを作成するための要求を受信し、方法200は、コンピューティングデバイス300がオブジェクトを作成する段階225に進む。例えば、可視化プラットフォーム110のオブジェクトマネジャ115は、要求されたタイプのオブジェクトについて可視化プラットフォーム110に関連付けられた少なくとも1つのデフォルトの描く命令によりオブジェクトを作成する。
段階225から、方法200は、コンピューティングデバイス300が要求されたオブジェクトが少なくとも1つの機能の拡張に関連付けられているか否かを判定する段階230に進む。例えば、コンピューティングデバイス300は、要求されたオブジェクトの作成、及び/又は、変更が描く命令、データ値、及び/又は、機能の拡張130により提供される別の提供された機能性を活用するか否かを判定する。要求されたオブジェクトが少なくとも1つの機能の拡張に関連付けられていないと判定される場合、以下でより詳細に説明されるように、コンピューティングデバイス300が要求するアプリケーションに対する作成されたオブジェクトへのアクセスを提供する段階250に、方法200は進む。
段階230において、コンピューティングデバイス300が、要求されたオブジェクトが少なくとも1つの機能の拡張に関連付けられると判定される場合、コンピューティングデバイス300が少なくとも1つの機能の拡張が要求したものと互換しているか否かを判定する段階235に、方法200は進む。例えば、アプリケーション140は、機能の拡張130により提供されるデータ系列の使用を要求する可視化プラットフォーム110によりチャートオブジェクトの作成を要求する。可視化プラットフォーム110は、要求されたチャートオブジェクト、及び、要求されたデータ系列の間の互換性を検証する。本発明の実施形態と合致して、検証の互換性は、要求されたデータ系列が要求されたタイプのチャートオブジェクトで使用するために設計されていることを認証することを含む。さらに本発明の実施形態に合致して、可視化プラットフォーム100は、アプリケーション140が機能の拡張130、及び/又は、可視化プラットフォーム110と互換性のあるバージョンを含むことを検証する。例えば、可視化プラットフォーム110は、アプリケーション140が設計された値、又は、より高い値のバージョンのリリース番号(例えば2.0)を含み、アプリケーション140は特定のリリースの層(tier)(例えば、標準、プロフェッショナル、家庭、ビジネス、及び/又は教育)を含むことを検証する。可視化プラットフォーム110は、アプリケーション140が機能の拡張130を活用するために有効なライセンスを含むか否かの検証もする。
段階235において、コンピューティングデバイス300が、少なくとも1つの機能の拡張が要求するアプリケーションと互換性がないと判定する場合、以下で説明されるように方法200は、段階250に進む。コンピューティングデバイス300が、少なくとも1つの機能の拡張が要求するアプリケーションと互換性があると判定する場合、コンピューティングデバイス300が少なくとも1つの機能の拡張から少なくとも1つのオブジェクトの変更を受信する段階240に、方法200は進む。本発明の実施形態に合致して、機能の拡張130は、可視化プラットフォーム110、及び/又は、要求されたオブジェクトの作成のためのアプリケーション140により提供される少なくとも1つの描く指示において、追加、除去、及び/又は、無効化をする。例えば、機能の拡張130は、チャートオブジェクトに追加されることになる説明文、背景、並びに/又は、追加のデータ値、及び/若しくは、データ系列を提供する。さらに、本発明の実施形態に合致して、機能の拡張130は、アプリケーションにより提供されるように形の配置のための描く指示を無効化するチャートオブジェクト上のデータ地点についての代替の形の配置を含む描く指示を提供する。例えば、機能の拡張130は、アプリケーション140により提供されるデフォルトの円の形の代わりにチャートオブジェクトの上にデータ地点として使用する八角形の形を含む描く指示を提供する。別の例として、機能の拡張130は、線形のスケールよりむしろログスケールとしてチャートを再び描くことにより、及び/又は、分割の軸を使用することにより等、オブジェクトの変更のための描く指示の無効化を提供する。
コンピューティングデバイス300が少なくとも1つのオブジェクトの変更を受信した段階240から、コンピューティングデバイス300が受信した変更によりオブジェクトを変更する段階245に、方法200は進む。例えば、可視化プラットフォーム110は、新しい要素を描くか、又は、作成されたオブジェクトの既に描かれた要素を再び描く。本発明の実施形態に合致して、可視化プラットフォーム110は、機能の拡張130、及び/又は、アプリケーション140から変更を受信し、従ってオブジェクトを変更する。例えば、可視化プラットフォーム110は、アプリケーション140からの要求により表示されたデータ値でチャートオブジェクトを作成し、機能の拡張130から受信した変更によりデータ系列を追加し、アプリケーション140から受信した変更によりオブジェクト上に表示されるデータ系列の色を変更する。
段階245から、コンピューティングデバイス300が作成されたオブジェクトへのアクセスを要求するアプリケーションに提供する段階250に、方法200は進む。例えば、可視化プラットフォーム110は、可視化プラットフォームに関連付けられたメモリの位置においてオブジェクトを作成し、API(application programming interface)を使用して機能の拡張130、及び/又は、アプリケーション140へのメモリの位置へのアクセスを許可する。本発明の実施形態に合致して、可視化プラットフォーム110は、可視化プラットフォーム110に関連付けられたメモリの位置においてオブジェクトへのアクセスを提供するよりむしろ、要求するものへオブジェクトのコピーを提供する。
段階250から、コンピューティングデバイス300が作成されたオブジェクトを表示する段階255に、メモリ200は進む。例えば、アプリケーション140は、作成されたオブジェクトにアクセスし、レンダリングコンポーネント145を使用してディスプレイデバイス150にそれをレンダリングする。オブジェクトをレンダリングすることは、オブジェクトに関連付けられたモデルから画像を生成することを含む。オブジェクトに関連付けられたモデルは、データ構造における3次元オブジェクトの記述を含み、配置、ビューポイント、テクスチャ、光、及び/又は、影の情報を含む。画像は、デジタルイメージ、又は、ラスターのグラフィックス画像を含む。
一度、コンピューティングデバイス300が段階255において、オブジェクトを表示すると、方法200はその後、段階260で終了する。
方法200の例として、アプリケーション140は、可視化プラットフォーム110からチャートオブジェクトを要求する可能性があり、要求は、チャートのタイプ、少なくとも1つのデータ値、及び/又は、データ系列を提供する。可視化プラットフォーム110はチャートオブジェクトを作成し、可視化プラットフォーム110に関連付けられた命令を描くことにより説明文、及び、タイトルでチャートオブジェクトを存在させる。アプリケーション140がチャートオブジェクトをレンダリングする段階225において、アプリケーション140は、チャートオブジェクトに関連付けられた形を提供することを可視化プラットフォーム110に尋ねる。アプリケーション140は、形をウォークスルーし、プリンタ、又は、ディスプレイデバイス150等の出力デバイスにそれらをレンダリングするために、それぞれについて描く指示を受信する。機能の拡張130は、作成されたオブジェクトの全ての種類の可視の要素を無効化、及び/又は、拡張する。別の例について、機能の拡張130は、特定の地図の形、説明文、タイトル、説明文の項目、軸、及び/又は、チャート全体を無効化する。
機能の拡張130により提供される各要素、及び/又は、機能は、要素の名前で関連付けられ、これらの要素の名前は、可視化プラットフォーム110が作成するよう作動するオブジェクトのリストを提供することの一部として提供される。可視化プラットフォーム110は、要求されたオブジェクトがオブジェクト作成要求において機能の拡張130で関連付けられた要素の名前を含むことにより機能の拡張130で関連付けられることを判定する。例えば、アプリケーション140は、利用可能なチャートのドロップダウン、及び/又は、ユーザにより選択可能なデータ系列を提供する。ユーザの選択を受信した上で、アプリケーション140は、可視化プラットフォーム110により作成されることになるオブジェクトを要求し、可視化プラットフォーム110は、機能の拡張が指名された要素で関連付けられているか否かを判定するために機能の拡張130等の既知の機能の拡張のそれぞれをクエリする。一度可視化プラットフォーム110が適用可能な機能の拡張を判定すると、可視化プラットフォーム110は、指名された要素を追加、更新、及び/又は変更するために、適用可能な機能の拡張から描く指示を受信する。
本発明に合致した実施形態は、拡張性フレームワークを提供するためのシステムを含む。システムは、メモリストレージ及びメモリストレージに結合された処理ユニットを含む。処理ユニットは、可視化プラットフォームをインスタント化し、可視化プラットフォームに少なくとも1つの機能の拡張を登録し、少なくとも1つのアプリケーションから少なくとも1つのオブジェクトを作成する要求を受信し、少なくとも1つのオブジェクトを作成するよう作動する。要求が少なくとも1つの機能の拡張に関連付けられているか否かを判定することと、要求が少なくとも1つの機能の拡張に関連付けられていることを判定することに応答して、少なくとも1つの機能の拡張から少なくとも1つのオブジェクトの変更を受信することと、少なくとも1つのオブジェクトの変更によりオブジェクトを変更することと、ディスプレイデバイス上にオブジェクトをレンダリングすること。
本発明に合致する別の実施形態は、アプリケーションの拡張性を提供するためのシステムを含む。システムは、メモリストレージ及びメモリストレージに結合された処理ユニットを含む。処理ユニットは、可視化プラットフォームで使用するために作動する少なくとも1つの機能の拡張を位置付け、少なくとも1つのユーザアプリケーションから少なくとも1つのオブジェクトを作成する要求を受信し、少なくとも1つのオブジェクトを作成するよう作動する。システムは、要求が少なくとも1つの機能の拡張に関連付けられているかを判定し、要求が少なくとも1つの機能の拡張に関連付けられていることの判定に応答して、少なくとも1つの機能の拡張から少なくとも1つのオブジェクトの変更を受信し、少なくとも1つのオブジェクトの変更によりオブジェクトを変更する。システムは、その後ディスプレイデバイス上のオブジェクトをレンダリングする。
まだ本発明に合致する別の実施形態は、アプリケーション拡張性フレームワークを提供するためのシステムを含む。システムは、メモリストレージ及びメモリストレージに結合された処理ユニットを含む。処理ユニットは、可視化プラットフォームをインスタンス化し、少なくとも1つの機能の拡張を登録し、可視化プラットフォームがアプリケーションを作成するよう作動するオブジェクトのリストを提供し、アプリケーションから少なくとも1つのオブジェクトのリストを作成するための要求を受信し、可視化プラットフォームにより提供され、要求されたオブジェクトのタイプに関連付けられた少なくとも1つの描く指示により少なくとも1つの要求されたオブジェクトを作成するよう作動する。オブジェクトが機能の拡張に関連付けられ、機能の拡張は少なくとも1つのアプリケーションと互換性がある場合、システムは少なくとも1つの機能の拡張から少なくとも1つのオブジェクトの変更を受信し、少なくとも1つのオブジェクトの変更によりオブジェクトを変更し、ディスプレイデバイス上のオブジェクトをレンダリングするよう作動する。
図3は、コンピューティングデバイス300を含むシステムのブロック図である。本発明の実施形態に合致して、前述のメモリストレージ、及び、処理ユニットが、図3のコンピューティングデバイス300等のコンピューティングデバイスに実装される。ハードウェア、ソフトウェア、又は、ファームウェアの人気の適した組み合わせが、メモリストレージ、及び、処理ユニットを実装するために使用される。例えば、メモリストレージ、及び、処理ユニットは、コンピューティングデバイス300、又は、コンピューティングデバイス300と組み合わせて任意の他のコンピューティングデバイス318で実装される。前述のシステム、デバイス、及び、プロセッサは、例であり、本発明の実施形態に合致して、他のシステム、デバイス及びプロセッサは、前述のメモリストレージ及び処理ユニットを含む。さらに、コンピューティングデバイス300は、上述のようにシステム100についてのオペレーティング環境を含む。システム100は、他の環境において作動するが、コンピューティングデバイス300に限定されない。
図3を参照して、本発明の実施形態に合致するシステムは、コンピューティングデバイス300等のコンピューティングデバイスを含む。基本の構成において、コンピューティングデバイス300は、少なくとも1つの処理ユニット302、システムメモリ304を含む。コンピューティングデバイスの構成及びタイプに依存して、システムメモリ304は、揮発性(例えば、RAM(random access memory))、不揮発性(例えばROM(read-only memory))、フラッシュメモリ又は任意の組み合わせを限定ではなく含む。システムメモリ304は、オペレーティングシステム305、1以上のプログラミングモジュール306を含み、可視化プラットフォーム110、及び/又は、機能の拡張130を含む。例えば、オペレーティングシステム305は、コンピューティングデバイス300の作動を制御するのに適している可能性がある。一実施形態において、プログラミングモジュール306は、ユーザアプリケーション140を含む。さらに、本発明の実施形態は、グラフィックライブラリ、他のオペレーティングシステム、又は、任意の他のアプリケーションプログラムと併せて実施される可能性があり、任意の特定のアプリケーション又は、システムに限定されない。基本の構成は、点線308内のコンポーネントにより図3において示される。
コンピューティングデバイス300は、追加の機能、又は、機能性を有する。例えば、コンピューティングデバイス300は、例えば、磁気ディスク、光ディスク、又は、テープ等の(リムーバブル、及び/又は、リムーバブルでない)追加のデータストレージデバイスも含む。このような追加のストレージは、リムーバブルストレージ309、及び、リムーバブルでないストレージ310により、図3において示される。コンピュータストレージメディアは、コンピュータ読み取り可能な命令、データ構造、プログラムモジュール、又は、他のデータ等の情報を格納するための任意の方法、又は、技術において実装される揮発性、及び、不揮発性、リムーバブル、及び、リムーバブルでないメディアを含む。システムメモリ304、リムーバブルストレージ309、及び、リムーバブルでないストレージ310は、全てのコンピュータストレージメディアの例(つまり、メモリストレージ)である。コンピュータストレージメディアは、RAM、ROM、EEPROM(electrically erasable programmable read only memory)、フラッシュメモリ、又は、他のメモリ技術、CD−ROM、DVD(digital Versatile Disks)若しくは、他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、若しくは、他の磁気ストレージデバイス、又は、情報を格納するのに使用でき、コンピューティングデバイス300により、アクセスできる任意の他のメディアを含む。任意のこのようなコンピュータストレージメディアは、デバイス300の一部である。コンピューティングデバイス300は、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイス等の入力デバイス312も有する。ディスプレイ、スピーカー、プリンタ等の出力デバイス314も含まれる。前述のデバイスは、例であり、他のものも使用される。
コンピューティングデバイス300は、例えば、イントラネット、又は、インターネットの分散コンピューティング環境において、ネットワーク上で等、他のコンピューティングデバイス318と通信することをデバイス300に可能にする通信接続316も含む。通信接続316は、通信媒体の一例である。通信媒体は、通常、コンピュータ読み取り可能な命令、データ構造、プログラムモジュール又は搬送波、若しくは、他の転送メカニズム等のモジュール化されたデータ信号における他のデータにより実装される可能性があり、任意の情報伝達媒体を含む。「変調されたデータ信号」という用語は、1以上の特性セットを有するか、信号に情報をエンコードする方式で変えられた信号を説明する。例としてであり、限定ではなく、通信媒体は、有線ネットワーク又は直接有線接続などの有線媒体、及びアコースティック、RF(radio frequency)、赤外線、及び他の無線媒体等の無線媒体を含む。本明細書で使用されるコンピュータ読み取り可能な媒体という用語は、ストレージ媒体及び通信媒体の両方を含む。
上記のように、多くのプログラムモジュール及びデーターファイルは、オペレーティングシステム305を含むシステムメモリ304に格納される。処理ユニット302上で実行している一方で、プログラミングモジュール306(例えば、可視化プラットフォーム110及び/又は、機能の拡張130)は、例えば、上述の1以上の方法200の段階を含む処理を実施する。前述の処理は、例であり、処理ユニット302は、他の処理を実施する。本発明の実施形態により使用される他のプログラミングモジュールは、電子メール及び連絡先アプリケーション、ワード処理アプリケーション、表計算アプリケーション、データーベースアプリケーション、スライドプレゼンテーションアプリケーション、描く、又は、コンピュータ支援のアプリケーションプログラム等を含む。
一般に、本発明の実施形態に合致して、プログラムモジュールは、ルーチン、プログラム、コンポーネント、データ構造、及び、特定のタスクを実施するか、又は、特定の抽象データタイプを実装する他のタイプの構造を含む。さらに、本発明の実施形態は、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースの、又は、プログラマブル消費家電、ミニコンピュータ、メインフレームコンピュータ、及び、同様のものを含む、他のコンピュータシステム構成で実践される。本発明の実施形態は、タスクが通信ネットワークを通してリンクされるリモートの処理デバイスにより実施される分散コンピューティング環境においても実践される。分散コンピューティング環境において、プログラムモジュールは、ローカル、及び、リモートの両方のメモリストレージデバイスに位置付けられる。
さらに、本発明の実施形態は、分離した電子要素、論理ゲートを含むマイクロプロセッサを含むパッケージ化、若しくは、統合された電子チップ、マイクロプロセッサを利用する集積回路、又は、電子要素、若しくは、マイクロプロセッサを含む単一のチップ上を含む電子回路において、実践される。本発明の実施形態は、機械、光、流体及び量子の技術を含むがこれらに限定されない、例えばAND、OR及びNOT等の論理操作を実施することができる他の技術を使用しても実践される。さらに、本発明の実施形態は、汎用目的のコンピュータ、又は、任意の他の集積回路、又は、システム内でも実践される。
例えば、本発明の実施形態は、コンピュータ処理(方法)、コンピューティングシステム、又は、コンピュータプログラム製品、又は、コンピュータ読み取り可能な媒体等の製品の品物として実装される。コンピュータプログラム製品は、コンピュータシステムにより読み取り可能で、コンピュータ処理の実行のために指示をコンピュータプログラムにエンコードするコンピューターストレージ媒体である。コンピュータプログラム製品は、コンピュータシステムにより読み取り可能であり、コンピュータ処理の実行のための指示をコンピュータプログラムにエンコードする、搬送波上の伝播された信号でもある。従って本発明は、ハードウェア、及び/又は(ファームウェア、常駐ソフトウェア、マイクロコード等を含む)ソフトウェアにおいて組み込まれる。言い換えると本発明の実施形態は、命令実行システムによる使用のため、又は、関係して媒体に組み込まれるコンピュータ使用可能、又は、コンピュータ読み取り可能なプログラムコードを有するコンピュータ使用可能、又は、コンピュータ読み取り可能ストレージ媒体上のコンピュータプログラム製品の形式を取る。コンピュータ使用可能、又は、コンピュータ読み取り可能な媒体は、命令実行システム、装置、又は、デバイスを使用することにより、又は、関係してプログラムを含むか、格納するか、通信するか、伝播するか、又は、転送できる任意の媒体である。
コンピュータ使用可能、又は、コンピュータ読み取り可能な媒体は、例えば電子、磁気、光、電磁気、赤外線、又は、セミコンダクタシステム、装置、デバイス、若しくは、伝播媒体であるがこれらに限定されない。さらに、詳細なコンピュータ読み取り可能媒体の例(包括的ではないリスト)、コンピュータ読み取り可能な媒体は以下を含む、つまり1以上の有線を有する電気的な接続、ポータブルのコンピュータディスクカセット(computer diskette)、RAM(random access memory)、ROM(read only memory)、EPROM(erasable programmable read-only memory)又は、フラッシュメモリ(Flash memory)、光ファイバ、ポータブルのCD−ROM(compact disc read only memory)である。コンピュータ使用可能、又は、コンピュータ読み取り可能な媒体は、プログラムが、印字される紙又は別の適した媒体でさえありえて、プログラムは、例えば、紙又は他の媒体の光スキャンを介してプログラムが電気的にキャプチャされ、その後にコンパイルされ、解釈され、さもなければ必要に応じて適した方式で処理され、その後、コンピュータメモリに格納されることが可能であることに留意されたい。
例えば、本発明の実施形態は、ブロック図、及び/又は、本発明の実施形態による方法、システム、及び、コンピュータプログラム製品の操作図を参照して上述される。ブロックに示される機能/動作は、任意のフローチャートに示される順序以外でも起こる。例えば、成功において示される2つのブロックは実際、引き起こされた機能/動作に依存して、実際は平行して実行されるか、又はブロックは時折逆の順番で実行される。
さらに、本発明のある実施形態が説明されてきた一方で、他の実施形態も存在する。さらに本発明の実施形態が、メモリ及び他のストレージ媒体に格納されたデータに関連付けられて説明されてきたが、ハードディスク、フロッピーディスク、若しくは、CD−ROM、インターネットからの搬送波、又は、RAM、若しくは、ROMの他の形式のような、セカンダリストレージ媒体等の他のタイプのコンピュータ読み取り可能な媒体にデータを格納、又は、から読み出すこともできる。さらに開示の方法の段階は、本発明から逸脱することなく段階を再順序付け、及び/又は、段階を挿入、又は、削除することを含む任意の方式で変更される。
本明細書に含まれるコードにおける著作権を含む全ての権利は、出願人に与えられ、出願人の所有権である。出願人は、本明細書に含まれるコードにおける全ての権利を保有及び留保し、取得された特許の複製と関係してのみであり他の目的なく、構成要素を複製するための許諾を付与する。
明細書が例を含む一方で、本発明の範囲は、以下の特許請求の範囲により示される。さらに、明細書が構造的な機能、及び/又は、方法論的な動作に特有の言語で説明されてきたが、特許請求の範囲は上述の機能、又は、動作に限定されない。むしろ、上述の特有の機能、及び動作は、本発明の実施形態のための例として開示される。

Claims (20)

  1. 拡張性フレームワークを提供するプロセッサにより実行されるコンピュータ実装方法であって、
    可視化プラットフォームをインスタンス化するステップと、
    前記可視化プラットフォームで少なくとも1つの機能の拡張を登録するステップであって、前記可視化プラットフォームは、前記少なくとも1つの機能の拡張と、少なくとも1つのユーザアプリケーションとの間の中間インターフェースを備える、登録するステップと、
    前記少なくとも1つのユーザアプリケーションから少なくとも1つのオブジェクトを作成するための要求を受信するステップと、
    前記可視化プラットフォームにより、前記少なくとも1つのオブジェクトを作成するステップと、
    前記要求が前記少なくとも1つの機能の拡張に関連付けられていることを判定するステップと、
    前記要求が前記少なくとも1つの機能の拡張に関連付けられていることを判定するステップに応答して、
    前記少なくとも1つの機能の拡張から少なくとも1つのオブジェクトの変更を受信するステップと、
    前記少なくとも1つのオブジェクトの変更が前記少なくとも1つのオブジェクトのタイプと互換性があるかを検証するステップと、
    前記少なくとも1つのオブジェクトの変更の互換性に従い前記オブジェクトを変更するステップと、
    ディスプレイデバイス上に前記オブジェクトをレンダリングするステップと
    を備えることを特徴とする方法。
  2. 前記少なくとも1つのユーザアプリケーションは、前記ディスプレイデバイス上に前記オブジェクトをレンダリングすることを特徴とする請求項1に記載の方法。
  3. 前記少なくとも1つのユーザアプリケーションから少なくとも1つの第2のオブジェクトの変更を受信するステップと、
    前記少なくとも1つの第2のオブジェクトの変更に従いオブジェクトを変更するステップと
    をさらに備えることを特徴とする請求項1に記載の方法。
  4. 前記要求を受信するステップは、可視化のタイプ及び少なくとも1つのデータ値を受信するステップを備え、
    前記オブジェクトは、前記要求された可視化のタイプの可視化オブジェクトを備え、
    前記可視化プラットフォームは、前記可視化タイプ及び前記少なくとも1つのデータ値についての指示を描く少なくとも1つのデフォルトを備える
    ことを特徴とする請求項1に記載の方法。
  5. 前記少なくとも1つのユーザアプリケーションは、前記可視化プラットフォームがユーザに前記複数のオブジェクトを作成及び表示するよう作動する前記複数のオブジェクトを判定するよう作動することを特徴とする請求項1に記載の方法。
  6. 前記可視化プラットフォームが作成するよう作動する前記複数のオブジェクトを判定するステップは、前記可視化プラットフォームから前記複数のオブジェクトのリストを取り出すステップを備えることを特徴とする請求項5に記載の方法。
  7. 前記可視化プラットフォームが作成するよう作動する前記複数のオブジェクトを判定するステップは、前記少なくとも1つの機能の拡張についての少なくとも1つの位置を検索するステップを備えることを特徴とする請求項5に記載の方法。
  8. 前記要求が前記少なくとも1つの機能の拡張に関連づけられるか否かを判定するステップは、前記少なくとも1つの機能の拡張が以下の少なくとも1つ、つまり少なくとも1つのデータ値及び少なくとも1つの描く指示、を備えるか否かを判定するステップを備えることを特徴とする請求項1に記載の方法。
  9. 前記少なくとも1つの機能の拡張からの前記少なくとも1つのオブジェクトの変更は、
    前記オブジェクトを作成するために前記可視化プラットフォームにより使用される少なくとも1つの描く指示を無効化する描く指示を備えることを特徴とする請求項1に記載の方法。
  10. 前記少なくとも1つの機能の拡張からの前記少なくとも1つのオブジェクトの変更は、
    前記オブジェクトを作成するために前記可視化プラットフォームにより使用される少なくとも1つの描く指示を追加する描く指示を備えることを特徴とする請求項1に記載の方法。
  11. 前記少なくとも1つの機能の拡張からの前記少なくとも1つのオブジェクトの変更は、
    前記オブジェクト上に表示される複数のデータ位置を備えることを特徴とする請求項1に記載の方法。
  12. アプリケーションの拡張性を提供するためのシステムであって、
    前記システムは、
    メモリーストレージと、
    前記メモリーストレージに結合される処理ユニットであって、
    可視化プラットフォームをインスタンス化し、
    前記可視化プラットフォームで使用するために作動する少なくとも1つの機能の拡張を位置付け、前記可視化プラットフォームは、前記少なくとも1つの機能の拡張と、少なくとも1つのユーザアプリケーションとの間の中間インターフェースを備え、
    少なくとも1つのユーザアプリケーションから少なくとも1つのオブジェクトを作成する要求を受信し、
    前記少なくとも1つのオブジェクトを作成し、
    前記要求が前記少なくとも1つの機能の拡張に関連付けられているか否かを判定し、
    前記要求が前記少なくとも1つの機能の拡張に関連付けられることの判定に応答して、
    前記少なくとも1つの機能の拡張から少なくとも1つのオブジェクトの変更を受信し、
    前記少なくとも1つのオブジェクトの変更が少なくとも1つのオブジェクトのタイプと互換性を有するか検証するステップと、
    前記少なくとも1つのオブジェクトの変更の互換性に従い前記オブジェクトを変更し、
    ディスプレイデバイス上に前記オブジェクトをレンダリングする
    よう作動する前記処理ユニットと
    を備えることを特徴とするシステム。
  13. 前記可視化プラットフォームに関連付けられた前記メモリーストレージのメモリ位置に前記オブジェクトを記憶し、
    前記アプリケーションと前記機能の拡張により前記メモリ位置へのアクセスを制御することを特徴とする請求項12に記載のシステム。
  14. 前記可視化プラットフォームで使用するために作動する少なくとも1つの機能の拡張を位置付けるように作動することは、前記少なくとも1つの機能の拡張のために前記メモリートレージの予め定義されたメモリ位置を検索するように作動することを備えることを特徴とする請求項12に記載のシステム。
  15. 複数のソフトウェアオペレーティングシステムの少なくとも1つを実行し、
    複数のソフトウェアオペレーティングシステムの少なくとも1つの実行にもかかわらず、前記少なくとも1つの特徴の拡張を利用するように作動することをさらに含むことを特徴とする請求項12に記載のシステム。
  16. 前記作成されたオブジェクトは、複数のユーザアプリケーションで共有することを特徴とする請求項12に記載のシステム。
  17. 前記可視化プラットフォームが前記少なくとも1つのユーザアプリケーションを作成するために作動するオブジェクトのリストを提供するよう作動することをさらに備え、前記可視化プラットフォームが作成するために作動するオブジェクトのリストが、前記少なくとも1つの機能の拡張から前記少なくとも1つのオブジェクトの変更を要求する少なくとも1つのオブジェクトを備えることを特徴とする請求項12に記載のシステム。
  18. 前記少なくとも1つのユーザアプリケーションのために前記可視化のプラットフォームが作成するよう作動するオブジェクトのリストを提供するよう作動することは、前記少なくとも1つのユーザアプリケーションが前記少なくとも1つの機能の拡張と互換性があるか否かを判定するよう作動し、
    前記少なくとも1つのユーザアプリケーションが前記少なくとも1つの機能の拡張に互換しないことの判定に応答して、前記可視化プラットフォームが作成するために作動する前記オブジェクトのリストから前記少なくとも1つの機能の拡張に関連付けられた少なくとも1つのオブジェクトを保留する
    ことを特徴とする請求項17に記載のシステム。
  19. 前記少なくとも1つのオブジェクトの変更に従い前記オブジェクトを変更するように作動することは、描く指示の無効化及び少なくとも1つの追加の描く要素の少なくとも1つを備える、受信するように作動することを含むことを特徴とする請求項12に記載のシステム。
  20. 実行されるときアプリケーションの拡張性フレームワークを提供する方法を実施する指示のセットを格納するコンピュータ読み取り可能な記録媒体であって、前記指示のセットにより実行される方法は、
    可視化プラットフォームをインスタンス化するステップと、
    少なくとも1つの機能の拡張を前記可視化プラットフォームに登録するステップであって、前記可視化プラットフォームは、前記少なくとも1つの機能の拡張と、少なくとも1つのユーザアプリケーションとの間の中間インターフェースを備える、登録するステップと、
    前記可視化プラットフォームが少なくとも1つのアプリケーションを作成するよう作動するオブジェクトのリストを提供するステップであって、前記オブジェクトのリストが、可視化プラットフォームが作成するために前記少なくとも1つの機能の拡張を要求する、提供するステップと、
    前記少なくとも1つのアプリケーションから少なくとも1つの前記オブジェクトのリストを作成する要求を受信するステップであって、前記要求が前記アプリケーションに提供される前記オブジェクトのリストからのユーザ選択を備える、受信するステップと、
    前記可視化プラットフォームにより提供され、要求されたオブジェクトのタイプに関連付けられた少なくとも1つの描く指示に従い少なくとも1つの要求されたオブジェクトを作成するステップと、
    前記要求されたオブジェクトは、前記少なくも1つの機能の拡張に関連付けられているかを判定するステップと、
    前記要求が少なくとも1つの機能の拡張に関連付けられることを判定するステップに応答して、前記少なくとも1つの機能の拡張が前記少なくとも1つのアプリケーションと互換性があることを判定するステップであって、前記少なくとも1つの機能の拡張が前記少なくとも1つのアプリケーションと互換性があるか否かを判定するステップは、前記少なくとも1つのアプリケーションが互換性のあるリリースバージョンを備えるか否かを判定するステップ、及び前記少なくとも1つのアプリケーションが前記少なくとも1つの機能の拡張を使用するためのライセンスを備えるか否かを判定するステップのうちの少なくとも1つを備える、判定するステップと、
    前記少なくとも1つの機能の拡張が前記少なくとも1つのアプリケーションと互換性があるか否かを判定するステップに応答して、
    前記少なくとも1つの機能の拡張からの少なくとも1つのオブジェクトの変更を受信するステップであって、前記少なくとも1つのオブジェクトの変更が、描く指示の無効化及び少なくとも1つの追加の描く要素の少なくとも1つを備える、受信するステップと、
    前記少なくとも1つのオブジェクトの変更が前記少なくとも1つのオブジェクトのタイプと互換性があることを検証するステップと、
    前記少なくとも1つのオブジェクトの変更の互換性に従い前記オブジェクトを変更するステップと、
    前記アプリケーションによりディスプレイデバイス上に前記オブジェクトをレンダリングするステップと
    を備えることを特徴とするコンピュータ読み取り可能な記録媒体。
JP2012508555A 2009-04-30 2010-04-23 プラットフォームの拡張性フレームワーク Active JP5697661B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/433,327 US9250926B2 (en) 2009-04-30 2009-04-30 Platform extensibility framework
US12/433,327 2009-04-30
PCT/US2010/032308 WO2010126803A2 (en) 2009-04-30 2010-04-23 Platform extensibility framework

Publications (3)

Publication Number Publication Date
JP2012525639A JP2012525639A (ja) 2012-10-22
JP2012525639A5 JP2012525639A5 (ja) 2014-10-09
JP5697661B2 true JP5697661B2 (ja) 2015-04-08

Family

ID=43031341

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012508555A Active JP5697661B2 (ja) 2009-04-30 2010-04-23 プラットフォームの拡張性フレームワーク

Country Status (16)

Country Link
US (1) US9250926B2 (ja)
EP (1) EP2425332A4 (ja)
JP (1) JP5697661B2 (ja)
KR (1) KR101625258B1 (ja)
CN (1) CN102414660B (ja)
AU (1) AU2010241813B2 (ja)
BR (1) BRPI1011230A2 (ja)
CA (1) CA2756862A1 (ja)
CL (1) CL2011002656A1 (ja)
IL (1) IL215278A0 (ja)
MX (1) MX2011011347A (ja)
RU (1) RU2011143803A (ja)
SG (2) SG174919A1 (ja)
TW (1) TW201044274A (ja)
WO (1) WO2010126803A2 (ja)
ZA (1) ZA201106944B (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8786628B2 (en) * 2007-09-14 2014-07-22 Microsoft Corporation Rendering electronic chart objects
US8638343B2 (en) * 2009-04-30 2014-01-28 Microsoft Corporation Data visualization platform performance optimization
US9250926B2 (en) 2009-04-30 2016-02-02 Microsoft Technology Licensing, Llc Platform extensibility framework
US8694988B2 (en) * 2010-10-22 2014-04-08 Adobe Systems Incorporated Runtime extensions
US8683462B2 (en) 2010-10-22 2014-03-25 Adobe Systems Incorporated Handling calls to native code in a managed code environment
US20130260730A1 (en) * 2012-03-28 2013-10-03 Enterproid Hk Ltd Custom application container for mobile operating systems and/or devices
US9369528B2 (en) * 2013-04-08 2016-06-14 Xerox Corporation Multi-function device application catalog with integrated discovery, management, and application designer
US10810159B2 (en) 2014-10-14 2020-10-20 Microsoft Technology Licensing, Llc. Modular updating of visualizations
US11029836B2 (en) 2016-03-25 2021-06-08 Microsoft Technology Licensing, Llc Cross-platform interactivity architecture
US10395412B2 (en) 2016-12-30 2019-08-27 Microsoft Technology Licensing, Llc Morphing chart animations in a browser
US11086498B2 (en) 2016-12-30 2021-08-10 Microsoft Technology Licensing, Llc. Server-side chart layout for interactive web application charts
US10304225B2 (en) 2016-12-30 2019-05-28 Microsoft Technology Licensing, Llc Chart-type agnostic scene graph for defining a chart
US11029970B2 (en) * 2018-10-24 2021-06-08 Sap Se Operating system extension framework
CN113405769B (zh) * 2021-06-18 2022-08-30 中国科学院、水利部成都山地灾害与环境研究所 模拟冰碛湖漫顶溃决灾害全过程的实验装置及实验方法

Family Cites Families (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5228119A (en) * 1990-09-28 1993-07-13 Temple University Multi-dimensional graphing in two-dimensional space
US5175805A (en) * 1990-10-30 1992-12-29 Sun Microsystems, Inc. Method and apparatus for sequencing composite operations of pixels
US5461708A (en) * 1993-08-06 1995-10-24 Borland International, Inc. Systems and methods for automated graphing of spreadsheet information
US5581677A (en) * 1994-04-22 1996-12-03 Carnegie Mellon University Creating charts and visualizations by demonstration
US6243172B1 (en) * 1995-01-18 2001-06-05 Varis Corporation Method and system for merging variable text and images into bitmaps defined by a page description language
US5859958A (en) * 1995-11-14 1999-01-12 Apple Computer, Inc. Compact representation of object slices for rendering raster graphics
US6374255B1 (en) * 1996-05-21 2002-04-16 Immersion Corporation Haptic authoring
US5982399A (en) * 1996-06-21 1999-11-09 Autodesk, Inc. Immediate mode drawing interface for the construction of graphics software
US6023279A (en) * 1997-01-09 2000-02-08 The Boeing Company Method and apparatus for rapidly rendering computer generated images of complex structures
US5936641A (en) * 1997-06-27 1999-08-10 Object Technology Licensing Corp Graphics hardware acceleration method, computer program, and system
US6052125A (en) * 1998-01-07 2000-04-18 Evans & Sutherland Computer Corporation Method for reducing the rendering load for high depth complexity scenes on a computer graphics display
US6529900B1 (en) * 1999-01-14 2003-03-04 International Business Machines Corporation Method and apparatus for data visualization
US5972987A (en) * 1999-03-16 1999-10-26 Lori Fox Reid Method for removing nits from hair
US6701383B1 (en) * 1999-06-22 2004-03-02 Interactive Video Technologies, Inc. Cross-platform framework-independent synchronization abstraction layer
US6466211B1 (en) * 1999-10-22 2002-10-15 Battelle Memorial Institute Data visualization apparatuses, computer-readable mediums, computer data signals embodied in a transmission medium, data visualization methods, and digital computer data visualization methods
JP3576897B2 (ja) 1999-11-11 2004-10-13 Necパーソナルプロダクツ株式会社 ウェブブラウザのプラグイン実現方式、ウェブブラウザのプラグイン実現方法およびウェブブラウザのプラグイン実現用プログラムを記録した記録媒体
US7454439B1 (en) * 1999-11-24 2008-11-18 At&T Corp. System and method for large-scale data visualization
US7000230B1 (en) 2000-06-21 2006-02-14 Microsoft Corporation Network-based software extensions
US7034828B1 (en) * 2000-08-23 2006-04-25 Nintendo Co., Ltd. Recirculating shade tree blender for a graphics system
US6523074B1 (en) * 2000-08-25 2003-02-18 Lucent Technologies Inc. Apparatus and method to manage the invocation of feature service
US7231606B2 (en) * 2000-10-31 2007-06-12 Software Research, Inc. Method and system for testing websites
NZ508429A (en) * 2000-11-24 2003-05-30 Compudigm Int Ltd Queue management using a data visualisation system
US20020199156A1 (en) * 2001-05-23 2002-12-26 Fuel Tech, Inc. Hardware-adaptable data visualization tool for use in complex data analysis and engineering design
US7010581B2 (en) * 2001-09-24 2006-03-07 International Business Machines Corporation Method and system for providing browser functions on a web page for client-specific accessibility
US8660869B2 (en) * 2001-10-11 2014-02-25 Adobe Systems Incorporated System, method, and computer program product for processing and visualization of information
US20030151604A1 (en) * 2001-11-21 2003-08-14 Research Foundation Of State University Of New York Volume rendering with contouring texture hulls
US6928436B2 (en) * 2002-02-28 2005-08-09 Ilog Sa Interactive generation of graphical visualizations of large data structures
US20040217956A1 (en) * 2002-02-28 2004-11-04 Paul Besl Method and system for processing, compressing, streaming, and interactive rendering of 3D color image data
US6747650B2 (en) * 2002-04-22 2004-06-08 Battelle Memorial Institute Animation techniques to visualize data
JP4467267B2 (ja) * 2002-09-06 2010-05-26 株式会社ソニー・コンピュータエンタテインメント 画像処理方法、画像処理装置、および画像処理システム
US7071940B2 (en) * 2002-10-30 2006-07-04 Iviz, Inc. Interactive data visualization and charting framework with self-detection of data commonality
US20080143725A1 (en) * 2004-02-09 2008-06-19 Smart Technologies Inc. Connected and overlapped shapes enhancements
US7800631B2 (en) * 2003-03-18 2010-09-21 Qualcomm Incorporated Triangle rendering using direct evaluation
US7126606B2 (en) * 2003-03-27 2006-10-24 Microsoft Corporation Visual and scene graph interfaces
US7486294B2 (en) 2003-03-27 2009-02-03 Microsoft Corporation Vector graphics element-based model, application programming interface, and markup language
US7068267B2 (en) * 2003-04-14 2006-06-27 Sas Institute Inc. Computer-implemented system and method for handling linked data views
US20040233193A1 (en) * 2003-04-30 2004-11-25 Sulzer Markets And Technology Ag Method for visualising a spatially resolved data set using an illumination model
US7756907B2 (en) * 2003-09-16 2010-07-13 The Board Of Trustees Of The Leland Stanford Jr. University Computer systems and methods for visualizing data
US20050183003A1 (en) * 2004-02-17 2005-08-18 Checkpoint Software Technologies Ltd. Automatic proxy form filing
US20080288889A1 (en) * 2004-02-20 2008-11-20 Herbert Dennis Hunt Data visualization application
US7574709B2 (en) 2004-04-30 2009-08-11 Microsoft Corporation VEX-virtual extension framework
US7900228B2 (en) * 2004-04-30 2011-03-01 Vulcan Inc. Maintaining a graphical user interface state that is based on a selected piece of content
US20050253840A1 (en) * 2004-05-11 2005-11-17 Kwon Ryan Y W Method and system for interactive three-dimensional item display
GR1004933B (el) 2004-05-17 2005-07-11 Δημητρης Τσαγκαρης Αντικειμενοστραφης πλατφορμα αναπτυξης εφαρμογων προσομοιωσης αντιδραστηρων υδρογονοκατεργασιας
US7176923B2 (en) * 2004-06-18 2007-02-13 Sap Rechnungsprufung Method and system to generate chart models
US7701455B2 (en) * 2004-07-21 2010-04-20 Che-Chih Tsao Data rendering method for volumetric 3D displays
US7584415B2 (en) * 2004-09-15 2009-09-01 Microsoft Corporation Common charting using shapes
US7586500B2 (en) * 2004-09-24 2009-09-08 Canon Kabushiki Kaisha Dynamic render algorithm selection
US7164093B2 (en) * 2005-01-31 2007-01-16 Leviton Manufacturing Co., Inc. Motor starting switch
US7734607B2 (en) * 2005-02-01 2010-06-08 University Of Massachusetts Universal visualization platform
WO2006095017A2 (en) * 2005-03-10 2006-09-14 Bracco Imaging S.P.A. System and method to optimize volumetric rendering of a region of interest
US7593013B2 (en) * 2005-03-11 2009-09-22 University Of Utah Research Foundation Systems and methods for displaying and querying heterogeneous sets of data
US7471417B1 (en) * 2005-03-17 2008-12-30 Adobe Systems Incorporated Method and apparatus for locating a source point for an image-retouching tool
JP4622671B2 (ja) * 2005-04-18 2011-02-02 ソニー株式会社 電子機器および方法、記録媒体、並びにプログラム
TWI269189B (en) 2005-04-25 2006-12-21 Univ Nat Chiao Tung User interface producing system and method thereof
US20060285152A1 (en) * 2005-06-17 2006-12-21 Skillen William A Method and system for embedding native shape file and mapping data within a portable document format file
CN100593156C (zh) 2005-09-02 2010-03-03 北京灵图软件技术有限公司 用于二次开发平台的基于控件的插件管理系统及方法
US7739589B2 (en) * 2005-11-02 2010-06-15 International Business Machines Corporation Extending markup of a browser using a plug-in framework
CA2569449A1 (en) * 2005-11-30 2007-05-30 Oculus Info Inc. System and method for visualizing configurable analytical spaces in time for diagrammatic context representations
US20070174762A1 (en) * 2006-01-24 2007-07-26 International Business Machines Corporation Personal web page annotation system
US20070261100A1 (en) * 2006-05-05 2007-11-08 Greeson Robert L Platform independent distributed system and method that constructs a security management infrastructure
US20080172629A1 (en) * 2007-01-17 2008-07-17 Microsoft Corporation Geometric Performance Metric Data Rendering
US7880749B2 (en) 2007-01-31 2011-02-01 Business Objects Software Ltd. Apparatus and method for data charting with an extensible visualization library
US20080235580A1 (en) * 2007-03-20 2008-09-25 Yahoo! Inc. Browser interpretable document for controlling a plurality of media players and systems and methods related thereto
US20090019429A1 (en) * 2007-07-14 2009-01-15 Andreas Randow Virtualization of data source components in subject-oriented graphical programming environments for test and measurement applications
US20090021513A1 (en) * 2007-07-18 2009-01-22 Pixblitz Studios Inc. Method of Customizing 3D Computer-Generated Scenes
US8786628B2 (en) * 2007-09-14 2014-07-22 Microsoft Corporation Rendering electronic chart objects
US20090089453A1 (en) * 2007-09-27 2009-04-02 International Business Machines Corporation Remote visualization of a graphics application
CN101146175A (zh) 2007-10-25 2008-03-19 中兴通讯股份有限公司 机顶盒集成中间件通用系统
EP2223208A2 (en) * 2007-11-15 2010-09-01 Desknet SA Method enabling a computer apparatus run by an operating system to execute software modules
US8176096B2 (en) * 2008-12-18 2012-05-08 Microsoft Corporation Data visualization interactivity architecture
US9250926B2 (en) 2009-04-30 2016-02-02 Microsoft Technology Licensing, Llc Platform extensibility framework
US8638343B2 (en) 2009-04-30 2014-01-28 Microsoft Corporation Data visualization platform performance optimization
US8924943B2 (en) * 2009-07-17 2014-12-30 Ebay Inc. Browser emulator system

Also Published As

Publication number Publication date
WO2010126803A2 (en) 2010-11-04
AU2010241813B2 (en) 2014-09-18
EP2425332A4 (en) 2012-09-12
KR101625258B1 (ko) 2016-05-27
CA2756862A1 (en) 2010-11-04
SG174919A1 (en) 2011-11-28
US20100281392A1 (en) 2010-11-04
MX2011011347A (es) 2011-11-18
CN102414660B (zh) 2015-02-18
TW201044274A (en) 2010-12-16
KR20120022831A (ko) 2012-03-12
BRPI1011230A2 (pt) 2016-03-15
US9250926B2 (en) 2016-02-02
IL215278A0 (en) 2011-11-30
EP2425332A2 (en) 2012-03-07
CL2011002656A1 (es) 2012-04-13
JP2012525639A (ja) 2012-10-22
CN102414660A (zh) 2012-04-11
SG10201401940TA (en) 2014-06-27
ZA201106944B (en) 2012-11-29
RU2011143803A (ru) 2013-06-10
AU2010241813A1 (en) 2011-10-20
WO2010126803A3 (en) 2011-02-03

Similar Documents

Publication Publication Date Title
JP5697661B2 (ja) プラットフォームの拡張性フレームワーク
KR101331260B1 (ko) 메타데이터를 이용하여 사용자 인터페이스를 렌더링하기위한 장치, 사용자 인터페이스를 생성하는 방법, 및 컴퓨터판독 가능 매체
RU2390822C2 (ru) Способ и устройство создания пользовательских интерфейсов на основе автоматизации с возможностью полной настройки
TWI413933B (zh) 圖形使用者介面之應用程式介面
JP2012525639A5 (ja)
KR20040054465A (ko) 단순화된 뷰를 가지는 사용자 인터페이스 요소 표현
US20140047409A1 (en) Enterprise application development tool
WO2006096209A1 (en) Method and system for displaying and interacting with paginated content
JP2014525622A (ja) オペレーティングシステムのネイティブアプリケーションプログラミングインターフェイスのメタデータを用いた記述
US20170109136A1 (en) Generation of application behaviors
JP2013518321A (ja) パターンベースのユーザインターフェース
CN114357345A (zh) 图片处理方法、装置、电子设备及计算机可读存储介质
US8230319B2 (en) Web-based visualization, refresh, and consumption of data-linked diagrams
KR101171566B1 (ko) 합성 공간 표현의 생성
JP2007538314A (ja) 汎用ユーザインターフェースコマンドアーキテクチャ
US8566734B1 (en) System and method for providing visual component layout input in alternate forms
US20200160273A1 (en) Geolocation web page generation system
JP4976783B2 (ja) プログラム生成装置およびプログラム生成方法およびプログラムおよび記録媒体
US11816420B2 (en) Automatic template and logic generation from a codified user experience design
KR102228241B1 (ko) 웹 상에서의 가상 입력 방법 및 시스템
Liberty et al. Windows 10 Development with XAML and C# 7
KR102150536B1 (ko) 서버 설정에 따라 동적으로 웹 ui 컴포넌트를 생성하기 위한 시스템 및 방법
Liberty et al. Pro Windows 8.1 Development with XAML and C
Walther Windows 8.1 Apps with HTML5 and JavaScript Unleashed

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130319

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130319

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20130701

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130718

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140328

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140519

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20140819

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150113

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150210

R150 Certificate of patent or registration of utility model

Ref document number: 5697661

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250