Patent ID: 8978041
Filing Date: 2015-03-10
Classification: G06F,H04L

Abstract:
1. In a computing environment, a method comprising: an act of assigning a plurality of service implementations to a service virtualization container that is configured to aggregate service functionality from the plurality of service implementations into an apparent service exhibiting the aggregated functionality, each service implementation having one or more corresponding service operations, the service operations each comprising computer executable instructions that when executed by a processor are capable of causing computer implemented tasks to be performed, the service virtualization container selecting at least some of the service operations from the service implementations to implement service operations of the service virtualization container; an act of assigning each message characteristic from a plurality of message characteristics to one or more of the selected service operations and to service implementations to which the selected service operations assigned to the message characteristic belong in one or more routing tables; an act of receiving a message at a service endpoint corresponding to the apparent service, which is different from the service endpoints of any of the service implementations; an act of determining one or more message characteristics from the received message and message delivery properties; an act of consulting the one or more routing tables to select a determined service operation based on the message characteristics; an act of examining pre-existing instance state that is associated with the message to determine if the pre-existing instance state is appropriate for a selected version of the determined service operation, wherein the pre-existing instance state corresponds to a session that had begun with a different version of the determined service operation prior to addition of the selected version of the determined service operation, and wherein the selected version of the determined service operation was introduced before completion of the session; when the pre-existing instance state is unsuitable for the selected version of the determined service operation, an act of migrating the pre-existing instance state to the different version of the determined service operation; an act of selecting a service implementation, based on the message characteristics in the one or more routing tables, to which the message should be dispatched to perform the determined service operation; and an act of routing the message to the selected service implementation.