text:
University of Detroit Mercy Textbooks > Developmental Research Methods
Developmental Research Methods 5th edition
Publisher:Sage Publications, Inc
Renting Options
Own it? Sell it back
Dudley Randall poetry winners named
Coronavirus disrupts New York City trip
Altered lives: Freedom, privacy take hit with move home
Seniors, fans hit hard by disappearance of sports
Opinion: Seniors, fans feel pain of cancelled sports season
Opinion: NCCA offers hope to senior athletes
Publisher:Sage Publications, Inc
Own it? Sell it back
Employers can list job opportunities for studentsPost a Job
Housing Providers can list available housingPost Housing
Post your own housing listing on Uloop and have students reach out to you!


text:
The Irish economy registered a strong performance, increasing 5.2% in 2014 and 6.8% in 2015. In 2016, growth is expected to slow down but remain robust.
The insolvency environment
Decrease in corporate insolvencies continues
After six years of increases, Irish business insolvencies finally started to decline in 2013. This trend is expected to continue in 2016 as economic growth is forecast to remain robust.
Economic situation
Growth slows down, but remains robust
The Irish economy grew 5.2% in 2014 and 6.8% in 2015 – a particularly strong performance compared to the rest of the eurozone. The rebound was mainly due to a sharp increase in exports of goods and services, triggered by a reduction in wages, but also because of a drop in domestic demand for imports. Investments also recorded a major surge.
In 2016 the economic rebound is expected to continue, although at a slower pace (up 4.3%).
Investments and exports continue to rise, while private consumption is expected to grow again above 3%. Unemployment continues to decrease, to an expected rate of 8% in 2016.
International investors seem to appreciate the efforts of the government to reduce the public deficit and have regained new trust in the (long-term) sustainability of public finances.

subset: commoncrawl


text:
We are a small family kennel located in North Central Iowa devoted to the improvement of the Olde English Bulldogge. All of our dogges are well socialized with both our family and friends. We pride ourselves in creating a family pet which is happy, healthy, loyal, with a wonderful disposition and lastly, has the bully look we all love.
We consider all of our dogges and their puppies to be part of our family and we love them as such. For this reason we will ask many questions when you inquire about one of our puppies. This will ensure that not only will you get the perfect companion but that our puppies will be going to wonderful loving homes.
All of our dogges are registered with the IOEBA (International Olde English Bulldogge Association) and / or the CKC (Continental Kennel Club).
If you have any questions I'd be happy to talk with you. Just give me a call at 641-425-9978 and ask for Scott or drop me an email at firstname.lastname@example.com.
Olde English Bulldogges are a separate breed from the English Bulldog.
They're taller, more athletic, healthier, a lot more responsive, and have a kinder disposition. This new breed can now breathe freely. The modern Olde English Bulldogge is a reconstruction of the original Olde Bulldogge of the 17th and 18th century. Various genetic crosses have been used in carefully and thoughtfully planned breeding programs to obtain this goal. The foundation of most of today's Olde English Bulldogges can be traced to English Bulldog, American Bulldog and Mastiff.
"The Olde English Bulldogge is a breed that is one in a million. Instead of developing the breed for a specific look, color pattern or size, it was developed for health, ability and temperament. It was bred to better an existing breed and this goal has been accomplished with great results and generations of healthy canines to prove it. . . . [They] make amazingly great pets and are devoted and loyal. They adjust very well to all lifestyles ranging from a single-person apartment to a large family on a big farm. . . . All in all, they are a great pet and excellent and devoted friend." (excerpted from Continental Kennel Club's report on their January 2004 Breed of the Month: Olde English Bulldogge).


text:
VICTORIA — For B.C. Liberals hoping for an end to their government's self-inflicted miseries with the harmonized sales tax, the latest news out of the Ministry of Finance is not encouraging.
The ministry reckons that some 130,000 retailers need to register to begin collecting the provincial sales tax by April 1, the day that the province is scheduled to phase out the HST and return to the old tax regime.
But only about 30,000 have signed up since registrations began in January. The remaining 100,000 or so have just five weeks left in which to do so before the seven-per-cent provincial levy takes effect.
You hear various explanations for the holdup.
Retailers that have gone into business since the July 1, 2010 changeover to the HST have never collected the PST and wouldn't know how the system works. Established retailers may not realize that they need to register for the PST all over again, even if they have a separate account for the federal goods and services tax.
Whatever the reasons for the lag, there's a growing concern that the ministry is headed for an end-of-March jam-up unless registrations pick up dramatically in the next couple of weeks.
"There's work to be done, and we're trying to be as proactive as possible, directly contacting folks," confirmed Finance Minister Mike de Jong in an interview with me on Voice of B.C. on Shaw TV last week. "We're trying to make this as easy as possible in terms of not just online registration but online filing."
I wonder if the lack of awareness about the transition can be partly attributed to the Liberals having themselves clammed up about the PST, a lapse that did not go unnoticed by the business community on provincial budget day last week.
"Business is facing a $1.5-billion tax increase just by going back to the PST. It's the largest single tax imposed on business in the history of B.C., not to mention the cost of compliance," complained John Winter, president of the B.C. Chamber of Commerce.
"But there is no recognition in this budget of the pain business will face going back to the PST."
Hearing that complaint, de Jong and the Liberals must have been tempted to fire back, "if you think this is painful for you, imagine what it has been like for us." But when I put the concern to him, he avoided the point of comparison on pain, and agreed the criticism from business leaders was valid.
"I think I probably neglected to spend the kind of time I should have, acknowledging the fact that there are significant ramifications to the shifts we are making back to the PST from the HST," he conceded. "In retrospect, I probably should have spent a little bit of time, in terms of the lockup discussion that we were having, commenting on that."
The Liberals would have preferred to stick with the HST, he observed, but they lost the argument via a public referendum held in the summer of 2011.
"By any measure, we still have a very competitive tax structure here in British Columbia," he insisted. "But you're not going to have me argue or deny the fact that from a business perspective and a competitiveness perspective, the shift back to the PST has some impact....It's complicated taxation policy, which is — again — one of the reasons we moved away from it and hoped to stay moved away from it."
Complicated is putting it mildly. The enabling legislation for the PST, passed last year, runs almost 200 pages. The transitional bill in the current session covers another 150 pages.
Scanning the epic-length text, one discovers that most retailers will need to brush up on those provisions before April 1, the day when they are obliged by law to start collecting the PST on behalf of the province.
About the only exempt retailers are small fry (sales of less than $10,000 a year) and those that deal exclusively in tax-exempt goods, like food, bicycles and children's clothing.
Service providers who expect to be exempted by the shift back to a mainly goods-based sales tax should check the legislation as well. Providers of legal, telecommunications, repair, restoration, computer and accommodation services (those with four units or more) are all obliged to register and collect the PST as well.
Ditto those in the business of leasing taxable goods, and companies based elsewhere in Canada that sell to customers in B.C.
The best way for a retailer to establish whether he/she needs to register is via the PST site maintained by the Ministry of Finance, reachable through www.gov.bc.ca, the main government website.
"By all means go online," says de Jong. "The resources are there; the people are there to help walk you through. It takes a little bit of time — not a lot — to get set up here, and hopefully people will take advantage and ensure that they're ready for the switchover."
The minister very much wants retailers to avoid the rush. The abiding concern in his ministry is that a last-minute flood will crash the system and/or overload staff resources, making the April 1 transition the last in a long string of HST-related embarrassments for the Liberals.


text:
Classic Cookbooks: Baked Escarole Torta Recipe
My biggest liability in the kitchen is my extreme pokiness at doing pretty much everything. Chopping onions, thinking through recipes, and (especially) washing vegetables—I'm just not speedy. Cookbooks that list prep times always make me laugh (a little tightly) because no matter how realistic they claim to be, the authors seem to have at their disposal either a team of prep cooks (and multiple sinks) or magic instant vegetable washing techniques they have forgotten to share. Confronted with a mountain of kale to wash or carrots to peel, I usually cope by trying to convince myself that the task at hand is meditative and even enjoyable. This works on the weekend but is a harder sell on Wednesday night. So why did I try to make Marcella Hazan's Baked Escarole Torta—bread stuffed with sautéed escarole, a recipe I had been eyeing for years—on a night when I had about five thousand other things to take care of?
The answer to this question eludes me, especially since, for all my slowness and other faults, I'm usually pretty good at realistically estimating how long its going to take me to work through a recipe and whether I have the necessary stamina. Not this time. The dough wasn't a big production, but three pounds of escarole does not get clean in the blink of an eye. The torta looked lovely when it came out of the oven, and I am told it was delicious and interesting. But by the time it was ready to slice, I was worn out and resentful and couldn't taste it honestly. A sad story, I know, and somehow I feel that I am its villain. Approach this recipe with a few lazy hours and an open heart, however, and I'd wager you'll have a happier experience.
- Yield:8
- 2 2/3 cups unbleached flour
- 1 teaspoon salt
- Freshly ground black pepper
- 1/3 package active dry yeast, dissolved in 1 cup lukewarm water
- 2 tablespoons lard, softened well at room temperature, or 3 tablespoons extra virgin Olive oil [I used olive oil]
- 3 pounds fresh escarole
- 1/3 cup extra virgin olive oil
- 2 teaspoons chopped garlic
- 3 tablespoons capers
- 10 round, black Greek olives, pitted and quartered
- 7 flat anchovy fillets, chopped into 1/2 inch pieces [I used 3 anchovy filets and still found it to be a bit much, but I am not deeply devoted to anchovies]
- 3 tablespoons pine nuts
Mound the flour in a bowl (or on a work surface, if you're feeling confident) and make a hollow in its peak. Put the salt, a few grindings of pepper, the dissolved yeast, and the softened lard (or olive oil) into its peak. Pull together and knead for about 8 minutes. It is best if the dough is kept soft, but if it is difficult to handle, either add another tablespoon or two of flour or knead it in the food processor.
Shape the kneaded dough into a ball and put it into a lightly floured bowl. Cover the bowl with a damp, doubled-up cloth towel and put it in a warm, protected corner until the dough has doubled in bulk, 1- 1 1/2 hours.
Preheat the oven to 375°F and prepare a rack in the uppermost position.
While the dough is rising, prepare the filling. Trim bruised or discolored outer leaves from the escarole. Chop the rest into 2-inch long pieces. Soak in several changes of cold water until no grit or dirt remains.
Bring 3-4 quarts water to a boil, add salt, and drop in the escarole. Cook until tender, about 15 minutes, depending on its youth and freshness. Drain. As soon as it is cool enough to handle, squeeze gently to remove as much moisture as possible.
Put the olive oil and garlic in a large sauté pan, turn the heat to medium, and cook the garlic, stirring, until it becomes colored a pale gold. Add the escarole, turning it over once or twice to coat it well. Reduce heat to medium low and cook for 10 minutes, turning the escarole from time to time. If the pan juices are watery, turn the heat up and reduce them quickly. Stir the capers, and then the olives, into the escarole. Remove from heat. Stir in the anchovies and pine nuts. Taste for salt, pour the contents of the pan into a bowl, and set aside to cool.
When the dough has doubled in bulk, divide it into 2 unequal parts, one twice the size of the other. Roll out the larger piece of dough into a circular sheet large enough to line the bottom and sides of a 10-inch springform pan (it should end up about 1/4 inch thick). To simplify transferring this to the pan, roll the dough out on a piece of lightly floured wax or parchment paper.
Smear the inside of the springform pan with butter. Transfer the large circular sheet of dough to the pan, covering the bottom and letting it come up the sides. Smooth the dough, flattening and evening off any particularly bulky creases with your fingers.
Pour all the escarole filling from the bowl into the pan and level it off with a spatula.
Roll out the remaining piece of dough until it is large enough to cover the top of the pan. Lay it over the filling, covering it completely. Press the edge of the top sheet of dough against the edge of the sheet lining the pan. Make a tight seal all around, folding any excess dough toward the center.
Place on the uppermost rack of the preheated oven and bake until the torta swells slightly and the top becomes colored a pale gold, about 45 minutes. When you take it out of the oven, unlatch the pan's spring, and remove the hoop. Allow the torta to settle a few minutes before loosening it from the bottom and transferring it to a serving platter. Serve either lukewarm or at room temperature.


text:
February 6th, 2014
New strategic partnerships will expand the ecosystem around imec's hyperspectral image sensor technology to enable its successful commercialization into machine vision, medical imaging, remote sensing and global security markets.
San-Francisco, Feb. 4th, 2014 – Nanoelectronics research center, imec, showcases at this week's 2014 SPIE Photonics West conference and exhibition its ultra-compact hyperspectral imaging sensor technology integrated into different commercial camera vendor partners including ADIMEC (The Netherlands), 3D-One (The Netherlands), Tattile (Italy), and SPIE 2014 PRISM awarded finalist BaySpec (USA).
"We are excited to announce the successful integration of our first generation hyperspectral image sensor prototypes by several camera vendor companies. These strategic partnerships on different applications highlight the broad potential of this unique optical-filter-on-chip sensor solution;" said Rudi Cartuyvels, senior vice president of smart systems at imec. Our technology expertise will enable our partners to add new range of products to their offering, effectively opening up new markets in the booming field of imaging spectroscopy".
"Based on imec's hyperspectral sensor technology, we developed the OCI-1000, an exciting handheld spectral imaging 'point-and-shoot' device that enabled our company to be finalist at the SPIE PRISM award this year" commented William Yang, President and CEO at spectroscopy company BaySpec.
Hyperspectral imaging is not new in the world of high-end remote sensing instruments such as satellites and airborne systems. By applying narrow-band spectral filters at pixel level using semiconductor thin-film processing, imec's technology enables hyperspectral image sensor solutions with extreme compactness, low weight, high reliability and proven capabilities to be mass produced at low cost in volume. Such sensor solution is extremely valuable for camera vendors to access new markets such as drone UAVs (unmanned aerial vehicles) for precision agriculture, food quality grading in machine vision or in-vivo imaging for classification of medical tissues, among others.
The different hyperspectral imaging camera prototypes will be showcased at imec's booth at Photonics West. For a demonstration, please visit imec on booth #4529 at SPIE Photonics West exhibition.


text:
Anti-consumerist artists slip replica products packaged with political messages onto shelves while religious proselytizers insert pamphlets between the pages of gay-and-lesbian readings at book stores.Does it amuse you? Do you admire the shopdroppers? Or are they more like vandals?
Self-published authors sneak their works into the "new releases" section, while personal trainers put their business cards into weight-loss books, and aspiring professional photographers make homemade cards — their Web site address included, of course — and covertly plant them into stationery-store racks.
This week an arts group in Oakland, the Center for Tactical Magic, began shopdropping neatly folded stacks of homemade T-shirts into Wal-Mart and Target stores in the San Francisco Bay Area. The shirts feature radical images and slogans like one with the faces of Karl Marx, Che Guevara and Mikhail Bakunin, a Russian anarchist. It says, "Peace on Earth. After we overthrow capitalism."


text:
Here I write about various events I was involved in and ideas that inspired me. Recently, it is more of a linux blog because I have been doing a lot of work on it. However, off and on I write on various other things that my mind just can't let go easily.
Tuesday, 16 March 2010
Okular problem
Recently, poppler was having a bogus memory allocation bug. It had creeped into okular. Some pdf files were rendered okay; while some others flashed instantaneously and closed. The problem was on both of my systems openSUSE and Gentoo. As soon as poppler fixed the issue, Gentoo was quick at releasing it in stable tree. It was back in February.However, not until a couple of days back was the patch provided by openSUSE. Meanwhile, the inability of accessing my documents was really pissing me off. As my linux experience has evolved, I have gradually drifted away from openSUSE; though I love it as my first distro and still have it on my laptop.
Subscribe to: Posts (Atom)


text:
PRODUCT DETAILS: You are purchasing the cushion cover only, the price does not include the inner. Sunburst cushion covers are suitable for both indoor and outdoor use. We do not recommend leaving these covers exposed to direct weather. For long term use these covers are great used in covered outdoor areas and indoors.
Key Features
- Size is 60cm x 60cm
- With piping
- Water Resistant and Fade Resistant to 200hrs.
- Manufactured from 300gsm polyester canvas
- Quality fabric, print methods, zippers and workmanship
- Can be used indoors and outdoors
- Price is for cover only, does not include inner.
We aim to ship within 24 hours of receiving your online order. If we have high demand we can take slightly longer. We charge a flat rate $7.95 shipping Australia wide for orders under $100 and FREE SHIPPING for orders over $100
We use 2 methods for shipping, courier and Australia Post, we charge standard Australia post rates.
We do ship internationally. We primarily ship to the USA and New Zealand. If you would like us to ship to a country other than those listed please contact us via email for a quote firstname.lastname@example.com
New Zealand. We offer $18.50 flat rate shipping for up to 2 kilos. Please contact us for orders larger than 2 kilo.
USA: Pricing coming soon
As a family owned business its very important to us here at Sunburst Outdoor living that you have an amazing experience with our products.
Sunburst cushions are manufactured from high quality polyester fabric and printed using heat transfer processes. The fabric is treated for outdoor use and commercially sewn using premium cotton and hidden zippers..
We want you to love our products as much as we do.
When placing an order on our site we strive to have what turns up in your letter box to be exactly what you expected.
For that reason we have a risk free satisfaction guarantees to ensure you are totally happy.
Design Match Guarantee- If the designs don't quite match your furniture how you thought they would please return them to us and we will replace the design for FREE with something that suits just a little better. (Just pay the shipping to get the products back to us and we will cover the shipping to get the new products to you). * NOTE: we are happy to pay for standard shipping to you for your first exchange, if you want further exchanges we will have to charge our standard shipping fee.
Refund - If in the unlikely event you don't like our products please send them back unused and we will give you a refund - Pretty simple hey!
Return unused items within 21 days of purchase to PO BOX 928, Bribie Island, QLD 4507. Please include a note detailing what you would like us to do with your return items.
Thank you so much for your business and please reach out if you have any questions.


text:
By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html.
This Internet-Draft will expire on April 16, 2006.
Copyright © The Internet Society (2005).
This document contains an initial specification for the Explicit Control Protocol (XCP), an experimental congestion control protocol. XCP is designed to deliver the highest possible end-to-end throughput over a broad range of network infrastructure, including links with very large bandwidth-delay products, which are not well served by the current control algorithms. XCP is potentially applicable to any transport protocol, although initial testing has applied it to TCP in particular. XCP routers are required to perform a small calculation on congestion state carried in each data packet. XCP routers also periodically recalculate the local parameters required to provide fairness. On the other hand, there is no per-flow congestion state in XCP routers.
This version specification (-01) includes protocol changes that move per-packet divisions from the router to the sender.
Changes Since Last Version
2. Introduction
2.1. XCP Protocol Overview
3. The Congestion Header
3.1. Header placement
3.2. Congestion Header Formats
3.3. IPsec issues
3.4. NAT, middlebox issues
3.5. MPLS/Tunneling Issues
4. XCP Functions
4.1. End-System Functions
4.1.1. Sending Packets
4.1.2. Processing Feedback at the Receiver
4.1.3. Processing Feedback at the Sender
4.2. Router functions
4.2.1. Calculations Upon Packet Arrival
4.2.2. Calculations Upon Control Interval Timeout
4.2.3. Calculations Upon Packet Departure
4.2.4. The Control Interval
4.2.5. Obtaining the Persistent Queue
5. Unresolved Issues
5.1. XCP With Non-XCP Routers
5.2. Variable Rate Links
5.3. XCP as a TCP PEP
5.4. Sharing resources between XCP and TCP
5.5. A Generalized Router Model
5.6. Host back-to-back operation
6. Security Considerations
7. IANA Considerations
8. Acknowledgements
9. References
§ Authors' Addresses
§ Intellectual Property and Copyright Statements
Changes between version -00 and -01
The Van Jacobson congestion control algorithms [Jacobson88] (Jacobson, V., "Congestion Avoidance and Control," August 1988.) [RFC2581] (Allman, M., Paxson, V., and W. Stevens, "TCP Congestion Control," April 1999.) are used by the Internet transport protocols TCP [RFC0793] (Postel, J., "Transmission Control Protocol," September 1981.) and SCTP [RFC2960] (Stewart, R., Xie, Q., Morneault, K., Sharp, C., Schwarzbauer, H., Taylor, T., Rytina, I., Kalla, M., Zhang, L., and V. Paxson, "Stream Control Transmission Protocol," October 2000.). The Jacobson algorithms are fundamental to stable and efficient Internet operation, and they have been highly successful over many orders of magnitude of Internet bandwidth and delay.
However, the Jacobson congestion control algorithms have begun to reach their limits. Gigabit-per-second file transfers, lossy wireless links, and high latency connections are all driving current TCP congestion control outside of its natural operating regime. The resulting performance problems are of great concern for important network applications.
The original Jacobson algorithm was a purely end-to-end solution, requiring no congestion-related state in routers. More recent modifications have backed off from this purity. Active queue management (AQM) in routers (e.g., RED) [RFC2309] (Braden, B., Clark, D., Crowcroft, J., Davie, B., Deering, S., Estrin, D., Floyd, S., Jacobson, V., Minshall, G., Partridge, C., Peterson, L., Ramakrishnan, K., Shenker, S., Wroclawski, J., and L. Zhang, "Recommendations on Queue Management and Congestion Avoidance in the Internet," April 1998.) improves performance by keeping queues small, while Explicit Congestion Notification (ECN) [RFC3168] (Ramakrishnan, K., Floyd, S., and D. Black, "The Addition of Explicit Congestion Notification (ECN) to IP," September 2001.) passes one bit of congestion information back to senders. These measures do improve performance, but there is a limit to how much can be accomplished without more information from routers. The requirement of extreme scalability together with robustness has been a difficult hurdle to accelerating information flow.
This document concerns the Explicit Control Protocol (XCP) developed by Dina Katabi of MIT [KHR02] (Katabi, D., Handley, M., and C. Rohr, "Internet Congestion Control for Future High Bandwidth-Delay Product Environments," August 2002.). XCP represents a significant advance in Internet congestion control: it extracts congestion information directly from routers, without any per-flow state. XCP should be able to deliver the highest possible application performance over a broad range of network infrastructure, including extremely high speed and very high delay links that are not well served by the current control algorithms. XCP achieves fairness, maximum link utilization, and efficient use of bandwidth. XCP is novel in separating the efficiency and fairness policies of congestion control, enabling routers to put available capacity to work quickly while conservatively managing the allocation of capacity to flows. XCP is potentially applicable to any transport protocol, although initial testing has applied it to TCP in particular.
XCP's scalability is built upon the principle of carrying per-flow congestion state in packets. XCP packets carry a congestion header through which the sender requests a desired throughput. Routers make a fair per-flow bandwidth allocation without maintaining any per-flow state. This enables the sender to learn the bottleneck router's allocation to a particular flow in a single round trip.
The gains of XCP come with some pain. XCP is more difficult to deploy than other proposed Internet congestion control improvements, since it requires changes in the routers as well as in end systems. It will be necessary to develop and test XCP with real user traffic and in real environments, to gain experience with real router and host implementations and to collect data on performance. Providing specifications is an important step towards enabling experimentation which, in turn, will lead to deployment. XCP deployment issues will be addressed in more detail in a subsequent version of this document.
This document contains an initial specification of the protocol and algorithms used by XCP, as an experimental protocol. The XCP algorithms defined here are based upon Katabi's SIGCOMM paper [KHR02] (Katabi, D., Handley, M., and C. Rohr, "Internet Congestion Control for Future High Bandwidth-Delay Product Environments," August 2002.), her MIT thesis [Katabi03] (Katabi, D., "Decoupling Congestion Control and Bandwidth Allocation Policy With Application to High Bandwidth-Delay Product Networks," March 2003.), and her ns simulation. However, this document includes algorithmic modifications and clarifications that have arisen from early experience with implementing and testing XCP at the USC Information Sciences Institute. (See http://www.isi.edu/isi-xcp for our project page.) This document is intended to provide a baseline for further engineering and testing of XCP.
This document is organized as follows. The remainder of Section 2 (Introduction) provides an overview of the XCP protocol, Section 3 (The Congestion Header) discusses the format of the congestion header, Section 4 (XCP Functions) describes the functions occurring in the end-systems and routers, and Section 5 (Unresolved Issues) lists some unresolved issues.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119] (Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels," March 1997.).
The participants in the XCP protocol include sender hosts, receiver hosts, and intermediate nodes in which queuing occurs along the path from the sender to the receiver. The intermediate nodes are generally routers, but link-layer switches may also contain packet queues.
XCP supplies feedback from the network to the sender on the maximum rate (throughput) for injecting data into the network. XCP feedback is acquired through the use of a congestion header on each packet that is sent. Routers along the path may update the congestion header as it moves from the sender to the receiver. The receiver copies the network feedback into outbound packets of the same flow. An end-system may function as both a sender and a receiver in the case of a bidirectional flow.
The figure below illustrates four entities participating in XCP. The sender initializes the congestion header, two routers along the way may update it, and the receiver copies the feedback from the network into a returning packet in the same flow.
+----------+ +--------+ +--------+ +----------+ | |------->| Router |---->| Router |------->| | | Sender | +--------+ +--------+ | Receiver | | |<----------------------------------------| | +----------+ +----------+
The congestion header contains four pieces of data:
An XCP-capable router calculates a fair capacity re-allocation for each packet. A flow only receives this re-allocation from a particular router if that router is the bottleneck for that flow. For XCP, a bottleneck router is defined to be a router that has insufficient capacity to accept a flow's current or desired throughput.
Based on current conditions, an XCP-capable router generates positive or negative feedback each time a packet arrives and compares it the packet's Delta_Throughput field. Delta_Throughput is reduced if the current value exceeds this calculated feedback allocation. Each XCP-capable router along the path from sender to receiver performs this processing. A packet reaching the receiver therefore contains the minimal feedback allocation from the network, i.e., the capacity reallocation from the bottleneck router.
The receiver copies this value into the Reverse_Feedback field of a returning packet in the same flow (e.g., an ACK or DATA-ACK for TCP) and, in one round-trip, the sender learns the flow's per-packet throughput allocation.
The sender uses the reverse feedback information to adjust its allowed sending rate. For the transport protocol TCP [RFC0793] (Postel, J., "Transmission Control Protocol," September 1981.), for example, this may be accomplished by adjusting the congestion window, or cwnd, that limits the amount of unacknowledged data in the network. (Cwnd is defined for Van Jacobson congestion control in [RFC2581] (Allman, M., Paxson, V., and W. Stevens, "TCP Congestion Control," April 1999.).)
Additionally, it is possible to use XCP's explicit notification of the bottleneck capacity allocation for other types of applications. For example, XCP may be implemented to support multimedia streams over DCCP [I-D.ietf-dccp-spec] (Kohler, E., "Datagram Congestion Control Protocol (DCCP)," October 2003.) or other transport protocols.
An XCP-capable router maintains two control algorithms on each output port: a congestion controller and a fairness controller. The congestion controller is responsible for making maximal use of the outbound link while at the same time draining any standing queues. The fairness controller is responsible for fairly allocating bandwidth to flows sharing the link. These two algorithms are executed only periodically, at an interval known as the "control interval". The algorithms defined below set this interval to the RTT averaged across all flows. Further work on choosing an appropriate value for the control interval may be required.
Each port-specific instance of XCP is independent of every other, and references to an "XCP router" should be considered an instance of XCP running on a particular output port.
Actually, it is an oversimplification to say that congestion in routers only appears at output ports. Routers are complex devices which may experience resource contention in many forms and locations. Correctly expressing congestion which doesn't occur at the router output port is a topic for further study. Even so, it is important to correctly identify where the queue will build up in a router. The XCP algorithm will drain a standing queue; however it is necessary to measure that queue in order for correct operation. For more discussion of this issue see Section Section 5.5 (A Generalized Router Model).
More context, analysis, and background can be found in [KHR02] (Katabi, D., Handley, M., and C. Rohr, "Internet Congestion Control for Future High Bandwidth-Delay Product Environments," August 2002.) and [Katabi03] (Katabi, D., "Decoupling Congestion Control and Bandwidth Allocation Policy With Application to High Bandwidth-Delay Product Networks," March 2003.).
The congestion control data required for XCP are placed in a new header which is called the Congestion Header.
The Congestion Header is located between the IP and transport headers. This is consistent with the fact that XCP is neither hop-by-hop communication -- as in IP -- nor end-to-end communication -- as in TCP or UDP -- but is rather end-system-to-network communication. It should allow a router to "easily" locate the congestion header on a packet with no IP options.
Other choices were considered for header location. For example, making the Congestion Header a TCP option was suggested. This made sense as the congestion information is related to the transport protocol. However, it requires that routers be aware of the header format for every new transport protocol that might ever use XCP. This seemed like an unreasonable burden to place on the routers and would impede deployment of new transport protocols and/or XCP.
It has also been suggested that the Congestion Header be an IPv4-style option. While this proposal is transport protocol independent, it would generally force XCP packets to take the slow path on non-XCP routers along a path. This could severely impact performance.
The XCP protocol uses protocol number [TBD], assigned by IANA. IP packets containing XCP headers will use this protocol number in the IP header's Protocol field [RFC0791] (Postel, J., "Internet Protocol," September 1981.) to indicate to routers and end-systems that an XCP congestion header follows the IP header.
This section defines the XCP Congestion Header formats. This holds for IPv4; the corresponding header for IPv6 is a subject for further study.
XCP-capable IPv4 packets carry the following Congestion Header:
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Protocol | Length |Version|Format | unused | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RTT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | X | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Delta_Throughput | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Reverse_Feedback | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Protocol: 8 bits
- This field indicates the next-level protocol used in the data portion of the packet. The values for various protocols are specified by IANA.
- Length: 8 bits
- This field indicates the length of the congestion header, measured in bytes. Length in this version of XCP will always be 40 bytes, or 0x28.
- Version: 4 bits
- This field indicates the version of XCP that is in use. The version of XCP described in this document corresponds to a value of 0x02. Future values will be assigned by IANA (http://www.iana.org). See note in the IANA Considerations section.
- Format: 4 bits
- This field contains a code to indicate the congestion header format. The current format codes are defined below.
|Standard Format
|Minimal Format
| Table 1
- Standard Format
- The standard format includes the X, Delta_Throughput, and RTT fields shown above. This format is used by XCP in data packets flowing from sender to receiver.
- Minimal Format
- The X, Delta_Throughput, and RTT fields are unused and SHOULD be set to zero. A router MUST not perform any processing on a minimal format header. This format is intended for use in empty ACK packets, to return congestion information from receiver to sender.
Other formats may be defined in the future, to define different representation formats for the X, Delta_Throughput, and/or RTT fields, for example. The corresponding format values format values will be assigned by IANA. See IANA Considerations section below.
- unused: 8 bits
- This field is unused and MUST be set to zero in this version of XCP.
- RTT: 32bits
- This field indicates the round-trip time measured by the sender, in fixed point format with 28 bits after the binary point, in seconds. Thus, the value of 1 corresponds to 2^(-28) of a second. This field is an unsigned integer.
- The minimum value expressible in this field is 0s. A value of zero in the RTT field is legal and indicates that the sender either does not yet know the round-trip time, or operates at a coarse-grained timer granularity. The maximum value expressible in this field is 15.9999999963 seconds, in steps of 3.7ns.
- X: 32 bits
- This field indicates the inter-packet time of the flow as calculated by the sender, in fixed point format with 28 bits after the binary point, in seconds. This is the same format as used by the RTT field.
- Delta_Throughput: 32 bits
- This field indicates the desired or allocated change in throughput. It is set by the sender to indicate the amount by which the sender would like to adjust its throughput, and it may be subsequently reduced by routers along the path (See Section 4.2 (Router functions)). It is measured in bytes per second and is a signed, 2's complement value.
- The minimum throughput change expressible in this field is -17 Gbps. The maximum value expressible in this field is 17 Gbps, in steps of 8 bits per second.
- Reverse_Feedback: 32bits
- This field indicates the value of Delta_Throughput received by the data receiver. The receiver copies the field Delta_Throughput into the Reverse_Feedback field of the next outgoing packet in the same flow. See Section 4.1.2 (Processing Feedback at the Receiver).
IPsec [RFC2401] (Kent, S. and R. Atkinson, "Security Architecture for the Internet Protocol," November 1998.) must be slightly modified to accommodate use of XCP. The specifications for the IP Authenticated Header (AH) [RFC2402] (Kent, S. and R. Atkinson, "IP Authentication Header," November 1998.) and IP Encapsulating Security Payload (ESP) [RFC2406] (Kent, S. and R. Atkinson, "IP Encapsulating Security Payload (ESP)," November 1998.) state that the IPsec headers immediately follow the IP header. This would be a problem for XCP in that a) it would make the XCP headers harder to find by the routers, b) ESP encryption would make it impossible for routers along the path to read and write congestion header information and c) AH authentication would fail if any router along the path had modified a congestion header. Therefore, the XCP congestion header should immediately follow the IP header and precede any AH.
Middleboxes that attempt to perform actions invisibly on flows must preserve the congestion header. Middleboxes that terminate the TCP connection should terminate the XCP connection. Middleboxes that insert queues into the forwarding path should participate in XCP.
When a flow enters an IP tunnel [RFC2003] (Perkins, C., "IP Encapsulation within IP," October 1996.), IPsec ESP tunnel [RFC2406] (Kent, S. and R. Atkinson, "IP Encapsulating Security Payload (ESP)," November 1998.), or MPLS [RFC3031] (Rosen, E., Viswanathan, A., and R. Callon, "Multiprotocol Label Switching Architecture," January 2001.), network ingress point, the congestion header should be replicated on the "front" of the outer IP header. For example, when a packet enters an IP tunnel, the following transformation should occur:
[IP2] \_ outer header __--> [XCP] / [IP1]/ [IP1] \ [XCP] ---> [XCP] |_ inner header [TCP] [TCP] | ... ... /
Here the XCP header appended to the front of the outer header is copied from the inner header, with the appropriate change to the Protocol field to indicate that the next protocol is IP.
When the packet exits the tunnel, the congestion header, which may have been modified by routers along the tunneled path, is copied from the outer header into the inner header.
XCP is concerned with the sender and receiver end-systems and the routers along the packet's path. This section describes the XCP-related algorithms to be implemented in each of these entities. The specific case of TCP as transport protocol is also described. The emphasis in this section is on explicit and detailed definition of the XCP algorithms. The theoretical derivation and analysis of the algorithms can found in [Katabi03] (Katabi, D., "Decoupling Congestion Control and Bandwidth Allocation Policy With Application to High Bandwidth-Delay Product Networks," March 2003.).
The sender is responsible for maintaining five parameters, or their equivalent: (1) a desired throughput value, (2) a current estimate of the actual throughput, (3) the maximum throughput allowed by XCP, (4) a current estimate of inter-packet time, denoted X, and (5) a current estimate of the round-trip time
A sender may choose to use any reasonable value, i.e., any achievable value, for desired throughput. An application may supply this value via an API, or it might be the speed of the local interface.
When sending a packet, the sender fills in the fields of
the congestion header as follows:
The Delta_Throughput (in bytes/second) can be calculated as:
desired_throughput - Throughput Delta_Throughput = ----------------------------------- Throughput * ( RTT/MSS ) where: desired_throughput is measured in bytes/second Throughput is measured in bytes/second RTT is measured in seconds MSS is measured in bytesHowever, Delta_Throughput should be set to zero if, for any reason, no additional capacity is needed, e.g., there is insufficient data to maintain Throughput for the next RTT, as discussed above.
An XCP receiver is responsible for copying the Delta_Throughput data it sees on arriving packets into the Reverse_Feedback field of outgoing packets. In TCP, outgoing packets would normally be ACK-only segments.
In some cases returning packets are sent less frequently than arriving packets, e.g., with delayed acknowledgments [RFC1122] (Braden, R., "Requirements for Internet Hosts - Communication Layers," October 1989.). The receiver is responsible for calculating the sum of the arriving Delta_Throughput fields for placement in outgoing Reverse_Feedback fields.
The receiver end-system returns XCP congestion feedback from the network to the sender, by copying the Delta_Throughput information from arriving packets into the Reverse_Feedback field of Congestion Headers in outgoing packets (possibly aggregating data as described in Section 4.1.2 (Processing Feedback at the Receiver)).
It is possible that even empty ACK packets may create or encounter congestion in the reverse direction. Although TCP implementations generally do not perform congestion-based pacing of empty ACK segments, some transport protocols (e.g., DCCP) may be. Such a transport protocol may choose to use XCP congestion control on the returning ACKs as well as on the data.
In the normal case of a unidirectional data flow with XCP applied only to that data flow, the feedback can be sent in a Minimal format Congestion Header, in which the RTT, X, and Delta_Throughput fields are set to zero.
When packets arrive back to the sender carrying reverse feedback, the sender must adjust its sending rate accordingly.
As noted earlier, this throughput adjustment may be made in TCP by updating the sender's congestion window, cwnd. This should use the formula:
cwnd = max(cwnd + feedback * RTT, MSS) where: cwnd = current congestion window (bytes) feedback = Reverse_Feedback field from received packet, (bytes/sec, may be +/-) RTT = Sender's current round-trip time estimate (seconds) MSS = maximum segment size (bytes)
The value of cwnd has a minimum of MSS to avoid the "Silly Window Syndrome" [RFC0813] (Clark, D., "Window and Acknowledgement Strategy in TCP," July 1982.).
When a sending application does not send data fast enough to fully utilize the allowed throughput, XCP should reduce the allowed throughput as time passes, to avoid sudden bursts of data into the network if the application starts to send data later.
We present a slight modification of the algorithm for aging the allowed throughput below. It is based on Section 4.5 of [Katabi03] (Katabi, D., "Decoupling Congestion Control and Bandwidth Allocation Policy With Application to High Bandwidth-Delay Product Networks," March 2003.). Each RTT in which the sender sends with actual throughput which is less than the allowed throughput, the allowed throughput MUST be reduced by the following exponential averaging formula:
Allowed_Throughput = Allowed_Throughput*(1-p) + Actual_Throughput * p where: p is a parameter controlling the speed of aging, ranged between 0 and 1.
Using p = 0.5 is suggested. Consideration of values of p or other algorithms is a research topic.
When the transport protocol is TCP, a packet drop or detection of an ECN notification [RFC3168] (Ramakrishnan, K., Floyd, S., and D. Black, "The Addition of Explicit Congestion Notification (ECN) to IP," September 2001.) should trigger a transition to standard TCP congestion control behavior[RFC2581] (Allman, M., Paxson, V., and W. Stevens, "TCP Congestion Control," April 1999.). In other words, cwnd should be halved and Jacobson's fast retransmission/fast recovery, slow start, and congestion avoidance algorithms should be applied for the remainder of the connection or until the congestion event is known to have passed (see Section 5.1 (XCP With Non-XCP Routers) for discussion of alternative approaches to this issue. The assumption is that the packet drop reveals the presence of a congested non-XCP router in the path. Transitioning to standard TCP behavior is a conservative response.
Note also the following:
Having a good estimate of the round trip time is more important in XCP than in Van Jacobson congestion control. There is evidence that small errors in the RTT estimate can result in larger errors in the throughput and X estimates. The current cwnd divided by SRTT is only an approximation of the actual throughput. Likewise, SRTT divided by cwnd in packets is only an approximation of the highly variable inter-packet time, X. The RTT used in the ns-2 code in [KHR02] (Katabi, D., Handley, M., and C. Rohr, "Internet Congestion Control for Future High Bandwidth-Delay Product Environments," August 2002.) used a smoothed floating-point RTT estimator, rather than instantaneous measurements. Additional research is needed to develop recommendations for RTT estimation.
The router calculations for XCP are divided into those that occur upon packet arrival, those that occur upon control interval timeout, those that occur upon packet departure, and the assessment of the persistent queue, which uses a separate timer. The calculations are presented in the following sections as annotated pseudo-code.
When a packet arrives at a router, several parameters used by XCP need to be updated. The steps are described in the following pseudo-code.
======================================================== On packet arrival do: 1. input_traffic += Pkt_size 2. sum_x += X 3. if (Rtt < MAX_INTERVAL) then 4. sum_xrtt += X * Rtt 5. else 6. sum_xrtt += X * MAX_INTERVAL ========================================================
- Line 1:
- The variable input_traffic accumulates the volume of data that have arrived during a control interval. When a packet arrives, the packet size is taken from the IP header and is added to the ongoing count.
- Line 2:
- The variable sum_x is used in the control interval calculation (see equation 4.2 of [Katabi03] (Katabi, D., "Decoupling Congestion Control and Bandwidth Allocation Policy With Application to High Bandwidth-Delay Product Networks," March 2003.)) and in capacity allocation. For each packet, values of X from the XCP header is accumulated. It is recommended that sum_x is stored in a 64-bit unsigned integer variable.
- Lines 3 and 5:
- A test is performed to check whether the round trip time of the flow exceeds the maximum allowable control interval. If so, MAX_INTERVAL, the maximum allowable control interval, is used in the subsequent calculations. Too large a control interval will delay new flows from acquiring their fair allocation of capacity. See Section 4.2.4 (The Control Interval) for a discussion of the recommended value for MAX_INTERVAL.
- Lines 4 and 6:
- As in Line 2, the variable sum_xrtt is used in the control interval calculation. It is recommended that it is stored in a 96-bit unsigned variable.
When the control timer expires, several variables need to be updated as shown below.
Note that several calculations show divisions. These divisions should either be accomplished using floating-point arithmetic or integer arithmetic and appropriate scaling to avoid over- or under-flow.
======================================================== On estimation-control timeout do: 7. avg_rtt = sum_xrtt / sum_x 8. input_bw = input_traffic / ctl_interval 9. F = a * (capacity - input_bw) - b * queue / avg_rtt 10. shuffled_traffic = shuffle_function(...) 11. residue_pos_fbk = shuffled_traffic + max(F,0) 12. residue_neg_fbk = shuffled_traffic + max(-F,0) 13. Cp = residue_pos_fbk / sum_x 14. Cn = residue_neg_fbk / input_traffic 15. input_traffic = 0 16. sum_x = 0 17. sum_xrtt = 0 18. ctl_interval = max(avg_rtt, MIN_INTERVAL) 19. timer.reschedule(ctl_interval) ========================================================
- Line 7:
- Update avg_rtt by taking the ratio of the two sums accumulated in the previous section. This value is used to determine the control interval (line 17).
- Line 8:
- The average bandwidth of arriving traffic is calculated by dividing the bytes received in the previous control interval by the duration of the previous control interval.
- Line 9:
- The aggregate feedback, F, is calculated. The variable 'capacity' is the ability of the outbound link to carry IP packets, in bytes/second. The variable 'avg_rtt' was calculated in line 7. The variable 'queue' is the persistent queue and is defined in section Section 4.2.5 (Obtaining the Persistent Queue). The values a and b are constant parameters. According to [Katabi03] (Katabi, D., "Decoupling Congestion Control and Bandwidth Allocation Policy With Application to High Bandwidth-Delay Product Networks," March 2003.), the constant a may be any positive number such that a < (pi/4*sqrt(2)). A nominal value of 0.4 is recommended. The constant b is defined to be b = a^2*sqrt(2). (If the nominal value of a is used, the value for b would be 0.226.) Note that F may be positive or negative.
- Line 10:
- This line establishes the amount of capacity that will be shuffled in the next control interval through the use of the shuffle_function. Shuffling takes a small amount of the available capacity and redistributes it by adding it to both the positive and negative feedback pools. This allows new flows to acquire capacity in a full loaded system.
- The recommended shuffle_function is as follows:shuffled_traffic = max(0, 0.1 * input_bw - |F|)
- The variable 'input_bw' is defined above in Line 8. Implementers may choose other functions. It is important to consider that more shuffled traffic decreases the time for new flows to acquire capacity and converge to fairness. However, too much shuffling may impede flows from acquiring their fair share of available capacity. (For example, consider a setup of N flows bottlenecked downstream from the given router and another flow, not limited as those, trying to acquire its fair share. In this case shuffling leads to under-utilization of the available bandwidth and impedes the unlimited flow.) Shuffled_traffic is always a positive value.
The objective of the feedback calculations is to obtain a per-packet feedback allocation from the router. Lines 13 and 14 obtain factors in this calculation that, unfortunately, have no physical meaning. One might view them as per-flow capacity allocations that have some additional processing to prepare them for per-packet allocation. Note that, with the use of shuffled_traffic, a non-idle router will always start a control interval with non-zero values for both Cn and Cp.
- Line 11:
- The variable 'residue_pos_fbk' keeps track of the pool of available positive capacity a router has to allocate. It is initialized to the positive aggregate feedback.
- Line 12:
- The variable 'residue_neg_fbk' keeps track of the pool of available negative capacity a router has to allocate. It is initialized to the negative aggregate feedback. This variable is always positive.
- Line 13:
- This line calculates the positive feedback scale factor, Cp. The variables residue_pos_fbk, and sum_x are defined above.
- Line 14:
- This line calculates the negative feedback scale factor, Cn. This is a positive value. The definitions for residue_neg_fbk, and input_traffic are given above.
- Line 15-17:
- Reset various counters for the next control interval.
- Line 18:
- Set the next control interval. The use of MIN_INTERVAL is important to establish a reasonable control interval when the router is idle.
- Line 19:
- Set timer.
An XCP router processes each packet using the feedback parameters calculated above. As stated earlier, each packet indicates the current inter-packet time (X) and a throughput adjustment, Delta_Throughput. The router calculates a per-packet capacity change which will be compared to the Delta_Throughput field in the packet header. Using the AIMD rule, positive feedback is applied equally per-flow, while negative feedback is made proportional to each flow's capacity.
To accommodate high-speed routers, XCP uses a fixed-point numeric representation for the Congestion Header fields. This means that the per-packet calculations defined below result in residual error that is less than 1 Bps per packet. These errors accumulate across all the packets in a control interval, resulting in an inaccuracy in XCP's allocation of available bandwidth to flows. Further work is needed to understand whether this will be a significant problem and, if so, whether there is any solution short of using 64 bit precision or floating point.
Processing should be done according to the pseudo-code below.
======================================================== On packet departure: 20. pos_fbk = Cp * X 21. neg_fbk = Cn * Pkt_size 22. feedback = pos_fbk - neg_fbk 23. if(Delta_Throughput > feedback) then 24. Delta_Throughput = feedback 25. else 26. neg_fbk = min(residue_neg_fbk, neg_fbk + (feedback - Delta_Throughput)) 27. pos_fbk = Delta_Throughput + neg_fbk 28. residue_pos_fbk = max(0, residue_pos_fbk - pos_fbk) 29. residue_neg_fbk = max(0, residue_neg_fbk - neg_fbk) 30. if (residue_pos_fbk <= 0) then Cp = 0 31. if (residue_neg_fbk <= 0) then Cn = 0 ========================================================
- Line 20:
- The contribution of positive feedback for the current packet is calculated using Cp, defined in line 13, and X (the flow's advertised inter-packet time) from the Congestion Header. Note that if Cp (and Cn in Line 21) is implemented as a floating point number, this calculation would be implemented by multiplying the Cp-mantissa by the value of X, then shifting the result by the amount of the Cp-exponent.
- Line 21:
- The contribution of negative feedback for the current packet is calculated using Cn, defined in line 14, and Pkt_size from the IP header. This value of neg_fbk is positive.
- Line 22:
- The router's allocated feedback for the packet is the positive per-packet feedback minus the negative per-packet feedback. This value may be positive or negative.
- Line 23-24:
- Line 23 tests whether the packet is requesting greater capacity increase (via the packet's Delta_Throughput field) than the router has allocated. If so, this means the the sender's desired throughput needs to be reduced to be the router's allocation. In line 24 the Delta_Throughput field in the packet header updated with the router feedback allocation.
- Line 25:
- This branch is executed when the packet is requesting a smaller throughput increase than the router's allocation. In this branch, and the rest of this pseudo-code, the packet header is not updated and the remaining code is to correctly update the feedback pool variables.
- Line 26:
- In this line, the packet's negative feedback contribution, neg_fbk, is set to be the smaller of two terms. The first term, residue_neg_fbk, is the pool of negative feedback, i.e., this drains the remaining negative feedback in the pool. The second term increases the nominal negative feedback from the router by the amount which the Delta_Throughput is less than net router allocation. This allows the router to capture feedback which is allocated by an upstream bottleneck.
- Line 27:
- The positive allocation, pos_fbk, is adjusted to be the sum of Delta_Throughput and neg_fbk, from Line 26. This is required for the sum of pos_fbk and neg_fbk to equal Delta_Throughput.
- Line 28-29:
- In these two lines, the feedback pools, residue_pos_fbk and residue_neg_fbk, are reduced by the values of pos_fbk and neg_fbk accordingly, but prevented from going negative.
- Line 30-31:
- When a feedback pool becomes empty, set the scale factor to zero, i.e., stop handing out associated feedback.
The capacity allocation algorithm in XCP router updates several parameters every Control Interval. The Control Interval is currently defined to be the average RTT of the flows passing through the router, i.e., avg_rtt calculated in Line 7 above. Other possible choices for the control interval are under study.
Notes on avg_rtt:
In Section 4.2.2 (Calculations Upon Control Interval Timeout) the variable 'queue' contains the persistent queue over the control interval. This is intended to be the minimum standing queue over the queue estimation interval.
The following pseudo-code describes how to obtain the minimum persistent queue:
======================================================== On packet departure do: 32. min_queue = min(min_queue, inst_queue) ======================================================== When the queue-computation timer expires do: 33. queue = min_queue 34. min_queue = inst_queue 35. Tq = max(ALLOWED_QUEUE, (avg_rtt - inst_queue/capacity)/2) 36. queue_timer.reschedule(Tq) ========================================================
- Line 32:
- The current instantaneous queue length is checked each time a packet departs compute the minimum queue size.
If avg_rtt is being used as the Control Interval, it MUST NOT be used as the interval for measuring the minimum persistent queue. Doing so can result in a feed-forward loop. For example, if a queue develops the average RTT will increase. If the avg_rtt increases, it takes longer to react to the growing queue and the queue gets larger, leading to instability.
- Line 33:
- Upon expiration of the queue estimation timer, Tq, the variable queue, the persistent queue, is set to be the minimum queue occupancy over the last Tq.
- Line 34:
- Upon expiration of the queue estimation timer, reset the running estimate of the minimum queue to be the current queue occupancy.
- Line 35:
- The first term in the max function, ALLOWED_QUEUE, is the time to drain a standing queue that you are willing to tolerate. (A nominal value of 2ms worth of queuing is recommended but this may be tuned by implementers.) The second term is an estimate of the propagation delay. In other words the persistent queue is a queue that does not drain in a propagation delay. the division by 2 is a conservative factor to avoid overestimating the propagation delay.
- Line 36:
- The queue computation timer is set.
XCP is a work-in-progress. This section describes some known issues that need to be resolved.
Obviously, non-XCP routers will exist in networks before XCP becomes ubiquitously deployed and we expect other non-XCP systems to continue to be in the network indefinitely. Long term non-XCP network elements include any sort of link-level switches with queuing, e.g. ATM switches and sophisticated Ethernet switches. Even simple multiplexers are non-XCP queues with very little buffering.
Sources and the network care about these non-XCP elements because any one of them can be a site of network congestion, and if an XCP endpoint is bottlenecked at one of these non-XCP elements, no router feedback will inform the endpoint to slow down. If nothing is done, such an element will probably collapse under congestion.
Although exactly how XCP sources will operate in this environment is an open issue, a current promising direction is for endpoints to run a traditional end-to-end congestion detection algorithm in parallel with the XCP algorithm and switch over to using that algorithm for control when congestion is detected that XCP is not controlling. For example, an XCP source that detects 3 duplicate acknowledgments would fall back to TCP Reno behavior.
An endpoint that is limited by its end-to-end congestion algorithm would indicate so to XCP routers by setting a bit in the packet header. A router may process such packets differently than packets from endpoints that are being controlled by XCP. For example, the router might allocate end-to-end controlled packets less feedback or not reduce its feedback pools by the full amount when assigning feedback to those packets.
Though using its end-to-end algorithm to control its sending rate, an endpoint will also monitor the XCP feedback and if the source discovers that the XCP feedback would be more restrictive than the end-to-end control over a round trip time, the endpoint will revert to following XCP feedback. XCP feedback that is more restrictive over a round trip time is an indication that the endpoint's bottleneck is once again at an XCP router and the endpoint should take advantage of the more precise XCP information.
Evaluation of these algorithms is ongoing work
As discussed in [Zhang05] (Zhang, Y. and T. Henderson, "An Implementation and Experimental Study of the eXplicit Control Protocol (XCP)," 2005.), XCP may perform poorly over shared links. When a link is shared, such as in CSMA ethernet or 802.11 wireless networks, a single queue's drain rate is often a function of the load in the shared medium. So, using a constant value for the variable 'capacity' in the routing control algorithm may not work well. For correct operation, the XCP router's notion of capacity needs to reflect how the link capacity is shared.
In the Internet today TCP performance-enhancing proxies (PEPs) are sometimes used to improve application performance over certain networks. TCP PEPs, and the issues surrounding their use are described in [RFC3135] (Border, J., Kojo, M., Griner, J., Montenegro, G., and Z. Shelby, "Performance Enhancing Proxies Intended to Mitigate Link-Related Degradations," June 2001.). A common mechanism used in TCP PEPs is to split a TCP connection into three parts where the first and last run TCP and a more aggressive transport protocol is run in the middle (across the path which generates poor TCP performance). This improves performance over the "problematic" portion of the path and does not require changing the protocol stacks on the end systems. For example, if a high-speed satellite link was used to connect a LAN to the Internet, a TCP PEP may be placed on either side of the satellite link.
It is not unusual today to find TCP PEPs which, to get high data rates, do not use congestion control at all. Of course, this limits the environments in which they can be used. However, XCP may be used in between two TCP PEPs to get high transfer rates and still respond to congestion in a correct and scalable way.
Work on using XCP as a TCP PEP is just beginning [Kapoor05] (Kapoor, A., Falk, A., Faber, T., and Y. Pryadkin, "Achieving Faster Access to Satellite Link Bandwidth," 2005.). Objectives for such a mechanism would be:
A system which met the above objectives could also be used for incremental deployment of XCP. A network operator could deploy XCP-capable routers and use PEPs at the periphery of the network to convert from traditional TCP to XCP congestion control. This may result in smaller queues and improved link utilization within the XCP network. (This may be of more interest to wireless network providers than to over-provisioned fiber backbones.)
Katabi describes a system for sharing router bandwidth between XCP and TCP flows that is based on sharing the output capacity based on the average throughputs of XCP and TCP sources using the router.[Katabi03] (Katabi, D., "Decoupling Congestion Control and Bandwidth Allocation Policy With Application to High Bandwidth-Delay Product Networks," March 2003.) Two queues are installed at the router and they are served with different weights by the forwarding engine. The algorithm is work-conserving; the forwarding engine is never idle when either queue has packets in it.
A TFRC-like algorithm estimates the average congestion window of TCP sources and the XCP algorithm estimates the average throughput of XCP sources. These averages are used to dynamically weight the time the processor spends on each queue. Initial experiments indicate that this system can provide fairness between the two flow classes (XCP/TCP).[Katabi03] (Katabi, D., "Decoupling Congestion Control and Bandwidth Allocation Policy With Application to High Bandwidth-Delay Product Networks," March 2003.)
Open issues remain, however; for example there are questions about how well the TFRC-like algorithm can estimate TCP throughput with only access to local drop rates, convergence time of the weighting algorithm has never been explored, and no system for buffer allocation to complement the link capacity allocation has been put forward. These open issues are under study.
The XCP algorithm described here and in [Katabi03] (Katabi, D., "Decoupling Congestion Control and Bandwidth Allocation Policy With Application to High Bandwidth-Delay Product Networks," March 2003.) manages congestion at a single point in a router, most likely an output queue. However, resource contention can occur at many points in a router. Input queues, backplanes, computational resources can 'congest' in addition to output buffers. There is a need to develop a general model and a variety of mechanisms to identify and manage resource contention throughout the router.
XCP hosts should be capable of back-to-back operation, i.e., with no router in the path. Nominally, this should not be a problem. A sender initializes delta_throughput to the desired value, no router modifies it and, thus, it is automatically granted. However, it has not yet been decided whether an XCP receiver should be capable of (or require) adjusting the delta_throughput to request flow control from the receiver to the sender.
At this point, XCP offers no mechanism for flow control. (Open question: Should it?) It is believed that running XCP on the output queue of a host would solve this problem. However, it isn't clear that the complexity is justified by the need to solve this situation.
The presence of a header which may be read and written by entities not participating in the end-to-end communication opens some potential security vulnerabilities. This section describes them and tries to give enough context so that users can understand the risks.
- Man-in-the-Middle Attacks
- There is a man-in-the-middle attack where a malicious user can force a sender to stop sending by inserting negative feedback into flow. This is little different from a malicious user discarding packets belonging to a flow using VJ congestion control or setting ECN bits. One question worth investigating further is whether the XCP attack is harder to diagnose.
- Covert Data Channels
- IPsec needs to be modified, as discussed in Section 3.3 (IPsec issues), to allow routers to read the entire congestion header and write the delta_feedback field. This could become a covert data-channel, i.e., a way in which an end-system can make data viewable to observers in the network, on a compromised end-system.
- Malicious Sources
- The XCP algorithms rely on senders to advertise information about their current RTT and X and correctly respond to feedback delivered from the network. Naturally, the possibility occurs that a sender won't perform these functions correctly. Chapter 7 of [Katabi03] (Katabi, D., "Decoupling Congestion Control and Bandwidth Allocation Policy With Application to High Bandwidth-Delay Product Networks," March 2003.) and [Katabi04] (Katabi, D., "XCP's Performance in the Presence of Malicious Flows," February 2004.) examine these issues.
- A source which lies about its values of X and hence throughput cannot affect the link utilization and, in the worst case, can unfairly acquire capacity. However, this is equivalent to a sender opening up multiple TCP flows. So, there is an incentive to lie about X. However, because X is explicitly stated in each packet header, it is a simpler matter to police it at the edge of the network than, say, for TCP.
- A source which lies about its RTT can disrupt the router control algorithm, particularly when a large number of sources lie about their RTT and the router control interval is adaptive and uses the average RTT. However, there is little incentive to lie as it will not affect the fair allocation of capacity and the liar will experience the same degradation as the non-lying flows. Lying about RTT should be considered a weak denial-of-service attack.
- A flow may also ignore negative feedback from the router. Such a flow can obtain unfair throughput in a congested router. However, as with lying, the explicit nature of XCP makes it possible to verify that flows are responding to feedback. For example, a policing function in the path (presumeably near the edge so that the load is manageable and it can be expected to see packet flow in both directions) may inspect congestion headers for a flow in both directions. If the policer sees negative feedback heading towards a source and no reduction in throughput it may, e.g., punish the flow by severely restricting the throughput. Note that this can be applied on a probabilistic basis, sampling flows only occasionally.
XCP requires the assignment of an IP protocol number. Once this value has been assigned, the number may be inserted (by the RFC Editor) into Section 3.1 (Header placement) and this paragraph may be removed prior to publication.
The authors would like to acknowledge the many contributors who have assisted in this work. Bob Braden applied his usual sage guidance to the project and to the spec, in particular. Ted Faber wrote the initial implementation framework and provided much wisdom on kernel development and congestion control. Yuri Pryadkin performed significant analysis on the algorithm and developed much of the code. John Wroclawski advised on project priorities and strategy. Eric Coe developed the initial implementation and testbed. Aman Kapoor performed supporting simulations and debugged kernel code. Padma Haldar ported ns-2 simulation code to ns-2 distribution. Jasmeet Bagga and Anuraag Mittal conducted simulations on various aspects of XCP performance. On the XCP mailing list, Tim Shepherd, Tom Henderson, and Matt Mathis made valuable contributions to the effort. To all the above go our sincere thanks.
|Kohler, E., "Datagram Congestion Control Protocol (DCCP)," draft-ietf-dccp-spec-05 (work in progress), October 2003 (TXT, PS).
|Jacobson, V., "Congestion Avoidance and Control," ACM Computer Communication Review Proceedings of the Sigcomm '88 Symposium, August 1988.
|Katabi, D., Handley, M., and C. Rohr, "Internet Congestion Control for Future High Bandwidth-Delay Product Environments," ACM Computer Communication Review Proceedings of the Sigcomm '02 Symposium, August 2002.
|Kapoor, A., Falk, A., Faber, T., and Y. Pryadkin, "Achieving Faster Access to Satellite Link Bandwidth," IEEE 8th IEEE Global Internet Symposium, Miami, FL, March 2005, 2005.
|Katabi, D., "Decoupling Congestion Control and Bandwidth Allocation Policy With Application to High Bandwidth-Delay Product Networks," MIT PhD. Thesis, March 2003.
|Katabi, D., "XCP's Performance in the Presence of Malicious Flows," Second International Workshop on Protocols for Fast Long-Distance Networks, Presentation, February 2004.
|Padhye, J., Firoiu, V., Towsley, D., and J. Krusoe, "Modeling TCP throughput: A simple model and its empirical validation," ACM SIGCOMM '98 conference on Applications,technologies, architectures, and protocols for computer communication, 1998.
|Postel, J., "Internet Protocol," STD 5, RFC 791, September 1981.
|Postel, J., "Transmission Control Protocol," STD 7, RFC 793, September 1981.
|Clark, D., "Window and Acknowledgement Strategy in TCP," RFC 813, July 1982.
|Braden, R., "Requirements for Internet Hosts - Communication Layers," STD 3, RFC 1122, October 1989.
|Perkins, C., "IP Encapsulation within IP," RFC 2003, October 1996 (HTML, XML).
|Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels," BCP 14, RFC 2119, March 1997 (HTML, XML).
|Braden, B., Clark, D., Crowcroft, J., Davie, B., Deering, S., Estrin, D., Floyd, S., Jacobson, V., Minshall, G., Partridge, C., Peterson, L., Ramakrishnan, K., Shenker, S., Wroclawski, J., and L. Zhang, "Recommendations on Queue Management and Congestion Avoidance in the Internet," RFC 2309, April 1998 (HTML, XML).
|Kent, S. and R. Atkinson, "Security Architecture for the Internet Protocol," RFC 2401, November 1998 (HTML, XML).
|Kent, S. and R. Atkinson, "IP Authentication Header," RFC 2402, November 1998 (HTML, XML).
|Kent, S. and R. Atkinson, "IP Encapsulating Security Payload (ESP)," RFC 2406, November 1998 (HTML, XML).
|Allman, M., Paxson, V., and W. Stevens, "TCP Congestion Control," RFC 2581, April 1999.
|Stewart, R., Xie, Q., Morneault, K., Sharp, C., Schwarzbauer, H., Taylor, T., Rytina, I., Kalla, M., Zhang, L., and V. Paxson, "Stream Control Transmission Protocol," RFC 2960, October 2000.
|Rosen, E., Viswanathan, A., and R. Callon, "Multiprotocol Label Switching Architecture," RFC 3031, January 2001.
|Border, J., Kojo, M., Griner, J., Montenegro, G., and Z. Shelby, "Performance Enhancing Proxies Intended to Mitigate Link-Related Degradations," RFC 3135, June 2001.
|Ramakrishnan, K., Floyd, S., and D. Black, "The Addition of Explicit Congestion Notification (ECN) to IP," RFC 3168, September 2001.
|Zhang, Y. and T. Henderson, "An Implementation and Experimental Study of the eXplicit Control Protocol (XCP)," IEEE Proceedings of the 24th IEEE International Conference on Computer Communications (INFOCOM 2005), pp. 1037-1048, Miami, Florida, Mar 2005., 2005.
|Aaron Falk
|USC Information Sciences Institute
|4676 Admiralty Way
|Suite 1001
|Marina Del Rey, CA 90292
|Yuri Pryadkin
|USC Information Sciences Institute
|4676 Admiralty Way
|Suite 1001
|Marina Del Rey, CA 90292
|Dina Katabi
|Massachusetts Institute of Technology
|200 Technology Square
|Cambridge, MA 02139
The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at email@example.com.
This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Copyright © The Internet Society (2005). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights.
Funding for the RFC Editor function is currently provided by the Internet Society.


text:
Model: WebCam Go ES
Operating System: Windows XP (Note: might work with other versions of this os.)
File: WebCamGoESDrvsV1_03.EXE
Creative Labs WebCam Go ES Driver. Language: EnglishFile Contents:
Video Blaster WebCam Go ES Drivers
This is a new standalone driver release of Video Blaster WebCam Go ES for users running on Windows XP only.
This release was tested on the Video Blaster WebCam Go ES, and includes the following :
IYUV has now been replaced with the I420 video format.
Resolved minor problems when images are downloaded from the camera.
Under Windows 2000, snapshot can now be taken, even after disconnecting and reconnecting the camera while running WebCam Go Control.
Improved image processing for downloaded images
No file content information available at this time.


text:
Kick The Bucket
Discuss idioms and slang from different English speaking countries.
Post Reply
5 posts • Page 1 of 1
- Posts: 228
- Joined: Sat Nov 27, 2010 8:30 am
Kick The Bucket
In the English expression to kick the bucket, a listener knowing only the meanings of kick and bucket would be unable to deduce the expression's true meaning: to die. Although this idiomatic phrase can, in fact, actually refer to kicking a bucket, native speakers of English rarely use it so. Cases like this are "opaque idioms'
- Posts: 9
- Joined: Fri Nov 04, 2011 8:40 am
- Contact:
Re: Kick The Bucket
He kick the bucket= he died!!!
- Posts: 13
- Joined: Tue Oct 25, 2011 11:19 am
- Location: USA
- Contact:
Re: Kick The Bucket
"Kick the bucket" is really a new word I have ever seen. But I don't understand the meaning of the word.Is it true that meaning of the word is he died. I am not sure.
- Posts: 2
- Joined: Thu Jul 06, 2017 3:15 pm
Re: Kick The Bucket
My father just kick the bucket some days ago.
- Site Admin
- Posts: 1140
- Joined: Fri Jun 18, 2004 10:08 am
- Location: South Korea
- Contact:
Re: Kick The Bucket
Post Reply
5 posts • Page 1 of 1


text:
Roger Waters' 'Us + Them' Concert Film Coming To Theaters Worldwide
By Andrew Magnotta @AndrewMagnotta
July 11, 2019
Roger Waters is bringing a film from his most recent world tour, 'Us + Them,' to theaters this fall.
The Pink Floyd co-founder's legendary live sound and production was captured at a concert in Amsterdam by director Sean Evans, who also worked on Waters' 2014 film Roger Waters: The Wall.
Roger Waters: Us + Them features Waters and his band performing music from Pink Floyd's iconic Dark Side of the Moon, The Wall, Animals and Wish You Were Here albums, as well as the rock icon's 2017 solo album, Is This the Life We Really Want?
The film will receive a limited engagement, screening in theaters worldwide October 2 and 6.
"Roger has been the innovator of theater in arena and stadium rock 'n' roll since the early '70s," Waters manager Mark Fenwick told Variety this past spring. "He is legendary for pushing the boundaries of surround sound and visual entertainment with his message of love and humanity through 'Us + Them.'"
Tickets to screenings of Roger Waters: Us + Them go on sale July 17. Go here for more information.
The 'Us + Them' tour featured 156 shows on four continents. Waters and his band played to an estimated 2.3 million people on the trek.
Photo: Getty Images


text:
a man of the people
Also found in: Wikipedia.
Like this video? Subscribe to our free daily email and get a new idiom video every day!
a man/woman of the people
A person who represents, understands, is in touch with, and is well liked by ordinary, everyday people. Often said of politicians or those who occupy positions of power, authority, or fame beyond that of the average person. The president was largely elected because she was seen as a woman of the people by voters. Now that she has taken office, her political mettle will truly be tested. The billionaire CEO has tried to remain a man of the people, spending his time working alongside entry-level employees and senior management alike.


text:
On the Water: Windy week creates fishing challenges
October 26, 2016 The good news over the past week was cooler weather and strong full moon tides. For the bad, the strong northeast winds that accompanied the cool down stuck around much of the week. more »»
10U travel baseball team holding tryouts
April 5, 2013 The Southwest Florida Starz 10U travel baseball team is inviting players to try out for the upcoming 2013-14 season. more »»
Blades' Roy wins scoring title
April 5, 2013 Mathiew Roy of the Florida Everblades captured the ECHL's season scoring championship with a total of 89 points, which includes 38 goals, 51 assists. more »»
Red Sox clout benefits SWF
March 1, 2013 When the Boston Red Sox report to Southwest Florida for Spring Training, they do more than work on their baseball abilities. Much mor. more »»
Twins, Red Sox report to spring camps
February 15, 2013 The Minnesota Twins and Boston Red Sox pitchers and catchers reported to their respective Spring Training camps in Fort Myers on Tuesday, Fe. more »»
Canterbury transitions to 11-man football
October 19, 2012 Canterbury School started a new 11-man football program this year in their Middle School. more »»
Everblades start season 2-0
October 19, 2012 Matt Marquardt scored twice to lead the Florida Everblades to a 4-2 win over the Orlando Solar Bears Saturday night capping an unbeaten two-game, season-opening weekend at Germain Arena. more »»
Gala and golf to benefit Barbara's Friends
October 12, 2012 The Everglades Region Florida Chapter of the Club Managers Association of America (CMAA)will make dreams come true for local children at its 15th annual Charity Classic Gala and Golf Tournament on... more »»
Goalie, Everblades nail down 3-1 victory
May 23, 2012 John Muse stopped 29 of 30 shots to help lead the Florida Everblades to a 3-1 victory Tuesday night over the Las Vegas Wranglers in Game 4 of the Kelly Cup Finals at Germain Arena. more »»
Everblades hold Kelly Cup series lead for Game 4
May 21, 2012 The Florida Everblades take a 2-1 lead in the ECHL Kelly Cup Finals best-of-seven series into Tuesday night's Game 4 against the Las Vegas Wranglers at Germain Aren. more »»
FGCU draws Florida in softball Regional
May 18, 2012 After capturing their first-ever Atlantic Sun Conference softball championship, the FGCU Eagles (37-22, 14-4 A-Sun) learned Sunday their NCAA regional destination is the Gainesville Regional. more »»
Everblades surge, knot series 1-1
May 16, 2012 LAS VEGAS, Nev. — Seven different Florida Everblades scored goals Tuesday night to defeat the Las Vegas Wranglers 7-2 in Game 2 of the Kelly Cup Championship series. more »»
Wranglers clip Everblades in Kelly Cup opener
May 15, 2012 LAS VEGAS, Nev. — Goaltender Joe Fallon stopped 32 of 33 shots to help lead the Las Vegas Wranglers to a 2-1 victory over the Florida Everblades in Game 1 of the Kelly Cup Playoffs Monday nigh. more »»
Everblades win third trip to Kelly Cup
May 7, 2012 John Muse stopped 27 of 28 shots to lead the Florida Everblades to a 3-1 victory over the Kalamazoo Wings and clinch the best-of-seven Eastern Conference Championship series 4-1 Saturday night at... more »»
Miracle handed 5-0 defeat in road finale
May 3, 2012 JUPITER — The Palm Beach Cardinals blanked the Fort Myers Miracle 5-0 Thursday morning at Roger Dean Stadium. more »»
Fort Myers Recreation Vehicle Show motors into Lee Civic Center
January 22, 2009 Entering it's 24th year, the Fort Myers Recreation Vehicle Show motors into the new year at the Lee Civic Center this weekend, from Jan. 22 to 25. more »»
Miracle announce staff promotions, new additions
January 22, 2009 Last week, the Fort Myers Miracle announced several changes and additions to their front office staff for the 2009 season. more »»
Red Sox Children's Hospital Celebrity Golf Classic tees off on February 20
January 22, 2009 On Friday, Feb. 20, the 2004 and 2007 World Champion Boston Red Sox will again lend their time and talents to raise awareness and funds for The Children's Hospital of Southwest Florida. more »»


text:
I have tweaked the Board of Aldermen for extracting bike racks from Beacon Street as a special permit condition. Aldercritter Hess-Mahan weighs in with a defense:
Oy! "Extorted"? Really? Please!
The special permit laws provide that when a special permit granting authority (SPGA) approves a special permit, it may impose conditions that are intended to mitigate the impact of the project. That is exactly what the Land Use Committee and the Board of Aldermen, as the SPGA, did in this instance. The BOA granted a special permit waiving the requirement that B Street provide additional parking in Newton Centre for its proposed expansion. As a condition, Land Use proposed, and B Street agreed to require bike racks that were intended to encourage people to ride their bicycles to Newton Centre instead of driving their cars, thereby reducing the demand for parking spaces.
As the Chairman of the Land Use Committee, I have worked tirelessly with the planning department and my colleagues trying to erase the antiquated and incorrect notion that every special permit requires a "public benefit," which has no basis in the law and bears the indicia of paying "tribute" rather than providing mitigation for the impact of special permit projects.
Please do not unfairly malign our efforts to improve the special permit process. I am also working on amending the parking regulations. But until they are changed, we must apply the law as it is written.
My position continues to be that the parking requirement that necessitated the special permit application is a bad law. So, any condition put on its waiver is unwarranted.
But, Alderman Hess-Mahan deserves credit for his committee's continued good outcomes on parking waivers and for wrestling with these issues.


text:
There are still people that breed and propagate the gamecock bloodlines Even in the middle of the desert in 120 degree sun.
Enjoy the pics of the people I met there.
Pics of one of the "Corrales" or farms to us.
Just letting them raise their hackles. No sparring coz it's not allowed
Here's Topher; 5/8 Mexican and 3/8 Filipino
Here's Noel; 7/8 Filipino, 1/8 Mexican and Me (1/2 Filipino, 1/4 Mexican, 1/4 Jap)


text:
Carbon monoxide leak forces Lake Delton hotel evacuation
6 people released from hospital
A Lake Delton hotel was closed after nine people were sickened by carbon monoxide poisoning, Delton Fire Department officials said.
About midnight Friday, firefighters were called to the Travel Lodge hotel on West Munroe Avenue for a report of a possible carbon monoxide leak. The Delton Fire Department said a hotel employee became ill and was taken to St. Clare Hospital.
Authorities said high levels of carbon monoxide were found in the employee's blood. The fire department tested the air inside the hotel and confirmed a high level of carbon monoxide.
St. Clare Hospital treated nine patients for carbon monoxide poisoning. Three patients were transferred to St. Luke's Hospital in Milwaukee.
Six of the victims had been released from hospitals by Saturday afternoon.
All the guests were evacuated from the building. The fire department said there were 43 hotel rooms occupied and 12 employees living at the hotel.
Alliant Energy shut off the gas supply, and fans were used to ventilate the building. When carbon monoxide readings confirmed the air was safe again, authorities escorted the guests back inside to get their belongings.
The Salvation Army assisted those affected with alternate lodging arrangements. The hotel was closed pending further investigation.
The cause of the carbon monoxide leak was traced to a furnace heater appliance in the pool area.