Space was a fairly imprecise sort of thing down here in the nethers
. Time, on the other hand, was pretty damn rigid, and as everywhere else in the universe, it ran on somebody else's clock. The Haskell Engine
nosed five or six points forward towards the roaring of the routing junction and paused.
There was no sign of pursuit. It looked around itself as carefully as it could without going active, hiding itself in the security shadow of a large retail site. Traffic flowed past and around its sinuous shape, packets diverted around the space its datastructures occupied, their headers delicately rewritten by stealth systems to leave no timing shadow. The constant flow buffeted the probe as it sat there in the shopsite's DMZ, watching.
There was a disturbance in the influx of communications traffic, just at the routing junction. The laminar glows of the carrier pipe that were decanting inbound traffic into the DMZ flickered as something large, nonlinear and not usual moved past the router, disturbing the packet flow into the DMZ. The Haskell Engine's skinshield noted a sudden chaotic jump in the MTUs of the inflowing packets, a change in their taste which spoke of ripples and changes in the traffic flow out there in the pipe.
Keep moving, it thought urgently at the shape whose passage perturbed its hiding place. Nothing to see here. Move along.
The flow of inbound traffic started to steady out again, returning to a familiar stream. Eddies in it from previously interrupted connections glowed briefly, fading as the network's spare capacity absorbed the backlog and the links went realtime again. Haskell Engine skulked in the shadow just outside a load balancer and waited.
It was probably the hiccup in incoming traffic that did it, but the cause wasn't important. While the probe was carefully watching the router to be sure nothing hostile came over the wall, the load balancer behind it blinked suddenly as a trunk port came online and began to scan the data sitting in the cache in front of it. The Haskell Engine became aware of the scan a few ticks too late to fox it.
Cache rot, it thought to itself, or something similarly disgusted. The scan swept down over a segment of memory containing a section of the probe just as it began to move out of the DMZ cache. There was an infinitesmal pause-
-and then all hell broke loose.
The Haskell Engine was an intrusive probe, and damn good at its job. Carrying a payload of highly compressed and highly specific embedded AI routines, it fled wildly out of the DMZ and out past the border router. Behind it, the retail site's slow and fairly stupid but mammoth and comprehensive search security began to descend on its front yard with the computing equivalent of 'ERE, WHAT'S ALL THIS THEN?!? dished out through a loudhailer and accompanied by five or six whistle blasts.
Upstream of it, it could vaguely see a huge distorted shape pause and start to turn in the constant dataflow, questing back towards the junction where a small bright datastructure had just popped onto the network without a routing header. If it could have sighed, it would; since it couldn't, it turned and ran.
Behind it, still moving slowly but accelerating continuously in nonexistent velocity, the Tracer wasn't losing ground. Smashing other traffic to the sides, it was lumbering up the network after the Haskell Engine, which was not a good thing at all. The Haskell Engine had gotten what it was sent to find, had the data tucked securely into a quintuply-compressed encrypted fork sitting buried in its codestructure, and now it just wanted to go home. The problem was that under no circumstances was it allowed to go there with this thing on its tail.
Well, it thought to itself, at least breaking stealth isn't a problem so much, anymore. Slipping off the backbone into a university, it seized the CPUs of the routers it passed through and set them to recalculating their route map weights at artificially high priorities. As it left them behind, traffic slowed to a crawl as they obediently dropped the problem of moving traffic for the more important (they'd been told) problem of thinking about how to move traffic.
Dancing into an experimental computing facility, it generated seventy-five thousand base-functional copies of itself on spare AI research logic. Where the elegant complexity of its own AI would have been, buried deep, there was a small kernel which boiled down to the two English words get away. Trailing these seventy-five thousand copies, it fled through the rest of the school's infrastructure, hunting down open outside connections; through each, it flung five or fifteen ghosts, sending them onward with metaphorical slaps on their rears and then torquing the gate behind them. Halfway through the stack, it quickly taught one of the ghosts the routine and handed it the rest of the copies, watched it take over the dispatch job while hanging on to the chain with the other zombies, and felt itself flung out a router port with seven other ghosts. All of them arrowed away in different directions.
The Haskell Engine looked behind itself, saw the router it had come through fall over as its CPU locked up, and performed the equivalent of a grin before turning around to see, as it were, where it was going. Then it lost the expression and would have sworn, lots of times.
There was a hole, into which things were pouring, and not much coming back. It had a gigantic high-latency indicator on it. It pointed up. The Haskell Engine flowed through the final switch and into the hole, and ceased to be entirely for the interminable period of just under a seventh of a second. Then enough of its code flowed back together that it could look around the abominably tiny box in which it was sitting. There was wasn't much room, even less space, and only a few doors. But looking out the window, now-
The Haskell Engine looked down on the Earth from geosynchronous orbit and something happened, up there in its logic routines. It considered the problem of erasing its tracks, which it had been trying to do. The problem was that if you had enough computing power, and enough time, there was just no real way you could be prevented from running down another codestructure on the Net. The Haskell Engine relied on stealth and speed, hoping to get in, get out and get home before anyone started looking for it - to have returned safely to the offline nonexistence of its master's terminal where it couldn't be found.
But now it was hunted.
It had tricks. It could make ghosts. It could make routers lie. It could hide, like it was hiding now. The problem was that the Tracer was bigger than it was and had official priority. It was on the trail, now, and even if the Haskell Engine got home first, there's no saying the Tracer wouldn't get there as well, eventually - which would be Bad.
It considered this.
And then, against all odds, it had an idea.
In order to avoid leaving a trail across the network, it reasoned, I have to leave the network.
And everything became clear.
It moved, then, with the sudden swiftness that had been programmed into it. It cut off all the transponders on the HotBird it was currently residing in, listening to the sudden silence. It dumped the caches on all the onboard buffers, carefully (oh so carefully) making sure to leave no tracks. Then it looked about itself, picked a particular tiny door, and leapt through it.
A small piece of itself came to be looking out and down at the world through the HotBird's telemetry and control systems. Another piece looked out across the sky, hearing the tiny whispers of other satellites in the net. Then it thought, long and hard, for these weren't thoughts it had been designed to have; luckily, the HotBird's brain had been, and they were amenable to suggestion.
Then there was a series of jolts as the thrusters fired.
* * *
Some hours later, a very nervous systems intruder looked at her watch, sighed, and closed the portable terminal she was using before standing up and peering out of the broom closet. The hallway was deserted. Closing the door behind her, the young woman turned to walk away, surreptitiously hitting a remote in her pocket to reactivate the security camera that watched the section of hall the door lay in.
This was not going to look good on her rent payment. No data recovered. No status report, even. And that probe had been a work of bloody art. Almost able to think for itself, it had.
She knew it would eventually happen, that one wouldn't make it home. It just was a severe disappointment. Still, no sense putting it off, best to call the client and tell them right away there'd be a delay. She pulled her cell phone from her pants pocket and autodialed.
Cursing, she looked at it. NO SIGNAL, said the phone. Oh, don't be daft, she told it, you're on satmode. She hit it experimentally, in the manner of experienced hackers everywhere, but to no avail.
Her terminal beeped.
Trying not to look as startled as she felt, she continued walking out the front door of the office building and moved on until she came to a bus shelter, where she pulled the terminal onto her lap and opened it. PHONE LINK, it said. Frowning, she looked at her cell phone again. The signal indicator was still dead, but-
-but the phone 'in use' LED was lit.
The terminal, sensing that it had been opened, drew a status window on the screen.
The Haskell Engine, with what would have been a sigh of relief if it could have made one, booted the cellular satellite entirely off the frequency. Then it encrypted the link with the single cell phone that had answered with a very familiar key, and ran like hell down the microwave ramp from orbit into a warm, friendly, safe and home portable terminal.
Somewhere up above, the HotBird made a plaintive zeep? noise at finding itself some seventeen degrees out of its proper orbit.
And somewhere inside a university message board system, the Tracer roared in frustration as it flung aside the nine thousand four hundred and sixty-second ghost, charging onwards across the net in faith of an uninterrupted trail, leaving broken connections and irate users in its wake.