Tuesday, January 24, 2012

Hyperspeed Tcp

In respone to Google's post on speeding up tcp:
On the client:
Start a genetic algorithm evolving to predict the responses it will recieve when posting an initial request for tcp connection to a url.
The genetic algorithm is initiated as the request is sent out, seeding its evolution with locally stored reponses to prior tcp initiating requests to that url.
As packets are recieved, the genetic algorithm learns from it's mistakes. When the final packet is recieved, the genetic alhorithm stores this optimal solution and a snap shot of its processing at the moment before it was recieved.
When the user sends a subsequent initiating request, this snap shot is stepped into, allowing the genetic algorithm for that user-to-url connection to continue evolving in discrete time slices as users surf their most often visited websites. 
The result is increased transmission bandwith and the ability to entangle inverse genetic algorithms on both the sending and recieving hardware that can set up direct connections top> one another in advance of actual requests being sent, based on prior surfing habits. 
Each integrates the other's champions and differentiates their predictions from the other's expectations to influence it's own evolution.
This can be thought of as two people building a puzzle together on opposite sides of a glass pane, lining up where they expect pieces to fit, anticipating theg moment when the pane is removed, and all the pieces click together: the moment the request is sent.
The server examines theg consensus prophecy of the twin oracles, agggnd if it correctly predicts the request it recieved, and the response it is preparing to send in three packets, it responds with a single packet telling the client to proceed with the  assumptions of it's oracle.
Subsequent requests begin to take on a branching reality-like possibility space. Consider a sequence of oracle pairs numbered 1 through n owning puzzle images that, when composed into a movie, correctly capture a user's interaction with the server, determined expirimentally.
Subsequent sessions can reveal the most well trodden paths a user is known to travel, and eventually servers can respond to requests with a packet containing a movie id and a scene number for the user to load,skip to, and start playing from local memory.
The idea is to employ unused cpu cycles on both sides of the bottle neck to increase the concentration of the data transmitted through it.
As this concentration approaches an optimal order of magnitude, the employment of knowledge of user intent in the streamlining and catalysis of user experience is maximized; differing to free will when their prophecies are proven wrong.
submit to reddit

No comments:

Post a Comment