To further clarify aspects of the present invention, a more particular description of the invention will be rendered by reference to specific embodiments thereof which are disclosed in the appended drawings. It is appreciated that these drawings depict only typical embodiments of the invention and are therefore not to be considered limiting of its scope. The invention will be disclosed and explained with additional specificity and detail through the use of the accompanying drawings in which:
Generally, exemplary embodiments of the present invention relate to diagnostic systems configured to, among other things, test and/or evaluate components within the diagnostic system. Typically, the diagnostic systems of the present invention are implemented in connection with high-speed data transmission systems. However, embodiments of the invention may be used in other contexts unrelated to testing system components and/or unrelated to high speed data transmission. Exemplary embodiments of the present invention also relate to the disclosures of U.S. utility patent application Ser. No. 11/537,599, titled “RESOURCE ALLOCATION MANAGER FOR WIRELESS DIAGNOSTIC SYSTEMS,” U.S. utility patent application Ser. No. 11/537,590, titled “WIRELESS DIAGNOSTIC SYSTEMS MANAGEMENT,” and U.S. utility patent application Ser. No. 11/537,595, titled “TEST ACCESS POINT HAVING WIRELESS COMMUNICATION CAPABILITIES,” each of which was filed on Sep. 29, 2006 and is expressly incorporated herein by reference in its entirety.
Various terms are used consistently throughout the specification and claims, the definition of which are provided for as follows:
The term “wireless” is used to refer to any data transmission that does not occur through a physical transmission medium. Wireless data transmission techniques can thus include, but are not limited to electromagnetic techniques such as using radio frequency (RF), optical techniques such as infrared (IR), acoustic techniques, and the like. Thus, any process or means for transmitting data wirelessly now known or later developed has been contemplated to be applicable to the present invention. The term “physical transmission medium” refers to a physical device such as, but not limited to, an electrical medium (e.g., a metal wire or metal cable), an optical medium (e.g., a fiber optic cable), and the like.
The term “diagnostic system” refers to a system in which it is desired to monitor the operation of one or more end point devices. A diagnostic system contains at least two devices transmitting and/or receiving data from one another. A diagnostic system may be any size of system including, but not limited to, as few as two devices to as many devices necessary to create a LAN, WAN, SAN, Internet, intranet, and the like.
The term “end point device” is used to refer to a device in a diagnostic system whose operation is monitored and which transmits data relating to the operation thereof. Further description of some end points is given below which includes computer systems, storage devices, LAN ports, SAN ports, RAID controllers, and network test access points (“TAPs”). However, the aspects of the present invention can be applied to any end point device which is desired to be monitored for operations including, but not limited to, fax machines, cell phones, printers, and the like.
The term “data” is used to refer to any information relating to the operation of an end point device that is configured into any format which enables the data to be transmitted. Thus, the definition connotes both a format element and a content element. With regard to the format element, the term “data” encompasses any transmission format including, but not limited to, electrical and optical transmissions as well as any other format in which data can be transmitted. The term “data” can include both digital and analog transmission formats. Because “data” can include any transmission format, the present invention extends to any communication protocol, interface equipment, and/or other hardware or software for enabling data transmission in any transmission format such as, but not limited to, serial protocol, fiber channel, small computer systems interface (SCSI), advanced technology attachment (ATA), serial advanced technology attachment (SATA), universal serial bus (USB), fire wire, and the like. Thus, any current or future developed communication protocols are contemplated to be within the scope of the present invention. The term “wirelessly transmitted data” specifically refers to data that is formatted for wireless transmissions (e.g., electromagnetic, optical, acoustic, and the like). The term “signal” is used to refer to any indicator of data that a wireless transmission may use. When information is transmitted wirelessly, it may be sent having certain signal strength depending on the employed wireless data transmission technique.
The data format can also include packaging the data in any manner suitable to a particular protocol being used to transmit the data. That is, data can be transmitted as a data packet; a datagram; a frame; a data frame; a command frame; an ordered set; or any unit of data capable of being routed or otherwise transmitted through a system. Thus, “data” can also comprise transmission characters used for transmission purposes, protocol management purposes, code violation errors, and the like. For example, data may include transmission codes such as, but not limited to, a Start of Frame (“SOF”), an End of Frame (“EOF”), an Idle, a Receiver-Ready (“R_RDY”), a Loop Initialization Primitive (“LIP”), an Arbitrate (“ARB”), an Open (“OPN”), and Close (“CLS”)—such as, those used in certain embodiments of Fibre Channel. Data format may also include any header, addressing or formatting information needed to direct the data to a particular location. Of course, any transmission protocol data of any size, type or configuration may be used, including, but not limited to, those from any other suitable protocols.
The data content is similarly unrestrictive. “Data” can refer to any information relating to the operation of an end point device. For example, “data” can include diagnostic data which is used to further analyze an end point device to produce results data relating to the end point device's proper functioning. Diagnostic data can include statistical data. “Data” can be traffic data relating to the data transmissions of a physical transmission medium which is used to monitor the type of data transmission, security of data transmission, rate of data transmissions, and the like, being transmitted through that particular physical transmission medium. Examples of types of diagnostic data are provided with each exemplary embodiment disclosed below.
“Data” may also include in/out (I/O) data that is transferred between a first end point device and a second end point device. Typically, I/O data is involved when using devices such as printers, storage devices, keyboards, and mice. Some I/O devices can be input-only devices (keyboards and mice); others can be output-only devices (printers); while still others can provide both input and output of data (hard disks, diskettes, writable CD-ROMs). The term “data” can also include information that is capable of being displayed (read) and modified (written). Read/write data covers any objects such as disks, files, directories, graphics, or other data content that can be selected and/or manipulated. Thus, I/O data that is read to a disk could be considered read/write data.
The term “wireless transceiver” is used to refer to any hardware or software used to translate physically transmitted data into wirelessly transmitted data or vice versa. Because the term “wireless” can encompass any wireless transmission technique, the term “wireless transceiver” is similarly broadly construed as encompassing any hardware/software required to accomplish such translation. The hardware/software may be discretely contained within a housing unit, or may be disposed on multiple different locations one a wireless device that operate together to form the function of a “wireless transceiver.” For example, components of a wireless transceiver may be located in various areas on one or more printed circuit boards and still be able to accomplish the task of converting physically transmitted data to wirelessly transmitted data or vice versa. Further, a “wireless transceiver” may be formed when coupling one unit containing some wireless transceiver components to a host device that contains other wireless transceiver components to cooperate together to operate as a wireless transceiver. In addition, the term “wireless transceiver” covers both the ability to transmit wirelessly transmitted data and/or to receive wirelessly transmitted data. In some embodiments, some wireless devices of the present invention will only be configured to transmit wirelessly transmitted data or configured to receive wirelessly transmitted data, both of which embodiments are contemplated within the scope of the term “wireless transceiver”. Thus, the term “wireless transceiver” is not dependent on the direction of the wireless transmissions being outgoing or incoming, but can include one or both directions.
The term “wireless transceiver module” is used to refer to a modular or portable unit capable of converting physically transmitted data into wirelessly transmitted data that is couplable or pluggable into a port in another device. The term “wireless transceiver adapter” is used to refer to a modular or portable unit capable of converting physically transmitted data into wirelessly transmitted data that is couplable or pluggable into a port in another device. The other device could be, for example, a non-wireless transceiver module. The term “wireless transceiver daughter card” is used to refer to a circuit board that is configured to electrically connect or plug into another circuit board or mother board, the circuit board capable of converting physically transmitted data to wirelessly transmitted data.
In addition, in devices that only receive and transmit wirelessly transmitted data, but are not required to convert the wirelessly transmitted data into physically transmitted data, the term “wireless transceiver” also refers to hardware or software that is capable of both receiving and transmitting wirelessly transmitted data.
The term “probe” is used to refer to a device that monitors one or more end point devices for the existence of transmitted data. The probe is then able to receive the transmitted data. A probe may or may not perform analysis on the transmitted data, but generally transmits the data to another analyzer wirelessly and/or by way of a physical transmission medium. A probe may also be connected to one or more end point devices via a physical transmission medium to monitor the transmissions. The probe may then transmit the transmissions to another device.
The term “diagnostic device” refers to a device that can monitor one or more end point devices for the existence of transmitted data. The diagnostic device is then able to receive the transmitted data and perform at least some analysis on the data to produce results data. The diagnostic device may or may not retransmit the data or results data to another analyzer either wirelessly or through a physical transmission medium.
The term “analyzer” refers to a diagnostic device that receives information from a probe or another diagnostic device. As such, it is able to receive data via physical transmission or wireless transmission. Besides the fact that the analyzer is at least one step removed from the end point devices and that it can obtain information via physical communication as well as wireless communication, in all other respects, the term “analyzer” should be given the same interpretation as a diagnostic device.
The terms “test access point” or “TAP” refer to a device that monitors data transmission on a physical transmission medium. The TAP may then wirelessly transmit or transmit by way of a physical transmission medium the data to another wired and/or wireless device.
Other terms will be further defined herein in the following and in the claims.
The dashed lines between WDD/probe 52 and the other components of wireless diagnostic system 50 emphasizes that communication is wireless. On the other hand, the solid arrows 57 indicate that the WDD/probe 52a and/or other components can communicate via physical transmission media, wherein arrow 57a indicates incoming data and arrow 57b indicates outgoing data. The dashed/dotted lines shown in some of the figures indicate that transmission can occur either by wireless transmission or physical transmission.
Exemplarily, WDD/probe 52 monitors data transmissions from various end point devices on wireless diagnostic system 50. The end point devices contain sensing hardware and/or software for monitoring activity thereon. The end point devices also include hardware and/or software for transmitting data containing the monitored information to WDD/probe 52. Optionally, the end point devices can include physical transmission devices 57a-b for data communication. WDD/probe 52 can monitor various end point devices simultaneously or may switch between multiple end point devices. WDD/probe 52 receives the transmitted data and can either analyze the data or retransmit the data to (1) a base station/frequency hop/repeater 53a-d, or (2) to an analyzer/collector 55a-c.
Base station/frequency hop/repeater 53a-d (hereinafter “base/hop/repeater”) can optionally be disposed between a WDD/probe 52 or other end point device and analyzer/collector 55a-c. In one embodiment, base/hop/repeater 53 is a base station, which refers to any fixed transmission and reception station for handling wireless traffic. A base station generally includes a transceiver which receives and transmits wirelessly transmitted data to another base/hop/repeater 53 or analyzer/collector 55. A frequency hop is any structure that modulates carrier signals such that the signal from a probe 52 or other end point device can change channels or frequencies. Hopping can occur using a predictable or random method. A repeater is any structure which generally amplifies, retimes, and/or reconstructs a signal. A series of repeaters can make possible transmission of a signal over a long distance. Repeaters can remove unwanted noise in an incoming signal, amplify a signal, and may also include an isolator to prevent strong signals from damaging the receiver. Further, a single device could provide one or more of the functions of a base station, frequency hop or repeater. Finally, aspects of base stations, hops or repeaters could be combined in other system devices such as in the WDD/probe 52a-c or analyzer 55/collector 55a-c
As disclosed herein, base/hop/repeater 53a-d can include components which enable wireless communications with various components in the wireless diagnostic system 50, including WDDs/probes 52a-c. A base/hop/repeater 53a-d may switch between multiple wireless probes 52. Additionally, base/hop/repeaters 53c and d can be wired to physical transmission devices 57a and 57b.
Eventually, data from one or more end point devices is transmitted to an analyzer/collector 55. An analyzer is any hardware and/or software configured to analyze collected data, such as the diagnostic devices disclosed herein. Thus, the analyzer could be, for example, a client computer having analyzing software, or a specialized hardware device designed with analyzing software. After analyzing the data, the analyzer can send the results data to another device on the system. A collector is hardware or software that acts as a repository for collected data, wherein the collected data can then be accessed or otherwise transmitted to another device. The collector could be, for example, a server having data storage and/or reporting software.
The analyzer/collector 55 may also generate or receive control signals based on the analysis of the collected data, and may transmit the control signal back via the same or a different pathway back to the originating end point device. For example, the analyzer/collector 55 may send a control signal back to a base/hop/repeater 53, which redirects the control signal to the appropriate wireless probe 52, which then sends the control signal to the correct end point device. As such, each component in wireless diagnostic system 50 can potentially send and/or receive wirelessly transmitted data, which can include diagnostic data or any other type of data.
In at least one embodiment, wireless communication is accomplished using radio frequency (RF) signals generated and/or received using wireless transceivers. The wireless transceivers are circuitry and/or hardware that convert data to RF signals, data to RF signals, and vice versa. The RF transceivers, for example, contain a microchip enabled with RF circuitry. In one embodiment, the microchip is able to transmit and receive over distances of up to 5 miles. In other embodiments, the microchip can transmit and receive over distances of more than 5 miles. Alternatively, the microchip can transmit and receive at a relatively lower frequency to transmit an RF signal to WDD/probe 52 or base/hop/repeater 53, which can then retransmit the signal at a higher frequency. However, other wireless transmission techniques can be used and are within the scope of the present invention.
Generally, wireless devices of the present invention can be employed to reduce or minimize, where possible, the number of physical connections to a network so as to decrease the cost of implementing a diagnostic system. However, a “wireless” component may also have some elements of physical connections (e.g., metal wire or fiber optic cable) in order to allow the component to perform its sensing, collecting, monitoring and/or analyzing functions, yet still be able to communicate the sensed, collected, monitored and/or analyzed data wirelessly to a probe and/or other components.
Some exemplary end point devices of the networks of the present invention will now be disclosed in further detail. As shown in
Wireless diagnostic system 50 may include one or more LAN ports 56a-b. Such LAN ports 56a-b can be considered to be any electronic devices configured to TAP into a LAN. LAN ports 56a-b are also outfitted with wireless communication capabilities to enable wireless communication with WDD/probe 52, as well as other wireless components in wireless diagnostic system 50. More particularly, LAN port 56a can communicate with hardware and software for transmitting and receiving data, such as statistical data. In addition, LAN port 56b is disclosed having physical transmission devices 57a-b to receive and transmit data communications. As such, LAN ports 56a-b can enable WDD/probe 52 to access data therefrom in order to monitor and/or analyze any of the various functionalities or protocols operating thereon. Moreover, it will be recognized that any of LAN ports 56a-b could also be WAN ports, Internet ports, intranet ports, and like data communication ports, wherein such LAN ports can be configured to communicate with WDD/probe 52 by having a static or dynamic IP address.
Wireless diagnostic system 50 may include one or more computer systems 58a-b. Computer systems 58a-b can be configured to access the wireless diagnostic system 50 via WDD/probe 52 as well as other networks, such as the Internet, through standard network connections (including wireless). Also, computer systems 58a-b include hardware and software that are configured to enable wireless communication between other computer systems 58a-b as well as any wireless enabled component within wireless diagnostic system 50, which can be used for transmitting and receiving diagnostic data, I/O data, and/or read/write data. In addition, computer system 58b is disclosed having physical transmission devices 57a-b to receive and transmit data communications. In order to communicate with WDD/probe 52, each computer system 58a-b can include a dynamic or static IP address. Exemplary computer systems 58a-b include personal computers, laptop computers, PDAs, and the like.
In at least one embodiment, wireless diagnostic system 50 includes one or more SAN ports 60a-b. SAN ports 60a-b can be considered to be any electronic device configured to access a SAN, such as by way of a TAP for example, and are outfitted with wireless communication capabilities to communicate with WDD/probe 52, as well as with the other components in wireless diagnostic system 50. More particularly, SAN port 60a can have hardware and software for transmitting and receiving data, such as statistical data. In addition, SAN port 60b is disclosed as having physical transmission devices 57a-b for transmitting and receiving data communications. As such, SAN ports 60a-b can enable WDD/probe 52 to access data therefrom in order to monitor and/or analyze any of the various functionalities or protocols operating thereon. Also, to enable proper communication with WDD/probe 52, each SAN port 60a-b can operate with a dynamic or static IP address.
In at least one embodiment, wireless diagnostic system 50 includes one or more Redundant Array of Independent Disks (“RAID”) controllers 62a-b. In order to communicate with WDD/probe 52 as well as other wireless components, RAID controllers 62a-b are equipped with integrated wireless capabilities, or may interface with an adapter that has wireless communication hardware and/or software. More particularly, RAID controller 62a can have hardware and software for transmitting and receiving diagnostic data and/or read/write data with the individual devices in the redundant array as well as with the network diagnostic WDD/probe 52 or other components in the wireless diagnostic system 50. In addition, RAID controller 62b is disclosed as having physical transmission devices 57a-b for data communications with other components in the wireless diagnostic system 50 as well as with the individual devices in the redundant array. In any implementation, the RAID controllers 62a-b can be any controller that controls any type of redundant array of independent storage devices. The RAID controllers 62a-b are I/O devices that control the layout and format of the data, which can place read and/or write data across multiple media or device types according to the RAID group specified. As such, the RAID controller can operate within the redundant array, but also communicate with WDD/probe 52 via wireless communications. Moreover, in order to properly communicate with wireless probe 52, each RAID controller 62a-b can operate with a dynamic or static IP address.
Wireless diagnostic system 50 may also include one or more network TAPs 63a-b. Network TAPs 63a-b are usually placed in-line with a physical transmission medium, generally in such a manner that they do not have an IP address. However, it is possible for a network TAP 63a-b to operate with a static or dynamic IP address. Usually, a communication line is spliced and a network TAP 63a-63b placed therebetween. Thus, the physical transmission lines 57a-b of network TAP 63b represent the spliced ends of a communication line. However, in the network TAPs 63a-b is hardware and/or software to allow the network TAP to communicate wirelessly with WDD/probe 52 as well as other network components for transmitting and receiving diagnostic data and/or read/write data.
In order for the network components disclosed above (as well as other wireless network components that may be used depending on design considerations) to communicate, generally, either workgroup or domain IP communication protocols can be used. In the workgroup communication regime, any of the wireless communication devices can use a static IP address and broadcast the data. In this manner of wireless communication, the wireless device broadcasts a general signal that can be received by all of the other wireless devices in the network. However, the broadcast includes a unique identifier that identifies the intended recipient of the communication. As such, any wireless communication device that receives the communication can compare the broadcasted unique identifier with their own unique identifier so as to determine whether or not there is a match. When the broadcasted unique identifier matches the recipient unique identifier, the recipient will acquire the signal and receive the data being transmitted. On the other hand, when the broadcasted unique identifier does not match the recipient unique identifier, the recipient will ignore the transmission. Thus, workgroup communication protocols can be used so that general transmissions can be filtered by the receiving wireless communication devices based on broadcasted intended recipient unique identifiers.
Under the domain IP communication protocol, the wireless communication device includes a dynamic IP address. That is, the data transmission is configured to determine the IP of the intended recipient so that only the intended recipient receives the data. As such, instead of a filtering mechanism being on the receiving end of the transmission, the transmitter identifies the location of the target recipient by the IP address and only transmits the data to that IP address.
Additionally, the data transmission from any of the wireless components can include a serial number to identify the transmitting entity. The use of a serial number for the individual transmitting device can be used for identification because each of the various components will have a unique serial number. As such, in the example of multiple hard storage devices or storage devices 54a-b, use of the unique serial numbers can enable WDD/probe 52 to distinguish between each of the hard storage devices. Also, it should be recognized that identifying indicia other than the serial number can be used for identification purposes within the wireless diagnostic system 50.
In another example, WDD/probe 52 may also have a unique serial number for determining a general geographic region from which a signal is being transmitted. Where there are multiple network diagnostic WDD/probes 52, this can be important in determining the location in the network experiencing the activity being reported on by a particular network diagnostic WDD/probe 52. Accordingly, the serial number can be used as identification of the transmitting device so that the transmitting device can be tracked down and further analyzed when the WDD/probe 52 finds a problem.
For example, at the bottom level of the tier, multiple end point devices, e.g., 54a, 54b, 60a and 60b may transmit to a single WDD/probe 52a via low powered transmissions, wherein the single WDD/probe 52a can be considered to be an aggregator. The single WDD/probe 52a can aggregate the low power transmissions and retransmit them at a higher-strength signal. Multiple WDD/probes 52a, 52b, 52c can then transmit to a single base/hop/repeater 53a via high powered transmissions. Thus, base/hop/repeater 53a can also be considered an aggregator. Multiple base/hop/repeaters 53a, 53c can transmit to a succeeding base/hop/repeater 53b and so on, allowing each transmission node to be a converging point for multiple signals. Thus, it is possible for the final analyzers/collector 55 to receive and transmit to multiple WDD/probes 52.
Various configurations for wireless diagnostic system 50 can exist due to the ability to send low-strength and high strength signals. The components of the network can be modularly configured to transmit at higher or lower signals. For example, some or all of the devices of the network may be constructed with chassis having ports or receptacles configured to receive wireless transceivers modules, wireless transceiver daughter cards, wireless transceiver adapters, or other pluggable wireless transceiver devices. The wireless transceiver can be selected based on the desired transmission range of the device. So, for example, where it is desired that end point devices transmit at lower strength, the wireless transceiver is selected for that particular range. Similarly, the wireless transceiver can be selectively placed in hardware devices throughout the network to enable the user to custom-design the transmission range of each device, if so desired.
In the following
Storage unit 74 includes a plurality of data storage devices 76. Each of the storage devices 76 can be outfitted with hardware and software for wireless communications. For example, in a SAN environment, storage unit 74 may include over 200 storage devices 76. Storage unit 74 also includes a wireless transceiver 78a, which can be comprised of independent or integrated hardware or software for converting physical data transmissions to wireless data transmissions. Accordingly, wireless transceiver 78a allows storage unit 74 to transmit diagnostic data, such as self-monitoring analysis and reporting technology (“SMART”) data, about the operations and functionalities of the network storage device to wireless network storage WWDD/probe 72. Also, the transceiver 78a can send diagnostic data about its own functionalities to the WWDD/probe 72, where such diagnostic data can include power level monitoring, modulation parameters, and the like.
Generally, WWDD/probe 72 monitors a channel to determine if wirelessly transmitted data is present on the channel, and, if detected, receives the wirelessly transmitted data from the channel. In addition, WWDD/probe 72 can send a query to wireless transceiver 78a to request the diagnostic data. Further, WWDD/probe 72 can actually retrieve the wirelessly transmitted data instead of passively waiting for it. Accordingly, WWDD/probe 72 can include a wireless transceiver 78b located on the WDD/probe for receiving and transmitting wireless communications. Further details of an exemplary WWDD/probe 72 are disclosed below with reference to
In accordance with the present invention, some of the various types data that data storage unit 74 may communicate with WWDD/probe 72 relates to storage device fitness test (“DFT”) and/or self-monitoring analysis and reporting technology (“SMART”), which are storage device diagnostic tools or data. These diagnostic tools can provide error logging and self-test capabilities. Accordingly, storage unit 74 can periodically, randomly, or upon request from WWDD/probe 72, transmit the DFT and/or SMART data to WWDD/probe 72. In one embodiment, the data transmitted to WWDD/probe 72 is collected by an analysis card 82 in storage unit 74. For example, card 82 can be a daughter card that plugs into a larger mother board.
Wireless transceiver 78a in storage unit 74 can obtain any other statistics or other information related to the operation of storage unit 74, in addition to the types of data disclosed above, and wirelessly transmit such data to WWDD/probe 72 for analysis by analyzer/collector 55. Analyzer/collector 55 can then analyze the data and generate reports which can be sent remotely to an administrator. The analyzer/collector 55 can also generate control signals that are sent back to WWDD/probe 72, which passes the control signals to wireless transceiver 78a in the storage unit 74.
If WWDD/probe 72 sends control signals back to storage unit 74, wireless transceiver 78a can communicate with hardware and/or electronics, including circuitry and/or software, capable of receiving the control signals and acting upon the control signals. For example, the electronics may include, but is not limited to, one or more actuators, temperature control devices, power control devices, motors, or other systems controllers, and the like. As such, the end point device can be controlled remotely via WWDD/probe 72. When the control signals are issued from computer/server 80, the computer/server 80 can send the control signals through WWDD/probe 72, or, alternatively, computer/server 80 can also include a wireless transceiver 78c to send the control signal directly to the wireless transceiver 78a of storage unit 74.
While WWDD/probe 72 can receive diagnostic data and transmit control signals, in one embodiment, WWDD/probe 72 can also save and retain the data that is being received or transmitted. WWDD/probe 72 may also have analysis capabilities to use this saved information and then to base subsequent decisions on analyses performed. For example, in one embodiment, WWDD/probe 72 can receive multiple data points during an analysis period and can analyze the data points to determine whether the data point has changed over time. When a particular data storage device 76 exhibits a deviating behavior pattern, this suggests to the WWDD/probe 72 that a deteriorating functionality may be occurring. WWDD/probe 72 can then take precautionary measures such as send a control signal back to storage unit 74 to attempt to correct the problem. Alternatively, WWDD/probe 72 could flag the storage device 76 as being susceptible to imminent catastrophe, service and/or replacement, and send a report to computer or server 80.
In one embodiment, WWDD/probe 72 can also gather all of the transactions at the Initiator/Target/LUN level (host to storage conversations) of the storage unit 74. WWDD/probe 72 can then generate diagnostic data of the transactions at the Initiator/Target/LUN level, thus providing detailed statistics on the health and performance of the storage unit 74.
In yet another embodiment, WWDD/probe 72 can be integrated or coupled with analyzer/collector 55, eliminating the need for base/hop/repeaters 53 disclosed above in
In addition, as shown in
Such wireless capabilities can produce additional advantages. For example, in one embodiment, the storage unit 74 could be configured to be a modular storage structure by providing a storage device enclosure sized and shaped depending on the type and number of storage devices it will hold. The storage device enclosure would also contain wireless transceivers so that the storage device enclosure can act as a stand-along storage unit that is wirelessly enabled. For example, the storage device enclosure could include power components, a fan, and a wireless transceiver and antenna. The enclosure could also include a RAID controller, storage cache, and other compartments for additional components depending on design specifications. In order for a computing device to operate these modular storage structures, the computing device could boot off a local PROM, containing enough memory to boot up the hardware and IP stack. An administrator could then control, protect, clean, backup and otherwise monitor the modular storage structures remotely. Since a storage device enclosure could be constructed for various types of storage devices, the storage device enclosure could retrofit existing storage devices, such as hard storage devices already in use, making implementation of the wireless feature simple. Further description regarding a variation of this embodiment is included herein with reference to
In another embodiment, the storage unit 74 can include synchronization capabilities through a cache front end. Synchronization capabilities enable the mirroring of storage devices 76 within the storage unit 74 as well as mirroring of storage devices positioned at remote locations using wireless data transmissions. For example, a first storage device 76 can operate so as to respond to users or operating systems that are accessing and/or using read/write files or program applications. Concurrently, a second storage device 76 could receive data in order to mirror the first storage device 76, wherein the second storage device 76 is used by an administrator for backups, archives, and the like. As such, the mirroring of the first storage device 76 to the second storage device 76 could be done by physical data transmission or wireless data transmission. Additionally, a third storage device (not shown), which is another storage device within the network located about 2 miles to about 5 miles away, could additionally mirror the first storage device 76. As such, the wireless communication capabilities disclosed herein could provide for mirroring data storage devices so that the data is retained in multiple storage devices at different locations.
In another embodiment, the third storage device, or other remote storage device, could be used as a roaming storage device. As such, the storage device is configured to be portable so as to be capable of roaming into and out of the wireless communication network. When the roaming storage device comes into range, it will automatically synchronize all changes since the previous synchronization. This process would enable the new data entered into the roaming storage device to be stored within the storage unit, and all relevant new data entered into a certain storage device, such as the first storage device 76 or the second storage device 76 to then be wirelessly transmitted to the roaming storage device.
While
The foregoing description of
This ability to wirelessly access end point devices and/or diagnostic devices/probes is reflected in one embodiment where WWDD/probe 72, for example, is configured to allow a user to upload firmware and/or software to the WDD/probe. That is, the WWDD/probe 72 can receive firmware and/or software upgrades from the user, which can be supplied through an interface or port on the WWDD/probe 72. In one embodiment, a user can issue a single command that upgrades all diagnostic devices/probes in the network at the same time.
The wireless diagnostic systems disclosed herein provide increased abilities to configure a diagnostic system more efficiently and with more capabilities than were theretofore possible. Additionally, the cost benefit realized by providing wireless diagnostic functions is dramatic. Physical transmission media such as copper cables or fiber optic cables are expensive, and in some cases, require expensive connectors or interface adapters. Furthermore, particularly in the case of optical cables, installation requires great care. If there are any kinks, misalignments or ill-fitted connections, the optical transmission medium will not work efficiently. Often the installation personnel are not well-versed in the care that is needed in fitting optical connections. Further, the connection must often be tested to ensure proper transmission and integrity of the transmission medium. As such, the setup of a network or a data center with any physical transmission medium can be cost prohibitive or severely drain the financial resources of the enterprise.
In addition, after installation, often one of the first steps an administrator will advise when diagnosing an inefficiently operating network is to exchange the physical communication medium, such as by replacing a fiber optic cable. This requires additional spare cables or lines to be on hand in case of network failure, further increasing the cost of maintaining a network or system. Being able to eliminate even this step of determining where the problem in a system communication lies is a benefit to users and/or system administrators. Thus, the wireless diagnostic systems of the present invention not only drastically reduce the cost of installation and maintenance, but also can greatly reduce and/or eliminate the problems of installing and ensuring that diagnostic systems operates properly.
Accordingly, wireless transceiver daughter card 82 can collect data about the storage devices 76 or overall performance of storage unit 74 and transmit such diagnostic data, such as SMART data for example, to WWDD/probe 72. In some embodiments, wireless transceiver daughter card 82 contains circuitry to aggregate diagnostic data from other non-wirelessly enabled daughter cards 82 and then communicate with WWDD/probe 72. In this way, wireless transceiver daughter card 82 acts as a liaison for the other cards. However, multiple cards 82 may be wireless transceiver daughter cards and may each be used to communicate separately with WWDD/probe 72. Both wireless transceiver 78a and wireless transceiver daughter cards 82 can also be configured to send both data, such as read/write data, and diagnostic data.
In embodiments where storage devices 76 form a RAID, a RAID controller 77 is provided to control the layout and format of the data. In the embodiment of
In another embodiment, the RAID controller 77 communicates with a wireless transceiver daughter card 82. As discussed above, the RAID controller 77 provides the data, such as read/write data, and, optionally diagnostic data, such as SMART data, to the controller 79 so that the wireless transceiver 78a can communicate the data to WWDD/probe 72 and/or computer/server 80. Thus, RAID controller 77 can communicate with both wireless transceiver 78a and wireless transceiver daughter card(s) 82 so that, in one exemplary configuration, RAID controller 77 can transmit data, such as read/write data, via the wireless transceiver 78a, and transmit diagnostic data, such as SMART data, via the wireless transceiver daughter card 82.
Accordingly,
With reference to
Starting with
The embodiment of
Integrated circuit 106 can be any electrical circuit that provides wireless capability such as, but not limited to, an application-specific integrated circuit (ASIC), Monolithic Microwave Integrated Circuit (MMIC), or Radio Frequency Integrated Circuit (RFIC). Additionally, a controller 110 may be provided on printed circuit board 104 to facilitate the operation of the wireless transceiver module 100A and to enable data conversion between physically transmitted data and wirelessly transmitted data. In one embodiment, controller 110 is in the form of software written onto ROM, PROM or EPROM or a combination of software and hardware, such as firmware.
Wireless transceiver module 100A also includes an antenna 112 electrically connected to the integrated circuit 106. Antenna 112 can be connected to any location on the housing of wireless transceiver module 100A, such as near an edge of the housing or centered with the housing. Further, while antenna 112 is shown exterior to the wireless transceiver module 100A housing, antenna 112 could be configured within the interior of the housing for example, a flexible strip embedded on a laminate layer or other printed circuit board (see
Additionally, the printed circuit board 104 includes a power assembly 115. The power assembly 115 can receive power from the GBIC port and/or the host device containing the GBIC port. Thus, the host device can supply power to the power assembly 115 so that the GBIC with its wireless components can function properly.
Thus, wireless transceiver adapter 118 can be formed separately and sold separately from non-wireless transceiver module 116. Wireless transceiver adapter 118 may be beneficial where, for example, the wireless components may not fit within the size requirements of standardized transceivers. This arrangement allows for retrofitting existing non-wireless transceiver modules 116 while still allowing wireless transceiver adapter 118 to include all of the software and hardware necessary for wireless transmissions. Thus, the wireless transceiver adapter 118 can provide the wireless communication components while the non-wireless transceiver module 116 transmits data from the host device 108 to the wireless transceiver adapter 118.
In embodiments where non-wireless transceiver module 116 includes optical components, interface 119 can provide optical communication between non-wireless transceiver module 116 and wireless transceiver adapter 118. Alternatively, where non-wireless transceiver module 116 includes only electrical components, interface 119 can provide electrical communication between non-wireless transceiver module 116 and wireless transceiver adapter 118. In some embodiments, as shown in
Wireless transceiver adapter 118 also includes transceiver components 128 to receive and transmit optical signals through cable 126. The transceiver components 128 can be used to convert optical to electrical signals. In addition, integrated circuitry 106 converts the electrical signals to wireless signals. Wireless transceiver adapter 118 could be permanently connected to optical cable 126 or could include a first port (not shown) for connecting to optical cable 126. Thus, the wireless transceiver adapter 118 is connected externally to a non-wireless transceiver module 116 via cable 126. Wireless transceiver adapter 118 can be configured with multiple transceiver components 128 to connect to multiple non-wireless transceiver modules 116 so that a single wireless transceiver adapter 118 can be used to make multiple transceivers wirelessly enabled.
While general descriptions of wireless transceiver modules and wireless transceiver adapters have been provided in connection with FIGS. 6A-D, one skilled in the art should appreciate that not all of the various components and subcomponents are required to be present as shown for providing the proper functionality. As such, the elements and aspects disclosed in connection with FIGS. 6A-D can be included, excluded, modified, and/or combined. Additionally, it is possible that the elements and aspects could be incorporated in a host device, computing system, or card that operates with the wireless transceiver modules and/or wireless transceiver adapters. For example, the integrated circuitry 106 and controller 110 could be combined into a single element, or optionally, provided as part of the host device, host transceiver module, and/or the like.
Turning now to
Additionally, the WWDD/probe 72 can query for the diagnostic data, such as SMART data, by sending a query to the wireless transceiver 78a and/or the wireless transceiver module 84a in communication with card 82. There may be instances where the wireless transceiver 78a is able to receive a query and transmit the corresponding diagnostic data. On the other hand, there may be instances where the wireless transceiver 78a is incapable of concurrently transmitting and receiving such data. Thus, having the wireless transceiver 78a and/or wireless transceiver module 84c receive a query can enhance the functionality of the storage unit 74, storage devices 76, and the WWDD/probe 72.
In addition, there may be instances where wireless transceiver module 84b is capable of communicating data, such as read/write data, to the computer/server 80, as well as communicating diagnostic data to the WWDD/probe 72. However, by having multiple wireless transceiver modules 84 capable of independently or cooperatively communicating data with the WWDD/probe 72 and/or computer/server 80, the wireless diagnostic system 70E can operate in a more efficient manner. Thus, the wireless transceiver modules 84 can independently communicate read/write data with the computer/server 80 or diagnostic data with the WWDD/probe 72, or cooperatively distribute all data to the proper wireless device.
In yet another embodiment, storage devices 76 can communicate with wireless transceiver 78a via a physical transmission medium. Using electrical or optical connections, the storage device 76 can still communicate data to wireless transceiver 78a, which can aggregate the data and send it to WWDD/probe 72.
The above examples for wireless diagnostic systems 70A-70E illustrate a storage unit 74 as an exemplary end point device. However, storage unit 74 could easily be replaced with any of the end point devices disclosed above with reference to
Similar to the wireless transceiver modules disclosed herein, the wireless transceiver adapter 130 includes a printed circuit board 120, power assembly 122, and integrated circuitry 106 in communication with an antenna 112 with optional hinge 114. Wireless transceiver adapter 130 may further include controller 140. Controller 140 is configured to control the operation of the host device to which the wireless transceiver adapter is connected. Controller 140 can be implemented in the form of software written onto ROM, PROM or EPROM or a combination of software and hardware, such as firmware. Suitable controllers 140 can be developed to control various devices, such as for USB 132, fire wire 134 and hard drives 136. Controller 140 also enables, for example, the USB port to be able to function as a normal USB port and be able to send and receive other data.
Wireless transceiver adapter 130 includes an interface 138 that can be configured depending on the type of port to which adapter 130 is being applied. Thus, for USB devices, interface 138 may be configured to plug into a USB port, for hard storage device devices, interface 138 may be appropriately configured to plug into a corresponding port and so on. In one embodiment, the interface 138 can be selectively removable so that a different interface 138 can be attached to a base RF adapter 130 to reduce the manufacturing cost. However, in other embodiments, interface 138 can be integrally formed as part of adapter 130.
Power assembly 122 can enable the adapter 130 to be powered by the data cable that is plugged into USB port itself. Alternatively, as discussed above, a separate power source may be included in wireless transceiver adapter 130.
The embodiment of the wireless transceiver adapter 130 being applied to hard storage device 136, is one method of implementing the configuration of
Another embodiment of a wireless storage device 142 is disclosed in
However, in contrast to conventional network TAP systems, network TAP 96 can be configured to transmit and receive data via a physical transmission medium or wirelessly, for example, using wireless transceiver 78b either separately connected or integrally formed, for example, in integrated circuitry of the network TAP 96. This enables network TAP 96 to communicate wirelessly and/or via a physical transmission medium with, for example, a WWDD/probe 72 or base/hop/repeater 53 and/or analyzer/collector 55 to transmit a copy of all or a portion of the data that passes through the network TAP 96. With reference to
WWDD/probe 72 can analyze the data sent by the TAP 96 and create statistics or generate control signals based on these statistics. Alternatively, network TAP 96 can perform some of the analysis and report the results to WWDD/probe 72. A plurality of TAPs 96 could be configured to report and receive data to/from a single WWDD/probe 72 or base/hop/repeater 53, even though the number of wireless transceivers in the WWDD/probe 72 or base/hop/repeater 53 could be less than the number of TAPs 96 with which the probe 72 or base/hop/repeater 53 is corresponding. This is possible due to the switching and/or scheduling that the WWDD/probe 72 or base/hop/repeater 53 implements, disclosed further below. Further, while not shown, storage unit 74 could be wirelessly enabled by implementing one or more wireless transceivers as has been disclosed above in great detail. Each of the devices of
Due to the potential number of wireless transceivers that can be implemented in a single end point device or in multiple end point devices within close proximity of each other, interference between or among wireless transceivers is a potential problem. However, there are a number of ways that such interference issues can be addressed. For example, diagnostic systems of the present invention can include construction of rooms housing the wireless hardware for optimum non-interference, using multi-antennae for wireless transmissions, using FHSS transmission schemes which allow a transmission to hop to a different frequency if interference is experienced, for high-speed wireless transmissions, such as transmission having a bit rate of more than 1 Gbps, using a 60-GHz band with an extremely wide bandwidth, such as 2.5 GHz, and the like. Other methods and techniques will also develop which can be applied to the present invention.
In addition, security is always an important issue to anyone operating a wireless system. However various methods exist for ensuring secure wireless transmissions including, but not limited to, secure shell tunneling, encryption, and/or any other security technology that is available or will be available in the future.
The switch/repeater/probe 158, 160 refers to the fact that various types of devices can be used to receive multiple channels. The switch uses switching technology in order to be able to monitor data on the multiple end point devices 162, 164. The repeater aggregates low-power signals from multiple end point devices 162, 164 and transmits a higher-power signals to WWDD/probe 152, which may also incorporate switching technology. Additionally, the WWDD/probe 152 can receive data from end point devices 162, 164 before retransmitting the data to another WWDD/probe 72 or analyzer/collector 55. In one embodiment, the switch/repeater/probes 158, 160 can be considered to be discrete and separate components that have the hardware and software to perform as a switch, repeater, or a probe. Alternatively, the switch/repeater/probe 158, 160 can have the hardware and software to perform a combination of the switch, repeater, and/or probe functions. Thus,
For example, a WWDD/probe 152 can roam through a predetermined set of channels to determine if data is present on any of the channels. If data is found on any of the channels, the WWDD/probe 72 can receive any such data. The amount of time spent monitoring any one channel can be determined at least in part based on whether or not any data is currently being transmitted on the channel. Where data is found, for example, the WWDD/probe 72 may be configured to monitor the channel for a greater length of time than where no data is found on the channel.
Similarly, wired and/or wireless switch/repeater probe 160 has access to a second set 156 of wired and/or wireless channels (as shown by dashed lines 2, 4, 6, 8, 10, 12, 14 and 16) on which it can transmit information. Likewise, devices within range, such as WWDD/probe 152 and/or switch/repeater/probe 158 can detect information on the channels 156. Because the channels may provide a plurality of communication paths in opposing directions, first data may be sent on any of the channels in one direction and a second data or portion thereof sent in response to the first data may be sent on any of the channels in the opposing direction.
In one embodiment, some or all of the channels 154, 156 may each provide at least about 2 gigabits per second bandwidth or higher. Of course, wired and/or wireless switch/repeater/probe 158, 160 may provide less than 16 channels, more than 16 channels, or any other suitable number of channels. Also, the channels 154, 156 may have any other suitable bandwidth, including lesser or greater bandwidths.
In one example wirelessly enabled embodiment, because the network components of the present invention, or any other wireless communication device, may use any of the channels in a wireless channel scheme, the wireless devices need not wait for a particular channel to send a particular data, but can be configured to skip through various channels in order to access an available channel. For example, the switch/repeater/probe 158 or WWDD/probe 152 can use switching software that enables it to quickly establish links to any connection on the wireless network, such as scheduling sampling throughout the network. This ability for a single switch/repeater/probe that can cover an entire network by quickly switching from connection to connection can not only increase the ability for the wireless network to function properly, but can also remove the complications of having multiple switches/repeaters/probes. This is because a single wireless switch/repeater/probe can now patch into or TAP into any wirelessly enabled port within the communication network. However, larger networks, or those that cover an extended area, may need to implement multiple switches/repeaters/probes.
As disclosed in
User interface 180 may also include controls that allow a user to configure the wireless network, set switching frequency, set channels, set mode of sending/receiving wireless signals for each device such as workgroup or domain IP communication protocols, and the like.
As discussed above, WDD/probe 52, WWDD/probe 72 and/or WWDD/probe 152 can be configured to be a network monitoring tool, such as, but not limited to, a wired and/or wireless probe, wired and/or wireless network TAP, bit error rate tester, protocol analyzer, generator, jammer, statistical monitor, or other diagnostic tool.
The WWDD/probe 200 can also include, or alternatively include, wired communication components 209 that are configured to enable wired communications over physical transmission media—which may be referred to herein as “wired communications.” The wired communication components 209 include one or more connectors 211 that are each configured to physically connect to a physical transmission medium. For example, the one or more connectors 211 may each be an LC or SC connector configured to connect to a fiber optic cable or an RJ-45 connector configured to connect to a copper cable. In one example embodiment where the WWDD/probe 200 includes the wired communication components 209 in lieu of the wireless communication components 208 and the antenna 210, the WWDD/probe 200 is properly termed a wired diagnostic device/probe 200 since the WWDD/probe 200 would be capable only of wired communication. Thus, the WWDD/probe 200 may or may not be configured for wired and/or wireless communications.
The WWDD/probe 200 can include an adapter port 216. The adapter port 216 can be configured to be a plug-and-play adapter port that can receive pluggable modules. By providing an adapter port 216 that can receive pluggable modules, the WWDD/probe 200 can be updated to be compatible with new functionality, equipment and/or protocols as desired.
In one embodiment, the WWDD/probe 200 can include a buffer 218. Such a buffer 218 can be a small wrapping buffer that continuously records data stream in real time, such as the diagnostic data, that is being monitored and/or analyzed. Systems and methods for using buffer 218 will be disclosed below in further detail.
The amount of data that can be stored in memory device 214 and buffer 218, and the speed and processing power of processor device 212, can vary depending on the needs of the particular embodiment of WWDD/probe 200. For example, buffer 218 can be large enough to hold approximately 2 minutes of data from an end point device. Alternatively, buffer 218 can be sized to hold less than 2 minutes of data or more than 2 minutes of data from an end point device.
The data received by the wireless communication components 208 and/or the wired communications components 209 can include control signals. These control signals can be stored in the memory device 214 and processed by the processor device 212. These control signals can be configured to, for example, instruct the processor device 212 to monitor the data received by WWDD/probe 200 for specific triggering events. As used herein, the term “triggering event” refers to a predetermined event that can be identified in a stream of data. For example, a triggering event may be the occurrence of: a particular bit sequence or bit pattern; an external trigger signal; a hardware or software state such as when a protocol analyzer's buffer is filled; the absence of a particular event, bit sequence or bit pattern; a particular user input; or any other suitable circumstance.
The control signals could, for example, include instructions to WWDD/probe 200 to store the first 46 bytes of each packet in the buffer 218; check a particular byte in each packet for a non-zero value in order to determine if the packet is a SCSI command packet; and when a non-zero value is identified, send the first 46 bytes of each packet received for a designated amount of time to an aggregation server. Based on the frequency with which it receives SCSI command packets, the aggregation server may send control signals to reprogram the WWDD/probe 200 to check for some other data event. These control signals can be transmitted and received over a secure wireless or wired connection.
When an event is identified by the processor device 212 in the data received by WWDD/probe 200, the processor device 212 can store a portion of the data associated with the event in the buffer 218. This portion of the data corresponding to the event can include for example (i) a portion of the data received before the reception of the portion of the data in which the triggering event was detected, (ii) the portion of the data in which the triggering event was detected, (iii) a portion of the data received after the reception of the portion of the data in which the triggering event was detected, or (iv) a combination of (i), (ii) and/or (iii). This portion of the data associated with the event can also include, or alternatively include, a subset of (i), (ii), (iii) and/or (iv). For example, this subset of (i), (ii), (iii) and/or (iv) can include only the headers of the packets in the data, whether or not those headers are encrypted. Only the packet headers may be included in the portion of the data associated with the event in order to preserve the security of other data in the packets.
In addition, all data received by WWDD/probe 200 may be encrypted in order to ensure the security of the data within the system. The data may be encrypted using, for example, payload encryption or full encryption. Payload encryption involves encrypting only the payload portion of a data packet. Full encryption entails encryption of both the payload portion as well as any header portion of a data packet. Where full encryption is used, the DD/Probe may be configured to collect only the encrypted data packet headers.
Likewise, this portion of the data associated with the event can also include, or alternatively include, data describing the event, such as an identifier for the data event. In this case, while the portion of the data associated with the event is being updated to include data describing the event, the WWDD/probe 200 can lock the data in the buffer 218 so that the data in the buffer 218 can not be transmitted by the wireless communication components 208 and/or the wired communication components 209 until the update to the data is complete. It should be understood that portions of the data associated with the multiple events can be serially identified and simultaneously stored in buffer 218 for simultaneous transmission by the wireless communication components 208 and/or the wired communication components 209.
This portion of the data associated with the event can be stored in buffer 218 for eventual transmission by the wireless communication components 208 and/or the wired communication components 209 to an aggregation server, such as the aggregation server 306 disclosed herein in connection with
In some situations, it is desirable to be able to extend the function of the WWDD/probe 200. This extension of functionality can be accomplished by connecting one or more modular components known as blades to the DD/probe. In general, a blade refers to an analyzer type device while a probe refers to a monitoring type device. Blades are generally used to analyze what the probe captures and sends to an aggregation server. A blade is generally programmed to watch a range of frequencies and trigger on a very complex set of conditions. Blades can also generally understand a complex sequence of events.
With continued reference to the example WWDD/probe 200, the housing 202 of the WWDD/probe 200 can include two or more slots 221 with each slot being configured to accept a blade. Each of the elements included in the block 223 of
Additionally, the WWDD/probe 200 can include software 220 for enhancing the functionalities of the WWDD/probe 200 as well as the entire network. Such software can be conversion software 220a, which includes computer-executable instructions for converting RF signals to data. Additionally, the software can be switching software 220b, which allows the WWDD/probe 200 to quickly establish links to any connection on the wired and/or wireless network. For example, the switching software 220b can enable complex scheduling for data samples to be acquired by the WWDD/probe 200 from various devices within the network.
Additionally, the WWDD/probe 200 can include service contract software 220c. Service contract software 220c can enable a network manager to set up the WWDD/probe 200 in a manner that allows for remote access, such as by a remote protocol analyzer/monitor, to analyze the functionalities of the network. Thus, the service contract software 220c can provide a remote analysis of the network based on the data acquired by the WWDD/probe 200.
In one embodiment, the service contract software 220c can be configured to contact the service provider when an error or problem in the network occurs. This can include providing the service provider with the identification and location of the diagnostic data. More particularly, the software can notify the service provider of the location of the diagnostic data within an aggregation server, which includes the data obtained from the buffer 218 and the data stream sent to the point share server after the error or problem. As such, the service provider can then remotely access the diagnostic data that was originally obtained from the buffer 218 so that the network functionality can be analyzed before, during, and after the error or problem occurred.
Moreover, the software can be intrusion detection software 220d, which monitors for unauthorized attempts to access any aspect of the network, and functions to terminate such attempts by hackers. The intrusion detection software can watch for unusual patterns or unidentified IP addresses. When an unauthorized attempt is made to access the network, the intrusion software can block the attempt, disable the port being breached, or implement any other known method for inhibiting or terminating unauthorized access.
In one embodiment, the WWDD/probe 200 can include data storage 222. The data storage 222 can be any type of data storage unit, such as any optical, magnetic or any other storage material in the form of a hard drive, disk drive, or any other storage structure, that enables the WWDD/probe 200 to be capable of storing any data that is communicated thereto. As such, the data storage 222 can store the traffic or diagnostic data being communicated on the network as well as store any command controls provided by an analyzer or user. More particularly, when a user receives the diagnostic data from the WWDD/probe 200, any commands or instructions for handling the diagnostic data or correcting the problem identified by the diagnostic data can be stored within the data storage 222. Additionally, the data storage 222 can enable a user to upload additional firmware, software, and/or patches or otherwise upgrade the diagnostic device. Note that the end point could also be upgraded by transmitting upgrade software to an end point device. The ability of an end user to interact with the WWDD/probe 200 and control the functions thereof provides for enhanced usability and operation of a diagnostic system.
Moreover, the WWDD/probe 200 can either include end user interfaces (not shown) such as a monitor, keyboard, mouse, and the like or adapters (not shown) for such interfaces.
As discussed above, WWDD/probe 200 can be employed in diagnostic systems by communicating over wired and/or wireless channels. In one embodiment, the WWDD/probe 200 may comprise one or more hardware modules, one or more software modules, or both. The WWDD/probe 200 may also, or alternatively, comprise one or more wired hardware modules, one or more wired software modules, or both. In one embodiment, WWDD/probe 200 can communicate between the wired and/or wireless switches/repeaters/probes 158 and 160 such that the traffic data available to the switches/repeaters/probes is available to the diagnostic module or is routed through the WWDD/probe 200. The wired and/or wireless U switches/repeaters/probes 158 and 160 can be coupled to physical transmission media that are passing data through the network. The wired and/or wireless switches/repeaters/probes 158 and 160 can then communicate information to the diagnostic device. As such, the wired or wireless switches/repeaters/probes 158 and 160 can be common switches for optical or electrical communications in any network environment, and include a communication software or hardware module to enable communications for diagnostic or monitoring purposes.
In another embodiment, WWDD/probe 200 can communicate over a wired connection with the wired and/or wireless switches/repeaters/probes 158 and 160 such that the traffic data available to the wired and/or wireless switches/repeaters/probes 158 and 160 is available to the diagnostic module or is routed through the WWDD/probe 200. The wired and/or wireless switches/repeaters/probes 158 and 160 can be coupled to physical transmission media that are passing data through the network. The wired and/or wireless switches/repeaters/probes 158 and 160 can then communicate information to/from the WWDD/probe 200. As such, the wired and/or wireless switches/repeaters/probes 158 and 160 can be common switches for optical or electrical communications in any network environment, and include a communication software or hardware modules to enable wired and/or wireless communications for diagnostic or monitoring purposes.
The WWDD/probe 200 may perform a variety of network diagnostic functions. In performing some of these diagnostic functions, the WWDD/probe 200 may be configured to be passive to traffic data comprising data. Accordingly, the diagnostic module may passively receive at least some of the traffic data, and may passively transmit some or all of the received traffic. However, it may be preferable for the WWDD/probe 200 to simply receive information about the network via a wired and/or wireless link. In performing other diagnostic functions, the WWDD/probe 200 may be configured to alter some or all of the traffic data and/or generate traffic data.
As mentioned above, the WDD/probe 52, WWDD/probe 72, WWDD/probe 152 or the WWDD/probe 200 may perform a variety of diagnostic functions. Exemplary diagnostic devices include, but are not limited to, as any combination of: a bit error rate tester, a protocol analyzer, a generator, a jammer, a statistical monitor, as well as any other appropriate diagnostic device.
1. Bit Error Rate Tester
In some embodiments, the wireless diagnostic device may function as a wireless bit error rate tester. The wireless bit error rate tester may generate and/or transmit, by a wireless link, data in the form of an initial version of a bit sequence to another device (such as another device in a network) so that the bit sequence can be propagated through a communication path. If desired, the initial version of the bit sequence may be user selected. The bit error rate tester may also receive, by a wireless link, data in the form of a received version of the bit sequence from another device (such as another device in a network) that has received the bit sequence via a communication path.
The wireless bit error rate tester compares the received version of the bit sequence (or at least a portion of the received version) with the initial version of the bit sequence (or at least a portion of the initial version). In performing this comparison, the bit error rate test may determine whether the received version of the bit sequence (or at least a portion of the received version) matches and/or does not match the initial version of the bit sequence (or at least a portion of the initial version). The wireless bit error tester may thus determine any differences between the compared bit sequences and may generate statistics at least partially derived from those differences. Examples of such statistics may include, but are not limited to, the total number of errors (such as, bits that did not match or lost bits), a bit error rate, and the like.
A particular protocol specification may require a bit error rate to be less than a specific value. Thus, a manufacturer of physical transmission components and connections (such as, optical cables), communication chips, wireless communication modules, and the like, may use the bit error rate tester to determine whether their components comply with a protocol-specified bit error rate. Also, when communication components are deployed, the wireless bit error tester may be used to identify defects in components included in a physical communication path or wireless communication path.
2. Protocol Analyzer
In some embodiments, the wireless diagnostic device may function as a wireless protocol analyzer, which may be used to capture or receive data for further analysis. The analysis of the captured or received data may, for example, be used to diagnose data transmission faults, data transmission errors, performance errors (known generally as problem conditions), and/or other conditions.
As disclosed below, the wireless protocol analyzer may be configured to receive data in the form of a bit sequence via one or more communication paths or channels. As such, the bit sequence can be received via a wire link, or from a wireless link. Typically, the bit sequence comprises data in the form of, but not limited to, packets, frames, or other protocol-adapted data. In one embodiment, the wireless protocol analyzer passively receives the data via wireless communication.
The wireless protocol analyzer may be configured to compare the received bit sequence (or at least a portion thereof) with one or more bit sequences or patterns. Before H performing this comparison, the protocol analyzer may optionally apply one or more bit masks to the received bit sequence. In performing this comparison, the wireless protocol analyzer may determine whether all or a portion of the received bit sequence (or the bit-masked version of the received bit sequence) matches and/or does not match the one or more bit patterns. In one embodiment, the bit patterns and/or the bit masks may be configured such that the bit patterns will (or will not) match with a received bit sequence that comprises data having particular characteristics—such as, for example, having an unusual network address, having a code violation or character error, having an unusual timestamp, having an incorrect CRC value, indicating a link re-initialization, and/or having a variety of other characteristics.
The wireless protocol analyzer may detect data having any specified characteristics, which specified characteristics may be user-selected via user input. A specified characteristic could be the presence of an attribute or the lack of an attribute. Also, the protocol analyzer may detect data having particular characteristics using any other suitable method.
In response to detecting data having a set of one or more characteristics, the wireless protocol analyzer may execute a capture of new data in the form of a bit sequence or portion of a bit sequence. For example, in one embodiment, when the wireless protocol analyzer receives new data, the wireless protocol analyzer may buffer, cache, or otherwise store a series of new data in a circular buffer. Once the circular buffer is filled, the wireless protocol analyzer may overwrite (or otherwise replace) the oldest data in the buffer with the newly received data or messages.
Thus, when the wireless protocol analyzer receives new data, the network may detect whether the data has a set of one or more specified characteristics. In response to H detecting that the received data has the one or more specified characteristics, the wireless protocol analyzer may execute a capture (1) by ceasing to overwrite the buffer (thus capturing some data prior to new data), (2) by overwriting at least a portion or percentage of the buffer with newly received data (thus capturing at least some old data and some additional data after the received data), or (3) by overwriting the entire buffer (thus capturing all new data after the received data). In one embodiment, a user may specify via user input a percentage of the buffer to store old data before the new data, a percentage of the buffer to store additional data after the new data, or both. In one embodiment, a protocol analyzer may convert a captured bit stream into another format. In one embodiment, the data capture device is outfitted with a wireless transceiver and can capture the data being passed through a communication path, and then transmit the data to the wireless protocol analyzer via a wireless link.
In response to detecting data having a set of one or more characteristics, a wireless protocol analyzer may generate a trigger adapted to initiate a capture of a bit sequence. Also, in response to receiving a trigger adapted to initiate a capture of a bit sequence, a protocol analyzer may execute a capture of a bit sequence. For example, the protocol analyzer may be configured to send and/or receive a wireless trigger signal among a plurality of wireless protocol analyzers. In response to detecting that a received data has the one or more specified characteristics, a wireless protocol analyzer may execute a capture and/or send a wireless trigger signal to one or more protocol analyzers that are configured to execute a capture in response to receiving such a trigger signal.
A capture may be triggered in response to detecting any particular circumstance—whether matching a bit sequence and bit pattern, receiving an external trigger signal, detecting a state (such as, when a protocol analyzer's buffer is filled), detecting an event, detecting a multi-network-message event, detecting the absence of an event, detecting user input, or any other suitable circumstance.
The wireless protocol analyzer may optionally be configured to capture a portion of data. For example, the wireless protocol analyzer may be configured to store at least a portion of a header portion of data, but discard at least a portion of data payload. Thus, the wireless protocol analyzer may be configured to capture and to discard any suitable portions of data.
A particular protocol specification may require data to have particular characteristics. Thus, a manufacturer of network devices and the like may use the wireless protocol analyzer to determine whether their devices comply with a protocol. Also, when devices are deployed, the wireless protocol analyzer may be used to identify defects in a deployed device or in other portions of a deployed system.
During operation, the wireless protocol analyzer can sort through a plurality of events, which can include up to or greater than one million events. As such, the protocol analyzer can then identify performance, upper layer protocol, logical and physical layer issues. When a questionable event has occurred, the protocol analyzer can flag the protocol violation, interoperability problem, performance issue, or errant behavior for further analysis or service.
3. Generator
In some embodiments, the wireless diagnostic device may function as a wireless generator. The wireless generator may generate and/or transmit data in the form of a bit sequence via one or more communication paths or channels. Typically, the bit sequence is in the form of, such as, packets, frames, or other protocol-adapted forms. The data may comprise simulated traffic data between devices in a system. Advantageously, an administrator may evaluate how the devices respond to the simulated traffic data. Thus, the administrator may be able to identify performance deviations and take appropriate measures to help avoid future performance deviations.
4. Jammer
In some embodiments, the wireless diagnostic device may function as a wireless jammer. The wireless jammer may receive, generate, and/or transmit data in the form of bit sequences via one or more wireless communication paths or channels. Typically, the bit sequences comprise data in the form of packets, frames, or other protocol-adapted forms and can be traffic data between devices in a system. The wireless jammer may be configured as a wireless component of a system such that the wireless jammer may receive and transmit data via wireless communications.
Prior to transmitting the received data, the wireless jammer may selectively alter at least a portion of the traffic data, which alterations may introduce protocol errors or other types of errors. Thus, by altering at least a portion of the traffic data, the wireless jammer may generate traffic data that can be used to test a system. For example, an administrator may then evaluate how the devices in a system respond to these errors. For example, a system designer can perform any one of a number of different diagnostic tests to make determinations such as whether a system responded appropriately to incomplete, misplaced, or missing tasks or sequences, how misdirected or confusing frames are treated, and/or how misplaced ordered sets are treated.
In one embodiment, to determine which data to alter, the wireless jammer may be configured to compare data such as a received bit sequence or portion thereof with one or more bit sequences or patterns. Before performing this comparison, the wireless jammer may optionally apply one or more bit masks to the received bit sequence. In performing this comparison, the wireless jammer may determine whether all or a portion of the received bit sequence (or the bit-masked version of the received bit sequence) matches and/or does not match the one or more bit patterns. In one embodiment, the bit patterns and/or the bit masks may be configured such that the bit patterns will (or will not) match with a received bit sequence (or portion thereof) when the received bit sequence comprises data from a particular device, data from communication between one or more devices, data of a particular format or type, and the like. Accordingly, the wireless jammer may be configured to detect data having any specified characteristics. Upon detection of the data having the specified characteristics, the wireless jammer may alter the data and/or data subsequent to that data.
5. Statistical Monitor
In some embodiments, the wireless diagnostic device may function as a wireless statistical monitor, which may be used to derive statistics from data having particular characteristics, one or more data communications having particular characteristics, and the like. As disclosed below, the wireless statistical monitor may be configured to receive data in the form of a bit sequence via one or more wireless communication paths or channels. Typically, the wireless statistical monitor passively receives the data via one or more wireless network connections.
To determine the data and/or communications from which statistics should be derived, the wireless statistical monitor may be configured to compare a received a bit sequence or portion thereof with one or more bit sequences or patterns. Before performing this comparison, the wireless statistical monitor may optionally apply one or more bit masks to the received bit sequence. In performing this comparison, the wireless statistical monitor may determine whether all or a portion of the received bit sequence (or the bit-masked version of the received bit sequence) matches and/or does not match the one or more bit patterns. In one embodiment, the bit patterns and/or the bit masks may be configured such that the bit patterns will (or will not) match with a received bit sequence (or portion thereof) when the received bit sequence comprises data from a particular device, data between one or more devices, data of a particular format or type, data having a particular error, and the like. Accordingly, the wireless statistical monitor may be configured to detect data having any specified characteristics—including but not limited to whether the data is associated with a particular communication among devices.
Upon detecting data having specified characteristics, the wireless statistical monitor may create and update table entries to maintain statistics for individual data and/or for communications between nodes. For example, a wireless statistical monitor may count the number of physical errors (such as, bit transmission errors, CRC error, and the like), protocol errors (such as, timeouts, missing data, retries, out of orders), other error conditions, protocol events (such as, an abort, a buffer-is-full message), and the like. Also, as an example, the wireless statistical monitor may create communication-specific statistics, such as, the number of packets exchanged in a communication, the response times associated with the packets exchanged in a communication, transaction latency, block transfer size, transfer completion status, aggregate throughput, and the like. A specified characteristic could be the presence of an attribute or the lack of an attribute.
a) Exemplary Ethernet LAN Statistics
A wireless statistical monitor, such as Surveyor™ (Finisar; Sunnyvale, Calif.) outfitted with wireless components, may generate data in the form of a variety of statistics, which, in some embodiments, may be used to trigger a bit sequence capture. In some embodiments, statistics may be generated for Ethernet LANs or other wireless networks.
For example, the LAN statistics may include a variety of host-specific statistics such as network-layer statistics for a particular virtual LAN, and application-layer statistics for a particular virtual LAN identifier and application protocol, wherein the statistics can include the number of frames to and from the host, the number of errors to and from the host, the percent of the theoretical bandwidth used by traffic to and from the host, and/or other like statistics. Additionally, the LAN statistics may include a variety of multi-host statistics for a pair of hosts such as network-layer statistics for a particular virtual LAN, and application-layer statistics for a particular virtual LAN identifier and application protocol, wherein the statistics can include the number of frames between the pair of hosts, the percent of the theoretical bandwidth used by the conversation between the pair of hosts, the number of errors between the pair of hosts, and/or other like statistics.
In one embodiment, the LAN statistics may include protocol distribution statistics such as the number of packets for a protocol, the percent of all packets which were this protocol, the percent of the theoretical bandwidth used by this protocol, and/or other like statistics. Additionally, the LAN statistics may include a variety of utilization-related statistics, error-related statistics, frame-size statistics, and application-layer statistics for a particular application protocol, wherein these statistics are well known in the art.
Additionally, any other LAN statistics known or developed can be employed in diagnostic device and system. Of course, any of the LAN statistics may be used for any suitable type of wireless network other than a LAN using any suitable protocol other than Ethernet.
b) Exemplary SAN Statistics
Also, a wireless statistical monitor, such as Xgig™ or NetWisdom™ (Finisar; Sunnyvale, Calif.) outfitted with wireless components, may generate data in the form of a variety of statistics, which, in some embodiments, may be used to trigger a bit sequence capture. In some embodiments, statistics may be generated for SANs such as wireless SANs.
In one embodiment, the SAN statistics may include a variety of link metrics such as the total number of frames of any type per second, the total megabytes of frame payload data per second, the total number of management frames per second, total application data frames per second, the percentage of total theoretical bus capacity consumed by the payload bytes, and/or other like statistics. Additionally, the SAN statistics may include a variety of link event statistics such as the number of times a link has transitioned into a loss of sync state in an interval, the number of times a link has transitioned to a loss of signal state in an interval, the number of fabric frames in an interval, the number of link control frames in an interval, framing errors that may occur on any link with media or transmission problems, and/or other like statistics.
In one embodiment, the SAN statistics may include a variety link group statistics such as the number of login type frames in an interval, the number of logout type frames in an interval, the number of notification type frames in an interval, the number of reject type frames in an interval, the number of busy type frames in an interval, the number of accept type in an interval, and/or other like statistics. Additionally, the SAN statistics may include a variety of link pending exchange statistics such as the number of exchanges that have been opened, but not closed in an interval, the maximum number of exchanges open at one time during an interval, and/or other like statistics.
Additionally, any other SAN statistics known or developed can be employed in diagnostic device and system. Of course, any of the SAN statistics may be used for any suitable type of network other than a SAN using any suitable protocol.
Further, the wireless device 303 containing buffer 304 can communicate with an aggregation server 306 so that the server 306 can receive the diagnostic data stored on buffer 304. Communication between the device 303 and aggregation server 306 can be wireless or via physical transmissions. A resource allocation manager 308 is physically or wirelessly connected to aggregation server 306. The resource allocation manager 308 is, in turn, in communication with various diagnostic services 310a-310d. Diagnostic services 310a-310d are comprised of hardware and/or software for performing certain diagnostic functions. For example diagnostic service 310a is a protocol analyzer, diagnostic service 310b is a bit error rate tester, diagnostic service 310c is a jammer, and diagnostic service 310d represents other diagnostic devices that may be provided such as those listed in this detailed description and others known to those of skill in the art. More particularly, the diagnostic device 310d could include any of the individual diagnostic devices such as a statistical monitor, protocol analyzer, bit error rate tester, generator, jammer, and like, as well as combinations thereof. Further, any of diagnostic services 310a-310d may be formed as part of resource allocation manager 308 or may be remotely accessible by resource allocation manager 308 via physical or wireless connection.
Each component of this system may be within a client's network, or some components may communicate using, for example, the Internet. Secure connection is preferably provided between resource allocation manager 308 and aggregation server 306.
In operation, the shared resource system 300 is configured such that the device 303 logs the diagnostic data in the buffer 304 in a continuous loop manner, as disclosed above. As such, when an error or problem occurs in end point device 312, the diagnostic data that was stored in the buffer prior to the error or problem and during the error or problem is transmitted to the aggregation server 306. Further, the device 303 is configured with hardware and/or software that causes any diagnostic data in the buffer 304 that is relevant to an error or problem to be transmitted to the aggregation server 306. Additionally, the device 303 is configured to stream any diagnostic data relevant to the error or problem along with the diagnostic data from the buffer. Additionally, the diagnostic data received by device 303 after the error or problem is then streamed to the aggregation server 306. This provides full-scope diagnostic data about the functionality of the end point device 312 in all stages of an error or problem, including the diagnostic data before the device 303 identified the problem. Also, the diagnostic data can include all traffic being monitored or filtered traffic.
After the device 303 begins to transmit the diagnostic data to the aggregation server 306, the resource allocation manager 308 is notified of the error or problem. As such, the resource allocation manager 308 accesses diagnostic services 310a-310d to analyze the diagnostic data as well as any statistics associated therewith. The resource allocation manager 308 is also capable of accessing the diagnostic data and associated statistics from the aggregation server 306, wherein the diagnostic data can be analyzed while being stored at the aggregation server 306, or transmitted to the appropriate diagnostic service 310a-310d for analysis. Thus, the resource allocation manager 308 can choreograph the diagnostic and analytical protocols required to determine the problem, and optionally how to correct the problem.
Thus, resource allocation manager 308 is notified of an error in end point devices 302a-302n by buffer 304 locate in, for example, device 303, sending such notice to aggregation server 306, which, in turn, notifies the resource allocation manager 308. Thus, in this indirect manner, the resource allocation manager 308 can be notified by the buffer 304 when an error or problem arises, and then can read the diagnostic data relevant to the error or problem from the aggregation server 306.
In one embodiment, the network operator or host of the network, in which the end point devices 302a-302n reside, can have a service contract with a remote analytical firm. As such, the remote analytical firm can have powerful diagnostic analyzers and tools 310a-310d that are needed in order to determine the source of the problem. When a device 303 detects a problem, it transmits traffic and/or diagnostic data to the aggregation server 306, and notifies the remote analytical firm about the problem, and provides the location of diagnostic data. This can be done with the aforementioned service contract software. In any event, the remote analytical firm can then access and retrieve that diagnostic data, and analyze the diagnostic data with more powerful diagnostic analyzers and tools 310a-310d. After a complete analysis, the remote analytical firm can then report any helpful information that could be extracted from the diagnostic data to the network operator or host.
In another similar embodiment, the device 303 notifies the resource allocation manager 308 about an error or issue, and the foregoing analytical and diagnostic protocols are initiated to determine what is needed to analyze the diagnostic data. The service contract software can then verify whether or not any technicians at the remote analytical firm are available to handle the error or problem. If it is determined that no technicians are available, the software or resource allocation manager 308 can log the problem. Alternatively, if no technicians are available, the software or resource allocation manager 308 can assess whether immediate attention needs to be directed to the problem. When the problem is determined to be urgent, the software can instruct the remote analytical firm to pull a technician in order to handle the problem. On the other hand, when a technician is available, the software or resource allocation manager 308 can inform the technician of the problem and implement a diagnostic and analytical protocol.
The methods and systems disclosed above can be implemented using software, hardware, or both hardware and software. For example, the software may advantageously be configured to reside on an addressable storage medium and be configured to execute on one or more processors. Thus, software, hardware, or both may include, by way of example, any suitable module, such as software components, object-oriented software components, class components and task components, processes, functions, attributes, procedures, subroutines, segments of program code, storage devices, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, variables, field programmable gate arrays (“FPGA”), a field programmable logic arrays (“FPLAs”), a programmable logic array (“PLAs”), any programmable logic device, application-specific integrated circuits (“ASICs”), controllers, computers, wireless components, wireless software, and firmware to implement those methods and systems disclosed above. The functionality provided for in the software, hardware, or both may be combined into fewer components or further separated into additional components. Additionally, the components may advantageously be implemented to execute on one or more computing devices. As used herein, “computing device” or “computing system” is a broad term and is used in its ordinary meaning and includes, but is not limited to, devices such as, personal computers, desktop computers, laptop computers, palmtop computers, a general purpose computer, a special purpose computer, mobile telephones, personal digital assistants (PDAs), Internet terminals, multi-processor systems, hand-held computing devices, portable computing devices, microprocessor-based consumer electronics, programmable consumer electronics, network PCs, minicomputers, mainframe computers, computing devices that may generate data, any wirelessly enabled computing device, and computing devices that may have the need for storing data, and the like.
Also, one or more software modules, one or more hardware modules, or both may be used in performing some or all of any of the methods disclosed herein. Further, one or more software modules, one or more hardware modules, or both may be used in implementing any other functionality or aspects disclosed herein.
Embodiments within the scope of the present invention also include computer-readable media for carrying or having computer-executable instructions or data structures stored thereon. Such computer-readable media can be any available media that can be accessed by a computing device. By way of example, and not limitation, such computer-readable media can comprise any storage device or any other medium which can be used to carry or store desired program code in the form of computer-executable instructions or data structures and which can be accessed by a computing device.
When information is transferred or provided over a wireless network or another communications connection (either physically connected, wireless, or a combination of physically connected or wireless) to a computer, the computer properly views the connection as a computer-readable medium. Thus, any such connection is properly termed a computer-readable medium. Combinations of the above should also be included within the scope of computer-readable media. Computer-executable instructions comprise, for example, instructions and data which cause a computing device to perform a certain function or group of functions. Data structures include, for example, data frames, data packets, or other defined or formatted sets of data having fields that contain information that facilitates the performance of useful methods and operations. Computer-executable instructions and data structures can be stored or transmitted on computer-readable media, including the examples presented above.
The present invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The disclosed embodiments are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is, therefore, indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.
This application is a continuation-in-part of, and claims priority to, U.S. Utility patent application Ser. No. 11/537,602, filed on Sep. 29, 2006, which is a continuation-in-part of, and claims priority to, U.S. Utility patent application Ser. No. 11/134,786 filed on May 20, 2005, each of which is incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
Parent | 11537602 | Sep 2006 | US |
Child | 11930677 | Oct 2007 | US |
Parent | 11134786 | May 2005 | US |
Child | 11930677 | Oct 2007 | US |