1. Field
The present application relates generally to data storage devices; more specifically, this application relates to creating and/or managing meta-data for data storage devices using a packet switch appliance.
2. Related Art
In a packet-switching network, the transmission, routing, forwarding, and the like of messages between the terminals in the packet-switching network are broken into one or more packets. Typically, data packets transmitted or routed through the packet-switching network comprise three elements: a header, a payload, and a trailer. The header may comprise several identifiers such as source and destination terminal addresses, virtual local area network (VLAN) tag, packet size, packet protocol, and the like. The payload is the core data for delivery, other than header or trailer, which is being transmitted. The trailer typically identifies the end of the packet and may comprise error checking information. Data packets may conform to a number of packet formats such as IEEE 802.1D or 802.1Q.
Associated with each terminal in the packet-switching network is a unique terminal address. Each of the packets of a message has a source terminal address, a destination terminal address, and a payload, which contains at least a portion of the message. The source terminal address is the terminal address of the source terminal of the packet. The destination terminal address is the terminal address of the destination terminal of the packet. Further, each of the packets of a message may take different paths to the destination terminal, depending on the availability of communication channels, and may arrive at different times. The complete message is reassembled from the packets of the message at the destination terminal. One skilled in the art commonly refers to the source terminal address and the destination terminal address as the source address and the destination address, respectively.
A typical packet-switching network employs a packet switch appliance to forward packets within the network to their respective destination terminals. A packet switch appliance may also be employed as part of a network monitoring system of a packet-switching network. The typical packet-switching appliance may include a number of ports. A given port may be configured as a network port for connection to the packet-switching network. Alternatively, a port may be configured as an instrument port for connection to one or more network instruments such as packet sniffers, intrusion detection systems, intrusion prevention systems, forensic recorders, or data storage devices.
Packet traffic in a packet-switching network, or portions thereof, may be stored for later forensic analysis or use. However, a typical packet, with its format of header, payload, and trailer designed for bandwidth efficiency provides limited network information beyond the source and destination address of a given packet. Methods and systems that may provide additional information on packet traffic in a packet-switching network may provide useful information for later retrieval or use.
In one exemplary embodiment, a first instrument port of a packet switch appliance is connected to a first data storage device. A second port is configured as a first network port. A first meta-data tag is created for a first block of packets received through the first network port. The first block is sent to the first data storage device through the first instrument port. The first meta-data tag or a copy is sent to the first data storage device and/or a storage management server with the port number of the first instrument port. A second instrument port of the packet switch appliance is connected to a second data storage device. A second meta-data tag is created for a second block of packets received through the first network port. The second block is sent to the second data storage device through the second instrument port. The second meta-data tag or a copy is sent to the second data storage device and/or the storage management server with the port number of the second instrument port.
The present application can be best understood by reference to the following description taken in conjunction with the accompanying drawing figures, in which like parts may be referred to by like numerals:
The following description sets forth numerous exemplary configurations, parameters, and the like. It should be recognized, however, that such description is not intended as a limitation on the scope of the present invention, but is instead provided as a description of exemplary embodiments.
A. Network Configuration
With reference to
In the embodiment of
For the sake of simplicity, packet-switching network 100 is described below in the context of using an Ethernet format. It should be recognized, however, that packet-switching network 100 can use any desirable networking format, such as synchronous optical network (SONET), synchronous digital hierarchy (SDH), wide area network (WAN) protocol, Fiber Channel, and the like.
B. Packet Switch Appliance and Meta Data Creation
The packet switch appliance 102 of
In the embodiment of
In the embodiment of
In the present exemplary embodiment, network 122 and network 124 are separate from network 100. Network 122 and/or network 124 can be a private or public network. Network 122 can also be a dedicated or non-dedicated network. Network 122 and network 124 can be connected together as a single network. Also, storage management server 120 can be directly connected to packet switch appliance 102 and/or to data storage devices 116, 118.
Packet switch appliance 102 is capable of forwarding received network packet traffic to data storage devices 116 and 118. The packet switch appliance may forward the packet traffic with or without generating meta-data relating to the forwarded packet traffic data. Meta-data is understood to be any data that provides data about other data, such as the forwarded packet traffic. Meta-data includes, but is not limited to, data concerning the source, destination, time of transmission or receipt, or content of a packet or block of packets. In the instances when meta-data is generated, it may be forwarded to the same destination as the packet traffic, or the meta-data may be forwarded to an alternative destination. Generation of meta-data may be useful in a system employing distributed storage, in which packet data may be stored on more than one data storage device. Meta-data and distributed storage may also be useful in a system in which system resources during retrieval operations may be limited, whereas system resources during storage operations are available.
As depicted in
Daughter card 234 can include one or more processing units to perform packet analysis, packet traffic analysis, and meta-data generation. The one or more processing units on daughter card 234 can also perform packet modification functions such as packet slicing and packet regeneration based on header, payload, trailer, or other packet information. The one or more processor units on daughter card 234 may each be a general purpose processor, an FPGA, NPU, multi-core processor, multi-core packet processor, ASIC, or the like. For a more detailed description of packet modification functions and additional packet switch appliance hardware, see U.S. patent application Ser. No. 11/796,001, filed on Apr. 25, 2007, which is incorporated herein by reference in its entirety for all purposes.
It should be recognized that packet switch appliance 102 may be configured with additional hardware and/or software and may be capable of additional operations. The packet switch appliance may be configured to perform a number of packet distribution and handling functions such as one-to-one, one-to-many, many-to-one, and many-to-many port distributing, filtering, flow-based streaming, and load balancing. For a more detailed description of these features, see U.S. patent application Ser. Nos. 11/123,273; 11/123,377; 11/123,465; and 11/123,729, all of which were filed on May 5, 2005, and which are all incorporated herein by reference in their entireties for all purposes.
C. Managing Meta-Data
Distributed data storage may provide a number of benefits. Hardware limitations, such as disk write times, may be overcome by distributing the write tasks across a number of instruments. Similarly, single port bandwidth limitations may be overcome by distributing data flow from the packet switch appliance to the array of data storage devices over an array of instrument ports. Upon data retrieval, read operations may realize similar benefits from distributed storage. Physical segregation may also be achieved in that a designated subset of network traffic may be stored on one data storage device while another subset is stored on a separate device, in the same or separate locations.
A first port on the packet switch appliance is configured to operate as a first instrument port connected to a first data storage device. As described above, ports of the first data storage device are associated with port numbers. A second port on the packet switch appliance is configured as a first network port connected to the packet-switching network. For example, in
With reference to
For example,
With reference again to
With reference again to
Note, if the meta-data tag is sent to data storage device 116, then a copy of the first meta-data tag is sent to the storage management server. Alternatively, if a copy of the first meta-data tag is sent to data storage device 116, then the meta-data tag or another copy of the first meta-data tag is sent to the storage management server.
For example, in
It should be recognized that some of the information in meta-data tag 228 or copy of meta-data tag 228 may not be directly extractable from the packets. The user can configure such information to packet switch appliance 102, such as the information about which span port is sending data to network port 210.
In the present exemplary embodiment, a third port on the packet switch appliance is configured to operate as a second instrument port connected to a second data storage device. For example, in
With reference again to
With reference again to
With reference again to
Note, if the meta-data tag is sent to data storage device 118, then a copy of the first meta-data tag is sent to the storage management server. Alternatively, if a copy of the first meta-data tag is sent to data storage device 118, then the meta-data tag or another copy of the first meta-data tag is sent to the storage management server.
For example, in
It should be recognized that some of the information in meta-data tag 231 or copy of meta-data tag 231 may not be directly extractable from the packets, but the user can configure such information to packet switch appliance 102. For example, the information about which span port is sending data to network port 210.
In one exemplary embodiment, another port on packet switch appliance 102 can be configured to operate as a second network port connected to network 100. When a third block of one or more packets is received through the second network port, a third meta-data tag can be created for the third block. The third block is sent to first data storage device 116 through the first instrument port. The third meta-data tag or a copy of the third meta-data tag is sent to storage management server 120 with the port number associated with the first instrument port. When a fourth block of one or more packets is received through the second network port, a fourth meta-data tag can be created for the fourth block. The fourth block is sent to second data storage device 116 through the second instrument port. The fourth meta-data tag or a copy of the fourth meta-data tag is sent to storage management server 120 with the port number associated with the second instrument port. It should be recognized that packet switch appliance 102 can include any number of ports configured to operate as network ports.
In one exemplary embodiment, packet switch appliance 102 can be used to filter and/or parse packets received from the packet-switching network through the first network port using one or more criteria. In one implementation, a filter associated with network port 210 can filter packets into one or more blocks. The filter can also tag the filtered packets with information bits, which can be used to create meta-data tags. The meta-data tags can then be appended to the one or more blocks. In another implementation, the filter can filter the packets into one or more blocks without tagging the filtered packets. The filtered packets are parsed based on one or more criteria to create meta-data tags. The meta-data tags can then be appended to the one or more blocks. In still another implementation, the filter can filter the packets into one or more blocks, and also tag the filtered packets. Meta-data tags can be created using the tags. The filtered packets can then be further parsed based on one or more criteria to create meta-data tags. The meta-data tags are appended to the one or more blocks.
The one or more criteria can include a VLAN identification of the packet, source address, destination address, type of data, etc. Thus, in one exemplary embodiment, packet switch appliance 102 can be used in managing data received from virtual local area networks. For example,
With reference again to
A superset meta-data tag can include information, such as unique identifications for the data storage devices attached to the instrument ports of the packet switch appliance, identifications of network devices or elements that are the sources of packets received from the packet-switching network through the instrument port of the packet switch appliance, etc.
A superset meta-data tag can be used to facilitate a request for a packet or packets.
With reference again to
In one exemplary embodiment, the association between port numbers and unique identifications for data storage devices is stored. For example, with reference to
The stored association between port numbers and unique identifications for data storage devices can be used in retrieving the requested packet. In particular, as described below with reference to step 606 (
The association between port numbers and unique identifications for data storage devices can be stored at various locations. For example, the association can be stored at packet switch appliance 102, storage management server 120, or another device that is accessible to storage management server 120. If the association between port numbers and data storage devices changes, the stored association is updated. For example, if instrument port 214 is connected to a data storage device other than data storage device 118, then the stored association between port numbers and unique identifications for data storage devices is updated to reflect that new association between the port number of instrument port 214 and the new data storage device.
With reference again to
In one exemplary embodiment, upon receiving a signal of reduced availability or performance from storage management server 120 and appropriate commands, packet switch appliance 102 can be configured to re-route blocks of packets designated for the data storage device to another data storage device. For example, assume a signal of reduced availability or performed is received from data storage device 116 by storage management server 120, storage management server 120 can command packet switch appliance 102 to re-route blocks of packets designated for data storage device 116 to data storage device 118.
In one exemplary embodiment, packet switch appliance 102 can be configured by storage management server 120 to continue re-routing blocks designated for one data storage device until the data storage device sends a command to storage management server 120 to restore block routing to that data storage device. In another exemplary embodiment, the packet switch appliance 102 or storage management server 120 can be configured to poll data storage devices 116 and 118 at intervals to determine availability or performance of the data storage devices.
In one exemplary embodiment, performance in the distributed packet storage system can also be assessed via timestamping. For example, packet switch appliance 102 can generate a time stamp packet when a block of packets is first received by packet switch appliance 102. A second timestamp packet is generated by packet switch appliance 102 prior to sending the block of packets through an instrument port. Thus, two time stamped packets, separated by a time interval, are generated.
Performance at various points in the system of
In one exemplary embodiment, multiple packet switch appliances, as described herein, may be employed in a distributed packet storage system. For example,
Similar to packet switch appliance 102, packet switch appliance 702 can be configured to create and manage meta-data for data storage devices. In particular, a first port on packet switch appliance 702 can be configured to operate as a first instrument port connected to data storage device 704. A second port on packet switch appliance 702 can be configured to operate as second instrument port connected to data storage device 706. It should be recognized that packet switch appliance 702 can be connected to any number of data storage devices.
A third port on packet switch appliance 702 can be configured to operate as a first network port connected to packet-switching network 100. When a block of one or more packets is received from packet-switching network 100 through the first network port on packet switch appliance 702, a meta-data tag for the block is created. The block of one or more packets is sent to data storage device 704 through the first instrument port. The meta-data tag or a copy of the meta-data tag is sent to storage management server 120. The meta-data tag or the copy of the meta-data tag includes the port number associated with the first instrument port through which the block was sent to data storage device 704.
Note, the original meta-data tag can be included in the block of one or more packets sent to data storage device 704, and the copy of the meta-data tag can be sent to storage management server 120. Alternatively, the original meta-data tag can be sent to storage management server 120, and the copy of the meta-data tag can be included in the block of one or more packets sent to data storage device 704. As another alternative, the copy of the meta-data tag can be sent to storage management server 120, and another copy of the meta-data tag can be included in the block of one or more packets sent to data storage device 704.
As depicted in
In one exemplary embodiment, different packet switch appliances can be assigned to handle different sets of packets from network 100. For example, in
In one exemplary embodiment, each packet switch appliance can be assigned a unit number. The meta-data tag or copy of the meta-data tag sent from the packet switch appliance can include the unit number of the packet switch appliance. For example, in
Although only certain exemplary embodiments have been described in detail above, those skilled in the art will readily appreciate that many modifications are possible in the exemplary embodiments without materially departing from the novel teachings and advantages of this invention. Accordingly, all such modifications are intended to be included within the scope of this invention.
Number | Name | Date | Kind |
---|---|---|---|
20030118053 | Edsall et al. | Jun 2003 | A1 |
20030236774 | Andreev et al. | Dec 2003 | A1 |
20030236884 | Yamamoto et al. | Dec 2003 | A1 |
20030236945 | Nahum | Dec 2003 | A1 |
20050053073 | Kloth et al. | Mar 2005 | A1 |
20050254490 | Gallatin et al. | Nov 2005 | A1 |
20050265248 | Gallatin et al. | Dec 2005 | A1 |
20050265364 | Gallatin et al. | Dec 2005 | A1 |
20050271065 | Gallatin et al. | Dec 2005 | A1 |