Chorus Systèmes SA

Chorus Systèmes SA was a French software company that existed from 1986 to 1997, that was created to commercialise research work done at the Institut national de recherche en informatique et en automatique (INRIA). Its primary product was the Chorus distributed microkernel operating system, created at a time when microkernel technology was thought to have great promise for the future of operating systems. As such Chorus was in the middle of many strategic partnerships regarding Unix and related systems. The firm was acquired by Sun Microsystems in 1997.

Origins
The Chorus distributed operating system research project began at the French Institut national de recherche en informatique et en automatique (INRIA) in 1979. The project was begun by Hubert Zimmerman, a pioneer of networked computing who devised the OSI reference model which became a popular way to describe network protocols. In large part the French CYCLADES computer networking project was a precursor for the Chorus work, as essential to the idea of Chorus was to take advantage of what was learned in research into networking in order to add communication and distribution within heretofore monolithic operating system kernels. Several iterations of the Chorus technology were produced at INRIA between 1980 and 1986, which were referred to by the Chorus creators as Chorus-v0 through Chorus-v2.

Concurrently, there was another INRIA project, called Sol. It had been begun by Michel Gien, who also had a background from CYCLADES; it sought to build a Unix operating system implementation for French minicomputers and microcomputers. Sol used the Pascal programming language rather than C for this, as part of adopting more modern software engineering techniques. In 1984, the Sol project was merged into the Chorus project, and as one result, the Chorus-v2 iteration adopted the interfaces of Unix System V rather than having its own custom set of interfaces.

Beginning years
Microkernel technology was seen as having great promise for advancing the state of operating system and distributed computing. Accordingly, Chorus Systèmes SA was founded in 1986, in order to commercialise the results of the INRIA research. The co-founders were Zimmerman and Gien. Having spent a decade or more enmeshed in the politics of publicly-funded research work, both felt that it was time to try a startup company, especially since they had seen others they knew doing so (such as the American networking pioneer Robert Metcalfe founding 3Com). Some Chorus engineers from INRIA joined them in the new venture. Zimmermann became head of the new company, in a position described at different times as president, chairman, or CEO. Gien was variously described as chief of technology, or general manager and director of research, for Chorus Systèmes.

At the time, technology startups in France were rare, a point emphasized by the French trade publication 01 Informatique in a profile of the company and by co-founder Gien in retrospect. Thus Chorus Systèmes and system software company ILOG, founded soon after, were in the vanguard. Venture capitalists did not exist in France, but the new firm was able to get funding from European projects and from government contracts. In particular this included funding from INRIA and France Telecom.

The offices of Chorus Systèmes were located at 6 avenue Gustave Eiffel in the town of Saint-Quentin-en-Yvelines in the Île-de-France region outside of Paris. Chorus Systèmes was able to attract engineering talent from around the world, in part because of the connections the founders had in the research world, in part because of the interesting nature of the work, and in part because people were attracted to the idea of working in the Paris area. By mid-1989, Chorus Systèmes had some 30 employees.

By arrangement with its financial backers, during its first two years Chorus Systèmes focused solely on improvements to the Chorus technology, with no attempts to garner revenue via consulting or similar activities. The Chorus-v3 iteration consequently came out around 1988 from Chorus Systèmes, which improved on its real-time and distributed capabilities. Some of the improvements were inspired by work done in other microkernel projects; as an academic paper put out by two of Chorus's staff members stated, their goal was to "[build] on the experience of state-of-the-art research systems ... while taking into account constraints of the industrial environment." Chorus-v3 also featured a variant of Unix, called MiX, in such a way that, as one Chorus paper put it, "we will refer to the combination of the Chorus Nucleus and the set of Unix System V subsystem servers as the Chorus/MiX operating system."

Emphasis on Unix
Chorus Systèmes believed it held the key to the technological direction Unix should take and had large ambitions in this realm. Indeed, almost from the start of the company's history, Zimmerman was proclaiming that the existing Unix technology had reached the end of its useful life and that it needed a new kernel approach going forward. As part of this, Zimmerman wanted to expand usage of Unix into new areas and then, within a few years, capture ten percent of that expanded market. As such, the company's executives met with people from both the Open Software Foundation and Unix International (the two sides of the Unix Wars then taking place) to seek their endorsements of the Chorus microkernel and to navigate their requirements.

Similarly, Chorus Systèmes engaged with a number of hardware vendors in an effort to convince them to adopt the Chorus technology. In early 1990, GEC Plessey Telecommunications agreed to adopt Chorus for a new generation of its System X product, a digital switching system. At the time it was the biggest deal Chorus Systèmes had made, and was subsequently mentioned in the general press. Chorus Systèmes also made a deal with Gipsi SA, a maker of X terminals. During 1990, Unisys agreed to use Chorus as the basis for a Unix operating system. The same year, Intel's Scientific Computers group agreed to use Chorus for its Intel iPSC supercomputer.

These successes were followed in 1991 by ports of the Chorus microkernel to the transputer architecture from Inmos and to Acorn Computers' ARM3 RISC processor "for use in a multimedia workstation". The year after that, Tolerance Computer agreed to work with the Chorus microkernel towards making the first fault-tolerant Unix for a microcomputer-level system. ICL employed the Chorus microkernel in the software architecture of its GOLDRUSH MegaSERVER product: a parallel database server featuring up to 64 SPARC-based processing elements, each running its own database server in a Chorus microkernel-based Unix System V Release 4 environment, and accessing a common, coherent file store. This product employed Chorus/MiX V.4 specifically.

Business aspects
The primary alternative to Chorus in the microkernel space was the Mach software at Carnegie Mellon University. Two other microkernel projects going on at the time were Amoeba from Vrije Universiteit Amsterdam and V at Stanford University. Chorus and Mach shared many similar features of their outward design, but had differences in areas such as naming and addressing and protection schemes. In some cases this gave Chorus an advantage, because it provided greater flexibility at the kernel mode–user mode boundary. In any case, Chorus was the only one of these projects that was ready with a commercial product.

In 1990, the company created a United States subsidiary, Chorus Systems Inc., located in Beaverton, Oregon, that initially had seven employees but plans to double that. Will Neuhauser was president of the subsidiary. Chorus employees did a lot of evangelizing of the technology, including in the United States. But initially, the large majority of the company's sales came from Europe.

By 1990, Chorus Systèmes had some $6.5 million in annual revenues. Over time, Chorus Systèmes received various outside investments of funds. By mid-1991, 63 percent of the company was owned by its founders and employees; 16 percent by Innovacom; and amounts of less than 10 percent by, in descending order, Soffinova, Credit Lyonnais, Banexi Ventures, and Banque Hervet.

In 1991, Unix System Laboratories (USL), an off-shoot of Unix founder AT&T, forged an arrangement with Chorus Systèmes to engage in cooperative work on the Chorus microkernel technology, with the idea of supporting USL's Unix System V Release 4 on Chorus/MiX and thereby making it more scalable and better suited for parallel and distributed applications. As part of this, USL took a $1 million stake in Chorus Systèmes. Much of the USL Chorus work was done at the USL Europe facility in London. This was part of the larger Ouverture project, a $14 million effort that was itself part of the European Strategic Program on Research in Information Technology (ESPRIT), overseen by the European Commission.



Microkernels also offer the possibility of multiple operating systems running side-by-side on the same machine. The ability of Chorus to support this soon became of interest to Novell, which had acquired USL and was looking for a way to combined its flagship NetWare product with USL's SVR4-based UnixWare. In 1994 Novell began publicly describing its plans to develop "SuperNOS", a microkernel-based network operating system that would run NetWare's network services alongside UnixWare's application services and accordingly be a product that could successfully compete with Microsoft's Windows NT. SuperNOS, which attracted considerable industry attention, was based on the work that had already started between USL and Chorus Systèmes, and a significant number of engineers got assigned to it. The project endured prolonged internal architectural debates, including Gien and Novell's chief scientist Drew Major disagreeing in the trade press about whether the existent Chorus technology was up to the task. In any case, later in 1995, Novell sold the Unix technology to The Santa Cruz Operation (SCO) and SuperNOS was abandoned.

SCO itself had had its own dealings with Chorus Systèmes, going back to 1992 with an agreement between the two companies for cooperative work in the context of combining SCO's OpenServer variant of Unix with the Chorus microkernel for use in real-time processing environments in telecommunications and other areas. The first result of this, a dual-functionality product called Chorus/Fusion for SCO Open Systems Software, was released in 1994. Further work between the two companies took place during the next few years; by 1995, SCO had set up a business unit for the venture and was spending considerable amounts of engineering resources on what was now a re-implementation of OpenServer to run on top of the Chorus microkernel, in what was going to be called the SCO Telecommunications OS Platform. In 1996, SCO and Chorus unveiled a technology roadmap for its OpenServer/Chorus product, giving a codename of MK2 for a product aimed at telephone switches, telephony and multimedia servers, and announcing adoption by Siemens Private Communications Systems. But the project ended up being scrapped before it achieved fruition.

Other projects
Object-oriented operating systems were another area of active research at the time and there were several efforts to provide ones on top of microkernels. One was GUIDE, a project of the Universities of Grenoble, which implemented their object-oriented OS on Chorus, Mach, and regular Unix, and drew comparisons between the three.

Another was COOL and was undertaken by Chorus Systèmes itself. Standing for the Chorus Object-Oriented Layer, the first version of COOL was done in conjunction with INRIA and the SEPT, a research laboratory of France Telecom, and came into being in late 1988. A primary aim of the COOL work was to support distributed groupware applications; with that goal partly in mind, COOL was substantially revised into a two-layer architecture with clusters on the lower layer and objects represented through the higher layer. This revision was developed in partnership with the ISA and Commandos projects under the aegis of ESPRIT and materialised in late 1991. The findings from the COOL project were described in an article in Communications of the ACM in 1993.

Independent investigations were also made into integrating Chorus with Mac OS, pursuing an approach superficially similar to those already taken with other microkernel technologies such as Mach 3.0 where DOS or Mac OS were run as user-level applications. Following on from earlier work that ported the Chorus simulator software to Apple's A/UX operating system, allowing experience to be gained with Chorus itself, such efforts proceeded to the point of porting Chorus to the Macintosh IIcx hardware, permitting Chorus to be started within the Mac OS environment, and for Chorus to appear as an application within that environment, achieving a form of "cohabitation".

Change of focus
Over time, development effort on Chorus shifted towards real-time operating systems for embedded systems. As part of the ESPRIT's STREAM project, Chorus was structured into a scaled series of capabilities, with the smallest of these being a 10K-byte "nanokernel" with a simple executive and memory management logic up to a full-featured distributed operating system that could run Unix.

Subsequently the company looked to change directions away from Unix, as it said its customers were more interested in the Java software platform and its capabilities on real-time devices. In February 1997, the company announced the Chorus/Jazz product, which was intended to allow Java applications to run in a distributed, real-time embedded system environment. The basis of Chorus/Jazz was Chorus Systèmes having licensed JavaOS from Sun Microsystems and replaced that technology's hardware abstraction layer with the Chorus microkernel. At this point, Chorus Systèmes offered three products for the embedded systems space: Chorus/Micro, for small, hard real-time applications; Chorus/ClassiX for larger, RT-POSIX-compliant applications, and Chorus/Jazz in the Java realm.

By 1997, Chorus Systèmes numbered among its customers in the telecommunications area Alcatel-Alsthom, Lucent Technologies, Matra, and Motorola. Its revenues were $10 million.

By this point, Chorus Systèmes was looking to get acquired by another company. A couple of years previously, SCO had inquired about such a possibility, but felt that Chorus Systèmes was valuing itself too highly. But with the Java work going on, and a personal connection that Gien had with Sun co-founder Bill Joy, there was an obvious possibility in this respect.

Acquisition by Sun and aftermath
In September 1997, it was announced that Sun Microsystems was acquiring Chorus Systèmes SA. The total amount paid for the company was the equivalent of $26.5 million. The deal was part of an overall desire by Sun to enter the embedded systems market, which was a growing industry that was attracting the attention of analysts and investors. Given the declining interest in microkernels, the industry publication Computergram International considered Chorus Systèmes fortunate to have found a buyer for itself.

The Sun acquisition closed on 21 October 1997. The Chorus technology became part a new Embedded Systems Software business group at Sun. The name of Chorus itself was changed to ChorusOS. Some of the work done at Sun included providing a combination of ChorusOS and Sun Solaris for high-availability systems in the telecommunications market.

Subsequently, Sun went through a restructuring during the early 2000s recession and decided to jettison the ChorusOS technology. Some three dozen Sun employees working on Chorus formed their own company, Jaluna, which used microkernel-analogous approaches to the increasingly important domain of virtualization. This company was then renamed to VirtualLogix, which was then acquired by Red Bend Software in 2010.