{"id":6,"date":"2006-04-12T09:33:14","date_gmt":"2006-04-12T17:33:14","guid":{"rendered":"http:\/\/www.bd.handspicker.net\/blog\/archives\/2006\/04\/12\/war-story-the-palladium-print-system\/"},"modified":"2007-03-17T11:23:27","modified_gmt":"2007-03-17T19:23:27","slug":"war-story-the-palladium-print-system","status":"publish","type":"post","link":"https:\/\/www.bd.handspicker.net\/blog\/archives\/2006\/04\/12\/war-story-the-palladium-print-system\/","title":{"rendered":"Strategy: The Palladium Print System"},"content":{"rendered":"<p>In 1986, within  a few weeks of joining Digital Equipment Corporation as an Enterprise Management  Architect, I was tossed a &#8220;simple&#8221; assignment of resolving a distributed queuing  problem between VMS, Ultrix and the new line of LPS networked laser print  servers.  Customers were complaining that print jobs were not being printed  in exact time-stamp order, with suspicion that one operating system was being  given precedence over the other operating system.  Since there was a bit of  contention between the VMS proponents and the Ultrix proponents, the problem  needed to be corrected to avoid internecine fighting within the  customer-base.  The real problem was with the lack of a coherent  distributed queuing strategy between multiple print servers (each of which  pre-queued a small number of jobs at a time) and multiple client OS printer  queues.  As anyone with experience standing in line at the bank knows, it  can be a crap shoot who gets to a teller first when there are multiple lines to  multiple tellers.<\/p>\n<p>Solving the problem required more than a simple fix to the LPS  and OS queuing systems. The solution was a new model for distributed  printing across the networked printer and software product lines.   So, I joined Tom Hastings from the Printer Division and colleagues from across  engineering, program management and marketing to define a common Print Systems  Model for the corporation.<\/p>\n<p><!--more-->To be successful the model needed to be  implemented across VMS, Ultrix, Printing Systems and a number of software  application groups. Our new model defined support for distributed imaging  services that went significantly beyond what was supported in VMS and Unix  printing subsystems.   Unfortunately, the Ultrix group refused to make  changes to the lpd printer daemon because they didn&#8217;t want to deviate from the  de-facto Unix standards.  And the VMS group, while willing to extend their  printer supervisor, wouldn&#8217;t change to align with the Unix lpd because they  needed to be backward compatible for existing 3rd-party commercial printing  applications.  So, after a year&#8217;s worth of work fixing the technical queuing  problem at the model level, we were still dead in the water with the product  groups. A simple technical solution was not sufficient to fix the problem.   We needed to start thinking strategically.<\/p>\n<p>I suggested an outrageous  solution to the problem &#8211; if we couldn&#8217;t change our VMS customers and their  3rd-party applications, we&#8217;d have to change the Unix industry so that Ultrix  could evolve&#8230; all so that VMS and Ultrix could work together to print jobs  consistently across Digital&#8217;s networked printers.<\/p>\n<p>To change the entire  Unix community we first needed to get credibility for the proposed changes, so  we joined a fledgling printing systems standards effort at ECMA (European  Computer Manufacturers Association). Siemens, ICL, Bull and Xerox were already participating in the ECMA distributed printing working group.  They were motivated to develop the standard by similar problems  within and between their own companies.<\/p>\n<p>It took awhile to come to agreement on  a standard during many trips to various European cities. (Though that might sound exciting, we did  precious little site-seeing, just a lot of smoky rooms and a lot of cutting  and pasting with real scissors and glue sticks!)  During those meetings, I suspect some folks  thought I was crazy pushing for an RPC rather than message-passing protocol. (I  was thinking ahead to Unix implementations.)  And they definitely thought I  was crazy for suggesting additions to support features that we now expect in  multi-function printers and computer-driven web-printing systems.  But we  ended up with a draft standard that was appreciated by many in the Unix  community as well as in the commercial printing industry.<\/p>\n<p>Of course to get the Unix community to take  the hook, and not just appreciate the bait from afar, we needed to have a  reference implementation. Project Athena at MIT had gained some traction and was  already well-funded by Digital, IBM and Apollo, so I proposed a follow-on  project to build an ECMA-based reference implementation that I named the  Palladium Print System.  All three companies and MIT contributed engineers  to work on the implementation.  HP joined the informal consortium when it  acquired Apollo early in the project. The project was formally positioned as a  test prototype of the developing ECMA standard, and indeed, our early  implementation experiences were used to fine-tune the developing standard. The  Palladium implementation was so successful, that while it wasn&#8217;t able to exactly  track the evolving standard, it still ended up being shipped by HP as OpenSpool  V1.0 as well as becoming the basis for IBM AIX and Digital Unix print  services.<\/p>\n<p>The final version of the Palladium Print System was  adopted by the Open Software Foundation as part of the OSF Distributed  Management Environment.  We had successfully changed the Unix community, at  least to the point where the Digital Ultrix group (now name Digital TRUE Unix), could  adopt the Digital Print Systems Model as reflected in the Palladium Print  System.  The VMS group embraced the Print Systems Model in their own  implementation of the VMS print server and printer supervisor. And the operating  systems could now work with the LPS Print Server networked printers to queue  jobs consistently.<\/p>\n<p>Similar results were won within Xerox, HP, Sun, Siemens and other computer manufacturers. Based on the success of the Palladium Print System, Digital developed strategic partnerships with Xerox and Sun to bolster their mutual market positions through the PrintXchange implementation.<br \/>\nPostscript:  The ECMA  standard was approved, considered within ANSI, DT and CCITT, before being adopted as International standard ISO 10175 &#8211; Document Printing Application (DPA).  DPA became the basis for the X\/Open POSIX PSIS, IETF Internet  Printing Protocol, Printer Working Group (PWG) and IEEE-ISTO standards. It became the strategic protocol for all high-end Xerox printers. It was incorporated into Microsoft Windows as the Internet Printing Protocol. It has become the protocol of choice for electronic submission of print jobs to commercial offset and web-printing houses. The standard&#8217;s protocol has evolved from being based on ISO OSI message passing to being based on RPC to, now, based on HTTP.<\/p>\n<p>All this happened because a few customers complained that their co-workers&#8217; print jobs got printed a few minutes earlier than their own.<\/p>\n<p><strong>Acknowledgements<\/strong>: <font face=\"Helvetica, Arial, sans-serif\">My grateful thanks to my reviewers: Carl-Uno Manros, former standards negotiator for <\/font><font face=\"Helvetica, Arial, sans-serif\">Siemens and <\/font><font face=\"Helvetica, Arial, sans-serif\">Xerox; Tom Hastings, former standards negotiator for Digital Equipment Corporation and Xerox; Stan McConnell, former standards negotiator for Xerox.<\/font><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In 1986, within a few weeks of joining Digital Equipment Corporation as an Enterprise Management Architect, I was tossed a &#8220;simple&#8221; assignment of resolving a distributed queuing problem between VMS, Ultrix and the new line of LPS networked laser print &hellip; <a href=\"https:\/\/www.bd.handspicker.net\/blog\/archives\/2006\/04\/12\/war-story-the-palladium-print-system\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,9,8],"tags":[],"class_list":["post-6","post","type-post","status-publish","format-standard","hentry","category-standards","category-strategy","category-war-story"],"_links":{"self":[{"href":"https:\/\/www.bd.handspicker.net\/blog\/wp-json\/wp\/v2\/posts\/6","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bd.handspicker.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bd.handspicker.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bd.handspicker.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bd.handspicker.net\/blog\/wp-json\/wp\/v2\/comments?post=6"}],"version-history":[{"count":0,"href":"https:\/\/www.bd.handspicker.net\/blog\/wp-json\/wp\/v2\/posts\/6\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.bd.handspicker.net\/blog\/wp-json\/wp\/v2\/media?parent=6"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bd.handspicker.net\/blog\/wp-json\/wp\/v2\/categories?post=6"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bd.handspicker.net\/blog\/wp-json\/wp\/v2\/tags?post=6"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}