A system for analyzing a packet-based network includes a wireless network analysis processing device that is configured to receive correlated packet records representative of the order in which corresponding packets are transmitted in a wireless network. The correlated packet records include media access control (MAC) layer data and network layer data for each corresponding packet. The MAC layer data and network layer data are processed to generate network topology data representative of the network topology, generate packet flow data representative of the flow of packets between devices at the MAC layer and across the network at the network layer, and measurement data relating to the packet flow data.
|
6. A computer-implemented method for analyzing packet flow among devices in a wireless mesh network, comprising:
receiving packet records corresponding to packets communicated over the network and store the packet records in a data store;
monitoring, by capture devices each including a capture clock, packets communicated over the network, creating corresponding packet records, and including a timestamp in each packet record corresponding to a capture clock time the capture device detects the start of frame of a packet;
timestamp synchronizing the packet records stored in the data store with received packet records by designating a first capture device as a master capture device;
identifying duplicate records for packets communicated over the network by other capture devices, each other capture device being different from the master capture device and each duplicate record being record of a packet communicated over the network received from one of the other capture devices for which there is also a record of the same packet being communicated over the network received from the master capture device;
determining a timing offset between the master capture device and at least one of the other capture devices based at least in part on a time difference between a time a particular packet was received by the master capture device as specified in a first packet record and a time the particular packet was received by the at least one of the other capture devices as specified in a duplicate record of the first packet record;
time synchronizing one or more packet records received from the at least one of the other capture devices to the master capture device based at least in part on the timing offset;
generating a plurality of correlated packet records from the packet records stored in the data store, the correlated packet records comprising hop data and timing data representative of a packet path and packet transmission times in the network for each corresponding packet, the correlated packet records filtered of packet records for duplicate packet transmissions and packet retransmissions and being representative of an order in which corresponding packets were transmitted in the network and including media access control (MAC) layer data, application layer data and network layer data for each corresponding packet;
generating network topology data representative of the network topology;
generating packet flow data representative of the flow of packets between devices at the MAC layer and across the network at the network layer;
generating application layer endpoint data identifying source endpoints and destination endpoints identified by the correlated packet records and associating each respective source endpoint and destination endpoint with a corresponding device in the network and a corresponding application layer functionality; and
generating endpoint bindings data defining bindings between the source endpoints and the destination endpoints, each binding being a logical link between a source endpoint and cluster identifier and destination endpoint.
10. A packet-based network analysis device for analyzing packet flow among devices in a wireless network, comprising:
means for receiving packet records corresponding to packets communicated over the network and store the packet records in a data store;
means for monitoring packets communicated over the network, for creating corresponding packet records, and for including a timestamp in each packet record corresponding to a capture clock time a capture device detects the start of frame of a packet;
means for timestamp synchronizing the packet records stored in the data store with received packet records by designating a first capture device as a master capture device;
means for identifying duplicate records for packets communicated over the network by other capture devices, each other capture device being different from the master capture device and each duplicate record being record of a packet communicated over the network received from one of the other capture devices for which there is also a record of the same packet being communicated over the network received from the master capture device;
means for determining a timing offset between the master capture device and at least one of the other capture devices based at least in part on a time difference between a time a particular packet was received by the master capture device as specified in a first packet record and a time the particular packet was received by the at least one of the other capture devices as specified in a duplicate record of the first packet record;
means for time synchronizing one or more packet records received from the at least one of the other capture devices to the master capture device based at least in part on the timing offset;
means for generating a plurality of correlated packet records from the packet records stored in the data store, the correlated packet records comprising hop data and timing data representative of a packet path and packet transmission times in the network for each corresponding packet, the correlated packet records filtered of packet records for duplicate packet transmissions and packet retransmissions and being representative of an order in which corresponding packets were transmitted in the network and including media access control (MAC) layer data and network layer data for each corresponding packet;
means for generating network topology data representative of the network topology;
means for generating packet flow data representative of the flow of packets between devices at the MAC layer and across the network at the network layer;
means for generating measurement data relating to the packet flow data;
means for generating application layer endpoint data identifying source endpoints and destination endpoints identified by the correlated packet records and associating each respective source endpoint and destination endpoint with a corresponding device in the network and a correspond application layer functionality; and
means for generating endpoint bindings between the source endpoints and the destination endpoints, each binding being a logical link between a source endpoint and cluster identifier and destination endpoint.
1. A packet-based network analysis system for analyzing packet flow among devices in a wireless network, comprising:
a wireless network analysis processing device configured to:
receive a plurality of correlated packet records, the correlated packet records representative of an order in which corresponding packets were transmitted in the network and including media access control (MAC) layer data, application (APS) layer data, and network layer data for each corresponding packet;
process the MAC layer data and network layer data to generate network topology data representative of the network topology, generate packet flow data representative of the flow of packets between devices at the MAC layer and across the network at the network layer, and generate measurement data relating to the packet flow data;
process the APS layer data to generate endpoint data and binding data, the endpoint data identifying source endpoints and destination endpoints identified by the correlated packet records and associating each respective source endpoint and destination endpoint with a corresponding device in the network and a corresponding application layer functionality, and the binding data defining a logical link between a source endpoint and cluster identifier and a destination endpoint;
a plurality of capture devices configured to monitor packets communicated over the network and create corresponding packet records, and wherein each capture device includes a capture clock and each capture device is further configured to include a timestamp in each packet record corresponding to a capture clock time the capture device detects the start of frame of a packet; and
a correlator processor configured to:
receive packet records corresponding to packets communicated over the network and store the packet records in a data store;
timestamp synchronize the packet records stored in the data store with received packet records by designating a first capture device as a master capture device;
identify duplicate records for packets communicated over the network by other capture devices, each other capture device being different from the master capture device and each duplicate record being record of a packet communicated over the network received from one of the other capture devices for which there is also a record of the same packet being communicated over the network received from the master capture device;
determine a timing offset between the master capture device and at least one of the other capture devices based at least in part on a time difference between a time a particular packet was received by the master capture device as specified in a first packet record and a time the particular packet was received by the at least one of the other capture devices as specified in a duplicate record of the first packet record;
time synchronize one or more packet records received from the at least one of the other capture devices to the master capture device based at least in part on the timing offset; and
generate the correlated packet records from the packet records stored in the data store, the correlated packet records comprising hop data and timing data representative of a packet path and packet transmission times in the network for each corresponding packet, the correlated packet records filtered of packet records for duplicate packet transmissions and packet retransmissions.
2. The packet-based network analysis system of
the wireless network analysis processing device is configured to:
identify packet streams based on a source network layer address and a destination network layer address.
3. The packet-based network analysis system of
the wireless network analysis processing device is configured to:
compare a source MAC address and a destination MAC address to the source network layer address and the destination network layer address to generate packet flow data for the packet streams.
4. The packet-based network analysis system of
the packet flow data comprises packet flow records, and the wireless network analysis processing device is configured to:
generate packet flow records with packet flow data specifying one or more hops of a packet in the network based at least in part on comparisons of a source MAC address for the packet and one or more of a source network address and a destination network address in a corresponding correlated packet record.
5. The packet-based network analysis system of
7. The method of
generating network topology data representative of the network topology comprises:
identifying new devices in the network from packets in the correlated packet records related to an association request; and
associating the new devices with the network topology according to a device association established by the association request.
8. The method of
generating packet flow data representative of the flow of packets between devices at the MAC layer and across the network at the network layer comprises:
identifying packet streams based on a source network layer address and a destination network layer address; and
detecting packet flow path of packets through the network for each stream.
9. The method of
generating endpoint bindings data for endpoints between the source endpoints and the destination endpoints comprises:
generating direct bindings data related to direct bindings, the direct bindings based on packets transmitted between devices associated with source endpoint addresses and destination endpoint addresses; and
generating indirect bindings data related to indirect bindings, the indirect bindings based on packets transmitted from a source endpoint to a coordinator device, wherein the packets do not specify a destination for the packet, and the coordinator device stores a binding table defining associations of devices associated with source endpoint addresses and destination endpoint addresses.
11. The packet-based network analysis system of
12. The packet-based network analysis system of
each duplicate packet transmission is a transmission of a packet over the network for which a first packet record specifying the transmission is received from a first capture device and for which a second packet record specifying the transmission is received from a second capture device; and
each retransmission is a transmission of a packet over the network by a first network device that is subsequent to an earlier transmission of the packet by the first network device.
|
This application is a continuation of U.S. patent application Ser. No. 11/338,532, filed on Jan. 24, 2006 and which issued as U.S. Pat. No. 7,660,892 on Feb. 9, 2010, which claims the benefit of priority to U.S. Provisional Application Ser. No. 60/646,687, entitled “Multi-Point Analysis And Visualization Of Wireless Mesh Networks,” filed on Jan. 24, 2005. The entire disclosures of application Ser. Nos. 11/338,532 and 60/646,687 are incorporated herein by reference.
This disclosure generally relates to network analysis systems, and in particular relates to wireless mesh network analysis systems and methods.
Wireless mesh networking is an emerging technology for enabling wireless interconnections between a variety of devices, such as sensors, actuators, switches, communication devices, and other network devices. The network devices may be implemented to support a variety of applications, such as home automation, building and industrial automation, environmental monitoring, data communication, etc.
Wireless mesh networks typically implement a dynamic topology in which devices are associated and disassociated with other devices in the network and in which the roles and responsibilities of such devices may change over time. Thus there are unique challenges to developing, deploying and managing wireless networks.
Disclosed herein is a novel network analysis system and method that facilitates the capturing of network data for analysis, measurement, and visualization. The capturing of network data may be implemented in-band or out-of-band from the network. Captured network data may be analyzed in real time or stored for later analysis. Measurements obtained from the analysis may relate to network performance, device performance, route performance, or other network characteristics. The topology of the network may be graphically displayed, and measurement data may be accessible via the graphical display of the network topology.
In one embodiment, a system for analyzing a packet-based network includes a correlator processor that is configured to receive packet records corresponding to packets communicated over a network and store the packet records in a data store. The correlator processor is also configured to generate correlated packet records from the packet records stored in the data store, the correlated packet records representative of the order in which the packets were transmitted in the network.
In another embodiment, a system for analyzing a packet-based network includes a wireless network analysis processing device that is configured to receive correlated packet records representative of the order in which corresponding packets are transmitted in a wireless network. The correlated packet records include media access control (MAC) layer data and network layer data for each corresponding packet. The MAC layer data and network layer data are processed to generate network topology data representative of the network topology, generate packet flow data representative of the flow of packets between devices at the MAC layer and across the network at the network layer, and measurement data relating to the packet flow data.
In another embodiment, a system for analyzing a packet-based network includes a packet-based wireless network visualization system. The packet-based wireless network visualization system includes a data store, an input/output subsystem including a display device, and a processing subsystem. The system is configured to receive network topology data, packet flow record data, and measurements data over the input/output subsystem and store the network topology data, packet flow record data, and measurements data in the data store. Based on the stored data, the system generates a visual representation of a network topology on the display based on the network topology data, generates a visual representation of packet flows within the network topology based on the packet flow records, and selectively displays measurement data related to the packet flows and network topology based on the measurements data. The visual representation of the network topology includes device objects, associations of device objects and a plurality of layer representations.
In another embodiment, a system for analyzing a packet-based network includes a plurality of capture devices configured to monitor packets communicated over the network and create the corresponding packet records. Each capture device includes a capture clock and each capture device is further configured to include a timestamp in each packet record corresponding to the capture clock time the capture device detects the start of frame of a packet. In one embodiment, the capture devices may communicate with a correlator processor in-band over the wireless network being observed. In another embodiment, the capture devices may communicate with a correlator processor out-of-band over another data network, e.g. a local area network (LAN). In another embodiment, the capture devices may simultaneously perform an active network device role and perform a passive sniffing role to capture network data.
The correlator device 30, analysis device 40, and visualization device 50 may be implemented by executing software instructions on a single computer or on one or more computers in data communication over a network. Alternatively, specially designed hardware and/or software may be used to implement one or more of the correlator device 30, analysis device 40, and visualization device 50. Other hardware and/or software implementations may also be used.
Network device transmissions over the wireless link 14 are bounded by a “personal operating space,” i.e., a device range. Network device transmissions from a given device will be detected by other network devices operating within that personal operating space. Similarly, a given network device will detect transmissions from other network devices within its own operating space. In one embodiment, the personal operating space of each network device in the network intersects with the personal operating space of at least one capture device 20. In one embodiment, the capture devices 20 are dedicated passive packet sniffer devices. In a different embodiment, the capture devices 20 may be integrated into active network devices and simultaneously perform an active network device role and a passive sniffing role to capture network data. The simultaneous role of the capture devices 20 provides for active interrogation of the network by the sensor analysis system 10 to facilitate network analysis.
In one embodiment, the network analysis system 10 of
The statistical nature of radio transmissions may cause a single capture device 20 to miss an occasional packet transmission. When more than one capture device 20 can detect a particular packet 12 transmitted from a network device, the probability of missing a packet transmission is reduced. The overlapping of personal operation spaces of the capture devices 22, however, may result in duplicate packet detections when a packet is detected at multiple capture devices 20. Thus the correlator 30 receives the packet records 22 and filters the packet records 22 of packet records 22 corresponding to duplicate packets 12 and/or retransmitted packets 12. Packet records 22 corresponding to duplicate packets 12, i.e., a packet that is detected at multiple capture devices 20, may be used to calibrate timestamp information from each capture device 20.
In one embodiment, the calibrated timestamps are used to generate the correlated packet records 32 that comprise the packet records 22 placed in the order that their corresponding packets 12 were detected by the capture devices 20. Accordingly, the correlated packet records 32 are representative of the order in which the packets were transmitted in the network. In another embodiment, the correlated packet records 32 need not be placed in the order that their corresponding packets 12 were detected by the capture devices 20; instead, the representative of the order in which the packets 12 were transmitted in the network may be recreated by indexing the timestamp of each packet record 22.
The analysis device 40 receives the correlate packet records 32 and processes the records 32 to generate the network topology data 32, packet flow records 44 and measurements data 46, which is, in turn, used to detect the topology of the wireless network and to identify packet paths and the nature thereof through the wireless network. Identified packet routes are used to generate statistics on the flow of packets through the network.
The visualization device 50 may generate a visual representation of the network. The discovered routes and streams may be visually represented on the graphical representation of the network topology. A stream comprises all packets transmitted at the network layer between two devices. A route comprises a unique sequence of nodes traversed by a given stream of packets. Hence a stream will be comprised of one or more routes. The packet routes may be shown as traversing devices in the wireless network, and may be classified as successful or failed routes to aid troubleshooting, network planning and installation.
In one embodiment, the capture clock 24 is a free-running independent clock and timestamp synchronization of packet records 22 is implemented in the correlator 30. In another embodiment, the capture devices 20 may communicate synchronization data to synchronize the capture clocks 24 in each capture device. In this embodiment, one capture device 20 may be designated a master capture device 20 and all other capture devices may calculate offsets or receive offsets to be added to their respective capture clocks 24 so that all capture clock 24 values are synchronized. The timestamp synchronization function may then be omitted from the correlator 30.
The timestamped packet records 22 are forwarded from the capture devices 20 to the correlator device 30. The capture devices 20 and the correlator device 30 may communicate in-band over the wireless network 14 or out-of-band over a separate network 18. An out-of-band network can be used to avoid traffic congestion that will modify the behavior of the network.
In one embodiment, the correlator device 30 also processes retransmitted packets by identifying and discarding retransmitted packets. Often transmitted packets may require acknowledgment by a receiving device, such as in the case in which a transmitting device inserts a flag in those transmitted packets that requires acknowledgment. Unacknowledged packets may be retransmitted a certain number of times or until an acknowledgment signal is received by the transmitting device.
To generate the correlated packet records 32, the correlator device 30 stores each packet record 22 received from each capture device 20 in a data store, such as a cache. When a new packet record 22 is received, it is checked to determine whether it has already been received from the same capture device 20 by comparing the received packet record 22 to packet records 22 stored in the data store. If it has already been received from the same capture device 20, the original received packet record 22 is marked as being subject to retransmission and the received packet record 22 is discarded. Packet records 22 may be compared by comparing the full contents of the packet record 22, or by comparing a subset of the packet record 22. The subset may be used to generate 16 or 32-bit cyclic redundancy checksum of the entire packet record 22, for example. Other comparison techniques may also be used.
If the packet record 22 does not correspond to a retransmitted packet 12, the packet record 22 is compared to packet records 22 stored in the data store to determine whether the packet record 22 has been received from another capture device 20. The same comparison techniques described above may be used in this comparison. If the packet record 22 has been received from another capture device 20, then the received packet record 22 is discarded, and the original received packet record 22 is designated as a duplicate packet record.
If a packet record 22 does not correspond to a duplicate packet 12 or a retransmitted packet 12, then the packet record 22 is stored in the data store as a new packet record 22.
Before duplicate packet records 22 are discarded, they are used to perform timestamp synchronization. The correlation device 30 first designates one capture device 20 as master timing capture device 20 for the purpose of synchronization. All other capture records 22 from other capture devices 20 are time synchronized to master timing capture device 20 as packet records 22 are received. As duplicated packet records 22 are received, a timing offset is calculated between the time the packet record 22 was received from the master timing capture device 20 and the unsynchronized capture device 20. An offset is calculated and stored for each capture device 20 and applied to all subsequent packet records 22 received from each capture device 20, respectively.
Once a capture device 20 has become synchronized, it may then be used to synchronize other capture devices 20. This facilitates packet records 22 from capture devices 20 that do not detect duplicate packets with the master timing capture device 20 to nevertheless become synchronized to the master timing capture device 20. The timing offsets may be adjusted with every duplicate packet record 22 detected.
Timestamp synchronization is not performed on packet records 22 that are classified as retransmissions. This avoids timestamp synchronization between an original packet record received 22 from a capture device 20 and a packet record 22 corresponding to a later retransmission of the packet 12 detected at another capture device 20.
The correlator device 30 uses the timing offsets to normalize the timestamps for all packet records 22 in the outgoing correlated packet records 32. The potential exists for packet records 22 to be received from multiple capture devices 20 out of the order from which they were actually transmitted. The normalized timestamps enable the correlator device 30 to reorder the packet records 22 in the outgoing packet stream to ensure they are forwarded to the analysis device 40 in the actual order they were transmitted. Reordering can be accomplished by storing packet records 22 intended for the outgoing correlated packet records 32 in a data store, such as a cache, for a time period before forwarding them to the analysis device 40. This time period may be selected based on the longest time possible for a packet 12 to be transmitted by a network device 16, detected by a capture device 20 and forwarded to the correlator device 30 for analysis. The time period is therefore dependent on the actual network under test and the specific implementation of the analysis system 10 and thus may be determined empirically.
The correlator device 30 thus produces correlated packet records 32 that comprise an ordered, time-stamped list of packet records 22 as detected across the wireless network, and free of packet records 22 corresponding to duplicate packets 12 or retransmissions of packets 12. The packet records 22 will appear in the ordered list, collected from different capture devices 20 in the network, in the order that their corresponding packets 12 were transmitted. Thus the correlator device 30 ensures that for a network layer packet 12 that traverses across multiple network devices 16, each hop of its path will be represented in the correct order in the correlated packet list 32. For example, for a packet sent from network device A to network device D and traversing hops from network device A to network device B to network device C to network device D, the correlated packet records 32 will comprise three packet records 22, one for each of the MAC layer segments from network devices A to B, B to C and C to D. The correlated packet records 32 will also be filtered of any packet records 22 corresponding to duplicate packets 12 or retransmitted packets 12.
The analysis device data structure 60 defines static object instances 62 and dynamic object instances 64. The data structure 60 further defines network device information 66 and measurement information 68.
The network device information 66 comprises a hierarchical NetworkTopology class 70, Structure class 74, Device class 76, Endpoint class 78, Stream class 80, Route class 82 and EP Binding class 84 hierarchically arranged as shown in
The packet capture subsystem block 122 of
TABLE 1
Example Decoded Packet Data
Data
Description
Index
Index (sequence) number of the packet. The index is
initialized to 1 at the beginning of a capture session.
Indices are assigned sequentially to all packets
received, and thus an index missing in the Packet
List is indicative of a filter being applied.
Time
Time at which the packet was received, as provided
by the capture device. The format is
‘seconds.microseconds’ where ‘seconds’ is the
time in seconds since midnight, Jan. 1, 1970, and
‘microseconds’ is an offset in
microseconds from this time.
Src PAN
The MAC Source PAN field.
Src
The MAC source address field.
Dest PAN
The MAC Destination PAN field.
Dest
The MAC destination address field.
MAC Seq No
The MAC Sequence Number.
NWK Src
The NWK source address field.
NWK Dest
The NWK destination address field.
NWK Seq No
The NWK Sequence Number.
APS Src EP
The APS Source Endpoint.
APS Dest EP
The APS Destination Endpoint.
APS Profile
The APS Profile ID.
APS Cluster
The APS Cluster ID.
AF Seq No
Application Frame Sequence number.
Protocol
The appropriate protocol layer corresponding to the
packet.
Packet Type
The actual packet type. For example, ZigBee NWK
layer packet types may be “Command” or “Data.”
Steps 128, 130 and 132 provide an example implementation of step 126. Step 128 detects new devices and updates existing device information based on the MAC, network and application layer information. Step 130 detects changes to the network topology based on the MAC, network and application layer information. Step 132 detects new streams and endpoints based on the MAC, network and application layer information.
In one example embodiment, the analysis device 40 detects nodes that are added to the network by detecting ASSOCIATION frames in which a new network device searches for associations. The first existing network device that receives and responds to the ASSOCIATION frames from the new network device becomes the parent of the new device and a new device association is formed. The analysis device 40 detects this exchange of packets and adds the new device and association to the NetworkTopology 70 data structure. The source and destination network layer addresses are used to identify a packet stream that represents the flow of packets between two devices in the network. The measurements data structure 96 maintains a list of all packet streams emanating from each device. When a new stream is detected, a new stream object 104 is added to the measurements data structure 96.
Step 134 extracts network object information. Step 134 typically involves a protocol-aware process, e.g., a process specific to a ZigBee network or 802.11 network, for example. Steps 136, 138, 140 and 142 provide an example implementation of step 134 for a ZigBee network. Step 136 determines MAC duplicate suppressions and counts based on packet data. Step 138 obtains network layer measurements. Step 140 executes route and application support layer detection algorithms and measurement algorithms, examples of which are provided in
In the example embodiment, the analysis device 40 collects MAC layer measurements for each device in the network. These measurements may include packet counts and received signal strength. For each stream, the analysis device 40 performs route detection to detect the routes taken by the flow of packets through the network, e.g., a sequence of hops taken by one or more packets.
The measurements data structure 96 is updated when a complete packet flow record is created. Each stream object 80 has one or more corresponding route objects 82 to represent the given path taken through the network. A complete packet flow record is therefore used to create a new route object 82 if one does not exist for the given path; otherwise, the packet flow record is used to update the measurements 114 for the corresponding route. For each route object 82, measurements may include statistics for packet counts and latency. The statistics are updated for each complete packet flow record. In one embodiment, the analysis device 40 utilizes a timer to indicate measurement intervals for accumulating, latching and reporting the measurements that are collected.
In the embodiment, the analysis device 40 determines the source and destination network layer addressing. Based on the source and destination addresses the analysis device 40 identifies a matching stream object 80. If a corresponding stream object 80 does not exist, one is created.
The analysis device 40 compares MAC addresses and network addresses. If the source MAC address matches the source network address then the packet record corresponds to the first hop of a new packet flow and a new packet flow record is created, updated with information on the first hop and added to the list of temporary packet flow records.
If the destination MAC address matches the destination network address then the correlated packet record 32 corresponds to the last hop of a packet flow. The analysis device 40 identifies the packet flow record in the list of temporary packet flow records and transfers the packet flow record to the packet flow record list. This triggers a completion of the packet flow processing which causes the route measurements data structures 114 to update and triggers application layer measurement processing.
If the destination MAC address matches the destination network address more than once, then the analysis device 40 determines that duplicate network packets were transmitted and reports duplicate packet measurements.
If the correlated packet record 32 does not correspond to the first or last hop, then the analysis device 40 identifies the temporary packet flow record for correlated packet record 32 and updates the temporary packet flow with this latest intermediate hop.
In one embodiment, there is an aging process to process incomplete packet flow records at the end of every measurement interval. Any temporary packet flow record that has not been updated for a configurable timeout interval is marked as an incomplete route and transferred from the temporary list of packet flow records to the list of completed packet flow records.
Thereafter, step 160 may perform application layer processing on the identified routes. In the example embodiment, application layer functionality is represented as endpoints that embody the functionality of a particular network device, and a single network device may support multiple endpoints. The analysis device 40 processes valid application layer packets and ignores other packets. The application layer packets are analyzed to determine the endpoints identified by the packets. If a new endpoint is detected, a corresponding device object 76 in the NetworkTopology data structure 70 is updated to reflect the new endpoint. Application layer information, such as a supported application and attributes, about the endpoint is stored therein.
On completion of a network layer packet flow record, the application layer information relevant to the flow record is updated. Such information may include the source and destination endpoint. Flows between endpoints are stored as application endpoint (EP) Binding objects 84 as part of the stream object within 80 the overall measurements data structure 94.
Detected packet flows, data for which is stored in the packet flow records 44, may be mapped onto the visual representation 190. Each packet flow record 44 defines a packet path taken through the network. Each packet flow is depicted using a spline 202, 204 or 206 that connects through each of the devices traversed by the packet as it traveled through the network from source to destination. Multiple packet flow records can be shown simultaneously by drawing multiple splines, as shown in
In one embodiment, each spline is rendered with unique visual indicia, such as a different color. Additional information about a packet flow can be examined by selecting a spline 202, 204 or 206. Additional information can include highlighting each of the nodes traversed by the packet flow, a popup screen with statistics on the route such as the number of packet flows that were observed on the given route, or other measurements.
The baseline visualization represents the two-dimensional topology of the wireless mesh network as described in the network topology data 42 maintained by the analysis device 40. The topology may comprise a star, tree, mesh or combination thereof. Regardless of the structure, the network topology represents the devices in the network and the associations between them.
In one embodiment, the visualization device 50 may be implemented to visualize a ZigBee network. The visual representation 190 provides the basis for visualizing the result of the network (NWK) layer analysis. The visual representation 190 depicts formal associations and may also facilitate the processing of network layer analysis.
Packet records are communicated to a computer 60 via a network 18, such as an Ethernet network. The computer 60 comprises an out-of-band communication subsystem 260, a processor 262, a data store 264, an I/O subsystem 266, and a data bus 268. The I/O subsystem includes a user-input device 270, such as a keyboard, and a display 272. The out-of-band communication subsystem 260 may also be part of the I/O subsystem 266. The computer system 60 may include software instructions stored in the data store 264 that upon execution by the processor 262 provide the functionality of the correlator device 30, analysis device 40, and visualization device 50 as described above.
If a received packet record does not correspond to a retransmitted packet of a stored packet record, then step 318 determines if a received packet record corresponds to a duplicate packet of a stored packet record. If a received packet record corresponds to a duplicate packet of a stored packet record, then step 320 timestamp synchronizes the received packet record and the stored packet record, discards the received packet record, and classifies the stored packet record as a duplicate packet record. If a received packet record does not correspond to a duplicate packet of a stored packet record, then the packet record is stored in step 322.
Step 313 compares a received packet record for a first capture device to stored packet records received from the first capture device. Step 315 determines if the received packet record corresponds to a retransmitted packet record. If so, then step 317 stores the received packet record and classifies the received packet record and stored packet record as retransmitted packet records.
If the received packet record does not correspond to a retransmitted packet record, then step 319 determines if the received packet record corresponds to a duplicate packet record. If the received packet record does not correspond to a duplicate packet record the packet record, then step 321 discards the packet record.
If the received packet record does correspond to a duplicate packet record the packet record, then step 323 determines if the received packet record corresponds to a retransmitted packet from other capture devices. If not, then step 325 timestamp synchronizes the received packet record and the stored packet record, discards the received packet record, and classifies the stored packet record as a duplicate packet record. If, however, the received packet record corresponds to a retransmitted packet from other capture devices, then step 327 discards the received packet record.
The analysis device 50 detect packets flowing on multiple PANs simultaneously and the detected network topology is broken out at the top level into multiple PANS. PAN objects are used to display one PAN at a time. The may can select which PAN to display by right-clicking on the PAN icon, which displays a list of detected PANs to select from. When the user selects a different PAN the associated network topology is shown.
A PAN fragment object is used to show partially formed network fragments for the selected PAN. This is a partial part of the network where the analysis device 50 has not yet deduced how PAN fragment connects to the rest of the negotiation. A PAN fragment object may be used to show a partial fragment of the network that has been observed by the analysis device 40 and for which the analysis device 40 does not currently have adequate information to determine where the corresponding PAN attached to the rest of the network. Such a condition may occur when the formation of the network was not observed by the network analysis system 10. For example, the network analysis system 10 may have failed to detect some of the ASSOCIATION requests and responses. An identified PAN fragment may be the result of part of the network being formed prior to data collection by the capture devices 20, or part of the network being out of range of any capture devices 20.
A first PAN object 442 corresponds to an identified PAN in the network. The corresponding PAN of the PAN object 442 comprises network devices 446 and 448 as indicated by association lines 450 and 452. The second PAN object 444 is a PAN fragment object, indicating a network fragment. The corresponding PAN fragment of the PAN object 444 comprises network devices 454 and 456 as indicated by association lines 458 and 460. Network devices 446, 448, 454 and 456 communicate data via paths 462.
TABLE 2
Example Capture File Format
Field
Length
Type
Description
Sequence
1-10
32-bit unsigned
This is the timestamp of the packet. It
decimal integer.
increments as each packet is placed into the
file.
Timestamp
1-10.1-6
32-bit unsigned
This is the number of the packet's arrival. The
decimal
first integer is the time in seconds since
integer. 32-bit
midnight, Jan. 1, 1970. The second integer
unsigned decimal
is an offset in microseconds from this time.
integer.
The integers are separated by a period (‘.’).
Length
3
8-bit unsigned
This is the number of octets represented in the
decimal integer.
Data field.
Data
2-250
Concatenation of
This is the packet data. Its length is determined
characters.
by the Length field. The last two octets will be
masked to 0xffff.
LQI
5
16-bit unsigned
This is the Link Quality Indicator (LQI) of the
decimal integer
packet.
FCS
1
0 or 1
This is the Frame Check Sequence (FCS)
correctness of the packet. If 1 the FCS was
correct, if 0 the FCS was incorrect.
Playback and analysis of the capture file 508 may be controlled via capture and playback controls 512. The capture file 508 may be analyzed by a correlator device 30 and/or an analysis device 40 to determine a device tree 514 that describes the network topology. Measurement controls 516 are used to manage the collection and analysis of measurements 518 that are, in turn, used to generate visual representations, including a visual device tree 520 and a visual device layout 522.
Packet data may also be analyzed via a packet decoder and display filter 524. Based on the input to the packet decoder and display filter 524, a packet list window 526, a packet decode window 528 and a packet data window 530 may display the decoded packet information and data.
The network analysis system 10 provides for the playback of capture files 508 previously captured from live networks. In one embodiment, the network analysis system 10 has a live network analysis mode and a post-analysis mode. The live network analysis mode analyzes network data and facilitates network analysis in near real-time. The post-analysis mode facilitates post-analysis of capture files previously captured from a live network by either a user or a third party.
In one embodiment, breakpoints may be added during live capture or during playback.
A breakpoint comprises of a user-definable string associated with the given location in the capture file. An entry is added to the capture file to represent the breakpoint. During playback, whenever a breakpoint is detected in the capture file 508, playback pauses and the breakpoint text string is displayed. Breakpoints may also be ignored by selecting a breakpoint disable mode.
The profile editor comprises a profile definition and a cluster definition. Clusters indicate the set of messages supported by the application profile. For each profile there may be one or more clusters.
Other information may also be displayed in the information field.
Routes may be classified according to various types. Example route types include successful, malformed, malformed-s, reroute, and failed. A successful route classification occurs when a given packet correctly arrives at its destination and all hops from source to destination device are detected. A malformed route classification occurs when a given packet correctly arrives at its destination but not all hops are detected. For this route type, the first hop is detected. A malformed-s route classification occurs when a given packet correctly arrives at its destination but not all hops are detected, including the first hop. A reroute classification occurs when packets arrive at the destination via a re-route. A failed route classification occurs when a given network layer packet is detected at one or more hops but the packet is not detected arriving at its intended destination.
Each level of the measurements hierarchy can also be provided with a right-click context menu. Context menus enable the selection and highlighting of corresponding items in the visual device tree 604, or provide shortcut packet filter operations to filter the packets shown in the packet list based on the selected item in the measurements window 600. Different context menu items are available for different items.
In one embodiment, a single PAN is displayed at any one time. The current PAN ID for the PAN object 710 is represented by a rectangle as the root of the tree. A selectable list of available PANs for display may be displayed by right-clicking on the PAN object 710. Selecting a PAN ID will display a visual device tree for the selected PAN.
Other visual representations may also be generated. For example, if a particular device is retransmitting a packet, the corresponding device object may be highlighted by visual highlight indicia, such as a conspicuous color, e.g., outlined in yellow, indicating a possible communication problem.
The APS layer analysis is based on the detection of APS data packets. In a ZigBee network, the APS packet header includes the source endpoint, Profile ID, cluster ID, and destination endpoint.
There are two addressing schemes available in the APS layer—direct addressing and indirect addressing. In direct addressing, APS Packet Flows between end devices are identified. These packet flows may be broken down by end-point pairs and then be further broken down by profile ID and cluster ID. When a new packet flow is detected between endpoints, the visualization 810 is updated to show the endpoints on each end device, and to add a link between the source and destination endpoints to represent the binding. In one embodiment, the binding is implicitly determined by the network analysis system 10 by determining the link based on the flow of APS data packets and thus need not be based on the detection of explicit binding requests. The link is represented as a line linking the endpoints, such as the binding line 830 representing the binding between endpoints 822 and 828. Once selected, information about the binding, including the Profile ID and the list of cluster IDs, may be shown directly under the selected binding.
Selection of an endpoint may act as a filter that results in the display of only those bindings associated with this endpoint. If a single binding exists for an endpoint, selecting an endpoint will select the corresponding source and destination end devices for showing routing information. The selected endpoints, devices and binding are then highlighted. For example, selecting endpoint 822 in
If a binding does not exist, the selection of an endpoint may act as a filter whereby only future bindings that include this endpoint will be shown. Thus when a new binding is added, the corresponding source and destination devices are automatically selected for drawing routes.
When using indirect addressing, the source or destination endpoint may be absent from the packet. Indirect addressing is used when a particular end device does not have direct support for binding, i.e., the device does not know the final destination for the APS packets it sends. Instead, the end device will forward the APS packets to the coordinator, and the coordinator performs a binding table lookup to forward the packets to the associated destinations.
Indirect addressing is visually represented by considering the flow of packets from the source endpoint to the coordinator and the flow of packets from the coordinator to destination endpoints. Each segment is shown independently in the visual devices tree, and there is an INDIRECT endpoint object associated with the coordinator. All indirect bindings are shown intersecting with the indirect endpoint object. Packet flows from source endpoint to the coordinator are shown as a binding from the source endpoint to the INDIRECT endpoint, and packet flows from the coordinator to destination endpoints are shown as a binding from the INDIRECT endpoint to the destination endpoints.
Selecting a source endpoint results in automatic selection of the corresponding end device and route to the coordinator. For example, in
The visual device tree also provides context menus to quickly access functions relative to various displayed objects. The right-click menu item can be selected after moving a mouse above an object in the visual device tree and selecting the right-click menu button. Device context menus, route context menus, APS endpoint context menus, and APS binding context menus similar to the context menus previously described may thus be readily accessed by a user.
Network objects are initially displayed in a placement pane 902. The placement pane 902 initially contains all identified devices and any new devices that join the network. In one embodiment, devices may be placed in a device naming table. Devices in the device naming table are displayed in the placement pane 902 and can be placed on the background image regardless of whether the devices are part of the current identified network. This allows devices to be placed on a background image to represent their physical location prior to the network being formed.
Devices may be placed in the background image by conventional drag-and-drop operations. As illustrated in
Although
In another embodiment, endpoints are visually represented as intrinsic elements of a network device object, and endpoint bindings are drawn between nodes.
The steps and the order of the steps in the methods and flowcharts described herein may be altered, modified and/or augmented and still achieve the desired outcome. Additionally, the methods, flow diagrams and structure block diagrams described herein may be implemented in the example processing devices described herein by program code comprising program instructions that are executable by the device processing subsystem. Other implementations may also be used, however, such as firmware or even appropriately designed hardware configured to carry out the methods and flow diagrams or implement the structure block diagrams described herein. Additionally, the methods, flow diagrams and structure block diagrams that describe particular methods and/or corresponding acts in support of steps and corresponding functions in support of disclosed software structures may also be implemented in software stored in a computer readable medium and equivalents thereof. The software structures may comprise source code, object code, machine code, or any other persistently or temporarily stored code that is operable to cause one or more processing systems to perform the methods described herein or realize the structures described herein.
This written description sets forth the best mode of the invention and provides examples to describe the invention and to enable a person of ordinary skill in the art to make and use the invention. This written description does not limit the invention to the precise terms set forth. Thus, while the invention has been described in detail with reference to the examples set forth above, those of ordinary skill in the art may effect alterations, modifications and variations to the examples without departing from the scope of the invention.
Barron, Gregory Joseph, Choong, Jason Yew Choo, Cobb, Peter Graeme, Wood, William Raymond, van Gerrevink, Dean
Patent | Priority | Assignee | Title |
10028144, | Jan 28 2009 | Headwater Research LLC | Security techniques for device assisted services |
10057141, | Jan 28 2009 | Headwater Research LLC | Proxy system and method for adaptive ambient services |
10057775, | Jan 28 2009 | Headwater Research LLC | Virtualized policy and charging system |
10064033, | Jan 28 2009 | Headwater Research LLC | Device group partitions and settlement platform |
10064055, | Jan 28 2009 | Headwater Research LLC | Security, fraud detection, and fraud mitigation in device-assisted services systems |
10070305, | Jan 28 2009 | Headwater Research LLC | Device assisted services install |
10080250, | Jan 28 2009 | Headwater Research LLC | Enterprise access control and accounting allocation for access networks |
10165447, | Jan 28 2009 | Headwater Research LLC | Network service plan design |
10171681, | Jan 28 2009 | Headwater Research LLC | Service design center for device assisted services |
10171988, | Jan 28 2009 | Headwater Research LLC | Adapting network policies based on device service processor configuration |
10171990, | Jan 28 2009 | Headwater Research LLC | Service selection set publishing to device agent with on-device service selection |
10171995, | Mar 14 2013 | Headwater Research LLC | Automated credential porting for mobile devices |
10200541, | Jan 28 2009 | Headwater Research LLC | Wireless end-user device with divided user space/kernel space traffic policy system |
10237146, | Jan 28 2009 | Headwater Research LLC | Adaptive ambient services |
10237757, | Jan 28 2009 | Headwater Research LLC | System and method for wireless network offloading |
10237773, | Jan 28 2009 | Headwater Research LLC | Device-assisted services for protecting network capacity |
10248996, | Jan 28 2009 | Headwater Research LLC | Method for operating a wireless end-user device mobile payment agent |
10264138, | Jan 28 2009 | Headwater Research LLC | Mobile device and service management |
10264652, | Oct 10 2013 | DIGITAL LUMENS, INC | Methods, systems, and apparatus for intelligent lighting |
10306733, | Nov 03 2011 | OSRAM SYLVANIA Inc | Methods, systems, and apparatus for intelligent lighting |
10320990, | Jan 28 2009 | Headwater Research LLC | Device assisted CDR creation, aggregation, mediation and billing |
10321320, | Jan 28 2009 | Headwater Research LLC | Wireless network buffered message system |
10326675, | Jan 28 2009 | Headwater Research LLC | Flow tagging for service policy implementation |
10326800, | Jan 28 2009 | Headwater Research LLC | Wireless network service interfaces |
10355964, | Oct 31 2014 | AT&T Intellectual Property I, L.P.; AT&T Intellectual Property I, L P | Method and system to capture selected network data |
10362658, | Apr 14 2008 | OSRAM SYLVANIA Inc | Lighting fixtures and methods for automated operation of lighting fixtures via a wireless network having a mesh network topology |
10389608, | Mar 15 2013 | Amazon Technologies, Inc | Network traffic mapping and performance analysis |
10419335, | Dec 27 2012 | MORRIS ROUTING TECHNOLOGIES, LLC | Region scope-specific outside-scope indentifier-equipped routing methods, systems, and computer program products |
10462627, | Jan 28 2009 | Headwater Research LLC | Service plan design, user interfaces, application programming interfaces, and device management |
10485068, | Apr 14 2008 | OSRAM SYLVANIA Inc | Methods, apparatus, and systems for providing occupancy-based variable lighting |
10492102, | Jan 28 2009 | Headwater Research LLC | Intermediate networking devices |
10536983, | Jan 28 2009 | Headwater Research LLC | Enterprise access control and accounting allocation for access networks |
10539311, | Apr 14 2008 | OSRAM SYLVANIA Inc | Sensor-based lighting methods, apparatus, and systems |
10582375, | Jan 28 2009 | Headwater Research LLC | Device assisted services install |
10681179, | Jan 28 2009 | Headwater Research LLC | Enhanced curfew and protection associated with a device group |
10684030, | Mar 05 2015 | Honeywell International Inc.; Honeywell International Inc | Wireless actuator service |
10694385, | Jan 28 2009 | Headwater Research LLC | Security techniques for device assisted services |
10715342, | Jan 28 2009 | Headwater Research LLC | Managing service user discovery and service launch object placement on a device |
10716006, | Jan 28 2009 | Headwater Research LLC | End user device that secures an association of application to service policy with an application certificate check |
10749700, | Jan 28 2009 | Headwater Research LLC | Device-assisted services for protecting network capacity |
10771980, | Jan 28 2009 | Headwater Research LLC | Communications device with secure data path processing agents |
10779177, | Jan 28 2009 | Headwater Research LLC | Device group partitions and settlement platform |
10783581, | Jan 28 2009 | Headwater Research LLC | Wireless end-user device providing ambient or sponsored services |
10789800, | May 24 2019 | Ademco Inc. | Systems and methods for authorizing transmission of commands and signals to an access control device or a control panel device |
10791471, | Jan 28 2009 | Headwater Research LLC | System and method for wireless network offloading |
10798252, | Jan 28 2009 | Headwater Research LLC | System and method for providing user notifications |
10798254, | Jan 28 2009 | Headwater Research LLC | Service design center for device assisted services |
10798558, | Jan 28 2009 | Headwater Research LLC | Adapting network policies based on device service processor configuration |
10803518, | Mar 15 2013 | Headwater Research LLC | Virtualized policy and charging system |
10832509, | May 24 2019 | Ademco Inc. | Systems and methods of a doorbell device initiating a state change of an access control device and/or a control panel responsive to two-factor authentication |
10834577, | Jan 28 2009 | Headwater Research LLC | Service offer set publishing to device agent with on-device service selection |
10834583, | Mar 14 2013 | Headwater Research LLC | Automated credential porting for mobile devices |
10841839, | Jan 28 2009 | Headwater Research LLC | Security, fraud detection, and fraud mitigation in device-assisted services systems |
10848330, | Jan 28 2009 | Headwater Research LLC | Device-assisted services for protecting network capacity |
10855559, | Jan 28 2009 | Headwater Research LLC | Adaptive ambient services |
10869199, | Jan 28 2009 | Headwater Research LLC | Network service plan design |
10985977, | Jan 28 2009 | Headwater Research LLC | Quality of service for device assisted services |
11039020, | Jan 28 2009 | Headwater Research LLC | Mobile device and service management |
11096055, | Jan 28 2009 | Headwater Research LLC | Automated device provisioning and activation |
11126533, | Aug 18 2017 | VMware LLC | Temporal analysis of a computing environment using event data and component relationship data |
11134102, | Jan 28 2009 | Headwater Research LLC | Verifiable device assisted service usage monitoring with reporting, synchronization, and notification |
11188445, | Aug 18 2017 | VMware LLC | Generating a temporal topology graph of a computing environment based on captured component relationship data |
11190427, | Jan 28 2009 | Headwater Research LLC | Flow tagging for service policy implementation |
11190545, | Jan 28 2009 | Headwater Research LLC | Wireless network service interfaces |
11190645, | Jan 28 2009 | Headwater Research LLC | Device assisted CDR creation, aggregation, mediation and billing |
11193652, | Apr 14 2008 | OSRAM SYLVANIA Inc | Lighting fixtures and methods of commissioning light fixtures |
11218854, | Jan 28 2009 | Headwater Research LLC | Service plan design, user interfaces, application programming interfaces, and device management |
11219074, | Jan 28 2009 | Headwater Research LLC | Enterprise access control and accounting allocation for access networks |
11228617, | Jan 28 2009 | Headwater Research LLC | Automated device provisioning and activation |
11294789, | Aug 18 2017 | VMware LLC | Data collection of event data and relationship data in a computing environment |
11337059, | Jan 28 2009 | Headwater Research LLC | Device assisted services install |
11363496, | Jan 28 2009 | Headwater Research LLC | Intermediate networking devices |
11405224, | Jan 28 2009 | Headwater Research LLC | Device-assisted services for protecting network capacity |
11405429, | Jan 28 2009 | Headwater Research LLC | Security techniques for device assisted services |
11412366, | Mar 02 2009 | Headwater Research LLC | Enhanced roaming services and converged carrier networks with device assisted services and a proxy |
11425580, | Jan 28 2009 | Headwater Research LLC | System and method for wireless network offloading |
11469984, | Mar 15 2013 | Amazon Technologies, Inc. | Network traffic mapping and performance analysis |
11477246, | Jan 28 2009 | Headwater Research LLC | Network service plan design |
11494837, | Mar 15 2013 | Headwater Research LLC | Virtualized policy and charging system |
11516301, | Jan 28 2009 | Headwater Research LLC | Enhanced curfew and protection associated with a device group |
11533642, | Jan 28 2009 | Headwater Research LLC | Device group partitions and settlement platform |
11538106, | Jan 28 2009 | Headwater Research LLC | Wireless end-user device providing ambient or sponsored services |
11563592, | Jan 28 2009 | Headwater Research LLC | Managing service user discovery and service launch object placement on a device |
11570309, | Jan 28 2009 | Headwater Research LLC | Service design center for device assisted services |
11582593, | Jan 28 2009 | HEAD WATER RESEARCH LLC | Adapting network policies based on device service processor configuration |
11589216, | Jan 28 2009 | Headwater Research LLC | Service selection set publishing to device agent with on-device service selection |
11665186, | Jan 28 2009 | Headwater Research LLC | Communications device with secure data path processing agents |
11665592, | Jan 28 2009 | Headwater Research LLC | Security, fraud detection, and fraud mitigation in device-assisted services systems |
11743717, | Mar 14 2013 | Headwater Research LLC | Automated credential porting for mobile devices |
11750477, | Jan 28 2009 | Headwater Research LLC | Adaptive ambient services |
11757943, | Jan 28 2009 | Headwater Research LLC | Automated device provisioning and activation |
11854329, | May 24 2019 | Ademco Inc. | Systems and methods for authorizing transmission of commands and signals to an access control device or a control panel device |
11923995, | Jan 28 2009 | Headwater Research LLC | Device-assisted services for protecting network capacity |
11927352, | Mar 05 2015 | Honeywell International Inc. | Wireless actuator service |
11966464, | Jan 28 2009 | Headwater Research LLC | Security techniques for device assisted services |
11968234, | Jan 28 2009 | Headwater Research LLC | Wireless network service interfaces |
11973804, | Jan 28 2009 | Headwater Research LLC | Network service plan design |
11985155, | Jan 28 2009 | Headwater Research LLC | Communications device with secure data path processing agents |
8531134, | Apr 14 2008 | OSRAM SYLVANIA Inc | LED-based lighting methods, apparatus, and systems employing LED light bars, occupancy sensing, local state machine, and time-based tracking of operational modes |
8536802, | Apr 14 2008 | OSRAM SYLVANIA Inc | LED-based lighting methods, apparatus, and systems employing LED light bars, occupancy sensing, and local state machine |
8543249, | Apr 14 2008 | OSRAM SYLVANIA Inc | Power management unit with modular sensor bus |
8552664, | Apr 14 2008 | OSRAM SYLVANIA Inc | Power management unit with ballast interface |
8593135, | Apr 14 2008 | OSRAM SYLVANIA Inc | Low-cost power measurement circuit |
8610376, | Apr 14 2008 | OSRAM SYLVANIA Inc | LED lighting methods, apparatus, and systems including historic sensor data logging |
8610377, | Apr 14 2008 | OSRAM SYLVANIA Inc | Methods, apparatus, and systems for prediction of lighting module performance |
8670462, | Sep 10 2010 | Ricoh Company, Ltd. | Information processing apparatus, information processing method and information processing program |
8729833, | Mar 19 2012 | OSRAM SYLVANIA Inc | Methods, systems, and apparatus for providing variable illumination |
8754589, | Apr 14 2008 | OSRAM SYLVANIA Inc | Power management unit with temperature protection |
8805550, | Apr 14 2008 | OSRAM SYLVANIA Inc | Power management unit with power source arbitration |
8823277, | Apr 14 2008 | OSRAM SYLVANIA Inc | Methods, systems, and apparatus for mapping a network of lighting fixtures with light module identification |
8832777, | Jan 28 2009 | Headwater Research LLC | Adapting network policies based on device service processor configuration |
8839387, | Jan 28 2009 | Headwater Research LLC | Roaming services network and overlay networks |
8839388, | Jan 28 2009 | Headwater Research LLC | Automated device provisioning and activation |
8841859, | Apr 14 2008 | OSRAM SYLVANIA Inc | LED lighting methods, apparatus, and systems including rules-based sensor data logging |
8866408, | Apr 14 2008 | OSRAM SYLVANIA Inc | Methods, apparatus, and systems for automatic power adjustment based on energy demand information |
8868455, | Jan 28 2009 | Headwater Research LLC | Adaptive ambient services |
8886162, | Jan 28 2009 | Headwater Research LLC | Restricting end-user device communications over a wireless access network associated with a cost |
8897743, | Jan 28 2009 | Headwater Research LLC | Verifiable device assisted service usage billing with integrated accounting, mediation accounting, and multi-account |
8898293, | Jan 28 2009 | Headwater Research LLC | Service offer set publishing to device agent with on-device service selection |
8924549, | Jan 28 2009 | Headwater Research LLC | Network based ambient services |
8948025, | Jan 28 2009 | Headwater Research LLC | Remotely configurable device agent for packet routing |
8954170, | Apr 14 2008 | OSRAM SYLVANIA Inc | Power management unit with multi-input arbitration |
9014026, | Jan 28 2009 | Headwater Research LLC | Network based service profile management with user preference, adaptive policy, network neutrality, and user privacy |
9014829, | Nov 04 2010 | OSRAM SYLVANIA Inc | Method, apparatus, and system for occupancy sensing |
9026079, | Jan 28 2009 | Headwater Research LLC | Wireless network service interfaces |
9037127, | Jan 28 2009 | Headwater Research LLC | Device agent for remote user configuration of wireless network access |
9059913, | Jan 28 2009 | Headwater Partners I, LLC | Techniques for attribution of device data traffic to initiating end-user application |
9072133, | Apr 14 2008 | OSRAM SYLVANIA Inc | Lighting fixtures and methods of commissioning lighting fixtures |
9094311, | Jan 28 2009 | Headwater Research LLC | Techniques for attribution of mobile device data traffic to initiating end-user application |
9125254, | Mar 23 2008 | OSRAM SYLVANIA Inc | Lighting fixtures and methods of commissioning lighting fixtures |
9137701, | Jan 28 2009 | Headwater Research LLC | Wireless end-user device with differentiated network access for background and foreground device applications |
9137739, | Jan 28 2009 | Headwater Research LLC | Network based service policy implementation with network neutrality and user privacy |
9143976, | Jan 28 2009 | Headwater Research LLC | Wireless end-user device with differentiated network access and access status for background and foreground device applications |
9154428, | Jan 28 2009 | Headwater Research LLC | Wireless end-user device with differentiated network access selectively applied to different applications |
9154826, | Apr 06 2011 | HEADWATER PARTNERS II, LLC | Distributing content and service launch objects to mobile devices |
9173104, | Jan 28 2009 | Headwater Research LLC | Mobile device with device agents to detect a disallowed access to a requested mobile data service and guide a multi-carrier selection and activation sequence |
9179308, | Jan 28 2009 | Headwater Research LLC | Network tools for analysis, design, testing, and production of services |
9179315, | Jan 28 2009 | Headwater Research LLC | Mobile device with data service monitoring, categorization, and display for different applications and networks |
9179316, | Jan 28 2009 | Headwater Research LLC | Mobile device with user controls and policy agent to control application access to device location data |
9179359, | Jan 28 2009 | Headwater Research LLC | Wireless end-user device with differentiated network access status for different device applications |
9191262, | Feb 22 2013 | Dell Products L.P. | Network communication protocol processing optimization system |
9198042, | Jan 28 2009 | Headwater Research LLC | Security techniques for device assisted services |
9198074, | Jan 28 2009 | Headwater Research LLC | Wireless end-user device with differential traffic control policy list and applying foreground classification to roaming wireless data service |
9198075, | Jan 28 2009 | Headwater Research LLC | Wireless end-user device with differential traffic control policy list applicable to one of several wireless modems |
9198076, | Jan 28 2009 | Headwater Research LLC | Wireless end-user device with power-control-state-based wireless network access policy for background applications |
9198117, | Jan 28 2009 | Headwater Research LLC | Network system with common secure wireless message service serving multiple applications on multiple wireless devices |
9204282, | Jan 28 2009 | Headwater Research LLC | Enhanced roaming services and converged carrier networks with device assisted services and a proxy |
9204374, | Jan 28 2009 | Headwater Research LLC | Multicarrier over-the-air cellular network activation server |
9215159, | Jan 28 2009 | Headwater Research LLC | Data usage monitoring for media data services used by applications |
9215613, | Jan 28 2009 | Headwater Research LLC | Wireless end-user device with differential traffic control policy list having limited user control |
9220027, | Jan 28 2009 | Headwater Research LLC | Wireless end-user device with policy-based controls for WWAN network usage and modem state changes requested by specific applications |
9225797, | Jan 28 2009 | Headwater Research LLC | System for providing an adaptive wireless ambient service to a mobile device |
9232403, | Jan 28 2009 | Headwater Research LLC | Mobile device with common secure wireless message service serving multiple applications |
9241392, | Mar 19 2012 | OSRAM SYLVANIA Inc | Methods, systems, and apparatus for providing variable illumination |
9247450, | Jan 28 2009 | Headwater Research LLC | Quality of service for device assisted services |
9253663, | Jan 28 2009 | Headwater Research LLC | Controlling mobile device communications on a roaming network based on device state |
9258735, | Jan 28 2009 | Headwater Research LLC | Device-assisted services for protecting network capacity |
9270559, | Jan 28 2009 | Headwater Research LLC | Service policy implementation for an end-user device having a control application or a proxy agent for routing an application traffic flow |
9271184, | Jan 28 2009 | Headwater Research LLC | Wireless end-user device with per-application data limit and traffic control policy list limiting background application traffic |
9277433, | Jan 28 2009 | Headwater Research LLC | Wireless end-user device with policy-based aggregation of network activity requested by applications |
9277445, | Jan 28 2009 | Headwater Research LLC | Wireless end-user device with differential traffic control policy list and applying foreground classification to wireless data service |
9319913, | Jan 28 2009 | Headwater Research LLC | Wireless end-user device with secure network-provided differential traffic control policy list |
9351193, | Jan 28 2009 | Headwater Research LLC | Intermediate networking devices |
9386121, | Jan 28 2009 | Headwater Research LLC | Method for providing an adaptive wireless ambient service to a mobile device |
9386165, | Jan 28 2009 | Headwater Research LLC | System and method for providing user notifications |
9392462, | Jan 28 2009 | Headwater Research LLC | Mobile end-user device with agent limiting wireless data communication for specified background applications based on a stored policy |
9491199, | Jan 28 2009 | Headwater Research LLC | Security, fraud detection, and fraud mitigation in device-assisted services systems |
9491265, | Feb 22 2013 | Dell Products L.P. | Network communication protocol processing optimization system |
9491564, | Jan 28 2009 | Headwater Research LLC | Mobile device and method with secure network messaging for authorized components |
9510426, | Nov 03 2011 | OSRAM SYLVANIA Inc | Methods, systems, and apparatus for intelligent lighting |
9521578, | Jan 28 2009 | Headwater Research LLC | Wireless end-user device with application program interface to allow applications to access application-specific aspects of a wireless network access policy |
9532161, | Jan 28 2009 | Headwater Research LLC | Wireless device with application data flow tagging and network stack-implemented network access policy |
9532261, | Jan 28 2009 | Headwater Research LLC | System and method for wireless network offloading |
9544397, | Jan 28 2009 | Headwater Research LLC | Proxy server for providing an adaptive wireless ambient service to a mobile device |
9557889, | Jan 28 2009 | Headwater Research LLC | Service plan design, user interfaces, application programming interfaces, and device management |
9565543, | Jan 28 2009 | Headwater Research LLC | Device group partitions and settlement platform |
9565707, | Jan 28 2009 | Headwater Research LLC | Wireless end-user device with wireless data attribution to multiple personas |
9571559, | Jan 28 2009 | Headwater Research LLC | Enhanced curfew and protection associated with a device group |
9572019, | Jan 28 2009 | Headwater Research LLC | Service selection set published to device agent with on-device service selection |
9578182, | Jan 28 2009 | Headwater Research LLC | Mobile device and service management |
9591474, | Mar 02 2009 | Headwater Research LLC | Adapting network policies based on device service processor configuration |
9609459, | Jan 28 2009 | Headwater Research LLC | Network tools for analysis, design, testing, and production of services |
9609510, | Mar 14 2013 | Headwater Research LLC | Automated credential porting for mobile devices |
9609544, | Jan 28 2009 | Headwater Research LLC | Device-assisted services for protecting network capacity |
9615192, | Jan 28 2009 | Headwater Research LLC | Message link server with plural message delivery triggers |
9641957, | Jan 28 2009 | Headwater Research LLC | Automated device provisioning and activation |
9647918, | Jan 28 2009 | Headwater Research LLC | Mobile device and method attributing media services network usage to requesting application |
9674731, | Jan 28 2009 | Headwater Research LLC | Wireless device applying different background data traffic policies to different device applications |
9705771, | Jan 28 2009 | Headwater Research LLC | Attribution of mobile device data traffic to end-user application based on socket flows |
9706061, | Jan 28 2009 | Headwater Research LLC | Service design center for device assisted services |
9749898, | Jan 28 2009 | Headwater Research LLC | Wireless end-user device with differential traffic control policy list applicable to one of several wireless modems |
9749899, | Jan 28 2009 | Headwater Research LLC | Wireless end-user device with network traffic API to indicate unavailability of roaming wireless connection to background applications |
9755842, | Jan 28 2009 | Headwater Research LLC | Managing service user discovery and service launch object placement on a device |
9769207, | Jan 28 2009 | Headwater Research LLC | Wireless network service interfaces |
9819808, | Jan 28 2009 | Headwater Research LLC | Hierarchical service policies for creating service usage data records for a wireless end-user device |
9832832, | Mar 19 2012 | OSRAM SYLVANIA Inc | Methods, systems, and apparatus for providing variable illumination |
9858559, | Jan 28 2009 | Headwater Research LLC | Network service plan design |
9860961, | Apr 14 2008 | OSRAM SYLVANIA Inc | Lighting fixtures and methods via a wireless network having a mesh network topology |
9866642, | Jan 28 2009 | Headwater Research LLC | Wireless end-user device with wireless modem power state control policy for background applications |
9915416, | Nov 04 2010 | OSRAM SYLVANIA Inc | Method, apparatus, and system for occupancy sensing |
9924576, | Apr 30 2013 | Digital Lumens, Inc. | Methods, apparatuses, and systems for operating light emitting diodes at low temperature |
9942796, | Jan 28 2009 | Headwater Research LLC | Quality of service for device assisted services |
9953474, | Sep 02 2016 | ADEMCO INC | Multi-level security mechanism for accessing a panel |
9954975, | Jan 28 2009 | Headwater Research LLC | Enhanced curfew and protection associated with a device group |
9955332, | Jan 28 2009 | Headwater Research LLC | Method for child wireless device activation to subscriber account of a master wireless device |
9973930, | Jan 28 2009 | Headwater Research LLC | End user device that secures an association of application to service policy with an application certificate check |
9980146, | Jan 28 2009 | Headwater Research LLC | Communications device with secure data path processing agents |
ER8662, |
Patent | Priority | Assignee | Title |
5142550, | Jun 29 1989 | SYMBOL TECHNOLOGIES, INC , 116 WILBUR PLACE, BOHEIMIA, NY 11716-3300, A DE CORP | Packet data communication system |
5870559, | Apr 11 1997 | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | Software system and associated methods for facilitating the analysis and management of web sites |
5954835, | Jun 23 1992 | Extreme Networks, Inc | Check sequence preservation |
6067574, | Feb 09 1998 | THE CHASE MANHATTAN BANK, AS COLLATERAL AGENT | High speed routing using compressed tree process |
6105065, | Oct 07 1997 | RPX CLEARINGHOUSE LLC | Method of displaying changes in call status between nodes within a connection-oriented network |
6115393, | Apr 12 1991 | Computer Associates Think, Inc | Network monitoring |
6137782, | Jul 21 1998 | Hewlett Packard Enterprise Development LP | Automatic network traffic analysis |
6144962, | Oct 15 1996 | MICRO FOCUS LLC | Visualization of web sites and hierarchical data structures |
6237006, | Oct 15 1996 | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | Methods for graphically representing web sites and hierarchical node structures |
6341310, | Oct 15 1996 | MICRO FOCUS LLC | System and methods for facilitating the viewing and analysis of web site usage data |
6470383, | Oct 15 1996 | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | System and methods for generating and displaying web site usage data |
6549208, | Jul 21 1998 | Computer Associates Think, Inc | Information security analysis system |
6549944, | Oct 15 1996 | MICRO FOCUS LLC | Use of server access logs to generate scripts and scenarios for exercising and evaluating performance of web sites |
6571272, | May 20 1999 | Cisco Technology, Inc. | Method and apparatus for SNA/IP correlation with multiple DSW peer connections |
6697337, | Sep 17 2001 | McAfee, Inc | Method and apparatus for capture, analysis and display of packet information sent in an IEEE 802.11 wireless network |
6700871, | May 04 1999 | Hewlett Packard Enterprise Development LP | Increased throughput across data network interface by dropping redundant packets |
6714217, | Dec 18 1998 | Sprint Communication Company, L.P.; SPRINT COMMUNICATIONS COMPANY, L P | System and method for providing a graphical user interface to, for building, and/or for monitoring a telecommunication network |
6833850, | Aug 28 2000 | AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LIMITED | Method for simplifying display of complex network connections through partial overlap of connections in displayed segments |
6879812, | Feb 08 2002 | JPMORGAN CHASE BANK, N A ; MORGAN STANLEY SENIOR FUNDING, INC | Portable computing device and associated method for analyzing a wireless local area network |
6900822, | Mar 14 2001 | BMC Software, Inc. | Performance and flow analysis method for communication networks |
7171476, | Apr 20 2001 | ARRIS ENTERPRISES LLC | Protocol and structure for self-organizing network |
7177930, | Oct 11 2002 | Network General Technology | Method and system for network traffic analysis with configuration enhancements |
7203173, | Jan 25 2002 | Architecture Technology Corp. | Distributed packet capture and aggregation |
7363398, | Aug 16 2002 | BOARD OF TRUSTEES OF THE LELAND STANFORD JUNIOR UNIVERSITY, THE | Intelligent total access system |
7792956, | Jan 24 2005 | Daintree Networks, Pty. Ltd.; DAINTREE NETWORKS PTY LTD | Network analysis system and method |
7962606, | Jan 24 2005 | Daintree Networks, Pty. Ltd.; DAINTREE NETWORKS PTY LTD | Network analysis system and method |
20020015485, | |||
20020145981, | |||
20020196748, | |||
20030020764, | |||
20030081125, | |||
20030206559, | |||
20040030741, | |||
20040046786, | |||
20040143658, | |||
20040193329, | |||
20040218602, | |||
20050021683, | |||
20050039132, | |||
20050047333, | |||
20050050098, | |||
20050071456, | |||
20050180447, | |||
20050228880, | |||
20050232230, | |||
20050278437, | |||
20050278440, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jan 23 2006 | CHOONG, JASON YEW | DAINTREE NETWORKS, PTY LTD | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 024034 | /0516 | |
Jan 24 2006 | COBB, PETER GRAEME | DAINTREE NETWORKS, PTY LTD | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 024034 | /0516 | |
Jan 24 2006 | GERREVINK, DEAN VAN | DAINTREE NETWORKS, PTY LTD | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 024034 | /0516 | |
Jan 24 2006 | WOOD, WILLIAM RAYMOND | DAINTREE NETWORKS, PTY LTD | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 024034 | /0516 | |
Jan 24 2006 | BARRON, GREGORY JOSEPH | DAINTREE NETWORKS, PTY LTD | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 024034 | /0516 | |
Feb 08 2010 | Daintree Networks, Pty. Ltd. | (assignment on the face of the patent) | / | |||
Feb 01 2022 | HUBBELL LIGHTING, INC | ALLY BANK, AS COLLATERAL AGENT | SECURITY AGREEMENT | 058982 | /0844 | |
Feb 01 2022 | Litecontrol Corporation | ALLY BANK, AS COLLATERAL AGENT | CORRECTIVE ASSIGNMENT TO CORRECT THE PATENT NUMBER 10841994 TO PATENT NUMBER 11570872 PREVIOUSLY RECORDED ON REEL 058982 FRAME 0844 ASSIGNOR S HEREBY CONFIRMS THE SECURITY AGREEMENT | 066355 | /0455 | |
Feb 01 2022 | CURRENT LIGHTING SOLUTIONS, LLC | ALLY BANK, AS COLLATERAL AGENT | CORRECTIVE ASSIGNMENT TO CORRECT THE PATENT NUMBER 10841994 TO PATENT NUMBER 11570872 PREVIOUSLY RECORDED ON REEL 058982 FRAME 0844 ASSIGNOR S HEREBY CONFIRMS THE SECURITY AGREEMENT | 066355 | /0455 | |
Feb 01 2022 | DAINTREE NETWORKS INC | ALLY BANK, AS COLLATERAL AGENT | CORRECTIVE ASSIGNMENT TO CORRECT THE PATENT NUMBER 10841994 TO PATENT NUMBER 11570872 PREVIOUSLY RECORDED ON REEL 058982 FRAME 0844 ASSIGNOR S HEREBY CONFIRMS THE SECURITY AGREEMENT | 066355 | /0455 | |
Feb 01 2022 | FORUM, INC | ALLY BANK, AS COLLATERAL AGENT | CORRECTIVE ASSIGNMENT TO CORRECT THE PATENT NUMBER 10841994 TO PATENT NUMBER 11570872 PREVIOUSLY RECORDED ON REEL 058982 FRAME 0844 ASSIGNOR S HEREBY CONFIRMS THE SECURITY AGREEMENT | 066355 | /0455 | |
Feb 01 2022 | HUBBELL LIGHTING, INC | ATLANTIC PARK STRATEGIC CAPITAL FUND, L P , AS COLLATERAL AGENT | CORRECTIVE ASSIGNMENT TO CORRECT THE PATENT NUMBER PREVIOUSLY RECORDED AT REEL: 059034 FRAME: 0469 ASSIGNOR S HEREBY CONFIRMS THE SECURITY INTEREST | 066372 | /0590 | |
Feb 01 2022 | Litecontrol Corporation | ATLANTIC PARK STRATEGIC CAPITAL FUND, L P , AS COLLATERAL AGENT | CORRECTIVE ASSIGNMENT TO CORRECT THE PATENT NUMBER PREVIOUSLY RECORDED AT REEL: 059034 FRAME: 0469 ASSIGNOR S HEREBY CONFIRMS THE SECURITY INTEREST | 066372 | /0590 | |
Feb 01 2022 | CURRENT LIGHTING SOLUTIONS, LLC | ATLANTIC PARK STRATEGIC CAPITAL FUND, L P , AS COLLATERAL AGENT | CORRECTIVE ASSIGNMENT TO CORRECT THE PATENT NUMBER PREVIOUSLY RECORDED AT REEL: 059034 FRAME: 0469 ASSIGNOR S HEREBY CONFIRMS THE SECURITY INTEREST | 066372 | /0590 | |
Feb 01 2022 | DAINTREE NETWORKS INC | ATLANTIC PARK STRATEGIC CAPITAL FUND, L P , AS COLLATERAL AGENT | CORRECTIVE ASSIGNMENT TO CORRECT THE PATENT NUMBER PREVIOUSLY RECORDED AT REEL: 059034 FRAME: 0469 ASSIGNOR S HEREBY CONFIRMS THE SECURITY INTEREST | 066372 | /0590 | |
Feb 01 2022 | HUBBELL LIGHTING, INC | ALLY BANK, AS COLLATERAL AGENT | CORRECTIVE ASSIGNMENT TO CORRECT THE PATENT NUMBER 10841994 TO PATENT NUMBER 11570872 PREVIOUSLY RECORDED ON REEL 058982 FRAME 0844 ASSIGNOR S HEREBY CONFIRMS THE SECURITY AGREEMENT | 066355 | /0455 | |
Feb 01 2022 | HUBBELL LIGHTING, INC | ATLANTIC PARK STRATEGIC CAPITAL FUND, L P , AS COLLATERAL AGENT | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 059034 | /0469 | |
Feb 01 2022 | Litecontrol Corporation | ALLY BANK, AS COLLATERAL AGENT | SECURITY AGREEMENT | 058982 | /0844 | |
Feb 01 2022 | CURRENT LIGHTING SOLUTIONS, LLC | ALLY BANK, AS COLLATERAL AGENT | SECURITY AGREEMENT | 058982 | /0844 | |
Feb 01 2022 | DAINTREE NEETWORKS INC | ALLY BANK, AS COLLATERAL AGENT | SECURITY AGREEMENT | 058982 | /0844 | |
Feb 01 2022 | FORUM, INC | ALLY BANK, AS COLLATERAL AGENT | SECURITY AGREEMENT | 058982 | /0844 | |
Feb 01 2022 | FORUM, INC | ATLANTIC PARK STRATEGIC CAPITAL FUND, L P , AS COLLATERAL AGENT | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 059034 | /0469 | |
Feb 01 2022 | DAINTREE NETWORKS INC | ATLANTIC PARK STRATEGIC CAPITAL FUND, L P , AS COLLATERAL AGENT | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 059034 | /0469 | |
Feb 01 2022 | CURRENT LIGHTING SOLUTIONS, LLC | ATLANTIC PARK STRATEGIC CAPITAL FUND, L P , AS COLLATERAL AGENT | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 059034 | /0469 | |
Feb 01 2022 | Litecontrol Corporation | ATLANTIC PARK STRATEGIC CAPITAL FUND, L P , AS COLLATERAL AGENT | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 059034 | /0469 | |
Feb 01 2022 | FORUM, INC | ATLANTIC PARK STRATEGIC CAPITAL FUND, L P , AS COLLATERAL AGENT | CORRECTIVE ASSIGNMENT TO CORRECT THE PATENT NUMBER PREVIOUSLY RECORDED AT REEL: 059034 FRAME: 0469 ASSIGNOR S HEREBY CONFIRMS THE SECURITY INTEREST | 066372 | /0590 |
Date | Maintenance Fee Events |
Aug 01 2016 | STOL: Pat Hldr no Longer Claims Small Ent Stat |
Aug 05 2016 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Jul 22 2020 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Jul 23 2024 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Feb 05 2016 | 4 years fee payment window open |
Aug 05 2016 | 6 months grace period start (w surcharge) |
Feb 05 2017 | patent expiry (for year 4) |
Feb 05 2019 | 2 years to revive unintentionally abandoned end. (for year 4) |
Feb 05 2020 | 8 years fee payment window open |
Aug 05 2020 | 6 months grace period start (w surcharge) |
Feb 05 2021 | patent expiry (for year 8) |
Feb 05 2023 | 2 years to revive unintentionally abandoned end. (for year 8) |
Feb 05 2024 | 12 years fee payment window open |
Aug 05 2024 | 6 months grace period start (w surcharge) |
Feb 05 2025 | patent expiry (for year 12) |
Feb 05 2027 | 2 years to revive unintentionally abandoned end. (for year 12) |