CN102165484B - 角色独立的上下文交换 - Google Patents

角色独立的上下文交换 Download PDF

Info

Publication number
CN102165484B
CN102165484B CN200980139423.9A CN200980139423A CN102165484B CN 102165484 B CN102165484 B CN 102165484B CN 200980139423 A CN200980139423 A CN 200980139423A CN 102165484 B CN102165484 B CN 102165484B
Authority
CN
China
Prior art keywords
address
session
message
participant
communication media
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
CN200980139423.9A
Other languages
English (en)
Other versions
CN102165484A (zh
Inventor
N·A·艾伦
T·R·维什瓦纳坦
S·J·米利特
E·S·V·平特
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 Technology Licensing LLC
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 CN102165484A publication Critical patent/CN102165484A/zh
Application granted granted Critical
Publication of CN102165484B publication Critical patent/CN102165484B/zh
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)

Abstract

用于多个参与方之间的会话的技术,所述会话包括可被持久保存的上下文信息,以用于在所述参与方或与其通信的通信介质间歇工作时来维持所述会话。在这样的会话中,任意参与方可以将其对上下文的观点嵌入到消息中,并且,任意参与方可以在不考虑角色和底层网络、传输或应用程序消息交换模式的情况下发送下一消息。这些技术提供了持久的服务。

Description

角色独立的上下文交换
背景技术
网络,特别是因特网的出现导致在线服务变得常见。这种在线服务通常是通过在网络上传递消息的某些形式被访问。在两个参与方之间的相关的消息的持续交换通常要求这些参与方维护有关会话的历史信息(会话状态),并且要求这些参与方具有一种标识可能相关的消息的机制。
发明内容
下面提供本发明的简要概述以便向读者提供基本的理解。本概述不是本发明的详尽概观,并且既不标识本发明的关键/重要元素,也不描绘本发明的范围。其唯一目的是以简化形式提供在此公开一些概念作为稍后提供的更详细描述的序言。
本示例提供了用于多个参与方之间的会话的技术,所述会话包括可被持久保存的上下文信息,以用于在所述参与方或与其通信的通信介质间歇工作时来维持所述会话。在这样的会话中,任意参与方可以将其对上下文的观点嵌入到消息中,并且,任意参与方可以在不考虑角色(role)和底层网络、传输或应用程序消息交换模式的情况下发送下一消息。这些技术提供了持久的服务。
许多附带特征将随着参考下面的详细描述并结合附图进行理解而得到更好的认识。
附图说明
结合附图考虑以下详细描述,将更好地理解本说明书,在附图中:
图1是示出通过各种通信介质耦合通信的示例参与方的框图。
图2是示出示例参与方和示例会话的示例消息序列的框图。
图3是示出其中可以实现此处所描述的技术的示例计算环境的框图。
附图中使用相同的附图标记来指代相同的部分。
具体实施方式
下面结合附图所提供的详细描述旨在作为对本发明各示例的描述,而非表示用于构造或利用本发明各示例的唯一形式。本说明书阐明各示例的功能和/或用于构造和操作各示例的步骤序列的至少某一些。然而,相同或等效的功能与序列可由不同的示例来实现。
虽然在本文中将本发明的示例描述并示出为在计算和联网环境中实现,但是所描述的技术只是作为示例而非限制来提供。本领域的技术人员将会认识到,本发明的示例适于在各种不同类型的计算和联网环境和系统中应用。
图1是示出通过各种通信介质耦合通信的示例参与方110和120的框图。示例参与方110被示为通过因特网130、示例消息队列140和示例网络150与示例参与方120耦合,所述网络150可以是局域网(“LAN”)、广域网(“WAN”)或任何其他类型的网络或网络的组合。参与方110和/或120可以通过任意其他的介质、技术、手段等等(在此共同地或单独地被称为“通信介质”并包括结合图3所描述的内容)被另外地或替换地通信耦合。参与方110和/或120可以包括多个网络接口卡等等,每个网络接口卡耦合到不同的网络等等。
在该示例中,通信介质130、140和150是“通信上不同的”或简单地是“不同的”。就是说,参与方110和120中的每个通过一个耦合(未示出,例如网络接口卡(“NIC”等))耦合到通信介质150,并通过另一个不同的耦合(未示出)耦合到通信介质140,并通过又一个不同的耦合(未示出)耦合到通信介质130。这样,参与方110不能在其到通信介质150的耦合上通过因特网(通信介质130)与参与方120进行通信,因为各种的通信介质是不同的。这些通信介质可以共享硬件、网络、链接等,但它们还是通信上不同的或是不同的。例如,在因特网上建立的虚拟个人网络(“VPN”)典型地与其工作的因特网是通信上不同的。在另一个示例中,到特定参与方的LAN连接可以与到同一参与方的WAN连接或另一不同的LAN在通信上不同。在另一个示例中,可以在因特网上或LAN上建立消息队列,这样,该消息队列不同于所述因特网或LAN。许多其他的通信上不同的通信介质的示例对于本领域的技术人员来说是公知的,并且可以被本发明所利用。
如果保证在会话中的两个参与方,例如参与方110和120,连续工作,则消息交换可以在将信息驻留在这两个参与方的非持久保存的存储器中的情况下进行。例如,这可以是在一系列消息已经在LAN之上的同一传输控制协议(“TCP”)连接上交换的情况。然而,对于应用来说,需要参与方之一或两者都间歇性工作和/或与它们耦合的通信介质间歇性工作的情况是常见的。而且,允许用于在参与方之间交换消息的特定通信介质随时间改变,甚至随一消息到下一消息而改变是有价值的。
在此使用的术语“参与方”或“多个参与方”通常指代某些形式的计算系统或设备或能够与另一参与方通信的类似物。参与方通常在此被命名为“系统”。这种计算系统可以由结合图3所描述的计算环境来提供。参与方可以被认为是客户机和/或服务器和/或服务。参与方可以是“持久服务”,持久保存会话状态的服务,使得所述服务可以在不丢失会话状态的情况下关闭并重启。参与方可以由通过网络、总线或其他通信手段等耦合的计算系统集合来构成。
在此使用的术语“会话消息”和“消息”通常指代可以包括几个部分(典型地包括主体和一个或多个标题)的自包含的数据单元。这种消息可以在一个或多个数据分组中传输,所述一个或多个数据分组可使用任意适合的传输协议被传输给另一参与方。在此使用的术语“会话”通常指代在参与方之间的某些消息交换,并且每个发送的消息可以涉及通过传输协议的在参与方之间的简单的或复杂的分组交换,传输协议可诸如例如超文本传输协议(“HTTP”)或以前称为“简单对象访问协议”的SOAP。会话可以是短持续时间的或在例如数月、数年或更长的一个很长的持续时间中进行。会话可以由仅几个消息(伴随单个回应的单个请求)或许多消息构成。会话可以利用多个通信介质,并且这些介质可以在会话生存期上变化。会话可以在即使参与方、通信介质、传输和或涉及的类似物意外地或有意地停止工作一段时间并随后再次工作的情况下保持。可以在不考虑分配给参与方的任何一个或多个角色的情况下由任一参与方开始会话。任一参与方可以同时涉及一个或多个会话中。
在此使用的术语“通信介质”通常指代物理连接性和/或协议连接性和这两者的任意组合等等。物理连接性的通信介质的示例包括特定网络、串行总线、红外线链接等等。协议连接性的通信介质的示例包括包括在某些物理连接性上的各种传输协议,例如消息队列、TCP、简单邮件传输协议(“SMTP”)、SOAP(以前称为“简单对象访问协议”)或HTTP。协议连接性可提供直接连接(例如TCP)或去耦合连接(例如消息队列)。在一些情况中,不同的传输协议可以使用同一的物理连接性。例如,消息队列和TCP连接都能在同一网络上工作。而且,在另一示例中,消息队列可以使用TCP来实现。
每个会话消息典型地具有与其相关联的(包括的和/或参考的)会话上下文,所述会话上下文表示会话的状态、发送会话的参与方的地址以及接收会话的参与方的地址。消息的格式可以随意构建。在一个示例中,使用可扩展标记语言(“XML”)以及所述地址和上下文分段来格式化消息。在另一个示例中,消息中的会话的上下文是一上下文属性列表,每个上下文属性具有给定的名字和对应的值,所述值是文本串。在另一个示例中,将上下文和/或地址加入到消息标题。在又一个示例中,使用会话的两个参与方之间的预先安排的协定从消息主体的内容中推断出上下文和/或地址。
图2是示出示例参与方110和120与示例会话的示例消息序列200的框图。参与方110和120类似于图中的那些参与方。示出的示例参与方120包括示例发送器123、示例接收器124以及示例存储器125。发送器123典型地包括用于生成并发送消息的消息处理管道。接收器124典型地包括用于接收并处理消息的消息处理管道。存储器125典型地包括用于存储消息上下文等的非易失存储机制。参与方110和在会话中涉及的其他参与方典型地包括类似的、可兼容的发送器、接收器和存储器。
图2示出经由地址M 111处的接口和通信介质250与经由地址A 121处的接口的示例参与方120耦合的示例参与方110。示例参与方110进一步被示出经由地址N 112处的另一接口和通信介质260与经由地址B 122处的另一接口的示例参与方120耦合。通信介质250和260彼此在通信上不同。就是说,例如,参与方110不能从地址M 111与地址B 122处的参与方120通信,因为在地址M 111与地址B 122之间并不存在提供通信路径的通信介质。换句话说,参与方110不能在通信介质250上与地址B 122处的参与方120通信。因此,可以将地址认为是“非可达的”或“不可达的”。此处所使用的这个术语典型地指代不能将消息明确定向到的地址。在一些情况中,如上针对通信上不同的两个通信介质等所述的,由于网络拓扑等因素,地址对于一个特定发送地址是不可达的。不可达地址的其他示例包括典型地指示没有提供地址的<无>地址等以及典型地指示可以接收消息但不能为其计算或解释可用地址的参与方的<匿名>地址。匿名地址的示例包括HTTP和TCP连接的反向连接。
图2还在步骤210、220和230中示出示例通信序列。在该示例中,步骤210典型地指示在通信介质250上从参与方120发送到参与方110的消息-会话消息A。在该示例中,会话消息指示下述信息:
Figure BPA00001345293600051
示例会话消息A
“从”字段典型地指示了所述消息从哪里被发送的参与方的地址,或本示例中的参与方120。“到”字段典型地指示了所述消息要发送到的参与方的地址,或本示例中的参与方110。地址的格式可以是任意适合的格式,包括统一资源定位符(“URL”)、因特网协议(“IP”)地址、电子邮件地址等。
“应用操作”字段典型地指示了发送方请求的一些应用操作由接收方执行的请求,或本示例中的“做工作W”。在该字段中的信息典型地标识了期望的操作和/或可以包括典型地与所述操作有关的任意其他信息。“应用回应到”字段典型地指示了应用可以向其发送对应用操作的请求的响应的参与方的地址,或本示例中的“位于地址121处的参与方120”。该地址可以是包括请求方请求方(在本示例中的位于地址A 121处的参与方120)的任意参与方,或者该地址可以是请求方的备用地址。可以根据如上所述的或任意其他适合的格式来格式化该地址。在一个示例中,“应用操作”和“应用回应到”字段等可以被包括在消息主体中。与应用操作有关的其他字段包括在消息中。
“上下文”字段典型地包括会话上下文信息,例如结合图1所述的那样。在本示例中,上下文包括“工作命令#123”,它标识了发送方120请求接收方110执行的工作。在一个示例中,上下文可以包括接收方已经知晓的标识符。在另一个示例中,上下文可以包括接收方还没有知晓的标识符。在这种情况中,接收方将所述上下文和标识符与其为会话创建的实例相关联。这样的实例可以是适合于所述标识符的资源、对象、过程、工作流、服务等。“会话回应到”字段典型地指示了在会话中的下一消息将要发送到的参与方或在本示例中位于地址B 122处的参与方120的地址。该地址可以是包括请求方的任意参与方,或者该地址可以是请求方或者在本示例中位于地址B 122处的参与方120的备用地址。可以如上所述地格式化该地址。具体而言,会话消息的“会话回应到”字段可以指示无法通过与用于接收该会话消息的通信介质相同的通信介质到达的地址。在这种情况下,使用任意适合的通信介质来发送会话回应。在一个示例中,“上下文”字段和“会话回应到”字段被包括在消息的会话上下文部分中。与会话上下文有关的其他字段包括在消息中。
在一个示例中,如上所述以XML来格式化该消息。下面是会话消息A的假设XML示例:
图2的步骤220典型地指示了在通信介质250上从参与方110发送到参与方120的应用回应-应用回应G。这种回应典型地出现在应用层,并且通常不是所述会话的一部分。这种回应典型地指示了参与方110接收了请求;但这种回应不能典型地指示所请求的操作正被或将被执行,而仅能指示请求被接收。完成所请求的操作可能需要花费一些时间,甚至几天、几个月、几年或更长。在本示例中,应用回应包括下述信息:
Figure BPA00001345293600072
示例应用回应G
在一个示例中,如上所述以XML来格式化该回应。“从”字段典型地指示了所述回应从哪里被发送的参与方的地址,或本示例中的参与方110。“到”字段典型地指示了所述回应要发送到的参与方的地址,或本示例中的参与方120。地址的格式可以是任意适合的格式,包括统一资源定位符(“URL”)、因特网协议(“IP”)地址、电子邮件地址等。
“应用操作”字段典型地指示了发送方请求的一些应用操作由接收方执行的请求,或本示例中的指示先前发送的请求被接收的“请求被接收”。在该字段中的信息典型地标识了期望的操作,并且可以包括典型地与所述操作有关的任意其他信息。“应用回应到”字段典型地指示了应用可以向其发送对应用操作的请求的响应的参与方的地址,或本示例中的指示不需要回应的“<无>”。与应用操作有关的其他字段可以另外地或替换地被包括在回应中。
在一个示例中,如上所述以XML来格式化该回应。下面是应用回应G的假设XML示例:
Figure BPA00001345293600081
图2的步骤230典型地指示在通信介质260上从参与方110发送到参与方120的消息-会话消息B。在该示例中,该信息是用会话信息A启动的会话的一部分。注意,该信息在与先前的会话消息不同的通信介质,介质260,上被发送。在本示例中,会话消息包括下述信息:
示例会话消息B
在一个示例中,如上所述以XML来格式化该消息。“从”字段典型地指示了所述消息从哪里被发送的参与方的地址,或本示例中的参与方120。“到”字段典型地指示了所述消息要发送到的参与方的地址,或本示例中的参与方120。地址的格式可以是任意适合的格式,包括统一资源定位符(“URL”)、因特网协议(“IP”)地址、电子邮件地址等。
“应用操作”字段典型地指示了发送方请求的一些应用操作由接收方执行的请求,或本示例中的指示先前所请求的操作的状态的“完成做工作W”。在该字段中的信息典型地标识了期望的操作和/或可以包括典型地与所述操作有关的任意其他信息。“应用回应到”字段典型地指示了应用可以向其发送对应用操作的请求的响应的参与方的地址,或本示例中的指示不需要回应的“<无>”。该地址可以是包括请求方(在本示例中的位于地址N 112处的参与方110)的任意参与方,、或者该地址可以是请求方的备用地址。可以根据如上所述的或任意其他适合的格式来格式化该地址。在一个示例中,“应用操作”和“应用回应到”字段等可以被包括在消息主体中。与应用操作有关的其他字段包括在消息中。
“上下文”字段典型地包括会话上下文信息,例如结合图1所述的那样。在本示例中,上下文包括“工作命令#123”,它标识了发送方120请求接收方110执行的工作。注意,会话消息B的上下文与会话消息A的上下文相同,指示了这两个消息都是同一会话的一部分。“会话回应到”字段典型地指示了会话中的下一消息可以发送到的参与方的地址,包括在本示例中的指示不期望有另外的消息响应于该消息的“<无>”。
在参与方120发送会话消息A给参与方110的示例情况中,参与方120发起与工作命令,特别是工作命令#123有关的新的会话。消息A在通信介质250上,例如使用与参与方110的HTTP连接来被发送。该消息请求参与方110做一些工作,特别是工作W。指示所述请求被接收的应用层回应被发送回来。可以随后终止所述HTTP连接,并所述参与方一方或双方以及它们耦合的通信介质可以被重启或诸如此类。稍后,通过发送消息-会话消息B,参与方110开始与参与方120的进一步通信,所述消息-会话消息B是有关工作命令#123的同一会话的一部分。消息B在与发送会话消息A不同的通信介质260上,例如使用消息队列来被发送。还可以在参与方110和120以及任意其他参与方之间发送同一/或不同的会话的另外的消息;支持了全双工通信。会话和它们的消息交换模式并没有被捆绑到任意特定的底层网络、传输和/或应用消息交换模式。会话的上下文可以被随意格式化并且由会话的参与方随会话的进行而增加。任意参与方可以被设计成发送消息到会话中的下一参与方。会话上下文和地址通常以独立于应用信息、传输消息和网络拓扑的形式被包括在消息中。
在一个示例中,如上所述以XML来格式化该消息。下面是会话消息B的假设XML示例:
Figure BPA00001345293600101
在如何将消息应用于现实场景中的示例中,考虑涉及银行资金转移的两个参与方。在该示例中,参与方120通过在通信介质250(例如在因特网上使用HTTP连接)发送消息(类似于会话消息A)给参与方110来开始会话,该消息包括“转移资金”的应用操作、在通信介质250(例如使用与原始消息相同的HTTP连接)上的应用回应地址、以及包括特定“命令号码”的上下文以及(例如使用安全专用网络上的消息队列)的通信介质260上的会话回应地址,参与方120可以在将来有关所请求的资金转移的更新时到达该地址。参与方120将发送的消息的上下文存储在本地存储中,例如存储125。
参与方110接收资金转移请求消息并通过发送回应(类似于应用回应G)给所述消息中的应用回应地址来进行响应,这样,参与方120知道请求被参与方110接收。参与方110并不能保证此时已经或将要真正发生资金转移。需要花费几个小时、几天、几星期等来验证所述请求并完成该转移。
在之后的某个时间点上,参与方110通过在通信介质260上发送新消息(类似于会话消息B)给参与方120来继续会话,所述通信介质260是安全专用网络上的消息队列,所述新信息指示了资金转移的状态。这种状态消息可以指示如“处理中”、“转移失败”、“转移成功”等这样的事情。每个这样的状态消息指示了由参与方120原始提供的上下文。这样的状态消息没有通过原始消息的消息交换模式进行描述。这样的状态消息可能不会被诸如介质250之类的原始通信介质所支持。
在这种会话中,任意方可以将其上下文的观点嵌入到消息中。另一参与方可以检查消息中的该上下文以确定该上下文是否是开始新的会话、继续现有会话或修改现有会话的上下文。而且,会话中的任意参与方可以在不考虑底层网络、传输或应用消息交换模式的情况下发送下一消息。
在如上所述的XML示例中所描述的字段是作为示例提供,而不是作为限制。示出的字段不需要被包括在这样的消息中,并且,可以替换地和/或另外地包括其他字段。而且,包括在这样的消息中的字段不用使得消息的接收器的对应的动作成为必要。而且,如果字段已经被发送和接收方所了解,也可以将其从消息中排除。例如,如果对应的请求没有使得回应成为必要,则可以忽略应用回应到字段。
下面是另一示例,可以与所述应用和会话约定进行进一步对比。在该示例中,参与方110运行具有一个或多个服务端点的工作命令处理服务,这些服务端点包括在地址M 111处监听的服务端点。工作命令处理服务具有包括应用操作“做工作W”的应用约定。该工作命令处理服务还可以包括另外的应用操作。存在一种手段以检索描述工作命令处理服务应用约定的元数据。该元数据典型地包括对“做工作W”的请求消息和“做工作W”的响应消息的描述,所述描述指定这些消息的结构和可允许的内容。所述元数据典型地指示了在具有指定的属性和地址M 111的通信介质上发送“做工作W”请求消息将引起“做工作W”的响应消息被发送。
而且,在该示例中,参与方120运行具有一个或多个服务端点的工作命令通知服务,这些服务端点包括在地址B 122处监听的服务端点。工作命令通知服务具有包括应用操作“完成做工作W”的应用操作。该工作命令通知服务还可以包括另外的应用操作。存在一种手段以检索描述工作命令通知服务应用约定的元数据。该元数据典型地包括对“完成做工作W”的请求消息的描述,所述描述指定该消息的结构和可允许的内容。所述元数据典型地指示了在具有指定的属性和地址B 122的通信介质上发送“完成做工作W”的请求消息是被允许的,但不会发送响应消息。
而且,在该示例中,工作命令处理服务和工作命令通知服务的应用约定可以由描述这两个服务之间的更高级协调模式的会话约定来补充。可以以计算机可理解的方式、以自然语言文档、或者可以简单地是在创作使用这两种服务的应用程序的程序员之中的共享理解来描述会话约定。会话约定可以描述在它们各自的应用约定中没有找到的在这两个服务之间的另外的关联。例如,会话约定可以规定有时在接收“做工作W”请求消息之后,参与方110将调用由发送该“做工作W”请求消息的参与方所提供的服务上的“完成做工作W”的应用操作。何时发生对“完成做工作W”的调用可以是非特指的。这样,它可以在“做工作W”的响应消息之前、之后或同时发生。在所涉及的参与方之间可以存在不受限数目的可能的会话,并且,有关下一会话消息的决定可以涉及商业逻辑、与所调用的应用操作无关的其他应用操作、或其他告知所述决定的手段。
在另一示例中,服务端点的地址可以包括逻辑信息和物理信息。例如,工作命令通知服务的物理地址可以是沿合适的通信介质传输所需的地址B 122。工作命令通知服务的逻辑地址可以简单地为名字“工作命令通知服务”等。会话回应到地址可以包括足以用于发送下一会话消息的一个或多个物理地址。替换地或另外地,会话回应到地址可以缺少物理地址信息的某个部分,但包括可以从其计算出缺少的物理地址信息的一个或多个逻辑地址。服务可以用于从所提供的逻辑和物理信息中计算合适的物理地址和通信介质配置。这些计算可以使用服务所知的信息,可以要求服务咨询外部目录服务,或可以要求服务执行一个或多个发现协议来解释物理地址。一旦下一会话消息的物理地址已知,服务可能需要确定用于发送到该地址的合适的通信介质配置。
图3是示出在其中可以实现此处所描述的技术的示例计算环境300的框图。合适的计算环境可用多种通用或专用系统来实现。公知系统的示例可包括但不限于蜂窝电话、个人数字助理(“PDA”)、个人计算机(“PC”)、手持式或膝上型设备、基于微处理器的系统、多处理器系统、服务器、工作站、消费电子设备、机顶盒等。
计算环境300通常包括耦合到诸如外围设备302、303、304等各种组件的计算设备301形式的通用计算系统。系统300可以经由一个或多个输入/输出(“I/O”)接口312耦合到各种其它组件,如输入设备303,包括语音识别、触摸垫、按钮、键盘、和/或诸如鼠标或跟踪球等定点设备。计算设备301的组件可包括一个或多个处理器(包括中央处理单元(“CPU”)、图形处理单元(“GPU”)、微处理器(“μP”)等)307、系统存储器309、以及通常耦合各组件的系统总线308。处理器307通常处理或执行各种计算机可执行指令以控制计算设备301的操作,并且经由诸如网络连接314等各种通信连接与其它电子和/或计算设备、系统或环境(未示出)进行通信。系统总线308表示任何数量的若干类型的总线结构,包括存储器总线或存储器控制器、外围总线、串行总线、加速图形端口、使用各种总线体系结构中的任一种的处理器或局部总线等等。
系统存储器309可包括诸如随机存取存储器(“RAM”)等易失性存储器形式的和/或诸如只读存储器(“ROM”)或闪存(“FLASH”)等非易失性存储器形式的计算机可读介质。基本输入/输出系统(“BIOS”)可以存储在非易失性等中。系统存储器309通常存储数据、计算机可执行指令和/或包括计算机可执行指令的程序模块,包括可由一个或多个处理器307立即访问或目前正在其上操作的计算机可执行指令。
大容量存储设备304和310可以被耦合到计算设备301,或通过耦合到系统总线被合并入计算设备301中,这些大容量存储设备304和310可包括非易失性RAM;对可移动、非易失性磁盘(例如“软盘”)305进行读和/或写的磁盘驱动器;和/或对诸如CD ROM、DVD ROM 306等非易失性光盘进行读和/或写的光盘驱动器。或者,诸如硬盘310等大容量存储设备可包括不可移动存储介质。其它大容量存储设备可包括存储卡、记忆棒、磁带存储设备等。
任何数量的计算机程序、文件、数据结构等可被存储在大容量存储310、其它存储设备304、305、306以及系统存储器309(通常受可用空间限制)上,作为示例而非限制,包括操作系统、应用程序、数据文件、目录结构、计算机可执行指令等。
诸如显示设备302等输出组件或设备可通常经由诸如显示适配器311等接口耦合到计算设备301。输出设备302可以是液晶显示器(“LCD”)。其它示例输出设备可包括打印机、音频输出、语音输出、阴极射线管(“CRT”)显示器、触觉设备或其它传感输出机制等等。输出设备可以使计算设备301能够与人类操作员或其它机器、系统、计算环境等进行交互。用户可以经由诸如触摸垫、按钮、键盘、鼠标、操纵杆、游戏手柄、数据端口等任何数量的不同I/O设备303来与计算环境300进行接口。这些和其它I/O设备可以经由耦合到系统总线308的I/O接口312来耦合到处理器307,和/或可以经由诸如串行端口、游戏端口、通用串行总线(“USB”)、火线、红外(“IR”)端口等其它接口和总线结构来耦合。
计算设备301可以经由通过一个或多个蜂窝网络、无线网络、局域网(“LAN”)、广域网(“WAN”)、存储区域网络(“SAN”)、因特网、无线电链路、光学链路等到一个或多个远程计算设备的通信连接来在网络化环境中操作。计算设备301可经由网络适配器313等,或作为替换,经由调制解调器、数字用户线(“DSL”)链路、综合业务数字网(“ISDN”)链路、因特网链路、无线链路等来耦合到网络。
诸如网络连接等通信连接314通常提供到诸如网络等通信介质的耦合。通信介质通常使用诸如载波或其它传输机制等已调制数据信号来提供计算机可读以及计算机可执行指令、数据结构、文件、程序模块和其它数据。术语“已调制数据信号”指以对信号中的信息进行编码的方式设置或改变其一个或多个特征的信号。作为示例而非限制,通信介质可包括诸如有线网络或直接连线连接等有线介质,以及诸如声学、射频、红外线或其它无线通信机制等无线介质。
诸如电池或电源等电源390通常向计算环境300的部分和全部提供电力。在计算环境300是移动设备或便携式设备等的情况下,电源390可以是电池。另选地,在计算环境300是台式计算机或服务器等的情况下,电源390可以是被设计成诸如经由墙上插座连接到交流(“AC”)源的电源。
某些移动设备可能不包括结合图3所描述的组合中的多个。例如,电子证件可包括线圈连同简单处理单元307等,该线圈被配置成在其靠近读卡器设备等时用作电源390。这种线圈还可被配置成用作耦合到处理单元307等的天线,该线圈天线能够在电子证件和读卡器设备之间提供某种形式的通信。这种通信可以不涉及连网,但可以替换地是经由遥测、点对点、RF、IR、音频、或其它手段的通用或专用通信。电子卡可以不包括显示器302、I/O设备303、或结合图3描述的其它组件中的多个。可能不包括结合图3所描述的组件中的多个的其它移动设备包括电子腕带、电子标签、可移植设备等。
本领域的技术人员将认识到用于提供计算机可读以及计算机可执行指令和数据的存储设备可分布在网络上。例如,远程计算机或存储设备可以存储软件应用程序和数据形式的计算机可读以及计算机可执行指令。本地计算机可以经由该网络访问远程计算机或存储设备,并下载软件应用程序或数据的部分或全部并且可执行任何计算机可执行指令。另选地,本地计算机可按需下载软件或数据的片断,或者通过在本地机器执行一些指令并且在远程计算机和/或设备执行一些指令来分布式地处理该软件。
本领域的技术人员还将认识到,通过利用常规技术,软件的计算机可执行指令的全部或部分可由诸如数字信号处理器(“DSP”)、可编程逻辑阵列(“PLA”)、分立电路等专用电子电路来执行。术语“电子装置”可包括含有任何软件、固件等的计算设备或消费电子设备,或不含有软件、固件等的电子设备或电路。
术语“固件”通常指的是在诸如ROM等电子设备中维护的可执行指令、代码、数据、应用程序、程序等。术语“软件”通常指的是在任何形式的计算机可读介质之中或之上维护的可执行指令、代码、数据、应用程序、程序等。术语“计算机可读介质”通常指的是系统存储器、存储设备、及其相关联的介质等。
鉴于可应用所公开的本发明的原理和上述示例的许多可能的实施例,应当认识到,此处所描述的各示例仅旨在是说明性的,并且不应被认为是限制本发明的范围。因此,此处所描述的本发明构想了可落入所附权利要求书和其任何等效方案的范围内的所有这样的实施例。

Claims (19)

1.一种用于发送会话的消息的方法,包括:
通过经由第一通信介质的直接连接将所述消息发送给另一参与方,所述被发送的消息包括:
所述被发送的消息的会话上下文;
与所述会话上下文相关联的应用操作,所述应用操作指示了要求由所述另一参与方执行的动作;以及
会话回应地址,所述会话回应地址是:
经由去耦合连接可到达的;
由于所述第一通信介质并没有提供到所述会话回应地址的通信路径,不能经由所述第一通信介质来到达;以及
可由所述另一参与方用来回应该另一参与方所接收到的所述被发送的消息。
2.如权利要求1所述的方法,其特征在于,所述会话上下文至少部分是基于所述消息的主体的至少一部分来确定的。
3.如权利要求1所述的方法,其特征在于,还包括存储包括所述会话上下文以及会话回应地址的会话状态,所存储的会话状态足以在参与方或与其通信的通信介质的关闭和重启的会话状态期间维护所述会话。
4.如权利要求1所述的方法,其特征在于,所述被发送的消息包括应用回应地址,所述应用回应地址不同于所述会话回应地址,通过所述第一通信介质被发送给所述应用回应地址的应用回应不包括在所述会话中。
5.如权利要求4所述的方法,其特征在于,所述应用回应地址不是可到达的地址。
6.如权利要求4所述的方法,其特征在于,所述应用回应地址经由所述第一通信介质可到达。
7.如权利要求1所述的方法,其特征在于,所述会话回应地址是缺少了发送会话消息所需的物理地址信息中的某个部分的逻辑地址,其中,缺少的物理地址信息可从外部服务获得。
8.如权利要求1所述的方法,其特征在于,所述直接连接包括传输控制协议(TCP)连接,而所述去耦合连接包括消息队列。
9.如权利要求1所述的方法,其特征在于,所述会话上下文是使用执行所述方法的一方和另一参与方之间的预先安排的协定至少部分基于所述消息的主体的至少一部分来确定的。
10.如权利要求1所述的方法,其特征在于,与所述另一参与方相关联的一目的地地址包括统一资源定位符(URL)或电子邮件地址中的至少一个。
11.一种用于生成并发送会话消息的方法,所述方法包括:
确定会话上下文;
将所述会话上下文加入到所述消息;
将与所述会话上下文相关联的应用操作加入到所述消息,其中,所述应用操作指示了发送方请求由接收方执行的一些应用操作的请求;
将会话回应地址加入到所述消息中;
将应用回应地址加入到所述消息中,所述应用回应地址不同于所述会话回应地址,被发送给所述应用回应地址的应用回应不包括在所述会话中;以及
通过第一通信介质将所述消息发送给另一参与方,其中,由于所述第一通信介质并没有提供到所述会话回应地址的通信路径,因此,不能经由所述第一通信介质到达所述会话回应地址。
12.如权利要求11所述的方法,其特征在于,所述会话回应地址是缺少了发送会话消息所需的物理地址信息中的某个部分的逻辑地址,其中,缺少的物理地址信息可从外部服务获得。
13.如权利要求11所述的方法,其特征在于,所述应用回应地址经由所述第一通信介质可到达。
14.如权利要求11所述的方法,其特征在于,所述消息通过直接连接被发送给所述另一参与方,而所述会话回应地址是通过去耦合连接可到达的。
15.如权利要求14所述的方法,其特征在于,所述直接连接包括传输控制协议(TCP)连接,而所述去耦合连接包括消息队列。
16.如权利要求11所述的方法,其特征在于,所述会话上下文是使用执行所述方法的一方和另一参与方之间的预先安排的协定至少部分基于所述消息的主体的至少一部分来确定的。
17.如权利要求11所述的方法,其特征在于,与所述另一参与方相关联的一目的地地址包括网际协议(IP)地址,而所述会话回应地址包括电子邮件地址。
18.一种用于生成并发送会话消息的系统,所述系统包括:
用于确定会话上下文的装置;
用于将与所述会话上下文相关联的应用操作加入到所述消息的装置,其中,所述应用操作指示了发送方请求由接收方执行的一些应用操作的请求;
用于将会话状态加入到所述消息的装置,所述会话状态包括所述会话上下文以及会话回应地址;以及
用于通过经由第一通信介质的直接连接将所述消息发送给另一参与方的装置,其中,由于所述第一通信介质并没有提供到所述会话回应地址的通信路径,因此,不能经由所述第一通信介质而是经由去耦合连接来到达所述会话回应地址。
19.如权利要求18所述的系统,其特征在于,所述应用操作包括先前所请求的操作的状态。
CN200980139423.9A 2008-09-30 2009-09-15 角色独立的上下文交换 Active CN102165484B (zh)

Applications Claiming Priority (3)

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

Publications (2)

Publication Number Publication Date
CN102165484A CN102165484A (zh) 2011-08-24
CN102165484B true CN102165484B (zh) 2013-09-18

Family

ID=42058716

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980139423.9A Active CN102165484B (zh) 2008-09-30 2009-09-15 角色独立的上下文交换

Country Status (5)

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

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
US9367631B2 (en) 2014-04-18 2016-06-14 Revolution Technologies, Inc. Dynamic directory and content communication
KR102424520B1 (ko) 2017-11-29 2022-07-25 삼성전자주식회사 전자 장치 및 전자 장치의 동작 방법
CN112989822B (zh) * 2021-04-16 2021-08-27 北京世纪好未来教育科技有限公司 识别对话中句子类别的方法、装置、电子设备和存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1692346A (zh) * 2002-08-06 2005-11-02 摩托罗拉公司 在用于时间关键的通信的两个ip连接之间实现切换的方法与设备

Family Cites Families (34)

* 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
CA2400438A1 (en) * 2000-02-16 2001-08-23 Bea Systems, Inc. Open market collaboration system for enterprise wide electronic commerce
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
RU2004109577A (ru) 2001-08-31 2005-08-20 Пейсеттер Пте Лтд. (Sg) Система финансовых транзакций и способ использования электронного обмена сообщениями
US20040015578A1 (en) 2002-02-22 2004-01-22 Todd Karakashian Web services runtime architecture
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 日本電信電話株式会社 メール配送システム、メール配送方法およびメール配送プログラム
WO2004072805A2 (en) * 2003-02-10 2004-08-26 Raindance Communications Inc. 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 不揮発性半導体メモリ

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1692346A (zh) * 2002-08-06 2005-11-02 摩托罗拉公司 在用于时间关键的通信的两个ip连接之间实现切换的方法与设备

Also Published As

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

Similar Documents

Publication Publication Date Title
CN103220325B (zh) 用于在云计算环境中管理硬件组件的方法和系统
CN105531979B (zh) 一种用于在客户端与服务器之间交换数据的方法及服务器
MXPA04002729A (es) Transmision y recepcion de mensajes a traves de un canal de comunicacion y modelo de programacion adaptable.
CN108833578B (zh) 基于fifo命名管道进行双工通信的方法及相关设备
CN108322530A (zh) 上下文环境信息的传递方法、装置、服务网关及存储介质
CN107920138A (zh) 一种用户统一标识生成方法、装置及系统
CN108390950A (zh) 一种消息推送方法、装置及设备
CN107409087A (zh) 在通信环境中背书指示的分发
CN103782278B (zh) 用于提供在中间件或其它环境中使用的动态调取和服务界面的系统和方法
CN102165484B (zh) 角色独立的上下文交换
CN102035869A (zh) 一种使用移动终端实现文件共享的方法、装置和系统
JP2017204271A (ja) 互いに異なるユーザ識別体系を利用して登録されたユーザを識別するサーバ間のサービス連動方法およびシステム
CN107979520A (zh) 消息处理方法及消息处理装置
CN103595611B (zh) 即时通信应用的实现方法及系统、与设备
CN102150151B (zh) web应用程序的异步队列的消息收发
CN1852111B (zh) 即时通讯中的信息存取方法
CN108076110A (zh) 电子数据交换系统和包含电子数据交换系统的装置
JP2014089631A (ja) 携帯端末、携帯端末の制御方法、およびプログラム
CN110070379A (zh) 一种消息传输方法、装置及服务器
KR20190075391A (ko) 데이터 분산 서비스를 위한 장치 및 방법, 데이터 분산 서비스 시스템
CN109120578A (zh) 一种实现链路连接处理的方法及装置
WO2002069568A1 (en) Group-independent message transfer method and system lending specified application module
CN114793232B (zh) 业务处理方法、装置、电子设备及存储介质
JP4885188B2 (ja) メッセージ連携装置、方法及びシステム
WO2001044952A1 (fr) Procede de communication de donnees, clients/serveur, et support d&#39;enregistrement de programme de communication,

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150506

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150506

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.