Resources Contact Us Home
Browse by: INVENTOR PATENT HOLDER PATENT NUMBER DATE
 
 
Method and system for background replication of data objects
RE44837 Method and system for background replication of data objects
Patent Drawings:

Inventor: Dahlin, et al.
Date Issued: April 8, 2014
Application:
Filed:
Inventors:
Assignee:
Primary Examiner: Joo; Joshua
Assistant Examiner:
Attorney Or Agent: Schwabe, Williamson & Wyatt, P.C.
U.S. Class: 709/224; 370/229; 370/230; 709/223; 709/232; 709/233
Field Of Search: ;709/223; ;709/224; ;709/225; ;709/226; ;709/230; ;709/231; ;709/232; ;709/233; ;709/234; ;709/235; ;709/238; ;709/239; ;709/240; ;709/241; ;709/242; ;370/229; ;370/230; ;370/231; ;370/232; ;370/233; ;370/234; ;370/235
International Class: G06F 15/173; G06F 15/16; H04L 5/22
U.S Patent Documents:
Foreign Patent Documents:
Other References: Office Action for U.S. Appl. No. 10/429,278, mailed Nov. 17, 2006, 15 pages. cited by applicant.
Office Action for U.S. Appl. No. 10/429,278, mailed Aug. 10, 2007, 20 pages. cited by applicant.
Notice of Allowance for U.S. Appl. No. 10/429,278, mailed Apr. 29, 2008, 7 pages. cited by applicant.
"The Network Simulator--ns--2," retrieved from http://www.isi.edu/nsnam/ns/ on Mar. 23, 2011, 2 pages. cited by applicant.
"WAN Optimization, Secure Web Gateway & Application Performance Monitoring," Blue Coat Systems 2010, retrieved from http://www.packeteer.com on Mar. 23, 2011, 1 page. cited by applicant.
K. Ramakrishnan et al., "The Addition of Explicit Congestion Notification (ECN) to IP," The Internet Society, Sep. 1, 2001, 63 pages. cited by applicant.
"Tivoli Data Exchange, Seamless Solution for Efficient and Secure Information Sharing," IBM Corp., 2001, 4 pages. cited by applicant.
Home page of Akamai, Inc., Akamai Technologies 2007, retrieved from http://www.akamai.com on Mar. 23, 2011, 1 page. cited by applicant.
Mark Crovella et al., "The Network Effects of Prefetching," Computer Science Department, Boston University, Jul. 10, 1997, 22 pages. cited by applicant.
Mike Dahlin, "Technology Trends Data," 2000, retrieved from http://www.cs.utexas.edu/users/dahlin/techTrends/ on Mar. 23, 2011, 1 page. cited by applicant.
R. Fielding et al., "Hypertext Transfer Protocol--HTTP/1.1," Standards Track, The Internet Society, Jun. 1999,129 pages. cited by applicant.
James Griffioen et al., "Automatic Prefetching in a WAN," IEEE Workshop on Advances in Parallel and Distributed Systems, Oct. 1993, 5 pages. cited by applicant.
R. Hugo Patterson et al., "Informed Prefetching and Caching," School of Computer Science, Carnegie Mellon University, Pittsburgh, PA, May 11, 1995, 26 pages. cited by applicant.
Yang Richard Yang et al., "General AIMD Congestion Control," Department of Computer Sciences, the University of Texas at Austin, Austin TX, May 9, 2000, 34 pages. cited by applicant.
Haifeng Yu et al., "The Costs and Limits of Availability for Replicated Services," Department of Computer Science, Duke University, Oct. 2001, 14 pages. cited by applicant.
Odlyzko et al., "Internet growth: Myth and reality, use and abuse," Nov. 22, 2000, pp. 1-8. cited by applicant.
Venkataramani et al., "TCP Nice: Self-tuning Network Support for Background Applications," 2007, 23 pages. cited by applicant.
Wessels et al, "ICP and the Squid Web Cache," the National Science Foundation, Aug. 13, 1997, 25 pages. cited by applicant.
Acharya et al., "A study of Internet Round-trip Delay*", Dec. 1996; 18 pages. cited by applicant.
Aggarwal et al., "Understanding the Performance of TCP Pacing," Proc. of the IEEE INFOCOMM 2000 Conference on Computer Communications, Mar. 2000; pp. 1157-1165. cited by applicant.
Anderson et al., "System Support for Bandwidth Management and Content Adaptation in Internet Applications," Proc. USENIX OSDI Conf., San Diego, CA, Oct. 2000. cited by applicant.
Bansal et al., "Binomial Congestion Control Algorithms," IEEE INFOCOMM, 2001; pp. 1-10. cited by applicant.
Bonald, Thomas, "Comparison of TCP Reno and TCP Vegas via Fluid Approximation," Nov. 1998, pp. 1-34. cited by applicant.
Brakmo, Lawrence, End-to-End Congestion Detection and Avoidance in Wide Area Networks, Ph.D. Dissertation, University of Arizona Lawrence Sivert Brakmo 1996, pp. 1-78. cited by applicant.
Belani et al., "The Crisis Wide Area Security Architecture," Proceedings of the Seventh Usenix Security Symposium, Jan. 1998; 14 pages. cited by applicant.
Breslau et al., "Web Caching and zipf-like Distribution: Evidence and Implications," IEEE INFOCOMM, Mar. 1999; pp. 1-9. cited by applicant.
Chandra, Web workloads influencing disconnected services access, Masters of Arts Thesis, May 2001; 80 pages. cited by applicant.
Chandra et al., "End-to end Wan Service Availability," ACM SIGCOMM, Vancouver Canada, Sep. 1998; 12 pages. cited by applicant.
Chandra et al., "Resource management for scalable disconnected access to web services," May 2001; 11 pages. cited by applicant.
Cho et al., "Synchronizing a database to Improve Freshness," Oct. 25, 1999; pp. 1-30. cited by applicant.
Chiu et al., "Analysis of Increase and Decrease Algorithms for Congestion Avoidance in Computer Networks," Computer Networks and ISDN Systems, 1989, vol. 17; pp. 1-14 (Elsevier Science Publishers, B.V., North-Holland). cited by applicant.
Cleary et al., "Data Compression Using Adaptive Coding and Partial String Matching," IEEE Transactions on Communications, 1984, vol. Com.-32, No. 4; pp. 396-402. cited by applicant.
Dahlin et al., "A Quantitative Analysis of Cache Policies for Scalable Network File Systems," Proceedings of the SIGMETRICS Conference on Measurement and Modeling of Computer Systems, May 1994; pp. 1-13. cited by applicant.
Dahlin, "Interpreting Stale Load Information," IEEE Transaction on Parallel and Distributed Systems, vol. 11 Oct. 2001; pp. 1-34. cited by applicant.
Dahlin, "Support for Data-intensive Applications in Large-scale Systems," NSF Workshop on New Challenges and Directions for Systems Research, Jul. 1997; 4 pages. cited by applicant.
Dahlin et al., "Using Mobile Extensions to Support Disconnected Services," University of Texas Department of Computer Sciences (TR-2000-20) Jun. 2000; pp. 1-15. cited by applicant.
Dahlin, "PRACTI replication for Large-Scale Systems," University of Texas at Technical Report, 04-28, Jun. 2004, pp. 1-17. cited by applicant.
Duchamp, Dan, "Prefetching Hyperlinks," Proceedings of USITS' 99: The 2nd USENIX Symposium on Internet Technologies & Systems, Oct. 14, 1999, 13 pages. cited by applicant.
Dykes et al., "A Viability Analysis of Cooperative Proxy Caching," IEEE, Apr. 2001; 10 pages. cited by applicant.
Floyd et al., "Equation-Based Congestion Control for Unicast Applications: the Extended Version," SIGCOMM 2000, Aug. 2000, pp. 1-12. cited by applicant.
Floyd et al., "Random Equation Detection Gateways for Congestion Avoidance," IEEE, Aug. 1993; pp. 1-22. cited by applicant.
Goyal et al., "A Hierarchical CPU Scheduler for Multimedia Operating Systems," USENIX 2nd Symposium OS Design and Implementation (OSDI '96), 1996; 14 pages. cited by applicant.
Gray et al., "Rules of Thumb in Data Engineering," IEEE, 2000; pp. 1-8. cited by applicant.
Gwertzman et al., "The Case for Geographical Push-Caching," Proceedings of the Fifth Workshop on Hot Topics in Operating Systems (HotOS-V), 1995; pp. 1-4. cited by applicant.
Hengartner et al., "TCP Vegas Revisited," Proceedings of IEEE INFOCOMM, Mar. 2000; 10 pages. cited by applicant.
Howard et al., "Scale and Performance in a Distributed File System," ACM Transaction on Computer Systems, 1998, vol. 6, No. 1; pp. 51-81. cited by applicant.
Jacobson et al., "Congestion Avoidance and Control," Nov. 1998; pp. 1-25. cited by applicant.
Jain, "A Delay-based Approach for Congestion Avoidance in Interconnected Heterogeneous Computer Networks," Apr. 1989; pp. 1-16. cited by applicant.
Korupolu et al., "Coordinated placement and Replacement for Large-Scale Distributed Caches," Proceedings of the 1999 Workshop on Internet Applications, Jun. 1999, 11 pages. cited by applicant.
Kroeger et al., "Exploring the Bounds of Web Latency Reduction From Caching and Prefetching," USENIX Symposium on Internet Technologies and Systems, Dec. 1997; 11 pages. cited by applicant.
Kumar, "Conformance Testing of Protocols Represented as Communicating finite State Machine," Bachelor of Technology Project Report, Apr. 2001; 42 pages. cited by applicant.
Lumb et al., "Towards Higher Disk Head Utilization: Extracting Free Bandwidth From Busy Disk Drives," Appears in Proc. of the 4th Symposium on Operating Systems Design and Implementation, 2000; 16 pages. cited by applicant.
Malzahn et al., "On Bandwidth Smoothing," 4th International Web Caching Workshop, 1999; 12 pages. cited by applicant.
Markatos et al., "A top 10 Approach for Prefetching the Web," Proceedings of INET'98: Internet Global Summit, Jul. 1998; 20 pages. cited by applicant.
Martin et al., "Small Byzantine Quorum Systems," Dependable Systems and networks (DSN02), Jun. 2002; 10 pages. cited by applicant.
Morris, "TCP Behavior with Many Flows," Presented at the IEEE International Conference on Networks Protocols, Oct. 1997; pp. 1-7. cited by applicant.
Padmanabhan et al, "Using Predictive Prefetching to Improve World Wide Web Latency," 1996, ACM Computer Communication Review, vol. 27, No. 3, 14 pages. cited by applicant.
Paxon, "End to End Routing Behavior in the Internet," May 1996; pp. 1-26. cited by applicant.
Popek et al., "Replication in Ficus Distributed File Systems," Proceedings of the Workshop on Management of Replicated Data, Nov. 1990, pp. 20-25. cited by applicant.
Ramakrishnan et al., "Network Working Group: Standards Track," Sep. 2001; 63 pages. cited by applicant.
Rejaie et al., "RAP: An End-to-end Rate-based Congestion Control Mechanism for Realtime Streams on the Internet," 1999; pp. 1-8. cited by applicant.
Sanghi et al., "Experimental Assessment End-to-end Behavior on Internet," Computer Science Technical Report Series; vol. CS-TR-2909, 1992; 19 pages. cited by applicant.
Shenoy et al., "Cello: A Disk Scheduling Framework for Next Generation Operating Systems," Proceedings of Sigmetrics, 1998; pp. 1-13. cited by applicant.
Terry et al., "Managing Update Conflicts in Bayou, a Weakly Connected Replicated Storage System," SIGOPS, Dec. 1995; pp. 172-183. cited by applicant.
Tewari et al., "Design Considerations for Distributed Caching on the Internet," Proceedings of the 19.sup.th the International Conference on Distributed Computing Systems, May 1999; pp. 1-13. cited by applicant.
Vahdat et al., "Active Names: Flexible Location and Transport of Wide-Area Resources," Proceedings of the 1999 USENIX Symposium on Internet Technology and Systems (USITS99), Oct. 1999; 15 pages. cited by applicant.
Vahdat et al., "WebOS: Operating System Services for Wide Area Applications," Seventh Symposium on High Performance Distributed Computing Systems, Jul. 1998; 12 pages. cited by applicant.
Venkataramani et al., "System Support for Background Replication," Technical Report TR-02-03 Computer Sciences, UT Austin, May 2002; pp. 1-18. cited by applicant.
Venkataramani et al., "Bandwidth Constrained Placement in a WAN," Proceedings of the twentieth annual ACM symposium on Principles of distributed computing 2001; 10 pages. cited by applicant.
Venkataramani et al., "The Potential Costs and Benefits of Long-term Prefetching for Content Distribution," Technical Report 2001, University of Texas at Austin; pp. 1-9. cited by applicant.
Wang et al., "A New Congestion Control Scheme: Slow Start and Search (TRI-S)," SIGCOMM, 1991; 7 pages. cited by applicant.
Wang et al., "A dual-window model for flow and congestion control," Distrib. Sys. Engng. 1994, vol. 1, pp. 162-172. (UK). cited by applicant.
Wang et al., "Experience with a Distributed File System Implementation," Technical Report, 1998; pp. 1-30. cited by applicant.
Yalagandula et al., "Transparent Mobility with Minimal Infrastructure," Technical Report, University of Texas at Austin, Jul. 2001; pp. 1-14. cited by applicant.
Yin et al., "Engineering Server-Driven Consistency in Large Scale Dynamic Web Services," Proceedings of the 10th International World Wide Web Conference (WWW10) May 2001; 13 pages. cited by applicant.
Yin et al., "Volume Leases for Consistency in Large-Scale Systems," IEEE Transactions on Knowledge and Data Engineering Special issue on Web Technologies, 1999, vol. 11; pp. 1-23. cited by applicant.
Yin et al., "Using Leases to Support Server-Driven Consistency in Large-Scale Systems," Proceedings of the 18th International Conference on Distributed Computing Systems, May 1998; 9 pages. cited by applicant.
Yin et al., "Byzantine Fault-Tolerant Confidentiality," Future Directions in Distributed Computing Workshop, Jun. 2002; pp. 1-4. cited by applicant.
Yin et al., "Hierarchical Cache Consistency in a WAN," Proceedings of the 1999 USENIX Symposium on Internet Technologies and Systems (USITS99), Oct. 1999; 11 pages. cited by applicant.
Zhang et al., "The Stationarity of Internet Path Properties: Routing, Loss, and Throughput," May 2000; pp. 1-4. cited by applicant.
Office Action for U.S. Appl. No. 12/195,073, dated Jan. 3, 2011. cited by applicant.
Office Action for U.S. Appl. No. 12/195,073, dated Jun. 2, 2011. cited by applicant.
Notice of Allowance for U.S. Appl. No. 12/195,073, dated Sep. 26, 2011. cited by applicant.
Brakmo et al., "TCP vegas: New Techniques for Congestion Detection and Avoidance," ACM SIGCOMM Conference, 1994; 11 pages. cited by applicant.
Odlyzko et al., "Internet growth: Myth and reality, use and abuse," Information Impacts Magazine, Nov. 2000, pp. 1-8. cited by applicant.
Venkataramani et al., "TCP Nice: Self-tuning Network Support for Background Applications," Proceedings of the 5th Symposium on Operating Systems Design and Implementation (OSDI) 2002, Sponsored by USENIX, Boston, MA, Dec. 9-11, 2002, pp. 2-22. citedby applicant.
Yalagandula et al., "C0PE: Consistent 0-Administration Personal Environment," IEEE 6th International Workshop on Object Oriented Real-Time Dependable Systems, Jan. 2001; pp. 1-7. cited by applicant.
Acharya et al., "A Study of Internet Round-trip Delay", Dec. 1996; 18 pages. cited by applicant.









Abstract: In an embodiment, a system and method may manage network resources to provide a near zero-cost background replication of data. Such a system may be inhibited from causing interference with foreground data flows. Such a system may also utilize a large fraction of spare network bandwidth. A system configured to implement such a method may include one or more servers and at least one client in communication via a network. Additionally the system may include a hint server, a monitor and/or a front-end application between a demand server and the network.
Claim: What is claimed is:

1. A method of controlling data transmission over a communication network, the method comprising: sending, by a device, one or more data packets over the communicationnetwork in view of a congestion window representative of a congestion state of the communication network; determining, by the device, a time that a first data packet was sent; receiving, by the device, an acknowledgement of receipt of at least thefirst data packet; determining, by the device, a time that the acknowledgement of receipt of the first data packet was received; determining, by the device, an estimate of network congestion based at least in part on the time the first data packet wassent and the time the acknowledgement of receipt of the first data packet was received; and if the estimate of network congestion exceeds a congestion threshold, then reducing a size of the congestion window, wherein round trip times are indicative of abottleneck queue size and wherein the congestion threshold represents a number of round trip times that exceed the bottleneck queue size.

2. The method of claim 1, wherein said determining, by the device, the estimate of network congestion includes: determining, by the device, a number of round trip times, received during an interval, that exceed a threshold round trip time,wherein a round trip time includes an elapsed time between a time that a data packet is sent and a time that an acknowledgement of receipt of the data packet is received.

3. The method of claim 2, wherein the congestion threshold further represents a percentage of round trip times that exceed the threshold round trip time during the interval.

4. The method of claim 1, wherein said reducing, by the device, the size of the congestion window includes reducing, by the device, the size of the congestion window by at least a multiplicative factor.

5. The method of claim 1, wherein the congestion window determines an amount of prefetch data to be in transit at any one time.

6. The method of claim 1, wherein said sending, by the device, one or more data packets includes sending, by the device, one or more pointers to one or more requested data.

7. The method of claim 1, wherein said sending, by the device, one or more data packets includes sending, by the device, one or more requested data packets.

8. The method of claim 1, wherein said determining, by the device, the estimate of network congestion includes determining, by the device, a number of round trip times received during an interval that exceed a threshold round trip time, whereina round trip time includes an elapsed time between a time that a data packet is sent and a time that an acknowledgement of receipt of the data packet is received, and wherein the congestion threshold is determined to be exceeded if the number of roundtrip times exceeding the threshold round trip time during the interval exceeds a threshold fraction of a number of round trip times measured.

9. The method of claim 1, further comprising increasing, by the device, the size of the congestion window if the estimate of network congestion does not exceed the congestion threshold.

10. The method of claim 1, further comprising linearly increasing, by the device, the size of the congestion window if the estimate of network congestion does not exceed the congestion threshold.

11. The method of claim 1, further comprising increasing, by the device, the size of the congestion window by a determined number of data packets per determined number of round trip times if the estimate of network congestion does not exceedthe congestion threshold.

12. The method of claim 1, further comprising increasing, by the device, the size of the congestion window by a determined number of data packets and by a determined multiplicative factor per determined number of round trip times if theestimate of network congestion does not exceed the congestion threshold.

13. The method of claim 1, wherein said sending, by the device, includes sending the first data packet and a second data packet, wherein a time period between said sending the second data packet and said sending the first data packet isdetermined based on the size of the congestion window.

14. The method of claim 1, wherein the bottleneck queue size includes a buffer size at a bottleneck router that accounts for round trip delay of a data packet.

15. An article of manufacture, comprising: a non-transitory computer readable medium; and a plurality of programming instructions stored on the non-transitory computer readable medium and configured to cause a processor to: determine a timethat a first data packet was sent; determine a time that an acknowledgement of receipt of the first data packet was received; determine an estimate of network congestion based at least in part on the time the first data packet was sent and the time theacknowledgement of receipt of the first data packet was received; and if the estimate of network congestion exceeds a congestion threshold, then reduce a size of a congestion window to be used for future packet transmission, wherein round trip times areindicative of a bottleneck queue size and wherein the congestion threshold represents a number of round trip times that exceed the bottleneck queue size.

16. The article of manufacture of claim 15, wherein the plurality of programming instructions are further configured to cause the processor to: determine a number of round trip times received during an interval that exceed a threshold roundtrip time, wherein a round trip time includes an elapsed time between a time that a data packet is sent and a time that an acknowledgement of receipt of the data packet is received, and wherein the plurality of programming instructions are furtherconfigured to cause the processor to determine the estimate of network congestion using at least the number of round trip times received during the interval.

17. The article of manufacture of claim 16, wherein the congestion threshold further represents a percentage of round trip times that exceed the threshold round trip time during the interval.

18. The article of manufacture of claim 15, wherein the plurality of programming instructions are further configured to cause the processor to: determine a number of round trip times received during an interval that exceed a threshold roundtrip time, wherein a round trip time includes an elapsed time between a time that a data packet is sent and a time that an acknowledgement of receipt of the data packet is received, and wherein the congestion threshold is determined to be exceeded if thenumber of round trip times that exceed the threshold round trip time during the interval exceeds a threshold fraction of a number of round trip times measured.

19. The article of manufacture of claim 15, wherein the plurality of programming instructions are further configured to cause the processor to determine a time period to send a second data packet based at least in part on the size of thecongestion window.

20. The article of manufacture of claim 15, wherein the bottleneck queue size includes a buffer size at a bottleneck router that accounts for round trip delay of a data packet.

21. An apparatus, comprising: a network device that includes a memory and that further includes: a network interface module to couple the network device to a communication network; and a communications module coupled to the network interfacemodule and configured to: transmit one or more packets over the communication network to one or more receivers in view of a congestion window representative of a congestion state of the communication network; receive acknowledgements of receipt of theone or more packets; determine a round trip time using a time that a first packet was sent and a time that a corresponding acknowledgement was received; determine an estimate of network congestion for the communication network based at least in part onthe determined round trip time; and if the estimate of network congestion exceeds a congestion threshold, then reduce a size of a congestion window to be used for future transmission, wherein round trip times are indicative of a bottleneck queue sizeand wherein the congestion threshold represents a number of round trip times that exceed the bottleneck queue size.

22. The apparatus of claim 21, wherein the congestion threshold further represents a percentage of round trip times that exceed a threshold round trip time during an interval.

23. The apparatus of claim 21, wherein the communications module is further configured to determine the estimate of network congestion based on a number of round trip times received during an interval that exceed a threshold round trip time,wherein a round trip time includes an elapsed time between a time that a packet is sent and a time that an acknowledgement of receipt of the packet is received, and wherein the congestion threshold is determined to be exceeded if the number of round triptimes that exceed the threshold round trip time during the interval exceeds a threshold fraction of a number of round trip times measured.

24. The apparatus of claim 21, wherein the bottleneck queue size includes a buffer size at a bottleneck router that accounts for round trip delay of a packet.

25. An apparatus, comprising: means for sending one or more data packets over a communication network, in view of a congestion window representative of a congestion state of the communication network; means for determining a time that a firstdata packet was sent; means for receiving an acknowledgement of receipt of at least the first data packet; means for determining a time that the acknowledgement of receipt of the first data packet was received; means for determining an estimate ofnetwork congestion based at least in part on the time the first data packet was sent and the time the acknowledgement of receipt of the first data packet was received; and means for reducing the size of the congestion window if the estimate of networkcongestion exceeds a congestion threshold, wherein round trip times are indicative of a bottleneck queue size and wherein the congestion threshold represents a number of round trip times that exceed the bottleneck queue size.

26. The apparatus of claim 25, wherein the means for reducing the size of the congestion window reduces the size of the congestion window by at least a multiplicative factor.

27. The apparatus of claim 25, wherein the means for determining the estimate of network congestion determines a number of round trip times received during an interval that exceed a threshold round trip time, wherein a round trip time includesan elapsed time between a time that a data packet is sent and a time that an acknowledgement of receipt of the data packet is received, and wherein the congestion threshold is determined to be exceeded if the number of round trip times that exceed thethreshold round trip time during the interval exceeds a threshold fraction of a number of round trip times measured.

28. The apparatus of claim 25, further comprising means for increasing the size of the congestion window if the estimate of network congestion does not exceed the congestion threshold.

29. The apparatus of claim 25, further comprising means for linearly increasing the size of the congestion window if the estimate of network congestion does not exceed the congestion threshold.

.Iadd.30. A method of controlling data transmission over a communication network, the method comprising: determining, by a device, an estimate of network congestion based at least in part on a time a first data packet was sent and a time anacknowledgement of receipt of the first data packet was received; and if the estimate of network congestion exceeds a congestion threshold, then modifying a sending rate based at least in part on a reduced size of a congestion window, wherein round triptimes are indicative of a bottleneck queue size and wherein the congestion threshold represents a number of round trip times that exceed the bottleneck queue size. .Iaddend.

.Iadd.31. The method of claim 30, wherein said determining, by the device, the estimate of network congestion includes: determining, by the device, a number of round trip times, received during an interval, that exceed a threshold round triptime, wherein a round trip time includes an elapsed time between a time that a data packet is sent and a time that an acknowledgement of receipt of the data packet is received. .Iaddend.

.Iadd.32. The method of claim 31, wherein the congestion threshold further represents a percentage of round trip times that exceed a threshold round trip time during the interval. .Iaddend.

.Iadd.33. The method of claim 30, further comprising reducing, by the device, a size of the congestion window by at least a multiplicative factor. .Iaddend.

.Iadd.34. The method of claim 30, wherein the congestion window determines an amount of prefetch data to be in transit at any one time. .Iaddend.

.Iadd.35. The method of claim 30, further comprising sending, by the device, the first data packet over a communication network in view of the congestion window, wherein the sending includes sending one or more requested data packets or one ormore pointers to the one or more requested data. .Iaddend.

.Iadd.36. An article of manufacture, comprising: a non-transitory computer readable medium; and a plurality of programming instructions stored on the non-transitory computer readable medium and configured to cause an apparatus, in response toexecution of the instructions by a processor of the apparatus, to: determine an estimate of network congestion of a communication network based at least in part on a time a data packet was sent and a time an acknowledgement of receipt of the data packetwas received; and if the estimate of network congestion exceeds a congestion threshold, then modify a send rate based at least in part on a reduced size of a congestion window, wherein round trip times are indicative of a bottleneck queue size andwherein the congestion threshold represents a number of round trip times that exceed the bottleneck queue size; wherein the congestion threshold is exceeded if a number of round trip times that exceed a threshold round trip time exceeds a thresholdnumber, wherein a round trip time includes an elapsed time between the time that the data packet is sent and the time that the acknowledgement is received; wherein the threshold round trip time is a fraction of a difference between an estimatedcongested round trip time and an estimated uncongested round trip time; and wherein the reduced size of the congestion window is less than one data packet if the congestion threshold is exceeded. .Iaddend.

.Iadd.37. The article of manufacture of claim 36, wherein the plurality of programming instructions are further configured to cause the apparatus, in response to execution of the instructions by the processor, to: determine a number of roundtrip times received during an interval that exceed a threshold round trip time, wherein said determine an estimate of network congestion comprises determine the estimate of network congestion using at least the number of round trip times received duringthe interval. .Iaddend.

.Iadd.38. An apparatus, comprising: a network device that includes a memory and that further includes: a network interface module to couple the network device to a communication network; and a communications module coupled to the networkinterface module and configured to: determine an estimate of network congestion for the communication network based at least in part on a round trip time determined using a time that a data packet was sent and a time that a corresponding acknowledgementwas received; and if the estimate of network congestion exceeds a congestion threshold, then modify a send rate based at least in part on a reduced size of a congestion window, wherein round trip times are indicative of a bottleneck queue size andwherein the congestion threshold represents a number of round trip times that exceed the bottleneck queue size. .Iaddend.
Description:
 
 
  Recently Added Patents
Automated solar collector installation design including ability to define heterogeneous design preferences
Redistribution layer (RDL) with variable offset bumps
Inspection systems and methods for detecting defects on extreme ultraviolet mask blanks
Method and system for dynamic digital rights bundling
Method for spore detection
Control strategies for a multi-mode drive system
Display screen with graphical user interface
  Randomly Featured Patents
Locking mechanism for an electrical connector
3-Alkoxyflavone antiviral agents
Memory arrays where a distance between adjacent memory cells at one end of a substantially vertical portion is greater than a distance between adjacent memory cells at an opposing end of the s
Preparation of guanidine phosphate for hardboard flame retardant use
Carrier-bound ketocarboxylic acids as corrosion inhibitors
Method for improving reformer yield selectivity
Hand mixer
Energy conversion device
Probe and a system for detecting wear of refractory wall
Hybrid keypad including full travel keys and minimal travel keys