Patents by Inventor Ashley N. Saulsbury

Ashley N. Saulsbury has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 9046889
    Abstract: A manufacturing process for providing an assembly formed of a first piece and a best fitted second piece is described. The manufacturing process is carried out by performing at least the following operations: receiving the first piece characterized in accordance with at least a first attribute, selecting the best fitted second piece from a buffer, the selecting based in part upon a best matching value of a second attribute in relation to the first attribute replacing the selected best fitted second piece with another second piece such that the number of second pieces in the buffer remains about the same, and forming the assembly the first part and the second part to form the assembly.
    Type: Grant
    Filed: July 13, 2012
    Date of Patent: June 2, 2015
    Assignee: APPLE INC.
    Inventors: Ashley N. Saulsbury, Nicholas I. Reid
  • Publication number: 20150138184
    Abstract: A computing device may include a display with an overlay layer that enables presentation of 2D, 3D images, a simultaneous combination of 2D and 2D images, multiple view images, and/or combinations thereof. In some implementations, the overlay layer may be one or more LCD matrix pixel masks, a number of lenses, one or more LCD layers configurable as lenses, or various combinations thereof. In various implementations, the overlay layer may be adjusted to continue or alter display of 3D portions and/or multiple view portions when the orientation of the computing device is changed. In one or more implementations, the computing device may adjust the overlay layer based on movement and/or position of one or more users and/or one or more eyes of the user(s). In some implementations, the computing device may be capable of capturing one or more 3D images.
    Type: Application
    Filed: November 20, 2013
    Publication date: May 21, 2015
    Applicant: Apple Inc.
    Inventors: Brett C. Bilbrey, Ashley N. Saulsbury, David I. Simon
  • Publication number: 20130331975
    Abstract: A manufacturing process for providing an assembly formed of a first piece and a best fitted second piece is described. The manufacturing process is carried out by performing at least the following operations: receiving the first piece characterized in accordance with at least a first attribute, selecting the best fitted second piece from a buffer, the selecting based in part upon a best matching value of a second attribute in relation to the first attribute, replacing the selected best fitted second piece with another second piece such that the number of second pieces in the buffer remains about the same, and forming the assembly the first part and the second part to form the assembly.
    Type: Application
    Filed: July 13, 2012
    Publication date: December 12, 2013
    Applicant: Apple Inc.
    Inventors: Ashley N. SAULSBURY, Nicholas I. Reid
  • Patent number: 7487327
    Abstract: A processor employing device-specific memory address translation. In one embodiment, a processor may include a device interface configured to receive a memory access request from an input/output (I/O) device, where the request specifies a virtual memory address and a first requestor identifier (ID) that identifies the I/O device. The processor may also include an I/O memory management unit coupled to the device interface and configured to determine whether a virtual-to-physical memory address translation corresponding to the virtual memory address is stored within an I/O memory translation buffer. The I/O memory management unit may be further configured to determine whether a second requestor ID stored within the I/O memory translation buffer and corresponding to the memory address translation matches the first requestor ID. If the first and second requestor IDs do not match, the I/O memory management unit may disallow the memory access request and to signal an error condition.
    Type: Grant
    Filed: June 1, 2005
    Date of Patent: February 3, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Bruce J. Chang, Ricky C. Hetherington, Brian J. McGee, David M. Kahn, Ashley N. Saulsbury
  • Patent number: 7444503
    Abstract: A method and apparatus for delivering a device driver to an operating system without user intervention. One or more operating systems (e.g., different operating system programs, different versions of one operating system) execute on a computer platform. During booting of an operating system a device is identified for which a driver is needed. The driver is requested from a service processor of the platform, which includes memory or storage for storing multiple device drivers (or multiple versions of one driver, for different operating systems). The driver is retrieved from the service processor's storage and delivered to the operating system.
    Type: Grant
    Filed: January 11, 2006
    Date of Patent: October 28, 2008
    Assignee: Sun Microsystems, Inc
    Inventors: Ashley N. Saulsbury, David J. Redman, Gregory C. Onufer, John G. Johnson
  • Patent number: 7430643
    Abstract: The present invention provides a method and apparatus for increased efficiency for translation lookaside buffers by collapsing redundant translation table entries into a single translation table entry (TTE). In the present invention, each thread of a multithreaded processor is provided with multiple context registers. Each of these context registers is compared independently to the context of the TTE. If any of the contexts match (and the other match conditions are satisfied), then the translation is allowed to proceed. Two applications attempting to share one page but that still keep separate pages can then employ three total contexts. One context is for one application's private use; one of the contexts is for the other application's private use; and a third context is for the shared page. In one embodiment of the invention, two contexts are implemented per thread. However, the teachings of the present invention can be extended to a higher number of contexts per thread.
    Type: Grant
    Filed: December 30, 2004
    Date of Patent: September 30, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Paul J. Jordan, William J. Kucharski, Roman M. Zajcew, Ashley N. Saulsbury, Quinn A. Jacobson
  • Patent number: 7331043
    Abstract: Software techniques are employed to mitigate soft errors. In particular, a compiler (or other executable code generator) may emit otherwise duplicative instructions targeting otherwise duplicative storage locations to facilitate run-time detection and, in some cases, mitigation of soft errors. In general, a compiler emits a program sequence of primary instructions that correspond to source code. However, in addition, for those primary instructions that target storage susceptible to soft errors, the compiler may emit corresponding additional instructions that target additional storage. In some implementations the additional storage is not itself susceptible to soft errors. However, more generally, implementations may tolerate soft errors affecting the additional storage, as long as such soft errors are generally uncorrelated with those affecting the storage targeted by the primary instructions.
    Type: Grant
    Filed: June 26, 2002
    Date of Patent: February 12, 2008
    Assignee: Sun Microsystems, Inc.
    Inventor: Ashley N. Saulsbury
  • Patent number: 7178005
    Abstract: A method and mechanism for managing timers in a multithreaded processing system. A storage device stores a plurality of count values corresponding to a plurality of timers. A read address generator is coupled to convey a read address to the storage device. The read address generator is configured to maintain and increment a first counter. In response to determining the counter does not equal a predetermined value, the mechanism conveys a first read address for use in accessing a count value in the storage device. In response to determining the count equals the predetermined value, the mechanism conveys a second read address for use in accessing a count value in the storage device. The predetermined value is utilized to repeat accesses to a given count value a predetermined number of times.
    Type: Grant
    Filed: June 30, 2004
    Date of Patent: February 13, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Paul J. Jordan, Ashley N. Saulsbury, John G. Johnson
  • Patent number: 7080365
    Abstract: A method for compiling a cycle-based design involves generating a parsed cycle-based design from the cycle-based design, elaborating the parsed cycle-based design to an annotated syntax tree, translating the annotated syntax tree to an intermediate form, and converting the intermediate form to an executable form.
    Type: Grant
    Filed: March 29, 2002
    Date of Patent: July 18, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Jeffrey M. Broughton, Liang T. Chen, William kwei-cheung Lam, Derek E. Pappas, Ihao Chen, Thomas M. McWilliams, Ankur Narang, Jeffrey B. Rubin, Earl T. Cohen, Michael W. Parkin, Ashley N. Saulsbury, Michael S. Ball
  • Patent number: 7043596
    Abstract: A method and apparatus for computation is provided. A main cluster crossbar is connected to a plurality of statically scheduled routing processors. A first sub-cluster crossbar is associated with a first one of the plurality of statically scheduled routing processors where the first sub-cluster crossbar is connected to a first plurality of execution processors. A second sub-cluster crossbar is associated with a second one of the plurality of statically scheduled routing processors where the second sub-cluster crossbar is connected to a second plurality of execution processors.
    Type: Grant
    Filed: March 29, 2002
    Date of Patent: May 9, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Thomas M. McWilliams, Jeffrey B. Rubin, Michael W. Parkin, Oyekunle A. Olukotun, Derek E. Pappas, Jeffrey M. Broughton, David R. Emberson, David S. Allison, Ashley N. Saulsbury, Earl T. Cohen, Nyles I. Nettleton, James B. Burr, Liang T. Chen
  • Patent number: 6859904
    Abstract: One embodiment of the present invention provides a system that facilitates self-correcting memory in a shared-memory system. The system includes a main memory coupled to a memory controller for reading and writing memory locations and for marking memory locations that have been checked out to a cache. The system also includes a processor cache for storing data currently in use by a central processing unit. A communication channel is coupled between the processor cache and the memory controller to facilitate communication. The memory controller includes an error detection and correction mechanism and also includes a mechanism for reading data from the processor cache when a currently valid copy of the data is checked out to the processor cache. When the data is returned to the memory subsystem from the cache, the error detection and correction mechanism corrects errors and stores a corrected copy of the data in the main memory.
    Type: Grant
    Filed: May 11, 2001
    Date of Patent: February 22, 2005
    Assignee: Sun Microsystems, Inc.
    Inventors: James E. Kocol, Ashley N. Saulsbury, Sandra C. Lee
  • Patent number: 6779087
    Abstract: One embodiment of the present invention provides a system that facilitates reliable execution in a computer system by periodically checkpointing write operations to a main memory of the computer system. The system operates by receiving a write operation directed to the main memory at a memory controller, wherein the write operation includes data to be written to the main memory and a write address specifying a location in the main memory into which the data is to be written. Next, the system looks up the write address in a checkpoint store coupled to the memory controller. If the write address is not associated with any entry in the checkpoint store, the system creates an entry for the write address in the checkpoint store, and writes the data to be written to the entry. The system then periodically performs a checkpointing operation, which transfers the data to be written from the checkpoint store to the write address in the main memory.
    Type: Grant
    Filed: April 6, 2001
    Date of Patent: August 17, 2004
    Assignee: Sun Microsystems, Inc.
    Inventors: Ashley N. Saulsbury, James E. Kocol, Sandra C. Lee
  • Patent number: 6766428
    Abstract: One embodiment of the present invention provides a system that facilitates reliable execution in a computer system by keeping track of write operations to a main memory of the computer system in order to undo the write operations if necessary. This system operates by receiving a write operation directed to the main memory at a memory controller, wherein the write operation includes data to be written to the main memory and a write address specifying a location in the main memory into which the data is to be written. Next, the system examines a log bit associated with the write address, wherein the log bit indicates whether an existing value from the write address in main memory has been copied to a checkpoint store. If the log bit is not set, the system creates a new entry for the write address in the checkpoint store; retrieves an existing value from the write address in the main memory; and stores the existing value to the new entry in the checkpoint store.
    Type: Grant
    Filed: April 6, 2001
    Date of Patent: July 20, 2004
    Assignee: Sun Microsystems, Inc.
    Inventors: Ashley N. Saulsbury, James E. Kocol, Sandra C. Lee
  • Patent number: 6732143
    Abstract: A method and apparatus for routing a telephone signal having a call destination indicator via a client-server network to a desired user, wherein a server contains an association between user identifiers and telephone destination identifiers, and the server associates each user having a user identifier with a client machine having a client identifier that is employed by the user. The server directs the telephone signal over the client-server network to a telephone appliance coupled to a client machine having a client indicator associated with the user call destination identifier that matches the call destination identifier of the telephone signal.
    Type: Grant
    Filed: August 11, 2000
    Date of Patent: May 4, 2004
    Assignee: Sun Microsystems, Inc.
    Inventor: Ashley N. Saulsbury
  • Publication number: 20030188299
    Abstract: A method for compiling a cycle-based design involves generating a parsed cycle-based design from the cycle-based design, elaborating the parsed cycle-based design to an annotated syntax tree, translating the annotated syntax tree to an intermediate form, and converting the intermediate form to an executable form.
    Type: Application
    Filed: March 29, 2002
    Publication date: October 2, 2003
    Inventors: Jeffrey M. Broughton, Liang T. Chen, William Kwei-Cheung Lam, Derek E. Pappas, Ihao Chen, Thomas M. McWilliams, Ankur Narang, Jeffrey B. Rubin, Earl T. Cohen, Michael W. Parkin, Ashley N. Saulsbury, Michael S. Ball
  • Publication number: 20030040898
    Abstract: A method and apparatus for computation is provided. A main cluster crossbar is connected to a plurality of statically scheduled routing processors. A first sub-cluster crossbar is associated with a first one of the plurality of statically scheduled routing processors where the first sub-cluster crossbar is connected to a first plurality of execution processors. A second sub-cluster crossbar is associated with a second one of the plurality of statically scheduled routing processors where the second sub-cluster crossbar is connected to a second plurality of execution processors.
    Type: Application
    Filed: March 29, 2002
    Publication date: February 27, 2003
    Inventors: Thomas M. McWilliams, Jeffrey B. Rubin, Michael W. Parkin, Oyekunle A. Olukotun, Derek E. Pappas, Jeffrey M. Broughton, David R. Emberson, David S. Allison, Ashley N. Saulsbury, Earl T. Cohen, Nyles I. Nettleton, James B. Burr, Liang T. Chen
  • Publication number: 20020199175
    Abstract: Software techniques are employed to mitigate soft errors. In particular, a compiler (or other executable code generator) may emit otherwise duplicative instructions targeting otherwise duplicative storage locations to facilitate run-time detection and, in some cases, mitigation of soft errors. In general, a compiler emits a program sequence of primary instructions that correspond to source code. However, in addition, for those primary instructions that target storage susceptible to soft errors, the compiler may emit corresponding additional instructions that target additional storage. In some implementations the additional storage is not itself susceptible to soft errors. However, more generally, implementations may tolerate soft errors affecting the additional storage, as long as such soft errors are generally uncorrelated with those affecting the storage targeted by the primary instructions.
    Type: Application
    Filed: June 26, 2002
    Publication date: December 26, 2002
    Applicant: Sun Microsystems, Inc.
    Inventor: Ashley N. Saulsbury
  • Publication number: 20020170014
    Abstract: One embodiment of the present invention provides a system that facilitates self-correcting memory in a shared-memory system. The system includes a main memory coupled to a memory controller for reading and writing memory locations and for marking memory locations that have been checked out to a cache. The system also includes a processor cache for storing data currently in use by a central processing unit. A communication channel is coupled between the processor cache and the memory controller to facilitate communication. The memory controller includes an error detection and correction mechanism and also includes a mechanism for reading data from the processor cache when a currently valid copy of the data is checked out to the processor cache. When the data is returned to the memory subsystem from the cache, the error detection and correction mechanism corrects errors and stores a corrected copy of the data in the main memory.
    Type: Application
    Filed: May 11, 2001
    Publication date: November 14, 2002
    Inventors: James E. Kocol, Ashley N. Saulsbury, Sandra C. Lee
  • Publication number: 20020147891
    Abstract: One embodiment of the present invention provides a system that facilitates reliable execution in a computer system by keeping track of write operations to a main memory of the computer system in order to undo the write operations if necessary. This system operates by receiving a write operation directed to the main memory at a memory controller, wherein the write operation includes data to be written to the main memory and a write address specifying a location in the main memory into which the data is to be written. Next, the system examines a log bit associated with the write address, wherein the log bit indicates whether an existing value from the write address in main memory has been copied to a checkpoint store. If the log bit is not set, the system creates a new entry for the write address in the checkpoint store; retrieves an existing value from the write address in the main memory; and stores the existing value to the new entry in the checkpoint store.
    Type: Application
    Filed: April 6, 2001
    Publication date: October 10, 2002
    Inventors: Ashley N. Saulsbury, James E. Kocol, Sandra C. Lee
  • Publication number: 20020147890
    Abstract: One embodiment of the present invention provides a system that facilitates reliable execution in a computer system by periodically checkpointing write operations to a main memory of the computer system. The system operates by receiving a write operation directed to the main memory at a memory controller, wherein the write operation includes data to be written to the main memory and a write address specifying a location in the main memory into which the data is to be written. Next, the system looks up the write address in a checkpoint store coupled to the memory controller. If the write address is not associated with any entry in the checkpoint store, the system creates an entry for the write address in the checkpoint store, and writes the data to be written to the entry. The system then periodically performs a checkpointing operation, which transfers the data to be written from the checkpoint store to the write address in the main memory.
    Type: Application
    Filed: April 6, 2001
    Publication date: October 10, 2002
    Inventors: Ashley N. Saulsbury, James E. Kocol, Sandra C. Lee