`
`
`
`
`
`
`
`
`
`
`
`
`
`US010742774B1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`a2) United States Patent
`
`
`
`US 10,742,774 B1
`
`
`(0) Patent No.:
`
`
`
`
`
`
`
`
`
`
`*Aug. 11, 2020
`(45) Date of Patent:
`Morris
`
`
`
`
`
`(54) METHODS, SYSTEMS, AND COMPUTER
`
`PROGRAM PRODUCTS FOR SHARING
`
`
`
`
`INFORMATION FOR DETECTING AN IDLE
`
`
`
`
`TCP CONNECTION
`
`
`
`
`
`
`
`
`
`
`(71) Applicant: Jenam Tech, LLC, Longview, TX (US)
`
`
`
`
`
`
`
`(72)
`
`
`Inventor: Robert Paul Morris, Raleigh, NC (US)
`
`
`
`
`
`
`
`
`
`
`
`
`(73) Assignee: Jenam Tech, LLC, Longview, TX (US)
`
`
`
`
`
`
`
`(*) Notice:
`
`
`
`
`
`Subject to any disclaimer, the term of this
`
`
`
`
`
`
`
`patent is extended or adjusted under 35
`
`
`
`
`
`
`
`U.S.C. 154(b) by 0 days.
`
`
`
`
`
`
`This patent is subject to a terminal dis-
`
`
`
`
`
`
`
`claimer.
`
`
`(21) Appl. No.: 16/368,811
`
`
`
`
`
`
`(22) Filed:
`
`
`
`
`
`
`Mar. 28, 2019
`
`
`
`
`
`
`Related U.S. Application Data
`
`
`
`(63) Continuation of application No. 16/040,522,filed on
`
`
`
`
`
`
`
`
`Jul. 19, 2018, now Pat. No. 10,375,215, which is a
`
`
`
`
`
`
`
`
`
`
`continuation ofapplication No. 15/915,047, filed on
`
`
`
`
`
`
`
`Mar. 7, 2018, now Pat. No. 10,075,564, which is a
`
`
`
`
`
`
`
`
`
`
`continuation of application No. 15/694,802, filed on
`
`
`
`
`
`
`
`Sep. 3, 2017, now Pat. No. 9,923,995, which is a
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`continuation-in-part of application No. 14/667,642,
`filed on Mar. 24, 2015, now abandoned, whichis a
`
`
`
`
`
`
`
`
`
`
`continuation-in-part of application No. 13/477,402,
`
`
`
`
`
`(Continued)
`
`
`(51)
`
`
`
`
`
`(2006.01)
`(2006.01)
`
`
`
`
`
`
`‘Int. Cl.
`G06F 15/16
`
`
`HO4L 29/06
`
`
`(52) U.S. Cl.
`
`CPC vices cecseccnteceseeeeeeeees HO4L 69/16 (2013.01)
`
`
`
`
`
`
`
`
`(58) Field of Classification Search
`
`
`CPC ieee cecscereeceeeceeeceeeeeeeeneeereceensess HO4L 69/16
`
`
`
`See application file for complete search history.
`
`
`
`
`
`
`
`
`
`
`
`
`(56)
`
`
`EP
`
`WO
`
`
`
`
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`
`12/1994 Attanasio et al.
`
`
`
`
`2/1996 Yoshida
`
`
`(Continued)
`
`
`
`5,371,852 A
`
`
`5,495,480 A
`
`
`
`
`
`FOREIGN PATENT DOCUMENTS
`
`
`1242882 A2
`
`
`2007069046 Al
`
`
`
`2002
`(2007
`
`
`
`
`
`
`OTHER PUBLICATIONS
`
`
`
`
`Allman, M., Paxson, V., Stevens, W., “TCP Congestion Control”,
`
`
`
`
`
`
`
`
`
`RFC 2581, Internet Engineering Task Force, http:/‘tools.ietf.org/rfe/
`
`
`
`
`
`
`
`rfc2581.txt, Apr. 1999.
`
`
`
`(Continued)
`
`
`
`
`
`
`Primary Examiner — Moustafa M Meky
`
`
`(74) Attorney, Agent, or Firm — Patrick E. Caldwell,
`
`
`
`
`
`
`
`
`
`
`
`
`Esq.; The Caldwell Firm, LLC
`
`
`
`(57)
`
`
`ABSTRACT
`
`
`
`A computer-implemented method is provided, comprising
`
`
`
`
`
`
`causing access to be provided, to a client computer, to code
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`that causes the client computer to operate in accordance with
`a protocol that is separate from TCP, in order to establish a
`
`
`
`
`
`
`
`
`
`
`
`protocol connection with another server computer, by:
`
`
`
`
`
`
`
`receiving a packet, detecting an idle time period parameter
`
`
`
`
`
`
`
`
`
`ficld in the packet, identifying metadata in the idle time
`
`
`
`
`
`
`
`
`
`
`period parameter field for an idle time period, where, after
`
`
`
`
`
`
`
`
`
`
`the idle time period is detected, the second protocol con-
`
`
`
`
`
`
`
`
`
`nection is deemed inactive, and creating or modifying, by
`
`
`
`
`
`
`
`
`
`the client computer and based on the metadata, a timeout
`
`
`
`
`
`
`
`
`
`
`attribute associated with the second protocol connection.
`
`
`
`
`
`
`
`
`83 Claims, 8 Drawing Sheets
`
`
`
`
`
`
`
`302
`
`
`Receive, by a second node fromafirst node, a first transmission
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`control protocol (TCP) packet in a TCP connection
`
`
`
`
`
`first node
`
`Detect a first idle time period header,in the first packet, identifying
`
`
`
`
`
`
`
`
`
`
`
`
`metadatafora first idle time period, detectable by the first node.
`304
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`during which no TCP packetincluding data in a first TCP data stream
`sent in the TCP connection by the second node is received by the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`modifying, based on the metadata, by the second nace a timeout
`
`
`
`
`
`
`
`
`
`
`attribute associated with the TCP connection
`
`
`
`
`
`
`
`306
`
`
`Page 1 of 28
`
`GOOGLEEXHIBIT 1037
`
`Page 1 of 28
`
`GOOGLE EXHIBIT 1037
`
`
`
`
`
`
`US 10,742,774 BI
`
`Page 2
`
`
`
`(56)
`
`
`6,273,622 Bl
`
`
`6,412,006 B2
`
`
`6,412,009 B1
`
`
`6,674,713 Bl
`
`
`6,704,786 Bl
`
`
`6,757,248 B1*
`
`
`
`
`6,880,013 B2
`
`
`7,002,917 Bl
`
`
`7,035,214 Bl
`
`
`7,050,940 B2
`
`
`7,152,111 B2
`
`
`7,404,210 B2
`
`
`7,426,569 B2
`
`
`7,428,595 B2
`
`
`7,606,191 Bl
`
`
`7,684,346 B2
`
`
`7,720,989 B2
`
`
`7,729,271 B2
`
`
`7,848,351 B2
`
`
`7,962,623 B2
`
`
`8,031,617 B2
`
`
`8,073,964 B2
`
`
`8,219,606 B2*
`
`
`
`
`
`8,228,830 B2
`
`
`8,375,134 B2
`
`
`8,483,095 B2
`
`
`8,700,695 B2
`
`
`8,711,851 Bl
`
`
`9,923,995 B1*
`
`
`2005/0054347 Al
`
`
`2005/0063304 Al
`
`
`2006/0034179 Al
`
`
`2006/0195547 Al
`
`
`2007/0064677 Al
`
`
`2007/0086461 Al
`
`
`2007/0110046 Al
`
`
`2007/0140193 Al
`
`
`2008/0261596 Al
`
`
`2009/0201857 Al
`
`
`2009/0252072 Al
`
`
`2010/0057844 Al
`
`
`2011/0213820 Al
`
`
`
`
`
`
`
`Related U.S. Application Data
`
`
`
`
`filed on May 22, 2012, now abandoned, which is a
`
`
`
`
`
`
`
`
`
`
`continuation of application No. 12/714,454, filed on
`
`
`
`
`
`
`
`Feb. 27, 2010, nowPat. No. 8,219,606.
`
`
`
`
`
`
`
`
`References Cited
`
`
`U.S. PATENT DOCUMENTS
`
`
`
`
`
`8/2001 Ben-David.
`
`6/2002 Naudus
`
`
`6/2002 Erickson et al.
`
`
`
`
`(/2004 Berget al.
`
`
`
`
`3/2004 Gupta et al.
`
`
`
`
`6/2004 Li wares HO4L 1/1858
`
`
`
`
`
`370/235
`
`
`
`
`
`
`4/2005 Kashyap
`
`2/2006 Saleh
`
`
`4/2006 Seddigh et al.
`
`
`
`
`5/2006 Basso et al.
`
`
`
`
`12/2006 Allredet al.
`
`
`
`
`7/2008 Lin
`
`
`9/2008 Dunk
`
`
`9/2008 Deshpande
`
`
`10/2009 Breau etal.
`
`
`
`
`3/2010 Valli
`
`
`5/2010 Dunk
`
`
`6/2010 ‘Tsuchiyaetal.
`
`
`
`
`12/2010 Kim et al.
`
`
`
`
`6/2011 Undery et al.
`
`
`
`
`10/2011 Mogul etal.
`
`
`
`
`12/2011 Dunk
`
`
`7/2012 Morris wo. II04L 69/16
`
`
`
`
`
`709/201
`
`
`
`
`7/2012 Babin etal.
`
`
`
`
`2/2013 Herzoget al.
`
`
`
`
`7/2013 Hegdeet al.
`
`
`
`
`4/2014 Sundarrajan et al.
`
`
`
`
`4/2014 Subramonian etal.
`
`
`
`
`3/2018 Morris wee GO6F 9/50
`
`
`
`
`3/2005 Kakani
`
`
`3/2005 Sillasto et al.
`
`
`
`
`
`2/2006 Carter ctal.
`
`
`
`
`8/2006 Sundarrajan etal.
`
`
`
`
`3/2007 Xiong
`
`
`4/2007 Wardetal.
`
`
`
`
`5/2007 Farrell et. al.
`
`
`
`
`6/2007 Dosaet al.
`
`
`
`
`10/2008 Khetawatet al.
`
`
`
`
`8/2009 Daudin etal.
`
`
`
`
`10/2009 Lindctal.
`
`
`
`
`3/2010 Johnson
`
`
`9/2011 Morris
`
`
`
`OTHER PUBLICATIONS
`
`
`
`
`Busatto, Fabio, “TCP Keepalive Overview’, TCP Keepalive HowTo,
`
`
`
`
`
`
`
`
`Section 2, http://tldp.org/HOWTO/html_single/TCP-Keepalive-
`
`
`HOWTO#overview, accessed Jan. 2010, May 2007.
`
`
`
`
`
`
`Eggert, L., Gont, F., “!CP User ‘limeout Option”. RFC 5482,
`
`
`
`
`
`
`
`
`
`
`Internet Engineering Task Force (EFT), http://tools.ietf.org/html/
`
`
`
`
`
`
`rfc5482.txt, Mar. 2009.
`
`
`
`Koziero, Charles M., TCP Connection Management and Problem
`
`
`
`
`
`
`
`
`Handling, the Connection Reset Function, and TCP “Keepalives”,
`
`
`
`
`
`
`
`
`The TCP/IP Guide, p. 3, http://www.tepipguide.com/free/t_
`
`
`
`
`
`
`TCPConnectionManagementandProblemHandlingtheConnec-3.
`
`
`htm, accessed T'eb. 2010, (c) 2003-2010.
`
`
`
`
`
`
`Mathis, M., Mahdave,J., Floyd, S., Romanow, A., “TCP Selective
`
`
`
`
`
`
`
`
`
`
`Acknowledgement Options”, RFC 2018, Internet Engineering Task
`
`
`
`
`
`
`
`Force, http://tools.ictf.org/rfc/rfe2018.txt, Oct. 1996.
`
`
`
`
`Nagle, John, “Congestion Control in IP/TCP Internetworks”, RFC
`
`
`
`
`
`
`
`896, Ford Aerospace and Communications Corporation, http://tools.
`
`
`
`
`
`
`
`ietf.org/rfc,/rfc896.txt, Jan. 1984.
`
`
`
`Network Working Group, “QUIC: A UDP-Based Secure and Reli-
`
`
`
`
`
`
`
`
`able Transport for HTTP/2 draft-tsvwg-quic-protocol-00”, Jun. 17,
`
`
`
`
`
`
`
`2015.
`
`
`
`
`
`Page 2 of 28
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Office Action Summary in U.S. Appl. No. 12/714,063 dated Jun. 21,
`
`
`
`
`
`
`
`
`
`
`2012.
`
`Office Action Summary in U.S. Appl. No. 12/714,063 dated. Mar. 4,
`
`
`
`
`
`
`
`
`
`
`2013.
`
`Office Action Summary in U.S. Appl. No. 12/714,063 dated Sep. 27,
`
`
`
`
`
`
`
`
`
`
`2013.
`
`Office Action Summary in U.S. Appl. No. 12/714,454 dated Feb. 23,
`
`
`
`
`
`
`
`
`
`
`2012.
`
`Office Action Summary in U.S. Appl. No. 13/477,402 dated Sep. 24,
`
`
`
`
`
`
`
`
`
`
`2014.
`
`Office Action Summary in U.S. Appl. No. 15/694,802 dated Nov.
`
`
`
`
`
`
`
`
`
`
`29, 2017.
`
`
`Postel, John(cd.), Editor; “Transmission Control Protocol—
`
`
`
`
`
`DARPA Internet Protocol Specification”, RFC 793, USC/
`
`
`
`
`
`
`
`Information Sciences Institute, http://tools.ietf.org/rfc/rfc793 txt, Sep.
`
`
`
`
`
`
`1981.
`
`Roskind, Jim “Multiplexed Stream ‘lransport Over UDP,” QUIC,
`
`
`
`
`
`
`
`Dec. 2, 2013, 51 pages.
`
`
`
`
`
`Jon Postel, “Transmission Control Protocol,” DARPA Internet Pro-
`
`
`
`
`
`
`
`gram Protocol Specification, RFC 793, dated Sep. 1981.
`
`
`
`
`
`
`
`
`T Bova et al. “Reliable UDP Protocol” (Internet-Draft for the
`
`
`
`
`
`
`
`
`
`Internet Engineering Task Force, dated Feb. 25, 1999.
`
`
`
`
`
`
`
`
`“A Border Gateway Protocol 4 (BGP-4)” RFC 1771, published in
`
`
`
`
`
`
`
`
`
`Mar. 1995, available at https://tools.ietf.org/html/rfc1771.
`
`
`
`
`
`
`“Using SCTP as a Transport Layer Protocol for HTTP,” draft-
`
`
`
`
`
`
`
`
`
`natarajan-httpbis-sctp-00.txt, published Oct. 27, 2008, available at
`
`
`
`
`
`
`https://tools.ietf.org/id/draft-natarajan-httpbis-sctp-00 html.
`
`
`
`
`
`
`
`
`BT Mobile BlackBerry Enterprise Server 4.0, Information Sheet,
`
`
`
`
`
`
`
`
`published in 2005, available at https://www.bt.com/static/i/media/
`
`
`
`
`
`
`pdf/blackberryITadvice_june05.pdf.
`
`
`Cisco 7200 Series Network Processing Engine NPE-G1 Data Sheet,
`
`
`
`
`
`
`
`
`
`published in Jun. 2006, available at https: //www.cisco.com/c/en/us/
`
`
`
`
`
`
`
`products/collateral/interfaces-modules/network-processor-modules/
`
`product_data_sheet09 186a00800c6bd6.pdf.
`
`Cisco 7200 Series Router Architecture, published in Feb. 2008,
`
`
`
`
`
`
`
`
`
`available at https://www.cisco.com/c/en/us/support/docs/routers/
`
`
`
`
`
`
`
`7200-series-routers/5810-arch-7200-5810-pdt.
`
`
`
`
`Cisco 7200 VXR Series Routers Data Sheet, published in 2008.
`
`
`
`
`
`
`
`
`
`
`Cisco 7200 VXR Series Routers Quick Look Guide published in
`
`
`
`
`
`
`
`
`
`Nov. 2007.
`
`
`Cisco IOS BGP Configuration Guide, Release 12.4T, Chapter:
`
`
`
`
`
`
`
`
`Cisco BGP Overview, published in 2007, available at https://www.
`
`
`
`
`
`
`
`
`
`cisco.com/c/en/us/td/does/ios/12_2sr/12_2srb/feature/guide/tbgp_c/
`
`tbrbover.html.
`
`Cisco IOS BGP Configuration Guide, Release 12.4T, Chapter:
`
`
`
`
`
`
`
`
`Configuring BGP Neighbor Session Options (“Cisco IOS BGP
`
`
`
`
`
`
`
`
`Options”), published in 2007, available at https://www.cisco.com/
`
`
`
`
`
`
`
`c/en/us/id/docs/ios/12_2sr/12_2srb/feature/guide/tbgp_c,/brbpeer.
`
`html.
`
`Digital cellular telecommunications system (Phase 2+); Generic
`
`
`
`
`
`
`access to the A/Gbinterface; Stage 2 (3GPP TS 43.318 version 6.7.0
`
`
`
`
`
`
`
`
`
`Release 6) (“TS 43.318”), published in Jun. 2006.
`
`
`
`
`
`
`
`
`HP Compaq Business Desktop d530 Series, QuickSpecs (“d530
`
`
`
`
`
`
`
`QuickSpecs’’). published on Jul. 14, 2003, available at http:/4www.
`
`
`
`
`
`
`
`
`hp.com/ecomcat/hpcatalog/specs/emeapsg/99/D530SERIESpdf.
`
`HP iPAQ H4000 Series User Guide, published in Aug. 2003.
`
`
`
`
`
`
`
`
`
`
`Hypertext ‘Transfer Protocol—HT'IP/1.1 RFC 2068, published. in
`
`
`
`
`
`
`Jan. 1997, available at https://tools.ieff. org/html/rtc2068.
`
`
`
`
`
`Hypertext Transfer Protocol RFC 2616, published in Jun. 1999,
`
`
`
`
`
`
`
`
`available at https://tools.ieff.org/html/rfc2616.
`
`
`
`Jim Roskind, QUIC Quick UDP Internet Connections, Multiplexed.
`
`
`
`
`
`
`
`
`Stream Transport Over UDP, Nov. 7, 2013 (first draft earlier),
`
`
`
`
`
`
`
`
`
`
`available at https://www.ietf.org/proceedings/88/slides/slides-88-
`
`
`tsvarea-10.pdf.
`
`Mobile IP Traversal ofNetwork Address Translation (NAT) Devices
`
`
`
`
`
`
`RFC 3519 (“RFC 3519”), published in Apr. 2003, available at
`
`
`
`
`
`
`
`
`
`https://tools.ietf.org/html/rfe3519.
`
`
`NetEx “‘C’ Configuration Manager and NetEx® Alternate Path
`
`
`
`
`
`
`
`
`Retry (APR) Release 4.0” software reference manual, published in
`
`
`
`
`
`
`
`
`
`2002,available at http:/Awww.netexsw.conynesi/support/ReleasedDocs/
`
`
`
`
`ConfMer/man-enet-conf-mgr-02.pdf.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Page 2 of 28
`
`
`
`
`
`
`US 10,742,774 BI
`Page 3
`
`
`
`
`
`
`
`
`
`
`
`
`
`“TETF TCP Maintenance,” IETF, Apr. 2004.
`
`
`
`
`
`
`“TCP Option Kind Numbers,” Network Working Group, RFC 2780.
`
`
`
`
`
`
`
`
`
`Apogee Communications, Rapport de Veille Technologique Securite
`
`
`
`
`
`
`
`No, 69, (Security Technology Watch Report) (Apr. 2004).
`
`
`
`
`
`
`
`
`Cristian Zamfir, Live Migration of User Environments Across
`
`
`
`
`
`
`
`WideArea Networks, Master’s Thesis, Department of Computing
`
`
`
`
`
`
`Science, University of Glasgow (Oct. 2008).
`
`
`
`
`
`
`F. Gont, “TCP Adaptive User TumeOut (AUTO) Option,” Network
`
`
`
`
`
`
`
`
`Working Group, May 19, 2004.
`
`
`
`
`
`TESG Statement: Normative and Informative References, Apr L9,
`
`
`
`
`
`
`
`
`2006, availableat https://www.ietf.org/blog/iesg-statement-normative-
`
`
`
`and-informative-references/,
`
`for Eggert,
`IETF Document Management System Datatracker 1
`
`
`
`
`
`
`
`
`available at https://datatrackerietf.org/doc/draft-eggert-tcpm-tep-
`
`
`
`
`abort-timeout-option/.
`
`IETF face-to-face meeting (San Diego, Aug. 2, 2004).
`
`
`
`
`
`
`
`
`Internet Domain Survey, Jan. 2010, Internet Systems Consortium
`
`
`
`
`
`
`
`available at https://downloads.isc.org/www/survey/reports/2010/
`
`
`Ol/.
`
`J. Moy, “The OSPF Specification,” Network Working Group, RFC
`
`
`
`
`
`
`
`
`1131, Oct. 1989.
`
`
`
`Jacobson et al, “TCP Extensions for High Performance,” Network
`
`
`
`
`
`
`
`
`
`Working Group, RFC 1323, May 1002, available at https://tools.
`
`
`
`
`
`
`
`
`
`ietforg/html/rf¢ 1323.
`
`
`
`Jacobson et al, “TCP Extensions for Long-Delay Paths,” Network
`
`
`
`
`
`
`
`
`
`Working Group, RFC 1072, Oct. 1988, available at https://tools.
`
`
`
`
`
`
`
`
`
`ietf.org/html/rfe 1072.
`
`
`Mathis et al, “TCP Selective Acknowledgment Options,” Network
`
`
`
`
`
`
`
`
`Working Group, RFC 2018, Oct. 1996, available at https://tools.
`
`
`
`
`
`
`
`
`
`ietf.org/html/rfc2018.
`
`Postel, J. “The TCP Maximum SegmentSize and Related Topics,”
`
`
`
`
`
`
`
`
`
`
`Network Working Group, RFC 879, available at https://tools.ietf.
`
`
`
`
`
`
`
`
`org/html/r1c879.
`
`S. Bradner “IETF Working Group Guidelines and Procedures,”
`
`
`
`
`
`
`
`Network Working Group, RFC 2418, Sep. 1998.
`
`
`
`
`
`
`
`S. Bradner, “The Internet Standards Process—Revision 3” Network
`
`
`
`
`
`
`
`Working Group, RFC 2026,
`
`
`
`
`The Federal Networking Council, The Networking and Information
`
`
`
`
`
`
`
`Technology Research and Development Program, Oct. 10, 1997,
`
`
`
`
`
`
`
`available at https://www.nitrd.gov/historical/fnc-material aspx.
`
`
`
`
`
`
`
`
`
`
`
`
`* cited by examiner
`
`
`
`
`
`
`(56)
`
`
`
`References Cited
`
`
`OTHER PUBLICATIONS
`
`
`
`
`
`
`
`
`
`
`
`
`NetEX/IP™for UNIX Systems Release 6.0 Software Reference
`
`
`
`
`
`
`
`Manual, published in 2004, available at http://www.netexsw.com/
`
`
`
`
`
`
`nesi/support/ReleasedDocs/Hxx0IP/man-hunxip-03. pdf.
`
`Network Support for Intermittently Connected Mobile Nodes, Simon
`
`
`
`
`
`
`
`Schutz, published on Jun. 13, 2004, available at hittps://eggert.org/
`
`
`
`
`
`
`
`
`students/schuetz-thesis.pdf.
`
`Palm Treo 650 Manual, published in 2004, available at https://www.
`
`
`
`
`
`
`
`
`
`wireless.att.com/download/phone_manual/treo_650.pdf.
`
`Protocol Enhancements for Intermittently Connected Hosts, Schatz
`
`
`
`
`
`
`
`et al., ACM SIGCOMM Computer Communication Review, vol.
`
`
`
`
`
`
`
`
`35, No. 2, Jul. 2005, published in Jul. 2005.
`
`
`
`
`
`
`
`
`
`Real-Time Transport Protocol
`(RTP) Payload Format and File
`
`
`
`
`
`
`
`
`Storage Format for the Adaptive Multi-Rate (AMR) and Adaptive
`
`
`
`
`
`
`
`
`
`Multi-Rate Wideband (AMR-WB) Audio Codecs (aka Framing
`
`
`
`
`
`
`
`Parameters for GAN)
`(“RFC 3267”), published in Jun. 2002,
`
`
`
`
`
`
`
`
`
`available at https://tools.ietf.org/html/rfc3267.
`
`
`
`Requirements for Internet Hosts—Communication Layers RFC
`
`
`
`
`
`
`1122 (“RFC 1122”), published in Oct. 1989, available at https://
`
`
`
`
`
`
`
`
`
`
`tools.ietf.org/html/rfe 1122.
`
`
`(“SCTP”) RFC
`Stream Control Transmission Protocol (SCTP)
`
`
`
`
`
`
`2960, R. Stewart et al., published in Oct. 2000, available at
`
`
`
`
`
`
`
`
`
`
`
`https://tools.ictf.org/html/rfc2960.
`
`Sun Blade 1000 and Sun Blade 2000 Getting Started Guide, Part
`
`
`
`
`
`
`
`
`
`
`
`No. 816-3216-10, published in Jan. 2002, available at https://docs.
`
`
`
`
`
`
`
`
`
`oracle.com/cd/E19 127-0 1/blade1 000.ws/816-3216-10/816-3216-10.
`
`
`pdf.
`
`TCP Abort Timeout Option (draft-eggert-tepm-tep-abort-timeout-
`
`
`
`
`option-00), published Apr. 14, 2004, available at https://tools.ietf.
`
`
`
`
`
`
`
`
`org/huml‘drafl-eggert-tcpm-icp-abort-limeoul-option-00.
`
`
`
`
`
`TCP User Timeout Option RFC 5482, published in Mar. 2009,
`
`
`
`
`
`
`
`
`
`available at https://tools.ietf.org/html/rfc5482.
`
`
`
`TCP/IP Illustrated, vol.
`1: The Protocols, W. Richard Stevens,
`
`
`
`
`
`
`
`
`published in 1994,
`
`
`
`Transmission Control Protocol RFC 793. published in Sep. 1981,
`
`
`
`
`
`
`
`
`available at https://tools.ietf.org/html/1fc793.
`
`
`
`“Discussion Lists,” IETF, available at https://www.ietf.org/how/
`
`
`
`
`
`lists/discussion/.
`
`“IETF Announce Mailing List,” IETF, Apr. 2004.
`
`
`
`
`
`
`
`“IETF Document Management System Datatracker 2 for Eggert,”
`
`
`
`
`
`
`
`JETF, Datatracker.
`
`
`
`
`
`
`
`
`
`
`
`
`
`Page 3 of 28
`
`Page 3 of 28
`
`
`
`be ee ee oe oe
`
`
`
`Network
`
`Interface
`
`
`Adaoter
`
`114
`
`|
`
`
`
`
`
`
`Persistent
`
`Secondary
`
`
`
`
`Storage 108
`
`|
`
`
`
`
`
`
`
`
`
`
`U.S. Patent
`
`
`
`
`
`Aug. 11, 2020
`
`
`
`
`
`
`Sheet 1 of 8
`
`
`
`US 10,742,774 B1
`
`
`
`
`
`
`Execution Environment 102
`
`
`
`Device/Node 100
`
`
`
`
`Output Device}|Input Device
`
`
`
`_ ee
`130
`128
`
`
`Virtual IPU Memory 118
`
`
`
`
`
`
`Inout Device
`Output
`Instruction
`Physical IPU |
`Processing
`Device
`sda{10
`
`
`
`
`
`
`
`
`
`
`
`
`
`Memory 106J"}Unit 104 Adapter 112 7
`
`
`
`
`
`
`iOions
`
`
`
`
`
`Other Libraries and
`
`
`Subsystems124
`tems
`1
`
`
`Operating
`
`
`System 120
`
`
`
`|
`|
`
`Page 4 of 28
`
`Page 4 of 28
`
`
`
`
`U.S. Patent
`
`
`
`Aug. 11, 2020
`
`
`
`
`
`Sheet 2 of 8
`
`
`
`
`US 10,742,774 B1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Receive, by a first node, first idle information for detecting a first idle
`time period during which no TCP packetincluding data in a first data
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`stream sent in the TCP connection by a second node is received by
`
`
`
`the first node
`
`
`
`information
`
`
`
`
`
`
`
`
`
`
`
`
`Generate a TCP packetincluding a first idle time period header
`
`
`
`
`
`
`
`
`
`
`
`
`identify metadata for the first idle time period based on the first idle
`
`
`
`
`Send the TCP packet in the TCP connection to the second node to
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`provide the metadata for thefirst idle time period to the second node
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Detectthe first idle time period based on thefirst idle information
`
`
`
`
`
`
`
`
`
`
`
`202
`
`
`
`204
`
`
`
`206
`
`
`
`208
`
`
`
`Deactivate the TCP connection in responseto detecting the first idle
`
`
`
`
`
`
`
`
`
`
`
`
`time period
`
`
`
`
`
`
`
`
`210
`
`
`
`
`Fig. 2
`
`
`
`Page 5 of 28
`
`Page 5 of 28
`
`
`
`
`U.S. Patent
`
`
`
`Aug. 11, 2020
`
`
`
`
`
`Sheet 3 of 8
`
`
`
`
`US 10,742,774 B1
`
`
`
`
`
`Receive, by a second nodefromafirst node,a first transmission 302
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`control protocol (TCP) packet in a TCP connection
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Detecta first idle time period header,in the first packet, identifying
`
`
`
`
`
`
`
`
`
`
`
`
`metadatafor a first idle time period, detectable by thefirst node,
`
`
`
`
`
`
`
`
`
`
`
`
`during which no TCP packetincluding data in a first TCP data stream
`
`
`
`
`
`
`
`
`
`
`
`
`
`sent in the TCP connection by the second nodeis received by the
`
`
`first node
`
`
`
`
`
`
`
`304
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`modifying, based on the metadata, by the second nodea timeout
`
`
`
`
`
`
`attribute associated with the TCP connection
`
`
`
`
`
`
`306
`
`
`
`
`Fig. 3
`
`
`
`Page 6 of 28
`
`Page 6 of 28
`
`
`
`
`U.S. Patent
`
`
`
`
`
`Aug. 11, 2020
`
`
`
`
`
`
`Sheet 4 of 8
`
`
`
`US 10,742,774 B1
`
`
`
`Connection
`
`
`State 458
`
`
`
`
`
`
`ITP Policy 450
`
`
`
`
`
`
`ITP Monitor 456
`
`
`
`
`
`
`
`
`
`Packet Generator
`
`452
`
`
`
`
`
`Net Out-Port 454
`
`
`
`
`
`
`Option
`
`Attribute
`
`
`Handler 564
`
`
`
`ITP Option
`
`
`Handler 462
`
`
`
`
`
`
`Net In-Port 460
`
`
`Fig. 4a
`
`
`
`
`Fig. 4b
`
`
`
`Page 7 of 28
`
`Page 7 of 28
`
`
`
`
`U.S. Patent
`
`
`
`Aug. 11, 2020
`
`
`
`
`
`Sheet 5 of 8
`
`
`
`
`US 10,742,774 B1
`
`
`
`
`
`
`
`
`Execution Environment 502
`
`
`
`
`Network Application 504
`
`
`
`
`
`
`
`Application Protocol Layer 520
`
`
`
`App
`
`In-Port
`
`PPoo
`
`=e
`
`
`
`
`Settings
`Service
`
`
`926
`
`
`
`Sockets 518
`
`
`
`Option
`
`Attribute
`
`
`
`Handler 564
`
`
`App Out-
`
`
`Port 524
`
`Packet
`
`Generator
`552
`
`
`
`
`
`
`
`
`
`
`Net Out-
`
`
`
`Port 554
`on 228
`
`
`
`Connection
`
`
`State 558
`
`ITP Monitor
`
`
`556
`
`
`Packet
`Hancler
`
`516
`
`
`
`
`
`
`
`
`
`ITP Option
`
`
`Handler 562
`TCPLayer 506
`
`
`
`
`
`
`
`IP Layer 514
`
`
`
`NetIn-Port
`
`
`560
`=
`
`
`
`
`
`
`Link Layer 512
`
`eee |
`
`
`NIC 508
`
`
`
`
`Physical Layer
`
`510
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Fig. 5
`
`
`
`Page 8 of 28
`
`Page 8 of 28
`
`
`
`
`U.S. Patent
`
`
`
`Aug. 11, 2020
`
`
`
`
`
`Sheet 6 of 8
`
`
`
`
`US 10,742,774 B1
`
`
`
`
`
`
`
`Second
`
`Node
`
`
`604
`
` First Node
`
`
`
`602
`
`
`
`
`
`Network
`
`606
`
`
`
`Fig. 6
`
`Page 9 of 28
`
`Page 9 of 28
`
`
`
`
`U.S. Patent
`
`
`
`Aug. 11, 2020
`
`
`
`
`
`Sheet 7 of 8
`
`
`
`
`US 10,742,774 B1
`
`
`
`
`
`
`
` Second
`
`
`
`
`Node
`
`604
`
`
`
`
`
`
`First Node
`
`602
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Deactivate
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`DetectlH()
`
`
`
`
`
`
`
`
`IdleTimerSet() IdlePop()
`
`
`Fig. 7
`
`
`
`Page 10 of 28
`
`Page 10 of 28
`
`
`
`
`U.S. Patent
`
`
`
`Aug. 11, 2020
`
`
`
`
`
`Sheet 8 of 8
`
`
`
`
`US 10,742,774 B1
`
`
`
`
`
`804
`
`806
`
`
`3
`2
`1
`0
`
`0oO1l23456V78901234567890i1 345678901
`—+—-$-4-4—-4-4-4 44 -4-4-4-4-4-4-4 -4 -4 4-4-4 4 - + -f4 -$ - $$ $$ 4 - -t
`
`
`
`|
`Source Port
`tampa tet et at tt tat att tat nt
`
`
`
`Destination Port
`at nt at tat ttt nt ttt tt
`
`tant
`
`
`
`Sequence Number
`atta t—t ttt ttt ttt tt tt ttt ttt F444 -4-4-
`
`
`
`Acknowledgment Number
`—t-t—-t ttt -t tt 4-4 -t Ft tt tit tt ttt tt 4-4 -t-4+-4F-4-
`
` toteteteetHtet+t
`
`$—-+¢—-4+-—-4+—-—-—4+-—-4-—-4-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`|U|A|PIRIS|F|
`Data |
`
`
`
`Offset| Reserved |R|ICIS{ISIYITI
`
`
`
`|
`[G|K|HITIN|N|
`mt t i$ t Ft $$$ FHat tt it tt ti tt i tte ttt it ttt
`
`Window
`
`
`
`
`
`
`|
`Checksum
`Urgent Pointer
`abate tata t at ata tata tanta te tat tetat tat it ate ttt att 4-4 -4-
`
`
`
`Padding
`|
`Options
`mht mt tb tt tte btmbt ct ct nt at ct tt ttt ot tet tt 4
`
`data
`
`—t+—-4+-4+-4-4+-4-4-4+-4-4-4-4-4-4-4-4-4-4-4-4-4-4-4-4-4+-4-4-4-4+-4-4-
`
`802
`
`
`
`
`
`oo fe ee ae a oe ne me oea +
`
`
`
`
`
`
`
`|
`|
`TCP Length
`| PTCL
`| zero
`f-------- +-------- +-------- +-------- +
`
`822
`
`
`
`810
`
`
`
`
`
`
`
`
`
`
`morte pr er rprr trrt
`
`|
`
`
`
`
`KIND
`
`
`
`| Length |
`
`
`
`
`ITP Data
`
`
`
`|
`
`
`
`
`
`
`
`
`
`
`
`Figures are adapted from RFC 793
`
`
`
`
`Fig. 8
`
`
`
`Page 11 of 28
`
`Page 11 of 28
`
`
`
`
`
`US 10,742,774 Bl
`
`
`
`
`1
`METHODS, SYSTEMS, AND COMPUTER
`
`
`
`PROGRAM PRODUCTS FOR SHARING
`
`
`
`
`INFORMATION FOR DETECTING AN IDLE
`
`
`
`
`
`TCP CONNECTION
`
`
`
`
`
`RELATED APPLICATIONS
`
`
`
`
`
`
`
`
`
`
`20
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`40
`
`45
`
`
`
`
`
`
`2
`TCP connection may support a keep-alive option for the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`connection. Each node supports or does not support keep-
`
`
`
`
`
`
`
`
`
`alive for a TCP connection based on each node’s require-
`ments without consideration for the other node in the TCP
`
`
`
`
`
`
`
`
`
`connection.
`
`With respect to the keep-alive option, some argue that it
`
`
`
`
`
`
`
`
`
`
`is unnecessary and that it can waste network bandwidth.
`
`
`
`
`
`
`
`
`
`Someofthese critics point out that a keep-alive packet can
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`bring down a TCP connection. Further, since nodes includ-
`
`
`
`
`
`
`
`
`
`
`ing endpoints in a TCP connection do not cooperate in
`supporting the keep-alive option, the nodes may operate in
`
`
`
`
`
`
`
`
`
`opposition to one another and/or may waste resources by
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`duplicating function, according to critics of the keep-alive
`option.
`
`Proponents of the keep-alive option claim there is a
`
`
`
`
`
`
`
`
`
`benefit to detecting a dead peer/partner endpoint sooner. A
`
`
`
`
`
`
`
`
`
`node providing TCP keep-alive can also indirectly detect
`
`
`
`
`
`
`
`
`when a network is so congested that two nodes with end-
`
`
`
`
`
`
`
`
`
`
`points in a TCP connection are effectively disconnected.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Proponents argue that keep-alive can keep an inactive TCP
`connection open. lor example, some network nodes such as
`
`
`
`
`
`
`
`
`
`firewalls are configured to close TCP connections deter-
`
`
`
`
`
`
`
`mined to be idle or inactive in order to recover resources.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Keep-alive can prevent this. This is good from the perspec-
`
`
`
`
`
`
`
`
`
`tive of the node sending keep-alive packets, but the keep-
`alive packets might causethe firewall to waste resources and
`
`
`
`
`
`
`
`
`
`possibly block or terminate TCP connections with other
`
`
`
`
`
`
`
`nodes.
`
`TCP keep-alive and the debate of its benefits and faults
`
`
`
`
`
`
`
`
`
`
`have been around for decades. To date no mechanism to
`
`
`
`
`
`
`
`
`
`
`allow two TCP connection endpoints to cooperate in sup-
`
`
`
`
`
`
`
`
`porting the keep-alive option has been proposed or imple-
`
`
`
`
`
`
`
`
`mented. The broader issue of enabling cooperation and
`
`
`
`
`
`
`
`
`negotiation between nodes in a TCP connection in detecting
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`and managing idle, underactive, and/or dead TCP connec-
`tions remains unaddressed.
`
`
`
`Accordingly, there exists a need for methods, systems,
`
`
`
`
`
`
`
`
`and computer program products for sharing information for
`
`
`
`
`
`
`
`
`
`
`
`
`
`detecting an idle TCP connection.
`
`
`
`
`SUMMARY
`
`
`
`‘The following presents a simplified summary of the
`
`
`
`
`
`
`
`
`disclosure in order to provide a basic understanding to the
`
`
`
`
`
`
`
`
`
`
`reader. This summary is not an extensive overview of the
`
`
`
`
`
`
`
`
`
`
`disclosure and it does not identify key/critical elements of
`
`
`
`
`
`
`
`
`
`the invention or delineate the scope ofthe invention.Its sole
`
`
`
`
`
`
`
`
`
`
`
`purpose is to present some concepts disclosed herein in a
`
`
`
`
`
`
`
`
`
`
`simplified form as a prelude to the more detailed description
`
`
`
`
`
`
`
`
`
`that is presented later.
`
`
`
`
`
`
`
`
`
`A computer-implemented method is provided, compris-
`ing: causing access to be provided to a server computer
`
`
`
`
`
`
`
`
`
`including: a non-transitory memory storing a network appli-
`
`
`
`
`
`
`cation, and one or more processors in communication with
`
`
`
`
`
`
`
`
`the non-transitory memory, wherein the one or more pro-
`
`
`
`
`
`
`
`
`cessors execute the network application to operate in accor-
`
`
`
`
`
`
`
`
`dance with a first protocol including a transmission control
`
`
`
`
`
`
`
`
`
`protocol (TCP); causing a TCP connection to be established
`
`
`
`
`
`
`
`
`with a client computer, by: communicating a segment
`
`
`
`
`
`
`
`
`including at least one first synchronize bil, communicating,
`
`
`
`
`
`
`
`
`a first acknowledgement of the segment, and at least one
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`second synchronize bit, and communicating a second
`acknowledgement; causing first data to be communicated
`
`
`
`
`
`
`
`from the server computerto the client computerutilizing the
`
`
`
`
`
`
`
`
`
`
`TCP connection in accordance with the TCP protocol and a
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`hypertext transfer protocol (HTTP), for being presented to a
`user of the client computer; causing the server computer to
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`This application is a continuation of, and claims priority
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`to US. patent application Ser. No. 16/040,522 entitled
`“METHODS, SYSTEMS, AND COMPUTER PROGRAM
`
`
`
`
`
`PRODUCTS FOR SHARING INFORMATION FOR
`
`
`
`
`
`DETECTING AN IDLE TCP CONNECTION,”filed on Jul.
`
`
`
`
`
`
`
`
`19, 2018, which in turn, is a continuation of, and claims
`
`
`
`
`
`
`
`
`
`
`
`priority to U.S. patent application Ser. No. 15/915,047
`
`
`
`
`
`
`
`
`entitled “METHODS, SYSTEMS, AND COMPUTER
`
`
`
`
`
`PROGRAM PRODUCTS FOR SHARING INFORMA-
`
`
`
`
`TION FOR DETECTING AN IDLE TCP CONNECTION,”
`
`
`
`
`
`
`
`filed on Mar. 7, 2018 which, in turn, is a continuation of, and
`
`
`
`
`
`
`
`
`
`
`
`
`
`claimspriority to U.S. patent application Ser. No. 15/694,
`
`
`
`
`
`
`
`
`
`802, now U.S. Pat. No. 9,923,995, entitled “METHODS,
`
`
`
`
`
`
`
`
`SYSTEMS, AND COMPUTER PROGRAM PRODUCTS
`
`
`
`
`
`FOR SHARING INFORMATION FOR DETECTING AN
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`IDLE TCP CONNECTION,”filed on Sep. 3, 2017 which, in
`
`
`
`
`
`
`
`
`
`
`turn, is a continuation-in-part of, and claimspriority to U.S.
`patent application Ser. No. 14/667,642, entitled “METH-
`
`
`
`
`
`
`
`ODS, SYSTEMS, AND COMPUTER PROGRAM PROD-
`
`
`
`
`
`
`UCTS FOR SELECTING A RESOURCE BASED ON A
`
`
`
`
`
`
`
`
`MEASUREOF A PROCESSING COST,” filed on Mar. 24,
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`2015 which, in turn, is a continuation-in-part of and claims
`priority to U.S. patent application Ser. No. 13/477,402,
`
`
`
`
`
`
`
`
`entitled “METHODS, SYSTEMS, AND COMPUTER
`
`
`
`
`
`PROGRAM PRODUCTS FOR SHARING INFORMA-
`
`
`
`
`TION FOR DETECTING AN IDLE TCP CONNECTION,”
`
`
`
`
`
`
`filed May 22, 2012 which is a continuation of and claims
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`priority to U.S. patent application Ser. No. 12/714,454, now
`
`US. Pat. No. 8,219,606, entitled “MUTIIODS, SYSTEMS,
`
`
`
`
`
`
`AND COMPUTER PROGRAM PRODUCTSFOR SHAR-
`
`
`
`
`
`
`ING INFORMATION FOR DETECTING AN IDLE TCP
`
`
`
`
`
`
`CONNECTION,”filed Feb. 27, 2010.
`
`
`
`
`
`
`
`
`
`
`
`
`U.S. patent application Ser. No. 12/714,454, entitled
`“METHODS, SYSTEMS, AND COMPUTER PROGRAM
`
`
`
`
`
`PRODUCIS FOR SHARING INFORMATION FOR
`
`
`
`
`
`
`DETECTING AN IDLE TCP CONNECTION,”filed Feb.
`
`
`
`
`
`
`
`27, 2010 is incorporated herein by reference in its entirety
`
`
`
`
`
`
`
`
`
`
`for all purposes.
`
`
`
`This application is related to the following commonly
`
`
`
`
`
`
`
`
`owned U.S. Patent Applications, the entire disclosure of
`
`
`
`
`
`
`
`
`whichis incorporated by reference herein in its entirety for
`
`
`
`
`
`
`
`
`
`
`all purposes: application Ser. No. 12/714,063 filed on 2010
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Feb. 26, entitled “Methods, Systems, and Program Products 5
`
`
`
`
`
`
`for Detecting an Idle TCP Connection”.
`
`BACKGROUNT)
`
`
`
`Various implementations of the transmission control pro-
`
`
`
`
`
`
`tocol (TCP) in network nodes support a numberof options
`
`
`
`
`
`
`
`
`
`
`that are not negotiated or even communicated between or
`
`
`
`
`
`
`
`
`
`among any ofthe nodes. Someofthese options are included
`
`
`
`
`
`
`
`
`
`
`
`in the specification of the TCP while others are not. For
`
`
`
`
`
`
`
`
`
`
`
`example,
`the TCP keep-alive option is supported by a
`
`
`
`
`
`
`
`
`
`number of implementations of the TCP. It is not, however,
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`part of the TCP specification as described in “Request for
`Comments” (RI'C) document RI'C 793 edited by John
`
`
`
`
`
`
`
`
`Postel, titled ““Transmission Control Protocol, DARPAInter-
`
`
`
`
`
`
`net Program Internet Protocol Specification” (September
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`1981), which is incorporated here in its entirety by refer-
`ence. One, both, or neither node including an endpoint in a
`
`
`
`
`
`
`
`
`
`
`
`
`
`5
`
`
`
`60
`
`
`
`65
`
`
`Page 12 of 28
`
`Page 12 of 28
`
`
`
`
`
`US 10,742,774 Bl
`
`
`
`
`
`4
`3
`utilizing the TCP connection in accordance with the TCP
`permit second data, from the user of the client computer, to
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`be received at the server computer from the client computer
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`protocol and a hypertext transfer protocol (HTTP), for being
`utilizing the TCP connection in accordance with the TCP
`
`
`
`
`
`
`
`
`
`presented to a userof the client computer; causing the server
`
`
`
`
`
`
`
`
`
`
`
`protocol and the hypertext transfer protocol (HTTP); and
`
`
`
`
`
`
`
`
`computer to permit second data, of the user of the client
`
`
`
`
`
`
`
`
`
`
`
`causing access to be provided, to the client computer, to code
`
`
`
`
`
`
`
`
`
`
`
`computer, to be received at the server computer from the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`