Patent application number | Description | Published |
20080293474 | Motivational Deployment Mechanism for Networked Systems - The described implementations relate to networked or distributed systems and more particularly to providing motivation for deployment of networked systems. One technique gathers a solicitation hierarchy in a distributed system. This technique also tracks contribution to the distributed system of participants within the hierarchy. This technique further probabilistically determines a participant as a lottery winner based at least in part on the solicitation hierarchy and the contribution. | 11-27-2008 |
20090031314 | FAIRNESS IN MEMORY SYSTEMS - Architecture for a multi-threaded system that applies fairness to thread memory request scheduling such that access to the shared memory is fair among different threads and applications. A fairness scheduling algorithm provides fair memory access to different threads in multi-core systems, thereby avoiding unfair treatment of individual threads, thread starvation, and performance loss caused by a memory performance hog (MPH) application. The thread slowdown is determined by considering the thread's inherent memory-access characteristics, computed as the ratio of the real latency that the thread experiences and the latency (ideal latency) that the thread would have experienced if it had run as the only thread in the same system. The highest and lowest slowdown values are then used to generate an unfairness parameter which when compared to a threshold value provides a measure of fairness/unfairness currently occurring in the request scheduling process. The architecture provides a balance between fairness and throughput. | 01-29-2009 |
20090034457 | Dynamic Channel-Width Allocation in Wireless Networks - Techniques for enhancing throughput capacity and/or bandwidth distribution fairness among APs in a wireless network are described. Specifically, a channel frequency profile which includes a center frequency and channel-width (i.e., channel bandwidth) is dynamically assigned to each of one or more APs in a wireless network. The assigned channel frequency profile for each AP is based, at least in part, on the current composition of the wireless network including, its topology and traffic load distribution. In this regard, each AP's channel frequency profile can be continuously or periodically changed such that the entire available frequency spectrum is effectively utilized and/or interference between APs is avoided or limited. This, in turn, enhances the throughput capacity and/or bandwidth distribution fairness of the wireless network. | 02-05-2009 |
20090044189 | PARALLELISM-AWARE MEMORY REQUEST SCHEDULING IN SHARED MEMORY CONTROLLERS - Parallelism-aware scheduling of memory requests of threads in shared memory controllers. Parallel scheduling is achieved by prioritizing threads that already have requests being serviced in the memory banks. A first algorithm prioritizes requests of the last-scheduled thread that is currently being serviced. This is accomplished by tracking the thread that generated the last-scheduled request (if the request is still being serviced), and then scheduling another request from the same thread if there is an outstanding ready request from the same thread. A second algorithm prioritizes the requests of all threads that are currently being serviced. This is accomplished by tracking threads that have at least one request currently being serviced in the banks, and assigning the highest priority to these threads in the scheduling decisions. If there are no outstanding requests from any thread having requests that are being serviced, the algorithm defaults back to a baseline scheduling algorithm. | 02-12-2009 |
20090055580 | MULTI-LEVEL DRAM CONTROLLER TO MANAGE ACCESS TO DRAM - Providing for multi-tiered RAM control is provided herein. As an example, a RAM access management system can include multiple input controllers each having a request buffer and request scheduler. Furthermore, a request buffer associated with a controller can vary in size with respect to other buffers. Additionally, request schedulers can vary in complexity and can be optimized at least for a particular request buffer size. As a further example, a first controller can have a large memory buffer and simple scheduling algorithm optimized for scalability. A second controller can have a small memory buffer and a complex scheduler, optimized for efficiency and high RAM performance. Generally, RAM management systems described herein can increase memory system scalability for multi-core parallel processing devices while providing an efficient and high bandwidth RAM interface. | 02-26-2009 |
20090138670 | SOFTWARE-CONFIGURABLE AND STALL-TIME FAIR MEMORY ACCESS SCHEDULING MECHANISM FOR SHARED MEMORY SYSTEMS - Systems and methodologies for stall-time fair memory access scheduling for shared memory systems are provided herein. A stall-time fairness policy can be applied in accordance with various aspects described herein to schedule memory requests from threads sharing a memory system. To this end, a Stall-Time Fair Memory scheduler (STFM) algorithm can be utilized, wherein memory-related slowdown experienced by a group of threads due to interference from other threads is equalized. Additionally and/or alternatively, a traditional scheduling policy such as first-ready first-come-first-serve (FR-FCFS) can be utilized in combination with a cap on column-over-row reordering of memory requests, thereby reducing the amount of stall-time unfairness imposed by such traditional scheduling policies. Further, various aspects described herein can perform memory scheduling based on thread weights and/or other parameters, which can be configured in hardware and/or software. | 05-28-2009 |
20090196180 | Dynamic Time-Spectrum Block Allocation for Cognitive Radio Networks - Dynamic time-spectrum block allocation for cognitive radio networks is described. In one implementation, without need for a central controller, peer wireless nodes collaboratively sense local utilization of a communication spectrum and collaboratively share white spaces for communication links between the nodes. Sharing local views of the spectrum utilization with each other allows the nodes to dynamically allocate non-overlapping time-frequency blocks to the communication links between the nodes for efficiently utilizing the white spaces. The blocks are sized to optimally pack the available white spaces. The nodes regularly readjust the bandwidth and other parameters of all reserved blocks in response to demand, so that packing of the blocks in available white spaces maintains a fair distribution of the overall bandwidth of the white spaces among active communication links, minimizes finishing time of all communications, reduces contention overhead among the nodes contending for the white spaces, and maintains non-overlapping blocks. | 08-06-2009 |
20090216962 | PRIORITIZATION OF MULTIPLE CONCURRENT THREADS FOR SCHEDULING REQUESTS TO SHARED MEMORY - A “request scheduler” provides techniques for batching and scheduling buffered thread requests for access to shared memory in a general-purpose computer system. Thread-fairness is provided while preventing short- and long-term thread starvation by using “request batching.” Batching periodically groups outstanding requests from a memory request buffer into larger units termed “batches” that have higher priority than all other buffered requests. Each “batch” may include some maximum number of requests for each bank of the shared memory and for some or all concurrent threads. Further, average thread stall times are reduced by using computed thread rankings in scheduling request servicing from the shared memory. In various embodiments, requests from higher ranked threads are prioritized over requests from lower ranked threads. In various embodiments, a parallelism-aware memory access scheduling policy improves intra-thread bank-level parallelism. Further, rank-based request scheduling may be performed with or without batching. | 08-27-2009 |
20090217273 | CONTROLLING INTERFERENCE IN SHARED MEMORY SYSTEMS USING PARALLELISM-AWARE BATCH SCHEDULING - A “request scheduler” provides techniques for batching and scheduling buffered thread requests for access to shared memory in a general-purpose computer system. Thread-fairness is provided while preventing short- and long-term thread starvation by using “request batching.” Batching periodically groups outstanding requests from a memory request buffer into larger units termed “batches” that have higher priority than all other buffered requests. Each “batch” may include some maximum number of requests for each bank of the shared memory and for some or all concurrent threads. Further, average thread stall times are reduced by using computed thread rankings in scheduling request servicing from the shared memory. In various embodiments, requests from higher ranked threads are prioritized over requests from lower ranked threads. In various embodiments, a parallelism-aware memory access scheduling policy improves intra-thread bank-level parallelism. Further, rank-based request scheduling may be performed with or without batching. | 08-27-2009 |
20090307691 | COORDINATION AMONG MULTIPLE MEMORY CONTROLLERS - Systems and methods that coordinate operations among a plurality of memory controllers to make a decision for performing an action based in part on state information. A control component facilitates exchange of information among memory controllers, wherein exchanged state information of the memory controllers are further employed to perform computations that facilitate the decision making process. | 12-10-2009 |
20090323600 | ADAPTING CHANNEL WIDTH FOR IMPROVING THE PERFORMANCE OF WIRELESS NETWORKS - The subject invention relates to a system and/or methodology that provide improved wireless networking performance by dynamically adapting the channel width. A dynamic adaptation component adjust the channel width based on at least one characteristic of a wireless network, the characteristics can include but are not limited to range, power consumption, throughput, signal to noise ratio (SNR), resilience to delay spread, data rate, and capacity. Additionally, an optimization component can determine an optimum channel width. | 12-31-2009 |
20100197405 | METHOD AND APPARATUS FOR THWARTING TRAFFIC ANALYSIS IN ONLINE GAMES - The subject disclosure relates to a method and apparatus for routing data in a network-based computer game via proxy computers. The method and system includes a set of techniques that utilizes the proxy computers to thwart traffic analysis in high-speed games while continuing to satisfy the games' latency requirements. The method and apparatus facilitates thwarting multiple classes of traffic analysis, including inspection of unencrypted header fields, observation of packet size, correlation of packet timing, and collusion among players. A matchmaking system for matching players in a network-based computer game in a manner that resists traffic analysis is also provided. | 08-05-2010 |
20100202449 | Bufferless Routing in On-Chip Interconnection Networks - As microprocessors incorporate more and more devices on a single chip, dedicated buses have given way to on-chip interconnection networks (“OCIN”). Routers in a bufferless OCIN as described herein rank and prioritize flits. Flits traverse a productive path towards their destination or undergo temporary deflection to other non-productive paths, without buffering. Eliminating the buffers of on-chip routers reduces power consumption and heat dissipation while freeing up chip surface area for other uses. Furthermore, bufferless design enables purely local flow control of data between devices in the on-chip network, reducing router complexity and enabling reductions in router latency. Router latency reductions are possible in the bufferless on-chip routing by using lookahead links to send data between on-chip routers contemporaneously with flit traversals. | 08-12-2010 |
20100241742 | Collaborative speed determination in distributed systems - The described implementations relate to collaborative speed determination in distributed systems. One method estimates upload speeds of a plurality of hosts. The method sends a first bandwidth probe from a first host to a second host. The method receives, at the first host, a second bandwidth probe sent from the second host. The method determines which of the first and second bandwidth probes was relatively slower. The method designates either of the first or second hosts that sent the relatively slower bandwidth probe as a loser and takes a speed of the bandwidth probe of the loser as a first estimate of the loser's upload speed. | 09-23-2010 |
20100301992 | Channel Discovery and Disconnection in Networks Over White Spaces and Other Portions of the Spectrum - Functionality is described for discovering a channel within an environment in which non-privileged entities have subordinate access rights to spectrum compared to privileged entities. The functionality operates by investigating spectrum units within the spectrum for the presence of the channel. In one case, the functionality operates by investigating the spectrum units in linear succession; in another case, the functionality advances in a staggered fashion over the available spectrum. Functionality is also described for handling disconnection by a node from a channel. The functionality allows the node to convey its disconnection status to other communication participants. In one case, various aspects of the functionality are implemented by performing analysis in the time domain. | 12-02-2010 |
20100304678 | Spectrum Assignment for Networks Over White Spaces and Other Portions of the Spectrum - Functionality is described by selecting a channel in an environment in which non-privileged entities have subordinate access rights to spectrum compared to privileged entities. The functionality operates by identifying spectrum that is available to all nodes involved in communication (where the nodes are associated with non-privileged entities). The functionality then generates a suitability assessment for each candidate channel within the available spectrum. The functionality selects a channel having the most desirable suitability assessment. The functionality can form a suitability assessment for a candidate channel of arbitrary width, e.g., by combining suitability assessments associated with constituent spectrum units within the candidate channel. | 12-02-2010 |
20100318786 | Trusted Hardware Component for Distributed Systems - Techniques for utilizing trusted hardware components for mitigating the effects of equivocation amongst participant computing devices of a distributed system are described herein. For instance, a distributed system employing a byzantine-fault-resilient protocol—that is, a protocol intended to mitigate (e.g., tolerate, detect, isolate, etc.) the effects of byzantine faults—may employ the techniques. To do so, the techniques may utilize a trusted hardware component comprising a non-decreasing counter and a key. This hardware component may be “trusted” in that the respective participant computing device cannot modify or observe the contents of the component in any manner other than according to the prescribed procedures, as described herein. Furthermore, the trusted hardware component may couple to the participant computing device in any suitable manner, such as via a universal serial bus (USB) connection or the like. | 12-16-2010 |
20110032892 | DYNAMIC TIME-SPECTRUM BLOCK ALLOCATION FOR COGNITIVE RADIO NETWORKS - Dynamic time-spectrum block allocation for cognitive radio networks is described. In one implementation, without need for a central controller, peer wireless nodes collaboratively sense local utilization of a communication spectrum and collaboratively share white spaces for communication links between the nodes. Sharing local views of the spectrum utilization with each other allows the nodes to dynamically allocate non-overlapping time-frequency blocks to the communication links between the nodes for efficiently utilizing the white spaces. The blocks are sized to optimally pack the available white spaces. The nodes regularly readjust the bandwidth and other parameters of all reserved blocks in response to demand, so that packing of the blocks in available white spaces maintains a fair distribution of the overall bandwidth of the white spaces among active communication links, minimizes finishing time of all communications, reduces contention overhead among the nodes contending for the white spaces, and maintains non-overlapping blocks. | 02-10-2011 |
20110119456 | EFFICIENCY OF HARDWARE MEMORY ACCESS USING DYNAMICALLY REPLICATED MEMORY - Dynamically replicated memory is usable to allocate new memory space from failed memory pages by pairing compatible failed memory pages to reuse otherwise unusable failed memory pages. Dynamically replicating memory involves detecting and recording memory faults, reclaiming failed memory pages for later use, recovering from detected memory faults, and scheduling access to replicated memory pages. | 05-19-2011 |
20110119538 | Dynamically Replicated Memory - Dynamically replicated memory is usable to allocate new memory space from failed memory pages by pairing compatible failed memory pages to reuse otherwise unusable failed memory pages. Dynamically replicating memory involves detecting and recording memory faults, reclaiming failed memory pages for later use, recovering from detected memory faults, and scheduling access to replicated memory pages. | 05-19-2011 |
20110211517 | EFFICIENT AND RELIABLE MULTICAST OVER A Wi-Fi NETWORK - A “Wi-Fi Multicaster” provides a practical and efficient Wi-Fi multicast system for environments having potentially large numbers of Wi-Fi clients. Significantly, the Wi-Fi Multicaster does not require any changes to the 802.11 protocol, or to the underlying Wi-Fi infrastructure. In various embodiments, the Wi-Fi Multicaster uses pseudo-broadcast, and augments it with destination control, association control and optional proactive FEC (forward error correction) to improve multicast performance. More specifically, the Wi-Fi Multicaster system converts multicast packets to targeted unicast transmissions. To minimize the amount of airtime consumed, the Wi-Fi Multicaster uses destination control in combination with various algorithms for association control. Further, in various embodiments, the Wi-Fi Multicaster includes an adaptive, proactive FEC scheme to reduce overall packet losses. Finally, to overcome the challenges posed by encryption protocols such as 802.1x, the Wi-Fi Multicaster uses a “virtual multicast interface” that allows clients to “share” a common key for each multicast. | 09-01-2011 |
20110231601 | PROVIDING HARDWARE RESOURCES HAVING DIFFERENT RELIABILITIES FOR USE BY AN APPLICATION - Power management functionality is described for implementing an application in an energy-efficient manner, without substantially degrading overall performance of the application. The functionality operates by identifying at least first data and second data associated with the application. The first data is considered to have a greater potential impact on performance of the application compared to the second data. The functionality then instructs a first set of hardware-level resources to handle the first data and a second set of hardware-level resources to handle the second data. The first set of hardware-level resources has a higher reliability compared to the second set of hardware-level resources. In one case, the first and second hardware-level resources comprise DRAM memory units. Here, the first set of hardware-level resources achieves greater reliability than the second set of hardware-level resources by being refreshed at a higher rate than the second set of hardware-level resources. | 09-22-2011 |
20110288934 | AD STALKING DEFENSE - Techniques are described to mitigate ad stalking and other user concerns resulting from user-targeted advertising. A user may be informed of advertising information by a process in which an advertising server receives a request for an ad. The request may have been generated in response to a user request for a landing web page. An ad may be selected based on user information available to the advertising server, where the user information is associated with the user and describes behavior and/or attributes and/or preferences associated with the user. Text about how the ad was selected may be incorporated into the ad. Such text may describe the user information used to select the ad. The selection-disclosing text may be incorporated in the ad in a form that is displayable to the user by a browser. The ad may then be transmitted for display in the landing web page. | 11-24-2011 |
20110289232 | Collaborative Speed Determination in Distributed Systems - The described implementations relate to collaborative speed determination in distributed systems. One method estimates upload speeds of a plurality of hosts. The method sends a first bandwidth probe from a first host to a second host. The method receives, at the first host, a second bandwidth probe sent from the second host. The method determines which of the first and second bandwidth probes was relatively slower. The method designates either of the first or second hosts that sent the relatively slower bandwidth probe as a loser and takes a speed of the bandwidth probe of the loser as a first estimate of the loser's upload speed. | 11-24-2011 |
20110306301 | Channel Discovery Protocol - A computing device configured to select a channel that is open in a local environment of the computing device and to attempt to communicate with another computing device on the selected available channel is described herein. The computing device selects the available channel based on selection probabilities for a plurality of available channels, the selection probabilities defined by an exponentially decaying distribution curve. | 12-15-2011 |
20110306375 | TRANSMITTING DATA IN A WIRELESS WHITE SPACE NETWORK - There is provided a computer-implemented method for transmitting data over a wireless network using white spaces. A first white space transmission channel is determined for communicating with mobile client devices. Wireless communication takes place with the mobile client devices over the first white space transmission channel. If the first white space transmission channel becomes unavailable to one of the mobile client devices because of the presence of a primary user on the first white space transmission channel, a different white space transmission channel is determined for communicating with the mobile client device that is affected. The first white space transmission channel may become unavailable to the affected mobile client device, for example, because a primary user begins using the first white space transmission channel in proximity to the affected device. The primary user may be a wireless microphone. Thereafter, communication with the affected wireless device takes place on the different white space transmission channel, while unaffected devices continue to communicate on the first white space transmission channel. Also provided are an exemplary wireless base station and an exemplary mobile client device. | 12-15-2011 |
20110317019 | ENABLING WHITE SPACE NETWORKS INDEPENDENT OF LOW-THRESHOLD SENSING - Described is a technology by which a remote or local geo-location service provides white space information that one or more client devices and/or base stations may use to determine which white spaces are available for use, e.g., for wireless networking. Because of the information, low-threshold sensing is not needed by the client devices and/or base stations to know which white spaces are available. The service computes the available white spaces for a given location based upon television transmitter parameters, elevation data, and information received regarding any operational wireless microphones. | 12-29-2011 |
20110317632 | Integrating White Space Support into a Network Stack - Described is incorporating white space networking components into a network stack. A user mode spectrum access control component determines which white space channels are currently allowed for use based upon policy, current operating status and availability information obtained from one or more sources. A white space service (e.g., in the WLAN service) receives the availability information. The white space service includes a discovery module that discovers other nodes, and a channel migration module that changes from the current channel to another channel if the current channel is no longer allowed for use. A kernel mode (NDIS layer) white space driver through a miniport driver controls the channel in use as the current channel. An automatic configuration module is provided that switches to Wi-Fi network communication when a Wi-Fi network is present, and switches back when a Wi-Fi network is not present. | 12-29-2011 |
20120148068 | COEXISTENCE OF WHITE SPACE DEVICES AND WIRELESS NARROWBAND DEVICES - Architecture that enables wireless narrowband devices (e.g., wireless microphones) and white space devices to efficiently coexist on the same telecommunications channels, while not interfering with the usability of the wireless narrowband device. The architecture provides interference detection, strobe generation and detection and, power ramping and suppression (interference-free coexistence with spectrum efficiency). The architecture provides the ability of the white space device to learn about the presence of the microphone. This can be accomplished i using a geolocation database, reactively via a strober device, and/or proactively via the strober device. The strober device can be positioned close to the microphone receiver and signals the presence of a microphone to white space devices on demand. The strober device takes into consideration the microphone's characteristics as well as the relative signal strength from the microphone transmitter versus the white space device, in order to enable maximum use of the available white space spectrum. | 06-14-2012 |
20120159504 | Mutual-Exclusion Algorithms Resilient to Transient Memory Faults - Techniques for implementing mutual-exclusion algorithms that are also fault-resistant are described herein. For instance, this document describes systems that implement fault-resistant, mutual-exclusion algorithms that at least prevent simultaneous access of a shared resource by multiple threads when (i) one of the multiple threads is in its critical section, and (ii) the other thread(s) are waiting in a loop to enter their respective critical sections. In some instances, these algorithms are fault-tolerant to prevent simultaneous access of the shared resource regardless of a state of the multiple threads executing on the system. In some instances, these algorithms may resist (e.g., tolerate entirely) transient memory faults (or “soft errors”). | 06-21-2012 |
20120244847 | TRANSFER OF DATA-INTENSIVE CONTENT BETWEEN PORTABLE DEVICES - Described herein are technologies that facilitate transfer of data-intensive content between portable telephones. Phones are configured to transmit data indicative of phone location to a proxy server by way of respective cellular network data connections. When a user of a phone wishes to acquire content that is labeled as shareable on another phone, the user of the phone initiates a location-based request, which causes the proxy server to provide a list of phones that are estimated to be in Wi-Fi range of such phone. The user thereafter selects a particular phone, and the proxy server instructs that phone to activate its Wi-Fi radio. The phone of the user additionally activates its Wi-Fi radio, and a peer-to-peer connection between phones is established. Thereafter, rich content is transferrable between the phones. | 09-27-2012 |
20130303138 | TRANSFER OF DATA-INTENSIVE CONTENT BETWEEN PORTABLE DEVICES - Described herein are technologies that facilitate transfer of data-intensive content between portable telephones. Phones are configured to transmit data indicative of phone location to a proxy server by way of respective cellular network data connections. When a user of a phone wishes to acquire content that is labeled as shareable on another phone, the user of the phone initiates a location-based request, which causes the proxy server to provide a list of phones that are estimated to be in Wi-Fi range of such phone. The user thereafter selects a particular phone, and the proxy server instructs that phone to activate its Wi-Fi radio. The phone of the user additionally activates its Wi-Fi radio, and a peer-to-peer connection between phones is established. Thereafter, rich content is transferrable between the phones. | 11-14-2013 |
20140051467 | Spectrum Allocation for Base Station - Embodiments include processes, systems, and devices that allow a white space base station to request available frequency ranges for white space transmission in a local area. A white space finder service models a primary user device's transmission signal propagation area using terrain data associated with the local area of the primary user device. The white space finder service also determines, based on the location of the white space base station and the modeled propagation area, one or more locally available, non-interfering frequency ranges and provides them to the white space base station. The white space base station compares the provided frequency ranges to policies and selects one or more of the available frequencies that accommodate the policies. The white space base station also maps the transmission frequency ranges to virtual frequency ranges for transmission by a software-defined radio employing spectrum virtualization. | 02-20-2014 |
20140256264 | SPECTRUM ASSIGNMENT FOR NETWORKS OVER WHITE SPACES AND OTHER PORTIONS OF THE SPECTRUM - Functionality is described by selecting a channel in an environment in which non-privileged entities have subordinate access rights to spectrum compared to privileged entities. The functionality operates by identifying spectrum that is available to all nodes involved in communication (where the nodes are associated with non-privileged entities). The functionality then generates a suitability assessment for each candidate channel within the available spectrum. The functionality selects a channel having the most desirable suitability assessment. The functionality can form a suitability assessment for a candidate channel of arbitrary width, e.g., by combining suitability assessments associated with constituent spectrum units within the candidate channel. | 09-11-2014 |