Obtaining per-port location information for wired LAN switches

In one embodiment, a device with a wireless transceiver and a network interface, such as a wireless location determination device or a laptop with wireless capability and an Ethernet port, is coupled to a network switch port via the network interface. A request for location data is sent via the wireless transceiver, and location data is provided to the wireless transceiver, enabling the location of the Ethernet outlet to which the switch port is connected to be determined.

BACKGROUND

Location services are valuable to devices plugged into LAN Switches via cables (e.g. Cat 5). In a carpeted enterprise environment, some location services need accuracy down to the cubicle level. This essentially means that the location of the Ethernet outlet wired to a LAN Switch port in each cubicle needs to be determined. However, determining location for the Ethernet outlet of wired ports can be a time consuming task for system administrators due, in part, to the shear number of wired ports in a building or campus environment. An additional complication is that LAN Switches are typically installed in wiring closets and are wired to cubicle Ethernet outlets via a patch panel. The patch panel allows for easy re-configuration of the floor's wiring plan. In order for the system administrator to configure the LAN Switch (or other LAN Infrastructure device), the wiring plan and patch panel must be initially verified and then audited on a regular basis to ensure each LAN Switch port is mapped to the intended cubicle. Once this process has taken place, the LAN Switch can provide location information to a client device plugged into the Ethernet outlet in the cubicle via a variety of mechanisms/protocols.

OVERVIEW OF EXAMPLE EMBODIMENTS

In particular embodiments, there is described herein a way to automate configuration of location information into a LAN Switch that is independent of the wiring plan and which can be updated on a regular basis, and if desired automatically, without system administrator intervention.

There is disclosed herein an apparatus comprising a wireless transceiver, a network interface for coupling to a connection point of an associated network and control logic coupled to the wireless transceiver and the network interface that is operable to control the operation of the wireless transceiver and the network interface. The control logic is responsive to obtain present location data via the wireless transceiver and the control logic is configured to send the present location data via the network interface to a node disposed on the associated network.

“Logic”, as used herein, includes but is not limited to hardware, firmware, software and/or combinations of each to perform a function(s) or an action(s), and/or to cause a function or action from another component. For example, based on a desired application or need, logic may include a software controlled microprocessor, discrete logic such as an application specific integrated circuit (ASIC), a programmable/programmed logic device, memory device containing instructions, or the like, or combinational logic embodied in hardware. Logic may also be fully embodied as software.

Furthermore, there is disclosed herein a method for provisioning a wired local area network switch with per-port location information. The method comprising coupling a wireless device to a network switch port associated with a network, wirelessly receiving current location data by the wireless device coupled to the network switch port and associating the network switch port with the current location data. Since the location provided is actually the location of the wireless device, the switch port location is bound to the location of the Ethernet outlet in the place (e.g., cubicle, building lobby, etc.) where the wireless device is plugged into the LAN. Throughout this text, the term “Ethernet” shall also be construed to include IEEE 802.3 networks as well as traditional Ethernet.

There is also described herein a system for provisioning a wired local area network switch with per-port location information. The system comprising means for coupling a wireless device to a network switch port associated with a network, means for wirelessly receiving current location data by the wireless device coupled to the network switch port and means for associating the network switch port with the current location data.

Still other objects of the present invention will become readily apparent to those skilled in this art from the following description wherein there is shown and described an example embodiment of this invention, simply by way of illustration of at least one of the best modes best suited to carry out the invention. As it will be realized, the invention is capable of other different embodiments and its several details are capable of modifications without departing from the invention. Accordingly, the drawing and descriptions will be regarded as illustrative in nature and not as restrictive.

DESCRIPTION OF EXAMPLE EMBODIMENTS

This description provides examples not intended to limit the scope of the invention, as claimed. The figures generally indicate the features of the preferred embodiments, where it is understood and appreciated that like reference numerals are used to refer to like elements.

In one exemplary embodiment, a standalone device (hereinafter referred to as a location determination device) is plugged into a cubicle's Ethernet outlet. The location determination device is configured to request and receive location data. In one embodiment, the location determination device can determine by advertisements in 802.11 APs' beacons whether the network can provide sufficient accuracy (e.g., a system administrator can specify accuracy requirements). If the network contains a location server (e.g., Cisco 2700 Wireless Location Appliance available from Cisco Technology, Inc., 70 West Tasman Drive, San Jose, Calif. 95134-1706), then the device should be able to provide location accuracy down to the cubicle level. In one embodiment, after the location determination device receives data representative of its current location, it transmits the data representative of the current location to the LAN Switch servicing the aforementioned Ethernet outlet. In another embodiment, the location determination device transmits the data representative of its current location to a node disposed on the network. In still another embodiment, the location determination device obtains an identifier, such as an address, for the switch port can store the data representative of its current location associated with the identifier for the switch port which can be retrieved at a later time (e.g. uploaded to a database).

Location information can be provided to the the location determination device in any format, including but not limited to XML (rfc4119), geospatial (e.g., rfc3825), civic (e.g., http://www.ietf.org/internet-drafts/draft-ietf-geopriv-dhcp-civil-07.txt) or a proprietary format.

In one embodiment, when the location determination device requests its location, it requests cryptographically signed location information. The receiver of the location information (e.g., the LAN Switch) can determine whether the location information has been modified in transit (e.g., by a device masquerading as the location determination device or a rogue AP). Each receiver of the cryptographically signed location information (e.g. a LAN Switch) is capable of supporting location information that can be provisioned with the IP address of the CA Server (Certificate Authority Server), or multiple IP addresses if there are redundant servers in the network. Alternatively, the IP address of at least one CA Server could be provided by a DHCP option when the LAN Switch requests its IP address from a DHCP server. Each LAN Switch can thus determine the public key corresponding to the private key used by the Location Server to sign the location information. If the location information is determined to be unmodified, then the LAN Switch saves the location information corresponding to that switch port in its Management Information Base (MIB). If the LAN Switch determines that the location information has been modified, it simply discards the information. Additionally the switch can be configured to send an alert to a system administrator reporting that mal-formed location information was received, possibly indicating an insider attack on the network.

An alternative embodiment contemplates an application running on a Wi-Fi enabled laptop (that is also capable of coupling to a network switch port) performing the same functionality as the location determining device just described. Note that whenever a laptop is connected to an Ethernet outlet, updated location information can be provided to the network. This is acceptable since the Ethernet outlet is not mobile. However, a feature of the present invention is that this method automatically updates the location-to-switch-port binding whenever the wiring plant between the LAN switch and Ethernet outlets is modified (e.g., by change to patch panel configuration).

Automatically providing location information whenever a device (such as the location determination device or a laptop as described herein) connects to a switch port enables system administrators to obtain location data for Ethernet outlets that are not in cubicles being regularly used by end users (e.g., spare cubicles or VoIP phones located in a building's lobby) or other Ethernet outlets used for other purposes.

The example embodiments described herein illustrate a technique to automatically provision a LAN Switch (or any other node disposed on the network) with port-based location information without accurate wiring plant information. Moreover, the example embodiments described herein can be updated autonomously, with or without system administrator intervention. This can dramatically reduce management expenses associated with location determination.

FIG. 1is a block diagram of a system100employing a location determination device102for determining the location served by an Ethernet outlet104(e.g. an Ethernet Switch port); hereinafter this will be called the location of a switch port for the sake of brevity (not to be confused with the actual location of the switch port which is physically in the wiring closet). As will be described herein, location determination device102comprises a communications port to communicate with Ethernet outlet104, a wireless transceiver, and control logic for controlling the operation of the communications port and wireless transceiver and for performing the functionality described herein. Location determination device102is communicatively coupled to Ethernet outlet104via coupler106. Coupler106may suitably comprise one or more of a cabled or wireless connector, such as an Ethernet Cable, RJ 45 cable, infra red (IR), optical, radio frequency (RF), etc. Ethernet outlet104is communicatively coupled via coupler108to patch panel110located within wiring closet112. Patch panel110is coupled to switch114(e.g., an Ethernet switch), which is coupled to a distribution network (e.g., a local area network commonly referred to as a ‘LAN’)116. Access points (APs)120,122,124, location services server (LSS)126and database128(which are shown separately but database128can be co-located with LSS126) are also coupled to distribution network116. AlthoughFIG. 1illustrates three APs122,124,126, this is merely for ease of illustration as those skilled in the art can readily appreciate that any realizable number of APs may be coupled to network116.

In operation, while location determination device102is coupled to outlet104, location determination device associates with network116via a wireless connection through one of APs120,122,124. Location determination device102determines from one of APs120,122and124the what, if any, location services are available, and if available, the resolution of the location services (e.g., can the location service determine the location within a meter, foot, or just within a building or to its associated AP).

To obtain location data, a signal is sent to one of APs120,122,124requesting location data. Location services server (LSS)126analyzes at least one signal from location determination device102received by one or more of APs120,122,124. For example, LSS126can use received signal strength intensity (RSSI), time difference of arrival (TDOA), or any suitable technique for analyzing a signal from location determination device102to determine the location of location determination device102.

In one embodiment, after determining the location of location determination device102, LSS126has the AP (one of APs120,122,124) associated with location determination device102send data representative of the determined location of location determination device102to location determination device102. Location determination device102then sends the data representative of the determine location via coupling106through port108patch panel110to switch114. Switch114stores the data representative of the determined location. Alternatively, or optionally, switch114sends the data representative of the determined location of and an identifier for Ethernet outlet104via network116to database128for storage by database128.

In another embodiment, after determining the location of location determination device102, LSS126has the AP (one of APs120,122,124) associated with location determination device102send data representative of the determined location of location determination device102to location determination device102. Location determination device102determines an identifier of port on switch114. An identifier for port on switch114can be obtained via CDP (Cisco Discovery Protocol available from Cisco Systems), LLDP (Link Layer Discovery Protocol, IEEE 802.1ab) or via any suitable protocol. Location determination device102associates the data representative of the current location with the switch and stores it. The stored data can later be uploaded either via a wired connection or wireless connection to database128.

In still another embodiment, location determination device102determines an identifier of port on switch114using techniques already described herein. Location determination device102supplies the identifier for port on switch114to LSS126. After determining the current location of location determination device102, LSS126stores the identifier for the port on switch114and the current location of location determination device102in database128.

In still yet another embodiment, location determination device102uses a global positioning system (GPS) to determine its present location. Location determination device102can be configured to request and receive GPS data from a source external to network100. After receiving the GPS data, location determination device102can send the GPS data via coupling106through port108patch panel110to switch114. Switch114stores the GPS data. Alternatively, or optionally, switch114sends the GPS data via network116to database128for storage by database128. In one embodiment, location determining device102can send GPS data along with an identifier for port on switch114wirelessly to one of APs120,122,124, which forwards the data to one of LSS126and database128for storage. In one embodiment, location determination device102stores the GPS data associated with an identifier for port on switch114, which can be uploaded to network100at a later time.

In the aforementioned embodiments, it is contemplated that the location data can be encrypted. Using encrypted data can ensure that the location data is authentic. For example, if location determination device is infected with malicious software, such as a virus, Trojan Horse, or other programming that may tamper with the location information, encrypting the data would be useful for detecting tampering. In a preferred embodiment, location determination device102does not have the encryption key. For example, if the data representative of the determined location of location determination device102is sent encrypted to location determination device102, location determination device102forwards the data, in encrypted form to switch114. Switch114can obtain the encryption key from LSS126(or from another authenticator or authentication server) and authenticate the data. If the data is invalid, it can be discarded. Furthermore, an alert can be issued, e.g., an entry to an error log or automatically generated message to a system administrator.

The example embodiment just described herein provides an easy technique to determine the current location of Ethernet outlets, such as outlet104. Knowing the location of outlet104enables network100to provide location based services to devices coupled to outlet104.

FIG. 2is a block diagram of a location determination device200, suitable to perform the functionality described for location determination device102(FIG. 1). Wireless signals are sent and received by antenna202coupled to radio module208. As illustrated inFIG. 2, antenna202is a connectorized antenna and is coupled to radio module208via connectors204,206. Radio module208monitors a predetermined frequency and receives a wireless signal, such as RF, IR, Optical, etc. Module210provides the physical layer processor (PHY) and module212provides the Media Access Control (MAC) processor.

For received signals, radio module208converts signals received on the predetermined frequency to a baseband signal. The baseband signal is forwarded from radio module208to PHY210. A connection209between radio module208and CPU (central processing unit)214enables radio module208to alert CPU214when it has is received a signal. PHY210suitably performs signal modulation and demodulation and provides digital information to the MAC212.

For sending signals, data from CPU214sends data to MAC212where it is framed and timed than transferred to the PHY210. The analog signal output from PHY210is then forwarded to radio module208. Radio module208performs any frequency conversion (e.g. baseband to RF) and transmits the signal via antenna202.

After a received signal is processed the Radio Module208, demodulated by PHY210, and the received bits are framed and checked by the MAC212, CPU214processes the signal accordingly. For example, CPU214can determine whether the signal is a valid transmission and if so the type of transmission, e.g., the type of data being sent, such as location data. CPU214has corresponding memories (e.g, Flash memory220and DRAM222) for use by CPU214for temporary and semi-permanent storage, such as for storage and retrieval of memory variables and program code. When CPU completes processing the digital signal, the signal is forwarded to Ethernet Media Access Controller (EMAC)223for transmission on the associated network backbone (not shown, see for example network106inFIG. 1). EMAC223forwards the signal to PHY (Physical Layer controller)224, Ethernet Magnetics226and Ethernet connector228to send the signal on the associated network.

Location determination device200is also capable of sending and receiving data from the associated network via connector228, Ethernet Magnetics226, PHY224and EMAC223. CPU214can process the data received from the network and respond accordingly. For example, if a computing device on the associated sends a heartbeat or keep alive packet, CPU214responsive to receiving the packet sends a response to the device via EMAC223, PHY224, Ethernet Magnetics226and connector228.

Location determination device200suitably receives power from one or more sources. For example, power supply230can receive power from a standard AC adapter232, and/or power over Ethernet from Ethernet connector228. Alternatively, or additionally, power supply230can have one or more batteries234.

FIG. 3is a block diagram of a system300employing a laptop computer302with wireless networking capability for determining the location of served by an Ethernet outlet304. This embodiment leverages the capabilities of a wirelessly enabled laptop computer302to obtain location data allowing the laptop computer302to automatically update network location data.

As will be described herein, laptop computer302comprises a communications port to communicate with a port on switch314, a wireless transceiver, and control logic for controlling the operation of the communications port and wireless transceiver and for performing the functionality described herein. Laptop computer302is communicatively coupled to Ethernet outlet304via coupler306. Coupler306may suitably comprise one or more of a cabled or wireless connector, such as an Ethernet Cable, RJ 45 cable, infra red (IR), optical, radio frequency (RF), etc. Ethernet outlet304is communicatively coupled via coupler308to patch panel310located within wiring closet312. Patch panel310is coupled to switch314(e.g., an Ethernet switch), which is coupled to a distribution network (e.g., a local area network commonly referred to as a ‘LAN’)316. Access points (APs)320,322,324, location services server (LSS)326and database328(which are shown separately but database328can be co-located with LSS326) are also coupled to distribution network316. AlthoughFIG. 3illustrates three APs322,324,326, this is merely for ease of illustration as those skilled in the art can readily appreciate that any realizable number of APs may be coupled to network316.

In operation, while laptop computer302is coupled to port304, location determination device associates with network316via a wireless connection through one of APs320,322,324. Laptop computer302determines from one of APs320,322and324the what, if any, location services are available, and if available, the resolution of the location services (e.g., can the location service determine the location within a meter, foot, or just within a building or by AP).

To obtain location data, a signal is sent to one of APs320,322,324requesting location data. Location services server (LSS)326analyzes at least one signal from laptop computer302received by one or more of APs320,322,324. For example, LSS326can use received signal strength intensity (RSSI), time difference of arrival (TDOA), or any suitable technique for analyzing a signal from laptop computer302to determine the location of laptop computer302.

In one embodiment, after determining the location of laptop computer302, LSS326has the AP (one of APs320,322,324) associated with laptop computer302send data representative of the determined location of laptop computer302to laptop computer302. Laptop computer302then sends the data representative of the determine location via coupling306through outlet304via coupling308to patch panel310to switch314. Switch314stores the data representative of the determined location. Alternatively, or optionally, switch314sends the data representative of the determined location of and an identifier for Ethernet outlet304via network316to database328for storage by database328.

In another embodiment, after determining the location of laptop computer302, LSS326has the AP (one of APs320,322,324) associated with laptop computer302send data representative of the determined location of laptop computer302to laptop computer302. Laptop computer302determines an identifier of port304. An identifier for port304can be obtained via CDP (Cisco Discovery Protocol available from Cisco Systems), LLDP (Link Layer Discovery Protocol) or via any suitable protocol. Laptop computer302associates the data representative of the current location with the switch and stores it. The stored data can later be uploaded either via a wired connection or wireless connection to database328.

In still another embodiment, laptop computer302determines an identifier of port304using techniques already described herein. Laptop computer302supplies the identifier for port304to LSS326. After determining the current location of laptop computer302, LSS326stores the identifier for port304and the current location of laptop computer302in database328.

In still yet another embodiment, laptop computer302uses a global positioning system (GPS) to determine its present location. Laptop computer302can be configured to request and receive GPS data from a source external to network100. After receiving the GPS data, laptop computer302can send the GPS data via coupling306through port308patch panel310to switch314. Switch314stores the GPS data. Alternatively, or optionally, switch314sends the GPS data via network316to database328for storage by database328. In one embodiment, location determining device102can send GPS data along with an identifier for port on switch314wirelessly to one of APs320,322,324, which forwards the data to one of LSS326and database328for storage. In one embodiment, laptop computer302stores the GPS data associated with an identifier for port on switch314, which can be uploaded to network100at a later time.

In the aforementioned embodiments, it is contemplated that the location data can be encrypted. Using encrypted data can ensure that the location data is authentic. For example, if location determination device is infected with malicious software, such as a virus, Trojan Horse, or other programming that may tamper with the location information, encrypting the data would be useful for detecting tampering. In a preferred embodiment, laptop computer302does not have the encryption key. For example, if the data representative of the determined location of laptop computer302is sent encrypted to laptop computer302, laptop computer302forwards the data, in encrypted form to switch314. Switch314can obtain the encryption key from LSS326(or from another authenticator or authentication server) and authenticate the data. If the data is invalid, it can be discarded. Furthermore, an alert can be issued, e.g., an entry to an error log or automatically generated message to a system administrator.

The example embodiments described herein provide an easy technique to determine the current location of Ethernet outlets, such as outlet304. Knowing the location of outlet304enables network100to provide location based services to devices, such as laptop302, coupled to outlet304.

FIG. 4is a block diagram of a computer system400for implementing an embodiment of the present invention. Computer system400can be employed by laptop302(FIG. 3) and/or location detection device102for performing the functionality described herein.

The term “computer-readable medium” as used herein refers to any medium that participates in providing instructions to processor404for execution. Such a medium may take many forms, including but not limited to non-volatile media, volatile media, and transmission media. Non-volatile media include for example optical or magnetic disks, such as storage device410. Volatile media include dynamic memory such as main memory406. Transmission media include coaxial cables, copper wire and fiber optics, including the wires that comprise bus402. Transmission media can also take the form of acoustic or light waves such as those generated during radio frequency (RF) and infrared (IR) data communications. Common forms of computer-readable media include for example floppy disk, a flexible disk, hard disk, magnetic cards, paper tape, any other physical medium with patterns of holes, a RAM, a PROM, an EPROM, a FLASHPROM, any other memory chip or cartridge, a carrier wave as described hereinafter, or any other medium from which a computer can read.

Computer system400is coupled to wireless receiver412. Wireless receiver412receives wireless signals via antenna414. Wireless signals may be in the form of RF, IR, optical or any other type of wireless signal. Wireless receiver performs all frequency conversion, A/D conversion, modulation/demodulation (PHY functions), MAC function and forwards a signal to bus402for processing by processor404. In operation, signals are sent from wireless receiver412to request location based data, for example as determined by a location services server428, which may be disposed on network428for providing location services as described herein. The location based data is received wirelessly via antenna414and wireless receiver412. Wireless receiver412forwards a signal with location based data to processor404for processing via bus402.

FIG. 5is a methodology500for determining location information of a switch port, such as an Ethernet switch port. By having current up to date information on the location of switch ports coupled to a network, location based services can be provided.

At502, a wireless device is coupled to a switch port associated with a local area network (LAN). The device can be an apparatus specifically designed for obtaining location based data, or can be a wireless device with computing capabilities, such as a laptop computer. The connection to the switch port may be wired and/or wireless, such as via an Ethernet cable, RF, IR, optical, etc. While connecting to the LAN, the device can determine the location capabilities of the LAN or at the current connection point to the LAN. For example, the device may determine the accuracy of location information (e.g., the spatial accuracy, is the data available by building AP, or within a foot, inch, etc.).

At504, the device obtains location data. In an example embodiment, the device sends a wireless signal to request location data. In an exemplary embodiment, the request can be made automatically upon detecting a new connection to the LAN. The wireless signal is received by one or more devices on the network, which determine the current location of the device. Data representative of the determined location is then wirelessly sent to the device. The data can be encrypted to ensure its authenticity.

If the data is being stored on the device for future uploading, an identifier for the switch port can be obtained (described herein supra). This enables the data representative of the determined location to be associated with the switch port.

At506, the location data is forwarded to the LAN. In one embodiment, the location data is sent through the switch port to the switch. Because the switch knows which port the location data was received on, the location data can be associated with the appropriate port. The location data can then be stored by the switch. Optionally, or alternatively, the data can be forwarded to another node (e.g. a location services server or a database) on the network for processing and storage. If the data is encrypted, the network switch, or any other node on the network receiving the location data can retrieve the appropriate encryption key to decrypt, and authenticate the data.