JP6212288B2 - Push distribution server, receiving terminal, receiving program and system - Google Patents

Push distribution server, receiving terminal, receiving program and system Download PDF

Info

Publication number
JP6212288B2
JP6212288B2 JP2013114676A JP2013114676A JP6212288B2 JP 6212288 B2 JP6212288 B2 JP 6212288B2 JP 2013114676 A JP2013114676 A JP 2013114676A JP 2013114676 A JP2013114676 A JP 2013114676A JP 6212288 B2 JP6212288 B2 JP 6212288B2
Authority
JP
Japan
Prior art keywords
data
fragment
frame
fragmented
header
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2013114676A
Other languages
Japanese (ja)
Other versions
JP2014235453A (en
Inventor
敏 西村
敏 西村
壮 田中
壮 田中
遠藤 洋介
洋介 遠藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Japan Broadcasting Corp
Original Assignee
Japan Broadcasting Corp
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 Japan Broadcasting Corp filed Critical Japan Broadcasting Corp
Priority to JP2013114676A priority Critical patent/JP6212288B2/en
Publication of JP2014235453A publication Critical patent/JP2014235453A/en
Application granted granted Critical
Publication of JP6212288B2 publication Critical patent/JP6212288B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

本発明は、プッシュ配信サーバからWebSocketプロトコルを用いてフラグメント化されたデータを配信しているときに、他のデータを割り込んで送信するプッシュ配信サーバ、受信端末、受信プログラム及びシステムに関する。   The present invention relates to a push delivery server, a receiving terminal, a receiving program, and a system for interrupting and transmitting other data when delivering fragmented data using a WebSocket protocol from a push delivery server.

近年、インターネットでは、配信サーバからユーザの受信端末へ自動的に情報を送りつけるプッシュ型の情報配信サービスの実施が期待されている。例えば、テレビ放送番組の進行に合わせた関連情報、個々のユーザニーズに応じた天気の最新情報、交通の最新情報等のような刻一刻と変化する情報をプッシュ配信する。これにより、ユーザは、特別な更新作業を行うことなく、最新の情報を取得することができる。   In recent years, on the Internet, it is expected to implement a push-type information distribution service that automatically sends information from a distribution server to a user receiving terminal. For example, information that changes from moment to moment, such as related information in accordance with the progress of a television broadcast program, the latest information on weather according to individual user needs, the latest information on traffic, etc., is push-distributed. Thereby, the user can acquire the latest information without performing a special update operation.

従来は、このようなプッシュ型の情報配信サービスを実施する手法として、主にHTTPプロトコルを利用して、受信端末が一定時間毎に配信サーバに対して自動的に更新情報を問い合わせ、更新情報が存在する場合は、当該情報を受信する擬似的なプッシュ配信が主流であった。   Conventionally, as a technique for implementing such a push-type information distribution service, mainly using the HTTP protocol, the receiving terminal automatically inquires the distribution server for the update information at regular intervals, and the update information is If it exists, pseudo-push delivery that receives the information has been mainstream.

しかし、擬似的なプッシュ配信では、配信サーバと受信端末との間でデータのやり取りが頻繁に発生するほか、HTTPコネクションを長時間占有することにより、同一配信サーバに接続する他のアプリケーションの動作に影響を及ぼす可能性があるという問題があった。   However, in pseudo push distribution, data is frequently exchanged between the distribution server and the receiving terminal, and by occupying the HTTP connection for a long time, other applications connected to the same distribution server can be operated. There was a problem that it could have an effect.

この問題を解決する技術として、WebSocketプロトコルの規格策定作業が、インターネットの標準化団体であるW3CとIETFによって進められている(非特許文献1)。WebSocketプロトコルは、配信サーバと受信端末との間で一旦コネクションを確立した後は、必要な通信は全てそのコネクション上の専用プロトコルを用いて行われる。HTTPコネクションと比較すると、無駄な通信を抑えることができ、一つのコネクションで全てのデータ送受信を行うことにより同一配信サーバに接続する他のアプリケーションへの影響が少なくなる等のメリットがある。   As a technique for solving this problem, standards development work for the WebSocket protocol is being promoted by W3C and IETF, which are standards organizations of the Internet (Non-patent Document 1). In the WebSocket protocol, once a connection is established between a distribution server and a receiving terminal, all necessary communication is performed using a dedicated protocol on the connection. Compared with the HTTP connection, there is an advantage that unnecessary communication can be suppressed and the influence on other applications connected to the same distribution server is reduced by performing all data transmission / reception with one connection.

図12は、WebSocketプロトコルに従って伝送されるフレームの構成を示す図である。図12では、フレームの構成を32ビット単位で表している。WebSocketプロトコルに従って伝送されるフレームは、ヘッダ及びペイロードから構成され、データは、ペイロードに格納され、このフレームの並びにより伝送される。未知のサイズのデータを送信する場合、事前にデータの全てをバッファすることなく送信できるようにするため、また、サイズの大きいデータが出力ネットワークインタフェースを占有することがないようにするため、WebSocketプロトコルには、送信すべきデータ(メッセージ)を断片化(フラグメント化)して伝送する機能がサポートされている。   FIG. 12 is a diagram illustrating a configuration of a frame transmitted according to the WebSocket protocol. In FIG. 12, the frame configuration is represented in units of 32 bits. A frame transmitted according to the WebSocket protocol is composed of a header and a payload, and data is stored in the payload, and is transmitted through a sequence of the frames. When transmitting data of unknown size, in order to be able to transmit all of the data without buffering in advance, and to prevent large data from occupying the output network interface, the WebSocket protocol Supports a function of fragmenting (transmitting) data (message) to be transmitted.

フレームのヘッダには、1ビット長のFIN及び4ビット長のopcodeの制御情報が含まれており、フラグメント化されたデータを伝送するために、これらの制御情報が用いられる。FINは、送信すべきデータの中で最後のフラグメントのフレームであることを示す情報であり、最初のフラグメントのフレームが最後のフラグメントのフレームであってもよい。opcodeは、ペイロードに格納されるデータの解釈方法を定義する情報であると共に、送信すべきデータの中で途中(継続)のフラグメントのフレームであることを示す情報である。具体的には、0のときは継続フレームを示し、2のときはバイナリフレームを示し、その他の値については図12に示すとおりである。   The frame header includes 1-bit FIN and 4-bit opcode control information, and these control information is used to transmit fragmented data. FIN is information indicating that it is the frame of the last fragment in the data to be transmitted, and the frame of the first fragment may be the frame of the last fragment. The opcode is information that defines how to interpret the data stored in the payload, and is information that indicates that the frame is a halfway (continuous) fragment in the data to be transmitted. Specifically, 0 indicates a continuation frame, 2 indicates a binary frame, and other values are as shown in FIG.

図13は、フラグメント化されたデータを送信する場合のFIN及びopcodeを説明する図である。フラグメント化されたデータを送信する場合、FINビットがクリア(0)され、opcodeが0以外(図13の例では2)に設定された1個のフレーム(最初のフレーム)から始まり、FINビットがクリアされ、opcodeが0に設定された0個以上のフレーム(次のフレーム)が後続し、FINビットがセットされ(1に設定され)、opcodeが0に設定された1個のフレーム(最後のフレーム)で終了する。送信すべきデータが複数のデータにフラグメント化された場合、この送信すべきデータは、概念的には、フラグメント化されたデータが格納されたそれぞれのペイロードを連結して1つのペイロードを構成したときの、当該ペイロードに格納された単独の大きなデータと等価である。   FIG. 13 is a diagram for explaining FIN and opcode when fragmented data is transmitted. When transmitting fragmented data, the FIN bit is cleared (0), and the opcode is set to a value other than 0 (2 in the example of FIG. 13). Cleared, followed by zero or more frames with opcode set to 0 (next frame), the FIN bit is set (set to 1), and one frame with the opcode set to 0 (the last frame) Frame). When data to be transmitted is fragmented into a plurality of data, this data to be transmitted is conceptually formed by concatenating each payload storing fragmented data into one payload. Is equivalent to a single large data stored in the payload.

ところで、一般的なデータを配信しているときに、他のデータを送信したい場合があり得る。例えば、ストリームデータを再生表示端末へ配信しているときに、別のストリームデータの配信を行う場合に、再生表示端末での操作及び接続の切断と再接続を行う必要がないストリーム配信システムが開示されている(特許文献1)。具体的には、再生表示端末、プロキシサーバ、第1の配信サーバ及び第2の配信サーバを備えて構成されるストリーム配信システムにおいて、プロキシサーバは、第1の配信サーバから再生表示端末へストリームデータを中継しているときに、第2の配信サーバから割り込み要求があると、第1のサーバへ一時停止の要求を送信し、第2の配信サーバから再生表示端末へ別のストリームデータを中継する。   By the way, when delivering general data, there may be cases where other data is desired to be transmitted. For example, there is disclosed a stream distribution system that does not require operation on the reproduction display terminal and disconnection and reconnection when another stream data is distributed when the stream data is distributed to the reproduction display terminal. (Patent Document 1). Specifically, in a stream distribution system including a reproduction display terminal, a proxy server, a first distribution server, and a second distribution server, the proxy server transmits stream data from the first distribution server to the reproduction display terminal. When an interrupt request is received from the second distribution server while relaying, a request for suspension is transmitted to the first server, and another stream data is relayed from the second distribution server to the playback display terminal. .

特開2008−177657号公報JP 2008-177657 A

RFC 6455,“The WebSocket Protocol”、[online]、2011年12月、[平成25年5月1日検索]、インターネット<URL:http://tools.ietf.org/html/rfc6455>RFC 6455, “The WebSocket Protocol”, [online], December 2011, [May 1, 2013 search], Internet <URL: http://tools.ietf.org/html/rfc6455>

前述のプッシュ型の情報配信サービスにおいて、一般的なデータの配信に加え、即座にユーザに伝えるべき緊急性の高いデータが存在する。このような緊急性の高いデータは、即時性を高めるため、配信中のデータに割り込んで送られることが望ましい。   In the above-described push-type information distribution service, in addition to general data distribution, there is highly urgent data that should be immediately transmitted to the user. Such highly urgent data is preferably sent by interrupting the data being distributed in order to improve immediacy.

しかしながら、WebSocketプロトコルを用いた場合には、配信サーバと受信端末との間で確立された一つのセッションにおいて、一つの送信すべきデータに属するフラグメント化されたデータを送信する複数のフレームの間に、別のデータのフレームが挿入されることは禁止されている。したがって、一つの送信すべきデータに属するフラグメント化されたデータが格納される全てのフレームの送信が終了するまで、別のデータを送信することができない。このため、一般的なデータを配信しているときに、緊急性の高いデータを即座にユーザに伝えることは困難であった。これは、一般的なデータを配信しているときに、そのデータに割り込んで他のデータを配信する場合も同様である。   However, when the WebSocket protocol is used, in one session established between the distribution server and the receiving terminal, between a plurality of frames for transmitting fragmented data belonging to one data to be transmitted. Another frame of data is prohibited from being inserted. Therefore, another data cannot be transmitted until transmission of all frames in which fragmented data belonging to one data to be transmitted is stored is completed. For this reason, when general data is distributed, it is difficult to immediately transmit highly urgent data to the user. This is the same when general data is distributed and other data is distributed by interrupting the data.

前述の特許文献1のストリーム配信システムによる技術を用いることにより、緊急性の高いデータまたは他のデータを、配信中のデータに割り込んで送信することは可能である。しかし、この技術は、WebSocketプロトコルを用いたものではないから、WebSocketプロトコルを用いたデータ配信にそのまま適用することができない。   By using the technique based on the above-described stream distribution system disclosed in Patent Document 1, it is possible to interrupt and transmit highly urgent data or other data in the data being distributed. However, since this technique does not use the WebSocket protocol, it cannot be directly applied to data distribution using the WebSocket protocol.

そこで、本発明はかかる課題に鑑みてなされたものであり、その目的は、プッシュ配信サーバからWebSocketプロトコルを用いてフラグメント化されたデータを配信しているときに、他のデータを割り込んで送信することを可能とするプッシュ配信サーバ、受信端末、受信プログラム及びシステムを提供することにある。   Therefore, the present invention has been made in view of such problems, and its purpose is to interrupt and transmit other data when distributing fragmented data from the push distribution server using the WebSocket protocol. An object of the present invention is to provide a push delivery server, a receiving terminal, a receiving program, and a system that make it possible.

前記目的を達成するために、請求項1のプッシュ配信サーバは、WebSocketプロトコルを用いて所定のデータを受信端末へ送信するプッシュ配信サーバにおいて、所定のデータを入力し、前記データに対し、前記データの識別子、及び前記データの開始位置を含むか否かを示す開始/継続識別フラグを含むヘッダ情報を付与すると共に、前記データの終了位置を含むか否かを示す終了/継続識別フラグを含むトレイラ情報を付与してカプセル化データを生成し、前記カプセル化データを所定長毎の断片データに分割し、前記断片データのそれぞれについて、前記断片データを送信するフラグメント化フレームが、前記カプセル化データから分割された最後の断片データを送信するものであるか否かを示す第1の制御情報、及び前記断片データを送信するフラグメント化フレームが、前記カプセル化データから分割された途中の断片データを継続して送信するものであるか否かを示す第2の制御情報を生成し、前記WebSocketプロトコルに用いる前記第1及び第2の制御情報を含むへッダを付与し、前記断片データをペイロードに格納してフラグメント化フレームを生成するフラグメント生成手段と、前記フラグメント生成手段により生成されたフラグメント化フレームを前記受信端末へ送信するフラグメント送信手段と、を備え、前記フラグメント送信手段が、前記データのフラグメント化フレームの送信を中断し、他のデータのフラグメント化フレームを割り込んで送信する場合、前記WebSocketプロトコルに用いるヘッダを付与して、前記終了位置を含まないことを示す前記終了/継続識別フラグをペイロードに格納した中断フレームを生成し、前記中断フレームを前記受信端末へ送信し、前記中断したデータのフラグメント化フレームの送信を再開する場合、前記WebSocketプロトコルに用いるヘッダを付与して、前記中断したデータの識別子、及び前記開始位置を含まないことを示す前記開始/継続識別フラグをペイロードに格納した再開フレームを生成し、前記再開フレームを前記受信端末へ送信する、ことを特徴とする。   To achieve the above object, the push delivery server according to claim 1 is a push delivery server that transmits predetermined data to a receiving terminal using a WebSocket protocol. And a trailer including an end / continuation identification flag indicating whether or not the data end position is included, and header information including a start / continuation identification flag indicating whether or not the data start position is included. Providing information to generate encapsulated data, dividing the encapsulated data into fragment data of a predetermined length, and for each of the fragment data, a fragmented frame for transmitting the fragment data from the encapsulated data First control information indicating whether or not to transmit the last fragmented data, and the disconnection Generating second control information indicating whether or not a fragmented frame for transmitting data is to continuously transmit fragmented data divided from the encapsulated data, and used for the WebSocket protocol; Fragment generating means for generating a fragmented frame by assigning a header including first and second control information, storing the fragment data in a payload, and the fragmented frame generated by the fragment generating means Fragment transmitting means for transmitting to a receiving terminal, and when the fragment transmitting means interrupts transmission of the fragmented frame of the data and interrupts and transmits the fragmented frame of other data, it is used for the WebSocket protocol. A header is added and the end position is In the case of generating an interruption frame in which the end / continuation identification flag indicating that there is no error is stored in a payload, transmitting the interruption frame to the receiving terminal, and restarting transmission of the fragmented frame of the interrupted data, the WebSocket A header used for a protocol is added to generate a resume frame in which the identifier of the suspended data and the start / continuation identification flag indicating that the start position is not included are stored in a payload, and the resume frame is transmitted to the receiving terminal It is characterized by transmitting to.

また、請求項2のプッシュ配信サーバは、請求項1に記載のプッシュ配信サーバにおいて、前記フラグメント送信手段に代わる新たなフラグメント送信手段が、前記データのフラグメント化フレームの送信を中断し、他のデータのフラグメント化フレームを割り込んで送信する場合、前記WebSocketプロトコルに用いるヘッダを付与して、前記終了位置を含まないことを示す前記終了/継続識別フラグをペイロードに格納した中断フレームを生成し、前記中断フレームを前記受信端末へ送信し、前記他のデータのフラグメント化フレームを前記受信端末へ送信し、前記中断したデータのフラグメント化フレームの送信を再開する場合、前記他のデータにおける全てのフラグメント化フレームを前記受信端末へ送信した後、前記WebSocketプロトコルに用いるヘッダを付与して、前記中断したデータの識別子、及び前記開始位置を含まないことを示す前記開始/継続識別フラグをペイロードに格納した再開フレームを生成し、前記再開フレームを前記受信端末へ送信し、前記中断したデータにおける残りのフラグメント化フレームを前記受信端末へ送信する、ことを特徴とする。   Further, the push delivery server according to claim 2 is the push delivery server according to claim 1, wherein a new fragment transmission means replacing the fragment transmission means interrupts transmission of the fragmented frame of the data, and other data When a fragmented frame is interrupted and transmitted, a header used for the WebSocket protocol is added to generate a suspended frame in which the end / continuation identification flag indicating that the end position is not included is stored in a payload. When transmitting a frame to the receiving terminal, transmitting a fragmented frame of the other data to the receiving terminal, and restarting transmission of the fragmented frame of the interrupted data, all the fragmented frames in the other data Is transmitted to the receiving terminal, and then the Web A header used for the ocket protocol is added to generate a restart frame in which the identifier of the interrupted data and the start / continuation identification flag indicating that the start position is not included are stored in a payload, and the restart frame is received It transmits to a terminal, The remaining fragmented frame in the said interrupted data is transmitted to the said receiving terminal, It is characterized by the above-mentioned.

また、請求項3のプッシュ配信サーバは、請求項1または2に記載のプッシュ配信サーバにおいて、前記フラグメント生成手段の代わりに、第1のフラグメント生成手段及び第2のフラグメント生成手段を備え、さらに、第1のフラグメントバッファ及び第2のフラグメントバッファを備え、前記第1のフラグメント生成手段が、前記データを入力し、前記データに対し、前記開始/継続識別フラグを含むヘッダ情報を付与すると共に、前記終了/継続識別フラグを含むトレイラ情報を付与してカプセル化データを生成し、前記カプセル化データを所定長毎の断片データに分割し、前記断片データのそれぞれについて、前記第1の制御情報及び前記第2の制御情報を生成し、前記WebSocketプロトコルに用いる前記第1及び第2の制御情報を含むへッダを付与し、前記断片データをペイロードに格納してフラグメント化フレームを生成し、前記フラグメント化フレームを前記第1のフラグメントバッファに格納し、前記第2のフラグメント生成手段が、前記他のデータを入力し、前記他のデータに対し、前記開始/継続識別フラグを含むヘッダ情報を付与すると共に、前記終了/継続識別フラグを含むトレイラ情報を付与してカプセル化データを生成し、前記カプセル化データを所定長毎の断片データに分割し、前記断片データのそれぞれについて、前記第1の制御情報及び前記第2の制御情報を生成し、前記WebSocketプロトコルに用いる前記第1及び第2の制御情報を含むへッダを付与し、前記断片データをペイロードに格納してフラグメント化フレームを生成し、前記フラグメント化フレームを前記第2のフラグメントバッファに格納し、前記フラグメント送信手段が、前記第1のフラグメントバッファに前記データのフラグメント化フレームが格納されると、前記第1のフラグメントバッファから前記データのフラグメント化フレームを読み出して前記受信端末へ送信し、前記データのフラグメント化フレームの送信を中断し、前記他のデータのフラグメント化フレームを割り込んで送信する場合、前記第2のフラグメントバッファに前記他のデータのフラグメント化フレームが格納されると、前記WebSocketプロトコルに用いるヘッダを付与して、前記終了位置を含まないことを示す前記終了/継続識別フラグをペイロードに格納した中断フレームを生成し、前記中断フレームを前記受信端末へ送信し、前記第2のフラグメントバッファから前記他のデータのフラグメント化フレームを読み出して前記受信端末へ送信し、前記中断したデータのフラグメント化フレームの送信を再開する場合、前記WebSocketプロトコルに用いるヘッダを付与して、前記中断したデータの識別子、及び前記開始位置を含まないことを示す前記開始/継続識別フラグをペイロードに格納した再開フレームを生成し、前記再開フレームを前記受信端末へ送信し、前記第1のフラグメントバッファから前記データにおける残りのフラグメント化フレームを読み出して前記受信端末へ送信する、ことを特徴とする。   A push delivery server according to claim 3 is the push delivery server according to claim 1 or 2, further comprising a first fragment generation unit and a second fragment generation unit instead of the fragment generation unit, A first fragment buffer and a second fragment buffer, wherein the first fragment generation means inputs the data, adds header information including the start / continuation identification flag to the data, and Providing trailer information including an end / continuation identification flag to generate encapsulated data, dividing the encapsulated data into fragment data of a predetermined length, and for each of the fragment data, the first control information and the Generate second control information and use the first and second controls used in the WebSocket protocol. Adding a header including information, storing the fragment data in a payload to generate a fragmented frame, storing the fragmented frame in the first fragment buffer, and the second fragment generating means, The other data is input, header information including the start / continuation identification flag is added to the other data, and trailer information including the end / continuation identification flag is added to generate encapsulated data. , Dividing the encapsulated data into fragment data of a predetermined length, generating the first control information and the second control information for each of the fragment data, and using the first and second control information used for the WebSocket protocol 2 is added, and the fragment data is stored in the payload to generate a fragmented frame. The fragmented frame is stored in the second fragment buffer, and when the fragment transmitting means stores the fragmented frame of the data in the first fragment buffer, the fragmented frame is stored in the first fragment buffer. When reading a fragmented frame of data and transmitting it to the receiving terminal, interrupting transmission of the fragmented frame of data, and interrupting and transmitting the fragmented frame of other data, the second fragment buffer is When a fragmented frame of other data is stored, a header used for the WebSocket protocol is added to generate a suspended frame in which the end / continuation identification flag indicating that the end position is not included is stored in a payload, The interrupt frame is received by the receiving frame. When transmitting to the receiving terminal, reading out the fragmented frame of the other data from the second fragment buffer, transmitting to the receiving terminal, and restarting the transmission of the fragmented frame of the suspended data, the WebSocket protocol is used. A header to be used is added to generate a restart frame in which the identifier of the interrupted data and the start / continuation identification flag indicating that the start position is not included are stored in a payload, and the restart frame is transmitted to the receiving terminal Then, the remaining fragmented frame in the data is read from the first fragment buffer and transmitted to the receiving terminal.

また、請求項4のプッシュ配信サーバは、請求項1から3までのいずれか一項に記載のプッシュ配信サーバにおいて、前記フラグメント送信手段が送信する中断フレームのヘッダには、前記カプセル化データから分割された最後の断片データを送信するものであることを示す第1の制御情報が含まれる、ことを特徴とする。   The push delivery server according to claim 4 is the push delivery server according to any one of claims 1 to 3, wherein the header of the interrupted frame transmitted by the fragment transmitting means is divided from the encapsulated data. First control information indicating that the last piece of fragment data is to be transmitted is included.

さらに、請求項5の受信端末は、所定のデータに対し、前記データの識別子、及び前記データの開始位置を含むか否かを示す開始/継続識別フラグを含むヘッダ情報を付与すると共に、前記データの終了位置を含むか否かを示す終了/継続識別フラグを含むトレイラ情報を付与してカプセル化データを生成し、前記カプセル化データを所定長毎の断片データに分割し、前記断片データのそれぞれについて、前記断片データを送信するフラグメント化フレームが、前記カプセル化データから分割された最後の断片データを送信するものであるか否かを示す第1の制御情報、及び前記断片データを送信するフラグメント化フレームが、前記カプセル化データから分割された途中の断片データを継続して送信するものであるか否かを示す第2の制御情報を生成し、WebSocketプロトコルに用いる前記第1及び第2の制御情報を含むへッダを付与し、前記断片データをペイロードに格納してフラグメント化フレームを生成して送信するプッシュ配信サーバから、前記WebSocketプロトコルを用いて前記フラグメント化フレームを受信する受信端末において、前記受信したフラグメント化フレーム毎に、前記フラグメント化フレームのヘッダから前記第1及び第2の制御情報を抽出すると共に、前記フラグメント化フレームのペイロードから前記カプセル化データを構成する断片データを抽出し、前記第1及び第2の制御情報の組み合わせと、前記ヘッダ情報及びトレイラ情報の存在との関係が格納されたテーブルを参照して、前記抽出した断片データから、前記識別子を含むヘッダ情報及びトレイラ情報を抽出し、前記ヘッダ情報及びトレイラ情報のいずれかまたは両方を抽出できない場合、前記抽出できなかったヘッダ情報に対し所定の情報を設定すると共に、前記抽出できなかったトレイラ情報に対し所定の情報を設定し、前記抽出または設定したヘッダ情報及びトレイラ情報に基づいて、前記抽出した断片データから前記データの断片を抽出し、前記データを復元するフラグメント復元手段と、前記フラグメント復元手段により抽出された前記データの断片を、前記フラグメント復元手段により抽出または設定された前記ヘッダ情報の識別子に対応付けて記憶する記憶手段と、前記記憶手段から復元された前記データを入力し、前記データをデコードするデコーダと、前記デコーダによりデコードされた前記データを、当該受信端末のユーザへ提示する提示部と、を備え、前記フラグメント復元手段が、前記データのフラグメント化フレームを受信しているときに、前記プッシュ配信サーバから、前記データのフラグメント化フレームの送信を中断して他のデータのフラグメント化フレームを割り込んで送信することを示すフレームであって、前記WebSocketプロトコルに用いるヘッダが付与され、前記終了位置を含まないことを示す前記終了/継続識別フラグがペイロードに格納された中断フレームを受信した場合、前記中断フレームのヘッダから前記第1及び第2の制御情報を抽出し、前記テーブルを参照して、前記中断フレームのペイロードから前記トレイラ情報の前記終了/継続識別フラグを抽出し、前記プッシュ配信サーバから、前記中断したデータのフラグメント化フレームの送信を再開することを示すフレームであって、前記WebSocketプロトコルに用いるヘッダが付与され、前記中断したデータの識別子、及び前記開始位置を含まないことを示す前記開始/継続識別フラグがペイロードに格納された再開フレームを受信した場合、前記再開フレームのヘッダから前記第1及び第2の制御情報を抽出し、前記テーブルを参照して、前記再開フレームのペイロードから前記ヘッダ情報に含まれる前記中断したデータの識別子及び前記開始/継続識別フラグを抽出する、ことを特徴とする。   Furthermore, the receiving terminal of claim 5 adds header information including a start / continuation identification flag indicating whether or not to include an identifier of the data and a start position of the data to predetermined data, and the data Each of the fragment data is generated by adding trailer information including an end / continuation identification flag indicating whether or not the end position is included, generating encapsulated data, dividing the encapsulated data into fragment data of a predetermined length, and The first control information indicating whether or not the fragmented frame for transmitting the fragment data transmits the last fragment data divided from the encapsulated data, and the fragment for transmitting the fragment data Second control indicating whether or not the framed frame is to continuously transmit the fragment data halfway divided from the encapsulated data From a push delivery server that generates a report, attaches a header including the first and second control information used for the WebSocket protocol, stores the fragment data in a payload, generates a fragmented frame, and transmits the fragmented frame. In the receiving terminal that receives the fragmented frame using the WebSocket protocol, for each received fragmented frame, the first and second control information is extracted from a header of the fragmented frame, and the fragmented Extracting fragment data constituting the encapsulated data from the payload of the frame, referring to a table storing the relationship between the combination of the first and second control information and the presence of the header information and trailer information , Including the identifier from the extracted fragment data. When header information and trailer information are extracted and one or both of the header information and trailer information cannot be extracted, predetermined information is set for the header information that cannot be extracted, and the trailer information that cannot be extracted is set. Fragment restoring means for setting predetermined information, extracting a fragment of the data from the extracted fragment data based on the extracted or set header information and trailer information, and restoring the data, and the fragment restoring means A storage means for storing the data fragment extracted in association with an identifier of the header information extracted or set by the fragment restoration means, and the data restored from the storage means are input, and the data And a decoder that decodes the data decoded by the decoder. A presentation unit for presenting data to the user of the receiving terminal, and when the fragment restoration means receives the fragmented frame of data, the fragmented frame of data from the push distribution server The end / continuation identification indicating that the header used for the WebSocket protocol is added and does not include the end position. When the interrupt frame having the flag stored in the payload is received, the first and second control information is extracted from the interrupt frame header, and the trailer information is extracted from the interrupt frame payload by referring to the table. Extract the end / continuation identification flag from the push delivery server The start indicating that the transmission of the fragmented frame of the interrupted data is resumed, the header used for the WebSocket protocol is added, and the identifier of the interrupted data and the start position are not included / When the resumption frame having the continuation identification flag stored in the payload is received, the first and second control information is extracted from the header of the resumption frame, and the table is referred to and the resumption frame is read from the payload of the resumption frame. The identifier of the interrupted data included in the header information and the start / continuation identification flag are extracted.

また、請求項6の受信端末は、請求項5に記載の受信端末において、前記中断フレームのヘッダには、前記カプセル化データから分割された最後の断片データを送信するものであることを示す第1の制御情報が含まれており、前記フラグメント復元手段に代わる新たなフラグメント復元手段が、前記受信したフラグメント化フレームを前記記憶手段に格納し、前記受信したフラグメント化フレームのヘッダまたは前記受信した中断フレームのヘッダから前記第1及び第2の制御情報を抽出し、前記第1の制御情報が、前記カプセル化データから分割された最後の断片データを送信するものであることを示している場合、前記記憶手段に格納したフラグメント化フレームを読み出してそのペイロードから前記カプセル化データを構成する断片データを抽出し、前記抽出した断片データから前記データの断片を抽出する、ことを特徴とする。 Further, the receiving terminal according to claim 6, in the receiving terminal according to claim 5, in the prior SL disruptions frame header, and transmits the last fragment data divided from the encapsulated data First fragmentation information is included, and a new fragment restoration unit in place of the fragment restoration unit stores the received fragmented frame in the storage unit, and the received fragmented frame header or the reception The first control information and the second control information are extracted from the header of the interrupted frame, and the first control information indicates that the last fragment data divided from the encapsulated data is transmitted. In this case, the fragmented frame stored in the storage means is read and the fragment data constituting the encapsulated data from the payload is read. Extracting data, extracts the pieces of the data from the fragment data the extracted, characterized in that.

さらに、請求項7の受信プログラムは、コンピュータを、請求項5または6に記載の受信端末として機能させることを特徴とする。   Furthermore, a receiving program according to claim 7 causes a computer to function as the receiving terminal according to claim 5 or 6.

さらに、請求項8のシステムは、請求項1のプッシュ配信サーバと、請求項5の受信端末とを備えて構成されることを特徴とする。   Furthermore, the system of claim 8 is characterized by comprising the push delivery server of claim 1 and the receiving terminal of claim 5.

以上のように、本発明によれば、プッシュ配信サーバからWebSocketプロトコルを用いてフラグメント化されたデータを配信しているときに、フラグメント化されたデータが格納される全てのフレームの送信が終了するのを待つことなく、他のデータを割り込んで送信することができる。これにより、WebSocketプロトコルを用いたデータ配信において、例えば、緊急性の高いデータを即座にユーザに伝えることが可能となり、また、異なるデータを並列に送信することが可能となる。   As described above, according to the present invention, when fragmented data is distributed from the push distribution server using the WebSocket protocol, transmission of all frames in which the fragmented data is stored is completed. Other data can be interrupted and transmitted without waiting for this. As a result, in data distribution using the WebSocket protocol, for example, highly urgent data can be immediately transmitted to the user, and different data can be transmitted in parallel.

本発明の実施形態によるコンテンツ配信システムの全体構成の概略を説明する図である。It is a figure explaining the outline of the whole structure of the content delivery system by embodiment of this invention. コンテンツ配信システムにて用いるデータ及びフレームの構成を示す図である。It is a figure which shows the structure of the data and frame used with a content delivery system. フレームのヘッダに格納されたFIN及びopcodeの組み合わせと、カプセル化データのヘッダ情報及びトレイラ情報の存在との関係を示す図である。It is a figure which shows the relationship between the combination of FIN and opcode stored in the header of the frame, and the presence of header information and trailer information of encapsulated data. 本発明の実施形態によるプッシュ配信サーバの構成を示すブロック図である。It is a block diagram which shows the structure of the push delivery server by embodiment of this invention. プッシュ配信サーバに備えたフラグメント多重化手段の処理を示すフローチャートである。It is a flowchart which shows the process of the fragment multiplexing means with which the push delivery server was equipped. コンテンツデータ及び緊急データの送受信シーケンスを説明する図である。It is a figure explaining the transmission / reception sequence of content data and emergency data. 本発明の実施形態による受信端末の構成を示すブロック図である。It is a block diagram which shows the structure of the receiving terminal by embodiment of this invention. 受信端末の処理を示すフローチャートである。It is a flowchart which shows the process of a receiving terminal. Tag、hcode及びtcodeの抽出/設定処理(ステップS803)を示すフローチャートである。It is a flowchart which shows the extraction / setting process (step S803) of Tag, hcode, and tcode. コンテンツデータの断片の抽出/格納処理(ステップS804)を示すフローチャートである。It is a flowchart which shows the extraction / storage process of the fragment | piece of content data (step S804). 図9及び図10の処理を説明する補足図である。It is a supplementary figure explaining the process of FIG.9 and FIG.10. WebSocketプロトコルに従って伝送されるフレームの構成を示す図である。It is a figure which shows the structure of the flame | frame transmitted according to a WebSocket protocol. フラグメント化されたデータを送信する場合のFIN及びopcodeを説明する図である。It is a figure explaining FIN and opcode in the case of transmitting fragmented data.

以下、本発明を実施するための形態について図面を用いて詳細に説明する。
〔コンテンツ配信システム〕
図1は、本発明の実施形態によるコンテンツ配信システムの全体構成の概略を説明する図である。このコンテンツ配信システム1は、コンテンツサーバ2、緊急データサーバ3、プッシュ配信サーバ4及び受信端末5−1〜5−4(以下、総称して受信端末5という。)を備えて構成される。プッシュ配信サーバ4とコンテンツサーバ2及び緊急データサーバ3とは、コンテンツ中継ネットワーク6を介して接続される。また、プッシュ配信サーバ4と複数の受信端末5とは、インターネット7を介して接続される。
Hereinafter, embodiments for carrying out the present invention will be described in detail with reference to the drawings.
[Content distribution system]
FIG. 1 is a diagram illustrating an outline of the overall configuration of a content distribution system according to an embodiment of the present invention. The content distribution system 1 includes a content server 2, an emergency data server 3, a push distribution server 4, and receiving terminals 5-1 to 5-4 (hereinafter collectively referred to as receiving terminals 5). The push delivery server 4, the content server 2, and the emergency data server 3 are connected via a content relay network 6. The push distribution server 4 and the plurality of receiving terminals 5 are connected via the Internet 7.

コンテンツサーバ2は、コンテンツの配信元となるサーバであり、コンテンツ中継ネットワーク6を介してプッシュ配信サーバ4と接続し、コンテンツをコンテンツ中継ネットワーク6、プッシュ配信サーバ4及びインターネット7を介して受信端末5へ送信する。コンテンツサーバ2は、1台だけでなく複数台であってもよい。コンテンツは、例えばテキスト、画像、動画、音声等の情報である。   The content server 2 is a server that is a content distribution source, is connected to the push distribution server 4 via the content relay network 6, and receives the content via the content relay network 6, the push distribution server 4, and the Internet 7. Send to. There may be a plurality of content servers 2 instead of only one. The content is information such as text, images, moving images, and audio.

緊急データサーバ3は、受信端末5のユーザに即座に伝えるべき緊急データの配信元となるサーバである。緊急データサーバ3は、コンテンツ中継ネットワーク6を介してプッシュ配信サーバ4と接続し、緊急データをコンテンツ中継ネットワーク6、プッシュ配信サーバ4及びインターネット7を介して受信端末5へ送信する。   The emergency data server 3 is a server that is a distribution source of emergency data that should be immediately transmitted to the user of the receiving terminal 5. The emergency data server 3 is connected to the push delivery server 4 via the content relay network 6 and transmits emergency data to the receiving terminal 5 via the content relay network 6, the push delivery server 4 and the Internet 7.

プッシュ配信サーバ4は、WebSocketプロトコルを用いて受信端末5と接続し、コンテンツサーバ2からのコンテンツ及び緊急データサーバ3からの緊急データを、インターネット7を介して受信端末5へプッシュ配信する。   The push distribution server 4 is connected to the receiving terminal 5 using the WebSocket protocol, and push-distributes the content from the content server 2 and the emergency data from the emergency data server 3 to the receiving terminal 5 via the Internet 7.

受信端末5は、WebSocketプロトコルを用いてプッシュ配信サーバ4と接続し、プッシュ配信サーバ4から送信されたコンテンツ及び緊急データを、インターネット7を介して受信し、受信したコンテンツ及び緊急データをユーザへ提示する。   The receiving terminal 5 is connected to the push delivery server 4 using the WebSocket protocol, receives the content and emergency data transmitted from the push delivery server 4 via the Internet 7, and presents the received content and emergency data to the user. To do.

〔データ及びフレームの構成〕
図2は、図1に示したコンテンツ配信システム1にて用いるデータ及びフレームの構成を示す図である。
[Data and frame structure]
FIG. 2 is a diagram showing the structure of data and frames used in the content distribution system 1 shown in FIG.

図2に示すコンテンツデータは、コンテンツサーバ2から送信されるコンテンツまたはコンテンツの一部である。また、図2に示す緊急データは、緊急データサーバ3から送信される緊急データまたは緊急データの一部である。コンテンツデータ及び緊急データは、例えばテキスト、画像、動画、音声等であり、緊急データは、コンテンツデータと同様に扱われる。   The content data shown in FIG. 2 is content transmitted from the content server 2 or a part of the content. The emergency data shown in FIG. 2 is emergency data transmitted from the emergency data server 3 or a part of emergency data. The content data and the emergency data are, for example, text, images, moving images, sounds, and the like, and the emergency data is handled in the same manner as the content data.

カプセル化データは、コンテンツデータにヘッダ情報及びトレイラ情報を付与することでカプセル化したデータである。ヘッダ情報は、コンテンツ識別子(Tag:タグ)及び開始/継続識別フラグ(hcode)を含んで構成され、トレイラ情報は、終了/継続識別フラグ(tcode)を含んで構成される。   The encapsulated data is data encapsulated by adding header information and trailer information to the content data. The header information includes a content identifier (Tag: tag) and a start / continuation identification flag (hcode), and the trailer information includes an end / continuation identification flag (tcode).

コンテンツ識別子(Tag)は、コンテンツデータを識別するためのタグであり、図2の例では0001が付与されている。開始/継続識別フラグ(hcode)は、カプセル化データがコンテンツデータの開始位置を含んでいるか否かを示すフラグである。hcode=1の場合は、コンテンツデータの開始位置を含んでおり、hcode=0の場合は、コンテンツデータの開始位置を含んでおらず、以前のカプセル化データと同一のコンテンツ識別子(Tag)のカプセル化データであって、以前のカプセル化データに継続するカプセル化データであることを示している。   The content identifier (Tag) is a tag for identifying content data, and 0001 is given in the example of FIG. The start / continuation identification flag (hcode) is a flag indicating whether or not the encapsulated data includes the start position of the content data. When hcode = 1, the start position of the content data is included. When hcode = 0, the start position of the content data is not included and the capsule of the same content identifier (Tag) as the previous encapsulated data is included. It is encapsulated data and indicates that the encapsulated data is continued from the previous encapsulated data.

終了/継続識別フラグ(tcode)は、カプセル化データがコンテンツデータの終了位置を含んでいるか否かを示すフラグである。tcode=1の場合は、コンテンツデータの終了位置を含んでおり、tcode=0の場合は、コンテンツデータの終了位置を含んでおらず、コンテンツデータの終了位置が、同一コンテンツ識別子(Tag)を有する以後のカプセル化データに含まれることを示している。   The end / continuation identification flag (tcode) is a flag indicating whether or not the encapsulated data includes the end position of the content data. When tcode = 1, the end position of the content data is included. When tcode = 0, the end position of the content data is not included, and the end position of the content data has the same content identifier (Tag). It is included in the encapsulated data thereafter.

フラグメント化フレームは、図12に示したWebSocketプロトコルに従ったフレームであり、カプセル化データが任意の大きさの断片データにフラグメント化され、その断片データがペイロードに格納されたフレームである。   The fragmented frame is a frame according to the WebSocket protocol shown in FIG. 12, and the encapsulated data is fragmented into fragment data of an arbitrary size, and the fragment data is stored in the payload.

図2の例は、カプセル化データが3つの断片データにフラグメント化され、その3つの断片データのそれぞれがフラグメント化フレームのペイロードに格納されていることを示している。フラグメント化フレームのヘッダに含まれるFIN及びopcodeの形式は、WebSocketプロトコルの仕様に従っている。先頭のフラグメント化フレームのヘッダには、FIN=0(3つ目の断片データが格納された最後のフラグメント化フレームではないことを示す)、opcode=2(バイナリフレームであることを示す)が設定されている。2番目のフラグメント化フレームのヘッダには、FIN=0、opcode=0(継続フレームであることを示す)が設定されている。最後のフラグメント化フレームのヘッダには、FIN=1(3つ目の断片データが格納された最後のフラグメント化フレームであることを示す)、opcode=0が設定されている。尚、図2のフラグメント化フレームの構成において、FIN及びopcode以外のヘッダの記述は省略されている。   The example of FIG. 2 shows that the encapsulated data is fragmented into three pieces of fragment data, and each of the three pieces of fragment data is stored in the payload of the fragmented frame. The FIN and opcode formats included in the header of the fragmented frame conform to the specifications of the WebSocket protocol. In the header of the first fragmented frame, FIN = 0 (indicating that it is not the last fragmented frame storing the third fragment data) and opcode = 2 (indicating that it is a binary frame) are set. Has been. FIN = 0 and opcode = 0 (indicating that it is a continuation frame) are set in the header of the second fragmented frame. In the header of the last fragmented frame, FIN = 1 (indicating that it is the last fragmented frame storing the third fragment data) and opcode = 0 are set. In the fragmented frame configuration of FIG. 2, descriptions of headers other than FIN and opcode are omitted.

中断フレームは、WebSocketプロトコルに従ったフレームであり、そのペイロードにはカプセル化データのトレイラ情報のみを含む。この中断フレームは、一つのカプセル化データに属するフラグメント化フレームの送信を中断するときに用いられる。受信側は、この中断フレームを受信することにより、そのフラグメント化フレームに対応するコンテンツデータの送信が中断することを認識することができる。   The interrupt frame is a frame according to the WebSocket protocol, and the payload includes only the trailer information of the encapsulated data. This interruption frame is used when transmission of fragmented frames belonging to one encapsulated data is interrupted. The receiving side can recognize that the transmission of the content data corresponding to the fragmented frame is interrupted by receiving this interrupted frame.

中断フレームのヘッダにはFIN=1(最後のフラグメント化フレームであることを示す)、opcode=0(継続フレームであることを示す)が設定され、ペイロードにはカプセル化データのtcode=0(コンテンツデータの終了位置は、同一コンテンツ識別子(Tag)を有する以後のカプセル化データに含まれることを示す)が設定されている。受信側は、中断フレームのヘッダがFIN=1である場合、WebSocketプロトコルに従った一連のフラグメント化フレームの受信処理を終了させることができる。   FIN = 1 (indicating that it is the last fragmented frame) and opcode = 0 (indicating that it is a continuation frame) are set in the header of the interruption frame, and tcode = 0 (content) in the payload The data end position is set to indicate that it is included in the encapsulated data thereafter having the same content identifier (Tag). When the header of the interruption frame is FIN = 1, the reception side can end the reception processing of a series of fragmented frames according to the WebSocket protocol.

再開フレームは、WebSocketプロトコルに従ったフレームであり、そのペイロードにはカプセル化データのヘッダ情報のみを含む。この再開フレームは、中断フレームにより中断されたフラグメント化フレームの送信を再開するときに用いられる。受信側は、この再開フレームを受信することにより、以前中断したコンテンツデータの送信が再開することを認識することができる。   The resume frame is a frame according to the WebSocket protocol, and its payload includes only the header information of the encapsulated data. This resume frame is used when transmission of the fragmented frame suspended by the suspended frame is resumed. The receiving side can recognize that the previously interrupted transmission of the content data is resumed by receiving this resume frame.

再開フレームのヘッダにはFIN=0(最後のフラグメント化フレームではないことを示す)、opcode=2(バイナリフレームであることを示す)が設定され、ペイロードには、送信が再開されるコンテンツデータのコンテンツ識別子(本例ではTag=0001)、及びhcode=0(コンテンツデータの開始位置を含んでいないことを示す)が設定されている。再開フレームのペイロードに、送信が再開されるコンテンツデータのコンテンツ識別子(Tag)が含まれているのは、送信が再開されるコンテンツデータのフラグメント化フレームにはそのコンテンツ識別子(Tag)が含まれていないからである。受信側は、この再開フレームを受信することにより、当該再開フレームに含まれるコンテンツ識別子(Tag)を、後に送信されるフラグメント化フレームのコンテンツ識別子(Tag)として認識することができる。   FIN = 0 (indicating that it is not the last fragmented frame) and opcode = 2 (indicating that it is a binary frame) are set in the header of the resume frame, and the content data whose transmission is resumed is set in the payload. A content identifier (Tag = 0001 in this example) and hcode = 0 (indicating that the start position of the content data is not included) are set. The content identifier (Tag) of the content data whose transmission is resumed is included in the payload of the resume frame. The content identifier (Tag) is included in the fragmented frame of the content data whose transmission is resumed. Because there is no. By receiving this resume frame, the receiving side can recognize the content identifier (Tag) included in the resume frame as the content identifier (Tag) of the fragmented frame transmitted later.

尚、前述のカプセル化データ、中断フレーム及び再開フレームは、従来技術に対して追加した新たなデータ及びフレームである。また、フラグメント化フレーム、中断フレーム及び再開フレームにカプセル化データのヘッダ情報またはトレイラ情報が含まれているか否かは、そのヘッダに格納されたFIN及びopcodeの組み合わせにより認識することができる。   The encapsulated data, the suspended frame, and the resume frame are new data and frames added to the conventional technology. Further, whether the header information or trailer information of the encapsulated data is included in the fragmented frame, the suspended frame, and the resume frame can be recognized by a combination of FIN and opcode stored in the header.

図3は、これらのフレームのヘッダに格納されたFIN及びopcodeの組み合わせと、カプセル化データのヘッダ情報及びトレイラ情報の存在との関係を示す図である。図3に示すように、フレームのヘッダに格納されたFIN及びopcodeの組み合わせから、フレームのペイロードにカプセル化データのヘッダ情報及び/またはトレイラ情報が格納されているか否かを認識することができる。   FIG. 3 is a diagram showing the relationship between the combination of FIN and opcode stored in the headers of these frames and the presence of header information and trailer information of encapsulated data. As shown in FIG. 3, it is possible to recognize whether header information and / or trailer information of encapsulated data is stored in the payload of the frame from the combination of FIN and opcode stored in the header of the frame.

例えば、フレームのヘッダにFIN=0及びopcode=0が格納されている場合、当該フレームのペイロードには、カプセル化データのヘッダ情報及びトレイラ情報が格納されていないことが認識される。また、フレームのヘッダにFIN=0及びopcode=2(0以外)が格納されている場合、当該フレームのペイロードには、カプセル化データのヘッダ情報が格納されており、トレイラ情報が格納されていないことが認識される。その他、フレームのヘッダにFIN=1及びopcode=0等が格納されている場合は、図3に示すとおりである。   For example, when FIN = 0 and opcode = 0 are stored in the header of the frame, it is recognized that the header information and trailer information of the encapsulated data are not stored in the payload of the frame. Further, when FIN = 0 and opcode = 2 (other than 0) are stored in the header of the frame, the header information of the encapsulated data is stored in the payload of the frame, and no trailer information is stored. It is recognized. In addition, when FIN = 1, opcode = 0, etc. are stored in the header of the frame, it is as shown in FIG.

このように、受信側は、受信したフレームのヘッダに格納されたFIN及びopcodeの組み合わせについて、図3に示した情報が格納されたテーブルを参照することにより、受信したフレームのペイロードにカプセル化データのヘッダ情報及び/またはトレイラ情報が格納されているか否かを認識することができる。   In this way, the receiving side refers to the table storing the information shown in FIG. 3 for the combination of FIN and opcode stored in the header of the received frame, thereby encapsulating data in the payload of the received frame. It is possible to recognize whether or not header information and / or trailer information is stored.

〔プッシュ配信サーバ〕
次に、図1に示したプッシュ配信サーバ4について説明する。図4は、本発明の実施形態によるプッシュ配信サーバ4の構成を示すブロック図である。このプッシュ配信サーバ4は、セッション制御手段10、コンテンツデータ入力手段11、緊急データ入力手段12、タグ管理手段13、フラグメント生成手段14、フラグメントバッファ15、緊急データフラグメント生成手段16、緊急データフラグメントバッファ17、フラグメント多重化手段18、パケット送信手段19及び通信I/F20,21を備えている。尚、プッシュ配信サーバ4は、複数組のコンテンツデータ入力手段11及びフラグメント生成手段14を備えるようにしてもよい。フラグメント多重化手段18及びパケット送信手段19によりフラグメント送信手段が構成される。
[Push delivery server]
Next, the push delivery server 4 shown in FIG. 1 will be described. FIG. 4 is a block diagram showing a configuration of the push delivery server 4 according to the embodiment of the present invention. The push delivery server 4 includes a session control unit 10, a content data input unit 11, an emergency data input unit 12, a tag management unit 13, a fragment generation unit 14, a fragment buffer 15, an emergency data fragment generation unit 16, and an emergency data fragment buffer 17 , A fragment multiplexing unit 18, a packet transmission unit 19, and communication I / Fs 20 and 21 are provided. The push delivery server 4 may include a plurality of sets of content data input means 11 and fragment generation means 14. The fragment multiplexing unit 18 and the packet transmitting unit 19 constitute a fragment transmitting unit.

セッション制御手段10は、受信端末5から通信I/F21を介して接続要求を受け付け、WebSocketプロトコルに従って、当該プッシュ配信サーバ4と接続要求を送信してきた受信端末5との間でコンテンツデータ送信用のセッションを確立する。また、セッション制御手段10は、受信端末5から通信I/F21を介して切断要求を受け付け、当該セッションを切断する。   The session control means 10 accepts a connection request from the receiving terminal 5 via the communication I / F 21 and transmits content data between the push distribution server 4 and the receiving terminal 5 that has transmitted the connection request according to the WebSocket protocol. Establish a session. Moreover, the session control means 10 receives a disconnection request from the receiving terminal 5 via the communication I / F 21 and disconnects the session.

コンテンツデータ入力手段11は、コンテンツサーバ2から通信I/F20を介してコンテンツデータを逐次受信し、受信したコンテンツデータをフラグメント生成手段14に出力する。   The content data input unit 11 sequentially receives content data from the content server 2 via the communication I / F 20 and outputs the received content data to the fragment generation unit 14.

緊急データ入力手段12は、緊急データサーバ3から通信I/F20を介して緊急データを受信し、受信した緊急データを緊急データフラグメント生成手段16に出力する。   The emergency data input unit 12 receives emergency data from the emergency data server 3 via the communication I / F 20 and outputs the received emergency data to the emergency data fragment generation unit 16.

タグ管理手段13は、当該プッシュ配信サーバ4において、同時期に配信されるコンテンツデータ及び緊急データを識別するためのコンテンツ識別子(タグ)を生成及び管理する。そして、タグ管理手段13は、当該プッシュ配信サーバ4によるコンテンツデータ及び緊急データの送信に応じて、対応するコンテンツデータのコンテンツ識別子(タグ)をフラグメント生成手段14に出力し、対応する緊急データのコンテンツ識別子(タグ)を緊急データフラグメント生成手段16に出力する。   The tag management means 13 generates and manages a content identifier (tag) for identifying content data and emergency data distributed at the same time in the push distribution server 4. Then, the tag management unit 13 outputs the content identifier (tag) of the corresponding content data to the fragment generation unit 14 in response to the transmission of the content data and the emergency data by the push delivery server 4, and the content of the corresponding emergency data The identifier (tag) is output to the emergency data fragment generator 16.

フラグメント生成手段14は、コンテンツデータ入力手段11からコンテンツデータを入力すると共に、タグ管理手段13からコンテンツ識別子(タグ)を入力し、コンテンツ識別子(タグ)をtagに設定すると共に、1をhcode及びtcodeにそれぞれ設定し、所定のヘッダ情報及び所定のトレイラ情報を生成し、コンテンツデータにヘッダ情報及びトレイラ情報を付与し、図2に示したカプセル化データを生成する。そして、フラグメント生成手段14は、生成したカプセル化データを所定のNバイト(例えば1kバイト)毎の断片データに分割し、所定のヘッダを生成して断片データにヘッダを付与すると共に、断片データをペイロードに格納し、図2に示したフラグメント化フレームを生成する。フラグメント生成手段14は、生成したフラグメント化フレームをフラグメントバッファ15に格納する。   The fragment generation unit 14 inputs content data from the content data input unit 11, inputs a content identifier (tag) from the tag management unit 13, sets the content identifier (tag) to tag, and sets 1 to hcode and tcode. 2 is generated, predetermined header information and predetermined trailer information are generated, header information and trailer information are added to the content data, and the encapsulated data shown in FIG. 2 is generated. Then, the fragment generation unit 14 divides the generated encapsulated data into fragment data for each predetermined N bytes (for example, 1 kbyte), generates a predetermined header, adds a header to the fragment data, and converts the fragment data into The fragmented frame shown in FIG. 2 is generated by storing in the payload. The fragment generation unit 14 stores the generated fragmented frame in the fragment buffer 15.

緊急データフラグメント生成手段16は、緊急データ入力手段12から緊急データを入力すると共に、タグ管理手段13からコンテンツ識別子(タグ)を入力し、コンテンツ識別子(タグ)をtagに設定する等して、所定のヘッダ情報及び所定のトレイラ情報を生成し、緊急データにヘッダ情報及びトレイラ情報を付与し、図2に示したカプセル化データを生成する。そして、緊急データフラグメント生成手段16は、生成したカプセル化データを所定のNバイト(例えば1kバイト)毎の断片データに分割し、所定のヘッダを生成して断片データにヘッダを付与すると共に、断片データをペイロードに格納し、図2に示したフラグメント化フレームを生成する。緊急データフラグメント生成手段16は、生成したフラグメント化フレームを緊急データフラグメントバッファ17に格納する。   The emergency data fragment generation means 16 inputs emergency data from the emergency data input means 12, inputs a content identifier (tag) from the tag management means 13, sets the content identifier (tag) to tag, etc. Header information and predetermined trailer information are generated, the header information and trailer information are added to the emergency data, and the encapsulated data shown in FIG. 2 is generated. Then, the urgent data fragment generation means 16 divides the generated encapsulated data into fragment data for each predetermined N bytes (for example, 1 kbyte), generates a predetermined header, and adds a header to the fragment data. Data is stored in the payload, and the fragmented frame shown in FIG. 2 is generated. The urgent data fragment generation means 16 stores the generated fragmented frame in the urgent data fragment buffer 17.

フラグメント多重化手段18は、フラグメントバッファ15及び緊急データフラグメントバッファ17にフラグメント化フレームが蓄積されているか否かを確認する。そして、フラグメント多重化手段18は、フラグメントバッファ15にフラグメント化フレームが蓄積されていることを確認すると、フラグメントバッファ15からフラグメント化フレームを読み出す。また、フラグメント多重化手段18は、緊急データフラグメントバッファ17にフラグメント化フレームが蓄積されていることを確認すると、緊急データフラグメントバッファ17からフラグメント化フレームを読み出す。この場合、フラグメント多重化手段18は、緊急データフラグメントバッファ17からの読み出し処理をフラグメントバッファ15からの読み出し処理よりも優先して行う。そして、フラグメント多重化手段18は、読み出したフラグメント化フレームを多重化し、フラグメント化フレームをパケット送信手段19に出力する。   The fragment multiplexing means 18 confirms whether or not fragmented frames are accumulated in the fragment buffer 15 and the emergency data fragment buffer 17. Then, when the fragment multiplexing unit 18 confirms that the fragmented frames are accumulated in the fragment buffer 15, the fragment multiplexing unit 18 reads the fragmented frames from the fragment buffer 15. When the fragment multiplexing means 18 confirms that the fragmented frames are accumulated in the emergency data fragment buffer 17, the fragment multiplexing means 18 reads the fragmented frames from the emergency data fragment buffer 17. In this case, the fragment multiplexing means 18 performs the reading process from the emergency data fragment buffer 17 with priority over the reading process from the fragment buffer 15. Then, the fragment multiplexing means 18 multiplexes the read fragmented frames and outputs the fragmented frames to the packet transmitting means 19.

ここで、フラグメント多重化手段18は、当該プッシュ配信サーバ4がコンテンツデータを送信しているときに緊急データを割り込んで送信する場合、図2に示した中断フレームを生成してパケット送信手段19に出力する。また、フラグメント多重化手段18は、中断したコンテンツデータの送信を再開する場合、図2に示した再開フレームを生成してパケット送信手段19に出力する。   Here, the fragment multiplexing means 18 generates the interruption frame shown in FIG. 2 and sends it to the packet transmission means 19 when interrupt data is transmitted when the push delivery server 4 is transmitting content data. Output. Further, when the transmission of the interrupted content data is resumed, the fragment multiplexing means 18 generates the resume frame shown in FIG. 2 and outputs it to the packet transmission means 19.

パケット送信手段19は、フラグメント多重化手段18からフラグメント化フレームを入力し、フラグメント化フレームをパケットに収容する。そして、パケット送信手段19は、フラグメント化フレームを収容したパケットを、当該プッシュ配信サーバ4と受信端末5との間で確立したコンテンツデータ送信用のセッションにより、通信I/F21を介して受信端末5へ送信する。   The packet transmission means 19 receives the fragmented frame from the fragment multiplexing means 18 and accommodates the fragmented frame in the packet. Then, the packet transmission means 19 sends the packet containing the fragmented frame to the reception terminal 5 via the communication I / F 21 by the content data transmission session established between the push delivery server 4 and the reception terminal 5. Send to.

(フラグメント多重化手段)
次に、図4に示したフラグメント多重化手段18の処理について詳細に説明する。図5は、フラグメント多重化手段18の処理を示すフローチャートである。まず、フラグメント多重化手段18は、緊急データフラグメントバッファ17にフラグメント化フレームが蓄積されているか否かを確認する(ステップS501)。フラグメント多重化手段18は、ステップS501において、緊急データフラグメントバッファ17にフラグメント化フレームが蓄積されていることを確認した場合(ステップS501:Y)、コンテンツデータのフラグメント化フレームを送信中であるか否かを判定する(ステップS502)。
(Fragment multiplexing means)
Next, the processing of the fragment multiplexing unit 18 shown in FIG. 4 will be described in detail. FIG. 5 is a flowchart showing the processing of the fragment multiplexing means 18. First, the fragment multiplexing means 18 checks whether or not fragmented frames are accumulated in the emergency data fragment buffer 17 (step S501). If the fragment multiplexing means 18 confirms in step S501 that fragmented frames are stored in the emergency data fragment buffer 17 (step S501: Y), whether or not the fragmented frames of content data are being transmitted. Is determined (step S502).

フラグメント多重化手段18は、ステップS502において、コンテンツデータのフラグメント化フレームを送信中であると判定した場合(ステップS502:Y)、図2に示した中断フレームを生成してパケット送信手段19に出力し(ステップS503)、ステップS504へ移行する。例えば、コンテンツデータのフラグメント化フレームを送信中であるとは、図2に示したフラグメント化フレームにおいて、1番目のフラグメント化フレームを送信した以降であり、3番目のフラグメント化フレームを送信する以前である場合をいう。これにより、送信中のコンテンツデータの送信が中断される。この場合、フラグメント多重化手段18は、送信を中断したコンテンツデータのコンテンツ識別子(Tag)を中断タグとして保持する。   When it is determined in step S502 that the fragmented frame of content data is being transmitted (step S502: Y), the fragment multiplexing unit 18 generates the interruption frame shown in FIG. 2 and outputs it to the packet transmission unit 19 (Step S503), the process proceeds to step S504. For example, the fact that a fragmented frame of content data is being transmitted is after the transmission of the first fragmented frame and before the transmission of the third fragmented frame in the fragmented frame shown in FIG. I say a case. Thereby, transmission of the content data being transmitted is interrupted. In this case, the fragment multiplexing means 18 holds the content identifier (Tag) of the content data whose transmission is interrupted as an interruption tag.

一方、フラグメント多重化手段18は、ステップS502において、コンテンツデータのフラグメント化フレームを送信中でないと判定した場合(ステップS502:N)、ステップS504へ移行する。   On the other hand, when it is determined in step S502 that the fragmented frame of content data is not being transmitted (step S502: N), the fragment multiplexing unit 18 proceeds to step S504.

フラグメント多重化手段18は、ステップS502またはステップS503から移行して、緊急データフラグメントバッファ17からフラグメント化フレームを読み出し、読み出した緊急データのフラグメント化フレームをパケット送信手段19に出力する(ステップS504)。そして、ステップS509へ移行する。   The fragment multiplexing means 18 moves from step S502 or step S503, reads the fragmented frame from the emergency data fragment buffer 17, and outputs the read fragmented frame of emergency data to the packet transmission means 19 (step S504). Then, the process proceeds to step S509.

一方、フラグメント多重化手段18は、ステップS501において、緊急データフラグメントバッファ17にフラグメント化フレームが蓄積されていないことを確認した場合(ステップS501:N)、フラグメントバッファ15にフラグメント化フレームが蓄積されているか否かを確認する(ステップS505)。フラグメント多重化手段18は、ステップS505において、フラグメントバッファ15にフラグメント化フレームが蓄積されていないことを確認した場合(ステップS505:N)、ステップS501へ移行する。   On the other hand, when the fragment multiplexing means 18 confirms in step S501 that no fragmented frames are accumulated in the emergency data fragment buffer 17 (step S501: N), the fragmented frames are accumulated in the fragment buffer 15. It is confirmed whether or not (step S505). If the fragment multiplexing means 18 confirms in step S505 that no fragmented frames are accumulated in the fragment buffer 15 (step S505: N), the fragment multiplexing means 18 proceeds to step S501.

一方、フラグメント多重化手段18は、ステップS505において、フラグメントバッファ15にフラグメント化フレームが蓄積されていることを確認した場合(ステップS505:Y)、フラグメントバッファ15に蓄積されているフラグメント化フレームのコンテンツデータについて、それと同一のコンテンツ識別子(Tag)のフラグメント化フレームの送信を中断しているか否かを確認する(ステップS506)。具体的には、フラグメント多重化手段18は、ステップS503において保持した中断タグが存在する場合であって、フラグメントバッファ15に蓄積されているフラグメント化フレームのコンテンツ識別子(Tag)と、その中断タグの示すコンテンツ識別子(Tag)とが同一であるか否かを確認する。これらのコンテンツ識別子(Tag)が同一の場合は、送信を中断していると判断し、同一でない場合は、送信を中断していないと判断する。   On the other hand, when the fragment multiplexing means 18 confirms that the fragmented frame is accumulated in the fragment buffer 15 in step S505 (step S505: Y), the content of the fragmented frame accumulated in the fragment buffer 15 For data, it is checked whether or not transmission of a fragmented frame having the same content identifier (Tag) is interrupted (step S506). Specifically, the fragment multiplexing means 18 is a case where the interruption tag held in step S503 is present, and the fragmented frame content identifier (Tag) stored in the fragment buffer 15 and the interruption tag It is confirmed whether or not the content identifier (Tag) shown is the same. When these content identifiers (Tag) are the same, it is determined that the transmission is interrupted, and when they are not the same, it is determined that the transmission is not interrupted.

フラグメント多重化手段18は、ステップS506において、当該コンテンツ識別子(Tag)のフラグメント化フレームの送信を中断していることを確認した場合(ステップS506:Y)、図2に示した再開フレームを生成してパケット送信手段19に出力し(ステップS507)、ステップS508へ移行する。この場合、フラグメント多重化手段18は、再開フレームのペイロードに格納するTag(送信を再開するコンテンツデータのTag)に、中断タグの示すコンテンツ識別子(Tag)を設定し、中断タグをクリアする。   When the fragment multiplexing means 18 confirms that the transmission of the fragmented frame of the content identifier (Tag) is interrupted in step S506 (step S506: Y), the fragment multiplexing means 18 generates the resume frame shown in FIG. To the packet transmission means 19 (step S507), and the process proceeds to step S508. In this case, the fragment multiplexing means 18 sets the content identifier (Tag) indicated by the interruption tag in Tag (Tag of content data whose transmission is to be resumed) stored in the payload of the resumption frame, and clears the interruption tag.

一方、フラグメント多重化手段18は、ステップS506において、当該コンテンツ識別子(Tag)のフラグメント化フレームの送信を中断していないことを確認した場合(ステップS506:N)、ステップS508へ移行する。   On the other hand, when the fragment multiplexing means 18 confirms in step S506 that transmission of the fragmented frame of the content identifier (Tag) has not been interrupted (step S506: N), the fragment multiplexing means 18 proceeds to step S508.

フラグメント多重化手段18は、ステップS506またはステップS507から移行して、フラグメントバッファ15からフラグメント化フレームを読み出し、読み出したコンテンツデータのフラグメント化フレームをパケット送信手段19に出力する(ステップS508)。そして、ステップS509へ移行する。   The fragment multiplexing means 18 moves from step S506 or step S507, reads the fragmented frame from the fragment buffer 15, and outputs the fragmented frame of the read content data to the packet transmitting means 19 (step S508). Then, the process proceeds to step S509.

フラグメント多重化手段18は、ステップS504またはステップS508から移行して、送信すべきコンテンツデータ及び緊急データに対応する全てのパケットの送信が終了しているか否かを判定し(ステップS509)、全てのパケットの送信が終了していないと判定した場合(ステップS509:N)、ステップS501へ移行し、全てのパケットの送信が終了していると判定した場合(ステップS509:Y)、処理を終了する。この場合、フラグメント多重化手段18は、セッション制御手段10からセッションが切断されたことを示す情報を入力したときに、全てのパケットの送信が終了していると判定し、処理を終了する。   The fragment multiplexing unit 18 proceeds from step S504 or step S508 to determine whether or not transmission of all packets corresponding to the content data and emergency data to be transmitted has been completed (step S509). If it is determined that packet transmission has not ended (step S509: N), the process proceeds to step S501. If it is determined that transmission of all packets has ended (step S509: Y), the process ends. . In this case, the fragment multiplexing means 18 determines that the transmission of all packets has been completed when the information indicating that the session has been disconnected is input from the session control means 10, and ends the processing.

〔送受信シーケンス〕
次に、コンテンツサーバ2、緊急データサーバ3、プッシュ配信サーバ4及び受信端末5におけるコンテンツデータ及び緊急データの送受信シーケンスについて説明する。図6は、その送受信シーケンスを説明する図である。
[Transmission / reception sequence]
Next, a transmission / reception sequence of content data and emergency data in the content server 2, the emergency data server 3, the push delivery server 4, and the receiving terminal 5 will be described. FIG. 6 is a diagram for explaining the transmission / reception sequence.

コンテンツサーバ2がコンテンツデータをプッシュ配信サーバ4へ送信すると(ステップS601)、プッシュ配信サーバ4は、コンテンツデータを受信し、コンテンツデータに対してコンテンツ識別子(Tag=1)を付与してカプセル化データ及びフラグメント化フレームを生成する(ステップS602)。そして、プッシュ配信サーバ4は、Tag=1のフラグメント化フレームを収容したパケットを受信端末5へ送信する(ステップS603)。   When the content server 2 transmits the content data to the push delivery server 4 (step S601), the push delivery server 4 receives the content data, gives a content identifier (Tag = 1) to the content data, and encapsulated data. And generate a fragmented frame (step S602). Then, the push delivery server 4 transmits a packet containing a fragmented frame with Tag = 1 to the receiving terminal 5 (step S603).

緊急データサーバ3が受信端末5のユーザに即座に伝えるべき緊急データを生成してプッシュ配信サーバ4へ送信すると(ステップS604)、プッシュ配信サーバ4は、緊急データを受信し、緊急データに対してコンテンツ識別子(Tag=2)を付与してカプセル化データ及びフラグメント化フレームを生成する(ステップS605)。そして、プッシュ配信サーバ4は、中断フレームを生成し(ステップS606)、中断フレームを収容したパケットを受信端末5へ送信する(ステップS607)。これにより、Tag=1のコンテンツデータの送信が中断する。   When the emergency data server 3 generates emergency data to be immediately transmitted to the user of the receiving terminal 5 and transmits it to the push delivery server 4 (step S604), the push delivery server 4 receives the emergency data, A content identifier (Tag = 2) is assigned to generate encapsulated data and a fragmented frame (step S605). Then, the push delivery server 4 generates an interruption frame (step S606), and transmits a packet containing the interruption frame to the receiving terminal 5 (step S607). As a result, transmission of content data with Tag = 1 is interrupted.

プッシュ配信サーバ4は、Tag=2のフラグメント化フレームを収容したパケット(緊急データのパケット)を受信端末5へ送信する(ステップS608)。そして、プッシュ配信サーバ4は、緊急データの送信が完了すると、中断していたTag=1のコンテンツデータの送信を再開するため、再開フレームを生成し(ステップS609)、再開フレームを収容したパケットを受信端末5へ送信する(ステップS610)。そして、プッシュ配信サーバ4は、Tag=1のフラグメント化フレームを収容したパケットを継続して受信端末5へ送信する(ステップS611)。   The push delivery server 4 transmits a packet (emergency data packet) containing a fragmented frame with Tag = 2 to the receiving terminal 5 (step S608). Then, when the transmission of the emergency data is completed, the push distribution server 4 generates a resumption frame in order to resume the transmission of the suspended content data of Tag = 1 (step S609), and transmits a packet containing the resumption frame. It transmits to the receiving terminal 5 (step S610). Then, the push delivery server 4 continuously transmits a packet containing a fragmented frame with Tag = 1 to the receiving terminal 5 (step S611).

これにより、プッシュ配信サーバ4からWebSocketプロトコルを用いてTag=1のコンテンツデータのフラグメント化フレームを配信しているときに、Tag=2の緊急データを割り込んで送信することができる。したがって、一般的なコンテンツデータを配信しているときに、緊急データを即座にユーザに伝えることができる。   Accordingly, when the fragmented frame of the content data with Tag = 1 is distributed from the push distribution server 4 using the WebSocket protocol, the emergency data with Tag = 2 can be interrupted and transmitted. Therefore, emergency data can be immediately transmitted to the user when general content data is distributed.

以上のように、本発明の実施形態によるプッシュ配信サーバ4によれば、フラグメント生成手段14は、コンテンツデータを入力すると、ヘッダ情報及びトレイラ情報を生成し、コンテンツデータにヘッダ情報及びトレイラ情報を付与してカプセル化し、カプセル化データを生成するようにした。そして、フラグメント生成手段14は、生成したカプセル化データを所定長毎の断片データに分割し、ヘッダを生成して断片データをペイロードに格納し、フラグメント化フレームを生成するようにした。ヘッダ情報には、コンテンツ識別子(Tag)、及びコンテンツデータの開始位置を含むか否かを示す開始/継続識別フラグ(hcode)を含む。トレイラ情報には、コンテンツデータの終了位置を含むか否かを示す終了/継続識別フラグ(tcode)を含む。   As described above, according to the push delivery server 4 according to the embodiment of the present invention, when the content data is input, the fragment generation means 14 generates header information and trailer information, and adds header information and trailer information to the content data. And encapsulated to generate encapsulated data. Then, the fragment generation means 14 divides the generated encapsulated data into fragment data for each predetermined length, generates a header, stores the fragment data in the payload, and generates a fragmented frame. The header information includes a content identifier (Tag) and a start / continuation identification flag (hcode) indicating whether or not the start position of the content data is included. The trailer information includes an end / continuation identification flag (tcode) indicating whether or not the end position of the content data is included.

また、緊急データフラグメント生成手段16は、緊急データを入力すると、フラグメント生成手段14と同様にカプセル化データを生成し、フラグメント化フレームを生成するようにした。   Further, when the emergency data is input, the emergency data fragment generation unit 16 generates the encapsulated data and generates the fragmented frame in the same manner as the fragment generation unit 14.

そして、フラグメント多重化手段18は、コンテンツデータのフラグメント化フレームを、パケット送信手段19を介して受信端末5へ送信しているときに、緊急データを割り込んで送信する場合、緊急データのフラグメント化フレームを送信する前に、中断フレームを受信端末5へ送信するようにした。これにより、プッシュ配信サーバ4は受信端末5に対して、コンテンツデータの送信が中断することを伝えることができ、受信端末5は、中断フレームを受信することで、コンテンツデータの送信が中断することを認識することができる。   When the fragment multiplexing unit 18 transmits the fragmented frame of the content data to the receiving terminal 5 via the packet transmission unit 19 and interrupts and transmits the emergency data, the fragment multiplexing unit 18 Before transmitting, the interruption frame is transmitted to the receiving terminal 5. Thereby, the push delivery server 4 can inform the receiving terminal 5 that the transmission of the content data is interrupted, and the receiving terminal 5 receives the interruption frame, thereby interrupting the transmission of the content data. Can be recognized.

そして、フラグメント多重化手段18は、緊急データの送信が終了すると、送信が中断していたコンテンツデータの送信を再開するための再開フレームを、受信端末5へ送信する。これにより、プッシュ配信サーバ4は受信端末5に対して、コンテンツデータの送信が再開することを伝えることができ、受信端末5は、再開フレームを受信することで、コンテンツデータの送信が再開することを認識することができる。再開フレームには、再開するコンテンツデータのコンテンツ識別子(Tag)を含む。   Then, when the transmission of the emergency data is completed, the fragment multiplexing unit 18 transmits a resume frame for resuming the transmission of the content data whose transmission has been interrupted to the receiving terminal 5. Thereby, the push delivery server 4 can inform the receiving terminal 5 that the transmission of the content data is resumed, and the receiving terminal 5 receives the resume frame, thereby restarting the transmission of the content data. Can be recognized. The resume frame includes the content identifier (Tag) of the content data to be resumed.

これにより、プッシュ配信サーバ4は、WebSocketプロトコルを用いてコンテンツデータのフラグメント化フレームを送信しているときに、当該コンテンツデータの全てのフラグメント化フレームの送信が終了するのを待つことなく、緊急データを割り込んで送信することができる。したがって、WebSocketプロトコルを用いたデータ配信において、緊急データを割り込んで受信端末5へ送信することができ、緊急データを即座にユーザに伝えることが可能となる。また、WebSocketプロトコルを用いて緊急データの割り込み送信を実現するから、WebSocketプロトコルを実装する既存のシステムを使用することができる。   As a result, the push delivery server 4 does not wait for the transmission of all the fragmented frames of the content data to be completed while transmitting the fragmented frames of the content data using the WebSocket protocol. Can be interrupted and sent. Therefore, in data distribution using the WebSocket protocol, emergency data can be interrupted and transmitted to the receiving terminal 5, and the emergency data can be immediately transmitted to the user. Further, since the emergency data is interrupted and transmitted using the WebSocket protocol, an existing system that implements the WebSocket protocol can be used.

〔受信端末〕
次に、図1に示した受信端末5について説明する。図7は、本発明の実施形態による受信端末5の構成を示すブロック図である。この受信端末5は、接続制御手段30、パケット受信手段31、フラグメント復元手段32、コンテンツデータ記憶手段33、デコーダ34、提示部35及び通信I/F36を備えている。
[Receiving terminal]
Next, the receiving terminal 5 shown in FIG. 1 will be described. FIG. 7 is a block diagram showing a configuration of the receiving terminal 5 according to the embodiment of the present invention. The receiving terminal 5 includes a connection control unit 30, a packet receiving unit 31, a fragment restoration unit 32, a content data storage unit 33, a decoder 34, a presentation unit 35, and a communication I / F 36.

接続制御手段30は、受信開始時に、接続要求を、通信I/F36を介してプッシュ配信サーバ4へ送信し、WebSocketプロトコルに従って、当該受信端末5とプッシュ配信サーバ4との間でコンテンツデータ受信用のセッションを確立する。また、接続制御手段30は、受信終了時に、切断要求を、通信I/F36を介してプッシュ配信サーバ4へ送信し、当該セッションを切断する。   The connection control means 30 transmits a connection request to the push delivery server 4 via the communication I / F 36 at the start of reception, and receives content data between the receiving terminal 5 and the push delivery server 4 according to the WebSocket protocol. Establish a session for. Moreover, the connection control means 30 transmits a cutting | disconnection request | requirement to the push delivery server 4 via communication I / F36 at the time of completion | finish of reception, and cut | disconnects the said session.

パケット受信手段31は、当該受信端末5とプッシュ配信サーバ4との間で確立したコンテンツデータ受信用のセッションにより、プッシュ配信サーバ4から通信I/F36を介してパケットを受信し、受信したパケットをフラグメント復元手段32に出力する。   The packet receiving unit 31 receives a packet from the push delivery server 4 via the communication I / F 36 by a content data reception session established between the receiving terminal 5 and the push delivery server 4, and receives the received packet. The data is output to the fragment restoration means 32.

フラグメント復元手段32は、パケット受信手段31からパケットを入力し、WebSocketのフレーミングプロトコルに従って、入力したパケットからフラグメント化フレーム、中断フレームまたは再開フレームを復元し、復元したフラグメント化フレーム、中断フレームまたは再開フレームのペイロードに格納されているデータを抽出する。これにより、フラグメント化フレームから、カプセル化データから分割された断片データが抽出され、中断フレームからtcode=0が抽出され、再開フレームからコンテンツ識別子(Tag)及びhcode=0が抽出される。中断フレーム及び再開フレームからは、カプセル化データから分割された断片データが抽出されることはない。   The fragment restoration means 32 receives a packet from the packet reception means 31, restores a fragmented frame, a suspended frame or a resume frame from the inputted packet according to the WebSocket framing protocol, and restores the restored fragmented frame, suspended frame or resume frame. Extract the data stored in the payload. As a result, fragment data divided from the encapsulated data is extracted from the fragmented frame, tcode = 0 is extracted from the interruption frame, and the content identifier (Tag) and hcode = 0 are extracted from the resume frame. Fragment data divided from the encapsulated data is not extracted from the suspended frame and the resume frame.

フラグメント復元手段32は、抽出したカプセル化データを構成する断片データから、コンテンツデータの断片及びコンテンツ識別子(Tag)を抽出し、コンテンツ識別子(Tag)に対応付けてコンテンツデータの断片をコンテンツデータ記憶手段33に格納する。この場合、フラグメント化フレームが、カプセル化データのヘッダ情報を含まない場合は、フラグメント復元手段32は、直前に復元したフラグメント化フレームのコンテンツ識別子(Tag)を用いて、当該コンテンツ識別子(Tag)に対応付けてコンテンツデータの断片をコンテンツデータ記憶手段33に格納する。尚、中断フレームまたは再開フレームの場合、コンテンツデータの断片がコンテンツデータ記憶手段33に格納されることはない。   The fragment restoration unit 32 extracts the content data fragment and the content identifier (Tag) from the fragment data constituting the extracted encapsulated data, and associates the content data fragment with the content identifier (Tag) to the content data storage unit. 33. In this case, when the fragmented frame does not include the header information of the encapsulated data, the fragment restoration unit 32 uses the content identifier (Tag) of the fragmented frame restored immediately before to set the content identifier (Tag). The content data fragments are stored in the content data storage means 33 in association with each other. In the case of an interrupt frame or a resume frame, a piece of content data is not stored in the content data storage means 33.

フラグメント復元手段32は、コンテンツデータを構成する全ての断片をコンテンツデータ記憶手段33に格納した場合、コンテンツデータの復元が完了したと判定し、コンテンツ識別子(Tag)に対応付けてコンテンツデータ復元完了フラグをコンテンツデータ記憶手段33に格納する。コンテンツデータ復元完了フラグは、一つのコンテンツデータの復元が完了したか否かを示すフラグである。つまり、フラグメント復元手段32は、復元したフラグメント化フレームにFIN=1、opcode=0、tcode=1が設定されており、当該フラグメント化フレームに含まれるコンテンツデータの断片をコンテンツデータ記憶手段33に格納した場合、コンテンツデータの復元が完了したと判定し、コンテンツデータ復元完了フラグをコンテンツデータ記憶手段33に格納する。   When all the fragments constituting the content data are stored in the content data storage unit 33, the fragment restoration unit 32 determines that the restoration of the content data is completed, and associates the content data with the content identifier (Tag). Is stored in the content data storage means 33. The content data restoration completion flag is a flag indicating whether restoration of one content data is completed. That is, the fragment restoration means 32 stores FIN = 1, opcode = 0, tcode = 1 in the restored fragmented frame, and stores the content data fragment contained in the fragmented frame in the content data storage means 33. In this case, it is determined that the restoration of the content data is completed, and the content data restoration completion flag is stored in the content data storage unit 33.

コンテンツデータ記憶手段33は、コンテンツ識別子(Tag)に対応付けてコンテンツデータの断片を記憶する。コンテンツデータ記憶手段33は、当該コンテンツ識別子(Tag)に対応するコンテンツデータの断片の全てを記憶したことを確認した場合、すなわち、当該コンテンツ識別子(Tag)に対応するコンテンツデータ復元完了フラグを記憶したことを確認した場合、当該コンテンツデータの復元が完了したと判定し、当該コンテンツ識別子(Tag)に対応する復元したコンテンツデータをデコーダ34に出力する。   The content data storage unit 33 stores a fragment of content data in association with the content identifier (Tag). The content data storage means 33 stores the content data restoration completion flag corresponding to the content identifier (Tag) when it is confirmed that all of the pieces of content data corresponding to the content identifier (Tag) are stored. If it is confirmed that the content data has been restored, the restored content data corresponding to the content identifier (Tag) is output to the decoder 34.

デコーダ34は、コンテンツデータ記憶手段33からその復元したコンテンツデータを入力し、入力したコンテンツデータをデコードし、提示部35に出力する。提示部35は、デコーダ34からデコードされたコンテンツデータを入力し、ユーザへ提示する。   The decoder 34 inputs the restored content data from the content data storage means 33, decodes the input content data, and outputs it to the presentation unit 35. The presentation unit 35 inputs the content data decoded from the decoder 34 and presents it to the user.

(受信端末の処理)
次に、図7に示した受信端末5の処理について詳細に説明する。図8は、受信端末5の処理を示すフローチャートである。まず、受信端末5のパケット受信手段31は、プッシュ配信サーバ4からパケットを受信し(ステップS801)、フラグメント復元手段32は、パケット受信手段31が受信したパケットからフラグメント化フレーム、中断フレームまたは再開フレームを復元し、復元したフレームのヘッダからFIN及びopcodeを抽出すると共に、ペイロードからカプセル化データを構成する断片データ等を抽出する(ステップS802)。前述のとおり、フラグメント化フレームの場合は、カプセル化データを構成する断片データが抽出され、中断フレームの場合はtcode=0が抽出され、再開フレームの場合はコンテンツ識別子(Tag、送信を再開するコンテンツデータのTag、以下「Tag」と記載する。)及びhcode=0が抽出される。
(Receiving terminal processing)
Next, the processing of the receiving terminal 5 shown in FIG. 7 will be described in detail. FIG. 8 is a flowchart showing processing of the receiving terminal 5. First, the packet receiving means 31 of the receiving terminal 5 receives a packet from the push delivery server 4 (step S801), and the fragment restoring means 32 is a fragmented frame, a suspended frame or a resume frame from the packet received by the packet receiving means 31. And FIN and opcode are extracted from the header of the restored frame, and fragment data constituting the encapsulated data is extracted from the payload (step S802). As described above, in the case of a fragmented frame, the fragment data constituting the encapsulated data is extracted, in the case of an interrupted frame, tcode = 0 is extracted, and in the case of a resume frame, the content identifier (Tag, content whose transmission is resumed) Data Tag, hereinafter referred to as “Tag”) and hcode = 0 are extracted.

フラグメント復元手段32は、FIN及びopcodeに基づいて、断片データ等に含まれるTag、hcode及びtcodeを抽出し、またはTag、hcode及びtcodeを設定する(ステップS803)。具体的には、フラグメント復元手段32は、図3に示したFIN及びopcodeの組み合わせとヘッダ情報及びトレイラ情報の存在との関係を示す情報が格納されたテーブルを参照し、復元したフレームから抽出したFIN及びopcodeに基づいて、フレームのペイロードにカプセル化データのヘッダ情報及び/またはトレイラ情報が格納されているか否かを認識する。そして、フラグメント復元手段32は、フレームのペイロードにカプセル化データのヘッダ情報が格納されている場合、ヘッダ情報に含まれるTag及びhcodeを抽出し、フレームのペイロードにカプセル化データのトレイラ情報が格納されている場合、トレイラ情報に含まれるtcodeを抽出する。また、フラグメント復元手段32は、これらの情報を抽出できない場合、tag、hcode及びtcodeを所定値に設定する。   The fragment restoration means 32 extracts Tag, hcode, and tcode included in the fragment data or the like based on FIN and opcode, or sets Tag, hcode, and tcode (step S803). Specifically, the fragment restoration unit 32 refers to a table in which information indicating the relationship between the combination of FIN and opcode shown in FIG. 3 and the presence of header information and trailer information is stored and extracted from the restored frame. Based on FIN and opcode, it is recognized whether header information and / or trailer information of encapsulated data is stored in the payload of the frame. When the header information of the encapsulated data is stored in the payload of the frame, the fragment restoration unit 32 extracts the Tag and hcode included in the header information, and the trailer information of the encapsulated data is stored in the payload of the frame. If so, tcode included in the trailer information is extracted. Further, the fragment restoring unit 32 sets tag, hcode, and tcode to predetermined values when such information cannot be extracted.

図9は、図8に示したTag、hcode及びtcodeの抽出/設定処理(ステップS803)を示すフローチャートであり、図11は、図9及び後述する図10の処理を説明する補足図である。フラグメント復元手段32は、抽出したヘッダのopcodeが0以外であるか否かを判定し(ステップS901)、opcodeが0以外であると判定した場合(ステップS901:Y)、抽出したカプセル化データを構成する断片データ等からそのヘッダ情報を復元し、Tag及びhcodeを抽出し(ステップS902)、ステップS904へ移行する。   FIG. 9 is a flowchart showing the Tag / hcode / tcode extraction / setting process (step S803) shown in FIG. 8, and FIG. 11 is a supplementary diagram for explaining the process of FIG. 9 and FIG. 10 described later. The fragment restoration means 32 determines whether or not the opcode of the extracted header is other than 0 (step S901). If it is determined that the opcode is other than 0 (step S901: Y), the extracted encapsulated data is stored. The header information is restored from the constituent fragment data and the like, Tag and hcode are extracted (step S902), and the process proceeds to step S904.

一方、フラグメント復元手段32は、ステップS901において、opcodeが0以外でないと判定した場合(ステップS901:N)、抽出したカプセル化データを構成する断片データ等にはそのヘッダ情報が存在しないから、直前に復元したフレームのTagを自身のTagに設定し、hcodeを0に設定し(ステップS903)、ステップS904へ移行する。   On the other hand, if the fragment restoration unit 32 determines in step S901 that the opcode is not other than 0 (step S901: N), since the header information does not exist in the fragment data constituting the extracted encapsulated data, The tag of the restored frame is set to its own tag, hcode is set to 0 (step S903), and the process proceeds to step S904.

これにより、図11に示すように、1番目に復元したフラグメント化フレームに対するステップS902の処理において、カプセル化データのヘッダ情報が復元され、Tag=0001及びhcode=1が抽出される。また、2番目及び3番目に復元したフラグメント化フレームに対するステップS903の処理において、Tag=0001(直前に復元した1番目のフラグメント化フレームから抽出したTag=0001)及びhcode=0に設定される。   As a result, as shown in FIG. 11, in the process of step S902 for the first restored fragmented frame, the header information of the encapsulated data is restored, and Tag = 0001 and hcode = 1 are extracted. In the process of step S903 for the second and third restored fragmented frames, Tag = 0001 (Tag = 0001 extracted from the first fragmented frame restored immediately before) and hcode = 0 are set.

図9に戻って、フラグメント復元手段32は、ステップS902またはステップS903から移行して、抽出したヘッダのFINが1であるか否かを判定し(ステップS904)、FINが1でないと判定した場合(ステップS904:N)、tcodeを0に設定する(ステップS906)。   Returning to FIG. 9, the fragment restoration unit 32 proceeds from step S902 or step S903 to determine whether the FIN of the extracted header is 1 (step S904), and determines that FIN is not 1 (Step S904: N), tcode is set to 0 (Step S906).

一方、フラグメント復元手段32は、ステップS904において、FINが1であると判定した場合(ステップS904:Y)、抽出したカプセル化データを構成する断片データ等からそのトレイラ情報を復元し、tcodeを抽出する(ステップS905)。   On the other hand, when it is determined in step S904 that FIN is 1 in step S904 (step S904: Y), the fragment restoration unit 32 restores the trailer information from the fragment data or the like constituting the extracted encapsulated data, and extracts the tcode. (Step S905).

これにより、図11に示すように、1番目に復元したフラグメント化フレームに対するステップS906の処理において、tcode=0に設定される。また、2番目及び3番目に復元したフラグメント化フレームに対するステップS905の処理において、カプセル化データのトレイラ情報が復元され、tcode=1が抽出される。   As a result, as shown in FIG. 11, tcode = 0 is set in the process of step S906 for the first restored fragmented frame. In the process of step S905 for the second and third restored fragmented frames, the trailer information of the encapsulated data is restored and tcode = 1 is extracted.

図8に戻って、フラグメント復元手段32は、ステップS803から移行して、抽出したカプセル化データを構成する断片データから、コンテンツデータの断片を抽出し、ステップS803において抽出または設定したTagに対応付けてコンテンツデータの断片をコンテンツデータ記憶手段33に格納する(ステップS804)。尚、中断フレーム及び再開フレームの場合はコンテンツデータの断片が存在しないから、フラグメント復元手段32は、コンテンツデータの断片を抽出することができず、コンテンツデータ記憶手段33への格納処理を行わない。   Returning to FIG. 8, the fragment restoration means 32 moves from step S803, extracts a piece of content data from the fragment data constituting the extracted encapsulated data, and associates it with the Tag extracted or set in step S803 The content data fragments are stored in the content data storage means 33 (step S804). In the case of the interruption frame and the resumption frame, there is no content data fragment, so the fragment restoration unit 32 cannot extract the content data fragment and does not perform the storage process in the content data storage unit 33.

図10は、図8に示したコンテンツデータの断片の抽出/格納処理(ステップS804)を示すフローチャートである。フラグメント復元手段32は、カプセル化データを構成する断片データからコンテンツデータの断片を抽出し(ステップS1001)、hcodeが1であるか否かを判定する(ステップS1002)。   FIG. 10 is a flowchart showing the content data fragment extraction / storage process (step S804) shown in FIG. The fragment restoration means 32 extracts the content data fragment from the fragment data constituting the encapsulated data (step S1001), and determines whether hcode is 1 (step S1002).

フラグメント復元手段32は、ステップS1002において、hcodeが1であると判定した場合(ステップS1002:Y)、当該コンテンツデータの断片は新たなコンテンツデータの最初の断片であると判断し、Tagと対応付けたコンテンツデータの断片を、コンテンツデータ記憶手段33に新たに格納する(ステップS1003)。一方、フラグメント復元手段32は、ステップS1002において、hcodeが1でないと判定した場合(ステップS1002:N)、当該コンテンツデータの断片は新たなコンテンツデータの断片ではなく、継続する断片であると判断し、Tagと対応付けたコンテンツデータの断片を、コンテンツデータ記憶手段33に格納することで、既に格納済みのコンテンツデータの末尾に追加する(ステップS1004)。   If the fragment restoration unit 32 determines in step S1002 that hcode is 1 (step S1002: Y), the fragment restoration unit 32 determines that the fragment of the content data is the first fragment of the new content data and associates it with the Tag. The content data fragment is newly stored in the content data storage means 33 (step S1003). On the other hand, when it is determined in step S1002 that hcode is not 1 (step S1002: N), the fragment restoration unit 32 determines that the content data fragment is not a new content data fragment but a continuous fragment. , A piece of content data associated with Tag is stored in the content data storage means 33, thereby adding it to the end of the already stored content data (step S1004).

これにより、図11に示すように、ステップS1003の処理にて、1番目のフラグメント化フレームから抽出されたコンテンツデータの断片Aが、Tag=0001に対応してコンテンツデータ記憶手段33に格納される。また、ステップS1004の処理にて、2番目及び3番目のフラグメント化フレームから抽出されたコンテンツデータの断片B,Cが、Tag=0001に対応してコンテンツデータ記憶手段33に格納される。   As a result, as shown in FIG. 11, the content data fragment A extracted from the first fragmented frame is stored in the content data storage means 33 in correspondence with Tag = 0001 as shown in FIG. . Also, in the process of step S1004, the content data fragments B and C extracted from the second and third fragmented frames are stored in the content data storage means 33 corresponding to Tag = 0001.

図8に戻って、フラグメント復元手段32は、ステップS804から移行して、tcodeが1であるか否かを判定し(ステップS805)、tcodeが1でないと判定した場合(ステップS805:N)、コンテンツデータの復元が終了していないと判断してステップS801へ移行し、ステップS801からステップS804にて次のフラグメント化フレームに対する処理を行い、コンテンツデータの断片をコンテンツデータ記憶手段33に格納する。   Returning to FIG. 8, the fragment restoration unit 32 proceeds from step S804 to determine whether or not tcode is 1 (step S805), and when it is determined that tcode is not 1 (step S805: N), If it is determined that the restoration of the content data has not been completed, the process proceeds to step S801. In step S801 to step S804, the next fragmented frame is processed, and the content data fragment is stored in the content data storage unit 33.

一方、フラグメント復元手段32は、ステップS805において、tcodeが1であると判定した場合(ステップS805:Y)、コンテンツデータを構成する全ての断片が揃ったためコンテンツデータの復元が終了したと判断し、当該Tagに対応付けたコンテンツデータ復元完了フラグをコンテンツデータ記憶手段33に格納する。   On the other hand, if the fragment restoration unit 32 determines in step S805 that tcode is 1 (step S805: Y), the fragment restoration unit 32 determines that the restoration of the content data is completed because all the pieces constituting the content data are prepared, A content data restoration completion flag associated with the Tag is stored in the content data storage means 33.

コンテンツデータ記憶手段33は、当該Tagに対応するコンテンツデータ復元完了フラグを記憶したことを確認し、当該Tagに対応するコンテンツデータをデコーダ34に出力する(ステップS806)。デコーダ34は、コンテンツデータ記憶手段33からコンテンツデータを入力し、入力したコンテンツデータをデコードして提示部35に出力し、提示部35は、コンテンツデータをユーザへ提示する(ステップS807)。   The content data storage unit 33 confirms that the content data restoration completion flag corresponding to the Tag has been stored, and outputs the content data corresponding to the Tag to the decoder 34 (step S806). The decoder 34 inputs the content data from the content data storage means 33, decodes the input content data and outputs it to the presentation unit 35, and the presentation unit 35 presents the content data to the user (step S807).

受信端末5は、全てのパケットの受信を終了したか、またはプッシュ配信サーバ4との間のセッションを切断したかにより、受信終了であるか否かを判定し(ステップS808)、受信終了でないと判定した場合(ステップS808:N)、ステップS801へ移行し、受信終了であると判定した場合(ステップS808:Y)、処理を終了する。   The receiving terminal 5 determines whether or not the reception is finished depending on whether or not the reception of all the packets is finished or the session with the push delivery server 4 is disconnected (step S808). If it is determined (step S808: N), the process proceeds to step S801, and if it is determined that reception is completed (step S808: Y), the process is terminated.

ここで、フラグメント復元手段32は、ステップS802において、パケットから中断フレームを復元した場合、中断フレームのヘッダからFIN=1及びopcode=0を抽出し、ペイロードからデータ(tcode=0)を抽出する。そして、フラグメント復元手段32は、ステップS901、ステップS903、ステップS904、ステップS905、ステップS1001及びステップS1002の処理を行い、ステップS1004において、コンテンツデータ記憶手段33への格納処理を行わない。   Here, when the suspended frame is restored from the packet in step S802, the fragment restoring unit 32 extracts FIN = 1 and opcode = 0 from the header of the suspended frame, and extracts data (tcode = 0) from the payload. Then, the fragment restoration unit 32 performs the processing of step S901, step S903, step S904, step S905, step S1001, and step S1002, and does not perform the storage processing in the content data storage unit 33 in step S1004.

また、フラグメント復元手段32は、ステップS802において、パケットから再開フレームを復元した場合、再開フレームのヘッダからFIN=0及びopcode=2を抽出し、ペイロードからデータ(Tag及びhcode=0)を抽出する。そして、フラグメント復元手段32は、ステップS901、ステップS902、ステップS904、ステップS906、ステップS1001及びステップS1002の処理を行い、ステップS902において、Tag及びhcode=0を抽出し、ステップS1004において、コンテンツデータ記憶手段33への格納処理を行わない。   Further, when the resuming frame is reconstructed from the packet in step S802, the fragment reconstructing means 32 extracts FIN = 0 and opcode = 2 from the header of the resuming frame, and extracts data (Tag and hcode = 0) from the payload. . Then, the fragment restoration means 32 performs the processing of Step S901, Step S902, Step S904, Step S906, Step S1001, and Step S1002, extracts Tag and hcode = 0 in Step S902, and stores the content data in Step S1004. The storage process to the means 33 is not performed.

これにより、受信端末5は、フラグメント化フレームと同様のWebSocketプロトコルに従った処理により、中断フレーム及び再開フレームに対する処理を行うことができる。また、コンテンツデータ記憶手段33には、Tagに対応付けてコンテンツデータの断片が格納されるから、通常のコンテンツデータの断片とは別に、緊急データの断片を格納することができる。したがって、コンテンツデータ記憶手段33に、通常のコンテンツデータの断片及び緊急データの断片が格納された場合であっても、通常のコンテンツデータと緊急データとを区別することができ、デコーダ34は、通常のコンテンツデータに対して割り込んだ緊急データをデコードし、提示部35が緊急データをユーザへ提示することができる。   Accordingly, the receiving terminal 5 can perform processing for the suspended frame and the resume frame by processing according to the WebSocket protocol similar to the fragmented frame. In addition, since the content data fragment is stored in the content data storage unit 33 in association with the tag, the emergency data fragment can be stored separately from the normal content data fragment. Therefore, even when normal content data fragments and emergency data fragments are stored in the content data storage means 33, normal content data and emergency data can be distinguished. The emergency data interrupted with respect to the content data can be decoded, and the presentation unit 35 can present the emergency data to the user.

以上のように、本発明の実施形態による受信端末5によれば、フラグメント復元手段32は、受信したコンテンツデータのフラグメント化フレーム毎に、これらのペイロードからデータを抽出し、ヘッダからFIN及びopcodeを抽出して所定のテーブル(図3に示した情報が格納されたテーブル)を参照することで、抽出したデータを用いて、カプセル化データのヘッダ情報(Tag及びhcode)及びトレイラ情報(tcode)を抽出または設定するようにした。そして、フラグメント復元手段32は、フラグメント化フレーム毎に、ペイロードから抽出したデータからコンテンツデータの断片を抽出し、Tagに対応付けてコンテンツデータの断片をコンテンツデータ記憶手段33に格納することで、コンテンツデータを復元するようにした。緊急データを受信する場合も、コンテンツデータと同様の処理にて、緊急データを復元することができる。   As described above, according to the receiving terminal 5 according to the embodiment of the present invention, the fragment restoration unit 32 extracts data from these payloads for each fragmented frame of the received content data, and calculates FIN and opcode from the header. By extracting and referring to a predetermined table (a table in which information shown in FIG. 3 is stored), using the extracted data, header information (Tag and hcode) and trailer information (tcode) of the encapsulated data are obtained. Extracted or set. Then, for each fragmented frame, the fragment restoration unit 32 extracts the content data fragment from the data extracted from the payload, and stores the content data fragment in the content data storage unit 33 in association with the Tag. The data was restored. Even when urgent data is received, the urgent data can be restored by the same processing as the content data.

また、フラグメント復元手段32は、受信した中断フレーム(ヘッダにFIN=1及びopcode=0を含み、ペイロードにカプセル化データのトレイラ情報であるtcode=0を含む)及び再開フレーム(ヘッダにFIN=0及びopcode=2を含み、ペイロードにカプセル化データのヘッダ情報であるTag及びhcode=0を含む)に対し、フラグメント化フレームと同様の処理を行うようにした。この場合、中断フレーム及び再開フレームには、コンテンツデータの断片が含まれないから、中断フレーム及び再開フレームからコンテンツデータの断片は抽出されない。また、再開フレームには、送信が再開するコンテンツデータのTagが含まれるから、受信端末5は、後続して受信するフラグメント化フレームに含まれるコンテンツデータの断片のTagを認識することができる。   Also, the fragment restoration means 32 receives the received suspended frame (FIN = 1 and opcode = 0 in the header, and tcode = 0, which is the trailer information of the encapsulated data in the payload) and the resume frame (FIN = 0 in the header). And opcode = 2 and the payload includes Tag and hcode = 0 which are header information of the encapsulated data), and the same processing as the fragmented frame is performed. In this case, the content data fragment is not extracted from the interruption frame and the resume frame because the content frame fragment is not included in the interruption frame and the resume frame. Further, since the resume frame includes the tag of the content data whose transmission is resumed, the receiving terminal 5 can recognize the tag of the fragment of the content data included in the subsequent fragmented frame.

つまり、受信端末5は、コンテンツデータのフラグメント化フレームを受信しているときに、中断フレームを受信し、緊急データの全てのフラグメント化フレームを受信して緊急データを復元する。そして、受信端末5は、再開フレームを受信し、後続するコンテンツデータの残りのフラグメント化フレームを受信してコンテンツデータを復元する。   In other words, the receiving terminal 5 receives the interruption frame while receiving the fragmented frame of the content data, receives all the fragmented frames of the emergency data, and restores the emergency data. The receiving terminal 5 receives the resume frame, receives the remaining fragmented frames of the subsequent content data, and restores the content data.

これにより、受信端末5は、プッシュ配信サーバ4からWebSocketプロトコルを用いてコンテンツデータのフラグメント化フレームを受信しているときに、当該コンテンツデータの全てのフラグメント化フレームの受信が終了するのを待つことなく、緊急データを割り込んで受信することができる。これにより、WebSocketプロトコルを用いたデータ配信において、緊急データを割り込んで受信することができ、緊急データを即座にユーザに伝えることが可能となる。   Thus, when receiving terminal 5 receives a fragmented frame of content data from push distribution server 4 using the WebSocket protocol, reception terminal 5 waits for reception of all the fragmented frames of the content data to end. Without receiving emergency data. Accordingly, in data distribution using the WebSocket protocol, emergency data can be interrupted and received, and the emergency data can be immediately transmitted to the user.

また、受信端末5は、緊急データの割り込みを受けた場合、これまでに受信したコンテンツデータの断片を破棄する必要がない。また、受信端末5は、緊急データを復元した後に、これまでに受信したコンテンツデータの断片と、後続するフラグメント化フレームのペイロードに含まれるコンテンツデータの断片とを連結し、元のコンテンツデータを復元することができる。したがって、プッシュ配信サーバ4においてコンテンツデータを再送する等の処理が不要になり、受信端末5においても再送されたフラグメント化フレームの受信処理が不要になり、データの伝送効率が向上する。また、WebSocketプロトコルを用いて緊急データの割り込み受信を実現するから、WebSocketプロトコルを実装する既存のシステムを使用することができる。   Further, when receiving the emergency data interrupt, the receiving terminal 5 does not need to discard the pieces of content data received so far. In addition, after restoring the emergency data, the receiving terminal 5 concatenates the content data fragment received so far and the content data fragment included in the payload of the subsequent fragmented frame to restore the original content data. can do. Therefore, processing such as retransmission of content data in the push delivery server 4 is not required, and reception processing of the retransmitted fragmented frame is also not required in the receiving terminal 5, thereby improving data transmission efficiency. In addition, since the interruption reception of emergency data is realized using the WebSocket protocol, an existing system that implements the WebSocket protocol can be used.

本発明の実施形態による受信端末5は、受信したフラグメント化フレーム毎に、カプセル化データのヘッダ情報であるTag及びhcode並びにトレイラ情報であるtcodeを抽出または設定し、フラグメント化フレームからコンテンツデータの断片を抽出してコンテンツデータ記憶手段33に格納するようにした。この受信処理は、カプセル化データを生成することなく、フラグメント化フレームからコンテンツデータの断片を直接抽出し、コンテンツデータを復元するものである。これに対し、受信したフラグメント化フレームからカプセル化データを生成し、カプセル化データからコンテンツデータを復元するようにしてもよい。   The receiving terminal 5 according to the embodiment of the present invention extracts or sets Tag and hcode which are header information of encapsulated data and tcode which is trailer information for each received fragmented frame, and fragments of content data from the fragmented frame Is extracted and stored in the content data storage means 33. In this reception process, without generating encapsulated data, a piece of content data is directly extracted from the fragmented frame to restore the content data. On the other hand, the encapsulated data may be generated from the received fragmented frame, and the content data may be restored from the encapsulated data.

具体的には、本発明による他の実施形態の受信端末5は、受信したフラグメント化フレームをバッファに格納し、フラグメント化フレームのヘッダに格納されたFINが1であることを判定した場合、それまでにバッファに格納したフラグメント化フレームからカプセル化データの断片データを抽出し、断片データを結合してカプセル化データを生成し、カプセル化データからコンテンツデータを抽出してTagと対応付けてコンテンツデータ記憶手段33に格納する。これにより、コンテンツデータが復元される。   Specifically, when the receiving terminal 5 according to another embodiment of the present invention stores the received fragmented frame in a buffer and determines that the FIN stored in the header of the fragmented frame is 1, The fragment data of the encapsulated data is extracted from the fragmented frame stored in the buffer before, the fragment data is combined to generate the encapsulated data, the content data is extracted from the encapsulated data, and the content data is associated with the Tag Store in the storage means 33. Thereby, the content data is restored.

また、他の実施形態による受信端末5は、中断フレームを受信した場合には、中断フレームのヘッダに格納されたFINが1であることを判定し、それまでにバッファに格納したフラグメント化フレームからカプセル化データの断片データを抽出し、前述と同様の処理にて、断片データを結合して途中のカプセル化データを生成し、途中のカプセル化データから断片を抽出してTagと対応付けてコンテンツデータ記憶手段33に格納する。そして、受信端末5は、再開フレームを受信した場合、後続するフラグメント化フレームを受信してFINが1であることを判定した場合、それまでにバッファに格納したフラグメント化フレームからカプセル化データの断片データを抽出し、前述と同様の処理にて、断片データを結合して途中のカプセル化データを生成し、途中のカプセル化データから断片を抽出してTagと対応付けてコンテンツデータ記憶手段33に格納する。これにより、コンテンツデータが復元される。   In addition, when receiving the interruption frame, the receiving terminal 5 according to another embodiment determines that the FIN stored in the header of the interruption frame is 1, and determines from the fragmented frames stored in the buffer until then. Extract the fragment data of the encapsulated data, combine the fragment data in the same process as described above to generate encapsulated data in the middle, extract the fragments from the encapsulated data in the middle, and associate them with the tag content Store in the data storage means 33. When the receiving terminal 5 receives the resume frame, receives the subsequent fragmented frame, and determines that FIN is 1, the fragment of encapsulated data from the fragmented frame stored in the buffer until then. Data is extracted and fragmented data are combined to generate encapsulated data in the same way as described above, and fragments are extracted from the encapsulated data in the middle and associated with the Tag in the content data storage means 33. Store. Thereby, the content data is restored.

このように、本発明による他の実施形態による受信端末5によれば、フラグメント化フレーム毎に、カプセル化データのヘッダ情報であるTag及びhcode並びにトレイラ情報であるtcodeを抽出または設定する処理が不要になるから、処理負担を軽減することができる。   As described above, according to the receiving terminal 5 according to another embodiment of the present invention, it is unnecessary to extract or set Tag and hcode that are header information of encapsulated data and tcode that is trailer information for each fragmented frame. Therefore, the processing burden can be reduced.

尚、本発明の実施形態によるプッシュ配信サーバ4のハードウェア構成、並びに本発明の実施形態及び他の実施形態による受信端末5のハードウェア構成としては、通常のコンピュータをそれぞれ使用することができる。プッシュ配信サーバ4及び受信端末5は、CPU、RAM等の揮発性の記憶媒体、ROM等の不揮発性の記憶媒体、及びインターフェース等を備えたコンピュータによってそれぞれ構成される。プッシュ配信サーバ4に備えたセッション制御手段10、コンテンツデータ入力手段11、緊急データ入力手段12、タグ管理手段13、フラグメント生成手段14、フラグメントバッファ15、緊急データフラグメント生成手段16、緊急データフラグメントバッファ17、フラグメント多重化手段18、パケット送信手段19、通信I/F20,21の各機能は、これらの機能を記述したプログラムをCPUに実行させることによりそれぞれ実現される。また、受信端末5に備えた接続制御手段30、パケット受信手段31、フラグメント復元手段32、コンテンツデータ記憶手段33、デコーダ34、提示部35及び通信I/F36の各機能も、これらの機能を記述したプログラムをCPUに実行させることによりそれぞれ実現される。これらのプログラムは、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスク等)、光ディスク(CD−ROM、DVD等)、半導体メモリ等の記憶媒体に格納して頒布することもでき、ネットワークを介して送受信することもできる。   Note that, as the hardware configuration of the push delivery server 4 according to the embodiment of the present invention and the hardware configuration of the receiving terminal 5 according to the embodiment of the present invention and other embodiments, a normal computer can be used. The push delivery server 4 and the receiving terminal 5 are each configured by a computer having a CPU, a volatile storage medium such as a RAM, a non-volatile storage medium such as a ROM, and an interface. Session control means 10, content data input means 11, emergency data input means 12, tag management means 13, fragment generation means 14, fragment buffer 15, emergency data fragment generation means 16, emergency data fragment buffer 17 provided in the push delivery server 4 The functions of the fragment multiplexing unit 18, the packet transmission unit 19, and the communication I / Fs 20 and 21 are realized by causing the CPU to execute a program describing these functions. The functions of the connection control means 30, the packet reception means 31, the fragment restoration means 32, the content data storage means 33, the decoder 34, the presentation unit 35, and the communication I / F 36 provided in the receiving terminal 5 also describe these functions. Each program is realized by causing the CPU to execute the program. These programs can be stored and distributed on a storage medium such as a magnetic disk (floppy (registered trademark) disk, hard disk, etc.), optical disk (CD-ROM, DVD, etc.), semiconductor memory, etc., and sent and received via a network. You can also

以上、実施形態を挙げて本発明を説明したが、本発明は前記実施形態に限定されるものではなく、その技術思想を逸脱しない範囲で種々変形可能である。前記実施形態では、データを送信しているときに、緊急データを割り込んで送信する場合について説明したが、本発明は、データを送信しているときに、緊急データではない他のデータを割り込んで送信する場合、または複数の異なるデータを並列に送信する場合にも適用がある。   The present invention has been described with reference to the embodiment. However, the present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the technical idea thereof. In the above embodiment, the case where emergency data is interrupted and transmitted when data is being transmitted has been described. However, the present invention interrupts other data that is not emergency data when data is being transmitted. This also applies to the case of transmitting, or when transmitting a plurality of different data in parallel.

1 コンテンツ配信システム
2 コンテンツサーバ
3 緊急データサーバ
4 プッシュ配信サーバ
5 受信端末
6 コンテンツ中継ネットワーク
7 インターネット
10 セッション制御手段
11 コンテンツデータ入力手段
12 緊急データ入力手段
13 タグ管理手段
14 フラグメント生成手段
15 フラグメントバッファ
16 緊急データフラグメント生成手段
17 緊急データフラグメントバッファ
18 フラグメント多重化手段
19 パケット送信手段
20,21,36 通信I/F
30 接続制御手段
31 パケット受信手段
32 フラグメント復元手段
33 コンテンツデータ記憶手段
34 デコーダ
35 提示部
DESCRIPTION OF SYMBOLS 1 Content delivery system 2 Content server 3 Emergency data server 4 Push delivery server 5 Receiving terminal 6 Content relay network 7 Internet 10 Session control means 11 Content data input means 12 Emergency data input means 13 Tag management means 14 Fragment generation means 15 Fragment buffer 16 Emergency data fragment generation means 17 Emergency data fragment buffer 18 Fragment multiplexing means 19 Packet transmission means 20, 21, 36 Communication I / F
30 connection control means 31 packet receiving means 32 fragment restoration means 33 content data storage means 34 decoder 35 presentation unit

Claims (8)

WebSocketプロトコルを用いて所定のデータを受信端末へ送信するプッシュ配信サーバにおいて、
所定のデータを入力し、前記データに対し、前記データの識別子、及び前記データの開始位置を含むか否かを示す開始/継続識別フラグを含むヘッダ情報を付与すると共に、前記データの終了位置を含むか否かを示す終了/継続識別フラグを含むトレイラ情報を付与してカプセル化データを生成し、前記カプセル化データを所定長毎の断片データに分割し、前記断片データのそれぞれについて、前記断片データを送信するフラグメント化フレームが、前記カプセル化データから分割された最後の断片データを送信するものであるか否かを示す第1の制御情報、及び前記断片データを送信するフラグメント化フレームが、前記カプセル化データから分割された途中の断片データを継続して送信するものであるか否かを示す第2の制御情報を生成し、前記WebSocketプロトコルに用いる前記第1及び第2の制御情報を含むへッダを付与し、前記断片データをペイロードに格納してフラグメント化フレームを生成するフラグメント生成手段と、
前記フラグメント生成手段により生成されたフラグメント化フレームを前記受信端末へ送信するフラグメント送信手段と、を備え、
前記フラグメント送信手段は、
前記データのフラグメント化フレームの送信を中断し、他のデータのフラグメント化フレームを割り込んで送信する場合、
前記WebSocketプロトコルに用いるヘッダを付与して、前記終了位置を含まないことを示す前記終了/継続識別フラグをペイロードに格納した中断フレームを生成し、前記中断フレームを前記受信端末へ送信し、
前記中断したデータのフラグメント化フレームの送信を再開する場合、
前記WebSocketプロトコルに用いるヘッダを付与して、前記中断したデータの識別子、及び前記開始位置を含まないことを示す前記開始/継続識別フラグをペイロードに格納した再開フレームを生成し、前記再開フレームを前記受信端末へ送信する、ことを特徴とするプッシュ配信サーバ。
In a push delivery server that transmits predetermined data to a receiving terminal using the WebSocket protocol,
Predetermined data is input, header information including a start / continuation identification flag indicating whether or not the data includes an identifier of the data and a start position of the data is added, and an end position of the data is set. Trailer information including an end / continuation identification flag indicating whether or not to include is generated to generate encapsulated data, the encapsulated data is divided into fragment data of a predetermined length, and each of the fragment data First control information indicating whether a fragmented frame for transmitting data is for transmitting the last fragment data divided from the encapsulated data, and a fragmented frame for transmitting the fragment data, Generation of second control information indicating whether or not to continuously transmit fragment data in the middle of division from the encapsulated data , Said header imparted to WebSocket including the first and second control information used in the protocol, the fragment generator means for generating a fragmentation frame stores the fragment data in the payload,
Fragment transmitting means for transmitting the fragmented frame generated by the fragment generating means to the receiving terminal,
The fragment transmission means includes
When the transmission of the fragmented frame of the data is interrupted and the fragmented frame of other data is interrupted and transmitted,
Adding a header used for the WebSocket protocol, generating an interrupt frame storing the end / continuation identification flag indicating that the end position is not included in a payload, and transmitting the interrupt frame to the receiving terminal;
When resuming transmission of the interrupted data fragmentation frame,
A header used for the WebSocket protocol is added to generate a resume frame in which the identifier of the interrupted data and the start / continuation identification flag indicating that the start position is not included are stored in a payload, and the resume frame is A push delivery server characterized by transmitting to a receiving terminal.
請求項1に記載のプッシュ配信サーバにおいて、
前記フラグメント送信手段に代わる新たなフラグメント送信手段は、
前記データのフラグメント化フレームの送信を中断し、他のデータのフラグメント化フレームを割り込んで送信する場合、
前記WebSocketプロトコルに用いるヘッダを付与して、前記終了位置を含まないことを示す前記終了/継続識別フラグをペイロードに格納した中断フレームを生成し、前記中断フレームを前記受信端末へ送信し、前記他のデータのフラグメント化フレームを前記受信端末へ送信し、
前記中断したデータのフラグメント化フレームの送信を再開する場合、
前記他のデータにおける全てのフラグメント化フレームを前記受信端末へ送信した後、前記WebSocketプロトコルに用いるヘッダを付与して、前記中断したデータの識別子、及び前記開始位置を含まないことを示す前記開始/継続識別フラグをペイロードに格納した再開フレームを生成し、前記再開フレームを前記受信端末へ送信し、前記中断したデータにおける残りのフラグメント化フレームを前記受信端末へ送信する、ことを特徴とするプッシュ配信サーバ。
In the push delivery server according to claim 1,
A new fragment transmission means replacing the fragment transmission means is:
When the transmission of the fragmented frame of the data is interrupted and the fragmented frame of other data is interrupted and transmitted,
A header to be used for the WebSocket protocol is added to generate a suspend frame in which the end / continuation identification flag indicating that the end position is not included is stored in a payload, and the suspend frame is transmitted to the receiving terminal. Send a fragmented frame of data to the receiving terminal,
When resuming transmission of the interrupted data fragmentation frame,
After transmitting all the fragmented frames in the other data to the receiving terminal, the header used for the WebSocket protocol is added to indicate the identifier of the interrupted data and the start / not indicating the start position. A push distribution characterized by generating a restart frame storing a continuation identification flag in a payload, transmitting the restart frame to the receiving terminal, and transmitting the remaining fragmented frames in the interrupted data to the receiving terminal. server.
請求項1または2に記載のプッシュ配信サーバにおいて、
前記フラグメント生成手段の代わりに、第1のフラグメント生成手段及び第2のフラグメント生成手段を備え、さらに、第1のフラグメントバッファ及び第2のフラグメントバッファを備え、
前記第1のフラグメント生成手段は、
前記データを入力し、前記データに対し、前記開始/継続識別フラグを含むヘッダ情報を付与すると共に、前記終了/継続識別フラグを含むトレイラ情報を付与してカプセル化データを生成し、前記カプセル化データを所定長毎の断片データに分割し、前記断片データのそれぞれについて、前記第1の制御情報及び前記第2の制御情報を生成し、前記WebSocketプロトコルに用いる前記第1及び第2の制御情報を含むへッダを付与し、前記断片データをペイロードに格納してフラグメント化フレームを生成し、前記フラグメント化フレームを前記第1のフラグメントバッファに格納し、
前記第2のフラグメント生成手段は、
前記他のデータを入力し、前記他のデータに対し、前記開始/継続識別フラグを含むヘッダ情報を付与すると共に、前記終了/継続識別フラグを含むトレイラ情報を付与してカプセル化データを生成し、前記カプセル化データを所定長毎の断片データに分割し、前記断片データのそれぞれについて、前記第1の制御情報及び前記第2の制御情報を生成し、前記WebSocketプロトコルに用いる前記第1及び第2の制御情報を含むへッダを付与し、前記断片データをペイロードに格納してフラグメント化フレームを生成し、前記フラグメント化フレームを前記第2のフラグメントバッファに格納し、
前記フラグメント送信手段は、
前記第1のフラグメントバッファに前記データのフラグメント化フレームが格納されると、前記第1のフラグメントバッファから前記データのフラグメント化フレームを読み出して前記受信端末へ送信し、
前記データのフラグメント化フレームの送信を中断し、前記他のデータのフラグメント化フレームを割り込んで送信する場合、
前記第2のフラグメントバッファに前記他のデータのフラグメント化フレームが格納されると、前記WebSocketプロトコルに用いるヘッダを付与して、前記終了位置を含まないことを示す前記終了/継続識別フラグをペイロードに格納した中断フレームを生成し、前記中断フレームを前記受信端末へ送信し、前記第2のフラグメントバッファから前記他のデータのフラグメント化フレームを読み出して前記受信端末へ送信し、
前記中断したデータのフラグメント化フレームの送信を再開する場合、
前記WebSocketプロトコルに用いるヘッダを付与して、前記中断したデータの識別子、及び前記開始位置を含まないことを示す前記開始/継続識別フラグをペイロードに格納した再開フレームを生成し、前記再開フレームを前記受信端末へ送信し、前記第1のフラグメントバッファから前記データにおける残りのフラグメント化フレームを読み出して前記受信端末へ送信する、ことを特徴とするプッシュ配信サーバ。
In the push delivery server according to claim 1 or 2,
Instead of the fragment generation means, a first fragment generation means and a second fragment generation means, further comprising a first fragment buffer and a second fragment buffer,
The first fragment generation means includes:
The data is input, header information including the start / continuation identification flag is added to the data, trailer information including the end / continuation identification flag is added to generate encapsulated data, and the encapsulation is performed. The first control information and the second control information used for the WebSocket protocol are generated by dividing the data into fragment data of a predetermined length, generating the first control information and the second control information for each of the fragment data. The fragment data is stored in a payload to generate a fragmented frame, the fragmented frame is stored in the first fragment buffer,
The second fragment generation means includes:
The other data is input, header information including the start / continuation identification flag is added to the other data, and trailer information including the end / continuation identification flag is added to generate encapsulated data. , Dividing the encapsulated data into fragment data of a predetermined length, generating the first control information and the second control information for each of the fragment data, and using the first and second control information used for the WebSocket protocol A header including two control information, storing the fragment data in a payload to generate a fragmented frame, storing the fragmented frame in the second fragment buffer,
The fragment transmission means includes
When the fragmented frame of data is stored in the first fragment buffer, the fragmented frame of data is read from the first fragment buffer and transmitted to the receiving terminal;
When the transmission of the fragmented frame of the data is interrupted and the fragmented frame of the other data is interrupted and transmitted,
When a fragmented frame of the other data is stored in the second fragment buffer, a header used for the WebSocket protocol is added, and the end / continuation identification flag indicating that the end position is not included is included in the payload. Generating a stored interrupt frame, transmitting the interrupt frame to the receiving terminal, reading out the fragmented frame of the other data from the second fragment buffer and transmitting to the receiving terminal;
When resuming transmission of the interrupted data fragmentation frame,
A header used for the WebSocket protocol is added to generate a resume frame in which the identifier of the interrupted data and the start / continuation identification flag indicating that the start position is not included are stored in a payload, and the resume frame is A push delivery server that transmits to a receiving terminal, reads out the remaining fragmented frames in the data from the first fragment buffer, and transmits them to the receiving terminal.
請求項1から3までのいずれか一項に記載のプッシュ配信サーバにおいて、
前記フラグメント送信手段が送信する中断フレームのヘッダには、前記カプセル化データから分割された最後の断片データを送信するものであることを示す第1の制御情報が含まれる、ことを特徴とするプッシュ配信サーバ。
In the push delivery server according to any one of claims 1 to 3,
The push of the interrupt frame transmitted by the fragment transmitting means includes first control information indicating that the last fragment data divided from the encapsulated data is transmitted. Distribution server.
所定のデータに対し、前記データの識別子、及び前記データの開始位置を含むか否かを示す開始/継続識別フラグを含むヘッダ情報を付与すると共に、前記データの終了位置を含むか否かを示す終了/継続識別フラグを含むトレイラ情報を付与してカプセル化データを生成し、前記カプセル化データを所定長毎の断片データに分割し、前記断片データのそれぞれについて、前記断片データを送信するフラグメント化フレームが、前記カプセル化データから分割された最後の断片データを送信するものであるか否かを示す第1の制御情報、及び前記断片データを送信するフラグメント化フレームが、前記カプセル化データから分割された途中の断片データを継続して送信するものであるか否かを示す第2の制御情報を生成し、WebSocketプロトコルに用いる前記第1及び第2の制御情報を含むへッダを付与し、前記断片データをペイロードに格納してフラグメント化フレームを生成して送信するプッシュ配信サーバから、前記WebSocketプロトコルを用いて前記フラグメント化フレームを受信する受信端末において、
前記受信したフラグメント化フレーム毎に、前記フラグメント化フレームのヘッダから前記第1及び第2の制御情報を抽出すると共に、前記フラグメント化フレームのペイロードから前記カプセル化データを構成する断片データを抽出し、前記第1及び第2の制御情報の組み合わせと、前記ヘッダ情報及びトレイラ情報の存在との関係が格納されたテーブルを参照して、前記抽出した断片データから、前記識別子を含むヘッダ情報及びトレイラ情報を抽出し、前記ヘッダ情報及びトレイラ情報のいずれかまたは両方を抽出できない場合、前記抽出できなかったヘッダ情報に対し所定の情報を設定すると共に、前記抽出できなかったトレイラ情報に対し所定の情報を設定し、前記抽出または設定したヘッダ情報及びトレイラ情報に基づいて、前記抽出した断片データから前記データの断片を抽出し、前記データを復元するフラグメント復元手段と、
前記フラグメント復元手段により抽出された前記データの断片を、前記フラグメント復元手段により抽出または設定された前記ヘッダ情報の識別子に対応付けて記憶する記憶手段と、
前記記憶手段から復元された前記データを入力し、前記データをデコードするデコーダと、
前記デコーダによりデコードされた前記データを、当該受信端末のユーザへ提示する提示部と、を備え、
前記フラグメント復元手段は、
前記データのフラグメント化フレームを受信しているときに、前記プッシュ配信サーバから、前記データのフラグメント化フレームの送信を中断して他のデータのフラグメント化フレームを割り込んで送信することを示すフレームであって、前記WebSocketプロトコルに用いるヘッダが付与され、前記終了位置を含まないことを示す前記終了/継続識別フラグがペイロードに格納された中断フレームを受信した場合、
前記中断フレームのヘッダから前記第1及び第2の制御情報を抽出し、前記テーブルを参照して、前記中断フレームのペイロードから前記トレイラ情報の前記終了/継続識別フラグを抽出し、
前記プッシュ配信サーバから、前記中断したデータのフラグメント化フレームの送信を再開することを示すフレームであって、前記WebSocketプロトコルに用いるヘッダが付与され、前記中断したデータの識別子、及び前記開始位置を含まないことを示す前記開始/継続識別フラグがペイロードに格納された再開フレームを受信した場合、
前記再開フレームのヘッダから前記第1及び第2の制御情報を抽出し、前記テーブルを参照して、前記再開フレームのペイロードから前記ヘッダ情報に含まれる前記中断したデータの識別子及び前記開始/継続識別フラグを抽出する、ことを特徴とする受信端末。
Header information including a start / continuation identification flag indicating whether or not to include the identifier of the data and the start position of the data is given to predetermined data, and indicates whether or not the end position of the data is included Fragmentation that adds trailer information including an end / continuation identification flag to generate encapsulated data, divides the encapsulated data into fragment data of a predetermined length, and transmits the fragment data for each of the fragment data First control information indicating whether or not a frame is to transmit the last fragment data divided from the encapsulated data, and a fragmented frame for transmitting the fragment data is divided from the encapsulated data. Generated second control information indicating whether or not to continue to transmit the fragment data in the middle, WebSocket From a push delivery server that adds a header including the first and second control information used for the protocol, stores the fragment data in a payload, generates and transmits a fragmented frame, and uses the WebSocket protocol In the receiving terminal that receives the fragmented frame,
For each received fragmented frame, extract the first and second control information from the header of the fragmented frame, and extract fragment data constituting the encapsulated data from the payload of the fragmented frame; Header information and trailer information including the identifier is extracted from the extracted fragment data with reference to a table storing the relationship between the combination of the first and second control information and the presence of the header information and trailer information. When one or both of the header information and trailer information cannot be extracted, predetermined information is set for the header information that could not be extracted, and predetermined information is set for the trailer information that could not be extracted. Based on the header information and trailer information set and extracted or set And fragment restoring means fragments of the data from the extracted fragment data to extract, to restore the data,
Storage means for storing the pieces of data extracted by the fragment restoration means in association with identifiers of the header information extracted or set by the fragment restoration means;
A decoder for inputting the data restored from the storage means and decoding the data;
A presentation unit for presenting the data decoded by the decoder to a user of the receiving terminal,
The fragment restoration means includes
When receiving the data fragmentation frame, the push distribution server interrupts transmission of the data fragmentation frame and interrupts and transmits another data fragmentation frame. And receiving a break frame in which a header used for the WebSocket protocol is added and the end / continuation identification flag indicating that the end position is not included is stored in a payload,
Extracting the first and second control information from the header of the interrupt frame, referring to the table, extracting the end / continuation identification flag of the trailer information from the payload of the interrupt frame;
A frame indicating that transmission of the fragmented frame of the interrupted data is resumed from the push delivery server, including a header used for the WebSocket protocol, including the identifier of the interrupted data and the start position When the restart frame in which the start / continuation identification flag indicating the absence is stored in the payload is received,
Extracting the first and second control information from the header of the resume frame, referring to the table, the identifier of the interrupted data included in the header information from the payload of the resume frame and the start / continuation identification A receiving terminal characterized by extracting a flag.
請求項5に記載の受信端末において、
記中断フレームのヘッダには、前記カプセル化データから分割された最後の断片データを送信するものであることを示す第1の制御情報が含まれており、
前記フラグメント復元手段に代わる新たなフラグメント復元手段は、
前記受信したフラグメント化フレームを前記記憶手段に格納し、前記受信したフラグメント化フレームのヘッダまたは前記受信した中断フレームのヘッダから前記第1及び第2の制御情報を抽出し、前記第1の制御情報が、前記カプセル化データから分割された最後の断片データを送信するものであることを示している場合、前記記憶手段に格納したフラグメント化フレームを読み出してそのペイロードから前記カプセル化データを構成する断片データを抽出し、前記抽出した断片データから前記データの断片を抽出する、ことを特徴とする受信端末。
In the receiving terminal according to claim 5,
The front SL disruptions frame header, includes a first control information indicating that the is to send the last fragment data divided from the encapsulated data,
A new fragment restoration means replacing the fragment restoration means is:
Storing the received fragmented frame in the storage means, extracting the first and second control information from a header of the received fragmented frame or a header of the received interrupted frame, and the first control information Indicates that the last fragment data divided from the encapsulated data is to be transmitted, the fragment constituting the encapsulated data from the payload by reading the fragmented frame stored in the storage means A receiving terminal, wherein data is extracted and a fragment of the data is extracted from the extracted fragment data.
コンピュータを、請求項5または6に記載の受信端末として機能させるための受信プログラム。   A receiving program for causing a computer to function as the receiving terminal according to claim 5 or 6. 請求項1のプッシュ配信サーバと、請求項5の受信端末とを備えて構成されるシステム。   A system comprising the push delivery server of claim 1 and the receiving terminal of claim 5.
JP2013114676A 2013-05-30 2013-05-30 Push distribution server, receiving terminal, receiving program and system Active JP6212288B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013114676A JP6212288B2 (en) 2013-05-30 2013-05-30 Push distribution server, receiving terminal, receiving program and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013114676A JP6212288B2 (en) 2013-05-30 2013-05-30 Push distribution server, receiving terminal, receiving program and system

Publications (2)

Publication Number Publication Date
JP2014235453A JP2014235453A (en) 2014-12-15
JP6212288B2 true JP6212288B2 (en) 2017-10-11

Family

ID=52138155

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013114676A Active JP6212288B2 (en) 2013-05-30 2013-05-30 Push distribution server, receiving terminal, receiving program and system

Country Status (1)

Country Link
JP (1) JP6212288B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017062759A (en) * 2015-09-25 2017-03-30 株式会社カタリナ Notification method and notification server for sending push notifications to portable terminal
CN112051974B (en) * 2019-06-06 2023-12-15 汉朔科技股份有限公司 Electronic price tag information transmission method and system, electronic price tag and server

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005130529A (en) * 2005-01-25 2005-05-19 Sharp Corp Stream data transmission apparatus
JP5162907B2 (en) * 2007-01-16 2013-03-13 沖電気工業株式会社 Stream distribution system
CA3148828C (en) * 2013-02-10 2023-08-22 Wix.Com Ltd. Third-party application communication api

Also Published As

Publication number Publication date
JP2014235453A (en) 2014-12-15

Similar Documents

Publication Publication Date Title
JP4363847B2 (en) Digital TV application protocol for interactive TV
US10674233B2 (en) Method and device for transmitting/receiving broadcast signal
KR20160006164A (en) Broadcasting transmission device, broadcasting reception device, operating method of broadcasting transmission device and operating method of broadcasting reception device
WO2003052630A3 (en) Digital content distribution system
JP2017515351A (en) Broadcast and broadband hybrid services using MMT and DASH
WO2009105999A1 (en) Method, system and device for sending data
JP2009515489A (en) Method and apparatus for fragmenting system information messages in a wireless network
CN110177307A (en) Sending method and sending device
US20190166060A1 (en) Apparatus for transmitting broadcast signal, apparatus for receiving broadcast signal, method for transmitting broadcast signal and method for receiving broadcast signal
JP6212288B2 (en) Push distribution server, receiving terminal, receiving program and system
WO2014196335A1 (en) Transmission device, transmission method, receiving device, and receiving method
KR102356956B1 (en) Method and apparatus for signaling and operation of low delay consumption of media data in mmt
US20140280471A1 (en) Systems and methods for transparent communication with bandwidth conservation and http caching
KR20190003729A (en) Method and apparatus for mpeg media transport integration in content distribution networks
JP2007509573A (en) Embedding a session description message in a Realtime Control Protocol (RTCP) message
WO2023217188A1 (en) Livestream data transmission method, apparatus and system, device and medium
WO2017157168A1 (en) Method, terminal, system and computer storage medium for video calling
CN115086714B (en) Data processing method, device, equipment and storage medium
KR102208814B1 (en) Method and apparatus for transmitting and receiving a packet in a communication system
JP2012151622A (en) Receiving terminal, packet data receiving method, transmitting terminal, transmission/reception system, relay terminal, and relay method of packet data
JP7454951B2 (en) Content distribution equipment, terminals, and programs
US9584576B2 (en) Lossless data coding for bidirectional communication in a collaborative session of multimedia content exchange
JP4815530B2 (en) Extended SAF packet structure for receiving large media data
KR100904489B1 (en) Communication method and device with security function and recording medium for performing the method
JP2023082691A (en) Transmission device, reception device, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160328

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170327

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170330

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170523

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170823

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170915

R150 Certificate of patent or registration of utility model

Ref document number: 6212288

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250