(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-21
(45)【発行日】2024-01-04
(54)【発明の名称】医療調査データをレビューするための方法及びシステム
(51)【国際特許分類】
G16H 30/40 20180101AFI20231222BHJP
【FI】
G16H30/40
【外国語出願】
(21)【出願番号】P 2022091407
(22)【出願日】2022-06-06
(62)【分割の表示】P 2016244330の分割
【原出願日】2016-12-16
【審査請求日】2022-06-28
(32)【優先日】2015-12-23
(33)【優先権主張国・地域又は機関】EP
(32)【優先日】2015-12-29
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】599041949
【氏名又は名称】トムテック イメージング システムズ ゲゼルシャフト ミット ベシュレンクテル ハフツング
(74)【代理人】
【識別番号】100122769
【氏名又は名称】笛田 秀仙
(74)【代理人】
【識別番号】100163809
【氏名又は名称】五十嵐 貴裕
(72)【発明者】
【氏名】シュテファン・ブラベック
【審査官】梅岡 信幸
(56)【参考文献】
【文献】米国特許出願公開第2014/0143299(US,A1)
【文献】米国特許出願公開第2014/0111528(US,A1)
【文献】特開2003-162733(JP,A)
【文献】Alexey Tsymbal ET AL,Towards cloud-based image-integrated similarity search in big data,IEEE-EMBS INTERNATIONAL CONFERENCE ON BIOMEDICAL AND HEALTH INFORMATICS (BHI),米国,IEEE,2014年06月28日,pages 593 - 596,https://ieeexplore.ieee.org/document/6864434,DOI: 10.1109
(58)【調査した分野】(Int.Cl.,DB名)
G16H 10/00-80/00
(57)【特許請求の範囲】
【請求項1】
ユーザ機器で動作する表示アプリケーション(8)によって医療調査データをレビューするための方法であって、該方法は以下の工程:
a.表示アプリケーション(8)は、ユーザ機器上に描画可能領域(42)を具備するユーザインターフェイス(40)を生成し、且つレビューセッションのための要求を第1サーバへ送ること;
b.少なくとも1つのヘルパー(12)が、表示アプリケーション(8)に割り当てられること、ここで、ヘルパーは、第1サーバ又は別のサーバ上のソフトウェアアプリケーションであり、且つ表示アプリケーションとヘルパーとの間に、少なくとも1つの通信チャネル(14)が確立される;
c.表示アプリケーション(8)からの要求に応答して、ヘルパーはデータストレージ(4)から医療調査データを検索し、任意選択的に医療調査データを処理し、且つ前記任意選択的に処理された医療調査データの少なくとも一部分を、表示されるべき項目を包含する階層的なシーングラフを維持するために利用すること;
及び、そのようなシーングラフから、ヘルパーは描画コマンド(D1)のストリームを生成し、それは通信チャネル(14)を通して表示アプリケーションへ転送されること;
d.表示アプリケーション(8)は、描画可能領域に表示されるフレーム(52、54)の時系列を生成するように描画コマンドを解釈し、それにより描画可能領域にシーングラフを表示すること;
を包含し、
前記描画コマンドの少なくとも一部は、ユーザの機器にキャッシュされ、ヘルパーは、キャッシュされた描画コマンドを再度は転送せず、1のフレームと次のフレームとの間の差分のみに関係する描画コマンドを転送し、
前記医療調査データを分析するための機能は、ヘルパーと表示アプリケーションとの
間に分配される、
上記方法。
【請求項2】
表示アプリケーション(8)は、インターネットブラウザ内で動作するウェブアプリケーション、デスクトップアプリケーション、又は携帯アプリケーションである、請求項1に記載の方法。
【請求項3】
表示アプリケーション(8)は、ユーザとの相互作用なし
に、ウェブサーバからユーザの機器にロードされる、請求項1又は2に記載の方法。
【請求項4】
表示アプリケーション(8)は、インタプリタエンジン(16)を含み、それは、ヘルパー(12)から受け取られた描画コマンドを解釈し、且つそれらを、ユーザの機器に既に存在しているソフトウェア、及び/又はハードウェアによって可読性であるところの描画コールへ変換する能力を有する、請求項1~3のいずれか1項に記載の方法。
【請求項5】
表示アプリケーション(8)は、ヘルパーから描画コマンドを受け取ることなく描画可能領域でいくつかのオペレーションを実行する能力がある、ここで、これらのオペレーションは
、明るさ、コントラスト、色彩、オーバーレイの追加、及び拡大縮小を含むグループから選択されたオプションを表示すること、又は描画可能領域に表示された画像についての計測を実行すること、に関する、請求項1~4のいずれか1項に記載の方法。
【請求項6】
レビューセッションのための要求をユーザの機器上で動作する表示アプリケーション(8)から第1サーバへ送るユーザに応答して、ユーザがユーザの機器で医療調査データを
レビューすることを可能にするための方法であって、該方法は、以下の工程:
i.ユーザのレビューセッションのための要求(24)に応えて、第1又は別のサーバ上で動作している少なくとも1つのヘルパープロセス(12)が、表示アプリケーションへ割り当てられ、且つ通信情報が表示アプリケーションまで伝えられ、それは前記表示アプリケーションが、表示アプリケーションとヘルパーとの間に少なくとも1つの通信チャネル(14)を確立することを可能にすること;
ii.ヘルパー(12)は、データストレージ(4)から医療調査データを検索し、任意選択的に医療調査データを処理し、且つ表示されるべき項目を包含する階層的なシーングラフを維持するために、前記任意選択的に処理された医療調査データの少なくとも一部分を利用すること;
そしてそのようなシーングラフから、ヘルパーは、描画コマンド(D1)のストリームを符号化し、それを通信チャネル(14)を通して表示アプリケーションへ転送する、ここでヘルパーは図形的オーバーレイ自体を表示しないこと;
iii.ヘルパーは、表示アプリケーションの状態について知り、且つコマンド(D2)のストリームをそれらへ適合させ、特にヘルパーは、表示アプリケーションによってキャッシュされたところの少なくともいくつかの描画コマンドを再送しないこと;
を包含し、
前記描画コマンドの少なくとも一部は、ユーザの機器にキャッシュされ、ヘルパーは、キャッシュされた描画コマンドを再度は転送せず、1のフレームと次のフレームとの間の差分のみに関係する描画コマンドを転送し、
前記医療調査データを分析するための機能は、ヘルパーと表示アプリケーションとの
間に分配される、
上記方法。
【請求項7】
ヘルパー(12)は、第1サーバ上のコーディネータエンジン(19)によって割り当てられる、ここで、コーディネータエンジンは、ヘルパーを開始するように、及び/又はヘルパーが動作しているサーバ環境内での負荷をバランスさせるように割り当てるように構成され、及び/又はユーザの当初の認証を保証するように構成されている、請求項1~6のいずれか1項に記載の方法。
【請求項8】
ヘルパー(12)は、表示アプリケーションからユーザ入力情報(U1、U2)を受け取り、特に医療調査データに関する計測を行うことによって又は医療調査データを編集することによって、前記ユーザ入力
情報を処理し、そしてそのような処理の結果を描画コマンド(D1、D2)のストリームの部分として表示アプリケーションへ転送するように構成されている、請求項1~7のいずれか1項に記載の方法。
【請求項9】
描画コマンド(D1、D2)のストリームは、
医療データ及びオーバーレイを符号化し、且つ関連データバッファを含んでいる、請求項1~8のいずれか1項に記載の方法。
【請求項10】
もし描画可能領域に表示されるべき項目の一部分のみが、1のフレームから次のフレームへ変化するとき、ヘルパー(12)は、各新たなフレームに関する更新描画コマンド、特に変化された1つ又は複数の項目を変化させるためのコマンド、及び変化された項目を有する最新のフレームについての描画コールを再利用するためのコマンド、を転送する、請求項1~9のいずれか1項に記載の方法。
【請求項11】
医療調査データは医療画像の時系列を含み、医療画像はフレームの時系列で描画可能領域にループ的に表示され、且つ表示アプリケーションは、表示されるべき画像データを記憶しているデータバッファを含んでいる描画コマンドをキャッシュし、ヘルパーの中断なしにループを表示することができる、請求項1~10のいずれか1項に記載の方法。
【請求項12】
ヘルパー(12)の状態(S)は、規則的な間隔で、特にレビューセッションの最後で、表示アプリケーションへ転送され且つそれによって記憶される、請求項1~11のいずれか1項に記載の方法。
【請求項13】
デジタルコンピュータの内部メモリ内に直接にロードしうるコンピュータプログラム製品であって、前記製品が1のコンピュータ上で、又は
ネットワークを介して接続された数台のコンピュータ上で動作するときに、請求項1~12のいずれか1項に記載の方法を
実行させるためのソフトウェアコード部分を含んでいる、上記コンピュータプログラム製品。
【請求項14】
システムであって、
‐ ユーザの機器上に描画可能領域を含むユーザインタフェースを作り出すよう構成されたユーザの機器上で動作する表示アプリケーション(8);
‐ サーバ環境であって、
・表示アプリケーションからのレビューセッションのための要求を受け取るためのコーディネータエンジン(10)、及び
・少なくとも1つの状態を含むレビューヘルパー(12)、
を含み、
ここで、1つの
ヘルパーは、コーディネータエンジンによって各レビューセッションへ割り当てられ、
ヘルパーは、データストレージから医療調査データを検索し、且つ表示されるべき項目を含む階層的なシーングラフを維持するために前記医療調査データの少なくとも部分を利用する;
を含み、
そしてそのようなシーングラフから、ヘルパーは描画コマンド(D1)のストリームを符号化し、それをヘルパーは表示アプリケーションへ転送し、
前記描画コマンドの少なくとも一部は、ユーザの機器にキャッシュされ、ヘルパーは、キャッシュされた描画コマンドを再度は転送せず、1のフレームと次のフレームとの間の差分のみに関係する描画コマンドを転送し、
前記医療調査データを分析するための機能は、ヘルパーと表示アプリケーションとの
間に分配される、
上記システム。
【請求項15】
請求項1~12のいずれか1項に記載の方法を実行するよう構成されている、請求項14に記載のシステム。
【請求項16】
前記医療データは、医療画像データを含む、請求項9に記載の方法。
【請求項17】
前記オーバーレイは、テキスト注釈及び図形表示を含む、請求項9に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザの機器上で動作する表示アプリケーションによって医療調査データをレビューするための方法及びシステムに関する。
【背景技術】
【0002】
現代の医療診断において、診断の目的のために患者から計測データを獲得する多数の医療画像モダリティ及び他の手段が公知であり、例えば、医療超音波、CT(コンピュータトモグラフィー)、MRI(磁気共鳴撮像)、X線撮像、SPECT(単光子放出コンピュータ断層撮像)、及びPET(ポジトロン断層撮像)、ECG(心電図)が、いくつかの例として挙げられる。従ってデータの相当量が、1人の患者について、多くの場合、幾つかのモダリティによって生成され、それは、画像アーカイブ及び通信システム(PACS)又は何らかの別のデータベース内に蓄積されうる。そのような撮像法又は別の診断モダリティによって生み出されたデータは、この応用において「医療調査データ」と呼ばれる。多くの場合、1診断セッションにおいて1人の患者から獲得されるデータは、1つの調査毎に蓄積される。
【0003】
調査は、多くの場合に獲得された直後ではなくより後の時間に、専門の医師又は別の医療職員によって分析される。医療調査データをレビュー及び分析するために、集約的な計測及び計算、例えば異なる部分を発見するために画像をセグメント化すること、モデルを身体の器官に合わせること、又は心電図の場合の重要なパラメータ、例えば心拍出量、心臓弁での逆流などを計算することをコンピュータ的に実行することが時によっては要求される。そのような分析を遂行するために、専用のソフトウェアをユーザの機器、例えばワークステーション、PC(パーソナルコンピュータ)、又はラップトップコンピュータ、にインストールすることは、これまで実際に行われてきた。医療超音波画像を解析するためのそのようなソフトウェアの1例が、本出願人によるproduct image Arena(登録商標)であり、これは画像の分析、レビュー及びデータ管理のための多様性のあるプラットフォームであり、2D(二次元)、3D(三次元)及び4D(四次元)分析のための臨床かつ高度な応用の総合的なポートフォリオを提供する。
【0004】
したがって、医療実務者は、データ分析ソフトウェアをダウンロードし且つ規則的にアップデートする必要があり、そして、そのようなソフトウェアの提供者は、広く普及しているオペレーティングシステムのためのソフトウェアの様々なバージョンを提供すること、全てのオペレーティングシステムのためにソフトウェアをテストすること、及びユーザへ要求されたアップデートの注意を出すことを要求される。
【0005】
Heart Imaging Technologies, LLC(合同会社)による特許、特に米国特許US 7,457,656、US 8,166,381、及びUS 6,934,698、は任意の従来のインターネットブラウザが医療ワークステーションとして機能することを可能にするために医療画像管理システムを提供する。システムは、医療画像を複数の画像フォーマットからブラウザ互換性フォーマットへ変換するために用いられうる。しかし、この解決策は、ブラウザ互換性フォーマットにおける完全な画像がサーバからクライアントへ転送されるので、広帯域かつ短い待機時間のネットワークを必要とする。ブラウザを介して画像コンテンツを表示し且つその画像操作を容易にするための別のシステムが、米国特許出願公開US 2014/0143298 A1に開示され、そこでは、データマネジャーが、画像コンテンツをブラウザ向きのフォーマットへ変換する。
【発明の概要】
【発明が解決しようとする課題】
【0006】
従って、本発明の目的は、例えば三次元(3D)、又は四次元(4D)画像(ここでは第4の次元は時間である)のような大きなデータファイルを処理し且つ分析するために、ユーザはデスクトップアプリケーションのユーザ経験を持つが、広帯域のインターネット接続又はネットワークを必要としない方法及びシステムを創出することによって従来技術の不利な点を克服することである。本発明の別の目的は、医療データをレビューするためのソフトウェア的解決策を提供することであり、そこでは、クライアントのインストール、例えばアップグレード、ダウングレード、設定、配備、は不要である。本発明の別の目的は、医療データをレビューするためのソフトウェア的解決策を提供することであり、そこでは、一度書かれたソフトウェアは、プラグインなしにどこででも実行ができ、且つユーザによってどこからでもアクセスされうる。更に本発明の別の目的は、例え画像が、狭い帯域、待機時間の長いネットワークで遠隔サーバからダウンロードされても、診断画像の品質(空間的及び時間的の両方での)を与える医療画像をレビューするための方法を提供することである。
【0007】
本発明の目的は、請求項1および6による方法、請求項14によるシステム、及び請求項13によるコンピュータプログラム製品によって達成される。
【課題を解決するための手段】
【0008】
本発明は、医療画像表示のための分散アーキテクチャを提供する。分散アーキテクチャは、通常は制御され安全な環境、例えばサーバマシン上のプロセス、サーバマシン上で動作するプロセス内のスレッド、コンテナ(軽量仮想マシン)、仮想マシン、クラウドインスタンス等であるところのサーバ環境において動作する一部分を有し、且つ、ユーザの個人的な機器上で、例えば、パーソナルコンピュータ(PC)、タブレット若しくはスマートフォン上で動作するインターネットブラウザ内部(即ちウェブアプリケーション)、又はコンピュータのオペレーティングシステム(例えばWindows、Linux(登録商標))上で動作する、又は何らかの別のランタイム環境若しくはインタプリタ(例えばJava(登録商標)、Ruby、Python(登録商標))を用いる、デスクトップアプリケーションとして、又はアップルのAppStore、GooglePlayのようなチャネルを介して若しくはイントラネットを介して分配されているところの移動機器のためのアプリケーション(「モバイルアプリケーション」若しくは「アプリ」)として動作する別の部分を有している。しかし、ユーザに対しては、上記2つの部分は、仮想の単一アプリケーションのように機能する。
【0009】
ユーザの個人的な機器上で動作する部分は、「表示アプリケーション」と呼ばれ、一方、サーバ環境内で動作する部分は、「ヘルパープロセス」又は「ヘルパー」、及びいくつかの実施態様においては「コーディネータエンジン」を含む。従来技術のアプリケーションとは対照的に、ヘルパーは、ユーザの機器に表示されるべき画像の全体を描画も転送もせず、むしろクライアント、すなわち表示アプリケーションによって処理されるべき描画コマンドを符号化し転送する。さらにヘルパー及び表示アプリケーションは、例えばそれらが1対1の接続を有するので、各々他方の状態を知っている。従って計算は、ヘルパーと表示アプリケーションとの間で最適な仕方で分配されうる。それは、状態の無い多クライアント描画アーキテクチャ、又は遠隔デスクトッププロトコルでは不可能である。従って有用な実施態様において、ヘルパーは、状態を含むコンポーネントであり、そして表示アプリケーションは、描画コマンド全体、又はそれらの部分、例えば関連するデータバッファ、又は描画コマンドの列、をキャッシュできる。ヘルパーは、表示アプリケーションへ何を送信したか、及びそれによって何がキャッシュされたかを知っているので、それは、描画コマンドの別のストリームをキャッシュされたデータは再送信されないように適合させることができる。このために、通信チャネル、即ちヘルパーと表示アプリケーションとの間のネットワーク接続、の帯域に関する要求は低くなる。
【0010】
ユーザの機器(メモリ、CPU、ネットワーク帯域)によって処理されるには大き過ぎる医療調査データが、ユーザの機器へ全部転送されなければならないことはなく、安全でかつ計算的に高速のサーバ環境におけるヘルパープロセスによって扱われうることは、本発明の有利な点である。同時に、表示アプリケーションを可能な限り一般的で且つ能力を乏しくすることも可能であり、例えばユーザのウェブブラウザ内で動作するウェブアプリケーションでもよい。これは、ブラウザ、ブラウザの版、及び/又はオペレーティングシステムの全ての組合せについての、完全で複雑なアプリケーションをテストするための作業負担を減少させるが、その作業負担は非均質なクライアント環境においては別途必要である。
【0011】
他方で、ユーザの機器で利用可能でない、例えばブラウザ環境では利用できないプログラム部分は、ヘルパーによって実行されうる。例えばブラウザが計算を遂行するのに必要とされる或る種の能力を欠いていることも、同様に真実である。さらにヘルパープロセスは、慎重に扱うべき/秘密のデータ(例えば患者のデータ又は秘密のプログラムコード)を信頼できない(例えば、ユーザの機器が盗まれ又は不正なソフトウェアによって乗っ取られたときの)環境であるかも知れないユーザの機器へ転送しないように構成されうる。
【0012】
ユーザの機器上で検索されるべき医療調査データは、医療画像データ、例えば、超音波、CT、MRIデータ、又は別のモダリティによって生成された画像データ、及び例えばECGデータ等の別の計測データ、さらに名前、年齢等の患者のパラメータを含みうる。有用な実施態様において、医療調査データは、モダリティ製造業者によってDICOM標準又は技術フォーマットの何か別の状態で供給されるところのフォーマットで提示される。医療調査データは、ヘルパーが動作しているところの同一サーバ環境内に蓄積されうるが、また、ネットワーク接続によってアクセスできる異なるサーバに、又は場合によってはユーザの機器にさえも蓄積されうる。本発明は、医療調査データの発信元からは独立に機能する。
【0013】
有用な実施態様において、ユーザは、医療調査のリストに最初にアクセスすることができ、そして(場合によっては病院、又は別のデータベースサーバに蓄積された)1つを選択する。従って、表示アプリケーションは、選択された医療調査に関する情報を、例えば、レビューセッションの要求の前もしくは後もしくは一緒にコーディネータエンジンへ回送し、又は代わりに一度通信チャネルが設定されるとヘルパープロセスへ直接に回送する。どの場合でも、ヘルパープロセスは、医療調査データが蓄積されるサーバと通信ができ、且つ要求されたデータを検索できる。
【0014】
有用な実施態様において、表示アプリケーション、又は表示アプリケーションについての少なくとも更新は、好ましくはウェブサーバから、好ましくはユーザの介入なしに、そして要求されるときはいつでも、例えば各レビューセッションの前に、ユーザの機器上にロードされる。有用な実施態様において、表示アプリケーションは、各レビューセッションの前にユーザの機器上に完全にロードされる。例えばもし表示アプリケーションがウェブアプリケーションであれば、それはユーザのウェブブラウザ内にロードされる。このようにして、表示アプリケーションは、ユーザによって規則的に更新される必要はない。有用な実施態様において、表示アプリケーションは、各セッションの後、如何なるトレースもなしにユーザの機器から削除されるか、又は少なくとも削除されうる。有用な実施態様において、ユーザは、ソフトウェアをインストールする必要なしに、又はせいぜい小さなアプリをインストールして、彼のクライアント機器の全て(携帯電話、タブレットコンピュータ、家庭のPC、職場のPC)からセッションを起動できる。
【0015】
表示アプリケーションは、1つ以上のプログラムでありえ、それはクライアントとして動作する。有用な実施態様において、それらはブラウザの実行時環境(例えばJava(登録商標)スクリプトプログラム、Webアセンブリ)によって動作させられうる。このプログラムのロード過程は、例えば専用のウェブサーバ又はCDN(コンテント配送ネットワーク)によって提供される、ここで記載された別のシステム構成要素(コーディネートエンジン、ヘルパー)から独立でありうる。1つの例は、単一ページアプリケーションであり、サーバベースのアプリケーションではない。しかし、本発明はまた、表示アプリケーションがユーザの機器にインストールされるところの例(デスクトップアプリケーション)をカバーする。全ての場合に、医療データを分析するために要求される機能は、クライアント(表示アプリケーション)とサーバ環境(ヘルパー)との間に分配される。
【0016】
表示アプリケーションは、ユーザの機器上の描画可能領域を含むユーザインタフェースを生成するプログラムコードを含む。描画可能領域は、画像及び別の調査データが表示されるべき診断領域である。それは、高速の、グラフィックカード支援2D及び3D描画にさえ用いられうるところの例えば表現要素(例えばHTML5のキャンバス)である。ユーザインタフェースは、ウェブアプリケーションの場合に表示アプリケーションによって直接にブラウザ内に生成される一般的レイアウトは勿論のこと、さらに、ユーザインタフェース/入力要素、例えばボタン、スライダー、ダイアログを含みうる。
【0017】
表示アプリケーションが、レビューセッションのための要求を(通常は遠隔の)第1サーバへ送信するとき、それは、有用な実施態様において、いわゆるコーディネータエンジンによって最初に扱われる。このコーディネータエンジンは、少なくとも1つのヘルパーをサーバ環境内に割り当てることに責任を負っている。ヘルパープロセスは、各々のレビューセッション毎に新しく生成されうるか、又は準備された(ウォーム待機の)ヘルパーの集まりから選択されうる。有用な実施態様において、コーディネータエンジンは、ヘルパープロセスの接続情報(例えば、URL、トークン、・・)を表示アプリケーションへ回送し、それは次に表示アプリケーションからヘルパーへの1又は複数の直接接続又は通信チャネルを準備することができる。代わりにプロキシが、専用のサーバからヘルパーへのネットワーク接続を確立するために用いられうる。
【0018】
コーディネータエンジンは、例えば、ライフサイクル(開始、生成、ヘルパーの割り当て及び閉じること)、ヘルパーが動作するサーバ環境内の負荷バランス、障害迂回及びユーザの初期認証に責任を負っている。後者は、表示アプリケーションからサーバ環境(コーディネータエンジン、及び/又は、ヘルパー)へと安全な接続を介して通過させられる一時的トークンの生成によって為されうる。有用な実施態様において通信チャネルは安全である。
【0019】
有用な実施態様において、各表示アプリケーションは、次にヘルパープロセスへの直接接続を確立する。代わりに、プロキシが、専用サーバからヘルパーへのネットワーク接続を確立する。有用な実施例において、HTML5ウェブソケットが、短い待機時間、広帯域接続のために用いられる。性能の理由により、表示アプリケーションはまた、そのヘルパーに対して多重接続を開きうる。通信を安全にすることは、通信チャネルの責任であり、例えば安全なネットワークプロトコル(SSLウェブソケットのような)を用いる。更なる性能改良のために、ストリーム又はメッセージベースの圧縮(gzipのような)が用いられうる。これらの接続は、以下で言及される少なくとも1つの「通信チャネル」のための例の全てである。
【0020】
ヘルパーと表示アプリケーションとが好ましい実施態様において通信する方法が、次に記載される:医療調査データを分析するために、画像及びオーバーレイ、例えば計測、テキスト注釈、図形表示等、を表示することが通常必要である。従って、医療画像分析用ソフトウェアのほとんどどれもが、2D及び3Dの両方における直線、多角形、テクスチャ付き多角形、テキストのようなプリミティブの描画を規定するために用いられうるそのソフトウェアアーキテクチャにおいて何種類かの描画レイヤを有する。しばしば、表示されるべき事項は、階層的な「シーングラフ」において組織化される。階層的なシーングラフを表示(描画)することは、シーングラフノードを詳しくレビューすること、及びDirectX、OpenGLのような内在するグラフィックAPI(アプリケーション・プログラミング・インタフェース)のためのより低いレベルの描画コールを生成することによってなされる。
【0021】
有用な実施態様において、ヘルパープロセスは、完全なシーングラフを維持することを担当している。例えば、ヘルパープロセスは、(通常、表示アプリケーション上の上述のユーザインタフェースを介して通信されたユーザの要求で)それらについてのいくつかの計測又は分析を実行するために、選択された医療調査データを用いることができ、そして図形的オーバーレイ、例えばテキスト注釈若しくは分析の結果を含む図表、を生成する。
【0022】
しかし、ヘルパープロセスは、図表又はテキスト注釈自体を表示(描画)しない。それは、例えばこれらの事項を含んでいるシーングラフを生成するだけである。シーングラフはまた、医療調査データからの画像データを含んでいるテクスチャを含む。
【0023】
ヘルパープロセスは、(例えばそのようなシーングラフから)描画コマンドのストリームを生成し、次にそれを通信チャネルを通して表示アプリケーションへ転送する。例えばヘルパープロセスは、シーングラフに関連する描画コマンドをコマンドのストリームへ符号化し、次にそれはクライアント/表示アプリケーションへ転送される。「描画コマンドのストリーム」は例えば、描画可能領域に表示されるべき画像をどのように描くかの指示を含む。有用な実施態様において、画像内の個々の事項(例えば、医療画像若しくはその一部分、及びオーバーレイ、例えば、テキスト注釈、図表、又は別の図形表示)は、個々の描画コマンドに符号化され、及び/又は、それに関係付けられたデータは、関連付けられたバッファ(例えばテクスチャ及び頂点バッファ)内に符号化され、それはまた転送され、且つそれを描画コマンドが参照する。有用な実施態様において、描画コマンドのストリームは、個々の「コマンドリスト」に分離され、その各々は、タイムスタンプを有し1つのフレームに関係し、次から次にフレームは描画可能領域に表示されるべきである(例えば、
図4を参照)。このようにして、好ましくは転送された描画コマンドは、(ピクセルベースというよりは)ベクトルベースである。描画コマンドは、コマンドリスト、並びに時々は1又は数個のテクスチャ、及び/又は頂点バッファを含みうる。
【0024】
表示アプリケーションは、描画可能領域に表示されるフレームの時系列を生成するために描画コマンドを翻訳する。「フレームの時系列」によって、医療画像データが画像の時系列を包含していること(これは有用なアプリケーションであるけれども)を必ずしも意味しない。「時系列」はまた、レビューセッションの通常の過程における描画可能領域で生起する変化、例えば、静的又は動的画像内で為されうるが、診断領域(描画可能領域)における変化を引き起こすところの、ユーザが表示のために異なる画像を選択し注釈等を付けること、を参照する。「フレーム」という用語はここでは、一時点で描画可能領域内に表示されるあらゆるものを記載するために用いられる。このようにして、有用な実施態様において、レンダリング、即ち(遠隔)サーバから転送される描画コマンドからの画像の生成は、表示アプリケーションによってなされる。
【0025】
本発明の有用な実施態様において、表示アプリケーションは、好ましくは非常に簡易なインタプリタを有し、それは描画コマンドのストリームを通訳し且つ例えば、ブラウザ(ウェブアプリケーションの場合)のグラフィックAPIのための描画コールを生成する。これは、例えばWebGL、又は別の任意のグラフィックライブラリ、例えばPaperJS又はEasIJS、である。有用な実施態様において、高性能ハードウェア加速グラフィックAPI、例えばWebGLが用いられる。ヘルパー及び表示アプリケーションは、相互に他の状態を知っているような仕方で接続される。表示アプリケーションが、描画コマンド、一連の描画コマンド、及び関連付けられたデータバッファ、例えばテクスチャ、画像、複数頂点バッファ又は頂点バッファをキャッシュできるので、ヘルパーは、キャッシュされた描画コマンドを再度は転送せず、及び/又は1のフレームと次のフレームとの間の差分にのみ関係する描画コマンドを転送する。これは、転送すべきデータの量を劇的に低下させる。なぜなら非常に多くの場合に、描画可能又は診断領域における表示は、徐々にのみ変化するからである。例えば、もしユーザの干渉によって注釈が変えられ又は直線が引かれるならば、基礎的な下層の画像(又はテクスチャ)は、ヘルパーによって再送されず、交換された事項、例えば注釈、直線、又は他のオーバーレイに関連する描画コマンドのみが再送される。このようにして、描画可能領域内の1つの事項のみが変化したとき、ヘルパーは、変化された事項に関する指示を含む更新された描画コマンドを転送しうる。そして別途、表示アプリケーションへ最新のフレームについて描画コールを再実行するように教える。
【0026】
動的画像(即ちアニメ化された画像又は動画)、例えば2D又は3D画像(例えば心臓から得られた)の時系列の場合に、ヘルパープロセスは、オーバーレイを再送しないが、画像コンテンツのみ再送する。もし画像の時系列がループ状に、即ち同じ一連の画像を何度も何度も表示されるべきであるなら、同様に画像は、ユーザの機器上の表示アプリケーションによってキャッシュされる。有用な実施態様において、表示アプリケーションは、同様に各描画コマンドリストに関連するタイムスタンプをキャッシュし、ヘルパーとの相互作用なしに動的画像のループを表示することができる。
【0027】
有用な実施態様において、表示アプリケーションはさらに、通常はユーザインタフェースでのユーザ入力イベントに応答して、描画可能領域内で直接に幾つかのオペレーションを実行しうる。これらの入力イベントは、ヘルパーへ転送されず、そしてそのような描画可能領域内でのオペレーションは、ヘルパーからの描画コマンドを受け取ることなしに、ユーザ入力イベントに応答して直接的に実行される。有用な応用において、これらのオペレーションは、明るさ、輝度、色付け、縮尺、及びオーバーレイの追加を含むグループから選択された表示オプションに関し、又は描画可能領域に表示された画像に対する計測の実行に、又は描画可能領域への注釈若しくは図表の追加に関する。
【0028】
大部分の実施態様において、医療調査データ自体は、ヘルパーによって処理され、ヘルパーはそのような処理の結果を描画コマンドのストリームの形態で表示アプリケーションへ転送する。そのような処理は、予備処理工程、例えばスムージング、フィルタリング等、並びに別の処理工程、例えば立体表示、三次元再構築、セグメント分け、モデルの医療調査データへの適合、画像データからの医療データの抽出等を含みうる。別の処理はまた、分析工程、例えば計測、分類、又は標準化を含む。そのような処理工程は、表示アプリケーションによって転送されたユーザ入力イベントに応答してヘルパーによってしばしば実行される。プラットフォームに蓄積されるフォーマットにおける元の医療調査データは、ほとんどの実施態様において表示アプリケーションへ転送されない。
【0029】
本発明のいくつかの実施態様において、表示アプリケーション及びヘルパーは、各セッションの始めで、ネットワーク接続の帯域、及び/又は表示アプリケーション若しくはユーザの機器の実行能力に基づいて、どの機能がそれぞれによって実行されるべきであるかについて同意する。例えば、もしユーザの機器のプロセッサが遅く、一方、表示アプリケーションとヘルパーとの間の通信チャネルが速いと、より多くのデータ処理機能がヘルパーによって実行され、そして結果は表示アプリケーションへ転送される。逆の状況において、より多くの機能がユーザの機器上の表示アプリケーションによって実行されうる。
【0030】
ヘルパーは状態を含んでいる、即ち例えば、レビューセッションの過程において特定の表示アプリケーションへ既に転送されたものをヘルパーが記憶することを意味するので、本発明の有用な実施態様は通常、ヘルパーの状態をセーブすることを含み、「状態」は情報を含み、それは例えば、活動中の医療調査、どの計測が為されたか、及びそれぞれの結果、並びにどのビューポートが活動的であるか、場合によっては描画可能領域に表示された最新の画像を復元するために必要な描画コマンドの一組についての情報である。有用な実施態様において、「状態」又は「状態情報」は、規則的な間隔で、表示アプリケーションへ転送され且つ表示アプリケーションによって記憶される。代わりに、それはサーバ環境内に、例えばコーディネータエンジンによって記憶されてもよい。従って、もしレビューセッションが、ヘルパー又は表示アプリケーションのどちらかの故障が原因で予期せずに終了されると、それは例えばコーディネータエンジンによって割り当てられた新たなヘルパーによって続行されうる。また、レビューセッションの最後でヘルパーの状態を記憶し、それが別の時に続行されうることも有用でありうる。
【0031】
本発明はまた、サーバ環境、特にヘルパープロセス及び場合によってはコーディネータエンジンにおいて実行される方法を目指している。
【0032】
本発明はさらに、デジタルコンピュータの内部メモリに直接にロードしうるコンピュータプログラム製品を目指しており、この製品は、上記製品が1のコンピュータ上で動作するとき、本方法を実行するためのソフトウェアコード部分を含んでいる。それはさらに、プロセッサにより実行されるとき結果は実行される工程の系列であるところの指令の一組を含む持続的なコンピュータ可読性媒体を目指しており、それは本発明の方法を実行する。本発明はさらに、プロセッサによって実行されるべきコンピュータプログラムコード(ここで該コンピュータプログラムコードは、実行されるとき本発明の方法を実装する)を含んでいる有形のコンピュータ可読性ストレージ媒体内に実装されうる。
【0033】
本発明の有用な実施態様が、添付された図面との関係でより詳細に記載されよう。
【図面の簡単な説明】
【0034】
【
図1】システムの概要の1例を示すブロック図である。
【
図2】ユーザの機器上で動く表示アプリケーションのスクリーン・ショットの1例を示す図である。
【
図3】サーバ環境によって実行される方法の1実施態様を示す図である。
【
図4】描画コマンドのストリームの例を示す説明図である。
【
図5】頂点バッファ及びテクスチャの例を示す説明図である。
【
図6】本発明の方法によってレビューされるときの、アニメ化された画像データの説明図である。
【発明を実施するための形態】
【0035】
図1の一般的なシステムの概要は、クライアント側、即ちユーザの機器上で動くプロセッサを上方に示し、そしてサーバ側を下方に、さらにネットワーク5、例えばインターネットを中間に示す。サーバ側(「サーバ環境」)は多数のマシンから成りうる。
【0036】
レビューセッションを始める前又は最初に、クライアント又は表示アプリケーションは、プラットフォーム4、例えば病院又は別の医療機関のPACSのような遠隔サーバからの、例えば調査リストの識別子を含む医療調査のリストを受け取り、そしてそれを参照符号2でユーザに表示する。ユーザは1つの調査を選択することができ、そして選択された医療調査に関する情報(例えば調査識別子を含む)は、ヘルパープロセス12へ伝えられる。表示アプリケーション8は、通常はコーディネータエンジン10(それは例えば、ヘルパープロセス12を立ち上げ、分岐しかつ移住させるための責任がある)の仲介を通してヘルパープロセス12に接続されうる。一度、コーディネータエンジンが、ヘルパープロセス12を割り当てると、少なくとも1つの通信チャネル14又は多重接続、例えば双方向性のウェブソケット通信が、状態を含むヘルパープロセス12と表示アプリケーション8との間に確立される。ヘルパー12は、表示アプリケーションから調査識別子を受取った後に医療調査データを検索するために、例えばHTML接続9を介して、プラットフォーム4へアクセスすることができる。
【0037】
有用な実施態様において、表示アプリケーション8は、レビューセッションの開始にあたり、その能力に関する情報、例えばどのテクスチャ圧縮アルゴリズムがサポートされているかをヘルパー12へ送出し、そしてそれに従ってヘルパーは、例えば表示アプリケーション8に対して最適化された圧縮フォーマットでテクスチャを送ることによって、その描画コマンドのストリームをそれらの能力に適合させる。
【0038】
ヘルパー12は、完全なシーングラフを維持し、且つ描画コマンドを表示アプリケーション8へ送り、それによって表示アプリケーション8が、描画可能領域にシーングラフを描くことを可能にする。ヘルパーはクライアント(=表示アプリケーション)の状態を知っているので、それは「デルタ」更新情報、すなわち1のフレームと次のフレームとの間の差分に関する描画コマンドだけを送りうる。
【0039】
表示アプリケーション8は、インタプリタ16を含んでおり、該インタプリタは、ヘルパー12から受信した描画コマンドのストリームを解釈又は復号することができ、並びに、直接的に実行可能であり且つユーザ機器上で、例えばウェブブラウザによって実行されるところの描画コールを生成することができる。
【0040】
重要な状態は、時々刻々にヘルパー状態ストレージ18へ記憶され、そのストレージ18は、ユーザ機器上に又は代替的にサーバ環境内に、又は別のサーバ上にさえありうる。状態を含むヘルパープロセス12は、大抵のアプリケーションにおいてはレビューセッション毎に働いている、即ちそれは再利用されず、各レビューセッションの後で終結させられる。
【0041】
図3は、レビューセッションに対する要求24をサーバへ送るユーザへの応答において、ユーザがユーザの機器上の医療調査データをレビューすることを可能にするための方法を示す。応答において、1又は数個のヘルパープロセス12が、工程22においてこのレビューセッションへ割り当てられる。工程24で、通信チャネルが、クライアント(表示アプリケーション)とヘルパーとの間に確立され、そして多くの実施態様において、表示アプリケーションは、その能力に関する情報、例えばその利用可能な処理性能、利用可能なソフトウェアコンポーネント、例えばテクスチャ、圧縮フォーマット及び場合によっては通信チャネルの帯域をヘルパーへ転送する。通信チャネルの帯域に関する情報は、ネットワーク性能が1つのレビューセッション中に変化しうるので、レビューセッション中に規則的に更新され得、そしてヘルパーは、その描画コマンドのストリームをそれに対応して(例えば、狭い帯域のネットワークにおいてより強力な圧縮を用いる等)適合させうる。
【0042】
ヘルパーはまた、工程26において、利用可能な医療調査に関する情報を受け取り、そしてデータストレージ又はプラットフォーム4から医療調査データを検索する。工程28において、ヘルパーは任意選択的に別のユーザ入力U1を受け取り、それが、ヘルパーに対して医療調査データを処理すること、例えば、或る画像を検索し及びテクスチャを生成し及び場合によってはそれらをオーバーレイすること、を促進しうる。工程30において、ヘルパー12は、描画コマンドD1のストリームを符号化し、それは通信チャネルを通して表示アプリケーション8へ移動する。これら描画コマンドD1は、表示アプリケーションによって、表示アプリケーションの描画可能領域42内に適切な表示を描くところの適切な描画コールに解釈される。ユーザは、描画可能領域42内において何らかの相互作用、例えば計測をするために線を引くこと、を行いうる。このユーザ入力U2は、工程32においてヘルパープロセスへ送信され、そしてヘルパープロセスは、それに応じて別の描画コマンドD2を工程34において生成し、それは表示アプリケーションへ転送される。有用な実施態様において、そのような描画コマンドD2は、表示アプリケーションの状態を考慮すること、特に表示アプリケーションでキャッシュされたもの従って再送される必要がないものを考慮することによって、最適化される。
【0043】
ユーザが、工程36においてレビューセッションの終了を望むとき、ヘルパープロセスは、その状態Sに関する情報をサーバへ又は蓄積のためにクライアント側18へ送りうる。
【0044】
図2は、クライアントの1例、即ち表示アプリケーションであって、ユーザのウェブブラウザ内で動作するウェブアプリケーションでありうるものを示す。表示アプリケーションは、描画可能領域42を含んでいるユーザインタフェース40を生成する。描画可能領域42は、例えばWebGLキャンバスでもよい。それは、示されたように複数の表示ポート(この例では4つ)に分割され得、表示ポートは42a、42b、42c、及び42dと符号が付けられる。描画可能領域42は、診断領域とも呼ばれる。それはスクリーン上の領域であって、表示アプリケーション8によって描画コマンドD1、D2のストリームから解釈されるところの描画コールが、表示/描画されるところである。さらに、ユーザインタフェースは、ユーザ入力要素、例えばツールバー44及び任意選択的に制御部48を含む.さらに状態バー46及びサムネイルプレビュー50のための領域が存在してもよい。
【0045】
ヘルパープロセスと表示アプリケーションとの間の相互作用、特に描画コマンドのストリームとそれらが表示アプリケーションによってどのようにキャッシュされるかが、
図4及び5に示された実施例によって説明される。
【0046】
最初に、表示アプリケーションは、受信された如何なるシーン情報も持たないが、与えられた時間軸上のタイムスタンプ30msでフレーム100を描きたい。ヘルパーは、クライアントの状態(即ち、それが如何なるシーン情報も未だに有していないこと)について知っている、そして最初に、
図5に描かれたように必要な頂点バッファ及びテクスチャを送るであろう。この実施例において、2つの頂点バッファ及び3つのテクスチャが存在する。この関連においてテクスチャは、医療調査データから抽出された画像データ(
図5のテクスチャ1及び3)、又は例えばテクスチャ2のような注釈を含みうる。頂点は、例えばグラフのノード(節)である。従って、ヘルパーは、それが描画可能領域内にフレーム100を描くこと、タイムスタンプ30msで表示されることを可能にするために、コマンドリスト1を表示アプリケーションに送る。スクリーンをクリアした後、描画コマンド「表示ポート(0、0)×(200、200)」は、座標(0、0)から座標(200、200)まで達する上部左側のウインドウが用いられるべきことを指示する。表示アプリケーションは、その後、頂点バッファ1及びテクスチャ3を用い、そして頂点3、6、2を用いて三角形を描くことに指示される。これら描画コマンドは、表示アプリケーションによって解釈されかつ実行され、そして結果は参照符号52で示される。
【0047】
タイムスタンプ55msでの次のフレーム101において、三角形は、僅かに変化させられるべきであり、頂点3及び4は動かされる。それ以外の全てのものは同じままであり、且つヘルパーは、表示アプリケーションがフレーム100を描くための全情報を持っていることを知っているので、ヘルパーは頂点バッファ1内の頂点番号3と4とを置き換え且つ描画列を再発行するために更新コマンドを送るだけである。このことは、コマンドリスト2内に示され、頂点バッファ1はそれに従って更新される。それから、描画コマンドは、コマンドリスト1を呼ぶことであり、従って、同じ描画コマンドが、更新された頂点バッファ1(又は言い換えると、交換された頂点番号3及び4)を伴って実行される。結果が、54で示される。この差分-符号化スキームによって、変化されたデータのみが通信チャネルを越えて転送され、ネットワークを越えて転送されるデータを非常に少ない量にする。
【0048】
さらに転送されるデータ量を低減するために、本発明の有用な実施態様は、データ圧縮アルゴリズム又はデータ重複排除アルゴリズムを採用する。これは非常に効果的になされうる。なぜならヘルパーは、自身を表示アプリケーションへ適応させることができるからである。様々なユーザの機器は、例えばテクスチャ圧縮について、特に様々な移動機器について様々な技術を用いうる。したがって、本発明の任意選択的な特徴は、表示アプリケーションが、レビューセッションの開始において、技術に関する情報、及び特にそれがどのテクスチャ圧縮アルゴリズムをサポートするのか、及びそれに従いヘルパーが、描画コマンドのストリームを表示アプリケーションの能力に適合させることに関する情報を送ることである。例えばヘルパーは、クライアント(表示アプリケーション)のために最適化されたフォーマットでテクスチャを送りうる。代わりにヘルパーは、JPEG又はPNGにテクスチャを圧縮することができ、表示アプリケーションはそれらを展開する。表示アプリケーションは、テクスチャをキャッシュし得て、そして例えばそれらをグラフィックカードに(例えばWebGLを介して)ロードしうる。WebGLテクスチャ圧縮は他のシステムと異なっているので、これは有用である。ヘルパーは、どのテクスチャ圧縮をクライアント/表示アプリケーションが必要としているかを知っており、そしてグラフィックカードにダウンロードされるべき準備の整ったテクスチャを送る。このように、クライアントコードは、圧縮されたテクスチャをキャッシュでき、且つ展開は、グラフィックカード上で「自由」である。
【0049】
さらに、ヘルパー及び表示アプリケーションは、ネットワーク帯域に適合させられうる。例えば遅い通信チャネルにおいて、テクスチャの解像度は低下させられうるか又は圧縮度が上げられうる。ヘルパーは描画コマンドのみ(表示された画像ではなく)を転送するので、オーバーレイ(例えばテキスト注釈、寸法、心電図(ECG)など)は依然として鮮明に表示されうるが、テクスチャ(画像データ)だけは低品質で表示される。
【0050】
従って、ヘルパーから表示アプリケーションへ転送されるデータの総量は、例えば、ネットワークプロトコル上の圧縮及びz-deltaのような洗練された差分圧縮アルゴリズム又は別の重複排除アルゴリズムで、さらに低下させられうる。
【0051】
別の実施例は、アニメ化されたフレーム、即ち医療画像の時系列のレビューである。1例は心臓画像であり、例えば5~50の画像が1心拍の間に心臓から獲得され、且つそれは
図6に示されたようにループ状に現実の速度で表示されなければならない。多くの従来技術のウェブベース医療画像ビユワーが、高フレームレートを有するアニメ化されたフレームになると失敗した。これは、例えば超音波検査の正確な診断レビューのために必要とされる。ここでは、画像の質とプレイバック速度の両方がぴったりしたものでなければならない。
【0052】
この問題は、次の1例によって説明されるように、本発明によって解決できる。25msの等間隔に分配したタイムスタンプ(1秒間に40枚のフレームに等しい)での画像を有しているところの、与えられた医療データセットを、
図6に示されたように、タイムスタンプ30ms~180msまでのループでプレイしたい。
図4は、タイムフレームのいくつか(フレーム100~106)を列挙し、そして各フレームの三角形の座標を変えないで、むしろ三角形のテクスチャ画像を変えることを仮定している。従ってフレーム101については、テクスチャ画像を新たな画像で置き換える更新されたテクスチャコールを有する。
【0053】
テクスチャ画像を書き換えることよりもむしろ、表示アプリケーションは今やまた、時間にわたりデータをキャッシュする。従ってそれはテクスチャ画像、及びフレーム100から101へ、101から102へ、・・及び105から106へ行くための描画コマンドの差分を蓄積する。ループ内の最後のフレームであるフレーム106に対して、次に最初のフレームに再度戻る必要がある。表示アプリケーションは、差分又は「デルタ」を蓄積するのみであるので、それは、「系列から外れた」フレームを描くことができない。従ってその代わりに、タイムスタンプ180msからタイムスタンプ30msへ戻るように、デルタを生成し、それが新たなフレーム107である。この系列が終了するときに、表示アプリケーションは、ヘルパーから転送される如何なるデータも無しにループ全体をプレイするための全ての情報を有している。描画プリミティブ(直線を描く又はテキストラベルを貼るような)を追加することは、描画系列の小さな部分のみの更新を起動し、そして描画アプリケーションがそれ自身でループを演じうるようなレベルに直ぐ戻るであろう。
【0054】
多くの実施態様において、ヘルパーと表示アプリケーションとの間に一対一の関係があるが、多表示アプリケーション、例えばミラーアプリケーション(遠隔コンサルティング、レコーディング、マルチモニタ放送)を有する、及び/又は多ヘルパー(例えば、多試験、臨床タスクのための様々なヘルパー)を有する実施態様がある。有利な実施態様において、クライアント側(表示アプリケーション)のキャッシュアーキテクチャは、テクスチャをキャッシュする、描画コマンド(例えばフレーム描画コール)をキャッシュする、及び/又は頂点を、例えば頂点バッファ内にキャッシュする能力を含みうる。いくつかの実施態様において、WebGL(グラフィックカードテクスチャメモリ)は、表示アプリケーションキャッシュとして用いられる。
【0055】
有用な実施態様において、ヘルパー状態は、表示アプリケーション(例えばブラウザ)によってユーザの機器上に記憶される:ヘルパー側(サーバ環境)のデータベース又はキャッシュを用いる代わりに、ヘルパーは状態情報をクライアント(表示アプリケーション)へ転送し且つそれをそこに記憶し、場合によってはまた圧縮及びデルタ符号化によって最適化されうる。ヘルパー環境についての要求のこの道は低く(データベースなし等)、そしてクライアント(表示アプリケーション)は、例えば1つのサーバマシンが壊れ又は最早そこへ到達できないときに、コーディネータエンジンを介してそのヘルパーを再創出できる。記憶されたヘルパーの状態データはヘルパーに関連するだけ(表示アプリケーションはこのデータでは動作しない)なので、それは、コンパクトな/圧縮されたフォーマットに符号化され且つ記憶されうる。信頼できない環境のために、この記憶されたデータは、(例えばAESで)暗号化され得、暗号化鍵(非公開/公開)は、サーバ環境内に留まる(表示アプリケーションへ送信されない)。従って、ユーザはデータを復号化できず、ユーザの機器は、別のヘルパーにより後での使用のために、ヘルパーの状態データを記憶するだけである。
【0056】
有用な実施態様において、ウェブアプリケーションとしての表示アプリケーションのための同じプログラムコードは、例えばクロームのような埋め込まれたブラウザを用いることにより通常のデスクトップアプリケーション(能力の豊富なクライアント)において用いられうる。1つのコードパスだけを維持すればよいので、このことは開発コストを低下させる。