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: 20140330937Abstract: 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: ApplicationFiled: May 3, 2013Publication date: November 6, 2014Inventors: Gregory O'Shea, Thomas M. Talpey, David Matthew Kruse, Eno Thereska, Hitesh Ballani, Thomas Karagiannis, Antony Ian Taylor Rowstron, Richard John Black
-
Publication number: 20130283245Abstract: 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: ApplicationFiled: April 19, 2012Publication date: October 24, 2013Applicant: Microsoft CorporationInventors: Richard John Black, Timothy William Burrell, Miguel Oom Temudo de Castro, Manuel Silverio da Silva Costa, Kenneth Johnson, Matthew Ryan Miller
-
Patent number: 8352797Abstract: 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: GrantFiled: December 8, 2009Date of Patent: January 8, 2013Assignee: Microsoft CorporationInventors: Richard John Black, Paul Barham, Manuel Costa, Marcus Peinado, Jean-Philippe Martin, Periklis Akritidis, Austin Donnelly, Miguel Castro
-
Patent number: 8340099Abstract: 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: GrantFiled: July 15, 2009Date of Patent: December 25, 2012Assignee: Microsoft CorporationInventors: Richard John Black, Dinan Gunawardena, Peter Key, Gregory O'Shea
-
Publication number: 20120210071Abstract: 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: ApplicationFiled: February 11, 2011Publication date: August 16, 2012Applicant: Microsoft CorporationInventors: Richard John Black, Timothy Harris, Ross Cameron Mcilroy, Karin Strauss
-
Publication number: 20110173320Abstract: 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: ApplicationFiled: March 18, 2011Publication date: July 14, 2011Applicant: Microsoft CorporationInventors: Richard John Black, Heimir Thor Sverrisson
-
Publication number: 20110138476Abstract: 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: ApplicationFiled: December 8, 2009Publication date: June 9, 2011Applicant: Microsoft CorporationInventors: Richard John Black, Paul Barham, Manuel Costa, Marcus Peinado, Jean-Philippe Martin, Periklis Akritidis, Austin Donnelly, Miguel Castro
-
Patent number: 7953845Abstract: 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: GrantFiled: December 14, 2005Date of Patent: May 31, 2011Assignee: Microsoft CorporationInventors: Richard John Black, Heimir Thor Sverrisson
-
Publication number: 20110013516Abstract: 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: ApplicationFiled: July 15, 2009Publication date: January 20, 2011Applicant: Microsoft CorporationInventors: Richard John Black, Dinan Gunawardena, Peter Key, Gregory O'Shea
-
Patent number: 7870247Abstract: 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: GrantFiled: December 14, 2005Date of Patent: January 11, 2011Assignee: Microsoft CorporationInventors: Richard John Black, Heimir Thor Sverrisson
-
Publication number: 20100290364Abstract: 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: ApplicationFiled: August 2, 2010Publication date: November 18, 2010Applicant: Microsoft CorporationInventor: Richard John Black
-
Patent number: 7793001Abstract: 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: GrantFiled: May 9, 2008Date of Patent: September 7, 2010Assignee: Microsoft CorporationInventor: Richard John Black
-
Patent number: 7660891Abstract: 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: GrantFiled: December 14, 2005Date of Patent: February 9, 2010Assignee: Microsoft CorporationInventor: Richard John Black
-
Publication number: 20090281984Abstract: 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: ApplicationFiled: May 9, 2008Publication date: November 12, 2009Applicant: Microsoft CorporationInventor: Richard John Black
-
Patent number: 7606234Abstract: 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: GrantFiled: June 14, 2005Date of Patent: October 20, 2009Assignee: Microsoft CorporationInventor: Richard John Black