(57)【要約】【課題】コンピュータネットワークを介するアプリケーションの状態への遠隔アクセスを提供すること。【解決手段】アプリケーションの状態への遠隔アクセスを提供するための方法は、サーバにおいて、アプリケーションプログラムを実行するステップを含む。クライアントにおいて、遠隔アクセスプログラムが実行され、サーバから最後に受信されたアプリケーションの状態の変更を示すデータをエンコードしたクライアント差分プログラムが生成され、サーバに送信される。サーバにおいて、クライアント差分プログラムが実行され、サーバ差分プログラムが生成される。ついで、サーバ差分プログラムはクライアントに送信され、クライアントで、サーバから最後に受信されたアプリケーションの状態の更新のために実行される。また、クライアントのハードウェア能力に従ったビューデータが生成される。【選択図】図１
2014222536.tif 000002
【特許請求の範囲】
【請求項１】
ａ）サーバコンピュータにおいて、前記サーバコンピュータに関連付けられるアプリケーションを実行するためにアプリケーションプログラムを実行するステップと、
ｂ）通信網を介して前記サーバコンピュータに接続されるクライアントコンピュータにおいて、実行された前記アプリケーションの状態への遠隔アクセスを提供し、前記サーバコンピュータから最後に受信された前記アプリケーションの状態の変更を示すデータをエンコードしたクライアント差分プログラムを生成するために遠隔アクセスプログラムを実行するステップと、
ｃ）前記クライアント差分プログラムを前記サーバコンピュータに送信するステップと、
ｄ）前記サーバコンピュータにおいて、前記アプリケーションの更新状態を判断するために前記クライアント差分プログラムを実行し、前記アプリケーションの更新状態と前記クライアントコンピュータに最後に送られた前記アプリケーションの状態との間の差分をエンコードしたサーバ差分プログラムを生成するステップと、
ｅ）前記サーバ差分プログラムを前記クライアントコンピュータに送信するステップと、
ｆ）前記クライアントコンピュータにおいて、前記サーバコンピュータから最後に受信された前記アプリケーションの状態を更新するために前記サーバ差分プログラムを実行するステップと、
ｇ）前記クライアントコンピュータのハードウェア能力に従った、前記アプリケーションプログラムの状態における変更を表すビューデータを生成するステップとを含む、方法。
【請求項２】
前記クライアントコンピュータにおいて、そのメモリにおいて、前記サーバコンピュータから最後に受信された前記アプリケーションの状態を示すクライアントサーバデータと、クライアントインタラクションの後の前記アプリケーションの状態を示すクライアントデータとを記憶するステップを含む、請求項１に記載の方法。
【請求項３】
ｂ）は、クライアントインタラクションの後の前記アプリケーションの状態と前記サーバから最後に受信された前記アプリケーションの状態との間の差分をエンコードするステップを含む、請求項２に記載の方法。
【請求項４】
前記サーバコンピュータにおいて、そのメモリにおいて、前記アプリケーションのサーバ状態を示すサーバデータおよびクライアントに最後に送られた前記アプリケーションの状態を示すサーバクライアントデータを記憶するステップを含む、請求項３に記載の方法。
【請求項５】
ｄ）は、
前記サーバクライアントデータにおける前記クライアント差分プログラムの実行により、第２のサーバクライアントデータを判断するステップと、
前記サーバデータにおける前記クライアント差分プログラムの実行により、更新されたサーバデータを判断するステップと、
前記更新されたサーバデータと前記第２のサーバクライアントデータとの間の差分をエンコードするサーバ差分プログラムを生成するステップと、
前記第２のサーバクライアントデータにおける前記サーバ差分プログラムの実行により、第３のサーバクライアントデータを判断するステップと、
前記サーバクライアントデータを前記第３のサーバクライアントデータと置換えるステップとを含む、請求項４に記載の方法。
【請求項６】
ｆ）は、
前記クライアントサーバデータにおける前記サーバ差分プログラムの実行により、第２のクライアントサーバデータを判断するステップと、
前記クライアントデータにおける前記サーバ差分プログラムの実行により、第２のクライアントデータを判断するステップと、
前記クライアントサーバデータを前記第２のクライアントサーバデータと置換えるステップと、
前記クライアントデータを前記第２のクライアントデータと置換えるステップとを含む、請求項５に記載の方法。
【請求項７】
前記サーバコンピュータにおいて、そのメモリにおいて、サーバアプリケーション状態プログラムとして、前記アプリケーションのサーバ状態を示すサーバデータ、およびクライアントに最後に送られた前記アプリケーションの状態を示すサーバクライアントデータを記憶するステップを含み、
ｄ）は、
前記サーバデータにおける前記クライアント差分プログラムの実行により、更新されたサーバデータを判断するステップと、
前記更新されたサーバデータと前記サーバクライアントデータとの間の差分をエンコードするサーバ差分プログラムを生成するステップとを含み、
ｆ）は、
前記サーバコンピュータから最後に受信された前記アプリケーションの更新状態を示す表示データを生成するステップと、
前記表示データを人間に理解可能な態様で表示するステップとを含む、請求項１〜６のいずれか１項に記載の方法。
【請求項８】
前記サーバコンピュータにおいて、前記アプリケーションのサーバ状態を示すデータをエンコードしたサーバアプリケーション状態プログラムを生成するステップと、
前記サーバアプリケーション状態プログラムを前記クライアントコンピュータに送信するステップと、
前記クライアントコンピュータにおいて、前記アプリケーションのサーバ状態を判断するために前記サーバアプリケーション状態プログラムを実行するステップと、
前記アプリケーションのサーバ状態の更新状態を示す表示データを生成するステップと、
前記表示データを人間に理解可能な態様で表示するステップとを含む、請求項７に記載の方法。
【請求項９】
前記クライアントコンピュータにおいて、前記サーバコンピュータから最後に受信された前記アプリケーションの更新状態を示す表示データを生成するステップと、
前記表示データを人間に理解可能な態様で表示するステップとを含む、請求項１〜６のいずれか１項に記載の方法。
【請求項１０】
前記サーバコンピュータにおいて、前記アプリケーションの第２の更新状態を判断するために第２のクライアントコンピュータから受信された第２のクライアント差分プログラムを実行し、前記アプリケーションの前記第２の更新状態と前記第２のクライアントコンピュータに最後に送られた前記アプリケーションの状態との間の差分をエンコードした第２のサーバ差分プログラムを生成するステップと、
前記第２のサーバ差分プログラムを前記第２のクライアントコンピュータに送信するステップと、
前記第２のクライアントコンピュータにおいて、前記サーバコンピュータから最後に受信された前記アプリケーションの状態を更新するために前記第２のサーバ差分プログラムを実行するステップとを含む、請求項１〜９のいずれか１項に記載の方法。
【請求項１１】
前記サーバコンピュータにおいて、前記アプリケーションの前記第２の更新状態と前記クライアントコンピュータに最後に送られた前記アプリケーションの状態との間の差分をエンコードした第３のサーバ差分プログラムを生成するステップと、
前記第３のサーバ差分プログラムを前記クライアントコンピュータに送信するステップと、
前記クライアントコンピュータにおいて、前記サーバコンピュータから最後に受信された前記アプリケーションの状態を更新するために前記第３のサーバ差分プログラムを実行するステップとを含む、請求項１０に記載の方法。
【請求項１２】
前記クライアントコンピュータにおいて、それに接続されるユーザインタフェースから、前記アプリケーションの状態の変更を示すデータを受信するステップを含む、請求項１〜１１のいずれか１項に記載の方法。
【請求項１３】
遠隔サーバアクセスプログラムを実行するステップを含み、前記遠隔サーバアクセスプログラムは：前記クライアント差分プログラムを実行するため；前記アプリケーションの更新状態の判断のために前記アプリケーションプログラムと通信するため；および前記サーバ差分プログラムを生成するためのものである、請求項１〜１２のいずれか１項に記載の方法。
【請求項１４】
サーバコンピュータのプロセッサ上での実行のために実行可能なコマンドを記憶した記憶媒体であって、前記プロセッサは、前記コマンドを実行すると、それに接続されるクライアントコンピュータに対して、前記サーバコンピュータ上で実行されるアプリケーションへの遠隔アクセスをあたえ、前記プロセッサは、
前記サーバコンピュータから最後に受信された前記アプリケーションの状態の変更を示すデータをエンコードしたクライアント差分プログラムを前記クライアントコンピュータから受信し、前記アプリケーションの更新状態を判断するために前記クライアント差分プログラムを実行し、前記アプリケーションの更新状態と前記クライアントコンピュータに最後に送られた前記アプリケーションの状態との間の差分をエンコードしたサーバ差分プログラムを生成するステップと、
前記サーバ差分プログラムを前記クライアントコンピュータに送信するステップと、
前記クライアントコンピュータのハードウェア能力に従った、前記アプリケーションプログラムの状態における変更を表すビューデータを生成するステップとを実行する、記憶媒体。
【請求項１５】
サーバコンピュータにおいて実行されるアプリケーションプログラムへの遠隔アクセスを提供するための方法であって、
前記方法は、クライアントコンピュータからアクセス可能なサーバコンピュータへの遠隔の接続の提供を含み、前記遠隔の接続は、前記アプリケーションプログラムへの前記遠隔アクセスを可能にし、
前記方法は、前記アプリケーションプログラムの実行または前記クライアントコンピュータによって生じた前記アプリケーションの状態における変更を示すデータを含む差分プログラムの送信を含み、前記差分プログラムは、前記サーバコンピュータまたは前記クライアントコンピュータによって受信されたアプリケーションの最後の状態からの、前記アプリケーションプログラムの状態における変更を捕捉し、
前記方法は、前記サーバコンピュータと前記クライアントコンピュータとの間での、前記差分プログラムを利用した前記アプリケーションの状態における変更の同期を含み、
前記方法は、前記クライアントコンピュータのハードウェア能力に従った、前記アプリケーションプログラムの状態における変更を表すビューデータの生成を含む、遠隔アクセスを提供するための方法。
【請求項１６】
前記ハードウェア能力は、処理能力、メモリサイズ、図形表示のタイプ、およびユーザインタフェースのタイプの中の１つを含む、請求項１５に記載の遠隔アクセスを提供するための方法。
【請求項１７】
前記アプリケーションプログラムの状態における変更を前記クライアントコンピュータに表示させるためのビューデータの生成をさらに含む、請求項１５に記載の遠隔アクセスを提供するための方法。
【請求項１８】
前記クライアントコンピュータに、前記アプリケーションの状態の予め定められた部分を表示させることをさらに含む、請求項１７に記載の遠隔アクセスを提供するための方法。
【請求項１９】
前記遠隔の接続は、サーバ上で実行されるサーバ遠隔アクセスプログラムの提供、および、前記クライアントコンピュータ上で実行されるクライアント遠隔アクセスプログラムの提供によって提供され、
前記サーバ遠隔アクセスプログラムは、前記アプリケーションプログラムと通信しており、
前記クライアント遠隔アクセスプログラムは、ネットワーク通信リンクを介して、前記サーバ遠隔アクセスプログラムと通信する、請求項１５に記載の遠隔アクセスを提供するための方法。
【請求項２０】
前記差分プログラムは、前記クライアントコンピュータによって前記サーバコンピュータと通信するクライアント差分プログラムと、前記サーバコンピュータによって前記クライアントコンピュータと通信するサーバ差分プログラムとを含み、
前記クライアント差分プログラムは、前記クライアントコンピュータで生成された前記アプリケーションプログラムの状態における変更を示すデータを含み、
前記サーバ差分プログラムは、前記アプリケーションプログラムの実行に従って生成された、前記アプリケーションプログラムの状態における変更を示すデータを含む、請求項１９に記載の遠隔アクセスを提供するための方法。
【請求項２１】
更新された前記アプリケーションプログラムの状態を判断するために、前記クライアントコンピュータで前記サーバ差分プログラムを実行すること、および、
更新された前記アプリケーションプログラムの状態を表示することをさらに含む、請求項２０に記載の遠隔アクセスを提供するための方法。
【請求項２２】
複数のクライアントコンピュータの中の１つにおいて実行される複数のクライアント遠隔アクセスプログラムのそれぞれと遠隔接続でのアクセスを可能にすること、
前記アプリケーションプログラムの実行および前記複数のクライアントコンピュータのうち少なくとも１つによって生じた前記アプリケーションの状態における変更を示す差分プログラムを生成すること、および、
前記差分プログラムを利用して前記アプリケーションプログラムと前記複数のクライアントコンピュータとの間の前記アプリケーションの状態における変更を同期させることをさらに含む、請求項１９に記載の遠隔アクセスを提供するための方法。
【請求項２３】
前記方法は、前記複数のクライアントコンピュータの各々における、前記サーバコンピュータと通信するクライアント差分プログラムの生成をさらに含み、前記クライアント差分プログラムの各々は、クライアントコンピュータのそれぞれにおいて生じた前記アプリケーションプログラムの状態における変更を示すデータを含み、
前記方法は、前記サーバコンピュータによる前記複数のクライアントコンピュータのそれぞれとの通信を行なうサーバ差分プログラムの生成をさらに含み、前記サーバ差分プログラムは、前記アプリケーションの実行の少なくとも１つによって生じた前記アプリケーションプログラムの状態における変更および前記複数のクライアントコンピュータの他のコンピュータによって生じた前記アプリケーションプログラムの状態における変更を示すデータを含む、請求項２２に記載の遠隔アクセスを提供するための方法。
【請求項２４】
前記アプリケーションプログラムの更新された状態を決定するために、前記サーバ遠隔アクセスプログラムで前記クライアント差分プログラムの各々を実行することをさらに含む、請求項２３に記載の遠隔アクセスを提供するための方法。
【請求項２５】
前記アプリケーションプログラムの更新された状態を決定するために、前記複数のクライアントコンピュータの各々で前記サーバ差分プログラムを実行すること、および、
前記複数のクライアントコンピュータの各々で、前記アプリケーションプログラムの更新された状態を表示することをさらに含む、請求項２３に記載の遠隔アクセスを提供するための方法。
【請求項２６】
前記アプリケーションプログラムの状態における変更は、前記クライアントコンピュータのユーザインターフェースで受信された入力に従って決定される、請求項２３に記載の遠隔アクセスを提供するための方法。
【請求項２７】
前記差分プログラムにおけるデータは、アプリケーションの状態における変更、変更のタイプ、前記クライアントコンピュータで受信された入力、および、変更の値の中の少なくとも１つを含む、請求項２４に記載の遠隔アクセスを提供するための方法。
【請求項２８】
前記差分プログラムは、前記サーバコンピュータが最後に差分プログラムと通信した後の前記アプリケーションプログラムの状態における変更を捕捉する、請求項２４に記載の遠隔アクセスを提供するための方法。
【発明の詳細な説明】
【技術分野】
【０００１】
発明の分野
この発明は、コンピュータネットワーク化に関し、特に、コンピュータネットワークを介するアプリケーションの状態への遠隔アクセスを提供するための方法およびシステムに関する。
【背景技術】
【０００２】
背景
病院および診療所のような医療機関は、ほんの２、３例をあげると、病院情報システム（ＨＩＳ）、放射線情報システム（ＲＩＳ）、臨床情報システム（ＣＩＳ）、画像アーカイブおよび通信システム（ＰＡＣＳ）、図書館情報システム（ＬＩＳ）、ならびに電子医療記録（ＥＭＲ）のような情報システムを利用する。そのようなシステムにおいて記憶され処理される情報は、たとえば、患者病歴、画像化データ、検査結果、診断情報、管理情報およびスケジューリング情報を含む。情報は中央に記憶されるか、または−典型的にはクライアント−サーバアーキテクチャを含む−コンピュータネットワークの複数の位置において分割される。医療従事者は、データを収集、分析、操作、および記憶する精巧なソフトウェアアプリケーションプログラムを用いて、様々な瞬間および位置において、患者情報または他の情報にアクセスする。
【０００３】
たとえば、ＰＡＣＳワークステーションを用いて、放射線技師は、診断画像の内容に基づいて診断のために画像読込みを行ない、結果を患者アプリケーションファイルにおいて電子的に報告する。大量のデータおよび集中的計算条件のため、このタスクを実行するために用いられるソフトウェアは、典型的には、専用のワークステーションハードウェア、および診断画像への高帯域幅ネットワークアクセスを必要とする。結果として、ＰＡＣＳワークステーションから離れたところでの診断情報および分析能力へのアクセスは、限られているか、またはまったくない。これは、現場にいない放射線技師、技術者および他の専門家がたとえば緊急事態において適時の診断を提供するために必要なソフトウェアおよびデータへのアクセスを獲得する能力を制限する。
【０００４】
現在、この問題は、典型的には、ワークステーションハードウェアの画面または制御卓への遠隔ネットワークアクセスを提供することにより、または遠隔システムにたとえば診断データのような感知可能データをダウンロードすることにより克服される。第１の例においては、遠隔アクセスソフトウェアは、実行されるアプリケーションプログラムについての特別の知識がなく、ユーザへのアプリケーションプログラムの表示の呈示をアプリケーションプログラムの状態に基づいて最適化することができず、ネットワーク帯域幅の非効率的な使用および遠隔ユーザに対する貧弱なパフォーマンスをもたらす結果となる。第２の例においては、管理／規制されていない遠隔サイトへの患者関連情報の送信は、そのような保護必要情報にとってセキュリティ上危険であり、さらに、診断画像化データの場合には、多くのネットワークの能力を越える大量の情報の送信を必要とする。
【０００５】
アプリケーションの状態が、遠隔ユーザに対して、遠隔コンピュータのハードウェア能力に適合される態様で呈示される状態で、アプリケーションの状態への遠隔アクセスを提供するための方法およびシステムを提供することが望ましい。
【０００６】
さらに、アプリケーションの状態がアプリケーションプログラムのデータ処理の複製なしに遠隔ユーザに呈示される状態で、アプリケーションの状態への遠隔アクセスを提供するための方法およびシステムを提供することが望ましい。
【０００７】
さらに、データ伝送が実質的に低減される、アプリケーションの状態への遠隔アクセスを提供するための方法およびシステムを提供することが望ましい。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
発明の実施例の概要
したがって、この発明の１つの目的は、アプリケーションの状態が、遠隔ユーザに対して、遠隔コンピュータのハードウェア能力に適合される態様で呈示される状態で、アプリケーションの状態への遠隔アクセスを提供するための方法およびシステムを提供することである。
【０００９】
この発明の別の目的は、アプリケーションの状態がアプリケーションプログラムのデータ処理の複製なしに遠隔ユーザに呈示される状態で、アプリケーションの状態への遠隔アクセスを提供するための方法およびシステムを提供することである。
【００１０】
この発明の別の目的は、データ伝送が実質的に低減される、アプリケーションの状態への遠隔アクセスを提供するための方法およびシステムを提供することである。
【課題を解決するための手段】
【００１１】
この発明の１つの局面によれば、アプリケーションの状態への遠隔アクセスを提供するための方法が提供される。この方法は、サーバコンピュータにおいて、サーバコンピュータに関連付けられるアプリケーションを実行するためにアプリケーションプログラムを実行するステップを含む。通信網を介してサーバコンピュータに接続されるクライアントコンピュータにおいて、遠隔アクセスプログラムが、実行されるアプリケーションの状態への遠隔アクセスを提供するために実行される。クライアントコンピュータにおいて、サーバコンピュータから最後に受信されたアプリケーションの状態の変更を示すデータをエンコードしたクライアント差分プログラムが生成され、サーバコンピュータに送信される。サーバコンピュータにおいて、クライアント差分プログラムは、アプリケーションの更新状態を判断するために実行され、アプリケーションの更新状態とクライアントコンピュータに最後に送信されたアプリケーションの状態との間の差分をエンコードしたサーバ差分プログラムが生成される。ついで、サーバ差分プログラムは、クライアントコンピュータに送信され、サーバコンピュータから最後に受信されたアプリケーションの状態の更新のためにクライアントコンピュータで実行される。サーバコンピュータから最後に受信されたアプリケーションの更新状態を示す表示データが生成され、ディスプレイ上で、人間の理解可能な態様で表示される。
【００１２】
この発明の別の局面によれば、クライアントコンピュータのプロセッサ上での実行のために実行可能なコマンドをそこに記憶した記憶媒体が提供される。プロセッサは、コマンドを実行すると、それに接続されるサーバコンピュータ上で実行されるアプリケーションへの遠隔アクセスをあたえる。プロセッサは、サーバコンピュータから最後に受信されたアプリケーションの状態の変更を示すデータをエンコードしたクライアント差分プログラムを生成し、それをサーバコンピュータに送信する。プロセッサはサーバコンピュータからサーバ差分プログラムを受信し、サーバコンピュータから最後に受信されたアプリケーションの状態の更新のためにそれを実行する。ついで、プロセッサはサーバコンピュータから最後に受信されたアプリケーションの更新状態を示す表示データを生成する。
【００１３】
この発明の別の局面によれば、サーバコンピュータのプロセッサ上での実行のために実行可能なコマンドをそこに記憶した記憶媒体がさらに提供される。プロセッサは、コマンドを実行すると、それに接続されるクライアントコンピュータに対し、サーバコンピュータ上で実行されるアプリケーションへの遠隔アクセスをあたえる。プロセッサは、サーバコンピュータから最後に受信されたアプリケーションの状態の変更を示すデータをエンコードしたクライアント差分プログラムをクライアントコンピュータから受信し、アプリケーションの更新状態を判断するために、クライアント差分プログラムを実行する。プロセッサは、アプリケーションの更新状態とクライアントコンピュータに最後に送信されたアプリケーションの状態との間の差分をエンコードしたサーバ差分プログラムを生成する。ついで、プロセッサはサーバ差分プログラムをクライアントコンピュータに送信する。
【発明の効果】
【００１４】
この発明の利点は、この発明は、アプリケーションの状態が、遠隔ユーザに対し、遠隔コンピュータのハードウェア能力に適合される態様で呈示される状態で、アプリケーションの状態への遠隔アクセスを提供するための方法およびシステムを提供する、ということである。
【００１５】
この発明のさらなる利点は、この発明は、アプリケーションの状態がアプリケーションプログラムのデータ処理の複製なしに遠隔ユーザに呈示される状態で、アプリケーションの状態への遠隔アクセスを提供するための方法およびシステムを提供する、ということである。
【００１６】
この発明のさらなる利点は、この発明は、データ伝送が実質的に低減される、アプリケーションの状態への遠隔アクセスを提供するための方法およびシステムを提供する、ということである。
【００１７】
この発明の好ましい実施例を、添付の図面を参照して以下に記載する。
【図面の簡単な説明】
【００１８】
【図１】この発明の好ましい実施例に従う、アプリケーションの状態への遠隔アクセスを提供するためのシステムの単純化されたブロック図である。
【図２】この発明の好ましい実施例に従う、アプリケーションの状態への遠隔アクセスを提供するための方法の単純化されたフロー図である。
【図３】この発明の好ましい実施例に従う、アプリケーションの状態への遠隔アクセスを提供するための方法の単純化されたフロー図である。
【図４】この発明の好ましい実施例に従う、アプリケーションの状態への遠隔アクセスを提供するための方法の単純化されたフロー図である。
【図５−１】図２において示される、アプリケーションの状態への遠隔アクセスを提供するための方法の好ましい実現例の単純化されたフロー図である。
【図５−２】図２において示される、アプリケーションの状態への遠隔アクセスを提供するための方法の好ましい実現例の単純化されたフロー図である。
【図６】図２において示される、アプリケーションの状態への遠隔アクセスを提供するための方法の別の実現例の単純化されたフロー図である。
【発明を実施するための形態】
【００１９】
この発明の実施例の詳細な記載
他の態様で定義されない場合、ここに用いられる技術用語および科学用語はすべて、この発明が属する技術における通常の熟練者によって一般に理解されるのと同じ意味を有する。ここに記載されるものと類似または等価である任意の方法および材料がこの発明の実施または試験において用いられ得るが、好ましい方法および材料をここに記載する。
【００２０】
ここにおける以下の好ましい実施例の記載は、単純化のためにのみ、臨床環境における患者アプリケーションファイルを参照するが、好ましい実施例はそれに限定されず、ユーザがコンピュータネットワークを介してアプリケーションプログラムの状態に遠隔アクセスする多数の他の分野において適用可能であることは、当業者には明らかである。
【００２１】
図１を参照して、この発明の好ましい実施例に従う、アプリケーションの状態への遠隔アクセスを提供するためのシステム１００が示される。このシステムは、通信網１０８を介してサーバコンピュータ１０２−たとえば中央コンピュータまたは高性能ワークステーション―に接続される複数のクライアントコンピュータ１１０Ａ、１１０Ｂ―たとえばワークステーション、パソコン、ラップトップコンピュータ、および／または無線携帯型装置―を含む。たとえば、臨床環境において、システム１００上で実行される多数のタスクは、患者の医用画像を見て診断報告をそれぞれの患者アプリケーションファイルに入力すること、および医師との患者の予約のスケジューリング情報のような他の情報を入力することに対して関係がある。通信網１０８は、たとえば、クライアントコンピュータをたとえば病院のような組織内の１つ以上のサーバコンピュータに接続するローカルエリアネットワーク（ＬＡＮ）を含む。代替的に、通信網１０８は、たとえば病院、診療所およびホームドクターオフィスのような様々な組織のクライアントコンピュータを接続するワイドエリアネットワーク（ＷＡＮ）またはインターネットを含む。
【００２２】
システム１００においては、それに関連付けられるアプリケーションを実行するためのアプリケーションプログラムが、サーバコンピュータ１０２のプロセッサ１０４上で、たとえば、メモリ１０６において記憶される実行可能なコマンドの実行により実行される。たとえば、アプリケーションは、医用画像を見て修正すること、患者ファイルを見て修正すること、診断報告を入力すること、および患者の予約の予定をたてることを可能にする。アプリケーションの状態は、たとえば、ユーザが患者ファイルにおいて情報を変更するかまたは医用画像についての異なる観察を要求するとき、変更される。
【００２３】
たとえば、システム１００を用いて、放射線技師は、専用のＰＡＣＳワークステーション上で実行される画像化アプリケーションに遠隔アクセスすることによって診断のための画像読出しを行ない、患者ファイルアプリケーションに遠隔アクセスすることによって患者ファイルに報告書を入力することができる。
【００２４】
典型的には、たとえば患者ファイルアプリケーションのようなアプリケーションは、通信網１０８を介してサーバコンピュータ１０２に接続される異なるクライアントコンピュータ１１０Ａ、１１０Ｂで処理される。たとえば、クライアントコンピュータ１１０Ｂでは、医師が、医用画像についての自身の診断を患者アプリケーションファイルに入力し、その一方で、クライアントコンピュータ１１０Ａでは、ヘルスケアワーカーが、予約のためのスケジューリング情報を患者アプリケーションファイルに入力する。２つの異なるクライアントコンピュータ１１０Ａ、１１０Ｂでの同じ患者ファイルアプリケーションの処理は、その患者ファイルアプリケーションが異なる状態を有する結果となる。
【００２５】
システム１００は、ここに以下に記載されるように、この発明の実施例に従う、アプリケーションの状態への遠隔アクセスを提供するための方法の実行により、遠隔アクセスを提供し、アプリケーションの状態を同期させる。アプリケーションの状態への遠隔アクセスを提供するための方法は、たとえば、プロセッサ１１２Ａ、１１２Ｂにおける遠隔アクセスプログラムの実行により行なわれる。たとえば、遠隔アクセスプログラムはメモリ１１４Ａ、１１４Ｂにおいて記憶される実行可能なコマンドの実行により行なわれる。遠隔アクセスプログラムは、アプリケーションプログラムと通信状態にあるサーバコンピュータ１０２のプロセッサ１０４上で実行される遠隔サーバアクセスプログラムと通信状態にある。代替的に、遠隔アクセスプログラムはアプリケーションプログラムと直接通信状態にある。アプリケーションの状態への遠隔アクセスを提供するための方法を実行するとき、サーバコンピュータ１０２のプロセッサは、当業者に周知の、通信網１０８の、−たとえばハイパーテキスト転送プロトコル（ＨＴＴＰ）のような−、標準的な通信プロトコルを用いて、クライアントコンピュータ１１０Ａ、１１０Ｂのそれぞれのプロセッサ１１２Ａ、１１２Ｂと通信する。
【００２６】
アプリケーションの状態への遠隔アクセスを提供するための方法においては、アプリケーションの状態の「ビューデータ」が、クライアントコンピュータのハードウェア能力−たとえば、処理能力、メモリサイズ、図形表示のタイプ、およびユーザインタフェースのタイプ−に従う態様において生成され送信される。たとえば、パソコンのために生成され送信される「ビューデータ」は、無線携帯型装置用に生成され送信される「ビューデータ」とは異なる。たとえば、遠隔アクセス中に、ユーザは、患者ファイルのデータを修正する。最初に、患者ファイルのデータを示す「ビューデータ」が、サーバコンピュータで生成され、「ビューデータ」が表示されるクライアントコンピュータに送信される。ついで、ユーザは、クライアントコンピュータのユーザインタフェースを用いて、「ビューデータ」として患者ファイルのデータの変更を示すデータを提供し、それは、ついで、エンコードされ、サーバコンピュータに送信される。ついで、サーバコンピュータは、ユーザによって提供される変更を示すデータに依ってアプリケーションの状態を変更し、アプリケーションは、ついで、データを、それに依って、データベースに記憶される患者ファイルに記憶する。「ビューデータ」を用いることは、感知可能および／または大量の診断データを送信せずに、アプリケーションの状態の呈示を可能にし、クライアントコンピュータ上でのアプリケーションのデータ処理の複製を回避する。
【００２７】
図２を参照して、この発明の好ましい実施例に従う、アプリケーションの状態への遠隔アクセスを提供するための方法が示される。サーバコンピュータ１０２では、それに関連付けられるアプリケーションを実行するためのアプリケーションプログラムがプロセッサ１０４上で実行される（１０）。通信網１０８を介してサーバコンピュータ１０２に接続されるクライアントコンピュータ１１０Ａでは、遠隔アクセスプログラムが、実行されるアプリケーションの状態への遠隔アクセスを提供するためにプロセッサ１１２Ａで実行される（１２）。クライアントコンピュータ１１０Ａでは、クライアント差分プログラムが生成される（１４）。クライアント差分プログラムは、サーバコンピュータ１０２から最後に受信されたアプリケーションの状態の変更を示すデータをエンコードしている。アプリケーションの状態の変更を示すデータは、たとえば、クライアントコンピュータ１１０Ａ、１１０Ｂのユーザインタフェース１１８Ａ、１１８Ｂからそれぞれ受信される。
【００２８】
差分プログラムは、プロセッサによる実行のための実行可能なコマンドを含む。エンコードされたデータは、アプリケーションの状態の変更へのパス、変更のタイプ、および変更の値を示す。変更のタイプは、たとえば「修正」、「削除」または「挿入」であり、削除変更に対する値は空である。差分プログラムの一例は次のとおりである。
【００２９】
パス＝「患者／姓名／名」
タイプ＝「修正」
値＝「ジェイン」
パス＝「患者／趣味」
タイプ＝「挿入」
値＝「編み物」
パス＝「患者／経歴」
タイプ＝「削除」
値＝「」
ついで、クライアント差分プログラムは通信網１０８を介してサーバコンピュータ１０２に送信される（１６）。サーバコンピュータ１０２では、クライアント差分プログラムは、アプリケーションの更新状態の判断のために実行され（１８）、続いて、サーバ差分プログラムが生成される。サーバ差分プログラムは、アプリケーションの更新状態とクライアントコンピュータ１１０Ａに最後に送信されたアプリケーションの状態との間の差分をエンコードしている。この差分は、さらに、たとえば別のクライアントコンピュータ、たとえばクライアントコンピュータ１１０Ｂから受信される変更、またはアプリケーションの更新状態を判断するために実行されたクライアント差分プログラムに依るアプリケーションプログラムの実行により生成された変更を捕捉する。ついで、サーバ差分プログラムが通信網１０８を介してクライアントコンピュータ１１０Ａに送信される（２０）。クライアントコンピュータ１１０Ａでは、サーバ差分プログラムは、サーバコンピュータ１０２から最後に受信されたアプリケーションの状態の更新のために実行される（２２）。サーバコンピュータ１０２から最後に受信されたアプリケーションの更新状態を示す表示データが生成され（２４）、ディスプレイ１１６Ａにおいて人間の理解可能な態様で表示される。選択肢として、ステップ２４は、たとえば、アプリケーションの更新状態がディスプレイ１１６Ａに表示されるデータに影響しない状況では、省略される。
【００３０】
好ましくは、遠隔サーバアクセスプログラムが、サーバコンピュータ１０２のプロセッサ１０４上で：クライアント差分プログラムを実行するため；アプリケーションの更新状態の判断のためにアプリケーションプログラムと通信するため；およびサーバ差分プログラムを生成するために、実行される。遠隔サーバアクセスプログラムの提供は、既製のアプリケーションプログラムへの遠隔アクセスを可能にし、アプリケーションプログラムの修正なしに遠隔アクセスの提供に対する柔軟性を実質的に増大させ、遠隔アクセスの後付けとしての実現を実質的に容易にする。代替的に、アプリケーションプログラムは、遠隔サーバアクセスプログラムの動作を実行するよう可能化される。
【００３１】
さらに好ましくは、アプリケーションの状態への遠隔アクセスを提供するための方法は、アプリケーションの状態のうち予め定められた部分への限定されたアクセスを可能にする。たとえば、限定されたアクセスは：
クライアントコンピュータのハードウェア能力−たとえば処理能力、メモリサイズ、図形表示のタイプおよびユーザインタフェースのタイプ−に対応すること−たとえば、パソコンのハードウェア能力は、無線携帯型装置のハードウェア能力とは実質的に異なる−；
異なるクライアントコンピュータの異なるオペレーティングシステムと互換性をもつこと；および
異なるユーザにアプリケーションの状態への異なるアクセスを提供するために情報へのユーザアクセス制限を実現すること−たとえば、患者の予約の予定をたてることに対する管理ユーザは、患者の診断情報へのアクセスを妨げられる−、に対して可能にされる。
【００３２】
さらに好ましくは、アプリケーションの状態への遠隔アクセスを提供するための方法は、たとえば、同じアプリケーションの状態にアクセスするために通信網１０８を介してサーバコンピュータ１０２に同時に接続される複数のクライアントコンピュータ１１０Ａ、１１０Ｂのために遠隔アクセスを可能にする。
【００３３】
図３において示されるように、受信で、第２のクライアントコンピュータ１１０Ｂから受信された第２のクライアント差分プログラムが、アプリケーションの第２の更新状態を判断するためにサーバコンピュータ１０２で実行され（２６）、それに続いて、第２のサーバ差分プログラムの生成が行われる。第２のサーバ差分プログラムは、アプリケーションの第２の更新状態と第２のクライアントコンピュータに最後に送信されたアプリケーションの状態との間の差分をエンコードしている。ついで、第２のサーバ差分プログラムは通信網１０８を介して第２のクライアントコンピュータ１１０Ｂに送信される（２８）。第２のクライアントコンピュータ１１０Ｂでは、第２のサーバ差分プログラムは、サーバコンピュータ１０２から最後に受信されたアプリケーションの状態の更新のために実行される（３０）。サーバコンピュータ１０２から最後に受信されたアプリケーションの更新状態を示す表示データが生成され（３２）、ディスプレイ１１６Ｂにおいて人間の理解可能な態様で表示される。選択肢として、ステップ３２は、たとえば、アプリケーションの更新状態がディスプレイ１１６Ｂに表示されるデータに影響しない状況では、省略される。
【００３４】
サーバコンピュータ１０２では、第３のサーバ差分プログラムが生成される（３４）。第３のサーバ差分プログラムは、アプリケーションの第２の更新状態とクライアントコンピュータ１１０Ａに最後に送られたアプリケーションの状態との間の差分をエンコードしている。ついで、第３のサーバ差分プログラムは、通信網１０８を介してクライアントコンピュータ１１０Ａに送信される（３６）。クライアントコンピュータ１１０Ａでは、第３のサーバ差分プログラムは、サーバコンピュータ１０２から最後に受信されたアプリケーションの状態を更新するために実行される（３８）。サーバコンピュータ１０２から最後に受信されたアプリケーションの更新状態を示す表示データが生成され（４０）、ディスプレイ１１６Ａにおいて人間の理解可能な態様で表示される。選択肢的に、ステップ４０は、たとえば、アプリケーションの更新状態がディスプレイ１１６Ａに表示されるデータに影響しない状況では、省略される。好ましくは、ステップ３４〜ステップ４０は、ステップ２６〜ステップ３２の実行と同時に実行される。代替的に、ステップ３４〜ステップ４０は省略され、第２のクライアントコンピュータ１１０Ｂから受信された変更は、クライアントコンピュータ１１０Ａからのクライアント差分プログラムの受信の後にクライアントコンピュータ１１０Ａにあたえられる。
【００３５】
クライアントコンピュータのための遠隔アクセスの開始で、図４において示されるように、アプリケーションの状態があたえられる。アプリケーションの状態に関するクライアントコンピュータ１１０Ａからの要求の受信で、サーバアプリケーション状態プログラムがサーバコンピュータ１０２で生成される（４２）。サーバアプリケーション状態プログラムはアプリケーションの状態を示すデータをエンコードしている。ついで、サーバアプリケーション状態プログラムは通信網１０８を介してクライアントコンピュータ１１０Ａに送信される（４４）。クライアントコンピュータ１１０Ａでは、サーバアプリケーション状態プログラムはアプリケーションのサーバ状態の判断のために実行される（４６）。アプリケーションのサーバ状態を示す表示データが生成され（４８）、ディスプレイ１１６Ａにおいて人間の理解可能な態様で表示される。選択肢として、サーバコンピュータ１０２およびクライアントコンピュータ１１０Ａでアプリケーションの同じ状態の提供を保証するために、ステップ４２〜ステップ４８が、さらに、遠隔アクセスの提供の間に行なわれる。たとえば、ステップ４２〜ステップ４８は、所定時間間隔において、または送信中においてデータ損失の後に行なわれる。さらに、選択肢として、ステップ４８は、たとえば、アプリケーションの更新状態がディスプレイ１１６Ａに表示されるデータに影響しない状況では、省略される。
【００３６】
図５を参照して、アプリケーションの状態への遠隔アクセスを提供するための方法の好ましい実現例が、図２において示される方法を参照して示される。サーバコンピュータ１０２のメモリ１０６において、たとえば患者ファイルアプリケーションのようなアプリケーションの状態を示すデータが、その２つの状態、つまり：アプリケーションのサーバ状態を示すサーバデータ−サーバでの（および恐らくはサーバによって変更された）アプリケーションの状態；および最後にクライアントコンピュータ１１０Ａに送られたアプリケーションの状態を示すサーバクライアントデータで、記憶される（１０Ａ）。クライアントコンピュータ１１０Ａのメモリ１１４Ａにおいて、アプリケーションの状態を示すデータが、その２つの状態、つまり：サーバコンピュータ１０２から最後に受信されたアプリケーションの状態を示すクライアントサーバデータ；およびクライアントインタラクションの後のアプリケーションの状態を示すクライアントデータで、記憶される（１２Ａ）。ステップ１４において、クライアントインタラクションの後のアプリケーションの状態と、サーバコンピュータから最後に受信されたアプリケーションの状態との間の差分がエンコードされ（１４Ａ）、その差分は、クライアントデータとクライアントサーバデータとの間の差分である。ステップ１８において：第２のサーバクライアントデータが、サーバクライアントデータにおけるクライアント差分プログラムの実行により判断され（１８Ａ）；更新されたサーバデータが、サーバデータにおけるクライアント差分プログラムの実行により判断され（１８Ｂ）；更新されたサーバデータと第２のサーバクライアントデータとの間の差分をエンコードするサーバ差分プログラムが生成され（１８Ｃ）；第３のサーバクライアントデータが、第２のサーバクライアントデータにおけるサーバ差分プログラムの実行により判断され（１８Ｄ）；サーバクライアントデータは第３のサーバクライアントデータと置換えられる（１８Ｅ）。選択肢として、たとえばステップ１８Ｃの後に解放される１８Ｂの前にサーバデータが他のプロセスによって修正されるのを防ぐためにサーバデータをロックするためにロッキングプロセスが提供される。ステップ２２において：第２のクライアントサーバデータが、クライアントサーバデータにおけるサーバ差分プログラムの実行により判断され（２２Ａ）；第２のクライアントデータが、クライアントデータにおけるサーバ差分プログラムの実行により判断され（２２Ｂ）；クライアントサーバデータは第２のクライアントサーバデータと置換えられ（２２Ｃ）；クライアントデータは第２のクライアントデータと置換えられる（２２Ｄ）。選択肢として、ステップ２２Ａ〜２２Ｄの実行の間にクライアントサーバデータおよびクライアントデータをロックするために、ロッキングプロセスが提供される。
【００３７】
図６を参照して、アプリケーションの状態への遠隔アクセスを提供するための方法の代替的実現例が、図２において示される方法を参照して示される。サーバコンピュータ１０２のメモリ１０６において、アプリケーションの状態を示すデータが、その２つの状態、つまり、アプリケーションのサーバ状態を示すサーバデータ−サーバコンピュータにおける（および恐らくはサーバコンピュータによって変更された）アプリケーションの状態；およびサーバ状態アプリケーションプログラムとしてクライアントコンピュータ１１０Ｂに最後に送られたアプリケーションの状態を示すサーバクライアントデータで、記憶される（１０Ａ）。ステップ１８において：更新されたサーバデータが、サーバデータにおけるクライアント差分プログラムの実行により判断され（１８Ｆ）；更新されたサーバデータとサーバクライアントデータとの間の差分をエンコードするサーバ差分プログラムが生成される（１８Ｇ）。ステップ２２において、サーバコンピュータから最後に受信されたアプリケーションの更新状態を示す表示データが、受信されたサーバ差分プログラムの実行によって直接生成され（２２Ｅ）、ディスプレイ１１６Ｂにおいて人間の理解可能な態様において表示される（２３）。この実現例は、携帯装置のような限られた記憶容量を有するクライアントコンピュータに有益な、クライアントコンピュータ１１０Ｂのメモリにおけるアプリケーションの状態と関係するデータの記憶を回避する。好ましくは、アプリケーションのサーバ状態を示すデータをエンコードしたサーバアプリケーション状態プログラムが、クライアントコンピュータに、たとえば、所定時間間隔で、ここで上に開示されるように、生成され送信される。
【００３８】
当業者には明らかなように、この発明によるシステム１００およびアプリケーションの状態への遠隔アクセスを提供するための方法の実施例は、単純化のため、２つのクライアントコンピュータを含むクライアントサーバネットワークアーキテクチャに関して記載されたが、それに制限されるものではなく、他のネットワークアーキテクチャおよびさまざまな数のクライアントコンピュータにも適用可能である。
【００３９】
アプリケーションの状態への遠隔アクセスを提供するための方法の実施例は、たとえば、記憶媒体−たとえばサーバコンピュータ１０２のプロセッサ１０４を用いるメモリ１０６およびクライアントコンピュータ１１０Ａのプロセッサ１１２Ａを用いるメモリ１１４Ａ−に記憶される実行可能なコマンドの実行により行なわれる。クライアントコンピュータのメモリに記憶されるための実行可能なコマンドは、たとえば、通信網１０８を介してサーバコンピュータ１０２から送信される。
【００４０】
この発明を、好ましい実施例に関してここに記載した。しかしながら、ここに記載されるようなこの発明の範囲から逸脱することなく、多くの変形例および修正例が可能であることは当業者にとって明らかである。排他的な所有権または特権が主張されるこの発明の実施例は、特許請求の範囲のように規定される。
【図１】
2014222536.tif 000003
【図２】
2014222536.tif 000004
【図３】
2014222536.tif 000005
【図４】
2014222536.tif 000006
【図５−１】
2014222536.tif 000007
【図５−２】
2014222536.tif 000008
【図６】
2014222536.tif 000009