This web page is performing an Ajax "push". The web page sends a request to the server to update the page. The server waits until a new update occurs (such as when a new bid comes in) to send an update back to the web page. If the server does not receive a bid for more than 15 seconds, then the server will push the request back to the web page so that the web page does not time out. This lets the web page know that the server is still communicating with the web page, but that there's simply nothing that needs to be updated. The web page can then request an update from the server again, and the process repeats itself.

This web page simulates a penny auction web site. With penny auctions, each bid normally increases the bid amount by 1 cent. Also, if the count down clock is less than 10 seconds, a bid will also reset the countdown clock. On this page, any bid that comes in when the countdown clock is less than 10 seconds will reset the clock anywhere from zero to 15 seconds. There are also about a dozen "robobidders", which will be bidding against you and themselves. Depending on how hard I am stressing the system will determine how many robobids you will see occuring. Penny auction sites are one of the ultimate performance tests of an ajax push system. Think about this; there are 1000 users displaying this web page simultaneously. That means that every time a bid comes in, 1000 simultaneous pushes occur from the server out to the web browsers.. If 5 bids are received within a second, then 5000 pushes must occur. Due to the nature of the penny auction site, where users need these bid updates very quickly, system performance must be unwavering. A slow response time of one-two seconds can cause users to see an auction item expire on them without being able to get in a bid. And because we never really know how many internet users may be attached to our web page at any time, the system must be extraordinarily scalable.

In order to try the system out, simply enter your name and then press the LOGIN button. This will add your name to the USERS file on the system. Then you can bid on any of the items. Try bidding at the last possible moment when an item is about to expire, and see if you get your bid into the system in time. Also note the randomness in which the clock is reset, anywhere from zero to 15 seconds.

Login

bc