Patents by Inventor Richard John Black

Richard John Black 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: 11831333
    Abstract: A method of reading from a storage medium to recover a group of information sectors, each comprising a respective information payload. The medium stores redundancy data comprising a plurality of separate redundancy codes for the group, each code being a linear sum of terms, each term in the sum being the information payload from a different respective one of the information sectors in the group weighted by a respective coefficient of a set of coefficients for the redundancy code. The method comprises, after the redundancy data has already been stored on the medium: identifying a set of k? information sectors to be recovered; selecting k? of the redundancy codes; determining a square matrix E of the k? information sectors by the k? sets of coefficients of the selected codes; determining a matrix D being a matrix inverse of E; and recovering the k? information payloads from the inverse matrix D.
    Type: Grant
    Filed: December 14, 2020
    Date of Patent: November 28, 2023
    Assignee: Microsoft Technology Licensing, LLC.
    Inventors: Christos Gkantsidis, Antony Ian Taylor Rowstron, Andromachi Chatzieleftheriou, Richard John Black, Austin N. Donnelly, István Haller
  • Publication number: 20230327391
    Abstract: Examples are disclosed that relate to efficiently producing multiple laser beams of a harmonic frequency from a fundamental frequency beam. One example provides a laser system comprising a laser configured to output a fundamental frequency beam, a first harmonic-generation stage, and a second harmonic-generation stage. The first harmonic-generation stage is configured to receive an input of the fundamental frequency beam from the laser, and output from the laser system a first-stage harmonic frequency beam and a first-stage residual fundamental frequency beam. The second harmonic-generation stage is configured to receive an input of the first-stage residual fundamental frequency beam, and to output from the laser system a second-stage harmonic frequency beam.
    Type: Application
    Filed: May 27, 2022
    Publication date: October 12, 2023
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Richard John BLACK, Rokas DREVINSKAS, Patrick Neil ANDERSON, Masaaki SAKAKURA, Thomas Torsten DR WINKLER, David LARA SAUCEDO
  • Patent number: 11624700
    Abstract: One example provides a system for reading birefringent data. The system comprises one or more light sources, a first polarization state generator positioned to generate first polarized light from light of a first wavelength band output by the one or more light sources, a second polarization state generator positioned to generate second polarized light from light of a second wavelength band output by the one or light sources, an image sensor configured to acquire an image of the sample region via the first polarized light and the second polarized light, a polarization state analyzer disposed between the sample region and the image sensor, a first bandpass filter configured to pass light of the first wavelength band onto the image sensor, and a second bandpass filter configured to pass light of the second wavelength band onto the image sensor.
    Type: Grant
    Filed: August 19, 2022
    Date of Patent: April 11, 2023
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Ariel Gomez Diaz, David Lara Saucedo, Peter Gyula Scholtz, Ioan Alexandru Stefanovici, Pashmina Jonathan Cameron, Govert Michael Verkes, Richard John Black, Timothy John Deegan, James Hilton Clegg, Antony Ian Taylor Rowstron
  • Publication number: 20230053467
    Abstract: A method of reading from a storage medium to recover a group of information sectors, each comprising a respective information payload. The medium stores redundancy data comprising a plurality of separate redundancy codes for the group, each code being a linear sum of terms, each term in the sum being the information payload from a different respective one of the information sectors in the group weighted by a respective coefficient of a set of coefficients for the redundancy code. The method comprises, after the redundancy data has already been stored on the medium: identifying a set of k? information sectors to be recovered; selecting k? of the redundancy codes; determining a square matrix E of the k? information sectors by the k? sets of coefficients of the selected codes; determining a matrix D being a matrix inverse of E; and recovering the k? information payloads from the inverse matrix D.
    Type: Application
    Filed: December 14, 2020
    Publication date: February 23, 2023
    Inventors: Christos GKANTSIDIS, Antony Ian Taylor ROWSTRON, Andromachi CHATZIELEFTHERIOU, Richard John BLACK, Austin N. DONNELLY, István HALLER
  • Publication number: 20220404268
    Abstract: One example provides a system for reading birefringent data. The system comprises one or more light sources, a first polarization state generator positioned to generate first polarized light from light of a first wavelength band output by the one or more light sources, a second polarization state generator positioned to generate second polarized light from light of a second wavelength band output by the one or light sources, an image sensor configured to acquire an image of the sample region via the first polarized light and the second polarized light, a polarization state analyzer disposed between the sample region and the image sensor, a first bandpass filter configured to pass light of the first wavelength band onto the image sensor, and a second bandpass filter configured to pass light of the second wavelength band onto the image sensor.
    Type: Application
    Filed: August 19, 2022
    Publication date: December 22, 2022
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Ariel GOMEZ DIAZ, David LARA SAUCEDO, Peter Gyula SCHOLTZ, Ioan Alexandru STEFANOVICI, Pashmina Jonathan CAMERON, Govert Michael VERKES, Richard John BLACK, Timothy John DEEGAN, James Hilton CLEGG, Antony Ian Taylor ROWSTRON
  • Patent number: 11422086
    Abstract: One example provides a system for reading birefringent data. The system comprises one or more light sources, a first polarization state generator positioned to generate first polarized light from light of a first wavelength band output by the one or more light sources, a second polarization state generator positioned to generate second polarized light from light of a second wavelength band output by the one or light sources, an image sensor configured to acquire an image of the sample region via the first polarized light and the second polarized light, a polarization state analyzer disposed between the sample region and the image sensor, a first bandpass filter configured to pass light of the first wavelength band onto the image sensor, and a second bandpass filter configured to pass light of the second wavelength band onto the image sensor.
    Type: Grant
    Filed: May 5, 2020
    Date of Patent: August 23, 2022
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Ariel Gomez Diaz, David Lara Saucedo, Peter Gyula Scholtz, Ioan Alexandru Stefanovici, Pashmina Jonathan Cameron, Govert Michael Verkes, Richard John Black, Timothy John Deegan, James Hilton Clegg, Antony Ian Taylor Rowstron
  • Patent number: 11341620
    Abstract: One example provides a computer-implemented method for reading data stored as birefringence values in a storage medium. The method comprises acquiring an image of a voxel of the storage medium, applying a first low-pass filter with a first cutoff frequency to the image of the voxel to obtain a first background image, applying a second low-pass filter with a second cutoff frequency to the image of the voxel to obtain a second background image, the second cutoff frequency being different than the first cutoff frequency, determining an enhanced background image from the first background image and the second background image, determining birefringence values for the enhanced background image, determining birefringence values for the image of the voxel, and correcting the birefringence values for the image of the voxel based upon the birefringence values for the enhanced background image.
    Type: Grant
    Filed: May 5, 2020
    Date of Patent: May 24, 2022
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Ariel Gomez Diaz, David Lara Saucedo, Peter Gyula Scholtz, Patrick Neil Anderson, Rokas Drevinskas, Richard John Black, James Hilton Clegg
  • Publication number: 20210349010
    Abstract: One example provides a system for reading birefringent data. The system comprises one or more light sources, a first polarization state generator positioned to generate first polarized light from light of a first wavelength band output by the one or more light sources, a second polarization state generator positioned to generate second polarized light from light of a second wavelength band output by the one or light sources, an image sensor configured to acquire an image of the sample region via the first polarized light and the second polarized light, a polarization state analyzer disposed between the sample region and the image sensor, a first bandpass filter configured to pass light of the first wavelength band onto the image sensor, and a second bandpass filter configured to pass light of the second wavelength band onto the image sensor.
    Type: Application
    Filed: May 5, 2020
    Publication date: November 11, 2021
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Ariel GOMEZ DIAZ, David LARA SAUCEDO, Peter Gyula SCHOLTZ, Ioan Alexandru STEFANOVICI, Pashmina Jonathan CAMERON, Govert Michael VERKES, Richard John BLACK, Timothy John DEEGAN, James Hilton CLEGG, Antony Ian Taylor ROWSTRON
  • Publication number: 20210350510
    Abstract: One example provides a computer-implemented method for reading data stored as birefringence values in a storage medium. The method comprises acquiring an image of a voxel of the storage medium, applying a first low-pass filter with a first cutoff frequency to the image of the voxel to obtain a first background image, applying a second low-pass filter with a second cutoff frequency to the image of the voxel to obtain a second background image, the second cutoff frequency being different than the first cutoff frequency, determining an enhanced background image from the first background image and the second background image, determining birefringence values for the enhanced background image, determining birefringence values for the image of the voxel, and correcting the birefringence values for the image of the voxel based upon the birefringence values for the enhanced background image.
    Type: Application
    Filed: May 5, 2020
    Publication date: November 11, 2021
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Ariel GOMEZ DIAZ, David LARA SAUCEDO, Peter Gyula SCHOLTZ, Patrick Neil ANDERSON, Rokas DREVINSKAS, Richard John BLACK, James Hilton CLEGG
  • Publication number: 20210326153
    Abstract: Various technologies described herein pertain to enforcing control flow integrity by adding instrumentation when source code is compiled or binary code is rewritten. An indirect call to a control transfer target (e.g., in the source code, in the binary code, etc.) can be identified. Moreover, the instrumentation can be inserted prior to the indirect call. The instrumentation can use a bit from a bitmap maintained by a runtime to verify whether the control transfer target is valid. When an executable image that includes the inserted instrumentation runs, execution can be terminated and/or other appropriate actions can be taken when the control transfer target is determined to be invalid; alternatively, execution can continue when the control transfer target is determined to be valid.
    Type: Application
    Filed: April 30, 2021
    Publication date: October 21, 2021
    Inventors: Richard John Black, Timothy William Burrell, Miguel Oom Temudo de Castro, Manuel Silverio da Silva Costa, Kenneth Johnson, Matthew Ryan Miller
  • Patent number: 11003464
    Abstract: Various technologies described herein pertain to enforcing control flow integrity by adding instrumentation when source code is compiled or binary code is rewritten. An indirect call to a control transfer target (e.g., in the source code, in the binary code, etc.) can be identified. Moreover, the instrumentation can be inserted prior to the indirect call. The instrumentation can use a bit from a bitmap maintained by a runtime to verify whether the control transfer target is valid. When an executable image that includes the inserted instrumentation runs, execution can be terminated and/or other appropriate actions can be taken when the control transfer target is determined to be invalid; alternatively, execution can continue when the control transfer target is determined to be valid.
    Type: Grant
    Filed: April 19, 2012
    Date of Patent: May 11, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Richard John Black, Timothy William Burrell, Miguel Oom Temudo de Castro, Manuel Silverio da Silva Costa, Kenneth Johnson, Matthew Ryan Miller
  • Patent number: 10768825
    Abstract: A data-storage system comprises a head receiver configured to variably receive up to a number M of write heads. The data-storage system also includes an installed number N of write heads arranged in the head receiver, a substrate receiver configured to receive one or more data-storage substrates, and a positioner machine configured to adjust a relative placement of each of the M write heads with respect to at least one of the one or more data-storage substrates.
    Type: Grant
    Filed: November 12, 2019
    Date of Patent: September 8, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Antony Ian Taylor Rowstron, Ioan Alexandru Stefanovici, Aaron William Ogus, Douglas Wayne Phillips, Richard John Black, Austin Nicholas Donnelly, Alexander Lloyd Gaunt, Andreas Georgiou, Ariel Gomez Diaz, Serguei Anatolievitch Legtchenko, Reinhard Sebastian Bernhard Nowozin, Benn Charles Thomsen, Hugh David Paul Williams, David Lara Saucedo, Patrick Neil Anderson, Andromachi Chatzieleftheriou, John Christopher Dainty, James Hilton Clegg, Raluca Andreea Diaconu, Rokas Drevinskas, Mengyang Yang
  • Patent number: 10719239
    Abstract: A data-storage system comprises a head receiver configured to variably receive up to a number M of write heads. The data-storage system also includes an installed number N of write heads arranged in the head receiver, a substrate receiver configured to receive one or more data-storage substrates, and a positioner machine configured to adjust a relative placement of each of the M write heads with respect to at least one of the one or more data-storage substrates.
    Type: Grant
    Filed: May 16, 2018
    Date of Patent: July 21, 2020
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Antony Ian Taylor Rowstron, Ioan Alexandru Stefanovici, Aaron William Ogus, Douglas Wayne Phillips, Richard John Black, Austin Nicholas Donnelly, Alexander Lloyd Gaunt, Andreas Georgiou, Ariel Gomez Diaz, Serguei Anatolievitch Legtchenko, Reinhard Sebastian Bernhard Nowozin, Benn Charles Thomsen, Hugh David Paul Williams, David Lara Saucedo, Patrick Neil Anderson, Andromachi Chatzieleftheriou, John Christopher Dainty, James Hilton Clegg, Raluca Andreea Diaconu, Rokas Drevinskas, Mengyang Yang
  • Patent number: 10672428
    Abstract: A method to record data in a solid substrate comprises modulating a polarization angle of a coherent optical pulsetrain, and, while the polarization angle is being modulated, focusing the coherent optical pulsetrain on a locus moving through the solid substrate at a relative velocity. Here the relative velocity, a width of the locus in a direction of the relative velocity, and a rate of modulation of the polarization angle are such that the substrate receives within the width of the locus two or more pulses of the optical pulsetrain differing in polarization angle. In this manner, the two or more pulses record, in different portions of the substrate within the width of the locus, two or more different symbols.
    Type: Grant
    Filed: May 9, 2019
    Date of Patent: June 2, 2020
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Richard John Black, Patrick Neil Anderson, Rokas Drevinskas, Austin Nicholas Donnelly, Hugh David Paul Williams
  • Publication number: 20200081619
    Abstract: A data-storage system comprises a head receiver configured to variably receive up to a number M of write heads. The data-storage system also includes an installed number N of write heads arranged in the head receiver, a substrate receiver configured to receive one or more data-storage substrates, and a positioner machine configured to adjust a relative placement of each of the M write heads with respect to at least one of the one or more data-storage substrates.
    Type: Application
    Filed: November 12, 2019
    Publication date: March 12, 2020
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Antony Ian Taylor ROWSTRON, Ioan Alexandru STEFANOVICI, Aaron William OGUS, Douglas Wayne PHILLIPS, Richard John BLACK, Austin Nicholas DONNELLY, Alexander Lloyd GAUNT, Andreas GEORGIOU, Ariel GOMEZ DIAZ, Serguei Anatolievitch LEGTCHENKO, Reinhard Sebastian Bernhard NOWOZIN, Benn Charles THOMSEN, Hugh David Paul WILLIAMS, David LARA SAUCEDO, Patrick Neil ANDERSON, Andromachi CHATZIELEFTHERIOU, John Christopher DAINTY, James Hilton CLEGG, Raluca Andreea DIACONU, Rokas DREVINSKAS, Mengyang YANG
  • Publication number: 20190354283
    Abstract: A data-storage system comprises a head receiver configured to variably receive up to a number M of write heads. The data-storage system also includes an installed number N of write heads arranged in the head receiver, a substrate receiver configured to receive one or more data-storage substrates, and a positioner machine configured to adjust a relative placement of each of the M write heads with respect to at least one of the one or more data-storage substrates.
    Type: Application
    Filed: May 16, 2018
    Publication date: November 21, 2019
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Antony Ian Taylor ROWSTRON, Ioan Alexandru STEFANOVICI, Aaron William OGUS, Douglas Wayne PHILLIPS, Richard John BLACK, Austin Nicholas DONNELLY, Alexander Lloyd GAUNT, Andreas GEORGIOU, Ariel GOMEZ DIAZ, Serguei Anatolievitch LEGTCHENKO, Reinhard Sebastian Bernhard NOWOZIN, Benn Charles THOMSEN, Hugh David Paul WILLIAMS, David LARA SAUCEDO, Patrick Neil ANDERSON, Andromachi CHATZIELEFTHERIOU, John Christopher DAINTY, James Hilton CLEGG, Raluca Andreea DIACONU, Rokas DREVINSKAS, Mengyang YANG
  • Patent number: 9471532
    Abstract: A multi-core processor with a shared physical memory is described. In an embodiment a sending core sends a memory write request to a destination core so that the request may be acted upon by the destination core as if it originated from the destination core. In an example, a data structure is configured in the shared physical memory and mapped to be accessible to the sending and destination cores. In an example, the shared data structure is used as a message channel between the sending and destination cores to carry data using the memory write request. In an embodiment a notification mechanism is enabled using the shared physical memory in order to notify the destination core of events by updating a notification data structure. In an example, the notification mechanism triggers a notification process at the destination core to inform a receiving process of a notification.
    Type: Grant
    Filed: February 11, 2011
    Date of Patent: October 18, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Richard John Black, Timothy Harris, Ross Cameron McIlroy, Karin Strauss
  • Patent number: 9244615
    Abstract: Controlling data storage input/output requests is described, for example, to apply a policy to an end-to-end flow of data input/output requests between at least one computing entity and at least one store. In various examples a plurality of queues are configured at one or more stages of the end-to-end flow and controlled to adhere to a policy. In examples, each stage has a control interface enabling it to receive and execute control instructions from a controller which may be centralized or distributed. For example, the control instructions comprise queuing rules and/or queue configurations. In various examples queues and queuing rules are dynamically created and revised according to feedback about any of: flow behavior, changes in policy, changes in infrastructure or other factors. In examples, high level identifiers of the flow endpoints are resolved, on a per stage basis, to low level identifiers suitable for use by the stage.
    Type: Grant
    Filed: September 13, 2013
    Date of Patent: January 26, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Eno Thereska, Hitesh Ballani, Gregory O'Shea, Thomas Karagiannis, Antony Ian Taylor Rowstron, Thomas M Talpey, Richard John Black
  • Publication number: 20150081948
    Abstract: Controlling data storage input/output requests is described, for example, to apply a policy to an end-to-end flow of data input/output requests between at least one computing entity and at least one store. In various examples a plurality of queues are configured at one or more stages of the end-to-end flow and controlled to adhere to a policy. In examples, each stage has a control interface enabling it to receive and execute control instructions from a controller which may be centralized or distributed. For example, the control instructions comprise queuing rules and/or queue configurations. In various examples queues and queuing rules are dynamically created and revised according to feedback about any of: flow behavior, changes in policy, changes in infrastructure or other factors. In examples, high level identifiers of the flow endpoints are resolved, on a per stage basis, to low level identifiers suitable for use by the stage.
    Type: Application
    Filed: September 13, 2013
    Publication date: March 19, 2015
    Applicant: Microsoft Corporation
    Inventors: Eno Thereska, Hitesh Ballani, Gregory O'Shea, Thomas Karagiannis, Antony Ian Taylor Rowstron, Thomas M Talpey, Richard John Black
  • Publication number: 20140330937
    Abstract: Methods of classifying a storage traffic stream in a shared storage network are described. In an embodiment, an identifier for the entity generating the stream is generated, where this entity may, for example, indicate a virtual machine, program, session, physical machine, user or process. The identifier is then shared with at least one processing layer along a path of the storage traffic stream between the generating entity and the storage device which stores the file to which the traffic stream relates. In various embodiments, the identifier may then be used by any processing layers which receive it, to selectively handle traffic streams based on the generating entity. The identifier may be shared when the traffic stream is created or subsequently and in various embodiments, the identifier is shared in a second exchange of messages, following the creation of the traffic stream and prior to any other traffic.
    Type: Application
    Filed: May 3, 2013
    Publication date: November 6, 2014
    Inventors: Gregory O'Shea, Thomas M. Talpey, David Matthew Kruse, Eno Thereska, Hitesh Ballani, Thomas Karagiannis, Antony Ian Taylor Rowstron, Richard John Black