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: 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
  • Publication number: 20110138476
    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: Application
    Filed: December 8, 2009
    Publication date: June 9, 2011
    Applicant: Microsoft Corporation
    Inventors: Richard John Black, Paul Barham, Manuel Costa, Marcus Peinado, Jean-Philippe Martin, Periklis Akritidis, Austin Donnelly, Miguel Castro
  • Patent number: 7953845
    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: Grant
    Filed: December 14, 2005
    Date of Patent: May 31, 2011
    Assignee: Microsoft Corporation
    Inventors: Richard John Black, Heimir Thor Sverrisson
  • Publication number: 20110013516
    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: Application
    Filed: July 15, 2009
    Publication date: January 20, 2011
    Applicant: Microsoft Corporation
    Inventors: Richard John Black, Dinan Gunawardena, Peter Key, Gregory O'Shea
  • Patent number: 7870247
    Abstract: A network node discovery method allows multiple enumerators to concurrently accept and interpret the same enumeration responses from responder nodes on a network. In this manner, the responder nodes do not have to issue individual responses for each enumerator. Each responder maintains a discovery state and one or more per-enumerator session states to manage when the responder should transmit enumeration responses. The enumeration, therefore, proceeds at a target network load, irrespective of the number of enumerators present, and completes in a short time by making efficient use of the network capacity available. Furthermore, an enumerator can determine that it need only wait for responses solicited by other enumerators, rather than requesting them, thereby reducing network traffic in the presence of many concurrently enumerating nodes.
    Type: Grant
    Filed: December 14, 2005
    Date of Patent: January 11, 2011
    Assignee: Microsoft Corporation
    Inventors: Richard John Black, Heimir Thor Sverrisson
  • Publication number: 20100290364
    Abstract: Methods of capturing and compressing trace data for use in network packet traffic analysis are described. In an embodiment, when a packet is received, two records of the packet are created and stored. One record is stored in a file associated with the source address of the packet and the other record is stored in a file associated with the destination address of the packet. Various packet compression techniques are described and one example compares a newly received packet to the previous packet which has been stored in the same file and sets bits in the record which denote whether fields in the newly received packet are the same as the corresponding fields in the previous packet.
    Type: Application
    Filed: August 2, 2010
    Publication date: November 18, 2010
    Applicant: Microsoft Corporation
    Inventor: Richard John Black
  • Patent number: 7793001
    Abstract: Methods of capturing and compressing trace data for use in network packet traffic analysis are described. In an embodiment, when a packet is received, two records of the packet are created and stored. One record is stored in a file associated with the source address of the packet and the other record is stored in a file associated with the destination address of the packet. Various packet compression techniques are described and one example compares a newly received packet to the previous packet which has been stored in the same file and sets bits in the record which denote whether fields in the newly received packet are the same as the corresponding fields in the previous packet.
    Type: Grant
    Filed: May 9, 2008
    Date of Patent: September 7, 2010
    Assignee: Microsoft Corporation
    Inventor: Richard John Black
  • Patent number: 7660891
    Abstract: A network node discovery method allows multiple enumerators to concurrently accept and interpret the same enumeration responses from responder nodes on a network. In this manner, the responder nodes do not have to issue individual responses for each enumerator. Each responder maintains a discovery state and one or more per-enumerator session states to manage when the responder should transmit enumeration responses. The enumeration, therefore, proceeds at a target network load, irrespective of the number of enumerators present, and completes in a short time by making efficient use of the network capacity available. Furthermore, an enumerator can determine that it need only wait for responses solicited by other enumerators, rather than requesting them, thereby reducing network traffic in the presence of many concurrently enumerating nodes.
    Type: Grant
    Filed: December 14, 2005
    Date of Patent: February 9, 2010
    Assignee: Microsoft Corporation
    Inventor: Richard John Black
  • Publication number: 20090281984
    Abstract: Methods of capturing and compressing trace data for use in network packet traffic analysis are described. In an embodiment, when a packet is received, two records of the packet are created and stored. One record is stored in a file associated with the source address of the packet and the other record is stored in a file associated with the destination address of the packet. Various packet compression techniques are described and one example compares a newly received packet to the previous packet which has been stored in the same file and sets bits in the record which denote whether fields in the newly received packet are the same as the corresponding fields in the previous packet.
    Type: Application
    Filed: May 9, 2008
    Publication date: November 12, 2009
    Applicant: Microsoft Corporation
    Inventor: Richard John Black
  • Patent number: 7606234
    Abstract: Acknowledgement packets and data packets of multiple streams are reordered for transmission in order to gain good overall utilization of both uploading and downloading links. Durations of various packets in a transmit queue may evaluated to determine whether a later packet in the transmit queue can be transmitted ahead of an earlier packet in the transmit queue. A relative acknowledgement priority parameter for a node effectively tunes the amount of transmit bandwidth available to increase acknowledgment transmissions and therefore increase the node's receive rate from another node.
    Type: Grant
    Filed: June 14, 2005
    Date of Patent: October 20, 2009
    Assignee: Microsoft Corporation
    Inventor: Richard John Black