(57)【要約】方法は、エンティティを識別するクエリーを受信する工程と、クエリーに応答して第1のエンティティ・レコード・セットを取得する工程であって、第1のエンティティ・レコード・セットの各レコードがクエリーに応答した1つまたは複数の視覚オブジェクトを含む、工程と、クエリーに応答して第2のエンティティ・レコード・セットを取得する工程であって、第2のエンティティ・レコード・セット内の各レコードが、1つまたは複数の視覚オブジェクトが生成された期間と関連付けられたエンティティを記述するエンティティスコアを含む、工程と、第1のエンティティ・レコード・セットを第2のエンティティ・レコード・セットと相関させるコンピュータ・プログラム・コードを実行する工程と、第1のエンティティ・レコード・セットが相関している第2のエンティティ・レコード・セットを使用して第1のエンティティ・レコード・セットを強化するコンピュータ・プログラム・コードを実行する工程と、強化された第1のエンティティ・レコード・セットに基づいて視覚的スナップショット・レンダリング・データを生成する工程とを含む。2021530775.tif 000003
2021530775.tif 000002
【特許請求の範囲】
【請求項１】
ユーザデバイスによってレンダリングされると、異なる分散データソースからの複数のデータレコードを相関させてアプリケーションの単一のユーザインターフェースにする、エンティティと関連付けられた履歴傾向を記述する視覚的スナップショットを提供する視覚的スナップショット・レンダリング・データを生成するためのコンピュータ実装方法であって、以下の工程を含むコンピュータ実装方法:
アプリケーション・プログラミング・インターフェースによって、ユーザデバイスから、エンティティを識別するクエリーを受信する工程;
アプリケーション・プログラミング・インターフェースによって、クエリーに応答した第1の分散データソースからの第1のエンティティレコードを表す第1のデータ構造セットを取得する工程であって、第1のエンティティレコードの各々が、クエリーに応答した、視覚オブジェクトが生成された第1の時点と関連付けられた該視覚オブジェクトを含む、工程;
アプリケーション・プログラミング・インターフェースによって、クエリーに応答した第2の分散データソースからの第2のエンティティレコードを表す第2のデータ構造セットを取得する工程であって、第2のエンティティレコードの各々が、エンティティスコアが生成された第2の時点と関連付けられた該エンティティスコアを含む、工程;
アプリケーション・プログラミング・インターフェースによって、第1の時点および第2の時点に基づいて、第1の分散データソースからの第1のデータ構造セットによって表される第1のエンティティレコードを、第2の分散データソースからの第2のデータ構造セットによって表される第2のエンティティレコードと相関させるコンピュータ・プログラム・コードを実行する工程;
アプリケーション・プログラミング・インターフェースによって、相関データを使用して第1のエンティティレコードを強化するコンピュータ・プログラム・コードを実行する工程;ならびに
アプリケーション・プログラミング・インターフェースによって、強化された第1のエンティティレコードに基づいて視覚的スナップショット・レンダリング・データを生成する工程。
【請求項２】
第2のエンティティ・レコード・セットの各エンティティレコードのエンティティスコアが、質問票の質問に対して提供された回答に基づくものである、請求項1記載のコンピュータ実装方法。
【請求項３】
前記視覚オブジェクトが、前記エンティティの1つまたは複数の部分の画像を含む、請求項1記載のコンピュータ実装方法。
【請求項４】
前記視覚データオブジェクトが、前記エンティティのビデオを含む、請求項1記載のコンピュータ実装方法。
【請求項５】
アプリケーション・プログラミング・インターフェースによって、第1の時点および第2の時点に基づいて、第1の分散データソースからの第1のデータ構造セットによって表される第1のエンティティレコードを、第2の分散データソースからの第2のデータ構造セットによって表される第2のエンティティレコードと相関させるコンピュータ・プログラム・コードを実行する工程が、
第1のエンティティ・レコード・セットの各特定のエンティティレコードについて、
第1の時点と第2の時点がどちらも所定の期間内に入るという判断に基づいて、特定のエンティティレコードを第2の分散データベースからの第2のエンティティレコードのうちの1つまたは複数と相関させる工程
を含む、請求項1記載のコンピュータ実装方法。
【請求項６】
前記強化された第1のエンティティ・レコード・セットに基づいて視覚的スナップショット・レンダリング・データを生成する工程に応答して、アプリケーション・プログラミング・インターフェースによって、視覚的スナップショット・レンダリング・データを、表示のために、ユーザデバイスに送信する工程
をさらに含む、請求項1記載のコンピュータ実装方法。
【請求項７】
アプリケーション・プログラミング・インターフェースによって、特定の視覚オブジェクトおよび対応する時点に対応するメタデータを求める要求のための視覚的スナップショット・レンダリング・データのプロット点上のユーザ選択を受信する工程;ならびに
アプリケーション・プログラミング・インターフェースによって、特定の視覚オブジェクトおよび対応する時点に対応するメタデータを、表示のために、ユーザデバイスに送信する工程
をさらに含む、請求項6記載のコンピュータ実装方法。
【請求項８】
視覚的スナップショット・レンダリング・データが3Dフォーマットでモデル化される、請求項1記載のコンピュータ実装方法。
【請求項９】
1つまたは複数のコンピュータと、
該1つまたは複数のコンピュータによって実行されると、該1つまたは複数のコンピュータに、ユーザデバイスによってレンダリングされると、異なる分散データソースからの複数のデータレコードを相関させてアプリケーションの単一のユーザインターフェースにする、エンティティと関連付けられた履歴傾向を記述する視覚的スナップショットを提供する視覚的スナップショット・レンダリング・データを生成させるように動作することができる命令を格納する、1つまたは複数の記憶デバイスと
を含む、システムであって、
該動作が、
アプリケーション・プログラミング・インターフェースによって、ユーザデバイスから、エンティティを識別するクエリーを受信することと、
アプリケーション・プログラミング・インターフェースによって、クエリーに応答した第1の分散データソースからの第1のエンティティレコードを表す第1のデータ構造セットを取得することであって、第1のエンティティレコードの各々が、クエリーに応答した、視覚オブジェクトが生成された第1の時点と関連付けられた該視覚オブジェクトを含む、ことと、
アプリケーション・プログラミング・インターフェースによって、クエリーに応答した第2の分散データソースからの第2のエンティティレコードを表す第2のデータ構造セットを取得することであって、第2のエンティティレコードの各々が、エンティティスコアが生成された第2の時点と関連付けられた該エンティティスコアを含む、ことと、
アプリケーション・プログラミング・インターフェースによって、第1の時点および第2の時点に基づいて、第1の分散データソースからの第1のデータ構造セットによって表される第1のエンティティレコードを、第2の分散データソースからの第2のデータ構造セットによって表される第2のエンティティレコードと相関させるコンピュータ・プログラム・コードを実行することと、
アプリケーション・プログラミング・インターフェースによって、相関データを使用して第1のエンティティレコードを強化するコンピュータ・プログラム・コードを実行することと、
アプリケーション・プログラミング・インターフェースによって、強化された第1のエンティティレコードに基づいて視覚的スナップショット・レンダリング・データを生成することと
を含む、システム。
【請求項１０】
第2のエンティティレコードの各レコードのエンティティスコアが、質問票の質問に対して提供された回答に基づくものである、請求項9記載のシステム。
【請求項１１】
前記視覚オブジェクトが、前記エンティティの1つまたは複数の部分の画像を含む、請求項9記載のシステム。
【請求項１２】
前記視覚オブジェクトが、前記エンティティのビデオを含む、請求項9記載のシステム。
【請求項１３】
アプリケーション・プログラミング・インターフェースによって、第1の分散データソースからの第1のデータ構造セットによって表される第1のエンティティレコードを、第2の分散データソースからの第2のデータ構造セットによって表される第2のエンティティレコードと相関させるコンピュータ・プログラム・コードを実行することが、
第1のエンティティレコードの各エンティティレコードについて、
それぞれの第1の時点および期間に基づいてエンティティレコードを第2の分散データベースからの第2のエンティティレコードのうちの1つまたは複数と相関させること
を含む、請求項9記載のシステム。
【請求項１４】
前記強化された第1のエンティティレコードに基づいて視覚的スナップショット・レンダリング・データを生成することに応答して、アプリケーション・プログラミング・インターフェースによって、視覚的スナップショット・レンダリング・データを、表示のために、ユーザデバイスに送信すること
をさらに含む、請求項1記載のシステム。
【請求項１５】
アプリケーション・プログラミング・インターフェースによって、特定の視覚オブジェクトおよび対応する時点に対応するメタデータを求める要求のための視覚的スナップショット・レンダリング・データのプロット点上のユーザ選択を受信することと、
アプリケーション・プログラミング・インターフェースによって、特定の視覚オブジェクトおよび対応する時点に対応するメタデータを、表示のために、ユーザデバイスに送信することと
をさらに含む、請求項14記載のシステム。
【請求項１６】
視覚的スナップショット・レンダリング・データが3Dフォーマットでモデル化される、請求項1記載のシステム。
【請求項１７】
1つまたは複数のコンピュータによって実行されると、該1つまたは複数のコンピュータに、ユーザデバイスによってレンダリングされると、異なる分散データソースからの複数のデータレコードを相関させてアプリケーションの単一のユーザインターフェースにする、エンティティと関連付けられた履歴傾向を記述する視覚的スナップショットを提供する視覚的スナップショット・レンダリング・データを生成させる、1つまたは複数のコンピュータによって実行可能な命令を含むソフトウェアを格納する、非一時的なコンピュータ可読媒体であって、
該動作が、
アプリケーション・プログラミング・インターフェースによって、ユーザデバイスから、エンティティを識別するクエリーを受信することと、
アプリケーション・プログラミング・インターフェースによって、クエリーに応答した第1の分散データソースからの第1のエンティティレコードを表す第1のデータ構造セットを取得することであって、第1のエンティティレコードの各々が、クエリーに応答した、視覚オブジェクトが生成された第1の時点と関連付けられた該視覚オブジェクトを含む、ことと、
アプリケーション・プログラミング・インターフェースによって、クエリーに応答した第2の分散データソースからの第2のエンティティレコードを表す第2のデータ構造セットを取得することであって、第2のエンティティレコードの各々が、エンティティスコアが生成された第2の時点と関連付けられた該エンティティスコアを含む、ことと、
アプリケーション・プログラミング・インターフェースによって、第1の時点および第2の時点に基づいて、第1の分散データソースからの第1のデータ構造セットによって表される第1のエンティティレコードを、第2の分散データソースからの第2のデータ構造セットによって表される第2のエンティティレコードと相関させるコンピュータ・プログラム・コードを実行することと、
アプリケーション・プログラミング・インターフェースによって、相関データを使用して第1のエンティティレコードを強化するコンピュータ・プログラム・コードを実行することと、
アプリケーション・プログラミング・インターフェースによって、強化された第1のエンティティレコードに基づいて視覚的スナップショット・レンダリング・データを生成することと
を含む、非一時的なコンピュータ可読媒体。
【請求項１８】
第2のエンティティレコードの各レコードのエンティティスコアが、質問票の質問に対して提供された回答に基づくものである、請求項17記載のコンピュータ可読媒体。
【請求項１９】
前記視覚オブジェクトが、前記エンティティの1つまたは複数の部分の画像を含む、請求項17記載のコンピュータ可読媒体。
【請求項２０】
前記視覚オブジェクトが、前記エンティティのビデオを含む、請求項17記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、2018年6月27日に出願された米国特許出願第16/020662号の優先権を主張するものである。この先行出願の開示は、本出願の開示の一部とみなされ、その全体が本出願に組み入れられる。
【０００２】
分野
本明細書は、一般に、データ構造の探索に関し、より具体的には、データ構造の探索に応答して取得されたデータ構造を相関させて、探索されたデータ構造から導出された相関データの強化された視覚的スナップショットを生成することに関する。
【背景技術】
【０００３】
背景
データベースは、通常、エンティティに関連した大量の情報を格納することができる。通常、単一のデータベースは、エンティティに関連した情報の1つまたは複数のレコードを提供し、他の情報を推測することができない。
【発明の概要】
【０００４】
概要
1つの革新的な局面によれば、本明細書の主題は、ユーザデバイスによってレンダリングされると、異なる分散データソースからの複数のデータレコードを相関させてアプリケーションの単一のユーザインターフェースにする、エンティティと関連付けられた履歴傾向を記述する視覚的スナップショットを提供する視覚的スナップショット・レンダリング・データを生成するための方法において具体化され得る。本方法は、アプリケーション・プログラミング・インターフェースがユーザデバイスから、エンティティを識別するクエリーを受信する動作、アプリケーション・プログラミング・インターフェースが、クエリーに応答した第1の分散データソースからの第1のエンティティレコードを表す第1のデータ構造セットを取得する動作であって、第1のエンティティレコードの各々が、クエリーに応答した、視覚オブジェクトが生成された第1の時点と関連付けられた視覚オブジェクトを含む、動作、アプリケーション・プログラミング・インターフェースが、クエリーに応答した第2の分散データソースからの第2のエンティティレコードを表す第2のデータ構造セットを取得する動作であって、第2のエンティティレコードの各々が、エンティティスコアが生成された第2の時点と関連付けられたエンティティスコアを含む、動作、アプリケーション・プログラミング・インターフェースが、第1の時点および第2の時点に基づいて、第1の分散データソースからの第1のデータ構造セットによって表される第1のエンティティレコードを、第2の分散データソースからの第2のデータ構造セットによって表される第2のエンティティレコードと相関させるコンピュータ・プログラム・コードを実行する動作、アプリケーション・プログラミング・インターフェースが、相関データを使用して第1のエンティティレコードを強化するコンピュータ・プログラム・コードを実行する動作、ならびにアプリケーション・プログラミング・インターフェースが、強化された第1のエンティティレコードに基づいて視覚的スナップショット・レンダリング・データを生成する動作、を含み得る。
【０００５】
他のバージョンは、コンピュータ記憶デバイス上で符号化された方法の動作を行う、対応するシステム、装置、およびコンピュータプログラムを含む。
【０００６】
上記その他のバージョンは、任意で、以下の特徴のうちの1つまたは複数を含んでいてもよい。例えば、いくつかの実施態様では、第2のエンティティレコードの各々のエンティティスコアは、質問票の質問に対して提供された回答に基づくものである。
【０００７】
いくつかの実施態様では、視覚オブジェクトは、エンティティの画像1つまたは複数の部分を含む。
【０００８】
いくつかの実施態様では、アプリケーション・プログラミング・インターフェースが、第1の時点および第2の時点に基づいて、第1の分散データソースからの第1のデータ構造セットによって表される第1のエンティティレコードを、第2の分散データソースからの第2のデータ構造セットによって表される第2のエンティティレコードと相関させるコンピュータ・プログラム・コードを実行する動作は、第1のエンティティ・レコード・セットの個々のエンティティレコードについて、第1の時点と第2の時点がどちらも所定の期間内に入るという判断に基づいて、個々のエンティティレコードを第2の分散データベースからの第2のエンティティレコードのうちの1つまたは複数と相関させる動作、を含む。
【０００９】
いくつかの実施態様では、強化された第1のエンティティレコードに基づいて視覚的スナップショット・レンダリング・データを生成する動作に応答して、アプリケーション・プログラミング・インターフェースが、視覚的スナップショット・レンダリング・データを表示のためにユーザデバイスに送信する動作。
【００１０】
いくつかの実施態様では、アプリケーション・プログラミング・インターフェースが、特定の視覚オブジェクトおよび対応する時点に対応するメタデータを求める要求のための視覚的スナップショット・レンダリング・データのプロット点上のユーザ選択を受信する動作;ならびにアプリケーション・プログラミング・インターフェースが、特定の視覚オブジェクトおよび対応する時点に対応するメタデータを表示のためにユーザデバイスに送信する動作。
【００１１】
いくつかの実施態様では、視覚的スナップショット・レンダリング・データは3Dフォーマットでモデル化される。
【図面の簡単な説明】
【００１２】
【図１】図1は、分散データベースレコードを探索し、相関させるためのシステムの例の図である。
【図２】図2は、相関させた分散データベースレコードの視覚的スナップショットのユーザインターフェースの例の図である。
【図３】図3は、相関させた分散データベースレコードの視覚的スナップショットを示すためのプロセス例の流れ図である。
【図４】図4は、コンピューティングデバイスおよびモバイル・コンピューティング・デバイスの例を示す図である。
【００１３】
様々な図面中の同様の符番および名称は、同様の要素を示す。
【発明を実施するための形態】
【００１４】
詳細な説明
図1は、分散データベースレコードを探索し、相関させるためのシステム100の例の図である。システム100は、第1のソースコンピュータ102と、第2のソースコンピュータ104と、第1の分散データベース（DB）サーバ106と、第2の分散DBサーバ108と、ネットワーク110と、アプリケーションサーバ124と、ネットワーク126と、クライアントデバイス140とを含む。
【００１５】
第1のソースコンピュータ102は、ネットワーク110などの1つまたは複数のネットワークを介して第1の分散DBサーバ106と通信するように構成される。ネットワーク110は、有線または無線とすることができ、例えば、LAN、WAN、セルラーネットワーク、インターネットなどのうちの1つまたは複数を含み得る。あるいは、第1のソースコンピュータ102は、1つまたは複数の他のネットワークを使用して第1の分散DBサーバ106と通信するように構成されてもよい。
【００１６】
第1のソースコンピュータ102は、視覚オブジェクト112、114、116などの視覚オブジェクトを生成するために使用することができるコンピュータである。第1のソースコンピュータ102は、スマートフォン、スマートウォッチ、タブレット、ラップトップ、デスクトップ、サーバ、カメラ、X線装置、磁気共鳴画像法（MRI）装置、コンピュータ断層撮影（CT）スキャンなど、またはそれらの任意の組み合わせを含み得る。いくつかの実施態様では、ユーザが第1のソースコンピュータ102を使用してエンティティの特徴を記述する視覚オブジェクトを取り込み得る。例えば、ユーザは第1のソースコンピュータを使用してエンティティのMRIを取得することができる。第1のソースコンピュータ102を使用して取得された視覚オブジェクトは、第1の分散DB106に格納され得る。第1のソースコンピュータ102は、ネットワーク110などの1つまたは複数のネットワークを介して第1の分散DBサーバ106と通信するように構成される。あるいは、第1のソースコンピュータ102は、1つまたは複数の他のネットワークを使用して第1の分散DBサーバ106と通信するように構成されてもよい。
【００１７】
第2のソースコンピュータ104は、スコア118、120、および122などのスコアを生成するために使用することができるコンピュータである。第2のソースコンピュータ104は、スマートフォン、スマートウォッチ、タブレット、ラップトップ、デスクトップ、サーバなど、またはそれらの任意の組み合わせを含み得る。いくつかの実施態様では、第2のソースコンピュータ104を、エンティティのスコアを生成するために使用することができる。スコアは、質問票の1つまたは複数の質問へのエンティティ応答に基づくものであり得る。第2のソースコンピュータ104は、ネットワーク110などの1つまたは複数のネットワークを介して第2の分散DBサーバ108と通信するように構成される。あるいは、第2の分散コンピュータ104は、1つまたは複数の他のネットワークを使用して第2の分散DBサーバ108と通信するように構成されてもよい。
【００１８】
第1の分散DBサーバ106を使用して、レコードのソースコンピュータに近いコンピューティングシステム内のレコードを処理および格納することができる。例えば、第1の分散DBサーバ106を使用して、ソースコンピュータ102によって生成された視覚オブジェクト112、114、116などの視覚オブジェクトをアクセス、格納、および送信することができる。第1の分散DBサーバ106は、アプリケーションサーバ124が処理するための視覚オブジェクトを準備してもよい。アプリケーションサーバ124が処理するための視覚オブジェクトを準備することは、例えば、それぞれの視覚オブジェクト112、114、116を、視覚オブジェクト112、114、116が、アプリケーションサーバ124によって、他のデータオブジェクトと相関されることを可能にするタイムスタンプ112a、114a、116aでタグ付けすることを含み得る。タイムスタンプは、第1のソースコンピュータ102を使用してそれぞれの視覚オブジェクト112、114、116が生成されたときに生成されたメタデータからアクセスされ得る。
【００１９】
第2の分散DBサーバ108を使用して、レコードのソースコンピュータに近いコンピューティングシステム内のレコードを処理および格納することができる。例えば、第2の分散DBサーバ108を使用して、ソースコンピュータ104によって生成されたスコア118a、120a、122aなどの視覚オブジェクトをアクセス、格納、および送信することができる。いくつかの実施態様では、第2の分散DBサーバは、エンティティのスコアを生成した医療サービス提供者、保険会社などのサーバであり得る。別の実施態様では、第2の分散DBサーバは、患者の転帰スコアに関するデータを格納するオンライン患者コミュニティのサーバであり得る。そのようなオンライン患者コミュニティについては、参照によりその全体が本明細書に組み入れられる、米国特許出願第13/973568号に詳細に記載されている。
【００２０】
第2の分散DBサーバ108は、アプリケーションサーバ124が処理するためのスコアを準備してもよい。アプリケーションサーバ124が処理するためのスコアを準備することは、例えば、それぞれのスコア118、120、122を、スコア118、120、122が、アプリケーションサーバ124によって、視覚オブジェクト112、114、116などの他のデータオブジェクトと相関されることを可能にするタイムスタンプ118a、120a、122aでタグ付けすることを含み得る。それぞれのタイムスタンプは、第2のソースコンピュータ104を使用してそれぞれのスコア118、120、122が生成されたときに生成されたメタデータからアクセスされ得る。
【００２１】
第1の分散DBサーバ106および第2の分散DBサーバ108は、関係データベース、階層データベース、非構造化データベース、SQLデータベース、またはデータの格納および取得を可能にする任意の他の種類のデータベースなどの、任意のタイプのデータベースを含み得る。いくつかの実施態様では、システム100は、第1の分散DBサーバ106および第2の分散DBサーバ108と通信するためのアプリケーションサーバ124を含む。別の実施態様では、アプリケーションサーバ124を、第1の分散DBサーバ106に格納するか、または第2の分散DBサーバ106に格納することができる。別の実施態様では、アプリケーションサーバ124を、クライアントデバイス140に格納することができる。アプリケーションサーバ124は、ローカルに、またはネットワーク上で接続された1つまたは複数のコンピュータを含むことができる。アプリケーションサーバ124は、ネットワーク110上で第1の分散DBサーバ106および第2の分散DBサーバ108と通信することができる。
【００２２】
アプリケーションサーバ124は、アプリケーション・プログラミング・インターフェース（API）128を含む。API128は、アプリケーションサーバ124上に存在するアプリケーションがクライアントデバイス140、第1の分散DBサーバ106、および第2の分散DBサーバ108と通信することを可能にする1つまたは複数のソフトウェアサブルーチンを含む。加えて、API128は、これらのデバイスの各々から受信した任意のデータを相関させる。API128は、複数の分散DVサーバ106、108からのAPI128によって相関されたデータに基づいてクライアントデバイスに提供するためのレンダリングデータを生成するために使用することもできる。
【００２３】
特に、アプリケーションサーバ124は、第1の分散DBサーバ106における第1のエントリ・レコード・セットを求める要求を送信することができる。加えて、アプリケーションサーバ124は、第2の分散DBサーバ108における第2のエンティティ・レコード・セットを求める第2の要求を送信することもできる。別の例では、第1の分散DBサーバ106および第2の分散DBサーバ108は、第1のエントリ・レコード・セットおよび第2のエントリ・レコード・セットを、それぞれ、アプリケーションサーバ124からの要求なしで周期的にアプリケーションサーバ124に送信することができる。例えば、この周期は、毎時、毎日、毎週、または毎月とすることができる。いくつかの実施態様では、アプリケーションサーバは、ユーザからのエンティティに関する情報を求める要求に応答して第1の分散DB106と第2の分散DB108の両方に情報を求める要求を送信し得る。
【００２４】
アプリケーションサーバ124は、ネットワーク126上でクライアントデバイス140から1つまたは複数の要求またはクエリーを受信するように構成される。クライアントデバイス140は、例えば、セル電話、ラップトップコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、タブレット、ウェアラブルコンピュータ、セルラー電話、スマートフォン、音楽プレーヤ、電子書籍リーダ、ナビゲーションシステム、または任意の他の適切なコンピューティングデバイスとすることができる。
【００２５】
いくつかの実施態様では、ソースコンピュータ104は、ユーザに質問票を提示するものであり得る。質問票は、ユーザの病状、ユーザの治療、ユーザの病歴などに関連した複数の質問を含み得る。ユーザは、第2のソースコンピュータ104を使用して、質問票で提供された質問への回答を提供することができる。いくつかの実施態様では、第2のソースコンピュータ104は、質問票の質問へのユーザの回答に基づいてスコアを生成し得る。あるいは、ソースコンピュータ104は第2の分散DBサーバ108に記入済みの質問票を提供してもよく、第2の分散DBサーバ108は、質問票の質問への回答に基づいてスコアを生成する動作を行い得る。
【００２６】
さらに別の例では、ソースコンピュータ104または第2の分散DBサーバ108は、別のコンピュータからネットワーク上で記入済みの質問票を受信し得る。ソースコンピュータ104または第2の分散DBサーバ108は次いで、受信した質問票の質問への回答に基づくものであるスコアを生成し得る。
【００２７】
質問票のスコアの生成は、第2のソースコンピュータ104が受信した患者の質問票を処理することを含む。例えば、第2のソースコンピュータ104は、受信した質問票から回答を抽出し、抽出された回答に基づいて質問票の質問への回答を提供したユーザの1つまたは複数のスコアを生成し得る。例えば、質問票は、「あなたの主な問題は何ですか？」、「この問題はあなたの日常活動（仕事、睡眠、食事など）にどの程度影響を及ぼしますか？」、および「最初に症状に気づいたときから、問題は改善しましたか？」などと質問することができる。これらの質問は、例えば、腕、肩、首、足首、または回旋腱板などの、ユーザの身体部分に関する機能性のレベルに関する。ソースコンピュータ104は、患者によって提供された回答を解析することができ、抽出された回答に基づいて個々のスコアを決定する。スコアは、特定の質問・回答の組み合わせに割り当てられた所定の重みに基づいて決定され得る。
【００２８】
例として、ソースコンピュータ104は、エンティティの足首に関連した質問票の質問への回答に基づいて、「53」のエンティティスコアを決定し得る。そのようなスコアは、質問票に従って、エンティティの足首の働きが平均をわずかに上回ることを指示することができる。一般に、エンティティの特定の身体部分の感覚および働きが優れるほど、エンティティの個々のスコアも高くなる。これに応答して、ソースコンピュータ104は、エンティティの質問票の抽出された回答およびエンティティの決定されたスコアを第2の分散DBサーバ108に格納し得る。
【００２９】
したがって、生成されたスコアは、特定のときの特定のエンティティの特性を表すために使用できる尺度である。例えば、スコアは、質問票が記入された特定のときの特定の条件、治療などについてのエンティティの健康の指標を提供することができる。
【００３０】
いくつかの実施態様では、第2の分散DBサーバ108は、エンティティを表すデータを使用して第2の分散DBサーバ108内の格納された質問票に索引付けし得る。エンティティを表すデータは、エンティティの名前、エンティティ識別子（P132など）、受信した質問票から取得された1つまたは複数のキーワード、および質問票を参照する特定のIDを含むことができる。よって、質問票は、第2の分散DBサーバ108の記憶位置に格納され、アプリケーションサーバ124などの他のコンピュータはその後、エンティティを表すデータのタイプのうちの1つまたは複数を使用して第2の分散DBサーバ108から質問票および追加データを取得することができる。エンティティを表すデータは、上記のように、エンティティの名前を含むことができる。
【００３１】
図1の特定の例に関して、アプリケーションサーバ124は、エンティティを表すデータを含むクライアントデバイス140からの要求を処理することができる。例えば、データは、名前を表す頭字語などの、エンティティの名前を表す表現とすることができる。別の例では、エンティティを表すデータは、要求においてエンティティを表す1つまたは複数の数字などの、符号語を含むことができる。クライアントデバイス140は、帯域幅の効率性を目的としてネットワーク126上で送信する要求の符号化表現を生成することができる。
【００３２】
アプリケーションサーバ124は、クライアントデバイス140からの受信要求を、その要求からエンティティを識別するように処理することができる。例えば、図1に示されるように、患者や医師などのユーザは、クライアントデバイス140のアプリケーションにおいて、エンティティ「John」に対応する視覚的スナップショットデータの閲覧を求める要求101を入力することができる。クライアントデバイス140は、要求101をアプリケーションサーバ124に送信し、要求101を処理する。アプリケーションサーバ124は、1つまたは複数の候補エントリ名を識別するために要求101を解析してテキストストリング「John」を取得する。例えば、要求がテキストストリング「John Rock」を含んでいた場合、1つまたは複数の候補エントリ名は「John」および「Rock」を含む。加えて、アプリケーションサーバ124は、1つまたは複数の候補エントリ名を解析して1つまたは複数のエントリ名のコンテキストを決定する。例えば、1つまたは複数の候補エントリ名が「John」および「Rock」を含んでいた場合、アプリケーションサーバ124は、これら2つの名前が個人の名前に対応しており、1番目の候補語「John」が名前であり、2番目の候補語「Rock」が地質学的オブジェクトに対応しているのではないと判断することができる。1つまたは複数の候補エントリ名のコンテキストを相互に対して解析することにより、アプリケーションサーバ124は1つまたは複数のエントリ名の曖昧さをなくすことができる。
【００３３】
いくつかの実施態様では、アプリケーションサーバ124は、識別された1つまたは複数の候補エントリ名およびコンテキスト情報を利用して、第1の分散DBサーバ106および第2の分散DBサーバ108からデータを取得することができる。アプリケーションサーバ124は、第1の分散DBサーバ106内の1つまたは複数のエントリを求める要求を指示するデータを送信する。1つまたは複数のエントリを求める要求を指示するデータは、要求101からの1つまたは複数の候補エントリ名を含む。前述のように、第1の分散DBサーバ106に格納されたデータに、エンティティ名で索引付けすることができる。第1の分散DBサーバ106の索引付きの行内の各フィールドは、そのエンティティ名と関連付けられた視覚オブジェクトを含むことができる。例えば、単語「John」で索引付けされた行は、エンティティ「John」の視覚オブジェクトの1つまたは複数のフィールドを含むことができる。視覚オブジェクトは、ある期間にわたるエンティティ「John」の、1つもしくは複数の写真、1つもしくは複数のビデオ、または1つもしくは複数のスキャンなどのメディアを含み得る。
【００３４】
加えて、各フィールドは、そのエンティティの視覚オブジェクトが第1の分散DBサーバ106にいつアップロードされたかを指示する対応するタイムスタンプを含むことができる。例えば、あるフィールドは、2018年1月1日午後1時などの、第1の時点におけるエンティティの視覚オブジェクトを示すことができる。別のフィールドは、2018年2月1日午後1時などの、第2の時点におけるエンティティの別の視覚オブジェクトを示すことができる。別の実施態様では、第1の分散DBサーバ106の行内の各フィールドは、索引付きのエンティティに関する追加情報を含むことができる。例えば、索引付きのエンティティがプロリーグのスポーツチームである場合、1つまたは複数のフィールドは、スポーツチームの選手、スポーツチームのスタジアムの場所、スポーツチームのスケジュール、スポーツチームのユニフォーム、スポーツチームのマスコット、およびコーチの名前を含むことができる。
【００３５】
いくつかの実施態様では、第1の分散DBサーバ106は、アプリケーションサーバ124から受信した1つまたは複数の候補エントリ名を、第1の分散DBサーバ106のデータベースの行内の索引付きの名前と比較する。特に、第1の分散DBサーバ106は、アプリケーションサーバ124からの1つまたは複数の候補エントリ名と、第1の分散DBサーバ106のデータベースの行内のエンティティ名の各々とのテキスト比較を行う。第1の分散DBサーバ106がテキスト比較に応答して1つまたは複数の一致が存在すると判断した場合、第1の分散DBサーバ106はアプリケーションサーバ124に一致した行および対応するフィールドを提供する。いくつかの実施態様では、アプリケーションサーバ124は設定された期間にわたって第1の分散DBサーバ106からデータを取得することができる。例えば、アプリケーションサーバ124は、2018年1月10日午後1時から2018年9月20日午後1時までの期間にわたる第1の分散DBサーバ106からのデータを要求し得る。
【００３６】
第1の分散DBサーバ106がエンティティ名および設定された期間を受信したことに応答して、第1の分散DBサーバ106は、アプリケーションサーバ124に、要求された基準を満たすデータを返すことができる。例えば、図1に示されるように、第1の分散DBサーバ106は、要求101の「John」エンティティの3つの視覚オブジェクトを含むデータの行を識別する。特に、このデータの行は、視覚オブジェクト112、視覚オブジェクト114、および視覚オブジェクト116を含む。
【００３７】
いくつかの実施態様では、第1の分散DB106サーバは、配信のための視覚オブジェクトを、アプリケーションサーバ124がその視覚オブジェクトをユーザと関連付けられた他のデータレコードと相関させるために使用できるメタデータをその視覚オブジェクトと関連付けることによって準備することができる。例として、第1の分散DB106は、タイムスタンプを視覚オブジェクトと関連付け得る。例えば、視覚オブジェクト112はタイムスタンプT0 112aを含み、視覚オブジェクト114はタイムスタンプT1 114aを含み、視覚オブジェクト116はタイムスタンプT2 116aを含む。タイムスタンプは、例えば、視覚オブジェクトが最初に取り込まれた時刻、日付、もしくはその両方、または視覚オブジェクトが最初に第1の分散DB106に格納された時刻日付、もしくはその両方を記述し得る。
【００３８】
この例では、視覚オブジェクトの取得された行は、ある期間にわたるエンティティ「John」のX線画像を示すことができる。Johnは、胸郭を骨折している可能性があり、医師はエンティティの治癒過程を経時的に監視することができる。例えば、視覚オブジェクト112は、2018年4月20日午後1時の時点112aにおけるJohnの胸郭を示しており、視覚オブジェクト114は、2018年7月20日午後1時の時点114aにおけるJohnの胸郭を示しており、視覚オブジェクト116は、2018年9月20日午後1時の時点116aにおけるJohnの胸郭を示している。医師は、エンティティの経過からの視覚オブジェクトデータを使用して、エンティティがどのように進行または逸脱するかを観察することができる。
【００３９】
いくつかの実施態様では、第1の分散DBサーバ106は、第1の分散DBサーバ106に1つまたは複数のエントリを求める要求を指示するデータを受信および処理したことに応答して、アプリケーションサーバ124に視覚オブジェクトデータ112、114、および116を送信する。第1の分散DBサーバ106は、集約的視覚オブジェクトデータを指示するデータを、ネットワーク110上でアプリケーションサーバ124に送信する。例えば、集約的視覚オブジェクトデータを指示するデータは、視覚オブジェクトデータ112、114、および116へのシンボリックリンク、個々の視覚オブジェクトデータ自体、または視覚オブジェクトデータ112、114、および116の各々を含むデータ構造とすることができる。加えて、第1の分散DBサーバ106は、アプリケーションサーバ124に、取得された行からの索引付きのエンティティに対応するメタデータも送信する。例えば、メタデータは、エンティティの経過に関して写真がアップロードされたときに医師によって指示されたデータ、傷害がどのように発生したかに関するコンテキスト情報、エンティティが傷害の治癒を助けるために受けている現在のプログラム、およびエンティティに関連する任意の同様のデータを含むことができる。
【００４０】
アプリケーションサーバ124は、第2の分散DBサーバ108にデータを求める要求を送信する。データを求める要求は、要求101からの情報、第1の分散DBサーバ106による応答から取得されたメタデータ、またはその両方の組み合わせを含むことができる。第2の分散DBサーバ108内のデータは、特定の質問票がエンティティについて記入された特定の時点におけるエンティティの状態に対応するスコアを含み、第1の分散DBサーバ106内のデータと同様に、エンティティ名で索引付けすることができる。例として、エンティティ「John」に対応するフィールドの行は、「49」のスコア118、「58」のスコア120、および「53」のスコア122を含むことができる。
【００４１】
いくつかの実施態様では、スコアは、エンティティの健康評点を指示するパーセンテージであり得る。例えば、スコアは、エンティティの特定の身体部分の可動域のスコア、エンティティの傷害の治癒状態のスコア、またはエンティティの全体的な健康スコアを指示する数とすることができる。行内の各フィールドは、エンティティの状態を決定するためにエンティティが評価された時点を指示するそれぞれのタイムスタンプを含む。例として、個人が第2の分散コンピュータ104を使用してエンティティの状態のスコアを入力することができる。これに応答して、第2の分散コンピュータ104は、そのスコアを第2の分散DBサーバ108に格納する。例えば、医師が、2018年4月20日午後1時の時点112aにおけるエンティティの右肩の可動域の状態を「53」と評価することができる。別の例では、医師は、2018年7月20日午後1時の時点114aにおける患者の右肩の可動域の状態を「58」と評価することができる。別の例では、医師は、2018年9月20日午後1時の時点116aにおけるエンティティの右肩の可動域の状態を「49」と評価することができる。別の実施態様では、第2の分散コンピュータ104は、1つまたは複数の質問票の質問および回答に基づいてエンティティ（患者など）のスコアを生成し得る。
【００４２】
いくつかの実施態様では、第2の分散DBサーバ108は、第2の分散DBサーバ108に1つまたは複数のエントリを求める要求を指示するデータを受信および処理し、一致が存在すると判断したことに応答して、アプリケーションサーバ124にスコア118、120、および122を送信する。第2の分散DBサーバ108は、要求で指示されたデータと一致する集約的スコアを指示するデータを、ネットワーク110上でアプリケーションサーバ124に送信する。例えば、集約的視覚スコアを指示するデータは、スコア118、120、および122ならびに対応するタイムスタンプ116a、114a、および112a、スコア118、120、および122ならびに対応するタイムスタンプ116a、114a、および112aへのリンク、などとすることができる。加えて、第2の分散DBサーバ108は、取得されたスコアの行からの索引付きのエンティティに対応するメタデータも送信し得る。例えば、メタデータは、医師がエンティティのスコアをどのように決定したかを記述する医師によって指示されたデータ、前回の訪問以降エンティティがどのように進行または逸脱したかに関するコンテキスト情報、およびエンティティが医師を次回訪問するのがいつかを含むことができる。
【００４３】
いくつかの実施態様では、アプリケーションサーバ124が、第1の分散DBサーバ106からの視覚オブジェクトデータ112、114、および116ならびにタイムスタンプ112a、114a、116aと、第2の分散DBサーバ108からのスコアデータ118、120、および122ならびにタイムスタンプ118a、120a、122aとを受信したことに応答して、アプリケーションサーバ124のAPI128は、ソフトウェアを実行して分散DBサーバ106、108からの2つのデータセットを相関させる。異なる分散データDBサーバ106、108からの2つのデータセットを相関させることは、第1の分散DBサーバ106からの視覚オブジェクトデータ112、114、および116を、第1の分散DBサーバ106とは異なる第2の分散DBサーバ108によって決定された対応するスコアデータ118、120、および122と整列させるAPI128を使用することを含み得る。API128は、整列の根拠としてタイムスタンプを使用して、異なる分散DBサーバ106、108からのデータセットを組み合わせる。例えば、図1の例では、API128は、第1の分散DBサーバ106からの視覚オブジェクトデータおよび第2の分散DBサーバ108からのスコアデータからなる相関データ130、132、および134を作成する。特に、API128は、どちらも時点T0に対応するという理由で、視覚オブジェクトデータ112をスコア122データと整列させる。同様に、API128は、どちらも時点T1に対応するという理由で、視覚オブジェクトデータ114をスコア120データと整列させ、どちらも時点T2に対応するという理由で、視覚オブジェクトデータ116をスコア118データと整列させる。
【００４４】
この例では、時点T0、T1、およびT2の正確な一致が使用されているが、本開示はこれに限定されなくてもよいことに留意されたい。いくつかの実施態様では、視覚オブジェクトは、視覚オブジェクトおよびスコアと関連付けられた異なる時点が、同じ日、同じ週、同じ月、同じ治療サイクルなどの所定の期間内に入る場合に、スコアと相関および整列され得る。したがって、2つのそれぞれのタイムスタンプが所定の期間を満たす限りは、視覚オブジェクトをその視覚オブジェクトと異なるタイムスタンプを有するスコアと相関させることが可能である。
【００４５】
例えば、API128は、所定の期間を2日間に設定することができる。よって、API128が視覚オブジェクト112は2018年1月2日午後12時の時点T0を含むと判断し、スコア118が2018年1月3日午後12時の時点T2を含む場合には、APIは視覚オブジェクト112をスコア118と相関させることになる。いくつかの実施態様では、API128は、工場出荷時の事前設定に基づいて所定の時間因子を設定することができる。別の実施態様では、ユーザが、第1の分散コンピュータ102、第2の分散コンピュータ104、またはクライアントデバイス140のいずれかを介してアプリケーションサーバ124にアクセスすることによって所定の時間因子を設定することができる。別の実施態様では、API128は、視覚オブジェクトデータおよびスコアデータの以前のアップロードの時点を解析し、それらの時点を平均することによって所定の時間因子を決定し得る。
【００４６】
API128は、相関された視覚オブジェクトデータおよびスコアデータを使用して視覚オブジェクトデータを強化する。特に、相関された視覚オブジェクトデータおよびスコアデータ130、132、134は、別の強化されたデータセットを生成するために使用される。別の強化されたデータセットは、傾向、経時的なグラフ、生成された予測、およびその他のデータ解析結果を含むことができる。例えば、API128は、相関データ130、132、および134を訓練された機械学習アルゴリズムに提供して、将来の時点における将来のスコアの予測を提供し得る。API128は、機械学習アルゴリズムを、以前の時点における以前のエンティティの視覚オブジェクトデータおよびスコアで訓練することができる。加えて、機械学習アルゴリズムを、視覚オブジェクトデータのみを使用して予測スコアを出力するように訓練することもできる。別の例では、API128は、視覚オブジェクトデータおよびスコアをグラフにプロットして、経時的なデータの傾向を示すことができる。x軸は、アプリケーションサーバ124がスコアを生成した時点を示す。図1に示されるように、API128は、上記のそれぞれの相関データに各々対応する時間データに対するエンティティのスコアの3つのそれぞれの点を示すプロット138を生成した。プロット138を使用してエンティティの傾向を評価することができる。
【００４７】
いくつかの実施態様では、API128は、強化された相関データのレンダリングデータ127を生成する。特に、レンダリングデータ127は、対応する時点における視覚オブジェクトデータおよびスコアデータと、強化された視覚オブジェクトデータとの視覚的スナップショットを提供する。例えば、レンダリングデータ127は、データの視覚的スナップショットを、閲覧しやすくするために1つの表示ページ上に示す。いくつかの実施態様では、API128は、レンダリングデータを2Dまたは3Dモデルで生成することができる。例えば、API128は、視覚画像スナップショットページ上のオブジェクトのシェーディング、テクスチャマッピング、バンプマッピング、反射、および透明度を調整することができる。加えて、レンダリングデータ127は、データの視覚的スナップショットを、クライアントデバイス140などの特定のデバイスの画面サイズに適合するようレンダリングするための画面フォーマッティング機能も含むことができる。そうでないと、特定のデバイスが正しく視覚的スナップショットデータを正しく表示しない場合がある。
【００４８】
いくつかの実施態様では、API128は、クライアントデバイス140にレンダリングデータ127を送信する。レンダリングデータ127は、ネットワーク126上でクライアントデバイス140に送信される。クライアントデバイス140は、レンダリングデータ127を受信し、レンダリングデータ127をレンダリングし、ユーザに、レンダリングデータのレンダリングに基づいて生成されるグラフィカル・ユーザ・インターフェース136を表示する。ユーザは、スタイラスまたは指を使用してグラフィカル・ユーザ・インターフェース136の様々な構成要素と対話することができる。特に、ユーザは、グラフィカル・ユーザ・インターフェース136上で相関データ130、132、および134を異なる順序に並べ替えることができる。いくつかの実施態様では、相関データ130、132、134は、タイムスタンプに基づいて左から右に時系列に編成される。
【００４９】
ただし、いくつかの実施態様では、ユーザはプロット138の配置をグラフィカル・ユーザ・インターフェース上の別の場所に移動させることができる。ユーザは、グラフィカル・ユーザ・インターフェース136のプロット138上の点を選択してその点に関する追加情報を表示させることができる。例えば、ユーザがプロット138上のプロット点139を選択した場合、グラフィカル・ユーザ・インターフェース136は続いて、相関データ132のスコアおよび仮想オブジェクトに対応するメタデータをさらに表示する追加の囲みを表示する。クライアントデバイス140上の構成要素と対話するための選択に応答して、クライアントデバイス140はその選択をアプリケーションサーバ124のAPI128に送信する。API128は、受信した選択を処理し、要求された情報をクライアントデバイス140に送り返す。例えば、ユーザがプロット138上のプロット点139を選択した場合、グラフィカル・ユーザ・インターフェース136は、プロット点139の選択をネットワーク126上でAPI128に送信する。API128は、プロット点139の選択を受信し、選択されたプロット点139に対応するメタデータ情報を表示のためにクライアントデバイス140に送信する。別の実施態様では、クライアントデバイス140がメタデータを含み、API128に要求を送信する必要なくプロット点の選択を処理する。
【００５０】
図1の例に関して説明されたシステムの分散方式は複数の利点を提供する。例えば、システムは、アプリケーションサーバ124などの集中管理マネージャによってアクセスされるまで、複数の分散されたソースコンピュータに、それらのソースに近いレコードを作成、処理、および管理させる。必要に応じて、アプリケーションサーバは、ユーザ要求に応答するのに必要な帯域幅の量を低減させる方法で、各分散システムからデータ、またはデータの一部を取得し、相関させることができる。
【００５１】
重要なことに、図1のシステムによって達成されるデータ作成、データ収集、データフィルタリング、およびデータ探索の分散性により負荷分散が可能になる。個々のソースコンピュータが、個々のソースと関連付けられたデータと対話するだけで、データを単独で粒状に生成、アクセス、および操作することができる。これは、利用可能なネットワーク帯域幅をより効率的に使用するのに役立つ。例えば、コンピュータ102および104が中央データストア内のデータを作成、アクセス、および操作することを必要とする代わりに、それぞれのコンピュータは、集中型サーバにおける単一のネットワークボトルネックの輻輳を回避する分散ネットワークのそれぞれのノードにおいてデータを作成、アクセス、および操作することができる。
【００５２】
他方、アプリケーションサーバによるデータレコードの相関により、システム100が、集中型の記憶場所、例えば、大量のレコードが単一のネットワークボトルネックを流れるという欠点なしで、単一のクエリーを受信し、クエリーに応答してユーザが必要とする単一の探索結果セットを提供することができる単一のリポジトリ、のすべての利点を提供することが可能になる。さらに、単一のユーザインターフェースからのクエリーが複数の異なるデータベースを探索し、クライアントデバイス上の単一のインターフェースで受信される単一の探索結果セットをもたらすシステムを実装することは、ユーザデバイスが複数のインターフェースや複数のアプリケーションを使用し、複数の結果を生じる複数のクエリーを送信することを必要とするはずのシステムよりもクライアントデバイスにとってよりリソース効率が高い。よって、システム100を使用するユーザデバイスは、システム100の性質により、より少ないシステムリソースを使用することができる。
【００５３】
最後に、システム100の分散方式は、ネットワークデバイスおよびデータ収集者にさらなる利点も提供する。図1に記載されているシステムは2つの分散データソースのみを含むが、本開示はこれに限定されなくてもよく、代わりに、第1の分散DBサーバ106および第2の分散DBサーバ108からのレコードの相関に関して上述したように、アプリケーションサーバ124は、タイムスタンプに基づいて、3つ、4つ、5つ、またはもっと多くのデータソースからのデータレコードを相関させてもよい。そのような場合、ユーザクエリーに対する応答は特定のデータを要求するだけでよい。例えば、クエリーは、スコアおよび視覚オブジェクトのみが返され、第3の分散データベースに格納され得るエンティティの予防接種履歴を記述するエンティティレコードは返されないよう指定するパラメータを有し得る。どのデータソースを探索し含めるかは、例えば、ラジオボタンを使用して指定され得る。そのような例では、システム100の分散性は、システムリソース（例えば、CPU使用率、メモリ使用量、帯域幅使用量、電力使用量など）を節約するためにクエリーの実行を有意義に調整し、同時にユーザが求める情報を含む強化されたレコードも生成するのに役立ち得る。
【００５４】
図2は、相関させた分散データベースレコードの視覚的スナップショットのユーザインターフェース200の例である。
【００５５】
いくつかの実施態様では、アプリケーションサーバ124のAPI128は、クライアントデバイス140に提供するために視覚的スナップショットのレンダリングデータを生成する。ユーザインターフェース200は、階層型データタイプのオーバーレイを含むレンダリングデータを示している。例えば、階層型データタイプは、視覚オブジェクトデータ、テキストデータ、座標系データ、およびインタラクティブデータを含むことができる。ユーザインターフェース200は、クライアントデバイス140がユーザに表示するユーザインターフェースの一例を示している。特に、ユーザインターフェース200は、視覚オブジェクトデータ210、212、および214を含む表示パネル202を含む。各視覚オブジェクトは、視覚オブジェクトが取り込まれた時点データ204、206、および208に対応する。例えば、視覚オブジェクト210は、2017年5月11日の日付204の右肩のX線画像を示す。視覚オブジェクト212は、2017年7月23日の日付206の同じ右肩のX線画像を示す。視覚オブジェクト214は、2017年10月10日の日付208の同じ右肩のX線画像を示す。
【００５６】
加えて、表示パネル202は、座標系パネル216も含む。座標系パネル216は、ある時点における特定の視覚オブジェクトごとの対応するデータ点のプロットを含む。例えば、座標系パネル216は、視覚オブジェクト210に対応する2017年5月11日の様々なスコアを示す。特に、様々なスコアは、右肩の健康状態を評価するために医師によって使用された異なる評点に対応する。例えば、スコア218は、Global Mental Health（国際精神衛生）の評点に対応し、スコア224は、Estimated Utility Score（EuroQol）（推定効用スコア）の評点に対応し、スコア230は、American Shoulder and Elbow Surgeons（ASES）（米国肩肘外科学会）左の評点に対応し、スコア236は、ASES右の評点に対応する。
【００５７】
第2の日付、2017年7月23日に、エンティティの右肩は同じ様々な評点を使用して再評価されている。例えば、プロットは、2017年7月23日に、Global Mental Healthの評点に対応するスコア220が、2017年5月11日の前回評価のスコア218から低下していることを示している。EuroQolの評点に対応するスコア226は、2017年5月11日の前回評価のスコア224から増加している。ASES左の評点に対応するスコア232は、2017年5月11日の前回評価のスコア230から増加している。ASES右の評点に対応するスコア238は、2017年5月11日の前回評価のスコア236から増加している。
【００５８】
第3の日付、2017年10月10日に、エンティティの右肩は同じ様々な評点を使用して再評価されている。例えば、プロットは、2017年10月10日に、Global Mental Healthの評点に対応するスコア222が、2017年7月23日の前回評価のスコア220から低下していることを示している。ASES左の評点に対応するスコア228は、2017年7月23日の前回評価のスコア232から増加している。EuroQolの評点に対応するスコア234は、2017年7月23日の前回評価のスコア226から増加している。ASES右の評点に対応するスコア240は、2017年7月23日の前回評価のスコア238から増加している。一般に、経時的なスコアの増加は、エンティティの身体部分の健康状態、機能性、またはその両方が改善していることを指示する。同様に、経時的なスコアの減少は、エンティティの身体部分の健康状態、機能性、またはその両方が悪化していることを指示する。いくつかの実施態様では、対応するシステムパネルは、スコアを正規化されたスコアシステムにおいてプロットし得る。例えば、アプリケーションサーバ124は、スコアを100で除算して0から1までのスケール上にプロットすることによってスコアを正規化し得る。別の実施態様では、アプリケーションサーバ124は、座標系パネル216上に正規化されていないスコアをプロットし得る。
【００５９】
グラフィカル・ユーザ・インターフェース200はX線画像およびエンティティスコアに関連しているが、本開示はこれに限定されなくてもよい。例えば、不動産物件の画像を、時間の経過に伴う不動産物件の画像に対応するスコア傾向を強調するようにスコアと相関させることもできる。したがって、他のタイプのオブジェクトまたはエンティティを他のタイプのスコアと相関させて表示のための強化されたデータレコードを生成することも、本開示の範囲内に入る。
【００６０】
図3は、相関させた分散データベースレコードの視覚的スナップショットを示すためのプロセス例300の流れ図である。一般に、プロセス300は、アプリケーション・プログラミング・インターフェースが、エンティティを識別するクエリーを受信する工程;第1の分散データソースからアプリケーション・プログラミング・インターフェースが、クエリーに応答した1つまたは複数の視覚オブジェクトを含むフィールドを有するデータレコードを表す第1のデータ構造セットを取得する工程;第2の分散データソースからアプリケーション・プログラミング・インターフェースが、エンティティの状態を表す1つまたは複数のレコードを含む第2のデータ構造セットを取得する工程;アプリケーション・プログラミング・インターフェースが、第1のデータ構造セットで表された第1のデータ・レコード・セットを第2のデータ構造セットで表された第2のデータ・レコード・セットと相関させるコンピュータコードを実行する工程;アプリケーション・プログラミング・インターフェースが、相関データを使用して第1のデータ・レコード・セットを強化するコンピュータコードを実行する工程;およびアプリケーション・プログラミング・インターフェースが、強化された第1のエンティティ・レコード・セットに基づいて視覚表現レンダリングデータを生成する工程、を含む。あるいは、プロセス300を、例えば、強化された第1のエンティティ・レコード・セットを含む視覚表現レンダリングデータと対話するために使用することもできる。プロセス300については、1つまたは複数のコンピュータを含むコンピュータシステム、例えば、図1に示されるようなシステム100によって行われるものとして説明される。
【００６１】
302で、システムは、アプリケーション・プログラミング・インターフェースによって、エンティティを識別するクエリー101を受信する。ユーザは、クライアントデバイス140と対話して、システムにクエリー101を送信することができ、クエリーはエンティティを識別する。例えば、医師は、クライアントデバイス140のアプリケーションにエンティティ「John」を求める要求を入力することができる。クライアントデバイス140は、エンティティ「John」についてのクエリーを、処理のためにシステムのアプリケーション・プログラミング・インターフェース128に送信する。アプリケーション・プログラミング・インターフェース128は、クエリー101を受信し、クエリー101内のエンティティ「John」を識別する。
【００６２】
304で、システムは、第1の分散データソースからアプリケーション・プログラミング・インターフェースによって、クエリーに応答した1つまたは複数の視覚オブジェクトを含むフィールドを有するデータレコードを表す第1のデータ構造セットを取得する。システムは次いで、受信したクエリーに基づいて識別される1つまたは複数の候補エントリ名を利用して、第1の分散DBサーバ106などの第1の分散データソースからのデータをアクセスおよび取得する。第1の分散DBサーバ106の索引付きの行内の各フィールドは、そのエンティティ名の視覚オブジェクトを含むことができる。例えば、あるフィールドは、2018年1月1日午後1:00などの、第1の時点におけるエンティティのグラフィックオブジェクトを示すことができる。別のフィールドは、2018年2月1日午後1時などの、第2の時点におけるエンティティの別の視覚オブジェクトを示すことができる。
【００６３】
いくつかの実施態様では、第1の分散DBサーバ106は、受信した候補エントリ名を、第1の分散DBサーバ106の各行内の索引付きのエンティティと比較する。特に、第1の分散DBサーバ106は、アプリケーションサーバ124からの候補エントリ名と、第1の分散DBサーバ106のデータベースの行内のエンティティ名の各々とのテキスト比較を行う。第1の分散DBサーバ106がテキスト比較に応答して1つまたは複数の一致が存在すると判断した場合、第1の分散DBサーバ106はアプリケーションサーバ124に一致した行および対応するフィールドを提供する。
【００６４】
306で、システムは、第2の分散データソースからアプリケーション・プログラミング・インターフェースによって、エンティティの状態を表す1つまたは複数のレコードを含むことを表す第2のデータ構造セットを取得する。いくつかの実施態様では、エンティティの状態は、スコアを使用して表され得る。システムは、第2の分散DBサーバ108などの第2の分散データソースにデータを求める要求を送信する。データを求める要求は、要求101からの情報および第1の分散DBサーバ106による応答から取得されたメタデータを含むことができる。第1の分散DBサーバ106内のデータと同様に、第2の分散DBサーバ108内のデータにエンティティ名で索引付けすることができる。第2の分散DBサーバ108に格納されたデータは、エンティティの状態に対応するスコアを含む。例えば、エンティティ「John」に対応するフィールドの行は、「49」のスコア118、「58」のスコア120、および「53」のスコア122を含むことができる。いくつかの実施態様では、スコアを、エンティティの健康評点を指示するパーセンテージとすることができる。例えば、スコアは、エンティティの特定の身体部分の可動域のスコア、エンティティの傷害の治癒状態のスコア、またはエンティティの全体的な健康スコアを指示する数とすることができる。
【００６５】
要求内のデータと第2の分散DBサーバ108内の1つまたは複数の行との一致を判断したことに応答して、第2の分散DBサーバ108はアプリケーションサーバ124にスコアを送信する。加えて、第2の分散DBサーバ108は、取得されたスコアの行からの索引付きのエンティティに対応するメタデータも送信する。例えば、メタデータは、医師がエンティティのスコアをどのように決定したかを記述する医師によって指示されたデータ、前回の訪問以降エンティティがどのように進行または逸脱したかに関するコンテキスト情報、およびエンティティが医師を次回訪問するのがいつかを含むことができる。
【００６６】
308で、システムは、アプリケーション・プログラミング・インターフェースによって、第1のデータ構造セットで表された第1のデータ・レコード・セットを第2のデータ構造セットで表された第2のデータ・レコード・セットと相関させるコンピュータコードを実行する。第1の分散DBサーバ106からの視覚オブジェクトデータおよび第2の分散DBサーバ108からのスコアデータを受信したことに応答して、APIは、ソフトウェアを実行してこのデータを相関させる。特に、APIは、データセットを整列させることによってある期間にわたる視覚オブジェクトデータとスコアデータとを相関させる。いくつかの実施態様では、APIは、第1の分散DBサーバ106からの第1のデータセットおよび第2の分散DBサーバ108からの第2のデータセットを受信し、アプリケーションサーバ124上で探索結果の相関を行うことができる。APIは、整列の根拠として期間を使用してデータセットを組み合わせる。例えば、API128は、視覚オブジェクトとスコアデータの相関データ130、132、および134を作成する。特に、API128は、どちらも時点T0に対応するという理由で、視覚オブジェクトデータ112をスコア122データと整列させる。同様に、API128は、どちらも時点T1に対応するという理由で、視覚オブジェクトデータ114をスコア120データと整列させ、どちらも時点T2に対応するという理由で、視覚オブジェクトデータ116をスコア118データと整列させる。
【００６７】
310で、システムは、アプリケーション・プログラミング・インターフェースによって、相関データを使用して第1のデータ・レコード・セットを強化するコンピュータコードを実行する。特に、APIは、ユーザが閲覧するための別のデータセットを生成することによって強化されたデータを生成する。例えば、別のデータセットは、傾向、経時的なグラフ、生成された予測、およびその他のデータ解析結果を含むことができる。例えば、API128は、相関データ130、132、および134を訓練された機械学習アルゴリズムに提供して、将来の時点における将来のスコアの予測を提供し得る。加えて、機械学習アルゴリズムを、視覚オブジェクトデータのみを使用して予測スコアを出力するように訓練することもできる。別の例では、API128は、視覚オブジェクトデータおよびスコアをグラフにプロットして、経時的なデータの傾向を示すことができる。x軸は、アプリケーションサーバ124がスコアを生成した時点を示す。図1に示されるように、API128は、時間データに対するエンティティのスコアの3つの点を示すプロット138を生成した。
【００６８】
312で、システムは、アプリケーション・プログラミング・インターフェースによって、強化された第1のエンティティ・レコード・セットに基づいて視覚表現レンダリングデータを生成する。APIは、対応する時点における視覚オブジェクトデータおよびスコアデータと、強化された視覚オブジェクトデータとの視覚的スナップショットを示す強化されたデータのレンダリングデータを生成する。例えば、レンダリングデータ127は、データの視覚的スナップショットを、クライアントデバイス140上で閲覧しやすくするために1つの表示ページ上に示す。視覚表現レンダリングデータを生成したことに応答して、アプリケーション・プログラミング・インターフェースは、視覚表現レンダリングデータを表示のためにクライアントデバイス140に送信する。
【００６９】
図4に、本明細書に記載される技術を実装するために使用することができるコンピューティングデバイス400およびモバイル・コンピューティング・デバイス450の例を示す。
【００７０】
コンピューティングデバイス400は、ラップトップ、デスクトップ、ワークステーション、パーソナル・デジタル・アシスタント、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなどの様々な形のデジタルコンピュータを表すことが意図されている。モバイル・コンピューティング・デバイス450は、パーソナル・デジタル・アシスタント、セルラー電話、スマートフォン、および他の同様のコンピューティングデバイスなどの様々な形のモバイル・デバイスを表すことが意図されている。ここで示される構成要素、それらの接続および関係、ならびにそれらの機能は、例を意味するにすぎず、限定を意味するものではない。
【００７１】
コンピューティングデバイス400は、プロセッサ402と、メモリ404と、記憶デバイス406と、メモリ404および複数の高速拡張ポート410に接続する高速インターフェース408と、低速拡張ポート414および記憶デバイス406に接続する低速インターフェース412とを含む。プロセッサ402、メモリ404、記憶デバイス406、高速インターフェース408、高速拡張ポート410、および低速インターフェース412の各々が、様々なバスを使用して相互接続され、共通のマザーボード上に、または必要に応じて他の方法で搭載され得る。プロセッサ402は、高速インターフェース408に結合されたディスプレイ416などの、外部入力/出力デバイス上でGUIのグラフィック情報を表示するためにメモリ404または記憶デバイス406に格納された命令を含む、コンピューティングデバイス400内で実行するための命令を処理することができる。別の実施態様では、複数のプロセッサおよび/または複数のバスが、必要に応じて、複数のメモリおよび複数のタイプのメモリと共に使用され得る。また、複数のコンピューティングデバイスが接続され、各デバイスが（例えば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして）必要な動作の部分を提供してもよい。
【００７２】
メモリ404は、コンピューティングデバイス400内の情報を格納する。いくつかの実施態様では、メモリ404は1つまたは複数の揮発性メモリユニットである。いくつかの実施態様では、メモリ404は1つまたは複数の不揮発性メモリユニットである。メモリ404は、磁気ディスクや光ディスクなどの、別の形のコンピュータ可読媒体であってもよい。
【００７３】
記憶デバイス406は、コンピューティングデバイス400に大容量記憶を提供することができる。いくつかの実施態様では、記憶デバイス406は、フロッピー・ディスク・デバイス、ハード・ディスク・デバイス、光ディスクデバイス、もしくはテープデバイス、フラッシュメモリもしくは他の同様のソリッド・ステート・メモリ・デバイス、または、ストレージ・エリア・ネットワークもしくは他の構成におけるデバイスを含むデバイスの配列などの、コンピュータ可読媒体であり得るか、またはコンピュータ可読媒体を含み得る。命令を情報キャリアに格納することができる。命令は、1つまたは複数の処理デバイス（例えば、プロセッサ402）によって実行されると、上記のような1つまたは複数の方法を行う。命令は、コンピュータ可読媒体や機械可読媒体（例えば、メモリ404、記憶デバイス406、またはプロセッサ402上のメモリ）などの1つまたは複数の記憶デバイスによって格納することもできる。
【００７４】
高速インターフェース408はコンピューティングデバイス400のための帯域幅集約型動作を管理し、低速インターフェース412は帯域幅集約性の低い動作を管理する。そのような機能の割り振りは例にすぎない。いくつかの実施態様では、高速インターフェース408は、メモリ404と、（例えば、グラフィックスプロセッサやアクセラレータを介して）ディスプレイ416と、様々な拡張カード（図示されていない）を受け入れ得る高速拡張ポート410とに結合される。この実施態様では、低速インターフェース412は、記憶デバイス406と低速拡張ポート414とに結合される。低速拡張ポート414は、様々な通信ポート（USB、ブルートゥース、イーサネット、無線イーサネットなど）を含んでいてもよく、キーボード、ポインティングデバイス、スキャナなどの1つもしくは複数の入力/出力デバイスに、または、例えばネットワークアダプタを介して、スイッチやルータなどのネットワーキングデバイスに結合され得る。
【００７５】
コンピューティングデバイス400は、図に示されるように、いくつかの異なる形で実装され得る。例えば、コンピューティングデバイス400は、標準的なサーバ420として、または多くはそのようなサーバのグループとして実装され得る。加えて、コンピューティングデバイス400は、ラップトップコンピュータ422などのパーソナルコンピュータに実装されてもよい。コンピューティングデバイス400は、ラック・サーバ・システム424の一部として実装されてもよい。あるいは、コンピューティングデバイス400の構成要素が、モバイル・コンピューティング・デバイス450などのモバイル・デバイス内の他の構成要素（図示されていない）と組み合わされてもよい。そのようなデバイスの各々がコンピューティングデバイス400およびモバイル・コンピューティング・デバイス450のうちの1つまたは複数を含んでいてもよく、システム全体が互いに通信し合う複数のコンピューティングデバイスで構成されていてもよい。
【００７６】
モバイル・コンピューティング・デバイス450は、構成要素の中でも特に、プロセッサ452と、メモリ464と、ディスプレイ454などの入力/出力デバイスと、通信インターフェース466と、送受信機468とを含む。モバイル・コンピューティング・デバイス450は、追加の記憶を提供するために、マイクロドライブや他のデバイスなどの、記憶デバイスを備えていてもよい。プロセッサ452、メモリ464、ディスプレイ454、通信インターフェース466、および送受信機468の各々が、様々なバスを使用して相互接続され、構成要素のうちのいくつかは、共通のマザーボード上にまたは必要に応じて他の方法で搭載され得る。
【００７７】
プロセッサ452は、メモリ464に格納された命令を含む、モバイル・コンピューティング・デバイス450内の命令を実行することができる。プロセッサ452は、別個の複数のアナログプロセッサおよびデジタルプロセッサを含むチップのチップセットとして実装され得る。プロセッサ452は、例えば、ユーザインターフェース、モバイル・コンピューティング・デバイス450によって実行されるアプリケーション、およびモバイル・コンピューティング・デバイス450による無線通信の制御などの、モバイル・コンピューティング・デバイス450の他の構成要素の調整を提供し得る。
【００７８】
プロセッサ452は、制御インターフェース458およびディスプレイ454に結合された表示インターフェース456を介してユーザと通信し得る。ディスプレイ454は、例えば、TFT（Thin-Film-Transistor Liquid Crystal Display（薄膜トランジスタ液晶ディスプレイ））ディスプレイ、OLED（Organic Light Emitting Diode（有機発光ダイオード））ディスプレイ、または他の適切な表示技術であり得る。表示インターフェース456は、ユーザにグラフィック情報および他の情報を提示するようディスプレイ454を駆動するための適切な回路を含み得る。制御インターフェース458は、ユーザからコマンドを受信し、それらのコマンドをプロセッサ452に送信するために変換し得る。加えて、外部インターフェース462が、モバイル・コンピューティング・デバイス450と他のデバイスとの近距離通信を可能にするように、プロセッサ452との通信を提供してもよい。外部インターフェース462は、例えば、いくつかの実施態様では有線通信を提供し、または別の実施態様では無線通信を提供してもよく、複数のインターフェースが使用されてもよい。
【００７９】
メモリ464は、モバイル・コンピューティング・デバイス450内の情報を格納する。メモリ464は、1つもしくは複数のコンピュータ可読媒体、1つもしくは複数の揮発性メモリユニット、または1つもしくは複数の不揮発性メモリユニットのうちの1つまたは複数として実装することができる。拡張インターフェース472を介してモバイル・コンピューティング・デバイス450に拡張メモリ474が提供および接続されてもよく、拡張インターフェース472は、例えば、SIMM（Single In Line Memory Module（シングル・インライン・メモリ・モジュール））カードインターフェースを含み得る。拡張メモリ474は、モバイル・コンピューティング・デバイス450に追加の記憶空間を提供してもよく、またはモバイル・コンピューティング・デバイス450のためのアプリケーションもしくは他の情報を格納してもよい。具体的には、拡張メモリ474は、上記のプロセスを実行または補足する命令を含んでいてもよく、セキュア情報も含み得る。よって、例えば、拡張メモリ474は、モバイル・コンピューティング・デバイス450のためのセキュリティモジュールとして設けられてもよく、モバイル・コンピューティング・デバイス450のセキュアな使用を可能にする命令でプログラムされ得る。加えて、SIMMカード上に識別情報をハッキングできない方法で配置するなど、セキュアなアプリケーションがSIMMカードを介して追加情報と共に提供されてもよい。
【００８０】
メモリは、後述するように、例えば、フラッシュメモリおよび/またはNVRAMメモリ（non-volatile random access memory（不揮発性ランダム・アクセス・メモリ））を含み得る。いくつかの実施態様では、命令は情報キャリアに格納され、命令は、1つまたは複数の処理デバイス（例えば、プロセッサ452）によって実行されると、上記のような1つまたは複数の方法を行う。命令は、1つまたは複数のコンピュータ可読媒体や機械可読媒体（例えば、メモリ464、拡張メモリ474、またはプロセッサ452上のメモリ）などの1つまたは複数の記憶デバイスによって格納することもできる。いくつかの実施態様では、命令を、例えば、送受信機468上や外部インターフェース462上で、伝播信号において受信することができる。
【００８１】
モバイル・コンピューティング・デバイス450は、通信インターフェース466を介して無線で通信してもよく、通信インターフェース466は必要に応じてデジタル信号処理回路を含み得る。通信インターフェース466は、特に、GSM音声通話（Global System for Mobile communications）、SMS（Short Message Service）、EMS（Enhanced Messaging Service）、MMSメッセージング（Multimedia Messaging Service）、CDMA（code division multiple access）、TDMA（time division multiple access）、PDC（Personal Digital Cellular）、WCDMA（Wideband Code Division Multiple Access）、CDMA2000、GPRS（General Packet Radio Service）などの、様々なモードまたはプロトコルの下での通信を提供し得る。そのような通信は、例えば、無線周波数を使用して送受信機468を介して行われ得る。加えて、近距離通信が、例えば、ブルートゥース、WiFi、または他のそのような送受信機（図示されていない）を使用して行われてもよい。加えて、GPS（Global Positioning System）受信機モジュール470が、モバイル・コンピューティング・デバイス450に、モバイル・コンピューティング・デバイス450上で動作するアプリケーションによって必要に応じて使用され得る、追加的なナビゲーションおよび位置特定に関連した無線データを提供してもよい。
【００８２】
モバイル・コンピューティング・デバイス450は、オーディオコーデック460を使用して音声で通信してもよく、オーディオコーデック460は、ユーザから音声情報を受信し、それを使用可能なデジタル情報に変換し得る。オーディオコーデック460は、同様に、例えば、モバイル・コンピューティング・デバイス450のハンドセット内のスピーカなどを介して、ユーザに可聴音を生成し得る。そのような音は、音声通話からの音を含み、記録された音（例えば、音声メッセージ、音楽ファイルなど）を含み、また、モバイル・コンピューティング・デバイス450上で動作するアプリケーションによって生成された音も含み得る。
【００８３】
モバイル・コンピューティング・デバイス450は、図に示されるように、いくつかの異なる形で実装され得る。例えば、モバイル・コンピューティング・デバイス450は、セルラー電話480として実装され得る。モバイル・コンピューティング・デバイス450は、スマートフォン482、パーソナル・デジタル・アシスタント、または他の同様のモバイル・デバイスの一部としても実装され得る。
【００８４】
本明細書に記載されるシステムおよび技術の様々な実施態様を、デジタル電子回路、集積回路、専用に設計されたASIC（application specific integrated circuit）、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組み合わせにおいて実現することができる。これら様々な実施態様は、記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信し、記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスにデータおよび命令を送るように結合された、専用または汎用であり得る、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能および/または解釈可能な1つまたは複数のコンピュータプログラムにおける実装を含むことができる。
【００８５】
これらのコンピュータプログラムは（プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとも呼ばれ）、プログラマブルプロセッサのための機械命令を含み、高水準手続き型プログラミング言語および/またはオブジェクト指向プログラミング言語、および/またはアセンブリ言語/機械語で実装することができる。本明細書で使用される場合、機械可読媒体およびコンピュータ可読媒体という用語は、機械命令を機械可読信号として受信する機械可読媒体を含む、プログラマブルプロセッサに機械命令および/またはデータを提供するために使用される任意のコンピュータプログラム製品、装置および/またはデバイス（磁気ディスク、光ディスク、メモリ、プログラマブル・ロジック・デバイス（PLD）など）を指す。機械可読信号という用語は、プログラマブルプロセッサに機械命令および/またはデータを提供するために使用される任意の信号を指す。
【００８６】
ユーザとの対話を提供するために、本明細書に記載されるシステムおよび技術を、ユーザに情報を表示するための表示装置（CRT（cathode ray tube）やLCD（liquid crystal display）モニタなど）と、ユーザがコンピュータに入力を提供するためのキーボードおよびポインティングデバイス（マウスやトラックボールなど）とを備えるコンピュータ上で実装することができる。他の種類のデバイスを使用してユーザとの対話を提供することもできる。例えば、ユーザに提供されるフィードバックは、任意の形の感覚的フィードバック（視覚フィードバック、聴覚フィードバック、または触覚フィードバックなど）とすることができ、ユーザからの入力を、音響、音声、または触覚入力を含む、任意の形で受信することができる。
【００８７】
本明細書に記載されるシステムおよび技術を、バック・エンド・コンポーネント（データサーバとしてなど）を含むコンピューティングシステム、またはミドルウェアコンポーネント（アプリケーションサーバなど）を含むコンピューティングシステム、またはフロント・エンド・コンポーネント（ユーザが本明細書に記載されるシステムおよび技術の実施態様と対話するためのグラフィカル・ユーザ・インターフェースまたはウェブブラウザを有するクライアントコンピュータなど）を含むコンピューティングシステム、またはそのようなバック・エンド・コンポーネント、ミドルウェアコンポーネントもしくはフロント・エンド・コンポーネントの任意の組み合わせにおいて実装することができる。システムの構成要素は、任意の形または媒体のデジタルデータ通信（通信ネットワークなど）によって相互接続することができる。通信ネットワークの例には、ローカル・エリア・ネットワーク（LAN）、広域ネットワーク（WAN）、およびインターネットが含まれる。
【００８８】
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントとサーバとは、一般に互いにリモートであり、通常は通信ネットワークを介して対話する。クライアントとサーバの関係は、それぞれのコンピュータ上で動作する、互いにクライアント/サーバ関係を有するコンピュータプログラムによって生じる。
【００８９】
上記ではいくつかの実施態様が詳細に説明されているが、他の改変も可能である。例えば、クライアントアプリケーションが（1つまたは複数の）デリゲートにアクセスするものとして説明されているが、他の実施態様では、（1つまたは複数の）デリゲートは、1つまたは複数のサーバ上で実行されているアプリケーションなどの、1つまたは複数のプロセッサによって実施された他のアプリケーションによって用いられ得る。加えて、各図に示される論理フローは、所望の結果を達成するのに、図示の特定の順序、または順番を必要としない。加えて、他の動作が提供されてもよく、または、記載のフローから動作が除かれてもよく、他の構成要素が記載のシステムに加えられてもよく、記載のシステムから除去されてもよい。したがって、添付の特許請求の範囲内には他の実施態様が含まれる。
【００９０】
本明細書は多くの具体的な実装詳細を含むが、これらの詳細は、発明または特許請求され得るものの範囲に対する限定と解釈されるべきではなく、むしろ、個々の発明の個々の態様に特有の特徴の記述と解釈されるべきである。本明細書に別々の態様の文脈において記載されている特定の特徴を、単一の態様において組み合わせて実施することもできる。逆に、単一の態様の文脈で記載されている様々な特徴を、複数の態様において別々に、または任意の適切な部分的組み合わせとして実施することもできる。さらに、上記では各特徴が特定の組み合わせで動作するものとして記載され、そうしたものとして最初に特許請求される場合さえもあるが、特許請求される組み合わせの中からの1つまたは複数の特徴を、場合によっては、その組み合わせから削除することもでき、特許請求される組み合わせは、部分的組み合わせまたは部分的組み合わせの変形も対象とし得る。
【００９１】
同様に、各動作は図面において特定の順序で示されているが、これは、所望の結果を達成するために、そうした動作が図示の特定の順序で、もしくは順番に行われること、またはすべての図示の動作が行われることを必要とするものとして理解されるべきではない。特定の状況では、マルチタスク処理および並列処理が有利な場合もある。さらに、上記の態様における様々なシステムモジュールおよび構成要素の分離は、そうした分離をすべての態様において必要とするものとして理解されるべきではなく、記載のプログラムコンポーネントおよびシステムを、一般には、単一のソフトウェア製品に統合することもでき、または複数のソフトウェア製品にパッケージ化することもできることを理解されたい。
【００９２】
本主題の特定の態様について説明した。添付の特許請求の範囲内には他の態様が含まれる。例えば、特許請求の範囲に記載されている動作を、異なる順序で実行し、しかも所望の結果を達成することができる。一例として、添付の図に示されているプロセスは、所望の結果を達成するために、必ずしも図示の特定の順序、または順番を必要としない。特定の実施態様では、マルチタスク処理および並列処理が有利な場合がある。
【図１】
2021530775.tif 000004
【図２】
2021530775.tif 000005
【図３】
2021530775.tif 000006
【図４】
2021530775.tif 000007
【国際調査報告】
2021530775.tif 000008
2021530775.tif 000009
2021530775.tif 000010