JP2018514884A - データ視覚化の実装 - Google Patents

データ視覚化の実装 Download PDF

Info

Publication number
JP2018514884A
JP2018514884A JP2017566221A JP2017566221A JP2018514884A JP 2018514884 A JP2018514884 A JP 2018514884A JP 2017566221 A JP2017566221 A JP 2017566221A JP 2017566221 A JP2017566221 A JP 2017566221A JP 2018514884 A JP2018514884 A JP 2018514884A
Authority
JP
Japan
Prior art keywords
data
chart
subset
network
requested
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
JP2017566221A
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 JP2018514884A publication Critical patent/JP2018514884A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • 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
    • 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/986Document structures and storage, e.g. HTML extensions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/206Drawing of charts or graphs

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

システム、方法、及び方法のための命令を含む非一時的コンピュータ可読媒体を使用して、ストレージ及びデータ処理をネットワーク側とローカルアプリケーション側との間で効率的に分割することにより、大量のデータを用いた相互作用型チャートを作成してレンダリングすることができる。いくつかの実施形態例では、これらの2つの側が互いに連動して動作し、或いは又はこれに加えて、いくつかの実施形態例では、これらが独立して及び/又は単独で機能することができる。その後、結果として得られたチャートを外部ウェブページに埋め込むことによって使用することができる。【選択図】なし

Description

〔関連出願との相互参照〕
本出願は、2015年3月13日に出願された米国仮特許出願第62/133,183号に関連し、その優先権を主張するものである。
本出願は、ネットワークコンピュータの分野、並びにコンピュータアプリケーション及び/又はウェブサイトに追加される相互作用的チャートの作成に関する。
これまでは、相互作用可能な機能を有するソフトウェアアプリケーションに開発者がチャートを追加することは困難であった。現在では、これまでに見たこともない速度でデータの取り込み及び作成が行われている。今日のコンピュータ世界において日々収集されるデータの量は、ほんの数十年前に収集されたデータの数年分に等しい。このデータは、ほぼ全ての近代産業において分析及び意思決定に使用されている。しかしながら、大量のデータを分析して人間が理解しやすい形に変化させるには課題が伴うこともある。さらに、このような量のデータを理解しやすい形で表示することは困難である。しばしば、過剰な量のデータはユーザにとって邪魔になり、理解すべき何層ものデータとの相互作用及びその表示のための論理的方法は存在しない。
本明細書に開示する例は、ソフトウェアアプリケーションにチャートを追加する方法及びシステムを含む。データを管理するシステム及び方法が、ネットワーク及びデータストレージと通信するサーバにおいて、データを受け取るステップと、データをデータストレージに記憶させるステップと、モバイル装置上のアプリケーションからネットワークを介して、チャートを表示するために使用するデータの一部を求める要求を受け取るステップと、ネットワークを介してアプリケーションに送信すべき、要求されたデータのサブセットを決定するステップと、要求されたデータのサブセットを、ネットワークを介してアプリケーションに送信するステップと、アプリケーションからネットワークを介して、送信したデータに関連する関連データを求める要求を受け取るステップと、ネットワークを介してアプリケーションに送信すべき、要求された関連データのサブセットを決定するステップと、要求された関連データのサブセットを、ネットワークを介してアプリケーションに送信するステップとを含む。これとは別に、又はこれに加えて、要求されたデータのサブセットを決定するステップは、データ集約を含む。これとは別に、又はこれに加えて、要求されたデータのサブセットを決定するステップは、フィルタリングを含む。これとは別に、又はこれに加えて、要求されたデータのサブセットを決定するステップは、サブビューフィルタリングを含む。これとは別に、又はこれに加えて、チャートは、タイムチャート、ネットワークチャート、円グラフ、ファセットチャート、ジオチャート又はイベントチャートのうちの1つである。これとは別に、又はこれに加えて、データ集約は、選択されたデータフィールドのための異なる値を抽出するステップと、各異なるフィールドのための集約アイテムを作成するステップとを含む。これとは別に、又はこれに加えて、フィルタリングは、フィルタリング基準を用いて、ネットワークを介してアプリケーションに送信すべきデータのサブセットにどのデータを含めるかを判断するステップを含む。これとは別に、又はこれに加えて、サブビューフィルタリングは、チャート内で利用できるデータ全体のサブセットを選択するステップを含む。
データを管理するシステム及び方法は、モバイル装置上で実行される、ネットワーク及びデータストレージと通信するアプリケーションにおいて、データをチャート化する要求をユーザから受け取るステップと、チャートをレンダリングするために使用すべきデータを求める要求を、ネットワークを介してネットワークサーバに送信するステップと、要求したデータのサブセットを受け取るステップと、要求したデータのサブセットをデータストレージに記憶させるステップと、記憶された要求したデータのサブセットを用いて、モバイル装置上に表示するチャートをレンダリングするステップと、レンダリングされたチャートに関する入力をユーザから受け取るステップと、記憶された要求したデータのサブセットに関連する関連データを求める要求をネットワークサーバに送信するステップと、要求した関連データのサブセットを受け取るステップと、受け取った要求した関連データのサブセットを記憶させるステップと、記憶された受け取った要求した関連データのサブセットを用いて、レンダリングされたチャートを変更するステップとを含む。これとは別に、又はこれに加えて、チャートは、タイムチャート、ネットチャート、円グラフ、ファセットチャート、ジオチャート、又はイベントチャートのうちの1つである。これとは別に、又はこれに加えて、アプリケーションは、ユーザが相互作用する視覚的ヒントをさらに表示させ、視覚的ヒントは、モバイル装置との相互作用時に表示できるデータの図形的指示を含む。これとは別に、又はこれに加えて、レンダリングされたチャートは、モバイル装置上でユーザによる相互作用を受け、チャート変更を受け取った時に、このチャート変更を待ち行列に入れ、チャートがレンダリングされる前の予め選択された時点までチャートの更新を先送りする。これとは別に、又はこれに加えて、ユーザから受け取られた入力は、アプリケーションに、ネットワークサーバにさらに多くのデータを要求させる。これとは別に、又はこれに加えて、チャート内でレンダリングされるデータ量を減少させるために、受け取ったデータに対して、データストレージに記憶されたライブラリからのフィルタを使用する。これとは別に、又はこれに加えて、新規データ、又は既存データの更新を求めて、ネットワークサーバに一定の時間間隔でクエリを送信する。これとは別に、又はこれに加えて、アプリケーションは、ネットワークサーバからさらに多くのデータを受け取り、このさらに多くのデータを用いて、変更されたチャートを表示させる。これとは別に、又はこれに加えて、チャートは、円グラフであり、視覚的ヒントは、円グラフの中央にレンダリングされた要約チャートを含み、中央の円グラフ内のスライスのためのハイライトヒントがレンダリングされる。
データを管理する方法のためのコンピュータ実行可能命令を有する非一時的コンピュータ可読媒体であって、命令は、モバイル装置上で実行される、ネットワーク及びデータストレージと通信するアプリケーションにおいて、データをチャート化する要求をユーザから受け取るステップと、チャートをレンダリングするために使用すべきデータを求める要求を、ネットワークを介してネットワークサーバに送信するステップと、要求したデータのサブセットを受け取るステップと、要求したデータのサブセットをデータストレージに記憶させるステップと、記憶された要求したデータのサブセットを用いて、モバイル装置上に表示するチャートをレンダリングするステップと、レンダリングされたチャートに関する入力をユーザから受け取るステップと、記憶された要求したデータのサブセットに関連する関連データを求める要求をネットワークサーバに送信するステップと、要求した関連データのサブセットを受け取るステップと、受け取った要求した関連データのサブセットを記憶させるステップと、記憶された受け取った要求した関連データのサブセットを用いて、レンダリングされたチャートを変更するステップとを含む。これとは別に、又はこれに加えて、ユーザから受け取られた入力は、アプリケーションに、ネットワークサーバにさらに多くのデータを要求させる。これとは別に、又はこれに加えて、命令は、チャートをレンダリングするデータ量を減少させるために、受け取ったデータに対して、ローカルに記憶されたライブラリからのフィルタを使用するステップをさらに含む。これとは別に、又はこれに加えて、命令は、新規データ、又は既存データの更新を求めて、ネットワークサーバに一定の時間間隔でクエリを送信するステップをさらに含む。これとは別に、又はこれに加えて、チャートは、タイムチャートであり、アプリケーションは、水平スワイプのユーザ入力に応答してタイムチャート上の時間範囲をさらに変更する。これとは別に、又はこれに加えて、アプリケーションは、ユーザ入力に応答して、円グラフとネットワークチャートとの組み合わせをレンダリングする。
以下、本発明を理解するとともに、本発明を実際にどのようにして実施できるかを確認するために、添付図面を参照しながら実施形態をほんの非限定的な例として説明する。
本明細書の例によるネットワーク図の例である。 本明細書で説明するいくつかの例による、ネットワークサーバの視点から見たフローチャート例である。 本明細書で説明するいくつかの例による、モバイル装置上で実行中のアプリケーションから見た別のフローチャート例である。 本明細書で説明する例による構成要素のチャート例である。 本明細書で説明する例による構成要素のチャート例である。 本明細書で説明する例による構成要素のチャート例である。 本明細書で説明する例による構成要素のチャート例である。 本明細書で説明する例による構成要素のチャート例である。 本明細書で説明する例によるネットチャート例である。 本明細書で説明する例によるネットチャート例である。 本明細書で説明する例によるネットチャート例である。 本明細書で説明する例によるネットチャート例である。 本明細書で説明する例によるネットチャート例である。 本明細書で説明する例による円グラフ例である。 本明細書で説明する例による円グラフ例である。 本明細書で説明する例による円グラフ例である。 本明細書で説明する例による円グラフ例である。 本明細書で説明する例による円グラフ例である。 本明細書で説明する例による円グラフ例である。 本明細書で説明する例による円グラフ例である。 本明細書で説明する例による円グラフ例である。 本明細書で説明する例によるファセットチャート例である。 本明細書で説明する例によるイベントチャート例である。 本明細書で説明する例によるイベントチャート例である。 本明細書で説明する例による地理的チャート例である。 本明細書で説明する例を実施するために使用されるコンピュータシステム例である。
以下、添付図面に例を示す実施形態を詳細に参照する。以下の詳細な説明では、本明細書に示す主題を十分に理解できるように、数多くの具体的な詳細を示す。しかしながら、当業者には、これらの具体的な詳細を伴わずに主題を実施できることが明らかであろう。さらに、本明細書で説明する特定の実施形態は一例として示すものであり、本発明の範囲をこれらの特定の実施形態に限定するために使用すべきではない。その他の場合、本発明の実施形態の態様を不必要に曖昧にしないように、周知のデータ構造、タイミングプロトコル、ソフトウェア動作、手順及び構成要素については詳細に説明していない。
概要
いくつかの例では、本明細書に開示するシステム及び方法が、データを分析し、データをチャート化し、チャート化したデータを視覚的に表現して人間が理解しやすい形態で出力するために有用となり得る。いくつかの種類の形態としては、以下に限定するわけではないが、スライド表現、文書レポート、スプレッドシート、又は他のいずれかの種類の視覚的表示を挙げることができる。消費者は、後でこれらのデータの視覚的表現がウェブページ及び/又はモバイルアプリケーションの実装に有用であると感じることができる。
本システム及び方法を使用して、ストレージ及びデータ処理をネットワーク側とローカルアプリケーション側との間で効率的に分割することにより、大量のデータを用いた相互作用型チャートを作成してレンダリングすることができる。いくつかの実施形態例では、これらの2つの側が互いに連動して動作し、或いは又はこれに加えて、いくつかの実施形態例では、これらが独立して及び/又は単独で機能することができる。その後、結果として得られたチャートを外部ウェブページに埋め込むことによって使用することができる。
本明細書では、以下に限定するわけではないが、タイムチャート、ネットチャート、円グラフ、ファセットチャート、イベントチャート及びジオチャート(地理)を含む多くの異なる種類のチャートを開示する。各チャートを特定の状況で使用して、ユーザにとって最良にデータを視覚化することができる。これらのチャートについては、以下でビッグデータを管理可能なデータに変化させるシステム及び方法と共に開示する。
図1は、本明細書で説明する方法を実施するために使用できるシステムネットワーク例を示すネットワーク図である。この例では、バックエンドサーバ又はサーバ120がネットワーク124と通信している。バックエンドサーバ120は、データストレージ130とのローカルな通信、又はネットワーク124を介したネットワークストレージ132との通信も行っている。ネットワーク124は、WiFiホットスポット142及び/又はセルラータワー144などの無線機、又は他のいずれかの無線通信方法を利用し、インターネットサービスプロバイダ/モバイル加入者ネットワークなどのいずれかの種類の無線通信システムを介した、バックエンドサーバ120から様々なモバイル装置140のうちのいずれかへの通信も可能にする。非モバイルコンピュータシステムには、有線ネットワーク146を使用することもできる。
以下で説明するように、本システム及び方法では、データをバックエンドシステム130、132に記憶するとともに、クライアント側のモバイル装置上で実行されるアプリケーションを通じてモバイル装置自体140にローカルに記憶することもできる。このようにすると、バックエンドシステム120は、一般的に使用されるデータの回収を容易にするために、どのデータをどこに記憶するかを割り当てることができるようになる。
なお、本開示のクライアントコンピュータ及びモバイル装置は、ポータブルコンピュータ装置を含むあらゆる種類のコンピュータ装置を含むことができる。モバイル装置とは、多くの場所で使用するように設計された、少なくともCPU、RAM、ディスプレイ及びストレージ、及び/又はネットワーク接続機能を含む装置のことである。例としては、以下に限定するわけではないが、スマートフォン、タブレット、ファブレット、ラップトップ、メガネ、時計、ブレスレット、ヘッドセットなどのウェアラブル、自動車統合システムなどが挙げられる。あらゆる種類のポータブルコンピュータ装置を使用することができる。これには、セルラーネットワーク、WiFiネットワーク、ピコセルネットワーク、Bluetooth、近距離通信、衛星、又は他のいずれかの種類の無線通信などのいずれかの種類のネットワークを介して無線で送受信を行うモバイル装置が含まれる。
データストレージ及び処理:サーバ及びローカル
データ処理は、サーバからデータチャンクを受け取ることから、このデータをディスプレイエンジンに転送してコンピュータ画面上にレンダリングするまでの全てを幅広く含む。サーバ側又はモバイルクライアント側におけるこのようなデータの処理及び記憶は、ソフトウェアの性能についての、並びにこのようなデータをいかに効率的に及び/又は素早く分析し、計算し、最終的にチャートフォーマットで表示できるかについての実際の結果をもたらすことができる。従って、本システム及び方法を使用して、大量のデータを1つの単位として取り扱うのではなく、データをサブセット単位でどこにどのように記憶して処理すべきかを判断することができる。
バックエンドサーバでは、モバイルクライアント装置又は有線クライアント装置であるローカルコンピュータよりも多くのデータストレージ、さらには処理能力を全体として利用することができる。しかしながら、実際には、サーバに記憶されたデータへのアクセス及び処理能力は、サーバのデータストレージのサブセットであるローカルデータキャッシュを利用するよりも低効率及び低速となり得る。ローカルプロセッサを使用した場合でも、ネットワークサーバを利用する場合より効率的になり得る。本システム及び方法の主題は、このデータ共有のバランス及びトレードオフである。
データのロード
上記のシナリオで説明したように、ネットワークシステムは、大量のデータを取り扱うために、ネットワークサーバから一定量のデータをダウンロードしてローカルシステムに記憶すべきであると判断することができる。このようなデータは、最初にローカルシステムにロードすることも、或いは増分的に及び/又はオンデマンドでロードすることもできる。チャートビューの更新、又はユーザによるチャートとの相互作用が行われると、システムは、どのデータが必要であるかを判断してネットワークサーバに要求を行う。このデータ要求は、素早く応答が生成されて不必要に余分なデータが送信されないように、データ範囲を制限するパラメータを含むことができる。
例えば、タイムチャートは、fromTimestamp、toTimestamp及びaggregationUnitといった制限パラメータを有することができる。タイムチャート内に表示される各データアイテムは、秒単位又はミリ秒単位のUnixタイムスタンプを含むタイムスタンプフィールドを有することができる。aggregationUnitは、年、月、週、日、時間、分、秒、ミリ秒及びその他を可能な値として、戻されるデータの細分性を指定することができる。データベースサーバは、この制限パラメータを使用して、必要なデータのみを戻す適切なデータベースクエリを構築することができる。円グラフ及びファセットチャートは、drilldownId、offset及びlimitを有することができる。
大量のデータが必要な場合には、それぞれが必要なデータの小区分のためのものである複数の後続する又は同時のデータ要求を行うことが有用となり得る。小区分の形成には、既存のパラメータを使用することができる。このように要求を分割すると、最も関連性の高い必要なデータがローカルに記憶されるので、チャートの反応性を高めることができる。
データキャッシュ
データ要求を最小限に抑えるために、受け取ったデータは、モバイル装置又はクライアントコンピュータのランダムアクセスメモリ(RAM)を使用できるアプリケーション側のチャートキャッシュに一時的に記憶することができる。このようなデータは、サーバ要求に使用される同じ制限パラメータに従って体系化することができ、従ってシステムは、レンダリングのためにデータが必要になると、ビュー制限をキャッシュ済みのデータ制限と比較して、必要な全てのデータを既にキャッシュが有しているかどうかを判断することができる。キャッシュが部分的なデータセットしか有していない場合には、欠落部分のみを要求するようにサーバへのデータ要求をスリム化し、これによって時間及び処理電力を節約することができる。
データ使用
これとは別に、又はこれに加えて、本システム及び方法が利用する別の特徴は、同じデータセットから多くのチャートを構築して異なる形で視覚化することである。例えば、データアイテムがタイムスタンプフィールドと地理的座標の両方を有しているとする。例えば、ニュースアイテムを含むニュースフィードでは、各アイテムが公開日及び地理的位置を有する。アプリケーション開発者は、指定されたデータフォーマットでアイテムリストを生成することができる。公開日は、Unixタイムスタンプフォーマットに変換し、位置は、地理的座標の対に変換することができる。これとは別に、又はこれに加えて、タイムチャート及びジオチャートを横並びに表示して同じデータの2つのビューを示すアプリケーションを作成することもできる。
データ更新
これとは別に、又はこれに加えて、別の特徴は、データを表示し、このデータを定期的に更新してチャート内に表示されるようにすることである。この特徴は、データが利用可能になった時にモニタするのに有用となり得る。本システム及び方法は、新たなデータを特定の間隔で繰り返しサーバに問い合わせることによって、又は既存データを単純に更新することによってこの特徴を実装することができる。
全ての可視範囲を単純にサーバに要求すると、システムサーバ及びネットワーク帯域幅にストレスが加わることがある。この問題を正すために、専用ライブラリを使用する本システム及び方法は、要求に制限を加えることができる。これらの制限は、キャッシュ内の特定のタイムスタンプから現在のタイムスタンプにまで及ぶことができる。この結果、要求が非常に小さくなり、通常はたったの数秒にしか及ばない。サーバがデータを集約しており、最後の期間内に新たなデータを受け取った可能性もあるので、実際にはキャッシュ内の最後の時間単位にわたるデータをリフレッシュすることが有用となり得る。
別のリアルタイム問題は、現時点のタイムスタンプに至るまでデータを利用できない点である。これには、前の要求で受け取った最新データのタイムスタンプから開始するように要求制限を形成することによって対処することができる。このようにして、サーバが最後の1秒に至るまでデータを戻さずに、後で別の要求中に戻す機会を有することを容認することができる。
これとは別に、又はこれに加えて、複数のチャート方法を用いて特定のチャートをリアルタイムデータで更新することもできる。1つの更新例では、システムが、チャートのためのデータ要求を定期的にサーバに発行する。この方法は、サーバの修正を全く必要としない。ベースデータのロードの場合と同じ要求方法を用いてクエリを実行する。このような要求は、以下に限定するわけではないが、毎秒、1/2秒毎、2秒毎などを含むあらゆるレートとすることができる。
これとは別に、又はこれに加えて、別のチャート更新方法として、新たなデータが利用可能になった時に送信するようにサーバに命令することもできる。この方法は、WebSockets又はWebRTCリンク、又はサーバ主導の通信を可能にする他の技術を用いて行うことができる。システムは、この方法を使用して、チャートのための新たなデータアイテムを受け取った時にこれらを処理し、この新たなデータアイテムをキャッシュに追加することができる。これにより、チャートの表示更新を開始することができる。
リンクされたチャート
これとは別に、又はこれに加えて、いくつかの実施形態例では、チャートを互いにリンクさせ、1つのチャートが使用するデータを別のチャートと共有することもできる。リンクされたチャートは、データ内で反映される時間量などのパラメータを共有することもできる。このような例では、リンクされたチャートパラメータがデータのためのフィルタの役割を果たして、表示すべきデータの種類及び/又は特徴を制限することができる。
図2は、バックエンドネットワークサーバの視点から見たデータ要求シナリオ例を示すフローチャートである。最初に202において、サーバが、チャート化に使用するデータを受け取って記憶させる。次に204において、サーバが、モバイル装置上で実行中のモバイルアプリケーションから要求を受け取る。この要求は、モバイルアプリケーションがチャート化すべきデータを求めるものである。次に206において、サーバが、要求されたデータのサブセットのみをチャート化アプリケーションに送信する必要があると判断する。この判断は、以下でさらに詳細に説明するような多くの変数を含み、異なる形を取ることができる。次に208において、サーバは、ネットワークを介してアプリケーションから、最初に送信したデータに関するデータを求める後続の要求を受け取る。この要求は、アプリケーションとのユーザインタラクション、及びアプリケーションがチャート内でさらに多くのデータを公開する必要性に応答して生成することができる。最後に210において、サーバが、インターネットを介してアプリケーションに送信すべき要求された関連データのサブセットを決定して要求に応え、アプリケーションによるチャートの増強を可能にし、又は必要に応じて他のデータを表示させることができる。最後の2つのステップ208、210は、ユーザがチャート及びアプリケーションと相互作用する際に、必要に応じて繰り戻すことができる。
図3は、モバイル装置又は何らかのタイプのクライアントコンピュータ上で実行中のアプリケーションの視点から見たデータ要求シナリオ例を示すフローチャートである。最初に302において、アプリケーションが、特定のデータをチャート化するためのユーザ要求を受け取る。次に304において、アプリケーションが、チャートに必要なデータを求める要求を、ネットワークを介してネットワークサーバに送信する。次に306において、アプリケーションが、使用するチャートの作成に必要なデータのサブセットをネットワークサーバから受け取る。サブセットに何が含まれるかについての決定は、本明細書で説明するような多くの変数に基づくことができる。次に308において、アプリケーションが、このデータのサブセットを使用して、ユーザのためにチャートを作成及び/又はレンダリングすることができる。次に310において、アプリケーションが、チャートのレンダリングに使用したデータに関連する何らかのデータを求める要求をユーザから受け取ることができる。この要求は、他のデータの探索、データの特定の側面に関するさらに多くの発見、チャートのビューの変更、又は本明細書で説明するあらゆる数の他の事項のために、ユーザがモバイル装置及びアプリケーションとの相互作用を通じて行うことができる。次に312において、アプリケーションが、ネットワークを介してサーバに関連データを求める要求を返送する。次に314において、アプリケーションが、要求した関連データのサブセットをサーバから受け取り、チャートの増強、変更、又はユーザに対する関連データの表示を引き起こす(316)。これらの最後の4つのステップ310、312、314、316は、ユーザが自身のモバイル装置及びアプリケーションを介してチャートと相互作用している間に、必要に応じて繰り戻すことができる。
送信データの決定
本システムは、どのデータ及びどれほどのデータ量をネットワーク側で保持すべきか、並びにローカルアプリケーション側にどれを送信すべきかを決定することができる。これを行う方法及びどのデータを送信すべきかについての決定には、それぞれが独立した又は互いに関連する少なくとも3つの異なる方法が関与することができる。これらの3つの例は、1−データ集約、2−フィルタリング及び3−サブビューを含む。これらの3つの方法全てを連動して又は単独で使用して所望のユーザ体験を実現し、チャート性能に影響を与えることが望ましい場所へのデータの記憶を可能にすることができる。なお、各異なる種類のチャートは独自の構成を有することができ、各チャートは、本明細書で説明する3つの方法を用いて別様にデータ選択に影響を与えることができる。
1−データ集約
大量データの作成に役立つ方法についての第1の例は、本システム及び方法を使用して、表示するデータをチャート形式で集約することを含む。このような集約を実行できる方法は複数存在する。本明細書で説明するようなバックエンドシステムは、大量のデータをチャートとして表示する管理可能なデータセットに変化させるために多くの異なる集約アルゴリズムを利用することができる。
例えば、集約を使用して、選択されたフィールドの異なる値を抽出し、各異なる値のための集約アイテムを作成することができる。このような例を使用して、選択された集約関数(例えば、min、max、average)を用いて他のフィールドを計算し、これらのフィールドに含まれる個々のアイテムを確認するために集約アイテムに掘り下げる方法を提供することができる。複数の集約レベルを用いて掘り下げの細分性を達成し、各レベルで提示されるアイテム数を制限することができる。カレンダー単位の複数のレベルの一例は、年/月/日/時間/分とすることができる。別の例として、自動車メーカー/車種/製造年度などの異なるカテゴリフィールドを使用することもできる。モデル毎の車の数を含む新たなフィールドを自動的に追加することもできる。
集約は、ネットワークサーバ上で行うことができ、その後に、既に集約された要約データをクライアントアプリケーションにダウンロードして表示することができる。しかしながら、このような方法例では、ユーザが、異なる集約モードを頻繁に切り替えたいと望む際には、サーバが新たな集約基準に対応する新たなデータセットを準備するのを待つ必要があるので、課題が生じることもある。
本明細書のいくつかの実施形態は、集約に対処する相互作用性の高い方法を可能にする。例えば、いくつかの例では、頻繁に変更される集約動作をクライアントアプリケーション内で実行することができる。しかしながら、非集約データが大きすぎて実質的にクライアントアプリケーションにダウンロードできない場合、本システム及び方法は、いくつかのフィールドの集約をバックエンドサーバで実行し、変更頻度の高いフィールドをモバイルアプリケーションに送信してクライアント側で集約するハイブリッドモデルを使用することができる。
フィールドの選択は、開発者が指定することも、又はユーザ行動に基づいて自動的に検出することもできる。
2−フィルタリング
これとは別に、又はこれに加えて、大量のデータをチャート形式で理解しやすくするのに役立つ方法の第2の例は、本システム及び方法を使用して、表示するデータをフィルタリングすることを含む。本システム及び方法は、クライアント側及び/又はサーバ側の両方におけるデータフィルタリングを提供することができる。いくつかの例では、データベースサーバのための新たなクエリを準備することによってこのようなフィルタの適用を実装することができ、結果的に所望の応答時間よりも長くなることがある。より良好な応答を実現するために、本システム及び方法は、ライブラリを使用して、ネットワークサーバの関与を伴わずにローカルフィルタリングを活用することができる。このローカルフィルタリングは、データベースサーバの代わりにローカルデータキャッシュを用いて実装することができる。
このようなクライアント側のフィルタリングは、クライアントのローカルデータキャッシュに既にロードされているデータに対していくつかのフィルタリングルールを適用することによって行うことができる。この結果、フィルタリングルールに一致するアイテムのみが視覚化された新たなチャートビューが得られる。フィルタリング基準は、API及びChart Controlsなどの様々な方法を通じて、エンドユーザが望む視覚化及び/又はシステムが統合された他の要素を実現するように修正することができる。
いくつかの例では、ユーザが、相互作用的データフィルタリングを通じていくつかのデータフィルタ基準を指定してフィルタに一致するデータを見ることができる。例えば、ユーザは、ネットワークチャート内でいくつかの基準に一致するノードのみを見ることを選択することができる。基準に一致しないノードは、非表示又は非アクティブにすることができる。
3−サブビューフィルタリング
これとは別に、又はこれに加えて、大量のデータをチャート形式で理解しやすくするのに役立つ方法の第3の例は、本システム及び方法を使用して、表示するデータをサブフィルタリングすることを含む。サブビューは、特定のチャートで使用できるデータ全体のサブセットをシステムが選択する特殊なタイプのフィルタリングを含むことができる。表示すべきデータのサブセットの選択は、ユーザがどのチャートタイプを指定するかに依存することができる。例えば、タイムチャートでは、X軸上で選択された時間範囲が、視覚化されるデータのサブセットを決定することができる。例えば、円グラフでは、「previous(以前)」及び「others(その他)」というナビゲーション状態が、データセットのどの部分をチャート内で視覚化するかを決定することができる。ネットワークチャートでは、可視データのサブセットが、初期セットアップ、APIを通じたユーザインタラクション及びその他の相互作用によって決定できるチャート内のアクティブノードに依存することができる。ファセットチャート例では、表示すべきデータセットを所定数のアイテムが形成することができるが、異なるナビゲーション方法を用いて目に見えるデータのサブセットを変更することもできる。タイムチャートは、時間軸上の自動集約、及び開発者が提供するフィルタリング用のフィルタ関数を使用することができる。円グラフは、ユーザが指定した集約に使用するデータフィールドリスト、及び開発者が提供するフィルタリング用のフィルタ関数を使用することによって集約を提供する。ネットワークチャートは、開発者が提供するフィルタリング用のフィルタ関数を受け入れる。
チャート例
ユーザは、自身のデータを用いて何を行いたいか、それらのデータがどのような形を取るかに応じて、多くの種類のチャートを利用して自身の消費データを分析し、操作し、表示することができる。これには、異なるチャート要素を使用して異なるデータセット、並びにタイムチャート、円グラフ、ネットチャート、ファセットチャート、イベントチャート及びジオチャートなどの異なる使用ケースに対処することが含まれる。
ユーザは、チャート及びグラフを相互作用的にするために、チャート及びグラフのいくつかの側面を選択してデータ視覚化の異なる側面を見ることができる。理解しやすい視覚的レンダリングに多くの情報を詰め込むために、いくつかの視覚的ヒントを用いてユーザに複数のデータ層又は視覚化オプションを示すこともできる。
ヒントを含むチャート
従って、これとは別に、又はこれに加えて、本システム及び方法は、様々なチャートのいずれかを通じて異なる相互作用オプションを伝える視覚的ヒント技術を使用することもできる。このような視覚的ヒントは、多くの方法で伝えることができ、ユーザによる所与のチャートの操作方法及び閲覧方法の学習を可能にすることができる。これらの視覚的ヒントは、ユーザがタップ、クリック、又は本明細書で説明する他の選択方法などのあらゆる種類の相互作用を通じて選択することができる。
タイムチャート例
図4Aに、時間ベースデータの視覚化を可能にするチャートであるタイムチャート例400を示す。タイムチャートは、関連するタイムスタンプを有する視覚化データのための要素とすることができる。タイムチャート400は、主に時間/データ識別子を有するデータと共に機能する。ユーザは、限定するわけではないが、以下を含む多くの目的でこのようなタイムチャートを使用することができる。
1)全体像を確認し、本システム及び方法が提供できるナビゲーション方法を用いて詳細に切り込めるようにすること。これらのチャートは、ユーザがチャートをナビゲートするにつれてさらに詳細なデータを示す。全てのデータをサーバからクライアント装置に常にアップロードできるとは限らないので、データは、サーバ側から引き出して特定のグループでローカルにロードすることができる。
2)これとは別に、又はこれに加えて、ユーザが期間を選択した場合、タイムチャート要素は、他のチャート例のための時間選択要素として機能することができる。システムは、このような選択が行われるとネットワークストレージにデータを要求し、このデータを用いてさらに多くの又は異なる情報をユーザに対してチャートに表示することができる。ユーザは、タイムチャートを使用して所望の年/月/日、又は他のいずれかの期間を選択することができる。新たな時間範囲が選択されると、システムは、リンクされたチャート及び/又はその他の要素に、期間が変更されたことによって、リンクされたエンティティの更新及び選択期間のみにわたるデータ表示ができるようになった旨を通知することができる。
3)これとは別に、又はこれに加えて、ユーザは、データが関連している期間を発見すると、さらなる処理のためにデータを画像(jpeg、png、pdf、又はcsv)ファイルとしてエクスポートすることができる。
タイムチャートヒント例
図4Bに、情報ポップアップ内のデータと、シリーズの色でシリーズ名を表すサイドバーとを有するシリーズであるユーザへのヒント例を示す。この例では、2012年1月の列の網掛け部分402上にマウスが存在し、情報ポップアップ408内には、シリーズ406の名前の左側404に対応して網掛けされたバーが見える。
情報ポップアップ408は、情報ポップアップデータがどのデータ点を参照しているかを示す三角形を有する。選択期間は対比色で強調表示されて410、現在どのデータ点が選択されているかをユーザに示唆する。
ポップアップメニュー408を有するツールバーアイテムは、選択オプションのリストが存在する旨をユーザに示唆する下向き矢印を有する。
図4Cには、選択された集約単位の選択された期間におけるシリーズを表示するために現在データを利用できない旨をユーザに示すチャートヒント例を示す。
図4Dには、どの日が平日であるかをどこでユーザに示唆すべきかについての例を示しており、本システム及び方法は、これらのための異なる背景色を開発者に選択させることができる。
図4Eには、水平軸に表示された値の範囲がユーザのジェスチャ又はクリックによって変化するグラフ例を示す。この例は、ユーザがコンピュータマウス又はポインタ440を用いて左又は右442のいずれかに軸をドラッグすることによってグラフ400上に異なるデータ点が表示されることを示す。このユーザ入力の結果、本明細書における説明に従ってさらに多くの又は異なるデータをサーバに要求することができる。
ネットワークチャート例
図5Aに、グラフ及びアイテム502間の関係の視覚化を可能にする要素であるネットチャート例500を示す。ネットチャート500は、関係情報を含むデータを視覚化する要素とすることができる。ネットチャート500は、ノード502、及びノード502間のリンク504などのグラフデータを具体的に表示するように設計される。ネットチャートは、限定するわけではないが、例えば以下のような視覚化に使用することができる。
1)ノード、アイテム及び表示されたリンクとの視覚的相互作用を通じて物事の間の関係を発見する能力。ユーザは、この視覚化によってデータネットワークのあらゆる部分を探索して関連情報を発見することができる。
2)これとは別に、又はこれに加えて、ユーザは、チャート内に関連ノードが見つかった時に、統合を通じてコンテンツを消費することができる。この視覚化は、異なる入力タイプに基づくいくつかの動作を結びつけることや、及び/又はポップアップ情報ウィンドウ内に補助情報を表示することなどの多くの方法で実装することができる。
3)これとは別に、又はこれに加えて、ある状態への更新をリアルタイムで行うこともできる。従って、この視覚化は、イベントの発生時にイベントをモニタするために使用することができる。例えば、ネットチャートを使用して、API/システムコールを行ういずれかのコンピュータ装置上でプロセスリストを視覚化し、これを通じてこのようなプロセスリストを取得することができる。ノードは、消費するリソースに応じて視覚化することができ、例えば使用するCPU/Ramプロセスが多ければ多いほどノードも大きくなる。同様に、リソース消費に関する視覚的ヒントでは、最も多くのリソースを消費する子プロセスへのリンクの幅が最も広くなる。ここでは、ノードに追加入力をリンクして、プロセスに関するさらに多くの情報を取得するか、又はこれらのプロセスを停止することができる。
4)これとは別に、又はこれに加えて、ユーザは、放射状のレイアウトを通じて所定の順序の順序付きリストを視覚化し、従って基準画像とは異なる選択されたデータセットの構造を視覚的に示すことができる。このような視覚化は、視覚的パターン認識を通じた素早いエラーチェックを可能にすることができる。
図5Bには、グラフ510に関連するデータを表示する1又は2以上の図形要素に別個のグラフ510が追加された、ハイブリッド円グラフ及びネットチャート500の例を示す。
図5Cには、この例ではユーザによるインターフェイス上のクリック又はタッチによって図形位置の絶対位置を変更した(512)時に、別個のグラフ510と図形要素の相対位置が一定であるハイブリッド円グラフ及びネットチャート500の例を示す。
ネットワークチャートヒント
図5Dには、ノード502に付着した短線520などの異なる視覚的手掛かりを用いてノードが拡張可能である旨のユーザへのヒントを表示する実施形態例を示す。いくつかの実施形態では、短線520が、これらの線も拡張可能であることをユーザに知らせために移動又は点滅することができる。短線以外の方法を使用することもできるが、これは一例にすぎない。
図5Eには、ノード502がこの特定のノードに焦点を当てている旨のヒントをシステムがユーザに表示し、ノード502の図形表示の周囲に太い輪郭530を表示できる例を示す。この輪郭は、エンドユーザアプリケーションのスタイルに一致するようにノードを構成できることをユーザに指示又は示唆することができる。
円グラフの例
図6Aに、値などのいずれかの手段によって比較すべきデータの視覚化を可能にする円グラフ例600を示す。円グラフ600は、いずれかのカテゴリパラメータによってカテゴリ化していずれかの手段によって比較できるデータの視覚化のための要素とすることができる。
この円グラフは、例えば、限定するわけではないが、以下の視覚化のために使用することができる。
1)相互作用を通じたユーザのアクセスを可能にすることができる階層化データの表示。例えば、円グラフのスライスと相互作用することにより、より細かなデータの出現、データに関するさらなる詳細などのさらに深い情報を表示させることができる。相互作用は、以下に限定するわけではないが、円グラフのスライスのクリック、タップ、ホバリング、ジェスチャなどによってさらに多くのデータを表示させることを含むことができる。このような相互作用を行うと、システムは、ローカルチャート上に表示するさらに多くの又は異なるデータをネットワーク化ストレージに要求できるようになる。いくつかの例では、円グラフとの相互作用によって表示中のスライスを隠し、「Previous(以前)」602と呼ばれるスライスに置き換えることができる。前のスライスに戻るには、「Previous」スライスとの相互作用によって、以前に表示されていたデータを表示させることができる。
2)これとは別に、又はこれに加えて、ユーザは、階層的掘り下げによっていずれかの円グラフスライスと相互作用して、データ604の次のレベルを見ることもできる。例えば、最上位カテゴリを最上位レベルで集約できる場合には、次のレベルのデータ604が上位レベル602に関連することができる。いずれかのカテゴリと相互作用すると、そのカテゴリの内部組成を見ることができる。いくつかの例では、スライス602をクリックすると、次のレベル604において、新たなスライスが、最上位レベルがファイル名を含むことができるなどのいくつかの動作を追加することができ、その後にスライスに相互作用すると、次のレベルにおいて、そのファイルにファイルの編集、保存、ダウンロード、削除などの動作を行うことができる。その後、ユーザは、これらのスライスの各々に特定の機能を追加することができる。
円グラフのヒント
図6Aには、円グラフのスライスが拡張可能である旨をどこでユーザに示唆するかについての例を示しており、このスライスを、鋸歯状の外線606を用いて示す。この例では、この外線が「その他」スライス上に見える。
図6Bには、スライスがさらに深いレベルのデータを含む旨をどこでユーザに示唆するかについての例を示しており、本システム及び方法は、スライスに多重線を使用することができる。例えば、より深いレベルのデータを求めて選択できるスライスには、同心円部分608として示す2本線が表示されている。
図6Cには、利用可能な上位レベルの円グラフが存在する旨をどこでユーザに示唆するかについての例を示しており、円グラフの中央610に要約チャートを表示することができる。上位レベルの円グラフにおいてどのスライスが選択されたかをユーザに示唆するために、中央円グラフ内のそのスライスを強調表示することができ、この強調表示は、ユーザがさらに深いレベルに入った時に出現することができる。
図6Dには、「Previous」スライスを使用して、ユーザが「その他」スライス622を用いてデータセット内でさらに移動した旨、又はAPIを通じて現在の円グラフの状態が変化したかどうかをユーザに示唆する例を示す。いくつかの実施形態では、データセット内の必要な地点にユーザをナビゲートする、APIを介したビューのためのデータオフセットを定めることができる。この例では、見えているサブビューの外側にさらなるデータが存在する場合、「その他」スライス622と「Previous」スライスの両方が存在するようになる。
図6Dには、ユーザが円グラフの中央の矢印620をクリックすると上位レベルに移動する旨をどこでユーザに示唆すべきかについての例も示す。
図6Eには、コンピュータマウス又はタッチ画面相互作用630などの入力装置を用いて、集約されたスライスと相互作用できる円グラフ600の例を示す。システムは、このような相互作用に応答して、選択されたスライスが、このスライス内で集約されたスライスに置き換わることを表示することができる。
図6Fには、表示スライス632に置き換わった円グラフ600の例を示す。
図6Gには、円グラフ600の以前のスライスのサイズが縮小され、グラフ640の中央の新たなスライスの上部に表示された例を示す。いくつかの例では、グラフの中心領域と相互作用することによって表示スライスを置き換えることができる。
図6Hには、タッチジェスチャの使用など、入力装置を用いてグラフを回転(650)させることによってスライスの削除又は追加を行うことができる円グラフ600の例を示す。
ファセットチャートの例
図7に、ファセットチャート例700を示す。ファセットチャートは、値などのいずれかの手段によって比較できるデータの視覚化を可能にする要素とすることができる。ファセットチャート700は、いずれかのカテゴリパラメータによってカテゴリ化していずれかの手段によって比較できるデータの視覚化のための要素とすることができる。
このファセットチャートは、例えば、限定するわけではないが、以下の視覚化のために使用することができる。
1)円グラフと同様に、ファセットチャート700は、データソース内に存在する全てのデータ点をユーザが探索できるようにする。ファセットチャートは、チャートを使用可能に保つために、1つのサブビュー内に所定数のデータ点を表示することができ、スクロールなどの相互作用方法を用いて、最初のサブビューでは見えないデータ点を探索することができる。このようにして、エンドユーザは、全てのデータを探索することができる。
2)これとは別に、又はこれに加えて、ファセットチャートは、データの掘り下げを可能にすることができる。ユーザがいずれかのレベルのデータ点と相互作用すると、システムは、その点のサブデータを取り出し、これを同じチャート内で視覚化させることができる。このようにして、ユーザは、直感的なナビゲーション機能を用いて膨大な量のデータをナビゲートすることができる。
3)これとは別に、又はこれに加えて、ファセットチャートは、同じカテゴリの横並びのデータの異なる側面からの比較を可能にすることができる。一例として、カテゴリ別の売上の比較と、特定のカテゴリの年度別の売上の比較とを1つのグラフで行うことができる。このようにして、ユーザは、ファセットチャートを用いて過去のデータを探索し、傾向の変化を見ることができる。
図8A及び図8Bに、イベントチャート例800を示す。これらのイベントチャート800は、何らかの期間を有するデータの視覚化を可能にする。イベントチャートは、時間情報を伴うイベントの視覚化のための要素とすることができる。イベントチャートは、時間属性を有する集約されていないデータを表示するように設計される。
イベントチャートは、例えば、限定するわけではないが、以下の視覚化のために使用することができる。
1)ユーザが全体像を確認し、ユーザにとって特に重要ないずれかの期間に容易にズームインできるようにする。
2)これとは別に、又はこれに加えて、イベントがどのようにリンクしているか、前のイベントは何であるか、次のイベントは何であるかを確認する。
3)これとは別に、又はこれに加えて、様々なプロジェクトのロードマップを計画して準備する。
図9に、ジオチャート例(ジオグラフィック)を示す。ジオチャート900は、GPS(全地球測位システム)データなどのあらゆるフォーマットの位置データを含むデータの視覚化を可能にする要素である。ジオチャート900は、地理的空間データの視覚化のための要素とすることができる。
ジオチャートは、地理的位置データを有するデータを視覚化できるように設計される。ジオチャートは、例えば、限定するわけではないが、以下の視覚化のために使用することができる。
1)例えば、地図のいずれかの地域上における円グラフ、タイムチャート、ファセットチャート、ネットチャートの表示などの、チャートオンチャート技術を用いた地理的地域内のデータの組成の視覚化を可能にする。このような例では、サブチャート内に示されるデータを、サブチャートが属する地理的地域毎に自動的にフィルタリングすることができる。
2)これとは別に、又はこれに加えて、ユーザは、マルチレイヤ技術を通じてチャートの視点を切り替え、いずれかの所与の時点における関連する詳細を選択することができる。
3)これとは別に、又はこれに加えて、ユーザは、自動データ集約オプション及び数多くの視覚化オプションを通じて、エンドユーザにとって重要な情報を未加工データから瞬時に抽出することができる。
入力処理
本システム及び方法は、ユーザが自身のモバイル装置及び/又は非モバイルクライアントコンピュータ、及びこれらの装置で実行中のアプリケーション上でチャート及び/又はグラフと相互作用する方法を含む。このような相互作用は、ユーザが利用している装置の能力によって制限されることがあり、例えば、高性能なスマートフォンは、タッチ画面、GPS、音声認識、モーションキャプチャ及び仮想キーボードを有することができる。ラップトップ及び/又はその他のコンピュータ装置は、マウスパッド、タッチパッド、物理キーボード、タッチ画面、GPSなどを有することができる。アプリケーションは、この入力を受け取って使用して、ネットワークサーバに追加データを求める要求を行い、この入力を用いて異なるチャート又はチャートの変更をレンダリングし、及び/又は入力に基づいてチャートを操作することができる。以下、いくつかのカスタム入力イベント処理の実装例について説明する。
タッチ入力は、静電容量式タッチ画面、抵抗膜式タッチ画面、赤外線タッチ画面、その他のタッチ画面実装などのタッチ感知式装置からの入力と見なすことができ、実際のタッチイベントは、感知装置に直接的又は間接的に相互作用することによって行われる。本システム及び方法は、入力装置によって放たれた複数の同時タッチイベントに由来する異なるジェスチャをサポートすることができる。サポートされているジェスチャには、ピンチイン、ピンチアウト、左スクロール、右スクロール、上スクロール、下スクロール、回転、パンがある。2つの並行回転イベントなどの複数の同時ジェスチャもサポートされる。
これとは別に、又はこれに加えて、マウス入力は、コンピュータ装置に有線又は無線で接続されたマウス、トラックパッド、トラックボール、ジョイスティックなどの装置からの入力と見なすことができる。本システム及び方法は、マウス入力から、例えば、マウスムーブ、マウスイン、マウスアウト、マウスオーバー、マウスムーブ、マウスダウン、マウスアップ、マウスクリック、マウスダブルクリック、マウストリプルクリック、マウス長押し、及び上/左/右/下マウススクロールといったイベントをサポートする。
マウスイベントの処理時には、右クリック、左クリック、中央クリックなどのクリックボタンが区別される。
これとは別に、又はこれに加えて、キーボード入力は、JavaScriptを用いて検出できる機械コードにユーザ入力を変換する物理ボタン又は仮想ボタンを有するキーボード、テンキー及びその他のパッドなどの装置からの入力と見なすことができる。サポートされるキーボードイベントには、キーダウン、キーアップ及びキー押下がある。
「shift」、「ctrl」、「alt」、「command」、「option」、及び/又は「num−lock」「caps−lock」、「scroll−lock」の所与の状態などの特殊なキーとキーイベントが組み合わさっているかどうかを識別することによって、イベント状態の切り替えがサポートされる。
これとは別に、又はこれに加えて、装置の向き及び動きは、X軸、Y軸、Z軸の3つの軸における運動加速度検出、及び絶対配向情報をもたらす、装置のオリエンテーションAPIを通じた入力と見なすことができる。
これとは別に、又はこれに加えて、GPS位置は、装置の現在位置及び運動方向、速度、高度、及びナビゲートすべき精密データ及び視覚関連データを本システム及び方法が使用できるようにする、ロケーションサービスAPIからの入力と見なすことができる。
これとは別に、又はこれに加えて、音声入力は、あらゆるソースからの音波を記録できる装置からの入力と見なすことができる。このような入力は、初期録音に埋め込まれた対応する意味を識別するように音声認識アルゴリズムを用いて装置上で処理できる波形デジタルデータで受け取られる。装置上の又は遠隔的なデコード技術を用いて信号を解釈することができる。この結果、本システム及び方法のNavigation、Data、Visualization及び/又はその他の要素にコマンドを対応付けて、(例えば、選択されたチャート内のデータに「ズームイン」するナビゲーションコールを実行する「ズームイン」などの)要求された動作を実行することができる。
これとは別に、又はこれに加えて、視線追跡入力は、ユーザの瞳孔を記録してこれらの動きを識別できる装置からの入力と見なすことができる。三角測量技術を通じて人がどこを見ているかを判断することができ、従って、アイムーブ、アイイン、アイアウト、アイオーバ、アイブリンク、アイダブルブリンク及びアイトリプルブリンクなどのイベントが利用可能になる。
2つ又は3つ以上の目を追跡する場合、マルチタッチ入力と同様にマルチ入力技術が利用可能になり、スクロール、回転、ピンチイン及びパンなどの目のジェスチャのサポートが可能になる。
これとは別に、又はこれに加えて、API入力を考慮することもでき、本システム及び方法は、本文書でサポートされる全ての異なる入力イベントの合成イベントをプログラム的に開始させるAPIを使用することができる。これにより、2つの装置間に接続を確立できることを前提として、1つの装置上で生じた入力イベントを送信して他の(単複の)装置上でこれらを複製する可能性を広げることができる。接続は、1つの装置上の入力イベントが選択された他の装置上のチャートで瞬時に又は短時間でシミュレートされるリアルタイム、或いはユーザがイベント複製によって1つの装置上の一連のイベントを記録し、後でモバイルアプリケーション又はウェブアプリケーションにアクセスできる他のいずれかの装置上でライブラリ統合を用いて同じシーケンスを再生できる非同期のいずれかとすることができる。
これとは別に、又はこれに加えて、チャート間入力を考慮することもでき、本システム及び方法を使用して、APIを通じて他の実施形態のインスタンスと相互作用できるチャートを作成し、結果として生じる状態に応じて1つのチャート上で入力が行われた時に、リンクされたチャートインスタンスに状態更新イベントが送られるようにすることができる。リンクされたインスタンスは、リンクされたチャートインスタンスが受け取った入力イベントに応じて、要求された動作を実行する。
身体部分の動き入力。これとは別に、又はこれに加えて、本システム及び方法を使用して、ベンダが提供するAPIを用いて、動いている身体部分に関する情報、並びにその初期状態及び結果として生じる状態にアクセスするチャートを作成することもできる。このような入力サポートは、本チャートとのタッチレスな相互作用を可能にする。実際の身体部分を識別するセンサ能力に応じて、規定した通りに反応する専用ライブラリのナビゲーション、視覚化、データ及び他の要素にとっていくつかの新たなイベントが利用可能になる。
バロメータ入力。これとは別に、又はこれに加えて、本システム及び方法を使用して、クライアントアプリケーションにバロメータデータを提供するAPIを使用するチャートを作成することもできる。この入力を使用してナビゲーション、視覚化又はデータの状態に影響を与えることができ、与えるようになる。
温度入力。これとは別に、又はこれに加えて、本システム及び方法を使用して、クライアントアプリケーションに温度データを提供するAPIを使用するチャートを作成することもできる。この入力を使用してナビゲーション、視覚化又はデータの状態に影響を与えることができ、与えるようになる。
電圧入力。これとは別に、又はこれに加えて、本システム及び方法を使用して、クライアントアプリケーションに電圧データを提供するAPIを使用するチャートを作成することもできる。この入力を使用してナビゲーション、視覚化又はデータの状態に影響を与えることができ、与えるようになる。
脳波入力。これとは別に、又はこれに加えて、本システム及び方法を使用して、クライアントアプリケーションに脳波情報を提供するAPIを使用するチャートを作成することもできる。この入力を使用してナビゲーション、視覚化又はデータの状態に影響を与えることができ、与えるようになる。
組み合わせ入力。これとは別に、又はこれに加えて、本システム及び方法を使用して、入力イベントが異なるソースから同時に行われるような入力の組み合わせを処理することもできる。キーボードのキーダウンをマウスクリックイベントと組み合わせて、単純なクリックのデフォルト機能を増強することなどができる。
相互作用データ視覚化の例
これとは別に、又はこれに加えて、データ視覚化は、ソースファイルからデータ点を取り出し、グラフィカルレンダリングを用いて、エンドユーザのコンピュータ装置上にこれらのデータ点を表示させる処理を意味することができる。相互作用データの視覚化は、本明細書で説明する1つの方法例である。このような相互作用例では、異なる人間機械インターフェイスを利用するユーザが、モバイルコンピュータ装置と相互作用して、所与の時点にディスプレイ上でどのデータ点が見えるかに影響を与え、従って最終的なレンダリング結果に影響を与えることができる。ユーザインタラクションの結果、システムは、新たなデータ点のロード/削除/更新を引き起こし、従ってCanvasなどの視覚化ソフトウェア上で見えるようにすることができる。従って、このような相互作用は、データエクスポートに影響を与えることもできる。
例えば、ユーザがアクティブなチャートと相互作用する際に、システムは、ユーザに見えているデータセットを更新することによってチャートの状態を変化させることができる。可視データの状態は、各チャートに固有の複数のナビゲーションパラメータによって定めることができる。例えば、タイムチャートは、目に見える時間範囲及び表示単位を示すことができる。円グラフでは、これを選択されたスライス及びアクティブな円グラフとすることができる。ファセットチャートでは、これをX軸上のオフセット及びアクティブなデータレベルとすることができる。ネットチャートでは、これを目に見えるノード、リンク及び目に見えるサブビューエリアとすることができる。イベントチャートでは、これを目に見える時間範囲、ズームレベル及び垂直スクロールとすることができる。ジオチャートでは、これを目に見えるサブビュー、ズームレベル、選択された地域とすることができる。従って、システムがチャートの状態を変化させることによってユーザインタラクションに応答した時には、可視データの範囲が変化することもある。データがエクスポートされると可視データもエクスポートされ、従ってシステムがユーザ入力に応答してサブビュー状態を変化させると、エクスポートされたデータセットにも影響することがある。
これとは別に、又はこれに加えて、本ライブラリ及びシステム及び方法は、上述したように、モバイル装置上で使用するように最適化することができる。このような実装は、タッチ、マルチタッチ、ジャイロセンサ入力、GPSセンサ入力、視線追跡サポート、音声制御などの様々なユーザインタラクションを処理するカスタムな人間機械相互作用インターフェイスの実装を有することができる。これらの入力を用いて、チャート化されたデータを操作し、表示し、相互作用することができる。
本システム及び方法は、ウェブページ又はモバイルアプリケーション内の他のJavaScriptコンポーネントとプログラム的に一体化するために、幅広いAPIと共に構築することができる。チャートのあらゆる側面は、設定を通じて適切なAPIコールを用いていつでも変更することができる。
例えば、設定を通じて、データソース、地域設定、シリーズ、値、軸、スタイル方法、フィルタ方法、エクスポート設定、高度な設定、相互作用設定、ツールバー設定、凡例設定、スタック設定、タイトル設定、定位設定、イベント、情報設定、及び本文書で定めるそれ以外のものを変更することができる。これにより、この技術を用いて作成したチャートの挙動及びルックアンドフィールの微調整及び調整を行う多くの機会をソフトウェア開発者に与えることができる。
1つのこのような例では、指定されたソースからデータ点を検索して受け取り、異なるアルゴリズムを用いてCanvasなどの視覚化ソフトウェアツールにデータ点をレンダリングする複数のレンダリングエンジンと共に専用チャート及びグラフライブラリを使用することができる。このようなチャート及びグラフライブラリは、上述したようにHTML5を用いてJavaScriptで記述することができる。
なお、エンジン及びライブラリは、これらの実装専用の固有のものである。このような内部アーキテクチャのカスタマイズは、拡張、高速化及び最適化を可能にする。さらに、イベントループも、双方向性処理、ナビゲーション処理、レンダリングエンジンなどの他の内部要素と同様にカスタムである。
チャートのナビゲーション
これとは別に、又はこれに加えて、いくつかの実施形態例では、システムがユーザに対してディスプレイ上にチャート及び/又はグラフを表示させた時に、ユーザがチャート及び/又はグラフと相互作用することができる。ユーザは、チャート及び/又はグラフの特定のナビゲーションによって特定の方法で情報を表示し、特定のデータ面に関してさらに詳細な情報を学習し、又はビューをカスタマイズすることができる。ユーザは、ナビゲーションを通じて様々な入力動作を用いてビューパラメータを選択することができる。ユーザがモバイル装置を使用している場合、このような動作は様々とすることができる。このような装置は、ジェスチャ認識、及びGPS入力、モーションキャプチャ、姿勢情報などを相互作用に使用する。
ナビゲーションジェスチャは、学習曲線を最小化にして動作効率を高めるように、できる限り自然であることが望ましい。ビューパラメータを提供する1つの方法は、例えば検索フィールドの使用によるテキストフォーマットであるが、本システム及び方法は、自然な操作ジェスチャを用いたナビゲーションを実装して、テキスト、ボタン及びメニューベースのインターフェイスを排除することができる。
いくつかの例では、システムが、同じデータの異なるビューを示すために複数のチャートを作成することができる。このような例では、ユーザが1つのこのようなチャートを見ている間に行うナビゲーションが、他の対応するチャート内のフィルタをトリガすることができる。このようなチャートは、開発者がこのようなフィルタを生成するように構成することも、或いはデータ構造と、各チャートが表示する場合にはどの側面であるかとを分析することによってシステムが自動的に実行することもできる。
例えば、複数チャートの例では、特定のチャートを表示しているユーザからシステムがナビゲーション入力を受け取った場合、以下の2つの事柄が起こり得る。1.入力に基づいて、チャートのサブビューを変更することができる。2.新たなフィルタを導入し、フィルタを変更し、又はフィルタを取り消すことができる。同時に、バイボックスの統合を通じて、又はこれを伴わずに、新たなフィルタセットに従ってデータを表示するように他のチャートを更新することができる。バイボックスは、複数のデータソースからのチャート間データフィルタリングを可能にするビジネスインテリジェンス要素を意味することができる。
いくつかのナビゲーション相互作用及び入力の例としては、限定するわけではないが、以下を挙げることができる。
スクロール。アイテムの線形順序を表すチャートをスクロールすることができる。スクロールの結果、チャートビューが隣接するデータを表示するように変更され、及び/又は他のチャートのフィルタが更新される。
開始する相互作用の例としては、以下に限定するわけではないが、チャート上のスクロール方向におけるマウスのドラッグ、指のスクロール、スタイラスのスクロールなど、指定スクロール領域におけるクリック及び/又はタップ、及び/又は装置の傾動、及び埋め込みモーションセンサへの作用が挙げられる。
これとは別に、又はこれに加えて、ズームイン/アウト。タイムチャート上、ジオチャート上などの連続する軸に沿ってデータを視覚化する場合、視覚化されたグラフィックをズームイン及びズームアウトによって表示することができる。ズームは、他のチャートのフィルタも同様に変更して、チャートの現在見えている部分までフィルタリングをスクロールすることができる。ズームは、ボタンのタップ又はクリック、及び/又はタッチ画面上における指、又は親指と指によるピンチによって実行することができる。
これとは別に、又はこれに加えて、凡例。凡例は、特定のチャート内に表示された様々な線及び記号の説明を示すことができる。凡例アイテムと相互作用することにより、凡例記号が示すカテゴリを隠すことができるフィルタをトリガすることができる。凡例には、複数の動作を結び付けることができる。1つの動作では、相互作用カテゴリの非表示/表示を行うことができる。別の動作では、作用中の1つのカテゴリのみを残して他の全てのカテゴリを非表示にすることができる。
これとは別に、又はこれに加えて、掘り下げ。集約を使用する場合、クリック、タップ又は同様のものなどのアイテムとの相互作用によって掘り下げ動作をトリガすることができる。さらに、掘り下げによって、集約されたアイテムが表すカテゴリのみを表示するように新たなフィルタをトリガし、掘り下げが行われるチャート内に次の構成された掘り下げレベルを表示することができる。
これとは別に、又はこれに加えて、掘り上げ。この動作例は、掘り下げの逆と見なすことができる。掘り上げは、掘り下げによって追加されたビュー及びフィルタ変更を元に戻す。通常、掘り上げは、特殊なボタン又は動作エリアとの相互作用によってトリガされる。
これとは別に、又はこれに加えて、拡張。ノード及びリンクとして表すことができるリンクデータと連動する場合、別のナビゲーション方法は、ノードを拡張して、リンクで直接接続されたノードを表示することである。拡張は、ビュー内に新たなノードを導入することができる。拡張は、フィルタ内でフィルタと共に使用することもできる。例えば、各ノードがカテゴリを表すネットワークチャートでは、全ての可視ノードがいくつかのカテゴリのフィルタを表すことができる。
これとは別に、又はこれに加えて、選択。選択は、ビューを変更せずにフィルタを導入する代替方法とすることができる。軸上で複数のアイテム又は範囲を選択することにより、選択に対応するフィルタが導入される。選択は、クリック、タップ又は同様のものによって行うことができる。
スタイリング
いくつかの実施形態例では、視覚グラフィックに深みを与えるために、異なるオプションを用いてチャートアイテムを表示することができる。アイテムは、例えば、データ点、円グラフの楔、線、列などの、チャート及び/又はグラフ内に示されるあらゆるアイテムとすることができる。各チャートは、チャート内に表示されるアイテムのデフォルトスタイルを有することができる。本システム及び方法では、スタイル機能を用いて、アプリケーション開発者が各アイテムの外観を動的に調整することができる。
さらに、アイテムは、所与のチャート又はグラフ内のアイテム状態を表す様々なフィールドを有することができる。このような状態フィールドは、以下を含む。
−データ− データベースから受け取られるアイテムデータ
−ホバリング− アイテムがホバリングされた場合に、何かが表示される
−シリーズ− アイテムシリーズ
−選択済み− アイテムが選択された場合、何かが表示される
−フォーカス− アイテム上のダブルクリック/ダブルタップによってアイテムに焦点が当てられた場合
スタイル機能は、これらのアイテム状態フィールドを用いてアイテムスタイルフィールドを計算することができる。状態フィールドのうちの1つが変更される度に、スタイル機能を呼び出して最新の視覚スタイルを計算することができる。
カスタム化の例としては、以下に限定するわけではないが、アイテムの色、アイテムの塗りつぶし色、アイテムの不透明度、アイテムのラベル、アイテムの影、アイテムの色、オフセット及びぼかしなどのスタイルフィールドの選択を挙げることができる。サブアイテムを使用することもできる。
これにより、開発者がアイテム状態を追跡したり、或いはチャートイベントに反応してスタイルを更新したりする必要なく、単純なスタイル機能の定義が可能になる。
チャートAPI
本システム及び方法は、APIアクセスを単純にするために、設定機能及びナビゲーション機能のみを使用することができる。公開するオブジェクトモデルは、チャートアイテムのみに限定することができる。他の全ての側面は、単純なJavaScriptオブジェクト(設定)を通じて構成することができ、アプリケーション開発者をチャートの内部構造及び内部状態から切り離すことができる。
クライアントアプリケーションは、チャートを作成するために、文書化構造に基づいて、設定を含むJavaScriptオブジェクトを構築することができる。オブジェクト内のフィールドのほとんどは任意とすることができ、提供されない場合にはデフォルト値を使用することができる。
クライアントアプリケーションは、チャートの作成後に、変更したいと望む設定フィールドの新たな値を含む新たな設定オブジェクトを用いてchart.updateSettings法を呼び出すことができる。チャートは、新たな値を分析して、チャートを設定に一致するように再構成することができる。ナビゲーション状態は、このルールの明らかな例外であり、APIコマンドを通じて設定/読み出しを行うことができる。
作業スケジューリング
チャート状態の更新は、モバイル装置のプロセッサに重い負担を掛けることがある。また、後でチャートをレンダリングせずに更新を繰り戻すと、リソースが無駄になることがある。これを緩和するのに役立つように、本システム及び方法は、全てのチャート変更を待ち行列に入れ、実際の描画/レンダリング動作が行われる直前まで更新を先送りすることができる。このような例では、同期して行われる唯一の動作が、ナビゲーション状態の追跡である。
チャート変更は、変更オブジェクトに記憶することができる。変更オブジェクトを用いて、内部的なnotifyChangesコールを発行することができる。複数のnotifyChangesコールが行われる場合、変更オブジェクトを融合させて全ての変更の融合物を形成することができる。1つの値が複数回変更される場合には、最新の値を優先することができる。また、修正したオブジェクトのリストが蓄積した場合には、各notifyChangesコールがリストにアイテムを追加して重複を排除する。
各チャートでは、最初に順序変更が通知されていたにも関わらず正しい最終状態を保証する変更処理順が定められる。
このようなアーキテクチャの結果、APIコールを行う際に必要となる処理が非常に少なくなり、高価な更新コールがタイトなループで行われる際のアプリケーション開発者の潜在的危険が排除される。
実装例
本明細書に開示したシステム及び方法は、ソフトウェア開発者が自身のウェブアプリケーション及びモバイルアプリケーションに相互作用型チャートを追加できるようにするチャート及びグラフライブラリを利用することができる。いくつかの実施形態例は、いくつかの実施形態では実際のチャートのレンダリングにCANVASを使用することを含む新たなチャート化ライブラリのさらなる開発の基礎として、例えばHTML5を利用することができる。他の例は、限定するわけではないが、SVG及びWMLなどの他のいずれかの種類のソフトウェア実装を利用することができる。さらに、このようなライブラリは、あらゆる種類のモバイル装置と共に使用することができる。このような例は、タッチ、マルチタッチ、タップ、傾き、GPS(全地球測位システム)及びその他の感知データサポートなどの全ての人間機械相互作用の処理を担うライブラリ内のカスタムレイヤを使用することができる。
本システム及び方法を開発するプログラミング言語としては、JavaScriptを使用することができるので、このようなライブラリは、ターゲット装置が実際のデータ視覚化のためにJavaScriptコードの実行とCanvas API(アプリケーションプログラムインターフェイス)の両方をサポートしている限り、装置間及びプラットフォーム間の互換性を有することができる。
図10に、本明細書で説明した実施形態例の一部又は全部を実装するために使用できるコンピュータ装置例を示す。コンピュータ装置例1000内には、ユーザインターフェイス1014を用いてバス1012又はその他のネットワーク通信経路と通信するCPU1010を示す。ユーザインターフェイス1014には、ディスプレイ装置1018及び入力装置1016を示す。これらの装置は、コンピュータ装置1000に依存して、タッチ入力対応のスマートフォン画面とすることもできる。いくつかの実施形態では、これらの装置を、キーボード、仮想キーボード、マウス、ジェスチャ認識カメラなどとすることができる。CPU1010と通信するネットワークインターフェイス1020も示す。コンピュータ装置1000は、ネットワークインターフェイスにより、以下に限定するわけではないが、インターネット、セルラーネットワーク、WiFiネットワークなどのネットワークを介して通信することができる。コンピュータ装置1000には、限定するわけではないがアンテナ1026などの様々な周辺機器1024も示す。この例には、メモリ1022も示す。図示のメモリ1022は、オペレーティングシステム1032と共に、ネットワーク通信モジュール1034、命令1036、データ送受信1040及びグラフ表示1042などのアプリケーションを実行する。また、データモジュール1050も示しており、ここにはデータテーブル1060、トランザクションログ1062、ユーザデータ1064、グラフデータ10170が記憶される。
図10のコンピュータ装置1000は、サーバ、分散コンピュータ、或いはデータを処理し、データを記憶し、データの記憶又は本明細書で説明した方法を実行するその他の計算機能を引き起こす他のいずれかの種類のコンピュータ装置とすることもできる。
結論
以上、特定の実施形態を参照しながら説明目的で解説を行った。しかしながら、上記の例示的な説明は、完全であることや、或いは開示した厳密な形に本開示を限定することを意図したものではない。上記の教示に照らして多くの修正及び変形が可能である。これらの実施形態は、本発明の原理及びその実際の応用を最良に説明することにより、他の当業者が検討する特定の用途に適した形で本発明及び様々な実施形態を様々に修正して最も良く利用できるように選択し説明したものである。
コンピュータは、パーソナルコンピュータ又は他のタイプのワークステーション又は端末装置とすることができる。一般に、このようなコンピュータ装置の構造、プログラミング及び一般的動作、並びに結果としての図面は周知である。このような装置のハードウェア要素、オペレーティングシステム及びプログラミング言語は、本質的に従来のものである。
ソフトウェアは、以下に限定するわけではないが、有形記憶媒体、搬送波媒体又は物理的伝送媒体を含む多くの形を取ることができる機械可読媒体に記憶される。不揮発性記憶媒体は、例えば、いずれかの(単複の)コンピュータ内の記憶装置などのいずれかのような光又は磁気ディスクを含む。揮発性記憶媒体は、このようなコンピュータプラットフォームのメインメモリなどのダイナミックメモリを含む。有形伝送媒体は、コンピュータシステム内にバスを有するワイヤを含む、同軸ケーブル、銅線及び光ファイバーを含む。搬送波伝送媒体は、無線周波数(RF)及び赤外線(IR)データ通信中に生成されるような電気又は電磁信号、或いは音波又は光波の形を取ることができる。
従って、コンピュータ可読媒体の共通形態としては、例えば、ディスク(例えば、ハード、フロッピー、フレキシブル)又は他のいずれかの磁気媒体、CD−ROM、DVD、又はDVD−ROM、他のいずれかの光媒体、他のいずれかの物理記憶媒体、RAM、PROM、EPROM、FLASH−EPROM、他のいずれかのメモリチップ、データ又は命令を伝える搬送波、このような搬送波を伝えるケーブル又はリンク、或いはコンピュータがプログラムコード及び/又はデータを読み出すことができる他のいずれかの媒体が挙げられる。これらの形のコンピュータ可読媒体の多くは、1又は2以上の命令の1又は2以上のシーケンスを実行のためにプロセッサに搬送することに関与することができる。
従って、本明細書及びこれらの実施形態に関連する図は、限定的な意味ではなく例示的な意味で捉えるべきであり、全ての修正は、以下の特許請求の範囲に含まれるように意図される。利点、長所、問題解決手段、及びいずれかの利点、長所又は解決手段を生じさせる、又はより顕著にするいずれかの(単複の)要素を、一部又は全部の請求項の重要な、必要な又は不可欠な特徴又は要素として解釈すべきではない。本発明は、添付の特許請求の範囲のみによって定められ、特許請求の範囲は、本出願の係属中に行われるあらゆる補正、及び発行時におけるこれらの請求項の全ての同等物を含む。
本明細書の開示は、方法及びこれらの方法を実施する装置の形で具体化することができる。本発明は、フロッピーディスケット、CD−ROM、ハードドライブ又はその他のいずれかの機械可読記憶媒体などの有形媒体に具体化されたプログラムコードの形で具体化することもでき、これらのプログラムコードがコンピュータなどの機械にロードされて実行されると、この機械が本発明を実施する装置になる。本発明は、例えば記憶媒体に記憶されるか、機械にロードされ及び/又は機械によって実行されるか、或いは電気配線又はケーブル、光ファイバー、又は電磁放射線などの何らかの伝送媒体を介して送信されるかに関わらず、プログラムコードの形で具体化することもでき、これらのプログラムコードがコンピュータなどの機械にロードされて実行されると、この機械が本発明を実施する装置になる。プログラムコードセグメントは、汎用プロセッサ上に実装された場合、プロセッサと組み合わさって特定の論理回路と同様に動作する固有の装置を提供する。
ソフトウェアは、以下に限定するわけではないが、有形記憶媒体、搬送波媒体又は物理的伝送媒体を含む多くの形を取ることができる機械可読媒体に記憶することができる。不揮発性記憶媒体は、例えば、いずれかの(単複の)コンピュータ内の記憶装置などのいずれかのような光又は磁気ディスクを含む。揮発性記憶媒体は、このようなコンピュータプラットフォームのメインメモリなどのダイナミックメモリを含む。有形伝送媒体は、コンピュータシステム内にバスを有するワイヤを含む、同軸ケーブル、銅線及び光ファイバーを含む。搬送波伝送媒体は、無線周波数(RF)及び赤外線(IR)データ通信中に生成されるような電気又は電磁信号、或いは音波又は光波の形を取ることができる。従って、コンピュータ可読媒体の共通形態としては、例えば、ディスク(例えば、ハード、フロッピー、フレキシブル)又は他のいずれかの磁気媒体、CD−ROM、DVD、又はDVD−ROM、他のいずれかの光媒体、他のいずれかの物理記憶媒体、RAM、PROM、EPROM、FLASH−EPROM、他のいずれかのメモリチップ、データ又は命令を伝える搬送波、このような搬送波を伝えるケーブル又はリンク、或いはコンピュータがプログラムコード及び/又はデータを読み出すことができる他のいずれかの媒体を含む。これらの形のコンピュータ可読媒体の多くは、1又は2以上の命令の1又は2以上のシーケンスを実行のためにプロセッサに搬送することに関与することができる。

Claims (23)

  1. データを管理する方法であって、
    ネットワーク及びデータストレージと通信するサーバにおいて、
    データを受け取るステップと、
    前記データを前記データストレージに記憶させるステップと、
    モバイル装置上のアプリケーションから前記ネットワークを介して、チャートを表示するために使用する前記データの一部を求める要求を受け取るステップと、
    前記ネットワークを介して前記アプリケーションに送信すべき、前記要求されたデータのサブセットを決定するステップと、
    前記要求されたデータの前記サブセットを、前記ネットワークを介して前記アプリケーションに送信するステップと、
    前記アプリケーションから前記ネットワークを介して、前記送信したデータに関連する関連データを求める要求を受け取るステップと、
    前記ネットワークを介して前記アプリケーションに送信すべき、前記要求された関連データのサブセットを決定するステップと、
    前記要求された関連データの前記サブセットを、前記ネットワークを介して前記アプリケーションに送信するステップと、
    を含むことを特徴とする方法。
  2. 前記要求されたデータのサブセットを決定するステップは、データ集約を含む、
    請求項1又はいずれかの請求項に記載の方法。
  3. 前記要求されたデータのサブセットを決定するステップは、フィルタリングを含む、
    請求項1又はいずれかの請求項に記載の方法。
  4. 前記要求されたデータのサブセットを決定するステップは、サブビューフィルタリングを含む、
    請求項1又はいずれかの請求項に記載の方法。
  5. 前記チャートは、タイムチャート、ネットワークチャート、円グラフ、ファセットチャート、ジオチャート又はイベントチャートのうちの1つである、
    請求項1又はいずれかの請求項に記載の方法。
  6. データ集約は、
    選択されたデータフィールドのための異なる値を抽出するステップと、
    各異なるフィールドのための集約アイテムを作成するステップと、
    を含む、
    請求項2又はいずれかの請求項に記載の方法。
  7. フィルタリングは、フィルタリング基準を用いて、前記ネットワークを介して前記アプリケーションに送信すべきデータの前記サブセットにどのデータを含めるかを判断するステップを含む、
    請求項3又はいずれかの請求項に記載の方法。
  8. サブビューフィルタリングは、チャート内で利用できる前記データ全体のサブセットを選択するステップを含む、
    請求項4又はいずれかの請求項に記載の方法。
  9. データを管理する方法であって、
    モバイル装置上で実行される、ネットワーク及びデータストレージと通信するアプリケーションにおいて、
    データをチャート化する要求をユーザから受け取るステップと、
    前記チャートをレンダリングするために使用すべきデータを求める要求を、前記ネットワークを介してネットワークサーバに送信するステップと、
    前記要求したデータのサブセットを受け取るステップと、
    前記要求したデータのサブセットを前記データストレージに記憶させるステップと、
    前記記憶された要求したデータのサブセットを用いて、前記モバイル装置上に表示するチャートをレンダリングするステップと、
    前記レンダリングされたチャートに関する入力を前記ユーザから受け取るステップと、
    前記記憶された要求したデータのサブセットに関連する関連データを求める要求を前記ネットワークサーバに送信するステップと、
    前記要求した関連データの前記サブセットを受け取るステップと、
    前記受け取った前記要求した関連データのサブセットを記憶させるステップと、
    前記記憶された受け取った前記要求した関連データのサブセットを用いて、前記レンダリングされたチャートを変更するステップと、
    を含むことを特徴とする方法。
  10. 前記チャートは、タイムチャート、ネットチャート、円グラフ、ファセットチャート、ジオチャート、又はイベントチャートのうちの1つである、
    請求項9又はいずれかの請求項に記載の方法。
  11. 前記アプリケーションは、前記ユーザが相互作用する視覚的ヒントをさらに表示させ、前記視覚的ヒントは、前記モバイル装置との相互作用時に表示できるデータの図形的指示を含む、
    請求項10又はいずれかの請求項に記載の方法。
  12. 前記レンダリングされたチャートが、前記モバイル装置上でユーザによる相互作用を受けた時に、
    チャート変更を受け取った時に該チャート変更を待ち行列に入れるステップと、
    前記チャートがレンダリングされる前の予め選択された時点まで前記チャートの更新を先送りするステップと、
    を含む、
    請求項9又はいずれかの請求項に記載の方法。
  13. 前記ユーザから受け取られた前記入力は、前記アプリケーションに、前記ネットワークサーバにさらに多くのデータを要求させる、
    請求項9又はいずれかの請求項に記載の方法。
  14. 前記チャート内でレンダリングされる前記データ量を減少させるために、受け取ったデータに対して、前記データストレージに記憶されたライブラリからのフィルタを使用するステップをさらに含む、
    請求項9又はいずれかの請求項に記載の方法。
  15. 新規データ、又は既存データの更新を求めて、前記ネットワークサーバに一定の時間間隔でクエリを送信するステップをさらに含む、
    請求項9又はいずれかの請求項に記載の方法。
  16. 前記アプリケーションは、前記ネットワークサーバから前記さらに多くのデータを受け取り、前記さらに多くのデータを用いて、変更されたチャートを表示させる、
    請求項13又はいずれかの請求項に記載の方法。
  17. 前記チャートは、円グラフであり、前記視覚的ヒントは、前記円グラフの前記中央にレンダリングされた要約チャートを含み、前記中央の円グラフ内のスライスのためのハイライトヒントがレンダリングされる、
    請求項11又は他のいずれかの請求項に記載の方法。
  18. データを管理する方法のためのコンピュータ実行可能命令を有する非一時的コンピュータ可読媒体であって、前記命令は、
    モバイル装置上で実行される、ネットワーク及びデータストレージと通信するアプリケーションにおいて、
    データをチャート化する要求をユーザから受け取るステップと、
    前記チャートをレンダリングするために使用すべきデータを求める要求を、前記ネットワークを介してネットワークサーバに送信するステップと、
    前記要求したデータのサブセットを受け取るステップと、
    前記要求したデータのサブセットを前記データストレージに記憶させるステップと、
    前記記憶された要求したデータのサブセットを用いて、前記モバイル装置上に表示するチャートをレンダリングするステップと、
    前記レンダリングされたチャートに関する入力を前記ユーザから受け取るステップと、
    前記記憶された要求したデータのサブセットに関連する関連データを求める要求を前記ネットワークサーバに送信するステップと、
    前記要求した関連データの前記サブセットを受け取るステップと、
    前記受け取った前記要求した関連データのサブセットを記憶させるステップと、
    前記記憶された受け取った前記要求した関連データのサブセットを用いて、前記レンダリングされたチャートを変更するステップと、
    を含む、
    ことを特徴とする非一時的コンピュータ可読媒体。
  19. 前記ユーザから受け取られた前記入力は、前記アプリケーションに、前記ネットワークサーバにさらに多くのデータを要求させる、
    請求項18又はいずれかの請求項に記載の非一時的コンピュータ可読媒体。
  20. 前記命令は、前記チャートをレンダリングする前記データ量を減少させるために、受け取ったデータに対して、ローカルに記憶されたライブラリからのフィルタを使用するステップをさらに含む、
    請求項18又はいずれかの請求項に記載の非一時的コンピュータ可読媒体。
  21. 前記命令は、新規データ、又は既存データの更新を求めて、前記ネットワークサーバに一定の時間間隔でクエリを送信するステップをさらに含む、
    請求項18又はいずれかの請求項に記載の非一時的コンピュータ可読媒体。
  22. 前記チャートは、タイムチャートであり、前記アプリケーションは、水平スワイプのユーザ入力に応答して前記タイムチャート上の時間範囲をさらに変更する、
    請求項18又はいずれかの請求項に記載の非一時的コンピュータ可読媒体。
  23. 前記アプリケーションは、ユーザ入力に応答して、円グラフとネットワークチャートとの組み合わせをレンダリングする、
    請求項18又はいずれかの請求項に記載の非一時的コンピュータ可読媒体。
JP2017566221A 2015-03-13 2016-03-14 データ視覚化の実装 Pending JP2018514884A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562133183P 2015-03-13 2015-03-13
US62/133,183 2015-03-13
PCT/IB2016/000414 WO2016147052A1 (en) 2015-03-13 2016-03-14 Data visualization implementation

Publications (1)

Publication Number Publication Date
JP2018514884A true JP2018514884A (ja) 2018-06-07

Family

ID=55808785

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017566221A Pending JP2018514884A (ja) 2015-03-13 2016-03-14 データ視覚化の実装

Country Status (3)

Country Link
US (2) US11645343B2 (ja)
JP (1) JP2018514884A (ja)
WO (1) WO2016147052A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11921804B2 (en) 2015-03-13 2024-03-05 Data Visualization Software Lab Data visualization implementation

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10333752B2 (en) * 2015-03-13 2019-06-25 Qualcomm Incorporated Guard-band for scaled numerology multiplexing
US10147208B2 (en) * 2016-12-20 2018-12-04 Sap Se Dynamic chaining of data visualizations
US10740123B2 (en) * 2017-01-26 2020-08-11 Nice Ltd. Method and system for accessing table content in a digital image of the table
US11995428B2 (en) 2017-01-26 2024-05-28 Nice Inc. Method and system for providing image-based interoperability with an application
US10541909B2 (en) * 2017-06-23 2020-01-21 International Business Machines Corporation Distributed affinity tracking for network connections
US10467782B2 (en) * 2018-01-09 2019-11-05 Sap Se Interactive hierarchical bar chart
US11222033B2 (en) * 2018-11-21 2022-01-11 Sap Se Dynamic data retrieval and analytical chart rendering for data sets
CN110866379B (zh) * 2019-10-22 2023-08-29 广州为乐信息科技有限公司 数据可视化图表库系统
US11449198B2 (en) 2020-05-11 2022-09-20 Sap Se User interface support for large hierarchies
CN112000323B (zh) * 2020-08-13 2024-02-20 奇点浩翰数据技术(北京)有限公司 一种数据处理方法和装置
US11822871B2 (en) 2022-02-02 2023-11-21 Morgan Stanley Services Group Inc. CSS customization of user interface components
WO2023234785A1 (en) * 2022-05-31 2023-12-07 Xero Limited Graphical user interface
WO2023249629A1 (en) * 2022-06-23 2023-12-28 Rakuten Symphony Singapore Pte. Ltd. Network viewport data fetching and visualization system and method of the same

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8943043B2 (en) * 2010-01-24 2015-01-27 Microsoft Corporation Dynamic community-based cache for mobile search
US8719243B2 (en) * 2010-04-27 2014-05-06 Salesforce.Com, Inc. Methods and systems for filtering data for interactive display of database data
US9836185B2 (en) * 2012-12-31 2017-12-05 Gambro Lundia Ab Extracorporeal blood treatment data interface
US9921732B2 (en) * 2013-07-31 2018-03-20 Splunk Inc. Radial graphs for visualizing data in real-time
US9781135B2 (en) * 2014-06-20 2017-10-03 Microsoft Technology Licensing, Llc Intelligent web page content blocking
US10698586B2 (en) * 2015-02-09 2020-06-30 Amazon Technologies, Inc. Data visualization through use of linked charts
US9817893B2 (en) * 2015-02-18 2017-11-14 Adobe Systems Incorporated Tracking changes in user-generated textual content on social media computing platforms
JP2018514884A (ja) 2015-03-13 2018-06-07 データ ヴィジュアリゼイション ソフトウェア ラブ データ視覚化の実装

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11921804B2 (en) 2015-03-13 2024-03-05 Data Visualization Software Lab Data visualization implementation

Also Published As

Publication number Publication date
US11921804B2 (en) 2024-03-05
US11645343B2 (en) 2023-05-09
WO2016147052A1 (en) 2016-09-22
US20180004851A1 (en) 2018-01-04
US20230230301A1 (en) 2023-07-20

Similar Documents

Publication Publication Date Title
US11921804B2 (en) Data visualization implementation
JP7461941B2 (ja) 音声コマンドおよび定義されたパースペクティブを用いた仮想データビューの最適化
US9471700B2 (en) System and method for monitoring changes in databases and websites
US8560946B2 (en) Timeline visualizations linked with other visualizations of data in a thin client
US9396241B2 (en) User interface controls for specifying data hierarchies
US10768421B1 (en) Virtual monocle interface for information visualization
CN113110784A (zh) 数据元素向可视化边缘的基于语义距离的指派
US10222970B2 (en) Selecting and performing contextual actions via user interface objects
JP7433822B2 (ja) アプリケーションビルダ
US11029818B2 (en) Graphical user interface management for different applications
US10067670B2 (en) Multi-switch option scanning
EP3627301A1 (en) Desktop and mobile graphical user interface unification
GB2556068A (en) Data interation device
KR20170129598A (ko) 프로토타입 제작 방법