CN1645841B - 使用***消息更改向代码自适应地分派接收消息 - Google Patents

使用***消息更改向代码自适应地分派接收消息 Download PDF

Info

Publication number
CN1645841B
CN1645841B CN2005100057975A CN200510005797A CN1645841B CN 1645841 B CN1645841 B CN 1645841B CN 2005100057975 A CN2005100057975 A CN 2005100057975A CN 200510005797 A CN200510005797 A CN 200510005797A CN 1645841 B CN1645841 B CN 1645841B
Authority
CN
China
Prior art keywords
message
action
information
computing system
path
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.)
Expired - Fee Related
Application number
CN2005100057975A
Other languages
English (en)
Other versions
CN1645841A (zh
Inventor
D·W·罗斯
D·A·沃滕戴克
D·E·列文
D·M·玛哈坚
E·B·克里斯滕森
G·P·库普兰德
L·F·卡布来拉
R·A·B·特纳
S·C·西里
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 CN1645841A publication Critical patent/CN1645841A/zh
Application granted granted Critical
Publication of CN1645841B publication Critical patent/CN1645841B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • 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/21Monitoring or handling of messages
    • H04L51/214Monitoring or handling of messages using selective forwarding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/10015Access to distributed or replicated servers, e.g. using brokers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

在接收到消息之后,令消息在传送给分派组件之前通过定于消息的接收路径上的一个或多个接收路径组件的机制。一个或多个接收路径组件可更改消息以包括对分派组件有帮助的信息,以便执行分派。分派组件接收已更改消息,并使用来自已更改消息的信息(可能包括更改本身)来执行分派。由于消息被更改为包括对分派组件有帮助的附加信息,分派组件可以更灵活地标识应当与消息一起发生的处理。因此,可启用理想地适于该消息的专门和灵活处理。

Description

使用***消息更改向代码自适应地分派接收消息
技术领域
本发明涉及计算技术,尤其涉及在分派之前使用***的消息更改以动态方式向代码分派接收到的消息的机制。
背景技术
计算技术已经改变了我们工作和娱乐的方式。如今计算***的形式千差万别,包括台式计算机、膝上型计算机、输入板PC、个人数字助理(PDA)、家用装置等等。在其最基本形式中,计算***包括***存储器和一个或多个处理器。***存储器中的软件可由处理器执行,以指示计算***的其它硬件执行期望功能。
软件可以是相当复杂的,常常由数千行甚至数百万行的源代码编译或翻译而来。为了将软件开发过程进行一定的组织,整个任务可能会分成执行更为具体的动作的可管理子例程或方法。然后这些方法被相互关连以执行软件更为复杂的完整功能性。在消息处理***中,接收消息由分派机制分派,用来由依赖于分派机制可访问的周围相关事实的一种或多种这些方法进行处理。
为了执行最适当的分派,对分派组件而言能访问尽可能多的相关信息将是有利的。然而,并不是***中的所有组件对信息可进行同等的访问。例如,分派机制可能没有与接收该消息的连接、用于传递消息的协议、消息交换的历史、当前负载平衡状态、消息接收时间、消息发送者的重要性等等有关的直接信息。此外,相关信息可能并未在消息本身中出现,或至少不易从消息中访问。
因此,有这样的机制将是有利的,即允许分派机制在执行对消息的分派时更容易把先前未知或难以访问的信息考虑在内,以便更为灵活地对消息做适当处理。
发明内容
在网络环境中实现的本发明的原理克服了本领域现有技术的前述问题,该网络环境包括能够从网络环境中的其它计算***接收消息的接收计算***。接收计算***包括把已接收的消息分派给一种或多种方法以作进一步处理的分派组件。本发明的原理涉及分派组件分派接收消息的机制,这种机制即使分派机制对分派相关的一些消息不能直接访问、由接收计算***接收时信息未显示或不易从消息中获取。
在接收到消息之后,消息在传送给分派组件之前通过位于消息接收路径上的一个或多个接收路径组件。一个或多个接收路径组件可更改消息以包括对分派组件有帮助的信息,以便执行分派。这种信息可包括,例如,接收消息的连接、用于接收消息的协议类型、接收消息的时间、消息的处理优先级、消息发送者的状态、计算***的负载、或任何对分派有帮助的其它信息。分派组件接收已更改消息,并使用来自己更改消息的信息(可能包括更改本身)来执行分派。
由于消息被更改为包括对分派组件有帮助的附加信息,分派组件可更灵活地标识应当与消息一起发生的处理。因此,可启用理想地适于该消息的专门和灵活处理。例如,如果发送者是高容量客户,消息可由与如果发送者是低容量客户时不同的代码进行特别处理。在此情形中,接收路径上可访问客户数据库的组件可把适当客户状态加到消息中,使得消息可由分派组件进行适当的分派。
本发明的其它特征和优点将在以下描述中陈述,且阅读以下描述可以部分地清楚这些特征和优点,或通过发明的实践来获知。本发明的特征和优点可通过在所附权利要求中特别指出的仪器和组合来实现和获取。阅读以下描述和所附权利要求书,本发明的这些和其它特征将变得更明显,或由此后陈述的发明实践中获知。
附图说明
为了描述能获取本发明的上述和其它优点及特征的方式,以上简述的本发明的更详细描述将参照附图所示的特定实施例来呈现。要理解,这些附图仅描绘了本发明的典型实施例,且因此不能被视为对其范围的限制,通过使用以下附图,本发明用其它特性和细节加以描述和解释:
图1示出了可实现本发明特征的合适的计算***;
图2示出了根据本发明诸原理可协作交互以执行已接收消息的灵活分派的各种组件;
图3示出了根据本发明诸原理计算***用来执行已接收消息的灵活分派的方法的流程图;以及
图4示出了使用已更改消息来分派的方法的流程图。
具体实施方式
本发明的原理涉及一种在接收到消息之后,消息在传送给分派组件之前通过位于消息的接收路径上的一个或多个接收路径组件的机制。一个或多个接收路径组件可更改消息以包括对分派组件有帮助的信息,以便执行分派。分派组件接收已更改消息,并使用来自己更改消息的信息(可能包括更改本身)来执行分派。由于消息被更改为包括对分派组件有帮助的附加信息,分派组件可以更灵活地标识应当与信息一起出现的处理。因此,可启用理想地适合该消息的专门和灵活处理。
参看附图,其中,相同的标号指向相同元素,本发明可被示为在适当计算环境中实现。以下说明基于本发明的所示出的实施例,且不应当被视为对于未在此明确描述的可选实施例而限制本发明。
在以下描述中,除非特别注明,本发明参照由一台或多台计算机执行的动作和操作的符号表示进行描述。由此,可以理解,这种常被称为计算机可执行的动作和操作包括由计算机处理单元对以结构化形式表示数据的电子信号的操纵。该操纵转换了数据或将在计算机存储***的位置中维护它,从而以本领域技术人员都理解的方式重新配置或者变换了计算机的操作。在其中维护数据的数据结构是带有由数据格式定义的特定属性的存储器的物理位置。然而,尽管本发明在前述上下文中进行描述,这并不意味着受到限制,因为本发明技术人员将理解此后描述的一些动作和操作也能以硬件实现。图1示出了对这些装置有用的示例计算机体系结构的示意图。
为了进行描述,所描绘的体系结构仅是适当环境的一个示例,且并非旨在暗示对本发明使用范围或功能的任何限制。计算***也不应当被解释为对图1中所示任何组件或其组合有任何依赖或需求。
本发明可用许多其它通用或专用计算或通信环境或配置来操作。众所周知的适用于本发明的计算***、环境和配置包括,但不限于,移动电话、袖珍式计算机、个人计算机、服务器、多处理器***、基于微处理器的***、小型机、大型计算机、以及包括任意上述***或装置的分布式计算环境。
在其最基本配置中,计算***100通常包括至少一个处理单元102和存储器104。存储器104可以是易失的(诸如RAM)、非易失的(诸如ROM、闪存等)、或者是两者的某一组合。该最基本配置在图1中由虚线106示出。
存储介质装置可有附加特征和功能。例如,它们可包括附加存储器(可移动的和不可移动的),其包括但不限于PCMCIA卡、磁盘和光盘、以及磁带。这种附加存储器在图1中由可移动存储108和不可移动存储110示出。计算机存储介质包括以用来存储诸如计算机可读指令、数据结构、程序模块、或其它数据的信息的任何方法或技术实现的易失的和非易失的、可移动的和不可移动的介质。存储器104、可移动存储108和不可移动存储110都是计算机存储介质的示例。计算机存储介质包括,但不限于,RAM、ROM、EEPROM、闪存、其它存储技术、CD-ROM、数字多功能盘、其它光学存储、磁盒、磁带、磁盘存储、其它磁性存储装置、以及用来存储所需信息并可由计算***访问的任何其它介质。
如此处所使用的,术语“模块”或“组件”指的是在计算***上执行的软件对象或例程。在此描述的不同组件、模块、引擎和服务可被实现为在计算***上执行的对象或进程(例如单独的线程)。尽管在此描述的***和方法优选地以软件实现,然而软件和硬件实现或硬件实现也是可能的和可构想的。
计算***100还可包含允许主机经网络120与其它***和装置通信的信道112。信道112是通信介质的示例。通信介质通常包含诸如载波或其它传输介质等已调制数据信号中的计算机可读指令、数据结构、程序模块或其它数据,且包括任何信息传递介质。作为示例,而非限制,通信介质包括诸如有线网络和直接有线连接的有线介质,以及诸如声学、无线电、红外和其它无线介质的无线介质。在此使用的术语“计算机可读介质”包括存储介质和通信介质。
计算***100还可具有输入组件114,诸如键盘、鼠标、笔、语音输入组件、触摸输入装置等等。输出组件116包括屏幕显示、扬声器、打印机等等,以及用于驱动它们的呈现模块(常称作“适配器”)。计算***100有电源118。所有这些组件在本领域内是众所周知的,无需在此赘述。
图2示出了根据本发明原理可协作交互以执行已接收信息的灵活分派的各种组件200。当在图1的计算***100的环境中实现时,各种组件可在存储器104中例示和/或持久保存在诸如可移动存储108和/或不可移动存储110的持久存储器中。例如,持久存储器可以是磁盘。
消息201在包括一个或多个接收路径组件的消息接收路径202上接收。例如,消息接收路径202被示为包括接收路径组件202A,以及由水平椭圆202B表示的可能的其它路径组件。接收路径组件可以是,例如,连接层、解密层、访问控制层、环境分析层、连接管理器、应用程序、或在向分派组件205提供消息之前能够访问消息201的任何其它组件。各种接收路径组件可在例如图1计算***100的存储器中实现。
配置至少一个接收路径组件,以用至少一个改动来更改消息。已更改消息在图2中被示为已更改消息201’,其带有由添加的信息204表示的更改所表示的附加信息。更改可包括,例如,一个或多个数据字段的添加、一个或多个数据字段的删除和/或一个或多个数据字段的更改。例如,如果消息201是简单对象访问协议(SOAP)封装,则添加的信息204可被添加、删除或更改SOAP标题(header),尽管如此,对消息201正文中数据字段的更改并不被本发明原理排除在外。该信息代表可由更改学习或获知的任何新信息。例如,分派代码可仅对是否作更改感兴趣,而不对更改是什么感兴趣。
分派组件205接收已更改消息201’,并使用分派规则206和来自己更改消息201’的信息(可能包括添加的信息204)来标识要把信息发送给一种或多种方法的哪一组。添加的信息204可以是对分派组件有帮助的信息的描述。在所示的示例中,已更改消息201’可发送给例如方法207用来作进一步处理。接收路径组件可访问分派组件205不能轻易访问甚至完全不能访问的信息。例如,接收路径组件202A可访问的信息203A可能不能被已更改消息201’访问。因此,通过允许接收路径组件向消息201添加信息,分派组件205可使用它通常不能轻易访问(或根本不能访问)的信息来对向哪里分派消息201’作出更智能的判定。
图3示出了分派机制用于分派接收到消息的方法300的流程图,即使该分派机制可能不能直接访问某些分派相关信息,并且即使该信息在由接收计算***接收的消息中不存在或无法从中容易地获取,该方法也能分派接收的消息。首先,接收消息(动作301)。然后,消息在传送给分派组件之前通过位于消息接收路径上的一个或多个接收路径组件(动作302)。当此发生时,至少一个接收路径组件用至少一个改动来更改消息(动作303)。该更改可由一个或一个以上接收路径组件执行,诸如连接层、解密层、访问控制层、环境分析层、连接管理器、应用程序、或在由分派组件接收之前消息路径上的任何其它组件。分派组件接收消息的更改(动作304)连同消息中的其它可能信息,用来评估分派规则列表以确定向哪里分派已更改消息(动作305)。
图4示出了使用已更改消息来分派的方法400的流程图。首先,分派组件访问涉及消息更改中存在的信息的分派规则(动作401)。然后,分派组件根据分派规则分派消息。在一实施例中,消息可以是分级结构化的文档。在该情形中,尽管不是必需,分派规则可使用XPATH语句来表达。
例如,添加的信息204可以是标识接收消息的连接的连接标识。这将使分派机制能够把消息分派给对应于该实例的适当的代码实例。
可选地,添加的信息可以是,例如用于接收消息的协议类型。这将帮助分派适于该协议的代码。例如,某些代码可适用于确认宣称为符合特定协议的消息。
添加的信息可包括收到消息的时间。如果消息在非工作时间收到,与在工作时间收到相比,可能会在其上执行某些处理。在此情形中,分派机制可在给出接收时间时分派适当代码。
添加的信息可包括处理优先级。例如,表示大量货物订单的消息和来自新客户的消息可被确定有高优先级。接收路径组件之一可访问允许标识处理优先级的客户数据库。因此,在给出处理优先级时,即使在接收的消息本身中并未指定处理优先级,分派组件也可向适当代码分派消息。
添加的信息还可包括与发送者状态相关的信息。例如,常见客户可具有某一状态标识符,新客户可有另一状态标识符,而低容量客户则具有又一标识符。该信息可被添加到消息中,以在给出消息发送者状态时允许适当分派。
添加的信息还可包括计算***的当前工作负载。把消息发送给负载较少的代码是适当的。
这些表示了在分派消息时有用的添加的信息类型的示例。它们并非旨在成为穷尽列表。本领域技术人员将认识到(读完本说明书后),本发明原理允许消息在接收路径上时被添加任何各种各样的信息。因此,可使用各种各样的信息来更灵活和更适当地分派消息。
本发明可以其它特定形式实施而不会背离其精神或本质特征。所描述的实施例在所有方面都被视为仅仅是说明性的,而不是限制性的。因此本发明的范围由所附权利要求书而不是前面的说明书来指示。落入权利要求的等效技术方案的含义和范围之内的所有改变都被包括在其范围里。

Claims (30)

1.在一包括能够从网络环境中的其它计算***接收消息的一接收计算***的网络环境中、一种由包括在所述接收计算***内的分派机制在不对与分派相关的某些信息进行直接访问的情况下分派已接收消息的方法,该信息没有包括在由所述接收计算***接收到的消息内,并且一分派组件把一已接收消息分派给一种或多种方法的组用来进一步处理,其特征在于,所述方法包括:
在所述接收计算***处接收一消息的动作;
在传送给所述分派组件之前,令所接收的消息通过位于所述消息的接收路径上的一个或多个接收路径组件的动作,其中将接收到的消息传送给所述分派组件是发生在所述接收计算***的内部,在所述接收路径上的各个接收路径组件是所述接收计算***的组件;
所述一个或多个接收路径组件的至少一个用至少一个改动来更改所述消息的动作,所述更改包括将没有包括在所接收的消息内的信息添加到所接收的消息中,所添加的信息与所接收的消息的分派相关;
所述分派机制从所述接收路径接收所更改的消息的动作;以及
所述分派机制使用可从所述所更改的消息中获取的信息把所述消息分派给所述接收计算***内的一种或多种方法的组用来作进一步处理的动作。
2.如权利要求1所述的方法,其特征在于,所述消息包括简单对象访问协议SOAP封装,且其中,所述一个或多个接收路径组件的至少一个更改所述消息的动作包括:
把一具有附加信息的SOAP标题添加到所述消息的动作。
3.如权利要求1所述的方法,其特征在于,所述一个或多个接收路径组件的至少一个更改所述消息的动作包括:
把至少一个数据字段添加到所述消息的动作。
4.如权利要求1所述的方法,其特征在于,所述一个或多个接收路径组件的至少一个更改所述消息的动作包括:
更改所述消息中的至少一个数据字段的动作。
5.如权利要求1所述的方法,其特征在于,所述一个或多个接收路径组件的至少一个更改所述消息的动作包括:
从所述消息中删除至少一个数据字段的动作。
6.如权利要求1所述的方法,其特征在于,其中所述接收路径组件是接收组件,并且所述接收组件包括连接层、解密层、访问控制层、环境分析层、连接管理器、或应用程序。
7.如权利要求6所述的方法,其特征在于,所述接收路径组件是在被所述分派组件接收之前消息的路径上的不同于所述接收组件的组件。
8.如权利要求1所述的方法,其特征在于,所述一个或多个接收路径组件的至少一个更改所述消息的动作包括:
一单独接收路径组件更改所述消息的动作。
9.如权利要求1所述的方法,其特征在于,所述一个或多个接收路径组件的至少一个更改所述消息的动作包括:
多个接收路径组件更改所述消息的动作。
10.如权利要求1所述的方法,其特征在于,所述至少一个更改包括标识接收所述消息的连接的连接标识。
11.如权利要求1所述的方法,其特征在于,所述至少一个更改包括用于接收所述消息的协议类型。
12.如权利要求1所述的方法,其特征在于,所述至少一个更改包括接收所述消息的时间。
13.如权利要求1所述的方法,其特征在于,所述至少一个更改包括与所述消息的处理优先级相关的信息。
14.如权利要求1所述的方法,其特征在于,所述至少一个更改包括与所述消息发送者状态相关的信息。
15.如权利要求1所述的方法,其特征在于,所述至少一个更改包括与所述计算***负载相关的信息。
16.如权利要求1所述的方法,其特征在于,所述分派机制使用所述至少一个更改把所述信息分派给一种或多种方法的组以作进一步处理的所述动作包括:
访问一涉及对所述消息的所述至少一个更改中存在的信息的分派规则的动作;以及
根据所述分派规则分派所述消息的动作。
17.如权利要求16所述的方法,其特征在于,所述分派规则是使用一个或多个XPATH语句来表达的。
18.在一包括能够从网络环境中的其它计算***接收消息的一接收计算***的网络环境中、一种由包括在所述接收计算***内的分派机制在不对与分派相关的某些信息进行直接访问的情况下分派已接收消息的方法,该信息没有包括在由所述接收计算***接收到的消息内,并且一分派组件把一已接收消息分派给一种或多种方法的组用来进一步处理,其特征在于,所述方法包括:
访问一已接收消息的动作,所述消息是在所述接收计算***处接收到的;
一个或多个接收路径组件中的至少一个用至少一个改动来更改所接收的消息的动作,其中所述更改包括将没有包括在所接收的消息内的信息添加到所接收的消息中,所添加的信息与所接收的消息的分派相关;以及
至少间接地通过在所述接收计算***内的一个或多个其它接收路径组件向所述分派机制提供所述已更改消息,使得所述分派机制可使用可从所述已更改消息中获取的信息来把所述消息分派给在所述接收计算***内的一种或多种方法的组以作进一步处理的动作,其中在接收路径上的各个接收路径组件是所述接收计算***的组件。
19.如权利要求18所述的方法,其特征在于,所述消息包括简单对象访问协议SOAP封装,且其中,所述一个或多个接收路径组件的至少一个更改所述消息的动作包括:
把具有附加信息的SOAP标题添加到所述消息的动作。
20.如权利要求18所述的方法,其特征在于,所述一个或多个接收路径组件的至少一个更改所述消息的动作包括:
把至少一个数据字段添加到所述消息的动作。
21.如权利要求18所述的方法,其特征在于,所述一个或多个接收路径组件的至少一个更改所述消息的动作包括:
在更改所述消息中的至少一个数据字段的动作。
22.如权利要求18所述的方法,其特征在于,所述一个或多个接收路径组件的至少一个更改所述消息的动作包括:
从所述消息中删除至少一个数据字段的动作。
23.如权利要求18所述的方法,其特征在于,所述至少一个更改包括标识接收所述消息的连接的连接标识。
24.如权利要求18所述的方法,其特征在于,所述至少一个更改包括用于接收所述消息的协议类型。
25.如权利要求18所述的方法,其特征在于,所述至少一个更改包括接收所述消息的时间。
26.如权利要求18所述的方法,其特征在于,所述至少一个更改包括与所述信息的处理优先级相关的信息。
27.如权利要求18所述的方法,其特征在于,所述至少一个更改包括与所述消息发送者状态相关的信息。
28.如权利要求18所述的方法,其特征在于,所述至少一个更改包括与所述计算***的负载相关的信息。
29.在一包括能够从网络环境中的其它计算***接收消息的一接收计算***的网络环境中、一种由包括在所述接收计算***内的分派机制在不对与分派相关的某些信息进行直接访问的情况下分派已接收消息的方法,该信息没有包括在由所述接收计算***接收到的消息内,并且一分派组件把一已接收消息分派给一种或多种方法的组用来进一步处理,其特征在于,所述方法包括:
在被提供给所述分派机制之前,用至少一个改动来更改在所述接收计算机***上的一已接收消息的步骤,其中所述更改包括将没有包括在已接收消息内的信息添加到已接收消息中,所添加的信息与已接收消息的分派相关;以及
所述分派机制使用可从所述更改的消息中获取的信息把所述消息分派给所述接收计算***内的一种或多种方法的组以作进一步处理的动作。
30.在包括能够从网络环境中的其它计算***接收消息的一接收计算***的网络环境中、一种用于在不对与分派相关的某些信息进行直接访问的情况下分派已接收消息的***,该信息没有包括在接收到的消息内,所述***包括:
位于消息被传递给一分派组件之前的所述消息的接收路径中的一个或多个接收路径组件,其中,所述接收路径组件的至少一个被配置为用至少一个改动来更改所述消息,其中所述更改包括将没有包括在所述消息内的信息添加到所述消息中,所添加的信息与所述消息的分派相关;以及
把所接收的消息分派给一种或多种方法的群组以作进一步处理的分派组件,所述分派组件使用可从所述更改的消息中获得的信息来分派所述消息。
CN2005100057975A 2004-01-23 2005-01-24 使用***消息更改向代码自适应地分派接收消息 Expired - Fee Related CN1645841B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/763,448 2004-01-23
US10/763,448 US7565451B2 (en) 2004-01-23 2004-01-23 Adaptive dispatch of received messages to code using inter-positioned message modification

Publications (2)

Publication Number Publication Date
CN1645841A CN1645841A (zh) 2005-07-27
CN1645841B true CN1645841B (zh) 2010-06-16

Family

ID=34634609

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005100057975A Expired - Fee Related CN1645841B (zh) 2004-01-23 2005-01-24 使用***消息更改向代码自适应地分派接收消息

Country Status (7)

Country Link
US (1) US7565451B2 (zh)
EP (1) EP1557990B1 (zh)
JP (1) JP5042454B2 (zh)
KR (1) KR101143222B1 (zh)
CN (1) CN1645841B (zh)
AT (1) ATE397344T1 (zh)
DE (1) DE602005007073D1 (zh)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060184462A1 (en) 2004-12-10 2006-08-17 Hawkins Jeffrey C Methods, architecture, and apparatus for implementing machine intelligence and hierarchical memory systems
US7739208B2 (en) 2005-06-06 2010-06-15 Numenta, Inc. Trainable hierarchical memory system and method
US8732098B2 (en) 2006-02-10 2014-05-20 Numenta, Inc. Hierarchical temporal memory (HTM) system deployed as web service
US7941389B2 (en) 2006-02-10 2011-05-10 Numenta, Inc. Hierarchical temporal memory based system including nodes with input or output variables of disparate properties
US20070192267A1 (en) 2006-02-10 2007-08-16 Numenta, Inc. Architecture of a hierarchical temporal memory based system
US20080208966A1 (en) * 2007-02-28 2008-08-28 Numenta, Inc. Hierarchical Temporal Memory (HTM) System Deployed as Web Service
EP2087437A4 (en) 2006-11-28 2010-10-27 Numenta Inc TIME-BASED COMMON-BASED PACKAGE
US7941392B2 (en) 2007-02-28 2011-05-10 Numenta, Inc. Scheduling system and method in a hierarchical temporal memory based system
US8037010B2 (en) 2007-02-28 2011-10-11 Numenta, Inc. Spatio-temporal learning algorithms in hierarchical temporal networks
US8112367B2 (en) 2007-02-28 2012-02-07 Numenta, Inc. Episodic memory with a hierarchical temporal memory based system
WO2009006231A1 (en) 2007-06-29 2009-01-08 Numenta, Inc. Hierarchical temporal memory system with enhanced inference capability
US9021503B2 (en) * 2007-11-16 2015-04-28 Microsoft Technology Licensing, Llc Coordinating application state and communication medium state
US8505030B2 (en) * 2007-11-16 2013-08-06 Microsoft Corporation Coordinating resources using a volatile network intermediary
US8719841B2 (en) * 2007-11-16 2014-05-06 Microsoft Corporation Dispatch mechanism for coordinating application and communication medium state
US8175984B2 (en) 2007-12-05 2012-05-08 Numenta, Inc. Action based learning
US8175985B2 (en) 2008-03-19 2012-05-08 Numenta, Inc. Plugin infrastructure for hierarchical temporal memory (HTM) system
US7983998B2 (en) 2008-03-21 2011-07-19 Numenta, Inc. Feedback in group based hierarchical temporal memory system
US8407166B2 (en) 2008-06-12 2013-03-26 Numenta, Inc. Hierarchical temporal memory system with higher-order temporal pooling capability
US8195582B2 (en) 2009-01-16 2012-06-05 Numenta, Inc. Supervision based grouping of patterns in hierarchical temporal memory (HTM)
US8301706B2 (en) 2009-06-15 2012-10-30 Microsoft Corporation Routing of pooled messages via an intermediary
US11651277B2 (en) 2010-03-15 2023-05-16 Numenta, Inc. Sparse distributed representation for networked processing in predictive system
EP2548096B1 (en) 2010-03-15 2017-10-25 Numenta, Inc. Temporal memory using sparse distributed representation
US8549538B2 (en) * 2010-03-18 2013-10-01 Microsoft Corporation Coordinating communication medium state for subtasks
US8250234B2 (en) 2010-04-26 2012-08-21 Microsoft Corporation Hierarchically disassembling messages
US9141447B2 (en) * 2010-12-15 2015-09-22 Microsoft Technology Licensing, Llc Conditional deferred queuing
US8645291B2 (en) 2011-08-25 2014-02-04 Numenta, Inc. Encoding of data for processing in a spatial and temporal memory system
US8504570B2 (en) 2011-08-25 2013-08-06 Numenta, Inc. Automated search for detecting patterns and sequences in data using a spatial and temporal memory system
US8825565B2 (en) 2011-08-25 2014-09-02 Numenta, Inc. Assessing performance in a spatial and temporal memory system
US9159021B2 (en) 2012-10-23 2015-10-13 Numenta, Inc. Performing multistep prediction using spatial and temporal memory system
US9385935B2 (en) * 2013-03-06 2016-07-05 Microsoft Technology Licensing, Llc Transparent message modification for diagnostics or testing
US10318878B2 (en) 2014-03-19 2019-06-11 Numenta, Inc. Temporal processing scheme and sensorimotor information processing
US11681922B2 (en) 2019-11-26 2023-06-20 Numenta, Inc. Performing inference and training using sparse neural network

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5557798A (en) 1989-07-27 1996-09-17 Tibco, Inc. Apparatus and method for providing decoupling of data exchange details for providing high performance communication between software processes
US6823369B2 (en) * 2001-03-14 2004-11-23 Microsoft Corporation Using state information in requests that are transmitted in a distributed network environment
US7055143B2 (en) * 2001-07-10 2006-05-30 Microsoft Corporation System and methods for providing a declarative syntax for specifying SOAP-based web services
US8001189B2 (en) * 2001-10-16 2011-08-16 Microsoft Corporation Routing of network messages
US7039701B2 (en) * 2002-03-27 2006-05-02 International Business Machines Corporation Providing management functions in decentralized networks
US20030212587A1 (en) * 2002-05-13 2003-11-13 International Business Machines Corporation Apparatus and methods for coordinating Web services using role based interpretation of coordination plans
US7103676B2 (en) * 2002-11-04 2006-09-05 Nokia Corporation User-identifier translator and linking apparatus for XML-based services and corresponding method
US7356616B2 (en) * 2002-11-06 2008-04-08 Microsoft Corporation Maintaining structured time data for electronic messages
US7418485B2 (en) * 2003-04-24 2008-08-26 Nokia Corporation System and method for addressing networked terminals via pseudonym translation

Also Published As

Publication number Publication date
CN1645841A (zh) 2005-07-27
US7565451B2 (en) 2009-07-21
EP1557990A1 (en) 2005-07-27
KR20050076750A (ko) 2005-07-27
JP5042454B2 (ja) 2012-10-03
US20050198390A1 (en) 2005-09-08
ATE397344T1 (de) 2008-06-15
KR101143222B1 (ko) 2012-05-18
EP1557990B1 (en) 2008-05-28
JP2005222533A (ja) 2005-08-18
DE602005007073D1 (de) 2008-07-10

Similar Documents

Publication Publication Date Title
CN1645841B (zh) 使用***消息更改向代码自适应地分派接收消息
CN109976667B (zh) 一种镜像管理方法、装置及***
CN111339186B (zh) 工作流引擎数据同步方法、装置、介质及电子设备
US20170323267A1 (en) System and method for providing work allocation and collaboration
CN105787077A (zh) 数据同步方法和装置
KR20140078676A (ko) 웹 페이지의 맞춤 최적화 기법
CN109359194B (zh) 用于预测信息类别的方法和装置
CN102567094A (zh) 标识多个资源实例的资源索引
CN110688096B (zh) 包含插件的应用程序的构建方法、装置、介质及电子设备
CN101388891A (zh) 管理呈现实体的呈现信息的装置和方法
CN101405761A (zh) 服务序列中的变换的声明
CN100543737C (zh) 将原始数据从一个数据结构转移到另一结构的机制
CN111880948A (zh) 数据刷新方法、装置、电子设备及计算机可读存储介质
CN102460381A (zh) 软件扩展分析
CN105094857B (zh) 用于应用加载的方法和***
CN103765845A (zh) 提供对信息的访问
CN104657406A (zh) 用于社会协作环境中的条目的交互分割的方法和***
CN110888972A (zh) 一种基于Spark Streaming的敏感内容识别方法及装置
Fysarakis et al. Node. dpws: Efficient web services for the internet of things
CN110708238B (zh) 用于处理信息的方法和装置
CN1645856B (zh) 确定性的、对象到代码的基于规则的分派
CN113297258B (zh) 一种基于目标人群数据提取的定制化信息推送方法及装置
CN104011718A (zh) 用于检测社交媒体中的趋势的方法、计算机程序和计算机
CN110224921B (zh) 发送包含招聘信息的邮件的方法、装置、介质、电子设备
US9251125B2 (en) Managing text in documents based on a log of research corresponding to the text

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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100616

Termination date: 20140124