CN1645841A - 使用***消息更改向代码自适应地分派接收消息 - Google Patents
使用***消息更改向代码自适应地分派接收消息 Download PDFInfo
- Publication number
- CN1645841A CN1645841A CNA2005100057975A CN200510005797A CN1645841A CN 1645841 A CN1645841 A CN 1645841A CN A2005100057975 A CNA2005100057975 A CN A2005100057975A CN 200510005797 A CN200510005797 A CN 200510005797A CN 1645841 A CN1645841 A CN 1645841A
- Authority
- CN
- China
- Prior art keywords
- message
- action
- information
- change
- computing system
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/214—Monitoring or handling of messages using selective forwarding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/10015—Access to distributed or replicated servers, e.g. using brokers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer 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)
- Debugging And Monitoring (AREA)
- Mobile Radio Communication Systems (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 (34)
1.在一包括能够从网络环境中的其它计算***接收消息的一接收计算***的网络环境中,所述接收计算***包括把一已接收消息分派给一种或多种方法的组用来进一步处理的一分派组件,纵然所述分派机制不能对所述分派相关的某些消息进行直接访问、纵然该信息在由所述接收计算***接收的消息中不存在或无法从其中容易地获取时,一种由所述分派机制用来分派已接收消息的方法,其特征在于,所述方法包括:
接收一消息的动作;
在传送给所述分派组件之前,令所接收的消息通过位于所述消息的接收路径上的一个或多个接收路径组件的动作;
所述一个或多个接收路径组件的至少一个用至少一个改动来更改所述消息的动作;
所述分派机制从所述接收路径接收所更改的消息的动作;以及
所述分派机制使用可从所述至少一个更改中获取的信息把所述消息分派给一种或多种方法的组用来作进一步处理的动作。
2.如权利要求1所述的方法,其特征在于,所述消息包括简单对象访问协议(SOAP)封装,且其中,所述一个或多个接收路径组件的至少一个更改所述消息的动作包括:
把一具有附加信息的SOAP标题添加到所述消息的动作。
3.如权利要求1所述的方法,其特征在于,所述一个或多个接收路径组件的至少一个更改所述消息的动作包括:
把至少一个数据字段添加到所述消息的动作。
4.如权利要求1所述的方法,其特征在于,所述一个或多个接收路径组件的至少一个更改所述消息的动作包括:
更改所述消息中的至少一个数据字段的动作。
5.如权利要求1所述的方法,其特征在于,所述一个或多个接收路径组件的至少一个更改所述消息的动作包括:
从所述消息中删除至少一个数据字段的动作。
6.如权利要求1所述的方法,其特征在于,所述一个或多个接收路径组件的至少一个更改所述消息的动作包括:
一接收组件更改所述消息的动作。
7.如权利要求1所述的方法,其特征在于,所述一个或多个接收路径组件的至少一个更改所述消息的动作包括:
一不同于所述接收组件的接收路径组件更改所述消息的动作。
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.如权利要求18所述的计算机程序产品,其特征在于,所述一种或多种计算机可读介质是物理存储器介质。
30.如权利要求29所述的计算机程序产品,其特征在于,所述物理存储器介质包括持久存储器。
31.如权利要求29所述的计算机程序产品,其特征在于,所述物理存储器介质包括***存储器。
32.在一包括能够从网络环境中的其它计算***接收消息的一接收计算***的网络环境中,所述接收计算***包括一把已接收消息分派给一种或多种方法的组以作进一步处理的分派组件,,纵然所述分派机制不能对所述分派相关的某些消息进行直接访问、纵然所述信息在所述接收计算***接收的消息中不存在或无法从中容易地获取时,所述分派机制用来分派已接收消息的一种方法,其特征在于,所述方法包括:
在被提供给所述分派机制之前,用至少一个改动来更改一已接收消息的步骤;以及
所述分派机制使用可从所述至少一个更改中获取的信息把所述消息分派给一种或多种方法的组以作进一步处理的动作。
33.如权利要求32所述的方法,其特征在于,用来更改已接收消息的所述步骤包括:
接收所述消息的动作;
在被传送给所述分派组件之前,令所述接收消息通过位于所述消息的接收路径上的一个或多个接收路径组件的动作;
所述一个或多个接收路径组件的至少一个用至少一个改动来更改所述消息的动作;
所述分派机制从所述接收路径接收所更改的消息的动作。
34.一种计算***,其特征在于,它包括:
一个或多个处理器;
***存储器;
具有计算机可执行指令的一种或多种计算机可读介质,在由所述一个或多个处理器执行时,所述指令促使所述计算***在所述***存储器中例示如下:
位于消息被传递给一分派组件之前的所述消息的接收路径中的一个或多个接收路径组件,其中,所述接收路径组件的至少一个被配置为用至少一个改动来更改所述消息;以及
把所接收的消息分派给一种或多种方法的群组以作进一步处理的所述分派组件,所述分派组件使用可从所述至少一个改动中获得的信息来分派所述消息。
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 true CN1645841A (zh) | 2005-07-27 |
CN1645841B 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) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102541552A (zh) * | 2010-12-15 | 2012-07-04 | 微软公司 | 条件延迟排队 |
Families Citing this family (31)
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 |
US20080208966A1 (en) * | 2007-02-28 | 2008-08-28 | Numenta, Inc. | Hierarchical Temporal Memory (HTM) System Deployed as Web Service |
US20070192267A1 (en) | 2006-02-10 | 2007-08-16 | Numenta, Inc. | Architecture of a hierarchical temporal memory based system |
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 |
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 |
WO2008106623A2 (en) | 2007-02-28 | 2008-09-04 | Numenta, Inc. | Episodic memory with a hierarchical temporal memory based system |
US8037010B2 (en) | 2007-02-28 | 2011-10-11 | Numenta, Inc. | Spatio-temporal learning algorithms in hierarchical temporal networks |
WO2009006231A1 (en) | 2007-06-29 | 2009-01-08 | Numenta, Inc. | Hierarchical temporal memory system with enhanced inference capability |
US8719841B2 (en) * | 2007-11-16 | 2014-05-06 | Microsoft Corporation | Dispatch mechanism for coordinating application and communication medium state |
US8505030B2 (en) * | 2007-11-16 | 2013-08-06 | Microsoft Corporation | Coordinating resources using a volatile network intermediary |
US9021503B2 (en) * | 2007-11-16 | 2015-04-28 | Microsoft Technology Licensing, Llc | Coordinating application state 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 |
EP2548096B1 (en) | 2010-03-15 | 2017-10-25 | Numenta, Inc. | Temporal memory using sparse distributed representation |
US11651277B2 (en) | 2010-03-15 | 2023-05-16 | Numenta, Inc. | Sparse distributed representation for networked processing in predictive system |
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 |
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)
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 |
-
2004
- 2004-01-23 US US10/763,448 patent/US7565451B2/en not_active Expired - Fee Related
-
2005
- 2005-01-11 JP JP2005004312A patent/JP5042454B2/ja not_active Expired - Fee Related
- 2005-01-12 AT AT05000510T patent/ATE397344T1/de not_active IP Right Cessation
- 2005-01-12 DE DE602005007073T patent/DE602005007073D1/de active Active
- 2005-01-12 EP EP05000510A patent/EP1557990B1/en not_active Not-in-force
- 2005-01-21 KR KR1020050005683A patent/KR101143222B1/ko not_active IP Right Cessation
- 2005-01-24 CN CN2005100057975A patent/CN1645841B/zh not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102541552A (zh) * | 2010-12-15 | 2012-07-04 | 微软公司 | 条件延迟排队 |
US9141447B2 (en) | 2010-12-15 | 2015-09-22 | Microsoft Technology Licensing, Llc | Conditional deferred queuing |
CN102541552B (zh) * | 2010-12-15 | 2018-02-23 | 微软技术许可有限责任公司 | 条件延迟排队 |
Also Published As
Publication number | Publication date |
---|---|
EP1557990B1 (en) | 2008-05-28 |
US7565451B2 (en) | 2009-07-21 |
US20050198390A1 (en) | 2005-09-08 |
JP2005222533A (ja) | 2005-08-18 |
KR101143222B1 (ko) | 2012-05-18 |
KR20050076750A (ko) | 2005-07-27 |
CN1645841B (zh) | 2010-06-16 |
EP1557990A1 (en) | 2005-07-27 |
DE602005007073D1 (de) | 2008-07-10 |
ATE397344T1 (de) | 2008-06-15 |
JP5042454B2 (ja) | 2012-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1645841B (zh) | 使用***消息更改向代码自适应地分派接收消息 | |
CN111339186B (zh) | 工作流引擎数据同步方法、装置、介质及电子设备 | |
CN106933630B (zh) | 一种客户端升级方法、装置、设备及存储介质 | |
CN111310221B (zh) | 持久层数据的加解密方法、装置、设备及存储介质 | |
CN1534949A (zh) | 用于获取网格中的状态信息的方法和设备 | |
CN1848107A (zh) | 提供与原始电子文档一起传送的临时词典的***和方法 | |
CN105787077A (zh) | 数据同步方法和装置 | |
CN113032105B (zh) | 一种Kubernetes集群访问控制方法、***及相关设备 | |
CN110688096B (zh) | 包含插件的应用程序的构建方法、装置、介质及电子设备 | |
CN101388891A (zh) | 管理呈现实体的呈现信息的装置和方法 | |
JP2009530738A (ja) | サービスシーケンス内の変換のための宣言 | |
US20230111379A1 (en) | Heterogeneous graph generation for application microservices | |
CN110990346A (zh) | 基于区块链的文件数据处理方法、装置、设备及存储介质 | |
Wilkinson et al. | QMachine: commodity supercomputing in web browsers | |
CN114528269A (zh) | 用于处理数据的方法、电子设备和计算机程序产品 | |
CN111880948A (zh) | 数据刷新方法、装置、电子设备及计算机可读存储介质 | |
US20120143866A1 (en) | Client Performance Optimization by Delay-Loading Application Files with Cache | |
CN105094857B (zh) | 用于应用加载的方法和*** | |
CN102460381A (zh) | 软件扩展分析 | |
US20070083607A1 (en) | Method of operating a computer network | |
Loseto et al. | Linked Data (in low-resource) Platforms: a mapping for Constrained Application Protocol | |
US8381112B2 (en) | Data management tool | |
CN1645856B (zh) | 确定性的、对象到代码的基于规则的分派 | |
US8280950B2 (en) | Automatic client-server code generator | |
CN111460020B (zh) | 用于解析消息的方法、装置、电子设备和介质 |
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 |