Async. Push Communications : A Brave New World

When I registered a new iPad the other day, I authorized several "push" communications to allowi servers to send text messages to me at random times. Active permissions are needed because I can be inundated with them at all hours.


Async. Push is a massive change from users like me initiating every communication with servers. That's what HTML4, the previous version of HTML, assumed in its design. Workarounds (such as long polling) simulate two-way communication using bandwidth-heavy techniques. For example, HTML4 repeatedly sends a long user agent string with every request.


But HTML5 has what is called ‘web sockets’ that initiate two-way initiation of communications using an approach that uses less bandwidth. Apple and Google Android each defined their own similar protocols.


Some may consider these “couch potato” protocols because they are predicated on passive receipt of information, as if we’re sitting on the couch watching TV.


But at the same time, we are expecting equity in when we get information. I overheard a teenager complain that she got a text a few seconds after her friend did, and that’s just not fair!


If we’re playing soldiers in a massive online game, we get killed by others if we’re slow.

If we’re trading stocks, we can get killed financially. So time is money.


Instant alerting systems is one way we humans can cope in a world racing toward what some label “technical singularity”, where everything changes more quickly over time. More intense social interactions are needed to cope with this challenge.


Response time metrics are fundamentally different with asynchronous systems. We now need to measure transactions not within individual autonomous machines, but as a loosely coupled set of machines working together.


Async. transactions by nature need to span several machines, originating from servers and ending at multiple clients all at once, or the other way around as peers.


New performance measurements need to answer how long it takes for transactions beginning on one machine and ending on another machine, and how much time was consumed on the network and within each machine.


New logging mechanisms and visualization layouts are needed.


HP LoadRunner provides the tools to address these concerns. Additional articles here will describe how LoadRunner during recording can automatically recognize asychronous transactions, and generate code which sets up listeners to wait for responses from servers.

Leave a Comment

We encourage you to share your comments on this post. Comments are moderated and will be reviewed
and posted as promptly as possible during regular business hours

To ensure your comment is published, be sure to follow the Community Guidelines.

Be sure to enter a unique name. You can't reuse a name that's already in use.
Be sure to enter a unique email address. You can't reuse an email address that's already in use.
Type the characters you see in the picture above.Type the words you hear.
Showing results for 
Search instead for 
Do you mean 
About the Author

Follow Us
The opinions expressed above are the personal opinions of the authors, not of HP. By using this site, you accept the Terms of Use and Rules of Participation.