Microsoft Research Blog

English

  1. Texture and Reflection in Computer Generated Images 

    October 1, 1976 | Jim Blinn

    In 1974 Catmull developed a new algorithm for rendering images of bivariate surface patches. This paper describes extensions of this algorithm in the areas of texture simulation and lighting models. The parameterization of a patch defines a coordinate system which is used as a key…

  2. Semi-conservative Reduction 

    August 9, 1976 | Yuri Gurevich

    Let L be the set of formulas of an ordinary version of the first order predicate calculus. The term "class" is used for "subset of L".

  3. The Decision Problem for Standard Classes 

    August 8, 1976 | Yuri Gurevich

    The classification of prefix-signature fragments of (first-order) predicate logic with equality, completed in [7], is extended to first-order logic with equality and functions. One case was solved (confirming a conjecture of this author) by Saharon Shelah.

  4. Relevance weighting of search terms 

    January 1, 1976 | Stephen Robertson and K. Sparck Jones

    This paper examines statistical techniques for exploiting relevance information to weight search terms. These techniques are presented as a natural extension of weighting methods using information about the distribution of index terms in documents in general. A series of relevance weighting functions is derived and…

  5. Engineering a security kernel for Multics 

    October 1, 1975 | Mike Schroeder

    This paper describes a research project to engineer a security kernel for Multics, a general-purpose, remotely accessed, multiuser computer system. The goals are to identify the minimum mechanism that must be correct to guarantee computer enforcement of desired constraints on information access, to simplify the…

  6. The protection of information in computer systems 

    September 1, 1975 | Mike Schroeder

    This tutorial paper explores the mechanics of protecting computer-stored information from unauthorized use or modification. It concentrates on those architectural structures--whether hardware or software--that are necessary to support information protection. The paper develops in three main sections. Section I describes desired functions, design principles, and…

  7. Multiple Byte Processing with Full-Word Instructions 

    August 8, 1975 | Leslie Lamport

    My algorithms for parallelizing loops, described in papers starting with [9], were rather inefficient. They could be sped up with parallel execution on an array processor like the Illiac-IV. But I realized one could do even better than the 64-times speedup provided by the Illiac's…

  8. On Self-stabilizing Systems 

    December 5, 1974 | Leslie Lamport

    This note was written upon reading Dijkstra's classic paper "Self-stabilizing Systems in Spite of Distributed Control" that appeared in the November 1974 issue of CACM (see [58]). It generalizes one of the algorithms in Dijkstra's paper from a line of processes to an arbitrary tree…

  9. A New Solution of Dijkstra’s Concurrent Programming Problem 

    August 5, 1974 | Leslie Lamport

    This paper describes the bakery algorithm for implementing mutual exclusion. I have invented many concurrent algorithms. I feel that I did not invent the bakery algorithm, I discovered it. Like all shared-memory synchronization algorithms, the bakery algorithm requires that one process be able to read…

  10. The Parallel Execution of DO Loops 

    February 5, 1974 | Leslie Lamport

    This is the only journal paper to come out of the work mentioned in the description of [9]. It contains essentially the special case of the results in [9] for a single tight nesting of loops. It was one of the early articles on the…

  11. Redundancy and robustness in memory protection 

    January 1, 1974 | Butler Lampson

    The control of access to memory is a major problem in the design of protection mechanisms, especially for systems which allow files to be mapped into addressable memory. We use an abstract model of memory addressing to explain the space of possible organizations and examine…

  12. Report of Session on Concurrency 

    September 1, 1973 | Mike Schroeder and Jack Dennis

    This session was devoted to discussion of primitives for synchronizing the execution of concurrent processes. Jack Dennis introduced the session by noting that concurrent activity in a computer systems leads to the possibility of nondeterminacy. While most users with applications programs do not want nondeterminate…