US8132089B1 - Error checking at the re-sequencing stage - Google Patents
Error checking at the re-sequencing stage Download PDFInfo
- Publication number
- US8132089B1 US8132089B1 US12/173,146 US17314608A US8132089B1 US 8132089 B1 US8132089 B1 US 8132089B1 US 17314608 A US17314608 A US 17314608A US 8132089 B1 US8132089 B1 US 8132089B1
- Authority
- US
- United States
- Prior art keywords
- datagrams
- datagram
- recording
- error condition
- computer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active, expires
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/028—Capturing of monitoring data by filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/026—Capturing of monitoring data using flow identification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
Definitions
- the invention is related to the field of recording communications.
- Computer communications carried over computer networks may be recorded.
- a computer is used to collect and record the communications.
- the collection of computer communications is done in three main ways. “Promiscuous mode tapping” collects all packets on the network and then the recording computer filters these to determine which to keep.
- the recording computer becomes a participant in the call and receives packets from the other participants and/or from a conference bridge.
- a party e.g. computer
- the communication may forward packets or derivatives of packets that form the communication session to the recording computer.
- the recording computer typically taps the network or receives the communication to be recorded over an industry standard Network Interface Card (NIC) which supports a protocol stack. This would typically include the TCP/IP stack.
- NIC Network Interface Card
- the recording application can be very demanding of the performance capabilities of the recording computer.
- the recording computer may receive data at a rate of 10 gigabits per second. That may translate to as many as 1.25 gigabytes per second that need to be processed, filtered, and ultimately recorded by the recording computer. This amount of processing may overload some recording computers, thereby resulting in the loss of some of the communications that should have been recorded. Accordingly, to prevent data loss and allow the use of less expensive computers as recording computers, there is a need in the art for more efficient recording systems.
- a method of recording computer communications is disclosed.
- Computer communications that are to be recorded are visible to a network interface on a recording computer.
- the network interface receives the packets to be recorded.
- the network layer of the recording computer implements a subset of the normal IP module in the network layer. Instead of checking every IP datagram, the IP module in the network layer assumes that most IP datagrams are correctly addressed, internally consistent and of the expected protocol type.
- the recording computer allocates the received datagrams to a recording session based upon at least a first value of a field that is at a fixed position within the datagram.
- the datagrams for a session are ordered into an ordered recording stream based upon a timestamp within the datagram.
- the datagrams are also checked for criteria that indicate an error condition.
- the allocated and ordered datagrams are recorded or associated with other datagrams that have been allocated to the same session.
- a system for recording computer communications is disclosed.
- a network interface on a recording computer receives packets to be recorded.
- a datagram allocator allocates the received datagrams to a recording stream based upon at least a first session identifier specified at a fixed offset within each datagram.
- a re-sequencer orders the datagrams based upon a timestamp within the datagram into an ordered stream of datagrams and checks the datagrams for criteria that indicate an error condition.
- a criterion that indicates an error condition may be detecting more than a threshold number of datagrams having timestamps with in a set time period.
- a criterion that indicates an error condition may be detecting a datagram that was received out of order by more than a threshold number of datagrams.
- a criterion that indicates an error condition may be detecting more than a threshold number of duplicate datagrams out of a set number of datagrams.
- FIG. 1 is a block diagram illustrating a system for recording computer communication sessions.
- FIG. 2 is a flowchart illustrating a method for recording computer communication sessions.
- FIG. 3 is flowchart illustrating a method for enabling selected datagram tests.
- FIG. 4 is an illustration of a value at a fixed position within a datagram that may be used to allocate datagrams.
- FIG. 5 is a block diagram illustrating a computer system.
- FIGS. 1-5 and the following description depict specific embodiments of the invention to teach those skilled in the art how to make and use the best mode of the invention. For the purpose of teaching inventive principles, some conventional aspects have been simplified or omitted. Those skilled in the art will appreciate variations from these embodiments that fall within the scope of the invention. Those skilled in the art will appreciate that the features described below can be combined in various ways to form multiple embodiments of the invention. As a result, the invention is not limited to the specific embodiments described below, but only by the claims and their equivalents.
- FIG. 1 is a block diagram illustrating a system for recording computer communication sessions.
- Communication recording system 100 includes computers 130 and 131 operatively coupled to network 120 .
- Recording computer 140 is also operatively coupled to network 120 .
- Network 120 may be a Local Area Network (LAN) or a Wide Area Network (WAN) or some other form of computer communications network.
- Recording computer 140 includes network interface 102 .
- Network interface 102 is operatively coupled to network 120 .
- Network interface 102 is also operatively coupled to network subset layer 104 .
- Network subset layer 104 is operatively coupled to datagram allocation 106 and datagram sequencing and checking 108 .
- Datagram allocation 106 is operatively coupled to datagram sequencing and checking 108 via recording streams 160 .
- Datagram sequencing and checking 108 is operatively coupled to network subset layer 104 so that it may trigger additional datagram tests within the network subset layer 104 .
- Datagram sequencing and checking 108 is operatively coupled to datagram storage 110 via ordered recording streams 161 .
- Datagram storage includes session # 1 111 , session # 2 112 and session #N 113 .
- Datagram sequencing and checking 108 is operatively coupled to sessions 111 - 113 via ordered recording streams 161 .
- datagram allocation 106 is operatively coupled to each of sessions 111 - 113 via recording streams 160 , datagram sequencing and checking 108 , and ordered recording streams 161 .
- Sessions 111 - 113 may correspond to a group of datagrams that a recording application desires to group together or otherwise associate, such as a voice over Internet Protocol call (VoIP), or all the datagrams to or from a particular internet phone.
- VoIP voice over Internet Protocol call
- Computers 130 and 131 may direct communications to be recorded to recording computer 140 via network 120 .
- Computers 130 and 131 may exchange information with recording computer 140 via a non-recording network interface (not shown) to establish that computers 130 and 131 are authorized to direct traffic to network interface 120 .
- Examples of communications that may be directed to recording computer 140 are VoIP telephone calls.
- a VoIP application running on computer 131 may send packets to recording computer 140 as if it were also a participant in a conference call. Recording computer 140 could then record the VoIP datagrams (grouped, for example, as a session # 1 111 ) so that the audio contents of the call may be reconstructed and replayed.
- computer 131 may store a local copy of the VoIP or digitized version of a Plain Old Telephone System (POTS) call. At a certain time, perhaps when network 120 and/or computer 131 is not busy, this local copy is then sent to recording computer 140 via network 120 .
- POTS Plain Old Telephone System
- directing communications to recording computer 140 are also possible. For example, using port mirroring, all of the packets that come from, go to, or pass through, a given network router, switch, or other device may be directed to recording computer 140 by that device. In an example, these mirrored packets may be encapsulated in order to specify the IP address of network interface 102 thus ensuring proper routing of the packet on its way to network interface 102 .
- the mirrored packets may be encapsulated and sent as the payload of an RTP packet stream.
- the destination IP address of these RTP packets may be set to that of the recorder's dedicated network interface 102 , and the UDP port number field is set to a value representing a specific recorded session. Details of which UDP port number relates to which recording session, such as source and destination IP addresses and ports, may be exchanged separately between recording computer 140 and the device that encapsulates the packets. In this case, depending upon the method chosen, recording computer 140 may or may not need to un-encapsulate and/or forward those packets back to network 120 (or another network, not shown) so they may ultimately be routed to the appropriate destination.
- a similar approach may be used with a TCP socket in place of an RTP packet stream. This would allow more reliable transmission of the stream. This increased reliability is particularly important in cases where the occasional loss of a packet is unacceptable. For example, when email is being recorded by recording computer 140 , the occasional loss of a packet as may occur when using RTP is unacceptable.
- the operative coupling of recording computer 140 and network 120 may be described by a reference model for communications and network protocol design. This description may be referred to as the TCP/IP or Internet reference model and includes five layers. These layers, which are all operatively coupled, may be referred to as the physical layer, the data link layer, the network/internet layer, the transport layer, and the application layer.
- the physical layer may be implemented by an Application Specific Integrated Circuit (ASIC) or other analog and digital electronics.
- ASIC Application Specific Integrated Circuit
- the elements of the physical layer may reside in network interface 102 .
- the data link layer may also be implemented on network interface 102 by firmware cooperating with hardware driver software in the operating system of recording computer 140 .
- the network layer and transport layer may be implemented in the operating system software running on recording computer 140 .
- network interface 102 After network interface 102 receives a packet and processes the packet through the physical and data link layers into a form suitable for the network layer, it passes a datagram to the network subset layer 104 .
- Network subset layer 104 processes and responds to the datagrams received from the data link layer to implement at least one of the network layer functions. For example, network subset layer 104 may check the destination address field of the header of a datagram in Internet Protocol (IP) form. Examples of IP datagram formats are given by IPv4 and IPv6.
- IP Internet Protocol
- the data link layer may determine that a packet is an Address Resolution Protocol (ARP) request.
- the network subset layer 104 may then respond appropriately.
- the data link layer may determine that the packet is an IP datagram.
- the network subset layer 104 may pass the datagram to the transport layer (e.g. datagram allocation 106 ) without further checks or processing.
- network subset layer 104 may also implement other functions or protocols necessary for recording computer 140 to perform the function of recording datagrams directed to it via network 120 .
- Datagram allocation 106 receives datagrams from network subset layer 104 .
- Datagram allocation 106 may be part of a transport layer or may be implemented separately.
- datagram allocation 106 may accomplish the function of allocating datagrams passed to it by the network layer by examining at least a first value at a fixed location, or offset, in each datagram and using this value as a basis to identify a session.
- Datagram allocation 106 may also examine other values at other fixed locations, or offsets, in each datagram and use these values as the basis to identify a session.
- the value at the fixed location may be, for example, the destination port number of the datagram.
- datagram allocation 106 may allocate datagrams based upon the destination port number of the datagram. For example, datagram allocation 106 may allocate a datagram to session # 1 111 when the destination port number of the datagram is 1. Datagram allocation 106 may also allocate a datagram to session # 2 112 when the destination port number of the datagram is 2, and so on.
- datagram allocation 106 may allocate datagrams based upon a plurality of values at fixed locations in the datagram. For example, a combination of two fields and possibly four may be the basis for allocating a datagram.
- a conference bridge sending from a single IP address and port to many participants in a conference.
- the IP source address, source port number, IP destination address, and destination port number which are all at fixed offsets, may be used to allocate datagrams.
- Each of recording streams 160 corresponds to a session 111 - 113 .
- Datagram sequencing and checking 108 re-sequences the datagrams in the recording streams 160 .
- datagram sequencing and checking 108 orders the datagrams in that stream according to a timestamp in each datagram.
- the datagrams in each of the recording streams 160 are ordered relative to the datagrams in the same stream to form ordered recording streams 161 .
- timestamp encompasses any datagram fields, or combination of datagram fields, that may be used to order the datagrams in recording streams 160 .
- a sequence number field may be used alone, or in combination with another field, such as a time value field, to order the datagrams in recording streams 160 .
- At least part of ordered recording streams 161 are each stored in datagram storage 110 and each associated with the sessions 111 - 113 to which they were allocated.
- ordered recording streams 161 comprises an ordered plurality of complete datagrams.
- ordered recording streams 161 comprises an ordered plurality of partial datagrams. For example, only the payload portion of the datagrams received via one of recording streams 160 may be sent to datagram storage 110 . In another embodiment, not all of the datagrams in an ordered recording stream are stored. Instead, only datagrams of interest, such as a particular time period, are stored.
- the datagrams in recording streams 160 are ordered based upon a timestamp in each datagram. In an embodiment, the ordering may also be based upon other datagram fields. For example, RTP datagrams may be ordered based upon two fields in the RTP datagram header: the sequence number and timestamp fields. Because the timestamp field may not be unique from datagram to datagram, the sequence number may also be used to order the datagrams received via recording streams 160 .
- a criterion indicating an error condition may include detecting when more than a threshold number of datagrams with timestamps within a set time period has been received. For example, if a recording session is expected to have a data rate of 50 Datagrams-Per-Second (DPS), then receiving 100 or more datagrams having timestamps within one second of each other may indicate an error condition.
- DPS Datagrams-Per-Second
- a criterion indicating an error condition may include detecting when a datagram is received out of order by a threshold number of datagrams. For example, if a recording session is sequencing datagrams with sequence numbers in the neighborhood of N, then receiving a datagram with a sequence number M that meets the formula
- a criterion indicating an error condition may include detecting when more than a threshold number of duplicate datagrams out of a set number of datagrams has been received. For example, receiving more than Z number of datagrams with at least one other duplicate out of P datagrams may indicate an error conditions.
- the datagrams do not need to be exact copies. For example, having two datagrams with the same value in a field that is supposed to be unique, such as a sequence number, or timestamp, may be all that is necessary for two datagrams to qualify as duplicates. Other fields may differ between the two datagrams and still have them qualify as duplicates.
- This characteristic may indicate a Denial of Service (DoS) attack. Knowledge of this characteristic may be used to enable an appropriate test within the network layer that will identify and eliminate the troublesome datagrams.
- DoS Denial of Service
- Datagrams are allocated to a particular recording stream by datagram allocation 106 and sent to through datagram sequencing and checking 108 without further processing by the transport or application layers. This saves machine cycles or other resources on recording computer 140 . These machine cycles and resources are saved by not subjecting the datagrams sent to datagram allocation 106 to all of the examination normally undertaken by a full network layer. Specifically, the assumption that all IP datagrams received will be for a single IP address and/or that only UDP datagrams will be received allow the elimination of at least tests on the IP address and IP protocol type fields respectively. Similarly, in addition to the tests done by datagram sequencing and checking 108 , recording computer 140 may be configured to rely upon the checksum of the data link layer to ensure the integrity of a transmission. This avoids testing the various checksums within the IP elements of the message. Testing for a valid RTP header may also be skipped as well as confirming that the datagram length is consistent with the IP length indication.
- Datagram storage 110 is a storage medium such as a high capacity digital data storage device such as a CD-ROM, magnetic hard drive, DVD drive, DAT cassette, flash memory, or some combination of similar devices. Datagram storage 110 may also store other information associated with the stored datagrams, or sessions 111 - 113 , such as the association between stored datagrams and sessions 111 - 113 so that the computer communications recorded by recording computer 140 may be reconstructed, replayed, displayed, etc.
- FIG. 2 is a flowchart illustrating a method for recording computer communication sessions. The steps of FIG. 2 may be performed by one or more elements of communication recording system 100 .
- a plurality of IP datagrams are received ( 202 ). For example, a plurality of IP datagrams may be received by a recording network interface such as network interface 102 .
- Each of the plurality of IP datagrams are allocated to a recording stream ( 204 ).
- each received datagram may be allocated by examining at least a first value at a fixed location, or offset, in the datagram. Datagrams may also be allocated based on other values at other fixed locations, or offsets, in each datagram.
- the value at the fixed location may be, for example, the destination port number of the datagram. In an embodiment, the datagram may be allocated based upon the destination port number of the datagram.
- datagrams may be allocated based upon a plurality of values at fixed locations in the datagram. For example, a combination of two fields and possibly four may be the basis for allocating a datagram.
- a conference bridge sending from a single IP address and port to many participants in a conference.
- the IP source address, source port number, IP destination address, and destination port number which are all at fixed offsets within a datagram, may be used to allocate datagrams.
- the plurality of IP datagrams are ordered based upon a timestamp within each datagram ( 206 ).
- timestamp encompasses any datagram fields, or combination of datagram fields, that may be used to order the datagrams in recording streams 160 .
- the ordering may also be based upon other datagram fields.
- RTP datagrams may be ordered based upon two fields in the RTP datagram header: the sequence number and timestamp fields. Because the timestamp field may not be unique from datagram to datagram, the sequence number may also be used to order the plurality of IP datagrams.
- the plurality of IP datagrams are checked for a criterion that indicates an error condition ( 208 ).
- the plurality of IP datagrams may be checked while they are being ordered in step 206 . In other embodiments, the plurality of IP datagrams may be checked before or after ordering in step 206 .
- a criterion that indicates an error condition may include detecting when more than a threshold number of the plurality of IP datagrams with timestamps within a set time period has been received. For example, if a recording session is expected to have a data rate of 50 RTP Datagrams-Per-Second, then receiving 100 or more RTP datagrams having timestamps within one second of each other may indicate an error condition.
- a criterion that indicates an error condition may include detecting when an IP datagram is received out of order by a threshold number of datagrams. For example, if a recording session is sequencing RTP datagrams with sequence numbers in the neighborhood of N, then receiving an RTP datagram with a sequence number M that meets the formula
- a criterion that indicates an error condition may include detecting when more than a threshold number of duplicate IP datagrams out of a set number of datagrams has been received. For example, receiving more than Z number of RTP datagrams with at least one other duplicate out of P RTP datagrams may indicate an error condition.
- the RTP datagrams do not need to be exact copies. For example, having two RTP datagrams with the same value in a field that is supposed to be unique, such as a sequence number, or timestamp, may be all that is necessary for two RTP datagrams to qualify as duplicates. Other fields may differ between the two RTP datagrams and still have them qualify as duplicates.
- the plurality of IP datagrams are stored ( 210 ).
- the plurality of IP datagrams may be allocated by using a very simple method (e.g. based upon a value at a fixed location in the datagram), ordered, checked, and then stored without further processing by the transport or application layers thus saving machine cycles or other resources on the recording computer implementing the method.
- the plurality of IP datagrams is stored associated with other IP datagrams that were allocated in the same or similar manner. For example, all IP datagrams that were allocated based upon a certain destination port number may be associated with each other.
- all of the plurality of IP datagrams that arrive between specific events and were allocated based upon a certain destination port number may be associated.
- all of the plurality of IP datagrams received between the “off hook” and “on hook” signals of VoIP calls from 210-555-3210 and with a destination port number of 2300 would be associated with each other.
- Other examples and associations are possible for categorizing, reconstructing, replaying, displaying, etc. the plurality of IP datagrams stored in step 210 .
- FIG. 3 is flowchart illustrating a method for enabling selected datagram tests.
- the method of FIG. 3 may be performed by one or more elements of communication recording system 100 .
- An error condition is detected ( 302 ).
- the error condition may be detected by datagram sequencing and checking 108 .
- the error condition is classified ( 304 ). For example, various fields of the datagrams in recording streams 160 may be checked to identify specific characteristics of the datagrams that indicate an error condition. In an embodiment, it may be determined that the datagrams that triggered an error condition on multiple recording streams all came from the same IP source address. This characteristic may indicate a Denial of Service (DoS) attack.
- DoS Denial of Service
- the source IP address of the troublesome datagrams may not match the source IP of a computer 131 authorized to direct communications to be recorded to recording computer 140 via network 120 . This characteristic may indicate a web robot is attempting to access recording computer 140 and that this web robot should be blocked.
- Knowledge of the characteristics of the datagrams that triggered the error condition may be used to enable an appropriate test within the network layer that will identify and eliminate the troublesome datagrams ( 306 ).
- network subset layer 104 may be configured to prevent datagrams from certain protocols, ports or IP addresses from being passed on to datagram allocation 106 .
- FIG. 4 is an illustration of a value at fixed position within a datagram that may be used to allocate datagrams.
- the value at the fixed position may be used as a session identifier.
- a data link layer datagram 401 includes frame header 410 , frame data 412 , and frame footer 414 .
- Frame data 412 may be formatted as network layer datagram 402 .
- Network layer datagram 402 may be comprised of fixed length IP header 420 and IP data 422 .
- IP data 422 may be formatted as transport layer datagram 403 .
- Transport layer datagram 403 may be formatted as fixed length UDP header 430 and UDP data 432 .
- UDP header 430 may be further divided into source port field 432 , destination port field 434 , length field 436 , and checksum field 438 . Each of these fields may be of a fixed length.
- UDP destination port field 434 may be read directly from any of frame data 412 , IP datagram, or UDP datagram by examining the data that is at a fixed location, or fixed offset, in frame data 412 , IP datagram, or UDP datagram, respectively.
- the UDP destination port number can be read directly from an IP datagram by examining a fixed location in the IP datagram without further processing. This UDP destination port number can then be used as a session identifier to allocate the datagram to a session. Accordingly, this allocation may be accomplished directly from an IP datagram without the additional processing that is typically done by the network and transport layers prior to extracting the UDP destination port.
- the applications in the computers authorized to direct traffic to the recording network interface 102 ensure that the received packets are correctly addressed, internally consistent, and of the expected protocol type so that recording computer 100 does not have to make these checks.
- computers authorized to direct traffic to the recording network interface 102 may only be authorized to send UDP
- packet is used to describe messages and information at the Internet reference model physical layer.
- datagram is used to describe messages and information as it is being processed at the other Internet reference model layers.
- datagram encompasses the term packet and visa-versa.
- the methods, systems, networks, layers, and computers described above may be implemented with, contain, or be executed by one or more computer systems.
- the methods described above may also be stored on a computer readable medium.
- Many of the elements of communication recording system 100 may be, comprise, or include computers systems. This includes, but is not limited to: Computer 130 ; computer 131 ; and, recording computer 140 . These computer systems are illustrated, by way of example, in FIG. 5 .
- FIG. 5 illustrates a block diagram of a computer system.
- Computer system 500 includes communication interface 520 , processing system 530 , and user interface 560 .
- Processing system 530 includes storage system 540 .
- Storage system 540 stores software 550 .
- Processing system 530 is linked to communication interface 520 and user interface 560 .
- Computer system 500 could be comprised of a programmed general-purpose computer, although those skilled in the art will appreciate that programmable or special purpose circuitry and equipment may be used.
- Computer system 500 may be distributed among multiple devices that together comprise elements 520 - 560 .
- Communication interface 520 could comprise a network interface, modem, port, transceiver, or some other communication device. Communication interface 520 may be distributed among multiple communication devices.
- Processing system 530 could comprise a computer microprocessor, logic circuit, or some other processing device. Processing system 530 may be distributed among multiple processing devices.
- User interface 560 could comprise a keyboard, mouse, voice recognition interface, microphone and speakers, graphical display, touch screen, or some other type of user device. User interface 560 may be distributed among multiple user devices.
- Storage system 540 could comprise a disk, tape, integrated circuit, server, or some other memory device. Storage system 540 may be distributed among multiple memory devices.
- Processing system 530 retrieves and executes software 550 from storage system 540 .
- Software 550 may comprise an operating system, utilities, drivers, networking software, and other software typically loaded onto a computer system.
- Software 550 could comprise an application program, firmware, or some other form of machine-readable processing instructions. When executed by processing system 530 , software 550 directs processing system 530 to operate as described herein.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
Claims (24)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/173,146 US8132089B1 (en) | 2008-05-02 | 2008-07-15 | Error checking at the re-sequencing stage |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US4991308P | 2008-05-02 | 2008-05-02 | |
US12/173,146 US8132089B1 (en) | 2008-05-02 | 2008-07-15 | Error checking at the re-sequencing stage |
Publications (1)
Publication Number | Publication Date |
---|---|
US8132089B1 true US8132089B1 (en) | 2012-03-06 |
Family
ID=45758056
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/173,146 Active 2031-01-04 US8132089B1 (en) | 2008-05-02 | 2008-07-15 | Error checking at the re-sequencing stage |
Country Status (1)
Country | Link |
---|---|
US (1) | US8132089B1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090034436A1 (en) * | 2007-07-30 | 2009-02-05 | Verint Americas Inc. | Systems and methods of recording solution interface |
EP2741449A1 (en) * | 2012-12-10 | 2014-06-11 | EXFO Oy | Processing of call data records |
US20150172225A1 (en) * | 2013-12-12 | 2015-06-18 | Fujitsu Limited | Packet storage method, information processing apparatus, and non-transitory computer-readable storage medium |
US9307092B1 (en) | 2010-10-04 | 2016-04-05 | Verint Americas Inc. | Using secondary channel information to provide for gateway recording |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0813326A2 (en) | 1996-06-14 | 1997-12-17 | International Business Machines Corporation | Apparatus and method for predicted response generation |
US6393487B2 (en) * | 1997-10-14 | 2002-05-21 | Alacritech, Inc. | Passing a communication control block to a local device such that a message is processed on the device |
US6487200B1 (en) | 1996-04-04 | 2002-11-26 | At&T Corp. | Packet telephone system |
US6781992B1 (en) * | 2000-11-30 | 2004-08-24 | Netrake Corporation | Queue engine for reassembling and reordering data packets in a network |
US6847632B1 (en) * | 1998-12-22 | 2005-01-25 | Nortel Networks Limited | Method and apparatus for digital cellular internet voice communications |
US6865604B2 (en) * | 1998-08-26 | 2005-03-08 | Sts Software Systems Ltd. | Method for extracting a computer network-based telephone session performed through a computer network |
EP1788489A1 (en) | 1999-06-30 | 2007-05-23 | Apptitude, Inc. | Method and apparatus for monitoring traffic in a network |
US7349398B1 (en) * | 2001-12-31 | 2008-03-25 | Redback Networks, Inc. | Method and apparatus for out-of-order processing of packets |
US7480308B1 (en) * | 2004-03-29 | 2009-01-20 | Cisco Technology, Inc. | Distributing packets and packets fragments possibly received out of sequence into an expandable set of queues of particular use in packet resequencing and reassembly |
US7590230B1 (en) | 2003-05-22 | 2009-09-15 | Cisco Technology, Inc. | Automated conference recording for missing conference participants |
US7899038B2 (en) * | 2006-03-30 | 2011-03-01 | Audiocodes Ltd. | Method and apparatus for communicating fax data over the internet |
-
2008
- 2008-07-15 US US12/173,146 patent/US8132089B1/en active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6487200B1 (en) | 1996-04-04 | 2002-11-26 | At&T Corp. | Packet telephone system |
EP0813326A2 (en) | 1996-06-14 | 1997-12-17 | International Business Machines Corporation | Apparatus and method for predicted response generation |
US6393487B2 (en) * | 1997-10-14 | 2002-05-21 | Alacritech, Inc. | Passing a communication control block to a local device such that a message is processed on the device |
US6865604B2 (en) * | 1998-08-26 | 2005-03-08 | Sts Software Systems Ltd. | Method for extracting a computer network-based telephone session performed through a computer network |
US6847632B1 (en) * | 1998-12-22 | 2005-01-25 | Nortel Networks Limited | Method and apparatus for digital cellular internet voice communications |
EP1788489A1 (en) | 1999-06-30 | 2007-05-23 | Apptitude, Inc. | Method and apparatus for monitoring traffic in a network |
US6781992B1 (en) * | 2000-11-30 | 2004-08-24 | Netrake Corporation | Queue engine for reassembling and reordering data packets in a network |
US7349398B1 (en) * | 2001-12-31 | 2008-03-25 | Redback Networks, Inc. | Method and apparatus for out-of-order processing of packets |
US7590230B1 (en) | 2003-05-22 | 2009-09-15 | Cisco Technology, Inc. | Automated conference recording for missing conference participants |
US7480308B1 (en) * | 2004-03-29 | 2009-01-20 | Cisco Technology, Inc. | Distributing packets and packets fragments possibly received out of sequence into an expandable set of queues of particular use in packet resequencing and reassembly |
US7899038B2 (en) * | 2006-03-30 | 2011-03-01 | Audiocodes Ltd. | Method and apparatus for communicating fax data over the internet |
Non-Patent Citations (1)
Title |
---|
Quittek, J., "Requirements for IP Flow Information Export", IETF Standard Working Draft, Internet Engineering Task Force, IETF CH, Jun. 1, 2004, pp. 1-32, vol. ipfix, No. 16. |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090034436A1 (en) * | 2007-07-30 | 2009-02-05 | Verint Americas Inc. | Systems and methods of recording solution interface |
US8724521B2 (en) * | 2007-07-30 | 2014-05-13 | Verint Americas Inc. | Systems and methods of recording solution interface |
US9363369B2 (en) | 2007-07-30 | 2016-06-07 | Verint Americas Inc. | Systems and methods of recording solution interface |
US9307092B1 (en) | 2010-10-04 | 2016-04-05 | Verint Americas Inc. | Using secondary channel information to provide for gateway recording |
US9854096B2 (en) | 2010-10-04 | 2017-12-26 | Verint Americas Inc. | Using secondary channel information to provide for gateway recording |
EP2741449A1 (en) * | 2012-12-10 | 2014-06-11 | EXFO Oy | Processing of call data records |
US20150172225A1 (en) * | 2013-12-12 | 2015-06-18 | Fujitsu Limited | Packet storage method, information processing apparatus, and non-transitory computer-readable storage medium |
US10009151B2 (en) * | 2013-12-12 | 2018-06-26 | Fujitsu Limited | Packet storage method, information processing apparatus, and non-transitory computer-readable storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9699059B2 (en) | Dedicated network interface | |
EP1360799B1 (en) | Packet data recording method | |
US9455873B2 (en) | End-to-end analysis of transactions in networks with traffic-altering devices | |
US7587762B2 (en) | Intrusion detection system and network flow director method | |
US7801127B2 (en) | System and method for creating a sequence number field for streaming media in a packet-based networks utilizing internet protocol | |
US8391157B2 (en) | Distributed flow analysis | |
US7508815B2 (en) | Method and system for facilitating network troubleshooting | |
US9015822B2 (en) | Automatic invocation of DTN bundle protocol | |
US20130058238A1 (en) | Method and system for automated call troubleshooting and resolution | |
JP2006067582A (en) | Method and system of monitoring adjusted for network transmission event | |
US7822018B2 (en) | Duplicate media stream | |
US9203728B2 (en) | Metadata capture for testing TCP connections | |
US8132089B1 (en) | Error checking at the re-sequencing stage | |
GB2505288A (en) | Identifying address translations | |
CN107147655A (en) | A kind of network dual stack parallel process model and its processing method | |
US7515585B2 (en) | Data communication optimization | |
US7500004B1 (en) | System for tracking files transmitted over the internet | |
US8064352B2 (en) | Method for implementing online maintenance in communication network | |
US8572245B1 (en) | Using the TCP window size for identifying packets and debugging | |
CN110784339A (en) | LACP message overtime fault detection method and device, and electronic equipment | |
CN111478821B (en) | Network performance test method and system | |
US20080043632A1 (en) | Low impact network debugging | |
US7933263B1 (en) | Analysis of VoIP data using incomplete call information | |
EP2028821B1 (en) | Dedicated network interface | |
CN111866216B (en) | NAT equipment detection method and system based on wireless network access point |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: VERINT AMERICAS INC., NEW YORK Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BLAIR, CHRISTOPHER DOUGLAS;REEL/FRAME:021237/0400 Effective date: 20080707 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLAT Free format text: GRANT OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:VERINT AMERICAS INC.;REEL/FRAME:031465/0450 Effective date: 20130918 Owner name: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT, DISTRICT OF COLUMBIA Free format text: GRANT OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:VERINT AMERICAS INC.;REEL/FRAME:031465/0450 Effective date: 20130918 |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
AS | Assignment |
Owner name: VERINT AMERICAS INC., NEW YORK Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:043066/0473 Effective date: 20170629 |
|
AS | Assignment |
Owner name: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT, ILLINOIS Free format text: GRANT OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:VERINT AMERICAS INC.;REEL/FRAME:043293/0567 Effective date: 20170629 Owner name: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT, IL Free format text: GRANT OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:VERINT AMERICAS INC.;REEL/FRAME:043293/0567 Effective date: 20170629 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 12 |