(57)【特許請求の範囲】
【請求項１】
プロセッサを備えるシステムであって、前記システムは複数の通信媒体に結合され、前記プロセッサは、
第１のメッセージを生成するステップと、
前記第１のメッセージを前記複数の通信媒体のうちの第１の通信媒体を通して別のパーティに送信するステップであって、前記第１のメッセージはアプリケーション応答アドレスを含み、前記第１のメッセージは会話と関連付けられており、前記第１のメッセージは第１のコンテキスト情報と会話応答アドレスとを含む会話ステートを含み、前記会話応答アドレスは前記アプリケーション応答アドレスと異なる、ステップと、
前記会話ステートの少なくとも一部を格納するステップと、
前記会話と関連付けられた後続のメッセージを受信し、前記受信した後続のメッセージに含まれるコンテキスト情報を調べて、前記コンテキスト情報が、新しい会話を始めること、既存の会話を継続すること、または既存の会話のコンテキストを修正することに関係するかどうかを判断するステップと
を含む処理を実行するように動作可能であることを特徴とするシステム。
【請求項２】
前記会話と関連付けられた前記後続のメッセージを受信し、前記受信した後続のメッセージに含まれる前記コンテキスト情報を調べる前記ステップは、前記システムがシャットダウンおよびリスタートした後に実行されることを特徴とする請求項１に記載のシステム。
【請求項３】
前記会話と関連付けられた前記後続のメッセージを受信し、前記受信した後続のメッセージに含まれる前記コンテキスト情報を調べる前記ステップは、前記複数の通信媒体のうちの第２の通信媒体を通して前記別のパーティから第２のメッセージを受信し、および前記受信した第２のメッセージを処理することを含み、前記第２のメッセージは第２のコンテキスト情報を含み、前記第２のコンテキスト情報の少なくとも一部は前記第２のメッセージを会話と関連付けていることを特徴とする請求項１に記載のシステム。
【請求項４】
前記プロセッサは、前記第１の通信媒体を通して前記別のパーティから第３のメッセージを受信するようにさらに動作可能であり、前記第３のメッセージは前記会話から独立したアプリケーション応答であることを特徴とする請求項３に記載のシステム。
【請求項５】
前記第２の通信媒体は前記第１の通信媒体とは、通信上別個であることを特徴とする請求項３に記載のシステム。
【請求項６】
前記第２のコンテキスト情報は、前記会話のステートの少なくとも一部を含むことを特徴とする請求項３に記載のシステム。
【請求項７】
前記会話応答アドレスは、前記システムのアドレスであることを特徴とする請求項１に記載のシステム。
【請求項８】
前記会話応答アドレスは、別のパーティのアドレスであることを特徴とする請求項１に記載のシステム。
【請求項９】
前記会話応答アドレスは、前記第１の通信媒体を通して到着不能であることを特徴とする請求項１に記載のシステム。
【請求項１０】
前記会話応答アドレスは会話メッセージを送信するために必要な物理アドレス情報の一部を欠いている論理アドレスであり、前記欠いている物理アドレス情報は外部サービスから取得可能であることを特徴とする請求項１に記載のシステム。
【請求項１１】
前記アプリケーション応答アドレスは、アドレスが用意されていないことを示すアドレス、あるいは匿名アドレスを含むことを特徴とする請求項１に記載のシステム。
【請求項１２】
コンピュータにより実行される、会話のメッセージを生成し、および送信する方法であって、
会話コンテキストを判定するステップと、
前記会話コンテキストを前記メッセージに追加するステップと、
前記会話コンテキストと関連付けられたアプリケーションオペレーションを前記メッセージに追加するステップと、
会話応答アドレスを前記メッセージに追加するステップであって、会話ステートは前記会話コンテキストと前記会話応答アドレスとを含むステップと、
第１の通信媒体を通して前記メッセージを別のパーティに送信するステップであって、前記会話応答アドレスは、前記第１の通信媒体を通して到着不能であり、前記第１の通信媒体とは異なる第２の通信媒体を通して到着可能である、ステップと、
前記会話ステートを格納するステップと、
前記会話と関連付けられた後続のメッセージを受信し、前記受信した後続のメッセージに含まれるコンテキスト情報を調べて、前記コンテキスト情報が、新しい会話を始めること、既存の会話を継続すること、または既存の会話のコンテキストを修正することに関係するかどうかを判断するステップと、
を含むことを特徴とする方法。
【請求項１３】
前記会話と関連付けられた前記後続のメッセージを受信し、前記受信した後続のメッセージに含まれる前記コンテキスト情報を調べる前記ステップは、前記コンピュータがシャットダウンおよびリスタートした後に実行されることを特徴とする請求項１２に記載の方法。
【請求項１４】
前記メッセージはアプリケーション応答アドレスを含み、前記アプリケーション応答アドレスは前記会話応答アドレスとは異なることを特徴とする請求項１２に記載の方法。
【請求項１５】
前記メッセージはＸＭＬ(extensible markup language)を使用してフォーマットされることを特徴とする請求項１２に記載の方法。
【請求項１６】
前記会話応答アドレスは会話メッセージを送信するために必要な物理アドレス情報の一部を欠いている論理アドレスであり、前記欠いている物理アドレス情報は外部サービスから取得可能であることを特徴とする請求項１２に記載の方法。
【請求項１７】
前記アプリケーション応答アドレスは、アドレスが用意されていないことを示すアドレス、あるいは匿名アドレスを含むことを特徴とする請求項１４に記載の方法。
【請求項１８】
コンピュータ実行可能命令を記憶したコンピュータ可読媒体であって、前記命令はプロセッサによって実行されると、前記プロセッサに会話のメッセージを生成し、および送信する方法を実行させ、前記方法は、
会話コンテキストを判定するステップと、
前記会話コンテキストを前記メッセージに追加するステップと、
前記会話コンテキストと関連付けられたアプリケーションオペレーションを前記メッセージに追加するステップと、
前記メッセージに会話応答アドレスを追加するステップであって、会話ステートは前記会話コンテキストと前記会話応答アドレスとを含むステップと、
アプリケーション応答アドレスを前記メッセージに追加するステップであって、前記アプリケーション応答アドレスは前記会話応答アドレスとは異なるステップと、
第１の通信媒体を通して前記メッセージを別のパーティに送信するステップであって、前記会話応答アドレスは、前記第１の通信媒体を通して到着不能であり、前記第１の通信媒体とは異なる第２の通信媒体を通して到着可能である、ステップと、
前記会話ステートを格納するステップと、
前記会話と関連付けられた後続のメッセージを受信し、前記受信した後続のメッセージに含まれるコンテキスト情報を調べて、前記コンテキスト情報が、新しい会話を始めること、既存の会話を継続すること、または既存の会話のコンテキストを修正することに関係するかどうかを判断するステップと、
を含むことを特徴とするコンピュータ可読媒体。
【請求項１９】
前記会話応答アドレスは会話メッセージを送信するために必要な物理アドレス情報の一部を欠いている論理アドレスであり、前記欠いている物理アドレス情報は外部サービスから取得可能であることを特徴とする請求項１８に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロール独立コンテキスト交換に関するものである。
【背景技術】
【０００２】
ネットワーク、特にインターネットの出現の結果、オンラインサービスは今では当たり前になっている。このようなオンラインサービスはネットワーク上のある形式のメッセージングを通してアクセスされるのが一般的である。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
２つのパーティ間の関係メッセージの交換を持続するためには、一般的に、これらのパーティが会話(会話ステート)に関するヒストリ情報を維持すること、および関係する可能性のあるメッセージを特定するためのメカニズムをこれらのパーティが持っていることが必要である。
【課題を解決するための手段】
【０００４】
以下は、本明細書の読者が基本的な理解を得られるように開示事項の概要を簡略化して示したものである。この概要は開示事項を詳細に概説したものではなく、本発明のキーとなる／重要な要素を特定するものでもなく、本発明の範囲を限定するものでもない。この概要の唯一の目的は、本明細書に開示されているいくつかの概念を、以下に提示されているもっと詳細な説明の序文として提示することである。
【０００５】
本明細書には、種々のパーティ間の会話のための技術であって、パーティまたはこれらのパーティがそこを通して通信する通信媒体が断続的に動作するとき会話を維持するために持続可能であるコンテキスト情報を含む会話のための技術を示す例が記載されている。このような会話では、どのパーティもコンテキストの自分の見方をメッセージに組む入れることが可能であり、またどのパーティもロール(role)に関係なくおよび基礎となるネットワーク、トランスポートまたはアプリケーションメッセージ交換パターンに関係なく、次のメッセージを送信することが可能である。このような技術からは耐久性のあるサービスが得られる。
【０００６】
付随する特徴の多くは、以下の添付図面に関連して考慮された以下の詳細な説明を参照してよりよく理解すると、より容易に認識されるであろう。
【図面の簡単な説明】
【０００７】
本明細書の説明は、添付図面に関連して考慮された以下の詳細説明から理解が容易化されている。添付図面において、
【図１】種々の通信媒体を介して通信上で結合された例示パーティを示すブロック図である。
【図２】例示パーティおよび例示会話の例示メッセージシーケンスを示すブロック図である。
【図３】本明細書に記載されている技術を実装することができる例示のコンピューティング環境を示すブロック図である。
【０００８】
添付図面では、類似のパーティを示すために類似の参照符号が使用されている。
【発明を実施するための形態】
【０００９】
添付図面に関連して以下に記載された詳細説明は本発明の例を記載することを目的とするものであって、本発明の例が構築または利用されることのある唯一の形式を表すことを目的とするものではない。本明細書の記載には、これらの例の機能の少なくとも一部が示されており、および／またはこれらの例を構築し、操作するためのステップのシーケンスが示されている。なお、同一または同等の機能およびシーケンスは異なる例によって遂行することもできる。
【００１０】
本発明の例は、コンピューティング環境およびネットワーキング環境で実現されるものとして本明細書に説明され、図示されているが、本明細書に記載された技術は例として示されたもので、限定的なものではない。当業者ならば理解されるように、本発明の例は種々の異なるタイプのコンピューティング環境およびネットワーキング環境におけるアプリケーションに適している。
【００１１】
図１は、種々の通信媒体を介して通信するように結合された例示パーティ１１０と１２０を示すブロック図である。例示パーティ１１０は、図示のように、インターネット１３０を通して、および例示メッセージキュー(message queue)１４０を通して、およびローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）またはいずれかの他の種類のネットワークまたはネットワークの組み合わせであることのある例示ネットワーク１５０を通して例示パーティ１２０に結合されている。パーティ１１０および／またはパーティ１２０は、付加的にまたは代替として、いずれかの他の媒体、技術、手段など（これらは本明細書では「通信媒体」として集合的かつ個別的に示しており、その中には図３に関連して記載されたものが含まれている）を介して通信上で結合されていることがある。パーティ１１０および／またはパーティ１２０は、各々が異なるネットワークなどに結合された複数のネットワークインタフェースカードなどを含んでいることがある。
【００１２】
この例では、通信媒体１３０、１４０および１５０は「通信上で別個(communicatively distinct)」または単に「別個」になっている。すなわち、パーティ１１０とパーティ１２０の各々は、あるカップリング(coupling)（図示せず。例えば、ネットワークインタフェースカード（ＮＩＣ）など）によって通信媒体１５０に結合され、別の個別カップリング(図示せず)によって通信媒体１４０に結合され、さらに別の別個カップリング(図示せず)によって通信媒体１３０に結合されている。従って、パーティ１１０が通信媒体１５０とのそのカップリングを利用してインターネット(通信媒体１３０)を介してパーティ１２０と通信できないのは、種々の通信媒体が別個であるからである。このような通信媒体はハードウェア、ネットワーク、リンクなどを共有していることがあるが、これらの通信媒体はそれでもなお通信上で別個または単純に別個になっている。例えば、インターネット上に確立されたバーチャルプライベートネットワーク（ＶＰＮ）は、その上でＶＰＮが動作しているインターネットとは通信上で別個であるのが代表的である。別の例では、特定のパーティへのＬＡＮ接続はＷＡＮ接続または同じパーティへの別の別個ＬＡＮとは通信上で別個であることが可能である。別の例では、メッセージキューはインターネット上またはＬＡＮ上で確立されることがあるので、メッセージキューはインターネットまたはＬＡＮとは別個である。通信上で別個の通信媒体の多くの他の例はこの分野の精通者に公知であるが、本発明によって利用されることがある。
【００１３】
パーティ１１０とパーティ１２０のように、会話における２パーティが連続的に動作することが保証されている場合は、メッセージ交換は２パーティの非持続的メモリに置かれている情報を使用して実行することができる。例えば、そのようなケースとして、ＬＡＮ上で同じＴＣＰ(Transport Control Protocol)接続を利用して交換された一連のメッセージがある。しかし、パーティの一方または両方が断続的に動作すること、および／またはこれらのパーティを結合する通信媒体が断続的に動作することをアプリケーションが要求しているのが普通である。さらに、パーティ間でメッセージを交換するために使用される特定の通信媒体が時々、さらにはメッセージ毎に（あるメッセージから次のメッセージに）変わることを許容することが有用であることがある。
【００１４】
本明細書の中で使用されている「パーティ」または「複数のパーティ」という用語は、一般的に別のパーティと通信する能力を備えたある種のコンピューティングシステムまたはデバイスなどを指している。パーティは、本明細書では「システム」と呼ばれることもある。このようなコンピューティングシステムは図３に関連して記載されているものように、コンピューティング環境によって提供されることがある。パーティはクライアントおよび／またはサーバおよび／またはサービスと考えられることがある。パーティは「耐久性のあるサービス(durable service)」、すなわち、会話ステートを失うことなくサービスがシャットダウンされ、リスタートされるように会話ステートを持続するサービスであることがある。パーティはネットワーク、バスまたは他の通信手段などを介して結合されたコンピューティングシステムの集まりから構成されることがある。
【００１５】
本明細書の中で使用されている「会話メッセージ(conversation message)」および「メッセージ(message)」という用語は、一般的に、一般に本体と１つまたは２つ以上のヘッダを含む複数の部分を含むことのある自己完結型データ単位(self-contained unit of data)を指している。このようなメッセージは、いずれかの適当なトランスポートプロトコルを使用して別のパーティに送信されることのある１つまたは２つ以上のデータパケットの中でトランスポートされることがある。本明細書の中で使用されている「会話」という用語は、一般にパーティ間のなんらかのメッセージ交換を指しており、送信される各メッセージは、例えば、ＨＴＴＰ(Hypertext Transport Protocol)またはＳＯＡＰ（以前は“Simple Object Access Protocol”として知られていた）のようなトランスポートプロトコルを介したパーティ間の単純または複雑なパケット交換を伴うことがある。会話は持続時間が短いこともあれば、月、年またはさらにより長い期間のように非常に長い持続時間の間続くこともある。会話は少数のメッセージ（例えば、単一の要求の後に続く単一の応答）だけで構成されることもあれば、多数のメッセージで構成されることもある。会話は複数の通信媒体を利用することがあり、このような通信媒体は会話の存続期間に変化することがある。パーティ、通信媒体、トランスポートなどにある時間の間休止オペレーションが介入し、その後で偶発的にまたは意図的に再び動作状態になったときでも、会話は持続することがある。会話は、パーティに割り当てられたロール(role)に関係なく、いずれかのパーティによって開始されることがある。どのパーティも１つまたは２つ以上の会話に同時に係わりをもつことがある。
【００１６】
本明細書の中で使用されている「通信媒体(communication medium)」という用語は、一般的に、物理的接続性および／またはプロトコル接続性およびこれら２つの組み合わせなどを指している。物理的接続性通信媒体の例としては、特定のネットワーク、シリアルバス、赤外線リンクなどがある。プロトコル接続性通信媒体の例としては、メッセージキュー、ＴＣＰ、ＳＭＴＰ(Simple Mail Transfer Protocol)、ＳＯＡＰ（以前は“Simple Object Access Protocol”として知られていた）、またはＨＴＴＰのような、ある種の物理的接続性を利用した種々のトランスポートプロトコルがある。プロトコル接続性(protocol connectivity)には直接接続（例：ＴＣＰ）または分離(decoupled)接続(例：メッセージキュー)が用意されていることがある。いくつかのケースでは、異なるトランスポートプロトコルが同じ物理的接続性を利用することがある。例えば、メッセージキューとＴＣＰ接続は両方とも同じネットワーク上で動作することがある。さらに、別の例では、メッセージキューはＴＣＰを使用して実現されることがある。
【００１７】
各メッセージキューは、一般に、会話のステートを表す会話コンテキスト、送信側会話パーティのアドレスおよび受信側会話パーティのアドレスがそれと関連付けられ、そこに含まれおよび／または参照されている。メッセージのフォーマットは任意に構造化されていることがある。一例では、メッセージは、アドレスとコンテキストのセクションのあるＸＭＬ(Extensible Markup Language)を使用してフォーマットされている。別の例では、メッセージの中の会話のコンテキストは、各々が与えられた名前および対応する値を持ち、これらがテキストストリングであるコンテキストプロパティのリストになっている。別の例では、コンテキストおよび／またはアドレスはメッセージヘッダに追加されている。さらに別の例では、コンテキストおよび／またはアドレスは、会話の２パーティ間の事前に取り決め合意を使用してメッセージ本体の内容から推定されている。
【００１８】
図２は、例示パーティ１１０と１２０および例示会話の例示メッセージシーケンス２００を示すブロック図である。パーティ１１０と１２０は図１のパーティに類似している。例示パーティ１２０は、図示のように、例示送信側(sender)１２３、例示受信側(receiver)１２４および例示ストア(store)１２５を含んでいる。送信側１２３は、一般に、メッセージを生成し、送信するためのメッセージ処理パイプライン(message processing pipe)を含んでいる。受信側１２４は、メッセージを受信し、処理するためのメッセージ処理パイプラインを含んでいる。ストア１２５は、一般に、メッセージコンテキストなどをストアするための不揮発性ストレージメカニズムを含んでいる。会話に介入することのあるパーティ１１０および他のパーティは、一般に、類似の互換性のある送信側、受信側およびストアを含んでいる。
【００１９】
図２は、アドレスＭ１１１のインタフェースおよびアドレスＡ  １２１のインタフェースを経由する例示パーティ１２０への通信媒体２５０を介して結合された例示パーティ１１０を示している。例示パーティ１１０は、さらに図示のように、アドレスＮ  １１２の別のインタフェースおよびアドレスＢ  １２２の別のインタフェースを経由する例示パーティ１２０への通信媒体２６０を介して例示パーティ１２０に結合されている。通信媒体２５０と２６０は相互とは通信上で別個になっている。すなわち、例えば、パーティ１１０がアドレスＢ  １１２のパーティ１２０にアドレスＭ  １１１から通信できないのは、アドレスＭ  １１１とアドレスＢ  １２２の間に通信経路を提供する通信媒体がないからである。言い換えれば、パーティ１１０は通信媒体２５０を利用してアドレスＢ  １２２のパーティ１２０と通信することができない。従って、アドレスは「到着不能(non-reachable)」または「到着不可(not reachable」と考えられることがある。本明細書の中で使用されているこのような用語は、一般に、メッセージを特定してそこに送ることができないアドレスを指している。いくつかのケースでは、アドレスは、通信上で個別である２つの通信媒体などに関して上述したように、ネットワークトポロジなどに起因して特定の送信側アドレスから到着不能であることがある。到着不能アドレスの他の例としては、一般にアドレスが用意されていないことを示す＜ｎｏｎｅ＞アドレスなどのほかに、一般にメッセージを受信できるが、使用可能なアドレスが計算または解決できないパーティを示す＜ａｎｏｎｙｍｏｕｓ＞がある。匿名(anonymous)アドレスの例としては、ＨＴＴＰおよびＴＣＰ接続の逆接続（reverse connection）がある。
【００２０】
また、図２はステップ２１０、２２０および２３０における例示通信シーケンスを示している。この例では、ステップ２１０は、一般に、通信媒体２５０を利用してパーティ１２０からパーティ１１０に送信されるメッセージ−会話メッセージＡ−を示している。この例では、会話メッセージは次のような情報を含んでいる。
【００２１】
【表１】
0005893921.tif 000002
例示会話メッセージＡ
【００２２】
「送信元(From)」フィールドは、一般に、メッセージがそこから送信される元のパーティのアドレス、すなわち、この例ではパーティ１２０を示している。「宛先(To)」フィールドは、一般に、メッセージがそこに送信される先のパーティのアドレス、すなわち、この例ではパーティ１１０を示している。アドレスのフォーマットは、適切であればどのようなフォーマットでも可能であり、その中にはＵＲＬ(universal resource locator)、ＩＰ(internet protocol)アドレス、ｅｍａｉｌアドレスなどが含まれている。
【００２３】
「アプリケーションオペレーション(Application Operation)」フィールドは、一般に、受信側パーティによって実行されることを送信側パーティが要求しているなんらかのアプリケーションオペレーションに対する要求、すなわち、この例では「作業Ｗ実施(Do Work W)」を示している。このフィールドの中の情報は、一般に、望みのオペレーションを特定しており、および／または一般にオペレーションに関係する他のいずれかの情報を含んでいることがある。「アプリケーション応答先(Application Reply To)」フィールドは、一般に、アプリケーションがアプリケーションオペレーション要求に対する応答をそこに送信できる先のパーティのアドレス、すなわち、この例ではアドレス１２１にいるパーティ１２０を示している。このアドレスは、要求側パーティ、この例ではアドレスＡ  １２１にいるパーティを含むどのパーティのアドレスであってもよく、またはこのアドレスは要求側パーティの代替アドレスであってもよい。このアドレスは本明細書で上述したようにフォーマットされることも、他のいずれかの適当なフォーマットになっていることもある。一例では、「アプリケーションオペレーション」フィールドおよび「アプリケーション応答先」フィールドなどはメッセージ本体に含まれている。アプリケーションオペレーションに関係する他のフィールドは追加的にメッセージに含まれていることがある。
【００２４】
「コンテキスト(context)」フィールドは、一般に、図１に関連して説明されているような会話コンテキスト情報を含んでいる。この例では、コンテキストは送信側パーティ１２０が受信側パーティ１１０にその実行を要求している作業を特定する「作業発注＃１２３(Work Order #123)」を含んでいる。一例では、コンテキストは受信側パーティがすでに気づいている識別子（ＩＤ）を含んでいることがある。別の例では、コンテキストは受信側パーティがまだ気づいていないＩＤを含んでいることがある。このケースでは、受信側パーティはコンテキストおよびＩＤを会話のために作成したインスタンスと関連付けている。このようなインスタンスはＩＤに適していれば、どのようなリソース、オブジェクト、プロセス、ワークフロー、サービスなどであってもよい。「会話応答先(Conversation Reply To)」フィールドは、一般に、会話における次のメッセージが送信される先のパーティ、すなわち、この例ではアドレスＢ  １２２にいるパーティ１２０のアドレスを示している。このアドレスは、要求側パーティを含むどのパーティに対するものであってもよく、またはこのアドレスは要求側パーティ、すなわち、この例ではアドレスＢ  １２２にいるパーティ１２０の代替アドレスであってもよい。このアドレスは本明細書で上述したようにフォーマットされている場合がある。具体的には、会話メッセージの「会話応答先(Conversation Reply To)」フィールドは、一般に、会話メッセージを受信するために使用された同じ通信媒体を介して到着できないアドレスを示していることがある。このケースでは、会話応答はいずれかの適当な通信媒体を使用して送信される。一例では、「コンテキスト」フィールドと「会話応答先」フィールドはメッセージの会話コンテキスト部分に含まれている。会話コンテキストに関係する他のフィールドは追加的にメッセージに含まれていてもよい。
【００２５】
一例では、このメッセージは本明細書で上述したようにＸＭＬでフォーマットされていてもよい。次に示したものは、会話メッセージＡの仮定上のＸＭＬ例である。
【００２６】
【表２】
0005893921.tif 000003
【００２７】
図２のステップ２２０は、一般に、パーティ１１０から通信媒体２５０を利用してパーティ１２０に送信されるアプリケーション応答、すなわち、アプリケーション応答Ｇを示している。このような応答は、一般に、アプリケーションレベルで行なわれ、会話の一部でないのが一般的である。このような応答は、一般に、パーティ１１０が要求を受信したことを示している。しかし、このような応答は、一般に、要求が受信されたことだけを示し、要求されたオペレーションが実行されることも、いずれ実行されることも示していない。要求されたオペレーションが完了するのに若干の時間、日数、月数、年数、あるいはより長くかかることがある。この例では、アプリケーション応答は次のような情報を含んでいる。
【００２８】
【表３】
0005893921.tif 000004
例示アプリケーション応答Ｇ
【００２９】
一例では、この応答は本明細書において上述したようにＸＭＬでフォーマットされることがある。「送信元」フィールドは、一般に、応答がそこから送信される元のパーティ、すなわち、この例ではパーティ１１０のアドレスを示している。「宛先」フィールドは、一般に、応答が送信される先のパーティ、すなわち、この例ではパーティ１２０のアドレスを示している。アドレスのフォーマットは適当であればどのフォーマットでもよく、その中には、ＵＲＬ(universal resource locator)、ＩＰ(internet protocol)アドレス、Ｅメールアドレスなどが含まれている。
【００３０】
「アプリケーションオペレーション」フィールドは、一般に、送信側パーティが受信側パーティによって実行されることを要求しているなんらかのアプリケーションオペレーションに対する要求、すなわち、この例では以前に送信された要求が受信されたことを示す「要求受信(Request Received)」を示している。このフィールドの中の情報は、一般に、必要とするオペレーションを特定しており、一般にオペレーションに関係するなんらかの他の情報を含んでいることがある。「アプリケーション応答先」フィールドは、一般に、アプリケーションがアプリケーションオペレーション要求に対する応答、すなわち、この例では応答が不要であることを示す＜ｎｏｎｅ＞を送信できる先のパーティのアドレスを示している。アプリケーションオペレーションに関係する他のフィールドが追加的にまたは代替として応答の中に含まれていることがある。
【００３１】
一例では、この応答は本明細書において上述したようにＸＭＬでフォーマットされることがある。次のものは、アプリケーション応答Ｇの仮定上のＸＭＬ例である。
【００３２】
【表４】
0005893921.tif 000005
【００３３】
図２のステップ２３０は、一般に、通信媒体２６０を利用してパーティ１１０からパーティ１２０に送信されるメッセージ、すなわち、会話メッセージＢを示している。この例では、このメッセージは、会話メッセージＡで始まる会話の一部である。なお、このメッセージは会話の以前のメッセージとは異なる通信媒体、すなわち、媒体２６０を利用して送信される。この例では、会話メッセージは次のような情報を含んでいる。
【００３４】
【表５】
0005893921.tif 000006
例示会話メッセージＢ
【００３５】
一例では、このメッセージはこの応答は本明細書において上述したようにＸＭＬでフォーマットされることがある。「送信元」フィールドは、一般に、メッセージがそこから送信される元のパーティ、すなわち、この例ではパーティ１１０のアドレスを示している。「宛先」フィールドは、一般に、メッセージが送信される先のパーティ、すなわち、この例ではパーティ１２０のアドレスを示している。アドレスのフォーマットは適当であればどのフォーマットでもよく、その中には、ＵＲＬ(universal resource locator)、ＩＰ(internet protocol)アドレス、Ｅメールアドレスなどが含まれている。
【００３６】
「アプリケーションオペレーション」フィールドは、一般に、送信側パーティが受信側パーティによって実行されることを要求しているなんらかのアプリケーションオペレーションに対する要求、すなわち、この例では以前に要求したオペレーションのステータスを示す「作業Ｗ実施完了(Completed Do Work W)、一般に、望みのオペレーションを特定しており、および／または一般にオペレーションに関係する他のいずれかの情報を含むことができる。「アプリケーション応答先」フィールドは、一般に、アプリケーションがアプリケーションオペレーション要求に対して応答、すなわち、この例では応答が不要であることを示す“＜ｎｏｎｅ＞”を送信できる先のパーティのアドレスを示している。このアドレスは、要求側パーティ、すなわち、この例ではアドレスＮ１１２にいるパーティ１１０を含むどのパーティに対するものであってもよく、またはこのアドレスは要求側パーティの代替アドレスであってもよい。このアドレスは本明細書において上述したようにフォーマットされていてもよく、他のいずれかの適当なファーマットでフォーマットされていてもよい。一例では、「アプリケーションオペレーション」フィールドおよび「アプリケーション応答先」フィールドなどは、メッセージ本体に含まれている。アプリケーションオペレーションに関係する他のフィールドは追加的にまたは代替としてメッセージに含まれていてもよい。
【００３７】
「コンテキスト」フィールドは、一般に、図１に関連して説明したような会話コンテキスト情報を含んでいる。この例では、コンテキストは、送信側パーティ１２０が受信側パーティ１１０に実行することを要求する作業を特定している“作業発注＃１２３”を含んでいる。なお、会話メッセージＢのコンテキストは、両方のメッセージが同じ会話の一部であることを示す会話メッセージＡのそれと同じである。「会話応答先」フィールドは、一般に、会話の中の次のメッセージが送信されることのある先のパーティのアドレスを示しており、そのなかには、この例ではこのメッセージに対する応答として追加メッセージが期待されないことを示す“ｎｏｎｅ”が含まれている。
【００３８】
パーティ１２０がパーティ１１０に会話メッセージＡを送信するケースの例では、パーティ１２０は、作業発注、特に「作業発注＃１２３」に関する新しい会話を開始している。メッセージＡは通信媒体２５０を利用して、すなわち、例えば、パーティ１１０とのＨＴＴＰ接続を使用して送信されている。メッセージはパーティ１１０がなんらかの作業、特に「作業Ｗ」を実施することを要求している。アプリケーションレベルの応答が返送され、要求が受信されたことを示している。ＨＴＴＰ接続はそのあと終了されていることがあり、パーティのどちらかまたは両方はパーティが結合されていた通信媒体と共にリブートなどが行なわれている可能性がある。そのあと、パーティ１１０は、作業発注＃１２３に関する同じ会話の一部であるメッセージ、すなわち、会話メッセージＢを送信することによってパーティ１２０との別の会話を開始している。メッセージＢは、会話メッセージＡがそこを利用して送信された通信媒体とは異なる通信媒体２６０を利用して、すなわち、例えば、メッセージキューを使用して送信されている。同じ会話および／または異なる会話に対する追加メッセージは、パーティ１１０とパーティ１２０の間だけでなく、他のいずれかのパーティ間で送信されることもある。全二重(full duplex)通信がサポートされている。会話およびそのメッセージ交換パターンは、どの特定基礎ネットワーク、トランスポート、および／またはアプリケーションメッセージ交換パターンにも結びついていない。会話のコンテキストは任意にフォーマットされ、会話の進行に伴って会話のパーティによって補強されることができる。どのパーティも、会話の中でメッセージを送信する先の次のパーティとして指名されることができる。会話コンテキストとアドレスは、アプリケーション情報、トランスポートプロトコルおよびネットワークトポロジから独立した形でメッセージに含まれているのが一般的である。
【００３９】
一例では、このメッセージは、本明細書の中で上述したようにＸＭＬでフォーマットされていることがある。次に示したものは、会話メッセージＢの仮定上のＸＭＬ例である。
【００４０】
【表６】
0005893921.tif 000007
【００４１】
メッセージがどのようにして実世界のシナリオに適用できるかの一例において、２パーティが銀行通貨振替(Banking Money Transfer)に関係していると考えられている。この例では、パーティ１２０は、通信媒体２５０を利用して(例えば、インターネット上のＨＴＴＰ接続を使用して)パーティ１１０にメッセージ（会話メッセージＡに類似している）を送信することによって会話を開始しており、このメッセージは、「通貨振替(Transfer Money)」のアプリケーションオペレーション、通信媒体２５０上のアプリケーション応答（例えば、オリジナルメッセージと同じＨＴＴＰ接続を使用する）、および特定の「オーダ番号(Order Number)」と要求した通貨振替についての将来の更新と共にそこでパーティ１２０に到着できる通信媒体２６０上の会話応答アドレス(例えば、セキュアプライベートネットワークを利用したメッセージキューの使用)を含むコンテキストを含んでいる。パーティ１２０は、送信されるメッセージのコンテキストをストア１２５のようなローカルストアにストアする。
【００４２】
パーティ１１０は、通貨振替要求メッセージを受信し、そのメッセージの中のアプリケーション応答アドレスに応答(アプリケーション応答Ｇに類似)を送信することによって応答し、要求がパーティ１１０によって受信されたことをパーティ１２０に知らせる。パーティ１１０は、この時点では、通貨振替が行なわれたことまたは実際に行なわれることを約束していない。要求の有効性を検査し、振替を完了するには数時間、数日、数週などかかることがある。
【００４３】
その後のある時点で、パーティ１１０は、通貨振替のステータスを示す新しいメッセージ（会話メッセージＢに類似）を、通信媒体２６０、すなわち、セキュアプライベートネットワーク上のメッセージキューを経由してパーティ１２０に送信することによって会話を継続する。このようなステータスメッセージは、「処理中(processing)」、「振替失敗(transfer failed」「振替成功(transfer succeeded)」といったことを示すことも可能である。このような各ステータスメッセージは始めにパーティ１２０によって提供されたコンテキストを含んでいる。このようなステータスメッセージはオリジナルメッセージのメッセージ交換パターンによって記載されていない。このようなステータスメッセージは媒体２５０のような、オリジナルの通信媒体によってサポートされないことがある。
【００４４】
このような会話では、どのパーティもコンテキストの自分の見方をメッセージに組み込むことができる。別のパーティはメッセージの中のこのコンテキストを調べて、コンテキストが新しい会話を始めるのか、既存の会話を継続するのか、または既存の会話のコンテキストを修正するのかを判断することがある。さらに、会話におけるどのパーティも、基礎となるネットワーク、トランスポート、またはアプリケーションメッセージ交換パターンに関係なく次のメッセージを送信することができる。
【００４５】
本明細書の中で上述したＸＭＬ例に例示するフィールドは例として示されたもので、限定的なものではない。図示のフィールドはこのようなメッセージに含まれている必要はなく、他のフィールドが代替としてまたは追加的に含まれていることがある。さらに、このようなメッセージの中に含まれるフィールドはメッセージの受信側による対応するアクションを必要としないことがある。また、フィールドが送信側パーティと受信側パーティによってすでに理解されていれば、そのフィールドはメッセージから除外されることがある。例えば、「アプリケーション応答先」フィールドは対応する要求が応答を必要としなければ、省かれることがある。
【００４６】
以下は、さらにアプリケーションおよび会話契約(conversation contract)と対照となることがある別の例である。この例では、パーティ１１０は、アドレスＭ  １１１でリスニングしているサービスエンドポイントを含む１つまたは２つ以上のサービスエンドポイントで作業発注処理サービス(Work Order Processing Service)を操作している。作業発注処理サービスはアプリケーションオペレーション「作業Ｗ実施」を含むアプリケーション契約を持っている。作業発注処理サービスは追加のアプリケーションオペレーションも含んでいることがある。作業発注処理サービスアプリケーション契約を記述しているメタデータをリトリーブする手段がある。このメタデータは、一般に、「作業Ｗ実施」要求メッセージと「作業Ｗ実施」応答メッセージに対する記述を含み、この記述はこれらのメッセージの構造と許容される内容を指定している。メタデータは、一般に、指定したプロパティとアドレスＭ  １１１を使用して通信媒体上を「作業Ｗ実施」要求メッセージを送信すると、「作業Ｗ実施」応答メッセージが送信されることを示している。
【００４７】
さらに、この例では、パーティ１２０は、アドレスＢでリスニングするサービスエンドポイントを含む１つまたは２つ以上のサービスエンドポイントで作業発注通知サービス(Work Order Notification Service)を操作する。作業発注通知サービスは、アプリケーションオペレーション「作業Ｗ実施完了(Completed Do Work W)」を含むアプリケーション契約を持っている。「作業発注通知サービス」は追加のアプリケーションオペレーションも含んでいることがある。「作業発注通知サービス」アプリケーション契約を記述すメタデータをリトリーブする手段がある。このメタデータは、一般に、「作業Ｗ実施完了」要求メッセージの記述を含んでおり、この記述はこのメッセージの構造と許容される内容を指定している。このメタデータは、一般に、指定したプロパティとアドレスＢ  １２２を使用して通信媒体上において「作業Ｗ実施完了」要求メッセージを送信することが許されているが、応答メッセージは送信されないことを示している。
【００４８】
さらに、この例では、作業発注処理サービスと作業発注通知サービスに対するアプリケーション契約は、これらの２サービス間のハイレベルの調整パターンを記述した会話契約によって補足されていることがある。会話契約はコンピュータが理解できるように自然言語ドキュメントに記述されることもあれば、単にこれらの２サービスを使用するアプリケーションを作成するプログラマ間で理解が共有されることもある。会話契約は、それぞれのアプリケーション契約には見られない２サービス間の追加の関連性を記述していることがある。例えば、会話契約は時には「作業Ｗ実施」要求メッセージの受信に続いて、「作業Ｗ実施」要求メッセージを送信したパーティによって提供されたサービスでパーティ１１０が「作業Ｗ実施完了」アプリケーションオペレーションを起動することを指定することがある。これは、「作業Ｗ実施完了」の起動が行なわれるとき未指定になっていることがある。従って、これは「作業Ｗ実施」要求メッセージの前かその後に、またはそれと同時に失敗することがある。関係するパーティ間で起り得る会話の数が無制限であることがあり、次の会話メッセージに関する決定には、ビジネスロジック、起動したアプリケーションロジックに関係のない他のアプリケーションオペレーション、またはその決定を通知する他の手段が関わることがある。
【００４９】
別の例では、サービスエンドポイントのアドレスは、論理情報を物理情報と共に含んでいることがある。例えば、作業発注通知サービスの物理アドレスは適当な通信媒体上の伝送に必要なアドレスＢ１２２であることがある。作業発注通知サービスの論理アドレスは単に「作業発注通知サービス」の名前などであることがある。会話応答先アドレスは次の会話メッセージを送信するのに十分である１つまたは２つ以上の物理アドレスを含んでいることがある。代替としてまたは追加的に、会話応答先アドレスは物理アドレス情報の一部を欠いていることがあるが、欠いている物理アドレス情報がそこから計算可能である１つまたは２つ以上の論理アドレスを含んでいることがある。サービスは、適当な物理アドレスと通信媒体構成を、提供された論理情報および物理情報から計算できることがある。これらの計算は、サービスに知らされた情報を利用することもあれば、外部ディレクトリサービスを調べるサービスを必要とすることもあれば、１つまたは２つ以上のディスカバリプロトコル(discovery protocol)を実行して物理アドレスを解決するサービスを必要とすることもある。次の会話メッセージのための物理アドレスが分かれば、サービスはそのアドレスを送信するための適当な通信媒体の判断が必要になることがある。
【００５０】
図３は、本明細書に記載の技術を実現することができる例示コンピューティング環境３００を示すブロック図である。適切なコンピューティング環境は、多数の汎用システムまたは特殊目的システムと共に実現されることがある。周知システムの例としては、セルフォン、ＰＤＡ(personal digital assistant)、パーソナルコンピュータ（ＰＣ）、ハンドヘルドデバイスまたはラップトップデバイス、マイクロプロセッサベースのシステム、マルチプロセッサシステム、サーバ、ワークステーション、コンシューマエレクトロニックデバイス、セットトップボックスなどがある。
【００５１】
コンピューティング環境３００は、一般に、周辺デバイス３０２、３０３、３０４などのような、種々のコンポーネントに結合されたコンピューティングデバイス３０１の形式で汎用コンピューティングシステムを含んでいる。システム３００は、入力デバイス３０３のように、音声認識、タッチパッド、ボタン、キーボードおよび／またはマウスやトラックボールのようなポインティングデバイスを含む他の種々コンポーネントに、１つまたは２つ以上の入出力(Ｉ／Ｏ)インタフェース３１２を介して結合することができる。コンピューティングデバイス３０１のコンポーネントとしては、１つまたは２つ以上のプロセッサ３０７(中央処理ユニット（ＣＰＵ）、グラフィックス処理ユニット（ＧＰＵ）マイクロプロセッサ（μＰ）などを含む)、システムメモリ３０９、および一般に種々のコンポーネントを結合するシステムバス３０８がある。プロセッサ３０７は、一般に、種々のコンピュータ実行可能命令を処理または実行して、コンピューティングデバイス３０１のオペレーションを制御し、ネットワーク接続３１４などの種々の通信媒体を介して他のエレクトロニックデバイスおよび／またはコンピューティングデバイス、システムまたは環境(図示せず)と通信する。システムバス３０８は、任意の数の複数タイプのバス構造を表しており、その中には、メモリバスまたはメモリコントローラ、周辺バス、シリアスバス、高速グラフィックスポート(accelerated graphics port)、種々のバスアーキテクチャのいずれかを使用したプロセッサまたはローカルバスなどが含まれている。
【００５２】
システムメモリ３０９は、ＲＡＭ (random access memory)のような揮発性メモリおよび／またはＲＯＭ (read only memory)またはＦＬＡＳＨ (flash memory)のような不揮発性メモリの形式でコンピュータ可読媒体を含むことができる。ＢＩＯＳ (basic input/output system)は不揮発性メモリなどにストアされていることがある。システムメモリ３０９は、一般に、データ、プロセッサ３０７の１つまたは２つ以上に即時にアクセス可能であり、および／または現在操作の対象となっているコンピュータ実行可能命令および／またはコンピュータ実行可能命令を含むプログラムモジュールをストアしている。
【００５３】
マスストレージデバイス３０４と３１０は、システムバスへのカップリングを介してコンピューティングデバイス３０１に結合されていることも、コンピューティングデバイス３０１に組み込まれていることもある。このようなマスストレージデバイス３０４と３１０としては、不揮発性ＲＡＭ、取り外し可能な不揮発性磁気ディスク３０５(例：「フロッピー（Ｒ）ディスク」)との間で読み書きを行なう磁気ディスクドライブおよび／またはＣＤ  ＲＯＭ、ＤＶＤ  ＲＯＭ３０６のような不揮発性光ディスクとの間で読み書きを行なう光ディスクドライブがある。代替として、ハードディスク３１０のようなマスストレージデバイスとしては、不揮発性の取り出し不能記憶媒体がある。その他のマスストレージデバイスとしては、メモリカード、メモリスティック、テープストレージデバイスなどを含むことができる。
【００５４】
任意の数のコンピュータプログラム、ファイル、データ構造などは、マスストレージ３１０、他のストレージデバイス３０４、３０５、３０６およびシステムメモリ３０９（一般に使用可能スペースの制限を受けている）にストアされることがあり、その中には、例として、オペレーティングシステム、アプリケーションプログラム、データファイル、ディレクトリ構造、コンピュータ実行可能命令などが含まれるが、これらに限定されない。
【００５５】
ディスプレイデバイス３０２のような出力コンポーネントまたはデバイスは、一般にディスプレイアダプタ３１１のようなインタフェースを介してコンピューティングデバイス３０１に結合されることがあり得る。出力デバイス３０２としては、ＬＣＤ(liquid crystal display)があり得る。その他の例示出力デバイスとしては、プリンタ、オーディオアウトプット、ボイスアウトプット、ＣＲＴ(cathode ray tube)ディスプレイ、触覚デバイスまたは他の知覚出力メカニズムなどがある。出力デバイスは、コンピューティングデバイス３０１が人間のオペレータまたは他のマシン、システム、コンピューティング環境などとやりとりするのを可能にすることがある。ユーザは、タッチパッド、ボタン、キーボード、マウス、ジョイスティック、ゲームパッド、データポートなどの、任意の数の異種Ｉ／Ｏデバイス３０３を介してコンピューティング環境３００とのインタフェースとなることがある。これらのＩ／Ｏデバイスおよびその他のＩ／Ｏデバイスは、システムバス３０８に結合することのできるＩ／Ｏインタフェースを介してプロセッサ３０７に結合されていることも、および／または周辺ポート、ゲームポート、ＵＳＢ(universal serial bus)、ファイヤワイヤ、赤外線（ＩＲ）ポートなどのような他のインタフェースおよびバス構造によって結合することができる。
【００５６】
コンピューティングデバイス３０１は、１つまたは２つ以上のセルラネットワーク、ワイヤレスネットワーク、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、ストレージエリアネットワーク（ＳＡＮ）、インターネット、無線リンク、光リンクなどを通した１つまたは２つ以上のリモートコンピューティングデバイスとの通信接続を介してネットワーク化環境(networked environment)で動作することができる。コンピューティングデバイス３０１は、ネットワークアダプタ３１３などを介して、または代替としてモデム、ＤＳＬ(digital subscriber line)リンク、ＩＳＤＮ(integrated service digital network)リンク、インターネットリンク、ワイヤレスリンクなどを介してネットワークに結合することができる。
【００５７】
ネットワーク接続のような通信接続３１４は、一般に、ネットワークのような通信媒体へのカップリングを提供している。通信媒体は、一般に、搬送波または他のトランスポートメカニズムのような変調されたデータ信号を使用してコンピュータ可読命令とコンピュータ実行可能命令、データ構造、ファイル、プログラムモジュールおよび他のデータを提供している。「変調されたデータ信号(modulated data signal)」という用語は、一般に、その特性の１つまたは２つ以上が信号の中の情報を符号化するような形でセットまたは変更されている信号を意味している。例として、通信媒体は、ワイヤードネットワークまたはダイレクトワイヤード接続などのようなワイヤード媒体および音響、無線周波数、赤外線または他のワイヤレス通信メカニズムのようなワイヤレス媒体を含んでいるが、これらに限定されない。
【００５８】
バッテリまたは電源装置などの電源３９０は、一般に、コンピューティング環境３００の一部または全部に対し電力を供給している。コンピューティング環境３００がモバイルデバイスまたはポータブルデバイスなどである場合には、パワーソース３９０はバッテリとすることができる。代替として、コンピューティング環境３００がデスクトップコンピュータまたはサーバなどである場合には、パワーソース３９０は、壁コンセント経由のように交流（ＡＣ）ソースに接続することを目的とした電源であることがある。
【００５９】
一部のモバイルデバイスは、図３に関連して説明したコンポーネントの多くを含んでいない場合がある。例えば、エレクトロニックバッジ(electronic badge)は単純な処理ユニット３０７などと共にワイヤコイルで構成されていることがあり、このコイルはカードリーダデバイスなどに近接しているときパワーソース３９０の働きをするように構成されている。このようなコイルは処理ユニット３０７などに結合されたアンテナの働きをするように構成されていることもあり、このコイルアンテナはエレクトロニックバッジとカードリーダデバイスの間にある種の通信を提供する能力を備えている。このような通信はネットワーキングを伴わないことがあるが、代替として、テレメトリ、ポイントツーポイント、ＲＦ、ＩＲ、オーディオまたは他の手段を介した汎用または特殊目的通信であることもある。エレクトロニックカードは、ディスプレイ３０２、Ｉ／Ｏデバイス３０３、または図３に関連して説明した他のコンポーネントの多くを含んでいない場合がある。図３に関連して説明したコンポーネントの多くを含んでいないことがある他のモバイルデバイスは、例として、エレクトロニックブレスレット(electronic bracelet)、エレクトロニックタグ、埋め込み可能デバイス(implantable device)などを含んでいるが、これらに限定されない。
【００６０】
この分野の精通者ならば認識するように、コンピュータ可読命令、コンピュータ実行可能命令およびデータを提供するために利用されるストレージデバイスは、ネットワーク上に分散することができる。例えば、リモートコンピュータまたはストレージデバイスは、コンピュータ可読命令とコンピュータ実行可能命令をソフトウェアアプリケーションおよびデータの形式でストアしていることがある。ローカルコンピュータはネットワークを介してリモートコンピュータまたはストレージデバイスにアクセスし、ソフトウェアアプリケーションまたはデータの一部または全部をダウンロードすることがあり、いずれかのコンピュータ実行可能命令を実行することがある。代替として、ローカルコンピュータはソフトウェアまたはデータの断片を必要に応じてダウンロードして、命令の一部をローカルコンピュータで実行し、一部をリモートコンピュータおよび／またはデバイスで実行することによってソフトウェアを分散して処理することがある。
【００６１】
また、この分野の精通者ならば認識するように、従来の手法を利用することにより、ソフトウェアのコンピュータ実行可能命令の全部または一部は、ＤＳＰ(digital signal processor)、ＰＬＡ(programmable logic array)、ディスクリート回路などのような、専用エレクトロニック回路によって実行されることがある。「エレクトロニック装置(electronic apparatus)」という用語は、なんらかのソフトウェア、ファームウェアなどを備えたコンピューティングデバイスまたはコンシューマエレクトロニックデバイス、またはどのソフトウェア、ファームウェアなども備えていないエレクトロニックデバイスまたは回路を含んでいることがある。
【００６２】
「ファームウェア」という用語は、一般に、ＲＯＭのようなエレクトロニックデバイスに保持されている実行可能命令、コード、データ、アプリケーション、プログラムなどを指している。「ソフトウェア」という用語は、一般的に、なんらかの形式のコンピュータ可読媒体内またはその上に保持されている実行可能命令、コード、データ、アプリケーション、プログラムなどを指している。「コンピュータ可読媒体」という用語は、一般に、システムメモリ、ストレージデバイスおよびこれらの関連媒体などを指している。
【００６３】
本発明の原理および上述した例が適用されることのある多くの可能な実施形態に鑑みて、当然に認識されるように、本明細書に記載した例は単なる例示を目的とするものであり、本発明の範囲を限定するものではない。従って、本明細書に説明した発明は、請求の範囲およびその等価技術の範囲内に属するすべての実施形態を意図している。
【図１】
0005893921.tif 000008
【図２】
0005893921.tif 000009
【図３】
0005893921.tif 000010