JP5893921B2 - ロール独立コンテキスト交換 - Google Patents

ロール独立コンテキスト交換 Download PDF

Info

Publication number
JP5893921B2
JP5893921B2 JP2011530093A JP2011530093A JP5893921B2 JP 5893921 B2 JP5893921 B2 JP 5893921B2 JP 2011530093 A JP2011530093 A JP 2011530093A JP 2011530093 A JP2011530093 A JP 2011530093A JP 5893921 B2 JP5893921 B2 JP 5893921B2
Authority
JP
Japan
Prior art keywords
conversation
message
address
party
context
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2011530093A
Other languages
English (en)
Other versions
JP2012504294A (ja
Inventor
アレクサンダー アレン ニコラス
アレクサンダー アレン ニコラス
アール.ヴィシュワナス ティルネルヴェーリ
アール.ヴィシュワナス ティルネルヴェーリ
ジェイ.ミレー ステファン
ジェイ.ミレー ステファン
サムエル ビクター ピント エドモンド
サムエル ビクター ピント エドモンド
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2012504294A publication Critical patent/JP2012504294A/ja
Application granted granted Critical
Publication of JP5893921B2 publication Critical patent/JP5893921B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/107Computer-aided management of electronic mailing [e-mailing]

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Computer Hardware Design (AREA)
  • Tourism & Hospitality (AREA)
  • Data Mining & Analysis (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Telephone Function (AREA)

Description

本発明は、ロール独立コンテキスト交換に関するものである。
ネットワーク、特にインターネットの出現の結果、オンラインサービスは今では当たり前になっている。このようなオンラインサービスはネットワーク上のある形式のメッセージングを通してアクセスされるのが一般的である。
2つのパーティ間の関係メッセージの交換を持続するためには、一般的に、これらのパーティが会話(会話ステート)に関するヒストリ情報を維持すること、および関係する可能性のあるメッセージを特定するためのメカニズムをこれらのパーティが持っていることが必要である。
以下は、本明細書の読者が基本的な理解を得られるように開示事項の概要を簡略化して示したものである。この概要は開示事項を詳細に概説したものではなく、本発明のキーとなる/重要な要素を特定するものでもなく、本発明の範囲を限定するものでもない。この概要の唯一の目的は、本明細書に開示されているいくつかの概念を、以下に提示されているもっと詳細な説明の序文として提示することである。
本明細書には、種々のパーティ間の会話のための技術であって、パーティまたはこれらのパーティがそこを通して通信する通信媒体が断続的に動作するとき会話を維持するために持続可能であるコンテキスト情報を含む会話のための技術を示す例が記載されている。このような会話では、どのパーティもコンテキストの自分の見方をメッセージに組む入れることが可能であり、またどのパーティもロール(role)に関係なくおよび基礎となるネットワーク、トランスポートまたはアプリケーションメッセージ交換パターンに関係なく、次のメッセージを送信することが可能である。このような技術からは耐久性のあるサービスが得られる。
付随する特徴の多くは、以下の添付図面に関連して考慮された以下の詳細な説明を参照してよりよく理解すると、より容易に認識されるであろう。
本明細書の説明は、添付図面に関連して考慮された以下の詳細説明から理解が容易化されている。添付図面において、
種々の通信媒体を介して通信上で結合された例示パーティを示すブロック図である。 例示パーティおよび例示会話の例示メッセージシーケンスを示すブロック図である。 本明細書に記載されている技術を実装することができる例示のコンピューティング環境を示すブロック図である。
添付図面では、類似のパーティを示すために類似の参照符号が使用されている。
添付図面に関連して以下に記載された詳細説明は本発明の例を記載することを目的とするものであって、本発明の例が構築または利用されることのある唯一の形式を表すことを目的とするものではない。本明細書の記載には、これらの例の機能の少なくとも一部が示されており、および/またはこれらの例を構築し、操作するためのステップのシーケンスが示されている。なお、同一または同等の機能およびシーケンスは異なる例によって遂行することもできる。
本発明の例は、コンピューティング環境およびネットワーキング環境で実現されるものとして本明細書に説明され、図示されているが、本明細書に記載された技術は例として示されたもので、限定的なものではない。当業者ならば理解されるように、本発明の例は種々の異なるタイプのコンピューティング環境およびネットワーキング環境におけるアプリケーションに適している。
図1は、種々の通信媒体を介して通信するように結合された例示パーティ110と120を示すブロック図である。例示パーティ110は、図示のように、インターネット130を通して、および例示メッセージキュー(message queue)140を通して、およびローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)またはいずれかの他の種類のネットワークまたはネットワークの組み合わせであることのある例示ネットワーク150を通して例示パーティ120に結合されている。パーティ110および/またはパーティ120は、付加的にまたは代替として、いずれかの他の媒体、技術、手段など(これらは本明細書では「通信媒体」として集合的かつ個別的に示しており、その中には図3に関連して記載されたものが含まれている)を介して通信上で結合されていることがある。パーティ110および/またはパーティ120は、各々が異なるネットワークなどに結合された複数のネットワークインタフェースカードなどを含んでいることがある。
この例では、通信媒体130、140および150は「通信上で別個(communicatively distinct)」または単に「別個」になっている。すなわち、パーティ110とパーティ120の各々は、あるカップリング(coupling)(図示せず。例えば、ネットワークインタフェースカード(NIC)など)によって通信媒体150に結合され、別の個別カップリング(図示せず)によって通信媒体140に結合され、さらに別の別個カップリング(図示せず)によって通信媒体130に結合されている。従って、パーティ110が通信媒体150とのそのカップリングを利用してインターネット(通信媒体130)を介してパーティ120と通信できないのは、種々の通信媒体が別個であるからである。このような通信媒体はハードウェア、ネットワーク、リンクなどを共有していることがあるが、これらの通信媒体はそれでもなお通信上で別個または単純に別個になっている。例えば、インターネット上に確立されたバーチャルプライベートネットワーク(VPN)は、その上でVPNが動作しているインターネットとは通信上で別個であるのが代表的である。別の例では、特定のパーティへのLAN接続はWAN接続または同じパーティへの別の別個LANとは通信上で別個であることが可能である。別の例では、メッセージキューはインターネット上またはLAN上で確立されることがあるので、メッセージキューはインターネットまたはLANとは別個である。通信上で別個の通信媒体の多くの他の例はこの分野の精通者に公知であるが、本発明によって利用されることがある。
パーティ110とパーティ120のように、会話における2パーティが連続的に動作することが保証されている場合は、メッセージ交換は2パーティの非持続的メモリに置かれている情報を使用して実行することができる。例えば、そのようなケースとして、LAN上で同じTCP(Transport Control Protocol)接続を利用して交換された一連のメッセージがある。しかし、パーティの一方または両方が断続的に動作すること、および/またはこれらのパーティを結合する通信媒体が断続的に動作することをアプリケーションが要求しているのが普通である。さらに、パーティ間でメッセージを交換するために使用される特定の通信媒体が時々、さらにはメッセージ毎に(あるメッセージから次のメッセージに)変わることを許容することが有用であることがある。
本明細書の中で使用されている「パーティ」または「複数のパーティ」という用語は、一般的に別のパーティと通信する能力を備えたある種のコンピューティングシステムまたはデバイスなどを指している。パーティは、本明細書では「システム」と呼ばれることもある。このようなコンピューティングシステムは図3に関連して記載されているものように、コンピューティング環境によって提供されることがある。パーティはクライアントおよび/またはサーバおよび/またはサービスと考えられることがある。パーティは「耐久性のあるサービス(durable service)」、すなわち、会話ステートを失うことなくサービスがシャットダウンされ、リスタートされるように会話ステートを持続するサービスであることがある。パーティはネットワーク、バスまたは他の通信手段などを介して結合されたコンピューティングシステムの集まりから構成されることがある。
本明細書の中で使用されている「会話メッセージ(conversation message)」および「メッセージ(message)」という用語は、一般的に、一般に本体と1つまたは2つ以上のヘッダを含む複数の部分を含むことのある自己完結型データ単位(self-contained unit of data)を指している。このようなメッセージは、いずれかの適当なトランスポートプロトコルを使用して別のパーティに送信されることのある1つまたは2つ以上のデータパケットの中でトランスポートされることがある。本明細書の中で使用されている「会話」という用語は、一般にパーティ間のなんらかのメッセージ交換を指しており、送信される各メッセージは、例えば、HTTP(Hypertext Transport Protocol)またはSOAP(以前は“Simple Object Access Protocol”として知られていた)のようなトランスポートプロトコルを介したパーティ間の単純または複雑なパケット交換を伴うことがある。会話は持続時間が短いこともあれば、月、年またはさらにより長い期間のように非常に長い持続時間の間続くこともある。会話は少数のメッセージ(例えば、単一の要求の後に続く単一の応答)だけで構成されることもあれば、多数のメッセージで構成されることもある。会話は複数の通信媒体を利用することがあり、このような通信媒体は会話の存続期間に変化することがある。パーティ、通信媒体、トランスポートなどにある時間の間休止オペレーションが介入し、その後で偶発的にまたは意図的に再び動作状態になったときでも、会話は持続することがある。会話は、パーティに割り当てられたロール(role)に関係なく、いずれかのパーティによって開始されることがある。どのパーティも1つまたは2つ以上の会話に同時に係わりをもつことがある。
本明細書の中で使用されている「通信媒体(communication medium)」という用語は、一般的に、物理的接続性および/またはプロトコル接続性およびこれら2つの組み合わせなどを指している。物理的接続性通信媒体の例としては、特定のネットワーク、シリアルバス、赤外線リンクなどがある。プロトコル接続性通信媒体の例としては、メッセージキュー、TCP、SMTP(Simple Mail Transfer Protocol)、SOAP(以前は“Simple Object Access Protocol”として知られていた)、またはHTTPのような、ある種の物理的接続性を利用した種々のトランスポートプロトコルがある。プロトコル接続性(protocol connectivity)には直接接続(例:TCP)または分離(decoupled)接続(例:メッセージキュー)が用意されていることがある。いくつかのケースでは、異なるトランスポートプロトコルが同じ物理的接続性を利用することがある。例えば、メッセージキューとTCP接続は両方とも同じネットワーク上で動作することがある。さらに、別の例では、メッセージキューはTCPを使用して実現されることがある。
各メッセージキューは、一般に、会話のステートを表す会話コンテキスト、送信側会話パーティのアドレスおよび受信側会話パーティのアドレスがそれと関連付けられ、そこに含まれおよび/または参照されている。メッセージのフォーマットは任意に構造化されていることがある。一例では、メッセージは、アドレスとコンテキストのセクションのあるXML(Extensible Markup Language)を使用してフォーマットされている。別の例では、メッセージの中の会話のコンテキストは、各々が与えられた名前および対応する値を持ち、これらがテキストストリングであるコンテキストプロパティのリストになっている。別の例では、コンテキストおよび/またはアドレスはメッセージヘッダに追加されている。さらに別の例では、コンテキストおよび/またはアドレスは、会話の2パーティ間の事前に取り決め合意を使用してメッセージ本体の内容から推定されている。
図2は、例示パーティ110と120および例示会話の例示メッセージシーケンス200を示すブロック図である。パーティ110と120は図1のパーティに類似している。例示パーティ120は、図示のように、例示送信側(sender)123、例示受信側(receiver)124および例示ストア(store)125を含んでいる。送信側123は、一般に、メッセージを生成し、送信するためのメッセージ処理パイプライン(message processing pipe)を含んでいる。受信側124は、メッセージを受信し、処理するためのメッセージ処理パイプラインを含んでいる。ストア125は、一般に、メッセージコンテキストなどをストアするための不揮発性ストレージメカニズムを含んでいる。会話に介入することのあるパーティ110および他のパーティは、一般に、類似の互換性のある送信側、受信側およびストアを含んでいる。
図2は、アドレスM111のインタフェースおよびアドレスA 121のインタフェースを経由する例示パーティ120への通信媒体250を介して結合された例示パーティ110を示している。例示パーティ110は、さらに図示のように、アドレスN 112の別のインタフェースおよびアドレスB 122の別のインタフェースを経由する例示パーティ120への通信媒体260を介して例示パーティ120に結合されている。通信媒体250と260は相互とは通信上で別個になっている。すなわち、例えば、パーティ110がアドレスB 112のパーティ120にアドレスM 111から通信できないのは、アドレスM 111とアドレスB 122の間に通信経路を提供する通信媒体がないからである。言い換えれば、パーティ110は通信媒体250を利用してアドレスB 122のパーティ120と通信することができない。従って、アドレスは「到着不能(non-reachable)」または「到着不可(not reachable」と考えられることがある。本明細書の中で使用されているこのような用語は、一般に、メッセージを特定してそこに送ることができないアドレスを指している。いくつかのケースでは、アドレスは、通信上で個別である2つの通信媒体などに関して上述したように、ネットワークトポロジなどに起因して特定の送信側アドレスから到着不能であることがある。到着不能アドレスの他の例としては、一般にアドレスが用意されていないことを示す<none>アドレスなどのほかに、一般にメッセージを受信できるが、使用可能なアドレスが計算または解決できないパーティを示す<anonymous>がある。匿名(anonymous)アドレスの例としては、HTTPおよびTCP接続の逆接続(reverse connection)がある。
また、図2はステップ210、220および230における例示通信シーケンスを示している。この例では、ステップ210は、一般に、通信媒体250を利用してパーティ120からパーティ110に送信されるメッセージ−会話メッセージA−を示している。この例では、会話メッセージは次のような情報を含んでいる。
Figure 0005893921
例示会話メッセージA
「送信元(From)」フィールドは、一般に、メッセージがそこから送信される元のパーティのアドレス、すなわち、この例ではパーティ120を示している。「宛先(To)」フィールドは、一般に、メッセージがそこに送信される先のパーティのアドレス、すなわち、この例ではパーティ110を示している。アドレスのフォーマットは、適切であればどのようなフォーマットでも可能であり、その中にはURL(universal resource locator)、IP(internet protocol)アドレス、emailアドレスなどが含まれている。
「アプリケーションオペレーション(Application Operation)」フィールドは、一般に、受信側パーティによって実行されることを送信側パーティが要求しているなんらかのアプリケーションオペレーションに対する要求、すなわち、この例では「作業W実施(Do Work W)」を示している。このフィールドの中の情報は、一般に、望みのオペレーションを特定しており、および/または一般にオペレーションに関係する他のいずれかの情報を含んでいることがある。「アプリケーション応答先(Application Reply To)」フィールドは、一般に、アプリケーションがアプリケーションオペレーション要求に対する応答をそこに送信できる先のパーティのアドレス、すなわち、この例ではアドレス121にいるパーティ120を示している。このアドレスは、要求側パーティ、この例ではアドレスA 121にいるパーティを含むどのパーティのアドレスであってもよく、またはこのアドレスは要求側パーティの代替アドレスであってもよい。このアドレスは本明細書で上述したようにフォーマットされることも、他のいずれかの適当なフォーマットになっていることもある。一例では、「アプリケーションオペレーション」フィールドおよび「アプリケーション応答先」フィールドなどはメッセージ本体に含まれている。アプリケーションオペレーションに関係する他のフィールドは追加的にメッセージに含まれていることがある。
「コンテキスト(context)」フィールドは、一般に、図1に関連して説明されているような会話コンテキスト情報を含んでいる。この例では、コンテキストは送信側パーティ120が受信側パーティ110にその実行を要求している作業を特定する「作業発注#123(Work Order #123)」を含んでいる。一例では、コンテキストは受信側パーティがすでに気づいている識別子(ID)を含んでいることがある。別の例では、コンテキストは受信側パーティがまだ気づいていないIDを含んでいることがある。このケースでは、受信側パーティはコンテキストおよびIDを会話のために作成したインスタンスと関連付けている。このようなインスタンスはIDに適していれば、どのようなリソース、オブジェクト、プロセス、ワークフロー、サービスなどであってもよい。「会話応答先(Conversation Reply To)」フィールドは、一般に、会話における次のメッセージが送信される先のパーティ、すなわち、この例ではアドレスB 122にいるパーティ120のアドレスを示している。このアドレスは、要求側パーティを含むどのパーティに対するものであってもよく、またはこのアドレスは要求側パーティ、すなわち、この例ではアドレスB 122にいるパーティ120の代替アドレスであってもよい。このアドレスは本明細書で上述したようにフォーマットされている場合がある。具体的には、会話メッセージの「会話応答先(Conversation Reply To)」フィールドは、一般に、会話メッセージを受信するために使用された同じ通信媒体を介して到着できないアドレスを示していることがある。このケースでは、会話応答はいずれかの適当な通信媒体を使用して送信される。一例では、「コンテキスト」フィールドと「会話応答先」フィールドはメッセージの会話コンテキスト部分に含まれている。会話コンテキストに関係する他のフィールドは追加的にメッセージに含まれていてもよい。
一例では、このメッセージは本明細書で上述したようにXMLでフォーマットされていてもよい。次に示したものは、会話メッセージAの仮定上のXML例である。
Figure 0005893921
図2のステップ220は、一般に、パーティ110から通信媒体250を利用してパーティ120に送信されるアプリケーション応答、すなわち、アプリケーション応答Gを示している。このような応答は、一般に、アプリケーションレベルで行なわれ、会話の一部でないのが一般的である。このような応答は、一般に、パーティ110が要求を受信したことを示している。しかし、このような応答は、一般に、要求が受信されたことだけを示し、要求されたオペレーションが実行されることも、いずれ実行されることも示していない。要求されたオペレーションが完了するのに若干の時間、日数、月数、年数、あるいはより長くかかることがある。この例では、アプリケーション応答は次のような情報を含んでいる。
Figure 0005893921
例示アプリケーション応答G
一例では、この応答は本明細書において上述したようにXMLでフォーマットされることがある。「送信元」フィールドは、一般に、応答がそこから送信される元のパーティ、すなわち、この例ではパーティ110のアドレスを示している。「宛先」フィールドは、一般に、応答が送信される先のパーティ、すなわち、この例ではパーティ120のアドレスを示している。アドレスのフォーマットは適当であればどのフォーマットでもよく、その中には、URL(universal resource locator)、IP(internet protocol)アドレス、Eメールアドレスなどが含まれている。
「アプリケーションオペレーション」フィールドは、一般に、送信側パーティが受信側パーティによって実行されることを要求しているなんらかのアプリケーションオペレーションに対する要求、すなわち、この例では以前に送信された要求が受信されたことを示す「要求受信(Request Received)」を示している。このフィールドの中の情報は、一般に、必要とするオペレーションを特定しており、一般にオペレーションに関係するなんらかの他の情報を含んでいることがある。「アプリケーション応答先」フィールドは、一般に、アプリケーションがアプリケーションオペレーション要求に対する応答、すなわち、この例では応答が不要であることを示す<none>を送信できる先のパーティのアドレスを示している。アプリケーションオペレーションに関係する他のフィールドが追加的にまたは代替として応答の中に含まれていることがある。
一例では、この応答は本明細書において上述したようにXMLでフォーマットされることがある。次のものは、アプリケーション応答Gの仮定上のXML例である。
Figure 0005893921
図2のステップ230は、一般に、通信媒体260を利用してパーティ110からパーティ120に送信されるメッセージ、すなわち、会話メッセージBを示している。この例では、このメッセージは、会話メッセージAで始まる会話の一部である。なお、このメッセージは会話の以前のメッセージとは異なる通信媒体、すなわち、媒体260を利用して送信される。この例では、会話メッセージは次のような情報を含んでいる。
Figure 0005893921
例示会話メッセージB
一例では、このメッセージはこの応答は本明細書において上述したようにXMLでフォーマットされることがある。「送信元」フィールドは、一般に、メッセージがそこから送信される元のパーティ、すなわち、この例ではパーティ110のアドレスを示している。「宛先」フィールドは、一般に、メッセージが送信される先のパーティ、すなわち、この例ではパーティ120のアドレスを示している。アドレスのフォーマットは適当であればどのフォーマットでもよく、その中には、URL(universal resource locator)、IP(internet protocol)アドレス、Eメールアドレスなどが含まれている。
「アプリケーションオペレーション」フィールドは、一般に、送信側パーティが受信側パーティによって実行されることを要求しているなんらかのアプリケーションオペレーションに対する要求、すなわち、この例では以前に要求したオペレーションのステータスを示す「作業W実施完了(Completed Do Work W)、一般に、望みのオペレーションを特定しており、および/または一般にオペレーションに関係する他のいずれかの情報を含むことができる。「アプリケーション応答先」フィールドは、一般に、アプリケーションがアプリケーションオペレーション要求に対して応答、すなわち、この例では応答が不要であることを示す“<none>”を送信できる先のパーティのアドレスを示している。このアドレスは、要求側パーティ、すなわち、この例ではアドレスN112にいるパーティ110を含むどのパーティに対するものであってもよく、またはこのアドレスは要求側パーティの代替アドレスであってもよい。このアドレスは本明細書において上述したようにフォーマットされていてもよく、他のいずれかの適当なファーマットでフォーマットされていてもよい。一例では、「アプリケーションオペレーション」フィールドおよび「アプリケーション応答先」フィールドなどは、メッセージ本体に含まれている。アプリケーションオペレーションに関係する他のフィールドは追加的にまたは代替としてメッセージに含まれていてもよい。
「コンテキスト」フィールドは、一般に、図1に関連して説明したような会話コンテキスト情報を含んでいる。この例では、コンテキストは、送信側パーティ120が受信側パーティ110に実行することを要求する作業を特定している“作業発注#123”を含んでいる。なお、会話メッセージBのコンテキストは、両方のメッセージが同じ会話の一部であることを示す会話メッセージAのそれと同じである。「会話応答先」フィールドは、一般に、会話の中の次のメッセージが送信されることのある先のパーティのアドレスを示しており、そのなかには、この例ではこのメッセージに対する応答として追加メッセージが期待されないことを示す“none”が含まれている。
パーティ120がパーティ110に会話メッセージAを送信するケースの例では、パーティ120は、作業発注、特に「作業発注#123」に関する新しい会話を開始している。メッセージAは通信媒体250を利用して、すなわち、例えば、パーティ110とのHTTP接続を使用して送信されている。メッセージはパーティ110がなんらかの作業、特に「作業W」を実施することを要求している。アプリケーションレベルの応答が返送され、要求が受信されたことを示している。HTTP接続はそのあと終了されていることがあり、パーティのどちらかまたは両方はパーティが結合されていた通信媒体と共にリブートなどが行なわれている可能性がある。そのあと、パーティ110は、作業発注#123に関する同じ会話の一部であるメッセージ、すなわち、会話メッセージBを送信することによってパーティ120との別の会話を開始している。メッセージBは、会話メッセージAがそこを利用して送信された通信媒体とは異なる通信媒体260を利用して、すなわち、例えば、メッセージキューを使用して送信されている。同じ会話および/または異なる会話に対する追加メッセージは、パーティ110とパーティ120の間だけでなく、他のいずれかのパーティ間で送信されることもある。全二重(full duplex)通信がサポートされている。会話およびそのメッセージ交換パターンは、どの特定基礎ネットワーク、トランスポート、および/またはアプリケーションメッセージ交換パターンにも結びついていない。会話のコンテキストは任意にフォーマットされ、会話の進行に伴って会話のパーティによって補強されることができる。どのパーティも、会話の中でメッセージを送信する先の次のパーティとして指名されることができる。会話コンテキストとアドレスは、アプリケーション情報、トランスポートプロトコルおよびネットワークトポロジから独立した形でメッセージに含まれているのが一般的である。
一例では、このメッセージは、本明細書の中で上述したようにXMLでフォーマットされていることがある。次に示したものは、会話メッセージBの仮定上のXML例である。
Figure 0005893921
メッセージがどのようにして実世界のシナリオに適用できるかの一例において、2パーティが銀行通貨振替(Banking Money Transfer)に関係していると考えられている。この例では、パーティ120は、通信媒体250を利用して(例えば、インターネット上のHTTP接続を使用して)パーティ110にメッセージ(会話メッセージAに類似している)を送信することによって会話を開始しており、このメッセージは、「通貨振替(Transfer Money)」のアプリケーションオペレーション、通信媒体250上のアプリケーション応答(例えば、オリジナルメッセージと同じHTTP接続を使用する)、および特定の「オーダ番号(Order Number)」と要求した通貨振替についての将来の更新と共にそこでパーティ120に到着できる通信媒体260上の会話応答アドレス(例えば、セキュアプライベートネットワークを利用したメッセージキューの使用)を含むコンテキストを含んでいる。パーティ120は、送信されるメッセージのコンテキストをストア125のようなローカルストアにストアする。
パーティ110は、通貨振替要求メッセージを受信し、そのメッセージの中のアプリケーション応答アドレスに応答(アプリケーション応答Gに類似)を送信することによって応答し、要求がパーティ110によって受信されたことをパーティ120に知らせる。パーティ110は、この時点では、通貨振替が行なわれたことまたは実際に行なわれることを約束していない。要求の有効性を検査し、振替を完了するには数時間、数日、数週などかかることがある。
その後のある時点で、パーティ110は、通貨振替のステータスを示す新しいメッセージ(会話メッセージBに類似)を、通信媒体260、すなわち、セキュアプライベートネットワーク上のメッセージキューを経由してパーティ120に送信することによって会話を継続する。このようなステータスメッセージは、「処理中(processing)」、「振替失敗(transfer failed」「振替成功(transfer succeeded)」といったことを示すことも可能である。このような各ステータスメッセージは始めにパーティ120によって提供されたコンテキストを含んでいる。このようなステータスメッセージはオリジナルメッセージのメッセージ交換パターンによって記載されていない。このようなステータスメッセージは媒体250のような、オリジナルの通信媒体によってサポートされないことがある。
このような会話では、どのパーティもコンテキストの自分の見方をメッセージに組み込むことができる。別のパーティはメッセージの中のこのコンテキストを調べて、コンテキストが新しい会話を始めるのか、既存の会話を継続するのか、または既存の会話のコンテキストを修正するのかを判断することがある。さらに、会話におけるどのパーティも、基礎となるネットワーク、トランスポート、またはアプリケーションメッセージ交換パターンに関係なく次のメッセージを送信することができる。
本明細書の中で上述したXML例に例示するフィールドは例として示されたもので、限定的なものではない。図示のフィールドはこのようなメッセージに含まれている必要はなく、他のフィールドが代替としてまたは追加的に含まれていることがある。さらに、このようなメッセージの中に含まれるフィールドはメッセージの受信側による対応するアクションを必要としないことがある。また、フィールドが送信側パーティと受信側パーティによってすでに理解されていれば、そのフィールドはメッセージから除外されることがある。例えば、「アプリケーション応答先」フィールドは対応する要求が応答を必要としなければ、省かれることがある。
以下は、さらにアプリケーションおよび会話契約(conversation contract)と対照となることがある別の例である。この例では、パーティ110は、アドレスM 111でリスニングしているサービスエンドポイントを含む1つまたは2つ以上のサービスエンドポイントで作業発注処理サービス(Work Order Processing Service)を操作している。作業発注処理サービスはアプリケーションオペレーション「作業W実施」を含むアプリケーション契約を持っている。作業発注処理サービスは追加のアプリケーションオペレーションも含んでいることがある。作業発注処理サービスアプリケーション契約を記述しているメタデータをリトリーブする手段がある。このメタデータは、一般に、「作業W実施」要求メッセージと「作業W実施」応答メッセージに対する記述を含み、この記述はこれらのメッセージの構造と許容される内容を指定している。メタデータは、一般に、指定したプロパティとアドレスM 111を使用して通信媒体上を「作業W実施」要求メッセージを送信すると、「作業W実施」応答メッセージが送信されることを示している。
さらに、この例では、パーティ120は、アドレスBでリスニングするサービスエンドポイントを含む1つまたは2つ以上のサービスエンドポイントで作業発注通知サービス(Work Order Notification Service)を操作する。作業発注通知サービスは、アプリケーションオペレーション「作業W実施完了(Completed Do Work W)」を含むアプリケーション契約を持っている。「作業発注通知サービス」は追加のアプリケーションオペレーションも含んでいることがある。「作業発注通知サービス」アプリケーション契約を記述すメタデータをリトリーブする手段がある。このメタデータは、一般に、「作業W実施完了」要求メッセージの記述を含んでおり、この記述はこのメッセージの構造と許容される内容を指定している。このメタデータは、一般に、指定したプロパティとアドレスB 122を使用して通信媒体上において「作業W実施完了」要求メッセージを送信することが許されているが、応答メッセージは送信されないことを示している。
さらに、この例では、作業発注処理サービスと作業発注通知サービスに対するアプリケーション契約は、これらの2サービス間のハイレベルの調整パターンを記述した会話契約によって補足されていることがある。会話契約はコンピュータが理解できるように自然言語ドキュメントに記述されることもあれば、単にこれらの2サービスを使用するアプリケーションを作成するプログラマ間で理解が共有されることもある。会話契約は、それぞれのアプリケーション契約には見られない2サービス間の追加の関連性を記述していることがある。例えば、会話契約は時には「作業W実施」要求メッセージの受信に続いて、「作業W実施」要求メッセージを送信したパーティによって提供されたサービスでパーティ110が「作業W実施完了」アプリケーションオペレーションを起動することを指定することがある。これは、「作業W実施完了」の起動が行なわれるとき未指定になっていることがある。従って、これは「作業W実施」要求メッセージの前かその後に、またはそれと同時に失敗することがある。関係するパーティ間で起り得る会話の数が無制限であることがあり、次の会話メッセージに関する決定には、ビジネスロジック、起動したアプリケーションロジックに関係のない他のアプリケーションオペレーション、またはその決定を通知する他の手段が関わることがある。
別の例では、サービスエンドポイントのアドレスは、論理情報を物理情報と共に含んでいることがある。例えば、作業発注通知サービスの物理アドレスは適当な通信媒体上の伝送に必要なアドレスB122であることがある。作業発注通知サービスの論理アドレスは単に「作業発注通知サービス」の名前などであることがある。会話応答先アドレスは次の会話メッセージを送信するのに十分である1つまたは2つ以上の物理アドレスを含んでいることがある。代替としてまたは追加的に、会話応答先アドレスは物理アドレス情報の一部を欠いていることがあるが、欠いている物理アドレス情報がそこから計算可能である1つまたは2つ以上の論理アドレスを含んでいることがある。サービスは、適当な物理アドレスと通信媒体構成を、提供された論理情報および物理情報から計算できることがある。これらの計算は、サービスに知らされた情報を利用することもあれば、外部ディレクトリサービスを調べるサービスを必要とすることもあれば、1つまたは2つ以上のディスカバリプロトコル(discovery protocol)を実行して物理アドレスを解決するサービスを必要とすることもある。次の会話メッセージのための物理アドレスが分かれば、サービスはそのアドレスを送信するための適当な通信媒体の判断が必要になることがある。
図3は、本明細書に記載の技術を実現することができる例示コンピューティング環境300を示すブロック図である。適切なコンピューティング環境は、多数の汎用システムまたは特殊目的システムと共に実現されることがある。周知システムの例としては、セルフォン、PDA(personal digital assistant)、パーソナルコンピュータ(PC)、ハンドヘルドデバイスまたはラップトップデバイス、マイクロプロセッサベースのシステム、マルチプロセッサシステム、サーバ、ワークステーション、コンシューマエレクトロニックデバイス、セットトップボックスなどがある。
コンピューティング環境300は、一般に、周辺デバイス302、303、304などのような、種々のコンポーネントに結合されたコンピューティングデバイス301の形式で汎用コンピューティングシステムを含んでいる。システム300は、入力デバイス303のように、音声認識、タッチパッド、ボタン、キーボードおよび/またはマウスやトラックボールのようなポインティングデバイスを含む他の種々コンポーネントに、1つまたは2つ以上の入出力(I/O)インタフェース312を介して結合することができる。コンピューティングデバイス301のコンポーネントとしては、1つまたは2つ以上のプロセッサ307(中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)マイクロプロセッサ(μP)などを含む)、システムメモリ309、および一般に種々のコンポーネントを結合するシステムバス308がある。プロセッサ307は、一般に、種々のコンピュータ実行可能命令を処理または実行して、コンピューティングデバイス301のオペレーションを制御し、ネットワーク接続314などの種々の通信媒体を介して他のエレクトロニックデバイスおよび/またはコンピューティングデバイス、システムまたは環境(図示せず)と通信する。システムバス308は、任意の数の複数タイプのバス構造を表しており、その中には、メモリバスまたはメモリコントローラ、周辺バス、シリアスバス、高速グラフィックスポート(accelerated graphics port)、種々のバスアーキテクチャのいずれかを使用したプロセッサまたはローカルバスなどが含まれている。
システムメモリ309は、RAM (random access memory)のような揮発性メモリおよび/またはROM (read only memory)またはFLASH (flash memory)のような不揮発性メモリの形式でコンピュータ可読媒体を含むことができる。BIOS (basic input/output system)は不揮発性メモリなどにストアされていることがある。システムメモリ309は、一般に、データ、プロセッサ307の1つまたは2つ以上に即時にアクセス可能であり、および/または現在操作の対象となっているコンピュータ実行可能命令および/またはコンピュータ実行可能命令を含むプログラムモジュールをストアしている。
マスストレージデバイス304と310は、システムバスへのカップリングを介してコンピューティングデバイス301に結合されていることも、コンピューティングデバイス301に組み込まれていることもある。このようなマスストレージデバイス304と310としては、不揮発性RAM、取り外し可能な不揮発性磁気ディスク305(例:「フロッピー(R)ディスク」)との間で読み書きを行なう磁気ディスクドライブおよび/またはCD ROM、DVD ROM306のような不揮発性光ディスクとの間で読み書きを行なう光ディスクドライブがある。代替として、ハードディスク310のようなマスストレージデバイスとしては、不揮発性の取り出し不能記憶媒体がある。その他のマスストレージデバイスとしては、メモリカード、メモリスティック、テープストレージデバイスなどを含むことができる。
任意の数のコンピュータプログラム、ファイル、データ構造などは、マスストレージ310、他のストレージデバイス304、305、306およびシステムメモリ309(一般に使用可能スペースの制限を受けている)にストアされることがあり、その中には、例として、オペレーティングシステム、アプリケーションプログラム、データファイル、ディレクトリ構造、コンピュータ実行可能命令などが含まれるが、これらに限定されない。
ディスプレイデバイス302のような出力コンポーネントまたはデバイスは、一般にディスプレイアダプタ311のようなインタフェースを介してコンピューティングデバイス301に結合されることがあり得る。出力デバイス302としては、LCD(liquid crystal display)があり得る。その他の例示出力デバイスとしては、プリンタ、オーディオアウトプット、ボイスアウトプット、CRT(cathode ray tube)ディスプレイ、触覚デバイスまたは他の知覚出力メカニズムなどがある。出力デバイスは、コンピューティングデバイス301が人間のオペレータまたは他のマシン、システム、コンピューティング環境などとやりとりするのを可能にすることがある。ユーザは、タッチパッド、ボタン、キーボード、マウス、ジョイスティック、ゲームパッド、データポートなどの、任意の数の異種I/Oデバイス303を介してコンピューティング環境300とのインタフェースとなることがある。これらのI/Oデバイスおよびその他のI/Oデバイスは、システムバス308に結合することのできるI/Oインタフェースを介してプロセッサ307に結合されていることも、および/または周辺ポート、ゲームポート、USB(universal serial bus)、ファイヤワイヤ、赤外線(IR)ポートなどのような他のインタフェースおよびバス構造によって結合することができる。
コンピューティングデバイス301は、1つまたは2つ以上のセルラネットワーク、ワイヤレスネットワーク、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、ストレージエリアネットワーク(SAN)、インターネット、無線リンク、光リンクなどを通した1つまたは2つ以上のリモートコンピューティングデバイスとの通信接続を介してネットワーク化環境(networked environment)で動作することができる。コンピューティングデバイス301は、ネットワークアダプタ313などを介して、または代替としてモデム、DSL(digital subscriber line)リンク、ISDN(integrated service digital network)リンク、インターネットリンク、ワイヤレスリンクなどを介してネットワークに結合することができる。
ネットワーク接続のような通信接続314は、一般に、ネットワークのような通信媒体へのカップリングを提供している。通信媒体は、一般に、搬送波または他のトランスポートメカニズムのような変調されたデータ信号を使用してコンピュータ可読命令とコンピュータ実行可能命令、データ構造、ファイル、プログラムモジュールおよび他のデータを提供している。「変調されたデータ信号(modulated data signal)」という用語は、一般に、その特性の1つまたは2つ以上が信号の中の情報を符号化するような形でセットまたは変更されている信号を意味している。例として、通信媒体は、ワイヤードネットワークまたはダイレクトワイヤード接続などのようなワイヤード媒体および音響、無線周波数、赤外線または他のワイヤレス通信メカニズムのようなワイヤレス媒体を含んでいるが、これらに限定されない。
バッテリまたは電源装置などの電源390は、一般に、コンピューティング環境300の一部または全部に対し電力を供給している。コンピューティング環境300がモバイルデバイスまたはポータブルデバイスなどである場合には、パワーソース390はバッテリとすることができる。代替として、コンピューティング環境300がデスクトップコンピュータまたはサーバなどである場合には、パワーソース390は、壁コンセント経由のように交流(AC)ソースに接続することを目的とした電源であることがある。
一部のモバイルデバイスは、図3に関連して説明したコンポーネントの多くを含んでいない場合がある。例えば、エレクトロニックバッジ(electronic badge)は単純な処理ユニット307などと共にワイヤコイルで構成されていることがあり、このコイルはカードリーダデバイスなどに近接しているときパワーソース390の働きをするように構成されている。このようなコイルは処理ユニット307などに結合されたアンテナの働きをするように構成されていることもあり、このコイルアンテナはエレクトロニックバッジとカードリーダデバイスの間にある種の通信を提供する能力を備えている。このような通信はネットワーキングを伴わないことがあるが、代替として、テレメトリ、ポイントツーポイント、RF、IR、オーディオまたは他の手段を介した汎用または特殊目的通信であることもある。エレクトロニックカードは、ディスプレイ302、I/Oデバイス303、または図3に関連して説明した他のコンポーネントの多くを含んでいない場合がある。図3に関連して説明したコンポーネントの多くを含んでいないことがある他のモバイルデバイスは、例として、エレクトロニックブレスレット(electronic bracelet)、エレクトロニックタグ、埋め込み可能デバイス(implantable device)などを含んでいるが、これらに限定されない。
この分野の精通者ならば認識するように、コンピュータ可読命令、コンピュータ実行可能命令およびデータを提供するために利用されるストレージデバイスは、ネットワーク上に分散することができる。例えば、リモートコンピュータまたはストレージデバイスは、コンピュータ可読命令とコンピュータ実行可能命令をソフトウェアアプリケーションおよびデータの形式でストアしていることがある。ローカルコンピュータはネットワークを介してリモートコンピュータまたはストレージデバイスにアクセスし、ソフトウェアアプリケーションまたはデータの一部または全部をダウンロードすることがあり、いずれかのコンピュータ実行可能命令を実行することがある。代替として、ローカルコンピュータはソフトウェアまたはデータの断片を必要に応じてダウンロードして、命令の一部をローカルコンピュータで実行し、一部をリモートコンピュータおよび/またはデバイスで実行することによってソフトウェアを分散して処理することがある。
また、この分野の精通者ならば認識するように、従来の手法を利用することにより、ソフトウェアのコンピュータ実行可能命令の全部または一部は、DSP(digital signal processor)、PLA(programmable logic array)、ディスクリート回路などのような、専用エレクトロニック回路によって実行されることがある。「エレクトロニック装置(electronic apparatus)」という用語は、なんらかのソフトウェア、ファームウェアなどを備えたコンピューティングデバイスまたはコンシューマエレクトロニックデバイス、またはどのソフトウェア、ファームウェアなども備えていないエレクトロニックデバイスまたは回路を含んでいることがある。
「ファームウェア」という用語は、一般に、ROMのようなエレクトロニックデバイスに保持されている実行可能命令、コード、データ、アプリケーション、プログラムなどを指している。「ソフトウェア」という用語は、一般的に、なんらかの形式のコンピュータ可読媒体内またはその上に保持されている実行可能命令、コード、データ、アプリケーション、プログラムなどを指している。「コンピュータ可読媒体」という用語は、一般に、システムメモリ、ストレージデバイスおよびこれらの関連媒体などを指している。
本発明の原理および上述した例が適用されることのある多くの可能な実施形態に鑑みて、当然に認識されるように、本明細書に記載した例は単なる例示を目的とするものであり、本発明の範囲を限定するものではない。従って、本明細書に説明した発明は、請求の範囲およびその等価技術の範囲内に属するすべての実施形態を意図している。

Claims (19)

  1. プロセッサを備えるシステムであって、前記システムは複数の通信媒体に結合され、前記プロセッサは、
    第1のメッセージを生成するステップと、
    前記第1のメッセージを前記複数の通信媒体のうちの第1の通信媒体を通して別のパーティに送信するステップであって、前記第1のメッセージはアプリケーション応答アドレスを含み、前記第1のメッセージは会話と関連付けられており、前記第1のメッセージは第1のコンテキスト情報と会話応答アドレスとを含む会話ステートを含み、前記会話応答アドレスは前記アプリケーション応答アドレスと異なる、ステップと、
    前記会話ステートの少なくとも一部を格納するステップと、
    前記会話と関連付けられた後続のメッセージを受信し、前記受信した後続のメッセージに含まれるコンテキスト情報を調べて、前記コンテキスト情報が、新しい会話を始めること、既存の会話を継続すること、または既存の会話のコンテキストを修正することに関係するかどうかを判断するステップ
    を含む処理を実行するように動作可能であることを特徴とするシステム。
  2. 前記会話と関連付けられた前記後続のメッセージを受信し、前記受信した後続のメッセージに含まれる前記コンテキスト情報を調べる前記ステップは、前記システムがシャットダウンおよびリスタートした後に実行されることを特徴とする請求項1に記載のシステム。
  3. 前記会話と関連付けられた前記後続のメッセージを受信し、前記受信した後続のメッセージに含まれる前記コンテキスト情報を調べる前記ステップは、前記複数の通信媒体のうちの第2の通信媒体を通して前記別のパーティから第2のメッセージを受信し、および前記受信した第2のメッセージを処理することを含み、前記第2のメッセージは第2のコンテキスト情報を含み、前記第2のコンテキスト情報の少なくとも一部は前記第2のメッセージを会話と関連付けていることを特徴とする請求項1に記載のシステム。
  4. 前記プロセッサは、前記第1の通信媒体を通して前記別のパーティから第3のメッセージを受信するようにさらに動作可能であり、前記第3のメッセージは前記会話から独立したアプリケーション応答であることを特徴とする請求項3に記載のシステム。
  5. 前記第2の通信媒体は前記第1の通信媒体とは、通信上別個であることを特徴とする請求項3に記載のシステム。
  6. 前記第2のコンテキスト情報は、前記会話のステートの少なくとも一部を含むことを特徴とする請求項3に記載のシステム。
  7. 前記会話応答アドレスは、前記システムのアドレスであることを特徴とする請求項1に記載のシステム。
  8. 前記会話応答アドレスは、別のパーティのアドレスであることを特徴とする請求項1に記載のシステム。
  9. 前記会話応答アドレスは、前記第1の通信媒体を通して到着不能であることを特徴とする請求項1に記載のシステム。
  10. 前記会話応答アドレスは会話メッセージを送信するために必要な物理アドレス情報の一部を欠いている論理アドレスであり、前記欠いている物理アドレス情報は外部サービスから取得可能であることを特徴とする請求項1に記載のシステム。
  11. 前記アプリケーション応答アドレスは、アドレスが用意されていないことを示すアドレス、あるいは匿名アドレスを含むことを特徴とする請求項1に記載のシステム。
  12. コンピュータにより実行される、会話のメッセージを生成し、および送信する方法であって、
    会話コンテキストを判定するステップと、
    前記会話コンテキストを前記メッセージに追加するステップと、
    前記会話コンテキストと関連付けられたアプリケーションオペレーションを前記メッセージに追加するステップと、
    会話応答アドレスを前記メッセージに追加するステップであって、会話ステートは前記会話コンテキストと前記会話応答アドレスとを含むステップと、
    第1の通信媒体を通して前記メッセージを別のパーティに送信するステップであって、前記会話応答アドレスは前記第1の通信媒体を通して到着不能であり、前記第1の通信媒体とは異なる第2の通信媒体を通して到着可能である、ステップと、
    前記会話ステートを格納するステップと、
    前記会話と関連付けられた後続のメッセージを受信し、前記受信した後続のメッセージに含まれるコンテキスト情報を調べて、前記コンテキスト情報が、新しい会話を始めること、既存の会話を継続すること、または既存の会話のコンテキストを修正することに関係するかどうかを判断するステップと
    を含むことを特徴とする方法。
  13. 前記会話と関連付けられた前記後続のメッセージを受信し、前記受信した後続のメッセージに含まれる前記コンテキスト情報を調べる前記ステップは、前記コンピュータがシャットダウンおよびリスタートした後に実行されることを特徴とする請求項12に記載の方法。
  14. 前記メッセージはアプリケーション応答アドレスを含み、前記アプリケーション応答アドレスは前記会話応答アドレスとは異なることを特徴とする請求項12に記載の方法。
  15. 前記メッセージはXML(extensible markup language)を使用してフォーマットされることを特徴とする請求項12に記載の方法。
  16. 前記会話応答アドレスは会話メッセージを送信するために必要な物理アドレス情報の一部を欠いている論理アドレスであり、前記欠いている物理アドレス情報は外部サービスから取得可能であることを特徴とする請求項12に記載の方法。
  17. 前記アプリケーション応答アドレスは、アドレスが用意されていないことを示すアドレス、あるいは匿名アドレスを含むことを特徴とする請求項14に記載の方法。
  18. コンピュータ実行可能命令を記憶したコンピュータ可読媒体であって、前記命令はプロセッサによって実行されると、前記プロセッサに会話のメッセージを生成し、および送信する方法を実行させ、前記方法は、
    会話コンテキストを判定するステップと、
    前記会話コンテキストを前記メッセージに追加するステップと、
    前記会話コンテキストと関連付けられたアプリケーションオペレーションを前記メッセージに追加するステップと、
    前記メッセージに会話応答アドレスを追加するステップであって、会話ステートは前記会話コンテキストと前記会話応答アドレスとを含むステップと、
    アプリケーション応答アドレスを前記メッセージに追加するステップであって、前記アプリケーション応答アドレスは前記会話応答アドレスとは異なるステップと、
    第1の通信媒体を通して前記メッセージを別のパーティに送信するステップであって、前記会話応答アドレスは前記第1の通信媒体を通して到着不能であり、前記第1の通信媒体とは異なる第2の通信媒体を通して到着可能である、ステップと、
    前記会話ステートを格納するステップと、
    前記会話と関連付けられた後続のメッセージを受信し、前記受信した後続のメッセージに含まれるコンテキスト情報を調べて、前記コンテキスト情報が、新しい会話を始めること、既存の会話を継続すること、または既存の会話のコンテキストを修正することに関係するかどうかを判断するステップと
    を含むことを特徴とするコンピュータ可読媒体。
  19. 前記会話応答アドレスは会話メッセージを送信するために必要な物理アドレス情報の一部を欠いている論理アドレスであり、前記欠いている物理アドレス情報は外部サービスから取得可能であることを特徴とする請求項18に記載のコンピュータ可読媒体。
JP2011530093A 2008-09-30 2009-09-15 ロール独立コンテキスト交換 Active JP5893921B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/241,793 2008-09-30
US12/241,793 US8370440B2 (en) 2008-09-30 2008-09-30 Role-independent context exchange
PCT/US2009/057044 WO2010039425A2 (en) 2008-09-30 2009-09-15 Role-independent context exchange

Publications (2)

Publication Number Publication Date
JP2012504294A JP2012504294A (ja) 2012-02-16
JP5893921B2 true JP5893921B2 (ja) 2016-03-23

Family

ID=42058716

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011530093A Active JP5893921B2 (ja) 2008-09-30 2009-09-15 ロール独立コンテキスト交換

Country Status (5)

Country Link
US (2) US8370440B2 (ja)
EP (1) EP2350964A4 (ja)
JP (1) JP5893921B2 (ja)
CN (1) CN102165484B (ja)
WO (1) WO2010039425A2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8370440B2 (en) 2008-09-30 2013-02-05 Microsoft Corporation Role-independent context exchange
WO2015161284A1 (en) 2014-04-18 2015-10-22 Personally, Inc. Dynamic directory and content communication
KR102424520B1 (ko) * 2017-11-29 2022-07-25 삼성전자주식회사 전자 장치 및 전자 장치의 동작 방법
CN112989822B (zh) * 2021-04-16 2021-08-27 北京世纪好未来教育科技有限公司 识别对话中句子类别的方法、装置、电子设备和存储介质

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3028066B2 (ja) * 1997-01-14 2000-04-04 日本電気株式会社 Www検索装置
US7069335B1 (en) 1999-08-10 2006-06-27 Microsoft Corporation Method and system for exchanging messages between entities on a network comprising an actor attribute and a mandatory attribute in the header data structure
AU2001238340A1 (en) * 2000-02-16 2001-08-27 Bea Systems Inc. Message routing system for enterprise wide electronic collaboration
JP2001266044A (ja) * 2000-03-15 2001-09-28 Nintendo Co Ltd ゲームデータ処理ネットワークシステム
US7984104B1 (en) * 2000-04-03 2011-07-19 West Corporation Method and system for content driven electronic messaging
JP2001331386A (ja) * 2000-05-24 2001-11-30 Nec Corp システム構成作成支援サービスシステム及びその方法
US6769015B1 (en) * 2000-08-07 2004-07-27 International Business Machines Corporation Adopting browser environmental attributes of e-mail sender
JP4723077B2 (ja) 2000-11-13 2011-07-13 沖電気工業株式会社 アドレス変換機能付き通信装置およびマルチメディア通信方法
JP2002157205A (ja) 2000-11-17 2002-05-31 Square Co Ltd クライアントシステム、メッセージ交換方法、記録媒体およびプログラムプロダクツ
US20020076025A1 (en) * 2000-12-18 2002-06-20 Nortel Networks Limited And Bell Canada Method and system for automatic handling of invitations to join communications sessions in a virtual team environment
US6791582B2 (en) * 2000-12-29 2004-09-14 International Business Machines Corporation Method and system for identifying and displaying information that is new or has been updated in a place
US6934948B2 (en) 2001-01-22 2005-08-23 International Business Machines Corporation System and method for grouping diverse operations
US7249195B2 (en) 2001-03-30 2007-07-24 Minor Ventures, Llc Apparatus and methods for correlating messages sent between services
BR0212627A (pt) 2001-08-31 2004-08-17 Paysetter Pte Ltd Sistema e método de transação financeira que utiliza a transmissão eletrônica de mensagens
US7693955B2 (en) 2002-02-22 2010-04-06 Bea Systems, Inc. System and method for deploying a web service
US6850503B2 (en) * 2002-08-06 2005-02-01 Motorola, Inc. Method and apparatus for effecting a handoff between two IP connections for time critical communications
US20060155529A1 (en) 2002-08-16 2006-07-13 Teamware Group Oy System and method for a context-independent framework for management and execution of xml processing tasks
JP4278477B2 (ja) * 2003-10-10 2009-06-17 日本電信電話株式会社 メール配送システム、メール配送方法およびメール配送プログラム
AU2004211236B2 (en) * 2003-02-10 2009-04-02 Open Invention Network, Llc Methods and apparatus for automatically adding a media component to an established multimedia collaboration session
US7631314B2 (en) 2003-08-26 2009-12-08 International Business Machines Corporation Method and system for dynamically associating type information and creating and processing meta-data in a service oriented architecture
US7912904B2 (en) * 2004-03-31 2011-03-22 Google Inc. Email system with conversation-centric user interface
US20060168110A1 (en) 2004-11-24 2006-07-27 Utstarcom, Inc. Method to facilitate use of multiple communication protocols in a communication network
US20060294191A1 (en) 2005-06-24 2006-12-28 Justin Marston Providing context in an electronic messaging system
US7580719B2 (en) 2005-09-21 2009-08-25 U Owe Me, Inc SMS+: short message service plus context support for social obligations
US8271602B2 (en) 2006-01-11 2012-09-18 Oracle International Corporation System and method for conversation based on web service addressing
US7680895B2 (en) * 2006-02-06 2010-03-16 Google Inc. Integrated conversations having both email and chat messages
US7668920B2 (en) * 2006-03-01 2010-02-23 Fortinet, Inc. Electronic message and data tracking system
US8200762B2 (en) * 2006-06-01 2012-06-12 Aol Inc. Displaying complex messaging threads into a single display
US7720918B1 (en) * 2006-11-27 2010-05-18 Disney Enterprises, Inc. Systems and methods for interconnecting media services to an interface for transport of media assets
US7756936B2 (en) * 2007-02-23 2010-07-13 Yahoo! Inc. User interface for transitioning between chat and email
US7996237B2 (en) * 2007-05-09 2011-08-09 Oracle International Corporation Providing collaboration services to business applications to correlate user collaboration with the business application
US20100049813A1 (en) * 2007-07-03 2010-02-25 Bhavin Turakhia Method and system for determining a context of a message
US7970837B2 (en) * 2008-05-12 2011-06-28 International Business Machines Corporation Method to invite users to a virtual world using instant messaging
US8370440B2 (en) 2008-09-30 2013-02-05 Microsoft Corporation Role-independent context exchange
JP2010198698A (ja) 2009-02-26 2010-09-09 Toshiba Corp 不揮発性半導体メモリ

Also Published As

Publication number Publication date
US20130138751A1 (en) 2013-05-30
US8370440B2 (en) 2013-02-05
US20100082753A1 (en) 2010-04-01
WO2010039425A3 (en) 2010-07-01
EP2350964A2 (en) 2011-08-03
JP2012504294A (ja) 2012-02-16
CN102165484B (zh) 2013-09-18
EP2350964A4 (en) 2013-11-13
US8843578B2 (en) 2014-09-23
WO2010039425A2 (en) 2010-04-08
CN102165484A (zh) 2011-08-24

Similar Documents

Publication Publication Date Title
US11290555B2 (en) Push notification delivery system
JP5129567B2 (ja) 添付ファイル付きメッセージを処理するためのメッセージングプロトコル
CN106878148B (zh) 一种处理电子邮件的系统和方法
WO2010027577A1 (en) Content sharing and instant messaging
JP2006277725A (ja) サブキューを使用してローカルメッセージ処理を向上させること
US20160269341A1 (en) Distribution of endorsement indications in communication environments
EP3028437A1 (en) Messaging api over http protocol to establish context for data exchange
JP5893921B2 (ja) ロール独立コンテキスト交換
WO2007081351A1 (en) System and method for conversation and callback based on web service addressing and asynchronous request response
JP2005521945A (ja) 共通作業キュー環境における最適格サーバ
CN104094299B (zh) 从发布的日历检索可用性信息的方法和设备
JP2014063430A (ja) 通信制御装置、メッセージ転送方法およびメッセージ転送プログラム
AU2010253923B2 (en) Delivering messages using user-defined agents
TWI493356B (zh) 非同步通信的方法、非同步地與網路瀏覽器通信的方法,及用於與網路通信的系統
JP2002279203A (ja) 預託管理方法,その装置,そのシステム
US8352553B2 (en) Electronic mail connector
CN105704185B (zh) 资源转移方法及装置
CN115036044A (zh) 一种消息处理方法、装置、电子设备及存储介质
US9935903B2 (en) Duplicate-free item creation using EWS by a single client

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120711

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130529

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130618

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20130701

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20130702

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20130717

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20130702

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20130717

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130918

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130926

RD15 Notification of revocation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7435

Effective date: 20130926

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140401

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140630

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20141217

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150417

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20150427

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20150514

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20150619

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160225

R150 Certificate of patent or registration of utility model

Ref document number: 5893921

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250