Plug and play networking architecture with enhanced scalability and reliability

Systems and methods of discovering devices on a plug and play network provide for enhanced network performance. Initial discovery messages can be adapted based on predetermined characteristics of access points such as the access point being associated with a high loss connection to a network node and the access point being associated with a congested environment with regard to discovery traffic. In one approach, initial discovery messages are transmitted over a wireless connection in unicast so that error correction is implemented. Other approaches involve storing notification messages at access points to minimize discovery traffic, and transmitting initial discovery messages at the lowest available transmission rate to eliminate the need for the transmission of multiple copies.

BACKGROUND

1. Technical Field

Embodiments of the present invention generally relate to network communications. More particularly, embodiments relate to plug and play networking.

As computers continue to grow in popularity, the demand for enhanced functionality also grows. For example, plug-and-play (PnP) functionality, which facilitates the connection of peripheral devices to computing platforms, is in high demand. In fact, recent efforts have been made to expand PnP functionality to encompass the addition of devices to a network. For example, the UPnP Forum is a group of industry participants that has undertaken the development of zero-configuration, “invisible” networking, and automatic discovery for a breadth of device categories from a wide range of vendors.

A conventional PnP networking architecture includes network nodes such as devices and control points, and the backbone components that interconnect the nodes. A device in a PnP network provides services such as printing and playing compact disks (CDs), whereas a control point is a controller capable of discovering and controlling devices. A network node can therefore function as either a device, a control point, or both, where each network node typically connects to the network via an access point such as a standalone gateway or a personal computer (PC) acting as gateway. When a node either announces its presence on the network (as a device) or launches a search for previously unidentified devices (as a control point), an initial discovery message is generated and is transmitted to the appropriate PnP access point in a multicast format. The initial discovery message is transmitted in multicast because the appropriate recipients have not yet been “discovered” by the originator. The access point receives the initial discovery message and multicasts it to the other devices/control points on the network. In the case of an initial discovery message that defines a notification message from a device, the notification message is multicast to the control points on the network. As a result, the network control points can determine whether the device offers services of interest. In the case of the initial discovery message defining a search message from a control point, the search message is multicast to the devices on the network.

Generally, initial discovery messages are not adapted based on the characteristics of the access node. As a result, optimum network performance is difficult to achieve under certain circumstances. For example, if the access node is associated with a high loss connection to the network node, conventional systems do not provide for adapting the initial discovery message to account for reliability concerns. Rather, it is common practice to merely transmit multiple copies of the initial discovery message regardless of whether the access point is associated with a high loss connection. Indeed, typical initial discovery messages (as well as other PnP networking messages) use the simple service discovery protocol (SSDP, Version 1.0, Internet Engineering Task Force/IETF, October 1999), which is built on top of the user datagram protocol (UDP, State Transition Diagram/STD 6, RFC 768, August 1980). UDP is a communications protocol that does not provide for error correction of initial discovery messages at the data link layer (i.e., Layer 2 of the Open Systems Interconnect/OSI model). Unfortunately, certain types of connections, such as wireless and dial-up connections, can have losses on the order of 20-30% packet loss. As a result, the transmission of multiple copies can be ineffective. Although certain approaches provide for reducing the data transmission rate once the data loss has reached a predetermined threshold (e.g., 20%), data transmitted before the reduction may still be lost. This is especially true for discovery transmissions, which occur relatively early in the PnP networking process. There is therefore a need for an approach that provides for adaptation of initial discovery messages based on a predetermined characteristic of an access point such as the access node being associated with a high loss connection to network nodes.

Furthermore, if the access point is associated with a high discovery traffic environment, conventional systems do not provide for adapting the initial discovery message to account for scalability concerns. For example, if an access point is deployed in a wireless corporate network environment in which devices and control points connect to and disconnect from the network frequently, the initial discovery messages are not adapted based on this characteristic. Indeed, most approaches contribute to network congestion by transmitting multiple copies of the initial discovery message as already discussed. In addition, reducing the transmission rate in response to the data loss threshold being exceeded typically does not benefit discovery traffic because it occurs too soon. There is therefore a need for an approach that provides for adaptation of initial discovery messages based on a predetermined characteristic of an access point such as the access point being associated with a high discovery traffic environment.

DETAILED DESCRIPTION

Embodiments of the invention provide for enhanced scalability and reliability by providing for initial discovery messages that are adapted based on a predetermined characteristic of the receiving access point. By adapting initial discovery messages based on the characteristics of the receiving access point, optimum network performance can be achieved. Adaptation of initial discovery messages can be implemented in a number of difference ways depending upon the circumstances.

FIG. 1shows a networking architecture20in which a PnP network access point22is configured to receive an initial discovery message26from a network node24. The type of connection between access point22and node24can include WiFi (Institute of Electrical and Electronics Engineers/IEEE 801.11aand 801.11bWireless), power line network, phone line and firewire (IEEE 1394), among others. The access point22may also connect to other network nodes (not shown) using a wide variety of local area network (LAN) media. In addition to bridging the node24to the PnP network, services provided by the access point22might include Internet access. The access point22may also function as a dynamic host configuration protocol (DHCP, Request for Comments/RFC 2131, March 1997) server, a domain name system (DNS) proxy, a storage device, etc. The initial discovery message26is adapted based on a predetermined characteristic of the access point22and enables improved network performance with regard to parameters such as scalability and reliability.

While certain examples will be described with regard to wireless connections between access points and network nodes, it should be noted that the embodiments of the invention are not so limited. Indeed, the principles discussed herein can be useful in any networking environment in which performance parameters such as scalability and reliability are issues of concern. Notwithstanding, there are a number of aspects of wireless networking for which the illustrated embodiments are well suited.

Turning now toFIG. 3, a method38of communicating discovery information to an access point of a PnP network is shown. Method38can be implemented in a network node24(FIG. 1) using any number of commercially available hardware and/or software programming techniques. For example, method30can be implemented in an article of manufacture which includes a machine-readable medium such as read-only memory (ROM), random access memory (RAM), magnetic disk, etc., which includes a set of stored instructions capable of being executed by a processor. Generally, method38provides for initializing the network node at processing block40. Initialization can involve obtaining the necessary address information for the node to participate on the network. For example, under the UPnP protocol, each device has a DHCP client, where the device searches for a DHCP server when the device is first connected to the network. If a DHCP server is available, the device uses the Internet protocol (IP) address assigned to the server. If no DHCP server is available, the device uses Auto-IP (Automatically choosing an IP Address in an Ad-Hoc IPv4Network, IETF draft, April, 1999), which defines how a device intelligently chooses an IP address from a set of reserved private addresses. Block42provides for generating an initial discovery message for the network node and block44provides for adapting the initial discovery message based on a predetermined characteristic of the access node. Examples of such predetermined characteristics include, but are not limited to, the access point being associated with a high loss connection to the network node and the access point being associated with a congested environment with regard to discovery traffic.

FIG. 4shows an approach to adapting an initial discovery message in greater detail at block44′. Specifically, if it is determined at block46that the access point is associated with a high loss connection to the network node, block48provides for adapting the initial discovery message to increase network reliability. If it is determined at block50that the access point is associated with a congested environment with regard to discovery traffic, block52provides for adapting the initial discovery message to increase network scalability. Thus, the initial discovery message, whether a notification message from a device or a search message from a control point, can be “customized” with regard to the specific characteristics of the access point receiving the initial discovery message. It should be noted that the determinations at blocks46and50can be made “offline” based on the anticipated configuration of the network. For example, if the connection between the node and the access point is to be either a wireless or a dial-up connection, the access point can be identified as being associated with a high loss connection because these types of connections are known to have packet losses on the order of 20% or more. Furthermore, if the access point is expected to be used in an environment such as a corporate site, college campus or airport, the access point can be identified as being associated with a congested environment with regard to discovery traffic because these types of environments are known to have devices and control points that frequently connect to and disconnect from the network.

One approach to adapting an initial discovery message to increase network reliability is shown inFIG. 5at block48′. Specifically, the initial discovery message is formatted at block54according to a protocol that provides for error correction of unicast messages. One such protocol is the IEEE 802.11a, 802.11bwireless protocol, which provides for checking and resending of unicast packets at layer 2 of the OSI model. Since multicast packets are not checked for errors, block56provides for transmitting the initial discovery message toward the access point over the high loss connection in unicast.

FIG. 6shows one approach to adapting an initial discovery message to increase network scalability in greater detail at block52′. Specifically, block58provides for configuring the initial discovery message as a notification message that includes an instruction for the access point to respond to search messages on behalf of a device, where the notification message enables the device to announce a presence of the device on the network. The notification message is transmitted toward the access point at block60. The access point can therefore multicast the notification message to the control points that are currently connected to the network and store the notification message for control points that are subsequently added to the network. When the access point receives a search message from one of these control points, the access point can respond in unicast with the stored notification message. Thus, the approach shown in block52′ increases network scalability by reducing the amount of traffic between the device and the access point because subsequent search messages do not need to be sent all the way to the device. Such an approach is particularly useful when the access point must support discovery of a large number of nodes (i.e., in a congested environment with regard to discovery traffic).

Turning now toFIG. 7, another approach to adapting an initial discovery message to increase network scalability is shown at block52″ in greater detail. Specifically, a lowest available transmission rate is assigned to the initial discovery message at block62. For example, in a wireless system having transmission rates of 11 MB/sec, 5.5 MB/sec, 2.5 MB/sec and 1 MB/sec, the 1 MB/sec rate could be assigned. Block64provides for transmitting a single copy of the initial discovery message toward the access point at the lowest available transmission rate. Transmitting a single copy of the initial discovery message reduces the amount of discovery traffic between the node and the access point, and transmitting the initial discovery message at the lowest available transmission rate offsets the potential data loss associated with sending a single copy of initial discovery message.

Turning now toFIG. 8, a method66of supporting discovery communication over a PnP network is shown. Method66can be implemented in an access point22(FIG. 1) to improve network performance. Method66can implemented using any commercially available hardware and/or software programming techniques. For example, method66could be implemented as a machine readable medium such as ROM, RAM, magnetic disc, etc., which includes a set of stored instructions capable of being executed by a processor. Processing block68provides for initializing an access point. Initialization may include choosing an address for the access point as already discussed. An initial discovery message is received from a network node at block70, where the initial discovery message is adapted based on a predetermined characteristic of the access point.

FIG. 9shows one approach to receiving an initial discovery message at block70′ in greater detail. Specifically, if it is determined at block72that the access point is associated with a high loss connection to the network node, the access point increases network reliability at block74by receiving the initial discovery message in unicast at block76and checking the initial discovery message for errors at block78. In this regard, the initial discovery message has been formatted according to a protocol that provides for error correction of unicast messages. One example of such a protocol is the IEEE 802.11a, 802.11bwireless protocol, although others may be available. Checking the initial discovery message for errors according to the protocol at block78therefore represents a significant departure from the conventional technique of receiving multiple copies of multicasted initial discovery messages in order to improve reliability. If it is determined at block80that the access point is associated with a congested environment with regard to discovery traffic, the access point increases network scalability at block82. The determinations at blocks72and80can be made offline based on the expected deployment of the access point, or online based on the condition of the received initial discovery message.

FIG. 10shows one approach to increasing network scalability at block82′ in greater detail. Specifically, block84provides for storing the initial discovery message to an internal cache of the access point as a notification message. As already discussed, notification messages enable devices to announce their presence on the network. A search message is received from a network control point at block86and the notification message is forwarded toward the control in unicast format at block88in response to the search message on behalf of the device. Thus, the search message does not need to be sent to the device. Such an approach reduces the amount of discovery traffic and increases network scalability.FIG. 11shows an alternative approach to increasing network stability in which a single copy of the initial discovery message is received at the lowest available transmission rate at block82″.

FIG. 2shows an architecture28in which a PnP access point22′ is associated with a number of high loss connections to network nodes24′ (24a′-24i′) and a congested environment with regard to discovery traffic. Specifically, the high loss connections are wireless connections operating under a protocol such as the IEEE 801.11aand 801.11bwireless protocols. The nodes24′ may be either devices, control points or both, depending on the configuration of the particular node. In this regard, access point22′ may have one or more antennas30, a processor32and a machine-readable medium operatively coupled to the antennas30and the processor32. Medium34can be any acceptable medium such as read only memory (ROM), random access memory (RAM), magnetic desk, etc., which includes a set of stored instructions capable of being executed by the processor32. The instructions can be executed to initialize the access point22′ and receive initial discovery messages26′ (26a′-26i′), where the initial discovery messages26′ are adapted based on a characteristic of the access point22′.

As will be discussed in greater detail below, the access point22′ may also include an internal cache36, where the instructions stored in medium34are further capable of being executed to store one or more of the initial discovery messages26′ to the internal cache36as notification messages. Notification messages enable nodes to announce their presence on the network. When a search message is received from a network control point, the access point22′ can retrieve the notification message from the internal cache36and forward it toward the control point in unicast format on behalf of the device that originated the notification message. This approach enables the access point22′ to improve scalability because the search message does not have to be sent over the wireless link and the notification message can be sent in unicast format as opposed to multicast format. Simply put, the amount of traffic over the wireless connections as well as the rest of the PnP network can be reduced in order to enhance scalability.