• No results found

A Framework for Future Internet-Based TV Broadcasting

N/A
N/A
Protected

Academic year: 2021

Share "A Framework for Future Internet-Based TV Broadcasting"

Copied!
6
0
0

Loading.... (view fulltext now)

Full text

(1)

A Framework for Future Internet-Based TV Broadcasting

Jin Liang, Bin Yu, Zhenyu Yang and Klara Nahrstedt

Department of Computer Science, University of Illinois at Urbana-Champaign

Urbana, IL 61801

{jinliang, binyu, zyang2, klara}@cs.uiuc.edu

ABSTRACT

IPTV, or Internet-Based TV broadcasting is going to significantly change the way people obtain information, get entertainment, and possibly collaborate with each other. Compared with today’s TV system, IPTV gives the viewers more choice as to what to watch and how to watch, and allows users to broadcast their own programs easily, thus “democratizing” information broadcasting. To realize the vision of IPTV, however, there are many challenging issues, such as content-based channel discovery and selection, user view customization, and efficient media streaming. This position paper describes a framework for future IPTV systems where millions of viewers can select multiple channels, view them in a customized way, and cooperate with each other in a peer-to-peer fashion for TV program delivery.

Categories and Subject Descriptors

C.2.4 [Computer Communication Networks]: Distributed Systems – Distributed applications. H.5.2 [Information

Interfaces and Presentations (HCI)]: User Interface – Screen

design.

General Terms

Algorithms, Management, Design, Experimentation;

Keywords

Content-based Channel Selection, Multi-Channel View Customization, Display Management, Peer-to-Peer Streaming, Semantic Aware Adaptation;

1.

INTRODUCTION

With the coming of ubiquitous broadband Internet connectivity and the development of technologies such as peer-to-peer computing, delivering live TV programs to millions of users over the Internet is becoming a reality. In fact, quite some Internet based live broadcasting systems [1], [2], [3], [4], [5] already exist and have attracted tens of thousands of users. Compared with traditional TV broadcasting, Internet-based TV (or IPTV)

systems have the following advantages: First, IPTV gives the viewers more choices what to watch, without geographical constraints. For example, a US viewer will be able to watch a soccer game in Europe, as long as the match is broadcast online. Second, IPTV allows the viewers to receive multiple channels and watch them in a customized way, such as keeping an eye on the stock information while watching a movie. Third, anyone with Internet connectivity will be able to broadcast his or her program, thus making more channels available.

To realize the vision of IPTV, however, many challenges have to be addressed. First, with many more channels available online, how does a viewer discover and select the ones that are most interesting; second, with the ability to stream and watch multiple channels at the same time, how can one best manage the display resource to maximize viewing experience; third, with so many high bandwidth media streams going over the Internet, how can we ensure efficient network resource usage, while at the same time deliver high quality for the viewer? Unfortunately, existing systems [1], [2], [3], [4], [5] have not addressed all these issues. For example, in all these systems, channel selection is limited to the viewer browsing through the list of all channels, each viewer can only watch one channel at a time, and media streaming [8], [9] has not addressed the efficiency of network resource usage. In this paper, we describe a framework for future IPTV system. Our framework enables users to discover and select channels based on their program content. Users can compose multiple channels and view them in a customized fashion, and high bandwidth media delivery addresses network efficiency as well as user quality.

Figure 1 shows a possible user interface for future IPTV systems. The upper part is for the display of one or more selected channels. The lower part is for channel discovery and selection, and can be hidden when it is not used. A viewer can issue channel queries Permission to make digital or hard copies of all or part of this work for

personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee.

IPTV Workshop, International World Wide Web Conference, May 23,

2006, Edinburgh, Scotland, United Kingdom.

(2)

based on contents (e.g., “movie” + “dinosaur”, “mars” + “exploration”) and get a list of related channels. The viewer can also click on the search results to get a preview, or to specify interest scores on different contents/programs to automate channel discovery and selection. More details on this are discussed in Section 4.

The rest of the paper is outlined as follows. Section 2 gives an overview of our framework; Section 3 describes channel registration and selection; Section 4 presents algorithms for multi-channel view customization/rendering; and Section 5 discusses efficient peer-to-peer media streaming. Finally, we conclude the paper in Section 6.

2.

OVERVIEW OF THE FRAMEWORK

Our framework for the IPTV system is illustrated in Figure 2. As the figure shows, future IPTV systems will consist of heterogeneous channel sources, heterogeneous viewers. Viewers cooperate with other in a peer-to-peer fashion for channel delivery. Each viewer consists of three layers: channel selection and view customization, multi-channel bandwidth management, and P2P overlay construction and streaming. In addition, control plane services such as channel registration and peer membership management can be used to facilitate channel discovery and neighbor selection.

IPTV Channels IPTV makes it much easier to broadcast content

on the Internet. As a result, there will be many channels available (tens of thousands or even more). Some channels will be provided by major companies and available 24 hours a day, while others may be provided by Internet users who do not have dedicated network connectivity. As a result, some registration and discovery services are needed, so that currently available channels can register its presence with the service. Each channel not only registers its availability, but also some metadata about the channel (e.g., movies, news, or sports). Viewers (e.g., viewer 3 in Figure 2) can then query the service for channel discovery.

Multi-Channel View Customization Unlike today’s TV system,

IPTV gives the viewer more freedom in their TV viewing experience. First, a viewer can watch multiple channels at the same time. For example, keep an eye on the headline news while watching a movie. Second, a viewer can decide how the different channels are composed together and presented. For example, the movie channel is rendered in a large window on the screen, while the headline news and stock information are displayed in smaller windows as illustrated in Figure 1.

Peer-to-Peer Media Streaming and Adaptation After the

composite TV program (from multiple channel sources) is determined, the question is how to stream data from the channels. P2P architecture is a natural choice due to its inherent scalability. However, two issues must be addressed in order to support IPTV using P2P streaming. First, since there are many IPTV streams, how can we ensure efficient network resource usage? Second, since each peer is receiving multiple streams, how can it adapt the streams, based on user level semantic information, to achieve best viewing quality?

3.

CHANNEL DISCOVERY & SELECTION

With large number of channels available online, the first problem that a viewer faces is how to discover and select one or more channels that are interesting. Compared with traditional analog TV, online digital TV channels can not only broadcast the channel content, but also make available (e.g., via the Web) metadata about their content, such as the title, series, current quality, and even free text comments from other viewers. Such content metadata can be used for content based channel discovery. Since the number of available channels is large and dynamic, it is unrealistic for a viewer to keep track of all interesting channels. Further, a viewer may be interested in certain content, but not specific channels. As a result, a channel registration and search service is needed. Each currently available channel can register its availability and some coarse-grained channel metadata (e.g., sports, news, movie, these are different from content metadata), which allows a rough classification of the channels. In addition, the registration service can also collect/crawl the content metadata of the channels, and index these metadata to facilitate content-based channel discovery. There are two ways for a viewer to select channels based on content, active search and asynchronous notification. In the first approach, the viewer issues queries to the registration service and obtain a list of potential channels, ranked according to their relevance to the query. In the second approach, a viewer can register his or her interest with the registration service. Once some new content that matches the interest is broadcast, a notification is sent to the viewer. The viewer can then decide whether to view the new channel.

Since there may be large amount of dynamic content metadata, it would be inefficient for the registration service to crawl and index all such metadata periodically. Instead, a hybrid approach can be used. From the coarse-grained channel classification and queries from the viewers, the registration service knows which

(3)

channels are popular and their contents frequently queried. As a result, the content metadata from these channels are periodically crawled and indexed. For other channels, their metadata are queried only when they are likely to satisfy a query. For scalability reasons, on-demand overlays [11] that span the channels can be built propagate such queries and to aggregate the results.

4.

VIEW CUSTOMIZATION

As mentioned in Section 2, IPTV allows a viewer to watch multiple channels at the same time (e.g., background headline news as well as foreground movie). However, to minimize viewer effort, an algorithm is needed to compute the best screen layout for the selected channels. Further, the viewer should be able to specify interests on the contents, and to automate/semi-automate channel discovery.

4.1

Multi-Channel Rendering

4.1.1

Problem Statement

Given a list of K selected channels, the goal of multi-channel rendering is to position them in different screen areas and to resize them to fit in the screen area boundaries. Intuitively, the rendering result depends on (a) the size and number of screen areas, and (b) the resolution constraints and number of selected channels. The optimal screen layout plan should fulfill the following rules:

Rule 1. Maximized screen utilization: the screen space utilized

by all channels should be maximized. Note, however, maximizing screen utilization must be subject to the aspect ratio (width over height) of different channels. For example, Figure 3 shows an example screen region of 150x600 pixels allocated to a video with aspect ratio of 4:3. The aspect ratio constraint of the video means at most 150 x 200 pixels out of whole screen area can be utilized.

Rule 2. Visually pleasing: the resulting arrangement of all the

channels on the screen should be visually pleasing to the viewer

in the sense that their horizontal and vertical borders should be aligned as much as possible, and their relative position should conform to screen layout normally seen on TV.

Rule 3. No overlap: no two channels should overlap on screen.

Although visual effects such as Picture-In-Picture will lead to

visually pleasing video rendering, it may cause the problem of one channel window blocking useful information of another.

Rule 4. Resolution constraints: each channel has a minimum

resolution, and all the resolution constraints should be satisfied if possible. Otherwise a failure message should be returned.

4.1.2

Problem Analysis

The problem of screen layout management is a special case for the generic problem of two dimensional packing problem, which is defined as: Given a set of n rectangular items j J = {1, , n}, each having width wj and height hj, and an unlimited number

of finite identical rectangular bins, having width W and height H, how to allocate, without overlapping, all the items to the minimum number of bins, with their edges parallel to those of the bins. It is assumed that the items have fixed orientation, i.e., they cannot be rotated. The two dimensional packing problem is known to be NP hard. Our screen layout computation problem is even harder than the two dimensional bin packing problem because, in addition to packing the channel windows onto the screen areas, it has the following additional constraints:

• First, we are working with “boxes” (channel windows) whose sizes are not fixed. Each channel window has a resolution constraint that allows us to adapt its size based on available space. The ratio between the rendering resolution and the minimum resolution can also be different for each program.

• Second, we are working with “bins” (screen areas) with non-uniform sizes. That is, when there are multiple screen areas, some of them may be much larger (with much higher pixel resolution) than other ones. And the aspect ratio (width over height) of the screen area may also be irregular depending on the display device.

• Third, the layout of the “boxes” is constrained by Rule 2, so we need to take the relative position between the program windows into consideration.

Despite its NP-Hardness, the screen layout computation is in nature a small scale problem: normally a user’s visual attention space is limited, and he would not be able to watch too many channels at the same time. Therefore, we propose a screen layout computation algorithm based on intelligent exhaustive search only over a limited solution space to find the optimal screen layout plan.

4.1.3

Screen Layout Computation Algorithm

The idea of our screen layout algorithm is as follows. To satisfy the resolution constraints (rule 4), we start by computing screen layout plans using the minimum width and height of each channel. Once a candidate layout is computed, we resize the resulting screen layout plan to maximize the screen area utilization (rule 1). After multiple candidate screen layout plans

Video 600 150 200

Figure 3. Underutilization of Screen Area Caused by Aspect Ratio Constraint

S2 S4 S1 S3 S2 S4 S1 S3 S3 S4 S1 S2 S1 S2S3S4 S2 S3 S4 S1

(4)

VS1 VS2 VS3 VS4 VS1 VS2 VS3 VS4 VS1 VS2 VS3 VS4

Minimum width and height for 4 visual streams

User specified screen area size S2 S4 S1 S3 S3 S4 S1 S2 Candidate patterns Result patterns

Figure 5. Testing resolution constraints on each candidate pattern VS1 VS2 VS3 VS4 VS1 VS2 VS3 VS4

Figure 6. Expand potential pattern to occupy whole screen area

are computed, the layout that has the highest screen utilization is selected (rule 1). The steps of the algorithms are as follows. Step 1: Generate candidate screen layout patterns based on the number of programs K and the number of screen areas M: The goal of this step is to generate candidate patterns that equally divide the given screen areas into multiple rows of subwindows, which will be used as candidate patterns in the next step. For example, for the case of K = 4 and M = 1 (that is, four channel windows to be rendered on a single screen area), the following candidate patterns (shown in Figure 4) will be generated:

Step 2: Map the K programs’ into the candidate patterns using the resolution constraints

The goal of this step is to map the channels to each of the candidate patterns. If a specific channel can’t fit into a subwindow, then adjust the width or height of that subwindow to the minimum width and height of the channel. If this adjustment would cause the width or height of the pattern to exceed that of the given screen areas, then this pattern is ignored. For example, suppose the minimum width and height of four programs and the screen area are given in Figure 5. If we try to use the candidate pattern with four subwindows in one row, the resulting pattern will exceed the size of the screen area; however, if we use the 2x2 pattern, it will work well.

Step 3: Enlarge pattern to maximize screen area utilization

In step 2, we have been working with the minimum width and height of each channel. Once some pattern that can accommodate the channels is found, we can increase the size of the channels to fully utilize the given screen space. For example, as shown in Figure 6, the 2x2 pattern is expanded to occupy the whole screen

area, and each channel will occupy the entire subwindow correspondingly.

Step 4: Compare potential patterns for maximum screen space utilization

The goal of this step is to pick a single pattern out of all the potential patterns based on the total screen resolution utilization.

In other words, this is to compare which patterns’ subwindows fit best to the aspect ratio of the programs so that the least screen space is wasted. For example, for the two patterns shown in Figure 7 below, the black regions represent the videos played in the subwindow, and because of the aspect ratio constraint, the pattern on the right utilizes the screen space better than the left one.

4.2

Score-Based Automatic Channel Selection

As we mentioned in Section 3, viewers can discover interesting channels by active search or asynchronous notification. In the latter approach, the viewers can register their interests with the channel registration service, and get notified whenever some matching content is available. When the viewer is notified, we can prompt the viewer to decide if the new channel should be included. However, this might be interruptive if there are many matching channels. Therefore, we allow the viewers to specify interest scores as well as interests for different contents. The interest scores specify that for some very interesting contents, they should be automatically selected, without user interaction; for some other contents, the viewer should be prompted; while for others, they are not selected by default, unless there are no other more interesting channels currently selected.

5.

SEMANTIC AWARE P2P STREAMING

In addition to channel selection and view customization, efficiently delivering high bandwidth media streams to millions of users over the Internet is a challenging task. Recent work [6], [8], [9] has demonstrated the feasibility of large scale peer-to-peer streaming. By utilizing the residue bandwidth to forward data for each other, P2P streaming can reduce bandwidth requirement on channel sources and achieve good scalability. However, existing work has not adequately addressed two issues related to IPTV. First, when millions of users stream TV programs over the Internet, how can we ensure efficient network resource usage? Second, since each viewer can receive multiple streams, how can we utilize the semantic information between the streams to improve bandwidth management?

5.1

Locality Aware Streaming Overlay

Motivated by IP multicast, early work on P2P streaming [6], [7] has built tree-based overlays for media streaming. Tree based overlays are vulnerable to node failures. The leave of a single

<

V1

V2 V1 V2

Figure 7. Illustration of effect of aspect ratio constraint on the screen space utilization

(5)

multi-channel bandwidth management 3 channel partition 1 4 5 6 single-channel adaptive streaming 2 1. semantic info. 2. channel info. 3. channel grouping 4. allocation feedback 5. bandwidth allocation 6. transport state info.

DagStream Overlay Maintenance multi-channel bandwidth management 3 channel partition 1 4 5 6 single-channel adaptive streaming 2 1. semantic info. 2. channel info. 3. channel grouping 4. allocation feedback 5. bandwidth allocation 6. transport state info.

DagStream Overlay Maintenance

Figure 8. Multi-Channel Streaming

peer will significantly affect the streaming quality of all its descendents. Due to this, recent work [8], [9] has proposed general mesh-based overlays for P2P streaming. Mesh based overlays are more resilient to node failures, because each node can stream media data from multiple neighbors at the same time. However, mesh-based overlays generally lack locality awareness, because improving network locality would lead to network partition, which cannot be prevented or even detected by general meshes. Locality awareness is an important property of IPTV systems. Ideally, viewers should stream data only from nearby peers and from remote peers only if local peers do not have enough forwarding bandwidth.

In our recent work [12], we have proposed to build direct acyclic graphs (DAGs) as P2P streaming overlays. DAG overlay allows each peer to stream data from multiple neighbors similar to general meshes. In addition, it has the nice property that if each node maintains k parents, then the failure of any k-1 nodes does not disconnect the network. This connectivity property greatly simplifies our protocol (called DagStream) for constructing and maintaining a locality aware DAG overlay. Briefly, each peer can periodically probe some other peer to see if it is a potential good parent (has small delay). If so, the peer will connect to this new parent, and possibly disconnect from some existing parent. Of course the loop-freeness of a DAG must be maintained during the overlay evolvement. This is achieved by assigning a level l to each peer. The root (channel source) has level 0, and the level of a non-root peer is defined to be 1 plus the maximum level of its parents. A peer will not select another peer as parent, if the level of the target peer is larger.

Our DagStream protocol is based on each peer probing other peers and locally improving its locality awareness. Therefore, a mechanism is needed that allows peers to discover potential good parents more quickly. Since P2P applications generally have highly dynamic membership, managing the membership information within the application peers themselves is difficult. As a result, we have built a membership service called RandPeer [13], which manages membership information on-behalf of P2P applications such as IPTV systems. Specifically, each viewer can periodically register its presence with the RandPeer service. RandPeer clusters the peers based on their QoS characteristics such as geographical location (which can be obtained using techniques such as landmark binning [10]), and allows a peer to lookup other peers with specified QoS characteristics. RandPeer itself is built on top of a distributed hashtable (DHT); therefore it is completely decentralized and self-organizing.

5.2

Semantic Aware Adaptation

Much previous work has addressed various aspects of peer-to-peer streaming, such as neighbor selection and sender coordination [14], [15], [16]. However, most existing work has considered single channel streaming. IPTV allows one viewer to receive multiple channels, thus an important question is how to perform bandwidth management among channels. To address the question, we propose a hierarchical semantic-driven multi-channel streaming framework for peer-to-peer networks which utilizes user-level semantic information, QoS sensitive

membership management, as well as state-of-art single-channel adaptive streaming techniques to facilitate the design of multi-channel streaming.

Figure 8 illustrates the hierarchical framework for multi-channel adaptive streaming. In the top-most layer, the semantic information derived from the user preference (e.g., via the scoring mechanism) is fed into the channel partition module, where selected channels are partitioned into priority groups. In the middle layer, the multi-channel bandwidth management module takes the grouping information along with the channel information and the bandwidth status to allocate bandwidth for each channel. The allocation is used by the single-channel adaptive streaming module for the media adaptation and sender coordination. The streaming module relies on the DagStream protocol to maintain parent and children peers from/to which the media data is streamed. Periodically, the streaming module also sends feedback to the upper layer for handling the dynamics. For example, due to the leave of peers certain bandwidth allocation may not be realized. In such case, the upper module needs to be notified to change the bandwidth allocation.

The most critical component of the framework is the multi-channel bandwidth management module that performs dynamic bandwidth allocation. First, the user-selected channels are partitioned into two groups: G1 (high priority) and G2 (low priority) reflecting the scoring mechanism mentioned earlier. Second, the bandwidth allocation must take into account the possible heterogeneity of different coding features applied by different channels such as the coding rate and coding scheme (layered, multiple description, or fine granularity scalable encoding). Third, it is desirable to achieve fairness among selected channels. The bandwidth allocation is triggered by events such as the change of the semantic information, the fluctuation of available bandwidth, and the change of media sources due to the join and leave of peers. The procedure of bandwidth allocation is outlined as below.

Suppose each selected channel Ci has its minimum encoding rate Ci,min and maximum rate Ci,max. Also define Ai as its bandwidth allocation and Bi as bandwidth reservation (explained later). First, the bandwidth BW is allocated to guarantee minimum encoding rate (i.e., Ai ← Ci,min). In case BW < Σ Ci,min (for Ci ∈ G1 ∪ G2), some channels must be eliminated from the group according to either recentness (i.e., newly included channels replace old channels), priority or user prompt. Next, the allocation begins with G1 followed by G2. The residual

(6)

bandwidth is allocated based on the weight which is defined as Wi = Ci,max / Σ Cj,max (for Cj ∈ G1 or G2). To do that, we search for a channel which has discrete levels of encoding rate (e.g., multiple description or layered encoding) in each round of allocation. For example, suppose channel Ci has the bandwidth requirement of Hi to include a new layer. The allocation of Ci will be increased by Hi if BW ≥ Hi / Wi. That is, the allocation of all other channels can be proportionally increased as well. If so, we perform Ai ← Ai + Hi. For other channel Cj, if it has discrete level of rates then we accumulate (Hi × Wj / Wi) to Bj and if it is bigger enough new layer will be included with Aj increased and Bj becoming 0. If Cj has continuous rate (e.g., fine granularity scalable encoding), we add (Hi × Wj / Wi) directly to Aj. The bandwidth allocation terminates if we cannot increase the allocation for any channel. Then we sum up all non-zero reservations (claim back) and assign it to channels of discrete rate in ascending order of (Ai / Ci,max). After that, the residual is allocated to channels of continuous rate.

6.

CONCLUSION

In this paper, we have discussed the challenges facing future Internet based TV systems and outlined a framework for addressing these challenges. In our framework, channel registration and search service is proposed to facilitate content based channel discovery. Viewers can discover interesting channels by either proactive search or asynchronous notification. The layout of selected channels is automatically or semi-automatically computed, taking both screen utilization and visual satisfaction into consideration. For scalability and network efficiency, locality aware DAG overlays are built for P2P streaming, and user level semantics are used for multi-stream bandwidth adaptation. We have designed and implemented different components of the framework, such as automatic screen layout and channel selection, peer membership service and DAG overlay construction protocol. We are also experimenting with semantic aware multi-stream bandwidth management. Our goal is to integrate all the components and fully implement the framework as outlined in this paper.

7.

REFERENCES

[1] CoolStreaming, http://www.coolstreaming.us/ [2] PPLive, http://www.pplive.com/ [3] PeerCast, http://www.peercast.org/ [4] SopCast, http://www.sopcast.org/ [5] PPStream, http://www.ppstream.com/

[6] Yang-hua Chu, Sanjay G. Rao, Srinivasan Seshan, and Hui Zhan, “A Case for End System Multicast”, IEEE Journal on Selected Areas of Communications, Vol. 20, No. 8, October, 2002

[7] Suman Banerjee, Bobby Bhattacharjee, Christopher Kommareddy, “Scalable Application Layer Multicast”, ACM SIGCOMM 2002

[8] Xinyan Zhang, Jiangchuan Liu, Bo Li, and Tak-Shing Peter Yum, “CoolStreaming/DONet: A Data-Driven Overlay Network for Efficient Live Media Streaming”. In proceedings of IEEE Infocom 2005, March 2005 [9] Reza Rejaie and Shad Stafford, “A Framework for

Architecting Peer-to-Peer Receiver-driven Overlays”, In proceedings of NOSSDAV 04, June 2004

[10]Sylvia Ratnasamy, Mark Handley, Richard Karp, and Scott Shenker, “Topologically-aware overlay construction and server selection”, IEEE Infocom 2002.

[11]Jin Liang and Klara Nahrstedt, “MON: On-demand Overlays for Distributed System Management”, In proceedings of the second USENIX Workshop on Real, Large Distributed Systems (WORLDS’05), December 2005 [12]Jin Liang and Klara Nahrstedt, “DagStream: Locality Aware

and Failure Resilient Peer-to-Peer Streaming”, In proceedings of SPIE/ACM MMCN 2006, January 2006 [13]Jin Liang and Klara Nahrstedt. “Randpeer: Membership

management for qos sensitive peer-to-peer applications”. In IEEE Infocom 2006, April 2006.

[14]Yi Cui, Klara Nahrstedt, “Layered peer-to-peer streaming”, In proceedings of the 13th international workshop on Network and Operating Systems Support for Digital Audio and Video (NOSSDAV), Monterey, CA, USA, June 2003. [15]Mohamed Hefeeda, Ahsan Habib, Boyan Botev, Dongyan

Xu, and Bharat Bhargava, “PROMISE: peer-to-peer media streaming using CollectCast”, In proceedings of the 11th ACM international conference on Multimedia, Berkeley, CA, USA, November 2003.

[16]Osama Lotfallah, Martin Reisslein and Sethuraman Panchanathan, “Adaptive bitstream switching of pre-encoded PFGS video”, In proceedings of the ACM workshop on Advances in peer-to-peer multimedia

References

Related documents

If the roll is equal to or higher then the model's shooting skill then it hits and wounds as described in close combat.. If the roll was lower then the model's shooting skill then

PBGC is funded by five sources of revenue: (1) mandatory premiums paid for all covered pension plans; (2) a special “termination premium” ($1,250 per participant, per year, for

It is known to be associated generally with the maintenance of health in older people (Cornwell &amp; Waite, 2012;Barth et al., 2010;Forsman et al., 2011) and lower social

On Sunday, July 27 (Old Style), the com- memoration of Saint Panteleimon, the worthy new Hierarch, His Eminence, Bishop Gregory of São Paulo, Brazil, and South America was

The drugs used in the treatment of high blood pressure will have the added benefit of reducing symptoms of angina and controlling your heart beat.. These drugs work by opening up

tation of social humanism is a reflection of collective awareness of Indonesian muslim community in madrasah to equip children with knowledge as well as

proyecto avalaría tanto la existencia de una demanda real e insatisfe- cha de este servicio por parte de la población titular de derechos como la capacidad de ambos

This is deemed as being appropriate, as numerical standards for when establishing a new classification item are fulfilled, it is possible to clearly categorize this as an