|Publication number||US7768919 B1|
|Application number||US 10/424,521|
|Publication date||Aug 3, 2010|
|Filing date||Apr 28, 2003|
|Priority date||Apr 28, 2003|
|Publication number||10424521, 424521, US 7768919 B1, US 7768919B1, US-B1-7768919, US7768919 B1, US7768919B1|
|Inventors||Adrian E. Conway|
|Original Assignee||Verizon Laboratories Inc.|
|Export Citation||BiBTeX, EndNote, RefMan|
|Patent Citations (6), Non-Patent Citations (6), Referenced by (23), Classifications (13), Legal Events (3)|
|External Links: USPTO, USPTO Assignment, Espacenet|
1. Field of Art
The present invention relates to packet exchange networks and, more specifically, to apparatuses and methods for selectively discarding data packets in packet exchange networks in order to meet quality of service performance requirements for multiple data traffic streams having a diverse range of data and transmission characteristics.
2. Related Art
In integrated packet exchange networks, it is often desirable or necessary to manage network resources to meet different quality-of-service (QoS) requirements for multiple traffic streams and flows. In practice, this constitutes a major challenge for network operators because different traffic streams may have vastly different data characteristics and QoS requirements. In an effort to realize optimum QoS performance for multiple and diverse traffic streams, various data traffic management mechanisms have been proposed, most of which attempt to minimize data packet losses and delays as data packets travel from source nodes to destination nodes in the packet exchange network. Usually, although not necessarily, these mechanisms employ some form of priority-based or measurement-based service or loss scheduling.
Service and loss scheduling are typically applied to packet buffer pools waiting to use a limited network resource. Such packet buffer pools may be found, for example, at queues, inputs and outputs to packet switches or packet switch processors, and at queues, inputs and outputs to communications channels for packet switches. Packet buffer pools may also be found in network switches, routers, multiplexers, or any other node or device in a packet exchange network having data packet buffers configured to receive and store data packets from multiple distinguishable data streams and flows. As a result of network traffic congestion, a buffer pool or communication channel may become fully occupied, in which case it becomes necessary to selectively schedule data packet transmissions or selectively discard packets when there are new packet arrivals.
Two types of priority-based traffic management mechanisms are time-priority and space-priority. Time priority mechanisms are typically implemented by employing some form of selective service scheduling for each communication channel in the packet exchange network. That is, whenever a communications channel completes transmitting a packet (also called a “cell” in asynchronous transfer mode networks), a priority rule is applied to determine which packet should be transmitted next. Fair queuing (FQ) is a well-known example of a service-scheduling mechanism that could be employed in an effort to achieve a higher end-to-end QoS performance in networks where, in the interest of fairness, the goal is to give multiple traffic streams substantially equal access to limited network resources. Another approach is to use weighted fair queuing (WFQ), where the goal is to give multiple traffic streams access to limited network resources in proportion to an assigned weight.
Space-priority mechanisms, on the other hand, are typically implemented by employing some form of selective loss scheduling, which discards selected data packets based on priority. Various selective packet discard mechanisms have been proposed to discard packets intelligently in an effort towards achieving the goal of meeting the end-to-end loss requirements of individual traffic flows or providing fairness among traffic flows in accessing limited network resources. Hitherto proposed selective discard mechanisms include, for example: the push-out scheme presented in H. J. Chao & H. Cheng, A New QoS-Guaranteed Cell Discarding Strategy: Self-Calibrating Pushout, in Proc. IEEE Globecom '94, pp. 929-934, San Francisco, Calif. 1994; the partial buffer sharing (PBS) scheme presented in H. Kroner, G. Hebuterne, P. Boyer & A. Gravey, Priority Management in ATM Switching Nodes, IEEE Journal on Selected Areas of Communications, Vol. 9, No. 3, pp. 418-427, April 1991; the weighted fair blocking (WFB) schemes presented in A. E. Conway & C. Rosenburg, Weighted Fair Blocking Mechanisms for Discrete-Time Multiplexing, in Proc. IEEE Infocom '96, pp. 1045-1053, San Francisco, Calif. 1996 and A. E. Conway & C. Rosenburg, A Simple Balanced Fair Blocking Mechanism for Discrete Time Multiplexing of Bursty Traffic Sources; in Proc. IEEE ICCCN '1999, pp. 36-41, Boston, Mass. October 1999; and the packet discard scheme disclosed in U.S. Pat. No. 5,444,706, entitled “Packet Exchange Network and Method of Controlling Discard of Packets in Packet Exchange Network.” Each of these references is incorporated herein by reference in its entirety.
Measurement-based loss scheduling schemes involve the on-line measurement and maintenance of packet loss ratios for each traffic stream. When a data packet (or cell) arrives at a packet buffer that is already full, measurement-based loss scheduling schemes identify and discard a packet that belongs to the traffic stream with the smallest ratio between its loss ratio measurement and the traffic stream's specified maximum loss requirement. One such measurement-based loss-scheduling scheme is presented by T. Yang & J. Pan, A Measurement-Based Loss Scheduling Scheme, Proc. IEEE Infocom '96, pp. 1062-1071, San Francisco, 1996, the entirety of which is also incorporated herein by reference.
A common disadvantage of conventional selective packet discard mechanisms is that the decision regarding the choice of packets to be discarded in the event of packet buffer congestion is based solely on information that is available at the packet switching node making the discard decision. Such local information may include, for example, the QoS requirement of each traffic flow, the number of received packets in each traffic flow, and the number of packets in each traffic flow that have been discarded at the local packet switch. Such local information does not include the packet loss that a traffic flow may have already incurred at other upstream packet-switching nodes. Consequently, the local packet discard decisions being made at a packet switch using a conventional selective packet discard mechanism usually do not provide the desired end-to-end packet loss performance or the desired QoS fairness among traffic flows.
In the interest of addressing these and other problems associated with conventional selective discard mechanisms, the industry needs a more intelligent system for selectively discarding data packets, which takes into consideration the upstream packet loss already incurred by the data flow at the time the discard decision is made. Such a system would be even more useful if it were adapted to use, in addition to upstream packet loss, the current state of the local packet switching node, as well as a specified discard policy.
The present invention addresses these needs by providing a selective packet discard mechanism that calculates and uses an estimated packet loss that traffic flows have already incurred at upstream packet buffers. The devices, systems and methods of the present invention take advantage of the fact that packets in the traffic flows traversing the packet buffer pools normally contain information suggesting a particular ordering of packets in the traffic flow, such as packet forward sequence numbers or time stamps. This would be the case, for example, in voice-over-packet traffic flows that use real time-transport protocol (RTP) packets. By examining the forward sequence numbers or time stamps of the data packets in the traffic flows, the invention can calculate an estimated packet loss that has already occurred upstream in each packet flow. The upstream packet loss estimate is then used to decide locally which packets should be selected for discard when there is buffer pool congestion. Since the packet discard decision takes into account the packet loss that has already occurred in each traffic flow at the upstream nodes, the selective discard mechanism of the present invention is better able to realize desired end-to-end loss performance and better able to achieve end-to-end fairness to all traffic flows, in terms of packet losses, due to network link or buffer pool congestion. The improved selective packet discard mechanism of the present invention is a form of measurement-based loss scheduling. In essence, it augments conventional measurement-based loss scheduling schemes by providing additional information that is made available by ordering information, such as forward sequence numbers or time stamps.
It is theoretically possible to configure a conventional packet discard mechanism to store information about the number of lost or discarded packets for each traffic flow in a centralized database, and communicate that information to all the nodes in the packet exchange network, on a regular or “as needed” basis, so that discard decisions being made at local packet buffers can take into account the upstream packet loss that a particular traffic flow may have already experienced. The practical reality of this approach, however, is that the necessity of continually communicating and updating packet loss information for every packet buffer in every packet switch for the entire packet exchange network adds a tremendous amount of processing overhead and complexity to the job of managing network data traffic. The present invention avoids these processing and complexity issues.
In accordance with the present invention, there is provided a packet switch, comprising an inbound transmission channel, a packet buffer configured to receive an arriving data packet for a data flow from the inbound transmission channel, and a processor configured to make a determination, based on an estimated upstream packet loss for the data flow, whether the arriving data packet or a data packet previously stored in the packet buffer should be discarded. For purposes of the present invention, an “inbound transmission channel” may comprise a wired or wireless data communications link between the packet buffer and an upstream packet switching device or node, or an internal data communications channel (such as a communications bus) between the packet buffer and other internal components in the packet switch. In a preferred embodiment, the estimated upstream packet loss may be determined using any information stored in the arriving data packet which suggests its order in the data flow relative to other data packets in the data flow, such as the data packet's sequence number or time-stamp.
Using this relative ordering information for an arriving data packet, certain assumptions can be made about the number of packets that have been lost upstream. In other words, the relative ordering information contained in each arriving data packet makes it possible to calculate an estimate of the number of packets in the data flow that were lost upstream. An estimated upstream packet loss ratio for the data flow may be computed by first calculating the total number of data packets in the data flow that have been lost or discarded, and dividing the result by the total number of data packets in the data flow. The total number of data packets in the data flow includes the number of packets lost upstream, the number of packets discarded at the local packet buffer, and the number of packets successfully received.
In addition to determining whether the arriving data packet or a data packet already stored in the packet buffer should be discarded, the processor of the present invention—which may comprise a computer, a computer program, a microprocessor, or some combination of each—may be further configured to remove the arriving data packet from the inbound transmission channel, to delete the data packet previously stored from the packet buffer, or both. The processor may also be configured to discard the data packet previously stored in the packet buffer, and insert the arriving data packet.
In some embodiments, the determination of which data packet to discard and which one to keep may further depend on the current state of the packet buffer. The state of the buffer may depend on a number of useful pieces of information associated with the packets already in the buffer, such as the arrival times of each data packet, or the data packet's ordering in any queue or transmission channel associated with the packet buffer. To achieve certain QoS requirements, a system incorporating the present invention may also be configured to use a specified discard policy. In some QoS networks, for example, it may be necessary or desirable to implement a policy of minimizing the maximum loss rate of all data flows traversing the packet buffer, such that no particular flow is any more or less likely to have its data packets discarded than any other flow. In other networks, it may be important to apply special treatment (priority) to some flows. This may be accomplished, for example, by using a discard policy that assigns a “weight” to each data flow traversing the buffer and applying a weighted loss rate function at the point of making the decision to discard or not discard arriving and stored data packets.
According to another aspect of the invention, there is provided a distributed data traffic management system for a packet exchange network, comprising a plurality of data communication channels, and a plurality of packet switches connected to the packet exchange network, each packet switch being operable to transmit data packets over some or all of the data communication channels. Further, each packet switch in the plurality of packet switches comprises, an inbound transmission channel, a packet buffer configured to receive from the inbound transmission channel an arriving data packet for a data flow, and a processor configured to make a determination, based on an estimated upstream packet loss for the data flow, whether to discard the arriving data packet or a data packet previously stored in the packet buffer. Like the packet switch of the first aspect of the invention, summarized above, the determination of which data packet to discard also may be further based on the current state of the buffer or a specified discard policy.
In still another aspect of the invention, a method for selectively discarding data packets in a packet exchange network having a packet switch is provided. The method comprises the steps of receiving at the inbound transmission channel an arriving data packet for a data flow g at time t and, if the packet buffer is not full, transferring the arriving data packet from the inbound transmission channel to the packet buffer. If the packet buffer is full, however, the next steps are to determine the number of data packets D(g,t) in the data flow that were previously discarded from the inbound transmission channel, calculate an estimated upstream loss L*(g,t) for data flow g, calculate an estimated upstream loss L*(f,t) for all data flows f in the packet exchange network having at least one data packet stored in the packet buffer, and discard the arriving data packet or a data packet previously stored in the packet buffer, based on D(g,t), L*(g,t), and L*(f,t). As with the packet switch and distributed data traffic management system summarized above, the estimated upstream packet loss L*(g,t) for the data flow may be determined based on the sequence number or time stamp associated with the arriving data packet, and the determination of which packet to discard may further depend on the current state of the buffer and/or a specified discard policy.
Additional embodiments and features of the present invention are set forth in part in the description that follows, and in part are apparent from the description, or may be learned by practice of the invention. The embodiments and features of the invention may also be realized and attained by means of the instrumentalities and combinations particularly set out in the appended claims.
The foregoing summary, as well as the following detailed description, will be best understood in conjunction with the attached drawings, which are incorporated in and constitute part of the specification. The drawings illustrate preferred embodiments of the invention, and, together with the description, serve to explain the principles of the present invention.
Reference will now be made in detail to preferred embodiments of the invention, examples of which are illustrated in some of the drawings. Notably, the present invention may be implemented using software, hardware, or any combination thereof, as would be apparent to those of ordinary skill in the art. Therefore, the figures and examples below are not meant to limit the scope of the present invention or its embodiments or equivalents.
With reference now to
Continuing now with reference, to
With the above-defined variables in mind, an estimate of the upstream packet loss ratio L(f,t) for flow fat time t is then given by the equation:
where S(f, N(f,t))−S(f)+1−N(f,t) is an estimate of the number of packets of flow f that have been lost upstream up to time t.
An estimate of the upstream packet loss ratio L*(f,t) for flow fat time t, including any packets previously discarded at the buffer, is given by:
This equation for estimating the upstream packet loss ratio (including discards) can be broken down as follows. The number of packets of flow f that have been lost upstream up to time t is:
That is, S(f, N(f,t)) is the sequence number of the last received packet of flow f, and S(f) is the sequence number of the first received packet of flow f. Hence, subtracting the first sequence number from the last and adding 1, as defined by formula S(f, N(f,t))−S(f)+1, yields the total number of packets transmitted for flow f. But only N(f,t) packets have arrived at the packet buffer, which indicates that S(f, N(f,t))−S(f)+1−N(f,t) packets have been lost upstream.
To properly assess the condition of flow f before making a discard decision, the number of packets of flow f that have been discarded by the buffer D(f,t) must be taken into account. A simple counter that is incremented every time a packet from flow f is discarded can be used to obtain and keep track of D(f,t).
Hence, the total number of packets lost or discarded is:
Now, the estimated loss ratio, including packets discarded at the packet buffer, is easily understood to be: S(f, N(f,t))−S(f)+1−N(f,t)+D(f,t)) divided by the number of packets transmitted (i.e., S(f, N(f,t))−S(f)+1).
When a new packet arrives at the buffer and the buffer is already full, a decision d must be made about which packet to select for discard. One can discard either the arriving packet or one of the packets already stored in the buffer, (i.e., P(t)).
Let s be a time at which a new packet arrives to the buffer and the buffer is already full. Let g be the label of the flow to which the new packet s arrival time belongs. Let Abuf(s) be the set of active flows that have at least one packet waiting in the buffer at time s. Note that Abuf(s) is a subset of A(t), which is, as described above, the set of active flows passing through the buffer up to time t. Then the decision d is based on the label g and the computed estimates L*(f,s) for all flows f such that f is an element of the set Abuf(s). Thus, we may write:
F is the decision policy.
The decision about which packet to select for discard is, therefore, made dependent on the upstream packet loss ratio that includes any previous discards at the buffer. In conventional selective packet discard schemes, the discard decision does not take any upstream loss estimates into account in making selective packet discard decisions.
In the above-described method of selective packet discard, the choice of a specific selective packet discard policy is left open as an implementation decision. Various selective packet discard policies may be adopted depending on the particular end-to-end QoS objectives or QoS fairness criteria that one may be trying to realize. For example, one may be interested in minimizing the maximum loss rate over the packet flows that traverse a buffer. In this case, a selective discard policy that one may choose to adopt is to simply discard a packet from the active flow (that has at least one packet waiting in the buffer) with the smallest estimated upstream packet loss ratio. In a preferred embodiment, the upstream packet loss ratio estimates are computed prior to making the decision about which packet to discard. The state of the buffer may also be included in the decision-making process, as shown in
Since the present invention, as applied to any particular buffer in a packet exchange network, operates independently of its application and independently of any other buffers at any other packet switches in the packet exchange network, it may be implemented in a distributed manner by placing algorithms at each buffer.
As stated above, the operator of a packet exchange network may seek to minimize the maximum loss rate over the packet flows that traverse the buffer. The operator may also want to minimize the maximum of a weighted loss rate function over the packet flows that traverse the buffer. A detailed description of an example of a “weighted loss rate function” is now provided.
A discard policy employing an un-weighted loss rate function tends to minimize the maximum losses associated with all the data flows as a whole. Spreading discards evenly over the data flows can accomplish this goal. In a weighted loss rate function, the loss rates of the data flows are multiplied by a set of constant coefficients, e.g. C1*L1, C2*L2, C3*L3, and so on, where C1 is the constant coefficient associated with flow 1 and L1 is the loss rate for flow 1, etc. The effect is to amplify the importance of the loss rate if C>1 or attenuate the importance of the loss rate if C<1. The discard policy will then tend to minimize the maximum of (C1*L1, C2*L2, C3*L3, . . . ), as opposed to minimizing the maximum of (L1, L2, L3, . . . ). The goal of the weighting is, therefore, to ‘force’ more discards onto flows with lower coefficient values and less discards onto flows with higher coefficient values. Notably, if C=1 for all the coefficients, then the weighted function reduces to an un-weighted loss rate function.
The present invention uses ordering information embedded in each data packet, such as forward sequence numbers or time-stamps, to make selective discard decisions.
The format of an RTP packet is defined by the Internet Engineering Task Force (IETF) RFC 1889 (January 1996), the entirety of which is incorporated herein by reference. As can be seen in
RTP packets also include a timestamp, which is designated with reference numeral 740 in
When forward sequence numbers are not available, it may still possible to determine which packets have been lost upstream using other information that may be available. For example, if packet headers contain timestamps which indicate the relative emission times of packets at the source, and if the packets are known to be emitted periodically with a given fixed period, then one may determine which packets have been lost upstream by examining the timestamps. For example, if it is known that packets are emitted periodically with a period of 5 milliseconds and the sequence of timestamps (in milliseconds) of received packets is 10, 15, 20, 25, 35, 40, 55, 60, and so on, then we can determine that there is one lost packet after the fourth received packet (i.e., the packet with timestamp 30 is missing) and two lost packets after the sixth received packet (i.e., the packets with timestamps 45 and 50 are missing).
RTP packets are just one example of the kind of data packets having a format suitable for application of the present invention. The invention also may be beneficially applied in packet exchange networks for data packets having various other formats. For example, a transport control protocol (TCP) data packet contains a header that includes a 32-bit sequence number representing the number of bytes transmitted, including the first byte in the present packet. Thus, the present invention could be adapted to use the TCP header sequence numbers to achieve the same benefits discussed herein with respect to RTP packets. Instead of calculating and using an estimate for the number of packets lost or discarded upstream, however, a mechanism that makes discard decisions using TCP sequence numbers would, in accordance with the present invention, calculate and use estimates of the number of bytes lost or discarded upstream.
The above-described preferred embodiments are intended to illustrate the principles of the invention, but not to limit its scope. Various other embodiments may occur to those skilled in the art upon reading the present disclosure or practicing the claimed invention. Such variations, modifications and equivalents are intended to come within the scope of the invention and the appended claims.
|Cited Patent||Filing date||Publication date||Applicant||Title|
|US5444706||Dec 26, 1990||Aug 22, 1995||Kabushiki Kaisha Toshiba||Packet exchange network and method of controlling discard of packets in packet exchange network|
|US5629936 *||Aug 1, 1994||May 13, 1997||University Of Iowa Research Foundation Inc.||Control of consecutive packet loss in a packet buffer|
|US6219339 *||Feb 20, 1998||Apr 17, 2001||Lucent Technologies Inc.||Method and apparatus for selectively discarding packets|
|US7158518 *||Jul 23, 2001||Jan 2, 2007||Matsushita Electric Industrial Co., Ltd.||Method and apparatus for transmitting data packets|
|US7180896 *||Jun 23, 2000||Feb 20, 2007||Mitsubishi Denki Kabushiki Kaisha||Method and system for packet retransmission|
|US20070201365 *||Jan 23, 2006||Aug 30, 2007||Frederick Skoog||Video packet multiplexer with intelligent packet discard|
|1||Chao, H. Jonathan and Cheng, Hsiling, "A New QOS-Guaranteed Cell Discarding Strategy: Self-Calibrating Pushout," Proc. IEEE Globecom '94, 929-934, San Francisco, CA (1994).|
|2||Conway, Adrian E. and Rosenberg, Catherine, "A Simple Balanced Fair Blocking Mechanism for Discrete-Time Multiplexing of Bursty Traffic Sources," Proc. IEEE ICCCN 1999, 36-41, Boston MA (Oct. 1999).|
|3||Conway, Adrian E. and Rosenberg, Catherine, "Weighted Fair Blocking Mechanisms for Discrete-Time Multiplexing," Proc. IEEE Infocom '96, 1045-1053, San Francisco, CA (1996).|
|4||*||ITU-T Y.1541 Network Performance Objectives for IP-Based Services (Draft Oct. 2001).|
|5||Kröner, Hans et al., "Priority Management in ATM Switching Nodes," IEEE Journal on Selected Areas in Communications, 9(3): 418-427 (Apr. 1991).|
|6||Yang, Tao and Pan, Jie, "A Measurement-Based Loss Scheduling Scheme," Proc. IEEE Infocom '96, 1062-1071, San Francisco, CA (1996).|
|Citing Patent||Filing date||Publication date||Applicant||Title|
|US8432925 *||Mar 16, 2009||Apr 30, 2013||Fujitsu Limited||Apparatus and method for controlling buffering of an arrival packet|
|US8472316 *||Sep 9, 2008||Jun 25, 2013||Tekefonaktiebolaget L M Ericsson (Publ)||Utilization of data links|
|US8553538 *||Aug 24, 2010||Oct 8, 2013||Fujitsu Limited||Packet relay device and congestion control method|
|US8560685||Jul 20, 2011||Oct 15, 2013||Google Inc.||Probabilistic data storage owner election and replication protocol|
|US8606825||Sep 21, 2011||Dec 10, 2013||Google Inc.||Query response streams based on dynamic query library|
|US8606907||Jul 20, 2011||Dec 10, 2013||Google Inc.||Multi-tiered system for receiving and reporting web site traffic data|
|US8862796 *||Jul 20, 2011||Oct 14, 2014||Google Inc.||Lossy hit buffer|
|US8929236 *||Jul 30, 2012||Jan 6, 2015||Hewlett-Packard Development Company, L.P.||Network flow analysis|
|US9001833 *||Jan 24, 2013||Apr 7, 2015||Fujitsu Limited||Relay apparatus, reception apparatus, and communication system|
|US9197710||Sep 21, 2011||Nov 24, 2015||Google Inc.||Temporal based data string intern pools|
|US9264374||Oct 23, 2013||Feb 16, 2016||Qualcomm Incorporated||Media playout for VOIP applications|
|US9294413||Oct 23, 2013||Mar 22, 2016||Qualcomm Incorporated||Media playout for VOIP applications|
|US9544250 *||Feb 26, 2014||Jan 10, 2017||Fastly Inc.||Enhanced acknowledgement handling in communication packet transfer|
|US9596182 *||Feb 12, 2013||Mar 14, 2017||Adara Networks, Inc.||Controlling non-congestion controlled flows|
|US20090003222 *||Jun 16, 2008||Jan 1, 2009||Fujitsu Limited||Packet communication quality measuring apparatus, program, and method|
|US20090245104 *||Mar 16, 2009||Oct 1, 2009||Fujitsu Limited||Apparatus and method for controlling buffering of an arrival packet|
|US20110051604 *||Aug 24, 2010||Mar 3, 2011||Fujitsu Limited||Packet relay device and congestion control method|
|US20110058475 *||Sep 9, 2008||Mar 10, 2011||Telefonaktiebolaget L M Ericsson (Publ)||Utilization of Data Links|
|US20130188648 *||Jan 24, 2013||Jul 25, 2013||Fujitsu Limited||Relay apparatus, reception apparatus, and communicaton system|
|US20140029452 *||Jul 30, 2012||Jan 30, 2014||Swapnesh Banerjee||Network flow analysis|
|US20140226469 *||Feb 12, 2013||Aug 14, 2014||Adara Network, Inc.||Controlling non-congestion controlled flows|
|US20150350115 *||Feb 26, 2014||Dec 3, 2015||Fastly Inc.||Enhanced acknowledgement handling in communication packet transfer|
|WO2015014198A1 *||Jul 9, 2014||Feb 5, 2015||International Business Machines Corporation||Data packet processing|
|U.S. Classification||370/232, 370/252|
|Cooperative Classification||H04L47/34, H04L47/10, H04L49/90, H04L47/12, H04L47/32|
|European Classification||H04L47/34, H04L47/32, H04L47/12, H04L47/10, H04L49/90|
|Apr 28, 2003||AS||Assignment|
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CONWAY, ADRIAN E.;REEL/FRAME:014014/0319
Owner name: VERIZON LABORATORIES INC., MASSACHUSETTS
Effective date: 20030425
|Jan 8, 2014||FPAY||Fee payment|
Year of fee payment: 4
|Jul 28, 2014||AS||Assignment|
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:VERIZON LABORATORIES INC.;REEL/FRAME:033428/0478
Owner name: VERIZON PATENT AND LICENSING INC., NEW JERSEY
Effective date: 20140409