Submitted by Jim Zaun on Thu, 07/09/2020 - 08:38
2001 — 2002
Thomson-Dialog, (e-information) [Mountain View, CA]
Lead engineering development of company's distributed, enterprise, content library and improved the response time of Dialog's web product by 20 fold along with easier maintenance and important new B2B features.
  • Solved a long standing performance problem in Dialog's flagship C++/Java web product, Dialog Web, resulting in a 20 fold improvement in response times. This was one of those problems that happened in the field (on production) but was impossible to reproduce in development or QA. To make things worse, Dialog had farmed out management of the production site to another company at a remote data center, so it was that much more difficult to diagnose the problem. Another engineer and I secretly put in a back door into the product that would allow us to instrument and monitor the performance of the product on the production servers (against company policy, of course). Using this back door we were able to diagnose the cause of the problem. As a security check, the Dialog Web product did a reverse lookup of IP addresses on every request to see if the source matched a list of approved domains (only those of paying customers). The problem was that the nslookup API is synchronous and resolving IP addresses to domains for countries around Asia would often take many seconds causing the overall response of the product to be painfully slow esp. for Asian customers. This issue never occurred for clients in the US and Europe. Once I identified the problem, the solution was simple. We cached address-to-domain associations for 8 hours before doing the nslookup again thus avoiding repeated nslookups. The overall response times for our customers in Asia increased by 20 fold after installing the fix.
  • Designed a XML remote linking architecture for Thomson's next-generation e-information systems.
  • Completed document delivery and embedding of CAS Abstracts on schedule using a new light-weight communications channel designed and implemented at the socket level.
  • Improved Dialog's C++ web product line with dynamic configuration, B2B remote embedding and on-line remote document ordering, all on schedule and within budget.
  • Designed and implemented the automated parameterization of date information across all 5 Dialog web product lines affecting roughly 2000 files on a tight end-of-year schedule.

[C++, Java, J2EE, BSD sockets, Perl, TCL, JRun, RogueWave, Clearcase]