JP6212288B2 - Push distribution server, receiving terminal, receiving program and system - Google Patents
Push distribution server, receiving terminal, receiving program and system Download PDFInfo
- 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
Links
- 239000012634 fragment Substances 0.000 claims description 304
- 230000005540 biological transmission Effects 0.000 claims description 77
- 239000000284 extract Substances 0.000 claims description 22
- 238000013467 fragmentation Methods 0.000 claims description 9
- 238000006062 fragmentation reaction Methods 0.000 claims description 9
- 238000005538 encapsulation Methods 0.000 claims 1
- 238000000034 method Methods 0.000 description 34
- 238000013500 data storage Methods 0.000 description 30
- 230000008569 process Effects 0.000 description 30
- 238000012545 processing Methods 0.000 description 17
- 238000004891 communication Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 11
- 238000007726 management method Methods 0.000 description 7
- 238000000605 extraction Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 239000002775 capsule Substances 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
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. .
前述のプッシュ型の情報配信サービスにおいて、一般的なデータの配信に加え、即座にユーザに伝えるべき緊急性の高いデータが存在する。このような緊急性の高いデータは、即時性を高めるため、配信中のデータに割り込んで送られることが望ましい。 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
そこで、本発明はかかる課題に鑑みてなされたものであり、その目的は、プッシュ配信サーバから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
また、請求項2のプッシュ配信サーバは、請求項1に記載のプッシュ配信サーバにおいて、前記フラグメント送信手段に代わる新たなフラグメント送信手段が、前記データのフラグメント化フレームの送信を中断し、他のデータのフラグメント化フレームを割り込んで送信する場合、前記WebSocketプロトコルに用いるヘッダを付与して、前記終了位置を含まないことを示す前記終了/継続識別フラグをペイロードに格納した中断フレームを生成し、前記中断フレームを前記受信端末へ送信し、前記他のデータのフラグメント化フレームを前記受信端末へ送信し、前記中断したデータのフラグメント化フレームの送信を再開する場合、前記他のデータにおける全てのフラグメント化フレームを前記受信端末へ送信した後、前記WebSocketプロトコルに用いるヘッダを付与して、前記中断したデータの識別子、及び前記開始位置を含まないことを示す前記開始/継続識別フラグをペイロードに格納した再開フレームを生成し、前記再開フレームを前記受信端末へ送信し、前記中断したデータにおける残りのフラグメント化フレームを前記受信端末へ送信する、ことを特徴とする。
Further, the push delivery server according to
また、請求項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
また、請求項4のプッシュ配信サーバは、請求項1から3までのいずれか一項に記載のプッシュ配信サーバにおいて、前記フラグメント送信手段が送信する中断フレームのヘッダには、前記カプセル化データから分割された最後の断片データを送信するものであることを示す第1の制御情報が含まれる、ことを特徴とする。
The push delivery server according to
さらに、請求項5の受信端末は、所定のデータに対し、前記データの識別子、及び前記データの開始位置を含むか否かを示す開始/継続識別フラグを含むヘッダ情報を付与すると共に、前記データの終了位置を含むか否かを示す終了/継続識別フラグを含むトレイラ情報を付与してカプセル化データを生成し、前記カプセル化データを所定長毎の断片データに分割し、前記断片データのそれぞれについて、前記断片データを送信するフラグメント化フレームが、前記カプセル化データから分割された最後の断片データを送信するものであるか否かを示す第1の制御情報、及び前記断片データを送信するフラグメント化フレームが、前記カプセル化データから分割された途中の断片データを継続して送信するものであるか否かを示す第2の制御情報を生成し、WebSocketプロトコルに用いる前記第1及び第2の制御情報を含むへッダを付与し、前記断片データをペイロードに格納してフラグメント化フレームを生成して送信するプッシュ配信サーバから、前記WebSocketプロトコルを用いて前記フラグメント化フレームを受信する受信端末において、前記受信したフラグメント化フレーム毎に、前記フラグメント化フレームのヘッダから前記第1及び第2の制御情報を抽出すると共に、前記フラグメント化フレームのペイロードから前記カプセル化データを構成する断片データを抽出し、前記第1及び第2の制御情報の組み合わせと、前記ヘッダ情報及びトレイラ情報の存在との関係が格納されたテーブルを参照して、前記抽出した断片データから、前記識別子を含むヘッダ情報及びトレイラ情報を抽出し、前記ヘッダ情報及びトレイラ情報のいずれかまたは両方を抽出できない場合、前記抽出できなかったヘッダ情報に対し所定の情報を設定すると共に、前記抽出できなかったトレイラ情報に対し所定の情報を設定し、前記抽出または設定したヘッダ情報及びトレイラ情報に基づいて、前記抽出した断片データから前記データの断片を抽出し、前記データを復元するフラグメント復元手段と、前記フラグメント復元手段により抽出された前記データの断片を、前記フラグメント復元手段により抽出または設定された前記ヘッダ情報の識別子に対応付けて記憶する記憶手段と、前記記憶手段から復元された前記データを入力し、前記データをデコードするデコーダと、前記デコーダによりデコードされた前記データを、当該受信端末のユーザへ提示する提示部と、を備え、前記フラグメント復元手段が、前記データのフラグメント化フレームを受信しているときに、前記プッシュ配信サーバから、前記データのフラグメント化フレームの送信を中断して他のデータのフラグメント化フレームを割り込んで送信することを示すフレームであって、前記WebSocketプロトコルに用いるヘッダが付与され、前記終了位置を含まないことを示す前記終了/継続識別フラグがペイロードに格納された中断フレームを受信した場合、前記中断フレームのヘッダから前記第1及び第2の制御情報を抽出し、前記テーブルを参照して、前記中断フレームのペイロードから前記トレイラ情報の前記終了/継続識別フラグを抽出し、前記プッシュ配信サーバから、前記中断したデータのフラグメント化フレームの送信を再開することを示すフレームであって、前記WebSocketプロトコルに用いるヘッダが付与され、前記中断したデータの識別子、及び前記開始位置を含まないことを示す前記開始/継続識別フラグがペイロードに格納された再開フレームを受信した場合、前記再開フレームのヘッダから前記第1及び第2の制御情報を抽出し、前記テーブルを参照して、前記再開フレームのペイロードから前記ヘッダ情報に含まれる前記中断したデータの識別子及び前記開始/継続識別フラグを抽出する、ことを特徴とする。
Furthermore, the receiving terminal of
また、請求項6の受信端末は、請求項5に記載の受信端末において、前記中断フレームのヘッダには、前記カプセル化データから分割された最後の断片データを送信するものであることを示す第1の制御情報が含まれており、前記フラグメント復元手段に代わる新たなフラグメント復元手段が、前記受信したフラグメント化フレームを前記記憶手段に格納し、前記受信したフラグメント化フレームのヘッダまたは前記受信した中断フレームのヘッダから前記第1及び第2の制御情報を抽出し、前記第1の制御情報が、前記カプセル化データから分割された最後の断片データを送信するものであることを示している場合、前記記憶手段に格納したフラグメント化フレームを読み出してそのペイロードから前記カプセル化データを構成する断片データを抽出し、前記抽出した断片データから前記データの断片を抽出する、ことを特徴とする。
Further, the receiving terminal according to
さらに、請求項7の受信プログラムは、コンピュータを、請求項5または6に記載の受信端末として機能させることを特徴とする。
Furthermore, a receiving program according to
さらに、請求項8のシステムは、請求項1のプッシュ配信サーバと、請求項5の受信端末とを備えて構成されることを特徴とする。
Furthermore, the system of
以上のように、本発明によれば、プッシュ配信サーバから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.
以下、本発明を実施するための形態について図面を用いて詳細に説明する。
〔コンテンツ配信システム〕
図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
コンテンツサーバ2は、コンテンツの配信元となるサーバであり、コンテンツ中継ネットワーク6を介してプッシュ配信サーバ4と接続し、コンテンツをコンテンツ中継ネットワーク6、プッシュ配信サーバ4及びインターネット7を介して受信端末5へ送信する。コンテンツサーバ2は、1台だけでなく複数台であってもよい。コンテンツは、例えばテキスト、画像、動画、音声等の情報である。
The
緊急データサーバ3は、受信端末5のユーザに即座に伝えるべき緊急データの配信元となるサーバである。緊急データサーバ3は、コンテンツ中継ネットワーク6を介してプッシュ配信サーバ4と接続し、緊急データをコンテンツ中継ネットワーク6、プッシュ配信サーバ4及びインターネット7を介して受信端末5へ送信する。
The
プッシュ配信サーバ4は、WebSocketプロトコルを用いて受信端末5と接続し、コンテンツサーバ2からのコンテンツ及び緊急データサーバ3からの緊急データを、インターネット7を介して受信端末5へプッシュ配信する。
The
受信端末5は、WebSocketプロトコルを用いてプッシュ配信サーバ4と接続し、プッシュ配信サーバ4から送信されたコンテンツ及び緊急データを、インターネット7を介して受信し、受信したコンテンツ及び緊急データをユーザへ提示する。
The receiving
〔データ及びフレームの構成〕
図2は、図1に示したコンテンツ配信システム1にて用いるデータ及びフレームの構成を示す図である。
[Data and frame structure]
FIG. 2 is a diagram showing the structure of data and frames used in the
図2に示すコンテンツデータは、コンテンツサーバ2から送信されるコンテンツまたはコンテンツの一部である。また、図2に示す緊急データは、緊急データサーバ3から送信される緊急データまたは緊急データの一部である。コンテンツデータ及び緊急データは、例えばテキスト、画像、動画、音声等であり、緊急データは、コンテンツデータと同様に扱われる。
The content data shown in FIG. 2 is content transmitted from the
カプセル化データは、コンテンツデータにヘッダ情報及びトレイラ情報を付与することでカプセル化したデータである。ヘッダ情報は、コンテンツ識別子(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
セッション制御手段10は、受信端末5から通信I/F21を介して接続要求を受け付け、WebSocketプロトコルに従って、当該プッシュ配信サーバ4と接続要求を送信してきた受信端末5との間でコンテンツデータ送信用のセッションを確立する。また、セッション制御手段10は、受信端末5から通信I/F21を介して切断要求を受け付け、当該セッションを切断する。
The session control means 10 accepts a connection request from the receiving
コンテンツデータ入力手段11は、コンテンツサーバ2から通信I/F20を介してコンテンツデータを逐次受信し、受信したコンテンツデータをフラグメント生成手段14に出力する。
The content
緊急データ入力手段12は、緊急データサーバ3から通信I/F20を介して緊急データを受信し、受信した緊急データを緊急データフラグメント生成手段16に出力する。
The emergency
タグ管理手段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
フラグメント生成手段14は、コンテンツデータ入力手段11からコンテンツデータを入力すると共に、タグ管理手段13からコンテンツ識別子(タグ)を入力し、コンテンツ識別子(タグ)をtagに設定すると共に、1をhcode及びtcodeにそれぞれ設定し、所定のヘッダ情報及び所定のトレイラ情報を生成し、コンテンツデータにヘッダ情報及びトレイラ情報を付与し、図2に示したカプセル化データを生成する。そして、フラグメント生成手段14は、生成したカプセル化データを所定のNバイト(例えば1kバイト)毎の断片データに分割し、所定のヘッダを生成して断片データにヘッダを付与すると共に、断片データをペイロードに格納し、図2に示したフラグメント化フレームを生成する。フラグメント生成手段14は、生成したフラグメント化フレームをフラグメントバッファ15に格納する。
The
緊急データフラグメント生成手段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
フラグメント多重化手段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
ここで、フラグメント多重化手段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
パケット送信手段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
(フラグメント多重化手段)
次に、図4に示したフラグメント多重化手段18の処理について詳細に説明する。図5は、フラグメント多重化手段18の処理を示すフローチャートである。まず、フラグメント多重化手段18は、緊急データフラグメントバッファ17にフラグメント化フレームが蓄積されているか否かを確認する(ステップS501)。フラグメント多重化手段18は、ステップS501において、緊急データフラグメントバッファ17にフラグメント化フレームが蓄積されていることを確認した場合(ステップS501:Y)、コンテンツデータのフラグメント化フレームを送信中であるか否かを判定する(ステップS502)。
(Fragment multiplexing means)
Next, the processing of the
フラグメント多重化手段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
一方、フラグメント多重化手段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
フラグメント多重化手段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
一方、フラグメント多重化手段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
一方、フラグメント多重化手段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
フラグメント多重化手段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
フラグメント多重化手段18は、ステップS504またはステップS508から移行して、送信すべきコンテンツデータ及び緊急データに対応する全てのパケットの送信が終了しているか否かを判定し(ステップS509)、全てのパケットの送信が終了していないと判定した場合(ステップS509:N)、ステップS501へ移行し、全てのパケットの送信が終了していると判定した場合(ステップS509:Y)、処理を終了する。この場合、フラグメント多重化手段18は、セッション制御手段10からセッションが切断されたことを示す情報を入力したときに、全てのパケットの送信が終了していると判定し、処理を終了する。
The
〔送受信シーケンス〕
次に、コンテンツサーバ2、緊急データサーバ3、プッシュ配信サーバ4及び受信端末5におけるコンテンツデータ及び緊急データの送受信シーケンスについて説明する。図6は、その送受信シーケンスを説明する図である。
[Transmission / reception sequence]
Next, a transmission / reception sequence of content data and emergency data in the
コンテンツサーバ2がコンテンツデータをプッシュ配信サーバ4へ送信すると(ステップS601)、プッシュ配信サーバ4は、コンテンツデータを受信し、コンテンツデータに対してコンテンツ識別子(Tag=1)を付与してカプセル化データ及びフラグメント化フレームを生成する(ステップS602)。そして、プッシュ配信サーバ4は、Tag=1のフラグメント化フレームを収容したパケットを受信端末5へ送信する(ステップS603)。
When the
緊急データサーバ3が受信端末5のユーザに即座に伝えるべき緊急データを生成してプッシュ配信サーバ4へ送信すると(ステップS604)、プッシュ配信サーバ4は、緊急データを受信し、緊急データに対してコンテンツ識別子(Tag=2)を付与してカプセル化データ及びフラグメント化フレームを生成する(ステップS605)。そして、プッシュ配信サーバ4は、中断フレームを生成し(ステップS606)、中断フレームを収容したパケットを受信端末5へ送信する(ステップS607)。これにより、Tag=1のコンテンツデータの送信が中断する。
When the
プッシュ配信サーバ4は、Tag=2のフラグメント化フレームを収容したパケット(緊急データのパケット)を受信端末5へ送信する(ステップS608)。そして、プッシュ配信サーバ4は、緊急データの送信が完了すると、中断していたTag=1のコンテンツデータの送信を再開するため、再開フレームを生成し(ステップS609)、再開フレームを収容したパケットを受信端末5へ送信する(ステップS610)。そして、プッシュ配信サーバ4は、Tag=1のフラグメント化フレームを収容したパケットを継続して受信端末5へ送信する(ステップS611)。
The
これにより、プッシュ配信サーバ4からWebSocketプロトコルを用いてTag=1のコンテンツデータのフラグメント化フレームを配信しているときに、Tag=2の緊急データを割り込んで送信することができる。したがって、一般的なコンテンツデータを配信しているときに、緊急データを即座にユーザに伝えることができる。
Accordingly, when the fragmented frame of the content data with Tag = 1 is distributed from the
以上のように、本発明の実施形態によるプッシュ配信サーバ4によれば、フラグメント生成手段14は、コンテンツデータを入力すると、ヘッダ情報及びトレイラ情報を生成し、コンテンツデータにヘッダ情報及びトレイラ情報を付与してカプセル化し、カプセル化データを生成するようにした。そして、フラグメント生成手段14は、生成したカプセル化データを所定長毎の断片データに分割し、ヘッダを生成して断片データをペイロードに格納し、フラグメント化フレームを生成するようにした。ヘッダ情報には、コンテンツ識別子(Tag)、及びコンテンツデータの開始位置を含むか否かを示す開始/継続識別フラグ(hcode)を含む。トレイラ情報には、コンテンツデータの終了位置を含むか否かを示す終了/継続識別フラグ(tcode)を含む。
As described above, according to the
また、緊急データフラグメント生成手段16は、緊急データを入力すると、フラグメント生成手段14と同様にカプセル化データを生成し、フラグメント化フレームを生成するようにした。
Further, when the emergency data is input, the emergency data
そして、フラグメント多重化手段18は、コンテンツデータのフラグメント化フレームを、パケット送信手段19を介して受信端末5へ送信しているときに、緊急データを割り込んで送信する場合、緊急データのフラグメント化フレームを送信する前に、中断フレームを受信端末5へ送信するようにした。これにより、プッシュ配信サーバ4は受信端末5に対して、コンテンツデータの送信が中断することを伝えることができ、受信端末5は、中断フレームを受信することで、コンテンツデータの送信が中断することを認識することができる。
When the
そして、フラグメント多重化手段18は、緊急データの送信が終了すると、送信が中断していたコンテンツデータの送信を再開するための再開フレームを、受信端末5へ送信する。これにより、プッシュ配信サーバ4は受信端末5に対して、コンテンツデータの送信が再開することを伝えることができ、受信端末5は、再開フレームを受信することで、コンテンツデータの送信が再開することを認識することができる。再開フレームには、再開するコンテンツデータのコンテンツ識別子(Tag)を含む。
Then, when the transmission of the emergency data is completed, the
これにより、プッシュ配信サーバ4は、WebSocketプロトコルを用いてコンテンツデータのフラグメント化フレームを送信しているときに、当該コンテンツデータの全てのフラグメント化フレームの送信が終了するのを待つことなく、緊急データを割り込んで送信することができる。したがって、WebSocketプロトコルを用いたデータ配信において、緊急データを割り込んで受信端末5へ送信することができ、緊急データを即座にユーザに伝えることが可能となる。また、WebSocketプロトコルを用いて緊急データの割り込み送信を実現するから、WebSocketプロトコルを実装する既存のシステムを使用することができる。
As a result, the
〔受信端末〕
次に、図1に示した受信端末5について説明する。図7は、本発明の実施形態による受信端末5の構成を示すブロック図である。この受信端末5は、接続制御手段30、パケット受信手段31、フラグメント復元手段32、コンテンツデータ記憶手段33、デコーダ34、提示部35及び通信I/F36を備えている。
[Receiving terminal]
Next, the receiving
接続制御手段30は、受信開始時に、接続要求を、通信I/F36を介してプッシュ配信サーバ4へ送信し、WebSocketプロトコルに従って、当該受信端末5とプッシュ配信サーバ4との間でコンテンツデータ受信用のセッションを確立する。また、接続制御手段30は、受信終了時に、切断要求を、通信I/F36を介してプッシュ配信サーバ4へ送信し、当該セッションを切断する。
The connection control means 30 transmits a connection request to the
パケット受信手段31は、当該受信端末5とプッシュ配信サーバ4との間で確立したコンテンツデータ受信用のセッションにより、プッシュ配信サーバ4から通信I/F36を介してパケットを受信し、受信したパケットをフラグメント復元手段32に出力する。
The
フラグメント復元手段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
フラグメント復元手段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
コンテンツデータ記憶手段33は、コンテンツ識別子(Tag)に対応付けてコンテンツデータの断片を記憶する。コンテンツデータ記憶手段33は、当該コンテンツ識別子(Tag)に対応するコンテンツデータの断片の全てを記憶したことを確認した場合、すなわち、当該コンテンツ識別子(Tag)に対応するコンテンツデータ復元完了フラグを記憶したことを確認した場合、当該コンテンツデータの復元が完了したと判定し、当該コンテンツ識別子(Tag)に対応する復元したコンテンツデータをデコーダ34に出力する。
The content
デコーダ34は、コンテンツデータ記憶手段33からその復元したコンテンツデータを入力し、入力したコンテンツデータをデコードし、提示部35に出力する。提示部35は、デコーダ34からデコードされたコンテンツデータを入力し、ユーザへ提示する。
The
(受信端末の処理)
次に、図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
フラグメント復元手段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
図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
これにより、図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
一方、フラグメント復元手段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
これにより、図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
図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
これにより、図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
一方、フラグメント復元手段32は、ステップS805において、tcodeが1であると判定した場合(ステップS805:Y)、コンテンツデータを構成する全ての断片が揃ったためコンテンツデータの復元が終了したと判断し、当該Tagに対応付けたコンテンツデータ復元完了フラグをコンテンツデータ記憶手段33に格納する。
On the other hand, if the
コンテンツデータ記憶手段33は、当該Tagに対応するコンテンツデータ復元完了フラグを記憶したことを確認し、当該Tagに対応するコンテンツデータをデコーダ34に出力する(ステップS806)。デコーダ34は、コンテンツデータ記憶手段33からコンテンツデータを入力し、入力したコンテンツデータをデコードして提示部35に出力し、提示部35は、コンテンツデータをユーザへ提示する(ステップS807)。
The content
受信端末5は、全てのパケットの受信を終了したか、またはプッシュ配信サーバ4との間のセッションを切断したかにより、受信終了であるか否かを判定し(ステップS808)、受信終了でないと判定した場合(ステップS808:N)、ステップS801へ移行し、受信終了であると判定した場合(ステップS808:Y)、処理を終了する。
The receiving
ここで、フラグメント復元手段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
また、フラグメント復元手段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
これにより、受信端末5は、フラグメント化フレームと同様のWebSocketプロトコルに従った処理により、中断フレーム及び再開フレームに対する処理を行うことができる。また、コンテンツデータ記憶手段33には、Tagに対応付けてコンテンツデータの断片が格納されるから、通常のコンテンツデータの断片とは別に、緊急データの断片を格納することができる。したがって、コンテンツデータ記憶手段33に、通常のコンテンツデータの断片及び緊急データの断片が格納された場合であっても、通常のコンテンツデータと緊急データとを区別することができ、デコーダ34は、通常のコンテンツデータに対して割り込んだ緊急データをデコードし、提示部35が緊急データをユーザへ提示することができる。
Accordingly, the receiving
以上のように、本発明の実施形態による受信端末5によれば、フラグメント復元手段32は、受信したコンテンツデータのフラグメント化フレーム毎に、これらのペイロードからデータを抽出し、ヘッダからFIN及びopcodeを抽出して所定のテーブル(図3に示した情報が格納されたテーブル)を参照することで、抽出したデータを用いて、カプセル化データのヘッダ情報(Tag及びhcode)及びトレイラ情報(tcode)を抽出または設定するようにした。そして、フラグメント復元手段32は、フラグメント化フレーム毎に、ペイロードから抽出したデータからコンテンツデータの断片を抽出し、Tagに対応付けてコンテンツデータの断片をコンテンツデータ記憶手段33に格納することで、コンテンツデータを復元するようにした。緊急データを受信する場合も、コンテンツデータと同様の処理にて、緊急データを復元することができる。
As described above, according to the receiving
また、フラグメント復元手段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
つまり、受信端末5は、コンテンツデータのフラグメント化フレームを受信しているときに、中断フレームを受信し、緊急データの全てのフラグメント化フレームを受信して緊急データを復元する。そして、受信端末5は、再開フレームを受信し、後続するコンテンツデータの残りのフラグメント化フレームを受信してコンテンツデータを復元する。
In other words, the receiving
これにより、受信端末5は、プッシュ配信サーバ4からWebSocketプロトコルを用いてコンテンツデータのフラグメント化フレームを受信しているときに、当該コンテンツデータの全てのフラグメント化フレームの受信が終了するのを待つことなく、緊急データを割り込んで受信することができる。これにより、WebSocketプロトコルを用いたデータ配信において、緊急データを割り込んで受信することができ、緊急データを即座にユーザに伝えることが可能となる。
Thus, when receiving
また、受信端末5は、緊急データの割り込みを受けた場合、これまでに受信したコンテンツデータの断片を破棄する必要がない。また、受信端末5は、緊急データを復元した後に、これまでに受信したコンテンツデータの断片と、後続するフラグメント化フレームのペイロードに含まれるコンテンツデータの断片とを連結し、元のコンテンツデータを復元することができる。したがって、プッシュ配信サーバ4においてコンテンツデータを再送する等の処理が不要になり、受信端末5においても再送されたフラグメント化フレームの受信処理が不要になり、データの伝送効率が向上する。また、WebSocketプロトコルを用いて緊急データの割り込み受信を実現するから、WebSocketプロトコルを実装する既存のシステムを使用することができる。
Further, when receiving the emergency data interrupt, the receiving
本発明の実施形態による受信端末5は、受信したフラグメント化フレーム毎に、カプセル化データのヘッダ情報であるTag及びhcode並びにトレイラ情報であるtcodeを抽出または設定し、フラグメント化フレームからコンテンツデータの断片を抽出してコンテンツデータ記憶手段33に格納するようにした。この受信処理は、カプセル化データを生成することなく、フラグメント化フレームからコンテンツデータの断片を直接抽出し、コンテンツデータを復元するものである。これに対し、受信したフラグメント化フレームからカプセル化データを生成し、カプセル化データからコンテンツデータを復元するようにしてもよい。
The receiving
具体的には、本発明による他の実施形態の受信端末5は、受信したフラグメント化フレームをバッファに格納し、フラグメント化フレームのヘッダに格納されたFINが1であることを判定した場合、それまでにバッファに格納したフラグメント化フレームからカプセル化データの断片データを抽出し、断片データを結合してカプセル化データを生成し、カプセル化データからコンテンツデータを抽出してTagと対応付けてコンテンツデータ記憶手段33に格納する。これにより、コンテンツデータが復元される。
Specifically, when the receiving
また、他の実施形態による受信端末5は、中断フレームを受信した場合には、中断フレームのヘッダに格納されたFINが1であることを判定し、それまでにバッファに格納したフラグメント化フレームからカプセル化データの断片データを抽出し、前述と同様の処理にて、断片データを結合して途中のカプセル化データを生成し、途中のカプセル化データから断片を抽出してTagと対応付けてコンテンツデータ記憶手段33に格納する。そして、受信端末5は、再開フレームを受信した場合、後続するフラグメント化フレームを受信してFINが1であることを判定した場合、それまでにバッファに格納したフラグメント化フレームからカプセル化データの断片データを抽出し、前述と同様の処理にて、断片データを結合して途中のカプセル化データを生成し、途中のカプセル化データから断片を抽出してTagと対応付けてコンテンツデータ記憶手段33に格納する。これにより、コンテンツデータが復元される。
In addition, when receiving the interruption frame, the receiving
このように、本発明による他の実施形態による受信端末5によれば、フラグメント化フレーム毎に、カプセル化データのヘッダ情報であるTag及びhcode並びにトレイラ情報であるtcodeを抽出または設定する処理が不要になるから、処理負担を軽減することができる。
As described above, according to the receiving
尚、本発明の実施形態によるプッシュ配信サーバ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
以上、実施形態を挙げて本発明を説明したが、本発明は前記実施形態に限定されるものではなく、その技術思想を逸脱しない範囲で種々変形可能である。前記実施形態では、データを送信しているときに、緊急データを割り込んで送信する場合について説明したが、本発明は、データを送信しているときに、緊急データではない他のデータを割り込んで送信する場合、または複数の異なるデータを並列に送信する場合にも適用がある。 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
30 connection control means 31 packet receiving means 32 fragment restoration means 33 content data storage means 34
Claims (8)
所定のデータを入力し、前記データに対し、前記データの識別子、及び前記データの開始位置を含むか否かを示す開始/継続識別フラグを含むヘッダ情報を付与すると共に、前記データの終了位置を含むか否かを示す終了/継続識別フラグを含むトレイラ情報を付与してカプセル化データを生成し、前記カプセル化データを所定長毎の断片データに分割し、前記断片データのそれぞれについて、前記断片データを送信するフラグメント化フレームが、前記カプセル化データから分割された最後の断片データを送信するものであるか否かを示す第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.
前記フラグメント送信手段に代わる新たなフラグメント送信手段は、
前記データのフラグメント化フレームの送信を中断し、他のデータのフラグメント化フレームを割り込んで送信する場合、
前記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のフラグメント生成手段は、
前記データを入力し、前記データに対し、前記開始/継続識別フラグを含むヘッダ情報を付与すると共に、前記終了/継続識別フラグを含むトレイラ情報を付与してカプセル化データを生成し、前記カプセル化データを所定長毎の断片データに分割し、前記断片データのそれぞれについて、前記第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の制御情報が含まれる、ことを特徴とするプッシュ配信サーバ。 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の制御情報を抽出すると共に、前記フラグメント化フレームのペイロードから前記カプセル化データを構成する断片データを抽出し、前記第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.
前記中断フレームのヘッダには、前記カプセル化データから分割された最後の断片データを送信するものであることを示す第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.
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)
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)
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 |
-
2013
- 2013-05-30 JP JP2013114676A patent/JP6212288B2/en active Active
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 |