摘要:
A system and method for publishing a network address on a computer network. A first node in a plurality of nodes may initiate a publish operation to publish a first instance of the network address. Initiating the publish operation may comprise the first node sending a publish message to one or more other nodes in the plurality of nodes. The publish message may be propagated from at least a subset of the nodes that receive the publish message from the first node to still other nodes in the plurality of nodes, which in turn may further propagate the publish message. Each node that receives the publish message from another node may create routing information useable to route messages to the first instance of the network address on the first node.
摘要:
In a distributed computing environment, a message gate may be the message endpoint for a client or service. A message gate may provide a secure message endpoint that sends and receives type-safe messages. Devices may have a gate factory (e.g. message endpoint constructor) that is trusted code on the device for generating gates based on XML message descriptions. In one embodiment, the gate factory may construct a gate from the XML schema of the service, a URI for the service, and an authentication credential. Access to some services may be unrestricted. For such services, a gate may be constructed without an authentication credential, saving the overhead of running an authentication service and incorporating an authentication credential. Gate construction may also be optimized for certain clients that do not desire to perform checking of messages against a service's XML schema. If verification is not desired, a client may avoid or may chose to avoid building (e.g. by a gate factory) some or all of the gate code that checks the messages against the XML schema. Also, the building of a gate may be made lightweight by appropriate reuse or sharing of pieces used to construct other gates. Devices may maintain a cache of gates to avoid constructing them each time the same service is run.
摘要:
Embodiments of a message conductor in a distributed computing environment are described. A message conductor may accept a data representation language schema that describes the ordering for messages that may be sent between a client and a service. This schema may specify user interface information. The schema may be parsed into an internal form and used to enforce message ordering. The conductor may prevent messages from being sent out of order. In some embodiments, a conductor may be linked to multiple gates. The message conductor may also provide a service interface that may interact with clients of the service to obtain all information to run a service, and then either display results of running the service or return information regarding the location of results. The service interface may be part of a message conductor or may be in addition to and work with the message conductor.
摘要:
A system and method supporting communication sessions for nodes in a network. A sender node may initiate a send operation to send a message to one or more receiver nodes. For each receiver node, the message may pass from the sender node to the receiver node via a path including a plurality of nodes. At each node through which the message passes, the node may store state information regarding the message. The state information may include information specifying a link via which the message was received. Each receiver node may issue one or more replies to the message. The replies from each receiver node may pass from the receiver node to the sender node via the same path by which the message reached the respective receiver node. This may be accomplished using the state information stored on each node in the path.
摘要:
A system and method for re-mapping location-independent addresses in a computer network. A first node may send a first message addressed to a location-independent address, where the first message comprises a request to host an instance of the location-independent address. A second node with which the location-independent address is associated may receive the first message, possibly after the first message was propagated through a path of intermediate nodes. The second node may send a response message to the first node, where the response message indicates whether the second node is granting permission to the first node to host an instance of the location-independent address. The response message may also specify whether the second node is giving up its own instance of the location-independent address.
摘要:
Various embodiments of a mechanism for a client to specify a display service to be used by a service for displaying data for the client in a distributed computing environment are described. A display service on or associated with the device on which the client resides that the client wishes to use to display the results of the service. When the client runs the service, the client may send a message to the service specifying the service advertisement of the client's display service. The service may then generate a message channel that allows it to send messages to the client's display service. Thus, when displaying results, the service invoked by the client becomes a client of the client's display service and sends its results, directly or by reference, for display to that display service.
摘要:
A service discovery protocol may allow clients in a distributed computing environment to search for services using flexible search criteria. A client may send a search message that may be formatted in a data representational language and may include search criteria. The search criteria may specify a service name or a service type or both a service name and a service type. The search criteria may be compared to advertisements for services within the distributed computing environment to find advertisements that match the search criteria. An advertisement may be a document in the data representation language that provides access information for a corresponding service. The client may receive one or more search response messages indicating one or more advertisements that match the search criteria. The client may obtain and advertisement for a located service and may use the advertisement to construct a message gate to communicate with the service according to messages defined by the advertisement.
摘要:
A system and method for performing goal-oriented storage management for a distributed data storage network. Storage management software may execute on each node to cause the distributed data storage network to converge toward a system-wide storage goal. In various embodiments, the system-wide storage goal may be defined to accomplish any of various kinds of optimizations or performance improvements for the system, such as balancing storage utilization, achieving appropriate data replication, increasing performance, increasing fault tolerance, etc.
摘要:
A system and method for efficiently accessing replicas of a storage object. A first node may perform a find operation to determine a plurality of nodes that each store a replica of a first storage object. For each node in the plurality of nodes, the first node may establish a direct connection to the node. The first node may then access the replicas of the first storage object using the respective direct connections to the plurality of nodes. In one embodiment, the nodes may be nodes in a peer-to-peer network. Establishing a direct connection to each storage object replica may enable the first node to communicate with each node in a single hop without having to pass messages via intermediate nodes in the peer-to-peer network.
摘要:
Embodiments of event message endpoints in a distributed computing environment are described. A set of event messages that may be generated by a service in the distributed computing environment may be described in a data representation language event message schema for the service. For each event message in the schema, the endpoint may subscribe as a consumer of the event. A service may send a message including a data representation language representation of the event to each event message endpoint subscribed to the event. The event message endpoint may extract the representation of the event from the message and distribute it to clients with registered interest in the event type. The event message endpoint may type check the event message and/or the representation of the event against the message schema. Event messages endpoints may also authenticate the sender of the message and verify the integrity of message.