Network map

The claimed method and system provides a graphical user interface that illustrates network topology information, including connection paths between devices on the local network and an external network such as the Internet. The claimed method and system may use a three column format for presenting the topology that is more intuitive for a user. Also, the claimed method and system may aggregate context and connection information from multiple different protocols to provide the topology display. Further, the claimed method and system may use a device registry to enable customized and extensible representations of the network devices.

BACKGROUND

Networking has become an integral part of computing functionality. Typically, however, most computer users are not interested in the details of networking interconnections until a connectivity problem arises. Troubleshooting network connectivity may be made easier using a graphical user interface that may assist a user in detecting areas of a network that may be malfunctioning.

SUMMARY

The claimed method and system uses a graphical user interface to provide a visual representation of a local network and a connection to the Internet. The representation may provide topology information in the form of a map of the network including connection paths between devices on the local network and an external network such as the Internet. The claimed network map may overlay high-level, network status indicators for devices and/or sections of a basic connection map that may be quickly understood by the user. The network map may aggregate data from several services or protocols to present information such as current overall network connectivity, connected devices, connected profiles, connected interfaces, wireless signal strength and/or the availability of a wireless network. Additionally, the network map may serve as an entry point for connecting, disconnecting and diagnosing network connections.

The network map may provide a user a way to view the devices on a network, understand where issues are on the network, and act on these issues to resolve them.

DESCRIPTION

FIG. 1illustrates an example of a suitable computing system environment100on which a system for the blocks of the claimed method and apparatus may be implemented. The computing system environment100is only one example of a suitable computing environment and is not intended to suggest any limitation as to the scope of use or functionality of the method and apparatus of the claims. Neither should the computing environment100be interpreted as having any dependency or requirement relating to any one component or combination of components illustrated in the exemplary operating environment100.

FIG. 2illustrates various elements of a general embodiment of the claimed network map. The network map may include a plurality of network elements200. Network elements may include terminal devices201, which are endpoint devices on a network such as computers and hardware devices such as cameras, scanners printers, etc. Network elements may also include intermediate devices202or infrastructure devices that connect two or more devices. Intermediate devices include, hubs, routers, switches, gateways, etc. A network element may also be an external network203, such as the Internet or a larger corporate network.

FIG. 3illustrates that the network map may be organized in a three column format including a left301, middle302, and right303column. Terminal devices305may be disposed in the left column301, intermediate devices306may be disposed in the middle column302, and external networks307may be disposed in the right column303. Connection lines304may join any two devices. In one embodiment, the primary focus of the network map may be the user PC308. Thus, the user PC308may always be located at the topmost position of the left column301. All other connected devices may be disposed below and to the right of the user PC308. The primary focus of the right column303may be an external network307such as the Internet, while the middle column provides information on an interconnection between the user PC308and the Internet307using, for example, an internet gateway device (IGD)309.FIG. 4illustrates that the Internet401may be connected to a device402other than the intermediate device403the user PC404is connected to.

The network map may be displayed in a compressed mini-map mode as illustrated inFIG. 5or an expanded full map mode as illustrated inFIGS. 2 and 4. An option to expand or collapse the map between the two modes may also be provided. As illustrated inFIG. 5, the mini-map may be a compressed map in which the left column may display only the user PC501, the middle column may be an interconnection representation502, and the right column may display the Internet503. The layout may be used to provide a high-level representation of a user's primary connection concern, i.e., the user computer connection to a local network and/or to the Internet. In one embodiment, the mini-map view may be the default view when opening network map, where a user diagnostic process begins. The mini-map may also be the default map view when the user is connected to a work location where the corporate local net is large and a user's primary concern may be that the user computer is simply connected to the corporate net (represented in the middle column502) or that the corporate net provides working connectivity to the Internet.

The mini-map may be used to initially indicate whether there is a connection to the local network, (e.g., via colored or grayed icons) and then whether there is a connection to the Internet. The default gateway from a user PC to the Internet may be represented in the middle column502of the mini-map.FIG. 5illustrates connectivity to the local network and to the Internet with bright icons (which may be colored as well). If a connection to a network is not detectable using the discovery protocols (e.g., not Ethernet), the map may display a direct connection600from the user PC601to the Internet602, as illustrated inFIG. 6.FIGS. 7 and 8illustrate a situation where the user PC may be disconnected from a network or where a network is undetectable using a network discovery process.FIG. 6may illustrate a case where a profile has been generated for a network previously discovered but is not currently detectable.FIG. 7may illustrate a case where there is no currently detectable connection and no previous network connection had been established. If the user should disconnect from the network for which the map may be initially shown, the network map may switch to a new preferred profile. If there are no longer any active profiles the user may be shown a map with a no connectivity representation as seen inFIG. 8.

The expansion of the network map view from the mini-map to the full map may assist the user in pinpointing a malfunction by going from a high level view to a more detailed view of a network. Thus, if the mini-map view does not provide a detail level required to diagnose a problem, then a user may choose to expand the map. In the expanded map, all devices for a network profile may be displayed along with connection lines representing interconnections between the displayed devices. The expanded view, as illustrated inFIG. 9, may provide a listing of accessible network profiles901along with a map of the devices902for a profile903. The user may thus navigate between multiple network profiles901using a menu904. As one of many embodiments, the menu may be a drop down list904as illustrated inFIG. 9, or a tree menu504as illustrated in the mini-map ofFIG. 5.

In one embodiment, there may be only one network map per network profile. If the PC is connected to multiple networks at the same time, the map may display a preferred network profile.FIG. 10may illustrates a computer1001having multiple connections to the same network profile. The network map may have multiple connection lines1002,1003to illustrate the multiple connections. Although it may be rare, a user PC may have multiple NICs connected to different subnets, while both NICs may be in the same profile.FIG. 11may illustrate one such example. In this case the single profile name may have the interface name1101appended to the profile name1102and the user may be able to switch between them using a menu1103.

In one embodiment, the network map may be linked or associated with a network explorer (not shown), or network browser system, where the network explorer initially only provides a listing of discovered network devices with context information but without any topology information. In one embodiment, network map may be included as an additional a view within a browser such as network explorer. Such a browser system may function primarily to provide a user a listing of possible network resources for consumption and access. When the user desires to interact with a device that requires connection information or to diagnose a device, the user may then link from the network explorer to the network browser. In one embodiment, the network explorer and network browser may be designed to provide consistent general display icons and menus, where the icons and menus may correspond to the same view items. For example, the same network profile selected when displaying computers and devices from network explorer may be presented when opening network map from the network explorer. While no computers or devices may appear in the network explorer that does not appear in the network map, the map may show devices that the explorer does not, such as intermediate connection devices. This consistency may help a user quickly identify and associate devices and infrastructure elements when navigating between the explorer and map.

Diagnostics

The network map may be used to first isolate a general area of a network that may be malfunctioning and then provide a user an option to invoke a network diagnostic tool from the network map. In one embodiment, the network diagnostic tool may provide information on the particular device(s)/connection(s) that may be malfunctioning, thereby allowing the network diagnostic tool to begin on the problem area. As illustrated inFIG. 12, general connection problems may be exposed using indications of connectivity problems such as grayed out devices1201and connection line disconnects1202. Diagnostic information may be overlaid on the basic topology network map using a number of different screen elements. For example, segmentation indicators, changing icons, tool tips, context menus, etc. may be provided, as discussed below.

Display Details

As discussed above, the user PC or local PC may be consistently located in the top left of the network map. In this manner, the PC may be made the focus of origin for all other connections in the map. The local PC may have a friendly description associated with it, otherwise a default hostname may be provided instead. An additional string may be appended at the end of the friendly description to indicate that the icon is the user computer (e.g., “This Computer,” or “My Computer”). A vendor provided icon may be provided if a registry entry so indicates. In one embodiment, the representation of the user PC may be highlighted, e.g., using a halo (not shown), to make it visually distinct from any other icon on the screen. As discussed above, the PC representation may indicate a connectivity state of the device using a colored icon, which may represent connectivity, and a grayed out icon, may represent no connectivity. Alternatively, the icon itself may change form to indicate connectivity state. Also, a degree of color or shading may be used to indicate strength of a connection, e.g., in a wireless signal strength (not shown).

A tool tip may be provided over the icon of a displayed device when a pointer is placed over the icon. In one embodiment, as shown inFIG. 13, the tool tip1301may provide any of the following information:

Device Name: fully qualified domain name (FQDN)

Default Gateway: address of default gateway (both IPv4 and IPv6)

DNS Servers: address of DNS Servers (both IPv4 and IPv6); service set ID (SSID) of wireless network to which it is connected (if applicable)

Authentication Type: wireless authorization method (e.g., Wired Equivalent Privacy, or “WEQ”, if applicable)

Connected To: name of the infrastructure device connected

Status Indicator:Healthy—the PC has a valid IP address and may send packets past the default gateway;Misconfigured—the PC may have a bad IP configuration; and/orDisconnected—the PC may be in media disconnect.

Terminal devices other than the local PC may be disposed in the left column. These terminal devices may include other PCs, printers, gaming devices, and/or any device having a valid IP address. Each terminal device may similarly have a friendly description, or hostname if a friendly description is not available, and a vendor provided icon (if available). PCs and devices connected to the same infrastructure piece may be ordered by name, except for the local PC, which may always be in the top left corner. Each representation may indicate a connectivity state, similar to that described for the local PC.

A tool tip for a terminal device may include any of the following:

Device Name: hostname of device

Device Manufacturer: name of device manufacturer

SSID (service set identifier): SSID using to connect to the wireless network (if applicable)

Contact Info

Infrastructure devices or intermediate connection devices such as hubs, routers, switches, etc. may be disposed in a middle column of the network map display. Each item may be represented by an icon and a friendly name. The icon may be provided by a user through a registry. If a vendor provided name is not available, a generic label may be used for the device. If there are multiple infrastructure devices of the same type, then a numeric suffix may be added to make the name unique. For example, “Hub,” “Switch,” “Bridge,” “Access point,” etc. Each representation of an intermediate connection device may indicate a connectivity state, similar to that described for the local PC.

A tool tip for an intermediate device may include any of the following:

Device Name: hostname of device

Device Manufacturer: name of device manufacturer (if available via LLTD)

Connected to: name of the infrastructure device(s) connected

Status: Healthy—the device was discovered in the current mapping session;

Disconnected—the device is in the “last known good” cache but was not found in the current mapping session

An external network may be represented in the right column of the display. This external network may be a network having interconnections that are not of primary concern to the user, but whose connection to the local network may be important in providing functionality to the user. The external network may be the Internet. A connectivity state of the external network may be displayed using, for example, colored or grayed icons.

Connection lines may show interconnections between devices. The connection lines may indicate connection type, such as wired, wireless, dial-up, etc., using different line representations, e.g., single line, double lines, dotted lines, colored lines. The connectivity state may also be represented (e.g., color or grayed line). Links may traverse any of the display columns. A tool tip may be used instead of or in addition to the icon to show connection type. The tool tip may also provide other information about the network.

In one embodiment, connection lines may be built in the following manner between two nodes, where a child node may refer to a first node of the two nodes further connected from the user PC than a second node of the two nodes. If the child node is a terminal device node and the child node is the first terminal device child, a straight horizontal line may be created between the two nodes. If the child node is a terminal device and not the first terminal device child, a three segment line may be created. If the child node is a non-terminal device node and the child node is the first non-terminal device child, a straight vertical line may be created. If the child node is a non-terminal device node and the child node is not the first non-terminal device child, a three segment line is created.

There will be times when network map may be unable to determine how devices may be connected to a network. In this situation an infrastructure device may be created and labeled as unknown. Network map may create the unknown nodes to represent the following cases:

1. The local PC may have a default gateway, but the gateway connection may be unknown. A gateway node may be created and inserted under the unknown node.

2. Discovered devices may not have connection information.FIG. 14illustrates that an unknown node1401may be displayed in the appropriate column.

Building the Map

Each network map displayed to the user may be derived from two separate maps, a cached map, or last known good map, and a current map. The union of devices and connections of the cached map and current map may be displayed to the user. The cached map may be initially provided upon first invocation of the network map, where there is no previous last known good map cached. The union of the two maps may then replace the cached map. The current map may be produced from a current, continuous discovery process providing new or updated information to the network map.

The cached map enables the map to provide indications of differences between the connections and devices, more specifically, of connectivity changes. For example, where the cached map shows a device being connected at a previous time and where that device is not returned in a recent discovery process, then that device may be indicated as disconnected. Similarly, if the device is in the current discovery result and not in the cache, the device may be a newly added device.FIG. 8may illustrate the situation where a user PC may have no connection to a network and no previous network profile defined (hence no previous connection information).FIG. 7may illustrate a case in which there may have been a previously connected topology including a local network and an Internet connection. However, currently there is no connection to the Internet or local network, as indicated by the grayed out icons.

Network Item Factory may manage discovery protocols that periodically poll for new devices on a network. When a new device is found, the network map may be updated or redrawn with the new information. For discovery protocols that only respond to queries, updates may be provided only upon a user initiated refresh of the map. In such a case, a last known good version of the map may be deleted and replaced with a current map resulting from the user initiated discovery process and effectively, the last known good map may be displayed to the user.

Interaction Options

The claimed network map may provide a set of interaction options to a user. Because the user PC may be the primary focus of the map according to one embodiment, an option for presenting the main shares accessible by the user PC may be provided. This may also provide a test for the scope of accessibility for the user PC. In a Microsoft Windows environment, for example, this option may be provided by activating a “My Computer” folder. In one embodiment, the network map may provide an option to export the map image or a section of the map image.

Terminal device options may be provided to the user via a context menu. The options may be consistent with the options provided via a network explorer. Access control lists for these options may be determined by the device. If the terminal device is a composite multifunctional device having multiple independent functions, the union of the options for each individual function may be provided in one context menu for the device (e.g., scan and print actions). A diagnostic option may provide an indication of the accessibility of the device.

FIG. 15may illustrate that intermediate device options may be provided to the user via a context menu1501. Similar to terminal devices, the options may be consistent with the options provided via a network explorer and may be restricted by access control lists. Also, multifunctional devices may have the union of its function options provided in one context menu. If the device has an IP address, then this IP address may be used to test the connectivity of the device. If the devices is a wireless access point, a diagnostic function may determine whether the local PC can authenticate with it and access its connections. If so, these options may be presented. Otherwise no diagnostics options may be available.

The external network may provide options specific to the type of external network represented. For example, if the external network is a corporate network, then a default browser may be open for an internal site or share. If the external network is the Internet, a default web browser to the Internet may be opened. A diagnostic option for the external network may provide an indication of the accessibility of the external network. For example, a particular site of the external network may be opened to further process diagnostics.

Connection lines may provide options for diagnosing connection problems. For example, the connection line may indicate whether the line is completely dead or whether there is some signal detectable on the line.

Network Map Components

The functionality of network map may be provided using the components and architecture illustrated inFIG. 16.

Function Discovery (FD)1601may be a common API that performs device discovery across multiple protocols1602-1606and that provides a list of discovered devices and context information on the devices. Function Discovery1601may provide a listing of function instances. Each function instance may include a set of identifiers for a device discovered on a network.

Link Layer Topology Discovery (LLTD)1607may be an API used to provide connection and association information for devices discovered on a network. LLTD1607may provide a result set in the form of a rudimentary topology of devices and interconnections. Because LLTD1607may primarily focus on device detection and association rather than device property identification, the rudimentary map of LLTD1607may need to be augmented or transformed to provide a workable map. For example, LLTD1607may provide a listing of discovered devices, some of which are unidentified, e.g., they have no MAC addresses.

Network Item Factory1608is responsible for creating a network item object based on a context information received from FD1601component and LLTD1607. Network Item Factory1608maintains a collection of network items representing network devices on a given network. Network Item Factory1608may take connection information from LLTD1607and context information from FD1601to create a network item. A network item object may thus include device specific information and connection information. Network Item Factory1608may also use a Device Extensibility Registry1609to provide additional device specific information for the identified devices via a registry entry or via a reference to a device plugin (e.g., a COM component) that may be able to provide device specific information.

Network Explorer (NE)1610may be an object responsible for overall coordination of underlying components in the architecture to provide a view that may be rendered using a Map UI1611(MUI). The NE1610may communicate with a Network Profile Service1611(via NE) to get a list of connected networks. The Network Profile Service1611may provide a list of connected networks and may enumerate a list of interfaces currently connected to a given network. NE1610may be responsible for creating a Map UI1611for presenting the list of network profiles to a user thereby allowing a user to select a network profile corresponding to a connected network. NE1610may then pass a network item collection for a selected network profile to the MUI1611.

The Map UI (MUI)1611may present a display of the physical network topology using a customized layout, as discussed previously. Upon creation of a shell screen, the MUI1611may communicate with the Network Item Factory1608, which may initiate an asynchronous query for association and connection information from LLTD1607and context information from FD1601. As discussed, the Network Item Factory1608may then create a collection of network items that include context and connection information for discovered devices on the network and return this collection to MUI1611, which draws screen elements based on the collection of network items.

The difference in information returned from FD1601and LLTD1607may be described as follows: In the case of mini-map, no LLTD process may be running and all nodes in the mini-map are built directly from Network Item Factory1608with FD1601information. The expanded full view may require LLTD1607to provide connection line information. Additionally, the status between nodes, including the status from local computer to a default gateway and from the default gateway to the Internet, may be obtained from another protocol, NCSI, which may be managed by FD or independent of FD as a separate component managed by Network Item Factory.