throbber
Michael E. Shanahan | Our People | McDermott Will & Emery
`
`Page 1 of 2
`
`http://www.mwe.com/michael-e-shanahan/
`
`Go
`
`5 captures
`3 Feb 13 - 19 Jun 13
`
`JAN FEB MAR
`
`3
`
`2012 2013
`
`2014
`
`Michael E. Shanahan
`Partner
`
`New York
`T: +1 212 547 5785
`F: +1 212 547 5444
`E-mail
`
`Michael E. Shanahan is a partner in the law firm of McDermott Will & Emery LLP and is based in the Firm's New York office. Michael focuses his
`practice on intellectual property litigation including patents, trademarks, copyrights, unfair competition and misappropriation of trade secrets. He also
`has extensive experience counseling clients in transactional and patent prosecution matters regarding patents and other forms of intellectual property.
`
`As a registered patent attorney, Michael devotes a substantial part of his practice to counseling clients on enforcing, acquiring, evaluating, licensing
`and protecting intellectual property assets. He represents clients in litigation matters, licensing transactions and technology-related agreements, joint
`ventures, IPOs, mergers and acquisitions and provides IP-related business counseling. He conducts patent and intellectual property due diligence,
`patent assertion and infringement investigations including the evaluation and assessment of third party IP litigation for non-litigants, patent clearance
`analyses, right to use, validity and enforceability studies and provides patent infringement and non-infringement opinions. Michael further practices in
`both foreign and domestic patent prosecution matters including, reexamination, reissue, appeals and interference.
`
`Michael has represented clients in a wide range of technologies including Internet and storage system management software, interactive program
`guides, electronics, including analog and digital integrated circuits, microprocessors and programmable logic devices, financial and business methods
`including trading and quoting tools, complex physics technologies including nuclear magnetic resonance imaging, coriolis mass flow sensors and
`confocal microscopy, medical devices, gaming systems, chemical technologies including phenol production, telecommunications systems and fiber
`optics, mechanical and electro mechanical devices, manufacturing technologies, aerospace systems, gas turbines and construction tools.
`
`Michael authored “Preliminary Injunctions in Patent Cases” for IP Litigation Quarterly, June 2004 and “The Effects of Foreign Patent Proceedings on
`Patent Litigation in the United States” for The Intellectual Property Strategists, December 2004.
`
`Prior to entering the practice of law, Michael was an electrical engineer in the guidance systems division of a major defense contractor and worked on
`many high profile projects such as the International Space Station and F-22.
`
`Michael earned both a bachelor’s and master’s degree in electrical engineering, as well as a master’s degree in computer engineering. He is admitted
`to practice in New York and before the U.S. Supreme Court, the U.S. Court of Appeals for the Federal Circuit, the U.S. District Court for the Eastern
`District of New York , the U.S. District Court for the Southern District of New York and the United States Patent and Trademark Office.
`
`Education
`
`New York Law School, J.D., 2000
`Manhattan College, M.S., 1996
`Manhattan College, M.S., 1994
`Manhattan College, B.S., 1992
`
`Related Services
`e-Business - IP
`
`Intellectual Property
`
`IP Litigation
`
`Licensing
`
`https://web.archive.org/web/20130203072442/http://www.mwe.com/michael-e-shanahan/
`
`10/20/2014
`
`1
`
`AT&T - Exhibit 1002
`
`

`

`Michael E. Shanahan | Our People | McDermott Will & Emery
`
`Page 2 of 2
`
`Related Information
`Media Mentions
`
`© 2013 McDermott Will & Emery
`
`https://web.archive.org/web/20130203072442/http://www.mwe.com/michael-e-shanahan/
`
`10/20/2014
`
`2
`
`

`

`Brown Rudnick - Attorney Biography
`
`Page 1 of 2
`
`
`
`OCT NOV DECOCT NOV DEC
`
`
`
`2005 20062005 2006
`
`
`
`200200
`
`
`
`http://www.brownrudnick.com/bio/bio.asp?ID=406http://www.brownrudnick.com/bio/bio.asp?ID=406
`
`
`
`GoGo
`
`
`1 captures1 captures
`
`13 Nov 06 - 13 Nov 0613 Nov 06 - 13 Nov 06
`
`people
`
`biography search
`biographies
`
`Michael E. Shanahan
`Senior Associate
`Corporate
`
`home
`our firm
`people
`practices
`news/resources
`events
`careers
`public interest
`search
`contact us
`terms of use
`privacy policy
`site map
`
`
`
`1313
`
`PRINTER FRIENDLY VERSION›
`DOWNLOAD vCARD›
`
`Contact
`P: 212.209.4978
`F: 212.938.2832
`mshanahan@brownrudnick.com
`New York, NY
`
`Practice Focus
`Intellectual Property
`Intellectual Property Litigation
`Licensing and Strategic Alliances
`Emerging Growth Companies
`Information Technology
`
`Education
`New York Law School
`J.D., 2000
`
`Manhattan College
`M.S., Electrical Engineering, 1996
`
`M.S., Computer Engineering, 1994
`B.S., Electrical Engineering, 1992
`Coursework, Chemical Engineering
`
`Biography
`
`Mr. Shanahan practices in the area of intellectual property
`with an emphasis on intellectual property litigation
`including, patents, trademarks, copyrights, unfair
`competition and misappropriation of trade secrets. He
`also has extensive experience counseling clients in
`transactional and patent prosecution matters regarding
`patents and other forms of intellectual property.
`
`As a registered patent attorney, Mr. Shanahan devotes a
`substantial part of his practice to counseling clients on
`enforcing, acquiring, evaluating, licensing and protecting
`intellectual property assets. He represents clients in
`litigation matters, licensing transactions and technology-
`related agreements, joint ventures, IPOs, mergers and
`acquisitions and other IP-related transactions and
`provides IP-related business counseling. He conducts
`patent and intellectual property due diligence, patent
`assertion and infringement investigations including the
`evaluation and assessment of third party IP litigation for
`non-litigants, patent clearance analyses, right to use,
`validity and enforceability studies and provides patent
`infringement and non-infringement opinions. Mr.
`Shanahan further practices in both foreign and domestic
`patent prosecution matters including, reexamination,
`reissue, appeals and Interference practice.
`
`Mr. Shanahan has represented clients in a wide range of
`technologies such as computer software including Internet
`and storage system management software, interactive
`program guides, electronics, including analog and digital
`integrated circuits, microprocessors and programmable
`logic devices, financial and business methods including
`trading and quoting tools, complex physics technologies
`including nuclear magnetic resonance imaging, coriolis
`mass flow sensors and confocal microscopy, medical
`devices, gaming systems, chemical technologies including
`phenol production, telecommunications systems and fiber
`optics, mechanical and electro mechanical devices,
`manufacturing technologies, aerospace systems, gas
`turbines and construction tools.
`
`Prior to entering the practice of law, Mr. Shanahan was an
`electrical engineer in the guidance systems division of a
`
`https://web.archive.org/web/20061113151348/http://www.brownrudnick.com/bio/bio.asp...
`
`10/20/2014
`
`3
`
`

`

`Brown Rudnick - Attorney Biography
`
`Page 2 of 2
`
`major defense contractor and worked on many high
`profile projects such as the International Space Station
`and F-22.
`
`Representative Matters
`• Agilent Technologies, Inc. v. Micromuse Inc., Southern
`District of New York, 1:04-CV-3090 (case involving
`network management technologies).
`
`• International Gaming Technologies v. Alliance Gaming
`Inc., U.S. District Court of Las Vegas ( jury trial, case
`involving video poker machines).
`
`• Via Technologies v. Intel Corp., Western District of
`Texas, A-01-CA-02-SS (case involving numerous
`microprocessor patents).
`
`• Texas Instruments, Inc. v. Linear Technology Corp.,
`Eastern District of Texas 2-01-CV4, (case involving
`semiconductor manufacturing processes).
`
`• Toy v. Ameritrade Holding Corp. et al., District of New
`Jersey , 02-1318 (case involving online stock trading
`technology).
`
`• Micromotion, Inc. v. Endress & Hauser, Inc., District
`Court of Colorado, 98-N-36 (case involving mass flow
`sensors).
`
`• Successfully argued before the EPO in securing the
`patentability of computer inventions (July 2006).
`
`Publications
`• “Preliminary Injunctions in Patent Cases” IP Litigation
`Quarterly, June 2004
`
`• “The Effects of Foreign Patent Proceedings on Patent
`Litigation in the United States” The Intellectual Property
`Strategist, December 2004
`
`Bar Admissions & Memberships
`• Admitted, New York Bar
`• Admitted, United States Supreme Court, United States
`Court of Appeals for the Federal Circuit, United States
`District Court for the Eastern District of New York, United
`States District Court for the Southern District of New York
`• Registered Patent Attorney, U.S. Patent and Trademark
`Office
`
`Copyright © 2006 Brown Rudnick Berlack Israels LLP. All Rights Reserved
`
`https://web.archive.org/web/20061113151348/http://www.brownrudnick.com/bio/bio.asp...
`
`10/20/2014
`
`4
`
`

`

`(12) INTERNATIONAL APPLICATION PUBLISHED UNDER THE PATENT COOPERATION TREATY (PCT)
`
`(19) World Intellectual Property Organization
`International Bureau
`
`(43) International Publication Date
`
`20 December 2001 (20.12.2001) lllllllfllllllI]IllllllllllllllllllllllfllllllllllllIllllllllIIIIIIIIIIIIIIIII
`
`(10) International Publication Number
`WO 01/97438 A2
`
`(51) International Patent CIassification’:
`
`H04L 1/18
`
`(21) International Application Number:
`
`PCT/USOI/19355
`
`(22) International Filing Date:
`
`14 June 2001 (14.06.2001)
`
`(25) Filing Language:
`
`(26) Publication Language:
`
`English
`
`English
`
`(30) Priority Data:
`09/594,443
`
`14 June 200004062000)
`
`US
`
`(71) Applicant: NOKIA INC. [US/US]; 6000 Connection
`Drive, MS 1-5-744, Irving, TX 75119 (US).
`
`(72) Inventors: LI,Xiang; Building No. 27, Room No. 7, Cap-
`ital Normal University, 105 Xisanhuan North Road, Beijing
`(CN). WU, Jing; 40 Sweelland Avenue, Ottawa, Ontario
`
`KIN 7T6 (CA). CHENG, Shiduan; Flat 1003, Apartment
`Building of BUPT, Jing Tu Si, Hai Dian District, Beijing
`10(X)44 (CN). NIA, Jian; 3361 Capital Paradise, Beijing
`(CN).
`
`(74)
`
`(31)
`
`Agents: ROLNIK, Robert, C. et al.; Nokia Inc., 6000
`Connection Drive, MS l-4~755, Irving, TX 75119 (US).
`
`Designated States (national): AE, AG, AL, AM, AT, AU,
`AZ, BA, BB, BG, BR, BY, BZ, CA, CH, CN, CR, CU, CZ,
`DE, DK, DM, DZ, EE, ES, FI, GB, GD, GE, GH, GM, HR,
`HU, ID, H., IN, IS, JP, KE, KG, KP, KR, KZ, LC, LK, LR,
`LS, LT, LU, LV, MA, MD, MG, MK, MN, MW, MX, M2,
`NO, NZ, PL, PT, RO, RU, SD, SE, 80, SI, SK, SL, TJ, TM,
`TR, TI, TZ, UA, U6, U2, VN, YU, ZA, ZW.
`
`(34)
`
`Designated States (regional): ARIPO patent (GH, GM,
`KE, LS, MW, MZ, SD, SL, SZ, TZ, UG, ZW), Eurasian
`patent (AM, AZ, BY, KG, KZ, MD, RU, TJ, TM), European
`patent (AT, BE, CH, CY, DE, DK, ES, FI, FR, GB, GR, IE,
`
`[Continued on next page]
`
`(54) Title: PERFORMANCE ENHANCEMENT OF TRANSMISSION CONTROL PROTOCOL (TCP) FOR WIRELESS NET-
`WORK APPLICATIONS
`
`(57) Abstract: A new Fast Recovery Plus (FR+) mechanism, and associated
`method, for wireless and/or mobile network applications to avoid network eon-
`gestion in a TCP/IP packet-switched network. A method of flow control and
`congestion avoidance congestion in a network comprises the steps of:
`trans-
`mitting, at a source node, data packets to a destination node, via at least an
`intermediate node; receiving, at the destination node, data packets transmitted
`from the source node, via the intermediate node, and generating a duplicate
`ACK back to the source node to inform the source node that a data packet was
`received out-of—order in the network and serves as an indication that a data
`
`packet has been lost; upon receipt of a designated number of duplicate ACKs,
`at the source node, determining that a data packet has been lost; initializing a
`counter, at the source node, and recording acongestion window CWND, a slow
`start threshold Ssthresh, and a maximal sequence number SN that has been sent
`into the network; upon receipt of a next duplicate ACK, at the source node,
`recording its acknowledged sequence number ACK SN; determining, at the
`source node, if the acknowledged sequence number ACK SN is no more than
`a recorded sequence number SN; otherwise, incrementing the counter, at the
`source node, and re-transmitting a lost packet; if the acknowledged sequence
`number ACK SN is no more than the recorded sequence number SN, determin-
`ing, at the source node, if the packet loss is due to transmission error; and if
`the packet loss is due to the transmission error, setting, at the source node, the
`slow start threshold Ssthresh to Max(CWND, (Ssthresh + CWND)/'2), wherein
`CWND and Ssthresh exhibit values recorded.
`
`
`SET COUNTER T0 0
`
`lNlTlATlON‘. RECORD
`
`CWND, Ssthresh, MAX
`SEQUENCE NUMBER SN;
`
`
`
`RECEIVE ACK, AND
`RECORD ITS
`
`AGKNOWLEDGED
`
`
`SEQUENCE NUMBER
`ADD COUNTER. lF
`
`
`
`ACK_SN
`ONE PACKEI’ lS
`RETHANSMIITED
`
`
`
`
`WO01/97438A2
`
`5
`
`

`

`WO 01/97438 A2
`
`lfllJIlllllfllllIlfllllllllIllllllllllllllllllllllllllllllllllllllllllllllllllll
`
`IT, LU, MC, NL, PT, SE, TR), OAPI patent (BF, BJ, CF,
`CG, CI, CM, GA, GN, GW, ML, MR, NE, SN, TD, TG).
`
`Published:
`
`— without international search report and to be republished
`upon receipt ofthat report
`
`For two-letter codes and other abbreviations, refer to the "Guid-
`ance Notes on Codes andAbbreviations ” appearing at the begin-
`ning ofeach regular issue ofthe PCT Gazette.
`
`6
`
`

`

`WO 01/97438
`
`PCT/U501/l9355
`
`PERFORMANCE ENHANCEMENT OF
`TRANSMISSION CONTROL PROTOCOL (TCP) FOR
`WIRELESS NETWORK APPLICATIONS
`
`BACKGROUND OF THE INVENTION
`
`The present invention relates to a serial of transfer protocols for high-quality and
`
`high-speed data transfer in data networks , especially wireless or mobile networks, and more
`
`particularly, relates to performance enhancement of Transmission Control Protocol (TCP) for
`
`wireless network applications.
`
`Related Art
`
`'
`
`, A data network is a collection of network devices, or nodes interconnected by point-to-
`
`point links. Communication links may be wired (i.e., optical fiber) or wireless (i.e., infrared or
`
`radio-frequency) for supporting a number of logical point-to-point channels. Each channel may
`
`be a bi-directional communication path for allowing commands and message data to flow
`
`between two network devices or nodes within the data network. Network devices or nodes may
`
`be categorized as either end systems or routers, which are also known as intermediate systems
`
`or communication gateways. End systems may include PCs, workstations, mainframes, file
`
`servers, storage devices and other types of computers. Router may include a number of
`
`communication links for fonNarding data arriving over one link onto another link for transmission
`
`to an end system or another router.
`
`Generally, end systems both send data to other end stations on the data network and
`
`receive data sent by other end systems on the data network. When an end system serves as a
`
`sender of data, it is referred to as a source for that data; whereas, when such an end station
`
`serves as a receiver of data, it is referred to as a destination for the data. Typically, end
`
`systems may act as both sources and destinations depending upon whether they are sending or
`
`receiving data. When acting as a source, the end system sends data in the form of messages
`
`over a communication link to a router for transferring the messages to an end system or another
`
`router.
`
`7
`
`

`

`WO 01/97438
`
`PCT/U501/19355
`
`2
`
`Each message may comprise a sequence of information bits. Typically, however, the
`
`messages sent over the data network are not sent as a continuous, uninterrupted stream of bits.
`
`Rather, they are divided up into smaller blocks of information called packets, which are then
`
`transmitted individually. Each packet has a predetermined maximum length. In addition to a
`
`data field which contains the data to be transferred, a packet also includes a header field which
`
`contains control information such as format, identifiers which indicate what portion of the
`
`message is contained in the packet, the source of the packet and the intended destination of the
`
`packet. When the packets which together contain a message reach the destination, the
`
`destination processes them by assembling their data fields into proper order to reconstruct the
`
`full message.
`
`One important design objective in data networks is controlling the flow of packets so that
`
`such packets may not be transmitted at a faster rate than they can be processed by the routers
`
`through which the packets may pass or by the destinations. Even in the simplest data network
`
`consisting of two end systems interconnected by a router, for example, the source may flood the
`
`destination if it transmits packets faster than they can be processed by the destination. In more
`
`complicated networks consisting of many end systems, numerous routers and alternative
`
`communication paths between the end systems, the likelihood of problems from excess
`
`communication traffic is significantly greater. This becomes especially true as the number of
`
`active end systems on the network increases and if communication speeds of the equipment
`
`within the network are mismatched. A mismatch may exist if, for example, a router cannot
`
`transfer packets as fast as they are being sent to it by the source. A mismatch may also exist
`
`between the speed at which the link can transmit packets, namely the link speed, and the rate at
`
`which the router can transfer packets. Predictably, as the complexity of the network increases,
`
`achieving an acceptable traffic control also becomes more difficult.
`
`On most networks, including TCP/IP packet-switched networks in which Transmission
`
`Control Protocol (TCP) [RFC 793, September 1981] may be implemented to ensure high-speed
`
`and high-quality data transfer in the Internet, at least two basic mechanisms are normally used
`
`for dealing with excess traffic arriving at a destination. One mechanism involves the use of
`
`8
`
`

`

`WO 01/97438
`
`PCT/USOl/l9355
`
`3
`
`buffers and the other involves flow control. In buffered systems, both the routers and the end
`
`systems are provided with buffer memory to handle overloads. Arriving traffic which exceeds
`
`the processing rate of the device is temporarily stored in the buffer memory until the device can
`
`process it. Buffers offer a satisfactory solution to excess traffic problems only if the overload is
`
`transitory.
`
`If the overload persists for too long, the buffers may become full after which the
`
`additional packets are rejected or destroyed.
`
`The other mechanism, generally referred to as flow control, deals with the allocation of
`
`resources at the destination, such as memory and processing. Generally, in accordance with
`
`flow control, the destination sets a limit on the rate at which each source sending data to the
`
`destination may transmit that data. The sources and the destinations coordinate the transfer of
`
`data by an exchange of messages containing requests and acknowledgments. Before the
`
`source starts sending packets, it will send a request to the destination seeking permission to
`
`begin transmission. In response to the request, the destination sends a message containing an
`
`identification of the number of packets the source may dispatch toward the destination without
`
`further authorization. This number is commonly referred to as the window size. The source then
`
`proceeds to transmit the authorized number of packets toward the destination and waits for the
`
`destination to verify their receipt. After the destination successfully receives a packet, it sends a
`
`message back to the source containing an acknowledgment indicating the successful receipt of
`
`the packet and, in some cases, authorizing the source to send another packet. in this way, the
`
`number of packets on the network traveling from the source toward the destination will never be
`
`more than the authorized window size.
`
`Neither of these mechanisms, however, satisfactorily deals with the distribution of traffic
`
`within the network. Even with these mechanisms in place, on a busy network it is likely that
`
`many sources will simultaneously send traffic over the network to more than one destination. If
`
`too much of this traffic converges on a single router in too short a time, the limited buffer
`
`capacity of the router will be unable to cope with the volume and the router will reject or destroy
`
`the packets. When this happens, the network is said to be congested.
`
`Then the network is congested, network performance degrades significantly. The
`
`9
`
`

`

`WO 01/97438
`
`PCT/USOlll9355
`
`4
`
`affected sources have to retransmit the lost or rejected packets. Re-transmissions, however,
`
`necessarily use network resources such as buffer storage, processing time and link bandwidth
`
`to handle old traffic thereby leaving fewer resources for handling those portions of the
`
`messages still waiting to be transmitted for the first time. When that occurs, network delays
`
`increase drastically and network throughput drops. Indeed, since some network resources are
`
`being dedicated to handling re-transmissions at a time when the network is already
`
`experiencing a heavy load, there is a substantial risk of the congestion spreading and locking up
`
`the entire network.
`
`A variety of alternative approaches exist for dealing with network congestion. Generally,
`
`the approaches fall into two categories. One category involves placing limitations on the amount
`
`of traffic which will be permitted on the network at any given time. Examples include the
`
`preallocation of buffers at the routers to ensure that memory is available to store arriving
`
`packets until they can be forwarded. The other category involves methods of limiting the spread
`
`of congestion once it occurs and then extricating the network from its congested state. The
`
`second category of approaches for dealing with network congestion is commonly referred to as
`
`congestion control. Congestion control typically involves feedback which signals the onset of
`
`congestion and instructs end systems to decrease the rate at which they initiate transmission of
`
`packets.
`
`Currently, there are several schemes to avoid congestion and unnecessary delay for
`
`packets from low-bandwidth delay-sensitive TCP connections in the TCP/IP networks. Such
`
`proposals are described, for example, in M. Allman, V. Paxson, W. Stevens, “TCP Congestion
`
`Control", RF02581, April 1999; Mathis, M., Mahdavi, J., Floyd, 8., and Romanow, A., “TCP
`
`Selective Acknowledgement Options", RFC 2018, Oct. 1996; S. Floyd and T. Henderson, "The
`
`NewReno Modification to TCP’s Fast Recovery Algorithm”, RF02582, April 1999; Stevens, W.,
`
`" TCP Slow Start, Congestion Avoidance, Fast Retransmit, and Fast Recovery Algorithms“, RFC
`
`2001, January 1997; K Ramakrishnan, S. Floyd, "A Proposal To Add Explicit Congestion
`
`Notification (ECN) To IP’, RFC 2481, April 1999; and Prasad Bagal, Shivkumar Kalyanaraman,
`
`Bob Packer, “Comparative study of RED, ECN and TCP Rate Control’, Technical Report, March
`
`10
`
`10
`
`

`

`WO 01/97438
`
`PCT/USOlll9355
`
`1999.
`
`De facto standard implementations of TCP congestion control algorithms are described
`
`in RFC 2581 and RFC 2582, which employs both Fast Retransmit algorithm and Fast Recovery
`
`algorithm (FRFR), also known as Reno algorithms. These two algorithms rely on counting
`
`“duplicate ACKs” — TCP immediate acknowledge sent from the destination in reSponse to each
`
`additional data segment received following missing data. Fast Retransmit and Fast Recovery
`
`(FRFR) algorithms are intended to preserve self-clock during recovery from a lost data segment.
`
`Fast Retransmit algorithm uses duplicate ACKs to detect the loss of a data segment. When
`
`three duplicate ACKs are detected, TCP assumes that a data segment has been lost and
`
`retransmit the lost packet, without waiting for a retransmission timer to expire. The Fast
`
`Recovery algorithm attempts to estimate how much data remains outstanding in the network by
`
`counting duplicate ACKs. The Fast Recovery algorithm artificially inflates the congestion
`
`window "CWND” (i.e., TCP state variable that limits the amount of data a TCP source can send)
`
`on each duplicate ACK that is received, causing new data to be transmitted as the congestion
`
`window "CWND" becomes large enough. Fast Recovery algorithm allows one (halved) window
`
`of new data to be transmitted following a Fast Retransmit. After the lost packet has been
`
`acknowledged, the congestion window "CWND" should be reduced and the TCP source would
`
`come into the state of congestion avoidance. However, Reno algorithms and current
`
`modifications of Fast Retransmit/Fast Recovery (FRFR) algorithm are oriented to wired
`
`networks with very small transmission error, since the TCP assumes that the packet loss due to
`
`damage is extremely rare and the overwhelming majority of lost packets is due to congestion.
`
`For wireless networks, however, TCP assumption is generally false — most lost packets
`
`are due to errors that occur in the transmission of packets over error-prone media such as
`
`infrared or radio-frequency links, as opposed to network congestion. When these transmission
`
`errors occur, known asBit Error Rate (BER), TCP mistakenly assumes that the network is
`
`congested and dramatically reduces its transmission of old and new packets. For example,
`
`whenever a packet is lost, TCP automatically resets its current window and threshold, then traps
`
`in the state of Slow-Start frequently, which may sharply degrade the throughput of connection.
`
`11
`
`11
`
`

`

`W0 01/97438
`
`PCT/U501/l9355
`
`6
`
`Although other congestion control algorithms are available to minimize the impact of losses from
`
`a throughput perspective, none is intended to distinguish the packet loss due to Bit Error Rate
`
`(BER) from loss due to congestion. As a result, TCP would still have to avoid the congestion
`
`that may not exist at all.
`
`Accordingly, there is a need for a new and efficient mechanism provided to improve the
`
`TCP performance in high-speed packet-switched networks, especially wireless or mobile
`
`networks. A new algorithm is needed to distinguish congestion packets loss from individual
`
`packet loss due to Bit Error Rate (BER), to reject coming into Slow-Start and facilitate fast
`
`recovery when lost packets are due to Bit Error Rate (BER), and to reduce its sending speed as
`
`normal TCP upon occurrence of congestion so as to improve the throughput of connection in
`
`wireless and/or mobile networks.
`
`SUMMARY OF THE lNVENTION
`
`Accordingly, various embodiments of the present invention are directed to a new
`
`recovery mechanism, known as Fast Recovery Plus (FR+) algorithms and associated method,
`
`for wireless and/or mobile network applications to distinguish congestion packets loss from
`
`individual packet loss due to Bit Error Rate (BER), to advance fast data recovery when lost
`
`packets are due to Bit Error Rate (BER), and to reduce its sending speed as normal TCP upon
`
`occurrence of congestion so as to improve the throughput of connection while effectively
`
`avoiding network congestion in a TCP/IP packet-switched network such as wireless and/or
`
`mobile networks. Such enhanced Recovery Plus (FR+) algorithms may be installed or
`
`integrated into a host and/or a computer readable medium for use in a host for promoting fast
`
`data recovery while effectively controlling network congestion in packet-switched networks,
`
`especially wireless or mobile networks.
`
`In accordance with an embodiment of the present invention, a method of flow control
`
`and congestion avoidance congestion in a network comprises the steps of: transmitting, at a
`
`source node, data packets to a destination node, via at least an intermediate node; receiving, at
`
`the destination node, data packets transmitted from the source node, via the intermediate node.
`
`12
`
`12
`
`

`

`WO 01/97438
`
`PCT/USOl/19355
`
`7
`
`and generating a duplicate ACK back to the source node to inform the source node that a data
`packet was received out-of-order in the network and serves as an indication that a data packet
`
`has been lost; upon receipt of a designated number of duplicate ACKs, at the source node,
`
`determining that a data packet has been lost; initializing a counter, at the source node, and
`
`recording a congestion window CWND, a slow start threshold Ssthresh, and a maximal
`
`sequence number SN that has been sent into the network; upon receipt of a next duplicate
`
`ACK, at the source node, recording its acknowledged sequence number ACK_SN; determining,
`
`at the source node, if the acknowledged sequence number ACK_SN is no more than a recorded
`
`sequence number SN; otherwise, incrementing the counter, at the source node, and re-
`
`transmitting a lost packet; if the acknowledged sequence number ACK_SN is no more than the
`
`recorded sequence number SN, determining if the packet loss is due to a transmission error;
`
`and if the packet loss is due to the transmission error, setting, at the source node, the slow start
`
`threshold Ssthresh to Max(CWND, (Ssthresh + CWND)/2), wherein said CWND and Ssthresh
`
`exhibit values previously recorded.
`
`Specifically, the slow start threshold Ssthresh is set to no more than Max(FlightSize/Z,
`
`2*SMSS), wherein said FlightSize indicates the amount of outstanding data in the network, and
`
`said SMSS indicates the size of a largest data segment that can be transmitted. The counter is
`
`set to record the number of times of packet re-transmission invoked by the duplicate ACKs.
`
`In
`
`addition, packet loss is due to the transmission error, when the value of the counter is no more
`
`than a pre-defined packet threshold indicating the threshold of packet loss. Otherwise, packet
`
`loss is due to congestion in which case the congestion window CWND is reduced to halve, and
`
`a slow start threshold Ssthresh is reduced to the congestion window to slow a transmission rate
`
`to avoid congestion in the network.
`
`In accordance with another embodiment of the present invention, a data network for
`
`wireless and/or mobile network applications may comprise a source node for transmitting data
`
`packets; a destination node for receiving the data packets from the source node and generating
`
`duplicate ACKs when the arrival of data packets is out—of—order; and at least one intermediate
`
`node disposed between said source node and said destination node; wherein said source node
`
`13
`
`13
`
`

`

`WO 01/97438
`
`PCT/USOl/19355
`
`8
`
`includes a Fast l=tecovery Plus (FR+) algorithm which, when activated upon receipt duplicate
`
`ACKs, performs the following: initializing a counter and recording a congestion window CWND,
`
`a slow start threshold Ssthresh, and a current maximal sequence number SN that has been
`
`sent into the network; upon receipt of a next duplicate ACK, recording its acknowledged
`
`sequence number ACK_SN; determining if the acknowledged sequence’number ACK_SN is no
`
`less than a recorded sequence number SN; if the acknowledged sequence number ACK_SN is
`no less than the recorded sequence number SN, incrementing the counter, and re-transmitting a
`
`lost packet; if the acknowledged sequence number ACK_SN is no more than the recorded
`
`sequence number SN, determining if the packet loss is due to a transmission error; and if the
`
`packet loss is due to the transmission error, setting the slow start threshold Ssthresh to
`
`Max(CW ND, (Ssthresh + CWND)/2), wherein said CWND and Ssthresh exhibit values
`
`previously recorded
`
`In accordance with yet another embodiment, the present invention relates to a computer
`
`readable medium having an enhanced Fast Recovery Plus (FR+) algorithm stored therein for
`
`wireless network applications, when executed by a host system, performs the following: upon
`
`receipt of duplicate ACKs from a remote system, determining that a data packet has been lost;
`
`initializing a counter, and recording a congestion window CWND, a slow start threshold
`
`Ssthresh, and a maximal sequence number SN that has been sent into the network; upon
`
`receipt of a next duplicate ACK, recording its acknowledged sequence number ACK_SN;
`
`determining if the acknowledged sequence number ACK_SN is no more than a recorded
`
`sequence number SN; if the acknowledged sequence number ACK_SN is more than the
`
`recorded sequence number SN, incrementing the counter, and re-transmitting a lost packet; if
`
`the acknowledged sequence number ACK_SN is no more than the recorded sequence number
`
`SN, determining if the packet loss is due to a transmission error; and if the packet loss is due to
`
`the transmission error, setting the slow start threshold Ssthresh to Max(CWND, (Ssthresh +
`
`CWND)/2), wherein said CW ND and Ssthresh exhibit values previously recorded.
`
`The present invention is more specifically described in the following paragraphs by
`
`reference to the drawings attached only by way of example.
`
`14
`
`14
`
`

`

`WO 01/97438
`
`P

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket