Web service visualizer and display service
AssigneeMicrosoft Corporation
InventorGeorgios Chrysanthakopoulos
Life of this patent
Estimating the term…
Abstract
Described is a service visualizer that presents a high-level view of services currently running in a distributed operating system. The service visualizer, which itself may be a service, is visual-based and uses objects (e.g., spheres) suspended in space to represent the ports of services that are currently running. Messages sent between services are represented by particles. The visualizer creates a visual collection for each service port, which in turn creates a port monitor to watch for messages on the port. The resulting visualization may be interacted with, such as for purposes of debugging.
Claims39
At a computing system in a computing environment, a method for visualizing services, the method comprising:
- obtaining information about a plurality of services registered with a directory service, the obtained information including for each registered service:
- a Uniform Resource Identifier to a contract that describes the service's requirements, the requirements including separate behaviors corresponding to each of a plurality of ports indicated in the contract, each port configured to transfer messages of a specified schema-defined message type;
- generating a visualization to represent the interaction between the plurality of registered services based on the described requirements in the contract for each registered service, the visualization including generating:
- for each registered service:
- a service graphical object representing the registered service;
- and
- a clustered plurality of port graphical objects, each of the clustered plurality of graphical port objects visually depicted within the service graphical object to indicate that each port graphical object in the clustered plurality of graphical port objects corresponds to the registered service, each of the clustered plurality of port graphical objects visually and individually representing a corresponding port from among the plurality of ports indicated in the registered service's contract, each of the clustered plurality of port graphical objects also corresponding to the specified schema-defined message type of the represented corresponding port;
- and
- a separate plurality of message graphical objects depicted separate from the clustered pluralities of graphical port objects for each registered service, each of the separate plurality of message graphical objects depicted on a route between a sending port graphical object, from among the plurality of port graphical objects within one graphical service object, and a receiving port graphical object, from among the plurality of port graphical objects within another different graphical service object, each of the separate plurality of message graphical objects representing a schema-defined message being communicated between corresponding ports of the registered services represented by the sending and receiving port graphical objects respectively so as to indicate the behaviors being utilized at the registered services.
In a computing environment having a directory service that provides information about services, a system comprising:
- one or more processors;
- system memory;
- and
- one or more physical storage media having stored thereon:
- a visualizer service coupled to the directory service, the visualizer service configured to:
- obtain information about a plurality of services known to the computing environment, the obtained information including:
- a Uniform Resource Identifier to a contract that describes the service's requirements, the requirements including separate behaviors corresponding to each of a plurality of ports indicated in the contract, each port configured to transfer messages of a specified schema-defined message type;
- a visual collection service—for each of the plurality of services for which the information was obtained, each visual collection service coupled to the directory service by subscribing for insert and delete notifications for services of a contract type;
- a port visual service for each instance in the directory of a service contract of each type;
- and
- wherein the visualizer service, each visual collection service, and each port visual service pass update-related messages to generate a visualization representing the interaction between the services based on the described requirements in the contract for each service, the visualization including:
- for each registered service:
- a service graphical object representing the registered service;
- and
- a clustered plurality of port graphical objects, each of the clustered plurality of graphical port objects visually depicted within the service graphical object to indicate that each port graphical object corresponds to the registered service, each of the clustered plurality of port graphical objects visually and individually representing a corresponding port from the plurality of ports indicated in the registered service's contract, each of the clustered plurality of port graphical objects corresponding to the specified schema-defined message type of the represented corresponding port;
- and
- separate plurality of message graphical objects depicted separate from the clustered pluralities of port graphical objects for each registered services, each of the separate plurality of message graphical objects depicted on a route between a sending port graphical object, from among the plurality of port graphical objects within one graphical service object, and a receiving port graphical object, from among the plurality of port graphical objects within another different graphical service object, each of the separate plurality of message graphical objects representing a schema-defined messages being communicated between corresponding ports of the registered services represented by the sending and receiving port graphical objects so as to indicate the behaviors being utilized at the services.
A computer-program product for use at a computer system, the computer program product for implementing a method for visually representing a plurality of services, the computer program product comprising one or more physical storage media having stored thereon computer-executable instructions, which when executed at a processor, cause the computer system to perform the method, including the following:
- obtain information about services registered with a directory service, the obtained information including for each registered service:
- a Uniform Resource Identifier to a contract that describes the service's requirements, the requirements including separate behaviors corresponding to each of a plurality of ports indicated in the contract, each port configured to transfer messages of a specified schema-defined message type;
- render a three-dimensional representation of the interactions between registered services based on the described requirements in the contract for each registered service, the three-dimensional representation including:
- for each registered service:
- a service graphical object representing the registered service;
- and
- a clustered plurality of port graphical objects, each of the clustered plurality of graphical port objects visually depicted within the service graphical object to indicate that each graphical port object in the clustered plurality of graphical port objects corresponds to the registered service, each of the clustered plurality of port graphical objects visually and individually representing a corresponding port from the plurality of ports indicated in the registered service's contract, each of the clustered plurality of port graphical objects corresponding to the specified schema-defined message type of the represented corresponding port;
- and
- a separate plurality of message graphical objects depicted separate from the clustered pluralities of port graphical objects for each registered services, each of the separate plurality of message graphical objects depicted on a route between a sending port graphical object, from among the plurality of port graphical objects within one graphical service object, and a receiving port graphical object, from among the plurality of port graphical objects within another different graphical service object, each of the separate plurality of message graphical objects representing a schema-defined message being communicated between corresponding ports of the registered services represented by the sending and receiving port graphical objects respectively so as to indicate the behaviors being utilized at the registered services;
- and
- dynamically updating the three-dimensional representation to represent services that are interacting with each other, the dynamic updating including highlighting any port graphical objects for corresponding ports that are participating in the communication of a schema-defined message as depicted by message graphical objects.
Dependencies are inferred from the claim text.