Patents by Inventor Karin Strauss

Karin Strauss 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).

  • Publication number: 20140351501
    Abstract: A codeword is generated from a message. One or more anchor values are appended to the codeword at predetermined anchor positions. Before the codeword is stored in a memory block, the locations and values of stuck cells in the memory block are determined. Based on the values and positions of the stuck cells, the values of the codeword are remapped so that values of the codeword that are the same as the values of the stuck cells are placed at the positions of the stuck cells. The remapped codeword is stored in the memory block. When the message is later read, the original codeword can be recovered from the remapped codeword based on the locations of the anchor values in the remapped codeword.
    Type: Application
    Filed: May 21, 2013
    Publication date: November 27, 2014
    Applicant: Microsoft Corporation
    Inventors: John D. Davis, Parikshit Gopalan, Mark Manasse, Karin Strauss, Sergey Yekhanin
  • Patent number: 8861270
    Abstract: The present technology relaxes the precision (or full data-correctness-guarantees) requirements in memory operations, such as writing or reading, of MLC memories so that an application may write and read a digital data value as an approximate value. Types of MLCs include Flash MLC and MLC Phase Change Memory (PCM) as well as other resistive technologies. Many software applications may not need the accuracy or precision typically used to store and read data values. For example, an application may render an image on a relatively low resolution display and may not need an accurate data value for each pixel. By relaxing the precision or correctness requirements is a memory operation, MLC memories may have increased performance, lifetime, density, and/or energy efficiency.
    Type: Grant
    Filed: March 11, 2013
    Date of Patent: October 14, 2014
    Assignee: Microsoft Corporation
    Inventors: Karin Strauss, Adrian Sampson, Luis Henrique Ceze, Douglas C. Burger
  • Patent number: 8849731
    Abstract: The subject disclosure is directed towards a technology that timely pre-fetches content to a computing device based upon a prediction that a user will be requesting access to the content. Features comprising temporal features, spatial features, spatiotemporal features and/or other features associated with content are provided to a model trained at least in part with historical access data. The model returns information from which a determination of whether to pre-fetch the content is made.
    Type: Grant
    Filed: February 23, 2012
    Date of Patent: September 30, 2014
    Assignee: Microsoft Corporation
    Inventors: Dimitrios Lymberopoulos, Oriana Riva, Karin Strauss
  • Patent number: 8839053
    Abstract: Architecture that implements error correcting pointers (ECPs) with a memory row, which point to the address of failed memory cells, each of which is paired with a replacement cell to be substituted for the failed cell. If two error correcting pointers in the array point to the same cell, a precedence rule dictates the array entry with the higher index (the entry created later) takes precedence. To count the number of error correcting pointers in use, a null pointer address can be employed to indicate that a pointer is inactive, an activation bit can be added, and/or a counter, that represents the number of error correcting pointers that are active. Mechanisms are provided for wear-leveling within the error correction structure, or for pairing this scheme with single-error correcting bits for instances where transient failures may occur. The architecture also employs pointers to correct errors in volatile and non-volatile memories.
    Type: Grant
    Filed: May 27, 2010
    Date of Patent: September 16, 2014
    Assignee: Microsoft Corporation
    Inventors: Stuart Schechter, Karin Strauss, Gabriel Loh, Douglas C. Burger
  • Patent number: 8839358
    Abstract: Progressive authentication is generally employed to establish the authenticity of a user, such as a user of a computing device, or a user that wants to access a proprietary data item, software application or on-line service. This can entail inputting authentication factors each of which corresponds to one or multiple attributes associated with the user, or historical patterns of one or more attributes associated with the user, or both, and a confidence level that estimates a reliability of the factor. Sensor readings captured by one or more sensors are also input. Each sensor senses a user attribute and are used to quantify each authentication factor confidence level. An overall confidence level is established based at least in part on a combination of the individual confidence levels. A user is then designated as being authentic whenever the established overall confidence level exceeds a prescribed authentication level.
    Type: Grant
    Filed: August 31, 2011
    Date of Patent: September 16, 2014
    Assignee: Microsoft Corporation
    Inventors: Karin Strauss, Oriana Riva, Douglas Burger, Jaron Lanier
  • Publication number: 20140258593
    Abstract: The present technology relaxes the precision (or full data-correctness-guarantees) requirements in memory operations, such as writing or reading, of MLC memories so that an application may write and read a digital data value as an approximate value. Types of MLCs include Flash MLC and MLC Phase Change Memory (PCM) as well as other resistive technologies. Many software applications may not need the accuracy or precision typically used to store and read data values. For example, an application may render an image on a relatively low resolution display and may not need an accurate data value for each pixel. By relaxing the precision or correctness requirements is a memory operation, MLC memories may have increased performance, lifetime, density, and/or energy efficiency.
    Type: Application
    Filed: March 11, 2013
    Publication date: September 11, 2014
    Applicant: Microsoft Corporation
    Inventors: Karin Strauss, Adrian Sampson, Luis Henrique Ceze, Douglas C. Burger
  • Patent number: 8768847
    Abstract: The subject disclosure is directed towards a technology by which access to a protected entity's data is controlled by a data brokerage service. The service determines whether a requesting entity has appropriate access rights to requested information, and if so, the service returns a response corresponding to the protected data. In one aspect, the protected data may be location data of a protected entity that is maintained independent of a payment instrument. The location data is used to compute feasibility information as to whether the protected entity is authorized to perform a transaction using the payment instrument.
    Type: Grant
    Filed: June 21, 2012
    Date of Patent: July 1, 2014
    Assignee: Microsoft Corporation
    Inventors: Douglas Christopher Burger, Jaron Zepel Lanier, Karin Strauss
  • Publication number: 20140143593
    Abstract: The techniques discussed herein identify failed segments of memory in a memory region. The techniques may then manage the failed segments of memory by logically clustering the failed segments of memory at an outlying portion of the memory region using a remapping process. The remapping process may include creating and storing remapping metadata defining segment remapping entries for the memory region. Accordingly, the failure clustering logically eliminates or reduces the memory fragmentation so that a system can allocate larger portions of contiguous memory for object storage.
    Type: Application
    Filed: November 16, 2012
    Publication date: May 22, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Karin Strauss, Burton J. Smith, Kathryn S. McKinley
  • Publication number: 20140143780
    Abstract: A system and method are provided for enhancing approximate computing by a computer system. In one example, an interface is provided comprising a variable-identifier module and a bit-priority module. The variable-identifier module is configured to identify one or more variables of data that are to be processed by the computer system with approximate precision. Approximate precision is a precision level at which a hardware device does not guarantee full data-correctness for the one or more variables. The bit-priority module is configured to assign bit-priorities to the one or more variables. The bit-priorities include relative levels of importance among bits of each of the one or more variables. The relative levels of importance include at least high-priority bits and low-priority bits.
    Type: Application
    Filed: November 28, 2012
    Publication date: May 22, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Karin Strauss, Adrian Sampson, Luis Henrique Ceze
  • Patent number: 8732822
    Abstract: Techniques are described for device locking with activity preservation at a specified level within a multi-level hierarchy of device states. Such locking enables a user to share a device with another user while specifying a particular level of access to the device, such as access to a particular class of applications, a specific application, or a specific task within an application. Determination of the authorized activity may be based on a currently active application, or on the particular user gesture. The level of functionality made available may be based on the number of times a user gesture is repeated. Gestures may include a selection of a hardware or software control on the device, issuance of a voice command, and the like.
    Type: Grant
    Filed: December 16, 2011
    Date of Patent: May 20, 2014
    Assignee: Microsoft Corporation
    Inventors: Stuart Schechter, Alice Jane Bernheim Brush, Oriana Riva, Karin Strauss, Eiji Hayashi
  • Patent number: 8719537
    Abstract: Techniques are described for controlling availability of memory. As memory write operations are processed, the contents of memory targeted by the write operations are read and compared to the data to be written. The availability of the memory for subsequent write operations is controlled based on the outcomes of the comparing. How many concurrent write operations are being executed may vary according to the comparing. In one implementation, a pool of tokens is maintained based on the comparing. The tokens represent units of power. When write operations require more power, for example when they will alter the values of more cells in PCM memory, they draw (and eventually return) more tokens. The token pool can act as a memory-availability mechanism in that tokens must be obtained for a write operation to be executed. When and how many tokens are reserved or recycled can vary according to implementation.
    Type: Grant
    Filed: August 7, 2013
    Date of Patent: May 6, 2014
    Assignee: Microsoft Corporation
    Inventors: Gabriel H. Loh, Douglas Burger, Timothy Sherwood, Karin Strauss
  • Publication number: 20140101366
    Abstract: A generator matrix is provided to generate codewords from messages of write operations. Rather than generate a codeword using the entire generator matrix, some number of bits of the codeword are determined to be, or designated as, stuck bits. One or more submatrices of the generator matrix are determined based on the columns of the generator matrix that correspond to the stuck bits. The submatrices are used to generate the codeword from the message, and only the bits of the codeword that are not the stuck bits are written to a memory block. By designating one or more bits as stuck bits, the operating life of the bits is increased. Some of the submatrices of the generator matrix may be pre-computed for different stuck bit combinations. The pre-computed submatrices may be used to generate the codewords, thereby increasing the performance of write operations.
    Type: Application
    Filed: October 5, 2012
    Publication date: April 10, 2014
    Applicant: Microsoft Corporation
    Inventors: John D. Davis, Parikshit Gopalan, Mark S. Manasse, Karin Strauss, Sergey Yekhanin
  • Patent number: 8639993
    Abstract: Techniques involving failure management of storage devices are described. One representative technique includes encoding data to enable it to be stored in a storage block that includes at least one storage failure. The data is encoded such that it traverses the storage failures when stored in the storage block. When it is determined that a storage access request has requested the data stored in a storage block having such failures, the data is decoded to restore it to its original form.
    Type: Grant
    Filed: November 11, 2010
    Date of Patent: January 28, 2014
    Assignee: Microsoft Corporation
    Inventor: Karin Strauss
  • Publication number: 20130346310
    Abstract: The subject disclosure is directed towards a technology by which access to a protected entity's data is controlled by a data brokerage service. The service determines whether a requesting entity has appropriate access rights to requested information, and if so, the service returns a response corresponding to the protected data. In one aspect, the protected data may be location data of a protected entity that is maintained independent of a payment instrument. The location data is used to compute feasibility information as to whether the protected entity is authorized to perform a transaction using the payment instrument.
    Type: Application
    Filed: June 21, 2012
    Publication date: December 26, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Douglas Christopher Burger, Jaron Zepel Lanier, Karin Strauss
  • Publication number: 20130326185
    Abstract: Techniques are described for controlling availability of memory. As memory write operations are processed, the contents of memory targeted by the write operations are read and compared to the data to be written. The availability of the memory for subsequent write operations is controlled based on the outcomes of the comparing. How many concurrent write operations are being executed may vary according to the comparing. In one implementation, a pool of tokens is maintained based on the comparing. The tokens represent units of power. When write operations require more power, for example when they will alter the values of more cells in PCM memory, they draw (and eventually return) more tokens. The token pool can act as a memory-availability mechanism in that tokens must be obtained for a write operation to be executed. When and how many tokens are reserved or recycled can vary according to implementation.
    Type: Application
    Filed: August 7, 2013
    Publication date: December 5, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Gabriel H. Loh, Douglas Burger, Timothy Sherwood, Karin Strauss
  • Publication number: 20130226837
    Abstract: The subject disclosure is directed towards a technology that timely pre-fetches content to a computing device based upon a prediction that a user will be requesting access to the content. Features comprising temporal features, spatial features, spatiotemporal features and/or other features associated with content are provided to a model trained at least in part with historical access data. The model returns information from which a determination of whether to pre-fetch the content is made.
    Type: Application
    Filed: February 23, 2012
    Publication date: August 29, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Dimitrios Lymberopoulos, Oriana Riva, Karin Strauss
  • Patent number: 8521981
    Abstract: Techniques are described for controlling availability of memory. As memory write operations are processed, the contents of memory targeted by the write operations are read and compared to the data to be written. The availability of the memory for subsequent write operations is controlled based on the outcomes of the comparing. How many concurrent write operations are being executed may vary according to the comparing. In one implementation, a pool of tokens is maintained based on the comparing. The tokens represent units of power. When write operations require more power, for example when they will alter the values of more cells in PCM memory, they draw (and eventually return) more tokens. The token pool can act as a memory-availability mechanism in that tokens must be obtained for a write operation to be executed. When and how many tokens are reserved or recycled can vary according to implementation.
    Type: Grant
    Filed: December 16, 2010
    Date of Patent: August 27, 2013
    Assignee: Microsoft Corporation
    Inventors: Karin Strauss, Douglas Burger, Timothy Sherwood, Gabriel Loh
  • Publication number: 20130160110
    Abstract: Techniques are described for device locking with activity preservation at a specified level within a multi-level hierarchy of device states. Such locking enables a user to share a device with another user while specifying a particular level of access to the device, such as access to a particular class of applications, a specific application, or a specific task within an application. Determination of the authorized activity may be based on a currently active application, or on the particular user gesture. The level of functionality made available may be based on the number of times a user gesture is repeated. Gestures may include a selection of a hardware or software control on the device, issuance of a voice command, and the like.
    Type: Application
    Filed: December 16, 2011
    Publication date: June 20, 2013
    Applicant: Microsoft Corporation
    Inventors: Stuart Schechter, Alince Jane Bernheim Brush, Oriana Riva, Karin Strauss, Eiji Hayashi
  • Patent number: 8458514
    Abstract: Methods of memory management are described which can accommodate non-maskable failures in pages of physical memory. In an embodiment, when an impending non-maskable failure in a page of memory is identified, a pristine page of physical memory is used to replace the page containing the impending failure and memory mappings are updated to remap virtual pages from the failed page to the pristine page. When a new page of virtual memory is then allocated by a process, the failed page may be reused if the process identifies that it can accommodate failures and the process is provided with location information for impending failures. In another embodiment, a process may expose information on failure-tolerant regions of virtual address space such that a physical page of memory containing failures only in failure-tolerant regions may be used to store the data instead of using a pristine page.
    Type: Grant
    Filed: December 10, 2010
    Date of Patent: June 4, 2013
    Assignee: Microsoft Corporation
    Inventors: Timothy Harris, Karin Strauss, Orion Hodson, Dushyanth Narayanan
  • Publication number: 20130055348
    Abstract: Progressive authentication is generally employed to establish the authenticity of a user, such as a user of a computing device, or a user that wants to access a proprietary data item, software application or on-line service. This can entail inputting authentication factors each of which corresponds to one or multiple attributes associated with the user, or historical patterns of one or more attributes associated with the user, or both, and a confidence level that estimates a reliability of the factor. Sensor readings captured by one or more sensors are also input. Each sensor senses a user attribute and are used to quantify each authentication factor confidence level. An overall confidence level is established based at least in part on a combination of the individual confidence levels. A user is then designated as being authentic whenever the established overall confidence level exceeds a prescribed authentication level.
    Type: Application
    Filed: August 31, 2011
    Publication date: February 28, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Karin Strauss, Oriana Riva, Douglas Burger, Jaron Lanier