WO2010072081A1 - 一种实现流媒体服务器大量终端接入的方法及系统 - Google Patents

一种实现流媒体服务器大量终端接入的方法及系统 Download PDF

Info

Publication number
WO2010072081A1
WO2010072081A1 PCT/CN2009/073729 CN2009073729W WO2010072081A1 WO 2010072081 A1 WO2010072081 A1 WO 2010072081A1 CN 2009073729 W CN2009073729 W CN 2009073729W WO 2010072081 A1 WO2010072081 A1 WO 2010072081A1
Authority
WO
WIPO (PCT)
Prior art keywords
polling
streaming media
media server
task
message
Prior art date
Application number
PCT/CN2009/073729
Other languages
English (en)
French (fr)
Inventor
王井贵
Original Assignee
中兴通讯股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Priority to US13/142,069 priority Critical patent/US8429288B2/en
Priority to EP09834034.2A priority patent/EP2381628A4/en
Publication of WO2010072081A1 publication Critical patent/WO2010072081A1/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/437Interfacing the upstream path of the transmission network, e.g. for transmitting client requests to a VOD server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/64322IP

Definitions

  • the present invention relates to the field of Internet Protocol Television (IPTV) technology, and in particular, to a method and system for implementing a Set Top Box (STB) access of a streaming media server.
  • IPTV Internet Protocol Television
  • STB Set Top Box
  • the metrics for evaluating and measuring service performance usually include the maximum number of concurrent video streams, the quality of each video stream, bandwidth fluctuations, average bandwidth used, packet loss rate, and average response time.
  • Connection The number of TCP connections established using 3 TCP handshakes.
  • Concurrent Connections Multiple TCP connections established by the client (STB) and the server (streaming server).
  • Throughput The rate at which the device under test sends or receives data.
  • Video Bitrate The rate at which the content of a video stream is evaluated.
  • the maximum number of concurrent video streams refers to the maximum number of online users that the streaming media server can support and process at the same time. Each user is required to watch the complete video program normally while ensuring video quality.
  • the communication control protocol such as the Real Time Streaming Protocol (RTSP)
  • RTSP Real Time Streaming Protocol
  • the streaming media server management capability and processing efficiency are not high, the streaming media server cannot normally reliably support TCP short connections to a large number of terminals.
  • one of the main purposes of the present invention is to provide a streaming media server and a system for implementing a large number of terminal accesses of a streaming media server, which are used to solve the problem that the IPTV streaming media server cannot reliably support the TCP short connection of a large number of terminals. problem.
  • the technical solution of the present invention is achieved as follows:
  • a streaming media server comprising: a link initialization module: configured to complete an initialization operation; a task polling module: configured to listen and perform event polling on a link; and a sending processing module: used to send a message to an upper layer application The data is processed and notified to the task polling module for transmission;
  • Receiving processing module configured to read the received message data from the task polling module and process the message data and transmit the message data to the upper layer application;
  • the task polling module is responsible for the establishment of the link and the link polling.
  • the task polling module receives the message data sent from the link and notifies the receiving processing module for processing;
  • the sending processing module organizes the message data and then notifies the task polling module, and the task polling module transmits the message.
  • the task polling module uses the EPOLL/POLL event polling interface to perform event polling on the link that has been linked, thereby improving the system's ability to access a large number of terminals.
  • the task polling module includes a polling table for saving a link, the socket file descriptor is used as an index item, and the socket file descriptor is an integer type variable, so the task is The search positioning efficiency at the time of polling is higher than other types.
  • the present invention also provides a system for implementing a large number of terminal accesses of a streaming media server, the system comprising a streaming media server as described above.
  • Another object of the present invention is to provide a method for implementing a large number of terminal accesses of a streaming media server. To achieve the above object, the technical solution of the present invention is implemented as follows: A method for implementing a large number of terminal accesses of a streaming media server, including :
  • Step 1 When the streaming server receives the connection request from the terminal, it is ringed by the polling task. Should be processed, and add a new link to the polling pool.
  • the task polling module starts the polling task.
  • the streaming media server responds to the polling task according to the chain-building request sent by the terminal, processes the generated listening event, and establishes a connection with the terminal. Add a new connection to the polling pool.
  • the polling task After the polling task is started, query the polling pool at intervals of ten milliseconds.
  • Step 101 Find an idle link to save a new link;
  • Step 102 Set a socket file descriptor for a read operation for the new link;
  • Step 103 Set a new event for the readable event;
  • Step 104 Add the new link to the polling pool.
  • the polling pool uses a polling table to store an online (active state) link.
  • the socket file descriptor is used as a description symbol of the device, and has a certain range and space. Can be used as an index item to uniquely identify a link.
  • the invention uses the newly created link file descriptor as the index item of the polling table, and indexes the socket file descriptor to improve the retrieval efficiency. Further, in consideration of supporting a large number of terminal connections, the present invention sets the maximum allowable opening of the communication task when the streaming media server device starts the communication management task at the beginning, that is, when the initialization is started, using the dynamic connection library interface provided by the operating system.
  • the header file descriptor is called a device handle.
  • the socket file descriptor described here is one of the file handles. Only by setting the largest socket file descriptor, the system's communication tasks can be opened and more client connections established. This part of the work is mainly done by the link initialization module of the present invention.
  • Step 2 The polling task performs polling detection on the polling pool. When there is message data sent by the terminal, the message data is received by the polling task, and a readable event is set, and the receiving processing module responds to the Read the event, read and parse the message sent by the terminal and forward it to the upper layer application (RTSP protocol layer).
  • Step 3 The message data sent to the terminal by the upper layer application is packaged by the sending processing module to form a complete message, then written into the sending queue, and a writable event is set, and after the task polling module detects the writable event, the sending queue is sent. Get the message data to be sent and send it to the terminal.
  • Step 4 In order to detect whether the message channel between the terminal and the upper layer application (RTSP protocol layer) of the streaming media server is in an active state, the terminal periodically sends a heartbeat keep-alive message to the upper-layer application of the server, and the server performs timing detection.
  • the task polling module is responsible for completing the transparent forwarding of the heartbeat keep-alive message.
  • the purpose of the heartbeat keep-alive is to solve the problem that the other party does not receive the heartbeat keep-alive message sent by the peer end within a certain period of time after the communication link is abnormally closed. The problem that causes abnormal exit or infinite waiting, so that the other party of the communication can find the abnormality and release the link resources in time, and the task polling module does not involve specific service analysis.
  • Step 5 After the business process ends, the terminal initiates a request to disconnect.
  • the task polling module of the present invention completes the recovery and release of the corresponding polling entries in the polling pool, and cleans up the sending and receiving message queues for the connection.
  • the present invention provides a self-healing activation mechanism for preventing an abnormality such as a polling task from responding or suspending, and is completed by a self-loop activation module.
  • the auto-ring activation module creates an automatically activated socket on the streaming server. When no event occurs in the polling pool, an activation message is sent through the internal loopback address, triggering the polling task to perform the message polling function.
  • the improved event polling interface is adopted in the technical solution of the present invention, so that the maximum number of concurrent video streams of the streaming media server can be ensured, and simultaneous access of the multi-terminal TCP short connection is supported. Since the link retrieval means using direct index is used when creating the link, the efficiency of communication processing can be greatly improved. It can be flexibly applied to environments with large client access, such as streaming media server communication systems in IPTV.
  • Figure 1 is a positional view of the present invention in a protocol hierarchy
  • FIG. 2 is a schematic structural diagram of a system for implementing a large number of terminal accesses by a streaming media server according to the present invention
  • FIG. 3 is a flow chart of message processing of the method according to the present invention.
  • FIG. 1 is a system hierarchy diagram of the location of the present invention.
  • the present invention is located between the RTSP and the TCP/IP protocol stack, and mainly relates to a communication adaptation part of the streaming media server responsible for communication tasks. And polling the pool.
  • the polling pool is used to store various message processing events for processing by the task polling module in the communication adaptation section.
  • the communication adaptation module includes a task polling module 321, a transmission processing module 322, a reception processing module 323, a self-loop activation module 324, and a link initialization module 325.
  • the terminal and the streaming media server exchange data messages through a transmission medium composed of a TCP/IP protocol, and the task polling module is used for receiving and transmitting actual data messages.
  • the task polling module detects After the readable event is generated, the receiving processing module responds to the readable event and performs reading and parsing of the data message; when the upper layer application needs to send the data message to the terminal, the content of the data message is written and sent by the sending processing module.
  • the buffer and generates a writable event, which is responded to by the task polling module to perform the actual sending task.
  • the link initialization module is used to initialize the system resources, setting parameters, and the like used by each module.
  • the self-loop activation module is used for wake-up activation of the task polling module, and triggers the polling task to perform a message polling function.
  • the main functions of the link initialization module are as follows: Declaring a polling pool for TCP communication, the size of the polling pool is designed according to the maximum number of links; Declaring a registration event for use in a TCP communication link; Declaring for processing chains a buffer used by the polling event; generates a management socket file descriptor for handling and managing the TCP connection; creating a server socket for TCP listening;
  • file descriptors related to an event to be processed by the polling task according to a calling interface provided by the operating system, the file descriptor and the previous file descriptor are managed and managed relationships; file descriptors placed in the polling table Is listening for socket file descriptors and creating new link (client) sockets File descriptor.
  • the registration events held by the polling pool are classified into the following three types: 1) a listening event, an event for establishing a connection between the terminal and the streaming server;
  • a readable event an event used to receive data on the link.
  • a writable event an event used to send data on the link.
  • the polling task detects that the current pending event in the polling pool is a listening event, accepts the connection request, records the socket file descriptor used by the client connection, and establishes a mapping in the polling table. The link index of the client.
  • the polling task detects that the current pending event in the polling pool is a readable event, it checks whether the buffer of the received data is normal, and then notifies the receiving data processing module to perform data reception.
  • the polling task detects that the current pending event in the polling pool is a writable event, the task polling module reads the data from the transmit data buffer and then performs the actual data message transmission.
  • the polling task waits for the polling pool to have an event, and performs different processing flows according to the event type.
  • the polling task needs to call the event polling interface provided by the system to perform event polling for the established link. Since the general SELECT event polling interface accesses the event with a large amount of data, the efficiency of performing event polling is low. Therefore, the present invention replaces the commonly used SELECT interface with an event polling interface in an embedded system (such as Linux).
  • the interface is called an EPOLL/POLL interface, and the interface returns the number of clients, that is, the management sleeve.
  • the interface file descriptor return the collection of all client connections, so that each socket can be processed - so that the interface can well support the access requirements of a large number of terminals, and the execution efficiency is better than SELECT
  • the interface is high.
  • the present invention uses a polling table in the polling pool to save the online link, and the present invention will describe the file description of the newly linked socket.
  • indexing with the socket file descriptor is an indexing mechanism, which can improve the retrieval efficiency.
  • the sending processing module finds the specified link according to the link signal transmitted by the upper layer application, and checks the link to send the message queue header.
  • the new message to be sent is put into the queue header. Otherwise, if there is already a message to be sent in the message queue, the new message to be sent is copied into the message buffer. And increase the message pointer of the message buffer by one. If the buffer is full, the alarm prompts that the queue overflows.
  • the file descriptor for the write operation is set, and a writable event is set in the polling pool. The writable event is used to trigger the polling task to detect the sending queue, and the actual message sending is completed by the polling task. .
  • the receiving processing module Receiving, by the receiving processing module, the data sent by the terminal from the link data receiving buffer according to the notification of the task polling module, and when the receiving processing module receives the RTSP protocol data message sent by the terminal, the input byte
  • the flow is analyzed to see if there is an SDP (Session Description Protocol) part. If there is an SDP segment, the SDP part is first analyzed to obtain the SDP segment length. If the received SDP part is not long enough, the buffer is used. The received data continues to be received next time. If the SDP is long enough, it is sent to the streaming media server RTSP protocol processing module to continue the RTSP protocol analysis processing.
  • SDP Session Description Protocol
  • SDPKey When analyzing the input byte stream, it is necessary to judge whether or not the split character "/r/n/r/n” is cut. If there is no SDP part, then the data is parsed according to the " /r/n” rule.
  • the SDP part is the server-side generated information describing the encoding information of the media file and the server link. The client uses it to configure the settings of the playback software.
  • SDP is a simple, extensible syntax text protocol.
  • the auto-ring activation module creates an automatically activated socket on the streaming server.
  • An automatically activated socket is a socket that creates a loopback address (LocalHost) on the board, periodically uses the socket to send a message, and uses a polling task to periodically query the socket for a message reachable.
  • LocalHost loopback address
  • Step 101 A terminal (set top box STB) initiates a registration request to a streaming media server, initiates a link establishment request at a TCP/IP level, and is adapted by communication.
  • the task polling module in the module detects the interception event, the task polling module responds to the interception event, and performs the registration process analysis, and then performs step 102; in this step, the task polling module uses the EPOLL/POLL event polling.
  • the interface performs event polling.
  • Step 102 The task polling module allocates a short connection according to the port number of the terminal, organizes the link data buffer, and adds the newly allocated short link to the polling with the socket file descriptor as an index item.
  • the identity verification of the terminal is completed by the RTSP protocol layer. After the verification is passed, the STB terminal is registered to pass the response message.
  • the write processing module adds a writable event to the polling pool, and then the task polling module detects the writable event, and then sends the registration through the link to the terminal through the response message, and the terminal confirms the receipt and then describes the terminal and the streaming media.
  • a normal communication link is established between the servers, and the process proceeds to step 201.
  • Step 201 After establishing a normal communication link, the terminal sends a service data message, such as a DESCRIBE message, for obtaining description information of the media stream.
  • a service data message such as a DESCRIBE message
  • Step 202 After detecting that the link has a readable event, the task polling module notifies the receiving processing module to receive and parse the data, and then forwards the processed data to the RTSP protocol layer, and the RTSP protocol layer returns a data OK message, and then performs step 301. .
  • Step 301 After the terminal receives the response OK, the process of step 201 is repeated, but the message becomes a SETUP message, which is used to send a media connection, specify a transmission mode and other parameters.
  • the RTSP protocol layer returns the data OK message, and then proceeds to step 302.
  • Step 302 The task polling module detects a writable event, retrieves the sending queue, and after reading the data message from the buffer, forwards the data message to the terminal.
  • the streaming server also sends PLAY messages to perform some business operations such as on-demand, direct broadcast, time shift, and fast forward and rewind. Finally, TEARDOWN is sent to end the session. Repeat steps 201 through 302.
  • Steps 401-402 The terminal usually sends a heartbeat keep-alive message (OPTIONS message) every 30-50s for maintaining a connection with the streaming media server. If the streaming media server does not receive the heartbeat keep-alive message sent by the set-top box within N minutes, Proactively disconnected.
  • OPTIONS message a heartbeat keep-alive message
  • Step 501 This process is mainly responsible for completing the self-healing activation function of the polling task, which is completed by the self-loop activation module to prevent the occurrence of abnormal communication tasks and avoid excessive delay of messages in the link queue.
  • the present invention can be applied to a system in which a streaming media server in an IPTV system accesses a set top box. It is very important to solve the problem of terminal concurrent connection in the IPTV system and improve communication efficiency. Help.
  • the above is only the preferred embodiment of the present invention and is not intended to limit the scope of the present invention.
  • An improved event polling interface is used in the technical solution of the present invention, so that the maximum number of concurrent video streams of the streaming media server can be ensured, and simultaneous access of a multi-terminal TCP short connection can be supported. Since the link retrieval means using direct index is used when creating the link, the efficiency of communication processing can be greatly improved. It can be flexibly applied to environments with large client access, such as streaming media server communication systems in IPTV.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Small-Scale Networks (AREA)
  • Computer And Data Communications (AREA)

Description

一种实现流媒体服务器大量终端接入的方法及系统 技术领域
本发明涉及网络电视 ( Internet Protocol Television , IPTV )技术领域, 尤 其涉及一种实现流媒体服务器大量终端 (Set Top Box, STB )接入的方法及 系统。
背景技术
流媒体服务器中, 评价和衡量业务性能的指标通常主要有最大并发视频 流数量、 每个视频流的质量、 带宽波动、 所使用的平均带宽、 丟包率和平均 响应时间等。 除上述指标之外, 还包括以下一些指标: 连接数( Connection ):釆用 3次 TCP握手建立起来的 TCP连接的数量。 并发连接数 ( Concurrent Connections ) : 客户端(STB)和服务器端(流媒 体服务器)建立起来的多个 TCP连接。
吞吐量(Throughput ) : 被测设备发送或者接收数据的速率。
视频码流速率( Video Bitrate ) : 评估视频流信息内容的速率。
其中, 最大并发视频流数量是指流媒体服务器在同一时间内所能够支持 和处理的最大在线用户数目, 要求每个用户都可以在保证视频质量的情况下 正常收看完整的视频节目。
目前, 在 IPTV系统中, 通常釆用可靠的面向连接的 TCP/IP方式来实现 两个设备之间的系统通信。在 TCP/IP之上通过传输控制协议,如实时流协议 ( Real Time Streaming Protocol, RTSP )等, 实现 IPTV流媒体设备和终端之 间的消息交互, 并由应用层模块完成点播等其他业务流程。 然而, 现有技术 中, 当大量终端接入时, 由于流媒体服务器管理能力及处理效率的不高, 因 此流媒体服务器通常情况下无法可靠支持接入大量终端的 TCP短连接。
发明内容 有鉴于此, 本发明的主要目之一是提供一种流媒体服务器以及实现流媒 体服务器大量终端接入的系统, 用来解决 IPTV流媒体服务器无法可靠支持 接入大量终端的 TCP短连接的技术问题。 为达到上述目的, 本发明的技术方 案是这样实现的:
一种流媒体服务器, 包括: 链路初始化模块: 用于完成初始化操作; 任务轮询模块: 用于侦听及对链路进行事件轮询; 发送处理模块: 用于对上层应用发来的消息数据进行处理并通知任务轮 询模块进行发送;
接收处理模块: 用于从任务轮询模块读取接收到的消息数据并对消息数 据进行处理后传送给上层应用;
所述任务轮询模块负责链路的建立及链路轮询, 当终端发送消息给流媒 体服务器时, 由任务轮询模块接收从链路发送的消息数据并通知所述接收处 理模块进行处理; 当流媒体服务器需发送消息给终端时, 由发送处理模块组 织好消息数据后通知任务轮询模块, 由所述任务轮询模块进行发送。
进一步地,所述任务轮询模块釆用 EPOLL/POLL事件轮询接口对已建立 链接的链路进行事件轮询, 从而提高系统接入大量终端的能力。 进一步地, 所述任务轮询模块包含用于保存链接的轮询表, 该轮询表以 套接字文件描述符作为索引项, 由于套接字文件描述符为整数类型的变量, 因此在任务轮询时的检索定位效率比其它类型高。
进一步地, 所述系统还包括自环激活模块, 用于轮询任务的唤醒激活。 本发明还提供了一种实现流媒体服务器大量终端接入的系统, 所述系统 包括如上所述的流媒体服务器。 本发明的另一目的在于提供一种实现流媒体服务器大量终端接入的方 法, 为达到上述目的, 本发明的技术方案是这样实现的: 一种实现流媒体服务器大量终端接入的方法, 包括:
第一步: 当流媒体服务器接收到终端的建链请求后, 由轮询任务进行响 应及处理, 并将新建链接添加到轮询池中。 在系统初始化后由任务轮询模块启动轮询任务, 流媒体服务器根据终端 发来的建链请求, 由轮询任务进行响应, 对产生的侦听事件进行处理, 建立 与该终端的连接, 将新建连接添加轮询池中。 轮询任务启动后, 按十毫秒级 间隔查询轮询池, 当检测到轮询池中当前待处理的事件为侦听事件时的处理 步骤为:
步骤 101 : 找到空闲链路保存新链接; 步骤 102: 为新链接设置用于读操作的套接字文件描述符; 步骤 103: 为新链接设置用于可读事件;
步骤 104: 将该新链接加入到轮询池中。 进一步地, 本发明中, 轮询池釆用轮询表来保存在线(活动状态) 的链 接, 在系统中, 套接字文件描述符作为设备的一个描述符号, 有一定的取值 范围和空间, 可以用来做为索引项, 用于唯一确定某条链接。 本发明将新建 链接的套接字文件描述符作为轮询表的索引项, 以套接字文件描述符做索引 可提高检索效率。 进一步地, 考虑到要支持大量的终端连接, 本发明在流媒体服务器设备 一开始启动通信管理任务时, 即初始化时就釆用操作系统提供的动态连接库 接口设置本通信任务最大允许打开的套接字文件描述符或称为设备句柄。 这 里描述的套接字文件描述符是文件句柄的一种。 只有设置最大的套接字文件 描述符, 系统的通信任务才能打开并建立更多的客户连接。 这部分工作主要 由本发明链路初始化模块完成。
第二步:轮询任务对轮询池进行轮询检测, 当有终端发来的消息数据时, 由轮询任务接收所述消息数据, 并设置可读事件, 由接收处理模块响应所述 可读事件, 对终端发来的消息进行读取和解析后转发给上层应用 (RTSP协 议层) 。 第三步: 上层应用发给终端的消息数据, 由发送处理模块打包形成完整 的消息后将其写入发送队列, 并设置可写事件, 任务轮询模块检测到可写事 件后, 从发送队列中获取待发送的消息数据, 并将其发送给终端。 第四步: 为了检测终端与流媒体服务器的上层应用 (RTSP协议层)之 间的消息通道是否处于激活状态, 终端周期性地向服务器端的上层应用发送 心跳保活消息, 服务器端进行计时检测, 任务轮询模块负责完成心跳保活消 息的透明转发, 心跳保活的目的是解决通信链路一方异常关闭后, 另一方若 在一定的时间段内没有收到对端发送的心跳保活消息时, 导致异常退出或无 限等待的问题,这样可以保证通信另一方能够及时发现异常并释放链路资源 , 任务轮询模块不涉及具体的业务分析。
第五步: 业务流程结束后, 终端主动发起断开连接的请求。 本发明的任 务轮询模块完成轮询池中对应轮询表项的回收和释放, 清理针对该连接的发 送和接收消息队列。
进一步地, 本发明为防止轮询任务不响应或挂起等异常发生, 还提供了 一种自愈激活机制, 由自环激活模块来完成。 自环激活模块在流媒体服务器 上创建自动激活的套接字, 当轮询池中没有事件发生时, 通过内部环回地址 发送激活消息, 触发轮询任务执行消息轮询功能。
本发明的技术方案中釆用了改进的事件轮询接口, 因此能够保证流媒体 服务器最大并发视频流数量, 支持多终端 TCP短连接的同时接入。 由于创建 链路时釆用了直接索引的链路检索手段, 可大幅度提高通信处理的效率。 可 灵活应用于多客户端大量接入的环境,如 IPTV中流媒体服务器通信系统中。
附图概述 图 1为本发明在协议层次结构中的位置图;
图 2为本发明流媒体服务器实现大量终端接入的系统的结构原理图; 图 3为本发明所述方法的消息处理流程图。
本发明的较佳实施方式
本发明在响应多客户端大量接入, 对多用户的并发处理方面具有很大的 优势。 为使本发明的目的、 技术方案和优点更加清楚, 下面将结合附图对本 发明作进一步地详细描述, 包括以下几部分: 图 1为本发明所在位置的系统层次图,本发明位于 RTSP与 TCP/IP协议 栈之间, 主要涉及流媒体服务器负责通信任务的通信适配部分和轮询池。 轮 询池用于存放各种消息处理事件, 供通信适配部分中的任务轮询模块进行处 理。 图 2 为本发明所述流媒体服务器实现大量终端接入的系统的结构原理 图, 主要有终端 100, 传输网介质 200, 流媒体服务器 300, 其中流媒体服务 器 300主要包括轮询池 310,通信适配模块 320。通信适配模块包括任务轮询 模块 321, 发送处理模块 322、 接收处理模块 323、 自环激活模块 324及链路 初始化模块 325。 终端与流媒体服务器之间通过 TCP/IP协议构成的传输介质进行数据消 息交互, 任务轮询模块用于实际的数据消息的接收与发送, 当终端有数据消 息发送过来时, 任务轮询模块检测到后产生可读事件, 由接收处理模块响应 该可读事件并进行数据消息的读取和解析; 当上层应用需要向终端发送数据 消息时, 由发送处理模块打包后将数据消息内容写入发送緩冲区, 并产生可 写事件, 由任务轮询模块响应该可写事件, 执行实际发送任务。 链路初始化 模块用于对各模块所用到的系统资源、 设置参数等进行初始化设置。 自环激 活模块用于任务轮询模块的唤醒激活, 触发轮询任务执行消息轮询功能。
所述链路初始化模块主要完成的功能如下: 声明 TCP通信用的轮询池, 轮询池的大小按照最大链路数设计; 声明用于 TCP通信链路使用的注册事件; 声明用于处理链路轮询事件所使用的緩冲区; 生成用于处理接受 TCP连接并对其进行管理的管理套接字文件描述符; 创建用于 TCP侦听的服务端套接字;
根据操作系统提供的调用接口来设置与轮询任务要处理的事件相关的文 件描述符, 该文件描述符和前面的文件描述符是管理和被管理的关系; 放入 轮询表的文件描述符是侦听套接字文件描述符和新建链接(客户端)套接字 文件描述符。
根据系统提供的调用接口来设置轮询任务要处理的事件类型;
将侦听套接字加入到轮询任务中;
所述轮询池所保存的注册事件分为以下 3种类型: 1 )侦听事件, 用于建立终端与流媒体服务器之间的连接的事件;
2 )可读事件, 用于在链路上接收数据的事件。
3 )可写事件, 用于在链路上发送数据的的事件。 当轮询任务检测到轮询池中当前待处理的事件为侦听事件时, 接受连接 请求, 记录用于该客户端连接所使用的套接字文件描述符, 并在轮询表中建 立针对该客户端的链路索引。 当轮询任务检测到轮询池中当前待处理的事件为可读事件时, 则检查接 收数据的緩冲区是否正常, 然后通知接收数据处理模块执行数据的接收。 当轮询任务检测到轮询池中当前待处理的事件为可写事件时, 则由任务 轮询模块从发送数据緩冲区中读取数据, 然后执行实际的数据消息的发送。
所述任务轮询模块启动轮询任务后,由轮询任务等待轮询池有事件发生, 并根据事件类型来执行不同的处理流程。 轮询任务需要调用系统提供的事件 轮询接口进行针对已建立的链接的事件轮询, 由于通用的 SELECT事件轮询 接口在大数据量的终端接入时, 执行事件轮询的效率较低, 因此本发明釆用 一种嵌入式系统(如 Linux )中的事件轮询接口来替换常用的 SELECT接口, 该接口称为 EPOLL/POLL接口, 该接口返回的是客户端的个数, 即从管理套 接字文件描述符中, 返回所有客户端连接的集合, 这样就可以对每个套接字 进行——处理, 因此, 该接口能很好的支持大量终端的接入要求, 且执行效 率较 SELECT接口高。 对于大量的终端 (如机顶盒 STB ) 的并行连接, 为了进一步提高处理效 率, 本发明在轮询池中釆用轮询表来保存在线的链接, 且本发明将新建链接 的套接字的文件描述符作为轮询表的索引项, 以套接字文件描述符做索引是 一次索引机制, 可提高检索效率。 所述发送处理模块根据上层应用传递过来的链路信号, 找到指定链路, 查看该链路发送消息队列头, 如果队列头消息为空, 则将待发送的新消息放 入队列头。 否则如果消息队列中已经有待发送的消息存在, 则将待发送的新 消息拷贝到消息緩冲区中。 并将消息緩冲区的消息指针加一。 如果緩冲区满 则告警提示队列溢出。 消息入队列后, 则设置用于写操作的文件描述符, 并 在轮询池中设置可写事件, 可写事件用于触发轮询任务检测发送队列, 实际 的消息发送由轮询任务来完成。
所述接收处理模块根据任务轮询模块的通知从链路数据接收緩冲区中接 收终端发来的数据, 当所述接收处理模块接收到终端发来的 RTSP协议数据 消息后,对输入字节流进行分析,看是否有 SDP( Session Description Protocol, 对话描述协议)部分, 如果有 SDP段存在的情况, 先分析该 SDP部分得到 SDP段长度, 如果接收到的 SDP部分长度不够, 则緩冲本次接收到的数据, 继续下次接收。 如果 SDP够长, 则发送到流媒体服务器 RTSP协议处理模块 继续进行 RTSP 协议分析处理。 检测 SDP 的规则为 SDPKey == "Content-length:"和 SDPKey 1 == "Content-Length: "。在对输入字节流进行分析 时, 需要判断防止分割符 "/r/n/r/n"是否被割断的情况。 如果没有 SDP部分, 则按" /r/n"规则接收数据进行解析即可。 SDP部分是服务器端生成的描述媒体 文件的编码信息以及所在的服务器链接等信息, 客户端通过它来配置播放软 件的设置, SDP是一个简单的, 可扩展语法的文本协议。 自环激活模块在流媒体服务器上创建自动激活的套接字, 当轮询池中没 有事件发生时, 则由该模块通过内部环回地址发送激活消息, 触发轮询任务 执行消息轮询功能。 自动激活的套接字指在单板上创建环回地址 (LocalHost) 的套接字, 定时使用该套接字发送消息, 并使用轮询任务来定时查询该套接 字是否有消息可达。
图 3为本发明所述方法的消息处理流程图, 消息交互流程如下: 步骤 101 : 终端 (机顶盒 STB)向流媒体服务器发起注册请求,在 TCP/IP 层面上发起建链请求, 由通信适配模块中的任务轮询模块检测到后设置侦听 事件, 由任务轮询模块响应侦听事件, 进行注册流程分析后执行步骤 102; 该步骤中, 任务轮询模块釆用 EPOLL/POLL事件轮询接口进行事件轮询。 步骤 102: 任务轮询模块根据终端的端口号不同, 分配一个短连接, 组 织链路数据緩冲区, 并将该新分配的短链接添加到以套接字文件描述符作为 索引项的轮询表中, 然后由 RTSP协议层完成对终端的身份验证, 验证通过 后, 给 STB终端回注册通过响应消息。 首先由发送处理模块在轮询池中添加 可写事件, 然后由任务轮询模块检测到可写事件后将注册通过响应消息通过 链路发送给终端, 终端确认收到后则说明终端和流媒体服务器间建立了正常 的通信链路, 进入步骤 201。
步骤 201 : 建立正常的通信链路后, 由终端发送业务数据消息, 如 DESCRIBE消息, 用于获取媒体流的描述信息等。
步骤 202: 任务轮询模块检测到链路有可读事件后, 通知接收处理模块 接收及解析数据, 然后将处理后的数据转发到 RTSP协议层, RTSP协议层 返回数据 OK消息, 然后执行步骤 301。
步骤 301 : 通常终端收到应答 OK后, 重复步骤 201流程, 但消息变为 SETUP消息, 用于发送建立媒体连接, 指定传输方式等参数。 RTSP协议层 返回数据 OK消息, 然后执行步骤 302。
步骤 302: 任务轮询模块检测到可写事件, 检索发送队列, 从緩冲区中 读取数据消息后, 将其转发到终端。
正常的业务流程中, 流媒体服务器还会下发 PLAY消息, 进行点播、 直 播、时移和快进快退等一些业务操作。最后下发 TEARDOWN结束本次会话。 重复步骤 201到 302流程。
步骤 401-402:终端通常每隔 30-50s发送心跳保活消息( OPTIONS消息 ), 用于和流媒体服务器保持连接, 流媒体服务器如果 N分钟内没有收到机顶盒 发送的心跳保活消息, 可以主动断开连接。
步骤 501 : 本流程主要负责完成轮询任务的自愈激活功能, 由自环激活 模块来完成, 防止通信任务异常的发生和避免链路队列中的消息出现过大的 时延。
总上所述,本发明可以应用于 IPTV系统中的流媒体服务器接入机顶盒的 系统中。 对于解决 IPTV系统中的终端并发连接问题和提高通信效率有很大 帮助。 以上所述, 仅为本发明的较佳实施例而已, 并非用于限定本发明的保 护范围。
工业实用性 本发明的技术方案中釆用了改进的事件轮询接口, 因此能够保证流媒体 服务器最大并发视频流数量, 支持多终端 TCP短连接的同时接入。 由于创建 链路时釆用了直接索引的链路检索手段, 可大幅度提高通信处理的效率。 可 灵活应用于多客户端大量接入的环境,如 IPTV中流媒体服务器通信系统中。

Claims

权 利 要 求 书
1、 一种流媒体服务器, 包括链路初始化模块、 任务轮询模块、 发送处理 模块以及接收处理模块, 其中,
所述链路初始化模块设置为完成初始化操作; 所述任务轮询模块设置为负责链路的建立、侦听及对链路进行事件轮询; 在终端发送消息给所述流媒体服务器时, 接收终端发送的消息, 并通知所述 接收处理模块对接收的消息进行处理; 在所述流媒体服务器需要发送消息给 终端时, 从所述发送处理模块读取由所述发送处理模块组织好的消息数据并 进行发送; 所述发送处理模块设置为对上层应用发来的消息数据进行处理并 通知所述任务轮询模块进行发送; 所述接收处理模块设置为从所述任务轮询模块读取接收到的消息数据并 对所读取的消息数据进行处理后传送给上层应用。
2、根据权利要求 1所述的流媒体服务器, 其中, 所述任务轮询模块设置 为釆用 EPOLL/POLL事件轮询接口对已建立链接的链路进行事件轮询。
3、根据权利要求 1所述的流媒体服务器, 其中, 所述任务轮询模块包含 用于保存链接的轮询表, 所述轮询表以套接字文件描述符作为索引项。
4、根据权利要求 1所述的流媒体服务器,所述流媒体服务器还包括自环 激活模块, 所述自环激活模块设置为对轮询任务进行唤醒激活。
5、一种实现流媒体服务器大量终端接入的系统,所述系统包括权利要求 1-4中任意一项所述的流媒体服务器。
6、 一种实现流媒体服务器大量终端接入的方法, 包括步骤:
A、 当流媒体服务器接收到终端的链接请求后, 由轮询任务进行响应及 处理, 并将新建链接添加到轮询池中;
B、 所述轮询任务对所述轮询池进行轮询, 当有终端发来消息数据时, 由所述轮询任务接收所述消息数据, 并设置可读事件, 由接收处理模块响应 所述可读事件, 对所述消息数据进行解析后转发给上层应用;
C、 上层应用发给终端的消息数据, 由所述发送处理模块打包后写入发 送队列, 并设置可写事件, 所述轮询任务检测到所述可写事件后, 从发送队 列中获取待发送的消息数据, 并将获取的待发送的消息数据发送给终端。
7、 根据权利要求 6所述的方法, 其中, 所述步骤 B中的所述轮询任务 对所述轮询池进行轮询的所述步骤通过釆用 EPOLL/POLL 事件轮询接口实 施。
8、 根据权利要求 6所述的方法, 其中, 在所述步骤 A中的轮询任务将 新建连接添加到轮询池中的所述步骤之后还包括: 所述轮询池釆用轮询表来 保存在线的链接, 以套接字文件描述符作为所述轮询表的索引项。
9、 根据权利要求 6所述的方法, 在所述步骤 A之前, 所述方法还包括: 系统初始化, 所述系统初始化的步骤包括釆用操作系统提供的动态连接库接 口设置最大允许打开的文件句柄。
10、 根据权利要求 6所述的方法, 所述方法还包括以下步骤: 终端周期 性地向流媒体服务器上层应用发送心跳保活消息, 流媒体服务器对所述心跳 保活消息进行计时检测, 以检测终端与所述流媒体服务器上层应用之间的消 息通道是否处于激活状态。
11、 根据权利要求 6所述的方法, 所述方法还包括如下步骤:
在所述流媒体服务器上创建自动激活的套接字, 当所述轮询池中没有事 件发生时, 通过内部环回地址发送激活消息, 触发所述轮询任务执行消息轮 询功能。
PCT/CN2009/073729 2008-12-25 2009-09-03 一种实现流媒体服务器大量终端接入的方法及系统 WO2010072081A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US13/142,069 US8429288B2 (en) 2008-12-25 2009-09-03 Massive terminals access of a streaming media server including setting maximum count of file handles allowed to be opened
EP09834034.2A EP2381628A4 (en) 2008-12-25 2009-09-03 METHOD AND SYSTEM FOR ESTABLISHING A LINK BETWEEN A VIDEO SEQUENCE SERVER AND MASSIVE TERMINALS

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN200810246535.1A CN101448006B (zh) 2008-12-25 2008-12-25 一种实现流媒体服务器大量终端接入的方法及系统
CN200810246535.1 2008-12-25

Publications (1)

Publication Number Publication Date
WO2010072081A1 true WO2010072081A1 (zh) 2010-07-01

Family

ID=40743403

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2009/073729 WO2010072081A1 (zh) 2008-12-25 2009-09-03 一种实现流媒体服务器大量终端接入的方法及系统

Country Status (4)

Country Link
US (1) US8429288B2 (zh)
EP (1) EP2381628A4 (zh)
CN (1) CN101448006B (zh)
WO (1) WO2010072081A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102752847A (zh) * 2011-04-19 2012-10-24 腾讯科技(深圳)有限公司 一种联网应用的处理方法和装置

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101448006B (zh) 2008-12-25 2012-01-11 中兴通讯股份有限公司 一种实现流媒体服务器大量终端接入的方法及系统
CN101741640B (zh) * 2009-11-24 2012-07-04 北京雷霆万钧网络科技有限责任公司 一种基于用户请求信息响应的管道选择方法和系统
CN101997872B (zh) * 2010-10-21 2014-08-13 中兴通讯股份有限公司 降低流媒体码流发送抖动的方法及流媒体服务器
CN102202094A (zh) * 2011-05-13 2011-09-28 中兴通讯股份有限公司 一种基于http的业务请求处理方法及装置
CN103051635B (zh) * 2012-12-28 2017-05-31 宁波新然电子信息科技发展有限公司 流媒体服务器与终端间的通讯方法
GB2514550A (en) * 2013-05-28 2014-12-03 Ibm System and method for providing access to a resource for a computer from within a restricted network and storage medium storing same
CN103561060B (zh) * 2013-10-17 2017-08-11 北京京东尚科信息技术有限公司 一种多线程环境下的通信链接方法及中转服务器
KR20150086904A (ko) * 2014-01-21 2015-07-29 한국전자통신연구원 적응적 데이터 스트림 관리 시스템 및 그의 제어 방법
CN104936269B (zh) * 2014-03-18 2019-06-11 华为终端有限公司 一种传输心跳消息的方法和装置
CN103986733B (zh) * 2014-06-04 2017-12-15 苏州科达科技股份有限公司 一种网络接口模式和基于该网络接口模式的数据通信方法
CN105391776A (zh) * 2015-10-20 2016-03-09 上海斐讯数据通信技术有限公司 长连接消息的通信方法及系统
CN106658066A (zh) * 2015-10-29 2017-05-10 中兴通讯股份有限公司 多机顶盒带宽分配方法及装置
CN105516640B (zh) * 2015-12-15 2019-11-12 Tcl集团股份有限公司 一种视频通讯会话异常的检测方法及系统
CN106997304B (zh) * 2016-01-22 2020-12-04 阿里巴巴集团控股有限公司 输入输出事件的处理方法及设备
CN105872574A (zh) * 2016-03-30 2016-08-17 乐视控股(北京)有限公司 对直播消息的发布进行优化的方法及系统
CN106059857B (zh) * 2016-06-21 2019-08-20 北京奇虎科技有限公司 一种基于服务器的数据检测方法和装置
CN106534118A (zh) * 2016-11-11 2017-03-22 济南浪潮高新科技投资发展有限公司 一种高性能ip‑sm‑gw系统的实现方法
CN108111578B (zh) * 2017-11-28 2021-06-04 国电南瑞科技股份有限公司 基于nio的配电终端数据采集平台接入终端设备的方法
CN110086838A (zh) * 2018-01-26 2019-08-02 北京云点联动科技发展有限公司 一种支付稳定性的方法
CN108459915A (zh) * 2018-01-31 2018-08-28 中电福富信息科技有限公司 一种适用于高并发场景的tcp通道管理系统及其方法
US11363101B2 (en) 2018-03-08 2022-06-14 Landmark Graphics Corporation Using existing servers in a wellbore environment as data sources for streaming servers
US10990369B2 (en) * 2018-04-30 2021-04-27 EMC IP Holding Company LLC Repurposing serverless application copies
CN112511528B (zh) * 2020-11-26 2022-10-11 中移(杭州)信息技术有限公司 流媒体分发方法、系统、服务器和存储介质
CN114143294B (zh) * 2022-02-08 2023-03-14 广州长嘉电子有限公司 一种流媒体信号处理系统及方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1561043A (zh) * 2004-02-20 2005-01-05 中兴通讯股份有限公司 一种多用户并发接入装置及其方法
CN101159747A (zh) * 2007-11-12 2008-04-09 中兴通讯股份有限公司 一种基于tcp并发多链路的通信系统及其方法
CN101448006A (zh) * 2008-12-25 2009-06-03 中兴通讯股份有限公司 一种实现流媒体服务器大量终端接入的方法及系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5630757A (en) * 1994-11-29 1997-05-20 Net Game Limited Real-time multi-user game communication system using existing cable television infrastructure
US5737330A (en) * 1996-01-11 1998-04-07 Meteor Communications Corporation System and method for the efficient control of a radio communications network
US5879236A (en) * 1996-10-18 1999-03-09 Starwave Corporation System method and medium for sector windowing
WO2001077826A2 (en) * 2000-04-08 2001-10-18 Sun Microsystems, Inc. Method and apparatus for handling events received at a server socket
US20030174648A1 (en) * 2001-10-17 2003-09-18 Mea Wang Content delivery network by-pass system
CN1271519C (zh) * 2004-06-30 2006-08-23 清华大学深圳研究生院 流媒体服务器资源的自调节调度方法
JP4579742B2 (ja) * 2005-03-30 2010-11-10 キヤノン株式会社 無線端末装置、無線通信方法、及びコンピュータプログラム
CN100423504C (zh) * 2005-05-12 2008-10-01 复旦大学 大并发流媒体实时传送的方法
WO2007030813A2 (en) * 2005-09-09 2007-03-15 Smiths Detection Inc. Multicast delivery of multimedia content on demand
US20070297609A1 (en) * 2006-06-23 2007-12-27 Research In Motion Limited Secure Wireless HeartBeat

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1561043A (zh) * 2004-02-20 2005-01-05 中兴通讯股份有限公司 一种多用户并发接入装置及其方法
CN101159747A (zh) * 2007-11-12 2008-04-09 中兴通讯股份有限公司 一种基于tcp并发多链路的通信系统及其方法
CN101448006A (zh) * 2008-12-25 2009-06-03 中兴通讯股份有限公司 一种实现流媒体服务器大量终端接入的方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CUI BIN ET AL.: "Realization of EPOLL-based Linux Online Games Server.", MICRO-COMPUTER INFORMATION., vol. 22, no. 7-3, 2006, pages 64 - 66, XP008141000 *
See also references of EP2381628A4 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102752847A (zh) * 2011-04-19 2012-10-24 腾讯科技(深圳)有限公司 一种联网应用的处理方法和装置

Also Published As

Publication number Publication date
EP2381628A1 (en) 2011-10-26
EP2381628A4 (en) 2013-11-06
US20110296049A1 (en) 2011-12-01
CN101448006B (zh) 2012-01-11
US8429288B2 (en) 2013-04-23
CN101448006A (zh) 2009-06-03

Similar Documents

Publication Publication Date Title
WO2010072081A1 (zh) 一种实现流媒体服务器大量终端接入的方法及系统
EP2768203B1 (en) Method and device for identifying an sctp packet field of the invention
KR101109276B1 (ko) 세션 접속 유지
US9300717B2 (en) Information transmission method and system, and browser on mobile terminal
WO2021121370A1 (zh) 用于消息队列的消息丢失检测方法和装置
CN102739411B (zh) 提供证明服务
RU2608469C2 (ru) Способ и устройство высокоэффективной доставки уведомлений в реальном времени с малым временем задержки
WO2018121742A1 (zh) 一种流数据的传输方法和装置
US20100281169A1 (en) Presence-awareness for wireless devices
US9015344B2 (en) Method, apparatus and system for managing private network remotely using session initiation protocol
US10834033B2 (en) Method and system for transferring messages between messaging systems
EP3767895B1 (en) Method and system for audio and video interaction between plurality of groups
US11792098B2 (en) Link detection method and system
CN109218093B (zh) 一种获取告警的方法和系统
CN108650482B (zh) 一种视频通话服务的响应方法及设备
CN114866528A (zh) 一种基于MQTT和Websocket的数据通讯方法
CN112583922B (zh) 视频监控服务智能调度系统
WO2013159492A1 (zh) 信息上报与下载的方法及系统
CN101557296A (zh) 组播业务断开后快速恢复的方法、装置及网关设备
WO2014015525A1 (zh) 一种用户在线状态的查询方法和装置
WO2017005118A1 (zh) 维持通信连接的方法、装置、终端及服务器
CN114553936A (zh) 连接方法、装置、电子设备和计算机可读存储介质
CN110233747B (zh) 一种数据上报方法及云平台
CN114679433B (zh) 视频访问会话管理系统、方法、计算机设备及存储介质
US7788384B1 (en) Virtual media network

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09834034

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 13142069

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2009834034

Country of ref document: EP