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

  • Publication number: 20220202053
    Abstract: Methods of production of edible filamentous fungal biomat formulations are provided as standalone protein sources and/or protein ingredients in foodstuffs as well as a one-time use or repeated use self-contained biomat reactor comprising a container with at least one compartment and placed within the compartment(s), a feedstock, a fungal inoculum, a gas-permeable membrane, and optionally a liquid nutrient medium.
    Type: Application
    Filed: March 14, 2022
    Publication date: June 30, 2022
    Inventors: Richard Eugene Macur, Yuval Charles Avniel, Renata Usaite Black, Maximilian DeVane Hamilton, Michael John Harney, Eleanore Brophy Eckstrom, Mark Andrew Kozubal
  • 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: 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: 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: 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
  • Publication number: 20130283245
    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 19, 2012
    Publication date: October 24, 2013
    Applicant: Microsoft Corporation
    Inventors: Richard John Black, Timothy William Burrell, Miguel Oom Temudo de Castro, Manuel Silverio da Silva Costa, Kenneth Johnson, Matthew Ryan Miller
  • Patent number: 8352797
    Abstract: Software fault isolation methods using byte-granularity memory protection are described. In an embodiment, untrusted drivers or other extensions to a software system are run in a separate domain from the host portion of the software system, but share the same address space as the host portion. Calls between domains are mediated using an interposition library and access control data is maintained for substantially each byte of relevant virtual address space. Instrumentation added to the untrusted extension at compile-time, before load-time, or at runtime and added by the interposition library enforces the isolation between domains, for example by adding access right checks before any writes or indirect calls and by redirecting function calls to call wrappers in the interposition library. The instrumentation also updates the access control data to grant and revoke access rights on a fine granularity according to the semantics of the operation being invoked.
    Type: Grant
    Filed: December 8, 2009
    Date of Patent: January 8, 2013
    Assignee: Microsoft Corporation
    Inventors: Richard John Black, Paul Barham, Manuel Costa, Marcus Peinado, Jean-Philippe Martin, Periklis Akritidis, Austin Donnelly, Miguel Castro
  • Patent number: 8340099
    Abstract: Control of background data transfers is described. In an embodiment, a background data transfer is controlled at a receiver node by measuring a time period taken to receive from a sender node a data sequence of the same size as a receive window. The time period is used to evaluate available network capacity, and the network capacity used to calculate a new window size. The new window size is applied and communicated to the sender node. In another embodiment, a background data transfer is controlled at a receiver node by measuring a quantity of data received from a sender node during a first control interval. The measured quantity is used to evaluate available network capacity, and the network capacity used to calculate a new receive window size and a second control interval duration. The new window size is applied for the second control interval, and communicated to the sender node.
    Type: Grant
    Filed: July 15, 2009
    Date of Patent: December 25, 2012
    Assignee: Microsoft Corporation
    Inventors: Richard John Black, Dinan Gunawardena, Peter Key, Gregory O'Shea
  • Publication number: 20120210071
    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: Application
    Filed: February 11, 2011
    Publication date: August 16, 2012
    Applicant: Microsoft Corporation
    Inventors: Richard John Black, Timothy Harris, Ross Cameron Mcilroy, Karin Strauss
  • Publication number: 20110173320
    Abstract: Network node discovery is implemented using parameters reflecting network-specific characteristics. Estimates of the number of active nodes in a network are computed based on the presence of dead time (e.g., due to clock latency, device driver delays, etc.), network topology, packet size, network capacity, a tolerable network overload threshold, and other characteristics. A network node enumeration process is therefore parameterized to incorporate consideration of such characteristics. A damping factor that incorporates dead time to set a lower bound for an estimate of remaining active nodes in a network is one example of a network-specific parameter.
    Type: Application
    Filed: March 18, 2011
    Publication date: July 14, 2011
    Applicant: Microsoft Corporation
    Inventors: Richard John Black, Heimir Thor Sverrisson