-
公开(公告)号:US20100057933A1
公开(公告)日:2010-03-04
申请号:US12203826
申请日:2008-09-03
申请人: Nicholas A. Allen , Stefan R. Batres , Justin D. Brown , Edmund SV. Pinto , Karthik Raman , John A. Taylor , Kenneth D. Wolf
发明人: Nicholas A. Allen , Stefan R. Batres , Justin D. Brown , Edmund SV. Pinto , Karthik Raman , John A. Taylor , Kenneth D. Wolf
IPC分类号: G06F15/173
CPC分类号: H04L67/327 , H04L45/30 , H04L45/306
摘要: Routing messages using unreliable routing data. A method includes receiving a message from a computer readable communication medium. Characteristic properties of the message are calculated so as to determine state requirements for a service instance at a service for processing of the message. An attempt is made to acquire an appropriate service instance that satisfies the state requirements for processing the message. A determination is made that attempting to acquire an appropriate service instance that satisfies the state requirements for processing the message is not successful at acquiring an appropriate service instance. As a result, the message is redirected using an unreliable local cache of routing information and without coordination between processing nodes.
摘要翻译: 使用不可靠的路由数据路由消息。 一种方法包括从计算机可读通信介质接收消息。 计算消息的特征属性,以便确定服务处理消息的服务实例的状态要求。 尝试获取满足处理消息的状态要求的适当服务实例。 确定在获取适当的服务实例时尝试获取满足处理该消息的状态要求的适当服务实例是不成功的。 结果,使用路由信息的不可靠本地缓存重定向消息,并且在处理节点之间没有协调。
-
公开(公告)号:US08397099B2
公开(公告)日:2013-03-12
申请号:US12879542
申请日:2010-09-10
申请人: Nicholas A. Allen , Justin D. Brown
发明人: Nicholas A. Allen , Justin D. Brown
CPC分类号: G06F1/08 , G06F1/04 , G06F1/3203 , G06F1/324 , Y02D10/126
摘要: The present invention extends to methods, systems, and computer program products for using pulses to control work ingress. Generally, embodiments of the invention use a variable-speed clock for accepting work for lower-priority services. A clock rate is controlled by a load monitor. The load monitor periodically collects sensor measurements of resources available after allocations by higher-priority services. Based on the sensor measurements, the load monitor adjusts the clock speed up or down (i.e., depending on the amount of resources available after allocations by higher-priority services). At the boundary of the lower-priority service (e.g., where work enters the system), work requests are enqueued to be associated with a future pulse of the clock. Work is accepted or rejected based on a determination of whether the work request can be allocated a clock pulse within a defined period of time.
摘要翻译: 本发明扩展到用于使用脉冲来控制工作进入的方法,系统和计算机程序产品。 通常,本发明的实施例使用可变速时钟来接受低优先级服务的工作。 时钟频率由负载监视器控制。 负载监视器定期收集更高优先级服务分配后可用资源的传感器测量值。 基于传感器测量,负载监视器调节时钟速度上升或下降(即,取决于高优先级服务分配后可用的资源量)。 在较低优先级服务的边界(例如,工作进入系统的地方),工作请求被排入与时钟的未来脉冲相关联。 基于确定工作请求是否可以在定义的时间段内被分配时钟脉冲来接受或拒绝工作。
-
公开(公告)号:US08296780B2
公开(公告)日:2012-10-23
申请号:US12729836
申请日:2010-03-23
申请人: Nicholas A. Allen , Justin D. Brown
发明人: Nicholas A. Allen , Justin D. Brown
CPC分类号: G06F9/50 , G06F9/5022
摘要: The present invention extends to methods, systems, and computer program products for reducing persistence commands. An application host sends a persistence command to a persistence provider for processing. If the persistence provider recognizes and is able to carry out the persistence command, the persistence provider incorporates the semantics of the persistence command into the command implementation strategy; otherwise, the persistence provider employs a command reduction processor. The process of executing or reducing persistence commands is repeated until the persistence provider has produced and completed execution of a command implementation strategy equivalent to the original persistence command or until an unprocessable persistence command is reached for which no further reductions are possible. A command reduction processor can provide alternative persistence commands or an algorithm of persistence commands with semantics equivalent to an originally received persistence command.
摘要翻译: 本发明扩展到用于减少持久性命令的方法,系统和计算机程序产品。 应用程序主机向持久性提供程序发送持久性命令进行处理。 如果持久性提供者识别并且能够执行持久性命令,持久性提供者将持久性命令的语义结合到命令实现策略中; 否则,持久性提供者使用命令简化处理器。 重复执行或减少持久性命令的过程,直到持久性提供者已经产生并完成了与原始持久性命令相当的命令实现策略的执行,或者直到达到不可进一步减少的不可处理的持久性命令为止。 命令简化处理器可以提供替代的持久性命令或具有相当于原始接收的持久性命令的语义的持久性命令的算法。
-
公开(公告)号:US20100319006A1
公开(公告)日:2010-12-16
申请号:US12485771
申请日:2009-06-16
申请人: Nicholas A. Allen , Justin D. Brown
发明人: Nicholas A. Allen , Justin D. Brown
IPC分类号: G06F9/44
CPC分类号: G06F11/1438
摘要: The present invention extends to methods, systems, and computer program products for persisting application state. Through decoupling an application host from an instance store, the application host can be used with many different persistence stores and persistence administration tools. Further, a given persistence store can be used with many different application hosts and application host extensions. Accordingly, applications can benefit from periodically persisting work to any of a variety of instance stores even if the applications are changed or are not natively configured for use with a particular instance store. Using persistence providers an application host can also more easily coordinate the persisted state with runtime state to ensure that a consistent checkpoint is created. Persistence providers can also be used to compensate for application host extensions and persistence administration tools that add coordination requirements that cannot be predicted at the time that the application is originally developed.
摘要翻译: 本发明扩展到用于持久应用状态的方法,系统和计算机程序产品。 通过将应用程序主机与实例存储区分离,应用程序主机可以与许多不同的持久性存储和持久性管理工具一起使用。 此外,给定的持久性存储可以与许多不同的应用程序主机和应用程序主机扩展一起使用。 因此,即使应用程序被更改或者不是本地配置为与特定实例存储一起使用,应用程序可以受益于周期性地持续工作到各种实例存储中的任何一个。 使用持久性提供程序,应用程序主机还可以更容易地将持久状态与运行时状态进行协调,以确保创建一致的检查点。 持久性提供者也可用于补偿应用程序主机扩展和持久性管理工具,这些工具添加了在应用程序最初开发时无法预测的协调需求。
-
公开(公告)号:US20100150031A1
公开(公告)日:2010-06-17
申请号:US12336233
申请日:2008-12-16
申请人: Nicholas A. Allen , Stefan R. Batres , Philbert L. Henning, II , Margaret J. Lye , Evgeny Osovetsky
发明人: Nicholas A. Allen , Stefan R. Batres , Philbert L. Henning, II , Margaret J. Lye , Evgeny Osovetsky
IPC分类号: H04L5/14
摘要: The present invention extends to methods, systems, and computer program products for multiplexed communication for duplex applications. Embodiments of the invention facilitate a multiplexed variant of long polling over a request/reply communication medium that (potentially significantly) reduces the resources utilized when exchanging messages. The lightweight address generation mechanism facilitates polling and routing for a pool of many clients and many services while minimizing allocated resources to each established session. Further, the benefits of a lower latency bidirectional communication medium between clients and services can be utilized.
摘要翻译: 本发明扩展到用于双工应用的多路复用通信的方法,系统和计算机程序产品。 本发明的实施例有助于在请求/应答通信介质上进行长轮询的多路复用变体(潜在地显着地)减少了在交换消息时所利用的资源。 轻量地址生成机制有助于为许多客户端的池和许多服务的池进行轮询和路由,同时将分配的资源最小化到每个建立的会话。 此外,可以利用在客户端和服务之间的较低延迟的双向通信介质的优点。
-
公开(公告)号:US10834167B1
公开(公告)日:2020-11-10
申请号:US13151915
申请日:2011-06-02
摘要: In some embodiments, a system includes a proxy and an application server. The proxy is operable to intercept a request to download application content from an application server, insert an address of a navigation service into the request to yield an augmented request, and transmit the augmented request to the application server. The application server is operable to receive the augmented request, generate an application in response to the augmented request, the application comprising the application content, a navigation placeholder, and code to access the navigation service at the address, the navigation placeholder representing a portion of the application where the navigation service may be inserted, and transmit the application for receipt by the client.
-
公开(公告)号:US08868532B2
公开(公告)日:2014-10-21
申请号:US12189020
申请日:2008-08-08
申请人: Edmund Samuel Victor Pinto , Kenneth D. Wolf , Nicholas A. Allen , Stefan Batres , Justin David Brown
发明人: Edmund Samuel Victor Pinto , Kenneth D. Wolf , Nicholas A. Allen , Stefan Batres , Justin David Brown
摘要: A rendezvous abstraction that is used to correlate messages within message exchange. The rendezvous abstraction may be instantiated to correlate messages regardless of the type of message exchange pattern, and regardless of the underlying protocols used to communication message. Messages exchanges of primitive protocols are modeled as unilateral message exchanges. The rendezvous abstraction is used to correlate messages of the unilateral message exchange, and serves as an abstraction that is used to represented the rendezvous point where the message of the message exchange pattern are handled. Accordingly, instead of focusing on the protocol-specific mechanisms for correlation, if even available, the application author may simply work with a standard rendezvous abstraction.
摘要翻译: 用于在消息交换中关联消息的会合抽象。 无论消息交换模式的类型如何,并且无论用于通信消息的底层协议如何,都可以实例化会合抽象以关联消息。 原始协议的消息交换被建模为单向消息交换。 会合抽象用于将单向消息交换的消息相关联,并且用作用于表示消息交换模式的消息被处理的会合点的抽象。 因此,不是专注于协议特定的相关机制,如果甚至可用,应用程序作者可以简单地使用标准会合抽象。
-
公开(公告)号:US08589893B1
公开(公告)日:2013-11-19
申请号:US13069060
申请日:2011-03-22
申请人: Nicholas A. Allen
发明人: Nicholas A. Allen
IPC分类号: G06F9/44
CPC分类号: G06F8/65 , G06F8/75 , G06F11/3089 , G06F2201/865
摘要: In certain embodiments, execution traces for a program definition of an application are accessed. Probability information for components of the program definition is computed based at least in part upon the execution traces. Program definition slices are determined based at least in part upon the probability information. The program definition slices comprises a baseline slice and at least one supplemental slice. The baseline slice is communicated to a client in response to a request for the application. At least one supplemental slice is communicated to the client to allow the patching of the baseline slice with the at least one supplemental slice to recreate at least a portion of the program definition.
摘要翻译: 在某些实施例中,访问用于应用程序的程序定义的执行跟踪。 至少部分地基于执行轨迹来计算程序定义的组件的概率信息。 至少部分地基于概率信息来确定节目定义片段。 程序定义切片包括基线切片和至少一个补充切片。 响应于对应用的请求,将基线切片传送给客户端。 将至少一个辅助片段传送到客户端以允许使用至少一个补充片段修补基准片段来重新创建节目定义的至少一部分。
-
公开(公告)号:US08514749B2
公开(公告)日:2013-08-20
申请号:US12721356
申请日:2010-03-10
CPC分类号: H04L67/1002 , H04L67/1014
摘要: The present invention extends to methods, systems, and computer program products for routing requests for duplex applications. Embodiments of the invention provide a multi-machine scalability mechanism for duplex messages patterns based on a polling mechanism. Client requests and polls can be distributed to service instances running within a cluster of machines by a session-unaware load balancer. Messages to and from a given client can be accessed by any service instance in the cluster service instance, which allows capacity scale-out and seamless failover between service instances. A coordinated inbound message store is used to affinitize application requests to a particular service instance. A coordinated outbound message store is used to route application responses from the machine running the application to the machine where a polling request arrived. Further, the lifetime of the service instance is decoupled from the inbound or outbound message stores, allowing the client-server conversation to potentially span many instances of the service.
摘要翻译: 本发明扩展到用于路由双工应用请求的方法,系统和计算机程序产品。 本发明的实施例提供了一种基于轮询机制的双机消息模式的多机可扩展性机制。 客户端请求和轮询可以由会话不知道的负载均衡器分发到在机群集中运行的服务实例。 来自或来自给定客户端的消息可以由集群服务实例中的任何服务实例访问,这允许服务实例之间的容量展开和无缝故障转移。 协调的入站消息存储用于将应用程序请求联系到特定的服务实例。 协调的出站邮件存储区用于将运行应用程序的机器的应用程序响应路由到轮询请求到达的机器。 此外,服务实例的生命周期与入站或出站消息存储区分离,从而允许客户端 - 服务器对话潜在地跨越服务的许多实例。
-
公开(公告)号:US20120066538A1
公开(公告)日:2012-03-15
申请号:US12879542
申请日:2010-09-10
申请人: Nicholas A. Allen , Justin D. Brown
发明人: Nicholas A. Allen , Justin D. Brown
IPC分类号: G06F1/04
CPC分类号: G06F1/08 , G06F1/04 , G06F1/3203 , G06F1/324 , Y02D10/126
摘要: The present invention extends to methods, systems, and computer program products for using pulses to control work ingress. Generally, embodiments of the invention use a variable-speed clock for accepting work for lower-priority services. A clock rate is controlled by a load monitor. The load monitor periodically collects sensor measurements of resources available after allocations by higher-priority services. Based on the sensor measurements, the load monitor adjusts the clock speed up or down (i.e., depending on the amount of resources available after allocations by higher-priority services). At the boundary of the lower-priority service (e.g., where work enters the system), work requests are enqueued to be associated with a future pulse of the clock. Work is accepted or rejected based on a determination of whether the work request can be allocated a clock pulse within a defined period of time.
摘要翻译: 本发明扩展到用于使用脉冲来控制工作进入的方法,系统和计算机程序产品。 通常,本发明的实施例使用可变速时钟来接受低优先级服务的工作。 时钟频率由负载监视器控制。 负载监视器定期收集更高优先级服务分配后可用资源的传感器测量值。 基于传感器测量,负载监视器调节时钟速度上升或下降(即,取决于高优先级服务分配后可用的资源量)。 在较低优先级服务的边界(例如,工作进入系统的地方),工作请求被排入与时钟的未来脉冲相关联。 基于确定工作请求是否可以在定义的时间段内被分配时钟脉冲来接受或拒绝工作。
-
-
-
-
-
-
-
-
-