(57)【要約】複数のネットワーク対応アプリケーションの並行動作をそれに対応する複数の異なる動作インタフェースを使用してサポートするシステム。このシステムは、データプロセッサ、第１のインタフェースプロセッサ及び第２のインタフェースプロセッサを含む。データプロセッサは、第１のアプリケーションから受け取ったコンテキストデータを第２のアプリケーションのインタフェースデータフォーマットと互換性を有するようにフォーマットし、前記受け取ったコンテキストデータを、第３のアプリケーションへのネットワーク接続を識別する標識の検査に応じて、第３のアプリケーションのインタフェースデータフォーマットと互換性を有するようにフォーマットする。第１のインタフェースプロセッサは、フォーマット済みの互換性を有するコンテキストデータを前記第２のアプリケーションに通信する。第２のインタフェースプロセッサは、フォーマット済みの互換性を有するコンテキストデータを前記第３のアプリケーションに通信する。
2005530229.tif 000002
【特許請求の範囲】
【請求項１】
複数のネットワーク対応アプリケーションの並行動作を、それに対応する複数の異なる動作インタフェースを使用してサポートするシステムであって、
第１のアプリケーションから受け取ったコンテキストデータを、第２のアプリケーションのインタフェースデータフォーマットと互換性を有するようにフォーマットし、前記受け取ったコンテキストデータを、第３のアプリケーションへのネットワーク接続を識別する標識の検査に応じて、第３のアプリケーションのインタフェースデータフォーマットと互換性を有するようにフォーマットするデータプロセッサと、
フォーマット済みの互換性を有するコンテキストデータを前記第２のアプリケーションに通信する第１のインタフェースプロセッサと、
フォーマット済みの互換性を有するコンテキストデータを前記第３のアプリケーションに通信する第２のインタフェースプロセッサとを含むシステム。
【請求項２】
前記第２のアプリケーションが、複数のネットワーク対応アプリケーションの並行動作をサポートする管理アプリケーションであり、前記コンテキストデータが、
（ａ）ユーザ識別情報と、
（ｂ）暗号キーと、
（ｃ）ユーザ開始セッションを識別し、ユーザ開始セッションを一意に識別するために複数の並行動作アプリケーションにより使用されるセッション識別子とのうちの少なくとも１つを含む、請求項１に記載のシステム。
【請求項３】
前記第３のアプリケーションが、Clinical Context Object Workgroup（ＣＣＯＷ）対応アプリケーションであり、前記データプロセッサが、前記受け取ったコンテキストデータをＣＣＯＷインタフェースデータフォーマットと互換性を有するようにフォーマットする、請求項１に記載のシステム。
【請求項４】
複数のネットワーク対応アプリケーションの並行動作を、それに対応する複数の異なる動作インタフェースを使用してサポートする方法であって、
第１のアプリケーションからコンテキストデータを受け取る段階と、
受け取ったコンテキストデータを、第１のコンテキストマネージャに通信するための第１のフォーマットにフォーマットする段階と、
受け取ったコンテキストデータを、第２のコンテキストマネージャに通信するための第２のフォーマットにフォーマットする段階と、
フォーマットしたコンテキストデータを、第１のコマンドフォーマットインタフェースタイプを使用するアプリケーションへのコンテキストデータの通信を管理するために受け取る段階と、
フォーマットしたコンテキストデータを、第２のコマンドフォーマットインタフェースタイプを使用するアプリケーションへのコンテキストデータの通信を管理するために受け取る段階とを含む方法。
【請求項５】
前記第２のコマンドインタフェースタイプが、Clinical Context Object Workgroup（ＣＣＯＷ）アプリケーションインタフェース規格と互換性を有し、前記第１のコマンドフォーマットインタフェースタイプと異なる、請求項４に記載の方法。
【請求項６】
前記コンテキストデータが、
（ａ）ユーザ識別情報と、
（ｂ）アプリケーションコンテキストの単一のインスタンスを識別するコンテキスト識別子であって、前記第１のコマンドフォーマットインタフェースタイプの前記コンテキスト識別子が、ＣＣＯＷ対応アプリケーションコンテキストの単一の動作インスタンスを識別するコンテキスト識別子と、
（ｃ）暗号キーと、
（ｄ）ユーザ開始セッションを識別し、ユーザ開始セッションを一意に識別するために複数の並行動作アプリケーションによって使用されるセッション識別子であって、前記第２のコマンドフォーマットインタフェースタイプの前記セッション識別子が、前記複数の並行動作アプリケーションの並行動作を含む単一のユーザ開始動作セッションを識別するセッション識別子とのうちの少なくとも1つを含む、請求項４に記載の方法。
【請求項７】
複数のインターネット対応アプリケーションの並行動作をサポートするシステムであって、
複数のインターネット対応アプリケーションの識別情報とコマンドのユーザ入力を可能にするユーザインタフェース表示を提供し、妥当性確認のための第１のアプリケーションにユーザ識別情報を提供するブラウザアプリケーションと、
第１のアプリケーションからセッション開始要求を受け取ったことに応じてユーザ開始セッションに特定のセッション識別子を生成し、前記第１のアプリケーションの通信インタフェースフォーマットタイプを識別する標識を検査することに応じて決定された通信フォーマットで、前記セッション識別子を前記第１のアプリケーションに通信する管理アプリケーションと含むシステム。
【請求項８】
前記管理アプリケーションへの前記セッション開始要求が、また、前記第１のアプリケーションによって使用するために前記ユーザ開始セッションに特定の暗号キーの生成を開始し、前記暗号キーが、個人レコードに関連するデータを暗号化する際に前記複数の並行動作アプリケーションにより共用される、請求項７に記載のシステム。
【請求項９】
前記管理アプリケーションが、また、前記第１のアプリケーションに、
（ａ）ＵＲＬデータで伝えられるセッション識別子を暗号化し解読する際に使用されるキーと、
（ｂ）セッション開始要求が成功したかどうかを識別する標識とのうちの１つ以上を含む追加のパラメータを通信する、請求項７に記載のシステム。
【請求項１０】
複数のネットワーク対応アプリケーションの並行動作をサポートするために管理アプリケーションによって使用されるシステムであって、
第１のアプリケーションから、セッション識別子の生成を開始するセッション開始要求を受け取る入力プロセッサと、
ユーザ開始セッションに特定のセッション識別子を生成し、前記ユーザ開始セッションを一意に識別するために複数の並行動作アプリケーションによって使用されるセッション識別子ジェネレータと、
通信プロセッサであって、
前記セッション識別子を前記第１のアプリケーションに第１の通信フォーマットで通信し、
前記セッション識別子を、前記複数の並行動作アプリケーションの内の他のアプリケーションに、前記生成されたセッション識別子を受け取る要求に応じて決定された第２の通信フォーマットで通信する通信プロセッサとを含むシステム。
【請求項１１】
前記通信プロセッサが、前記セッション識別子を、前記他のアプリケーションの通信インタフェースフォーマットタイプを識別する標識の検査に応じて前記他のアプリケーションに通信する、請求項１０に記載のシステム。
【請求項１２】
前記セッション開始要求に応じて前記ユーザ開始セッションに特定の暗号キーを実質的にランダムに生成する暗号キージェネレータを更に含む、請求項１０に記載のシステム。 
【請求項１３】
前記通信プロセッサが、前記生成されたセッション識別子を、前記複数の並行動作アプリケーションの内のアプリケーションに通信される様々なタイプのコマンドメッセージ内に含む、請求項１０に記載のシステム。
【請求項１４】
複数のネットワーク対応アプリケーションの並行動作を、それに対応する複数の異なる動作インタフェースを使用してサポートするシステムであって、
第１のアプリケーションからコンテキストデータを受け取り、受け取ったコンテキストデータを、第１のコンテキストマネージャに通信するための第１のフォーマットでフォーマットし、受け取ったコンテキストデータを、第２のコンテキストマネージャに通信するための第２のフォーマットでフォーマットする変換プロセッサと、
フォーマットしたコンテキストデータを、第１のコマンドフォーマットインタフェースタイプを使用するアプリケーションへのコンテキストデータの通信を管理するために前記変換プロセッサから受け取る第１のコンテキストマネージャと、
フォーマットしたコンテキストデータを、第２のコマンドフォーマットインタフェースタイプを使用するアプリケーションへのコンテキストデータの通信を管理するために前記変換プロセッサから受け取る第２のコンテキストマネージャとを含むシステム。
【請求項１５】
複数のネットワーク対応アプリケーションの並行動作を、それに対応する複数の異なる動作インタフェースを使用してサポートする方法であって、
第１のアプリケーションから受け取ったコンテキストデータを、第２のアプリケーションのインタフェースデータフォーマットと互換性を有するようにフォーマットする段階と、
前記受け取ったコンテキストデータを、第３のアプリケーションへのネットワーク接続を識別する標識の検査に応じて第３のアプリケーションのインタフェースデータフォーマットと互換性を有するようにフォーマットする段階と、
フォーマット済みの互換性を有するコンテキストデータを、前記第２のアプリケーションに通信する段階と、
フォーマット済みの互換性を有するコンテキストデータを、前記第３のアプリケーションに通信する段階とを含む方法。
【請求項１６】
複数のネットワーク対応アプリケーションの並行動作をサポートするために管理アプリケーションによって使用される方法であって、
第１のアプリケーションから、セッション識別子の生成を開始するセッション開始要求を受け取る段階と、
ユーザ開始セッションを一意に識別するために複数の並行動作アプリケーションによって使用されるユーザ開始セッションのためのセッション識別子を生成する段階と、
前記セッション識別子を前記第１のアプリケーションに第１の通信フォーマットで通信する段階と、
前記セッション識別子を、前記複数の並行動作アプリケーションの他のアプリケーションに、前記生成されたセッション識別子を受け取る要求に応じて決定された第2の通信フォーマットで通信する段階とを含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に情報システムに関する。より詳細には、本発明は、多数の様々な並行アプリケーション相互運用方法をサポートするためのシステム及びユーザインタフェースに関する。
【背景技術】
【０００２】
健康管理分野における医師、病院職員、その他の従事者によって使用される医療目的の情報の管理は、幾つかの問題を提起している。健康管理を最適化するために医師に必要な情報は、その本質において変化しかつその情報を得るソースにおいて変化する。医師は、一般に、例えば、患者の医療記録や、診断画像、診断及び食事情報システム、面会計画、患者の検査結果、医学文献、処方及び薬物相互作用管理システム、保険及び請求情報、職員管理システムにアクセスしなければならないことがある。そのような情報及び関連サービスへのアクセスは、インターネット処理及び場合によってはローカルなイントラネット処理をサポートする通信プラットフォームを含むシステムの使用を必要とする。更にまた、そのような多数の様々な総合的な情報ソース及び関連サービスへのアクセスを提供するシステムは、その分野の素人が使用するのに適したユーザインタフェースを提供しかつ広範囲なオペレータ訓練を必要としないことが望ましい。
【０００３】
そのような総合的なシステムを提供するには幾つかの問題がある。具体的には、そのようなシステムは、個別のアプリケーション間で情報を伝達する能力を有する、インターネットや他のネットワークを利用した複数の異なる並行アプリケーションを支援していることが望ましい。そのような問題は、様々なアプリケーション相互運用方法が使用可能でありまた更に個々のアプリケーションが、並行動作と相互運用を制限する独特なデータフォーマットや他の操作機能を使用することがあるという事実によって複雑になる。従って、そのような問題及び派生的な課題に対処する、複数の異なる並行アプリケーション相互運用方法をサポートするためのシステム及びユーザインタフェースが必要である。
【発明の開示】
【課題を解決するための手段】
【０００４】
システムは、複数のネットワーク対応アプリケーションの並行動作を、それに対応する複数の異なる動作インタフェースを使用してサポートする。システムは、データプロセッサ、第１のインタフェースプロセッサ及び第２のインタフェースプロセッサを含む。データプロセッサは、第１のアプリケーションから受け取ったコンテキストデータを、第２のアプリケーションのインタフェースデータフォーマットと互換性を有するようにフォーマットし、受け取ったコンテキストデータを、第３のアプリケーションへのネットワーク接続を識別する標識の検査に応じて、第３のアプリケーションのインタフェースデータフォーマットと互換性を有するようにフォーマットする。第１のインタフェースプロセッサは、フォーマット済みの互換性を有するコンテキストデータを第２のアプリケーションに通信する。第２のインタフェースプロセッサは、フォーマット済みの互換性を有するコンテキストデータを第３のアプリケーションに通信する。
【０００５】
本発明の以上その他の様相は、以下の詳細な説明と添付図面を参照して更に詳しく説明され、様々な図に示した同じ特徴又は要素には同じ参照番号が割り当てられている。図面は一律の縮尺に従わずに描かれている場合があることに注意されたい。更に、本明細書に明示的又は暗示的に示されているが図に具体的に示されていない本発明の他の実施形態、若しくはその逆の本発明の他の実施形態があるであろう。
【発明を実施するための最良の形態】
【０００６】
システム及びその関連プロトコルにより、任意の組のソフトウェアを含むインターネット対応アプリケーションを、ブラウザをサポートすることができるワークフローに組み込むことができる。ワークフローとは、本文書で使用されるとき、ユーザログオンコマンドからユーザログオフコマンドまでの間で行われる、表示されたユーザインタフェースを介したインターネット対応アプリケーションの開始、中間のコマンド操作、及び終了を典型的に含むタスクシーケンスを指す。このシステムは、アプリケーションと他の機能との間でＵＲＬデータを渡すための集中型セッションマネージャ及びプロトコルを含む。そのような機能は、多数の様々な総合的な（医学や他の）情報ソース及び関連サービスへのアクセスのための並行アプリケーションの動作を容易にするために、ユーザの無活動タイムアウトを調整し共通で本質的なセッションプロパティを提供するサービスを提供することを含む。このシステムを使用するインターネット対応アプリケーションは、様々な動作上の制約と制限を含む様々なワークフロー又はタスクシーケンスを実現するために、動的に再編成されることがある。このシステムは、複数の様々なシーケンス及び並行動作構成におけるウェブを利用したアプリケーションの再使用と相互運用を容易にでき、有利である。
【０００７】
このシステムは、医学や他の目的のための複数の情報ソースと関連サービスにアクセスするためのインターネット対応アプリケーションの並行動作の支援に伴う様々な問題に応える。従って、このシステムは、一般的なウェブブラウザと類似のユーザインタフェースを提供するフレームワークにおけるアプリケーションの並行動作の維持に伴う問題に応える。このシステムは、具体的には、様々な無活動タイムアウト期間を管理し、また複数のインターネットアプリケーションのユーザ開始（例えば、ログオン）、操作、及び終了（例えば、ログオフ）を容易にし、またアプリケーション間でＵＲＬ、患者（及びユーザ）の識別や他の情報を安全に渡すことに伴う問題に応える。ユーザ操作セッションを調整するために管理アプリケーションが使用される。具体的には、管理アプリケーションは、無活動タイムアウト操作を調整し、円滑なユーザ操作セッションを作成するために並行アプリケーション間でプロパティを維持し伝える。そのために、管理アプリケーションは、また、複数の並行アプリケーションに共通な単一のログオン画面の使用をコーディネートする。
【０００８】
本発明の原理は、様々なソフトウェアアプリケーションの並行動作を伴う任意のシステムに適用することができる。更に、開示されているシステムは、ウェブページデータ及び関連ＵＲＬ（ユニバーサルリソースロケータ）を伝達し処理する状況で説明されているが、これは例である。このシステムは、インターネットソースからインターネットプロトコル（ＩＰ）又はハイパーテキスト伝送プロトコル（ＨＴＴＰ）によるものを含むネットワークを介して通信される任意の形のデータを処理することができ、このデータは、例えばストリーム映像又は音声データ、電話メッセージ、コンピュータプログラム、電子メールや他の通信を含む任意の形のパケット型データを含む。
【０００９】
図１は、識別情報及び／又はコマンドのユーザ入力により、複数の医学関連アプリケーションへの複数のリンクを含むユーザインタフェース表示を提供するウェブブラウザ複合ウィンドウ１０を示す。また、ウェブブラウザは、妥当性確認のためのユーザ識別情報をアプリケーションに提供する。ウェブブラウザは、典型的なコマンドツールバー４３及び４４並びにアプリケーション開始バー（項目１２〜２３）を提供する。ウェブブラウザインタフェースは、ユーザが、例えば、入院患者センサス（census）ウィンドウ（例えば、患者２５及び２７の）を提供するアプリケーションを表示項目２９、３１及び３３を含む結果通知ウィンドウを提供する臨床検査結果アプリケーションと共に開始するなど、複数の並行アプリケーションを開始することを可能にする。他の並行アプリケーションは、参照リンク３７やニュース項目リンク３４等を介した健康管理情報及びリソースへのアクセスを可能にする。
【００１０】
図２は、管理アプリケーション２５０（例えば、グローバルセッションマネージャ（ＧＳＭ））、２つのアプリケーション２００（ＡＰＰ１）及び２３０（ＡＰＰ２）、及びウェブブラウザ１０（例えば、図１に関して説明したような）を含むシステムプロトコルの動作を示すシステムコマンドの流れ図である。マネージャ２５０によって使用されるシステムプロトコルは、タスクシーケンス又はワークフローを実施する際に複数のアプリケーション（例えば、アプリケーション２００及び２３０）の一貫して整合のとれた並行動作をサポートする。マネージャ２５０は、ワークフローに不可欠なグローバルデータを参照するために、アプリケーション２００及び２３０によって有利に使用される。そのようなグローバルデータには、例えば、ユーザ識別情報、ＵＲＬデータの暗号化に使用される共用キー、並びにログオフ及びログオン機能を操作するために使用される共通ＵＲＬがある。システムプロトコルは、ユーザが別の並行アプリケーションで活動状態にある間の無活動タイムアウトを防ぐために、マネージャ２５０に活動状態を断続的に通知するアプリケーション２００及び２３０を含む。
【００１１】
マネージャ２５０は、セッションコンテキスト情報をアプリケーション２００及び２３０にＵＲＬクエリ又は形式データで渡すためにシステムプロトコルを使用する。セッションコンテキスト情報は、セッション識別子、ハッシュ値、及びアプリケーション固有データを含む。セッション識別子は、マネージャ２５０と通信する際にユーザ開始セッションを識別するために、アプリケーション２００及び２３０によって使用される。ハッシュ値は、受け取ったＵＲＬが故意或いは他の原因で破損していないことを確認するために、アプリケーション２００及び２３０によって使用される。セッションコンテキスト情報のアプリケーションデータ部分は、ＵＲＬを通信するアプリケーションによって決まるように、暗号化されてもよく暗号化されなくてもよい。アプリケーション固有データは、ターゲットアプリケーションの意図された機能に適合するように調整される。マネージャ２５０によって使用されるプロトコルは、生成されたセッションコンテキスト情報を使用しその情報を変更しないアプリケーションをサポートする。代替の実施形態において、アプリケーション２００及び２３０は、マネージャ２５０の代わり又はマネージャ２５０に加えて、全体的なコンテキストの概念をサポートするように他のプロトコルを使用して内部マネージャを使用することができる。他のそのようなプロトコルは、例えば、ＨＬ７（保健水準７）プロトコルやＣＣＯＷ（Clinical Context Object Workgroupの２０００年５月に批准されたＶ１．２）プロトコルを含む。ここに示すシステムは、単なるセッションコンテキスト情報以外に、代替プロトコルの使用並びにアプリケーション間のデータ通信をサポートする。
【００１２】
マネージャ２５０は、マネージャアプリケーションそれ自身への無許可のアクセスを防ぐ、安全な環境において動作することにより機密保護を維持する。機密保護は、アプリケーション２００及び２３０（マネージャ２５０と通信する）も安全な環境において動作することを確実にすることによっても提供される。マネージャ２５０は、また、故意に又はそうでなければ悪くなった受け取ったＵＲＬを検出し省略することにより、及び受け取ったＵＲＬのやり直し及び表示を防ぐことにより機密保護を維持する。
【００１３】
図３は、本発明の好ましい実施形態による、システム相互運用プロトコルを使用して、並行動作アプリケーション２００及び２３０、ウェブブラウザ２３５、ＣＣＯＷインタフェースマネージャ２３６、及びマネージャ２５０間のコマンドの対話を示す。図３に示したようなＣＣＯＷインタフェースマネージャ２３６は、本明細書において、図５に示したようなＣＣＯＷコンテキストマネージャとしても知られている。
【００１４】
例示的なユーザ操作セッションにおいて、親アプリケーション２００は、セッションを開始し、マネージャ２５０に活動を通知する（１）。次に、親アプリケーション２００は、子アプリケーション２３０を参照する（２）。子アプリケーションは、一般に、ウェブページを他のアプリケーションに提供する。具体的には、子アプリケーション２３０は、マネージャ２５０に活動を通知し（３）、ウェブページ２３５を親アプリケーション２００に返す（４）。最後に、親アプリケーション２００は、マネージャ２５０へのコマンドによってセッションを終了する（５）。子アプリケーション２３０がＣＣＯＷ対応アプリケーションである場合、マネージャ２５０は、変換したコマンドデータをＣＣＯＷインタフェースマネージャ２３６に送り（７）、子アプリケーション２３０に応答を返す（６）。代替として、ＣＣＯＷ対応子アプリケーション２３０は、ＣＣＯＷインタフェースマネージャ２３６に直接コマンドを送る。マネージャ２５０とのセッションを確立するアプリケーションは、親アプリケーションと定義される。そのセッションに参加する追加のアプリケーションは、子アプリケーションと呼ばれる。親アプリケーションと子アプリケーションの集合は、参加アプリケーション（participants）と定義される。マネージャ２５０は、親アプリケーションと子アプリケーションを調整するために、集中サービスを提供する。ユーザが認証された後であって子アプリケーションを参照する前に親アプリケーションがセッションを作成する。親アプリケーションは、特定のイベント、例えば親アプリケーションが子アプリケーションへのリンクを含むウェブページを（ブラウザに）ダウンロードするまで、セッションの確立を遅延させる。一般に、セッションは、ユーザがサインオフするとき又はユーザが無活動によりタイムアウトするときに終了される。
【００１５】
図４は、ブラウザ１０及びマネージャ２５０（図２に示した）との通信のためにアプリケーション２００及び２３０によって使用される通信プロトコル層の階層編成を示すシステムプロトコル図である。アプリケーション２００及び２３０は、ブラウザ１０及びマネージャ２５０と共に、インターネット操作及びローカルのイントラネット操作をサポートする通信プラットフォームを含むシステム内の医療情報及び関連サービスへのアクセスを提供する。システムは、また、ローカルエリアネットワーク（ＬＡＮ）や、広域ネットワーク（ＷＡＮ）、他の病院専用ネットワーク又は他の医療（又は他の）システム及び通信網を含む他のネットワークを含むことができる。
【００１６】
ウェブアプリケーション層９８４に存在するアプリケーション（例えば、アプリケーション２００及び２３０）は、表１〜表１７に示したコマンドデータ構造を含むユーザインタフェース相互運用プロトコル（ＵＩＩＰ）データフォーマット９７５を使用してマネージャ２５０と通信する。ＵＩＩＰコマンド及び応答データ９７５は、ＴＣＰ／ＩＰ（伝送制御プロトコル／インターネットプロトコル）層９７１を含む。アプリケーション２００及び２３０は、図２に示したようなコマンド２２２、２２４、２２６、２３３、２３７、２４７及び２５５においてマネージャ２５０と通信する際に、ＵＩＩＰ９７５及びＴＣＰ／ＩＰ９７１層を使用する。また、マネージャ２５０は、図２のコマンド２５７において例示したように、ＨＴＴＰ９７３及びＴＣＰ／ＩＰ９７１プロトコルを使用して、アプリケーション２００及び２３０と通信する。ブラウザ１０並びにアプリケーション２００及び２３０は、図２に関して前に説明し示したように、ＵＩＩＰ９７５に従って処理されたデータ文字列をＴＣＰ／ＩＰ９７１及びＨＴＴＰ９７３フォーマットＵＲＬを使用して通信する。
【００１７】
図５は、本発明の好ましい実施形態によるウェブブラウザ、子アプリケーション、親アプリケーション、管理アプリケーション（例えば、ＧＳＭ）、及びＣＣＯＷコンテキストマネージャを含むシステムプロトコルの動作を示すシステムコマンドの流れ図を示す。好ましい実施形態において、１組のＧＳＭアプリケーションプログラムインタフェース（ＡＰＩ）が、ＨＬ７ＣＣＯＷ（Clinical Content Object Workgroupの保健水準７）準拠の共通コンテキストをサポートする。追加の抽象化層（abstractionlayer）は、好ましい共通コンテキストを実現するために、ＧＳＭセッションの属性及びメソッドを追加のコンテキストの属性及びメソッドと組み合わせる。この組み合せにより、ＧＳＭメソッド及び属性の選択に基づいて、共通コンテキストを使用するか又は使用せずにアプリケーションを実行することができる。アプリケーションは、ＧＳＭＡＰＩと対話し、ＧＳＭ２５０は、セッションと共通コンテキストを統合する役割をする。ＧＳＭ２５０は、ＨＬ７ＣＣＯＷ基準に適合するコンテキストマネージャコンポーネント２３６を含むことが好ましい。アプリケーションは、サードパーティ製品との相互運用のために共通コンテキスト属性及びメソッドを使用する。アプリケーションは、共通コンテキストに依存することなく相互運用する。
【００１８】
共通コンテキストをサポートするアプリケーションは、ＣＣＯＷ環境で動作するときにコンテキストに注意を払うために追加の処理を行う。従来の親−子スタイルは、ＣＣＯＷ環境で実行されるかどうかに関係なく、アプリケーションの相互運用についてサポートされる。
【００１９】
ＣＣＯＷをサポートするアプリケーションのために第２のＧＳＭＡＰＩセットが作成される。第２のＧＳＭ ＡＰＩセットは、幾つかの拡張を有する既存のメソッド（例えば、追加の属性と状況）と、共通コンテキストをサポートする幾つかの追加のメソッドからなる。
【００２０】
このシステムは、ソフトウェアで実現されることが好ましいが、ハードウェア或いはハードウェアとソフトウェアの組み合わせとして実現されてもよい。本発明を実施するために、ハードウェア及び／又はソフトウェアの様々な組み合わせ並びにハードウェア及び／又はソフトウェアの様々なロケーションを使用することができる。例えば、システムがハードウェアフォーマットで実現されるとき、又は概念的要素の集合として見られるとき、システムは、データプロセッサ（通信プロセッサ又は変換プロセッサとしても知られる）、第１のインタフェースプロセッサ、及び第２のインタフェースプロセッサを含む。データプロセッサは、第１のアプリケーションから受け取ったコンテキストデータを、第２のアプリケーションのインタフェースデータフォーマットと互換性を有するようにフォーマットする。データプロセッサは、受け取ったコンテキストデータを、好ましくは共通コンテキスト識別（ＩＤ）として表される、第３のアプリケーションへのネットワーク接続を識別する標識の検査に応じて、第３のアプリケーションのインタフェースデータフォーマットと互換性を有するようにフォーマットする。第１のインタフェースプロセッサは、フォーマット済みの互換性を有するコンテキストデータを第２のアプリケーションに送る。第２のインタフェースプロセッサは、フォーマット済みの互換性を有するコンテキストデータを第３のアプリケーションに送る。第１、第２及び第３のアプリケーションは、親アプリケーション２００、ＧＳＭアプリケーション２５０、及び子アプリケーション２３０にそれぞれ対応していることが好ましい。
【００２１】
メソッドの視点から見て、システムは、複数のネットワーク対応アプリケーションの並行動作を、それに対応する複数の異なる動作のインタフェースを使用してサポートする。システムは、第１のアプリケーションからコンテキストデータを受け取る。システムは、受け取ったコンテキストデータを、第１のコンテキストマネージャ（例えば、ＧＳＭ２５０）に送るために、第１のフォーマットにフォーマットする。システムは、受け取ったコンテキストデータを、第２のコンテキストマネージャ（例えば、ＣＣＯＷコンテキストマネージャ２３６）に送るために第２のフォーマットにフォーマットする。システムは、第１のコマンドフォーマットインタフェースタイプ（例えば、ＧＳＭ２５０と互換性を有する）を使用するアプリケーションへのコンテキストデータの通信を管理するためにフォーマットしたコンテキストデータを受け取る。システムは、第２のコマンドフォーマットインタフェースタイプ（例えば、ＣＣＯＷインタフェースマネージャ２３６と互換性を有する）を使用するアプリケーションへのコンテキストデータの通信を管理するためにフォーマットしたコンテキストデータを受け取る。
【００２２】
コンテキストデータは、ユーザ識別情報、暗号キー、アプリケーションコンテキストの単一インスタンスを識別するコンテキスト識別子、及び／又はユーザ開始セッションを識別し複数の並行動作アプリケーションによって使用されてユーザ開始セッションを一意に識別するセッション識別子を含むことが好ましい。第２のアプリケーションは、複数のネットワーク対応アプリケーションの並行動作をサポートするＧＳＭ等の管理アプリケーションであることが好ましい。第３のアプリケーションは、Clinical Context Object Workgroup（ＣＣＯＷ）対応アプリケーションであり、データプロセッサは、受け取ったコンテキストデータを、ＣＣＯＷインタフェースデータフォーマットと互換性を有するようにフォーマットすることが好ましい。
【００２３】
ＧＳＭメソッド−概要 
１組のメソッドは、共通コンテキストについてのみ動作する（本明細書ではそのようなメソッドの前に「ＣＣ」を付けている）。そのような追加のメソッドのほとんどは、セッションが存在しないときに共通コンテキストへの参加を確立し維持するために、親アプリケーションによって使用される。セッションは、ユーザログオンとユーザログオフでそれぞれ作成され消滅される。子アプリケーションによって使用される共通コンテキスト固有メソッドは、共通コンテキストにデータを設定したり、共通コンテキストからデータを得るために使用されるものである。必要に応じて、子アプリケーションは、共通コンテキストへのセッション参加を中断し再開するためにこのメソッドを使用する。
【００２４】
ＧＳＭ属性−概要 
このＧＳＭメソッドの属性がある。メソッドは、ＣＣＯＷ基準に対応するためにアプリケーションによって必要とされる追加情報を返す。特に、通知アプレット／エージェントへの入力としてアプリケーションによって使用される通知文字列と、現行コンテキストの改正番号を示すコンテキストクーポンである。これらの要素は両方とも、メソッド呼び出しにより共通コンテキストが変化する度に返される。更にＧＳＭメソッドセクションの下で定義された他の属性もある。
【００２５】
追加ＧＳＭイベント／通知−概要 
ＧＳＭコールバックは、更に、ＣＣＯＷ共通コンテキストによって生成されるイベントを含み、これはＧＳＭイベントセクションに記述されている。
【００２６】
実施要件と制約 
ＵＩＩＰ／ＧＳＭは、既存のＵＩＩＰアプリケーションと後方互換性を有する。既存のＧＳＭＡＰＩを使用するアプリケーションと新しいＧＳＭ ＡＰＩを使用するアプリケーションは、アプリケーション変更を何も必要とせずに単一セッション内で共存することができる。
【００２７】
アプリケーションは、２つのＡＰＩセットの一方を使用する。ＣＣＯＷを使用可能なＡＰＩセットを使用するアプリケーションは、非ＣＣＯＷ構成とＣＣＯＷ構成で動作する。アプリケーションは、ＣＣＯＷ環境で動作しているかどうかを判定し、それに従って動作する。
【００２８】
親アプリケーションがＣＣＯＷを使用可能な場合、アプリケーションは、ＣＣＯＷを使用可能なアプリケーションとして動作することができる。
【００２９】
７つの基本機能−概要 
１．ユーザは、親アプリケーション２００のＵＲＬを参照する。
２．親アプリケーション２００は、GSM::CCCreateParticipantInterfaceメソッドを呼び出して、ＧＳＭ２５０に固有コンテキスト参加インタフェースを作成させる。次に、親アプリケーション２００は、ブラウザ１０にあるアプレットを使用して、デスクトップからＣＣＯＷコンテキストハンドルを取得する。コンテキストハンドルは、GSM::CCJoinCommonContextメソッドによってＧＳＭ２５０に渡される。次に、ＧＳＭ２５０は、共通コンテキストに参加する。次に、親アプリケーション２００は、GSM::CCGetCommonContextメソッドを使用して、共通コンテキストに確立されるユーザのアイデンティテイを知ろうとする。
３．ユーザＩＤが共通コンテキストで確立された場合、親アプリケーション２００は、GSM::StartSessionメソッドを呼び出すことによって新しいセッションを開始する。ユーザＩＤが共通コンテキストで確立されていない場合、親アプリケーション２００は、ユーザログオンを有するプロセスを実行する。ユーザが認証された後、親アプリケーションは、GSM::StartSessionメソッドを呼び出す。代替として、リスナーアプレットは、親アプリケーション２００に対する要求を作成した可能性があり、その場合、親アプリケーション２００は、共通コンテキストからユーザＩＤを取得してセッションを開始するプロセスを実行しようとする。
４．この時点で、セッションが作成され、子アプリケーション２３０にリダイレクトする時間である。GSM::StartSessionメソッドがＣＣＯＷコンテキストを実際に変化させている場合は、リダイレクトに含まれる通知アプレットによって使用される通知文字列が返されているはずである。
５．子アプリケーション２３０は、共通コンテキスト管理のためにＧＳＭ２５０と対話する。
６．ユーザがログオフ機能を選択する。親アプリケーション２００は、GSM::EndSessionを呼び出す。ＧＳＭ２５０は、ＣＣＯＷコンテキストの変化（例えば、ユーザサブジェクトを無効にする）によって他のアプリケーションからメッセージが発生したかどうかを確認する。発生した場合、ＧＳＭ２５０は、GSM::StartSessionを呼び出したアプリケーションにそのメッセージを返す。アプリケーションは、ユーザに、ログオフを取り消すかログオフに応じる機能を与える。メッセージが発生しなかったか又はアプリケーションが「オーバライド」セットによってGSM::EndSessionを呼び出した場合（即ち、ユーザ結果が、ユーザが前に進んで終了セッションを引き渡す（commit）ことを望んでいることを示す場合）、ＧＳＭ２５０は、セッションを終了し、ＣＣＯＷユーザサブジェクトを無効にする。
７．ＧＳＭが実際にＣＣＯＷコンテキストを変化させた場合、EndSessionメソッドから通知文字列が返され、子アプリケーションのリダイレクトは、通知アプレットを含むことが必要になる。この時点で、親アプリケーション２００のＵＲＬが再び参照される（例えば、リダイレクトを介して）。しかしながら、親アプリケーション２００は、共通コンテキストに既に参加しており、従って参加インタフェースの作成とＣＣＯＷコンテキストハンドルの取得を省略することができる。
【００３０】
ＧＳＭメソッド−詳細な説明
CCCreateParticipantInterfaceメソッド 
下の表１は、本発明の好ましい実施形態により、親アプリケーション２００から管理アプリケーション２５０に送られる、CCCreateParticipantInterfaceとして記述されたコマンドデータを示す。CCCreateParticipantInterfaceは、セッションの代わりに共通コンテキスト参加インタフェース（ＧＳＭによって使用されＧＳＭに含まれる）を確立するために呼び出される。出力Participantlnterfaceは、デスクトップにある共通コンテキストロケートメソッドに対する入力として使用される。ParticipantInterfaceは、第１のアプリケーション（例えば、親アプリケーション）の通信インタフェースフォーマットタイプを識別する標識を表すことが好ましい。出力ContextIDは、コンテキストを一意に識別する。これは、共通コンテキストに関連付けられたメソッドのキーとして使用される。また、これは、既に確立された共通コンテキストとセッションを関連付けるためにStartSessionメソッドで使用される。出力SMResultは、要求の結果を、成功（例えば、１）又は失敗（例えば、０）として提供する。
【００３１】
（表１）
名前              入出力    型          説明
Participant-Interface  出力  文字列  ＧＳＭによって使用される共通
コンテキスト参加インタフェース
ContextID              出力  文字列  コンテキスト識別子。これは実際には
作成されたコンテキストインタフェース
インスタンスのインデックスである。 
SMResult               出力  整数    要求の結果
・Success（成功）
・Failure（失敗）
【００３２】
CCDestroyParticipantInterfaceメソッド 
下の表２は、本発明の好ましい実施形態に従って親アプリケーション２００とＧＳＭ２５０の間で通信されるCCDestroyParticipantInterfaceとして示される双方向コマンド及び応答データを示す。CCDestroyParticipantInterfaceは、共通コンテキスト参加インタフェースを消滅させるために呼び出される。このメソッドは、アプリケーション終了前に他のＧＳＭメソッドを呼び出した後で呼び出される。入力ContextIDは、コンテキストを一意に識別する。出力SMResultは、要求の結果を、成功（例えば、１）、失敗（例えば、０）、又は該当なし（例えば、−１）として提供する。
【００３３】
（表２）
名前        入出力    型        説明
ContextID   入力     文字列    コンテキスト識別子
SMResult    出力     整数      要求の結果
・Success
・Failure
・Not found（該当なし）
【００３４】
CCJoinCommonContextメソッド 
下の表３は、本発明の好ましい実施形態によりＧＳＭ２５０とＣＣＯＷコンテキストマネージャ２３６の間で通信されるCCJoinCommonContextとして記述された双方向コマンド及び応答データを示す。CCJoinCommonContextは、ContextIDで示された共通コンテキストへの参加をＧＳＭに確立させるために呼び出される。
【００３５】
（表３）
名前          入出力      型      説明
Context      入力    文字列      コンテキストマネージャを参照するためにＧＳＭ
によって使用されるコンテキストハンドル。
このパラメータは、共通コンテキストが支援される
ときは必須である。
ContextID    入力    文字列      コンテキスト識別子
ApplicationName   入力  文字列   共通コンテキストで使用するためにセッション
全体に割り当てられる名前を示す。
ContextKey  入力  文字列又はブール  ＧＳＭと他の共有コンテキストコンポーネント間
の共用キーとして使用される。（これは、ＣＣＯ
Ｗコンポーネント間で公開キーを配布するために
使用される共有秘密キーである。）これは、アプ
リケーションがセキュアな結合（binding）を必
要とすることを示すブール表現でもよく（例え
ば、ＣＣＯＷセキュアアプリケーション）、別の
実施形態では、キー自体でもよい。秘密キー（例
えば、実際のＰＫＩに使用される）は、別の項目
でもよく、ＧＳＭはそれをアプリケーションに使
用することもできる。これは、アプリケーショ
ン、環境及び顧客エンティティがＣＣＯＷコンテ
キストマネージャに関してどのように分割される
かによる。
Suffix      入力      文字列    共通コンテキスト内に使用されている接尾辞を示す。
このパラメータは任意である。
ContextUserMappings  入力  ブール  共通コンテキストマネージャから提供されたユー
ザマッピングがＧＳＭユーザマッピングを設定す
るために使用されるかどうかを示す。
ContextLogoff    入力    ブール    ログオフが共通コンテキストでアプリケーション
のログオフを強制すべきかどうかを示す。［注：
ユーザがこれを制御する別の手段を有する限りＣ
ＣＯＷはこれを必要としない。その例は、ログオ
フ前のコンテキスト中断である］。
ShowLinkIcon    入力    ブール     アプリケーションがリンクアイコンを表示すべき
かどうかを示す
ContextSuspend   入力   整数    アプリケーションがユーザに共通コンテキストからの
セッションを中断することを許可すべきかを示す。
値は、次の通りである。
１．リンクアイコンを示す−中断を許可する。
２．リンクアイコンを示す−中断を許可しない。
３．リンクアイコンを表示しない−中断を許可しない。
ParticipantCoupon  出力  文字列  共通コンテキストマネージャによって指定され
セッション全体によって使用される参加クーポン
を示す。
ContextCoupon    出力    整数    共通コンテキストの現在のリビジョン（revision）
を示す。
RegisterListener-Interface  出力  文字列  RegisterListenerメソッドへのインタ
フェース。これは、リスナーアプレット
によって使用される。
SMResult      出力     整数      要求の結果
・Success 
・Failure 
・Common Context Failure（共通コンテキスト失敗） 
・Not Found
【００３６】
CCGetCommomContextメソッド 
下の表４は、本発明の好ましい実施形態により親アプリケーション２００とＧＳＭ２５０の間で通信されるGetCommonContextとして示された双方向コマンド及び応答データを示す。GetCommonContextは、共通コンテキストの現在の状態を学習するために呼び出される。
【００３７】
（表４）
名前                入出力    型      説明
ContextID           入力    文字列  コンテキスト識別子
ContextCoupon       出力    整数    共通コンテキストの現在のリビジョンを示す。
ContextParticipation  出力  ブール  セッションが現在共通コンテキストから中断
-Suspended                          されているかどうかを示す。
ContextSubject        出力  文字列  各のアプリケーションに割り当てられた
-Privileges                         特権レベルを示す。
UserID            出力    文字列    共通コンテキストユーザサブジェクトで
見出されるUserID
SMResult          出力    整数      要求の結果
・Success 
・Failure 
・Not Found
【００３８】
CCLeaveCommonContextメソッド
下の表５は、本発明の好ましい実施形態により親アプリケーション２００とＧＳＭ２５０の間で通信されるCCLeaveCommonContextと示された双方向コマンド及び応答データを示す。CCLeaveCommonContextは、共通コンテキストへの参加を終了するために呼び出される。
【００３９】
（表５）
名前        入出力   型       説明
ContextID   入力     文字列   コンテキスト識別子
SMResult    出力     整数     要求の結果
・Success 
・Failure
・Not Found
【００４０】
CCSuspendParticipationメソッド
下の表６は、本発明の好ましい実施形態により親アプリケーション２００とＧＳＭ２５０の間で通信されるCCSuspendCommonContextと示された双方向コマンドと応答データを示す。CCSuspendCommonContextは、共通コンテキストマネージャとの対話を中断する。中断されている間、ＧＳＭセッションアプリケーションは、共通コンテキストに関連するイベントを受け取らずまた共通コンテキストマネージャへの参照を実行しない。CCSsuspendedイベントは、アプリケーションに送られる。
【００４１】
（表６）
名前       入出力   型        説明
ContextID  入力     文字列    コンテキスト識別子
SMResult   出力     整数      要求の結果
・Success
・Failure
・Not Found 
【００４２】
下の表７は、本発明の好ましい実施形態により親アプリケーション２００とＧＳＭ２５０の間で通信されるCCResumeCommonContextとして示された双方向コマンド及び応答データを示す。CCResumeCommonContextは、共通コンテキストマネージャとの対話を再開する。CCResumeイベントは、アプリケーションに送られる。
【００４３】
（表７）
名前         入出力   型        説明
ContextID    入力    文字列    コンテキスト識別子
SMResult     出力    整数      要求の結果
・Success 
・Failure 
・Not Found 
【００４４】
StartSession
下の表８は、本発明の好ましい実施形態による親アプリケーション２００とＧＳＭ２５０の間で通信されるStartSessionと示された双方向コマンド及び応答データを示す。StartSessionは、新しいセッションを確立するために呼び出される。StartSessionは、別のアプリケーションへのリンクを生成する前に呼び出されることが好ましい。このメソッドの呼び出し元は、示されたセッションプロパティを評価する役割を果たす。そのようなプロパティの評価（が行われた場合）の仕方がそれらを使用するアプリケーションの挙動に影響を及ぼすことに注意されたい。これらのプロパティはいずれも必須ではない。
【００４５】
共通コンテキストの使用をサポートするとき、指定されたユーザＩＤを、適切にマップされた共通コンテキストユーザサブジェクトと照合して、それらが確実に一致するようにする。不一致がある場合、ユーザ不一致エラー状態が返され、セッションは作成されない。共通コンテキストユーザサブジェクトが設定されていない場合は、このメソッドがそれを設定する。
【００４６】
表８と表１２において、ＵＲＬデータを暗号化し及び／又は解読するためにセッションキーを使用することが好ましい。セッションキーは、ＵＲＬデータで伝えられることが好ましい。管理アプリケーションへのセッション開始要求によって、第１のアプリケーション（例えば、親アプリケーション２００）によって使用される、ユーザ開始セッションに特定の暗号キー及び／又は解読キーの生成が開始されることが好ましい。暗号キー及び／又は解読キーは、個人レコードと関連するデータを暗号化する際に複数の並列に動作するアプリケーションによって共用されることが好ましい。暗号キージェネレータは、セッション開始要求に応じて、ユーザ開始セッションに特定の暗号キーをランダムに生成することが好ましい。
【００４７】
表８において、更に表９、表１０、表１１、表１２、表１３、表１４、表１５、表１６及び表１７おいても、ＧＳＭ２５０は、固有セッション識別子（SessionID）を割り当てることが好ましい。
【００４８】
（表８）
名前       出力    型      説明
ContextID  入力  文字列  コンテキスト識別子。このフィールドが指定されていると
セッションが共通コンテキストに参加していることを示す。
ContextCoupon  入力  整数  アプリケーションが検討しているコンテキストクーポンが
最新であることを示す。これが実際の最新のコンテキスト
と同じでない場合はエラーが返される。
AuthServer  入力  文字列  認証サービス名。これは、ユーザを認証するために使用
される認証システム（データベース）を識別する。これは、
UserIDと共に、複数のシステムにわたって（所定のユーザ
の）ユーザＩＤをマップするために、ユーザマッピング
ツール内へのキーとして使用される。このフィールドが
どのように構成されるかの説明は、付録Ｂを参照されたい。
Language  入力  文字列  言語と国の識別。インターネットＲＦＣ１７６６（即ち、言語
コードの規格）が使用されることが好ましい。
LogoffURL  入力  文字列  セッションタイムアウトが検出されたときにユーザをログ
オン画面にリダイレクトするために使用されるＵＲＬ。
ＵＲＬは完全にクオリファイ（qualify）される（即ち、
相対的なアドレス指定ではない）。
LogoffURLTarget   入力   文字列   ブラウザをLogoffURLにリダイレクトするときに
ターゲットにされるフレームの名前。
Timeout   入力    整数    秒で表したセッションタイムアウト。省略された場合、
タイムアウトはデフォルトで１０分になる。
UserID    入力    文字列   ユーザ識別。このＩＤ（AuthServerプロパティと共に）
は、ユーザの識別をサポートするために使用される。この
ＩＤは、ユーザを認証するために使用されるUserIDで
なければならない。（AuthServerを参照）
SessID   出力   文字列    ＧＳＭで割り当てられた固有セッション識別子。
SessionKey  出力  文字列  ＵＲＬデータを暗号化し解読するために使用されるキー。
SMResult    出力  整数    要求の結果
・Success
・Failure
・User Mismatch（ユーザ不一致） 
・Invalid Context Coupon（無効コンテキストクーポン）
・NoContinue（継続なし）
・NoCommonContext（共通コンテキストなし）
・NoPrivilege（特権なし） 
Notification  出力  文字列  ＵＩ通知エージェントへの入力として提供される
オパーク文字列（opaque  string）。
ContextChangeCoupon  出力  整数  この値は、メソッドが共通コンテキストを変化させ
た場合に設定される。その場合、これは共通コンテ
キストの新しいリビジョンを示す。
【００４９】
EndSessionメソッド 
下の表９は、本発明の好ましい実施形態による親アプリケーション２００とＧＳＭ２５０の間で通信されるEndSessionと示された双方向コマンド及び応答データを示す。EndSessionは、セッションを終了するときに呼び出される。このメソッドの呼び出しは、セッションを論理的に削除し、ユーザがサインオフするときに最もよく使用される。結果「Failure」は、様々な理由のために返されることがあるが、セッションを終了するときは無視しても問題ない。結果「NotFound」は、指定されたセッションが存在しないと示す。また、このエラーは、無視しても問題ないが、アプリケーションロジックに関する問題を示すことがある。
【００５０】
共通コンテキストからセッションが中断されていなかった場合、ＧＳＭは、共通コンテキストユーザサブジェクトをヌルにセットする。（ログオフの一部として、また属性CCLogoffが偽にセットされている場合はこのメソッドを呼び出す前に、アプリケーションがＣＯＷコンテキストからセッションを中断する必要があることに注意されたい。）
【００５１】
他の共通コンテキストアプリケーションから条件付き応答がある場合に、その応答はMessage属性で返される。
【００５２】
（表９）
名前      入出力     型     説明
SessID     入力   文字列   セッション識別子
Override   入力   ブール   アプリケーションに照会することなくセッションが
終了されることを示す。
SMResult   出力   整数     要求の結果
・Success
・Failure
・Not Found
・NoContinue
Messages  出力  文字列配列  ユーザがコンテキストを変化させたくない理由を
記述するメッセージの配列
Notification  出力  文字列  ＵＩ通知エージェントに入力として提供される
オパーク文字列。
ContextChange-Coupon  出力  整数  この値は、メソッドが共通コンテキストを変化させ
た場合に設定される。その場合、共通コンテキスト
の新しいリビジョンを示す。
【００５３】
RegisterUserMappingメソッド 
下の表１０は、本発明の好ましい実施形態により親アプリケーション２００とＧＳＭ２５０の間で通信されるRegisterUserMappingとして示される双方向コマンドと応答データを示す。RegisterUserMappingは、セッションコンテキストにユーザマッピングを追加するために呼び出される。マッピングは、マップ名とその関連ユーザ識別子からなる。このメソッドによって提供されるユーザマッピングは、ユーザ識別を決定するために参加アプリケーションによって使用される。ユーザ識別は、GetUserMappingメソッドによって取り出される。結果「Faulure」は、サービスが利用できないことを示す。これは、一時的な状態（例えば、ネットワークの問題）によることもあり、永久的な状態（例えば、構成エラー）によることもある。エラー「NotFound」は、ＧＳＭに要求セッションＩＤのレコードがないことを示す。呼出しアプリケーションは、セッションが活動状態でなくなったことと、ユーザがログオン画面に進んで再起動すべきであることを示すメッセージを表示するはずである。エラー「TimeOut」は、セッションがタイムアウトしたことを示す。アプリケーションは、GetSessionメソッドからのLogoffURLTargetプロパティに見られるフレームをターゲットとするLogoffURLプロパティに見られるＵＲＬにブラウザをリダイレクトしなければならない。
【００５４】
（表１０）
名前        入出力     型      説明
SessID      入力     文字列   セッション識別子
AuthServer  入力     文字列   UserIDが関連付けられるユーザデータベースを
識別するために使用される文字列。
UserID      入力     文字列   ユーザ識別子
SMResult    出力     整数     要求の結果
・Success
・Failure
・Not Found
・Time-out
Notification  出力 文字列     ＵＩ通知エージェントに入力として提供される
オパーク文字列。
ContextChange-   出力  整数   この値は、メソッドが共通コンテキストを変化させた
Coupon                        場合に設定される。その場合、これは共通コンテキスト
の新しいリビジョンを示す。
【００５５】
GetUserMappingメソッド
下の表１１は、本発明の好ましい実施形態により子アプリケーション２３０とＧＳＭ２５０の間で通信されるGetUserMappingとして示される双方向コマンド及び応答データを示す。GetUserMappingは、所定の認証サービス又はユーザデータベースのユーザ識別子を検索するために呼び出される。AuthServerは、どのユーザ識別子を検索するのかを示すために入力として渡される。結果「Failure」は、サービスが利用できないことを示す。これは、一時的な状態（例えば、ネットワークの問題）によることもあり、永久的な状態（例えば、構成エラー）によることもある。エラー「NotFound」は、ＧＳＭに要求セッションＩＤのレコードがないことを示す。呼出しアプリケーションは、セッションが活動状態でなくなったことと、彼／彼女がログオン画面に進んで再起動すべきであることを示すメッセージを表示するはずである。エラー「TimeOut」は、セッションがタイムアウトしたことを示す。アプリケーションは、GetSessionメソッドからのLogoffURLTargetプロパティに見られるフレームをターゲットするLogoffURLプロパティに見られるＵＲＬにブラウザをリダイレクトしなければならない。
【００５６】
（表１１）
名前    入出力   型      説明
SessID     入力   文字列    セッション識別子
AuthServer  入力  文字列    UserIDが関連付けられたユーザデータベースを
識別するために使用される文字列。
UserID     出力    文字列  ユーザ識別子
SMResult   出力    整数     要求の結果
・Success
・Failure
・Not Found
・Time-out
Notification  出力  文字列  ＵＩ通知エージェントへの入力として提供される
オパーク文字列。
ContextChange-Coupon  出力  整数  この値は、メソッドが共通コンテキストを変化させ
た場合に設定される。その場合、これは共通コンテ
キストの新しいリビジョンを示す。
【００５７】
GetSessionメソッド
下の表１２は、本発明の好ましい実施形態により子アプリケーション２３０とＧＳＭ２５０の間で通信されるGetSessionとして示された双方向コマンド及び応答データを示す。GetSessionは、ＧＳＭ２５０によって維持されるセッションコンテキストを取り出すために呼び出される。ＧＳＭ２５０は、第１のアプリケーション（例えば、親アプリケーション）からセッション開始要求を受け取ったとき、第１のアプリケーション（例えば、親アプリケーション）の通信インタフェースフォーマットタイプを識別する標識（例えば、表１のParticipantlnterface）の検査に応じて決定された通信フォーマットで第１のアプリケーション（例えば、親アプリケーション）にセッション識別子を送るために、ユーザ開始セッションに特有のセッション識別子を生成することが好ましい。
【００５８】
GetSessionメソッドの呼び出しが成功すると、セッション活動タイムスタンプが更新される。結果「Failure」は、サービスが利用できないことを示す。これは、一時的な状態（例えば、ネットワークの問題）によることもあり、永久的な状態（例えば、構成エラー）によることもある。エラー「NotFound」は、ＧＳＭに要求セッションＩＤのレコードがないことを示す。呼出しアプリケーションは、セッションが活動状態でなくなったことと、彼／彼女がログオン画面に進んで再起動すべきであることを示すメッセージを表示するはずである。エラー「TimeOut」は、セッションがタイムアウトしたことを示す。この場合、プロパティLogoffURLとLogoffURLTargetと、場合によってはNotificationとContextChangeCouponも、呼出しアプリケーションに返される。他のプロパティは評価されない。アプリケーションは、LogoffURLTargetプロパティに見られるフレームをターゲットにするLogoffURLプロパティに見られるＵＲＬにブラウザをリダイレクトするはずである。
【００５９】
（表１２）
名前       入出力   型      説明
SessID     入力   文字列  セッション識別子
AuthServer  出力  文字列  これは、ユーザを認証するために使用される認証システム
（データベース）を識別する。（詳細は付録Ｂを参照。）
Language   出力  文字列  言語と国の識別。インターネットＲＦＣ１７６６（言語
コード規格）が使用される。
LogoffURL  出力  文字列  セッションタイムアウトが検出されたときにユーザをログ
オン画面にリダイレクトするために使用されるＵＲＬ。この
ＵＲＬは、完全にクオリファイされる（相対アドレス指定で
はない）。空白の場合は、アプリケーションはブラウザに
白紙ページを返すはずである。
LogoffURLTarget  出力  文字列  ブラウザがLogoffURLにリダイレクトされたときの
ターゲットとなるフレームの名前。空白の場合は、
ターゲットフレームが指定されていないはずである。
Timeout    出力   整数     秒で表したセッションタイムアウト。
UserID     出力   文字列   ユーザを認証するために使用されるユーザ識別。
SessionKey  出力  文字列   ＵＲＬデータを暗号化し解読するために使用されるキー。
CommonContext-Support  出力  ブール  セッションが共通コンテキストを支援している
かどうかを示す。
ContextID   入力  文字列    コンテキスト識別子
RegisterListener-Interface  出力  文字列  RegisterListenerメソッドへのインタ
フェース。これは、リスナーアプレット
によって使用される。
Participant-Coupon  出力  文字列  共通コンテキストマネージャによって割り当てられ
セッション全体によって使用される参加クーポン
を示す。
ContextCoupon    出力  整数    共通コンテキストの現在のリビジョンを示す。
ContextLogoff    出力  ブール  ログオフが共通コンテキストアプリケーションの
ログオフを強制するべきかどうか示す。
ContextSuspend   出力  整数  アプリケーションがユーザに共通コンテキストから
セッションを中断することを許可するかどうかを示す。                             値を以下に示す。
１．リンクアイコンを表示する−中断を許可する
２．リンクアイコンを表示する−中断を許可しない。
３．リンクアイコンを表示しない−中断を許可しない。
ContextSubject-Privileges  出力  文字列  各共通コンテキストサブジェクトごとに
アプリケーションに割り当てられた
特権レベルを示す。
Context-Participation-Suspended  出力  ブール  セッションが現在共通コンテキスト
から中断されているかどうかを示す。
SMResult    出力    整数      要求の結果。
・Success 
・Failure
・Not Found
・Time-out 
Notification   出力  文字列   ＵＩ通知エージェントへの入力として提供される
オパーク文字列。
ContextChange-Coupon  出力  整数  この値は、メソッドが共通コンテキストを変化
させた場合に設定される。その場合、これは共通
コンテキストの新しいのリビジョンを示す。
【００６０】
RegisterCallbackメソッド 
下の表１３は、本発明の好ましい実施形態により親アプリケーション２００又は子アプリケーション２３０とＧＳＭ２５０の間で通信されるRegisterCallbackとして示された双方向コマンド及び応答データを示す。RegisterCallbackは、終了セッションイベントが生じたときに呼び出されるＵＲＬをアプリケーションがＧＳＭに登録したいときに呼び出される。RegisterCallbackを呼び出すと、セッション活動タイムスタンプが更新される。結果「Failure」は、サービスが利用できないことを示す。これは一時的な状態（例えば、ネットワークの問題）によることもあり、永久的な状態（例えば、構成エラー）によることもある。エラー「NotFound」は、要求されたセッションＩＤのレコードがＧＳＭにないことを示す。呼出しアプリケーションは、セッションが活動状態でなくなったことと、彼／彼女がログオン画面に進んで再起動すべきであることを示すメッセージを表示するはずである。エラー「TimeOut」は、セッションがタイムアウトしたことを示す。アプリケーションは、LogoffURLTargetプロパティに見られるフレームをターゲットとするLogoffURLプロパティに見られるＵＲＬにブラウザをリダイレクトするはずである。
【００６１】
（表１３）
名前     入出力      型      説明
SessID    入力     文字列    セッション識別子
CallbackURL  入力  文字列  指定したセッションイベントが生じたときに接続される
ＵＲＬ。これは、パス情報と照会データを完全に備えた
任意の有効なＵＲＬでよい。このプロパティで入力された
ＵＲＬがそのまま参照される。ここで指定されたＵＲＬ
は、コールバックを呼び出すＧＳＭが動作するネット
ワークセグメントで有効であることが好ましい（即ち、
ネットワークアドレス変換（ＮＡＴ）を考慮しなければ
ならない）
CallbackType  入力  整数   このコールバックをトリガするイベントの型。
可能な値は次の通りである。
・終了セッションイベント
・コンテキスト変更調査
・コンテキスト変更イベント
・コンテキスト中断
・コンテキスト再開
SMResult   出力   整数     要求の結果 
・Success 
・Failure
・Not Found
・Time-out
Notification  出力  文字列  ＵＩ通知エージェントへの入力として提供される
パーク文字列。
ContextChange-Coupon  出力  整数  この値は、メソッドが共通コンテキストを変化させ
た場合に設定される。その場合、これは共通コンテ
キストの新しいリビジョンを示す。
【００６２】
NotifySessionメソッド 
下の表１４は、本発明の好ましい実施形態により子アプリケーション２３０又は親アプリケーション２００とＧＳＭ２５０の間で通信されるNotifySessionとして示された双方向コマンド及び応答データを示す。NotifySessionは、アプリケーションがその活動状態を更新したい場合に呼び出される。これは、ユーザとの交換が行われる度に親アプリケーションと子アプリケーションの両方によって呼び出される。ＧＳＭは、通知された時間を記録する。また、GetSessionとRegisterCallbackを呼び出すと、セッション活動タイムスタンプが更新される。結果「Failure」は、サービスが利用できないことを示す。これは、一時的な状態（例えば、ネットワークの問題）のこともあり、永久的な状態（例えば、構成エラー）によることもある。エラー「NotFound」は、ＧＳＭに要求セッションＩＤのレコードがないことを示す。呼出しアプリケーションは、セッションが活動状態でなくなったことと、彼／彼女がログオン画面に進んで再起動するべきであることを示すメッセージを表示するはずである。エラー「Time Out」は、セッションがタイムアウトしたことを示す。アプリケーションは、LogoffURLTargetプロパティで見られるフレームをターゲットとするLogoffURLプロパティに見られるＵＲＬにブラウザをリダイレクトするはずである。
【００６３】
（表１４）
名前      入出力     型      説明
SessID     入力     文字列   セッション識別
SMResult   出力     整数     要求の結果
・Success
・Failure
・Not Found
・Time-out
Notification  出力  文字列   ＵＩ通知エージェントへの入力として提供される
オパーク文字列
ContextChange-Coupon  出力  整数  この値は、メソッドが共通コンテキストを変化させ
た場合に設定される。その場合、これは共通コンテ
キストの新しいリビジョンを示す。
【００６４】
GetSessionStateメソッド 
下の表１５は、本発明の好ましい実施形態により子アプリケーション２３０又は親アプリケーション２００とＧＳＭ２５０との間で通信されるGetSessionStateと示された双方向コマンドと応答データを示す。GetSessionStateは、セッションの現在の状態をその状態を変化させることなく知るために呼び出される。それは、最後の活動が記録されてからの秒数とタイムアウトしきい値を返す。GetSessionStateの呼び出しによってセッション活動タイムスタンプが更新されないことが好ましい。結果「Failure」は、サービスが利用できないことを示す。これは、一時的な状態（例えば、ネットワークの問題）のこともあり、永久的な状態（例えば、構成エラー）によることもある。エラー「NotFound」は、ＧＳＭに要求セッションＩＤのレコードがないことを示す。呼出しアプリケーションは、セッションが活動状態でなくなったことと、彼／彼女がログオン画面に進んで再起動すべきであることを示すメッセージを表示するはずである。エラー「TimeOut」は、セッションがタイムアウトしたことを示す。アプリケーションは、LogoffURLTargetプロパティに見られるフレームをターゲットとするLogoffURLプロパティに見られるＵＲＬにブラウザをリダイレクトするはずである。
【００６５】
（表１５）
名前          入出力   型      説明
SessID         入力  文字列  セッション識別子
Activitylnterval 出力 整数   最後の活動からの秒数
Timeout        出力  整数    秒で表したセッションタイムアウト
ContextCoupon  出力  整数    共通コンテキストの現在のリビジョンを示す。
ContextPartici-pationSuspended  出力  ブール  セッションが現在共通コンテキスト
から中断されているかどうかを示す。
ContextSubject-Privileges  出力  文字列  各共通コンテキストサブジェクトのアプリ
ケーションに割り当てられた特権レベルを
示す。
SMResult         出力       整数         要求の結果
・Success
・Failure
・Not Found
・Time-out
Notification     出力     文字列    ＵＩ通知エージェントへの入力として提供される
オパーク文字列。
ContextChange-Coupon  出力  整数  コンテキストの最新リビジョンを示す。この値は、
コンテキストが変更されるたびに増分される。
【００６６】
CCSetCommonContextItemsメソッド 
下の表１６は、本発明の好ましい実施形態により子アプリケーション２３０又は親アプリケーション２００とＧＳＭ２５０との間で通信されるSetCommonContextItemsとして示される双方向コマンド及び応答データを示す。SetCommonContextItemsは、共通コンテキスト内にデータをセットし、共通コンテキスト項目を削除するために呼び出される。データ名は、ＨＬ７ＣＣＯＷデータ命名規則に従う。
【００６７】
（表１６）
名前        入出力   型      説明
SessID       入力  文字列  セッション識別子
DeleteItems  入力  文字列  削除されるデータ項目の名前を示す文字列。
SetItems    入力  文字列  セットされるデータ項目の名前をその値と共に示す文字列。
Override    入力  ブール  アプリケーションに照会することなくデータがセット
されることを示す。
ContextCoupon  入力  整数  アプリケーションが考えているコンテキストクーポンが
最新であることを示す。これが実際の最新のコンテキスト
と同じでない場合はエラーが返される。
SMResult     出力   整数    要求の結果
・Success
・Failure
・Not Found
・Time-out
・Invalid Context Coupon
・NoContinue
・NoCommonContext
・ParticipationSuspended
Messages  出力  文字列配列  ユーザがコンテキストを変更したくない理由を示す
メッセージの配列。
Notification  出力  文字列  ＵＩ通知エージェントに入力として提供される
オパーク文字列。
ContextChange-Coupon  出力  整数   この値は、メソッドが共通コンテキストを変化
させた場合に設定される。その場合、これは共通
コンテキストの新しいリビジョンを示す。
【００６８】
CCGetCommonContextItemsメソッド 
下の表１７は、本発明の好ましい実施形態により子アプリケーション２３０又は親アプリケーション２００とＧＳＭ２５０との間で通信されるGetCommonContextItemsとして示された双方向コマンド及び応答データを示す。GetCommonContextItemsは、共通コンテキストからデータ要素の名前と値のリストを得るために呼び出される。データ名は、ＨＬ７ＣＣＯＷデータ命名規則に従う。項目のサブセットを要求することができる。
【００６９】
（表１７）
名前        入出力   型      説明
SessID       入力   文字列   セッション識別子
ItemsFilter  入力   文字列   取り込むデータ項目値の名前を示す文字列。
Items        入力   文字列   要求したデータの項目名と値のペアの文字列。
SMResult     出力   整数     要求の結果。
・Success
・Failure
・Not Found
・Time-out
・NoCommonContext
・ParticipationSuspended（参加中断）
Messages    出力  文字列配列  ユーザがコンテキストを変化させたくない理由を示す
メッセージの配列。
Notification  出力  文字列    ＵＩ通知エージェントに入力として提供される
オパーク文字列。
ContextChange-Coupon  出力  整数  この値は、メソッドが共通コンテキストを変化させ
た場合に設定される。その場合、これは共通コンテ
キストの新しいリビジョンを示す。
【００７０】
ＧＳＭイベント 
このセクションは、ＧＳＭと関連するか又はＧＳＭから開始される様々なイベントに関するアプリケーションとＧＳＭの相互作用を示す。共通コンテキストが存在すると仮定する。
【００７１】
TimeOutイベント 
タイムアウトイベントは、アプリケーションが、タイムアウトしたセッションを参照するときに生じる。これは、実際の非同期イベントではなく、ＧＳＭを参照するアプリケーションによってトリガされることに注意されたい。タイムアウトの場合、ＧＳＭは、ＣＣＯＷコンテキストユーザサブジェクトをヌルにセットしようとする。条件付き応答又は使用中のアプリケーションがある場合は、ＣＣＯＷコンテキスト変更トランザクションが取り消され、セッションの無活動タイマがリセットされる。呼出しアプリケーションは、タイムアウト状況を受け取らない。実際には、他のＣＣＯＷアプリケーションからの応答によりセッションタイムアウトが取り消される。
【００７２】
ＣＣＯＷアプリケーションからの条件付き調査応答がない場合、ＣＣＯＷコンテキストユーザサブジェクトはヌルにセットされ、ＣＣＯＷコンテキスト変更トランザクションがコミットされ、ＧＳＭはそのタイムアウト処理を続ける。即ち、ＧＳＭセッションが終了され、「終了セッション」イベント通知が送られ、「タイムアウト」状況（通知文字列を有する）が呼び出し元に返される。
【００７３】
EndSessionイベント 
EndSessionコールバックを登録したアプリケーションは、ＧＳＭがＧＳＭセッションを終了したときにEndSessionイベントを受け取る。ＧＳＭは、ＧＳＭアプリケーションがEndSessionメソッドを呼び出したときか、アプリケーションがタイムアウトしたセッションを参照するときか、又はＣＣＯＷユーザサブジェクトがヌルにセットされたときにセッションを終了する。
【００７４】
CCContextChangedSurveyイベント 
アプリケーションが共通コンテキストを変更しようとするたびにコンテキスト変化調査イベントが生じる。調査するように登録された全てのアプリケーションが、このイベントを受け取る。アプリケーションはこれに応じて、エンドユーザにＯＫ状況又はテキスト文字列を表示して、ユーザがコンテキストを変更したくない理由を示す。
【００７５】
このイベントで渡されるパラメータは、次の通りである。 
・変更される共通コンテキストサブジェクト名のリスト。
【００７６】
CCContextChangedイベント 
共通コンテキストが変更されるたびにコンテキスト変更イベントが生じる。イベントに登録された全てのアプリケーションが通知を受け取る。
【００７７】
このイベントで渡されるパラメータは、次の通りである。 
・変更される共通コンテキストサブジェクト名のリスト。 
・コンテキストの新しいリビジョンナンバーを示すコンテキストクーポン。
【００７８】
CCSuspendParticipationイベント 
ＵＩＩＰアプリケーションがCCSuspendParticipationメソッドを呼び出す度に中断イベントが生じる。
【００７９】
CCResumeParticipationイベント 
ＵＩＩＰアプリケーションがCCResumeParticipationメソッドを呼び出す度にＣＣ再開イベントが生じる。
【００８０】
このイベントで渡されるパラメータは、次の通りである。
・コンテキストの新しいリビジョンナンバーを示すコンテキストクーポン。
【００８１】
CCOWイベント 
このセクションは、ＣＣＯＷ生成イベントのＧＳＭ処理を示す。ＣＣＯＷ生成イベントは、アプリケーションによって直接処理されない。
【００８２】
ContextChangesPendingイベント 
ＣＣＯＷコンテキストと関連付けられたＧＳＭセッションがコンテキスト変更調査のために登録されたコールバックを有するかどうか検査する。その場合、適切なコールバックが呼び出され、適切な調査状況とテキストメッセージがＣＣＯＷコンテキストマネージャに返される。
【００８３】
ContextChangesAcceptedイベント 
ＣＣＯＷユーザサブジェクトが変化した場合、ＧＳＭセッションは終了され、「終了セッション」通知メッセージが、適切なセッションアプリケーションに送られる。他のデータ項目が変化した場合、ＧＳＭ「コンテキスト変更」通知イベントが、適切なアプリケーションに送られる。
【００８４】
ContextChangesCanceledイベント 
コンテキストの取消しは、ＧＳＭ又はセッションアプリケーションに影響しない。
【００８５】
CommonContextTerminatedイベント 
このイベントは、回復不能エラーとして扱われる。ＧＳＭはＧＳＭセッションを終了し、ＣＣＯＷコンテキストに対する参照を削除し、「終了セッション」通知メッセージを適切なアプリケーションに送る。
【００８６】
Pingイベント 
ＧＳＭは、指定されたコンテキストの共通コンテキストインタフェースが存在する場合にピング（ping）に応える。
【００８７】
本発明の好ましい実施形態を要約すると、適応システムは、様々なネットワーク（インターネットを含む）対応アプリケーションの並列使用をサポートする様々なアプリケーション相互運用方法及び動作インタフェースの使用をサポートする。
【００８８】
図２、図３、図４及び図５に示したアーキテクチャとプロセスは排他的ではなく、表１〜表１７のデータフォーマットは、様々な要素及びプロパティに対応するように適応可能である。また、同じ目的を達成するために、本発明の原理による他のアーキテクチャ及びプロセスを導き出すことができる。更に、図２と図５の通信プロセス及び段階並びに表１〜表１７のデータフォーマットは、機能によって異なる様々なプラットフォーム上で実現されることができ、パーソナルコンピュータ（ＰＣ）や他の処理装置又はシステム等の処理装置の内部のアプリケーション内で適用することができる。図２と図５の通信プロセス並びに表１〜表１７のデータフォーマットは、また、インターネット又はイントラネット（又は、他の任意のタイプのネットワーク）を利用したワークフロー又はタスクの実施に適用することできる。本発明の原理は、様々なアプリケーションの並行動作を含む任意のシステムに使用することができる。
【００８９】
従って、本発明をその様々な実例となる実施形態に関して説明したが、本発明は、本発明をそのような特定の実施形態に限定するように意図されていない。当業者は、添付の特許請求の範囲に示されているような本発明の精神及び範囲から逸脱することなく、開示した内容の変形、修正及び組み合わせを行うことができることを理解するであろう。
【図面の簡単な説明】
【００９０】
【図１】本発明の好ましい実施形態による複数の医療関連アプリケーションに対する複数のリンクを含むウェブブラウザウィンドウを示す図である。
【図２】本発明の好ましい実施形態による、管理アプリケーション（例えば、グローバルセッションマネージャ（ＧＳＭ））、２つのアプリケーション、及びウェブブラウザを含むシステムプロトコル動作を示すシステムコマンドの流れ図である。
【図３】本発明の好ましい実施形態による複数の並行動作アプリケーション、管理アプリケーション、及びＣＣＯＷインタフェースマネージャ間のコマンド相互作用を示す図である。
【図４】本発明の好ましい実施形態による相互運用プロトコルを含むシステム階層プロトコル層の図である。
【図５】本発明の好ましい実施形態による、ウェブブラウザ、子アプリケーション、親アプリケーション、管理アプリケーション（例えば、ＧＳＭ）、及びＣＣＯＷコンテキストマネージャを含むシステムプロトコルの動作を示すシステムコマンドの流れ図である。
【符号の説明】
【００９１】
１０  ブラウザ
２００  親アプリケーション
２３０  子アプリケーション
２３６  ＣＣＯＷコンテキストマネージャ
２５０  ＧＳＭ（グローバルセッションマネージャ）
【図１】
2005530229.tif 000003
【図２】
2005530229.tif 000004
【図３】
2005530229.tif 000005
【図４】
2005530229.tif 000006
【図５】
2005530229.tif 000007
【国際調査報告】
2005530229.tif 000008
2005530229.tif 000009
2005530229.tif 000010