CN100527086C - 模块化事件驱动处理 - Google Patents
模块化事件驱动处理 Download PDFInfo
- Publication number
- CN100527086C CN100527086C CNB2005800273830A CN200580027383A CN100527086C CN 100527086 C CN100527086 C CN 100527086C CN B2005800273830 A CNB2005800273830 A CN B2005800273830A CN 200580027383 A CN200580027383 A CN 200580027383A CN 100527086 C CN100527086 C CN 100527086C
- Authority
- CN
- China
- Prior art keywords
- thread
- boundaries
- task
- thread boundaries
- incident
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- 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
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/30—Routing of multiclass traffic
-
- 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]
-
- 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/1014—Server selection for load balancing based on the content of a request
-
- 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/1029—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
-
- 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/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
-
- 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/50—Network services
- H04L67/55—Push-based network services
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/562—Brokering proxy services
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/563—Data redirection of data network streams
-
- 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/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- 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]
-
- 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/40—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
-
- 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/2866—Architectures; Arrangements
- H04L67/289—Intermediate processing functionally located close to the data consumer application, e.g. in same machine, in same home or in same sub-network
-
- 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/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
- Multi Processors (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
多个线程边界中的每一个包括要由单个线程为给定事件执行的功能。经由其可路由事件的多个队列可被耦合至线程边界。多个任务可按照定义的关系配置,每一任务与一线程边界相关联,且包括用于执行特定功能的代码单元。资源可基于队列深度被分配给线程边界。
Description
相关申请的交叉引用
本申请要求于2004年8月17日提交的名为“TECHNIQUES FORDELIVERING PERSONALIZED CONTENT WITH A REAL-TIME ROUTINGNETWORK,MODULAR EVENT-DRIVEN ARCHITECTURE,MODULAREVENT-DRIVEN PROCESSING AND VIEWER FAILOVER TESTING A SYSTEMMEMORY WHILE AN OPERATING SYSTEM IS ACTIVE”的共同待批的美国临时专利申请第60/602,539号的优先权,该申请对所有目的而言通过引用包含在此,如同全文在本文献中描述一般。
背景
本公开的实施例一般涉及高性能计算以及以模块化、事件驱动的方式提供计算服务。
计算设备可能具有在其中处理请求的有限数目的资源。为了有效处理请求,设备可能需要管理资源如何可被分配给哪些请求。当资源被分配给一请求时,该请求可被处理。设备可看到由于某些原因请求大量增长。例如,为网站向众多用户供应网页的服务器可从用户接收对网页的大量请求。如果资源未以有效的方式分配给请求,则用户可看到延迟。
附图简述
图1是示出根据一个实施例的系统的高层概观的框图。
图2是示出根据一个实施例能够加密并发送传出消息的四个任务的示例的框图。
图3是示出根据一个实施例用于处理任务以及它们之间的关系的高层描述的步骤的流程图。
图4是示出根据一个实施例的管理模块的高层概观的框图。
附图仅为说明起见而描述了一些实施例。本领域中的技术人员将容易地从以下讨论中认识到,可采用此处所示的结构和方法的替换实施例。
可通过参考说明书的其余部分以及附图来实现对此处所公开的公开的本质和优点的进一步理解。
详细描述
在一个实施例中,模块化驱动处理提供多个线程边界,每一线程边界包括将由单个线程为给定事件执行的功能。多个队列可被通信耦合至线程边界,使得线程边界可由可经由其路由事件的队列连接。将计算功能划分成线程边界允许对因为其相应的队列可填充而可能对负载敏感的那些部分进行标识。诸如线程等计算资源然后可基于队列深度被动态分配给线程边界。
多个任务可处于定义的关系中以提供服务,其中每一任务可与一线程边界相关联且包括用于执行特定功能的代码单元。还可提供多个服务实用程序,其中每一服务实用程序包括可能可由多个任务访问的实用程序。
在某些实施例中,任务以及它们之间所定义的关系可在系统本身外部的高层描述,且能够与该高层描述相一致。在某些实施例中,这种高层描述可使用声明性语言,诸如可扩展标记语言(XML)。该高层外部描述允许对任务及其之间的关系进行动态配置,以及对其进行认证。
图1示出了根据一个实施例的系统101的高层概观。系统101可被设置在处理信息的任何计算设备中。例如,系统101可以被包括在服务器或路由器中。
系统101提供一些功能(例如,服务)。功能可分划分成多个线程边界103,其中每一线程边界103可为所需功能封装应用程序逻辑的一部分。线程边界可由线程边界队列105连接。事件107(例如,对服务的请求、消息)可经由线程边界队列105输入至线程边界103或从中输出。
事件可以是可能需要的任何处理。事件107的一个示例是远程客户机对服务的请求。例如,客户机可请求登录,在这种情况下,系统101(例如服务器)将需要检查客户机的凭证并然后采取适当的行动。根据某些实施例,系统101可通过将其封装为事件107并经由一连串线程边界103传递它,最终输出对登录的验证或拒绝来处理该请求,其中每一线程边界能够执行小片段服务。本领域的普通技术人员考虑到本说明书可以清楚事件的各种其它示例,例如,事件可包括处理对来自数据库的记录的请求、处理传入的电子邮件消息、处理传出的经编码的数据、发送传出的出错消息、处理对网页的请求等。
诸如服务器等计算系统可能需要同时处理大量事件。从而,线程边界103之间的事件107可驻留在线程边界队列105中。在线程边界103内,单个线程可处理事件107。然而,一旦第一线程边界103完成其对事件107的处理并将事件107置于队列105中之后,另一线程可选出事件107并将其移动通过下一线程边界103。
图1示出了两个线程边界103,但可提供任何数量的线程边界。众多计算系统提供复杂的功能,它们可按需被划分成众多线程边界103。功能到线程边界103的划分以及要使用的线程边界103的数目可以不同。本领域的普通人员考虑到本说明书时可以清楚众多变型。
功能到线程边界103的划分允许标识由于其相应的线程边界队列105可填充而可能对负载敏感的那些部分。在某些实施例中,资源分配模块109监视线程边界队列105,并基于队列深度将计算资源分配给相应的的线程边界103。例如,可确定第一队列105和第二队列105中所保存的事件的数目。资源可基于第一队列105和第二队列105中分别保存的事件的数目来分配。例如,如果第一队列105长于第二队列105,则更多资源可被分配给第一线程边界103。从而,线程边界103的负载可用于确定如何动态分配资源。尽管描述了队列长度,但可以理解,可使用用于确定负载的其它技术,诸如使用正由线程边界103处理的事件的数量。在图1中所示的实施例中,资源分配模块109可被集中化,从而与由线程边界103和队列105封装的应用程序逻辑分开。
在某些实施例中,资源分配模块109根据线程边界入站(inbound)队列105的长度或根据所需的其它度量将来自线程池111的线程分配给线程边界103。如相关领域的普通技术人员可以理解的,每一事件107可由线程边界103内的单个线程(或多个线程)处理。多个事件107可经由同一边界103并行处理,且这样的并行事件107处理可如需由多个线程(在一个实施例中,仅仅每个事件107一个线程)执行。
因此,系统101中可能成为瓶颈的部分可接收更多资源,从而平滑了应用程序流并改进了性能。由于分配可以是动态的,因此资源分配模块109可响应于变化的条件。如果例如系统101接收大量的某一类型的请求,正常不会是瓶颈的部分可能变得过载。在这样的情况下,资源分配模块109可通过动态更改计算资源分配来相应地作出反应。
这提供了优点,因为处理到线程边界的划分可以不涉及将单个请求分配给然后为该请求执行所有的处理的一个线程。按照每一请求可能需要的资源,每一请求可以不被相同地对待。系统101可将其自身调节到在事件可排成队列的线程边界处建立的负载。因此,系统101的内部性能可被监视,并可响应于负载来调节。
而且,系统101可使用线程边界的队列的队列长度来确定将资源分配到哪里。这允许系统101在没有引入关于如何对事件区分优先级的复杂功能的情况下确定将资源分配到哪里。
可以理解,尽管资源分配模块109可被示为单个实体,但作为此处所使用的术语,资源分配模块109指的是可被实现为软件、硬件、固件或这三者的任何组合的功能的集合。当资源分配模块109可被实现为软件时,它可被实现为单机程序,但也可按照其它方式实现,例如作为较大程序的一部分、作为多个单独程序、或者作为一个或多个静态或动态链接库。
如图1中所示,由每一线程边界103封装的功能可由一个或多个任务113执行。作为此处可使用的术语,任务113可包括用于执行特定功能的任何代码块。多个任务113可被包含在链中以提供所需的计算服务。
图2示出了能够加密以及发送消息的四个任务113的简单示例。要被加密和发送的输入消息201可由任务1接收,任务1检查目的地地址的有效性。如果目的地地址有效,则任务3加密输入消息201,而任务4将所加密的消息203作为输出发送给该目的地地址。另一方面,如果目的地地址无效,则任务2创建任务4作为输出消息203发送给起始地址的适当的出错消息。由这四个任务提供的功能如有所需可以是大得多的计算系统的一部分。
回到图1,任务113可以位于比线程边界103粒度更精细的层次上。多个任务113可以在单个线程边界103内封装,尽管线程边界103也有可能仅包含单个任务113。特定的任务113可被分配给特定的线程边界103。例如,图1示出任务1和2被封装在线程边界1内,任务3-5被封装在线程边界2内。在其它实施例中,任务1-5可在两个以上线程边界103之间划分,或者如有所需所有五个任务可被封装在单个线程边界内。根据各个实施例,存在将任务113分配到线程边界的多种可能性。相关领域的普通技术人员在考虑到本说明书时可以清楚,任务113与线程边界103之间的关系可如所需地由配置改变来设置和修改。
如图1中所示,不是所有所需的功能都可由任务113执行。例如,某些功能可由服务实用程序115执行,服务实用程序115可以是可由多个任务113使用的实用程序。除通过集中化标准实用程序来创造效率以外,服务实用程序115添加另一层灵活性。在其中任务113经由接口访问服务实用程序115的实施例中,有可能在不更改依赖于服务115的任何任务113的情况下交换服务115的实现。例如,如果需要众多任务113来写入日志文件,则可提供记入日志服务。任务113可经由服务实用程序115访问记入日志服务。服务115可存储状态,因此可由多个任务113为事件使用。
服务实用程序115可用作事件107的发起源。例如,当客户机发出请求时,网络协议服务115可负责将请求打包成事件107,并将其插入到适当的线程边界队列105内,以便使请求进入任务流。而事件107可由服务实用程序115创建,并传递给任务113以便处理,任务一般修改现有的事件107并将它们转发给其它任务113。
在某些实施例中,服务实用程序115可存储状态,而任务113可以是无状态(stateless)的。例如当前注册的用户的列表一般可由服务115控制。任务113可通过调用服务115上的方法来访问该列表。尽管任务113被描述为无状态的,但在某些实施例中,任务113可存储状态。
在一个实施例中,任务113可以不创建线程或了解哪些线程可以正在控制内部任务113过程。另一方面,服务实用程序115可以是线程安全的,因为它们可由运行在不同线程边界103中的多个任务113访问。因此,服务实用程序115可由多个线程访问。
何时利用任务113以及何时使用服务115可以不同。在某些实施例中,任务可以尽可能多地被使用。在这些实施例中,服务115可供穿过(cut across)众多任务113的实用程序、发起事件107的组件或管理状态的组件使用。在其它实施例中,任务113和/或服务实用程序115可按所需为更多或更少目的而使用。相关领域的普通技术人员在考虑到本说明书时可以清楚,术语“任务”和“服务”可仅在此处用于描述各种功能。对这些功能的这种特定命名可能不是强制性或重要的,实现各种实施例的机制和/或其特征可具有不同的名字、划分和/或格式。
如上所述,多个任务113可处于定义的关系中以便为服务提供所需功能。任务113之间所定义的关系可取决于要提供的功能。例如,取决于所需功能,任务113可被不同地安排。如上所述,任务113可接收事件107作为输入,在其上执行操作,并将(可能经变换的)事件传递给其它任务113以便进一步处理。任务113可基于事件107的内容或其它因素作出关于如何处理事件107和/或将其传到哪里的决定。
特定任务113可能能够接收特定输入,执行特定处理以及发送特定输出。任务113可使用0个或多个输入(换言之,即任务从中接收事件107形式的数据的源)以及0个或多个输出来处理代码,经由这些输出,任务113在处理之后发送事件107。与任务113相关联的输入、处理和输出可被认为是为任务113定义契约。源契约指定经由任务113的输入接收的事件107上的约束。宿契约描述任务113对通过其的事件107作出的改变。术语“输入”、“输出”、“源契约”以及“宿契约”是语言学上的术语,此处用来描述底层功能。可构想用于描述这样的方面和功能的其它名字。
为了示出源契约和宿契约的示例,客户机可通过将事件107(即,认证请求)发送给系统101(例如,服务器)来请求对用户的认证。为示例起见,假定事件107包含名为“用户名”的串、名为“口令”的串。该事件107可被传递给确认器任务113,该任务的源契约指定它接收名为“口令”的串以及名为“用户名”的串。任务113可使用这些串来认证用户。认证结果可被传递给下游的各个任务113,而确认器任务113的宿契约指定名为“有效”的布尔逻辑被添加到事件107。在其它情况中,任务113的宿契约可从事件107中移除项。
在某些实施例中,任务113及其之间所定义的关系可在系统本身外部的高层描述,并根据该高层描述配置。在某些实施例中,该高层描述可使用声明性语言,诸如可扩展标记语言(XML)。该高层外部描述可被存储在例如XML配置文件中。
该高层外部描述允许对任务113及其之间关系进行动态配置,以及对其极性认证。如相关领域的普通技术人员在考虑到本说明书时容易清楚的,任务113及其之间所定义的关系的高层描述可包括任务113的功能、输入和输出、源契约和宿契约、以及多个任务113可关联在一起来提供所需功能的方式、和任务113到线程边界103的分配的方式的描述。在某些实施例中,可在高层描述中包括更多或更少信息。
图3示出了根据一个实施例用于处理任务113及其之间关系的高层描述的步骤。在步骤301中,系统101读取高层描述(例如,从XML配置文件)。在步骤303中,系统101相应地动态配置多个任务。
对任务113和/或任务113之间的关系的动态修改可通过对高层描述进行相应修改来进行。在步骤305中,系统101可响应于对高层描述的相应修改来动态修改任务113。此外,在步骤307和309中,系统101可响应于对高层描述的相应修改来动态修改多个任务113之间关系、或任务113到线程边界103的分配。
在步骤311中,也可使用高层描述来自动确定任务113之间所定义的关系是否在逻辑上是一致的。这样的判定例如可包括对源和宿契约的验证。
图4示出了根据一个实施例的管理模块401的高层概观。如图4中所示,在某些实施例中,任务113、服务实用程序115和或线程边界103可被实现为使得这些组件可经由管理模块401来监视和控制。在这样的实施例中,任务113和/或其它组件可被通信地耦合至管理模块401,且这些任务或其它组件的属性(例如,活动连接的数目)可例如经由图形用户界面405或命令行407或在适当时经由配置文件由管理模块401监视或动态修改。
在这样的一个实施例中,组件与管理模块401之间的上述通信可经由Java管理扩展(JMX)的MBean接口来执行。在这样的实施例中,任务113、服务实用程序115和/或线程边界103可以是MBean的实现,因此自动包括向在这样的实施例中被建立在JMX顶部的管理模块401展示的MBean接口。
JMX将组件的主管、管理和监视与组件本身分开。这允许对应用程序的管理前端是可交换的。作为示例,诸如服务器等计算系统可包括以基于web的图形用户界面405以及用于监视和控制组件的命令行界面407两者打包的管理模块401。这些界面405、407可使用由JMX定义的规则和接口按照本领域的普通技术人员在考虑本说明书时清楚的方式独立开发。这些界面405、407可随后用于以本领域的普通技术人员在考虑本说明书时同样清楚的方式来监视和动态配置任务113、服务实用程序115和/或线程边界403。当然,如有所需,可在除JMX以外的开发环境中实现其它实施例。
如本领域的技术人员可以理解的,本公开可具体化成其它具体形式,而不背离其精神或基本特征。同样,对模块、特征、属性、方法和其它方面的具体命名和划分可能不是强制性或重要的,且实现各实施例或其特征的机制可具有不同的名字、划分和/或格式。而且,如本领域的普通技术人员所清楚的,本公开的模块、特征、属性、方法和其它方面可被实现为软件、硬件、固件或这三者的组合。只要组件可被实现为软件,该组件就可被实现为单机程序、较大程序的一部分、多个单独程序、静态或动态链接库、内核可加载模块、设备驱动程序和/或按照现在或将来计算机编程领域中的技术人员所已知的每一个和任何其它方式。此外,各实施例在任何方面都决不限于任何特定编程语言或限用于任何特定操作系统或环境。从而,本公开旨在对在所附权利要求书中所述的本公开的范围是说明性而非限制性的。
在一个实施例中;术语“和/或”可指示可使用由“和/或”连接的元素的任何组合。例如,使用“和/或”的短语中的两个单词或表示可意味着其中一个或另一个或这两者。在一个实施例中,术语“基本上”可意味着可被指定的大多数但不是全部,或者是可被指定的全部。在一个实施例中,术语“能够”可意味着被配置、适于、可以等。例如,术语“能够执行一动作”可意味着一元素可能可以执行动作、可被配置成执行该动作和/或可适于执行该动作。
各实施例可按照软件或硬件或两者组合中的控制逻辑的形式来实现。控制逻辑可作为适于指导信息处理设备执行一个实施例中所公开的一组步骤的多条指令被存储在信息存储介质中。基于本公开以及此处所提供的教导,本领域中的普通技术人员可以理解实现各实施例的其它方式和/或方法。
以上描述是说明性而非限定性的。当本领域的技术人员仔细阅读本公开之后,可以清楚本公开的众多变化。本公开的范围从而不应参考以上描述来确定,而是应参考待批的权利要求书以及其全部范围或等效技术方案来确定。
Claims (30)
1.一种用于处理事件的方法,所述方法包括:
确定多个线程边界中的第一线程边界处的负载,其中所述多个线程边界能够为一个或多个事件执行服务,其中所述多个线程边界中的每一线程边界包括至少一个任务,所述至少一个任务与所述至少一个任务能够执行的所述服务的至少一部分相关联;以及
基于所确定的负载将一个或多个资源动态分配给所述第一线程边界,其中所述一个或多个资源允许所述第一线程边界的所述至少一个任务执行所述服务的与所述至少一个任务相关联的所述至少一部分,
所述多个线程边界中的每一个的至少一个任务具有已定义的关系以便为所述一个或多个事件执行所述服务,并且所述已定义的关系根据存储在外部配置文件中的高等级描述来进行配置。
2.如权利要求1所述的方法,其特征在于,所述负载是基于所述第一线程边界需要处理的事件的数目。
3.如权利要求2所述的方法,其特征在于,还包括提供多个线程边界队列,其中所述第一线程边界包括能够保存所述多个事件的第一线程边界队列。
4.如权利要求3所述的方法,其特征在于,所述负载是基于正保存在所述线程边界队列中的事件的数目来确定的。
5.如权利要求2所述的方法,其特征在于,所述第一线程边界能够在所述多个事件上执行所述服务的至少一部分。
6.如权利要求2所述的方法,其特征在于,还包括:
为所述多个线程边界中的第二线程边界确定第二负载;以及
基于所确定的第二负载将第二组一个或多个资源动态分配给所述第二线程边界,其中所述第二组一个或多个资源允许所述第二线程边界的至少一个任务执行所述服务的至少第二部分。
7.如权利要求6所述的方法,其特征在于,所述第二负载是基于所述第二线程边界需要处理的第二事件的数目。
8.如权利要求1所述的方法,其特征在于,所述将一个或多个资源动态分配给所述第一线程边界还包括:
基于所述负载将线程分配给所述第一线程边界,每一分配的线程执行所述服务的与其所分配的线程边界相关联的所述至少一部分。
9.如权利要求1所述的方法,其特征在于,所述一个或多个事件中的一个事件由所述多个线程边界处理以便为所述事件执行所述服务。
10.如权利要求1所述的方法,其特征在于,所述一个或多个事件中的第一事件和第二事件在所述第一线程边界中被并行处理。
11.一种用于处理事件的计算机系统,所述计算机系统包括:
多个线程边界,其中所述多个线程边界能够执行服务,其中所述多个线程边界中的第一线程边界包括能够执行所述服务的至少一部分的至少一个任务;
耦合至所述线程边界的多个线程边界队列,其中所述第一线程边界包括能够保存一个或多个事件以便路由到所述第一线程边界的第一线程边界队列;以及
能够基于所述第一线程边界队列的第一线程边界队列深度将一个或多个资源分配给所述第一线程边界的资源分配模块,其中所述第一线程边界队列深度是基于正保存在所述第一线程边界队列中的事件的数目,
所述多个线程边界中的每一个的至少一个任务具有已定义的关系以便为所述一个或多个事件执行所述服务,并且所述已定义的关系根据存储在外部配置文件中的高等级描述来进行配置。
12.如权利要求11所述的系统,其特征在于,所分配的一个或多个资源允许所述第一线程边界的至少一个任务为正保存在所述第一线程边界队列中的多个事件执行所述服务的所述至少一部分。
13.如权利要求11所述的系统,其特征在于,所述多个线程边界中的第二线程边界包括保存第二多个事件的第二线程边界队列,
其中所述资源分配模块能够基于所述第一线程边界队列深度和所述第二线程边界队列深度将第一组资源分配给所述第一线程边界并将第二组资源分配给第二线程边界,其中所述第一线程边界队列深度是基于正保存在所述第一线程边界队列中的事件的数目,所述第二线程边界队列深度是基于正保存在所述第二线程边界队列中的第二事件的数目。
14.如权利要求11所述的系统,其特征在于,所述一个或多个资源包括一个或多个线程,其中所述一个或多个线程基于所述第一线程边界队列深度被分配给所述第一线程边界。
15.如权利要求14所述的系统,其特征在于,所分配的每一线程为所述多个事件执行所述第一线程边界内的至少一个任务。
16.如权利要求14所述的系统,其特征在于,还包括:
线程池,包括要基于线程边界队列深度而被分配给线程边界的所述一个或多个线程,所述线程池被耦合至所述资源分配模块。
17.如权利要求11所述的系统,其特征在于,所述多个任务中的每一个都是无状态的。
18.如权利要求11所述的系统,其特征在于,还包括能够提供实用程序的一个或多个服务实用程序,其中所述多个线程边界中的每一个中的至少一个任务可使用所述一个或多个服务实用程序中的一个服务实用程序来执行所述服务的其部分。
19.如权利要求18所述的系统,其特征在于,所述一个或多个服务实用程序的至少其中之一是有状态的。
20.如权利要求11所述的系统,其特征在于,所述多个事件中的一个事件由所述多个线程边界处理以便为所述事件执行所述服务。
21.如权利要求20所述的系统,其特征在于,所述事件从所述第一线程边界传递给第二线程边界的第二线程边界队列,使得所述第二线程边界可接下来处理所述事件。
22.如权利要求11所述的系统,其特征在于,所述一个或多个事件中的第一事件和第二事件在所述第一线程边界中被并行处理。
23.一种用于处理的计算机系统,所述计算机系统包括:
包括至少一个任务的第一线程边界,其中所述第一线程边界中的第一任务包括执行第一功能的处理功能;
包括至少一个任务的第二线程边界,其中所述第二线程边界中的第二任务包括执行第二功能的处理功能;
耦合至所述第一线程边界的第一线程边界队列;
耦合至所述第二线程边界的第二线程边界队列,其中所述第二线程边界队列连接所述第一线程边界与所述第二线程边界,使得所述一个或多个事件经由所述第二线程边界队列从所述第一线程边界路由到所述第二线程边界;以及
能够将一个或多个资源分配给所述第一和第二线程边界的资源分配模块,其中一个或多个资源允许第一和第二任务执行其第一和第二功能,其中所述一个或多个资源基于所述第一线程边界队列的第一线程边界队列深度以及所述第二线程边界队列的第二线程边界队列深度被分配给所述第一和第二线程边界,所述第一线程边界接收所述一个或多个资源中的第一组资源,所述第二线程边界接收所述一个或多个资源中的第二组资源,
所述第一线程边界中的至少一个第一任务和所述第二线程边界中的至少一个任务具有已定义的关系以便为所述事件执行基于所述第一功能和第二功能的总体功能,并且所述已定义的关系根据存储在外部配置文件中的高等级描述来进行配置。
24.如权利要求23所述的系统,其特征在于,所述一个或多个资源包括能够处理所述第一任务的第一功能或所述第二任务的第二功能的线程。
25.如权利要求24所述的系统,其特征在于,还包括:
线程池,包括要基于所述第一和第二线程边界队列深度而被分配给所述第一和第二线程边界的一个或多个线程。
26.如权利要求23所述的系统,其特征在于,所述第一和第二任务是无状态的。
27.如权利要求23所述的系统,其特征在于,还包括一个或多个服务实用程序,其中服务实用程序包括可由所述第一任务或第二任务在执行所述第一功能或所述第二功能时访问的实用程序。
28.如权利要求27所述的系统,其特征在于,所述一个或多个服务实用程序的至少其中之一是有状态的。
29.如权利要求23所述的系统,其特征在于,所述事件由所述第一线程边界和第二线程边界处理以便为所述事件执行由所述第一和第二功能定义的总体功能。
30.如权利要求23所述的系统,其特征在于,所述一个或多个事件中的第一任务和第二任务被并行处理。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US60253904P | 2004-08-17 | 2004-08-17 | |
US60/602,539 | 2004-08-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101040261A CN101040261A (zh) | 2007-09-19 |
CN100527086C true CN100527086C (zh) | 2009-08-12 |
Family
ID=35510945
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005800273830A Active CN100527086C (zh) | 2004-08-17 | 2005-08-15 | 模块化事件驱动处理 |
CN2005800274405A Active CN101189852B (zh) | 2004-08-17 | 2005-08-15 | 用于上游故障检测和故障恢复的技术 |
CN200580027962.5A Active CN101057476B (zh) | 2004-08-17 | 2005-08-15 | 用实时路由网络递送个人化内容的方法和装置 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2005800274405A Active CN101189852B (zh) | 2004-08-17 | 2005-08-15 | 用于上游故障检测和故障恢复的技术 |
CN200580027962.5A Active CN101057476B (zh) | 2004-08-17 | 2005-08-15 | 用实时路由网络递送个人化内容的方法和装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9043635B2 (zh) |
EP (1) | EP1779636B1 (zh) |
JP (1) | JP4668271B2 (zh) |
KR (3) | KR101164698B1 (zh) |
CN (3) | CN100527086C (zh) |
WO (1) | WO2006023508A1 (zh) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8505024B2 (en) | 2000-12-18 | 2013-08-06 | Shaw Parsing Llc | Storing state in a dynamic content routing network |
US7051070B2 (en) * | 2000-12-18 | 2006-05-23 | Timothy Tuttle | Asynchronous messaging using a node specialization architecture in the dynamic routing network |
US7711847B2 (en) | 2002-04-26 | 2010-05-04 | Sony Computer Entertainment America Inc. | Managing users in a multi-user network game environment |
US20030217135A1 (en) | 2002-05-17 | 2003-11-20 | Masayuki Chatani | Dynamic player management |
US8131802B2 (en) | 2007-10-05 | 2012-03-06 | Sony Computer Entertainment America Llc | Systems and methods for seamless host migration |
US8560707B2 (en) | 2007-10-05 | 2013-10-15 | Sony Computer Entertainment America Llc | Seamless host migration based on NAT type |
EP1784963B1 (en) * | 2004-08-17 | 2016-05-11 | Zarbaña Digital Fund LLC | Techniques for delivering personalized content with a real-time routing network |
EP1779636B1 (en) * | 2004-08-17 | 2015-05-27 | Shaw Parsing LLC | Techniques for upstream failure detection and failure recovery |
JP2008510259A (ja) | 2004-08-17 | 2008-04-03 | ショー パーシング リミティド ライアビリティ カンパニー | モジュラー型のイベントドリブン処理 |
US20070250626A1 (en) * | 2006-04-21 | 2007-10-25 | Electronic Data Systems Corporation | System and method for uniform disaster recovery system access |
US20080090555A1 (en) * | 2006-10-17 | 2008-04-17 | Patel Pulin R | Managing Faults and Filters in Providing Foreign Services |
US8984326B2 (en) * | 2007-10-31 | 2015-03-17 | Hewlett-Packard Development Company, L.P. | Testing disaster recovery elements |
US8171111B1 (en) * | 2008-08-07 | 2012-05-01 | United Services Automobile Association (Usaa) | Systems and methods for non-specific address routing |
US8706878B1 (en) | 2008-08-21 | 2014-04-22 | United Services Automobile Association | Preferential loading in data centers |
CN104811486B (zh) * | 2009-06-19 | 2019-06-14 | 日本技术贸易株式会社 | 内容管理装置和内容管理方法 |
US9300525B2 (en) * | 2010-07-02 | 2016-03-29 | At&T Intellectual Property I, L.P. | Method and system to identify a source of signal impairment |
KR101064143B1 (ko) * | 2010-08-20 | 2011-09-15 | 주식회사 파수닷컴 | Drm 환경에서의 클립보드 보호 시스템 및 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체 |
US8738736B2 (en) * | 2010-11-23 | 2014-05-27 | Edgecast Networks, Inc. | Scalable content streaming system with server-side archiving |
CN104980333B (zh) * | 2014-04-14 | 2018-03-27 | 纬创资通股份有限公司 | Pushlet即时通信方法及平台 |
CN104168269B (zh) * | 2014-07-24 | 2016-05-04 | 深圳市腾讯计算机系统有限公司 | 安全连接建立方法、装置及系统 |
US9967309B2 (en) * | 2014-10-06 | 2018-05-08 | Microsoft Technology Licensing, Llc | Dynamic loading of routes in a single-page application |
CN107291575B (zh) * | 2016-03-31 | 2020-10-16 | 阿里巴巴集团控股有限公司 | 一种数据中心故障时的处理方法和设备 |
CN107360240A (zh) * | 2017-07-20 | 2017-11-17 | 广东小天才科技有限公司 | 一种数据更新方法及系统 |
EP3709198B1 (en) * | 2017-11-09 | 2023-09-27 | Mitsubishi Electric Corporation | Information processing device and information processing method |
US10765952B2 (en) | 2018-09-21 | 2020-09-08 | Sony Interactive Entertainment LLC | System-level multiplayer matchmaking |
US10695671B2 (en) | 2018-09-28 | 2020-06-30 | Sony Interactive Entertainment LLC | Establishing and managing multiplayer sessions |
US11570073B1 (en) * | 2019-11-21 | 2023-01-31 | Juniper Networks, Inc. | Service status notification |
Family Cites Families (112)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5230048A (en) | 1986-09-03 | 1993-07-20 | Wang Laboratories, Inc. | Data processing system with tree and list data structure |
US5535335A (en) | 1992-12-22 | 1996-07-09 | International Business Machines Corporation | Method and system for reporting the status of an aggregate resource residing in a network of interconnected real resources |
FR2702579B1 (fr) | 1993-03-12 | 1995-05-24 | Bull Sa | Dispositif de communication entre au moins un client et au moins un serveur, procédé d'utilisation du dispositif et utilisation du dispositif. |
US6052447A (en) | 1993-05-28 | 2000-04-18 | Sprint Communications Company L.P. | Method and apparatus for aggregating customer information for a telecommunications system |
US5974457A (en) | 1993-12-23 | 1999-10-26 | International Business Machines Corporation | Intelligent realtime monitoring of data traffic |
US5692193A (en) | 1994-03-31 | 1997-11-25 | Nec Research Institute, Inc. | Software architecture for control of highly parallel computer systems |
US6769009B1 (en) | 1994-05-31 | 2004-07-27 | Richard R. Reisman | Method and system for selecting a personalized set of information channels |
US6460036B1 (en) | 1994-11-29 | 2002-10-01 | Pinpoint Incorporated | System and method for providing customized electronic newspapers and target advertisements |
US5758257A (en) | 1994-11-29 | 1998-05-26 | Herz; Frederick | System and method for scheduling broadcast of and access to video programs and other data using customer profiles |
US5706516A (en) | 1995-01-23 | 1998-01-06 | International Business Machines Corporation | System for communicating messages among agent processes |
US5819284A (en) | 1995-03-24 | 1998-10-06 | At&T Corp. | Personalized real time information display as a portion of a screen saver |
US6240451B1 (en) | 1995-05-25 | 2001-05-29 | Punch Networks Corporation | Method and apparatus for automatically disseminating information over a network |
US5740549A (en) | 1995-06-12 | 1998-04-14 | Pointcast, Inc. | Information and advertising distribution system and method |
US5909427A (en) | 1995-07-19 | 1999-06-01 | Fujitsu Network Communications, Inc. | Redundant switch system and method of operation |
US5878420A (en) | 1995-08-31 | 1999-03-02 | Compuware Corporation | Network monitoring and management system |
US6029175A (en) | 1995-10-26 | 2000-02-22 | Teknowledge Corporation | Automatic retrieval of changed files by a network software agent |
JPH11514764A (ja) | 1995-10-31 | 1999-12-14 | エス.エム. ハーツ,フレデリック | 所望のオブジェクトのカスタム化された電子識別のためのシステム |
US5938733A (en) | 1996-03-08 | 1999-08-17 | International Business Machines Corporation | Object oriented representation of network requests in a client server model |
US5964839A (en) | 1996-03-29 | 1999-10-12 | At&T Corp | System and method for monitoring information flow and performing data collection |
US6018619A (en) | 1996-05-24 | 2000-01-25 | Microsoft Corporation | Method, system and apparatus for client-side usage tracking of information server systems |
US5822543A (en) | 1996-07-08 | 1998-10-13 | International Business Machines Corporation | Gathering data handling statistics in non-synchronous data communication networks |
US7249037B2 (en) | 1996-09-09 | 2007-07-24 | Bancorp Services L.L.P. | System for managing a stable value protected investment plan |
US5886643A (en) | 1996-09-17 | 1999-03-23 | Concord Communications Incorporated | Method and apparatus for discovering network topology |
US6055493A (en) | 1997-01-29 | 2000-04-25 | Infovista S.A. | Performance measurement and service quality monitoring system and process for an information system |
US6578077B1 (en) | 1997-05-27 | 2003-06-10 | Novell, Inc. | Traffic monitoring tool for bandwidth management |
JP3932462B2 (ja) | 1997-05-27 | 2007-06-20 | ソニー株式会社 | クライアント装置、画像表示制御方法、共有仮想空間提供装置および方法、並びに記録媒体 |
JP3799134B2 (ja) | 1997-05-28 | 2006-07-19 | ソニー株式会社 | システムおよび通知方法 |
US6490610B1 (en) * | 1997-05-30 | 2002-12-03 | Oracle Corporation | Automatic failover for clients accessing a resource through a server |
US5983227A (en) | 1997-06-12 | 1999-11-09 | Yahoo, Inc. | Dynamic page generator |
US6233600B1 (en) | 1997-07-15 | 2001-05-15 | Eroom Technology, Inc. | Method and system for providing a networked collaborative work environment |
US6173406B1 (en) | 1997-07-15 | 2001-01-09 | Microsoft Corporation | Authentication systems, methods, and computer program products |
US6112240A (en) | 1997-09-03 | 2000-08-29 | International Business Machines Corporation | Web site client information tracker |
GB2344265B (en) | 1997-11-20 | 2003-07-16 | Xacct Technologies Inc | Network accounting and billing system and method |
US6324587B1 (en) | 1997-12-23 | 2001-11-27 | Microsoft Corporation | Method, computer program product, and data structure for publishing a data object over a store and forward transport |
US6449638B1 (en) | 1998-01-07 | 2002-09-10 | Microsoft Corporation | Channel definition architecture extension |
US6094681A (en) | 1998-03-31 | 2000-07-25 | Siemens Information And Communication Networks, Inc. | Apparatus and method for automated event notification |
US6138158A (en) | 1998-04-30 | 2000-10-24 | Phone.Com, Inc. | Method and system for pushing and pulling data using wideband and narrowband transport systems |
US6363421B2 (en) | 1998-05-31 | 2002-03-26 | Lucent Technologies, Inc. | Method for computer internet remote management of a telecommunication network element |
JP4634547B2 (ja) * | 1998-06-30 | 2011-02-16 | 株式会社東芝 | リアルタイム情報配信方法 |
US6108703A (en) | 1998-07-14 | 2000-08-22 | Massachusetts Institute Of Technology | Global hosting system |
US6314459B1 (en) | 1998-08-13 | 2001-11-06 | U.S. Philips Corporation | Home-network autoconfiguration |
US6560611B1 (en) | 1998-10-13 | 2003-05-06 | Netarx, Inc. | Method, apparatus, and article of manufacture for a network monitoring system |
US6308209B1 (en) | 1998-10-22 | 2001-10-23 | Electronic Data Systems Corporation | Method and system for measuring usage of a computer network by a network user |
ATE273538T1 (de) | 1998-10-28 | 2004-08-15 | Verticalone Corp | Gerät und verfahren für automatische aggregation und abgabe von elektronischer persönlicher information oder daten |
US6691165B1 (en) | 1998-11-10 | 2004-02-10 | Rainfinity, Inc. | Distributed server cluster for controlling network traffic |
US6366926B1 (en) | 1998-12-31 | 2002-04-02 | Computer Associates Think, Inc. | Method and apparatus for the dynamic filtering and routing of events |
US6567411B2 (en) | 1998-12-31 | 2003-05-20 | Qwest Communications International, Inc. | Method and apparatus for continuous narrowcast of individualized information over a data network |
US6446257B1 (en) | 1999-02-04 | 2002-09-03 | Hewlett-Packard Company | Method and apparatus for pre-allocation of system resources to facilitate garbage collection |
US6970924B1 (en) | 1999-02-23 | 2005-11-29 | Visual Networks, Inc. | Methods and apparatus for monitoring end-user experience in a distributed network |
US6408282B1 (en) | 1999-03-01 | 2002-06-18 | Wit Capital Corp. | System and method for conducting securities transactions over a computer network |
US20020013852A1 (en) | 2000-03-03 | 2002-01-31 | Craig Janik | System for providing content, management, and interactivity for thin client devices |
US6609138B1 (en) | 1999-03-08 | 2003-08-19 | Sun Microsystems, Inc. | E-mail list archiving and management |
US6751663B1 (en) | 1999-03-25 | 2004-06-15 | Nortel Networks Limited | System wide flow aggregation process for aggregating network activity records |
US6539427B1 (en) | 1999-06-29 | 2003-03-25 | Cisco Technology, Inc. | Dynamically adaptive network element in a feedback-based data network |
US6829642B1 (en) | 1999-07-01 | 2004-12-07 | International Business Machines Corporation | Method and system for automatically and optimally selecting a TN3270 server in an internet protocol network |
US6789115B1 (en) | 1999-07-09 | 2004-09-07 | Merrill Lynch & Company | System for collecting, analyzing, and reporting high volume multi-web server usage |
WO2001018688A2 (en) | 1999-09-10 | 2001-03-15 | Avantgo, Inc. | System, method, and computer program product for interactive interfacing with mobile devices |
US6798867B1 (en) | 1999-09-13 | 2004-09-28 | Microstrategy, Incorporated | System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services, with real-time database queries |
US7293074B1 (en) | 1999-09-20 | 2007-11-06 | Fusionone, Inc. | Performing server actions using template with field that can be completed without obtaining information from a user |
US6792458B1 (en) | 1999-10-04 | 2004-09-14 | Urchin Software Corporation | System and method for monitoring and analyzing internet traffic |
US6484143B1 (en) | 1999-11-22 | 2002-11-19 | Speedera Networks, Inc. | User device and system for traffic management and content distribution over a world wide area network |
US20020010757A1 (en) | 1999-12-03 | 2002-01-24 | Joel Granik | Method and apparatus for replacement of on-line advertisements |
US6418448B1 (en) | 1999-12-06 | 2002-07-09 | Shyam Sundar Sarkar | Method and apparatus for processing markup language specifications for data and metadata used inside multiple related internet documents to navigate, query and manipulate information from a plurality of object relational databases over the web |
US6687729B1 (en) | 1999-12-20 | 2004-02-03 | Unisys Corporation | System and method for providing a pool of reusable threads for performing queued items of work |
US6606643B1 (en) * | 2000-01-04 | 2003-08-12 | International Business Machines Corporation | Method of automatically selecting a mirror server for web-based client-host interaction |
US7454457B1 (en) * | 2000-02-07 | 2008-11-18 | Parallel Networks, Llc | Method and apparatus for dynamic data flow control using prioritization of data requests |
US6871346B1 (en) | 2000-02-11 | 2005-03-22 | Microsoft Corp. | Back-end decoupled management model and management system utilizing same |
US7392281B1 (en) | 2000-02-25 | 2008-06-24 | Navic Systems, Inc. | System and method for providing guaranteed delivery of messages to embedded devices over a data network |
WO2001075629A1 (en) | 2000-03-31 | 2001-10-11 | Neomedia Technologies, Inc. | System for accessing internet via wireless device using linkage url bar-code |
US7209959B1 (en) | 2000-04-04 | 2007-04-24 | Wk Networks, Inc. | Apparatus, system, and method for communicating to a network through a virtual domain providing anonymity to a client communicating on the network |
US6654804B1 (en) | 2000-04-27 | 2003-11-25 | Micron Electronics, Inc. | Method and apparatus for automatic dial-up dial-down web hosting |
CN100379208C (zh) | 2000-05-05 | 2008-04-02 | 诺玛迪克斯公司 | 网络使用情况监视设备和相关方法 |
US6918084B1 (en) | 2000-05-09 | 2005-07-12 | Sun Microsystems, Inc. | Spawning new repository spaces using information provided in advertisement schema messages |
US7577834B1 (en) | 2000-05-09 | 2009-08-18 | Sun Microsystems, Inc. | Message authentication using message gates in a distributed computing environment |
US6769010B1 (en) | 2000-05-11 | 2004-07-27 | Howzone.Com Inc. | Apparatus for distributing information over a network-based environment, method of distributing information to users, and method for associating content objects with a database wherein the content objects are accessible over a network communication medium by a user |
US6658652B1 (en) | 2000-06-08 | 2003-12-02 | International Business Machines Corporation | Method and system for shadow heap memory leak detection and other heap analysis in an object-oriented environment during real-time trace processing |
US20030041110A1 (en) * | 2000-07-28 | 2003-02-27 | Storymail, Inc. | System, Method and Structure for generating and using a compressed digital certificate |
US7139844B2 (en) | 2000-08-04 | 2006-11-21 | Goldman Sachs & Co. | Method and system for processing financial data objects carried on broadcast data streams and delivering information to subscribing clients |
US6944662B2 (en) | 2000-08-04 | 2005-09-13 | Vinestone Corporation | System and methods providing automatic distributed data retrieval, analysis and reporting services |
US20020024536A1 (en) | 2000-08-25 | 2002-02-28 | Michal Kahan | Method and apparatus for information aggregation and personalized display of the aggregated information |
US7752214B2 (en) | 2000-09-01 | 2010-07-06 | Op40, Inc. | Extended environment data structure for distributed digital assets over a multi-tier computer network |
US7107326B1 (en) | 2000-10-13 | 2006-09-12 | 3Com Corporation | Method and system for integrating IP address reservations with policy provisioning |
US20020087630A1 (en) | 2000-10-20 | 2002-07-04 | Jonathan Wu | Enhanced information and presence service |
US7249197B1 (en) | 2000-10-20 | 2007-07-24 | Nortel Networks Limited | System, apparatus and method for personalising web content |
US20020073165A1 (en) | 2000-10-23 | 2002-06-13 | Pingpong Technology, Inc. | Real-time context-sensitive customization of user-requested content |
US6970939B2 (en) | 2000-10-26 | 2005-11-29 | Intel Corporation | Method and apparatus for large payload distribution in a network |
US6725446B1 (en) | 2000-11-01 | 2004-04-20 | Digital Integrator, Inc. | Information distribution method and system |
JP2002236626A (ja) * | 2000-12-06 | 2002-08-23 | Site Rock Corp | サイト監視方法、および、サイト監視システム |
US7043525B2 (en) | 2000-12-18 | 2006-05-09 | Bang Networks, Inc. | Techniques for updating live objects at clients using a dynamic routing network |
US7127720B2 (en) | 2000-12-18 | 2006-10-24 | Charles E Cano | Storing state in a dynamic content routing network |
US7051070B2 (en) * | 2000-12-18 | 2006-05-23 | Timothy Tuttle | Asynchronous messaging using a node specialization architecture in the dynamic routing network |
US8505024B2 (en) | 2000-12-18 | 2013-08-06 | Shaw Parsing Llc | Storing state in a dynamic content routing network |
US20020078251A1 (en) | 2000-12-18 | 2002-06-20 | Philips Electronics North America Corp. | Self-determining command path architecture |
US7177917B2 (en) | 2000-12-27 | 2007-02-13 | Softwired Ag | Scaleable message system |
US6836886B2 (en) | 2001-03-19 | 2004-12-28 | Autodesk, Inc. | Method and apparatus for delivering electronic information |
JP2002343578A (ja) * | 2001-05-10 | 2002-11-29 | Nec Corp | 発光体、発光素子、および発光表示装置 |
IL161389A0 (en) | 2001-10-15 | 2004-09-27 | Semandex Networks Inc | Dynamic content based multicast routing in mobile networks |
US7970876B2 (en) | 2002-07-23 | 2011-06-28 | Avaya Communication Israel Ltd. | Global server load balancer |
EP1387300A3 (en) * | 2002-07-31 | 2006-05-24 | Hewlett-Packard Development Company, L.P. | Establishment of network connections |
US7207043B2 (en) | 2002-12-31 | 2007-04-17 | International Business Machines Corporation | Programmatic response-time based workload distribution techniques |
JP2004234123A (ja) | 2003-01-28 | 2004-08-19 | Fujitsu Ltd | マルチスレッドコンピュータ |
US7159034B1 (en) * | 2003-03-03 | 2007-01-02 | Novell, Inc. | System broadcasting ARP request from a server using a different IP address to balance incoming traffic load from clients via different network interface cards |
US7467390B2 (en) | 2003-04-01 | 2008-12-16 | International Business Machines Corporation | Enhanced staged event-driven architecture |
US7350213B2 (en) | 2003-06-19 | 2008-03-25 | Sap Ag | System and method for dynamic selection of stateless/stateful software components |
US8549078B2 (en) | 2003-08-08 | 2013-10-01 | Teamon Systems, Inc. | Communications system providing load balancing based upon connectivity disruptions and related methods |
GB0325691D0 (en) * | 2003-11-04 | 2003-12-10 | Dotworlds Ltd | Resolution of network names |
US20050125557A1 (en) * | 2003-12-08 | 2005-06-09 | Dell Products L.P. | Transaction transfer during a failover of a cluster controller |
EP1628278A1 (en) * | 2004-08-16 | 2006-02-22 | Alcatel | Method and system for detecting available parking places |
EP1779636B1 (en) | 2004-08-17 | 2015-05-27 | Shaw Parsing LLC | Techniques for upstream failure detection and failure recovery |
EP1784963B1 (en) | 2004-08-17 | 2016-05-11 | Zarbaña Digital Fund LLC | Techniques for delivering personalized content with a real-time routing network |
JP2008510259A (ja) | 2004-08-17 | 2008-04-03 | ショー パーシング リミティド ライアビリティ カンパニー | モジュラー型のイベントドリブン処理 |
AU2005298001B2 (en) * | 2004-10-26 | 2008-11-20 | Olympus Corporation | Endoscope shape detection device |
-
2005
- 2005-08-15 EP EP05786463.9A patent/EP1779636B1/en active Active
- 2005-08-15 WO PCT/US2005/029162 patent/WO2006023508A1/en active Application Filing
- 2005-08-15 JP JP2007527956A patent/JP4668271B2/ja active Active
- 2005-08-15 KR KR1020077006144A patent/KR101164698B1/ko active IP Right Grant
- 2005-08-15 CN CNB2005800273830A patent/CN100527086C/zh active Active
- 2005-08-15 US US11/205,237 patent/US9043635B2/en active Active
- 2005-08-15 CN CN2005800274405A patent/CN101189852B/zh active Active
- 2005-08-15 CN CN200580027962.5A patent/CN101057476B/zh active Active
-
2007
- 2007-03-16 KR KR20077006107A patent/KR101059904B1/ko active IP Right Grant
- 2007-03-16 KR KR20077006143A patent/KR101049501B1/ko active IP Right Grant
Non-Patent Citations (2)
Title |
---|
An Architecture for Highly Concurrent,Well-ConditionedInternet Services. MATTHEW DAVID WELSH.A dissertation submitted in partial satisfaction of the requirements for the degree of Doctor of Philosophy in the GRADUATE DIVISION of the UNIVERSITY of CALIFORNIA at BERKELEY. 2002 |
An Architecture for Highly Concurrent,Well-ConditionedInternet Services. MATTHEW DAVID WELSH.A dissertation submitted in partial satisfaction of the requirements for the degree of Doctor of Philosophy in the GRADUATE DIVISION of the UNIVERSITY of CALIFORNIA at BERKELEY. 2002 * |
Also Published As
Publication number | Publication date |
---|---|
JP2008510436A (ja) | 2008-04-03 |
CN101189852B (zh) | 2012-10-03 |
CN101189852A (zh) | 2008-05-28 |
CN101057476A (zh) | 2007-10-17 |
US9043635B2 (en) | 2015-05-26 |
WO2006023508A1 (en) | 2006-03-02 |
KR101164698B1 (ko) | 2012-07-11 |
CN101057476B (zh) | 2014-01-08 |
US20060075279A1 (en) | 2006-04-06 |
KR20070083566A (ko) | 2007-08-24 |
EP1779636A1 (en) | 2007-05-02 |
KR101059904B1 (ko) | 2011-08-29 |
KR20070057838A (ko) | 2007-06-07 |
EP1779636B1 (en) | 2015-05-27 |
JP4668271B2 (ja) | 2011-04-13 |
CN101040261A (zh) | 2007-09-19 |
KR101049501B1 (ko) | 2011-07-15 |
KR20070095273A (ko) | 2007-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100527086C (zh) | 模块化事件驱动处理 | |
US8356305B2 (en) | Thread boundaries comprising functionalities for an event by a single thread and tasks associated with the thread boundaries configured in a defined relationship | |
CN110636103B (zh) | 一种多异构集群作业统一调度方法及api接口 | |
JP3965185B2 (ja) | ウェブ・サービス呼び出しをサポートするスケジューラ | |
US10992739B2 (en) | Integrated application-aware load balancer incorporated within a distributed-service-application-controlled distributed computer system | |
US10320891B2 (en) | Node selection for message redistribution in an integrated application-aware load balancer incorporated within a distributed-service-application-controlled distributed computer system | |
US7801944B2 (en) | Distributed computing using agent embedded in content unrelated to agents processing function | |
KR100600959B1 (ko) | 분산 컴퓨팅 환경에서 집합화된 서비스의 공급 | |
US8621031B2 (en) | Method and apparatus using connection pools in communication networks | |
Menascé et al. | Understanding Cloud Computing: Experimentation and Capacity Planning. | |
US11507417B2 (en) | Job scheduling based on job execution history | |
US20080177883A1 (en) | Web server for managing session and method thereof | |
Venticinque et al. | Agents based cloud computing interface for resource provisioning and management | |
CN106131213A (zh) | 一种服务管理方法和系统 | |
US11665229B1 (en) | Allocation of server resources in remote-access computing environments | |
TW202131171A (zh) | 程式設計平台的使用者代碼運行方法、電子設備和電腦可讀儲存介質 | |
CN113703997A (zh) | 集成多种消息代理的双向异步通信中间件系统及实现方法 | |
US9088480B2 (en) | Techniques for auditing and controlling network services | |
CN112416522B (zh) | 一种虚拟机控制方法及其装置 | |
JP4906870B2 (ja) | サーバ・サイド動的ページの実行のための方法、システム、およびコンピュータ・プログラム | |
US10896077B2 (en) | Messaging abstraction layer for integration with message oriented middleware platforms | |
KR101962409B1 (ko) | 메시지 큐를 이용한 프로세스 간 통신을 구현하는 전력시스템 | |
CN115516842A (zh) | 编排代理服务 | |
Hernández et al. | A reliable and scalable service bus based on Amazon SQS | |
CN106375173A (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 |