I sat by the window of the local coffee shop, early Wednesday morning, sipping the first of what would be several cups of espresso on a day like this. It was early but the sun was already beating down, promising a scorcher. I swore under my breath - a wonderful day to pick for my beat.
The beat is actually called the “hands-on program”, but those of us effected call it the beat. It was not optional for employees below the designation of a manager. Well, I still had a while before I would be manager and so obviously the beat was not optional for me.
I am sorry, I should have given more formal introductions first. We build elevators. Let me rephrase that, we build awesome elevators. Not the run-of-the-mill box-suspended-by-steel-wires elevators. Rather we custom build elevators that look like nothing you have ever been in before. They are quiet, they move quick, and they hardly ever keep you waiting. And each and every one of them is hand-crafted, down to the last nut and bolt, for every single installation.
I am a software developer. I am part of the team that builds and maintains the entire suite of simulation software which the company uses. It is good stuff – for calculating the capacities, the timings, acceleration and deceleration rate, load estimations and more. And we pretty much simulate everything to a detail no one has ever gone before – and our elevators show.
So I wasn't writing code this morning - I was on the beat. The beat is the work of the on-site technicians to repair and service installations at the customer site. The rest of us have to go on these beats, because it keeps us in touch with the end product of our hard work. Typically non-technicians are paired up with regular technicians for a beat. But I had been a technician before i started writing software and take my beats alone.
I was halfway through my coffee, when my PDA buzzed. I took out the scratched device from my satchel and checked the first to-do for the day. It was a service request, from one of our most prestigious customers – the Royal Meridian. And from where I was sitting, they were right across the road. This was their first ever call after they had changed their elevators to ours a few months ago, and I decided to give them a taste of our prompt service.
The youngish assistant to the facilities manager, Adrian, was pretty surprised when I showed up, as if I had caught him before he was ready. He was of medium height, big eyes that were somehow ready to apologize. He was dressed in the usual attire of a five star hotel, a very stiff and formal suit.
“Boy, I sure hope your visit is not in vain” he smiled, as if he was sorry for me taking the trouble.
“Of course not.” I assured him. “Any problem with our elevators, we are always there for you.”
“That is exactly what I am not sure of. I mentioned it to the manager and he suggested that I talk to someone from your company. As I said, it is more of a clarification than anything else.”
“Sure, anything. What seems to be the problem.”
“Well, there has been no complaint. But I hoped to get it clarified from you. I had joined the Meridian as an assistant about two months ago. And during this period we have noticed something peculiar with the elevator bank.”
“What happened?” I asked.
“Shall we go to where the elevators are?”
“Sure.” I agreed.
We crossed the main reception and lobby over to the elevator bank. They had installed a 5 elevator bank for the 5-floor hotel. There were three in a row on the right hand side, and two on the left along with the staircase. All doors were two-speed single slide doors, hand-crafted with brass on wood. The elevators themselves were of a more recent design. Silent and swift with some very advanced acceleration features built in. The entire bank was 'intelligent' to a very high degree and varied the response times, load balancing and acceleration change rates depending on the requirement and the time of the day. I knew them very well – I had done most of the simulation myself.
“You see that elevator over there.” he said pointing to the first one on the left. “I have a feeling it is not working well. In my two months, I have only used it once. And I don't think I ever used it again.”
“That sounds like a single unit failure.” I responded, very surprised. “Let me have a look at it.”
The reason I was surprised was because we remotely monitor all our premium elevators installations. And this was premium for sure. So if an elevator was malfunctioning for over two months, we would have been – well, been here two months ago.
I logged on to our central information console, using the PDA and started to run diagnostics. It was taking a while, and Adrian excused himself. I ran a complete set of status-check runs on the elevator bank and checked the results. All the results looked fine to me. The mean waiting times, the average loads, and response times for the monitor were all within limits or as predicted. I had just run the individual tests when Adrian was back.
He seemed interested so I took him through the interface and showed him through the data. The entire data looked normal and well within limits. I pointed this out to Adrian.
“If you can give me more information, I will know what I need to check up on.”
“As I was telling you, there is nothing wrong with the service. And we haven't received any complaints either. It is just that I think that one particular elevator does not seem to be working. I was wondering if it was some sort of backup that worked only when loads were high or something.”
“We don't use any backup elevators in installations like this. I will confirm it for you anyway.”
I opened the control panel back to the central administration. I could not do any changes using the PDA, but I could check the configuration and request for updates. Again Adrian, excused himself for a while, as I completed this rather laborious process. While I was on it I requested two more usage reports.
It was noon by the time I was done. And there was another call waiting for me. I promised Adrian that I would return in the evening after I had gone through the reports that I had requested.
It was late in the evening, when I got back to the Royal Meridian. Adrian was not around, so I settled down to check the reports I had ordered. First checks showed no problems. There was a similar distribution of load between the five elevators. The fourth elevator was showing the same average response times as the rest of the elevators. The wait times and loads too were similar. Nothing seemed to be wrong here than just the feeling of an over-enthusiastic apprentice.
I smiled to myself, as Adrian came back. I greeted him.
“There seems to be nothing wrong with the individual elevators. We can keep the entire bank under observation for a few days and send you the reports.”
“You mean,” he asked, “that you have the data for the individual elevators too?”
“Yes,” I replied. “Each of the individual elevators reports to the monitor, who reports the data back to the company central administration console regularly.”
“H mm.” he smiled and almost muttered to himself. “Alice speaks too eh?”
“Excuse me. Alice who?”
“Huh, that is a name we have for the lazy elevator. We have a running pot for anyone who can prove to have been on the elevator. The next person on Alice is going to get a lot of free cash.”
“Wow. I did not know it was that serious. You mean you have never seen, er, Alice work?”
“You bet. That is what I am trying to tell you. That lazy bones Alice just does no work. Lets no one ride her.”
“I will request for a daily report, with the various usage results, to be mailed to you for the next week. I am sure you will find that information most useful.”
“Thanks a lot. So should I conclude that there is no configuration issue here?”
“Not to my knowledge. We will have a formal report sent to you tomorrow including the details of the configuration for the bank. And we will keep all the monitors under close watch and will send you daily reports for a week. I am sure that will satisfy you.”
“Yeah. Though I would be a lot more satisfied if I win the pot.”
“Sure. All the best, and all the best for that.”
The next day I was back in the same coffee shop, opposite the Royal Meridian. I had no cases to work on. So idly I opened the case I had yesterday for the Meridian. All the scheduled reports were being sent. And the case was scheduled to be closed automatically after a week, while we would mail Adrian the daily usage report for the entire next week.
The PDA was a poor tool for doing any comparisons. And I had several juicy reports, two particularly juicy ones were those dealing with usage statistics of the entire bank and individual cars.
Both these reports were reported out by two different elements of an elevator installation, the controller and the monitor. The core of the elevator installation is the controller. It is the brain of the system. It runs almost all the software that is built for an installation. The controller is what decides every parameter for the working of the entire system. Each lift reports its state to the controller and the monitor. The controller uses this information to assigns jobs to the various lifts in the installation. The monitor, which is a separate subsystem, sits by passively, listening to the states reported by the various lifts, reporting it real-time. The controller reports out, in batches, the overall working statistics, while the monitor is on-line all the time reporting real time back to the administration center. This dual reporting structure is essentially put in place to allow correlation and redundancy of data.
I wanted to check the consistency of the reported data. Flipping through the reports I copied different numbers on a paper napkin. Checking through the numbers, I wondered why I was doing this. Then, I thought about Adrian and the bet, and I was really intrigued. I promised myself that this would be the last check before I gave up this waste of time. Just then the PDA buzzed with another call.
I borrowed a calculator and added up the usage numbers. Adding the individual counts, I expected them to equal that reported by the controller. To my surprise, they did not. The sum of the usages reported by the individual elevators through the monitor was greater than the consolidated figure reported by the controller.
This was strange. I double-checked the dates for the reports, and also the reporting times. The numbers ought to add up. But they did not. There definitely was a malfunction somewhere. Alice and her colleagues individually were reporting more work than the total reported, by the controller. On an impulse, I then added the work reported by the colleagues of Alice, and that matched the usage reported by the controller. Alice had been reporting data but she was not working.
The PDA angrily reminded me that there was another call on hold. I proceeded with the call, but my mind was still on Alice. Mentally I ran through the code of the entire elevator installation, to see what could have screwed up – nothing leaped up. Completing the present call as soon as I could, I headed back to the Royal Meridian.
On my way, I went through a number of formalities to get the permission for what I wanted to do. I knew there was a problem somewhere, either with the controller who was not giving Alice enough work, or with Alice who was not able to tell the controller that it was ready to accept work. I decided to flash the software on board both the controller and the elevators – a re-installation in other words. That ought to fix the problem.
I sought Adrian and explained, briefly, what I intended to do. He had just one question for me.
“How will it affect the working of the installation?”
“It will not, save, a one minute wait when the software is being reloaded. This reload is done when there are no people in any of the elevators. The moment the controller finds all elevators free, it will automatically freeze operations and call for the update on its own. So there will be absolutely no inconvenience.”
“I suppose so. I think you can go ahead if there will not be a real outage. Anything, I guess is fine, if you can make lazy bones Alice working again.” he smiled wryly.
Forty two minutes after I put the controller on upgrade alert, it responded with all elevators empty. All cars were run to the basement, all displays went down, and the system froze for reload. Fifty five seconds later the lights were back on and system checks commenced. A minute later, the lifts were back on-line.
But Alice was not. Adrian was with me, a camera in hand to photograph Alice working. But Alice was not working. Since I was already on the system, I tried to find what Alice was saying to the controller.
Alice was reporting almost all prescribed states to the controller – 'executing', 'processing', 'reporting'. It just never ever went into the 'ready' state. And as long as an elevator did not report a 'ready' state, the controller just could not instruct it. Alice was cheating and there was no doubt about that.
I mentioned none of these details, either to Adrian or in my report. For obvious reasons – no one had ever heard of a “dishonest” or a “lazy” elevator before. And I wasn't going to change it if I could help it. I went to the one person I could talk to as a programmer – my supervisor.
“Do you know that the same controller is on board all the elevators at the Royal Meridian?” the small eyes peered from under bushy eye brows, obviously very annoyed.
The eyes belonged to my supervisor, Freddy – head of controller development. All of us called him Freddy – when he wasn't around. When he was, it was either “sir” or “boss”. Freddy was a small man, only physically. Short and balding, he had a gruff voice with a whisper he could use with amazing effect. He often whispered when he was annoyed. And now his voice was so low that it almost seemed reasonable.
“And only Alice is misbehaving you say?”
“Do you drink?”
“Yes, sir. But no sir. I mean I am not drunk, sir.”
“Then do you think you are making sense?.”
“Aah! So we agree on that? Good. Tell me, who tested the last two controllers that went into production?”
“I and ...”
“Is it your honest opinion that such behavior is possible?”
“No, sir. But the data is clearly showing that Alice is, well, cheating, sir.”
There was a silence. Freddy continued to stare at me. You could see that he was not really looking at me. Finally he made up his mind.
“Bring me a report. Quick. No, make that two reports. One with the problem as you saw at the Royal Meridian and the fact that you could do nothing to set it right. Make a second report with the data you are talking about. I want the two reports quick. The last thing I want is another lazy Alice on my hands.”
He turned to his computer and that was signal for me to move. I hesitated, but suddenly the absurdness of my position struck me. And I went to compile the two reports.
I returned to my desk to prepare the two reports. Things started to move pretty quickly as soon as I submitted my reports. Mails flew thick and furious and the reports went all over the company – up to the VP Marketing and VP Products.
Alice was to be replaced. The entire car system was going to be scrapped – lock, stock and barrel. The hotel was told that we had remotely identified a problem with one of their elevators. The name “Alice” was not mentioned. The client was amazed at our service.
I went back to Freddy.
“But sir, I know that Alice was cheating sir. And I know the code that ran Alice sir. I mean, there is a 'thinking', lazy elevator controller sir. Shouldn't we do something about it?”
“Like study it. Find out what went wrong with it in the first place. Is it a bug, or is it something else – awareness maybe.”
“And, well, we can use that information sir.”
“I mean, we are probably talking about true selfish intelligence sir...”
“How are we going to use it?”
“I... I don't know sir.”
“To make more lazy elevators?”
“No sir, but...”
“Look son. Something is wrong. We know that. Do you think we will go around talking about our incompetencies to our clients?”
“You are right. So we help our clients and we replace the problematic elevator. Period.”
“But sir, that is what Alice wants sir. We are doing exactly what she wants sir.”
“So? You are having your ego bruised by an elevator? Forget it, there shall be no more discussions on this. And one word of caution – stop referring to the elevator as Alice. Now get back to work and let me also get some work done.”
The company warehouse is about two kilometers outside the city limits – making it a half-an-hour's drive from where I was. The next Friday, I drove down to the place. After some inquiries I was directed to the dump-shed behind the main building.
Alice was in a corner – its car beautiful, majestic and still shining. The entire structure was dismantled. I waded around the unique artifact in the otherwise dark and dingy shed looking for what I came for. I found the controller unit in a paper wrapping inside the car. The unit felt warm to touch, and as I lifted it, I swear I heard a satisfied sigh.
-- The End --
September 11, 2005: First published version.
July 29, 2010: Updated formatting
Post a Comment