HOME JOURNALS CONTACT

Information Technology Journal

Year: 2010 | Volume: 9 | Issue: 3 | Page No.: 438-445
DOI: 10.3923/itj.2010.438.445
Resource Occupation of Peer-to-Peer Multicasting
Ting Peng and Qinghua Zheng

Abstract: Nowadays, network congestion exists as one of the biggest problems in Peer-to-Peer (P2P) multicasting applications. Currently available application level multicasting strategies are optimized by transmission delays between the source and destination, load balance between peers, contribution incentive scheme, etc. However, consumption of the transmission resources in the whole P2P system is not evaluated adequately. In practice, although the resources for transmission are not enough to serve the networked applications, considerable transmission resources are wasted. In this study, influencing factors related to transmission resource consumption are analyzed in detail. Then, a transmission resource occupation model is proposed. Based on the model, the average transmission resource occupation of the peers is used as a metric of efficiency of transmission resource. Accordingly, a multicasting tree construction strategy, called Transmission Resource Saving Tree (TRST) is provided. In TRST, the new peer detects transmission resource occupation related factors and chooses the already joined peer with minimum additional resource occupation. By doing this, resource occupation of the whole system is reduced. Contrast simulation experiments are carried out based on transmission delays and jitters obtained from PlanetLab. The results suggest, if TRST is implemented, the P2P multicasting system consumes less transmission resource than other available strategies under the same condition. The results also show that the performance of TRST is stable although network condition is varying all the time. These characteristics make it an ideal strategy for P2P multicasting system, especially where transmission resource saving is essential.

Fulltext PDF Fulltext HTML

How to cite this article
Ting Peng and Qinghua Zheng, 2010. Resource Occupation of Peer-to-Peer Multicasting. Information Technology Journal, 9: 438-445.

Keywords: overlay, Resource occupation, peer-to-peer and multicasting

INTRODUCTION

Currently, internet is very important for our daily life. We use internet to access various kinds of information and media (Mayadas et al., 2009; Smith, 2009). Among them, network transmission intensive applications such as file sharing and streaming are very popular (Jurca et al., 2007). For more and more applications require network to transmit data, many of these applications suffer from network congestion, jitter and packets loss (Setton et al., 2006; Hei et al., 2008). More and more people tend to have broader bandwidth and more reliable network links. But in most cases, the present available network infrastructure is not powerful enough to satisfy these demands. Network infrastructure is becoming a precious resource in modern society.

However, current applications only optimize for their own performance and neglect saving network transmission resources (Mushtaq and Ahmed, 2006). Let us consider Peer-to-Peer (P2P) multicasting (Peltotalo et al., 2008), which is focused in many works (Narayanan et al., 2007; Padmanabhan et al., 2002). Data transmission performance of P2P overlay differs from that of network layer (Yu et al., 2007). But in practice, if network layer performance is not considered, ideal overlay performance can not be approached (Liao et al., 2007). Among the current available P2P streaming techniques, Application Level Multicast Infrastructure (ALMI) (Pendakaris and Shi, 2001) is optimized for total performance of the whole system.

Randomized tree and deterministic tree for streaming multicasting are analyzed in (Padmanabhan et al., 2003). In relatively deeper randomized trees, the nodes select parents at random. Transmission delays are accumulated along the paths. While, in the deterministic ones, each node tries to select parent node with least children. Thus, loads between the parent nodes are balanced; depth of the trees is also decreased. Yu and Wang (2007) all nodes in the same subnet are clustered as neighbors. Each node tries to get data from its neighbors at first. It improves the routing performance of structured P2P network dramatically. However, the strategy is only effective when the nodes are in the same subnet. It doesn’t work well in general network conditions. Hybrid multicast may provide a better solution (Buford and Kolberg, 2009). However, the total transmission cost is not considered. Round Trip Time (RTT) based fuzzy clustering reduces transmission latency significantly (Bing et al., 2008). This method is optimized for source-to-end transmission latency. In ALMI (Pendakaris and Shi, 2001) all peers form a Minimum Spanning Tree (MST) (Pettie and Ramachandran, 2002). Transmission performance of the whole system is improved significantly. But all the peers in the whole system should be known before the multicasting tree is constructed. Otherwise, the newcomer makes the system suffer resource consuming reorganization. So, it is not suitable for applications in which the peers may join and leave at anytime. These strategies are not optimized for transmission resource saving.

In order to use network transmission resource more effectively, transmission delay based network friendly tree is introduce in previous work (Peng et al., 2008, 2009). In this study, network transmission is analyzed and the factors which influence network transmission resource occupation are discovered. Then, quantitative analysis of transmission cost is carried out and the transmission resource occupation metrics for applications are proposed. According to the model, Transmission Resources Saving Tree (TRST) which can use the transmission resource more effectively is proposed. Simulation results show that it exceeds other overlay tree construction strategies.

TRANSMISSION RESOURCE OCCUPATION ANALYSIS

Currently, the processing capability of computers is increasing constantly. In most cases, we have abundant power at the computing nodes to handle the data. But with a constantly increasing amount of data being transmitted along the network paths, more and more applications suffer from network congestion, jitter and packet losses. We can infer that, in the current Internet environment, the transmission resource is becoming a precious resource. So, we should use it with restraint.

There are a couple of studies focusing on analyzing transmission cost of the Internet. Traditionally, transmission cost comprises data queuing, switching, dispatching and link cost. This model is concise and works well in some cases. However, these factors are not easy to obtain at the application layer. It is not suitable for transmission cost evaluation for P2P multicasting applications. An active network is a programmable network, each node has computing capability. It has the capability to compute and modify data transmitting across itself (Najafi and Leon-Garcia, 2000). In an active network, the bandwidth occupation and processing capability of the nodes are balanced, thus, routing and resource reserving strategy is approached. But, its advantages and transmission cost model don’t take effect in a traditional network, for processing capability of nodes is not available. Sonia and Minseok (2007), hops and link stress are used to evaluate network transmission cost. Nevertheless, in practice, it is not easy to obtain physical transmission path of the packets. Hence, this strategy is hard to deploy in practical applications.

Influence factors: In streaming multicasting, media data are transmitted across a network infrastructure. Data transmission performance is influenced by capability of network facilities, background data flow and other factors. These factors should be considered in the transmission resource occupation model. Nevertheless, data sent by other applications is hard to manage. So, for a specified application, the practical way to save transmission resource is by cutting down its own transmission resource occupation. For live multicasting applications, the transmission resource occupation model should be based on two basic facts:

During network transmission, media data travel across nodes and links to reach the destination nodes. Both link resources and node resources are needed during this process. According to this fact, transmission resource occupation comprises node and link resources
Occupied node resource can be evaluated according to transmission related resource occupation, such as CPU and memory usage. Occupied link resource can be considered by means of available bandwidth, required bandwidth, delay, jitter, etc

Among them, transmission delay and jitter characteristics are important (Jun et al., 2003). Thus, transmission resource occupation can be denoted as a tuple of three variables:

(1)

(2)

(3)

(4)

Where:

Media = Transmitted media type
Onode = Occupied resource at nodes
Bw = Used bandwidth ratio of the node
Memory = The memory occupied
CPU = CPU occupation rate
Olink = Occupied resource at links
Br = Payload bitrate of multicasting
Delay = Transmission delay between adjacent nodes
Jitter = Transmission delay jitters
LossRate = Packets loss rate
Hope = Router hops between two nodes

Transmission resource occupation of multicasting is influenced by media data and resource occupation of nodes and links. Occupied node resource is determined by used bandwidth, available bandwidth, memory and CPU processing power. Occupied link resource is determined by payload bitrate, transmission delay, jitter, packets loss rate and hops.

Transmission resource occupation model: A modern network consists of routers, links and other facilities. They work as a whole system to serve the applications. In practice, it is very hard to measure resource occupation at each network component. So, we need a method to evaluate resource occupation of the whole network system. Network resource occupied by the specified application is useful to evaluate its transmission cost.

In all Internet applications, the network resource is occupied by the application only when corresponding data are traveling along the network links. In practice, data from various hosts and applications are traveling along the network links. It is very hard to measure and analyze all these data in detail. On the other hand, for a specified application, only data of the application itself is manageable. So, analyzing data transmission of other applications is not meaningful for a specified application.

For any multimedia multicasting applications, media data is transmitted from a source node to destination one. When the data is sent by the source node and is still not received by the destination, it is traveling along the network infrastructure. In practice, the infrastructure has its own capability to serve the data. When the quantity of the data is too large, congestion would occur and excessive data may be discarded. In other words, network infrastructure has a limited data capacity. If this capacity is exceeded, problems will occur. Thus, there is another easy way to evaluate network resource occupation. That is the quantity upper limit of the data transmitting along the network infrastructure.

Fig. 1: Data transmission between source and destination

To make the problem easy to characterize, the basic model of data transmission is shown in Fig. 1. We consider data transmission between two nodes, which are denoted as src and dst. The source is sending data to the destination from the beginning of the application. Quantity of sent data of src at any given time t is denoted as s(t). Quantity of received data of dst at the same time t is denoted as r(t). Thus, at any given time T, quantity of transmitted data which are still in the network infrastructure can be denoted as s(t)-r(t). Occupied network transmission resource until T is given in Eq. 5.

(5)

During P2P multicasting, network delay, jitter, loss rate and hops also have influence on network resource usage. Loss rate means more data should be transmitted to compensate it. Jitter and hops mean resource occupation of network infrastructure. If these factors are considered, transmission resource occupation between src and dst can be evaluated according to. In, transmission path between src and dst is denoted as link:

(6)

Where:

OLlink (T) = Occupied transmission resource until T corresponding to link e
b = Bitrate of multicast streaming
d = Transmission delay
j = Transmission jitter
h = Hops along link
l = Loss rate
λ = Weight for jitter
γ = Weight of hops

In Eq. 6, 0 ≤λ≤ 1, 0 ≤γ≤1. For jitter and hops do not influence network resource occupation significantly, in our experiments, λ is set to 0.2, γ is set to 0.02.

Node resource occupation can be evaluated according to CPU, memory and bandwidth occupation ratio. Quantitative index for node n1 is given in Eq. 7.

(7)

Where:

ONni (T) = Occupied resource at node pi until T
CPUi = CPU processing power occupation ratio of ni
Memory = Used memory ratio
Bwi = Used bandwidth ratio of network interface at ni
w1 = Weight of CPU power
w2 = Weight of memory
w3 = Weight of bandwidth

If a peer needs to serve another child peer, available CPU power, memory and bandwidth of it should be enough to serve one more child. So, fan out degree of p1 can be given as Eq. 8:

(8)

Transmission resource occupation metrics: In P2P multicasting, the peers duplicate the received data and transmit them to other peers through network links. The peers and the network links form the whole P2P multicasting system. We consider the whole multicasting system as a graph G = (N, L), where, N is the set of nodes and L is the set of links. niεN denotes a node and liεL denotes a link along which data are transmitted from the parent node to one child node. Then, average transmission resource occupation of the nodes is given as Eq. 9. We use it as transmission resource occupation metrics:

(9)

In Eq. 9, n stands for the number of nodes in the whole P2P system. OLli is calculated according to Eq. 6, ONni is calculated according to Eq. 7. Here, Oa stands for the average transmission resource occupation of the peers in the P2P multicasting tree. We call it average transmission cost.

In most cases, network transmission resource is precious; however, the process capability of the peers is abundant. Accordingly, it is in practice, reasonable that only the network link resource is considered in transmission resource occupation metrics. Node resource occupation is considered as fan out degree limit. It is used to determine whether another child peer can be added.

PROPOSED STRATEGY

In P2P multicasting, when media data are transmitted along the network path, transmission resource is occupied. For current available network infrastructure has its own limitation of transmission capability. If the application reduces their network resource consumption, network transmission resource will be economized. Thus, network condition will be better and it is easier to ensure transmission QoS for the streaming applications. In order to achieve this objective, TRST is proposed.

In TRST, transmission resource consumption between the peers is calculated; then, the P2P multicasting tree is organized with consideration of minimizing transmission resource occupation.

Transmission resource occupation detecting: The transmission resource occupation related parameter detecting process is conducted as follows. When pi wants to detect transmission related parameters between itself and pj, it sends t network condition detecting packets to pj. In our implementation, UDP packets with the time stamp of sending are employed. Packets with different payload size are used to measure available bandwidth. At the same time, it starts to receive the packets returned from pj. When pj receives the detecting packets, it sends them back immediately. After all the detecting packets are sent, pi waits until overtime threshold toverlime expires. Then, pi terminates the packet receiving process. According to the received packets of pi, transmission delay, jitter and other related parameters are computed. Available bandwidth between pi and pj is figured out according to pathload (Jain and Dovrolis, 2003). Jitter and loss rate of the packets are also calculated. Hops are also obtained according to the returned packets. Thus, related parameters of the possible network paths are found out.

Tree construction: When a peer wants to join a P2P system, it may choose any peer which is already in the P2P system as parent peer. Transmission resource occupation introduced varies according to which peer is selected as parent. So, the new peer should choose parent peer carefully to improve the performance of the whole system. If it chooses a parent peer at random or without consideration of resource saving, the expected transmission resource occupation is the mean value of all the possible transmission resource occupations. If the new peer detects transmission resource occupation between more peers and selects the peer with least resource occupation as parent, transmission resource can be saved. Accordingly, TRST is proposed as following.

Fig. 2: Construction process of transmission resource saving tree

As shown in Fig. 2, when a new peer N wants to enter the P2P streaming system, it sends a request to the P2P system and gets the list of the peers. When the P2P system is too large, only a subset of the peers in the system is contained in the list. Then, N sends detecting packets to the peers in the list. At first, the new peer N invokes the detecting component to obtain transmission resource occupation related parameters. Then, transmission resource occupation values to the peers are computed. According to the results, N tries to send join request to the peers with the least transmission resource occupation. By doing this, the new peer joins the P2P multicasting system with least additional resource occupation. In this way, TRST is constructed.

EXPERIMENTAL RESULTS AND ANALYSIS

In order to obtain practical performance of TRST, comparison experiments are conducted. More than a dozen of the nodes in PlantLab are selected as our testbed. At first, transmission resource occupation related parameters are detected at these nodes. Based on the data, the P2P multicasting tree is constructed as a randomized tree, deterministic tree and TRST and MST. Then, practical performances according to resource occupation metrics of these trees are evaluated.

PlantLab contains 936 nodes at 456 sites. These nodes are located throughout the world. Location diversity and global distribution of the nodes are ensured.

Fig. 3: Simulation results

The topology of these nodes is complex and hard to gather detail information it. But it comprises the nodes of the real Internet. Thus, it is a nice testbed to test practical performance networked applications. In order to estimate the performance of the proposed TRST, 18 nodes in PlantLab were selected to evaluate transmission related parameters. Then, transmission related parameter detecting programs are deployed on these nodes and corresponding data are obtained.

In order to obtain a practical transmission resource occupation index of different multicasting trees, simulation program of randomized tree and deterministic tree are implemented according to (Padmanabhan et al., 2003). Simulation program of TRST is implemented according to strategy shown in Fig. 2. Simulation program of MST is implemented according to Pendakaris and Shi (2001). Average transmission resource occupation is computed according to as performance metrics. In order to ensure the reliability of experimental results, 8000 peer entering sequences are used the experiment.

Simulation results of deterministic tree, TRST and MST are shown in Fig. 3. Corresponding statistical results are shown in Table 1. The average transmission resource occupation of randomized tree and deterministic tree has almost the same numerical feature. Their values are concentrated to 147, the standard deviation and standard error of them are about 0.0022. The proposed TRST has given an outstanding performance result. The mean value of its average transmission resource occupation is about 48 and standard deviation and standard error of its result are much smaller than that of the randomized tree and deterministic tree. For the given set of nodes, MST gives the best result in terms of average transmission resource occupation. Its value is about 29.8. This is the limitation of possible optimization.

Fig. 4: Histogram of transmission delay

Table 1: Statistics of experimental results

For network condition is varying all the time, performance of each tree is varying also. In order to figure out how these strategies interact with this factor, variation of Internet transmission characteristics are also detected. The whole detecting process is conducted at a central control node; it sends detecting packets to the target nodes. In this process, the nodes in plantlab are used as target sites. During this period, if a detecting packet is received, it is returned by these target sites immediately. After the packets are received by the control node, transmission delay, loss rate are calculated. For transmission delay and loss rate are influenced by packet size, different sizes of the packets are used. For network condition is varying with time, the period of experiment should be long enough. Thus, reliability of the results is ensured.

According the results of the experiment, distribution of transmission delay is plotted in Fig. 4 in the form of histogram. We can infer that transmission delays of the most packets are concentrated around the mean value. A very few packets reached the destination in longer time. In current internet, the facilities have their own transmission limitation. The relationship between loss rate and packet size are shown in Fig. 5. When the packets are small, most facilities can transfer the packets successfully. When the packets become bigger, more and more packets are discarded during the transmission process. During the experiment, if the size of the packets exceeds 1000 bytes, loss rate becomes overwhelming. On the contrary, if the packets are smaller than 1000 bytes, loss rate of the packets is relatively small. Under common network condition, its value is in vicinity of 0.05. We can infer that, if size of the packets is below 1000 bytes, the loss rate of the packets is acceptable as a whole.

Fig. 5: Relationship between loss rate and packet size

For a P2P streaming application, it is common to last for 1 or 2 h. In this period, variation of Internet has significant influence on its performance. In this study, characteristic of network variation is measured for a couple of days. Corresponding variation of occupied transmission resource is shown in Fig. 6. According to it, during the long period of time, performance of TRST is fairly stable.

TRST has much more stable performance than the randomized tree and deterministic tree. Least resource is needed by MST to serve the same set of peers. Nevertheless, it is not suitable for the applications in which peers may join and leave at any time.

In the randomized tree and the deterministic tree, the new nodes chose parent node without consideration of transmission resource; they have almost the same practical performance in terms of transmission resource occupation.

Fig. 6: Variation of occupied transmission resource of TRST

The randomized tree strategy is very simple, this factor makes it easy to implement. For its random selection of parent node feature, it has good load balance features. In the deterministic tree, client load is distributed equally among the nodes; this strategy comes with best load balance feature. In the proposed TRST, the new nodes chose parent node with efforts to minimize introduced transmission resource occupation; transmission resource occupation of the whole P2P system is reduced by doing this. TRST approaches better performance at the cost of additional network condition detection; load balance is not considered. If transmission resource saving is implemented in MST, it has the best performance. But in MST, the nodes can’t enter the P2P system at random; this factor makes MST not easy to deploy in practical P2P system. In a practical network condition, network resource is precious, while the nodes have enough processing capability in most cases. Approaching high transmission performance is more essential in a real network condition. According to these factors, TRST is the most promising one in the practical environment.

CONCLUSIONS AND FUTURE WORK

Nowadays, network transmission resource is becoming precious. Media streaming system is one of the most transmission intensive applications in current internet. In order to provide resource saving strategy for P2P multicasting system, influencing factors related to transmission resource consumption are analyzed in detail. Transmission resource occupation index are proposed according to these factors. Then, average transmission resource occupation of the peers is used as a metric of efficiency of transmission resource usage. Thus, TRST is proposed as resource saving method for P2P multicasting system. In this strategy, resource occupation of the whole system is reduced by choosing the parent peer for the new ones with introducing minimum additional resource occupation. According to the experimental results, the proposed TRST consumes less transmission resources than other available strategies. In order to obtain its performance in practical network condition, variation of network transmission delay, loss rate of the packets are also considered. The results show that the performance of TRST is stable and reliable with consideration of these factors. This makes it a promising strategy for P2P multicasting.

Currently, this strategy is still in its developing stage. It should be implemented in large scale P2P streaming systems to validate it in industrial applications.

ACKNOWLEDGMENT

This study is supported by NSFC (60825202, 60633020) and National High Tech. Development Plan (2006BAH02A24-2, 2006BAF02A00, 2006BAK11B02, 2007AA01Z475,2009BAH51B00).

REFERENCES

  • Bing, Q., J. Lu and W. Lili, 2008. An improved multicast routing protocol based on fuzzy clustering. Proceedings of 4th International Conference on Wireless Communications, Networking and Mobile Computing, Oct. 12-14, Dalian, pp: 1-4.


  • Buford, J.F. and M. Kolberg, 2009. Hybrid overlay multicast simulation and evaluation. Proceedings of Consumer Communications and Networking Conference, Jan. 10-13, Las Vegas, NV, pp: 1-2.


  • Hei, X., Y. Liu and K. Ross, 2008. IPTV over P2P streaming networks: The mesh-pull approach. IEEE Commun. Maga., 46: 86-92.
    CrossRef    


  • Jain, M. and C. Dovrolis, 2003. End-to-end available bandwidth: Measurement methodology, dynamics and relation with TCP throughput. IEEE/ACM Trans. Networking, 11: 537-549.
    CrossRef    


  • Jurca, D., J. Chakareski, J.P. Wagner and P. Frossard, 2007. Enabling adaptive video streaming in p2p systems [peer-to-peer multimedia streaming]. IEEE Commun. Maga., 45: 108-114.
    CrossRef    


  • Jun, L., Y. Man, H. Jianping, K. Zhigang and M. Jian, 2003. QoS characteristics of video stream delivery analysis and assurance. Comput. Eng. Appl., 12: 66-70.
    Direct Link    


  • Liao, R., S. Yu and L. Dong, 2007. A novel peer management model for live peer-to-peer streaming. Proceedings of Intelligent Signal Processing and Communication Systems, Nov. 28-Dec. 1, Xiamen, pp: 538-541.


  • Mushtaq, M. and T. Ahmed, 2006. Adaptive packet video streaming over P2P networks using active measurements. Proceedings of 11th IEEE Symposium on Computers and Communications, June 26-29, IEEE Xplore, London, pp: 423-428.


  • Najafi, K. and A. Leon-Garcia, 2000. A novel cost model for active networks communication technology. IEEE, Commun. Technol. Proc., 2: 1073-1080.
    CrossRef    


  • Narayanan, S., D. Braun, J. Buford, R. Fish and A. Gelman et al., 2007. Peer-to-peer streaming for networked consumer electronics [peer-to- peer multimedia streaming]. IEEE Commun. Maga., 45: 124-131.
    CrossRef    


  • Padmanabhan, V.N., H.J. Wang and P.A. Chou, 2003. Resilient peer-to-peer streaming. Proceedings of the 11th International Conference on Network Protocols, November 4-7, 2003, Atlanta, GA., pp: 16-27.


  • Padmanabhan, V.N., H.J. Wang, P.A. Chou and K. Sripanidkulchaik, 2002. Distributing streaming media content using cooperative networking. Proceedings of the 12th International Workshop on Network and Operating Systems Support For Digital Audio and Video, May 12-14, 2002, Miami, Florida, USA., pp: 177-186.


  • Peltotalo, J., J. Harju, A. Jantunen, M. Saukko and L. Vaatamoinen et al., 2008. Peer-to-peer streaming technology survey. Proceedings of 7th International Conference on Networking, April 13-18, Cancun, pp: 342-350.


  • Pendakaris, D. and S. Shi, 2001. ALMI: An application level multicast infrastructure. Proceedings of the 3rd USENIX Symposium on Internet Technologies and Systems, March 26-28, 2001, San Francisco, pp: 49-60.


  • Pettie, S. and V. Ramachandran, 2002. An optimal minimum spanning tree algorithm. J. ACM., 49: 16-34.
    Direct Link    


  • Setton, E., J. Noh and B. Girod, 2006. Congestion-distortion optimized peer-to-peer video streaming. Proceedings of IEEE International Conference on Image Processing, Oct. 8-16, Atlanta, GA., pp: 721-724.


  • Smith, M.S., 2009. Opening education. Science, 323: 89-93.
    CrossRef    


  • Sonia, F. and K. Minseok, 2007. Characterizing overlay multicast networks and their costs. IEEE-ACM Trans. Network., 15: 373-386.
    CrossRef    


  • Yu, J., X. HU, P. YI and W. Binqiang, 2007. Quantitative evaluation on routing performance on network-level of structured P2P network. Comput. Eng. Appl. 33: 7-9.
    Direct Link    


  • Yu, J. and B.Q. Wang, 2007. Redirect-based routing optimizing method on structured P2P network. Comput. Eng. Appl., 43: 132-134.
    Direct Link    


  • Peng, T., Q. Zheng and Y. Jin, 2009. Transmission latency based network friendly tree for peer-to-peer streaming. J. Universal Comput. Sci., 15: 2011-2025.
    Direct Link    


  • Peng, T., Q. Zheng, W. Lv, S. Jiang and J. Gao, 2008. Network friendly tree for peer-to-peer streaming. Proceedings of 12th International Conference on Computer Supported Cooperative Work in Design, April 16-18, Xian, pp: 1024-1028.


  • Mayadas, A.F., J. Bourne and P. Bacsich, 2009. Online education today. Science, 323: 85-89.
    CrossRef    

  • © Science Alert. All Rights Reserved