Patents by Inventor Philip A. Chou

Philip A. Chou has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20070274324
    Abstract: A local network coding framework and method including techniques to improve efficiency in a wireless network by reducing overhead. The local network coding method includes exchanging data availability between nodes on the wireless network by sending Bloom filters of lists of packets to neighboring nodes. Based on data availability, optimized mixing of pure packets is performed to form mixture packets for output. A separate acknowledgement buffer keeps track of the pure packets transmitted but not acknowledged. If an acknowledgement does not arrive after a certain time period, the packet is assumed to be lost and is retransmitted. An optimized packet mixing process generates mixture packets and decides which nodes to send the mixture packets. The local network coding framework and method also includes methods for representing the composition of a mixture packet and using mixing at a wireless access point to improve the performance of the wireless local area network.
    Type: Application
    Filed: May 26, 2006
    Publication date: November 29, 2007
    Applicant: Microsoft Corporation
    Inventors: Yunnan Wu, Jitendra D. Padhye, Ranveer Chandra, Venkata N. Padmanabhan, Philip A. Chou, Mohamed Jawad Khaki
  • Publication number: 20070263607
    Abstract: Structured hierarchies for communicating contextual information relating to a VoIP conversation are provided. The structured hierarchies are utilized for efficient communications of various amounts and types of contextual information over a VoIP conversation channel. Information identifying at least one structured hierarchy, which will be used to carry the contextual information, is transmitted during establishment of a conversation between two VoIP enhanced devices and prior to the exchange of contextual information. The structural hierarchy is selected from a set of predefined and declared structured hierarchies. Subsequently transmitted contextual information exchanged between two VoIP enhanced devices is represented in accordance with the identified structural hierarchy. Additionally, the structural hierarchies can be extensible by the addition of more definitions to the current structural hierarchies.
    Type: Application
    Filed: March 31, 2006
    Publication date: November 15, 2007
    Applicant: Microsoft Corporation
    Inventors: David Milstein, David Howell, Linda Criddle, Michael Malueg, Philip Chou
  • Publication number: 20070253407
    Abstract: A method and system for providing enhanced VoIP services relating to the use of callee rules and/or caller rules is provided. A callee may specify callee rules defining the callee preferences such as which VoIP device of the callee is appropriate for responding to an incoming communication from a specified caller. The callee rules may define a priority of VoIP devices of the callee, designating in which order the VoIP devices are to be notified of any incoming communication from a specified caller. Similarly, a caller can specify caller rules defining the caller preferences. The method and system compares the callee rules and the caller rules to establish a communication channel. As such, various enhanced VoIP services can be tailored based on the callee rules and the caller rules.
    Type: Application
    Filed: May 1, 2006
    Publication date: November 1, 2007
    Applicant: Microsoft Corporation
    Inventors: Kaunsan Wang, Michael Malueg, Philip Chou
  • Publication number: 20070239428
    Abstract: A method and system for processing contextual information relating to an exchange of a conversation over a communication channel is provided. Several users, and/or service providers are allowed to specify a set of rules relating to a conversation channel. Contextual information, including information relating to the specified set of rules and conditions of the users, is exchanged among the users and/or several service providers when one user requests to initiate a communication channel. The received contextual information is processed to extract a set of rules and the current conditions of users. If the current conditions of the users satisfy the set of rules, a corresponding communication channel is established among the users. However, additional contextual information may be received and processed whenever there is a change in the contextual information during the conversation. Appropriate actions to the existing communication channel may be determined based on the changes.
    Type: Application
    Filed: April 6, 2006
    Publication date: October 11, 2007
    Applicant: Microsoft Corporation
    Inventors: David Milstein, David Howell, Kuansan Wang, Linda Criddle, Michael Malueg, Philip Chou, Scott Forbes, Timothy Moore
  • Publication number: 20070237130
    Abstract: Aspects of the present invention are directed at obtaining contextual information with a voicemail message. In accordance with one embodiment, a method is provided that obtains additional contextual information that is not obtained automatically when a voicemail message is received. More specifically, the method includes automatically obtaining a first set of contextual information from a client associated with the caller when the caller is transferred to a voicemail system. Then a determination is made regarding whether the callee requests that additional contextual information be obtained. If the callee requests that additional contextual information be obtained, the requested information is obtained from a third-party service or by prompting the caller.
    Type: Application
    Filed: April 6, 2006
    Publication date: October 11, 2007
    Applicant: Microsoft Corporation
    Inventors: David Milstein, David Howell, Linda Criddle, Philip Chou, Timothy Moore
  • Publication number: 20070230439
    Abstract: A method and system for communicating a variable set of contextual information relating to a conversation over a communication channel is provided. When the contextual information is exchanged, any authorized sending party of the contextual information can change the scope, content, or amount of the contextual information that is transmitted to a next receiving party in a determined communication channel path. Before transmitting the contextual information, a desirable scope of the contextual information may be determined based on the next receiving party, in conjunction with the sending party's rules. The contextual information may be updated by adding new contextual information and/or deleting part of the contextual information which is outside of the scope. No contextual information may be transmitted if the next destination desires no contextual information or does not have capabilities to receive any contextual information.
    Type: Application
    Filed: March 31, 2006
    Publication date: October 4, 2007
    Applicant: Microsoft Corporation
    Inventors: David Milstein, David Howell, Linda Criddle, Michael Malueg, Philip Chou
  • Publication number: 20070206610
    Abstract: Various embodiments can utilize a distributed solution for scheduling connections between peers in a file sharing environment. In accordance with at least some embodiments, individual nodes in a peer-to-peer system include scheduling software that enables the nodes to make scheduling decisions with regard to how, when and where connections are made with other peers. Scheduling decisions can be based on a number of different parameters. In at least some embodiments, a synchronization negotiation manager is embodied with logic that drives the negotiation and scheduling process. This logic is represented by an innovative state machine that is designed to implement the negotiation and synchronization process.
    Type: Application
    Filed: December 16, 2005
    Publication date: September 6, 2007
    Applicant: Microsoft Corporation
    Inventors: Dan Teodosiu, Philip Chou, Alexandra Heron, Cheng Huang, Tom Kleinpeter, Jin Li, Eyal Schwartz, John Spivey, David Steere
  • Publication number: 20070201371
    Abstract: Congestion adaptive data routing is leveraged to provide a substantial increase in data throughput in networks with data congestion. By continuously adapting the data routes when a congested route is encountered, the data can reach its destination via alternate routes around the congested area. This is accomplished in a distributed manner where each node provides an alternative path to congestion based on its local knowledge and/or knowledge obtained from neighboring nodes. This allows the data path to be dynamically adjusted for congestion without requiring a centralized body of control. In another instance, data rate changes can be combined with data path changes to increase the efficiency of the data throughput. Alternative routes can be determined based upon the costs associated with selecting that route. Selecting a minimum cost route yields the most efficient transfer of data.
    Type: Application
    Filed: February 28, 2006
    Publication date: August 30, 2007
    Applicant: Microsoft Corporation
    Inventors: Philip Chou, Kamal Jain, Dinesh Garg
  • Publication number: 20070204203
    Abstract: A data sequence may be encoded in a plurality of layers of multiple description coding. The layers of multiple description coding may include a first and a second layer of multiple description coding. The first layer of multiple description coding may include an initial part of a data sequence as well as forward error correction code for the initial part. The second layer of multiple description coding may include a next part of the data sequence as well as forward error correction code for the next part. A first set of data sequence breakpoints may be determined for the first layer of multiple description coding. A second set of data sequence breakpoints may be determined for the second layer. The data sequence may be encoded in the plurality of layers of multiple description coding as a function of the first and second sets of data sequence breakpoints.
    Type: Application
    Filed: April 16, 2007
    Publication date: August 30, 2007
    Applicant: Microsoft Corporation
    Inventors: Philip Chou, Venkata Padmanabhan, Helen Wang
  • Publication number: 20060251062
    Abstract: An overlay network and scheme for building and using the overlay network are described. As the overlay network is built, new nodes joining the network are connected randomly with other nodes which results in a random graph as the network topology. The network is fully scalable, with each new node providing the same number of network connections for output to other nodes as it consumes when it joins the network. In addition, network coding is implemented at each node to mix packets of data entering each node using random linear functions. The network coding at each node generates new packets that are independent combinations of original data packets entering the node. The new coded packets make the distribution of data to other nodes more efficient and robust.
    Type: Application
    Filed: April 7, 2005
    Publication date: November 9, 2006
    Applicant: Microsoft Corporation
    Inventors: Kamal Jain, Laszlo Lovasz, Philip Chou
  • Publication number: 20060209955
    Abstract: Real-time packet-based audio communications over packet-based networks frequently results in the loss of one or more packets during any given communication session. The real-time nature of such communications precludes retransmission of lost packets due to the unacceptable delays that would result. Consequently, packet loss concealment methods are employed to “hide” lost packets from the listener. Unfortunately, conventional loss concealment methods, such as packet repetition or stretch/overlap methods, do not fully exploit information available from partially received samples. Therefore, when a single frame of N coefficients is lost, 2N samples are only partially reconstructed, thereby degrading the reconstructed signal.
    Type: Application
    Filed: June 30, 2005
    Publication date: September 21, 2006
    Applicant: Microsoft Corporation
    Inventors: Dinei Florencio, Philip Chou
  • Publication number: 20060198446
    Abstract: A method and system including an improved generalized reference decoder that operates according to any number of sets of rate and buffer parameters for a given bit stream. Each set characterizes a leaky bucket model and contains three parameters representing the transmission bit rate, buffer size, and initial decoder buffer fullness. An encoder provides at least two sets of these parameters, whereby the decoder selects one or interpolates between them to operate at any desired peak bit rate, buffer size or delay. The generalized reference decoder may select the smallest buffer size and corresponding delay that decodes the bit stream without buffer underflow or overflow, or alternatively may select and operate at the minimum required peak transmission rate, or something between both. In practice, the buffer size, delay and/or the peak transmission rate can be reduced by significant factors, and/or the signal-to-noise ratio (SNR) can be increased.
    Type: Application
    Filed: May 4, 2006
    Publication date: September 7, 2006
    Applicant: Microsoft Corporation
    Inventors: Jordi Ribas-Corbera, Philip Chou
  • Publication number: 20060165166
    Abstract: A system and process for controlling the coding bit rate of streaming media data is presented where a server streams data that exhibits one of a number of coding bit rates supported by the server. Initially, the server chooses the coding bit rate. However, after this startup period, the client provides coding bit rate requests. The server transmits the streaming media data at the most appropriate supported coding bit rate closest to the rate requested. The coding bit rates requested are those estimated to provide a high quality playback of the streaming data while still keeping a decoder buffer of the client filled to a desired level. A leaky bucket model is incorporated so that the changes in buffer duration due to natural variation in the instantaneous coding bit rate are not mistaken for changes in buffer duration due to network congestion.
    Type: Application
    Filed: December 10, 2004
    Publication date: July 27, 2006
    Applicant: Microsoft Corporation
    Inventors: Philip Chou, Anders Klemets, Cheng Huang
  • Publication number: 20060143678
    Abstract: A system and process for controlling the coding bit rate of streaming media data is presented. This coding bit rate control involves dynamically adjusting the coding bit rate to control client buffer duration to prevent the buffer from underflowing, while keeping the average coding bit rate close to the average transmission bit rate of the network (an thus maximizing the quality of the data playback). Using the theory of optimal linear quadratic control, the client buffer duration is kept as close as possible to a target level while still keeping the coding bit rate (and hence the quality) as constant as possible. In addition, a leaky bucket model is incorporated into the control loop so that the changes in buffer duration due to natural variation in the instantaneous coding bit rate are not mistaken for changes in buffer duration due to network congestion.
    Type: Application
    Filed: December 10, 2004
    Publication date: June 29, 2006
    Applicant: Microsoft Corporation
    Inventors: Philip Chou, Anders Klemets, Cheng Huang
  • Publication number: 20060126713
    Abstract: A system and process for performing an exponentially weighted moving average on streaming data to establish a moving average bit rate of data units is presented. In general, the system or process computes, on a unit-by-unit basis, the product of the moving average bit rate computed for a data unit immediately prior to a unit under consideration and a first fractional weighting factor, added to the product of the instantaneous bit rate of the data unit under consideration and a second fractional weighting factor, wherein at least one fractional weighting factor is not a constant but instead based on the time between data units.
    Type: Application
    Filed: December 10, 2004
    Publication date: June 15, 2006
    Applicant: Microsoft Corporation
    Inventors: Philip Chou, Anders Klemets, Cheng Huang
  • Patent number: 6996097
    Abstract: A system and method for correcting errors and losses occurring during a receiver-driven layered multicast (RLM) of real-time media over a heterogeneous packet network such as the Internet. This is accomplished by augmenting RLM with one or more layers of error correction information. This allows each receiver to separately optimize the quality of received audio and video information by subscribing to at least one error correction layer. Ideally, each source layer in a RLM would have one or more multicasted error correction data streams (i.e., layers) associated therewith. Each of the error correction layers would contain information that can be used to replace lost packets from the associated source layer. More than one error correction layer is proposed as some of the error correction packets contained in the data stream needed to replace the packets lost in the associated source stream may themselves be lost in transmission.
    Type: Grant
    Filed: May 21, 1999
    Date of Patent: February 7, 2006
    Assignee: Microsoft Corporation
    Inventors: Philip A. Chou, Albert S. Wang, Sanjeev Mehrotra, Alexander E. Mohr
  • Publication number: 20060007947
    Abstract: A content distribution method and system for distributing content over a peer-to-peer network such that the full potential throughput of the network is achieved. The content distribution method divides the content to be distributed into many small blocks. Each of the content blocks then is assigned to a node, which can be a content-requesting node, a non-content-requesting node or a source node. Content is assigned based on a capacity of the node, where nodes having a larger capacity are assigned a greater number of content blocks and nodes having a smaller capacity are assigned a fewer content blocks. The capacity generally is defined as the upload bandwidth of the node. Redistribution queues are employed to control the throughput of the distribution. This bandwidth control strategy ensures that upload bandwidths of the peer and source nodes are fully utilized even with network anomalies such as packet losses and delivery jitters.
    Type: Application
    Filed: July 7, 2004
    Publication date: January 12, 2006
    Inventors: Jin Li, Philip Chou, Cha Zhang
  • Publication number: 20050249211
    Abstract: A system and method for correcting errors and losses occurring during a receiver-driven layered multicast (RLM) of real-time media over a heterogeneous packet network such as the Internet. This is accomplished by augmenting RLM with one or more layers of error correction information. This allows each receiver to separately optimize the quality of received audio and video information by subscribing to at least one error correction layer. Ideally, each source layer in a RLM would have one or more multicasted error correction data streams (i.e., layers) associated therewith. Each of the error correction layers would contain information that can be used to replace lost packets from the associated source layer. More than one error correction layer is proposed as some of the error correction packets contained in the data stream needed to replace the packets lost in the associated source stream may themselves be lost in transmission.
    Type: Application
    Filed: July 8, 2005
    Publication date: November 10, 2005
    Applicant: Microsoft Corporation
    Inventors: Philip Chou, Albert Wang, Sanjeev Mehrotra, Alexander Mohr
  • Publication number: 20050210356
    Abstract: A data sequence may be encoded in a plurality of layers of multiple description coding. The layers of multiple description coding may include a first and a second layer of multiple description coding. The first layer of multiple description coding may include an initial part of a data sequence as well as forward error correction code for the initial part. The second layer of multiple description coding may include a next part of the data sequence as well as forward error correction code for the next part. A first set of data sequence breakpoints may be determined for the first layer of multiple description coding. A second set of data sequence breakpoints may be determined for the second layer. The data sequence may be encoded in the plurality of layers of multiple description coding as a function of the first and second sets of data sequence breakpoints.
    Type: Application
    Filed: March 17, 2004
    Publication date: September 22, 2005
    Applicant: Microsoft Corporation
    Inventors: Philip Chou, Venkata Padmanabhan, Helen Wang
  • Publication number: 20050204242
    Abstract: A system and method for correcting errors and losses occurring during a receiver-driven layered multicast (RLM) of real-time media over a heterogeneous packet network such as the Internet. This is accomplished by augmenting RLM with one or more layers of error correction information. This allows each receiver to separately optimize the quality of received audio and video information by subscribing to at least one error correction layer. Ideally, each source layer in a RLM would have one or more multicasted error correction data streams (i.e., layers) associated therewith. Each of the error correction layers would contain information that can be used to replace lost packets from the associated source layer. More than one error correction layer is proposed as some of the error correction packets contained in the data stream needed to replace the packets lost in the associated source stream may themselves be lost in transmission.
    Type: Application
    Filed: April 18, 2005
    Publication date: September 15, 2005
    Applicant: Microsoft Corporation
    Inventors: Philip Chou, Albert Wang, Sanjeev Mehrotra, Alexander Mohr