JP2019020994A - Network system, node device, cache method, and program - Google Patents
Network system, node device, cache method, and program Download PDFInfo
- Publication number
- JP2019020994A JP2019020994A JP2017138406A JP2017138406A JP2019020994A JP 2019020994 A JP2019020994 A JP 2019020994A JP 2017138406 A JP2017138406 A JP 2017138406A JP 2017138406 A JP2017138406 A JP 2017138406A JP 2019020994 A JP2019020994 A JP 2019020994A
- Authority
- JP
- Japan
- Prior art keywords
- chunk
- cache
- node device
- node
- chunks
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 28
- 238000012545 processing Methods 0.000 claims description 40
- 230000005540 biological transmission Effects 0.000 claims description 28
- 238000004891 communication Methods 0.000 abstract description 17
- 238000007726 management method Methods 0.000 description 25
- 230000008569 process Effects 0.000 description 16
- 230000004048 modification Effects 0.000 description 11
- 238000012986 modification Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000004044 response Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000002068 genetic effect Effects 0.000 description 4
- 238000012937 correction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000012447 hatching Effects 0.000 description 3
- 235000008694 Humulus lupulus Nutrition 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000008929 regeneration Effects 0.000 description 1
- 238000011069 regeneration method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
本発明は、ネットワークシステム、キャッシュ方法及びキャッシュプログラムに関する。 The present invention relates to a network system, a cache method, and a cache program.
従来、ネットワークに接続されたコンピュータ間で伝送されるファイルを中間的にキャッシュするための様々な技術が提案されている。オリジナルファイルの代わりにキャッシュファイルをダウンロードすることで、オリジナルファイルへのアクセスの集中を避けると共に、受信側においてダウンロードを完了するまでの時間を短縮し得る。例えば容量が比較的大きい動画等のコンテンツファイルを送受信する場合には、大きな効果が期待できる。 Conventionally, various techniques for intermediately caching files transmitted between computers connected to a network have been proposed. By downloading the cache file instead of the original file, concentration of access to the original file can be avoided and the time until the download is completed on the receiving side can be shortened. For example, when a content file such as a moving image having a relatively large capacity is transmitted / received, a great effect can be expected.
なお、コンテンツを、予め定めた分割数のコンテンツブロックに分割する自律ストレージ装置も提案されている(例えば、特許文献1)。当該技術では、コンテンツブロックに対する誤り訂正符号からなる誤り訂正符号ブロックを生成し、コンテンツブロック及び誤り訂正符号ブロックの各ブロックを、複数の自律ストレージ装置に分散して記憶する。 An autonomous storage device that divides content into a predetermined number of content blocks has also been proposed (for example, Patent Document 1). In this technique, an error correction code block including an error correction code for a content block is generated, and each block of the content block and the error correction code block is distributed and stored in a plurality of autonomous storage devices.
従来、ネットワークシステムを構成する複数のノードにファイルを分散させてキャッシュする場合、アクセスの集中を避け、全体の通信量を低減できるファイル配置を決定するためには、一般的に処理に時間がかかるという問題があった。また、動画等のコンテンツは、例えば1つのコンテンツにおいても時間的な区間ごとにアクセス頻度が異なる場合もあり、このような場合には1つのコンテンツ全体をキャッシュさせるのは非効率であった。 Conventionally, when files are distributed and cached in a plurality of nodes constituting a network system, it generally takes time to determine a file arrangement that can avoid concentration of access and reduce the overall traffic. There was a problem. In addition, for content such as moving images, for example, even in one content, the access frequency may differ for each time interval. In such a case, it is inefficient to cache the entire content.
本発明は、コンテンツファイルが送受信されるネットワークにおいて、簡易な構成により、ノードへのアクセスの集中を避け、全体の通信量の増大を抑制すると共に、キャッシュ領域を効率的に活用するための技術を提供することを目的とする。 The present invention provides a technology for avoiding concentration of access to nodes, suppressing an increase in the total communication volume, and efficiently using a cache area in a network in which content files are transmitted and received, with a simple configuration. The purpose is to provide.
本発明に係るネットワークシステムは、分割されたファイルであるチャンクを送受信すると共に当該チャンクを一時的に保持するノード装置を複数含む。ノード装置には、当該ノード装置が保持すべきチャンクを特定するためのグループが、ネットワークトポロジ上隣接する他のノード装置とは異なるグループが優先されるように割り当てられ、チャンクは、ゼロ以上のグループと関連付けられる。そして、ノード装置は、自身に割り当てられたグループと関連付けられたチャンクを受信した場合は、当該チャンクをキャッシュとして記憶部に一時的に保持させるキャッシュ保持部と、要求元のノード装置が送信を要求するチャンクに対応するキャッシュを保持している場合は、当該キャッシュを要求元のノード装置に対して送信するキャッシュ送信部と、要求元のノード装置が要求するチャンクに対応するキャッシュを保持していない場合は、他のノードにチャンクを要求する中継部とを備える。 The network system according to the present invention includes a plurality of node devices that transmit and receive chunks, which are divided files, and temporarily hold the chunks. A group for specifying a chunk to be held by the node device is assigned to the node device so that a group different from other adjacent node devices in the network topology is given priority, and the chunk is a group of zero or more. Associated with. When a node device receives a chunk associated with a group assigned to the node device, the node holding device temporarily stores the chunk as a cache in the storage unit, and the requesting node device requests transmission. If the cache corresponding to the chunk to be held is held, the cache transmission unit that transmits the cache to the requesting node device and the cache corresponding to the chunk requested by the requesting node device are not held A relay unit that requests a chunk from another node.
このようにすれば、いずれかのグループに属するノード装置をネットワーク上に分散させることにより、分散協調システムを実現することができる。すなわち、チャンクに関連付けられたグループに基づいて、キャッシュ保持部は、自身が保持すべきファイルを容易に特定することができる。すなわち、ノード装置は、ネットワークトポロジ上隣接する他のノード装置とは異なるグループが優先されるように割り当てられるという簡易な構成により、オリジナルファイルへのアクセスの集中を避け、且つ全体の通信量を抑制すると共に、キャッシュ領域を効率的に活用できるようになる。 In this way, a distributed cooperative system can be realized by distributing node devices belonging to any group on the network. That is, based on the group associated with the chunk, the cache holding unit can easily specify the file that it should hold. In other words, the node device is assigned so that a group different from other adjacent node devices in the network topology is prioritized, thereby avoiding concentration of access to the original file and reducing the overall traffic. In addition, the cache area can be used efficiently.
また、チャンクに対する要求の頻度を算出する管理装置をさらに備え、管理装置は、算出した頻度が高いチャンクは頻度が低いチャンクよりも多くの(又は同数以上の)ノード装置において保持されるように、チャンクに関連付けるグループを変更するキャッシュ管理部を備えるようにしてもよい。このようにすれば、チャンクに対する要求の頻度の傾向が変化した場合にも、傾向の変化に追従してネットワークにおけるキャッシュのヒット率を維持及び向上させられるよう設定を変更できる。 Further, the management apparatus further calculates a frequency of requests for the chunks, and the management apparatus holds the calculated high-frequency chunks in more (or more than the same number of) node apparatuses than the low-frequency chunks. You may make it provide the cache management part which changes the group linked | related with a chunk. In this way, even when the trend of the request frequency for the chunk changes, the setting can be changed so that the cache hit rate in the network can be maintained and improved following the change in the trend.
また、ノード装置のキャッシュ送信部は、当該ノード装置の記憶部が保持するキャッシュを要求元のノード装置に対して送信した場合、当該キャッシュに対応するチャンクへのアクセス数を計数し、当該アクセス数を管理装置へ送信するようにしてもよい。このようにすれば、ネットワークシステムに含まれるノード装置のいずれかにおいてキャッシュがヒットした場合にも、チャンクに対する要求の頻度を管理装置が集計できるようになる。 Further, when the cache transmission unit of the node device transmits the cache held by the storage unit of the node device to the requesting node device, the cache transmission unit counts the number of accesses to the chunk corresponding to the cache, and the number of accesses May be transmitted to the management apparatus. In this way, even when the cache hits in any of the node devices included in the network system, the management device can count the frequency of requests for chunks.
また、ファイルはコンテンツデータであり、チャンクは、コンテンツデータが再生時間又はデータサイズに基づいて分割されたファイルであり、複数のチャンクを結合することによりファイルを形成するようにしてもよい。特にストリーミングされる動画や音声のようなコンテンツデータであれば、要求の頻度が高い部分ほどネットワーク上に多くキャッシュさせることができる。また、例えばコンテンツデータのデータ構造や処理単位に基づいてチャンクのサイズを決定すれば、通信効率やデータの処理効率を向上させることができる。 The file is content data, and the chunk is a file obtained by dividing the content data based on the reproduction time or the data size, and the file may be formed by combining a plurality of chunks. In particular, in the case of content data such as a moving image or audio that is streamed, the more frequently requested data can be cached on the network. For example, if the chunk size is determined based on the data structure or processing unit of content data, the communication efficiency and the data processing efficiency can be improved.
また、当該ネットワークシステムは、ノード装置に対しコンテンツデータをチャンク単位で要求する端末をさらに含み、端末は、要求するチャンクによって形成されるファイルを構成する他のチャンクのうち、要求の頻度が所定の閾値以上であるチャンクを優先的に受信する再生処理部を備えるようにしてもよい。このようにすれば、要求の頻度が高いチャンクを先読みして受信しておくことができ、速やかに読み出すことができるようになる。 The network system further includes a terminal that requests content data from the node device in units of chunks, and the terminal has a predetermined frequency of requests among other chunks that constitute a file formed by the requested chunk. You may make it provide the reproduction | regeneration processing part which receives preferentially the chunk more than a threshold value. In this way, it is possible to pre-read and receive a chunk having a high request frequency, and to read it quickly.
また、端末の再生処理部は、管理装置が算出した要求の頻度が所定の閾値以上であるチャンクの再生前に、他のコンテンツを再生するようにしてもよい。要求の頻度が高いチャンクの前に他のコンテンツを挿入することにより、ユーザに他のコンテンツも視聴してもらえる可能性が高まる。 Further, the playback processing unit of the terminal may play back other content before playing back a chunk whose request frequency calculated by the management device is equal to or higher than a predetermined threshold. By inserting other content before a chunk having a high request frequency, the possibility that the user can view other content is increased.
また、端末の再生処理部は、1つのファイルを分割して生成したチャンクのうち、管理装置が算出した要求の頻度が所定の閾値以上であるチャンクを結合して再生するようにしてもよい。このようにすれば、要求の頻度が高い部分を用いて1つのファイルを要約する内容を再生することができる。 Further, the playback processing unit of the terminal may combine and play chunks whose request frequency calculated by the management device is equal to or higher than a predetermined threshold among chunks generated by dividing one file. In this way, it is possible to reproduce the content that summarizes one file by using a portion having a high request frequency.
また、端末の再生処理部は、ユーザの操作に応じて、1つのファイルを分割して生成したチャンクのうち、管理装置が算出した要求の頻度が所定の閾値以上であるチャンクのいずれかから再生を開始するようにしてもよい。このようにすれば、人気があって要求の頻度が高く、予めキャッシュされている可能性の高いチャンクから再生を開始することがで
きるようになる。
Also, the playback processing unit of the terminal plays back from one of the chunks generated by dividing one file according to the user's operation, the request frequency calculated by the management device being equal to or higher than a predetermined threshold. May be started. In this way, playback can be started from a chunk that is popular, frequently requested, and likely cached in advance.
また、本発明に係るノード装置は、分割されたファイルであるチャンクを送受信すると共に当該チャンクを一時的に保持する。ノード装置には、当該ノード装置が保持すべきチャンクを特定するためのグループが割り当てられ、ファイルは、ゼロ以上のグループと関連付けられる。また、ノード装置は、自身に割り当てられたグループと関連付けられたチャンクを受信した場合は、当該チャンクをキャッシュとして記憶部に一時的に保持させるキャッシュ保持部と、要求元のノード装置が送信を要求するチャンクに対応するキャッシュを保持している場合は、当該キャッシュを要求元のノード装置に対して送信するキャッシュ送信部と、要求元のノード装置が要求するチャンクに対応するキャッシュを保持していない場合は、他のノードにチャンクを要求する中継部とを備える。 The node device according to the present invention transmits and receives chunks that are divided files and temporarily holds the chunks. A group for specifying a chunk to be held by the node device is assigned to the node device, and the file is associated with zero or more groups. In addition, when a node device receives a chunk associated with a group assigned to the node device, a cache holding unit that temporarily holds the chunk as a cache in a storage unit, and the requesting node device requests transmission If the cache corresponding to the chunk to be held is held, the cache transmission unit that transmits the cache to the requesting node device and the cache corresponding to the chunk requested by the requesting node device are not held A relay unit that requests a chunk from another node.
このようなノード装置によれば、ネットワークトポロジ上隣接する他のノード装置とは異なるグループが優先されるように割り当てられるという簡易な構成により、オリジナルファイルへのアクセスの集中を避け、且つ全体の通信量を抑制すると共に、キャッシュ領域を効率的に活用できるようになる。 According to such a node device, a simple configuration in which a group different from other adjacent node devices in the network topology is assigned with priority is avoided, and concentration of access to the original file is avoided, and overall communication is performed. It is possible to reduce the amount and use the cache area efficiently.
なお、課題を解決するための手段に記載の内容は、本発明の課題や技術的思想を逸脱しない範囲で可能な限り組み合わせることができる。また、課題を解決するための手段の内容は、コンピュータ等の装置若しくは複数の装置を含むシステム、コンピュータが実行する方法、又はコンピュータに実行させるプログラムとして提供することができる。なお、プログラムを保持する記録媒体を提供するようにしてもよい。 The contents described in the means for solving the problems can be combined as much as possible without departing from the problems and technical ideas of the present invention. The contents of the means for solving the problems can be provided as a device such as a computer or a system including a plurality of devices, a method executed by the computer, or a program executed by the computer. A recording medium that holds the program may be provided.
コンテンツファイルが送受信されるネットワークにおいて、簡易な構成により、ノードへのアクセスの集中を避け、全体の通信量を抑制すると共に、キャッシュ領域を効率的に活用するための技術を提供できる。 In a network in which content files are transmitted and received, it is possible to provide a technique for efficiently using a cache area while avoiding concentration of access to nodes, reducing the total communication amount, and a simple configuration.
以下、図面を参照して本発明を実施するための形態について説明する。なお、実施形態の構成は例示であり、本発明は実施形態に示す構成に限定されない。 Hereinafter, embodiments for carrying out the present invention will be described with reference to the drawings. In addition, the structure of embodiment is an illustration and this invention is not limited to the structure shown in embodiment.
<システム構成>
図1は、実施形態に係るシステムの構成の一例を示す図である。図1のシステム1は、ネットワーク2と、ネットワーク2を形成するノード3(3a〜3e)と、ネットワーク2に接続される端末4(4a〜4d)と、ネットワーク2に接続されるコンテンツサーバ5とを含む。ネットワーク2は、ISP(Internet Service Provider)によって管理さ
れる自律システム(AS:Autonomous System)等の通信回線網である。ノード3、端末
4及びコンテンツサーバ5は、コンピュータであり、通信可能に接続された他のコンピュータとの間で電子ファイルを送受信することができるものとする。
<System configuration>
FIG. 1 is a diagram illustrating an example of a configuration of a system according to the embodiment. 1 includes a
また、図1において大きな吹出し内に示すように、コンテンツサーバ5には、動画等のコンテンツファイル6が格納されている。そして、コンテンツサーバ5は、端末4からの要求に応じて、ネットワーク2を介してファイル6を端末4へ例えばストリーミング方式で送信する。また、ファイル6は、時間的な区間又はデータサイズに基づく部分に分割された複数の部分的なファイル(「チャンク」とも呼ぶ)61〜63に分割されている。本実施形態では、図1において小さな吹出し内に示すように、チャンク単位でファイル6がノード3にキャッシュされる。そして、端末4からの要求をコンテンツサーバ5へ中継する過程において、要求を受信したノード3は、要求されたチャンクを自身がキャッシュしている場合は、キャッシュしているチャンクを要求元に送信する。なお、要求を受信したノード3は、要求されたチャンクを自身がキャッシュしていない場合は、コンテンツサーバ5又は他のノード3に当該チャンクの要求を転送する。
In addition, as shown in a large balloon in FIG. 1, the
また、各ノード3には、当該ノード3にキャッシュすべきチャンクを特定するためのグループが予め割り当てられているものとする。換言すれば、各ノード3は、予め定められた複数のグループのいずれかに属する。図1の例では、各ノード3の近傍に表示された円内に施されたハッチングが、各ノード3が属するグループを表している。ノード3aは、横縞のグループ(「グループA」と呼ぶ)に属する。ノード3bは、縦縞のグループ(「グループB」と呼ぶ)に属する。ノード3c及び3eは、右上から左下にかけた斜線のグループ(「グループC」と呼ぶ)に属する。ノード3dは、左上から右下にかけた斜線のグループ(「グループD」と呼ぶ)に属する。
In addition, it is assumed that a group for specifying a chunk to be cached in the
あるノード3には、ネットワークトポロジ上隣接する他のノード3とは異なるグループが優先して割り当てられるようにしてもよい。すなわち、複数のノード3には、グループが、ネットワークトポロジ上偏らないように割り当てられる。例えば、新たなノード3をネットワーク2に接続する場合は、例えば複数のグループについて、すでにネットワーク2上に存在する他のノード3のうち、ホップ数が小さいノード3又は回線の経路長が短いノード3に付されたグループから順に除外し、残ったグループを新たなノードに割り当てるようにしてもよい。また、平面グラフで表されるメッシュ型のネットワークや、リング型のネットワークにおいては、いわゆる四色定理を応用し、隣接するノードが同じグループに属さないように、グループを割り当てるようにしてもよい。このようにすれば、あるノード3から他のグループが割り当てられたノード3までは、いずれのグループの場合も同程度のホップ数で到達するようになる。
A certain group may be preferentially assigned a group different from that of the
また、各チャンクは、当該チャンクをキャッシュすべきゼロ以上のグループと関連付けられている。図1の例では、チャンク61〜63の各々の下に表示された矩形内に施されたハッチングが各チャンクを保持すべきグループを表している。チャンク61には、グループA〜Dの4つが割り当てられている。チャンク62には、グループA、B及びDの3つが割り当てられている。チャンク63には、グループA及びCの2つが割り当てられている。なお、グループが1つも割り当てられていないチャンクがあってもよい。このようなネットワークシステム1によれば、チャンクに割り当てるグループの数によって、当該チャンクがネットワーク2においてキャッシュされる量を調整することができる。例えば
、アクセス頻度の高いチャンクに対し、より多くのグループを割り当てるようにすれば、要求元のノード3に近い場所にチャンクがキャッシュされている確率を高めることができる。
Each chunk is associated with zero or more groups that should be cached. In the example of FIG. 1, hatching performed in a rectangle displayed under each of the
このようなシステム1において、ノード3は、自身に割り当てられたグループと関連付けられたチャンクを受信した場合は、当該チャンクをキャッシュする。また、要求元のノード3が送信を要求するチャンクに対応するキャッシュを保持している場合は、当該キャッシュを要求元のノード3に対して送信する。一方、要求元のノード装置が要求するチャンクに対応するキャッシュを保持していない場合は、他のノード3に当該チャンクの要求を中継する。
In such a
図2は、チャンクに付される、グループを示す情報を説明するための図である。ファイル6は、コンピュータによって再生される動画や音声等のコンテンツデータである。特に、高解像度の動画コンテンツや、全方向の情報を含むVR(Virtual Reality)コンテン
ツ等は、1ファイル当たりの容量が大きく内容が更新されることが少ない。したがって、CDN(Contents Delivery Network)において、アクセス頻度の高いコンテンツをキャ
ッシュ対象とすれば、キャッシュによるトラフィックの削減が期待できる。
FIG. 2 is a diagram for describing information indicating a group attached to a chunk. The
ファイル6には、例えばチャンクごとに、ゼロ以上の上述したグループの組合せを示す情報が関連付けられる。図2には、ハッチングのパターンで表した4種類のグループの組合せのバリエーションが示されている。すなわちグループの組合せの各々は、グループを0〜4個有する。また、グループの組合せは、図2の右辺に示すように、例えばグループの数だけ桁数を有するビット列によって形成されるタグによって表すことができる。そして、チャンクに対するグループの関連付けは、各ノード3において、チャンクの識別情報に関連付けてタグを保持することにより記憶させることができる。
For example, information indicating a combination of zero or more of the above-described groups is associated with the
図3は、チャンクに対応付けてタグを記憶するテーブルの一例を示す図である。図3のテーブルは、「チャンクID」及び「タグ」の属性を有する。「チャンクID」のフィールドには、チャンクの識別情報が登録される。識別情報は、チャンクを一意に特定するための名称を用いるようにしてもよいし、ファイルの名称及び当該ファイル中のチャンクの範囲を示す情報を用いるようにしてもよい。チャンクの範囲は、例えばファイルの先頭からのオフセットで表すことができる。「タグ」のフィールドには、対応付けられたファイルをキャッシュするゼロ以上のグループが登録される。図3に示すようなチャンクとグループとの対応付けを表す情報(換言すれば、キャッシュすべきチャンクのリスト)は、データベースやその他の形式のファイルとして各ノード3に記憶させることができる。また、図3に示すような情報は、例えばネットワーク2に接続されたコンテンツサーバ5等の管理装置が一元的に管理し、例えばキャッシュすべきチャンクのリストをネットワーク2上のノード3にブロードキャストしてノード3の各々に保持させるようにしてもよいし、ノード3の各々がネットワーク2上の管理装置から任意のタイミングで読み出すようにしてもよい。
FIG. 3 is a diagram illustrating an example of a table that stores tags in association with chunks. The table in FIG. 3 has attributes of “chunk ID” and “tag”. Chunk identification information is registered in the “chunk ID” field. As the identification information, a name for uniquely identifying the chunk may be used, or information indicating the name of the file and the range of the chunk in the file may be used. The chunk range can be expressed by an offset from the beginning of the file, for example. In the “tag” field, zero or more groups that cache the associated file are registered. Information representing the correspondence between chunks and groups as shown in FIG. 3 (in other words, a list of chunks to be cached) can be stored in each
<装置の構成>
図4は、端末4、ノード3及びコンテンツサーバ5の構成の一例を示すブロック図である。端末4、ノード3及びコンテンツサーバ5は、一般的なコンピュータである。
<Device configuration>
FIG. 4 is a block diagram illustrating an exemplary configuration of the
<端末>
端末4は、PC(Personal Computer)、スマートフォン、タブレット等のコンピュー
タであり、通信I/F41と、記憶装置42と、入出力装置43と、プロセッサ44と、バス45とを備えている。
<Terminal>
The
通信I/F41は、例えばネットワークカードであり、所定のプロトコルに基づき、他のコンピュータと通信を行う。例えば、ネットワーク2を介してファイル6を受信する。
The communication I /
記憶装置42は、RAM(Random Access Memory)やROM(Read Only Memory)等の主記憶装置及びHDD(Hard-disk Drive)やSSD(Solid State Drive)、フラッシュメモリ等の補助記憶装置(二次記憶装置)である。主記憶装置は、プロセッサが読み出したプログラムやファイル6を一時的に記憶したり、プロセッサの作業領域を確保したりする。補助記憶装置は、プロセッサが実行するプログラム等を記憶する。
The
入出力装置43は、例えばキーボード、マウス等の入力装置や、モニタ等の出力装置、タッチパネル等のユーザインターフェースである。例えば、ユーザは、入出力装置43を介してコンテンツサーバ5に対しファイル6の送信を要求したり、受信したファイル6を読み出して表示させたりする。
The input /
プロセッサ44は、CPU(Central Processing Unit)等の演算処理装置であり、ア
プリケーション(プログラム、ソフトウェア等とも呼ぶ)を実行することにより本実施の形態に係る各処理を行う。図4の例では、プロセッサ44内に機能ブロックを示している。プロセッサ44は、例えば、再生処理部441として機能する。再生処理部441は、例えばユーザの操作に基づいて、ネットワーク2を介してファイル6の送信を要求したり、受信したチャンクを結合してコンテンツを再生したりする。
The
以上のような構成要素が、バス45を介して接続されている。
The components as described above are connected via the
<ノード>
ノード3も、通信I/F31と、記憶装置32と、入出力装置33と、プロセッサ34と、バス35とを備えている。
<Node>
The
通信I/F31は、例えばネットワークカードであり、所定のプロトコルに基づき、他のコンピュータと通信を行う。例えば、ノード3間においてファイル6を送受信する。
The communication I /
記憶装置32は、RAMやROM等の主記憶装置及びHDDやSSD、フラッシュメモリ等の補助記憶装置である。主記憶装置は、プロセッサが読み出したプログラムやデータを一時的に記憶したり、プロセッサの作業領域を確保したりする。補助記憶装置は、プロセッサが実行するプログラムや、送受信されるファイルのチャンク単位でのキャッシュ、当該ノード3に割り当てられたグループを示す情報等を記憶する。
The
入出力装置33は、例えばキーボード、マウス等の入力装置や、モニタ等の出力装置、タッチパネル等のユーザインターフェースである。
The input /
プロセッサ34は、CPU等の演算処理装置であり、アプリケーションを実行することにより本実施の形態に係る各処理を行う。ノード3においても、プロセッサ34内に機能ブロックを示している。プロセッサ34は、例えば、キャッシュ保持部341、キャッシュ送信部342及び中継部343の各処理部として機能する。キャッシュ保持部341は、チャンクに関連付けられたグループを示す情報に基づいて、受信したチャンクを保持するか否か判断し、記憶装置42に一時的に保持させる。キャッシュ送信部342は、他のノードからコンテンツサーバへのファイルのチャンク単位での要求に対し、当該ノード3の記憶装置42にキャッシュされている場合、キャッシュされているチャンクを他のノード3又は端末4に送信する。中継部343は、端末4からコンテンツサーバ5への経路上に当該ノード3が位置する場合において、他のノード3又は端末4からコンテンツサーバ5へのチャンク送信要求や、他のノードへ送信するチャンクを中継する。
The
以上のような構成要素が、バス35を介して接続されている。
The components as described above are connected via the
<コンテンツサーバ>
コンテンツプロバイダ等のコンテンツサーバ5も、通信I/F51と、記憶装置52と、入出力装置53と、プロセッサ54と、バス55とを備えている。
<Content server>
The
通信I/F51は、例えばネットワークカードであり、所定のプロトコルに基づき、ノード3等のコンピュータと通信を行う。例えば、リンクする他のノード3からの要求に応じてファイル6を送信する。
The communication I /
記憶装置52は、RAMやROM等の主記憶装置及びHDDやSSD、フラッシュメモリ等の補助記憶装置である。主記憶装置は、プロセッサが読み出したプログラムやデータを一時的に記憶したり、プロセッサの作業領域を確保したりする。補助記憶装置は、プロセッサが実行するプログラムや、配信するオリジナルのファイル等を記憶しているものとする。
The
入出力装置53は、例えばキーボード、マウス等の入力装置や、モニタ等の出力装置、タッチパネル等のユーザインターフェースである。
The input /
プロセッサ54は、CPU等の演算処理装置であり、アプリケーションを実行することにより本実施の形態に係る各処理を行う。コンテンツサーバについても、プロセッサ54内に機能ブロックを示している。プロセッサ54は、コンテンツ配信部541、キャッシュ管理部542の各機能部として機能する。コンテンツ配信部541は、送信を要求されたファイル6を記憶装置52から読み出し、要求元のノードに対して送信する。キャッシュ管理部542は、ネットワーク2上のノード3にキャッシュさせる対象のチャンクを決定したり、チャンクをキャッシュするグループを割り当てたりする。キャッシュ管理部542は、例えばチャンクごとにアクセス数を計数し、所定期間内のアクセス頻度を算出し、アクセス頻度に応じて、各ファイルをキャッシュするグループを決定するようにしてもよい。
The
以上のような構成要素が、バス55を介して接続されている。
The components as described above are connected via the
<コンテンツ配信処理>
図5は、ネットワークシステムが行うコンテンツ配信処理の一例を示す処理フロー図である。図5の「ノード」は、図1、図4における要求元の端末4からコンテンツサーバ5までの経路上に存在するノード3に相当する。すなわち、複数のノード3を経由する場合もある。図5においては、便宜上、1つのノードを示す。
<Content distribution processing>
FIG. 5 is a process flow diagram illustrating an example of content distribution processing performed by the network system. The “node” in FIG. 5 corresponds to the
まず、端末4の再生処理部441は、コンテンツサーバ5が保持するコンテンツの送信を要求する(図5:S1)。本実施形態では、MPEG−DASH規格のMPD(Media Presentation Description)ファイルによって、複数のチャンクに分割されたコンテンツファイルを記述する例を説明する。
First, the
図6に、MPDファイルの内容の一例を示す。MPDファイルはXML(Extensible Markup Language)で記述され、ファイルの所在を示す位置情報(URL:Uniform Resource Locator)611、621、631、・・・と、ファイルにおける各チャンクの範囲を示す範囲情報612、622、632、・・・とを含む。すなわち、MPDファイル(コンテンツファイル)6は、位置情報611及び範囲情報612を含む第1のチャンク61に関する情報と、位置情報621及び範囲情報622を含む第2のチャンク62に関する
情報と、位置情報631及び範囲情報632を含む第3のチャンク63に関する情報とを含んでいる。端末4の再生処理部441は、このようなファイル6に基づいて、基本的には前方の範囲を構成するチャンクから順に、コンテンツサーバ5に対しチャンクの送信を要求する。なお、1つのファイル6には、コンテンツの画質や音質等が異なる複数のファイルについてそれぞれ上述のチャンクが記述されていてもよい。この場合は、端末4の性能や通信経路の状態等に応じて複数のファイルのいずれかが送受信される。また、MPDファイルに限らず、M3UやHLS(HTTP Live Streaming)のようなフォーマットに適
用することもできる。
FIG. 6 shows an example of the contents of the MPD file. The MPD file is described in XML (Extensible Markup Language), position information (URL: Uniform Resource Locator) 611, 621, 631,... Indicating the location of the file, and range
一方、ノード3の中継部343は、要求を受信し(S2)、要求されたチャンクに対応するキャッシュファイルが自ノードの記憶装置32に保持されているか判断する(S3)。キャッシュを保持している場合(S3:YES)、ノード3のキャッシュ送信部342は、キャッシュファイルを要求元に送信する(S4)。一方、要求元の端末4の再生処理部441は、キャッシュファイルを受信し、コンテンツの内容をモニタ等の入出力装置43上に表示させる(S5)。
On the other hand, the
また、ノード3がキャッシュを保持していない場合(S3:NO)、中継ノードの中継部343は、隣接するノード3又はコンテンツサーバ5に要求を中継する(S6)。なお、複数のノード3を介して要求が転送される場合は、同様の処理が繰り返される。また、本実施形態においては、ノード3は、グループを示すタグのビット位置からいずれのグループに属するノード3において各チャンクがキャッシュされているかわかる。よって、ノード3は、近傍に接続された他のノード3が属するグループを予め記憶しておくことにより、要求されたチャンクのタグのビット位置に基づいて当該チャンクをキャッシュするグループに属するノード3を、要求の転送先に決定するようにしてもよい。
When the
一方、コンテンツサーバ5のコンテンツ配信部541は、チャンクに対する送信の要求を受信し(S7)、該当するチャンクを記憶装置52から読み出して送信する(S8)。一方、ノード3の中継部343は、受信したチャンクを要求元に対して中継する(S9)。そして、要求元の端末4の再生処理部441は、チャンクを受信し、コンテンツの内容をモニタ等の入出力装置43上に表示させる(S10)。
On the other hand, the
また、S9においてチャンクを要求元へ中継する場合、ノード3のキャッシュ保持部341は、当該チャンクは自ノードが属するグループにおいてキャッシュすべき対象であるか判断する(S11)。本ステップでは、チャンクに対し、自ノードが属するグループを示す情報が関連付けられているか判断する。例えば、図3に示したような情報をノード3の記憶装置32が保持する。
When the chunk is relayed to the request source in S9, the
そして、中継したチャンクがキャッシュ対象であると判断された場合(S11:YES)、ノード3のキャッシュ保持部341は、当該チャンクを記憶装置32に一時的に保持させる。一方、中継したチャンクがキャッシュすべき対象でないと判断された場合は、ノード3はチャンクを保持しない。ネットワークシステム1は、要求元ノードからのファイルの送信要求に対して、図5に示したようなファイル配信処理を繰り返す。
When it is determined that the relayed chunk is a cache target (S11: YES), the
<効果>
本実施形態では、ネットワーク2において同一のグループが偏らないようにノードをグループ分けする。すなわち、ネットワークトポロジ上隣接する他のノード装置とは異なるグループが優先して割り当てられるという簡便な方法により、同一のチャンクをキャッシュするノードをネットワーク上に分散させ、いずれのノードからもある程度近接した位置に各グループに属するキャッシュサーバが存在するという準最適なキャッシュ配置を実現することができる。また、図1に示したように、1つのチャンクには複数のグループを示
す情報を関連付けておくようにしてもよい。アクセス頻度の高いチャンクほど、多くのグループに属するノードでキャッシュすれば、ネットワーク上におけるキャッシュのヒット率を向上させることができる。特に、動画等のコンテンツファイルの場合、冒頭部分のアクセス頻度が高く、ユーザはその後視聴を中止したり一部をスキップしたりすることがある。また、再生を開始する位置を指定した動画へのリンクがSNS(Social Networking Service)に投稿された場合など、動画の一部のアクセス頻度が高まることもある。本実
施形態によれば、アクセス頻度の高いチャンクほど多くキャッシュさせておくことができ、ネットワークシステム全体におけるトラフィックの増大を抑えることができる。また、チャンク単位で要求される頻度が異なるような場合であっても、要求の頻度が高いチャンクをキャッシュさせれば、キャッシュ領域を効率的に活用することができる。
<Effect>
In the present embodiment, the nodes are grouped so that the same group is not biased in the
<キャッシュ対象決定処理>
また、上述したネットワークシステムにおいて、チャンクに対するキャッシュの優先度を決定し、チャンクに関連付けられるグループを示す情報(換言すればキャッシュすべきチャンクのリスト)を動的に変更するようにしてもよい。キャッシュの優先度は、例えばコンテンツサーバ5のキャッシュ管理部542が算出する各チャンクへのアクセス頻度に基づき決定する。コンテンツサーバ5は、チャンクに対するアクセスの頻度を算出し、キャッシュ対象のチャンクを決定する、本発明に係る「アクセス管理装置」の一例である。なお、コンテンツサーバ5とは別に、いずれかのネットワーク2にアクセス管理装置を設けてもよい。
<Cache target decision processing>
In the network system described above, the priority of the cache for the chunk may be determined, and the information indicating the group associated with the chunk (in other words, the list of chunks to be cached) may be dynamically changed. The priority of the cache is determined based on, for example, the access frequency to each chunk calculated by the
図7は、キャッシュ対象のチャンクを変更するキャッシュ対象更新処理の一例を示す処理フロー図である。例えば、ネットワークシステムは、図5に示したコンテンツ配信処理に加え、図7に示すような処理を行うようにしてもよい。図7においては、図5に対応する処理には同一の符号を付し、説明を省略する。 FIG. 7 is a process flow diagram illustrating an example of a cache target update process for changing a cache target chunk. For example, the network system may perform processing as shown in FIG. 7 in addition to the content distribution processing shown in FIG. In FIG. 7, the processes corresponding to those in FIG.
まず、ノード3は、要求に応じてキャッシュを送信した回数をチャンクごとに計数しておき、計数した回数を所定のタイミングでコンテンツサーバ5へ送信する(図7:S21)。一方、コンテンツサーバ5は、ノード3からキャッシュの送信回数を受信し、チャンクごとのアクセス数を算出する(S22)。本ステップでは、ノード3が記憶しているアクセスログを受信し、チャンクごとのアクセス数を算出してもよい。
First, the
また、例えばコンテンツサーバ5は、図5のS8においてチャンクを送信するステップにおいて、さらに当該チャンクへのアクセスログを記憶装置32に書き出す(図7:S23)。本ステップで記憶させるアクセスログと、S22において受信したアクセス数をチャンクごとに計数することにより、チャンクごとのアクセス頻度を算出することができるようになる。また、本ステップでは、コンテンツサーバ5のキャッシュ管理部542は、所定のタイミングで所定期間におけるチャンクごとのアクセス回数(すなわち、アクセス頻度)を集計する。
Further, for example, in the step of transmitting a chunk in S8 of FIG. 5, the
その後、コンテンツサーバ5のキャッシュ管理部542は、所定のタイミングで、頻度の高いチャンクほどキャッシュの優先度が高いものとしてより多くのグループにキャッシュさせる。すなわち、チャンクに対しより多くのグループを示す情報を関連付けるようにする。また、例えば、予め定められた動作時刻が到来した場合や、前回の処理から所定期間が経過した場合等の条件を満たした場合に、キャッシュ対象を更新するものとする。そして、キャッシュ管理部542は、チャンクごとのアクセス頻度を算出し、キャッシュ対象を決定する(S24)。
Thereafter, the
図8は、所定期間におけるチャンクへのアクセス数に基づく順位と、当該チャンクに関連付けて割り当てられるグループを示すタグの一例を示す図である。コンテンツサーバ5
は、当該コンテンツサーバ5が要求に応じて送信したチャンクについてのログと、ノード3がキャッシュを送信した旨のログを所定期間分集計し、図8に示すようなチャンクごとの統計データを生成する。図9に示す表は、「順位」、「グループ数」、及び「タグ」の項目を有する。「順位」のフィールドには、所定期間におけるチャンクへのアクセス頻度に基づいて定まる順位の範囲が記録されている。図7のS24においては、所定期間における順位が決定される。「グループ数」のフィールドには、各順位のチャンクをキャッシュするグループの数が示されている。「タグ」のフィールドには、各順位のチャンクをキャッシュするグループを示す情報が上述したタグの形式で記録されている。
FIG. 8 is a diagram illustrating an example of a tag indicating a rank based on the number of accesses to a chunk during a predetermined period and a group assigned in association with the chunk.
8 summarizes a log of chunks transmitted by the
また、キャッシュ管理部542は、アクセス頻度に応じて、各チャンクをキャッシュするグループを決定する(図7:S25)。本ステップでは、各チャンクに対しキャッシュするグループを割り当てる。まず、所定期間のアクセス数に基づいて、図8に示す人気の程度を決定する。例えばノード3を4つのグループに分ける場合、人気の程度を5段階に分類する。また、最も人気の高い程度に属するチャンクを4つのグループすべてにおいてキャッシュさせ、2番目に人気の高い程度に属するチャンクを3つのグループにおいてキャッシュさせ、3番目に人気の高い程度に属するチャンクを2つのグループにおいてキャッシュさせ、4番目に人気の高い程度に属するチャンクを1つのグループにおいてキャッシュさせる。なお、最も人気の低い程度に属するチャンクはいずれのグループにおいてもキャッシュさせないものとする。
Further, the
このように、人気の程度に応じて当該チャンクをキャッシュするノードのグループ数が決定され、その後、同数のグループが割り当てられたチャンクに対し循環的にグループの組合せを割り当てる。例えば、図8の順位が21〜100のレコードの「タグ」のフィールドには、3つのグループの組み合わせを循環的に割り当てることにより決定されたタグが記録されている。S25においては、直近の所定期間における各チャンクへのアクセス頻度に基づいて、チャンクに関連付けられるタグが更新される。 In this way, the number of groups of nodes that cache the chunk is determined according to the degree of popularity, and thereafter, a combination of groups is cyclically assigned to chunks to which the same number of groups are assigned. For example, tags determined by cyclically assigning combinations of three groups are recorded in the “tag” field of the records with ranks 21 to 100 in FIG. In S25, the tag associated with the chunk is updated based on the access frequency to each chunk in the most recent predetermined period.
そして、キャッシュ管理部542は、各チャンクをキャッシュの対象とするグループを示すリストを、各ノードへ配信する(図8:S26)。本ステップでは、例えば図8の「チャンク名」及び「タグ」の列に示す情報が、各ノード3へブロードキャストされる。ノード3は、リストを受信すると、当該リストを記憶装置32に保持させると共に以降は当該リストに基づいて自ノードがキャッシュする対象のチャンクを決定する(S27)。このようなリストのグループを示す情報に基づいて、各ノードは、チャンクを要求する先を判断することができる。また、リストが更新された場合、ノード3においてが不要なキャッシュを削除するようにしてもよい。
Then, the
<効果>
キャッシュ対象更新処理によれば、コンテンツサーバ5から配信されるファイルをアクセス数に応じてチャンク単位でキャッシュさせることができる。また、アクセス頻度の傾向が変化した場合にも、傾向の変化に追従してネットワークにおけるキャッシュのヒット率を維持及び向上させられるよう設定を変更できる。なお、アクセス頻度の算出やキャッシュすべきチャンクのリストの更新を行う管理装置は、コンテンツサーバ5が行うようにしてもよいし、ネットワーク2に接続された他の装置が行うようにしてもよい。また、各ノード3が記憶するチャンクごとのアクセスログは、ネットワーク上の所定の装置に保持させ、コンテンツサーバ5又は上記管理装置が各中継ノードにおけるアクセスログを読み出せるようにしてもよい。
<Effect>
According to the cache target update process, the file distributed from the
<キャッシュ対象のファイル及びファイルをキャッシュするノードの数>
本実施形態では、アクセス頻度が高いチャンクをキャッシュ対象とし、アクセス頻度が高いほどネットワーク内における多くのノードでキャッシュする。チャンクをキャッシュ
するノードの数は、ユーザが任意に設定することができる。なお、チャンクをキャッシュするノードの数は、ネットワークに接続された、各グループに属するノードの数と、チャンクに対応づけて設定される、当該チャンクを保持するグループの数とによって決まる。チャンクをキャッシュするノードの数は、例えば遺伝的アルゴリズム等を利用して求めた準最適なキャッシュ配置に従って定めるようにしてもよい。
<Files to be cached and the number of nodes that cache the files>
In the present embodiment, chunks with high access frequency are targeted for caching, and the higher the access frequency, the more nodes are cached in the network. The number of nodes that cache chunks can be arbitrarily set by the user. Note that the number of nodes that cache chunks is determined by the number of nodes that belong to each group connected to the network and the number of groups that hold the chunks that are set in association with the chunks. The number of nodes that cache the chunks may be determined according to a sub-optimal cache arrangement obtained using, for example, a genetic algorithm.
図9は、1つの平面グラフで表されるメッシュ型ネットワーク上にキャッシュされるファイル(チャンク)及びその数を示すグラフである。図9の横軸は、アクセス頻度の降順にソートしたファイルの通し番号を表し、縦軸は、各ファイルをキャッシュするノード数を表している。ファイルに付すタグの設定は、遺伝的アルゴリズムを利用して求められるキャッシュ配置においてノード上にキャッシュされるファイルの種類及び同一のファイルをキャッシュするノードの数に従って決定してもよい。図9の破線は、メッシュ型のネットワークにおいて、遺伝的アルゴリズム(GA:Genetic Algorithm)によって求められ
た準最適なキャッシュ配置におけるファイルと当該ファイルがネットワーク上にキャッシュされる数との関係を表している。実線は、遺伝的アルゴリズムで求めたネットワーク中のキャッシュファイル数を、本実施形態に係るネットワークシステムで近似する例である。本実施形態では、上述したタグによって表される、各ファイルに割り当てるグループを変更することにより、当該ファイルをキャッシュするネットワーク上のノード数を調整することができる。また、グループの種類の数を4よりも大きくすることで、準最適な配置に対する近似の精度を向上させることができる。本実施形態に係る階層的に接続されたネットワークにおいても、所定の頻度でアクセスされる複数のファイルを定義し、何らかのアルゴリズムで求めた準最適なキャッシュ配置を近似した値となるように、上記ファイルに割り当てるグループ及びネットワーク上のノードに割り当てるグループの少なくともいずれかを決定するようにしてもよい。
FIG. 9 is a graph showing files (chunks) cached on the mesh network represented by one plane graph and the number thereof. The horizontal axis in FIG. 9 represents the serial numbers of files sorted in descending order of access frequency, and the vertical axis represents the number of nodes that cache each file. The setting of a tag attached to a file may be determined according to the type of file cached on a node and the number of nodes that cache the same file in a cache arrangement obtained using a genetic algorithm. The broken line in FIG. 9 represents the relationship between a file in a sub-optimal cache arrangement obtained by a genetic algorithm (GA) and the number of files to be cached on the network in a mesh type network. . A solid line is an example in which the network system according to the present embodiment approximates the number of cache files in the network obtained by the genetic algorithm. In the present embodiment, the number of nodes on the network that caches the file can be adjusted by changing the group assigned to each file, which is represented by the tag described above. Further, by making the number of types of groups larger than 4, it is possible to improve the accuracy of approximation for the sub-optimal arrangement. Even in a hierarchically connected network according to the present embodiment, a plurality of files that are accessed at a predetermined frequency are defined, and the above files are set to approximate values of a sub-optimal cache arrangement obtained by some algorithm. It is also possible to determine at least one of a group to be assigned to and a group to be assigned to a node on the network.
例えば、図9に示したように、アクセス頻度を基準として20位以内、21〜100位、101〜250位、・・・といった人気の程度毎にチャンクをキャッシュするグループの数が定める。そして、人気の程度に対して対応付けられたタグを、上位から順に循環的に割り当てる。タグは、当該チャンクを保持すべきグループを示す4ビットのビットベクトルによって記述されている。また、ビットベクトルは、各階層におけるグループを表す桁を、所定の順序で連結して形成されている。図8では、4ビットがそれぞれ4つのグループに対応し、各グループにおいてチャンクがキャッシュされるか否かを表す。 For example, as shown in FIG. 9, the number of groups that cache chunks is determined for each degree of popularity, such as within 20th place, 21-100th place, 101st-250th place, etc., based on the access frequency. Then, tags associated with the degree of popularity are cyclically assigned in order from the top. The tag is described by a 4-bit bit vector indicating a group that should hold the chunk. The bit vector is formed by connecting digits representing groups in each layer in a predetermined order. In FIG. 8, each of the 4 bits corresponds to 4 groups, and indicates whether or not a chunk is cached in each group.
<変形例1>
図10は、端末4の入出力装置43に表示される画面の一例を示す図である。本変形例では、アクセス頻度が所定の閾値以上である(すなわち、人気のある)チャンクを頭出しできるようにする。例えば図6に示したMPDファイルにチャンクごとのアクセス頻度や人気のあるチャンクである旨の情報を追加することにより、アクセス頻度が所定の閾値以上であったり人気のあるチャンクである旨の情報が付加されている所定のチャンクへ再生位置をスキップさせるようにしてもよいし、MPDファイルとは別にチャンクごとのアクセス頻度や人気の程度を示す情報を含むファイルを用意し、MPDファイルを組み合わせて所定のチャンクへ再生位置をスキップさせるようにしてもよい。なお、再生位置は必ずしもチャンクの先頭でなく、コンテンツ中の任意の位置が指定されていてもよい。
<
FIG. 10 is a diagram illustrating an example of a screen displayed on the input /
図11は、MPDファイルとは別に生成される、人気のあるチャンクを示す情報の一例を示す図である。図11の表は、「チャンクID」、「再生位置」の各属性を含む。「チャンクID」のフィールドには、チャンクを特定するための識別情報が登録される。この識別情報により、図3に示したチャンクごとのタグや、図6に示したMPDファイルのチャンクと、図11の再生位置とが紐づけられる。「再生位置」のフィールドには、アクセス頻度に基づいて決定された再生を開始すべき位置が、コンテンツの先頭からの時間を表
す情報によって登録されている。図11に示すような情報が端末4に配信され、端末4の再生処理部441は配信された情報を用いて図10に示したような画面を生成するようにしてもよい。
FIG. 11 is a diagram illustrating an example of information indicating popular chunks generated separately from the MPD file. The table of FIG. 11 includes attributes of “chunk ID” and “reproduction position”. In the “chunk ID” field, identification information for specifying a chunk is registered. With this identification information, the tag for each chunk shown in FIG. 3, the chunk of the MPD file shown in FIG. 6, and the reproduction position in FIG. 11 are linked. In the “playback position” field, the position where playback determined based on the access frequency is to be started is registered as information representing the time from the beginning of the content. Information as illustrated in FIG. 11 may be distributed to the
図10の画面は、例えば端末4において実行される、コンテンツを再生するアプリケーションが生成する。図10の画面は、動画を表示する領域411と、シークバー412と、前方へのスキップボタン413と、後方へのスキップボタン414と、シーンのリスト415とを含む。領域411には、動画の映像が表示される。図10のシークバー412は、全体における現在の再生位置を三角形で示すとともに、アクセス頻度の高い部分を星印で示している。この星印は、図11に示した再生位置と対応している。そして、前方へのスキップボタン413及び後方へのスキップボタン414は、図11に記載された時間に基づき、アクセス頻度の高い部分へ再生位置をスキップさせる。また、シーンのリスト415には、アクセス頻度の高い部分の一覧が表示されている。リスト415に表示されるシーンも、図11に示した再生位置と対応している。ユーザの操作によってリスト415のシーンが選択された場合、図11に記載された時間に基づいて、動画を各シーンから再生させることができる。
The screen shown in FIG. 10 is generated by an application that reproduces content executed on the
このように、スキップボタン413、414、又はリスト415を設けることにより、ユーザの操作に応じてアクセス頻度が閾値以上のチャンクから再生を開始することができる。すなわち、多くのユーザが視聴しているチャンクへ再生位置を移動させることができる。したがって、例えばスポーツの得点シーン等、アクセス頻度の高い場面から再生することができるようになる。また、アクセス頻度の高いシーンに相当するチャンクをより多くのノード3でキャッシュしておくことにより、ネットワーク上のトラフィックの増大を抑えることができる。換言すれば、予めキャッシュされたチャンクからの再生をユーザに提案することにより、トラフィックを低減させることができる。
As described above, by providing the
<変形例2>
また、アクセス頻度が所定の閾値以上であるチャンクを抽出及び結合して、コンテンツのダイジェストを生成するようにしてもよい。すなわち、1つのファイルを分割して生成したチャンクのうち、管理装置が算出したアクセス頻度が所定の閾値以上であるチャンクを結合して再生する。このような処理は、例えばコンテンツサーバ5等が、アクセス頻度が所定の閾値以上であるチャンクのみを含むMPDファイルを、コンテンツのダイジェストとして生成することにより実現してもよいし、端末4が備えるコンテンツ再生プログラムがMPDファイルに記述されたチャンクのうちアクセス頻度が所定の閾値以上であえるチャンクのみを要求することにより実現してもよい。すなわち、複数のチャンクを結合することによりもとのファイルを形成する処理は、ノード3が行うようにしてもよいし、端末4が行うようにしてもよい。
<
Alternatively, a digest of content may be generated by extracting and combining chunks having an access frequency equal to or higher than a predetermined threshold. That is, among the chunks generated by dividing one file, the chunks whose access frequency calculated by the management device is equal to or higher than a predetermined threshold are combined and played back. Such processing may be realized, for example, by the
アクセス頻度の高いシーンに相当するチャンクをより多くのノード3でキャッシュしておくことにより、本変形例によっても、ネットワーク上のトラフィックの増大を抑えることができる。
By caching chunks corresponding to scenes with high access frequency in
<変形例3>
また、端末4の再生処理部441は、アクセス頻度が所定の閾値以上であるチャンクを優先的に受信(プリフェッチ)するようにしてもよい。このようにすれば、端末4は、ユーザが視聴したい部分を先読みしてダウンロードしておき、ユーザが当該シーンへスキップする操作をした場合は、すぐに再生を開始することができる。また、ノード3のキャッシュ送信部342が主体となって、端末4へアクセス頻度が所定の閾値以上であるチャンクをプッシュ配信するようにしてもよい。いずれの場合であっても、端末4の再生処理部441は、ファイルを構成するチャンクのうち、アクセス頻度が所定の閾値以上であるチ
ャンクを優先的に受信することができる。そして、チャンクの再生時には当該チャンクが端末4の記憶装置42に保持された状態にしておくことができる。
<
Further, the
<変形例4>
また、1つのコンテンツのうち、アクセス頻度が所定の閾値以上であるチャンクの前に広告等のような他のコンテンツを挿入して再生するようにしてもよい。このような処理は、例えば端末4の再生処理部441が、コンテンツサーバ5やノード3と協調して、アクセス頻度が所定の閾値以上であるチャンクの前に他のコンテンツを割り込ませて再生する。また、他のコンテンツについても、予めノード3にキャッシュさせておくようにしてもよい。このように人気のあるチャンクの前に他のコンテンツを挿入することにより、ユーザに他のコンテンツも視聴してもらえる可能性が高まる。本変形例に係る他のコンテンツの挿入も、ノード3のキャッシュ送信部342が主体となって、端末4へプッシュ配信するようにしてもよい。
<
Moreover, you may make it reproduce | regenerate by inserting other content like an advertisement before the chunk whose access frequency is more than a predetermined threshold among one content. In such a process, for example, the
<変形例5>
また、コンテンツデータは、動画や音声に限られず、例えば三次元オブジェクトを含むVR(Virtual Reality)動画であってもよい。このとき、VR動画内のオブジェクト単
位で送受信を制御できるファイル形式を採用し、時間的に分割されたチャンクごとにキャッシュするだけでなく、三次元オブジェクトごとにキャッシュできるようにしてもよい。すなわち、多くのユーザに視線を向けられ、表示の対象となることが多い三次元オブジェクトは、より多くのグループに属するノード3においてキャッシュし、ユーザに注目されず、表示されることが少ない三次元オブジェクトは、ネットワーク2上にほとんどキャッシュしない。また、段階的に品質の異なる三次元オブジェクトを予め用意しておき、表示の対象となることが多い三次元オブジェクトは高品質なものをキャッシュさせ、表示の対象となることが少ない三次元オブジェクトは低品質なものをキャッシュさせるようにしてもよい。このような変形例によっても、ネットワーク上のトラフィックの増大を抑えることができると共に、キャッシュを保持するための記憶領域を有効的に活用できる。
<
Further, the content data is not limited to moving images and audio, and may be VR (Virtual Reality) moving images including a three-dimensional object, for example. At this time, a file format in which transmission / reception can be controlled in units of objects in the VR moving image may be adopted so that not only the time-divided chunks are cached but also the three-dimensional objects can be cached. That is, a three-dimensional object that is directed to many users and is often a display target is cached in a
すなわち、データの処理単位である三次元オブジェクトがまとまって記憶されるデータ構造のファイルのように、データ構造や処理単位が特殊なコンテンツデータを扱う場合には、データ構造や処理単位に基づいてチャンクのデータサイズを決定するようにしてもよい。このようにすれば、チャンク単位でファイルを送受信及びキャッシュする場合の通信効率やデータの処理効率を向上させることができる。 That is, when handling content data with a special data structure or processing unit, such as a data structure file in which three-dimensional objects, which are data processing units, are stored together, chunks are created based on the data structure or processing unit. The data size may be determined. In this way, it is possible to improve communication efficiency and data processing efficiency when files are transmitted / received and cached in units of chunks.
また、コンテンツデータとして、画質の異なるレイヤを組み合わせて再生品質やコンテンツのデータ量を調整できるファイル形式の動画に、実施形態又は変形例に係るキャッシュ方法を適用してもよい。例えば、H.264 SVC(Scalable Video Coding)のよ
うに段階的に画質の異なるレイヤを含む動画ファイルを用意しておき、時間的な区間ごとの動画に対するアクセス頻度に応じて、アクセス頻度の高い区間ほど画質の高いレイヤを多くキャッシュするようにしてもよい。また、アクセス頻度に関係なく、低画質のレイヤを多くキャッシュするようにしてもよい。このようにすれば、回線の混雑状況によらず、少なくとも低画質のレイヤは早期に端末4へ配信できるようになる。
In addition, the cache method according to the embodiment or the modification may be applied to a moving image in a file format in which playback quality and content data amount can be adjusted by combining layers having different image quality as content data. For example, H.M. H.264 SVC (Scalable Video Coding) prepares a video file that includes layers with different image quality in stages, and the higher the access frequency, the higher the image quality according to the access frequency to the video for each time interval. You may make it cache many layers. Also, a large number of low image quality layers may be cached regardless of the access frequency. In this way, at least a low image quality layer can be delivered to the
上記の実施形態及び変形例に記載した事項は、適宜組み合わせて実施することができる。 The matters described in the above embodiments and modifications can be implemented in appropriate combination.
<その他>
本発明は上述の処理を実行するコンピュータプログラムを含む。さらに、当該プログラムを記録した、コンピュータ読み取り可能な記録媒体も、本発明の範疇に属する。当該プログラムが記録された記録媒体については、コンピュータに、この記録媒体のプログラム
を読み込ませて実行させることにより、上述の処理が可能となる。
<Others>
The present invention includes a computer program that executes the above-described processing. Furthermore, a computer-readable recording medium on which the program is recorded also belongs to the category of the present invention. With respect to the recording medium on which the program is recorded, the above-described processing can be performed by causing the computer to read and execute the program on the recording medium.
ここで、コンピュータ読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータから読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータから取り外し可能なものとしては、フレキシブルディスク、光磁気ディスク、光ディスク、磁気テープ、メモリカード等がある。また、コンピュータに固定された記録媒体としては、ハードディスクドライブやROM等がある。 Here, the computer-readable recording medium refers to a recording medium in which information such as data and programs is accumulated by electrical, magnetic, optical, mechanical, or chemical action and can be read from a computer. Examples of such a recording medium that can be removed from the computer include a flexible disk, a magneto-optical disk, an optical disk, a magnetic tape, and a memory card. Further, examples of the recording medium fixed to the computer include a hard disk drive and a ROM.
1 :ネットワークシステム
2 :ネットワーク
3 :ノード
31 :通信I/F
32 :記憶装置
33 :入出力装置
34 :プロセッサ
341 :キャッシュ保持部
342 :キャッシュ送信部
343 :中継部
35 :バス
4 :端末
41 :通信I/F
42 :記憶装置
43 :入出力装置
44 :プロセッサ
441 :再生処理部
45 :バス
5 :コンテンツサーバ
51 :通信I/F
52 :記憶装置
53 :入出力装置
54 :プロセッサ
541 :コンテンツ配信部
542 :キャッシュ管理部
55 :バス
1: Network system 2: Network 3: Node 31: Communication I / F
32: Storage device 33: Input / output device 34: Processor 341: Cache holding unit 342: Cache transmission unit 343: Relay unit 35: Bus 4: Terminal 41: Communication I / F
42: storage device 43: input / output device 44: processor 441: reproduction processing unit 45: bus 5: content server 51: communication I / F
52: storage device 53: input / output device 54: processor 541: content distribution unit 542: cache management unit 55: bus
Claims (11)
前記ノード装置には、当該ノード装置が保持すべきチャンクを特定するためのグループが、ネットワークトポロジ上隣接する他のノード装置とは異なるグループが優先されるように割り当てられ、
前記チャンクは、ゼロ以上の前記グループと関連付けられ、
前記ノード装置は、
自身に割り当てられた前記グループと関連付けられた前記チャンクを受信した場合は、当該チャンクをキャッシュとして記憶部に一時的に保持させるキャッシュ保持部と、
要求元のノード装置が送信を要求する前記チャンクに対応する前記キャッシュを保持している場合は、当該キャッシュを前記要求元のノード装置に対して送信するキャッシュ送信部と、
前記要求元のノード装置が要求する前記チャンクに対応する前記キャッシュを保持していない場合は、他のノードに前記チャンクを要求する中継部と、
を備えるネットワークシステム。 A network system including a plurality of node devices that transmit and receive chunks that are divided files and temporarily hold the chunks,
A group for specifying a chunk to be held by the node device is assigned to the node device so that a group different from other adjacent node devices in the network topology is given priority.
The chunk is associated with zero or more of the groups;
The node device is
When the chunk associated with the group assigned to itself is received, a cache holding unit that temporarily holds the chunk as a cache in a storage unit;
When the requesting node device holds the cache corresponding to the chunk that requests transmission, a cache transmission unit that transmits the cache to the requesting node device;
When the cache corresponding to the chunk requested by the requesting node device is not held, a relay unit that requests the chunk from another node;
A network system comprising:
前記管理装置は、算出した前記頻度が高いチャンクは前記頻度が低いチャンクよりも多くのノード装置において保持されるように、前記チャンクに関連付ける前記グループを変更するキャッシュ管理部を備える
請求項1に記載のネットワークシステム。 A management device for calculating the frequency of requests for the chunk;
The said management apparatus is provided with the cache management part which changes the said group linked | related with the said chunk so that the calculated chunk with high frequency may be hold | maintained in more node apparatuses than the chunk with low frequency. Network system.
請求項2に記載のネットワークシステム。 When the cache transmission unit of the node device transmits the cache held by the storage unit of the node device to the requesting node device, the cache transmission unit counts the number of accesses to the chunk corresponding to the cache, The network system according to claim 2, wherein the number of accesses is transmitted to the management device.
前記チャンクは、前記コンテンツデータが再生時間又はデータサイズに基づいて分割されたファイルであり、複数のチャンクを結合することにより前記ファイルを形成する
請求項2又は3に記載のネットワークシステム。 The file is content data;
The network system according to claim 2 or 3, wherein the chunk is a file in which the content data is divided based on a reproduction time or a data size, and the file is formed by combining a plurality of chunks.
前記端末は、要求するチャンクによって形成されるファイルを構成する他のチャンクのうち、要求の頻度が所定の閾値以上であるチャンクを優先的に受信する再生処理部を備える
請求項4に記載のネットワークシステム。 The network system further includes a terminal that requests the content data in chunk units from the node device,
The network according to claim 4, wherein the terminal includes a reproduction processing unit that preferentially receives a chunk whose request frequency is equal to or higher than a predetermined threshold among other chunks that form a file formed by the requested chunk. system.
請求項5に記載のネットワークシステム。 The network system according to claim 5, wherein the reproduction processing unit of the terminal reproduces other content before reproducing a chunk whose request frequency calculated by the management device is equal to or greater than a predetermined threshold.
請求項5又は6に記載のネットワークシステム。 The reproduction processing unit of the terminal combines and reproduces chunks that are generated by dividing one file and whose request frequency calculated by the management device is equal to or higher than a predetermined threshold. 6. The network system according to 6.
請求項5から7のいずれか一項に記載のネットワークシステム。 The playback processing unit of the terminal is any one of chunks generated by dividing one file according to a user's operation, and the frequency of the request calculated by the management device is equal to or higher than a predetermined threshold. The network system according to any one of Claims 5 to 7, wherein reproduction is started from.
前記ノード装置には、当該ノード装置が保持すべきチャンクを特定するためのグループが割り当てられ、
前記ファイルは、ゼロ以上の前記グループと関連付けられ、
前記ノード装置は、
自身に割り当てられた前記グループと関連付けられた前記チャンクを受信した場合は、当該チャンクをキャッシュとして記憶部に一時的に保持させるキャッシュ保持部と、
要求元のノード装置が送信を要求する前記チャンクに対応する前記キャッシュを保持している場合は、当該キャッシュを前記要求元のノード装置に対して送信するキャッシュ送信部と、
前記要求元のノード装置が要求する前記チャンクに対応する前記キャッシュを保持していない場合は、他のノードに前記チャンクを要求する中継部と、
を備えるノード装置。 A node device that transmits and receives chunks that are divided files and temporarily holds the chunks,
The node device is assigned a group for specifying a chunk to be held by the node device,
The file is associated with zero or more of the groups;
The node device is
When the chunk associated with the group assigned to itself is received, a cache holding unit that temporarily holds the chunk as a cache in a storage unit;
When the requesting node device holds the cache corresponding to the chunk that requests transmission, a cache transmission unit that transmits the cache to the requesting node device;
When the cache corresponding to the chunk requested by the requesting node device is not held, a relay unit that requests the chunk from another node;
A node device comprising:
前記ノード装置には、当該ノード装置が保持すべきチャンクを特定するためのグループが割り当てられ、
前記ファイルは、ゼロ以上の前記グループと関連付けられ、
前記ノード装置が、
自身に割り当てられた前記グループと関連付けられた前記チャンクを受信した場合は、当該チャンクをキャッシュとして記憶部に一時的に保持させ、
要求元のノード装置が送信を要求する前記チャンクに対応する前記キャッシュを保持している場合は、当該キャッシュを前記要求元のノード装置に対して送信し、
前記要求元のノード装置が要求する前記チャンクに対応する前記キャッシュを保持していない場合は、他のノードに前記チャンクを要求する
キャッシュ方法。 A cache method executed by a node device that transmits and receives chunks that are divided files and temporarily holds the chunks,
The node device is assigned a group for specifying a chunk to be held by the node device,
The file is associated with zero or more of the groups;
The node device is
When the chunk associated with the group assigned to itself is received, the chunk is temporarily held in the storage unit as a cache,
When the requesting node device holds the cache corresponding to the chunk that requests transmission, the cache is transmitted to the requesting node device,
A cache method for requesting the chunk from another node when the cache corresponding to the chunk requested by the requesting node device is not held.
前記ノード装置には、当該ノード装置が保持すべきチャンクを特定するためのグループが割り当てられ、
前記ファイルは、ゼロ以上の前記グループと関連付けられ、
前記ノード装置に、
自身に割り当てられた前記グループと関連付けられた前記チャンクを受信した場合は、当該チャンクをキャッシュとして記憶部に一時的に保持させ、
要求元のノード装置が送信を要求する前記チャンクに対応する前記キャッシュを保持している場合は、当該キャッシュを前記要求元のノード装置に対して送信させ、
前記要求元のノード装置が要求する前記チャンクに対応する前記キャッシュを保持していない場合は、他のノードに前記チャンクを要求させる
プログラム。 A program that is executed by a node device that transmits and receives chunks that are divided files and temporarily holds the chunks,
The node device is assigned a group for specifying a chunk to be held by the node device,
The file is associated with zero or more of the groups;
In the node device,
When the chunk associated with the group assigned to itself is received, the chunk is temporarily held in the storage unit as a cache,
When the requesting node device holds the cache corresponding to the chunk that requests transmission, the cache device is transmitted to the requesting node device,
A program for causing another node to request the chunk when the cache corresponding to the chunk requested by the requesting node device is not held.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017138406A JP6638145B2 (en) | 2017-07-14 | 2017-07-14 | Network system, node device, cache method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017138406A JP6638145B2 (en) | 2017-07-14 | 2017-07-14 | Network system, node device, cache method and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019020994A true JP2019020994A (en) | 2019-02-07 |
JP6638145B2 JP6638145B2 (en) | 2020-01-29 |
Family
ID=65355586
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017138406A Active JP6638145B2 (en) | 2017-07-14 | 2017-07-14 | Network system, node device, cache method and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6638145B2 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2018173874A1 (en) * | 2017-03-24 | 2020-01-30 | ソニー株式会社 | Content providing system, content providing method, and program |
JP2022040954A (en) * | 2020-08-31 | 2022-03-11 | 株式会社Tbsテレビ | Streaming distribution system, streaming distribution method, and program |
CN115103023A (en) * | 2022-06-14 | 2022-09-23 | 北京字节跳动网络技术有限公司 | Video caching method, device, equipment and storage medium |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004038627A (en) * | 2002-07-04 | 2004-02-05 | Sony Corp | Cache device, cache data management method, and computer program |
JP2010519613A (en) * | 2007-02-20 | 2010-06-03 | レイセオン カンパニー | System and method for improving data cache processing |
WO2012144584A1 (en) * | 2011-04-22 | 2012-10-26 | 日本電気株式会社 | Content distribution system, control device, and content distribution method |
JP2015072682A (en) * | 2013-09-12 | 2015-04-16 | 株式会社Nttドコモ | Method and device for load balancing and dynamic scaling of low delay two-layer distributed cache storage system |
-
2017
- 2017-07-14 JP JP2017138406A patent/JP6638145B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004038627A (en) * | 2002-07-04 | 2004-02-05 | Sony Corp | Cache device, cache data management method, and computer program |
JP2010519613A (en) * | 2007-02-20 | 2010-06-03 | レイセオン カンパニー | System and method for improving data cache processing |
WO2012144584A1 (en) * | 2011-04-22 | 2012-10-26 | 日本電気株式会社 | Content distribution system, control device, and content distribution method |
JP2015072682A (en) * | 2013-09-12 | 2015-04-16 | 株式会社Nttドコモ | Method and device for load balancing and dynamic scaling of low delay two-layer distributed cache storage system |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2018173874A1 (en) * | 2017-03-24 | 2020-01-30 | ソニー株式会社 | Content providing system, content providing method, and program |
JP2022040954A (en) * | 2020-08-31 | 2022-03-11 | 株式会社Tbsテレビ | Streaming distribution system, streaming distribution method, and program |
CN115103023A (en) * | 2022-06-14 | 2022-09-23 | 北京字节跳动网络技术有限公司 | Video caching method, device, equipment and storage medium |
CN115103023B (en) * | 2022-06-14 | 2024-04-05 | 北京字节跳动网络技术有限公司 | Video caching method, device, equipment and storage medium |
Also Published As
Publication number | Publication date |
---|---|
JP6638145B2 (en) | 2020-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104995924B (en) | The caching based on program in live media distribution | |
JP5408257B2 (en) | Content distribution system, content distribution method, and content distribution program | |
RU2632410C2 (en) | Preliminary caching in cdn controlled by application | |
US7882168B2 (en) | Contents distribution system, node apparatus and information processing method thereof, as well as recording medium on which program thereof is recorded | |
KR20140073826A (en) | Method of caching contents by node and method of transmitting contents by contents provider in a content centric network | |
CN110636339B (en) | Scheduling method and device based on code rate and electronic equipment | |
JP4830889B2 (en) | Information distribution system, information distribution method, node device, etc. | |
CN107743708A (en) | The system and method based on catalogue limitation for storage media section | |
JP6638145B2 (en) | Network system, node device, cache method and program | |
US20160134900A1 (en) | Streaming media processing method, apparatus, and system | |
CN113767639B (en) | Method, apparatus and non-volatile computer readable medium for receiving media data | |
JP2015201243A (en) | Method and system of multitrack video contents service for providing multitrack video contents | |
CN110809167A (en) | Video playing method and device, electronic equipment and storage medium | |
JP6342526B2 (en) | Method and system for sharing live broadcast data | |
JP2010191774A (en) | Content distribution system, content distribution device, content distribution method and program therefor, data storage device, and processing method and program therefor | |
CN107645475B (en) | File resource distribution system and method in heterogeneous network | |
JPWO2018173874A1 (en) | Content providing system, content providing method, and program | |
JP2013045273A (en) | Cache server, method for determining cache object, content distribution system, and cache object determination program | |
JP2015104075A (en) | Medium reproduction control device, medium reproduction control method and program | |
JP6592809B2 (en) | Network system, node device, cache method, and program | |
JP2019133453A (en) | Network system, node device, caching method and caching program | |
JPWO2011142334A1 (en) | Content distribution system, script generation device, terminal, content distribution method, and content distribution program | |
JP2018133664A (en) | Distribution device and program | |
JP6500132B1 (en) | Information processing apparatus, information processing method, and information processing program | |
JP5560545B2 (en) | Distribution system and distribution method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190619 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20190619 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20190717 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20191007 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20191112 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20191129 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6638145 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |