2008-11-24 Assigned to PANASONIC CORPORATION reassignment PANASONIC CORPORATION CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: MATSUSHITA ELECTRIC INDUSTRIAL CO., LTD.
The invention concerns a method of managing a plurality of parallel hybrid ARQ processes including at least one of a reserved and/or additional HARQ process comprising the step of scheduling the available HARQ processes for transmission in accordance with at least one resource allocation parameter. Furthermore, the invention discloses a method of a plurality of hybrid HARQ processes including at least one of a reserved and/or additional HARQ process in a mobile communication system, wherein data flows are transmitted from a transmitter to a receiver comprising the steps of scheduling a number of transmission time intervals (TTI) in advance for a plurality of HARQ processes for transmission to the receiver, the step of predicting the channel conditions for the transmitted HARQ processes over at least one of the scheduled TTI and the step of assigning HARQ processes for transmission in accordance with the predicted channel conditions.
This invention relates to incremental redundancy or hybrid ARQ Type II or III retransmission techniques in mobile communications systems and is particularly applicable to cellular systems.
The most common technique for error detection of non-real time services is based on Automatic Repeat request (ARQ) schemes which is combined with Forward Error Correction (FEC), called hybrid ARQ. If an error is detected by Cyclic Redundancy Check (CRC), the receiver requests the transmitter to send additional bits. From different existing schemes the stop-and-wait (SAW) and selective-repeat (SR) continuous ARQ are most often used in mobile communication.
A data unit (PDU) will be encoded before transmission. Depending on the bits that are retransmitted three different types of ARQ are e.g. defined in S. Kallel, R. Link, S. Bakhtiyari, IEEE Transactions on Vehicular Technology, Vol. 48 #3, May 1999 "Throughput Performance of Memory ARQ Schemes".
Type I: The erroneous PDU is discarded and a new copy of that PDU is retransmitted and decoded separately. There is no combining of earlier and later versions of that PDU.
Type II: The erroneous PDU that needs to be retransmitted is not discarded, but is combined with some incremental redundancy bits provided by the transmitter for subsequent decoding. Retransmitted PDU's sometimes have higher coding rates and are combined at the receiver with the stored values. That means that only little redundancy is added in each retransmission.
Type III: Is the same as Type II only that every retransmitted PDU is now self-decodable. This implies that the PDU is decodable without the combination with previous PDU's. This is useful if some PDU's are so heavily damaged that almost no information is reusable.
This invention is related to Type II and Type III schemes, where the received (re)transmissions are combined. These schemes can be seen as a link adaptation technique, since the redundancy can be adapted according to the channel conditions as for example described in 3GPP TSG RAN, "Physical Layer Aspects of High Speed Downlink Packet Access TR25.848 V5.0.0" and in Amitava Ghosh, Louay Jalloul, Mark Cudak, Brian Classon, "Performance of Coded Higher Order Modulation and Hybrid ARQ for Next Generation Cellular CDMA Systems", Proceedings of VTC 2000.
Another technique that falls under this category of link adaptation, is adaptive modulation and coding (AMC). A description of AMC can be found in the above-mentioned documents. The principle of AMC is to change the modulation and coding format in accordance with variations in the channel conditions or system restrictions. The channel conditions can be estimated e.g. based on feedback from the receiver. In a system with AMC, users in favorable positions e.g. users close to the cell site are typically assigned higher order modulation with higher code rates (e.g. 64 QAM with R=3/4 Turbo Codes), while users in unfavorable positions e.g. users close to the cell boundary, are assigned lower order modulation with lower code rates (e.g. QPSK with R=1/2 Turbo Codes).
In the following, different combinations of coding and modulation will be referred to as Modulation Coding Scheme (MCS) levels. A transmission will be split into Transmission Time Intervals (TTI), whereas the MCS level could change each TTI interval (for HSDPA the TTI is equal to 2 ms). The main benefits of AMC are firstly that higher data rates are available for users in favorable positions which in turn increases the average throughput of the cell and secondly reduced interference variation due to link adaptation based on variations in the modulation/coding scheme instead of variations in transmit power.
FIG. 4 shows exemplarily the timing relations of an HARQ process, FIG. 5 shows the high level architecture of an HSDPA base station, FIG. 6 illustrates a high level architecture of an HSDPA mobile station, FIGS. 7-9 illustrate several examples of predictive scheduling HARQ processes.
The high level architecture of Universal Mobile Telecommunication System (UMTS) is shown in FIG. 1. The network elements are functionally grouped into Core Network (CN), UMTS Terrestrial Radio Access Network (UTRAN) and User Equipment (UE). UTRAN is responsible for handling all radio-related functionality, while CN is responsible for routing calls and data connections to external networks. The interconnections of these network elements are defined by open interfaces as can be seen in the Figure. It should be noted that UMTS system is modular and it is therefore possible to have several network elements of the same type.
FIG. 2 illustrates the current architecture of UTRAN. A number of RNCs (Radio Network Controllers) are connected via wired or wireless links (lub) to the CN. Each RNC controls one or several base stations (Node Bs) which in turn communicate via wireless links (not shown) with the UEs.
"High Speed Downlink Packet Access (HSDPA): Overall Description Stage 2", V5.2.0). It shall provide higher data rates in the downlink by introducing enhancements at the Uu interface such as adaptive modulation and coding. HSDPA relies on hybrid Automatic Repeat Request protocol (HARQ) Type H/III, rapid selection of users which are active on the shared channel and adaptation of transmission format parameters according to the time varying channel conditions. The invention is particularly applicable to HSDPA but is not restricted to this system.
Therefore the data transmission does not necessarily have to be in the downlink nor does it depend on a particular radio access scheme.
The User Plane Radio Interface Protocol Architecture of HSDPA is shown in FIG. 3. The HARQ protocol and scheduling function belong to the Medium Access Control High Speed (MAC-hs) sublayer which is distributed across Node B and UE. It should be noted that an SR ARQ protocol based on sliding window mechanisms could be also established between RNC and UE on the level of the Radio Link Control (RLC) sublayer in an acknowledged mode. Parameters of the protocols are configured by signalling in the control plane. This signaling is governed by a Radio Resource Control (RRC) protocol. The service that is offered from RLC sublayer for point-to-point connection between CN and UE is referred to as Radio Access Bearer (RAB). Each RAB is subsequently mapped to a service offered from MAC layer. This service is referred to as Logical Channel (LC).
The performance of high speed packet transmission may depend on technical characteristics of the mobile UE capabilities. These could be signaled from the UE entity to the RNC entity during connection establishment using the RCC protocol.
Over a feedback channel information is sent from the receiver to the transmitter that notifies the transmitter whether a data packet has been acknowledged (ACK) or not (NAK). Usually there is some delay until ACK/NAKs can be sent, due to processing time the transmitter spends on demodulation and decoding. HARQ Type 11/111 schemes put severe requirements on the receiver's memory size to store the soft decision values for subsequent combining. This buffer is in the following called soft buffer.
One method to overcome this constraint is to introduce a very fast feedback channel without an involvement of the Radio Link Control (RLC) protocol in RNC and UE. A scheduler is located in Node B so that retransmissions can be rapidly requested thus allowing small delays and high data rates.
The functional behavior of one HARQ process is illustrated in FIG. 4. A physical channel is used to transmit data to a receiver. In this case it is a so-called HS-DSCH (High Speed—Downlink Shared Channel), where different users are time multiplexed. As apparent from the figure, a transmitter Base Station (Node B) transmits to a receiver called User Equipment (UE1). Node B transmits (Tx) a data packet A to the UE1. Before the data is received (Rx) by the UE1 there is a propagation delay. UE1 will demodulate and decode the packet A. After a UE1 processing time of t RX process an ACK or NAK will be sent (depending on if the packet A has been received correctly or not). In this case UE1 sends a NAK assuming that Packet A has not been received correctly. If the NAK has been received and decoded correctly by the transmitter (tpropa introduced once again by the radio channel), the transmitter can decide to resend the data packet after a processing time tTX process. Thus the number of data packets that have to be stored depends on the number of simultaneously active HARQ processes.
A high level architecture of HSDPA Base Station is depicted in FIG. 5. It is assumed there are #1 . . . # X different data flows (logical channels) with data packets to be transmitted from the Node B to the User Equipment (UE). The set of HARQ transmitting and receiving entities, located in Node B and UE respectively, will be referred to as HARQ processes. The maximum number of HARQ processes per UE is usually predefined. These data flows can have different Quality of Services (QoS), e.g. delay and error requirements and may require a different configuration of HARQ instances.
The scheduler will consider these parameters in allocating resources to different UEs. The scheduling function controls the allocation of the channel (HS-DSCH) to different users or to data flows of the same user, the current MCS level in one TTI and manages existing HARQ instances for each user.
A data flow or even a particular packet of a data flow may have a different priority. Therefore the data packets can be queued in different priority queues. Different data flows with similar QoS requirements may also be multiplexed together (e.g. data flow #3 and #4). Besides the HS-DSCH that carries the data packets there is control data which is mapped onto a High Speed—Shared Control Channel (HS-SCCH). This could carry data such as the HARQ process ID, the modulation scheme, code allocation, transport format etc. that is needed by the receiver to correctly receive, demodulate, combine and decode the packets.
As said before, the scheduler decides which of the N HARQ processes shall be used for transmission. Each HARQ process can have different window sizes. In HSDPA there is only a single HARQ process scheduled each TTI and each process works as a SAW protocol which corresponds to selective repeat ARQ with window size 1. In the example illustrated in FIG. 4, a retransmission can be scheduled after 5 transmission time intervals (TTI). It is not possible to schedule the same HARQ process earlier if packet combining shall be used because the processing is still ongoing. The HARQ process number as well as the sequence number has to be signalled separately to allow a proper combining even if the packet is not received correctly. In HSDPA the 1 bit sequence number is called New Data Indicator (NDI). Each time a new packet has been sent, the NDI is incremented. In HSDPA the HARQ process ID and the NDI are signalled on the HS-SCCH.
Furthermore in HSDPA each packet has a Transmission Sequence Number (TSN) for reordering of correctly received packets. This information is signalled inband (of the HS-DSCH) in an header that is part of the packet. The TSN is increased for new each packet that is send by the transmitter. The receiver will check the TSN after successful decoding of an packet and deliver the packet only to higher layer if there is no previous packet of that data flow missing. In case of missing packets the received packet will be stored in the reordering buffer to wait for outstanding packets and to ensure in sequence delivery to higher layer. If the reordering buffer is full because the receiver is waiting for an outstanding packet for a long time the transmission must be stopped to avoid dropping or overwriting of packets. This situation is called stalling and can reduce the data throughput significantly. The stalling can be mitigated by different means such as time out timer, window forwarding etc. The receiver recognizes that it will not receive certain packets anymore and continues operation.
Usually a retransmission has a higher priority compared to new transmissions to reduce overall delay. Thus a packet will be scheduled every 6 TTI for successive erroneous decoding. A basic method is to adapt the number N of HARQ processes or the window size of a ARQ process to the round trip time. A practical implementation in this case would be an N channel Stop-and-Wait ARQ process. Continuous transmission while considering the round trip delay can be assured by switching between the HARQ processes every TTI. To support different priorities, a new transmission can be initiated on a HARQ process at any time even though there is a retransmission pending for that process. This will cause the UE soft buffer of the process to be flushed.
In a system using N-channel SAW ARQ processes the number of HARQ processes is chosen according to the round trip delay to provide continuous transmission while minimizing the number of processes. In the same manner will the window size be selected according to the RTT for window based ARQ mechanisms. Since the RTT can vary during transmission so the initial configuration may not be optimum anymore.
Different data flows can have different QoS and will therefore also have different process configurations (e.g. maximum number of retransmissions). A scheduler may preempt a certain transmission according to QoS attributes (priority, delay requirement, guaranteed bit rate and other parameters) known by the scheduler. The formulation preemption of higher priority data over lower priority data will be used in the following although the reason for preemption may be a QoS attribute other than priority (e.g. delay requirement).
After the UE data was scheduled to the appropriate HARQ process the transport format (e.g. transport block size) and resource combination (e.g. number and index of codes) for the data need to be selected. Depending on the channel conditions different MCS levels and thus packet sizes can be scheduled.
The UE HSDPA architecture is shown in FIG. 6. It can be noted that each HARQ process is assigned a certain amount of soft buffer memory for combining the bits of the packets from outstanding retransmissions. Once a packet is received successfully, it is forwarded to the reordering buffer providing the in-sequence delivery to RLC sublayer. According to the conventional architecture, the reordering queue is tied to a specific priority.
It should be noted that the available soft buffer size depends on the UE radio access capability parameters. Processing time of UE for a certain MCS level and minimum inter-TTI interval (minimum time between two successive scheduling instants) can also be considered as capability parameters. These are signaled from the UE to the RNC by RRC protocol and further from RNC to Node B.
One constraint for current communication systems is that different priorities as part of QoS requirements of data need to be supported efficiently. Future packet switched applications will have low rate signalling (e.g. session initiation protocol) which is more delay critical than the data. Thus signalling in parallel to the data stream itself will have higher priority. In particular in mobile communication systems there is high priority radio resource signalling such as to prepare for or to carry out handover when changing the serving cell. Other radio resource management information may also be scheduled in-between of data transmission. This signalling is usually of low rate, but has to be very fast to avoid packet or even call drops.
Further, downlink messages are generally significantly larger than uplink messages since they typically include more parameters as described in more detail in 3GPP TSG RAN TS 25.331 "RRC Protocol Specification", V 5,0.0. At the same time, the signalling between RNC and UE using radio bearers mapped on dedicated channels is slow due to delays in the transport network between RNC and Node B and due to a larger TTI of dedicated channels. For example, as mentioned in 3GPP TSG RAN TS 34.108 "UE Conformance Testing", V 4.1.0, signalling radio bearers configured for downlink interactive traffic with a peak rate of 2048 kbps is configured with a payload in RLC packets of 136 bits and a TTI of 40 ms, that is with data rate of 3.4 kbps. For a typical RRC message size of 150 octets, signalling delay is 390 ms, assuming transport network delay of approximately 30 ms. For the payload corresponding to the lowest MCS in HSDPA (240 b), HSDPA TTI is equal to 2 ms and minimum inter-TTI interval is equal to 2 ms, signaling delay is 20 ms assuming 2 retransmissions per packet. Thus, it may be beneficial to route some signalling traffic over HSDPA connection.
Due to deep and long fades, which are likely when a mobile is located near the cell edge, it may happen that all HARQ processes are simultaneously in the state of combining packets. In such cases it could be required to handover to a different cell. Some signalling is required for this purpose. However, scheduling any new data to the occupied processes will result in flushing the contents of the UE soft buffer for these particular processes. This causes an inefficient use of radio resources because already transmitted packets (although not received correctly and currently in the process of combining) are discarded. It should be noted that the packet size of the data that is discarded could be quite large compared to the one of higher priority signalling.
Another problem that occurs in case of insequence delivery to higher layer is stalling. The flushing of packets could cause gaps in the reordering entity. Already successfully received packet can not be delivered to higher layer because previous packets are missing. If the flushed data can be resend, the problem is less severe, but still more retransmissions will be required because combined bits of the unsuccessfully received packets were discarded.
In a co-pending application it has consequently been proposed to have some HARQ processes either reserved or additional HARQ processes which are pre-configured for high priority data. This allows the efficient support for data flows of different priorities and in particular for delay critical signalling.
If the Node B receives low rate and delay sensitive data such as higher priority signaling, it will switch to the reserved or additional HARQ processes (if required), instead of using engaged HARQ processes which would cause the UE soft buffer to be flushed. Furthermore the Node B or RNC will signal to use a separate reordering queue for such data to avoid delays caused by reordering for in sequence delivery.
According to the conventional architecture, any HARQ process can be used for any priority queue. According to the above-mentioned co-pending application, it is proposed to restrict the use of HARQ processes. Some HARQ processes may be limited for specific data flows of high priority or small transport format and resource allocation, while other HARQ processes may maintain full flexibility. Such HARQ processes of limited use will be called reserved HARQ processes. By this it is ensured that high priority data can be sent without waiting for completion of outstanding retransmissions or flushing the UE soft buffer of an HARQ process.
It should be noted that the restricted use of some HARQ processes limits the scheduling in particular for continuous transmission. It also reduces data throughput since the number of HARQ processes with full flexibility is insufficient for continuous transmission during round trip delay.
In another embodiment of above-mentioned co-pending application, it has been proposed to increase the number of HARQ processes with respect to the minimum required by RTT to accommodate higher priority data. These additional HARQ processes which may also have limited functionality are in the following called additional HARQ processes. The limited functionality will most likely be caused by reserving smaller soft buffer sizes for additional HARQ processes. Thus, only some (lower) MCS can be scheduled with this processes.
Additional HARQ processes also cause an increased signalling range for identifying the HARQ process to the UE. The signalling of the HARQ process ID via a shared control channel is usually done by a fixed number of bits. Additional bits for the signalling may not be necessary because the number of HARQ processes that can be signalled is in the range of the power of two (e.g. 8 HARQ processes).
The method of configuring an additional HARQ process consequently requires that additional soft buffer memory is reserved for combining. In order to address such constraints, once an HARQ process is added, it may be possible to restrict its usage just for certain MCS levels, e.g. restrict its usage for certain packet sizes. Thus, the soft buffer size for such limited HARQ processes is minimized.
An additional advantage of adding an HARQ process resides in the fact that all ongoing regular HARQ processes are not affected and that consequently the data throughput is not reduced.
Reservation or addition of HARQ processes enables delivery of delay sensitive high priority data. However, it is also necessary to define the strategy that is used in transmitter's scheduler for these cases.
The object of the present invention is consequently to provide a method of managing a plurality of parallel hybrid ARQ processes in a mobile communication system, which allows intelligent scheduling for efficiently support data flows of different priorities. This object is solved by a method as defined in claims 1 and 7.
According to the invention, the transmitter checks the state of all available HARQ processes and if all regular processes are ongoing, i.e. are in the state of combining packets, reserved or additional ARQ processes shall be used. This decreases the latency for packets having high priorities and moreover efficiently uses the available radio resources.
For example, if the available soft buffer memory in the UE is low, only a reservation of processes is possible. In this case, throughput will be decreased. Furthermore, sometimes it is possible to configure additional processes only with limited soft buffer size, that is with some restrictions in the MCS levels that can be used. Thus, during good channel states, additional processes could also be configured without significantly decreasing the throughput.
According to an embodiment of the invention, the scheduler in the transmitter shall select the HARQ processes, which includes additional HARQ processes, reserved HARQ processes or just HARQ processes with limited soft buffer capabilities. The scheduling is performed in accordance with at least one resource allocation parameter which could be one of Modulation Coding Scheme (MCS) level, transport format, e.g. packet size, traffic transcriptor, priority, data flow ID or logical channel ID. For example, the use of reserved or additional HARQ processes may be restricted to signalling having a separate data flow ID or to data packets of high priority.
A traffic descriptor could for instance indicate the kind of data (e.g. control data, radio resource control, SIP signalling etc.) to the transmitter. Based on this, the transmitter knows the characteristics of that data and how it shall be transmitted. Thus a proper selection of the HARQ channel can be performed.
The packet size will have the main impact on the transport format. For small packets only a limited number of resources need to be allocated (e.g. codes, frequencies, time slots). Even if a low code rate is used to make the transmission more reliable there may not be a need for higher order modulations, etc. and a low MCS level could be used. Therefore based on these parameter the transmitter can select an additional or reserved or HARQ process.
In the following, another embodiment of the scheduling algorithm according to the invention will be explained in further detail.
The simplest form of a scheduling algorithm in the Node B is non-predictive scheduling. This method maximizes overall system throughput by scheduling always the user having the best channel condition at a given time instant relative to other users. It should also be noted that the performance of the algorithm depends on the aggressiveness in MCS assignment. Should the scheduler allocate always the highest possible MCS, it may occur that all HARQ processes except reserved or additional ones are in the state of packet combining. These processes must not be used in order to avoid flushing of data. If an additional process with limited functionality is used in the current TTI, the MCS is not only selected based on channel conditions, but also so that available soft buffer is not exceeded.
Another form of scheduling algorithm is predictive scheduling wherein a number of TTI are scheduled in advance. If different data flows are scheduled consecutively to a UE, an intelligent HARQ process assignment can be used. The scheduler should consider the transport formats required for the transmissions and select the most suitable soft buffer size needed for the different HARQ processes. With this it is ensured that always the most suitable HARQ process is used without wasting capacity of the UE soft buffer.
Predictive scheduling performance is a tradeoff between channel prediction accuracy and prediction length. Channel prediction performance decreases with increasing prediction length. On the other side, it is easier to find optimal resource allocation with respect to a QoS requirement with a longer prediction horizon. In the following examples illustrated in FIGS. 7-9, it is assumed that channel prediction is given 6 TTIs in the future, that is a certain MCS level can be allocated to any of 6 TTIs according to the predicted channel state.
In the first example (FIG. 7), processing time is equal to prediction horizon and one HARQ process is reserved for high priority data. Data transmission to the same UE is consecutively scheduled for 6 TTIs. MCS vector denotes the possible MCS level according to predicted channel conditions. HARQ process allocation vector denotes the number or type of process allocated to transmissions in certain TTIs. Round trip time is equal to prediction horizon and HARQ processes are allocated for 6th TTIs in advance. Resource allocation vector denotes the actual MCS level that is used in the transmissions. In the 6th TTI high priority packets are routed to a reserved process (R) without any restriction in MCS level.
In the second example (FIG. 8), round trip time is less than prediction horizon and is equal to 5 TTIs. One HARQ process is additional and with limited functionality (that is, only the lowest MCS level 1 can be used for transmission with this process). Data transmission to the same UE is consecutively scheduled for 6 TTIs (prediction horizon). HARQ processes are allocated 5 TTIs in advance, while the decision on process allocation in the 6th TTI is deferred until receiving first feedback. After round trip time, a NACK for process 1 has arrived, but also high priority data packets are available for instantaneous transmission. It is not possible to use processes 2-5 because feedback has not been received for them. It is not possible to use process 1 either because it is in the state of packet combining. Thus, the high priority packets will preempt pending retransmission for process 1 and will be scheduled to an additional process (A). It should be noted that the available MCS level according to channel prediction is level 3. However, due to limited functionality of the additional process, MCS level 1 is allocated in the resource allocation vector.
The assumptions for the third example (FIG. 9) up to the expiry of the round trip time are identical as for the second example (FIG. 8). After round trip time, ACK for the process 1 has been received. Thus, processes 1 and A (additional process) are available at that time instant. We will further assume that no high priority data is pending for transmission, but that there are some low priority packets that can be transmitted by using the lowest MCS level 1. The scheduler will rather use process A for these packets thus preserving process 1 for high rate and high priority data.
Apart from the retransmission protocol at the MAC-hs sublayer, there can also be a retransmission protocol in RLC sublayer (if configured to work in acknowledged mode) and in reliable transport control protocol layer (e.g. TCP). To reduce latency, it may be useful to assign the packets retransmitted by higher layers to reserved/additional HARQ processes.
The invention discloses an intelligent method for a flexible scheduling of multiple parallel hybrid ARQ processes while transmitting data of different priority. The latency is reduced without having to flush the data bits corresponding to outstanding retransmissions in the soft buffer of the UE. Based on resource allocation parameters, such as data flow ID, priority, traffic descriptor, packet size etc. associated to the data, the transmitter selects one of the available HARQ processes to satisfy QoS requirements. By employing intelligent non-predictive and predictive scheduling methods and for a given soft buffer size, the transmitter uses the available radio resources efficiently.
1. A method of managing a plurality of parallel hybrid ARQ processes involving packet combining including at least one of a reserved and/or additional HARQ process comprising the step of scheduling the available HARQ processes for transmission in accordance with at least one resource allocation parameter.
2. The method according to claim 1, wherein the radio resource allocation parameter is a modulation coding scheme (MCS) level.
3. The method according to claim 1, wherein the radio resource allocation parameter is a transport format of the data transmission, e.g. a data packet size.
4. The method according to claim 1, wherein the radio resource allocation parameter is the necessary soft buffer size at the receiver of a communication system.
5. The method according to one of claims 1-4, wherein the use of a reserved or additional HARQ process is restricted for a separate data flow ID or a logical channel ID.
6. The method according to claim 5, wherein the use of a reserved or additional HARQ process is restricted to data flow or logical channel carrying signalling data of radio resource control RRC or other higher layer signalling.
7. The method according to claim 5, wherein the use of a reserved or additional HARQ process is restricted to packets retransmitted by higher layers.
8. The method according to claim 1, wherein the radio resource allocation parameter is a traffic descriptor.
assigning HARQ processes for transmission in accordance with the predicted channel conditions and available HARQ processes.
10. The method according to one of the claims 1 or 9, wherein the step of scheduling comprises ordering a plurality of data flows in at least one priority queue and emptying the priority queue to one or a plurality of configured HARQ processes for transmission.
11. The method according to one of claims 1 or 9, wherein the reserved and/or additional HARQ process has a limited functionality compared with a plurality of HARQ processes.
12. The method according to one of claims 1 for 9, wherein the reserved and/or additional HARQ process supports a maximum possible/lower modulation coding scheme (MCS) level compared with the plurality of HARQ processes.
13. The method according to one of claims 1 or 9, wherein the reserved and/or additional HARQ process supports a maximum possible/lower transport format resource combination (TFRC) compared with the plurality of HARQ processes.
14. The method according to one of claims 1 or 9, wherein the reserved and/or additional HARQ process supports Chase Combining or Incremental Redundancy according to available memory in the soft buffer.
15. The method according to one of claims 1 or 9, wherein for the reserved and/or additional HARQ process, a smaller soft buffer size is reserved at the receiver compared with that reserved for one of a plurality of HARQ processes.
16. The method according to one of claims 1 or 9, wherein the transmitter signals to the receiver to use a separate re-ordering buffer for the reserved and/or additional HARQ process.
17. The method according to one of claims 1 or 9, wherein an HARQ process identification is, signalled to the receiver.
18. The method according to one of claims 1 or 9, wherein the number of HARQ processes and/or functionality of additional processes are matched to the round trip delay (RTD) caused by transmission time and processing time at the receiver and the transmitter.
19. The method according to claim 1, wherein the number of configured HARQ processes varies dynamically in accordance with a system parameter.
20. The method according to claim 19, wherein the system parameter is one of round trip time, processing time, traffic burstiness, quality of service, modulation coding scheme, timing of shared channels and minimum transmission time interval.
21. The method according to one of claims 1 or 9, wherein an HARQ process configuration is signalled from the transmitter to the receiver by HARQ protocol control packet.
22. The method according to claim 21, wherein an HARQ protocol control packet is identified by inband signalling.
23. The method according to claim 21, wherein control information may be signalled explicitly or implicitly.
24. The method according to claim 22, wherein an HARQ protocol control packet is identified by inband signalling.
MX2009003223A (en) * 2006-10-03 2009-05-20 Ntt Docomo Inc Mobile station, wireless base station, mobile communication system and notification information transmitting/receiving method.
MX2011006448A (en) * 2008-12-16 2011-09-27 Research In Motion Ltd Hybrid automatic repeat request round trip time and acknowledgement/negative acknowledgement repetition in discontinuous reception.
ES2365801T3 (en) 2011-10-11 Scheme hybrid automatic repeat request (HARQ) with in-sequence delivery of packets.


The BAM (Barcelona Acci Musical) Festival, which runs concurrently with the Spanish city's traditional La Merc celebrations, attracted 120,000 music fans last year to a jam-packed schedule of free, mostly open-air concerts throughout the downtown area. This years 18th annual BAM Festival included a host of European and American rock, hip-hop and dance artists, such as Goldfrapp, OK Go, Anti-Pop Consortium, Belle & Sebastian and El Guincho, and featured substantial Lab.gruppen-powered EAW P.A. systems on the MTV-BAM and Electro-BAM stages at the Parc del Frum.
For the MTV-BAM stage (larger of the two), production sound company FOCUS, S.A., a renowned sound company based in Barcelona, supplied an EAW speaker system comprising twelve KF760 Long-Throw Line Array Modules, four KF730 Compact Line Array Modules and eight SB730 Compact Line Array Subwoofers per side, all under the control of UX8800 Digital Signal Processors. Focus S.A., with over 20 years experience designing, producing, coordinating and directing unique ceremonies and events with clockwork precision, was able to design a comprehensive system that exceeded the demands of the venue. Due to the large listening area that had to be covered, FOCUS designed the system to project the low frequencies, taking advantage of the omni-directional pattern of the KF760 below 150 Hz to provide additional coverage control. Alignment of the system was simplified by keeping the distance between the KF760/KF730 modules and the subs to just six feet.
Additional ground-stacked EAW subs boosted the low end. It was a pop rock festival, so we designed a cardioid configuration with a double line arc with 16 SB1000z [Large Format Subwoofers], which delivered an incredible punch in the central area, where most of the audience was located, said Pepe Ferrer of FOCUS S.A. The system also included an infill of KF750 High Output Array Loudspeakers in a left-right configuration with four KF730 modules for mono voice front fill.
The entire EAW system was powered by Lab.gruppen's tour-honed FP+ Series and fP Series amplifiers. Twelve FP 10000Q and pair of FP 13000, along with several racks each of FP 4000 and fP 3400, provided over 80 ultra-reliable channels of superior sound for the main FOH system, including the additional ground stacked subs. Additional racks containing a mix of FP+ and smaller fP Series models handled the infill and sidefill arrays and mono voice front fill with ease.
Chosen by FOCUS for their renowned continuous reliability, ability to endure severe stress and high power density, Lab.gruppens FP+ Series is an ideal system partner to drive the EAW loudspeaker elements, ensuring superior audio quality from source to audience.
Elsewhere, FOCUS deployed EAWs new KF740 3-Way Full-Range Loudspeakers on the Electro BAM Festival stage. FOCUS designed a system with eight KF740 speakers and four KF730 modules per side, together with 16 SB850z Dual 18-Inch Subwoofers in an end fired left-right configuration, with two UX8800 processors handling signal management. Eight KF730 modules provided out fill coverage with an additional two KF730 modules carrying front fill.
The main FOH system was powered by a mix of Lab.gruppen FP+ Series including 8 FP 6400 and 2 FP 13000, alongside 4 racks of fP Series (fP 3400 and fP 2600). The out fill and front fill KF730 elements were all powered by an additional 3 FP 13000.
A pair of SB730 Compact Line Array Subwoofers and four JF260z 2-Way Compact Loudspeakers under the control of a single UX8800 processor and driven by four Lab.gruppen fP 3400 amplifiers, provided onstage side fill. Eight JFX260i Compact Full-Range Loudspeakers, again driven by Lab.gruppen amplification, were deployed for onstage monitoring.
For more information, please visit www.eaw.com and www.labgruppen.com.


text:
Q: Signalr Core WithAutomaticReconnect passing headers I have gone through Signalr Core documenations and while I understand the feature
.WithAutomaticReconnect()

What I am curious is does it pass the headers still from the original request? Here my connect code which is working fine for most users, but it seems like I have some that on reconnect don't get added back into the pool. If someone can confirm the header info is passed that will save me some time from chasing this at least.
var hubAdjConnection1 = new HubConnectionBuilder()
                .WithUrl(url, options => {
                    options.Headers.Add("address", address);
                    options.Headers.Add("uName", uName);
                    options.Headers.Add("signature", signature);
                    options.Headers.Add("walver", Program.CLIVersion);
                })
                .WithAutomaticReconnect()
                .Build();

Again this code is working just fine I am just not sure the headers are passed  on the reconnect, but from I know the Automatic reconnect is suppose to return the same instance of the HubConnectionBuilder for chaining correct?
Or Do I need to somehow manually pass back the header information on a reconnect? I can't imagine that I do since there are no options to actually do that, at least that I am aware of.

A: For those wondering I found a way to test this, though it was not easy to simulate a disconnect/reconnect all the time I did finally hit a reconnect instance and I did see that all the header information from the original HubConnectionBuilder() was passed along. Hope this saves someone some time as its not very clear in the MS documentation.

redpajama_set_name: RedPajamaStackExchange


text:
Q: How to identify and remove observations with ValueError in Pandas While working on a dataset with pandas I am getting ValueError
ValueError: could not convert string to float: <some_string>

I want identify and remove such observations from my data set and I am unable to find a way to do it. Please suggest.
The code that I am running :
X_scaled = preprocessing.scale(X_final)

Edit 1 : After searching online and looking at some other posts in SO, I have understood that this might be happening because there is some column/s in my data which is supposed to have numbers/floats but contains string in some observations. How can I identify such columns?


The European Union is also investigating. At the heart of the investigation is so-called "agency pricing". First introduced by Apple, which insisted publishers stop the practice of selling their books at wholesale prices so that retailers could set the end price if they wanted their books included on the iPad's iBookstore. Publishers agreed to the new pricing model, which included a 30% cut for Apple, and then turned around and insisted Amazon abide by agency pricing as well. They protested at first but eventually gave in, effectively ending their ability to discount Kindle books. This infuriated many Kindle owners since Amazon made the fact that most Kindle books would be available for $9.99 or less a big selling point for the device. In an effort to deflect such anger, they began adding "This price was set by the publisher" to book listings affected by agency pricing.
The publishers under investigation, which include Penguin, HarperCollins and Simon & Schuster, have been rather tightlipped about the Justice Department's product, either dismissing the allegations or saying only that they would cooperate. Apple refused to comment at all.
The publishers under investigation are already known as being hostile toward ebooks in general, either by refusing to let libraries lend out digital copies of their books, refusing to release the ebook version of a book until months after the hardcover, or slapping ridiculously high prices on them.
If you are an ebook buyer, how do you feel about agency pricing? Do you feel the investigation is warranted? Why or why not? Please leave a comment and let us know your thoughts!


Work featured here was shot in studio and on location. For most situations, shooting product in studio is the best way to go, but when we were given the opportunity to photograph Alba's product line in Tulum Mexico, we were more than happy to facilitate. The results are clear, that an on location shoot, though technically and logistically more challenging, can produce a wide variety of beautiful photography; unmatched by studio work.


text:
package org.keycloak.models.map.storage.jpa;

import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.UUID;
import java.util.stream.Stream;
import javax.persistence.EntityManager;
import javax.persistence.LockModeType;
import javax.persistence.Parameter;
import javax.persistence.TypedQuery;
import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaDelete;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Order;
import javax.persistence.criteria.Predicate;
import javax.persistence.criteria.Root;
import javax.persistence.criteria.Selection;

import org.hibernate.Session;
import org.hibernate.internal.SessionImpl;
import org.hibernate.query.spi.QueryImplementor;
import org.jboss.logging.Logger;
import org.keycloak.common.util.Time;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.ModelException;
import org.keycloak.models.map.common.AbstractEntity;
import org.keycloak.models.map.common.ExpirableEntity;
import org.keycloak.models.map.common.StringKeyConverter;
import org.keycloak.models.map.common.StringKeyConverter.UUIDKey;
import org.keycloak.models.map.storage.MapKeycloakTransaction;
import org.keycloak.models.map.storage.QueryParameters;
import org.keycloak.models.map.storage.chm.MapFieldPredicates;
import org.keycloak.models.map.storage.chm.MapModelCriteriaBuilder;
import org.keycloak.utils.LockObjectsForModification;

import static org.keycloak.common.util.StackUtil.getShortStackTrace;
import static org.keycloak.models.map.common.ExpirationUtils.isExpired;
import static org.keycloak.models.map.storage.jpa.JpaMapStorageProviderFactory.CLONER;
import static org.keycloak.models.map.storage.jpa.PaginationUtils.paginateQuery;
import static org.keycloak.utils.StreamsUtil.closing;

public abstract class JpaMapKeycloakTransaction<RE extends JpaRootEntity, E extends AbstractEntity, M> implements MapKeycloakTransaction<E, M> {

    private static final Logger logger = Logger.getLogger(JpaMapKeycloakTransaction.class);
    private final KeycloakSession session;
    private final Class<RE> entityType;
    private final Class<M> modelType;
    private final boolean isExpirableEntity;
    protected EntityManager em;

    public JpaMapKeycloakTransaction(KeycloakSession session, Class<RE> entityType, Class<M> modelType, EntityManager em) {
        this.session = session;
        this.em = em;
        this.entityType = entityType;
        this.modelType = modelType;
        this.isExpirableEntity = ExpirableEntity.class.isAssignableFrom(entityType);
    }

    protected abstract Selection<? extends RE> selectCbConstruct(CriteriaBuilder cb, Root<RE> root);
    protected abstract void setEntityVersion(JpaRootEntity entity);
    protected abstract JpaModelCriteriaBuilder createJpaModelCriteriaBuilder();
    protected abstract E mapToEntityDelegate(RE original);

    private final HashMap<String, E> cacheWithinSession = new HashMap<>();

    /**
     * Use the cache within the session to ensure that there is only one instance per entity within the current session.
     */
    protected E mapToEntityDelegateUnique(RE original) {
        if (original == null) {
            return null;
        }
        E entity = cacheWithinSession.get(original.getId());
        if (entity == null) {
            entity = mapToEntityDelegate(original);
            cacheWithinSession.put(original.getId(), entity);
        }
        return entity;
    }

    @Override
    public E create(E mapEntity) {
        RE jpaEntity = entityType.cast(CLONER.from(mapEntity));
        if (mapEntity.getId() == null) {
            jpaEntity.setId(StringKeyConverter.UUIDKey.INSTANCE.yieldNewUniqueKey().toString());
        }
        logger.tracef("tx %d: create entity %s", hashCode(), jpaEntity.getId());
        setEntityVersion(jpaEntity);
        em.persist(jpaEntity);
        return mapToEntityDelegateUnique(jpaEntity);
    }

    @Override
    public E read(String key) {
        if (key == null) return null;
        E e = null;
        if (!LockObjectsForModification.isEnabled(session, modelType)) {
            e = cacheWithinSession.get(key);
        }
        if (e == null) {
            UUID uuid = StringKeyConverter.UUIDKey.INSTANCE.fromStringSafe(key);
            if (uuid == null) return null;
            e = mapToEntityDelegateUnique(
                    LockObjectsForModification.isEnabled(session, modelType) ?
                            em.find(entityType, uuid, LockModeType.PESSIMISTIC_WRITE) :
                            em.find(entityType, uuid)
            );
        }
        return e != null && isExpirableEntity && isExpired((ExpirableEntity) e, true) ? null : e;
    }

    private final static String JPA_MAP_CACHE = "keycloak.jpamap.cache";

    @Override
    @SuppressWarnings("unchecked")
    public Stream<E> read(QueryParameters<M> queryParameters) {
        JpaModelCriteriaBuilder mcb = queryParameters.getModelCriteriaBuilder()
                .flashToModelCriteriaBuilder(createJpaModelCriteriaBuilder());

        CriteriaBuilder cb = em.getCriteriaBuilder();
        CriteriaQuery<RE> query = cb.createQuery(entityType);
        Root<RE> root = query.from(entityType);
        query.select(selectCbConstruct(cb, root));
        if (mcb.isDistinct()) query.distinct(true);

        //ordering
        if (!queryParameters.getOrderBy().isEmpty()) {
            List<Order> orderByList = new LinkedList<>();
            for (QueryParameters.OrderBy<M> order : queryParameters.getOrderBy()) {
                switch (order.getOrder()) {
                    case ASCENDING:
                        orderByList.add(cb.asc(root.get(order.getModelField().getName())));
                        break;
                    case DESCENDING:
                        orderByList.add(cb.desc(root.get(order.getModelField().getName())));
                        break;
                    default:
                        throw new UnsupportedOperationException("Unknown ordering.");
                }
            }
            query.orderBy(orderByList);
        }

        JpaPredicateFunction<RE> predicateFunc = mcb.getPredicateFunc();
        if (this.isExpirableEntity) {
            predicateFunc = predicateFunc != null ? predicateFunc.andThen(predicate -> cb.and(predicate, notExpired(cb, query::subquery, root)))
                                                  : this::notExpired;
        }
        if (predicateFunc != null) query.where(predicateFunc.apply(cb, query::subquery, root));

        TypedQuery<RE> emQuery = paginateQuery(em.createQuery(query), queryParameters.getOffset(), queryParameters.getLimit());

        Map<QueryCacheKey, List<RE>> cache = getQueryCache();
        QueryCacheKey queryCacheKey = new QueryCacheKey(emQuery, modelType);
        if (!LockObjectsForModification.isEnabled(this.session, modelType)) {
            List<RE> previousResult = cache.get(queryCacheKey);
            //noinspection resource
            SessionImpl session = (SessionImpl) em.unwrap(Session.class);
            // only do dirty checking if there is a previously cached result that would match the query
            if (previousResult != null) {
                // if the session is dirty, data has been modified, and the cache must not be used
                // check if there are queued actions already, as this allows us to skip the expensive dirty check
                if (!session.getActionQueue().areInsertionsOrDeletionsQueued() && session.getActionQueue().numberOfUpdates() == 0 && session.getActionQueue().numberOfCollectionUpdates() == 0 &&
                        !session.isDirty()) {
                    logger.tracef("tx %d: cache hit for %s/%s%s", hashCode(), queryParameters, queryCacheKey, getShortStackTrace());
                    return closing(previousResult.stream()).map(this::mapToEntityDelegateUnique);
                } else {
                    logger.tracef("tx %d: cache ignored due to dirty session", hashCode());
                }
            }
        }
        logger.tracef("tx %d: cache miss for %s/%s%s", hashCode(), queryParameters, queryCacheKey, getShortStackTrace());

        if (LockObjectsForModification.isEnabled(session, modelType)) {
            emQuery = emQuery.setLockMode(LockModeType.PESSIMISTIC_WRITE);
        }

        // In order to cache the result, the full result needs to be retrieved.
        // There is also no difference to that in Hibernate, as Hibernate will first retrieve all elements from the ResultSet.
        List<RE> resultList = emQuery.getResultList();
        cache.put(queryCacheKey, resultList);

        return closing(resultList.stream()).map(this::mapToEntityDelegateUnique);
    }

    private Map<QueryCacheKey, List<RE>> getQueryCache() {
        //noinspection resource,unchecked
        Map<QueryCacheKey, List<RE>> cache = (Map<QueryCacheKey, List<RE>>) em.unwrap(Session.class).getProperties().get(JPA_MAP_CACHE);
        if (cache == null) {
            cache = new HashMap<>();
            //noinspection resource
            em.unwrap(Session.class).setProperty(JPA_MAP_CACHE, cache);
        }
        return cache;
    }

    public static void clearQueryCache(Session session) {
        logger.tracef("query cache cleared");
        //noinspection unchecked
        Map<?, ?> queryCache = (HashMap<Class<?>, Map<?, ?>>) session.getProperties().get(JPA_MAP_CACHE);
        if (queryCache != null) {
            // Can't set null as a property values as it is not serializable. Clearing each map so that the current query result might be saved.
            queryCache.clear();
        }
    }

    @Override
    @SuppressWarnings("unchecked")
    public long getCount(QueryParameters<M> queryParameters) {
        JpaModelCriteriaBuilder mcb = queryParameters.getModelCriteriaBuilder()
                .flashToModelCriteriaBuilder(createJpaModelCriteriaBuilder());

        CriteriaBuilder cb = em.getCriteriaBuilder();

        CriteriaQuery<Long> countQuery = cb.createQuery(Long.class);
        Root<RE> root = countQuery.from(entityType);
        countQuery.select(cb.count(root));

        JpaPredicateFunction<RE> predicateFunc = mcb.getPredicateFunc();
        if (predicateFunc != null) countQuery.where(predicateFunc.apply(cb, countQuery::subquery, root));

        return em.createQuery(countQuery).getSingleResult();
    }

    @Override
    public boolean delete(String key) {
        if (key == null) return false;
        UUID uuid = UUIDKey.INSTANCE.fromStringSafe(key);
        if (uuid == null) return false;
        removeFromCache(key);
        em.remove(em.getReference(entityType, uuid));
        logger.tracef("tx %d: delete entity %s", hashCode(), key);
        return true;
    }

    protected void removeFromCache(String key) {
        cacheWithinSession.remove(key);
    }

    @Override
    @SuppressWarnings("unchecked")
    public long delete(QueryParameters<M> queryParameters) {
        JpaModelCriteriaBuilder mcb = queryParameters.getModelCriteriaBuilder()
                .flashToModelCriteriaBuilder(createJpaModelCriteriaBuilder());

        CriteriaBuilder cb = em.getCriteriaBuilder();

        // Remove all entities that are in the persistence context and that match the criteria.
        // This avoids calling flush and clear which would detach all other unrelated entities as well.
        int[] removed = {0};
        MapModelCriteriaBuilder<String, E, M> mapMcb = queryParameters.getModelCriteriaBuilder().flashToModelCriteriaBuilder(createCriteriaBuilderMap());
        cacheWithinSession.entrySet().removeIf(entry -> {
            if (mapMcb.getKeyFilter().test(entry.getKey()) && mapMcb.getEntityFilter().test(entry.getValue())) {
                em.remove(em.getReference(entityType, UUIDKey.INSTANCE.fromString(entry.getKey())));
                removed[0]++;
                return true;
            } else {
                return false;
            }
        });

        CriteriaDelete<RE> deleteQuery = cb.createCriteriaDelete(entityType);

        Root<RE> root = deleteQuery.from(entityType);

        JpaPredicateFunction<RE> predicateFunc = mcb.getPredicateFunc();
        if (predicateFunc != null) deleteQuery.where(predicateFunc.apply(cb, deleteQuery::subquery, root));

        return em.createQuery(deleteQuery).executeUpdate() + removed[0];
    }

    private MapModelCriteriaBuilder<String, E, M> createCriteriaBuilderMap() {
        return new MapModelCriteriaBuilder<>(StringKeyConverter.StringKey.INSTANCE, MapFieldPredicates.getPredicates(modelType));
    }

    @Override
    public void begin() {
        // no-op: rely on JPA transaction enlisted by the JPA storage provider.
    }

    @Override
    public void commit() {
        // no-op: rely on JPA transaction enlisted by the JPA storage provider.
    }

    @Override
    public void rollback() {
        // no-op: rely on JPA transaction enlisted by the JPA storage provider.
    }

    @Override
    public void setRollbackOnly() {
        em.getTransaction().setRollbackOnly();
    }

    @Override
    public boolean getRollbackOnly() {
        return  em.getTransaction().getRollbackOnly();
    }

    @Override
    public boolean isActive() {
        return em.getTransaction().isActive();
    }

    private Predicate notExpired(final CriteriaBuilder cb, final JpaSubqueryProvider query, final Root<RE> root) {
        return cb.or(cb.greaterThan(root.get("expiration"), Time.currentTimeMillis()),
                    cb.isNull(root.get("expiration")));
    }

    private static class QueryCacheKey {
        private final String queryString;
        private final Integer queryMaxResults;
        private final Integer queryFirstResult;
        private final HashMap<String, Object> queryParameters;
        private final Class<?> modelType;

        public QueryCacheKey(TypedQuery<?> emQuery, Class<?> modelType) {
            // copy over all fields from the query that relevant for caching
            QueryImplementor<?> query = emQuery.unwrap(QueryImplementor.class);
            this.queryString = query.getQueryString();
            this.queryParameters = new HashMap<>();
            for (Parameter<?> parameter : query.getParameters()) {
                if (parameter.getName() == null) {
                    throw new ModelException("Can't prepare query for caching as parameter doesn't have a name");
                }
                this.queryParameters.put(parameter.getName(), query.getParameterValue(parameter.getName()));
            }
            this.queryMaxResults = emQuery.getMaxResults();
            this.queryFirstResult = emQuery.getFirstResult();
            this.modelType = modelType;
        }

        @Override
        public boolean equals(Object o) {
            if (this == o) return true;
            if (o == null || getClass() != o.getClass()) return false;
            QueryCacheKey that = (QueryCacheKey) o;
            return Objects.equals(queryString, that.queryString)
                    && Objects.equals(queryMaxResults, that.queryMaxResults)
                    && Objects.equals(queryFirstResult, that.queryFirstResult)
                    && Objects.equals(queryParameters, that.queryParameters)
                    && Objects.equals(modelType, that.modelType);
        }

        @Override
        public int hashCode() {
            return Objects.hash(queryString, queryMaxResults, queryFirstResult, queryParameters, modelType);
        }

        @Override
        public String toString() {
            return "QueryCacheKey{" +
                    "queryString='" + queryString + '\'' +
                    ", queryMaxResults=" + queryMaxResults +
                    ", queryFirstResult=" + queryFirstResult +
                    ", queryParameters=" + queryParameters +
                    ", modelType=" + modelType.getName() +
                    '}';
        }
    }
}

redpajama_set_name: RedPajamaGithub


Odessa is small town that is shared between both Pasco County and Hillsborough County. Having only around 8,000 residents Odessa real estate appeals to many people. Odessa, for many years, had been an area of open spaces, ranching, and horse properties and although there is a demand for new housing Odessa is still an area that seems somewhat undeveloped. There are still many areas of open land despite all of the recent construction in the area. Odessa is also home to Lake Rogers Park which is a 272 acre park and preserve with a 2.25 mile trail around the lake. This beautiful park is where many of the residents choose to spend their time. Residing is Odessa is such a treasure because it gives you the feeling of living tucked away from the urbanization that larger cities in the area can't offer! The location is ideal with the convenience of being in the middle of large surrounding counties there isn't much that is out of reach! Anything you may need such as the airport, large businesses, shopping, dining and area attractions is just minutes away!


A big thanks to all members of my Parry soviet who have been helping me to better describe myself to those people who've never heard of me before.
As a result I now have a brand new strapline, as you can see from the top of the website.
That's the one you helped me come up with.
It seems that when it came to music you were all virtually unanimous about John Lennon much to my flattered embarrassment.
I must admit I feel a bit of a twonk making any comparison between myself and Lennon!!
But I trust people will realise that in fact I'm not.
I'm just trying to paint a bit of a picture for people who encounter me for the first time so they may be bold enough to give me a bit of a listen. Or even better, book me for a show!
Same with Tony Benn. It was the only other name in the survey that came back to me with the same frequency as Lennon's did.
You said I sound a bit like Lennon vocally (thanks!!), and you guessed rightly that Tony Benn is someone who has inspired me.
So I've kind of joined them up in this too-clever-by-half fashion.
Do you think it works? Does it give a decentish flavour of what you'd expect from my music? Let me know.
P.S. All those who replied to my survey to get me to this point will be getting my complete back catalogue signed by me as a mega thankyou to you all. After Chrimbo though if that's ok. Big thanks again to those who helped me out.


text:
Special Offers on Liver Fit, Krill Oil, Pulsate Plus, Thermo-Lift Metaboliks !
Beauty, Hair, Skin & Nails Bone, Joint & Muscle Brain & Cognition
Digestion & Liver Gummies Heart Health
Immunity-Boosting Men's Health Women's Health
Traditional Care
WTR USA Monthly Special Offers
This privacy policy has been compiled to better serve those who are concerned with how their 'Personally Identifiable Information (PII) is being used online. PII, as described in U.S. privacy law and information security, is information that can be used on its own or with other information to identify, contact, or locate a single person, or to identify an individual in context. Please read our privacy policy carefully to get a clear understanding of how we collect, use, protect or otherwise handle your Personally Identifiable Information in accordance with our website.
What personal information do we collect from the people that visit our blog, website, or app?
When ordering or registering on our site, as appropriate, you may be asked to enter your name, email address, mailing address, phone number, credit card information, or other details to help you with your experience.
We collect information from you when you register on our site, place an order, subscribe to a newsletter, respond to a survey, fill out a form, use Live Chat, enter information on our site, or when you provide us with feedback on our products or services.
To administer a contest, promotion, survey, or other site feature.
To ask for ratings and reviews of services or products
To follow up with them after correspondence (live chat, email, or phone inquiries)
Help remember and process the items in the shopping cart.
Understand and save users' preferences for future visits.
You can choose to have your computer warn you each time a cookie is being sent, or you can choose to turn off all cookies. You do this through your browser settings. Since each browser is a little different, look at your browser's Help Menu to learn the correct way to modify your cookies.
If you turn cookies off, some of the features that make your site experience more efficient may not function properly.
We do not sell, trade, or otherwise transfer to outside parties your Personally Identifiable Information unless we provide users with advance notice. This does not include website hosting partners and other parties who assist us in operating our website, conducting our business, or serving our users, so long as those parties agree to keep this information confidential. We may also release information when its release is appropriate to comply with the law, enforce our site policies, or protect our or others' rights, property, or safety. However, non-personally identifiable visitor information may be provided to other parties for marketing, advertising, or other uses.
Google, as a third-party vendor, uses cookies to serve ads on our site. Google's use of the DART cookie enables it to serve ads to our users based on previous visits to our site and other sites on the Internet. Users may opt out of the use of the DART cookie by visiting the Google Ad and Content Network privacy policy.
We, along with third-party vendors such as Google, use first-party cookies (such as the Google Analytics cookies) and third-party cookies (such as the DoubleClick cookie) or other third-party identifiers together to compile data regarding user interactions with ad impressions and other ad service functions as they relate to our website.
Users can set preferences for how Google advertises to you using the Google Ad Settings page. Alternatively, you can opt-out by visiting the Network Advertising Initiative Opt Out page or by using the Google Analytics Opt Out Browser add-on.
You can change your personal information:
By chatting with us or by sending us a support ticket
We will notify you via email within 7 business days
We will notify the users via in-site notification within 7 business days
CAN-SPAM Act
Process orders and send information and updates pertaining to orders.
If at any time you would like to unsubscribe from receiving future emails you can:
email us at cs@wtrawleigh.com
Follow the instructions at the bottom of each email and we will promptly remove you from ALL correspondence.
www.wtrawleigh.com
2500 Metrocentre Blvd., Suite 5
cs@wtrawleigh.com
Our Commitment To Freshness
*The statements on this website have not been evaluated by the Food and Drug Administration. These products are not intended to diagnose, treat, cure or prevent any disease. Copyright © 2021. Vitamins Direct. All rights reserved

redpajama_set_name: RedPajamaCommonCrawl


Mental Health Tribunal, 'Guidance for the observation of tribunal hearings' (5/11/09) This guidance has been superseded by Mental Health Tribunal, 'Guidance for the observation of tribunal hearings in the First-tier Tribunal Health Education and Social Care Chamber (mental health jurisdiction)' (10/1/19). It deals with the various categories of observers and the terms on which they may be permitted to attend tribunal hearings.
Phillip Sycamore, Mark Hinchliffe and Joan Rutherford, 'Representations to the Tribunals Procedure Committee from the Chamber President, Deputy Chamber President and Chief Medical Member (HESC)' (undated, probably late 2017) This document, together with Tribunal Procedure Committee, 'Extracts from the Minutes of the Tribunal Procedure Committee' (4/10/17 to 7/3/18), were obtained under the Freedom of Information Act by the charity Rethink Mental Illness. They relate to the proposal to abolish pre-hearing examinations and have paper reviews in certain cases. They provide information on the rationale behind the proposals which was omitted from the final version of the consultation document - mainly saving money and promoting flexibility in panel composition (judge-only hearings, including for all s2 cases, and judge-only paper reviews, including for many reference cases).
Upper Tribunal case summary document (January 2016) This is a document issued to tribunal judges as guidance. The summary of PJ v A Local Health Board  UKUT 480 (AAC),  MHLO 63 (in relation to the tribunal's role when faced with an ECHR breach) effectively rephrases as correct the position found to be unlawful by the Upper Tribunal (whose decision has since been overturned on appeal). The summary of WH v Partnerships in Care  UKUT 695 (AAC),  MHLO 132 (in relation to the appropriate medical treatment test applying to the detaining hospital only) appears to contradict the ratio of the Upper Tribunal decision. See the case law pages for further details.


text:
Newsom's recall spending spree prompts a word of warning – from Jerry Brown
As Gov. Gavin Newsom engages in recall-centric retail therapy, his predecessor is joining the pile-on that California's historic spending spree is "shortsighted."
As the State of California embarks on an historic spending spree on the precipice of its second gubernatorial recall, the man who preceded Gov. Gavin Newsom is issuing a warning of sorts to the recall subject.
Two-time, four-term Gov. Jerry Brown warned of incoming volatility to Sacramento after Newsom and state lawmakers authorized more than $262.6 billion in spending.
The budget, which sought to tackle a bevy of California's ailments from infrastructure to drought resilience to homelessness and beautification with one-time pandemic relief funds, was described as "shortsighted."
"Using tools designed for a budget crisis to support state spending at this time is shortsighted and inadvisable," the state's Legislative Analyst's Office said in a review of his budget plan.
Now, Brown is joining the pile-on, telling Los Angeles-based NBC 4 that the Newsom's recall-centric retail therapy is being driven by revenues that were "artificially pumped up" by Federal spending that will undoubtedly give way to "fiscal stress" by 2023.
"The word is volatility," Brown told the station. "Money comes and money goes. The federal government is going deeper into debt, they are spending money wildly. The state is now spending money. It is not sustainable."
Brown's return to Sacramento in 2010 came on the heels of years of deficit spending under Gov. Arnold Schwarzenegger amid the on-set of the Great Recession. Brown authored significant tax increases on middle and upper-class Californians coupled with siloing greater general-use funds into reserve.
Newsom, for his part, has eschewed the focus on tax reserves and instead engaged in social spending with aplomb since taking office in 2018.
With billions headed toward arguably the state's top issue – its deluge of homeless residents – Brown said that state leaders cannot spend their way out of the crisis with temporary measures.
"You are going to have rules and the rules have to be enforced," Brown said. "You are going to need mandatory drug treatment and mental health intervention… you have to be willing to exercise control, discipline, authority… if you don't, you just create what we have now."
Alex Tavlian
Alex Tavlian is the Executive Editor of The San Joaquin Valley Sun and Executive Director of Valley Future Foundation. You can reach Alex at alex.tavlian@sjvsun.com.
Paperwork flub leaves Newsom on recall ballot with no party preference. Now he's suing.
Gavin Newsom, arguably the state's most-visible Democrat, is currently slated to appear on the 2021 Recall ballot with no party preference due to a simple filing error caused by a bill he signed into law.
Sources: Caitlyn Jenner mulling gubernatorial run in Calif. recall
The former "Keeping Up with the Kardashians" star is talking with political consultants as she actively explores a run for governor of California.
Larry Elder, Bakersfield crime victims assail Newsom as "soft on crime"
California's accelerated decriminalization efforts are to blame for the state's woes, recall contender Larry Elder and Kern County DA Cynthia Zimmer argued on Thursday.
Larry Elder set to rally supporters in Clovis on Sunday
Larry Elder, the national talk radio host and GOP contender to replace Gov. Gavin Newsom, is finally set to make his campaign debut in Fresno County.


Welcome to Old Rosedale Gardens Livonia Michigan web information page written by real estate agent Bob Jakowincz. The picture you see to your right is of the entrance to the sub as you enter off of Plymouth Rd. Old Rosedale has many of these two column entrances all along Plymouth Rd entering the neighborhood. Old Rosedale Gardens is located at Plymouth and Merriman Rd in the Southern part of Livonia Michigan. There are approximately 700 homes located within this area of Old Rosedale. The school district for the area is LIVONIA PUBLIC SCHOOLS with the high school being LIVONIA FRANKLIN. We are here to help you with all of your real estate related questions or concerns, please feel free to email us at BobandTeena@Yahoo.com anytime. If you are looking to buy or sell real estate in the near future give us a call at 734-578-6561, we would love the opportunity to assist you with your future real estate needs.
As you can see from the picture showing the street views of Old Rosedale there is a certain old world charm to the area. Many use words like "GreenField Village" or "Historic" to describe the feel of the area. The neighborhood is conveniently located near pretty much all modern conveniences you could ask for. I put a couple of different types of interactive maps below for you to use to get a better feel of the area. You can also try different views and gain more information.
The purpose of this web-page is to give you a general idea what Old Rosedale Gardens and Livonia Michigan has to offer. I have been told countless times that Old Rosedale Gardens has people come from other local communities just to drive through and look around. Old Rosedale has a old world feel to it that just takes you back in time. The homes are unique, arcitechually appealing and well kept. The pride of ownership is very apparent in this neighborhood. The first picture is a close up of the welcome sign on the pillars at the entrance. Next up is of Wonderland Shopping Plaza which is only a couple of minutes away. The picture of the building with the rounded glass is of the Livonia Recreation Center. The Livonia Rec center is just a few miles away and offers two swimming pools, rock climbing wall, exercise equipment, two basketball courts, party rooms and much much more. Thank You for stopping by we look forward to assisting you with all of your future real estate needs.
Here are a few great web-sites that you may find helpful: LIVONIA LIBRARY, LIVONIA LITTLE LEAGUE, LAUREL PARK PLACE MALL, CITY OF LIVONIA, ST MARY MERCY HOSPITAL and MICHIGAN REAL ESTATE INFORMATION.


Gaming continues to be good business for the Eastern Band of Cherokee Indians. Revenue contributions at the flagship Harrah's Cherokee Casino Resort increased 4.7 percent in the last fiscal year, The Cherokee One Feather reported. Over at the Harrah's Cherokee Valley River Casino and Hotel, a newer facility, contributions jumped nearly 19 percent, the paper said.


text:
Joe Pizzuto
josephpizzuto.com
joe_pizzuto
Decatur, GA, United States
About Joe Pizzuto
Joseph Pizzuto was born in Reading Pennsylvania in 1952. Throughout the years, he has worked in photography retail, operated a profession portrait studio and held a position as industrial photographer. He is self taught but studied with Larry Fink and Chip Simone. Pizzuto has had solo shows at Albright College in Reading, Pa and Northampton College, in Bethlehem, Pa. Additionally, he has been part of many collective shows including museum shows at The Reading Museum of Art, The Toledo Museum of Art and the Musee Francais De La Photographie in Bievres, France. Gallery shows included The Nikon House in New York City; The Photography Place in Exton, Pa; The Mind's Eye Gallery in Philadelphia; The Southeast Center of Photography in Greenville, SC and The RoHo Gallery in Cincinnati Ohio to list a few. His work has been included in numerous issues of Black and White Magazine. Joseph currently lives in Decatur, Georgia.
Joe Pizzuto's Projects on LensCulture


You still in love with your ex-girlfriend but don't know how to get her back? If it is the case, then you don't need to worry anymore as here we come to bail you out of this situation. Going through break ups is one of the most painful phases of one's life. Breakups mark the end of a long association and an intimate bond. But if you really loved her then this broken relationship can always be salvaged. As according to a famous saying 'what is lost does not have to stay lost'. The lost thing can always be searched, found and reshaped, reconstructed. It can be made even more solid and stronger than before. But the first thing that one needs to find out is that do you really desperately want her back or need her back? Need and want are two different things.
If you two shared a really good relationship which somehow got ruined due to some or other reasons then you surely have a strong reason to try and win her back. But if on the other hand you need her back because you find it really difficult to go out there and find a new girlfriend, then you must stop then and there and be honest to your emotions. Here are some of the ways which can help you reconcile with your ex-girlfriend.
Therapeutic Recreation: break up is a very emotional part of one's life. It makes you weak and vulnerable. You should try and give some time to yourself during this phase. Avoid internet, phones and friends who are also friends with your ex. Deviate your mind and get involved in some creative activities. Make yourself emotionally strong.
Try Reaching Out To Her: after you are done with your healing try getting your life back on track. Meet old friends, socialize and make new friends. Side by side try getting in touch with your ex by either a text or call. Make her feel comfortable and tell her your sole aim is just to do friendship with her and there is no romantic angle involved. Try and go out with her on friendly lunches and brunches but strictly avoid any late night rendezvous. Be kind and caring to her. This will help you to win her trust back. No need to rush things up. Move slowly and cautiously and take things as they come.
Remember The Good Memories Spent Together: Once you have won her trust back and made her feel comfortable. Try to talk about the good old memories that you have spent together as a couple. This should be done in bits and pieces. Notice her reaction. If she starts feeling uncomfortable and irritated then stop then and there. Make her believe that everything you both shared was something very unique and intimate. After some time has passed express your feeling of getting back together to her. Give her some time to decide and make her decision and if you are lucky enough you may get an affirmative answer.


The Inside Cover Page from the second of Teresa Vanderburgh's Musical Scrapbooks containing a program for a concert by the Manuscript Society of New York. December 15, 1897.
The Inside Cover Page from the second of Teresa Vanderburgh's Musical Scrapbooks - program for a concert by the Manuscript Society of New York. December 15, 1897. Includes some of the words to the music.
The Inside Cover Page from the second of Teresa Vanderburgh's Musical Scrapbooks containing a program for a concert by the Manuscript Society of New York. December 15, 1897. Includes notes furnished by the composer for Symphony, No. 1, in F., op.25.
The Inside Cover Page from the second of Teresa Vanderburgh's Musical Scrapbooks - program for a concert by the Manuscript Society of New York. December 15, 1897. Includes the names of Officers and Board and Committee Members for the Manuscript Society of New York.
The Inside Cover Page from the second of Teresa Vanderburgh's Musical Scrapbooks - program for a concert given by the Manuscript Society of New York. December 15, 1897. Includes a list of Active Members that are also composers.
The Inside Cover Page from the second of Teresa Vanderburgh's Musical Scrapbooks - program for a concert given by the Manuscript Society of New York. December 15, 1897. Includes the names of the Professional Members of the Manuscript Society of New York.
The Inside Cover Page from the second of Teresa Vanderburgh's Musical Scrapbooks - program for a concert given by the Manuscript Society of New York. December 15, 1897. Includes the names of the Associate, Honorary & Life-time members of the Manuscript Society of New York.
Page 4 of the first of Teresa Vanderburgh's Musical Scrapbooks - program for a concert given by the Manuscript Society of New York at Chickering Hall. December 3, 1896. Included are the titles of some of the music performed during the evening.


text:
Q4 Announces Strategic Partnership with Rose & Company to Bring New Investor Access Solutions to Listed Companies
16.4.2020 17:30:00 EEST | Business Wire
Q4 Inc. (Q4), a leading global provider of cloud-based investor relations solutions, and Rose & Company (Rose & Co), the industry's premier strategic investor relations advisory firm, today announced an exclusive partnership that combines the deep capital markets experience and proven success of Rose & Co's unique investor access service with Q4's market-leading IR platform. Together, Q4 and Rose & Co will focus on helping public companies both target and directly engage with institutional investors through an ongoing sales and marketing process.
"We are excited to be partnering with Rose & Co, giving our clients the benefit of their extensive capital markets and sell-side experience " said Darrell Heaps, CEO of Q4. "In a world where IR teams are tasked with doing more with less, this partnership provides significant strategic value and a competitive advantage for our clients through the technology and expertise needed to effectively target and directly engage high quality investors."
"Q4 offers the best-in-class products and services for investor relations professionals, and we look forward to extending their ability to help listed companies engage with the most appropriate audience of institutional investors," said Simon Rose, CEO of Rose & Co. "The partnership combines the strengths of two industry leaders to offer the only end-to-end solution for public companies to manage their IR workflow, target desirable shareholders and engage directly with the senior decision makers at institutional money managers around the world."
The partnership between Q4 and Rose & Co was formed to address the need of public companies, to efficiently and directly engage with the buy-side. By combining thoughtful, proactive investor access with innovative technology, IR teams and executives will be better positioned to access high-quality institutional investors, and to foster productive ongoing relationships with current and prospective shareholders. Further collaboration between the partners will focus on public companies' investor access needs and the products required to compete in the ever-changing capital markets.
About Q4 Inc.
Q4 is a leading global provider of cloud-based investor relations, with the mission of partnering with customers to achieve their strategic IR objectives. Through best-in-class customer experience and an innovative suite of IR technology, Q4 is a trusted partner to over 2,000 of the world's largest brands. Q4's comprehensive portfolio of IR communications and intelligence solutions, supported by an industry-leading customer experience model, empower customers to build impactful and strategic IR programs. Q4 has offices in New York, Toronto, Copenhagen, and London. To learn more, visit: www.q4inc.com.
About Rose & Company
Rose & Company is a strategic advisory firm dedicated to helping clients successfully navigate the global capital markets. We work with our clients to evaluate, define and execute strategies to enhance their presence in increasingly globalized and complex capital markets. For more information, please visit www.roseandco.com.
Julia Hanbury | Talk Shop | 604-738-2220 | julia@talkshopmedia.com
Robert Brinberg | Rose & Company | 212-257-5932 | robert@roseandco.com
About Business Wire
http://www.businesswire.com
For more than 50 years, Business Wire has been the global leader in press release distribution and regulatory disclosure.
Subscribe to releases from Business Wire
Subscribe to all the latest releases from Business Wire by registering your e-mail address below. You can unsubscribe at any time.
Latest releases from Business Wire
H.I.G. Realty Invests in Production Studios & Content Hub in Madrid15.1.2021 11:00:00 EET | Press release
H.I.G. Capital, LLC ("H.I.G."), a leading global alternative investment firm with $43 billion of equity capital under management, announced today that one of its affiliates has invested in Madrid Content City, an approximately 140,000 square meter hub with state of the art audio-visual facilities, including production studios, production & post-production technical facilities, and a university focused on media studies. H.I.G. continues to add to its sizeable portfolio of real estate assets across Europe, consisting of both equity as well as debt investments, with a particular focus on its target market of value-added small and midcap opportunities. Riccardo Dallolio, Managing Director and Head of H.I.G. Europe Realty Partners, commented: "Madrid Content City will benefit from strong secular tailwinds underpinned by the boom in content production. The state-of-the-art studios and related facilities, the exceptional multinational tenant line-up with long term leases, and its critical mas
Eurofins, the global leader in analytical testing, expands worldwide face mask testing & certification capabilities15.1.2021 09:30:00 EET | Press release
Since the start of the pandemic Eurofins (Paris:ERF) has tested thousands of models of surgical and hygienic masks and provided best-in-class speed and certification for PPEs globally, enabling these critical products to get market as fast as possible. Eurofins has developed global leading testing capabilities and certification services in the North America, Europe and Asia ensuring that PPE manufacturers are able to provide the indispensable support needed in the fight against the coronavirus. As of today, Eurofins is one of the few GLP certified and ISO/IEC 17025 accredited laboratory networks to fully cover all testing requirements for surgical/medical and hygienic masks by the FDA, EU regulations and many international and country-specific directives and guidelines such as CEN, CE Marking, ISO, ASTM or OECD. Our robust portfolio for masks includes globally accepted, safety and performance testing, virucidal, bacterial filtration, particle filtration, differential pressure, biocompa
TOXINS 2021: New analyses of pivotal Phase III trial data highlight long duration of response for Dysport® (abobotulinumtoxinA) in five therapeutic indications15.1.2021 09:00:00 EET | Press release
Regulatory News: Ipsen (Euronext: IPN; ADR: IPSEY) announced results from new analyses of pivotal Phase III clinical trial data to assess treatment intervals over repeat cycles of Dysport® (abobotulinumtoxinA [aboBoNT-A]) in five patient populations. AbobotulinumtoxinA: Evidence for Long Duration of Response from 5 Patient Populations is being shared during the TOXINS 2021 conference, which is taking place virtually between 16-17 January 2020 and is organized by the International Neurotoxin Association.1-28 Ipsen is sharing 26 abstracts during the congress, with data including updates from the recently published surveys into the experience of patients and caregivers, data from the Phase IV ULIS-III trial, and ten abstracts focused on basic science research into neurotoxins.1-27 Spasticity is one of the most common and disabling conditions associated with many neurological conditions in adults and is characterized by velocity-dependent muscle hypertonia. Spasticity can lead to disabilit
Velodyne Lidar Commends NHTSA Plan to Update NCAP14.1.2021 23:58:00 EET | Press release
Velodyne Lidar, Inc. (Nasdaq: VLDR, VLDRW) today commended the U.S. Department of Transportation's National Highway Traffic Safety Administration (NHTSA) plan to update to its New Car Assessment Program (NCAP). The NHTSA proposal would add four advanced driver assistance system (ADAS) capabilities to the NCAP, keeping pace with evolving safety technologies and providing much-needed information to consumers. This press release features multimedia. View the full release here: https://www.businesswire.com/news/home/20210114005992/en/ Images show vehicle with lidar-based PAEB stopping before adult target @ 50% overlap (above) and vehicle with camera and radar-based PAEB crashing into adult target (below). (Photo: Velodyne Lidar, Inc.) NCAP is the U.S. Government's premier consumer information program for evaluating vehicle safety performance. The NHTSA proposal to add ADAS technologies to the NCAP includes pedestrian automatic emergency braking, lane keeping support, blind spot warning and
Veristat Supported Marketing Applications for 10% of All FDA Novel Drug Approvals in 202014.1.2021 21:15:00 EET | Press release
Veristat, a scientific-minded global clinical research organization (CRO), announced today that they supported the marketing applications for 10% of the 2020 US Food and Drug Administration (FDA) novel drug approvals. The FDA approved 53 novel drugs, defined by the FDA as New Molecular Entities (NMEs)i, and Veristat regulatory, statistical, and medical writing experts were integral in preparing five of these NME New Drug Applications. Veristat also prepared NDA/BLAs for three non-NME FDA approvals and one Marketing Authorization Application (MAA) that received approval in Europe. "Despite the global challenges in 2020, Veristat continued to advance its mission of helping clients achieve regulatory approval of novel medical therapies," stated Patrick Flanagan, Chief Executive Officer at Veristat. "Now, more than ever, Veristat is focused on providing expert guidance to facilitate the rapid approval for therapies that improve the lives of patients and their families around the world." Ve
Tigo Energy Raises $20 Million in Funding14.1.2021 19:33:00 EET | Press release
Tigo Energy, Inc., the worldwide leader in Flex-MLPE (Module Level Power Electronics) today announced a $20 million round of investment, led by Energy Growth Momentum. "2020 has been a breakout year for Tigo and 2021 has the potential for even greater success," stated Zvi Alon, Chairman and CEO of Tigo. "We are excited to have the EG Momentum team's support and their working capital will enable us to better serve our current customer base and invest in the future expansion with new customers, new partners and new projects." The investment will be used to improve upon existing products and develop next generation solutions that maximize returns for PV customers. A portion of the new funds will be used to efficiently and effectively scale. Tigo's growth has accelerated significantly recently as the company's products have reached more customer segments and countries throughout the world. With over 40,000 installations in over 100 countries on all 7 continents, Tigo systems generate more
Samsung's Newest 108Mp Mobile Image Sensor with Advanced Features Captures More Details and Produces Sharper Results14.1.2021 19:00:00 EET | Press release
Samsung Electronics Co., Ltd., a world leader in advanced semiconductor technology, today introduced its latest 108-megapixel (Mp) mobile image sensor, Samsung ISOCELL HM3. With a wide spectrum of advanced sensor technologies, the HM3 can capture sharper and more vivid images in ultra-high resolution with faster auto-focus and extended dynamic range. This press release features multimedia. View the full release here: https://www.businesswire.com/news/home/20210114005430/en/ ISOCELL HM3 - 108 megapixel image sensor (Graphic: Business Wire) "While a pixel is just a single dot of color, when in millions, these dots can be transformed into stunning snapshots of life. With more pixels, images are sharper, with fuller details that can maintain their integrity even when enlarged. Samsung has been at the forefront of bringing the most pixels to mobile image sensors as well as various supporting technologies that take sensor performances to the next level," said Duckhyun Chang, executive vice p
In our pressroom you can read all our latest releases, find our press contacts, images, documents and other relevant information about us.
Visit our pressroom


Posted 8:22 pm by admin & filed under All.
Your network connection may be bringing you down. And if so, it may be time to cut the cords.
If your business is expanding or you've added several computers, an upgrade to a point to point wireless network could be the right fix.
Traditional network setups work through WiFi or direct cord connections, which is how computers share data.
However, point to point wireless networks, also known as P2P, provide a wireless option to transmit data across large areas. For example, if your business has multiple buildings, a P2P connection links the computers across your network in a securely and quickly.
If you're still not sure if you should go wireless, here are a few reasons why point to point wireless could benefit your business networking needs.
Whether you're upgrading your network or expanding your business, installing a hardwire connection means hiring a construction crew.
The required wires need to be installed underground in order establish a connection. You'll need to dig up areas such as streets, sidewalks or parking lots in order to get the wiring from point A to point B, which is not a cheap endeavor and can disrupt your business for days at a time.
A P2P network works by line of sight or LOS. In this setup, links are connected by locations placed on top of buildings that can be seen in clear view. The links then connect via radio signals, which eliminates the need for wires.
This prevents any costly construction, and because installation is easy, it will also save your business time.
Although WiFi connections are perfect for convenience, they don't offer the security businesses need.
When you use a trusted point to point wireless network, you'll have peace of mind knowing your network data is protected.
In fact, many security and public safety projects, such as surveillance monitoring, opt for P2P because of the increased safety.
This type of network offers a private connection with fast speeds, so you won't have to worry about your information being leaked.
The Telecommunication Industry Association oversees this industry and works to develop standards and guidelines to ensure the privacy of business networks.
If your business is spread out across several locations or buildings, choosing a point to point wireless network is a great way to stay connected.
Whether your locations are separated by a few feet or across town, a P2P communication tower can be installed to keep your network connected.
The towers are easy to build and go relatively unnoticed, and the quick connection will keep productivity on track.
When you choose a P2P network for your business, costs go down while security increases.
P2P is the ideal way to link businesses who aren't contained under one roof while providing superior speed.
From analyzing what network system is the best option for you to providing support 24/7, BlueTec Systems will guide you through each step.
For more information on choosing the right P2P service for your business, contact us today.


WHAT IS THE FAMILY ROAD TRIP PODCAST?
Meet the Erickson's, Langenderfer's, Miller's and Noltner's.
Who'd have ever thought Willie Nelson, Journey, Rascal Flatts, Metalica, Steppenwolf, The Beatles, John Denver, the Simpsons, Steve Martin and others would join us for a road trip?
If you like fun, gut-honest sharing about family life, and great music and movie clips that defined our generation... you'll love this PODCAST!
Over these seven weeks of Live IT Season 4 we're following four AWESOME families seeking to Live IT in their homes. Their mission? Greater encounter with God more fully alive in their marriages and families. We'll be sharing a new episode every week.


Over the last five years, Powell has asserted himself as one of the most distinctive and difficult artists operating in electronic music today. Diagonal, the label he started back in 2011 in London, has grown to become one of the maddest hothouses for freakish, contemporary computer/club music around, combining fidgety, acidic grooves with a subversive pop aesthetic and a sardonic sense of humour. The label celebrate its 5th birthday last year at Berghain recently and has released music by the likes of Autechre, Russell Haswell, DJ Stingray, Not Waving, Prostitutes, Karl O'Connor, NHK and EVOL.


text:
Q: Как отметить в select то что было выбрано? Есть select, использую что бы выбрать в какой валюте будет продаваться товар. Но если я захочу отредактировать товар и мне нужно редактировать currency , я хочу что б когда я розгорнул selector то там была отмечена та валюта которую я выбирал при создании товара. Подскажите пожалуйста как это сделать?
<mat-form-field>
     <mat-label class="">Currency</mat-label>
     <mat-select formControlName="currency" multiple>
           <mat-option *ngFor="let currency of keysCurrency" [value]="currency">
                 {{currencyType[currency]}}
           </mat-option>
     </mat-select>
</mat-form-field>

A: Из документации надо использовать поле [(value)] (<mat-select [(value)]="selected">)
html:
<mat-form-field appearance="fill">
  <mat-label>Select an option</mat-label>
  <mat-select [(value)]="selected">
    <mat-option>None</mat-option>
    <mat-option value="option1">Option 1</mat-option>
    <mat-option value="option2">Option 2</mat-option>
    <mat-option value="option3">Option 3</mat-option>
  </mat-select>
</mat-form-field>

ts:
import {Component} from '@angular/core';

/** @title Select with 2-way value binding */
@Component({
  selector: 'select-value-binding-example',
  templateUrl: 'select-value-binding-example.html',
})
export class SelectValueBindingExample {
  selected = 'option2';
}