(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5749384
(24)【登録日】2015年5月22日
(45)【発行日】2015年7月15日
(54)【発明の名称】アプリケーションプログラムの状態への遠隔アクセスを提供するための方法およびシステム
(51)【国際特許分類】
G06F 12/00 20060101AFI20150625BHJP
G06F 15/00 20060101ALI20150625BHJP
【FI】
G06F12/00 533F
G06F15/00 420A
【請求項の数】28
【全頁数】22
(21)【出願番号】特願2014-155951(P2014-155951)
(22)【出願日】2014年7月31日
(62)【分割の表示】特願2011-537802(P2011-537802)の分割
【原出願日】2009年11月23日
(65)【公開番号】特開2014-222536(P2014-222536A)
(43)【公開日】2014年11月27日
【審査請求日】2014年8月21日
(31)【優先権主張番号】61/193,423
(32)【優先日】2008年11月26日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】511127346
【氏名又は名称】カルガリー・サイエンティフィック・インコーポレイテッド
【氏名又は名称原語表記】CALGARY SCIENTIFIC INC.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】特許業務法人深見特許事務所
(72)【発明者】
【氏名】トーマス,モンロー・エム
(72)【発明者】
【氏名】マクファジーン,デイビッド・ビィ
(72)【発明者】
【氏名】ボールガール,マイケル
(72)【発明者】
【氏名】シェルガー,デレク
【審査官】
多胡 滋
(56)【参考文献】
【文献】
特開2005−031807(JP,A)
【文献】
特表2005−521946(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/30
G06F 12/00
G06F 15/00
(57)【特許請求の範囲】
【請求項1】
a)サーバコンピュータにおいて、前記サーバコンピュータに関連付けられるアプリケーションを実行するためにアプリケーションプログラムを実行するステップと、
b)通信網を介して前記サーバコンピュータに接続されるクライアントコンピュータにおいて、実行された前記アプリケーションの状態への遠隔アクセスを提供し、前記サーバコンピュータから最後に受信された前記アプリケーションの状態の変更を示すデータをエンコードしたクライアント差分プログラムを生成するために遠隔アクセスプログラムを実行するステップと、
c)前記クライアント差分プログラムを前記サーバコンピュータに送信するステップと、
d)前記サーバコンピュータにおいて、前記アプリケーションの更新状態を判断するために前記クライアント差分プログラムを実行し、前記アプリケーションの更新状態と前記クライアントコンピュータに最後に送られた前記アプリケーションの状態との間の差分をエンコードしたサーバ差分プログラムを生成するステップと、
e)前記サーバ差分プログラムを前記クライアントコンピュータに送信するステップと、
f)前記クライアントコンピュータにおいて、前記サーバコンピュータから最後に受信された前記アプリケーションの状態を更新するために前記サーバ差分プログラムを実行するステップと、
g)前記クライアントコンピュータのハードウェア能力に従った、前記アプリケーションプログラムの状態における変更を表すビューデータを生成するステップとを含む、方法。
【請求項2】
前記クライアントコンピュータにおいて、そのメモリにおいて、前記サーバコンピュータから最後に受信された前記アプリケーションの状態を示すクライアントサーバデータと、クライアントインタラクションの後の前記アプリケーションの状態を示すクライアントデータとを記憶するステップを含む、請求項1に記載の方法。
【請求項3】
b)は、クライアントインタラクションの後の前記アプリケーションの状態と前記サーバから最後に受信された前記アプリケーションの状態との間の差分をエンコードするステップを含む、請求項2に記載の方法。
【請求項4】
前記サーバコンピュータにおいて、そのメモリにおいて、前記アプリケーションのサーバ状態を示すサーバデータおよびクライアントに最後に送られた前記アプリケーションの状態を示すサーバクライアントデータを記憶するステップを含む、請求項3に記載の方法。
【請求項5】
d)は、
前記サーバクライアントデータにおける前記クライアント差分プログラムの実行により、第2のサーバクライアントデータを判断するステップと、
前記サーバデータにおける前記クライアント差分プログラムの実行により、更新されたサーバデータを判断するステップと、
前記更新されたサーバデータと前記第2のサーバクライアントデータとの間の差分をエンコードするサーバ差分プログラムを生成するステップと、
前記第2のサーバクライアントデータにおける前記サーバ差分プログラムの実行により、第3のサーバクライアントデータを判断するステップと、
前記サーバクライアントデータを前記第3のサーバクライアントデータと置換えるステップとを含む、請求項4に記載の方法。
【請求項6】
f)は、
前記クライアントサーバデータにおける前記サーバ差分プログラムの実行により、第2のクライアントサーバデータを判断するステップと、
前記クライアントデータにおける前記サーバ差分プログラムの実行により、第2のクライアントデータを判断するステップと、
前記クライアントサーバデータを前記第2のクライアントサーバデータと置換えるステップと、
前記クライアントデータを前記第2のクライアントデータと置換えるステップとを含む、請求項5に記載の方法。
【請求項7】
前記サーバコンピュータにおいて、そのメモリにおいて、サーバアプリケーション状態プログラムとして、前記アプリケーションのサーバ状態を示すサーバデータ、およびクライアントに最後に送られた前記アプリケーションの状態を示すサーバクライアントデータを記憶するステップを含み、
d)は、
前記サーバデータにおける前記クライアント差分プログラムの実行により、更新されたサーバデータを判断するステップと、
前記更新されたサーバデータと前記サーバクライアントデータとの間の差分をエンコードするサーバ差分プログラムを生成するステップとを含み、
f)は、
前記サーバコンピュータから最後に受信された前記アプリケーションの更新状態を示す表示データを生成するステップと、
前記表示データを人間に理解可能な態様で表示するステップとを含む、請求項1〜6のいずれか1項に記載の方法。
【請求項8】
前記サーバコンピュータにおいて、前記アプリケーションのサーバ状態を示すデータをエンコードしたサーバアプリケーション状態プログラムを生成するステップと、
前記サーバアプリケーション状態プログラムを前記クライアントコンピュータに送信するステップと、
前記クライアントコンピュータにおいて、前記アプリケーションのサーバ状態を判断するために前記サーバアプリケーション状態プログラムを実行するステップと、
前記アプリケーションのサーバ状態の更新状態を示す表示データを生成するステップと、
前記表示データを人間に理解可能な態様で表示するステップとを含む、請求項7に記載の方法。
【請求項9】
前記クライアントコンピュータにおいて、前記サーバコンピュータから最後に受信された前記アプリケーションの更新状態を示す表示データを生成するステップと、
前記表示データを人間に理解可能な態様で表示するステップとを含む、請求項1〜6のいずれか1項に記載の方法。
【請求項10】
前記サーバコンピュータにおいて、前記アプリケーションの第2の更新状態を判断するために第2のクライアントコンピュータから受信された第2のクライアント差分プログラムを実行し、前記アプリケーションの前記第2の更新状態と前記第2のクライアントコンピュータに最後に送られた前記アプリケーションの状態との間の差分をエンコードした第2のサーバ差分プログラムを生成するステップと、
前記第2のサーバ差分プログラムを前記第2のクライアントコンピュータに送信するステップと、
前記第2のクライアントコンピュータにおいて、前記サーバコンピュータから最後に受信された前記アプリケーションの状態を更新するために前記第2のサーバ差分プログラムを実行するステップとを含む、請求項1〜9のいずれか1項に記載の方法。
【請求項11】
前記サーバコンピュータにおいて、前記アプリケーションの前記第2の更新状態と前記クライアントコンピュータに最後に送られた前記アプリケーションの状態との間の差分をエンコードした第3のサーバ差分プログラムを生成するステップと、
前記第3のサーバ差分プログラムを前記クライアントコンピュータに送信するステップと、
前記クライアントコンピュータにおいて、前記サーバコンピュータから最後に受信された前記アプリケーションの状態を更新するために前記第3のサーバ差分プログラムを実行するステップとを含む、請求項10に記載の方法。
【請求項12】
前記クライアントコンピュータにおいて、それに接続されるユーザインタフェースから、前記アプリケーションの状態の変更を示すデータを受信するステップを含む、請求項1〜11のいずれか1項に記載の方法。
【請求項13】
遠隔サーバアクセスプログラムを実行するステップを含み、前記遠隔サーバアクセスプログラムは:前記クライアント差分プログラムを実行するため;前記アプリケーションの更新状態の判断のために前記アプリケーションプログラムと通信するため;および前記サーバ差分プログラムを生成するためのものである、請求項1〜12のいずれか1項に記載の方法。
【請求項14】
サーバコンピュータのプロセッサ上での実行のために実行可能なコマンドを記憶した記憶媒体であって、前記プロセッサは、前記コマンドを実行すると、それに接続されるクライアントコンピュータに対して、前記サーバコンピュータ上で実行されるアプリケーションへの遠隔アクセスをあたえ、前記プロセッサは、
前記サーバコンピュータから最後に受信された前記アプリケーションの状態の変更を示すデータをエンコードしたクライアント差分プログラムを前記クライアントコンピュータから受信し、前記アプリケーションの更新状態を判断するために前記クライアント差分プログラムを実行し、前記アプリケーションの更新状態と前記クライアントコンピュータに最後に送られた前記アプリケーションの状態との間の差分をエンコードしたサーバ差分プログラムを生成するステップと、
前記サーバ差分プログラムを前記クライアントコンピュータに送信するステップと、
前記クライアントコンピュータのハードウェア能力に従った、前記アプリケーションプログラムの状態における変更を表すビューデータを生成するステップとを実行する、記憶媒体。
【請求項15】
サーバコンピュータにおいて実行されるアプリケーションプログラムへの遠隔アクセスを提供するための方法であって、
前記方法は、クライアントコンピュータからアクセス可能なサーバコンピュータへの遠隔の接続の提供を含み、前記遠隔の接続は、前記アプリケーションプログラムへの前記遠隔アクセスを可能にし、
前記方法は、前記アプリケーションプログラムの実行または前記クライアントコンピュータによって生じた前記アプリケーションの状態における変更を示すデータを含む差分プログラムの送信を含み、前記差分プログラムは、前記サーバコンピュータまたは前記クライアントコンピュータによって受信されたアプリケーションの最後の状態からの、前記アプリケーションプログラムの状態における変更を捕捉し、
前記方法は、前記サーバコンピュータと前記クライアントコンピュータとの間での、前記差分プログラムを利用した前記アプリケーションの状態における変更の同期を含み、
前記方法は、前記クライアントコンピュータのハードウェア能力に従った、前記アプリケーションプログラムの状態における変更を表すビューデータの生成を含む、遠隔アクセスを提供するための方法。
【請求項16】
前記ハードウェア能力は、処理能力、メモリサイズ、図形表示のタイプ、およびユーザインタフェースのタイプの中の1つを含む、請求項15に記載の遠隔アクセスを提供するための方法。
【請求項17】
前記アプリケーションプログラムの状態における変更を前記クライアントコンピュータに表示させるためのビューデータの生成をさらに含む、請求項15に記載の遠隔アクセスを提供するための方法。
【請求項18】
前記クライアントコンピュータに、前記アプリケーションの状態の予め定められた部分を表示させることをさらに含む、請求項17に記載の遠隔アクセスを提供するための方法。
【請求項19】
前記遠隔の接続は、サーバ上で実行されるサーバ遠隔アクセスプログラムの提供、および、前記クライアントコンピュータ上で実行されるクライアント遠隔アクセスプログラムの提供によって提供され、
前記サーバ遠隔アクセスプログラムは、前記アプリケーションプログラムと通信しており、
前記クライアント遠隔アクセスプログラムは、ネットワーク通信リンクを介して、前記サーバ遠隔アクセスプログラムと通信する、請求項15に記載の遠隔アクセスを提供するための方法。
【請求項20】
前記差分プログラムは、前記クライアントコンピュータによって前記サーバコンピュータと通信するクライアント差分プログラムと、前記サーバコンピュータによって前記クライアントコンピュータと通信するサーバ差分プログラムとを含み、
前記クライアント差分プログラムは、前記クライアントコンピュータで生成された前記アプリケーションプログラムの状態における変更を示すデータを含み、
前記サーバ差分プログラムは、前記アプリケーションプログラムの実行に従って生成された、前記アプリケーションプログラムの状態における変更を示すデータを含む、請求項19に記載の遠隔アクセスを提供するための方法。
【請求項21】
更新された前記アプリケーションプログラムの状態を判断するために、前記クライアントコンピュータで前記サーバ差分プログラムを実行すること、および、
更新された前記アプリケーションプログラムの状態を表示することをさらに含む、請求項20に記載の遠隔アクセスを提供するための方法。
【請求項22】
複数のクライアントコンピュータの中の1つにおいて実行される複数のクライアント遠隔アクセスプログラムのそれぞれと遠隔接続でのアクセスを可能にすること、
前記アプリケーションプログラムの実行および前記複数のクライアントコンピュータのうち少なくとも1つによって生じた前記アプリケーションの状態における変更を示す差分プログラムを生成すること、および、
前記差分プログラムを利用して前記アプリケーションプログラムと前記複数のクライアントコンピュータとの間の前記アプリケーションの状態における変更を同期させることをさらに含む、請求項19に記載の遠隔アクセスを提供するための方法。
【請求項23】
前記方法は、前記複数のクライアントコンピュータの各々における、前記サーバコンピュータと通信するクライアント差分プログラムの生成をさらに含み、前記クライアント差分プログラムの各々は、クライアントコンピュータのそれぞれにおいて生じた前記アプリケーションプログラムの状態における変更を示すデータを含み、
前記方法は、前記サーバコンピュータによる前記複数のクライアントコンピュータのそれぞれとの通信を行なうサーバ差分プログラムの生成をさらに含み、前記サーバ差分プログラムは、前記アプリケーションの実行の少なくとも1つによって生じた前記アプリケーションプログラムの状態における変更および前記複数のクライアントコンピュータの他のコンピュータによって生じた前記アプリケーションプログラムの状態における変更を示すデータを含む、請求項22に記載の遠隔アクセスを提供するための方法。
【請求項24】
前記アプリケーションプログラムの更新された状態を決定するために、前記サーバ遠隔アクセスプログラムで前記クライアント差分プログラムの各々を実行することをさらに含む、請求項23に記載の遠隔アクセスを提供するための方法。
【請求項25】
前記アプリケーションプログラムの更新された状態を決定するために、前記複数のクライアントコンピュータの各々で前記サーバ差分プログラムを実行すること、および、
前記複数のクライアントコンピュータの各々で、前記アプリケーションプログラムの更新された状態を表示することをさらに含む、請求項23に記載の遠隔アクセスを提供するための方法。
【請求項26】
前記アプリケーションプログラムの状態における変更は、前記クライアントコンピュータのユーザインターフェースで受信された入力に従って決定される、請求項23に記載の遠隔アクセスを提供するための方法。
【請求項27】
前記差分プログラムにおけるデータは、アプリケーションの状態における変更、変更のタイプ、前記クライアントコンピュータで受信された入力、および、変更の値の中の少なくとも1つを含む、請求項24に記載の遠隔アクセスを提供するための方法。
【請求項28】
前記差分プログラムは、前記サーバコンピュータが最後に差分プログラムと通信した後の前記アプリケーションプログラムの状態における変更を捕捉する、請求項24に記載の遠隔アクセスを提供するための方法。
【発明の詳細な説明】
【技術分野】
【0001】
発明の分野
この発明は、コンピュータネットワーク化に関し、特に、コンピュータネットワークを介するアプリケーションの状態への遠隔アクセスを提供するための方法およびシステムに関する。
【背景技術】
【0002】
背景
病院および診療所のような医療機関は、ほんの2、3例をあげると、病院情報システム(HIS)、放射線情報システム(RIS)、臨床情報システム(CIS)、画像アーカイブおよび通信システム(PACS)、図書館情報システム(LIS)、ならびに電子医療記録(EMR)のような情報システムを利用する。そのようなシステムにおいて記憶され処理される情報は、たとえば、患者病歴、画像化データ、検査結果、診断情報、管理情報およびスケジューリング情報を含む。情報は中央に記憶されるか、または−典型的にはクライアント−サーバアーキテクチャを含む−コンピュータネットワークの複数の位置において分割される。医療従事者は、データを収集、分析、操作、および記憶する精巧なソフトウェアアプリケーションプログラムを用いて、様々な瞬間および位置において、患者情報または他の情報にアクセスする。
【0003】
たとえば、PACSワークステーションを用いて、放射線技師は、診断画像の内容に基づいて診断のために画像読込みを行ない、結果を患者アプリケーションファイルにおいて電子的に報告する。大量のデータおよび集中的計算条件のため、このタスクを実行するために用いられるソフトウェアは、典型的には、専用のワークステーションハードウェア、および診断画像への高帯域幅ネットワークアクセスを必要とする。結果として、PACSワークステーションから離れたところでの診断情報および分析能力へのアクセスは、限られているか、またはまったくない。これは、現場にいない放射線技師、技術者および他の専門家がたとえば緊急事態において適時の診断を提供するために必要なソフトウェアおよびデータへのアクセスを獲得する能力を制限する。
【0004】
現在、この問題は、典型的には、ワークステーションハードウェアの画面または制御卓への遠隔ネットワークアクセスを提供することにより、または遠隔システムにたとえば診断データのような感知可能データをダウンロードすることにより克服される。第1の例においては、遠隔アクセスソフトウェアは、実行されるアプリケーションプログラムについての特別の知識がなく、ユーザへのアプリケーションプログラムの表示の呈示をアプリケーションプログラムの状態に基づいて最適化することができず、ネットワーク帯域幅の非効率的な使用および遠隔ユーザに対する貧弱なパフォーマンスをもたらす結果となる。第2の例においては、管理/規制されていない遠隔サイトへの患者関連情報の送信は、そのような保護必要情報にとってセキュリティ上危険であり、さらに、診断画像化データの場合には、多くのネットワークの能力を越える大量の情報の送信を必要とする。
【0005】
アプリケーションの状態が、遠隔ユーザに対して、遠隔コンピュータのハードウェア能力に適合される態様で呈示される状態で、アプリケーションの状態への遠隔アクセスを提供するための方法およびシステムを提供することが望ましい。
【0006】
さらに、アプリケーションの状態がアプリケーションプログラムのデータ処理の複製なしに遠隔ユーザに呈示される状態で、アプリケーションの状態への遠隔アクセスを提供するための方法およびシステムを提供することが望ましい。
【0007】
さらに、データ伝送が実質的に低減される、アプリケーションの状態への遠隔アクセスを提供するための方法およびシステムを提供することが望ましい。
【発明の概要】
【発明が解決しようとする課題】
【0008】
発明の実施例の概要
したがって、この発明の1つの目的は、アプリケーションの状態が、遠隔ユーザに対して、遠隔コンピュータのハードウェア能力に適合される態様で呈示される状態で、アプリケーションの状態への遠隔アクセスを提供するための方法およびシステムを提供することである。
【0009】
この発明の別の目的は、アプリケーションの状態がアプリケーションプログラムのデータ処理の複製なしに遠隔ユーザに呈示される状態で、アプリケーションの状態への遠隔アクセスを提供するための方法およびシステムを提供することである。
【0010】
この発明の別の目的は、データ伝送が実質的に低減される、アプリケーションの状態への遠隔アクセスを提供するための方法およびシステムを提供することである。
【課題を解決するための手段】
【0011】
この発明の1つの局面によれば、アプリケーションの状態への遠隔アクセスを提供するための方法が提供される。この方法は、サーバコンピュータにおいて、サーバコンピュータに関連付けられるアプリケーションを実行するためにアプリケーションプログラムを実行するステップを含む。通信網を介してサーバコンピュータに接続されるクライアントコンピュータにおいて、遠隔アクセスプログラムが、実行されるアプリケーションの状態への遠隔アクセスを提供するために実行される。クライアントコンピュータにおいて、サーバコンピュータから最後に受信されたアプリケーションの状態の変更を示すデータをエンコードしたクライアント差分プログラムが生成され、サーバコンピュータに送信される。サーバコンピュータにおいて、クライアント差分プログラムは、アプリケーションの更新状態を判断するために実行され、アプリケーションの更新状態とクライアントコンピュータに最後に送信されたアプリケーションの状態との間の差分をエンコードしたサーバ差分プログラムが生成される。ついで、サーバ差分プログラムは、クライアントコンピュータに送信され、サーバコンピュータから最後に受信されたアプリケーションの状態の更新のためにクライアントコンピュータで実行される。サーバコンピュータから最後に受信されたアプリケーションの更新状態を示す表示データが生成され、ディスプレイ上で、人間の理解可能な態様で表示される。
【0012】
この発明の別の局面によれば、クライアントコンピュータのプロセッサ上での実行のために実行可能なコマンドをそこに記憶した記憶媒体が提供される。プロセッサは、コマンドを実行すると、それに接続されるサーバコンピュータ上で実行されるアプリケーションへの遠隔アクセスをあたえる。プロセッサは、サーバコンピュータから最後に受信されたアプリケーションの状態の変更を示すデータをエンコードしたクライアント差分プログラムを生成し、それをサーバコンピュータに送信する。プロセッサはサーバコンピュータからサーバ差分プログラムを受信し、サーバコンピュータから最後に受信されたアプリケーションの状態の更新のためにそれを実行する。ついで、プロセッサはサーバコンピュータから最後に受信されたアプリケーションの更新状態を示す表示データを生成する。
【0013】
この発明の別の局面によれば、サーバコンピュータのプロセッサ上での実行のために実行可能なコマンドをそこに記憶した記憶媒体がさらに提供される。プロセッサは、コマンドを実行すると、それに接続されるクライアントコンピュータに対し、サーバコンピュータ上で実行されるアプリケーションへの遠隔アクセスをあたえる。プロセッサは、サーバコンピュータから最後に受信されたアプリケーションの状態の変更を示すデータをエンコードしたクライアント差分プログラムをクライアントコンピュータから受信し、アプリケーションの更新状態を判断するために、クライアント差分プログラムを実行する。プロセッサは、アプリケーションの更新状態とクライアントコンピュータに最後に送信されたアプリケーションの状態との間の差分をエンコードしたサーバ差分プログラムを生成する。ついで、プロセッサはサーバ差分プログラムをクライアントコンピュータに送信する。
【発明の効果】
【0014】
この発明の利点は、この発明は、アプリケーションの状態が、遠隔ユーザに対し、遠隔コンピュータのハードウェア能力に適合される態様で呈示される状態で、アプリケーションの状態への遠隔アクセスを提供するための方法およびシステムを提供する、ということである。
【0015】
この発明のさらなる利点は、この発明は、アプリケーションの状態がアプリケーションプログラムのデータ処理の複製なしに遠隔ユーザに呈示される状態で、アプリケーションの状態への遠隔アクセスを提供するための方法およびシステムを提供する、ということである。
【0016】
この発明のさらなる利点は、この発明は、データ伝送が実質的に低減される、アプリケーションの状態への遠隔アクセスを提供するための方法およびシステムを提供する、ということである。
【0017】
この発明の好ましい実施例を、添付の図面を参照して以下に記載する。
【図面の簡単な説明】
【0018】
【
図1】この発明の好ましい実施例に従う、アプリケーションの状態への遠隔アクセスを提供するためのシステムの単純化されたブロック図である。
【
図2】この発明の好ましい実施例に従う、アプリケーションの状態への遠隔アクセスを提供するための方法の単純化されたフロー図である。
【
図3】この発明の好ましい実施例に従う、アプリケーションの状態への遠隔アクセスを提供するための方法の単純化されたフロー図である。
【
図4】この発明の好ましい実施例に従う、アプリケーションの状態への遠隔アクセスを提供するための方法の単純化されたフロー図である。
【
図5-1】
図2において示される、アプリケーションの状態への遠隔アクセスを提供するための方法の好ましい実現例の単純化されたフロー図である。
【
図5-2】
図2において示される、アプリケーションの状態への遠隔アクセスを提供するための方法の好ましい実現例の単純化されたフロー図である。
【
図6】
図2において示される、アプリケーションの状態への遠隔アクセスを提供するための方法の別の実現例の単純化されたフロー図である。
【発明を実施するための形態】
【0019】
この発明の実施例の詳細な記載
他の態様で定義されない場合、ここに用いられる技術用語および科学用語はすべて、この発明が属する技術における通常の熟練者によって一般に理解されるのと同じ意味を有する。ここに記載されるものと類似または等価である任意の方法および材料がこの発明の実施または試験において用いられ得るが、好ましい方法および材料をここに記載する。
【0020】
ここにおける以下の好ましい実施例の記載は、単純化のためにのみ、臨床環境における患者アプリケーションファイルを参照するが、好ましい実施例はそれに限定されず、ユーザがコンピュータネットワークを介してアプリケーションプログラムの状態に遠隔アクセスする多数の他の分野において適用可能であることは、当業者には明らかである。
【0021】
図1を参照して、この発明の好ましい実施例に従う、アプリケーションの状態への遠隔アクセスを提供するためのシステム100が示される。このシステムは、通信網108を介してサーバコンピュータ102−たとえば中央コンピュータまたは高性能ワークステーション―に接続される複数のクライアントコンピュータ110A、110B―たとえばワークステーション、パソコン、ラップトップコンピュータ、および/または無線携帯型装置―を含む。たとえば、臨床環境において、システム100上で実行される多数のタスクは、患者の医用画像を見て診断報告をそれぞれの患者アプリケーションファイルに入力すること、および医師との患者の予約のスケジューリング情報のような他の情報を入力することに対して関係がある。通信網108は、たとえば、クライアントコンピュータをたとえば病院のような組織内の1つ以上のサーバコンピュータに接続するローカルエリアネットワーク(LAN)を含む。代替的に、通信網108は、たとえば病院、診療所およびホームドクターオフィスのような様々な組織のクライアントコンピュータを接続するワイドエリアネットワーク(WAN)またはインターネットを含む。
【0022】
システム100においては、それに関連付けられるアプリケーションを実行するためのアプリケーションプログラムが、サーバコンピュータ102のプロセッサ104上で、たとえば、メモリ106において記憶される実行可能なコマンドの実行により実行される。たとえば、アプリケーションは、医用画像を見て修正すること、患者ファイルを見て修正すること、診断報告を入力すること、および患者の予約の予定をたてることを可能にする。アプリケーションの状態は、たとえば、ユーザが患者ファイルにおいて情報を変更するかまたは医用画像についての異なる観察を要求するとき、変更される。
【0023】
たとえば、システム100を用いて、放射線技師は、専用のPACSワークステーション上で実行される画像化アプリケーションに遠隔アクセスすることによって診断のための画像読出しを行ない、患者ファイルアプリケーションに遠隔アクセスすることによって患者ファイルに報告書を入力することができる。
【0024】
典型的には、たとえば患者ファイルアプリケーションのようなアプリケーションは、通信網108を介してサーバコンピュータ102に接続される異なるクライアントコンピュータ110A、110Bで処理される。たとえば、クライアントコンピュータ110Bでは、医師が、医用画像についての自身の診断を患者アプリケーションファイルに入力し、その一方で、クライアントコンピュータ110Aでは、ヘルスケアワーカーが、予約のためのスケジューリング情報を患者アプリケーションファイルに入力する。2つの異なるクライアントコンピュータ110A、110Bでの同じ患者ファイルアプリケーションの処理は、その患者ファイルアプリケーションが異なる状態を有する結果となる。
【0025】
システム100は、ここに以下に記載されるように、この発明の実施例に従う、アプリケーションの状態への遠隔アクセスを提供するための方法の実行により、遠隔アクセスを提供し、アプリケーションの状態を同期させる。アプリケーションの状態への遠隔アクセスを提供するための方法は、たとえば、プロセッサ112A、112Bにおける遠隔アクセスプログラムの実行により行なわれる。たとえば、遠隔アクセスプログラムはメモリ114A、114Bにおいて記憶される実行可能なコマンドの実行により行なわれる。遠隔アクセスプログラムは、アプリケーションプログラムと通信状態にあるサーバコンピュータ102のプロセッサ104上で実行される遠隔サーバアクセスプログラムと通信状態にある。代替的に、遠隔アクセスプログラムはアプリケーションプログラムと直接通信状態にある。アプリケーションの状態への遠隔アクセスを提供するための方法を実行するとき、サーバコンピュータ102のプロセッサは、当業者に周知の、通信網108の、−たとえばハイパーテキスト転送プロトコル(HTTP)のような−、標準的な通信プロトコルを用いて、クライアントコンピュータ110A、110Bのそれぞれのプロセッサ112A、112Bと通信する。
【0026】
アプリケーションの状態への遠隔アクセスを提供するための方法においては、アプリケーションの状態の「ビューデータ」が、クライアントコンピュータのハードウェア能力−たとえば、処理能力、メモリサイズ、図形表示のタイプ、およびユーザインタフェースのタイプ−に従う態様において生成され送信される。たとえば、パソコンのために生成され送信される「ビューデータ」は、無線携帯型装置用に生成され送信される「ビューデータ」とは異なる。たとえば、遠隔アクセス中に、ユーザは、患者ファイルのデータを修正する。最初に、患者ファイルのデータを示す「ビューデータ」が、サーバコンピュータで生成され、「ビューデータ」が表示されるクライアントコンピュータに送信される。ついで、ユーザは、クライアントコンピュータのユーザインタフェースを用いて、「ビューデータ」として患者ファイルのデータの変更を示すデータを提供し、それは、ついで、エンコードされ、サーバコンピュータに送信される。ついで、サーバコンピュータは、ユーザによって提供される変更を示すデータに依ってアプリケーションの状態を変更し、アプリケーションは、ついで、データを、それに依って、データベースに記憶される患者ファイルに記憶する。「ビューデータ」を用いることは、感知可能および/または大量の診断データを送信せずに、アプリケーションの状態の呈示を可能にし、クライアントコンピュータ上でのアプリケーションのデータ処理の複製を回避する。
【0027】
図2を参照して、この発明の好ましい実施例に従う、アプリケーションの状態への遠隔アクセスを提供するための方法が示される。サーバコンピュータ102では、それに関連付けられるアプリケーションを実行するためのアプリケーションプログラムがプロセッサ104上で実行される(10)。通信網108を介してサーバコンピュータ102に接続されるクライアントコンピュータ110Aでは、遠隔アクセスプログラムが、実行されるアプリケーションの状態への遠隔アクセスを提供するためにプロセッサ112Aで実行される(12)。クライアントコンピュータ110Aでは、クライアント差分プログラムが生成される(14)。クライアント差分プログラムは、サーバコンピュータ102から最後に受信されたアプリケーションの状態の変更を示すデータをエンコードしている。アプリケーションの状態の変更を示すデータは、たとえば、クライアントコンピュータ110A、110Bのユーザインタフェース118A、118Bからそれぞれ受信される。
【0028】
差分プログラムは、プロセッサによる実行のための実行可能なコマンドを含む。エンコードされたデータは、アプリケーションの状態の変更へのパス、変更のタイプ、および変更の値を示す。変更のタイプは、たとえば「修正」、「削除」または「挿入」であり、削除変更に対する値は空である。差分プログラムの一例は次のとおりである。
【0029】
パス=「患者/姓名/名」
タイプ=「修正」
値=「ジェイン」
パス=「患者/趣味」
タイプ=「挿入」
値=「編み物」
パス=「患者/経歴」
タイプ=「削除」
値=「」
ついで、クライアント差分プログラムは通信網108を介してサーバコンピュータ102に送信される(16)。サーバコンピュータ102では、クライアント差分プログラムは、アプリケーションの更新状態の判断のために実行され(18)、続いて、サーバ差分プログラムが生成される。サーバ差分プログラムは、アプリケーションの更新状態とクライアントコンピュータ110Aに最後に送信されたアプリケーションの状態との間の差分をエンコードしている。この差分は、さらに、たとえば別のクライアントコンピュータ、たとえばクライアントコンピュータ110Bから受信される変更、またはアプリケーションの更新状態を判断するために実行されたクライアント差分プログラムに依るアプリケーションプログラムの実行により生成された変更を捕捉する。ついで、サーバ差分プログラムが通信網108を介してクライアントコンピュータ110Aに送信される(20)。クライアントコンピュータ110Aでは、サーバ差分プログラムは、サーバコンピュータ102から最後に受信されたアプリケーションの状態の更新のために実行される(22)。サーバコンピュータ102から最後に受信されたアプリケーションの更新状態を示す表示データが生成され(24)、ディスプレイ116Aにおいて人間の理解可能な態様で表示される。選択肢として、ステップ24は、たとえば、アプリケーションの更新状態がディスプレイ116Aに表示されるデータに影響しない状況では、省略される。
【0030】
好ましくは、遠隔サーバアクセスプログラムが、サーバコンピュータ102のプロセッサ104上で:クライアント差分プログラムを実行するため;アプリケーションの更新状態の判断のためにアプリケーションプログラムと通信するため;およびサーバ差分プログラムを生成するために、実行される。遠隔サーバアクセスプログラムの提供は、既製のアプリケーションプログラムへの遠隔アクセスを可能にし、アプリケーションプログラムの修正なしに遠隔アクセスの提供に対する柔軟性を実質的に増大させ、遠隔アクセスの後付けとしての実現を実質的に容易にする。代替的に、アプリケーションプログラムは、遠隔サーバアクセスプログラムの動作を実行するよう可能化される。
【0031】
さらに好ましくは、アプリケーションの状態への遠隔アクセスを提供するための方法は、アプリケーションの状態のうち予め定められた部分への限定されたアクセスを可能にする。たとえば、限定されたアクセスは:
クライアントコンピュータのハードウェア能力−たとえば処理能力、メモリサイズ、図形表示のタイプおよびユーザインタフェースのタイプ−に対応すること−たとえば、パソコンのハードウェア能力は、無線携帯型装置のハードウェア能力とは実質的に異なる−;
異なるクライアントコンピュータの異なるオペレーティングシステムと互換性をもつこと;および
異なるユーザにアプリケーションの状態への異なるアクセスを提供するために情報へのユーザアクセス制限を実現すること−たとえば、患者の予約の予定をたてることに対する管理ユーザは、患者の診断情報へのアクセスを妨げられる−、に対して可能にされる。
【0032】
さらに好ましくは、アプリケーションの状態への遠隔アクセスを提供するための方法は、たとえば、同じアプリケーションの状態にアクセスするために通信網108を介してサーバコンピュータ102に同時に接続される複数のクライアントコンピュータ110A、110Bのために遠隔アクセスを可能にする。
【0033】
図3において示されるように、受信で、第2のクライアントコンピュータ110Bから受信された第2のクライアント差分プログラムが、アプリケーションの第2の更新状態を判断するためにサーバコンピュータ102で実行され(26)、それに続いて、第2のサーバ差分プログラムの生成が行われる。第2のサーバ差分プログラムは、アプリケーションの第2の更新状態と第2のクライアントコンピュータに最後に送信されたアプリケーションの状態との間の差分をエンコードしている。ついで、第2のサーバ差分プログラムは通信網108を介して第2のクライアントコンピュータ110Bに送信される(28)。第2のクライアントコンピュータ110Bでは、第2のサーバ差分プログラムは、サーバコンピュータ102から最後に受信されたアプリケーションの状態の更新のために実行される(30)。サーバコンピュータ102から最後に受信されたアプリケーションの更新状態を示す表示データが生成され(32)、ディスプレイ116Bにおいて人間の理解可能な態様で表示される。選択肢として、ステップ32は、たとえば、アプリケーションの更新状態がディスプレイ116Bに表示されるデータに影響しない状況では、省略される。
【0034】
サーバコンピュータ102では、第3のサーバ差分プログラムが生成される(34)。第3のサーバ差分プログラムは、アプリケーションの第2の更新状態とクライアントコンピュータ110Aに最後に送られたアプリケーションの状態との間の差分をエンコードしている。ついで、第3のサーバ差分プログラムは、通信網108を介してクライアントコンピュータ110Aに送信される(36)。クライアントコンピュータ110Aでは、第3のサーバ差分プログラムは、サーバコンピュータ102から最後に受信されたアプリケーションの状態を更新するために実行される(38)。サーバコンピュータ102から最後に受信されたアプリケーションの更新状態を示す表示データが生成され(40)、ディスプレイ116Aにおいて人間の理解可能な態様で表示される。選択肢的に、ステップ40は、たとえば、アプリケーションの更新状態がディスプレイ116Aに表示されるデータに影響しない状況では、省略される。好ましくは、ステップ34〜ステップ40は、ステップ26〜ステップ32の実行と同時に実行される。代替的に、ステップ34〜ステップ40は省略され、第2のクライアントコンピュータ110Bから受信された変更は、クライアントコンピュータ110Aからのクライアント差分プログラムの受信の後にクライアントコンピュータ110Aにあたえられる。
【0035】
クライアントコンピュータのための遠隔アクセスの開始で、
図4において示されるように、アプリケーションの状態があたえられる。アプリケーションの状態に関するクライアントコンピュータ110Aからの要求の受信で、サーバアプリケーション状態プログラムがサーバコンピュータ102で生成される(42)。サーバアプリケーション状態プログラムはアプリケーションの状態を示すデータをエンコードしている。ついで、サーバアプリケーション状態プログラムは通信網108を介してクライアントコンピュータ110Aに送信される(44)。クライアントコンピュータ110Aでは、サーバアプリケーション状態プログラムはアプリケーションのサーバ状態の判断のために実行される(46)。アプリケーションのサーバ状態を示す表示データが生成され(48)、ディスプレイ116Aにおいて人間の理解可能な態様で表示される。選択肢として、サーバコンピュータ102およびクライアントコンピュータ110Aでアプリケーションの同じ状態の提供を保証するために、ステップ42〜ステップ48が、さらに、遠隔アクセスの提供の間に行なわれる。たとえば、ステップ42〜ステップ48は、所定時間間隔において、または送信中においてデータ損失の後に行なわれる。さらに、選択肢として、ステップ48は、たとえば、アプリケーションの更新状態がディスプレイ116Aに表示されるデータに影響しない状況では、省略される。
【0036】
図5を参照して、アプリケーションの状態への遠隔アクセスを提供するための方法の好ましい実現例が、
図2において示される方法を参照して示される。サーバコンピュータ102のメモリ106において、たとえば患者ファイルアプリケーションのようなアプリケーションの状態を示すデータが、その2つの状態、つまり:アプリケーションのサーバ状態を示すサーバデータ−サーバでの(および恐らくはサーバによって変更された)アプリケーションの状態;および最後にクライアントコンピュータ110Aに送られたアプリケーションの状態を示すサーバクライアントデータで、記憶される(10A)。クライアントコンピュータ110Aのメモリ114Aにおいて、アプリケーションの状態を示すデータが、その2つの状態、つまり:サーバコンピュータ102から最後に受信されたアプリケーションの状態を示すクライアントサーバデータ;およびクライアントインタラクションの後のアプリケーションの状態を示すクライアントデータで、記憶される(12A)。ステップ14において、クライアントインタラクションの後のアプリケーションの状態と、サーバコンピュータから最後に受信されたアプリケーションの状態との間の差分がエンコードされ(14A)、その差分は、クライアントデータとクライアントサーバデータとの間の差分である。ステップ18において:第2のサーバクライアントデータが、サーバクライアントデータにおけるクライアント差分プログラムの実行により判断され(18A);更新されたサーバデータが、サーバデータにおけるクライアント差分プログラムの実行により判断され(18B);更新されたサーバデータと第2のサーバクライアントデータとの間の差分をエンコードするサーバ差分プログラムが生成され(18C);第3のサーバクライアントデータが、第2のサーバクライアントデータにおけるサーバ差分プログラムの実行により判断され(18D);サーバクライアントデータは第3のサーバクライアントデータと置換えられる(18E)。選択肢として、たとえばステップ18Cの後に解放される18Bの前にサーバデータが他のプロセスによって修正されるのを防ぐためにサーバデータをロックするためにロッキングプロセスが提供される。ステップ22において:第2のクライアントサーバデータが、クライアントサーバデータにおけるサーバ差分プログラムの実行により判断され(22A);第2のクライアントデータが、クライアントデータにおけるサーバ差分プログラムの実行により判断され(22B);クライアントサーバデータは第2のクライアントサーバデータと置換えられ(22C);クライアントデータは第2のクライアントデータと置換えられる(22D)。選択肢として、ステップ22A〜22Dの実行の間にクライアントサーバデータおよびクライアントデータをロックするために、ロッキングプロセスが提供される。
【0037】
図6を参照して、アプリケーションの状態への遠隔アクセスを提供するための方法の代替的実現例が、
図2において示される方法を参照して示される。サーバコンピュータ102のメモリ106において、アプリケーションの状態を示すデータが、その2つの状態、つまり、アプリケーションのサーバ状態を示すサーバデータ−サーバコンピュータにおける(および恐らくはサーバコンピュータによって変更された)アプリケーションの状態;およびサーバ状態アプリケーションプログラムとしてクライアントコンピュータ110Bに最後に送られたアプリケーションの状態を示すサーバクライアントデータで、記憶される(10A)。ステップ18において:更新されたサーバデータが、サーバデータにおけるクライアント差分プログラムの実行により判断され(18F);更新されたサーバデータとサーバクライアントデータとの間の差分をエンコードするサーバ差分プログラムが生成される(18G)。ステップ22において、サーバコンピュータから最後に受信されたアプリケーションの更新状態を示す表示データが、受信されたサーバ差分プログラムの実行によって直接生成され(22E)、ディスプレイ116Bにおいて人間の理解可能な態様において表示される(23)。この実現例は、携帯装置のような限られた記憶容量を有するクライアントコンピュータに有益な、クライアントコンピュータ110Bのメモリにおけるアプリケーションの状態と関係するデータの記憶を回避する。好ましくは、アプリケーションのサーバ状態を示すデータをエンコードしたサーバアプリケーション状態プログラムが、クライアントコンピュータに、たとえば、所定時間間隔で、ここで上に開示されるように、生成され送信される。
【0038】
当業者には明らかなように、この発明によるシステム100およびアプリケーションの状態への遠隔アクセスを提供するための方法の実施例は、単純化のため、2つのクライアントコンピュータを含むクライアントサーバネットワークアーキテクチャに関して記載されたが、それに制限されるものではなく、他のネットワークアーキテクチャおよびさまざまな数のクライアントコンピュータにも適用可能である。
【0039】
アプリケーションの状態への遠隔アクセスを提供するための方法の実施例は、たとえば、記憶媒体−たとえばサーバコンピュータ102のプロセッサ104を用いるメモリ106およびクライアントコンピュータ110Aのプロセッサ112Aを用いるメモリ114A−に記憶される実行可能なコマンドの実行により行なわれる。クライアントコンピュータのメモリに記憶されるための実行可能なコマンドは、たとえば、通信網108を介してサーバコンピュータ102から送信される。
【0040】
この発明を、好ましい実施例に関してここに記載した。しかしながら、ここに記載されるようなこの発明の範囲から逸脱することなく、多くの変形例および修正例が可能であることは当業者にとって明らかである。排他的な所有権または特権が主張されるこの発明の実施例は、特許請求の範囲のように規定される。