Inventors list

Assignees list

Classification tree browser

Top 100 Inventors

Top 100 Assignees


Jin Li, Sammamish US

Jin Li, Sammamish, WA US

Patent application numberDescriptionPublished
20080205291SMART PRE-FETCHING FOR PEER ASSISTED ON-DEMAND MEDIA - A “Media Sharer” operates within peer-to-peer (P2P) networks to provide a dynamic peer-driven system for streaming high quality multimedia content, such as a video-on-demand (VoD) service, to participating peers while minimizing server bandwidth requirements. In general, the Media Sharer provides a peer-assisted framework wherein participating peers assist the server in delivering on-demand media content to other peers. Participating peers cooperate to provide at least the same quality media delivery service as a pure server-client media distribution. However, given this peer cooperation, many more peers can be served with relatively little increase in server bandwidth requirements. Further, each peer limits its assistance to redistributing only portions of the media content that it also receiving. Peer upload bandwidth for redistribution is determined as a function of surplus peer upload capacity and content need of neighboring peers, with earlier arriving peers uploading content to later arriving peers.08-28-2008
20080222480ERASURE-RESILIENT CODES HAVING MULTIPLE PROTECTION GROUPS - A multiple protection group (MPG) erasure-resilient coding method for constructing MPG codes for encoding and decoding data. The MPG codes constructed herein protect data chunks of data in multiple protection groups and subgroups. In general, the MPG erasure-resilient codes are constructed by locating data chunks into multiple protection groups and assigning at least one parity chunk to each protection group. Basic MPG codes are constructed from existing Maximum Distance Separable (MDS) codes by splitting at least some of the parity chunks into local parities for each of the multiple protection groups and projecting local parities onto each of the groups. Generalized MPG codes have a Maximally Recoverable property that can be used to determine whether an erasure pattern is recoverable or unrecoverable. Generalized MPG codes can recover any erasure pattern that is recoverable.09-11-2008
20080222481MULTIPLE PROTECTION GROUP CODES HAVING MAXIMALLY RECOVERABLE PROPERTY - A multiple protection group (MPG) erasure-resilient coding method for constructing MPG codes for encoding and decoding data. The MPG codes constructed herein protect data chunks of data in multiple protection groups and subgroups. In general, the MPG erasure-resilient codes are constructed by locating data chunks into multiple protection groups and assigning at least one parity chunk to each protection group. Basic MPG codes are constructed from existing Maximum Distance Separable (MDS) codes by splitting at least some of the parity chunks into local parities for each of the multiple protection groups and projecting local parities onto each of the groups. Generalized MPG codes have a Maximally Recoverable property that can be used to determine whether an erasure pattern is recoverable or unrecoverable. Generalized MPG codes can recover any erasure pattern that is recoverable.09-11-2008
20080301214ISP-AWARE PEER-TO-PEER CONTENT EXCHANGE - An Internet Service Provider (ISP)-aware peer-to-peer (P2P) content exchange system and method for exchanging content over a P2P network using the Internet. The system and method accounts for the type of relationship between peers and classifies and groups each peer according to these relationships. A peer overlay is constructed such that peers within a peer's neighborhood are favored over those peers outside of the neighborhood. Peer scheduling is utilized to exchange information about the availability of blocks of content. This block availability information can be exchanged differently and its frequency changed depending on a peer's classification. Peers are selected for block exchange based on their classification. A peer selection proportion may be defined that dynamically changes depending on contents of a peer's download buffer. The blocks to be exchanged then are selected based on the block availability information, such that the rarest blocks are exchanged before the more common blocks.12-04-2008
20080301448Security Against Corruption for Networked Storage - Systems and methods for security against corruption for networked storage are described. In one aspect, a destination device receives a linear combination of packets. The linear combination of packets represents digitally signed blocks of content and public information used to digitally sign segmented blocks of content. The destination device recombines the linear combination of packets to compute new valid signatures as linear combinations of received homomorphic digital signatures. The new valid signatures are for verifying by a requesting computing device recovering data associated with at least a subset of the linear combination of packets, integrity of the at least a subset. This provides the requesting node with security against corruption of data in networked storage.12-04-2008
20080313241DISTRIBUTED DATA STORAGE USING ERASURE RESILIENT CODING - An erasure resilient coding (ERC) distributed data storage system and method for storing data in a reliable and survivable fashion while minimizing hardware and associated costs. The system and method includes forming multiple protection groups both within and across storage nodes of the storage system. Data is segmented into original data blocks and ERC data blocks. Load balancing occurs by interleaving storage nodes with equal numbers of original data blocks and ERC data blocks while ensuring each node has an equal number of combined read and write operations. Unique read and write operations on data block can be performed independent of other data blocks in a protection group. The write operation uses Galois field arithmetic and ERC transform to either write or append a new data block to a storage node. The read operation recovers data in a variety of ways using ERC decoding.12-18-2008
20080319658LANDMARK-BASED ROUTING - Driving directions can be helpful if in addition to spatial information, landmark information is provided. Landmarks assist in adding context to directions as well as allowing for a greater likelihood of success of an operator following directions. There can be employment of physical identification of landmarks as well as processing regarding the utility of a landmark in regards to driving directions. Driving directions can be highly useful if integrated landmarks relate to knowledge possessed by an operator of a vehicle. Landmark based driving direction can be integrated with advertisements that relate to the directions.12-25-2008
20080319659LANDMARK-BASED ROUTING - Driving directions can be helpful if in addition to spatial information, landmark information is provided. Landmarks assist in adding context to directions as well as allowing for a greater likelihood of success of an operator following directions. There can be employment of physical identification of landmarks as well as processing regarding the utility of a landmark in regards to driving directions. Driving directions can be highly useful if integrated landmarks relate to knowledge possessed by an operator of a vehicle. Landmark based driving direction can be integrated with advertisements that relate to the directions.12-25-2008
20080319660LANDMARK-BASED ROUTING - Driving directions can be helpful if in addition to spatial information, landmark information is provided. Landmarks assist in adding context to directions as well as allowing for a greater likelihood of success of an operator following directions. There can be employment of physical identification of landmarks as well as processing regarding the utility of a landmark in regards to driving directions. Driving directions can be highly useful if integrated landmarks relate to knowledge possessed by an operator of a vehicle. Landmark based driving direction can be integrated with advertisements that relate to the directions.12-25-2008
20080320140CREDIT-BASED PEER-TO-PEER STORAGE - Distributed computing devices comprising a system for sharing computing resources can provide shared computing resources to users having sufficient resource credits. A user can earn resource credits by reliably offering a computing resource for sharing for a predetermined amount of time. The conversion rate between the amount of credits awarded, and the computing resources provided by a user can be varied to maintain balance within the system, and to foster beneficial user behavior. Once earned, the credits can be used to fund the user's account, joint accounts which include the user and others, or others' accounts that do not provide any access to the user. Computing resources can be exchanged on a peer-to-peer basis, though a centralized mechanism can link relevant peers together. To verify integrity, and protect against maliciousness, offered resources can be periodically tested.12-25-2008
20090006648Network Address Translation Traversals for Peer-to-Peer Networks - In a networking environment, multiple end-users applications running on computing devices may operate behind a respective NAT device. Information transferred from one end-user application to another can be accomplished by establishing a connection from one private network. The NAT device translates information related to an end-user application operating within a private network to information that is understood by the public network environment. This translated information is communicated to the associated NAT device of the intended recipient. The NAT device of the intended recipient translates the public environment related information to information for the end-user in the private network.01-01-2009
20090110007SEAMLESS MULTIPLEXING OF EMBEDDED BITSTREAMS - A “seamless multiplexer,” as described herein, provides a flexible and efficient system and method for multiplexing embedded coded bitstreams. Further, unlike the conventional JPEG 2000 standard, the seamless multiplexer is capable of decoding multiplexed encoded bitstreams without the need to use a demultiplexing aide as overhead in the encoded signal. In general, the seamless multiplexer provides a novel approach for multiplexing code block bitstreams by using a “decoder pointer,” for multiplexing multiple embedded bitstreams without the use of a demultiplexing aide. Consequently, the seamless multiplexer not only reduces any multiplexing overhead, but also allows much smaller granularity of access in reshaping the compressed input signal. In addition, in one embodiment, the seamless multiplexer also uses dependencies between coefficient blocks to further improve overall compression efficiency.04-30-2009
20090138618RATE-CONTROLLABLE PEER-TO-PEER DATA STREAM ROUTING - Difficulties associated with choosing advantageous network routes between server and clients are mitigated by a routing system that is devised to use many routing path sets, where respective sets comprise a number of routing paths covering all of the clients, including through other clients. A server may then apportion a data stream among all of the routing path sets. The server may also detect the performance of the computer network while sending the data stream between clients, and may adjust the apportionment of the routing path sets including the route. The clients may also be configured to operate as servers of other data streams, such as in a videoconferencing session, for example, and may be configured to send detected route performance information along with the portions of the various data streams.05-28-2009
20090164657APPLICATION AWARE RATE CONTROL - A “communications rate controller” provides various techniques for maximizing a quality of real-time communications (RTC) (including audio and/or video broadcasts and conferencing) over multi-hop networks such as, for example, the Internet. Endpoints in such networks generally communicate via a segmented path that extends through one or more routers between each endpoint. Maximization of conferencing quality is generally accomplished by providing in-session bandwidth estimation across segments of the network path between endpoints (i.e., communication/conference participants) in combination with a robust non-oscillating dynamic rate control strategy for maximizing usage of available bandwidth between RTC endpoints. Further, the dynamic rate control techniques provided by the communications rate controller are designed to prevent degradation in end-to-end delay, jitter, and packet loss characteristics of the RTC.06-25-2009
20090164762OPTIMIZING XOR-BASED CODES - A “code optimizer” provides various techniques for optimizing arbitrary XOR-based codes for encoding and/or decoding of data. Further, the optimization techniques enabled by the code optimizer do not depend on any underlining code structure. Therefore, the optimization techniques provided by the code optimizer are applicable to arbitrary codes with arbitrary redundancy. As such, the optimized XOR-based codes generated by the code optimizer are more flexible than specially designed codes, and allow for any desired level of fault tolerance. Typical uses of XOR-based codes include, for example, encoding and/or decoding data using redundant data packets for data transmission real-time communications systems, encoding and/or decoding operations for storage systems such as RAID arrays, etc.06-25-2009
20090198829Multi-Rate Peer-Assisted Data Streaming - The described implementations relate to distributed network management and more particularly to enhancing distributed network utility. One technique selects multiple trees to distribute content to multiple receivers in a session where individual receivers can receive the distributed content at one of a plurality of rates. The technique further adjustably allocates content distribution across the multiple trees to increase a sum of utilities of the multiple receivers.08-06-2009
20090204636MULTIMODAL OBJECT DE-DUPLICATION - Various object de-duplication techniques may be applied to object systems (such as to files in a file store) to identify similar or identical objects or portions thereof, so that duplicate objects or object portions may be associated with one copy, and the duplicate copies may be removed. However, an object de-duplication technique that is suitable for de-duplicating one type of object may be inefficient for de-duplicating another type of object; e.g., a de-duplication method that significantly condenses sets of small objects may achieve very little condensation among sets of large objects, and vice versa. A multimodal approach to object de-duplication may be devised that analyzes an object to be stored and chooses a de-duplication technique that is likely to be effective for storing the object. The object index may be configured to support several de-duplication schemes for indexing and storing many types of objects in a space-economizing manner.08-13-2009
20100082838ISP-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
20100085979MODELS FOR ROUTING TREE SELECTION IN PEER-TO-PEER COMMUNICATIONS - Peer-to-peer communications sessions involve the transmission of one or more data streams from a source to a set of receivers that may redistribute portions of the data stream via a set of routing trees. Achieving a comparatively high, sustainable data rate throughput of the data stream(s) may be difficult due to the large number of available routing trees, as well as pertinent variations in the nature of the communications session (e.g., upload communications caps, network link caps, the presence or absence of helpers, and the full or partial interconnectedness of the network.) The selection of routing trees may be facilitated through the representation of the node set according to a linear programming model, such as a primal model or a linear programming dual model, and iterative processes for applying such models and identifying low-cost routing trees during an iteration.04-08-2010
20100088405Determining 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
20100115628DIGITAL RIGHTS MANAGEMENT SCHEME FOR AN ON-DEMAND DISTRIBUTED STREAMING SYSTEM - A DRM scheme that may be optionally invoked by the owner. With the DRM protection turned on, the media is encrypted before it is distributed in a P2P network, and is decrypted prior to its use (play back). The peers may still efficiently distribute and serve without authorization from the owner. Nevertheless, when the media is used (played back), the client node must seek proper authorization from the owner. The invention further provides a hierarchical DRM scheme wherein each packet of the media is associated with a different protection level. In the hierarchical DRM scheme of the invention there is usually an order of the protection level. As a result, in one embodiment of the invention, the decryption key of a lower protection layer is the hash of the decryption key at the higher protection level. That way, a user granted access to the high protection layer may simply hold a single license of that layer, and obtain decryption keys of that layer and below. The invention further provides for a process for managing digital rights to a scalable media file wherein a different encryption/decryption key is used to encrypt each truncatable media packet with a base layer without requiring additional storage space to store the key.05-06-2010
20100146108RATE-CONTROLLABLE PEER-TO-PEER DATA STREAM ROUTING - Difficulties associated with choosing advantageous network routes between server and clients are mitigated by a routing system that is devised to use many routing path sets, where respective sets comprise a number of routing paths covering all of the clients, including through other clients. A server may then apportion a data stream among all of the routing path sets. The server may also detect the performance of the computer network while sending the data stream between clients, and may adjust the apportionment of the routing path sets including the route. The clients may also be configured to operate as servers of other data streams, such as in a videoconferencing session, for example, and may be configured to send detected route performance information along with the portions of the various data streams.06-10-2010
20100153822Constructing 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
20100195488OPTIMIZED TRANSPORT PROTOCOL FOR DELAY-SENSITIVE DATA - Transmission delays are minimized when packets are transmitted from a source computer over a network to a destination computer. The source computer measures the network's available bandwidth, forms a sequence of output packets from a sequence of data packets, and transmits the output packets over the network to the destination computer, where the transmission rate is ramped up to the measured bandwidth. In conjunction with the transmission, the source computer monitors a transmission delay indicator which it computes using acknowledgement packets it receives from the destination computer. Whenever the indicator specifies that the transmission delay is increasing, the source computer reduces the transmission rate until the indicator specifies that the delay is unchanged. The source computer dynamically decides whether each output packet will be a forward error correction packet or a single data packet, where the decision is based on minimizing the expected transmission delays.08-05-2010
20100198579UNIVERSAL TRANSLATOR - The claimed subject matter provides a system and/or a method that facilitates communication within a telepresence session. A telepresence session can be initiated within a communication framework that includes two or more virtually represented users that communicate therein. The telepresence session can include at least one virtually represented user that communicates in a first language, the communication is at least one of a portion of audio, a portion of video, a portion of graphic, a gesture, or a portion of text. An interpreter component can evaluate the communication to translate an identified first language into a second language within the telepresence session, the translation is automatically provided to at least one virtually represented user within the telepresence.08-05-2010
20100228825SMART MEETING ROOM - The claimed subject matter provides a system and/or a method that facilitates enhancing the employment of a telepresence session. An automatic telepresence engine that can evaluate data associated with at least one of an attendee, a schedule for an attendee, or a portion of an electronic communication for an attendee. The automatic telepresence engine can identify at least one the following for a telepresence session based upon the evaluated data: a participant to include for the telepresence session, a portion of data related to a presentation within the telepresence session, a portion of data related to a meeting topic within the telepresence session, a device utilized by an attendee to communicate within the telepresence session. The automatic telepresence engine can initiate the telepresence session within a communication framework that includes two or more virtually represented users that communicate therein.09-09-2010
20100245536AMBULATORY PRESENCE FEATURES - The claimed subject matter provides a system and/or a method that facilitates managing one or more devices utilized for communicating data within a telepresence session. A telepresence session can be initiated within a communication framework that includes two or more virtually represented users that communicate therein. A device can be utilized by at least one virtually represented user that enables communication within the telepresence session, the device includes at least one of an input to transmit a portion of a communication to the telepresence session or an output to receive a portion of a communication from the telepresence session. A detection component can adjust at least one of the input related to the device or the output related to the device based upon the identification of a cue, the cue is at least one of a movement detected, an event detected, or an ambient variation.09-30-2010
20100306647FORCE-FEEDBACK WITHIN TELEPRESENCE - The claimed subject matter provides a system and/or a method that facilitates replicating a telepresence session with a real world physical meeting. A telepresence session can be initiated within a communication framework that includes two or more virtually represented users that communicate therein. A trigger component can monitor the telepresence session in real time to identify a participant interaction with an object, wherein the object is at least one of a real world physical object or a virtually represented object within the telepresence session. A feedback component can implement a force feedback to at least one participant within the telepresence session based upon the identified participant interaction with the object, wherein the force feedback is employed via a device associated with at least one participant.12-02-2010
20100318399Adaptive Meeting Management - A template and/or knowledge associated with a synchronous meeting are obtained by a computing device. The computing device then adaptively manages the synchronous meeting based at least in part on the template and/or knowledge.12-16-2010
20100332579PROXIMITY GUIDED DATA DISCOVERY - Techniques are described for sharing content among peers. Locality domains are treated as first order network units. Content is located at the level of a locality domain using a hierarchical DHT in which nodes correspond to locality domains. A peer searches for a given piece of content in a proximity guided manner and terminates at the earliest locality domain (in the hierarchy) which has the content. Locality domains are organized into hierarchical clusters based on their proximity.12-30-2010
20110096675QUALITY 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
20110149751Estimating Communication Conditions - Embodiments are configured to provide communication features, including providing channel condition estimates for a communication path, such as packet loss, jitter, and/or available bandwidth, but are not so limited. In an embodiment, a method uses aspects of in-band data packets to provide channel condition estimates. In one embodiment, a system includes a bandwidth estimation component that operates to classify payload packets as part of performing capacity estimation and available bandwidth estimation operations.06-23-2011

Patent applications by Jin Li, Sammamish, WA US