Embodiments of the invention generally relate to mobile networks and, in particular, to transferring service to a mobile device moving between mobile-network domains.
The increasing number of network-connected mobile devices, as well as the increasingly data-intensive applications run on these devices, continue to tax mobile-network infrastructure. As network bandwidth limits are reached, inefficiencies in network architectures and implementations become more apparent. One such inefficiency occurs in scheduling the delivery of packets to and from mobile devices.
In a prior-art general-packet radio service (“GPRS”) system such as a universal mobile-telecommunication system (“UMTS”), a gateway GPRS support node (“GGSN”) links a packet-switched network, such as the Internet, to the GPRS network. A serving GPRS support node (“SGSN”) is disposed one level of hierarchy below the GGSN and delivers packets to and from radio-network controllers (“RNCs”) in its geographical area. Each RNC controls one or more base-transceiver stations (“NodeB” stations). In such deployments, the mobile network operates as a transport network and is thus unaware of, for example, user-level TCP/UDP/IP sessions and application protocols above TCP/UDP.
Buffering packets for a plurality of users and selecting specific user packets and scheduling them for delivery over Mobile-Wireless networks based on different criterion is common in Wireless Base Stations (for example NodeB in UMTS and eNodeB in LTE), and Base Station Controllers (RNC in UMTS Network). Some criterion for selecting user packets and allocation of RF channel resources have included, (1) a Round Robin where-in the competing user packets are selected in round-robin fashion to achieve fairness among users, (2) a Max C/I where users with high channel quality are selected first for maximizing the cell throughput, and (3) a Proportional Fair Scheduler (PFS) that attempts a compromise between achieving the maximum cell throughput and fairness, so as not to starve out users with poor RF channel conditions. Packet schedulers incorporating the above packet routing protocols are found in the UMTS/HSPA network, NodeB (Base Station in UMTS network). These schedulers operate on the packets already received or buffered in the corresponding network device, such as NodeB.
The sources of these packets, for example application servers, or client devices use TCP/UDP etc. protocols to transmit packets to the User devices, which get buffered in the transit Network devices, such as NodeB. The packet sources are unaware of the underlying packet transport, and any transit network congestion points such as a congested wireless sector. Closed loop transport protocols, such as TCP, attempt to optimize the packet delivery for a specific User/TCP session to maximize session throughput that the underlying transport could achieve so as to minimize packet drops within the network elements. In the prior art deployments, TCP/UDP etc. application protocols are end to end and do not terminate in RAN or other devices that are closer to the Wireless network. U.S. patent application Ser. No. 12/536,537 (Ref 1) proposes Content Caching/Proxy device in the Radio Access network that is application & content protocol aware.
In other examples, the common point in the network between the first position 110 and the second position 112 may be further “downstream” (e.g., if the two base-transmitter stations 114, 116 are managed by a common RNC 118) or farther “upstream” (e.g., if a first SGSN 120 or GGSN 102 manages the first base-transmitter station 114 and a second, different SGSN or GGSN manages the second base-transmitter station 116). Although packets are dropped in the system 100 during a base-transmitter transfer in each case, the higher upstream the common point, the more packets will be dropped and the greater the inefficiency of the transfer.
Existing Third-Generation Partnership Project (“3GPP”) standards define different types of mobility and relocation operations when a mobile device moves from the coverage area of the first base-transmitter station 114 (e.g., a NodeB/RNC combination in an UMTS network or an eNodeB in a long-term evolution (“LTE”) network) to the second base-transmitter station 116. These operations include intra-NodeB handover, inter-NodeB handover, and inter-RNC handover between two RNCs connected to the same or different SGSNs. The mobility and handover scenarios include soft handover, softer handover, and hard handover. The handover and relocation procedures in the prior-art 3GPP standards operate at the packet-transport level and do not, for example, terminate TCP or UDP sessions.
The current invention defines an overlay scheduler that is applicable to a transit network device that is operating as a multi-layer edge/proxy device in wireless mobile networks such as UMTS/HSPA (Universal Mobile Telecommunications System/High Speed Packet Access), LTE (Long Term Evolution), and CDMA Networks. For example, one such content edge/proxy may be deployed in RAN (Radio Access Network) on the IuB (1), or IuPS (2) or in CN (Core Network) on the Gn (3) or Gi (4) interfaces in UMTS network shown
A method of generating optimal packet workload for achieving a balance between maximizing cell throughput and fairness across multiple users in UMTS/HSPA Network is disclosed. The packet scheduler of the current invention enhances the performance of other schedulers, such as Proportionally Fair Scheduler in NodeB and RNC in UMTS/HSPA Networks by monitoring recent RAN bandwidth to each mobile device, and increasing buffer occupancy of high rate data-flows. The scheduler uses the desired performance goals of maximum cell throughput and fairness at various network congestion levels, and controls egress burst rate while delivering packets to the RAN (Radio Access Network).
According to one embodiment of the invention, a method of scheduling packets within a radio access network (RAN) is provided that is implemented upstream of a Node B within the RAN. The method includes receiving packet streams from a plurality of end users, receiving network parameters, calculating network conditions, and buffering the received packet streams. The method further includes scheduling further transmission of the packet streams with different relative timing and rates than the timing and rates at which those packet streams were received based on the received packet streams and parameters and calculated conditions.
The method may further include writing data into a diffserv field within a packet based on the scheduling. Additionally, the method may provide for a Node B to receive the packet streams, which further schedules the packets for transmission to individual end user devices. The Node B may perform the further scheduling or prioritization based at least in part on data in a diffserv field. The methods may be performed by an overlay scheduler that schedules the received packet streams according to at least cell throughput and fairness goals. The methods may be implemented in UMTS, LTE and CDMA networks and the overlay scheduler may be positioned logically between Node B and a core network. The parameters used in scheduling may include at least one of CQI, end user category, application type and service class, and network configuration and provisioning parameters.
According to another embodiment of the present invention, an overlay scheduler for scheduling packet delivery in a radio access network (RAN) includes a buffer and a scheduler. The buffer is coupled to a RAN and a core network and buffers received packet streams from the core network. The scheduler is coupled to the buffer and receives parameters from the RAN and core network and calculates network conditions and further schedules transmission of the packet streams from the buffer to the RAN with different relative timing and rates than the timing and rates at which those packet streams were received based on the received packet streams, parameters and calculated conditions.
According to still another embodiment of the invention, a method of optimizing transmissions in a wireless radio access network (RAN), includes wherein said method comprises:
In the drawings, like reference characters generally refer to the same parts throughout the different views. In the following description, various embodiments of the present invention are described with reference to the following drawings, in which:
The RAN cache 310 is a content edge/proxy device, implemented, for example, in a UMTS network that is capable of intercepting packets in one of the logical interfaces (the IuPS logical interface). This interface may contain two logical interfaces, the control-plane and user plane. In the user plane, user packets may be carried within GTP-U tunnels with transport headers. Such user plane packets may need to be de-encapsulated for identifying packets that belong to a user device. The RAN cache, according to one embodiment of the invention, incorporates the Overlay Packet Scheduler 320 that schedules packets for transmission according to the present invention. The Overlay Scheduler 320 buffers downstream User Payload packets received from SGSN through the interface between the RAN Cache 310 and the SGSN 124, and controls packet delivery of the locally buffered packets towards the NodeB through the RNC. While the Overlay Packet Scheduler 320 is depicted as a unit within the RAN-cache, it will be understood that the scheduler may be implemented as a stand-alone device with network interfaces that is capable of receiving streams of packets and scheduling the delivery of those packets according to the various embodiments of the scheduler described herein. Additionally, the RAN-cache may be implemented in software and run by other network elements or in other hardware or firmware incorporated into network elements. In general, the Overlay Packet Scheduler operates to control what packets are sent to the RNC and Node B and uses more intelligent scheduling based on end to end context as described herein.
The Overlay Scheduler 505 may take into account several parameters to aid in scheduling packets for transmission. For example, the Overlay Scheduler 505 may take into account recent UE bandwidth, UE category, Application type associated with streams of packets and service class. The UE bandwidth per end user is computed as sum of bytes for all application flows to a UE in an observation period. The cell or service area of a UE may be determined by monitoring a control plane, and methods of such association is outside the scope of the current invention. The maximum bandwidth of a cell (or sector) may be configured a-priori or estimated from long term history monitored on the interface and may be used as a parameter for scheduling by the Overlay Scheduler 505. The overlay scheduler operates to analyze parameters of the network and each user and sends packet bursts per UE. The overlay scheduler may make scheduling decisions based on previously observed UE BW, content type, type of UE, cell or service area congestion level, and service class (such as Interactive Service class specified when UE's data-session is established). Additional parameters may also be used to control how the Overlay Scheduler 505 schedules packets according to the present invention.
In general, the Overlay Scheduler 505 operates to change the relative timing of transmission of packets or groups of packets as compared to the time of arrival of those packets or groups of packets. It may also adjust the relative timing or packets per unit time for an individual end user or end user stream or of types of streams, such as, for example, scheduling a slow down of video streams when network congestion is high. Any parameter may be used to influence the adjustment of the schedule.
The overlay scheduler in the current invention augments the prior art packet schedulers, in NodeB in the UMTS/HSPA RAN by generating packet workloads that feed to the NodeB through transit network elements such as, but not limited to, a RNC. NodeB uses alternative packet schedulers for allocation of radio channel resources to competing mobile devices (termed UE: User Equipment).
In step 720, the overlay scheduler calculates certain parameters desired for use in scheduling. This step may include calculating UE bandwidth per user and several other parameters described herein that the overlay scheduler may determine based on calculations performed on packets transmitted through the scheduler or on parameters received from other network elements, including the RAN cache. In step 730, the overlay scheduler determines the schedule for the next scheduling interval by, for example, determining the UEs whose packets will be transmitted, and determining the packet and application flows for the next scheduling interval. In step 740, the overlay scheduler buffers received packets and transmits packets and/or packet bursts according to the determined schedule for the scheduling interval.
The NodeB scheduler per prior-art may assign RF channels to UEs, based on, (1) UE Category, (2) CQI, which is a measure of the current RF conditions that the UE is experiencing, (3) UE Priority, (4) Service Type, and (5) Buffer occupancy which defines the packets waiting to be transmitted to the specific UE. At every Transmit Time Interval (TTI), the scheduler transmits packets to the selected UEs based on the scheduling policy. The Transport Block Size (TBS) defines the maximum number of bits per UE category based on a specific CQI. For example for category 10 UE, at CQI value of 25, the transport block size is 14411 bits which corresponds to a Maximum Bandwidth of 7.2 Mbps. The NodeB scheduler prioritizes UEs with high CQI that have packets waiting to be sent to it. Therefore, if there are no (or few) packets to be transmitted to the UE in Node B for a UE with high CQI, the scheduler will select UEs with lower CQIs, which compromises maximum cell throughput. Similarly, if the number of packets buffered for a UE with a certain CQI is inadequate to consume the associated TBS, RAN usage will be sub-optimal. In other words, UEs with high CQIs maximize cell throughput, as the packets could be transmitted with higher transport block sizes and fewer retransmissions are required. However, when a high CQI UE has less packets destined for it, the scheduler will select a lower CQI device.
The overlay scheduler of current invention generates packet workloads to feed the NodeB scheduler through one or more transit network devices for optimal performance.
It is envisioned that the methods disclosed herein are incorporated into a proxy device such as a RAN-Cache described in U.S. patent application Ser. No. 12/536,537 incorporated by reference herein. Thus, the overlay scheduler may be co-located with an application proxy, such as HTTP Proxy/Cache, or a TCP Proxy, that splits the end to end client-server flows, as (1) Client to Proxy, and (2) Proxy to Server flows with transit flow buffers. In general, the overlay scheduler works with a buffer that stores packet streams and allows the packets and streams to be pulled out at times different than their arrival at the buffer. The overlay scheduler optimizes delivery from the transit flow buffers to the mobile devices. The overlay scheduler is application aware (HTTP, FTP, MAIL, etc.), and content-type aware (html objects, video objects etc.), and is driven by the cell throughput vs. fairness goals at different congestion levels.
Additional and illustrative operational details are discussed below:
1) For each UE, the Overlay Scheduler estimates the recent bandwidth to the mobile client, by computing the packets transmitted and acknowledged by the client in the last observation period.
2) Alternatively, the overlay scheduler estimates the bandwidth to the UE by measuring the round-trip time for the recently established TCP connection.
3) From snooping control plane protocols on the IuPS interface, or by identifying the user agent within the HTTP Request headers, RANC identifies the UE Category, and UE Type. The category identifies peak bandwidth (Number of HS-PDSCH codes supported by UE). The UE type indicates whether it is a datacard connected to a laptop, or a smart phone, or a featured phone etc.
4) From the above two estimates, the overlay scheduler may compute the Bandwidth Quality Index (BQI) which estimates the BW that the UE could support in the next scheduling interval.
5) Since the RANC is operating as a content proxy, it is aware of the type of application, and for certain applications, such as HTTP, it may determine the amount of data to be sent and its priority during the next interval.
6) From the application types (UDP and TCP Port Numbers), and the content types of multiple flows of UE, it assigns priorities for flows; for example, prioritizing DNS packets.
7) From snooping the control plane protocols (for example, IuPS as in
8) The overlay scheduler uses maximum cell capacity for each of the cells covered by the RNC that it is connected to. It also uses mappings of cells to location area identifiers that they belong to. These parameters are configured a priori in the RANC.
9) RNC propagates the Service Area Identifier or Location Area Identifier where a mobile device is located when it attaches to the network through the control plane messages. This communication uses “initial UE message” which contains the Service Area Identifier (SAD, Location Area Identifier (LAI), and Routing Area Identifier (RAI). In some operator network deployments, the LAI corresponds to LAI and SAI corresponds to RNC. Thus in such deployments, the RANC device that is snooping control plane messages identifies the sector where the user is located. In other network deployments the LAI/SAI/RAI identifiers may be mapped differently and may correspond to a group of sectors. In the following descriptions, the term “cell area” corresponds to specific sector or SAI/LAI/RAI and the granularity may be a sector or group of sectors depending on the network configuration.
10) RANC identifies the cell area of each UE and groups all the UEs with active packet flows and bandwidth usage by all UEs in previous observation interval. This value as a percent of the configured peak cell bandwidth of the cell in Step 6 above determines the congestion level of the cell area (Cell or SAI/LAI/RAI).
11) In a LTE network, the Radio Access Network is flattened with the E-NodeB performing some of the RNC and NodeB functions. In these deployments as described in U.S. patent application Ser. No. 12/536,537, the RAN-Cache intercepts S1 control (S1-C) and user plane (S1-U) protocols. In the user plane protocols each user's application packets (IP/TCP/UDP etc.) are carried within a GTP-U tunnel specific to the User Device. The GTP-U tunnel packets are carried within IP Transport packets where IP transport header contains the IP address or the E-NodeB, and the SGW. Thus when deployed in a LTE network, RANC identifies the E-NodeB (BTS in LTE) that a UE belongs to and groups all the UEs in the scope of one E-NodeB, and their bandwidth usage. In such deployments, RANC estimates E-NodeB congestion level from the user plane.
12) The overlay scheduler uses the desired balance between the cell throughput and fairness at various congestion levels as input configuration parameters. For example, at high congestion levels it could be configured to limit bandwidth for high throughput/high BQI UEs to increase fairness and network reachability to a larger number of UEs.
13) The overlay scheduler generates packet bursts depending on the BQI, to achieve optimal buffer occupancy in NodeB so that the packet scheduler in NodeB uses optimal transport block size for each UE's CQI thus facilitating optimal allocation of RF Channel resources for maximum efficiency.
14) The burst scheduling for a UE reduces time of using RF and Radio Access Bearers (smaller time at a higher BW & higher RF efficiency compared to longer time with a lower BW & lower efficiency), thus making the resources available to other devices in the sector.
15) The overlay scheduler may also affect the scheduling priority used by RAN devices for specific UE by over-writing the DiffServ bits in the UE IP Header fields. Some RNC and NodeB implementations derive Traffic Handling Priority (THP) priority for UEs from the DiffServ bits in the IP header.
16) An alternative to setting the DiffServ bits as in Step 12 above, the overlay scheduler in RAN-Cache may modify the RAB (Radio Access Bearer) to alter the THP for the specific UE flow through Control Plane Protocol depending on the control plane logical interface that it is intercepting.
17) Depending on the actual deployment, and the operator's network configuration, all the input parameters for the overlay scheduler may not be available. In such cases, the scheduling decision may be sub-optimal compared to the case if all the parameters are available.
Using Policy configuration step 632 in
1. When “Initial-UE” message is observed in the control plane, it determines the cell area that UE belongs to.
2. The total throughput per sector is determined from the total number of downstream bytes sent to all UEs in a cell area, as shown in Step 618,
3. The bandwidth achieved to a UE in the observation interval is computed from total number of downstream bytes sent to the UE. Alternatively the bandwidth to the UE is computed from the latest TCP connection setup messages. Since the RAN-cache device where the overlay scheduler is incorporated, is working as a TCP Proxy and Caching device, it is terminating TCP connections to the UE and uses a different TCP connection to the server as shown in
4. It determines the UE category from monitoring the IuPS control plane messages. The maximum bandwidth that the UE could support is dependent on the UE category. From the UE category it determines the maximum transport block size that the UE could support, and the maximum bandwidth that is achievable with the said transport block size. This bandwidth defines the maximum short term bandwidth (burst bandwidth) that the overlay scheduler could use for this UE.
5. It computes the Band Width Quality Index (BQI) as a ratio of observed bandwidth in step 1 above to the maximum bandwidth that the UE could support as determined in Step 2. The BQI is always <1.
6. From the maximum transport block size in step 2, and transmit schedule interval “T”, it computes the maximum number of bytes that it could send to UE. It determines the number of packets (packet burst size) to be sent for a specific UE per time T from the BQI and the UE maximum transport block size.
7. While servicing UE queues at the next transmit opportunity, it increases packet bursts for UEs with higher BQI. Since BQI is recently estimated bandwidth to the UE, and cell (or SAI/LAI) throughput is below a configured congestion threshold, increasing the packet burst attempts increase per UE bandwidth. This in turn increases buffered packets at NodeB, thus allowing NodeB to use higher transport block sizes.
8. Additionally the overlay scheduler may also affect the scheduling priority used by RAN devices (RNC, NodeB) of UEs identified in Step 7 above by over-writing the DiffServ bits of one or more application flows in the user level IP Header fields. Some RNC and NodeB implementations derive Traffic Handling Priority (THP) priority for UEs from the DiffServ bits in the IP header.
Similar to the previous example, the Policy configuration step 632 in
1. Similar to the previous example, the Overlay Scheduler computes the total throughput per cell area in the observation period “T”, and checks if the cell area reached configuration threshold before activating the fairness steps outlined below.
2. As explained in previous example, the bandwidth delivered to a UE in the observation interval, the peak bandwidth the UE could support, and the BQI are computed.
3. For UEs consuming high bandwidth in the cell area, it attempts to reduce the bandwidth by reducing the number of packets sent per the scheduling interval T, based on computed BQI. The reduced packet burst per UE increases RTT as seen by one or more active TCP applications of the UE, thus causing application sources to slow down. This gives opportunities for other UEs to gain fairer share of the cell area.
4. In addition to or as an alternative to number of packets sent for UE consuming high bandwidth, the overlay scheduler may affect the scheduling priority used by RAN devices (RNC, NodeB) of UEs identified in Step 3 above by over-writing the DiffServ bits of one or more application flows in the user level IP Header fields. Some RNC and NodeB implementations derive Traffic Handling Priority (THP) priority for UEs from the DiffServ bits in the IP header. This increases the fairness for other UEs competing for RAN resources.
5. As an alternative to over-writing the DiffServe bits for the specific UE application flows, the overlay schedule may modify the traffic handling priority (THP) in the RAN by setting the THP parameter in RAB Parameters information Element in the “RAB Assignment Request” sent by the CN device to the RNC.
It should also be noted that the various hardware-based implementations described above are illustrative only. Embodiments of the present invention may be provided as one or more computer programs embodied on or in one or more articles of manufacture. The article of manufacture may be any suitable computer-readable medium, such as, for example, a floppy disk, a hard disk, a CD ROM, a CD-RW, a CD-R, a DVD ROM, a DVD-RW, a DVD-R, a flash memory card, a PROM, a RAM, a ROM, or a magnetic tape. In general, the computer-readable programs may be implemented in any programming language. Some examples of languages that may be used include C, C++, or JAVA. The software programs may be further translated into machine language or virtual machine instructions and stored in a program file in that form. The program file may then be stored on or in one or more of the articles of manufacture. Moreover, the computer programs may be distributed over various intercommunicating hardware elements (e.g., network nodes in a radio-access network).
Certain embodiments of the present invention were described above. It is, however, expressly noted that the present invention is not limited to those embodiments, but rather the intention is that additions and modifications to what was expressly described herein are also included within the scope of the invention. Moreover, it is to be understood that the features of the various embodiments described herein were not mutually exclusive and can exist in various combinations and permutations, even if such combinations or permutations were not made express herein, without departing from the spirit and scope of the invention. In fact, variations, modifications, and other implementations of what was described herein will occur to those of ordinary skill in the art without departing from the spirit and the scope of the invention. As such, the invention is not to be defined only by the preceding illustrative description.
This application claims priority to and the benefit of, co-pending U.S. Provisional Patent Application Ser. No. 61/259,458, filed on Nov. 9, 2009, the disclosures of which are hereby incorporated herein by reference in their entireties.
Number | Name | Date | Kind |
---|---|---|---|
5990810 | Williams | Nov 1999 | A |
6105064 | Davis et al. | Aug 2000 | A |
6798786 | Lo et al. | Sep 2004 | B1 |
6917984 | Tan | Jul 2005 | B1 |
7047312 | Aweya et al. | May 2006 | B1 |
7177273 | Peelen et al. | Feb 2007 | B2 |
7333431 | Wen et al. | Feb 2008 | B2 |
7412531 | Lango et al. | Aug 2008 | B1 |
7489690 | Kakadia | Feb 2009 | B2 |
7568071 | Kobayashi et al. | Jul 2009 | B2 |
7583594 | Zakrzewski | Sep 2009 | B2 |
7602872 | Suh et al. | Oct 2009 | B2 |
7710873 | Pulkka et al. | May 2010 | B2 |
7715418 | Cho et al. | May 2010 | B2 |
7734804 | Lorenz et al. | Jun 2010 | B2 |
7797369 | Glickman | Sep 2010 | B2 |
7852763 | Ghanadan et al. | Dec 2010 | B2 |
7965634 | Aoyanagi | Jun 2011 | B2 |
7991905 | Roussos et al. | Aug 2011 | B1 |
8111630 | Kovvali et al. | Feb 2012 | B2 |
8161158 | Curcio et al. | Apr 2012 | B2 |
8190674 | Narayanan et al. | May 2012 | B2 |
8208430 | Valmikam et al. | Jun 2012 | B2 |
8576744 | Kovvali et al. | Nov 2013 | B2 |
20030003919 | Beming et al. | Jan 2003 | A1 |
20030179720 | Cuny | Sep 2003 | A1 |
20030195977 | Liu et al. | Oct 2003 | A1 |
20040098748 | Bo et al. | May 2004 | A1 |
20040193397 | Lumb et al. | Sep 2004 | A1 |
20040223505 | Kim et al. | Nov 2004 | A1 |
20040240390 | Seckin | Dec 2004 | A1 |
20040258070 | Arima | Dec 2004 | A1 |
20040264368 | Heiskari et al. | Dec 2004 | A1 |
20050033857 | Imiya | Feb 2005 | A1 |
20050047416 | Heo et al. | Mar 2005 | A1 |
20050117583 | Uchida et al. | Jun 2005 | A1 |
20060019677 | Teague et al. | Jan 2006 | A1 |
20060117139 | Kobayashi et al. | Jun 2006 | A1 |
20060159121 | Sakata et al. | Jul 2006 | A1 |
20060198378 | Rajahalme | Sep 2006 | A1 |
20060274688 | Maxwell et al. | Dec 2006 | A1 |
20070019553 | Sagfors et al. | Jan 2007 | A1 |
20070019599 | Park et al. | Jan 2007 | A1 |
20070025301 | Petersson et al. | Feb 2007 | A1 |
20070070894 | Wang et al. | Mar 2007 | A1 |
20070143218 | Vasa | Jun 2007 | A1 |
20070230342 | Skog | Oct 2007 | A1 |
20070248048 | Zhu et al. | Oct 2007 | A1 |
20070254671 | Liu | Nov 2007 | A1 |
20080081637 | Ishii et al. | Apr 2008 | A1 |
20080162713 | Bowra et al. | Jul 2008 | A1 |
20080186912 | Huomo | Aug 2008 | A1 |
20080191816 | Balachandran et al. | Aug 2008 | A1 |
20080195745 | Bowra et al. | Aug 2008 | A1 |
20080212473 | Sankey et al. | Sep 2008 | A1 |
20080273533 | Deshpande | Nov 2008 | A1 |
20090019178 | Melnyk et al. | Jan 2009 | A1 |
20090029644 | Sue et al. | Jan 2009 | A1 |
20090043906 | Hurst et al. | Feb 2009 | A1 |
20090210904 | Baron et al. | Aug 2009 | A1 |
20100023579 | Chapweske et al. | Jan 2010 | A1 |
20100034089 | Kovvali et al. | Feb 2010 | A1 |
20100106770 | Taylor et al. | Apr 2010 | A1 |
20100158026 | Valmikam et al. | Jun 2010 | A1 |
20100195602 | Kovvali et al. | Aug 2010 | A1 |
20100254462 | Friedrich et al. | Oct 2010 | A1 |
20110167170 | Kovvali et al. | Jul 2011 | A1 |
20120099533 | Kovvali et al. | Apr 2012 | A1 |
Number | Date | Country |
---|---|---|
1606302 | Apr 2005 | CN |
1774890 | May 2006 | CN |
101299770 | Nov 2008 | CN |
101310481 | Nov 2008 | CN |
1445703 | Aug 2004 | EP |
1523171 | Apr 2005 | EP |
2007016707 | Feb 2007 | WO |
WO 2009096833 | Aug 2009 | WO |
2010017308 | Feb 2010 | WO |
2010088490 | Aug 2010 | WO |
Entry |
---|
International Search Report dated Mar. 3, 2011. |
Final Rejection mailed Oct. 29, 2013 in co-pending U.S. Appl. No. 13/048,378. |
Final Rejection mailed Nov. 26, 2013 in co-pending U.S. Appl. No. 12/696,378. |
International Search Report and Written Opinion mailed Mar. 12, 2010 in co-pending PCT application No. PCT/US10/22542. |
International Search Report and Written Opinion mailed May 13, 2011 in co-pending PCT application No. PCT/US11/28477. |
European Communication dated Jul. 5, 2012 in co-pending European patent application No. EP 10736460.6. |
Chinese Communication dispatched Feb. 16, 2013 in co-pending Chinese patent application No. CN 201080010586.X. |
Office Action mailed Oct. 23, 2012 in co-pending U.S. Appl. No. 12/696,378. |
Office Action mailed Apr. 30, 2013 in co-pending U.S. Appl. No. 13/048,378. |
Notice of Allowance mailed Dec. 23, 2013 in co-pending U.S. Appl. No. 12/696,378. |
Number | Date | Country | |
---|---|---|---|
20110116460 A1 | May 2011 | US |
Number | Date | Country | |
---|---|---|---|
61259458 | Nov 2009 | US |