Patent application number | Description | Published |
20100082838 | ISP-FRIENDLY RATE ALLOCATION FOR P2P APPLICATIONS - An ISP-friendly rate allocation system and method that reduces network traffic across ISP boundaries in a peer-to-peer (P2P) network, Embodiments of the system and method continuously solve a global optimization problem and dictate accordingly how much bandwidth is allocated on each connection. Embodiments of the system and method minimize load on a server in communication with the P2P network, minimize ISP-unfriendly traffic while keeping the minimum server load unaffected, and maximize peer prefetching. Two different techniques are used to compute rate allocation, including a utility function optimization technique and a minimum cost flow formulation technique. The utility function optimization technique constructs a utility function and optimizes that utility function. The minimum cost flow formulation technique generates a minimum cost flow formulation using a bipartite graph have a vertices set and an edges set. A distributed minimum cost flow formulation is solved using Lagrangian multipliers. | 04-01-2010 |
20100088405 | Determining Network Delay and CDN Deployment - Charting a content distribution system (CDN) involves identifying a set of DNS servers that may be used as vantage points to test delay performance to a CDNs content server. As provided herein, to identify potential vantage point DNS servers, a set of authoritative name servers is identified and, from that set, those authoritative name servers that respond to a DNS query are identified as responsive authoritative name servers. Identifying a CDN content server that serves a particular vantage point DNS server involves retrieving an IP address for the CDN content server from a DNS query to the DNS server corresponding to the vantage point. The delay performance between the vantage point DNS server and the CDN content server can then be determined. Further, one can determine locations to deploy new data centers for a CDN based on delay performance, A delay from one or more vantage points to an existing CDN's DNS servers can be measured, and desired rank of locations can be generated. A location of a new data center can be selected based on a desired delay performance ranking. | 04-08-2010 |
20100153822 | Constructing Forward Error Correction Codes - Construction and use of forward error correction codes is provided. A systematic MDS FEC code is obtained having a property wherein any set of contiguous or non-contiguous r packets can be lost during a data transmission of k data packets and r encoded packets and the original k packets can be recovered unambiguously. The systematic MDS FEC code is transformed into a (k+r, k) systematic MDS FEC code that guarantees at least one of the encoded packets is a parity packet. The starting systematic MDS FEC code may be Cauchy-based, and the transformation code derived from the starting Cauchy-based MDS FEC code allows for very efficient initialization, encoding and decoding operations. | 06-17-2010 |
20110096675 | QUALITY OF SERVICE (QOS) BASED SYSTEMS, NETWORKS, AND ADVISORS - Techniques and technologies for routing communications based on Quality of Service (QOS) related information. More particularly, this document discloses techniques and technologies for selecting communications paths which partially overlap other communication paths for which QOS related information has been measured. The techniques and technologies include determining, performance levels for path segments within the communication paths from the measured QOS information. | 04-28-2011 |
20110119370 | MEASURING NETWORK PERFORMANCE FOR CLOUD SERVICES - Described is a technology by which a content server downloads an active content measuring tool object to a client request for a page. When loaded, the measuring tool object makes network measurements, including by direct socket access, and return measurement results. As part of its operations, the measuring tool object may request measurement assignments from a central controller, and/or return those results to the central controller. Measurement assignments may be directed towards determining a round trip time/latency, measuring throughput, packet loss rate, detecting in-fight modification of content and/or detecting the presence of a middle box, including the presence of a caching proxy server middle box. The measurement results may be used to evaluate hypothetical deployment of a number of servers and/or geographic locations for those servers. | 05-19-2011 |
20110134909 | DATA COMMUNICATION WITH COMPENSATION FOR PACKET LOSS - Described is a technology by which a relay is coupled (e.g., by a wire) to a network and (e.g., by a wireless link) to an endpoint. Incoming data packets directed towards the endpoint are processed by the relay according to an error correction scheme, such as one that replicates packets. The reprocessed packets, which in general are more robust against packet loss, are then sent to the endpoint. For outgoing data packets received from the endpoint, the relay reprocesses the outgoing packets based upon the error correction scheme, such as to remove redundant packets before transmitting them to the network over the wire. Also described are various error correction schemes, and various types of computing devices that may be used as relays. The relay may be built into the network infrastructure, and/or a directory service may be employed to automatically find a suitable relay node for an endpoint device. | 06-09-2011 |
20110270964 | USING DNS REFLECTION TO MEASURE NETWORK PERFORMANCE - A top level domain name system (DNS) server receives a DNS query from a local DNS resolver, the DNS query requesting a network address corresponding to a domain name. The top level DNS server reflects the local DNS resolver to a reflector DNS server. The reflector DNS server reflects the local DNS resolver to a collector DNS server, which in turn returns the network address to the local DNS resolver. The reflector DNS server and collector DNS server are both in the same data center, and one or more network performance measurements for communications between the local DNS resolver and the data center are determined based on the communications between the local DNS resolver and both the reflector DNS server and the collector DNS server. | 11-03-2011 |
20120128010 | MINIMIZING NETWORK LATENCY IN INTERACTIVE INTERNET APPLICATIONS - A method and system that enhances a user's performance while interacting with an interactive internet application such as a Massively Multiplayer Online (MMO) game is provided. The network latency experienced by users participating in the MMO game is minimized by dynamically determining an optimal transmission action for a message generated by the MMO game. In one embodiment, determining the optimal transmission action for a message includes dynamically determining the optimal number of redundant Forward Error Correction (FEC) packets to add to a message prior to transmitting a message to a receiving device. The optimal number of FEC packets is determined based on a wide range of varying network conditions. | 05-24-2012 |
20120173932 | STORAGE CODES FOR DATA RECOVERY - A random permutation code is described which provides efficient repair of data nodes. A specific implementation of a permutation code is also described, followed by description of a MISER-Permutation code. Finally, an optimal repair strategy is explained that involves an iterative process of downloading the most effective available parity data, updating costs of remaining parity data, and repeating until the data is recovered. | 07-05-2012 |
20120271909 | GLOBAL TRAFFIC MANAGEMENT USING MODIFIED HOSTNAME - A particular method includes receiving a request from a client at a server and sending a global traffic management identifier in response to the request from the client. The global traffic management identifier is determined based on an attribute of the client. In response to the client requesting access to a service based on a modified hostname of the service, a data center associated with the service is identified based on the modified hostname of the service. The modified hostname identifies the global traffic management identifier, and the identified data center is useable by the client to access the service. | 10-25-2012 |
20130054549 | CLOUD DATA STORAGE USING REDUNDANT ENCODING - Cloud data storage systems, methods, and techniques partition system data symbols into predefined-sized groups and then encode each group to form corresponding parity symbols, encode all data symbols into global redundant symbols, and store each symbol (data, parity, and redundant) in different failure domains in a manner that ensures independence of failures. In several implementations, the resultant cloud-encoded data features both data locality and ability to recover up to a predefined threshold tolerance of simultaneous erasures (unavailable data symbols) without any information loss. In addition, certain implementations also feature the placement of cloud-encoded data in domains (nodes or node groups) to provide similar locality and redundancy features simultaneous with the recovery of an entire domain of data that is unavailable due to software or hardware upgrades or failures. | 02-28-2013 |
20130054782 | DETERMINATION OF UNAUTHORIZED CONTENT SOURCES - A plurality of network addresses from a distributed client is obtained, at least a first portion of the obtained network addresses including resolved network address responses to distributed client requests for resolved network addresses corresponding to one or more network location indicators associated with a first web service. Test content is obtained, based on one or more of the network addresses included in the first portion. It is determined whether the obtained test content includes unauthorized content. | 02-28-2013 |
20130159383 | APPLICATION-DRIVEN CDN PRE-CACHING - Techniques are provided for the caching of content prior to the content being requested. A request for desired content may be received from a client application at a caching server. The request may also indicate additional content related to the desired content that may be subsequently requested by the client application. The indicated additional content (and the desired content, if not already cached) is retrieved from an origin server. The desired content is transmitted to the client application at the user device, and the additional content is cached at the caching server. Subsequently, a second request may be received from the client application that includes a request for the additional content. The additional content, which is now cached at the caching server, is served to the client application by the caching server in response to the second request (rather than being retrieved from the origin server). | 06-20-2013 |
20130263151 | Consistent Hashing Table for Workload Distribution - Described is a technology by which a consistent hashing table of bins maintains values representing nodes of a distributed system. An assignment stage uses a consistent hashing function and a selection algorithm to assign values that represent the nodes to the bins. In an independent mapping stage, a mapping mechanism deterministically maps an object identifier/key to one of the bins as a mapped-to bin. | 10-03-2013 |
20130346672 | Multi-Tiered Cache with Storage Medium Awareness - The subject disclosure is directed towards a multi-tiered cache having cache tiers with different access properties. Objects are written to a selected a tier of the cache based upon object-related properties and/or cache-related properties. In one aspect, objects are stored in an active log among a plurality of logs. The active log is sealed upon reaching a target size, with a new active log opened. Garbage collecting is performed on a sealed log, such as the sealed log with the most garbage therein. | 12-26-2013 |
20140310571 | Local Erasure Codes for Data Storage - In some examples, an erasure code can be implemented to provide for fault-tolerant storage of data. Maximally recoverable cloud codes, resilient cloud codes, and robust product codes are examples of different erasure codes that can be implemented to encode and store data. Implementing different erasure codes and different parameters within each erasure code can involve trade-offs between reliability, redundancy, and locality. In some examples, an erasure code can specify placement of the encoded data on machines that are organized into racks. | 10-16-2014 |
20140380125 | ERASURE CODING ACROSS MULTIPLE ZONES - In various embodiments, methods and systems for erasure coding data across multiple storage zones are provided. This may be accomplished by dividing a data chunk into a plurality of sub-fragments. Each of the plurality of sub-fragments is associated with a zone. Zones comprise buildings, data centers, and geographic regions providing a storage service. A plurality of reconstruction parities is computed. Each of the plurality of reconstruction parities computed using at least one sub-fragment from the plurality of sub-fragments. The plurality of reconstruction parities comprises at least one cross-zone parity. The at least one cross-zone parity is assigned to a parity zone. The cross-zone parity provides cross-zone reconstruction of a portion of the data chunk. | 12-25-2014 |
20140380126 | ERASURE CODING ACROSS MULTIPLE ZONES AND SUB-ZONES - In various embodiments, methods and systems for erasure coding data across multiple storage zones are provided. This may be accomplished by dividing a data chunk into a plurality of sub-fragments. Each of the plurality of sub-fragments is associated with a zone. Zones comprise buildings, data centers, and geographic regions providing a storage service. A plurality of reconstruction parities is computed. Each of the plurality of reconstruction parities computed using at least one sub-fragment from the plurality of sub-fragments. The plurality of reconstruction parities comprises at least one cross-zone parity. The at least one cross-zone parity is assigned to a parity zone. The cross-zone parity provides cross-zone reconstruction of a portion of the data chunk. | 12-25-2014 |