JP2016004599A - Information processing system, storage control program and storage control method - Google Patents

Information processing system, storage control program and storage control method Download PDF

Info

Publication number
JP2016004599A
JP2016004599A JP2014124947A JP2014124947A JP2016004599A JP 2016004599 A JP2016004599 A JP 2016004599A JP 2014124947 A JP2014124947 A JP 2014124947A JP 2014124947 A JP2014124947 A JP 2014124947A JP 2016004599 A JP2016004599 A JP 2016004599A
Authority
JP
Japan
Prior art keywords
information processing
server
client
data
frame
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.)
Ceased
Application number
JP2014124947A
Other languages
Japanese (ja)
Inventor
善史 宇治橋
Yoshifumi Ujihashi
善史 宇治橋
耕一 久門
Koichi Kumon
耕一 久門
賢二 若宮
Kenji Wakamiya
賢二 若宮
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2014124947A priority Critical patent/JP2016004599A/en
Publication of JP2016004599A publication Critical patent/JP2016004599A/en
Ceased legal-status Critical Current

Links

Images

Landscapes

  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Television Signal Processing For Recording (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

PROBLEM TO BE SOLVED: To efficiently store broadcast content in a storage device.SOLUTION: An information processing device 5 includes a reception part 5a for receiving stream data, and a control part 5b for making receiving timing of unit data 4a specifiable to store identification information 6 that can identify prescribed unit data 4a included in stream data 4 in a first storage part 5c, storing the unit data 4a in a second storage part 7, comparing the identification information 6 of unit data 4a that is previously received and stored in the first storage part 5c with identification information 6 of unit data that is later received when two or more pieces of stream data are received, discarding the unit data 4a corresponding to coincident identification information 6 when comparison results are coincident, storing the identification information 6 of the unit data 4a that is later received in the first storage part 5c, and storing the unit data 4a that is later received in the second storage part 7 when the comparison results are not coincident.

Description

本発明は、情報処理システム、記憶制御プログラムおよび記憶制御方法に関する。   The present invention relates to an information processing system, a storage control program, and a storage control method.

従来から、放送局から放送された放送コンテンツを受信し、受信した放送コンテンツを保存可能なレコーダが知られている。
また、近年、レコーダが備える記憶装置に代えて、ネットワークを介してサーバが備える記憶装置(ネットワークストレージ)にデータを保存可能なシステムが知られている。
2. Description of the Related Art Conventionally, a recorder that can receive broadcast content broadcast from a broadcast station and store the received broadcast content is known.
In recent years, a system capable of storing data in a storage device (network storage) provided in a server via a network instead of a storage device provided in a recorder is known.

たとえば、レコーダは、放送コンテンツからストリームデータを生成し、生成したストリームデータをサーバに送信し、サーバにデータを要求して放送コンテンツを再生する。   For example, the recorder generates stream data from broadcast content, transmits the generated stream data to a server, requests data from the server, and reproduces the broadcast content.

特開2013−207421号公報JP 2013-207421 A

しかしながら、放送コンテンツは一般にデータ容量が大きく、さらに多数のレコーダが同時刻帯に同内容の放送コンテンツをサーバに送信するため、ネットワークストレージに大容量の資源と、高いネットワーク帯域資源を必要とする。   However, broadcast contents generally have a large data capacity, and a large number of recorders transmit the same broadcast contents to the server at the same time zone, so a large capacity resource and a high network bandwidth resource are required for the network storage.

一側面では、本発明は、記憶装置に放送コンテンツを効率よく保存可能な情報処理システム、記憶制御プログラムおよび記憶制御方法を提供することを目的とする。   In one aspect, an object of the present invention is to provide an information processing system, a storage control program, and a storage control method capable of efficiently storing broadcast content in a storage device.

上記目的を達成するために、以下に示すような情報処理システムを提供する。情報処理システムは、複数の第1の情報処理装置と、第1の情報処理装置とネットワークを介して接続する第2の情報処理装置とを有する。第1の情報処理装置は、放送コンテンツから生成したストリームデータを送信する送信部を有する。第2の情報処理装置は、受信部と、制御部とを備える。受信部は、ストリームデータを受信する。制御部は、ストリームデータに含まれる所定の単位データを識別可能な識別情報を、単位データの受信タイミングを特定可能にして第1の記憶部に保持するとともに、単位データを第2の記憶部に保持する。制御部は、2以上の第1の情報処理装置からストリームデータを受信したとき、先に受信して第1の記憶部が保持する単位データの識別情報と、後から受信した単位データの識別情報とを比較して、比較結果が一致する場合に、一致した識別情報に対応する単位データを破棄し、比較結果が一致しない場合に、後から受信した単位データの識別情報を第1の記憶部に保持するとともに、後から受信した単位データを第2の記憶部に保持する。   In order to achieve the above object, an information processing system as shown below is provided. The information processing system includes a plurality of first information processing apparatuses and a second information processing apparatus connected to the first information processing apparatus via a network. The first information processing apparatus includes a transmission unit that transmits stream data generated from broadcast content. The second information processing apparatus includes a receiving unit and a control unit. The receiving unit receives stream data. The control unit holds identification information that can identify predetermined unit data included in the stream data in the first storage unit so that the reception timing of the unit data can be specified, and stores the unit data in the second storage unit Hold. When the control unit receives stream data from two or more first information processing apparatuses, the unit data identification information received first and held in the first storage unit, and the unit data identification information received later When the comparison results match, the unit data corresponding to the matching identification information is discarded. When the comparison results do not match, the identification information of the unit data received later is stored in the first storage unit. And the unit data received later is held in the second storage unit.

一態様によれば、情報処理システム、記憶制御プログラムおよび記憶制御方法において、記憶装置に放送コンテンツを効率よく保存できる。   According to the aspect, in the information processing system, the storage control program, and the storage control method, the broadcast content can be efficiently stored in the storage device.

第1の実施形態の情報処理システムの構成の一例を示す図である。It is a figure which shows an example of a structure of the information processing system of 1st Embodiment. 第2の実施形態の放送コンテンツ記憶システムの構成の一例を示す図である。It is a figure which shows an example of a structure of the broadcast content storage system of 2nd Embodiment. 第2の実施形態のサーバのハードウェア構成の一例を示す図である。It is a figure which shows an example of the hardware constitutions of the server of 2nd Embodiment. 第2の実施形態のデータ保存の流れの一例を示す図である。It is a figure which shows an example of the flow of the data preservation | save of 2nd Embodiment. 第2の実施形態のストリームデータの一例を示す図である。It is a figure which shows an example of the stream data of 2nd Embodiment. 第2の実施形態のストリームデータの中断とバッファリングの一例を示す図である。It is a figure which shows an example of interruption and buffering of the stream data of 2nd Embodiment. 第2の実施形態のデータ保存の流れのシーケンスの一例を示す図である。It is a figure which shows an example of the sequence of the flow of the data preservation | save of 2nd Embodiment. 第2の実施形態のフレーム送信処理のフローチャートを示す図である。It is a figure which shows the flowchart of the frame transmission process of 2nd Embodiment. 第2の実施形態のフレーム録画管理情報の一例を示す図である。It is a figure which shows an example of the frame recording management information of 2nd Embodiment. 第2の実施形態の送信時刻決定処理のフローチャートを示す図である。It is a figure which shows the flowchart of the transmission time determination process of 2nd Embodiment. 第2の実施形態のフレーム受信処理のフローチャートを示す図である。It is a figure which shows the flowchart of the frame reception process of 2nd Embodiment. 第2の実施形態の送信開始要求受信処理のフローチャートを示す図である。It is a figure which shows the flowchart of the transmission start request reception process of 2nd Embodiment. 第2の実施形態の識別情報管理リストの一例を示す図である。It is a figure which shows an example of the identification information management list | wrist of 2nd Embodiment. 第2の実施形態の送信開始要求応答処理のフローチャートを示す図である。It is a figure which shows the flowchart of the transmission start request | requirement response process of 2nd Embodiment. 第2の実施形態のクライアント管理情報の一例を示す図である。It is a figure which shows an example of the client management information of 2nd Embodiment. 第2の実施形態の単独フレーム受信処理のフローチャートを示す図である。It is a figure which shows the flowchart of the single frame reception process of 2nd Embodiment. 第2の実施形態のフレームのファイル格納形式の一例を示す図である。It is a figure which shows an example of the file storage format of the flame | frame of 2nd Embodiment. 第2の実施形態のフレームデータ管理ファイルの一例を示す図である。It is a figure which shows an example of the frame data management file of 2nd Embodiment. 第2の実施形態のフレーム保存監視処理のフローチャートを示す図である。It is a figure which shows the flowchart of the frame preservation | save monitoring process of 2nd Embodiment. 第2の実施形態のバルク送信受信処理のフローチャートを示す図である。It is a figure which shows the flowchart of the bulk transmission reception process of 2nd Embodiment. 第2の実施形態の再生データ出力処理のフローチャートを示す図である。It is a figure which shows the flowchart of the reproduction data output process of 2nd Embodiment.

以下、図面を参照して実施の形態を詳細に説明する。
[第1の実施形態]
まず、第1の実施形態の情報処理システムについて図1を用いて説明する。図1は、第1の実施形態の情報処理システムの構成の一例を示す図である。
Hereinafter, embodiments will be described in detail with reference to the drawings.
[First Embodiment]
First, the information processing system according to the first embodiment will be described with reference to FIG. FIG. 1 is a diagram illustrating an example of the configuration of the information processing system according to the first embodiment.

情報処理システム1は、複数の第1の情報処理装置2(2a,2b,…,2n)と、ネットワーク9と、第2の情報処理装置5とを含む。第1の情報処置装置2と第2の情報処理装置5とは、ネットワーク9を介して接続する。   The information processing system 1 includes a plurality of first information processing apparatuses 2 (2a, 2b,..., 2n), a network 9, and a second information processing apparatus 5. The first information processing device 2 and the second information processing device 5 are connected via a network 9.

第1の情報処理装置2は、放送コンテンツを受信し、受信した放送コンテンツからストリームデータ4を生成する。たとえば、第1の情報処理装置2は、レコーダであって、放送コンテンツから生成したストリームデータを、第2の情報処理装置5に相当するサーバに送信する。   The first information processing apparatus 2 receives broadcast content and generates stream data 4 from the received broadcast content. For example, the first information processing apparatus 2 is a recorder, and transmits stream data generated from broadcast content to a server corresponding to the second information processing apparatus 5.

第1の情報処理装置2は、送信部3を含む。送信部3は、放送コンテンツからストリームデータ4を生成して、ストリームデータ4を送信する。送信部3は、たとえば、符号化やパケット化などの処理をおこない、放送コンテンツからストリームデータ4を生成する。   The first information processing apparatus 2 includes a transmission unit 3. The transmission unit 3 generates stream data 4 from the broadcast content and transmits the stream data 4. For example, the transmission unit 3 performs processing such as encoding and packetization, and generates stream data 4 from the broadcast content.

ストリームデータ4は、時系列順に処理されるデータである。たとえば、ストリームデータ4は、データ全体の受信完了を待たずに受信した順番に処理するデータであり、動画データや音声データなどがある。また、ストリームデータ4は、1以上の単位データ4aを含む。単位データ4aは、単位時間や、単位データサイズなど所定の単位で区切られたデータである。たとえば、単位データ4aは、動画データにおけるフレーム単位のデータや、パケット単位のデータである。   The stream data 4 is data processed in chronological order. For example, the stream data 4 is data that is processed in the order received without waiting for completion of reception of the entire data, and includes moving image data, audio data, and the like. The stream data 4 includes one or more unit data 4a. The unit data 4a is data divided by a predetermined unit such as a unit time or a unit data size. For example, the unit data 4a is frame unit data or packet unit data in moving image data.

放送コンテンツは、放送局から無線または有線によりブロードバンドで送信されるコンテンツであり、たとえば、デジタルまたはアナログ形式の動画データや音声データなどである。   The broadcast content is content transmitted from a broadcast station by wireless or wired broadband, and is, for example, digital or analog video data or audio data.

第2の情報処理装置5は、受信部5aと、制御部5bと、第1の記憶部5cと、第2の記憶部7とを含む。受信部5aは、第1の情報処理装置2が送信したストリームデータ4を受信する。   The second information processing device 5 includes a receiving unit 5a, a control unit 5b, a first storage unit 5c, and a second storage unit 7. The receiving unit 5a receives the stream data 4 transmitted by the first information processing apparatus 2.

第1の記憶部5cと第2の記憶部7は、所定の記憶領域にデータを記憶可能な記憶装置である。たとえば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、あるいはDRAM(Dynamic Random Access Memory)などからなるストレージ装置である。なお、第2の記憶部7は、第1の記憶部5cと比較して大容量のデータを記憶することからHDDなどのストレージ装置であることが望ましい。また、第2の記憶部7は、第2の情報処理装置5に内蔵されてもよいし、第2の情報処理装置5の外部に設けられるものであってもよい。   The first storage unit 5c and the second storage unit 7 are storage devices capable of storing data in a predetermined storage area. For example, the storage device is composed of a hard disk drive (HDD), a solid state drive (SSD), or a dynamic random access memory (DRAM). The second storage unit 7 is preferably a storage device such as an HDD because it stores a larger amount of data than the first storage unit 5c. Further, the second storage unit 7 may be built in the second information processing device 5 or provided outside the second information processing device 5.

制御部5bは、単位データ4aを受信したタイミングを特定可能にして、第1の記憶部5cに識別情報6を格納するとともに、単位データ4aを第2の記憶部7に保持する。
なお、制御部5bは、単位データ4aと単位データ4aを受信した時刻の情報とを対応づけることで受信したタイミングを特定可能としてもよいし、単位データ4aに単位データ4aを受信した順番に順序情報を付することで受信したタイミングを特定可能としてもよいし、その他の方法によってもよい。
The control unit 5b makes it possible to specify the timing at which the unit data 4a is received, stores the identification information 6 in the first storage unit 5c, and holds the unit data 4a in the second storage unit 7.
The control unit 5b may be able to specify the received timing by associating the unit data 4a with the information on the time when the unit data 4a is received, or in order of receiving the unit data 4a to the unit data 4a. The timing received by adding information may be specified, or may be determined by other methods.

識別情報6は、単位データ4aのうち識別対象となる一部または全部のデータを識別可能な情報であり、単位データ4aから生成される情報である。たとえば、識別情報6は、単位データ4aのうち識別対象となる一部または全部のデータから生成されるフィンガープリントや、ダイジェスト情報などである。   The identification information 6 is information that can identify a part or all of the data to be identified in the unit data 4a, and is information generated from the unit data 4a. For example, the identification information 6 is a fingerprint generated from a part or all of the data to be identified in the unit data 4a, digest information, and the like.

制御部5bは、2以上の第1の情報処理装置2からストリームデータ4を受信したとき、先に受信して第1の記憶部5cが保持する単位データ4aの識別情報6と、後から受信した単位データ4aの識別情報6とを比較する。たとえば、制御部5bは、識別情報6がフィンガープリントである場合、比較対象のフィンガープリントが一致するか否かにより、識別情報6を比較することができる。なお、識別情報6は、第1の情報処理装置2bから受信するものであってもよいし、第2の情報処理装置5が生成するものであってもよい。2以上の第1の情報処理装置2は、複数の第1の情報処理装置2(2a,2b,…,2n)のうちの任意の2以上の第1の情報処理装置2であり、たとえば、第1の情報処理装置2aと第1の情報処理装置2bである。   When the control unit 5b receives the stream data 4 from two or more first information processing apparatuses 2, the control unit 5b receives the identification information 6 of the unit data 4a received first and held in the first storage unit 5c, and received later. The identification information 6 of the unit data 4a is compared. For example, when the identification information 6 is a fingerprint, the control unit 5b can compare the identification information 6 depending on whether or not the comparison target fingerprints match. The identification information 6 may be received from the first information processing device 2b or may be generated by the second information processing device 5. The two or more first information processing devices 2 are any two or more first information processing devices 2 among the plurality of first information processing devices 2 (2a, 2b,..., 2n). These are the first information processing apparatus 2a and the first information processing apparatus 2b.

制御部5bは、比較結果が一致する場合に、一致した識別情報6に対応する単位データ4aを破棄する。一方、制御部5bは、比較結果が一致しない場合に、識別情報6に対応する単位データ4aの識別情報6を第1の記憶部5cに保持するとともに、後から受信した単位データ4aを第2の記憶部7に保持する。   When the comparison results match, the control unit 5b discards the unit data 4a corresponding to the matching identification information 6. On the other hand, when the comparison result does not match, the control unit 5b holds the identification information 6 of the unit data 4a corresponding to the identification information 6 in the first storage unit 5c and stores the unit data 4a received later in the second Is stored in the storage unit 7.

制御部5bは、比較結果が一致する場合、すなわち識別情報6の生成もととなった単位データ4aが同一であると判定した場合、後から受信した単位データ4aを破棄する。これにより、第2の情報処理装置5は、第2の記憶部7に保持するデータの重複排除をおこなうことができる。   When the comparison results match, that is, when it is determined that the unit data 4a from which the identification information 6 is generated is the same, the control unit 5b discards the unit data 4a received later. As a result, the second information processing apparatus 5 can perform deduplication of data held in the second storage unit 7.

制御部5bは、比較結果が一致しない場合、すなわち識別情報6の生成もととなった単位データ4aが同一でないと判定した場合、後から受信した単位データ4aを第1の記憶部5cに保持する。これにより、第2の情報処理装置5は、第2の記憶部7に保存するデータの重複排除をおこなうことができる。   When the comparison result does not match, that is, when it is determined that the unit data 4a from which the identification information 6 is generated is not the same, the control unit 5b holds the unit data 4a received later in the first storage unit 5c. To do. As a result, the second information processing apparatus 5 can perform deduplication of data stored in the second storage unit 7.

このようにして、情報処理システム1は、第2の記憶部7(記憶装置)に放送コンテンツを効率よく保存できる。
[第2の実施形態]
次に、第2の実施形態の放送コンテンツ記憶システムの構成について図2を用いて説明する。図2は、第2の実施形態の放送コンテンツ記憶システムの構成の一例を示す図である。
In this way, the information processing system 1 can efficiently save the broadcast content in the second storage unit 7 (storage device).
[Second Embodiment]
Next, the configuration of the broadcast content storage system according to the second embodiment will be described with reference to FIG. FIG. 2 is a diagram illustrating an example of a configuration of a broadcast content storage system according to the second embodiment.

放送コンテンツ記憶システム10は、複数のクライアント11(11a,11b,…,11n)と、ネットワーク12と、サーバ13と、記憶装置14と、放送局15と、コンテンツ配信システム16とを含む。   The broadcast content storage system 10 includes a plurality of clients 11 (11a, 11b,..., 11n), a network 12, a server 13, a storage device 14, a broadcast station 15, and a content distribution system 16.

放送局15は、放送コンテンツを無線または有線により送信する。コンテンツ配信システム16は、各種コンテンツを配信する。なお、放送局15やコンテンツ配信システム16は例示であり、これら以外のものであっても放送コンテンツなどを送信又は配信できるものであればよい。   The broadcast station 15 transmits broadcast content wirelessly or by wire. The content distribution system 16 distributes various contents. Note that the broadcast station 15 and the content distribution system 16 are merely examples, and any other devices may be used as long as they can transmit or distribute broadcast content.

クライアント11は、放送コンテンツを受信し、ストリームデータを生成する機能を備えている機器である。クライアント11は、たとえば、テレビ放送レコーダや、コンピュータや、携帯端末などである。   The client 11 is a device having a function of receiving broadcast content and generating stream data. The client 11 is, for example, a television broadcast recorder, a computer, a portable terminal, or the like.

ネットワーク12は、クライアント11とサーバ13とを接続する有線ネットワークや、無線ネットワークなど、各種ネットワークを含む。ネットワーク12は、クライアント11とサーバ13とを接続する双方向通信可能なネットワークである。なお、ネットワーク12は、放送局15からクライアント11に放送通信する一方向性のネットワークであってもよい。   The network 12 includes various networks such as a wired network connecting the client 11 and the server 13 and a wireless network. The network 12 is a network capable of bidirectional communication connecting the client 11 and the server 13. The network 12 may be a unidirectional network that performs broadcast communication from the broadcast station 15 to the client 11.

サーバ13は、クライアント11が送信したストリームデータを受信し、受信したストリームデータの重複排除の処理を実行し、ストリームデータを記憶装置14に格納するコンピュータである。   The server 13 is a computer that receives the stream data transmitted from the client 11, executes deduplication processing on the received stream data, and stores the stream data in the storage device 14.

記憶装置14は、データを格納する装置である。記憶装置14は、たとえば、RAID(Redundant Arrays of Independent Disks)装置である。記憶装置14は、サーバ13からコマンドを受け付け、データの入出力制御をおこなう。   The storage device 14 is a device that stores data. The storage device 14 is, for example, a RAID (Redundant Array of Independent Disks) device. The storage device 14 receives commands from the server 13 and performs data input / output control.

次に、第2の実施形態のサーバのハードウェア構成について図3を用いて説明する。図3は、第2の実施形態に用いるサーバのハードウェア構成の一例を示す図である。
サーバ13は、プロセッサ101によって装置全体が制御されている。プロセッサ101には、バス107を介してRAM(Random Access Memory)102と複数の周辺機器が接続されている。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、たとえばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、またはPLD(Programmable Logic Device)である。またプロセッサ101は、CPU、MPU、DSP、ASIC、PLDのうちの2以上の要素の組み合わせであってもよい。
Next, the hardware configuration of the server according to the second embodiment will be described with reference to FIG. FIG. 3 is a diagram illustrating an example of a hardware configuration of a server used in the second embodiment.
The server 13 is entirely controlled by the processor 101. A RAM (Random Access Memory) 102 and a plurality of peripheral devices are connected to the processor 101 via a bus 107. The processor 101 may be a multiprocessor. The processor 101 is, for example, a central processing unit (CPU), a micro processing unit (MPU), a digital signal processor (DSP), an application specific integrated circuit (ASIC), or a programmable logic device (PLD). The processor 101 may be a combination of two or more elements among CPU, MPU, DSP, ASIC, and PLD.

RAM102は、サーバ13の主記憶装置として使用される。RAM102には、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、プロセッサ101による処理に必要な各種データが格納される。   The RAM 102 is used as a main storage device of the server 13. The RAM 102 temporarily stores at least part of an OS (Operating System) program and application programs to be executed by the processor 101. The RAM 102 stores various data necessary for processing by the processor 101.

バス107に接続されている周辺機器としては、HDD103、入出力信号インタフェース104、記憶媒体インタフェース105および通信インタフェース106がある。
HDD103は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読出しをおこなう。HDD103は、サーバ13の補助記憶装置として使用される。HDD103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。
Peripheral devices connected to the bus 107 include an HDD 103, an input / output signal interface 104, a storage medium interface 105, and a communication interface 106.
The HDD 103 magnetically writes and reads data to and from the built-in disk. The HDD 103 is used as an auxiliary storage device of the server 13. The HDD 103 stores an OS program, application programs, and various data. Note that a semiconductor storage device such as a flash memory can also be used as the auxiliary storage device.

入出力信号インタフェース104には、入出力デバイス108が接続されている。入出力デバイス108は、入力デバイスと出力デバイスを含む。入力デバイスの一例として、キーボードや、マウスや、タッチパネルなどがある。また、出力デバイスの一例には、モニタや、液晶表示や、各種パネル表示装置などがある。   An input / output device 108 is connected to the input / output signal interface 104. The input / output device 108 includes an input device and an output device. Examples of input devices include a keyboard, a mouse, and a touch panel. Examples of the output device include a monitor, a liquid crystal display, and various panel display devices.

入力出力信号インタフェース104は、キーボードやマウスから送られてくる信号をプロセッサ101に送信する。なお、マウスは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。   The input / output signal interface 104 transmits a signal sent from a keyboard or a mouse to the processor 101. Note that the mouse is an example of a pointing device, and other pointing devices can be used. Examples of other pointing devices include a touch panel, a tablet, a touch pad, and a trackball.

入出力デバイス108の出力デバイスは、プロセッサ101からの命令にしたがって、画像をモニタ画面に表示させる。モニタとしては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置などがある。   The output device of the input / output device 108 displays an image on the monitor screen in accordance with a command from the processor 101. Examples of the monitor include a display device using a CRT (Cathode Ray Tube) and a liquid crystal display device.

記憶媒体インタフェース105は、磁気やレーザなどを利用して記憶媒体109に記録されたデータの読み取りや書き込みをおこなう。また、記憶媒体インタフェース105は、半導体メモリなどの記憶媒体に記録されたデータの読み取りをおこなうものであってもよい。記憶媒体109とは、たとえば、光ディスクや、フラッシュメモリなどの半導体メモリなどを含む。光ディスクは、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。   The storage medium interface 105 reads and writes data recorded on the storage medium 109 using magnetism, laser, or the like. The storage medium interface 105 may read data recorded in a storage medium such as a semiconductor memory. The storage medium 109 includes, for example, an optical disk, a semiconductor memory such as a flash memory, and the like. An optical disc is a portable recording medium on which data is recorded so that it can be read by reflection of light. Optical disks include DVD (Digital Versatile Disc), DVD-RAM, CD-ROM (Compact Disc Read Only Memory), CD-R (Recordable) / RW (ReWritable), and the like.

記憶媒体インタフェース105は、サーバ13に周辺機器を接続するための通信インタフェースとしても用いることができる。たとえば、記憶媒体インタフェース105には、メモリ装置やメモリリーダライタを接続することができる。メモリ装置は、記憶媒体インタフェース105との通信機能を搭載した記録媒体である。メモリリーダライタは、メモリカードへのデータの書き込み、またはメモリカードからのデータの読出しをおこなう装置である。メモリカードは、カード型の記録媒体である。   The storage medium interface 105 can also be used as a communication interface for connecting peripheral devices to the server 13. For example, a memory device or a memory reader / writer can be connected to the storage medium interface 105. The memory device is a recording medium equipped with a communication function with the storage medium interface 105. The memory reader / writer is a device that writes data to the memory card or reads data from the memory card. A memory card is a card-type recording medium.

通信インタフェース106は、ネットワーク12に接続されている。通信インタフェース106は、ネットワーク12を介して、他のコンピュータまたは通信機器との間でデータの送受信をおこなう。なお、ネットワーク12は、有線ネットワークでもよいし、無線ネットワークでもよい。通信インタフェース106は、双方向デジタル通信を送受信可能なインタフェースでもよいし、一方向性の放送を受信可能なインタフェースでもよい。   The communication interface 106 is connected to the network 12. The communication interface 106 transmits / receives data to / from other computers or communication devices via the network 12. The network 12 may be a wired network or a wireless network. The communication interface 106 may be an interface capable of transmitting and receiving bidirectional digital communication, or may be an interface capable of receiving unidirectional broadcasting.

以上のようなハードウェア構成によって、第2の実施形態の処理機能を実現することができる。なお、第1の実施形態に示した第1の情報処理装置2、第2の情報処理装置5、第2の実施形態に示したクライアント11も、図2に示したサーバ13と同様のハードウェアにより実現することができる。   With the hardware configuration described above, the processing functions of the second embodiment can be realized. The first information processing apparatus 2, the second information processing apparatus 5, and the client 11 shown in the second embodiment are the same hardware as the server 13 shown in FIG. Can be realized.

サーバ13は、たとえばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施形態の処理機能を実現する。サーバ13に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。たとえば、サーバ13に実行させるプログラムをHDD103に格納しておくことができる。プロセッサ101は、HDD103内のプログラムの少なくとも一部をRAM102にロードし、プログラムを実行する。また、サーバ13に実行させるプログラムを、光ディスク、メモリ装置、メモリカードなどの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、たとえばプロセッサ101からの制御により、HDD103にインストールされた後、実行可能となる。またプロセッサ101が、可搬型記録媒体から直接プログラムを読出して実行することもできる。   The server 13 implements the processing functions of the second embodiment by executing a program recorded on a computer-readable recording medium, for example. A program describing the processing contents to be executed by the server 13 can be recorded in various recording media. For example, a program to be executed by the server 13 can be stored in the HDD 103. The processor 101 loads at least a part of the program in the HDD 103 into the RAM 102 and executes the program. The program to be executed by the server 13 can also be recorded on a portable recording medium such as an optical disk, a memory device, or a memory card. The program stored in the portable recording medium becomes executable after being installed in the HDD 103 under the control of the processor 101, for example. The processor 101 can also read and execute the program directly from the portable recording medium.

次に、第2の実施形態のデータ保存の流れについて図4を用いて説明する。図4は、第2の実施形態のデータ保存の流れの一例を示す図である。
複数のクライアント11(11a,11b,…,11n)は、放送局から送信された放送コンテンツを同時間帯に受信し、受信した放送コンテンツにもとづきストリームデータを生成する。ストリームデータは、1以上のフレーム21を含む。複数のクライアント11(11a,11b,…,11n)は、同時間帯に受信した放送コンテンツから生成したストリームデータをサーバ13に送信する。ここでは、クライアント11aがフレームA1,ANを含むストリームデータを送信し、クライアント11bがフレームB1,B2,B3を含むストリームデータを送信したとする。
Next, the data storage flow of the second embodiment will be described with reference to FIG. FIG. 4 is a diagram illustrating an example of a data storage flow according to the second embodiment.
The plurality of clients 11 (11a, 11b,..., 11n) receive the broadcast content transmitted from the broadcast station in the same time zone, and generate stream data based on the received broadcast content. The stream data includes one or more frames 21. A plurality of clients 11 (11a, 11b,..., 11n) transmit stream data generated from broadcast content received in the same time zone to the server 13. Here, it is assumed that the client 11a transmits stream data including frames A1 and AN, and the client 11b transmits stream data including frames B1, B2, and B3.

サーバ13は、クライアント11a,11bから、フレーム21を受信する。サーバ13は、クライアント11aから先にストリームデータを受信し、その後にクライアント11bからストリームデータを受信する。   The server 13 receives the frame 21 from the clients 11a and 11b. The server 13 receives the stream data first from the client 11a, and then receives the stream data from the client 11b.

サーバ13は、クライアント11a,11bからストリームデータを受信して、受信したストリームデータが同一コンテンツであるか否かを判定する。そのために、サーバ13は、フレーム21から生成された識別情報を識別情報管理リスト22に保存する。識別情報管理リスト22は、同時間帯の放送コンテンツであることを判定するのに十分な識別情報を保持可能な容量を有する。保持可能な識別情報の数は、各クライアント11から受信した同一コンテンツの受信タイムラグを吸収するのに十分な時間に対応する数であり、たとえば、5秒分のフレーム数に対応する数である。   The server 13 receives the stream data from the clients 11a and 11b, and determines whether or not the received stream data is the same content. For this purpose, the server 13 stores the identification information generated from the frame 21 in the identification information management list 22. The identification information management list 22 has a capacity capable of holding identification information sufficient to determine that the broadcast content is in the same time zone. The number of pieces of identification information that can be held is a number corresponding to a time sufficient to absorb the reception time lag of the same content received from each client 11, for example, a number corresponding to the number of frames for 5 seconds.

なお、識別情報は、フレーム21を一意に識別可能な情報であり、たとえば、フィンガープリントやダイジェスト情報などである。なお、フィンガープリントは、動画像のフレームデータのようなデジタルコンテンツをハッシュ関数で計算した結果として出力されるハッシュ値である。また、識別情報は、クライアント11が生成しストリームデータに含めて送信されるものであってもよいし、サーバ13がストリームデータを受信して生成するものであってもよい。   The identification information is information that can uniquely identify the frame 21, and is, for example, fingerprint or digest information. The fingerprint is a hash value that is output as a result of calculating digital content such as frame data of a moving image with a hash function. The identification information may be generated by the client 11 and transmitted by being included in the stream data, or may be generated by the server 13 receiving the stream data.

サーバ13は、先に受信して識別情報管理リスト22に保存している識別情報と、後から受信したクライアント11bからのストリームデータに含まれるフレーム21の識別情報との重複判定をおこなう。   The server 13 determines whether the identification information received first and stored in the identification information management list 22 overlaps with the identification information of the frame 21 included in the stream data from the client 11b received later.

サーバ13は、後から受信したストリームデータの識別情報が、識別情報管理リスト22で保持する識別情報のいずれかと一致する場合、後から受信したストリームデータと、先に受信したストリームデータは、同一コンテンツであると判断する。   When the identification information of the stream data received later matches one of the identification information held in the identification information management list 22, the server 13 determines that the stream data received later and the previously received stream data have the same content It is judged that.

サーバ13は、後から受信したストリームデータの識別情報が、識別情報管理リスト22で保持する識別情報と一致すると判定した場合、後から受信したフレーム21を破棄する。一方、サーバ13は、先に受信しているストリームデータは、それ以前のストリームデータと重複していないことから、フレーム21(フレームA1,A2,A3,…)を記憶装置23に保存する。   When the server 13 determines that the identification information of the stream data received later matches the identification information held in the identification information management list 22, the server 13 discards the frame 21 received later. On the other hand, the server 13 stores the frame 21 (frames A1, A2, A3,...) In the storage device 23 because the previously received stream data does not overlap with the previous stream data.

サーバ13は、一旦、重複すると判定したストリームデータについて、以降の重複判定をおこなうことなくフレーム21を破棄することで、重複排除処理の負荷を軽減することができる。   The server 13 can reduce the load of the deduplication processing by discarding the frame 21 without performing subsequent duplication determination on the stream data that has been determined to be duplicated.

次に、第2の実施形態のストリームデータについて図5を用いて説明する。図5は、第2の実施形態のストリームデータの一例を示す図である。
複数のクライアント11(クライアントA,クライアントB)は、それぞれストリームデータ(28,29)をサーバ13に送信する。クライアントAは、タイミングt10で、サーバ13に先頭フレームFA1を送信し、クライアントBは、タイミングt11で、サーバ13に先頭フレームFB1を送信する。
Next, stream data according to the second embodiment will be described with reference to FIG. FIG. 5 is a diagram illustrating an example of stream data according to the second embodiment.
The plurality of clients 11 (client A, client B) transmit stream data (28, 29) to the server 13, respectively. Client A transmits head frame FA1 to server 13 at timing t10, and client B transmits head frame FB1 to server 13 at timing t11.

ストリームデータ28は、複数のフレーム(FA1,…,FAM,…,FAN)を含む。ストリームデータ29は、複数のフレーム(FB1,…,FBP)を含む。
ストリームデータ(28,29)は、時系列順に処理されるデータである。ストリームデータ(28,29)は、たとえば、MPEG−2(Moving Picture Experts Group 2)規格や、ARIB(Association of Radio Industries and Broadcast)規格などで規定されている。
The stream data 28 includes a plurality of frames (FA1,..., FAM,..., FAN). The stream data 29 includes a plurality of frames (FB1,..., FBP).
Stream data (28, 29) is data processed in time series. The stream data (28, 29) is defined by, for example, the MPEG-2 (Moving Picture Experts Group 2) standard or the ARIB (Association of Radio Industries and Broadcast) standard.

クライアントAは、クライアントBより先に、先頭フレームFA1をサーバ13へ送信したことから、クライアントAが所定時間幅TIの間に送信したフレームに対応する識別情報は、識別情報管理リスト22に記録される。   Since the client A has transmitted the first frame FA1 to the server 13 before the client B, the identification information corresponding to the frame transmitted by the client A during the predetermined time width TI is recorded in the identification information management list 22. The

クライアントAが先に送信したフレーム(FA1,…,FAM,…,FAN)は、それ以前のストリームデータと重複していないことから、サーバ13により記憶装置14に保存される。   Since the frames (FA1,..., FAM,..., FAN) transmitted by the client A first do not overlap with the previous stream data, they are stored in the storage device 14 by the server 13.

後からサーバ13に送信された先頭フレームFB1は、識別情報が識別情報管理リスト22に記録された識別情報と比較される。先頭フレームFB1は、識別情報が識別情報管理リスト22に記録された識別情報のいずれかと一致する場合、ストリームデータ29は、ストリームデータ28と同一コンテンツであるとサーバ13によって判断される。   The head frame FB 1 transmitted to the server 13 later is compared with the identification information recorded in the identification information management list 22. If the identification information of the first frame FB1 matches any of the identification information recorded in the identification information management list 22, the server 13 determines that the stream data 29 is the same content as the stream data 28.

クライアントBが送信したフレーム(FB1)は、先に送信されたフレーム(FA1,…,FAM,…,FAN)のいずれかと重複すると判断され、サーバ13で破棄される。
なお、先頭フレームをサーバ13が受信したタイミング(t10,t11)は、録画開始時刻としてサーバ13で管理される。また、末尾フレームをサーバ13が受信したタイミング(t12,t13)は、録画終了時刻としてサーバ13で管理される。
The frame (FB1) transmitted by the client B is determined to overlap with any of the previously transmitted frames (FA1,..., FAM,..., FAN), and is discarded by the server 13.
The timing (t10, t11) at which the server 13 receives the first frame is managed by the server 13 as the recording start time. Also, the timing (t12, t13) at which the server 13 receives the last frame is managed by the server 13 as the recording end time.

次に、第2の実施形態のストリームデータの中断とバッファリングについて図6を用いて説明する。図6は、第2の実施形態のストリームデータの中断とバッファリングの一例を示す図である。   Next, the interruption and buffering of stream data according to the second embodiment will be described with reference to FIG. FIG. 6 is a diagram illustrating an example of interruption and buffering of stream data according to the second embodiment.

クライアントAとクライアントBは、同一のコンテンツのフレームをサーバに送信している。クライアントAは、クライアントBより先にフレームをサーバ13に送信している。   Client A and client B transmit frames of the same content to the server. The client A transmits the frame to the server 13 before the client B.

クライアントAは、フレーム送信の指示をサーバ13から受信し、フレームをサーバ13に送信している。クライアントBは、クライアントAがサーバ13にフレームを送信しているので、フレームの送信中止とバッファリングの指示を受け、フレームをバッファリングしている(タイミングt20)。   Client A receives a frame transmission instruction from server 13 and transmits a frame to server 13. Since client A is transmitting a frame to server 13, client B receives a frame transmission stop and buffering instruction and buffers the frame (timing t20).

ここで、クライアントAの通信経路の障害(タイミングt21)により、タイミングt21でクライアントAがフレーム送信を中断した場合、サーバ13はクライアントAからフレームを受信できなくなる。   Here, when the client A interrupts the frame transmission at the timing t21 due to the failure of the communication path of the client A (timing t21), the server 13 cannot receive the frame from the client A.

クライアントBは、クライアントAからフレームを受信できなくなったサーバ13から、バッファしたフレームの送信命令(バルク送信命令)を受信する。バルク送信命令を受信したクライアントBは、タイミングt20からタイミングt22の間にバッファリングしたフレームをサーバ13に送信する(タイミングt22)。   The client B receives a buffered frame transmission command (bulk transmission command) from the server 13 that cannot receive the frame from the client A. The client B that has received the bulk transmission command transmits the frame buffered between the timing t20 and the timing t22 to the server 13 (timing t22).

クライアントBから送信されたフレームは、サーバ13に受信され、受信されたフレームは、サーバ13によって記憶装置14に格納される。クライアントBは、タイミングt22以降の後続のフレームをクライアントAに代わってサーバ13に送信する。   The frame transmitted from the client B is received by the server 13, and the received frame is stored in the storage device 14 by the server 13. Client B transmits subsequent frames after timing t22 to server 13 on behalf of client A.

このように、放送コンテンツ記憶システム10は、クライアントAからサーバ13へのフレーム送信が中断した場合、クライアントBからサーバ13にフレームを送信することで、ストリームデータを補完することができる。   As described above, when the frame transmission from the client A to the server 13 is interrupted, the broadcast content storage system 10 can supplement the stream data by transmitting the frame from the client B to the server 13.

次に、第2の実施形態のデータ保存の流れのシーケンスについて図7を用いて説明する。図7は、第2の実施形態のデータ保存の流れのシーケンスの一例を示す図である。
クライアントAは、クライアントBより先に先頭フレームをサーバ13に送信している(タイミングt40)。クライアントBは、クライアントAより後に、同一内容の先頭フレームをサーバ13に送信している(タイミングt41)。
Next, a data storage sequence according to the second embodiment will be described with reference to FIG. FIG. 7 is a diagram illustrating an example of a data storage flow sequence according to the second embodiment.
Client A transmits the first frame to server 13 before client B (timing t40). Client B transmits the first frame of the same content to server 13 after client A (timing t41).

サーバ13は、複数のクライアント(クライアントA,B)から同一内容の先頭フレームを受信した時刻を比較し、所定の時間幅TIの間で最先にフレームを送信したクライアントAを、送信許可する対象のクライアントとして決定する。   The server 13 compares the times at which the first frame having the same content is received from a plurality of clients (clients A and B), and permits transmission of the client A that has transmitted the frame first within a predetermined time width TI. As a client.

サーバ13は、送信許可対象として決定したクライアントAにフレームの送信許可を送信する(タイミングt42)。また、サーバ13は、クライアントBにフレームのバッファ命令を送信する(タイミングt43)。バッファ命令は、送信許可を与えないクライアントBに対してフレームのバッファリングを指示する命令である。なお、クライアントBは、バッファ命令を受けない場合であっても、送信許可を受けない場合には自発的にフレームをバッファリングするようにしてもよい。   The server 13 transmits frame transmission permission to the client A determined as the transmission permission target (timing t42). Further, the server 13 transmits a frame buffer command to the client B (timing t43). The buffer instruction is an instruction to instruct frame buffering to the client B that is not permitted to transmit. Note that the client B may voluntarily buffer the frame even if it does not receive a buffer command and does not receive a transmission permission.

クライアントBは、サーバ13からバッファ命令を受信し、フレームをバッファリングする。クライアントAは、サーバ13から送信許可を受信し、先頭フレームに後続するフレームをサーバ13に送信する(タイミングt44)。   Client B receives the buffer command from server 13 and buffers the frame. The client A receives the transmission permission from the server 13, and transmits a frame subsequent to the head frame to the server 13 (timing t44).

ここで、クライアントAが通信経路の障害やユーザ操作などにより、フレーム送信を中断し(タイミングt45)、サーバ13は、クライアントAからフレームを受信できなくなる。   Here, the client A interrupts the frame transmission due to a communication path failure or a user operation (timing t45), and the server 13 cannot receive the frame from the client A.

サーバ13は、クライアントAからフレームを受信できなくなった時刻から所定の時間(フレーム監視時間TW)経過した後、クライアントBにバルク送信命令を送信する(タイミングt46)。バルク送信命令は、クライアントBがバッファリングしているフレームの送信を要求する命令である。   The server 13 transmits a bulk transmission command to the client B after a predetermined time (frame monitoring time TW) has elapsed from the time when the frame cannot be received from the client A (timing t46). The bulk transmission command is a command for requesting transmission of a frame buffered by the client B.

バルク送信命令を受信したクライアントBは、バッファリングしているフレームをサーバ13にバルク送信する(タイミングt47)。サーバ13は、クライアントBからバルク送信されたフレームを受信し、クライアントBから受信したフレームを記憶装置14に格納する。   The client B that has received the bulk transmission command bulk transmits the buffered frame to the server 13 (timing t47). The server 13 receives the frame transmitted from the client B in bulk, and stores the frame received from the client B in the storage device 14.

サーバ13は、後続するフレームの送信命令をクライアントBに送信する(タイミングt48)。クライアントBは、後続するフレームをサーバ13に送信する(タイミングt49)。   The server 13 transmits a subsequent frame transmission command to the client B (timing t48). Client B transmits the subsequent frame to server 13 (timing t49).

クライアントAは、フレームの再生要求をサーバ13に送信する(タイミングt50)。サーバ13は、クライアントAからフレームの再生要求を受信し、クライアントAからのフレーム受信状況に応じて再生データ送信する(タイミングt51)。   The client A transmits a frame reproduction request to the server 13 (timing t50). The server 13 receives the frame reproduction request from the client A, and transmits reproduction data according to the frame reception status from the client A (timing t51).

このようにして、サーバ13は、クライアントAおよびクライアントBからフレームを受信する。また、サーバ13は、クライアントAからのフレーム送信が中断した場合、クライアントBに対してバルク送信命令を送信する。これにより、サーバ13は、クライアントBからフレームを受信して、クライアントAから受信できなかったストリームデータを補完することができる。   In this way, the server 13 receives frames from the client A and the client B. Further, the server 13 transmits a bulk transmission command to the client B when the frame transmission from the client A is interrupted. As a result, the server 13 can receive the frame from the client B and complement the stream data that could not be received from the client A.

次に、第2の実施形態のフレーム送信処理について図8を用いて説明する。図8は、第2の実施形態のフレーム送信処理のフローチャートを示す図である。
フレーム送信処理は、クライアント11がフレームをサーバ13に送信する処理である。クライアント11の制御部(プロセッサ)は、保存先をサーバ13として受信した放送コンテンツを録画する場合に、フレーム送信処理を実行する。
Next, frame transmission processing according to the second embodiment will be described with reference to FIG. FIG. 8 is a diagram illustrating a flowchart of frame transmission processing according to the second embodiment.
The frame transmission process is a process in which the client 11 transmits a frame to the server 13. The control unit (processor) of the client 11 executes frame transmission processing when recording broadcast content received using the storage destination as the server 13.

[ステップS11]クライアント11は、放送コンテンツを受信しストリームデータを生成する。
[ステップS12]クライアント11は、送信時刻決定処理をする。送信時刻決定処理は、遅延時間を設定してクライアント11への送信開始要求の発行タイミングを決定することで、クライアント11にかかる負担を分散する処理である。ステップS12の送信時刻決定処理については、後で図10を用いて説明する。
[Step S11] The client 11 receives broadcast content and generates stream data.
[Step S12] The client 11 performs transmission time determination processing. The transmission time determination process is a process for distributing the burden on the client 11 by setting a delay time and determining the timing for issuing a transmission start request to the client 11. The transmission time determination process in step S12 will be described later with reference to FIG.

なお、クライアント11は、他のクライアント11と異なるタイミングでサーバ13へ送信開始要求を発行することができれば、送信時刻決定処理以外の方法を用いて送信時刻を決定してもよい。たとえば、クライアント11は、他のクライアント11と異なる遅延時間を含ませた送信のタイミングの指示を、サーバ13から受信してもよい。   Note that the client 11 may determine the transmission time using a method other than the transmission time determination process as long as the client 11 can issue a transmission start request to the server 13 at a different timing from the other clients 11. For example, the client 11 may receive a transmission timing instruction including a delay time different from that of the other clients 11 from the server 13.

[ステップS13]クライアント11は、先頭フレームの識別情報を生成する。なお、サーバ13が識別情報の生成をおこなう場合、クライアント11は、識別情報を生成することを要しない。   [Step S13] The client 11 generates identification information of the first frame. Note that when the server 13 generates identification information, the client 11 does not need to generate identification information.

[ステップS14]クライアント11は、送信開始要求をサーバ13に送信する。送信開始要求は、先頭フレームと先頭フレームの識別情報を含む。
なお、送信開始要求は、クライアント11を識別可能な情報を含むものであってもよい。たとえば、クライアント11を識別可能な情報は、MAC(Media Access Control)アドレスやIP(Internet Protocol)アドレスなど、クライアント11が通信に用いる情報とすることができる。
[Step S14] The client 11 transmits a transmission start request to the server 13. The transmission start request includes identification information of the first frame and the first frame.
The transmission start request may include information that can identify the client 11. For example, information that can identify the client 11 can be information used by the client 11 for communication, such as a MAC (Media Access Control) address or an IP (Internet Protocol) address.

[ステップS15]クライアント11は、送信開始要求に対するサーバ13からの応答の種別(応答種別)を判定する。クライアント11は、送信開始要求に対する応答種別が「単独フレーム送信」であった場合にステップS16にすすみ、送信開始要求に対する応答種別が「バルク送信」であった場合にステップS17にすすむ。クライアント11は、送信開始要求に対する応答の種別が「単独フレーム送信」と「バルク送信」のいずれでもない場合にステップS18にすすむ。   [Step S15] The client 11 determines the type of response (response type) from the server 13 to the transmission start request. The client 11 proceeds to step S16 when the response type for the transmission start request is “single frame transmission”, and proceeds to step S17 when the response type for the transmission start request is “bulk transmission”. The client 11 proceeds to step S18 when the type of response to the transmission start request is neither “single frame transmission” nor “bulk transmission”.

応答種別「単独フレーム送信」は、サーバ13が指定するフレームをサーバ13に送信する要求である。サーバ13は、番組IDによりフレームを指定する。番組IDは、コンテンツを識別可能な情報である。応答種別「バルク送信」は、クライアント11がバッファリングしているフレームをまとめてサーバ13に送信する要求である。   The response type “single frame transmission” is a request for transmitting a frame designated by the server 13 to the server 13. The server 13 designates a frame by the program ID. The program ID is information that can identify the content. The response type “bulk transmission” is a request for collectively transmitting frames buffered by the client 11 to the server 13.

[ステップS16]クライアント11は、応答種別「単独フレーム送信」の要求を受信した場合、サーバ13から指定されたフレームをサーバ13に送信する。
[ステップS17]クライアント11は、応答種別「バルク送信」の要求を受信した場合、バッファに蓄積しているフレームのうちから、受信した番組IDに対応するフレームをサーバ13にバルク送信する。
[Step S <b> 16] When the client 11 receives a request for the response type “single frame transmission”, the client 11 transmits the frame designated by the server 13 to the server 13.
[Step S <b> 17] When the client 11 receives a request for the response type “bulk transmission”, the client 11 bulk transmits the frame corresponding to the received program ID to the server 13 from the frames stored in the buffer.

[ステップS18]クライアント11は、送信開始要求に対するサーバ13からの応答種別を判定する。クライアント11は、送信開始要求に対する応答種別が「バッファ保存」であった場合にステップS19にすすみ、送信開始要求に対する応答種別が「バッファ終了」であった場合にステップS20にすすむ。応答種別「バッファ保存」は、クライアント11に対するフレームのバッファリング要求である。応答種別「バッファ終了」は、クライアント11に対するフレームのバッファリング終了要求である。   [Step S18] The client 11 determines the response type from the server 13 to the transmission start request. The client 11 proceeds to step S19 when the response type for the transmission start request is “buffer save”, and proceeds to step S20 when the response type for the transmission start request is “buffer end”. The response type “buffer save” is a frame buffering request to the client 11. The response type “buffer end” is a frame buffering end request to the client 11.

[ステップS19]クライアント11は、応答種別が「バッファ保存」である場合、フレームをバッファリングする。これにより、サーバ13は、同一コンテンツの重複保存の抑制と、クライアント11との通信負荷の抑制とを図ることができる。   [Step S19] If the response type is “buffer save”, the client 11 buffers the frame. As a result, the server 13 can suppress duplicate storage of the same content and suppress communication load with the client 11.

[ステップS20]クライアント11は、応答種別が「バッファ終了」である場合、フレームのバッファリングを終了する。なお、クライアント11は、所定時間内に応答種別「バルク送信」の要求を受信しない場合に、バッファしたフレームを削除してもよい。   [Step S20] If the response type is “buffer end”, the client 11 ends frame buffering. Note that the client 11 may delete the buffered frame when the response type “bulk transmission” is not received within a predetermined time.

[ステップS21]クライアント11は、次フレームの有無を判定する。クライアント11は、次フレームが有ると判定した場合にフレームの識別情報を生成してステップS15にすすみ、次フレームが無いと判定した場合にフレーム送信処理を終了する。なお、サーバ13が識別情報の生成をおこなう場合、クライアント11は、識別情報を生成することを要しない。   [Step S21] The client 11 determines whether there is a next frame. If the client 11 determines that there is a next frame, the client 11 generates frame identification information and proceeds to step S15. If it is determined that there is no next frame, the client 11 ends the frame transmission process. Note that when the server 13 generates identification information, the client 11 does not need to generate identification information.

このように、クライアント11は、フレームの送信開始要求をサーバ13に送信し、サーバ13からの受信した応答種別に応じてフレームの送信またはバッファリングをおこなう。   As described above, the client 11 transmits a frame transmission start request to the server 13 and performs transmission or buffering of the frame according to the response type received from the server 13.

次に、第2の実施形態のフレーム録画管理情報について図9を用いて説明する。図9は、第2の実施形態のフレーム録画管理情報の一例を示す図である。
フレーム録画管理情報60は、クライアント11が、放送コンテンツから生成したストリームデータを管理する情報である。クライアント11が同時に2以上の放送コンテンツを録画する場合に、フレーム録画管理情報60は、放送コンテンツごとのストリームデータの管理情報を記録する。
Next, frame recording management information according to the second embodiment will be described with reference to FIG. FIG. 9 is a diagram illustrating an example of frame recording management information according to the second embodiment.
The frame recording management information 60 is information used by the client 11 to manage stream data generated from broadcast content. When the client 11 records two or more broadcast contents at the same time, the frame recording management information 60 records management information of stream data for each broadcast content.

フレーム録画管理情報60は、番組ID、フラグ、録画開始時刻、録画終了時刻、ポインタを含む。番組IDは、放送コンテンツ、すなわち番組を識別可能な識別情報である。たとえば、番組IDは、「SN123_13895」である。フラグは、放送コンテンツに対応するストリームデータのサーバ13への送信状態を示す情報である。たとえば、フラグは、「単独フレーム送信」する状態を示す「S」、「バッファ保存」する状態を示す「B」などがある。録画開始時刻は、放送コンテンツの保存(録画)を開始した時刻である。たとえば、録画開始時刻は、時刻「13:20:25.08」である。録画終了時刻は、放送コンテンツの保存(録画)を終了した時刻である。たとえば、録画終了時刻は、時刻「14:17:02.19」である。ポインタは、番組IDに対応するフレームの格納先を指し示すポインタである。たとえば、ポインタは、フレームA1,A2,A3,…の格納先や、フレームN1,N2,…の格納先を指し示す。各フレームの格納先は、クライアント11が備えるHDDの記憶領域である。   The frame recording management information 60 includes a program ID, a flag, a recording start time, a recording end time, and a pointer. The program ID is identification information that can identify broadcast content, that is, a program. For example, the program ID is “SN123 — 13895”. The flag is information indicating a transmission state of the stream data corresponding to the broadcast content to the server 13. For example, the flag includes “S” indicating a state of “single frame transmission”, “B” indicating a state of “buffer saving”, and the like. The recording start time is the time when the storage (recording) of the broadcast content is started. For example, the recording start time is time “13: 20: 25.08”. The recording end time is the time when the storage (recording) of the broadcast content is ended. For example, the recording end time is the time “14: 17: 02.19”. The pointer is a pointer that indicates the storage destination of the frame corresponding to the program ID. For example, the pointer indicates the storage destination of the frames A1, A2, A3,... And the storage destination of the frames N1, N2,. The storage destination of each frame is a storage area of the HDD provided in the client 11.

これにより、クライアント11は、サーバ13に対して2以上の放送コンテンツの録画を要求することができる。
次に、第2の実施形態の送信時刻決定処理のフローチャートについて図10を用いて説明する。図10は、第2の実施形態の送信時刻決定処理のフローチャートを示す図である。
Thereby, the client 11 can request the server 13 to record two or more broadcast contents.
Next, the flowchart of the transmission time determination process of 2nd Embodiment is demonstrated using FIG. FIG. 10 is a diagram illustrating a flowchart of a transmission time determination process according to the second embodiment.

多数のクライアント11が同時刻に放送コンテンツをそれぞれ受信してサーバ13に一斉に送信すると、サーバ13の処理負荷が高くなる。これを避けるためにクライアント11は、サーバ13からフレームの送信許可を受けてフレームを送信する。サーバ13が先着したクライアント11に対してフレームの送信許可を与えると、ネットワークの構成等の環境条件次第では、特定のクライアント11に負担が偏重するおそれがある。送信時刻決定処理は、遅延時間を設定してクライアント11への送信開始要求の発行タイミングを決定することで、クライアント11にかかる負担を分散する処理である。送信時刻決定処理は、フレーム送信処理のステップS12でクライアント11が実行する処理である。   When a large number of clients 11 receive broadcast contents at the same time and transmit them simultaneously to the server 13, the processing load on the server 13 increases. In order to avoid this, the client 11 receives a frame transmission permission from the server 13 and transmits the frame. If the server 13 grants frame transmission permission to the client 11 that has arrived first, there is a risk that the burden on the specific client 11 may be concentrated depending on environmental conditions such as the network configuration. The transmission time determination process is a process for distributing the burden on the client 11 by setting a delay time and determining the timing for issuing a transmission start request to the client 11. The transmission time determination process is a process executed by the client 11 in step S12 of the frame transmission process.

[ステップS31]クライアント11は、あらかじめ保持している時間幅TIとRTT(Round Trip Time)の有効性を判定する。クライアント11は、保持している時間幅TIとRTTが有効である場合にステップS34にすすみ、無効である場合にステップS32にすすむ。クライアント11は、あらかじめ設定されている有効期間(たとえば、1日)との確認により時間幅TIとRTTの有効性を判定することができる。時間幅TIは、フレームの識別情報、すなわちフィンガープリントの保持期間であり、サーバ13が複数のクライアント11から送信開始要求を受信する際に同時刻とみなす期間である。たとえば、時間幅TIは、5秒間である。   [Step S31] The client 11 determines the validity of the time width TI and RTT (Round Trip Time) held in advance. The client 11 proceeds to step S34 when the held time width TI and RTT are valid, and proceeds to step S32 when invalid. The client 11 can determine the validity of the time width TI and the RTT by checking with a preset valid period (for example, one day). The time width TI is a holding period of frame identification information, that is, a fingerprint, and is a period that the server 13 regards as the same time when receiving transmission start requests from a plurality of clients 11. For example, the time width TI is 5 seconds.

[ステップS32]クライアント11は、サーバ13から時間幅TIを取得するとともに、サーバ13にICMP(Internet Control Message Protocol)パケットを送信してRTTを取得する。   [Step S32] The client 11 acquires the time width TI from the server 13, and transmits an Internet Control Message Protocol (ICMP) packet to the server 13 to acquire the RTT.

[ステップS33]クライアント11は、あらかじめ保持している時間幅TIとRTTを、取得した時間幅TIとRTTで更新する。
[ステップS34]クライアント11は、個別送信時間幅を決定する。たとえば、クライアント11は、時間幅TIの範囲の一様分布疑似乱数Fから乱数値を抽出し、抽出した乱数値とRTTとの差分を個別送信時間幅として決定する。
[Step S33] The client 11 updates the time widths TI and RTT held in advance with the acquired time widths TI and RTT.
[Step S34] The client 11 determines an individual transmission time width. For example, the client 11 extracts a random value from the uniformly distributed pseudorandom number F in the range of the time width TI, and determines the difference between the extracted random value and the RTT as the individual transmission time width.

[ステップS35]クライアント11は、送信開始要求の送信時刻(開始要求送信時刻)を決定する。開始要求送信時刻は、クライアント11が放送コンテンツを受信した時刻から個別送信時間幅だけ遅延した時刻である。   [Step S35] The client 11 determines the transmission time of the transmission start request (start request transmission time). The start request transmission time is a time delayed by an individual transmission time width from the time when the client 11 receives the broadcast content.

これにより、放送コンテンツ記憶システム10は、最初にサーバ13にフレームを送信するクライアント11を変更し、サーバ13にフレーム送信するクライアント11の偏りを解消し、フレーム送信をするクライアント11の調停制御をおこなうことができる。   Thus, the broadcast content storage system 10 first changes the client 11 that transmits a frame to the server 13, cancels the bias of the client 11 that transmits the frame to the server 13, and performs arbitration control of the client 11 that transmits the frame. be able to.

次に、第2の実施形態のフレーム受信処理のフローチャートについて図11を用いて説明する。図11は、第2の実施形態のフレーム受信処理のフローチャートを示す図である。フレーム受信処理は、サーバ13がクライアント11からフレームを受信する処理である。サーバ13の制御部(プロセッサ101)は、サーバ13の起動後に、フレーム受信処理を実行する。   Next, the flowchart of the frame reception process of 2nd Embodiment is demonstrated using FIG. FIG. 11 is a diagram illustrating a flowchart of frame reception processing according to the second embodiment. The frame reception process is a process in which the server 13 receives a frame from the client 11. The control unit (processor 101) of the server 13 executes frame reception processing after the server 13 is started.

[ステップS41]サーバ13は、クライアント11から送信開始要求を受信したか否かを判定する。サーバ13は、クライアント11から送信開始要求を受信した場合にステップS42にすすみ、送信開始要求を受信していない場合にステップS43にすすむ。   [Step S41] The server 13 determines whether a transmission start request is received from the client 11. The server 13 proceeds to step S42 when the transmission start request is received from the client 11, and proceeds to step S43 when the transmission start request is not received.

[ステップS42]サーバ13は、送信開始要求受信処理を実行し、ステップS41にすすむ。送信開始要求受信処理は、サーバ13がクライアント11からフレームの送信を開始する要求を受信する処理である。送信開始要求受信処理の詳細は、後で図12を用いて説明する。   [Step S42] The server 13 executes a transmission start request reception process and proceeds to step S41. The transmission start request reception process is a process in which the server 13 receives a request to start frame transmission from the client 11. Details of the transmission start request reception process will be described later with reference to FIG.

[ステップS43]サーバ13は、バルク送信を受信したか否かを判定する。サーバ13は、バルク送信を受信しない場合にステップS44にすすみ、バルク送信を受信した場合にステップS45にすすむ。   [Step S43] The server 13 determines whether or not a bulk transmission has been received. The server 13 proceeds to step S44 when the bulk transmission is not received, and proceeds to step S45 when the bulk transmission is received.

[ステップS44]サーバ13は、単独フレーム受信処理を実行し、ステップS41にすすむ。単独フレーム受信処理は、サーバ13が指定したフレームをクライアント11から受信する処理である。単独フレーム受信処理の詳細は、後で図16を用いて説明する。   [Step S44] The server 13 executes a single frame reception process and proceeds to step S41. The single frame reception process is a process of receiving a frame designated by the server 13 from the client 11. Details of the single frame reception process will be described later with reference to FIG.

[ステップS45]サーバ13は、バルク送信受信処理を実行し、ステップS41にすすむ。バルク送信受信処理は、サーバ13がバルク送信を要求したクライアント11からバッファに蓄積しているフレームを受信する処理である。バルク送信受信処理の詳細は、後で図20を用いて説明する。   [Step S45] The server 13 executes bulk transmission / reception processing, and proceeds to step S41. The bulk transmission reception process is a process in which the server 13 receives frames accumulated in the buffer from the client 11 that has requested bulk transmission. Details of the bulk transmission reception process will be described later with reference to FIG.

次に、第2の実施形態の送信開始要求受信処理のフローチャートについて図12を用いて説明する。図12は、第2の実施形態の送信開始要求受信処理のフローチャートを示す図である。   Next, the flowchart of the transmission start request reception process of 2nd Embodiment is demonstrated using FIG. FIG. 12 is a diagram illustrating a flowchart of a transmission start request reception process according to the second embodiment.

送信開始要求受信処理は、サーバ13がクライアント11から送信開始要求を受信する処理である。送信開始要求は、クライアント11がフレームの保存(録画)をサーバ13に要求する際に、最初にフレームを送信する処理である。サーバ13は、クライアントから送信開始要求を受信した場合に、送信開始要求受信処理を実行する。   The transmission start request reception process is a process in which the server 13 receives a transmission start request from the client 11. The transmission start request is a process of transmitting a frame first when the client 11 requests the server 13 to store (record) a frame. When the server 13 receives a transmission start request from the client, the server 13 executes a transmission start request reception process.

[ステップS51]サーバ13は、受信した先頭フレームにもとづき識別情報および番組IDを生成する。なお、サーバ13が、クライアント11から送信開始要求とともに識別情報も受信している場合は、サーバ13は識別情報の生成をおこなわない。   [Step S51] The server 13 generates identification information and a program ID based on the received first frame. If the server 13 receives the identification information from the client 11 together with the transmission start request, the server 13 does not generate the identification information.

サーバ13は、先頭フレームの識別情報と送信開始要求を受信した時刻にもとづいて、番組IDを生成する。なお、サーバ13は、送信開始要求を送信したクライアント11を識別する情報(たとえば、IPアドレス)と録画開始時刻にもとづいて、番組IDを生成してもよいし、別な方法で生成してもよい。また、サーバ13は、クライアント11から長時間連続してフレームを受信し続けた場合に、一定時間ごとに(たとえば30分ごとに)番組IDを生成してもよい。   The server 13 generates a program ID based on the identification information of the first frame and the time when the transmission start request is received. The server 13 may generate a program ID based on information (for example, an IP address) for identifying the client 11 that has transmitted the transmission start request and the recording start time, or may be generated by another method. Good. Further, the server 13 may generate a program ID at regular time intervals (for example, every 30 minutes) when frames are continuously received from the client 11 for a long time.

[ステップS52]サーバ13は、識別情報や番組IDなどを時刻情報と対応づけてサーバ13で管理する情報として登録する。なお、サーバ13は、送信開始要求を送信したクライアント11を識別する情報(IPアドレス、レコーダ識別情報など)も登録する。   [Step S52] The server 13 registers identification information, a program ID, and the like as information managed by the server 13 in association with time information. The server 13 also registers information (IP address, recorder identification information, etc.) for identifying the client 11 that has transmitted the transmission start request.

[ステップS53]サーバ13は、時間幅TIの間に受信した先頭フレームの識別情報とサーバ13で登録した識別情報群とを比較する。サーバ13は、識別情報を比較した結果、受信した識別情報が登録した識別情報群のいずれかと同一の識別情報であれば、受信したフレームは重複すると判定し、同一の識別情報でない場合は受信したフレームは重複しないと判定する。サーバ13は、フレームが重複しないと判断した場合、ステップS54にすすむ。サーバ13は、フレームが重複すると判断した場合、受信したフレームを破棄してステップS55へすすむ。   [Step S53] The server 13 compares the identification information of the first frame received during the time span TI with the identification information group registered in the server 13. As a result of comparing the identification information, if the received identification information is the same identification information as one of the registered identification information groups, the server 13 determines that the received frames are duplicated. It is determined that the frames do not overlap. If the server 13 determines that the frames do not overlap, the server 13 proceeds to step S54. If the server 13 determines that the frames overlap, the server 13 discards the received frames and proceeds to step S55.

[ステップS54]サーバ13は、受信したフレームを新規保存する。サーバ13は、番組IDを付したディレクトリに受信したフレームを保存し、フレームの時刻情報などを管理ファイルに記録する。   [Step S54] The server 13 newly stores the received frame. The server 13 stores the received frame in the directory with the program ID and records the frame time information and the like in the management file.

[ステップS55]サーバ13は、送信開始要求応答処理を実行し、送信開始要求受信処理を終了する。送信開始要求応答処理は、サーバ13がクライアント11から受信した送信開始要求に対して応答する処理である。送信開始要求応答処理の詳細は、図14を用いて後述する。   [Step S55] The server 13 executes a transmission start request response process, and ends the transmission start request reception process. The transmission start request response process is a process in which the server 13 responds to the transmission start request received from the client 11. Details of the transmission start request response process will be described later with reference to FIG.

これにより、サーバ13は、同時間帯に大量かつ同一の内容のコンテンツの保存要求を多数のクライアント11から受信しても、放送コンテンツを効率よく重複排除することができる。   As a result, the server 13 can efficiently deduplicate broadcast content even when receiving a large number of content storage requests from the multiple clients 11 during the same time period.

次に、第2の実施形態の識別情報管理リストについて図13を用いて説明する。図13は、第2の実施形態の識別情報管理リストの一例を示す図である。
識別情報管理リスト61は、時間幅TIにおける識別情報の重複判定用の情報を含む。識別情報管理リスト61は、時間幅TIに相当する識別情報を保存可能な容量を有する。なお、識別情報管理リスト61は、リスト形式に限らず、循環型ポインタテーブルで、時間幅TIにおいて保持する情報としてもよい。たとえば、サーバ13は、現在時刻を指すポインタを1秒毎にシフトし、一定の時間が経過した情報に現在の情報を上書き保存することで、識別情報を対応づけた情報のリストを再利用してもよい。
Next, the identification information management list of the second embodiment will be described with reference to FIG. FIG. 13 is a diagram illustrating an example of an identification information management list according to the second embodiment.
The identification information management list 61 includes information for determining duplication of identification information in the time width TI. The identification information management list 61 has a capacity capable of storing identification information corresponding to the time width TI. The identification information management list 61 is not limited to the list format, and may be a circular pointer table and information held in the time width TI. For example, the server 13 re-uses the list of information associated with the identification information by shifting the pointer indicating the current time every second and overwriting and saving the current information on the information after a certain time has passed. May be.

識別情報管理リスト61は、識別情報と、番組IDと、フレームデータと、時刻情報と、クライアント数を含む。識別情報は、フレームを特定可能な情報であり、たとえば「d0e9fdba65」である。番組IDは、フレームが属する番組の識別情報であり、たとえば、「SN123_1395」である。フレームデータは、フレームのデータであり、たとえば、「0x128519…」である。時刻情報は、サーバ13がクライアント11からフレームを受信した時刻である。クライアント数は、同一の番組IDに属するフレーム送信を受け付けるクライアント11の数である。複数のクライアント11から同一コンテンツのストリームデータを受信する場合、サーバ13は、記憶装置14に格納するフレームデータの冗長性を保つことができる。   The identification information management list 61 includes identification information, a program ID, frame data, time information, and the number of clients. The identification information is information that can specify a frame, and is, for example, “d0e9fdba65”. The program ID is identification information of the program to which the frame belongs, and is “SN123 — 1395”, for example. The frame data is frame data, for example, “0x128519...”. The time information is the time when the server 13 receives a frame from the client 11. The number of clients is the number of clients 11 that accept frame transmissions belonging to the same program ID. When receiving stream data of the same content from a plurality of clients 11, the server 13 can maintain the redundancy of the frame data stored in the storage device 14.

サーバ13は、時間幅TIの間にクライアント11から受信したフレームを管理し、番組IDを付与し、識別情報の重複判定をするために識別情報管理リスト22を用いることができる。   The server 13 can use the identification information management list 22 to manage frames received from the client 11 during the time span TI, to assign a program ID, and to determine duplication of identification information.

なお、識別情報は、動画像のフレームデータのような単位データを識別するダイジェストや、フィンガープリントである。クライアント11あるいはサーバ13は、RFC(Request For Comment)3174で規定されるSHA−1(Secure Hash Algorithm 1)など既知の方法を用いて識別情報を生成することができる。クライアント11が識別情報を生成し、クライアント11がフレームと識別情報とをサーバ13に送信してもよい。また、サーバ13は、クライアント11からフレームを受信し、受信したフレームから識別情報を生成してもよい。なお、時刻情報は、クライアント11が、放送コンテンツを受信した時刻を管理してもよい。   The identification information is a digest for identifying unit data such as frame data of a moving image or a fingerprint. The client 11 or the server 13 can generate identification information using a known method such as SHA-1 (Secure Hash Algorithm 1) defined by RFC (Request For Comment) 3174. The client 11 may generate identification information, and the client 11 may transmit the frame and the identification information to the server 13. The server 13 may receive a frame from the client 11 and generate identification information from the received frame. The time information may manage the time when the client 11 receives the broadcast content.

次に、第2の実施形態の送信開始要求応答処理のフローチャートについて図14を用いて説明する。図14は、第2の実施形態の送信開始要求応答処理のフローチャートを示す図である。   Next, the flowchart of the transmission start request response process of 2nd Embodiment is demonstrated using FIG. FIG. 14 is a diagram illustrating a flowchart of a transmission start request response process according to the second embodiment.

送信開始要求応答処理は、サーバ13がクライアント11から受信した送信開始要求に応答する処理である。送信開始要求応答処理は、送信開始要求受信処理のステップS55でサーバ13が実行する処理である。   The transmission start request response process is a process in which the server 13 responds to the transmission start request received from the client 11. The transmission start request response process is a process executed by the server 13 in step S55 of the transmission start request reception process.

[ステップS61]サーバ13は、受信した送信開始要求にかかる番組IDと同一の番組IDがクライアント管理情報に存在するか否かを判定する。サーバ13は、同一の番組IDが存在する場合にステップS62にすすみ、同一の番組IDが存在しない場合にステップS63にすすむ。クライアント管理情報については、後で図15を用いて説明する。   [Step S61] The server 13 determines whether or not the same program ID as the program ID related to the received transmission start request exists in the client management information. The server 13 proceeds to step S62 when the same program ID exists, and proceeds to step S63 when the same program ID does not exist. The client management information will be described later with reference to FIG.

[ステップS62]サーバ13は、当該番組IDのフレームを送信するクライアント数が閾値(クライアント数閾値)未満であるか否かを判定する。サーバ13は、クライアント11の台数が閾値未満の場合にステップS63にすすみ、クライアント数がクライアント数閾値以上の場合にステップS65にすすむ。サーバ13は、クライアント数閾値をあらかじめ設定する。なお、サーバ13は、クライアント数閾値を送信開始要求の受信数に応じて定めてもよいし、他の方法でクライアント数閾値を定めてもよい。   [Step S62] The server 13 determines whether or not the number of clients that transmit the frame of the program ID is less than a threshold value (client number threshold value). The server 13 proceeds to step S63 when the number of clients 11 is less than the threshold, and proceeds to step S65 when the number of clients is equal to or greater than the client number threshold. The server 13 sets a client number threshold in advance. Note that the server 13 may determine the client number threshold according to the number of received transmission start requests, or may determine the client number threshold by another method.

[ステップS63]サーバ13は、フレーム送信命令と番組IDをクライアント11に送信する。
[ステップS64]サーバ13は、フレーム送信命令を送信したクライアント11を単独フレーム送信対象としてクライアント管理情報に登録する。サーバ13は、単独フレーム送信を意味する識別子を当該クライアントの情報と対応づけてクライアント管理情報への登録をおこなう。
[Step S63] The server 13 transmits a frame transmission command and a program ID to the client 11.
[Step S64] The server 13 registers the client 11 that has transmitted the frame transmission command in the client management information as a single frame transmission target. The server 13 associates an identifier meaning single frame transmission with the information of the client and registers it in the client management information.

[ステップS65]サーバ13は、バッファ保存命令と番組IDをクライアント11に送信する。
[ステップS66]サーバ13は、バッファ保存命令を送信したクライアント11を、バッファ保存対象としてクライアント管理情報に登録する。
[Step S65] The server 13 transmits a buffer storage command and a program ID to the client 11.
[Step S66] The server 13 registers the client 11 that has transmitted the buffer save command in the client management information as a buffer save target.

なお、送信開始要求応答処理は、サーバ13の処理の一例である。サーバ13は、記憶装置14の容量が上限にせまった場合など、必要に応じてバッファ保存命令をクライアント11に送信してもよい。サーバ13は、クライアント11にバッファ保存命令を送信し、バッファ保存命令を送信したクライアント11からストリームデータの受信を停止する。   The transmission start request response process is an example of the process of the server 13. The server 13 may transmit a buffer storage command to the client 11 as necessary, for example, when the capacity of the storage device 14 has reached the upper limit. The server 13 sends a buffer save command to the client 11 and stops receiving stream data from the client 11 that sent the buffer save command.

次に、第2の実施形態のクライアント管理情報について図15を用いて説明する。図15は、第2の実施形態のクライアント管理情報の一例を示す図である。
クライアント管理情報62は、サーバ13が番組IDごとのクライアント11の管理に用いる情報である。クライアント管理情報62は、フレーム送信の状態などの管理に用いられる。クライアント管理情報62は、番組IDと、クライアントIDと、先頭フレーム識別情報と、フラグと、開始時刻と、終了時刻を含む。
Next, client management information according to the second embodiment will be described with reference to FIG. FIG. 15 is a diagram illustrating an example of client management information according to the second embodiment.
The client management information 62 is information used by the server 13 for managing the client 11 for each program ID. The client management information 62 is used for managing the frame transmission status and the like. The client management information 62 includes a program ID, a client ID, head frame identification information, a flag, a start time, and an end time.

番組IDは、識別情報管理リストに含まれる番組IDと同一である。クライアントIDは、クライアント11を識別する識別情報である。たとえば、クライアントIDは、IPアドレスやMACアドレスをクライアントIDとしてもよいし、レコーダの製造番号や、製品のシリアル番号などをクライアントIDとしてもよい。なお、クライアントIDは、サーバ13がクライアント11に対してフレーム送信の命令に用いる情報であってもよい。また、クライアントIDは、サーバ13がクライアントに対してバルク送信命令を送信するために用いる情報であってもよい。   The program ID is the same as the program ID included in the identification information management list. The client ID is identification information for identifying the client 11. For example, the client ID may be an IP address or a MAC address as a client ID, or may be a recorder manufacturing number, a product serial number, or the like. The client ID may be information used by the server 13 to send a frame transmission command to the client 11. The client ID may be information used by the server 13 to transmit a bulk transmission command to the client.

先頭フレーム識別情報は、先頭フレームの識別情報である。フラグは、クライアント11のフレーム送信状態を示す情報である。フラグは、たとえば、フレーム送信状態を示す「S」や、フレームをバッファリングしている状態を示す「B」がある。   The first frame identification information is identification information of the first frame. The flag is information indicating the frame transmission state of the client 11. The flag includes, for example, “S” indicating a frame transmission state and “B” indicating a frame buffering state.

開始時刻は、クライアント11がフレームの送信を開始した時刻(録画開始時刻)である。なお、開始時刻は、サーバ13がクライアント11から開始要求とともに先頭フレームを受信した時刻の情報であってもよい。なお、開始時刻は、クライアント11がバッファリングしている場合、バッファリングの開始時刻である。   The start time is a time when the client 11 starts transmitting a frame (recording start time). The start time may be information on the time at which the server 13 received the start frame from the client 11 together with the start request. The start time is the buffering start time when the client 11 is buffering.

終了時刻は、クライアント11がフレームの送信を終了した時刻(録画終了時刻)である。なお、終了時刻は、サーバ13がクライアント11から末尾フレームを受信した時刻の情報であってもよい。なお、終了時刻は、クライアント11がバッファリングしている場合、バッファリングの終了時刻である。   The end time is the time when the client 11 has finished transmitting the frame (recording end time). The end time may be information on the time at which the server 13 receives the last frame from the client 11. The end time is the buffering end time when the client 11 is buffering.

次に、第2の実施形態の単独フレーム受信処理のフローチャートについて図16を用いて説明する。図16は、第2の実施形態の単独フレーム受信処理のフローチャートを示す図である。   Next, a flowchart of the single frame reception process of the second embodiment will be described with reference to FIG. FIG. 16 is a diagram illustrating a flowchart of the single frame reception process according to the second embodiment.

単独フレーム受信処理は、サーバ13が、クライアント11から単独のフレームを受信する処理である。サーバ13は、開始要求の応答としてフレーム送信の命令をクライアント11に送信した後、クライアント11から後続のフレームを受信する場合に単独フレーム受信処理を実行する。また、サーバ13は、バルク送信されたデータを受信した後に、後続のフレームを受信する場合に、単独フレーム受信処理を実行する。   The single frame reception process is a process in which the server 13 receives a single frame from the client 11. The server 13 transmits a frame transmission command to the client 11 as a response to the start request, and then executes a single frame reception process when receiving a subsequent frame from the client 11. Further, the server 13 performs a single frame reception process when receiving a subsequent frame after receiving the bulk-transmitted data.

[ステップS71]サーバ13は、受信したフレームの格納先を決定する。サーバ13は、後続する単独のフレームとともに番組IDを、クライアント11から受信する。サーバ13は、当該番組IDが付されたディレクトリを、受信したフレームの格納先と決定する。なお、サーバ13は、クライアント11から番組IDを受信しない場合、クライアント11を識別する情報にもとづいて番組IDを特定し、フレーム格納先を決定することができる。   [Step S71] The server 13 determines the storage location of the received frame. The server 13 receives the program ID from the client 11 together with the subsequent single frame. The server 13 determines the directory to which the program ID is attached as the storage destination of the received frame. When the server 13 does not receive the program ID from the client 11, the server 13 can specify the program ID based on the information for identifying the client 11 and determine the frame storage destination.

[ステップS72]サーバ13は、受信したフレームをディレクトリに追加保存する。サーバ13は、受信したフレームに対応する番組IDが付与されたフォルダに、受信したフレームを格納する。また、サーバ13は、フレームデータを管理するファイルに、フレームデータのファイル名、開始時刻、終了時刻を記録する。   [Step S72] The server 13 additionally stores the received frame in the directory. The server 13 stores the received frame in a folder assigned with a program ID corresponding to the received frame. The server 13 records the file name, start time, and end time of the frame data in a file that manages the frame data.

[ステップS73]サーバ13は、受信したフレームが末尾フレームか否かを判定する。サーバ13は、フレームが末尾フレームである場合にステップS74にすすみ、末尾フレームでない場合に単独フレーム受信処理を終了する。   [Step S73] The server 13 determines whether the received frame is the last frame. The server 13 proceeds to step S74 when the frame is the end frame, and ends the single frame reception process when it is not the end frame.

[ステップS74]サーバ13は、クライアント管理情報に、末尾フレームの受信時刻を終了時刻として登録する。なお、サーバ13は、一定の期間経過後にクライアント11から末尾フレームを受信できずに当該クライアント11がバッファリングしている場合、当該クライアント11に「バッファ終了」の通知を送信してもよい。   [Step S74] The server 13 registers the reception time of the last frame as the end time in the client management information. Note that the server 13 may transmit a “buffer end” notification to the client 11 when the client 11 is buffering without receiving the end frame from the client 11 after a certain period of time has elapsed.

次に、第2の実施形態のフレームのファイル格納形式について図17を用いて説明する。図17は、第2の実施形態のフレームのファイル格納形式の一例を示す図である。
フレームのファイル格納形式は、サーバ13がクライアント11から受信したフレームのデータをファイルとして格納する形式である。サーバ13は、時刻情報を付したディレクトリ(時刻情報ディレクトリ)を設ける。たとえば、ディレクトリ「2014041014」は、時刻情報ディレクトリである。時刻情報ディレクトリは、ディレクトリの中に1以上の番組IDを付したディレクトリ(番組ディレクトリ)を設ける。たとえば、ディレクトリ「SN1234_1395」は、番組ディレクトリである。サーバ13は、1ディレクトリに1つの番組(放送コンテンツ)を格納する。すなわち、サーバ13は、所定の同時間帯(たとえば、30分)ごとに時刻情報ディレクトリを設け、時刻情報ディレクトリの中に同時間帯の1以上の番組ディレクトリを設ける。
Next, a frame file storage format according to the second embodiment will be described with reference to FIG. FIG. 17 is a diagram illustrating an example of a frame file storage format according to the second embodiment.
The frame file storage format is a format in which the server 13 stores the frame data received from the client 11 as a file. The server 13 provides a directory (time information directory) with time information. For example, the directory “2014041014” is a time information directory. The time information directory provides a directory (program directory) with one or more program IDs in the directory. For example, the directory “SN1234 — 1395” is a program directory. The server 13 stores one program (broadcast content) in one directory. That is, the server 13 provides a time information directory for each predetermined time period (for example, 30 minutes), and provides one or more program directories for the same time period in the time information directory.

番組ディレクトリは、1つのフレームデータ管理ファイルと1以上のフレームデータファイルを含む。たとえば、「Filetable」は、フレームデータ管理ファイルであり、「File_0」、「File_1」は、フレームデータファイルのファイル名である。フレームデータ管理ファイルは、同じ番組ディレクトリの中に格納されたフレームデータを管理するファイルである。サーバ13は、受信したフレームにファイル名を付してフレームデータファイルを生成し、番組ディレクトリに格納する。なお、サーバ13は、受信したフレームに受信順序にしたがったファイル名を付与してもよいし、その他ストリームデータを再生するときに必要な情報を付してもよい。   The program directory includes one frame data management file and one or more frame data files. For example, “Fileable” is a frame data management file, and “File — 0” and “File — 1” are file names of frame data files. The frame data management file is a file for managing frame data stored in the same program directory. The server 13 attaches a file name to the received frame, generates a frame data file, and stores it in the program directory. The server 13 may give the received frame a file name according to the reception order, or may add other information necessary for reproducing the stream data.

これにより、サーバ13は、クライアントIDとクライアント管理情報とにもとづいて、受信したフレームが属するストリームデータの番組IDを特定することができる。また、サーバ13は、番組IDが付与されたディレクトリをフレームの格納先として特定することができる。   Accordingly, the server 13 can specify the program ID of the stream data to which the received frame belongs based on the client ID and the client management information. Further, the server 13 can specify the directory to which the program ID is assigned as the frame storage destination.

次に、第2の実施形態のフレームデータ管理ファイルについて図18を用いて説明する。図18は、第2の実施形態のフレームデータ管理ファイルの一例を示す図である。
フレームデータ管理ファイル66は、フレームデータの管理情報を含む。フレームデータの管理情報は、フレームデータのファイル名と、先端時刻と、終端時刻とを含む。フレームデータの管理情報は、サーバ13によって管理される。ファイル名は、各フレームデータに付されるファイル名であり、たとえばファイル名は、「File_0」である。先端時刻は、各フレームに含まれる放送コンテンツの最先の時刻である。終端時刻は、各フレームに含まれる放送コンテンツの最後の時刻である。
Next, a frame data management file according to the second embodiment will be described with reference to FIG. FIG. 18 is a diagram illustrating an example of a frame data management file according to the second embodiment.
The frame data management file 66 includes frame data management information. The frame data management information includes a frame data file name, a leading edge time, and a terminal time. Frame data management information is managed by the server 13. The file name is a file name given to each frame data. For example, the file name is “File_0”. The leading edge time is the earliest time of the broadcast content included in each frame. The end time is the last time of the broadcast content included in each frame.

次に、第2の実施形態のフレーム保存監視処理のフローチャートについて図19を用いて説明する。図19は、第2の実施形態のフレーム保存監視処理のフローチャートを示す図である。   Next, a flowchart of the frame storage monitoring process according to the second embodiment will be described with reference to FIG. FIG. 19 is a diagram illustrating a flowchart of the frame storage monitoring process according to the second embodiment.

フレーム保存監視処理は、サーバ13が、クライアント11から受信するフレームの保存状態を監視する処理である。サーバ13の制御部(プロセッサ101)は、サーバ13の起動後にフレーム保存監視処理を実行する。   The frame storage monitoring process is a process in which the server 13 monitors the storage state of a frame received from the client 11. The control unit (processor 101) of the server 13 executes frame storage monitoring processing after the server 13 is started.

[ステップS81]サーバ13は、クライアント11からフレームの受信が中断したか否かを判定する。サーバ13は、フレームの受信が中断した場合にステップS82にすすみ、フレームの受信が中断していない場合にステップS81にすすむ。   [Step S81] The server 13 determines whether reception of a frame from the client 11 is interrupted. The server 13 proceeds to step S82 when the frame reception is interrupted, and proceeds to step S81 when the frame reception is not interrupted.

サーバ13は、あらかじめ定められたフレーム監視時間TWが経過しても末尾フレームを受信しなかった場合、クライアント11からフレーム送信が中断したと判定する。なお、サーバ13は、番組IDが付されたディレクトリに、末尾フレームのデータが格納されていない場合、フレームの受信が中断したと判定してもよい。また、サーバ13は、フレームデータ管理ファイルの更新時刻からフレーム監視時間TWにおいて更新されていないと判定した場合、フレーム送信が中断したと判定してもよい。   The server 13 determines that the frame transmission from the client 11 is interrupted when it does not receive the last frame even after the predetermined frame monitoring time TW has elapsed. The server 13 may determine that the reception of the frame is interrupted when the data of the last frame is not stored in the directory to which the program ID is attached. The server 13 may determine that the frame transmission is interrupted when it is determined that the frame data management file has not been updated from the update time of the frame data management file at the frame monitoring time TW.

[ステップS82]サーバ13は、フレームを送信するクライアント11の数(クライアント数)が複数であるか否かを判定する。サーバ13は、クライアント数が複数でない場合にステップS83にすすみ、クライアント数が複数である場合にステップS81にすすむ。サーバ13は、クライアント数をクライアント管理情報から取得することができる。   [Step S82] The server 13 determines whether or not there are a plurality of clients 11 (the number of clients) that transmit frames. The server 13 proceeds to step S83 when the number of clients is not plural, and proceeds to step S81 when the number of clients is plural. The server 13 can acquire the number of clients from the client management information.

[ステップS83]サーバ13は、バッファ保存中のクライアント11が有るか否かを判定する。サーバ13は、バッファ保存中のクライアント11が有る場合にステップS84にすすみ、バッファ保存中のクライアント11が無い場合にステップS81へすすむ。サーバ13は、バッファ保存中のクライアント11の有無を、クライアント管理情報から取得することができる。   [Step S83] The server 13 determines whether or not there is a client 11 being stored in the buffer. The server 13 proceeds to step S84 when there is a client 11 that is storing a buffer, and proceeds to step S81 when there is no client 11 that is storing a buffer. The server 13 can acquire the presence / absence of the client 11 being stored in the buffer from the client management information.

[ステップS84]サーバ13は、バッファ保存中のクライアント11に対してバルク送信命令を発行する。
次に、第2の実施形態のバルク送信受信処理のフローチャートについて図20を用いて説明する。図20は、第2の実施形態のバルク送信受信処理のフローチャートを示す図である。
[Step S84] The server 13 issues a bulk transmission command to the client 11 that is saving the buffer.
Next, the flowchart of the bulk transmission reception process of 2nd Embodiment is demonstrated using FIG. FIG. 20 is a diagram illustrating a flowchart of bulk transmission reception processing according to the second embodiment.

バルク送信受信処理は、サーバ13が、クライアント11からバッファリングされたフレームのバルク送信を受信した場合の処理である。サーバ13は、クライアント11がバッファリングしたデータのバルク送信を受信した場合に、バルク送信受信処理を実行する。   The bulk transmission reception process is a process when the server 13 receives a bulk transmission of a buffered frame from the client 11. The server 13 executes a bulk transmission reception process when the client 11 receives a bulk transmission of the buffered data.

[ステップS91]サーバ13は、バルク送信フレーム格納先を決定する。サーバ13は、クライアント11から受信した番組IDにもとづき、バルク送信で受信したフレームの格納先のディレクトリを決定する。   [Step S91] The server 13 determines a bulk transmission frame storage destination. Based on the program ID received from the client 11, the server 13 determines a directory for storing frames received by bulk transmission.

[ステップS92]サーバ13は、受信したバルク送信フレームを新規保存する。サーバ13は、番組IDが付されたディレクトリに受信したフレームを保存し、フレームデータ管理ファイル66に受信した情報を追加する。なお、サーバ13は、当該番組IDのディレクトリにすでに保存されたフレームが存在する場合、上書き保存を避け、新たにファイル名を付して保存してもよいし、別のディレクトリ名を作成して保存してもよい。   [Step S92] The server 13 newly stores the received bulk transmission frame. The server 13 stores the received frame in the directory with the program ID and adds the received information to the frame data management file 66. If there is a frame already saved in the directory of the program ID, the server 13 may avoid overwriting and save it with a new file name, or create another directory name. May be saved.

[ステップS93]サーバ13は、クライアント11をバルク送信対象から単独フレーム送信対象に変更する。サーバ13は、バルク送信を行ったクライアント11に対応するクライアント管理情報62のフラグを、バルク送信対象のフラグ「B」から単独フレーム送信対象のフラグ「S」に変更する。   [Step S93] The server 13 changes the client 11 from a bulk transmission target to a single frame transmission target. The server 13 changes the flag of the client management information 62 corresponding to the client 11 that has performed the bulk transmission from the bulk transmission target flag “B” to the single frame transmission target flag “S”.

[ステップS94]サーバ13は、後続するフレームの送信命令をクライアント11に発行する。このようにして、サーバ13は、バルク送信フレームを受信し格納する。また、サーバ13は、バルク送信対象のクライアント11を単独フレーム送信対象のクライアント11に変更する。   [Step S94] The server 13 issues a subsequent frame transmission command to the client 11. In this way, the server 13 receives and stores the bulk transmission frame. In addition, the server 13 changes the client 11 that is the target of bulk transmission to the client 11 that is the target of single frame transmission.

次に、第2の実施形態の再生データ出力処理のフローチャートについて図21を用いて説明する。図21は、第2の実施形態の再生データ出力処理のフローチャートを示す図である。   Next, a flowchart of reproduction data output processing according to the second embodiment will be described with reference to FIG. FIG. 21 is a flowchart illustrating the reproduction data output process according to the second embodiment.

再生データ出力処理は、サーバ13がクライアント11から受信した再生要求の時刻情報を判別し、再生すべきフレームデータを記憶装置14から読出し、クライアント11に送信する処理である。サーバ13は、クライアント11からコンテンツを再生する要求を受信した場合に、再生データ出力処理を実行する。   The reproduction data output process is a process in which the server 13 determines time information of a reproduction request received from the client 11, reads frame data to be reproduced from the storage device 14, and transmits the frame data to the client 11. When the server 13 receives a content playback request from the client 11, the server 13 executes playback data output processing.

[ステップS101]サーバ13は、クライアント11からコンテンツの再生要求とともに、再生の開始時刻と終了時刻の情報と番組IDの情報とを受信する。
[ステップS102]サーバ13は、番組IDに対応するディレクトリに存在するフレームデータ管理ファイルから管理情報を取得する。
[Step S <b> 101] The server 13 receives a reproduction request for content from the client 11, information on the reproduction start time and end time, and information on the program ID.
[Step S102] The server 13 acquires management information from a frame data management file existing in the directory corresponding to the program ID.

[ステップS103]サーバ13は、受信した番組IDに対応するディレクトリに格納されているフレームデータを、管理情報にもとづき時刻昇順にソートする。
[ステップS104]サーバ13は、番組IDに対応するディレクトリに格納されているフレームデータをソート結果にしたがい読出す。
[Step S103] The server 13 sorts the frame data stored in the directory corresponding to the received program ID in ascending order based on the management information.
[Step S104] The server 13 reads the frame data stored in the directory corresponding to the program ID according to the sort result.

なお、サーバ13は、再生要求で受信した開始時刻から終了時刻までフレームデータのうち、再生要求をおこなったクライアント11がサーバ13に保存を要求したフレームデータの範囲内でフレームデータを読み出す。これにより、サーバは、クライアント11が保存したフレームデータに限り、クライアント11でのフレームデータの再生を可能にする。たとえば、クライアント11が放送コンテンツの一部だけを録画している場合、当該クライアント11は、録画した番組の一部に限りフレームデータを再生できる。なお、クライアント11による録画時間は、クライアント11からサーバ13へのフレームデータの送信している時間の他に、クライアント11がフレームデータをバッファリングしている時間を含む。   The server 13 reads out the frame data within the range of the frame data requested by the client 11 that requested the reproduction from the frame data from the start time to the end time received by the reproduction request. As a result, the server allows the client 11 to reproduce the frame data only for the frame data stored by the client 11. For example, when the client 11 is recording only a part of the broadcast content, the client 11 can reproduce the frame data only for a part of the recorded program. Note that the recording time by the client 11 includes the time when the client 11 is buffering the frame data in addition to the time when the frame data is transmitted from the client 11 to the server 13.

[ステップS105]サーバ13は、ステップS104で読出したフレームデータが、録画終了時刻のフレームデータであるか否かを判定する。サーバ13は、読み出したフレームデータが録画終了時刻のフレームデータである場合にステップS106にすすみ、録画終了時刻のフレームデータでない場合にステップS104にすすむ。   [Step S105] The server 13 determines whether or not the frame data read in step S104 is frame data at the recording end time. The server 13 proceeds to step S106 when the read frame data is frame data at the recording end time, and proceeds to step S104 when it is not frame data at the recording end time.

[ステップS106]サーバ13は、ステップS104で読出したフレームデータをクライアント11に送信する。なお、サーバ13は、クライアント管理情報にもとづき同一の放送コンテンツを保存した複数のクライアント11を特定できる。サーバ13は、特定したクライアント11に対して同一の放送コンテンツを送信できる。   [Step S106] The server 13 transmits the frame data read in step S104 to the client 11. The server 13 can identify a plurality of clients 11 that store the same broadcast content based on the client management information. The server 13 can transmit the same broadcast content to the identified client 11.

このように、サーバ13は、同時刻帯に同内容の放送コンテンツを大量に保存する場合において、識別情報管理リストを用いることで効率的に重複排除をおこなうことができる。また、サーバ13は、重複するフレームを削減し、ストレージ装置の記憶容量が圧迫されることを軽減することができる。   As described above, the server 13 can efficiently perform de-duplication by using the identification information management list when storing a large amount of broadcast contents having the same contents in the same time zone. In addition, the server 13 can reduce overlapping frames and reduce the storage capacity of the storage device.

また、サーバ13は、同一の放送コンテンツのフレームの送信開始を要求しているクライアント11が複数存在している場合、一部のクライアント11にフレームを送信する命令を送信し、他のクライアント11にバッファリングする命令を送信する。このようにして、サーバ13は、クライアント11から受信するフレームの数を軽減し、大容量のデータを通信するネットワーク帯域を削減することができる。   In addition, when there are a plurality of clients 11 requesting transmission start of the same broadcast content frame, the server 13 transmits a command to transmit a frame to some clients 11, and transmits to another client 11. Send an instruction to buffer. In this way, the server 13 can reduce the number of frames received from the client 11 and reduce the network bandwidth for communicating a large amount of data.

なお、上記の処理機能は、コンピュータによって実現することができる。その場合、第1の情報処理装置2、第2の情報処理装置5、クライアント11、およびサーバ13が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD、DVD−RAM、CD−ROM/RWなどがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。   The above processing functions can be realized by a computer. In that case, a program describing the processing contents of the functions that the first information processing apparatus 2, the second information processing apparatus 5, the client 11, and the server 13 should have is provided. By executing the program on a computer, the above processing functions are realized on the computer. The program describing the processing contents can be recorded on a computer-readable recording medium. Examples of the computer-readable recording medium include a magnetic storage device, an optical disk, a magneto-optical recording medium, and a semiconductor memory. Examples of the magnetic storage device include a hard disk device (HDD), a flexible disk (FD), and a magnetic tape. Optical discs include DVD, DVD-RAM, CD-ROM / RW, and the like. Magneto-optical recording media include MO (Magneto-Optical disk).

プログラムを流通させる場合には、たとえば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。   When distributing the program, for example, portable recording media such as a DVD and a CD-ROM in which the program is recorded are sold. It is also possible to store the program in a storage device of a server computer and transfer the program from the server computer to another computer via a network.

プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムにしたがった処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムにしたがった処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムにしたがった処理を実行することもできる。   The computer that executes the program stores, for example, the program recorded on the portable recording medium or the program transferred from the server computer in its own storage device. Then, the computer reads the program from its own storage device and executes processing according to the program. The computer can also read the program directly from the portable recording medium and execute processing according to the program. In addition, each time a program is transferred from a server computer connected via a network, the computer can sequentially execute processing according to the received program.

また、上記の処理機能の少なくとも一部を、DSP、ASIC、PLDなどの電子回路で実現することもできる。   In addition, at least a part of the processing functions described above can be realized by an electronic circuit such as a DSP, ASIC, or PLD.

1 情報処理システム
2,2a,2b,2n 第1の情報処理装置
3 送信部
4 ストリームデータ
4a 単位データ
5 第2の情報処理装置
5a 受信部
5b 制御部
5c 第1の記憶部
6 識別情報
7 第2の記憶部
9,12 ネットワーク
10 放送コンテンツ記憶システム
11,11a,11b,11n クライアント
13 サーバ
14 記憶装置
15 放送局
16 コンテンツ配信システム
101 プロセッサ
102 RAM
103 HDD
104 入出力信号インタフェース
105 記憶媒体インタフェース
106 通信インタフェース
107 バス
108 入出力デバイス
109 記憶媒体
DESCRIPTION OF SYMBOLS 1 Information processing system 2, 2a, 2b, 2n 1st information processing apparatus 3 Transmission part 4 Stream data 4a Unit data 5 2nd information processing apparatus 5a Reception part 5b Control part 5c 1st memory | storage part 6 Identification information 7 1st 2 storage units 9, 12 network 10 broadcast content storage system 11, 11a, 11b, 11n client 13 server 14 storage device 15 broadcast station 16 content distribution system 101 processor 102 RAM
103 HDD
104 I / O signal interface 105 Storage medium interface 106 Communication interface 107 Bus 108 Input / output device 109 Storage medium

Claims (7)

複数の第1の情報処理装置と、前記第1の情報処理装置とネットワークを介して接続する第2の情報処理装置とを有する情報処理システムにおいて、
前記第1の情報処理装置は、放送コンテンツから生成したストリームデータを送信する送信部を有し、
前記第2の情報処理装置は、
前記ストリームデータを受信する受信部と、
前記ストリームデータに含まれる所定の単位データを識別可能な識別情報を、前記単位データの受信タイミングを特定可能にして第1の記憶部に保持するとともに、前記単位データを第2の記憶部に保持し、
2以上の前記第1の情報処理装置から前記ストリームデータを受信したとき、先に受信して前記第1の記憶部が保持する前記単位データの前記識別情報と、後から受信した前記単位データの前記識別情報とを比較して、比較結果が一致する場合に、一致した前記識別情報に対応する前記単位データを破棄し、比較結果が一致しない場合に、後から受信した前記単位データの前記識別情報を前記第1の記憶部に保持するとともに、後から受信した前記単位データを第2の記憶部に保持する制御部と、
を備える情報処理システム。
In an information processing system having a plurality of first information processing devices and a second information processing device connected to the first information processing device via a network,
The first information processing apparatus includes a transmission unit that transmits stream data generated from broadcast content,
The second information processing apparatus
A receiving unit for receiving the stream data;
Identification information that can identify predetermined unit data included in the stream data is held in the first storage unit so that the reception timing of the unit data can be specified, and the unit data is held in the second storage unit And
When the stream data is received from two or more first information processing apparatuses, the identification information of the unit data received first and held in the first storage unit, and the unit data received later When the comparison result matches the identification information, the unit data corresponding to the matched identification information is discarded, and when the comparison result does not match, the identification of the unit data received later A control unit for holding information in the first storage unit and holding the unit data received later in the second storage unit;
An information processing system comprising:
前記制御部は、所定の時間幅で受信した前記識別情報と前記単位データの受信時刻を示す情報とを対応づけて前記第1の記憶部に保持する請求項1記載の情報処理システム。   The information processing system according to claim 1, wherein the control unit associates the identification information received in a predetermined time width with information indicating a reception time of the unit data and holds the information in the first storage unit. 前記制御部は、前記比較結果が一致した単位データを送信した前記第1の情報処理装置のうちの1つに、前記第1の情報処理装置が有するバッファへの前記ストリームデータの保存を命令するバッファ保存命令を送信し、前記バッファ保存命令を送信した前記第1の情報処理装置からの前記ストリームデータの受信を停止する、
請求項1記載の情報処理システム。
The control unit instructs one of the first information processing devices that transmitted unit data having the same comparison result to store the stream data in a buffer included in the first information processing device. Sending a buffer save command and stopping receiving the stream data from the first information processing apparatus that sent the buffer save command;
The information processing system according to claim 1.
前記制御部は、他の前記第1の情報処理装置と異なる遅延時間を含ませた前記ストリームデータの送信を前記第1の情報処理装置に対して指示する、
請求項1記載の情報処理システム。
The control unit instructs the first information processing apparatus to transmit the stream data including a delay time different from that of the other first information processing apparatus.
The information processing system according to claim 1.
前記制御部は、前記バッファに前記ストリームデータを保存する前記第1の情報処理装置に対して、前記バッファに保存する前記ストリームデータのバルク送信を要求する、
請求項3記載の情報処理システム。
The control unit requests the first information processing apparatus that stores the stream data in the buffer to perform bulk transmission of the stream data stored in the buffer;
The information processing system according to claim 3.
複数の第1の情報処理装置と、前記第1の情報処理装置とネットワークを介して接続する第2の情報処理装置とを有する情報処理システムにおいて前記第2の情報処理装置が実行する記憶制御プログラムであって、
前記第2の情報処理装置に、
放送コンテンツから生成したストリームデータを前記第1の情報処理装置から受信し、
受信した前記ストリームデータに含まれる所定の単位データを識別可能な識別情報を、前記単位データの受信タイミングを特定可能にして第1の記憶部に保持するとともに、前記単位データを第2の記憶部に保持し、
2以上の前記第1の情報処理装置から前記ストリームデータを受信したとき、先に受信して前記第1の記憶部が保持する前記単位データの前記識別情報と、後から受信した前記単位データの前記識別情報とを比較して、比較結果が一致する場合に、一致した識別情報に対応する単位データを破棄し、比較結果が一致しない場合に、後から受信した前記単位データの前記識別情報を前記第1の記憶部に保持するとともに、後から受信した前記単位データを前記第2の記憶部に保持する、
処理を実行させる記憶制御プログラム。
A storage control program executed by the second information processing apparatus in an information processing system having a plurality of first information processing apparatuses and a second information processing apparatus connected to the first information processing apparatus via a network Because
In the second information processing apparatus,
Receiving stream data generated from broadcast content from the first information processing apparatus;
The identification information that can identify the predetermined unit data included in the received stream data is held in the first storage unit so that the reception timing of the unit data can be specified, and the unit data is stored in the second storage unit Hold on
When the stream data is received from two or more first information processing apparatuses, the identification information of the unit data received first and held in the first storage unit, and the unit data received later When the comparison result matches the identification information, the unit data corresponding to the matching identification information is discarded, and when the comparison result does not match, the identification information of the unit data received later is Holding in the first storage unit and holding the unit data received later in the second storage unit;
A storage control program for executing processing.
複数の第1の情報処理装置と、前記第1の情報処理装置とネットワークを介して接続する第2の情報処理装置とを有する情報処理システムにおける制御方法であって、
前記第1の情報処理装置は、放送コンテンツから生成したストリームデータを送信し、
前記第2の情報処理装置は、
前記ストリームデータを受信し、
前記ストリームデータに含まれる所定の単位データを識別可能な識別情報を、前記単位データの受信タイミングを特定可能にして第1の記憶部に保持するとともに、前記単位データを第2の記憶部に保持し、
2以上の前記第1の情報処理装置から前記ストリームデータを受信したとき、先に受信して前記第1の記憶部が保持する前記単位データの前記識別情報と、後から受信した前記単位データの前記識別情報とを比較して、比較結果が一致する場合に、一致した前記識別情報に対応する前記単位データを破棄し、比較結果が一致しない場合に、後から受信した前記単位データの前記識別情報を前記第1の記憶部に保持するとともに、後から受信した前記単位データを前記第2の記憶部に保持する、
記憶制御方法。
A control method in an information processing system having a plurality of first information processing apparatuses and a second information processing apparatus connected to the first information processing apparatus via a network,
The first information processing apparatus transmits stream data generated from broadcast content,
The second information processing apparatus
Receiving the stream data;
Identification information that can identify predetermined unit data included in the stream data is held in the first storage unit so that the reception timing of the unit data can be specified, and the unit data is held in the second storage unit And
When the stream data is received from two or more first information processing apparatuses, the identification information of the unit data received first and held in the first storage unit, and the unit data received later When the comparison result matches the identification information, the unit data corresponding to the matched identification information is discarded, and when the comparison result does not match, the identification of the unit data received later Holding the information in the first storage unit and holding the unit data received later in the second storage unit;
Memory control method.
JP2014124947A 2014-06-18 2014-06-18 Information processing system, storage control program and storage control method Ceased JP2016004599A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014124947A JP2016004599A (en) 2014-06-18 2014-06-18 Information processing system, storage control program and storage control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014124947A JP2016004599A (en) 2014-06-18 2014-06-18 Information processing system, storage control program and storage control method

Publications (1)

Publication Number Publication Date
JP2016004599A true JP2016004599A (en) 2016-01-12

Family

ID=55223772

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014124947A Ceased JP2016004599A (en) 2014-06-18 2014-06-18 Information processing system, storage control program and storage control method

Country Status (1)

Country Link
JP (1) JP2016004599A (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003158703A (en) * 2001-11-20 2003-05-30 Softbank Corp Recording/reproduction system, recording/reproduction method, recorder/reproducer, and database server
JP2006025307A (en) * 2004-07-09 2006-01-26 Sony Corp Contents recording apparatus, contents reproducing apparatus, contents recording method, contents reproducing method, and program
JP2007280531A (en) * 2006-04-07 2007-10-25 Pioneer Electronic Corp Device, method and program for transferring information, and computer readable recording medium

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003158703A (en) * 2001-11-20 2003-05-30 Softbank Corp Recording/reproduction system, recording/reproduction method, recorder/reproducer, and database server
JP2006025307A (en) * 2004-07-09 2006-01-26 Sony Corp Contents recording apparatus, contents reproducing apparatus, contents recording method, contents reproducing method, and program
JP2007280531A (en) * 2006-04-07 2007-10-25 Pioneer Electronic Corp Device, method and program for transferring information, and computer readable recording medium

Similar Documents

Publication Publication Date Title
US8315977B2 (en) Data synchronization between a data center environment and a cloud computing environment
US9609448B2 (en) System and method for testing and certification of media devices for use within a connected media environment
US20090010610A1 (en) System and method of recording media content
US8209296B2 (en) Information processing apparatus, divided management server, information processing method, divided management method, program and information processing system
US20100319044A1 (en) Efficient Distribution of Remote Storage Data
WO2015101101A1 (en) Channel access method and system
BR112012013563B1 (en) Backup method of media content files and digital video recorder
US11044343B2 (en) Method and apparatus for serving and managing storage of data streams in a surveillance and/or monitoring system
US11860849B2 (en) Watermark-based techniques for change-data-capture
TW201435612A (en) Storage space expanding system and method
US7953894B2 (en) Providing aggregated directory structure
WO2014153931A1 (en) File storage method and device, access client and metadata server system
JP2009157761A (en) Storage system and data management method thereof
WO2009088007A1 (en) Content management device, content management system, content management method, and program
WO2015096745A1 (en) Data processing method and device in content delivery network
US11323764B2 (en) Caching recorded content segments on playback
JP2016004599A (en) Information processing system, storage control program and storage control method
CN103581243A (en) System and method for massive streaming media storage
US20160162216A1 (en) Storage control device and computer system
US8843517B1 (en) System and method for scalable high speed distributive data storage and retrieval
US20150007241A1 (en) Video distribution server and video distribution method
US12028559B2 (en) System and method for optimizing the distribution of available media production resources
US20210112310A1 (en) Schedule management method for playback device and schedule management system
US20220408126A1 (en) System and method for optimizing the distribution of available media production resources
US10552039B2 (en) Storage control apparatus, storage management system, and non-transitory computer-readable storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170309

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170913

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171017

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171212

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180327

A045 Written measure of dismissal of application [lapsed due to lack of payment]

Free format text: JAPANESE INTERMEDIATE CODE: A045

Effective date: 20180731