DOI QR코드

DOI QR Code

Cross-layer Video Streaming Mechanism over Cognitive Radio Ad hoc Information Centric Networks

  • Han, Longzhe (school of Information Engineering, Nanchang Institute of Technology) ;
  • Nguyen, Dinh Han (Hung Yen University of Technology and Education) ;
  • Kang, Seung-Seok (Department of Computer Science, Seoul Women's University) ;
  • In, Hoh Peter (College of Information and Communications, Korea University)
  • Received : 2014.06.01
  • Accepted : 2014.09.10
  • Published : 2014.11.30

Abstract

With the increasing number of the wireless and mobile networks, the way that people use the Internet has changed substantively. Wireless multimedia services, such as wireless video streaming, mobile video game, and mobile voice over IP, will become the main applications of the future wireless Internet. To accommodate the growing volume of wireless data traffic and multimedia services, cognitive radio (CR) and Information-Centric Network (ICN) have been proposed to maximize the utilization of wireless spectrum and improve the network performance. Although CR and ICN have high potential significance for the future wireless Internet, few studies have been conducted on collaborative operations of CR and ICN. Due to the lack of infrastructure support in multi-hop ad hoc CR networks, the problem is more challenging for video streaming services. In this paper, we propose a Cross-layer Video Streaming Mechanism (CLISM) for Cognitive Radio Ad Hoc Information Centric Networks (CRAH-ICNs). The CLISM included two distributed schemes which are designed for the forwarding nodes and receiving nodes in CRAH-ICNs. With the cross-layer approach, the CLISM is able to self-adapt the variation of the link conditions without the central network controller. Experimental results demonstrate that the proposed CLISM efficiently adjust video transmission policy under various network conditions.

Keywords

1. Introduction

Video streaming services such as live video streaming, video game, video conferencing, etc., are going to be the foremost applications in the future wireless Internet. The mobile video traffic will take 66.5 percent of total mobile traffics in 2017 as reported by Cisco Visual Networking Index [1]. To accommodate the growing of wireless data traffic, cognitive radio (CR) has been proposed to maximize the utilization of wireless spectrum and improve the network bandwidth [2-6]. In traditional management regulation, the spectrum is allocated to a group of licensed users, called prime users (PUs), for exclusive use [2][3]. The users which are not in the PU groups are secondary users (SUs) and forbidden to access PUs’ spectrum[4]. CR is an opportunistic communication technology designed to enable SUs to access PUs’ spectrum cooperatively. With the CR devices, SUs can sense the spectrum status. When PUs are not using the spectrum bands, they can be allocated to SUs dynamically. When a PU intends to access the CR network, the SUs should release the PU’s spectrum bands immediately [5][6].

Besides the CR technologies, Information-Centric Network (ICN), as a novel Internet architecture, is proposed to facilitate future multimedia services [10-16]. The key features of ICN are named-data scheme, in-network caching, and support of multicasting transmission. ICN changes the traditional end-to-end communication model to information oriented model. Named content is the unified and essential component of ICN protocols [10]. In order to dissociate the data from its storage location, data are identified, disseminated, and routed entirely by the name.

In ICN, the receiver initiates a transmission session by broadcasting a data request packet, called an interest packet. Every ICN node has a local storage to cache data. The cached data can be used to serve upcoming data requests from other nodes. Any node that receives the interest packet and holds the matching data will transmit the corresponding data packet to the receiver. By using the new features of ICN, the performance and scalability of video streaming applications, and their quality of the service can be improved dramatically [7-9]. ICN nodes identify a packet by its name. When multiple nodes request the same content to the ICN router, the ICN router will accumulate the duplicated interest packets and just forward one interest packet. Because of in-network caching, the intermediate nodes (not the source node) are allowed to reply to the interest packet. If many users retrieve one popular video content simultaneously, the network traffic and the workload of the video server are significantly reduced than that of the TCP/IP networks [13][16].

Although CR and ICN have high potential significance for the future wireless Internet, few studies have been conducted on collaborative operations of CR and ICN. CR is functioning at the physical and MAC layers. Because of its opportunistic communication approach, the bandwidth of SUs will be quickly decreased when PUs try to occupy the spectrum bands. The variation of the bandwidth severely affects the quality of video streaming. Due to the lack of infrastructure support in multi-hop ad hoc CR networks, the CR nodes cannot synchronize the link conditions globally. Meanwhile, ICN is functioning at the network and transport layers. The major goal of ICN is to decouple the content itself and the location where the content is stored. ICN adopts the receiver-driven model. The receiving nodes take more responsibilities in ICN than in the traditional TCP/IP networks. With the in-network caching capability, the receiving node might receive the content from different nodes. However, without the information of each transmission link, it is difficult for the receiving node to properly response to the bandwidth variation.

In this paper, we propose a Cross-layer Video Streaming Mechanism (CLISM) for Cognitive Radio Ad Hoc Information Centric Networks (CRAH-ICNs). The CLISM consists of two distributed schemes which are designed for the forwarding nodes and receiving nodes in CRAH-ICNs. With the cross-layer approach, the CLISM is able to self-adapt the variation of the link conditions without the central network controller. We use the Scalable Video Coding (SVC) extension of the H.264/AVC [7] [8] to enhance the quality of video streaming in CRAH-ICNs. The H.264/SVC is based on the layered encoding approach. The base layer holds the essential data which is required for successfully decoding enhancement layers. Higher enhancement layers will depend on lower layers. The forwarding nodes monitor the spectrum variation. When the available bandwidth is changed, the forwarding nodes recalculate the number of affordable H.264/SVC layers. The names of the layers which can be transferred within the current bandwidth budget are kept in the admitted layer list. The discarded layer list keeps the names of layers that cannot be forwarded. In addition, the caching management algorithm for the content store will select content in the discarded layer list to be replaced first. According to the ICN’s receiver-driven model and the H.264/SVC standard, the receiving nodes set up multiple interest packet buffers. A buffer traces the interest packets for a specific H.264/SVC layer. In order to timely detect a layer in the discarded layer list, we propose the distributed fast detection algorithm based on sequential hypothesis testing. The proposed detection algorithm does not require the infrastructure support and provides theoretical bounds on the probabilities of false-positive and false-negative detection rates.

The remainder of this paper is organized as follows. Section 2 discusses background and related work on CR and ICN. Section 3 presents our proposed CLISM. Section 4 describes the simulation settings used in our experiments and analyzes the experimental results. Finally, section 5 summarizes our work and concludes this paper.

 

2. Related Work

2.1 Cognitive Radio Ad Hoc Networks

In CR ad hoc networks, the link between the sender and the receiver consists of several forwarding CR nodes [2][3]. The CR nodes are capable of accessing multiple channels. To use the licensed channels, CR nodes carry out two operations. The CR nodes first search for available channels by dynamic spectrum sensing mechanisms [2]. When the PU is not accessing the channels, they are considered available. Second, the CR nodes will utilize the available channels by dynamic channel accessing mechanisms [2] [9]. When a PU intends to access the CR network, the SUs should release the PU’s spectrum bands immediately. Due to the lack of the central network controller, the common control channel is used to broadcast and exchange managing information and parameters to manage the CR network among secondary ad hoc users. The common control channel is a channel dedicated only to exchanging management information and parameters. A list of current channel allocation information is broadcasted to all neighboring SUs. The list contains all of other neighboring users’ channel allocation information. The CR nodes use the channel allocation information to access the channel cooperatively.

2.2 Information-Centric Networks Architecture

In ICN, there are two types of packets: interest packet and data packet. User content is divided into chunks, and ICN uses the data packet to encapsulate each chunk. To support the information centric communication, both the interest packet and the data packet are associated with a hierarchical unique name to indicate and identify a specific chunk. The uniform resource identifier structure is recommended as the naming scheme. A detailed description of ICN packet formats is given in protocol documents [10][17]. ICN follows the receiver-driven approach.When the receiver tries to obtain any content, it sends an interest packet as a request.

The ICN node consists of three main components: Content Store, Pending Interest Table (PIT), and Forwarding Information Base (FIB), as shown in Fig. 1. The content store temporarily buffers data packets. In order to maintain the buffered data packets, the Least Recently Used (LRU) or Least Frequently Used (LFU) replacement algorithm is usually used. The function of FIB is the same as the routing table of TCP/IP router, which contains the route information for forwarding interest packets. The PIT traces the forwarded interest packets by the ICN node. To send a relevant data packet to the receiver, the incoming face of the interest packet is registered in the PIT.

Fig. 1.ICN node consists of content store, PIT and FIB

The main task of the ICN node is to deal with interest and data packets. When an interest packet is arrived, the ICN node uses its name to perform a longest-match search in the content store, PIT, and FIB. If the corresponding data packet is found in the content store, the ICN node sends it back to the receiver. Otherwise, if an exact-match entry is found in the PIT, the incoming face of the interest packet is added to the requesting face list of the PIT entry, and the interest packet is discarded. Because an identical named interest packet has been already forwarded, it is not necessary to resend the packet. If a PIT entry is not found, the ICN node will forward the interest packet to the data source through the FIB match. If there are no entry in the FIB that match the interest packet, the interest packet is discarded.

When receiving a data packet, the ICN node will do a longest-match search in the PIT, content store and FIB. If a PIT match is found, the ICN node will send the data packet to every face on the requesting face list. In addition, if the data packet is not in the content store, it will be added to the content store. However, if a PIT match is not found, the data packet must be discarded. This is because the data packet is unsolicited [10][13].

The design of ICN protocols has considered that underlying networks might have unreliable transmission services. ICN protocols use the retransmission approach to handle interest or data packet losses. Each PIT entry is associated with a timer. The InterestLifetime field in the interest packet header indicates the timeout value of the timer [17]. Based on the characteristics of the different applications, the application layer protocols choose the value of the InterestLifetime. If the value is not given by the application, the default value, 4 seconds, is used [17]. When the timeout occurs at a forwarding node, the entry is removed from the PIT. Otherwise, if the timeout occurs at the receiver, the interest packet can be retransmitted. The value of InterestLifetime should be set larger than the round-trip time of the interest and data packet.

 

3. Adaptive Cross-Layer Video Streaming Mechanism

3.1 ICN Architecture of Video Streaming

Since ICN shifts the TCP/IP’s end-to-end communication model to information oriented model, the video streaming system should redesign for ICN. This section explains the architecture of video streaming system: video server and video client.

3.1.1 The architecture of video streaming server in ICN

As shown in Fig. 2, the compressed video is divided into fragments and the fragments are packetized as video packets. The primary difference from the TCP/IP architecture is that the ICN video streaming server works passively. After packetization, the video-streaming server puts the video packets in the media storage, instead of sending to the video clients immediately. Until an interest packet is received, the scheduling engine looks up the media storage, and replies with the matching video packets.

Fig. 2.Architecture of video streaming server in ICN

In TCP/IP networks, the video server has to monitor the session of each video client to support adaptive QoS provision [15]. The video client periodically sends the status reports to the video server. The status report includes throughput, buffer length, delay, loss rate and received video quality. The video server controls the video packet transmission based on the status reports. With the increasing number of video clients, the video server consumes huge computing resources for the session management. Due to the passive operation, the video server in ICN does not maintain the status of the video clients. In addition, any nodes that hold the requested video packets could send back to the client. Comparing with TCP/IP networks, stateless session can dramatically reduce the burden of the video server.

Because of the receiver-driven transmission model, the video server does not push the video content to the client in ICN. Instead, the video client actively sends the request, interest packet, to the network. Due to the in-network caching, if any intermediate nodes reply the request to the video client, the video server can avoid the transmission. If no intermediate nodes buffer the content, the interest packet travels to the video server and the video server will handle the request. From the ICN point of view, the video server holds the entire video content. However, the video client could get certain part of the video from any intermediate nodes.

3.1.2 The architecture of video streaming client in ICN

In ICN, the video client works more actively than in the TCP/IP networks, as presented in Fig. 3. Usually, the ICN applications process interest packets consecutively. If the previous interest packet has been satisfied, the receiver sends the next interest packet. The sending of an interest packet requires a delay of at least one round-trip time. Since each video frame has a timestamp for playback, the delay of sending interest packets can result in the late arrival of video packets at the playback point. In order to solve this problem, the video client utilizes two types of buffers: interest packet buffer and data packet buffer. Based on the video frame rate and packetization scheme, the request engine periodically sends interest packets. The unresolved interest packets are temporarily stored in the interest packet buffers. The data packet buffer stores the received video packets and overcome the variation of the packet delay. When the playback point is reached, the video packets are retrieved from the data packet buffer and delivered to the video decoder.

Fig. 3.Architecture of video streaming client in ICN

3.2 Proposed Cross-layer Video Streaming Mechanism

Our proposed approach consists of two self-adaptive schemes which are deployed at the forwarding nodes and the receiving nodes, respectively.

3.2.1 The self-adaptive scheme for the forwarding node

Due to the characteristics of the dynamic behavior of CR, the available channels for the forwarding nodes vary during the video transmission session. The available channels determine the current available bandwidth. Because the H.264/SVC video uses the layered encoding structure, transmission of more enhanced layers require an additional bandwidth. When the current available bandwidth is not enough for the required video data, the forwarding node needs to make a decision of dropping some packets. In order to adapt to the dynamic network conditions and control the video quality properly, we propose the self-adaptive scheme for the forwarding node.

The proposed scheme adopts the cross-layer architecture as depicted in Fig. 4. The CR-MAC layer monitors the PU activities and available channels. According to [4][5], the cross-layer streaming controller estimates the current bandwidth. Since the PIT in ICN layer traces the interest packets, the cross-layer streaming controller is able to calculate the required bandwidth for delivering the video data. Based on the amount of available and required bandwidth, both the admitted layer list and the discarded layer list are generated. The admitted layer list includes the H.264/SVC layer names (for example: base layer, enhanced layer 1, enhanced layer 2) which are allowed to forward. There are two restrictions of the admitted layer list: the sum of bit rate of each layer is less than the available bandwidth. The layers comply with the interdependent decoding rule of the H.264/SVC standard. The discarded layer list consists of the layer names which are not in the admitted layer.

Fig. 4.The Cross-layer architecture of the forwarding node

Table 1 represents the algorithm of the proposed scheme. If the channel conditions are changed, the cross-layer streaming controller updates the admitted and discarded layer lists. When an interest packet arrives at the forwarding node, the forwarding node searches the admitted layer list by using the name of the interest packet. If the name is found, the interest packet is processed by following the ICN protocols. Otherwise, the interest packet is dropped. The process of the data packets is the same as the interest packets. In addition, the caching management algorithm for the content store will select content in the discarded layer list to be replaced first.

Table 1.Self-adaptive algorithm for the forwarding node

3.2.2 The self-adaptive scheme for the receiving node

The CRAH-ICNs possess the characteristics of both ICN and CR ad hoc networks. Since the ICN adopts the receiver-driven model, the receiving node plays a crucial role in the adaptive video streaming system. The receiving node should adjust the video quality according to the network conditions. However, ICN provides in-network caching. Any node holding the requested video data could be a potential source node, which makes the receiving node difficult to estimate the network conditions. In addition, the CR ad hoc networks do not have the infrastructure support. The receiving node lacks the global view of the network such as the available channels of each node to make the adjustment.

In order to support adaptive video streaming in CRAH-ICNs, the self-adaptive scheme is proposed for the receiving node as presented in Fig. 3 and Fig. 4. The receiving node has n interest packet buffers. Each buffer traces the on-going interest packets for one of n H.264/SVC layers. If a H.264/SVC layer is in the discarded layer list, all interest packets and data packets for that layer are dropped by the forwarding nodes. As a result, the interest packets in the corresponding buffer will time out. Because video streaming applications are sensitive to the delay, it is important to promptly detect the changes and adjust the transmission. We propose the distributed fast detection algorithm to decide the layer in the dropped list. The receiving node observes the transmission outcome of an interest packet as: the data packet is received, or the interest packet times out. There are two reasons which can cause the timeout: dropping by the forwarding nodes or wireless transmission errors. The probability that an interest packet or a data packet suffers from the wireless transmission errors is defined as pe, and the probability of receiving of the data packet is 1- pe. Let Qi,j be a random variable that represents the outcome of jth interest packet of the ith H.264/SVC layer. Qi,j = 0 denotes the timeout occurs and Qi,j = 1 denotes the data packet is received. Let Hi,0 represents the hypothesis that the layer i is in the admitted list, and Hi,1 represents the hypothesis that the layer i is in the discarded list. The cross-layer video streaming controller continues tracing the outcome of each interest packet. Let Mi,n denotes the observed outcomes of the n interest packets from the ith layer, and we define the likelihood ratio as:

According to the likelihood ratio, the detection process is developed as shown in Fig. 5, where θ0 and θ1 are thresholds which are set according to the false positive probability α (accept Hi,1 where Hi,0 is true) and detection probability β (accept Hi,1 where Hi,1 is true) as:

Fig. 5.The sequential detection algorithm

The values of α and β are typically selected as 0.01 and 0.99 respectively. Based on [19], the actual false positive rate is bounded by and the false negative rate is by When the receiving node detecting a layer is in the discarded list, it will stop sending the interest packets for that layer and the subsequent layers that depend on that layer. We assume that H.264/SVC base layer and enhancement layers have the same probability of undergoing the wireless transmission errors. Since the base layer is required for successfully decoding the enhancement layers, it should always be in the admitted layer list. The interest packets for the base layer time out, the interest packets are retransmitted. By monitoring the timeout rate for the base layer, we can know the probability of the wireless transmission errors as: Because the forwarding nodes drop all interest packets and data packets in the discarded list, the probability is low for receiving a packet in the discarded layer list. Therefore, conditional probabilities of are given as 0.999 and 0.001 respectively.

 

4. Simulation and Results

In order to evaluate the performance of the proposed mechanism, we used the NS-2 simulator [18] and SVC reference software to compare the CLISM with the default ICN approach under the CRAH-ICN environment.

4.1 Experimental Environment

The raw video sequence, SOCCER, in CIF format, is encoded by using JSVM. The frame rate of the video is 30Hz with two spatial enhancement layers and one MGS enhancement layer. There are 2116 NALUs in the encoded stream. Total number of source video packets is 3883. There were total of 200 SUs in the CRAH-ICN. One SU has a maximum of six data channels and one common control channel. The channel data rate is 11 Mbit/second. We assumed the arrival rates of PUs follow the Poisson distribution. The detailed settings are shown in Table 2.

Table 2.The NS2 simulation environment

4.2 Analysis of Simulation Results

Fig. 6 represents the number of undecodable video packets received for each approach. Because the H.264/SVC is based on the layered encoding approach, the higher enhancement layers will depend on lower layers to decode. The loss of the referenced layers makes the dependent layers useless even though they are correctly received. With the increasing PU arrival rate, the available bandwidth fluctuated severely. The default ICN approach cannot detect the variations which caused the increasing number of undecodable video packets.

Fig. 6.Number of undecoded video packets

In ICN, data packets are cached in the content store, and the LRU or LFU replacement algorithm is usually adopted to maintain the content store. To investigate the performance of in-network caching capability, we use the cache hit rate as the evaluation metric.

When performing the content replacement algorithm, the proposed CLISM will select content in the discarded layer list to be replaced first. The forwarding nodes will drop either interest packets or data packets which are in the discarded list, and the receiving nodes are able to detect the discarded list. Because the receiving nodes adaptively adjust to send the interest packets based on the detection of the discarded list, the proposed CLISM achieved higher cache hit rate than the default ICN approach as shown in Fig. 7. Finally, Fig. 8 represents the video quality achieved by each approach. The proposed CLISM maintained the higher PSNR and the PSNR gradually decreased with the increasing rate of PU arrival.

Fig. 7.The cache hit rate of content store

Fig. 8.Video quality by PSNR

 

5. Conclusion

In this study, we proposed a Cross-layer Video Streaming Mechanism (CLISM) over Cognitive Radio Ad Hoc Information Centric Networks (CRAH-ICNs). Although CR and ICN have high potential significance for the future wireless Internet, few studies have been conducted on collaborative operations of CR and ICN. The CLISM included two distributed schemes which are designed for the forwarding nodes and receiving nodes in CRAH-ICNs. With the cross-layer approach, the CLISM is able to self-adapt the variation of the link conditions without the central network controller. We use Scalable Video Coding (SVC) extension of H.264/AVC to enhance the quality of video streaming in CRAH-ICNs. In order to timely detect a layer in the discarded layer list, we propose the distributed fast detection algorithm based on the sequential hypothesis testing. The proposed detection algorithm does not require the infrastructure support and provides theoretical bounds on the probabilities of false-positive and false-negative detection rates. Experimental results demonstrate that the proposed CLISM efficiently adjust video transmission policy under various network conditions. We would like to study the performance verification in our future work.

References

  1. T"CISCO Visual Networking Index: Global Mobile Data Traffic Forecast Update, 2012-2017," CISCO White Paper, February 6, 2013.
  2. Q. Zhao and B. Sadler, "A survey of dynamic spectrum access," IEEE Signal Process. Mag., vol. 24, no. 3, pp. 79-89, May 2007. https://doi.org/10.1109/MSP.2007.361604
  3. Y. Zhao, S. Mao, J. Neel, and J. H. Reed, "Performance evaluation of cognitive radios: Metrics, utility functions, and methodologies," in Proc. of IEEE, Special Issue on Cognitive Radio, vol. 97, no. 4, pp. 642-659, Apr. 2009.
  4. S. Mao, S. Lin, Y. Wang, S. S. Panwar, and Y. Li, "Multipath video transport over wireless ad hoc networks," IEEE Wireless Commun., vol. 12, no. 4, pp. 42-49, Aug. 2005.
  5. S. Mao, S. Kompella, Y. T. Hou, H. D. Sherali, and S. F. Midkiff, "Routing for multiple concurrent video sessions in wireless ad hoc networks," in Proc. of IEEE ICC'05, Seoul, Korea, May 2005, pp. 1229-1235.
  6. IEEE, "Draft standard for wireless regional area networks part 22: Cognitive wireless RAN medium access control (MAC) and physical layer (PHY) specifications: Policies and procedures for operation in the TV bands," May 2007, IEEE P802.22 Draft Standard (D0.3).
  7. M. van der Schaar, S. Krishnamachari, S. Choi, and X. Xu, "Adaptive cross-layer protection strategies for robust scalable video transmission over 802.11 WLANs," IEEE J. Sel. Areas Commun., vol. 21, no. 10, pp. 1752-1763, Dec. 2003. https://doi.org/10.1109/JSAC.2003.815231
  8. M. Wien, H. Schwarz, and T. Oelbaum, "Performance analysis of SVC," IEEE Trans. Circuits Syst. Video Technol., vol. 17, no. 9, pp. 1194-1203, Sept. 2007. https://doi.org/10.1109/TCSVT.2007.905530
  9. D. Hu, S. Mao, and J. Reed, "On video multicast in cognitive radio networks," in Proc. of IEEE INFOCOM'09, Rio de Janeiro, Brazil, Apr. 2009.
  10. V. Jacobson, D. K. Smetters, J. D. Thornton, M. Plass, N. Briggs, and R. L. Braynard, "Networking named content," in Proc. of ACM CoNEXT, pp. 1-12, Dec. 2009.
  11. K. Katsaros, G. Xylomenos, and G. C. Polyzos, "MultiCache: an incrementally deployable overlay architecture for information-centric networking," in Proc. of INFOCOM Work-in-Progress (WiP), San Diego, CA, USA, March 2010.
  12. T. Koponen, M. Chawla, B. Chun, A. Ermolinskiy, K. Kim, S. Shenker, and L Stoica, "A data-oriented (and beyond) network architecture," in Proc. of ACM SIGCOMM, 2007.
  13. L. Han, S.-S. Kang, H. Kim and H. P. In, "Adaptive Retransmission Scheme for Video Streaming over Content-Centric Wireless Networks," IEEE Communications Letters, vol. 17, no. 6, pp. 1292-1295, July, 2013. https://doi.org/10.1109/LCOMM.2013.043013.130326
  14. Y. Liu, J. Geurts, J. C. Point, S. Lederer, B. Rainer, C. Muller, and H. Hellwagner "Dynamic adaptive streaming over CCN: a caching and overhead analysis," in Proc. of Communications (ICC), 2013 IEEE International Conference on. IEEE, pp. 3629-3633, 2013.
  15. V. Jacobson, D. K. Smetters, N. H. Briggs, M. F. Plass, P. Stewart, J. D. Thornton, R. L. Braynard, "VoCCN: Voice Over Content-Centric Networks," in Proc. of ReArch '09, pp. 1-6, Dec. 2009.
  16. L. Zhe and S. Gwendal, "Time-shifted TV in content centric networks: the case for cooperative in-network caching," in Proc. of ICC, pp. 1-6, 2011.
  17. CCNx Protocols, http://www.ccnx.org/releases/latest/doc/technical/CCNxProtocol.html.
  18. The Network Simulator 2, http://www.isi.edu/nsnam/ns/
  19. A. Wald, Sequential Analysis. J. Wiley & Sons, 1947.