Patents by Inventor David T. Harper, III
David T. Harper, III 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: 11042381Abstract: Techniques described herein are directed to ensuring register data consistency between different instruction blocks. For example, a block-based processor renames registers during block decode, but delays the update of a logical register-to-physical register mapping utilized by other instruction blocks until it is determined that a write instruction configured to write to a logical register commits. Alternatively, the processor renames registers during block decode and updates the mapping accordingly. However, the update is negated (e.g., rolled back) if the write instruction is not executed. Still further, the processor may analyze the instructions in the block to determine instructions configured to write to a logical register but that will not execute due to a mismatched predicate. Based on the determination, the block-based processor ensures data consistency by copying data from a previously-assigned register to a newly-assigned register.Type: GrantFiled: December 8, 2018Date of Patent: June 22, 2021Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: David T. Harper, III, Gagan Gupta
-
Publication number: 20200183695Abstract: Techniques described herein are directed to ensuring register data consistency between different instruction blocks. For example, a block-based processor renames registers during block decode, but delays the update of a logical register-to-physical register mapping utilized by other instruction blocks until it is determined that a write instruction configured to write to a logical register commits. Alternatively, the processor renames registers during block decode and updates the mapping accordingly. However, the update is negated (e.g., rolled back) if the write instruction is not executed. Still further, the processor may analyze the instructions in the block to determine instructions configured to write to a logical register but that will not execute due to a mismatched predicate. Based on the determination, the block-based processor ensures data consistency by copying data from a previously-assigned register to a newly-assigned register.Type: ApplicationFiled: December 8, 2018Publication date: June 11, 2020Inventors: David T. Harper, III, Gagan Gupta
-
Patent number: 9647932Abstract: The transmission of multiple copies of data to other computing devices is optimized by minimizing the number of copies of such data transmitted through an expensive portion of the network. A store-and-forward methodology is utilized to transmit only a single copy through the expensive portion and the data is subsequently forked into multiple copies directed to multiple destination computing devices. Computing devices that are not intended destinations can be conscripted as intermediate computing devices, if appropriate to minimize copies of the data transmitted through an expensive portion. Additionally, accommodation can be made for data that is intolerant of out-of-order delivery by utilizing adaptive protocols that avoid mechanisms that may result in out-of-order delivery for data intolerant of such and by utilizing packet sorting at data convergence points to reorder the data. Different protocol settings can be utilized to transmit data across different portions of the network.Type: GrantFiled: June 6, 2016Date of Patent: May 9, 2017Assignee: Microsoft Technology Licensing, LLCInventors: David A. Maltz, David T. Harper, III, Douglas Christopher Burger
-
Publication number: 20160294679Abstract: The transmission of multiple copies of data to other computing devices is optimized by minimizing the number of copies of such data transmitted through an expensive portion of the network. A store-and-forward methodology is utilized to transmit only a single copy through the expensive portion and the data is subsequently forked into multiple copies directed to multiple destination computing devices. Computing devices that are not intended destinations can be conscripted as intermediate computing devices, if appropriate to minimize copies of the data transmitted through an expensive portion. Additionally, accommodation can be made for data that is intolerant of out-of-order delivery by utilizing adaptive protocols that avoid mechanisms that may result in out-of-order delivery for data intolerant of such and by utilizing packet sorting at data convergence points to reorder the data. Different protocol settings can be utilized to transmit data across different portions of the network.Type: ApplicationFiled: June 6, 2016Publication date: October 6, 2016Inventors: David A. Maltz, David T. Harper, III, Douglas Christopher Burger
-
Patent number: 9391716Abstract: A data center includes a plurality of computing units that communicate with each other using wireless communication, such as high frequency RF wireless communication. The data center may organize the computing units into groups (e.g., racks). In one implementation, each group may form a three-dimensional structure, such as a column having a free-space region for accommodating intra-group communication among computing units. The data center can include a number of features to facilitate communication, including dual-use memory for handling computing and buffering tasks, failsafe routing mechanisms, provisions to address permanent interface and hidden terminal scenarios, etc.Type: GrantFiled: April 5, 2010Date of Patent: July 12, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Ji Yong Shin, Darko Kirovski, David T. Harper, III
-
Patent number: 9363303Abstract: The transmission of multiple copies of data to other computing devices is optimized by minimizing the number of copies of such data transmitted through an expensive portion of the network. A store-and-forward methodology is utilized to transmit only a single copy through the expensive portion and the data is subsequently forked into multiple copies directed to multiple destination computing devices. Computing devices that are not intended destinations can be conscripted as intermediate computing devices, if appropriate to minimize copies of the data transmitted through an expensive portion. Additionally, accommodation can be made for data that is intolerant of out-of-order delivery by utilizing adaptive protocols that avoid mechanisms that may result in out-of-order delivery for data intolerant of such and by utilizing packet sorting at data convergence points to reorder the data. Different protocol settings can be utilized to transmit data across different portions of the network.Type: GrantFiled: March 15, 2013Date of Patent: June 7, 2016Assignee: Microsoft Technology Licensing, LLCInventors: David A. Maltz, David T. Harper, III, Douglas Christopher Burger
-
Patent number: 8964953Abstract: A bid-based network sells network capacity on a transaction-by-transaction basis in accordance with bids placed on transactions. A transaction is the transmission of a quantum of data across at least some portion of the network, where the quantum of data can be as small as a single packet. Bids for network capacity are ranked in order of monetary value, or other criteria relevant to the network service provider. The amount charged to the highest bidder is based on the maximum bid of the next highest bidder. Bids are evaluated on a real-time basis at the time when the link is ready to transmit data. An automated system makes individual bids at each link through which data is transmitted and can take into account additional criteria that can be specified as part of the bid information, including latency and routing requirements. Bid information is passed with data through the network.Type: GrantFiled: January 10, 2013Date of Patent: February 24, 2015Assignee: Microsoft CorporationInventors: Gregory Joseph McKnight, David T. Harper, III, Christopher Hanaoka, Eric C. Peterson, Ming Zhang
-
Patent number: 8949549Abstract: A method to exchange data in a shared memory system includes the use of a buffer in communication with a producer processor and a consumer processor. The cache data is temporarily stored in the buffer. The method includes for the consumer and the producer to indicate intent to acquire ownership of the buffer. In response to the indication of intent, the producer, consumer, buffer are prepared for the access. If the consumer intends to acquire the buffer, the producer places the cache data into the buffer. If the producer intends to acquire the buffer, the consumer removes the cache data from the buffer. The access to the buffer, however, is delayed until the producer, consumer, and the buffer are prepared.Type: GrantFiled: November 26, 2008Date of Patent: February 3, 2015Assignee: Microsoft CorporationInventors: David T. Harper, III, Charles David Callahan, II
-
Patent number: 8868954Abstract: Low cost storage for write once read rarely data is described. In an embodiment a storage device comprises a plurality of hard disk drives connected to a server via an interconnect fabric. The storage device comprises a cooling system which is only capable of cooling a first subset of the hard disk drives and a power supply system which is only capable of powering a second subset of the hard disk drives and in some examples, the interconnect fabric may be only capable of providing full bandwidth for a third subset of the hard disk drives. Each subset may comprise only a small fraction of hard disk drives. A control mechanism, which may be implemented in software, is provided which controls which hard disk drives are active at any time in order that the constraints set by the cooling and power supply systems and interconnect fabric are not violated.Type: GrantFiled: May 21, 2013Date of Patent: October 21, 2014Assignee: Microsoft CorporationInventors: Shobana M. Balakrsihnan, David T. Harper, III, Stephen Heil, Eric C. Peterson, Adam B. Glass, David Alex Butler, Austin Nicholas Donnelly, Antony Ian Taylor Rowstron, Sergey Legtchenko
-
Publication number: 20140280669Abstract: Memory is shared among physically distinct, networked computing devices. Each computing device comprises a Remote Memory Interface (RMI) accepting commands from locally executing processes and translating such commands into forms transmittable to a remote computing device. The RMI also accepts remote communications directed to it and translates those into commands directed to local memory. The amount of storage capacity shared is informed by a centralized controller, either a single controller, a hierarchical collection of controllers, or a peer-to-peer negotiation. Requests that are directed to remote high-speed non-volatile storage media are detected or flagged and the process generating the request is suspended such that it can be efficiently revived. The storage capacity provided by remote memory is mapped into the process space of processes executing locally.Type: ApplicationFiled: March 15, 2013Publication date: September 18, 2014Applicant: MICROSOFT CORPORATIONInventors: David T. Harper, III, Sudipta Sengupta, Douglas Christopher Burger, Eric C. Peterson, David A. Maltz
-
Publication number: 20140281019Abstract: Application-provided transmission metadata is utilized, in conjunction with current network information, to adjust network transmissions. An interface between applications seeking to transmit data and networking components enables the application to provide destination information, communication type information, information regarding the quantity of data to be transferred, timeliness information, data location information, cost information, and other like transmission metadata. Current network information can be obtained by the networking components themselves, or can be provided by, or enhanced by, a centralized controller. The networking components can then optimize both the routing and the protocol settings in the form of adjustments to error control settings, flow control settings, receiver control settings, segmentation settings, and other like protocol settings.Type: ApplicationFiled: March 15, 2013Publication date: September 18, 2014Applicant: MICROSOFT CORPORATIONInventors: David A. Maltz, David T. Harper, III, Douglas Christopher Burger
-
Publication number: 20140280708Abstract: The transmission of multiple copies of data to other computing devices is optimized by minimizing the number of copies of such data transmitted through an expensive portion of the network. A store-and-forward methodology is utilized to transmit only a single copy through the expensive portion and the data is subsequently forked into multiple copies directed to multiple destination computing devices. Computing devices that are not intended destinations can be conscripted as intermediate computing devices, if appropriate to minimize copies of the data transmitted through an expensive portion. Additionally, accommodation can be made for data that is intolerant of out-of-order delivery by utilizing adaptive protocols that avoid mechanisms that may result in out-of-order delivery for data intolerant of such and by utilizing packet sorting at data convergence points to reorder the data. Different protocol settings can be utilized to transmit data across different portions of the network.Type: ApplicationFiled: March 15, 2013Publication date: September 18, 2014Applicant: MICROSOFT CORPORATIONInventors: David A. Maltz, David T. Harper, III, Douglas Christopher Burger
-
Publication number: 20140195366Abstract: A bid-based network sells network capacity on a transaction-by-transaction basis in accordance with bids placed on transactions. A transaction is the transmission of a quantum of data across at least some portion of the network, where the quantum of data can be as small as a single packet. Bids for network capacity are ranked in order of monetary value, or other criteria relevant to the network service provider. The amount charged to the highest bidder is based on the maximum bid of the next highest bidder. Bids are evaluated on a real-time basis at the time when the link is ready to transmit data. An automated system makes individual bids at each link through which data is transmitted and can take into account additional criteria that can be specified as part of the bid information, including latency and routing requirements. Bid information is passed with data through the network.Type: ApplicationFiled: January 10, 2013Publication date: July 10, 2014Applicant: MICROSOFT CORPORATIONInventors: Gregory Joseph McKnight, David T. Harper, III, Christopher Hanaoka, Eric C. Peterson, Ming Zhang
-
Publication number: 20140170865Abstract: A substantially cable-free board connection assembly may include a plurality of printed circuit boards (PCBs) forming an interconnect plane for a plurality of electronic devices respectively attached to a plurality of plane boards included in the interconnect plane. An insertion direction for substantially all connectors is substantially perpendicular to a face of the interconnect plane. At least a portion of the board connection assembly is mounted to a support structure via a flexible connection.Type: ApplicationFiled: December 17, 2012Publication date: June 19, 2014Applicant: MICROSOFT CORPORATIONInventors: Eric C. Peterson, David T. Harper, III
-
Patent number: 8156289Abstract: The claimed matter provides systems and/or methods that effectuate utilization of fine-grained concurrency in parallel processing and efficient management of established memory structures. The system can include devices that establish memory structures associated with individual processors that can comprise a parallel processing phalanx. The system can thereafter utilize various enqueuing and/or dequeuing directives to add or remove work descriptors to or from the memory structures individually associated with each of the individual processors thereby providing improved work flow synchronization amongst the processors that comprise the parallel processing complex.Type: GrantFiled: June 3, 2008Date of Patent: April 10, 2012Assignee: Microsoft CorporationInventor: David T. Harper, III
-
Publication number: 20110243074Abstract: A data center includes a plurality of computing units that communicate with each other using wireless communication, such as high frequency RF wireless communication. The data center may organize the computing units into groups (e.g., racks). In one implementation, each group may form a three-dimensional structure, such as a column having a free-space region for accommodating intra-group communication among computing units. The data center can include a number of features to facilitate communication, including dual-use memory for handling computing and buffering tasks, failsafe routing mechanisms, provisions to address permanent interface and hidden terminal scenarios, etc.Type: ApplicationFiled: April 5, 2010Publication date: October 6, 2011Applicant: Microsoft CorporationInventors: Ji Yong Shin, Darko Kirovski, David T. Harper, III
-
Publication number: 20100131720Abstract: A method to exchange data in a shared memory system includes the use of a buffer in communication with a producer processor and a consumer processor. The cache data is temporarily stored in the buffer. The method includes for the consumer and the producer to indicate intent to acquire ownership of the buffer. In response to the indication of intent, the producer, consumer, buffer are prepared for the access. If the consumer intends to acquire the buffer, the producer places the cache data into the buffer. If the producer intends to acquire the buffer, the consumer removes the cache data from the buffer. The access to the buffer, however, is delayed until the producer, consumer, and the buffer are prepared.Type: ApplicationFiled: November 26, 2008Publication date: May 27, 2010Applicant: MICROSOFT CORPORATIONInventors: David T. Harper, III, Charles David Callahan, II
-
Publication number: 20090300333Abstract: The claimed matter provides systems and/or methods that effectuate utilization of fine-grained concurrency in parallel processing and efficient management of established memory structures. The system can include devices that establish memory structures associated with individual processors that can comprise a parallel processing phalanx. The system can thereafter utilize various enqueuing and/or dequeuing directives to add or remove work descriptors to or from the memory structures individually associated with each of the individual processors thereby providing improved work flow synchronization amongst the processors that comprise the parallel processing complex.Type: ApplicationFiled: June 3, 2008Publication date: December 3, 2009Applicant: MICROSOFT CORPORATIONInventor: David T. Harper, III
-
Patent number: 4918600Abstract: Conflict-free vector access of any constant stride is made by preselecting a storage scheme for each vector based on the accessing patterns to be used with that vector. A respective storage scheme for each vector, for example, is selected to provide conflict-free access for a predetermined stride S. The respective storage scheme involves a rotation or permutation of an addressed row of corresponding memory locations in N parallel modules in main memory. The amount of rotation or permutation is a predetermined function of the predetermined stride S and the row address. The rotation is performed by modulo-N addition, or the permutation is performed by a set of exclusive-OR gates. For a system in which N is a power of 2 such that n=log.sub.2 N, the predetermined stride S is factored into an odd component and an even component that is a power of 2. The factorization is easily performed by a shift and count procedure, a shifter and counter, or a priority encoder.Type: GrantFiled: August 1, 1988Date of Patent: April 17, 1990Assignee: Board of Regents, University of Texas SystemInventors: David T. Harper, III, Darel A. Linebarger