JP6201438B2 - Content distribution method, content distribution server, and thumbnail collection program - Google Patents

Content distribution method, content distribution server, and thumbnail collection program Download PDF

Info

Publication number
JP6201438B2
JP6201438B2 JP2013120177A JP2013120177A JP6201438B2 JP 6201438 B2 JP6201438 B2 JP 6201438B2 JP 2013120177 A JP2013120177 A JP 2013120177A JP 2013120177 A JP2013120177 A JP 2013120177A JP 6201438 B2 JP6201438 B2 JP 6201438B2
Authority
JP
Japan
Prior art keywords
cache server
content data
bit
storage unit
content
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.)
Expired - Fee Related
Application number
JP2013120177A
Other languages
Japanese (ja)
Other versions
JP2014238671A (en
Inventor
上野 仁
仁 上野
健一 阿比留
健一 阿比留
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2013120177A priority Critical patent/JP6201438B2/en
Priority to US14/270,450 priority patent/US9692847B2/en
Publication of JP2014238671A publication Critical patent/JP2014238671A/en
Application granted granted Critical
Publication of JP6201438B2 publication Critical patent/JP6201438B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/183Provision of network file services by network file servers, e.g. by using NFS, CIFS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、コンテンツデータを端末装置に配信するコンテンツ配信方法、コンテンツ配信サーバ及びサムネイル収集プログラムに関する。   The present invention relates to a content distribution method for distributing content data to a terminal device, a content distribution server, and a thumbnail collection program.

近年では、SNS(social networking service)等の特定のユーザ間でコンテンツデータを共有するサービスが普及されている。このサービスでは、例えば特定のユーザ間で共有される共有コンテンツデータをキャッシュサーバ等に蓄積し、ユーザの端末装置によりキャッシュサーバ内の共有コンテンツデータを参照させる。   In recent years, services such as SNS (social networking service) that share content data among specific users have become widespread. In this service, for example, shared content data shared among specific users is accumulated in a cache server or the like, and the shared content data in the cache server is referred to by the user terminal device.

ところで従来のキャッシュサーバは、記憶容量が不足すると参照回数の少ないコンテンツデータを削除する。したがって端末装置に共有される共有コンテンツデータは、キャッシュサーバから削除されている場合があり得る。   By the way, the conventional cache server deletes content data with a small number of references when the storage capacity is insufficient. Therefore, the shared content data shared by the terminal device may be deleted from the cache server.

この場合キャッシュサーバは、端末装置のアクセスを受け付けてから参照要求を受けるまでの間に、他のサーバから参照対象の共有コンテンツデータを検索して取得する。検索の手法としては、例えば所望のファイルが格納されているサーバを絞り、該当するサーバを対象に検索する手法が知られている。   In this case, the cache server searches for and acquires the shared content data to be referenced from another server after receiving the access of the terminal device and before receiving the reference request. As a search method, for example, a method of narrowing down servers storing a desired file and searching for the corresponding server is known.

特開2008−102795号公報JP 2008-102895 A

近年では、端末装置の高機能化やコンテンツデータの高画質化等により、コンテンツデータのサイズが大きくなりつつある。したがってキャッシュサーバが他のサーバから共有コンテンツデータを取得する際に時間がかかる。   In recent years, the size of content data is becoming larger due to higher functionality of terminal devices and higher image quality of content data. Therefore, it takes time for the cache server to acquire the shared content data from another server.

開示の技術は、端末装置からコンテンツデータの参照要求を受けるまでの間により多くのコンテンツデータの代表画像データを収集することが可能なコンテンツ配信方法、コンテンツ配信サーバ及びサムネイル収集プログラムを提供することを目的としている。   The disclosed technology provides a content distribution method, a content distribution server, and a thumbnail collection program capable of collecting more representative image data of content data until a request for reference of content data is received from a terminal device. It is aimed.

開示の技術は、コンピュータによるコンテンツ配信方法であって、該コンピュータが、記憶部におけるコンテンツデータの有無を示すビット配列と、他のコンピュータが有する他の記憶部におけるコンテンツデータの有無を示すビット配列とを比較した結果を参照し、前記記憶部に記憶されていないコンテンツデータが多く記憶された前記他の記憶部を有する前記他のコンピュータから順に、前記記憶部に記憶されていないコンテンツデータの代表画像データを収集する。 Disclosed technology provides a content distribution method by a computer, the computer is a bit sequence indicating the presence or absence of the content data in the storage unit, a bit sequence indicating the presence or absence of the content data in the other storage unit included in the different computers The representative images of the content data not stored in the storage unit in order from the other computer having the other storage unit that stores a large amount of content data not stored in the storage unit. Collect data.

上記各手順は、上記各処理を実現する機能部、上記各手順を処理としてコンピュータにより実行させるプログラム、プログラムを記憶したコンピュータ読み取り可能な記憶媒体とすることもできる。   Each of the above procedures can be a functional unit that realizes each of the above processes, a program that causes the computer to execute each of the above procedures, and a computer-readable storage medium that stores the program.

開示の技術によれば、端末装置からコンテンツデータの参照要求を受けるまでの間により多くのコンテンツデータの代表画像データを収集することができる。   According to the disclosed technology, more representative image data of content data can be collected until a request for content data reference is received from the terminal device.

コンテンツ配信システムの構成の例を示す図である。It is a figure which shows the example of a structure of a content delivery system. コンテンツ配信システムの動作の一例を説明する図である。It is a figure explaining an example of operation | movement of a content delivery system. キャッシュサーバのハードウェア構成の一例を示す図である。It is a figure which shows an example of the hardware constitutions of a cache server. 第一の実施例のキャッシュサーバの機能を説明する図である。It is a figure explaining the function of the cache server of a 1st Example. CS管理テーブルの一例を示す図である。It is a figure which shows an example of CS management table. コンテンツ管理テーブルの一例を示す図である。It is a figure which shows an example of a content management table. グループ位置テーブルの一例を示す図である。It is a figure which shows an example of a group position table. ハッシュテーブルの一例を示す図である。It is a figure which shows an example of a hash table. ハッシュテーブルについて説明する図である。It is a figure explaining a hash table. ビット配列の生成について説明する図である。It is a figure explaining the production | generation of a bit arrangement | sequence. 第一の実施例の各キャッシュサーバの有するコンテンツデータと対応したビット配列の例を示す図である。It is a figure which shows the example of the bit arrangement corresponding to the content data which each cache server of a 1st Example has. 第一の実施例のキャッシュサーバの動作を説明するシーケンス図である。It is a sequence diagram explaining operation | movement of the cache server of a 1st Example. キャッシュサーバによるグループID取得の処理を説明するシーケンス図である。It is a sequence diagram explaining the process of group ID acquisition by a cache server. サムネイルの収集にかかる時間を説明する図である。It is a figure explaining the time concerning collection of a thumbnail. 第二の実施例のキャッシュサーバの動作を説明するシーケンス図である。It is a sequence diagram explaining operation | movement of the cache server of a 2nd Example. 第三の実施例の各キャッシュサーバの有するコンテンツデータと対応したビット配列の例を示す図であるIt is a figure which shows the example of the bit arrangement corresponding to the content data which each cache server of a 3rd Example has. 第三の実施例のキャッシュサーバの動作を説明するシーケンス図である。It is a sequence diagram explaining operation | movement of the cache server of a 3rd Example. 第四の実施例のキャッシュサーバの機能を説明する図である。It is a figure explaining the function of the cache server of a 4th Example. 応答時間テーブルの一例を示す図である。It is a figure which shows an example of a response time table. 選択ポリシーテーブルの一例を示す図である。It is a figure which shows an example of a selection policy table. 第四の実施例のキャッシュサーバの動作を説明するシーケンス図である。It is a sequence diagram explaining operation | movement of the cache server of a 4th Example.

(第一の実施例)
以下に図面を参照して実施例について説明する。図1は、コンテンツ配信システムの構成の例を示す図である。
(First embodiment)
Embodiments will be described below with reference to the drawings. FIG. 1 is a diagram illustrating an example of a configuration of a content distribution system.

本実施例のコンテンツ配信システム100は、ユーザ管理サーバ200、キャッシュサーバ300A,300B,300C,300D、ストレージ301A,301B,301C,301D、端末装置400A,400Bを含む。ユーザ管理サーバ200は、広域ネットワークNに接続されている。尚図示していないが、広域ネットワークには、各種コンテンツデータを有するコンテンツサーバが接続されていても良い。   The content distribution system 100 of the present embodiment includes a user management server 200, cache servers 300A, 300B, 300C, and 300D, storages 301A, 301B, 301C, and 301D, and terminal devices 400A and 400B. The user management server 200 is connected to the wide area network N. Although not shown, a content server having various content data may be connected to the wide area network.

キャッシュサーバ300Aは、ネットワークNW1を介して広域ネットワークNと接続されている。またキャッシュサーバ300Aは、ストレージ301Aと接続されている。ストレージ301Aには、キャッシュサーバ300Aにより配信されるコンテンツデータが格納されている。   The cache server 300A is connected to the wide area network N via the network NW1. The cache server 300A is connected to the storage 301A. The storage 301A stores content data distributed by the cache server 300A.

キャッシュサーバ300Bは、ネットワークNW2を介して広域ネットワークNと接続されている。またキャッシュサーバ300Bは、ストレージ301Bと接続されている。ストレージ301Bには、キャッシュサーバ300Bにより配信されるコンテンツデータが格納されている。   The cache server 300B is connected to the wide area network N via the network NW2. The cache server 300B is connected to the storage 301B. The storage 301B stores content data distributed by the cache server 300B.

キャッシュサーバ300Cは、ネットワークNW3を介して広域ネットワークNと接続されている。またキャッシュサーバ300Cは、ストレージ301Cと接続されている。ストレージ301Cには、キャッシュサーバ300Cにより配信されるコンテンツデータが格納されている。   The cache server 300C is connected to the wide area network N via the network NW3. The cache server 300C is connected to the storage 301C. The storage 301C stores content data distributed by the cache server 300C.

キャッシュサーバ300Dは、ネットワークNW4を介して広域ネットワークNと接続されている。またキャッシュサーバ300Dは、ストレージ301Dと接続されている。ストレージ301Dには、キャッシュサーバ300Dにより配信されるコンテンツデータが格納されている。   The cache server 300D is connected to the wide area network N via the network NW4. The cache server 300D is connected to the storage 301D. The storage 301D stores content data distributed by the cache server 300D.

端末装置400Aは、ネットワークNW1を介してキャッシュサーバ300Aと接続されており、端末装置400BはネットワークNW3を介してキャッシュサーバ300Cと接続されている。   The terminal device 400A is connected to the cache server 300A via the network NW1, and the terminal device 400B is connected to the cache server 300C via the network NW3.

本実施例では、広域ネットワークNに接続されたキャッシュサーバを4台としたが、キャッシュサーバの台数は任意であって良い。本実施例の以下の説明において、4台のキャッシュサーバをそれぞれ区別する場合には、キャッシュサーバ300A、300B,300C,300Dと記載し、それぞれを区別しない場合には単にキャッシュサーバ300と記載する。またストレージ301A,301B,301C,301Dについても同様に、それぞれを区別しない場合にはストレージ301と記載する。尚ストレージ301は、キャッシュサーバ300の内部に設けられていても良い。また端末装置400A,400Bについても同様に、それぞれを区別しない場合には端末装置400と記載する。   In this embodiment, four cache servers are connected to the wide area network N, but the number of cache servers may be arbitrary. In the following description of the present embodiment, when the four cache servers are distinguished from each other, they are described as cache servers 300A, 300B, 300C, and 300D, and when they are not distinguished from each other, they are simply referred to as the cache server 300. Similarly, the storages 301A, 301B, 301C, and 301D are described as the storage 301 when they are not distinguished from each other. The storage 301 may be provided inside the cache server 300. Similarly, the terminal devices 400A and 400B are described as the terminal device 400 when they are not distinguished from each other.

以下に図2を参照して本実施例のコンテンツ配信システム100の動作の一例を説明する。図2は、コンテンツ配信システムの動作の一例を説明する図である。   An example of the operation of the content distribution system 100 according to this embodiment will be described below with reference to FIG. FIG. 2 is a diagram for explaining an example of the operation of the content distribution system.

本実施例のコンテンツ配信システム100では、例えば複数の端末装置400がグルーピングされており、キャッシュサーバ300が同一グループの端末装置400間で共有される共有コンテンツデータを同一グループ内の端末装置400へ配信する。すなわち本実施例のキャッシュサーバ300は、コンテンツデータを端末装置400へ配信するサーバである。本実施例のキャッシュサーバ300は、共有コンテンツデータを配信する際に、各共有コンテンツデータのサムネイルを共有コンテンツデータの代表画像データとし、サムネイルのリストを端末装置400へ配信し、表示させる。   In the content distribution system 100 of the present embodiment, for example, a plurality of terminal devices 400 are grouped, and the cache server 300 distributes shared content data shared between the terminal devices 400 in the same group to the terminal devices 400 in the same group. To do. That is, the cache server 300 according to the present embodiment is a server that distributes content data to the terminal device 400. When distributing the shared content data, the cache server 300 according to the present embodiment uses the thumbnail of each shared content data as the representative image data of the shared content data, and distributes the thumbnail list to the terminal device 400 for display.

図2の例では、端末装置400AはユーザAに所持され、400BはユーザBに所持されおり、端末装置400A,400Bはグループ1にグルーピングされている。端末装置400CはユーザCに所持され、端末装置400DはユーザDに所持されており、端末装置400C,400Dはグループ2にグルーピングされている。また図2では、端末装置400Bを有するユーザBがネットワークNW3のエリアからネットワークNW2のエリアへ移動した場合を示している。   In the example of FIG. 2, the terminal device 400A is possessed by the user A, 400B is possessed by the user B, and the terminal devices 400A and 400B are grouped in the group 1. The terminal device 400C is possessed by the user C, the terminal device 400D is possessed by the user D, and the terminal devices 400C and 400D are grouped in the group 2. FIG. 2 shows a case where the user B having the terminal device 400B moves from the area of the network NW3 to the area of the network NW2.

端末装置400Aは、グループ1の共有コンテンツデータを得る際にキャッシュサーバ300Aを参照する。またユーザBの移動前の端末装置400Bは、グループ1の共有コンテンツデータを得る際にキャッシュサーバ300Cを参照する。したがってキャッシュサーバ300Aとキャッシュサーバ300Cには、グループ1の共有コンテンツデータが蓄積されている。   The terminal device 400A refers to the cache server 300A when obtaining the shared content data of the group 1. Further, the terminal device 400B before the movement of the user B refers to the cache server 300C when obtaining the shared content data of the group 1. Therefore, the shared content data of group 1 is stored in the cache server 300A and the cache server 300C.

また端末装置400C,400Dは、グループ2の共有コンテンツデータを得る際に、キャッシュサーバ300Bを参照する。したがってキャッシュサーバ300Bには、グループ2の共有コンテンツデータが蓄積されている。   The terminal devices 400C and 400D refer to the cache server 300B when obtaining the shared content data of the group 2. Therefore, the shared content data of group 2 is stored in the cache server 300B.

ここでユーザBがネットワークNW3のエリアからネットワークNW2のエリアへ移動した後にグループ1の共有コンテンツデータを参照する場合を考える。   Consider a case where user B refers to the shared content data of group 1 after moving from the area of network NW3 to the area of network NW2.

端末装置400Bは、ネットワークNW2のエリアに移動した後に共有コンテンツデータを参照する際、キャッシュサーバ300Bに認証情報を送信し、コンテンツ配信システム100にユーザ認証を実行させる。このときキャッシュサーバ300Bに蓄積されている共有コンテンツデータは、主にグループ2の共有コンテンツデータである。   When the terminal device 400B refers to the shared content data after moving to the area of the network NW2, the terminal device 400B transmits authentication information to the cache server 300B, and causes the content distribution system 100 to perform user authentication. At this time, the shared content data stored in the cache server 300B is mainly shared content data of the group 2.

よってキャッシュサーバ300Bは、キャッシュサーバ300A,300Cから自身が有していないグループ1の共有コンテンツデータのサムネイルを収集する。本実施例のキャッシュサーバ300Bは、端末装置400Bから認証情報を受信してからグループ1の共有コンテンツデータの参照要求を受けるまでの間にサムネイルの収集を行う。   Accordingly, the cache server 300B collects thumbnails of the shared content data of the group 1 that the cache server 300B does not have from the cache servers 300A and 300C. The cache server 300B of the present embodiment collects thumbnails after receiving the authentication information from the terminal device 400B until receiving a reference request for the shared content data of the group 1.

そしてキャッシュサーバ300Bは、端末装置400Bから参照要求を受けると、収集したグループ1の共有コンテンツデータのサムネイルを共有コンテンツデータのリストとして端末装置400Bに表示させる。   When the cache server 300B receives a reference request from the terminal device 400B, the cache server 300B displays the collected thumbnails of the shared content data of group 1 on the terminal device 400B as a list of shared content data.

尚図2では、端末装置400がグルーピングされた例を説明したが、これに限定されない。例えばキャッシュサーバ300には、各ユーザ個人が参照する各自のコンテンツデータが格納されていても良い。   In addition, although FIG. 2 demonstrated the example in which the terminal device 400 was grouped, it is not limited to this. For example, the cache server 300 may store its own content data referred to by each individual user.

例えばキャッシュサーバ300A,300CにユーザBが参照するユーザB用のコンテンツデータが蓄積されていた場合に、ユーザBがネットワークNW2のエリアで自身のコンテンツデータを参照する場合を考える。   For example, when content data for the user B referred to by the user B is stored in the cache servers 300A and 300C, the case where the user B refers to his / her content data in the area of the network NW2 is considered.

この場合キャッシュサーバ300Bは、他のキャッシュサーバ300A,300CからユーザB用のコンテンツデータのサムネイルを収集し、ユーザB用のコンテンツデータのリストとして端末装置400Bに表示させれば良い。すなわち本実施例のキャッシュサーバ300Aは、ある特定のグループにグルーピングされたコンテンツデータのサムネイルを他のキャッシュサーバ300から収集し、端末装置400へ送信する。例えば端末装置400がグルーピングされていた場合、端末装置400から入力されたコンテンツデータは端末装置400のグループと対応したグループにグルーピングされる。また例えばユーザ毎のコンテンツデータを配信する場合は、コンテンツデータはユーザ毎にグルーピングされる。   In this case, the cache server 300B may collect the thumbnails of the content data for the user B from the other cache servers 300A and 300C and display them on the terminal device 400B as a list of the content data for the user B. That is, the cache server 300 </ b> A of the present embodiment collects thumbnails of content data grouped in a specific group from other cache servers 300 and transmits the thumbnails to the terminal device 400. For example, when the terminal device 400 is grouped, the content data input from the terminal device 400 is grouped into a group corresponding to the group of the terminal device 400. For example, when distributing content data for each user, the content data is grouped for each user.

以下に本実施例のキャッシュサーバ300と、キャッシュサーバ300によるサムネイルの収集について説明する。   Hereinafter, the cache server 300 according to the present embodiment and thumbnail collection by the cache server 300 will be described.

図3は、キャッシュサーバのハードウェア構成の一例を示す図である。   FIG. 3 is a diagram illustrating an example of a hardware configuration of the cache server.

本実施例のキャッシュサーバ300は、それぞれバスBで相互に接続されている入力装置21、ドライブ装置22、補助記憶装置23、メモリ装置24、演算処理装置25、インターフェース装置26及び出力装置27を有する。   The cache server 300 according to this embodiment includes an input device 21, a drive device 22, an auxiliary storage device 23, a memory device 24, an arithmetic processing device 25, an interface device 26, and an output device 27 that are connected to each other via a bus B. .

入力装置21は、例えばキーボードやマウス等を含み、各種信号を入力するために用いられる。出力装置27は、例えばディスプレイ等を含み、各種信号の出力や各種情報の表示を行うために用いられる。   The input device 21 includes, for example, a keyboard and a mouse, and is used for inputting various signals. The output device 27 includes, for example, a display and is used for outputting various signals and displaying various information.

インターフェース装置26は、モデム,LAN(Local Area Network)カード等を含み、ネットワークに接続する為に用いられる。   The interface device 26 includes a modem, a LAN (Local Area Network) card, and the like, and is used for connecting to a network.

サムネイル収集プログラムは、キャッシュサーバ300を制御する各種プログラムの少なくとも一部である。サムネイル収集プログラムは例えば記録媒体28の配布やネットワークからのダウンロードなどによって提供される。サムネイル収集プログラムを記録した記録媒体28は、CD−ROM、フレキシブルディスク、光磁気ディスク等の様に情報を光学的,電気的或いは磁気的に記録する記録媒体、ROM、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。   The thumbnail collection program is at least a part of various programs that control the cache server 300. The thumbnail collection program is provided by, for example, distribution of the recording medium 28 or downloading from a network. The recording medium 28 on which the thumbnail collecting program is recorded is information such as a CD-ROM, a flexible disk, a magneto-optical disk, etc., a recording medium for recording information optically, electrically or magnetically, a ROM, a flash memory, etc. Various types of recording media, such as a semiconductor memory that electrically records data, can be used.

またサムネイル収集プログラムを記録した記録媒体28がドライブ装置22にセットされると、サムネイル収集プログラムは記録媒体28からドライブ装置22を介して補助記憶装置23にインストールされる。ネットワークからダウンロードされたサムネイル収集プログラムは、インターフェース装置26を介して補助記憶装置23にインストールされる。   When the recording medium 28 on which the thumbnail collection program is recorded is set in the drive device 22, the thumbnail collection program is installed in the auxiliary storage device 23 from the recording medium 28 via the drive device 22. The thumbnail collection program downloaded from the network is installed in the auxiliary storage device 23 via the interface device 26.

補助記憶装置23は、インストールされたサムネイル収集プログラムを格納すると共に、必要なファイル、データ等を格納する。本実施例の補助記憶装置23は、例えばストレージ301であっても良い。メモリ装置24は、コンピュータの起動時に補助記憶装置23からサムネイル収集プログラムを読み出して格納する。そして、演算処理装置25はメモリ装置24に格納されたサムネイル収集プログラムに従って、後述するような各種処理を実現している。   The auxiliary storage device 23 stores the installed thumbnail collection program and also stores necessary files, data, and the like. The auxiliary storage device 23 of this embodiment may be a storage 301, for example. The memory device 24 reads and stores the thumbnail collection program from the auxiliary storage device 23 when the computer is activated. The arithmetic processing unit 25 implements various processes as described later according to the thumbnail collection program stored in the memory device 24.

次に図4を参照して本実施例のキャッシュサーバ300の機能を説明する。図4は、第一の実施例のキャッシュサーバの機能を説明する図である。   Next, the function of the cache server 300 of this embodiment will be described with reference to FIG. FIG. 4 is a diagram for explaining the function of the cache server of the first embodiment.

本実施例のキャッシュサーバ300は、サムネイル収集部310と、サムネイル提供部320と、記憶部330とを有する。サムネイル収集部310は、他のキャッシュサーバ300からサムネイルを収集する。サムネイル提供部320は、他のキャッシュサーバ300からサムネイルの取得要求に応じて、要求元の他のキャッシュサーバ300へサムネイルを提供する。   The cache server 300 according to this embodiment includes a thumbnail collection unit 310, a thumbnail providing unit 320, and a storage unit 330. The thumbnail collection unit 310 collects thumbnails from other cache servers 300. In response to a thumbnail acquisition request from another cache server 300, the thumbnail providing unit 320 provides a thumbnail to the other cache server 300 that has requested the thumbnail.

記憶部330は、キャッシュサーバ300が後述する処理を行う際に参照する各種テーブルが格納されている。具体的には記憶部330には、キャッシュサーバ(CS)管理テーブル331、コンテンツ管理テーブル332、グループ位置テーブル333、ハッシュテーブル334が格納されている。各テーブルの詳細は後述する。記憶部330は、例えば補助記憶装置23やメモリ装置24内に設けられた所定の記憶領域である。   The storage unit 330 stores various tables that are referred to when the cache server 300 performs processing to be described later. Specifically, the storage unit 330 stores a cache server (CS) management table 331, a content management table 332, a group position table 333, and a hash table 334. Details of each table will be described later. The storage unit 330 is a predetermined storage area provided in the auxiliary storage device 23 or the memory device 24, for example.

本実施例のサムネイル収集部310は、認証情報受信部311、グループ判断部312、ビット配列取得部313、CS管理部314、問い合わせ順決定部315、サムネイル取得部316を有する。   The thumbnail collection unit 310 of this embodiment includes an authentication information reception unit 311, a group determination unit 312, a bit array acquisition unit 313, a CS management unit 314, an inquiry order determination unit 315, and a thumbnail acquisition unit 316.

本実施例の認証情報受信部311は、端末装置400から送信される認証情報を受信する。本実施例の認証情報は、例えば端末装置400のユーザを特定するユーザ識別情報(以下、ユーザID)と、端末装置400に割り当てられたグループを識別するグループ識別情報(以下、グループID)である。   The authentication information receiving unit 311 according to the present embodiment receives authentication information transmitted from the terminal device 400. The authentication information of the present embodiment is, for example, user identification information (hereinafter referred to as user ID) that identifies the user of the terminal device 400 and group identification information (hereinafter referred to as group ID) that identifies a group assigned to the terminal device 400. .

グループ判断部312は、認証情報受信部311が受信した認証情報に含まれるグループIDと同一のグループIDが割り振られた端末装置400がネットワークNWのエリア内に存在するか否かを判断する。   The group determining unit 312 determines whether or not the terminal device 400 to which the same group ID as the group ID included in the authentication information received by the authentication information receiving unit 311 is allocated exists in the area of the network NW.

具体的にはグループ判断部312は、例えば記憶部330のグループ位置テーブル333を参照し、受信したグループIDと一致するグループIDがグループ位置テーブル333に存在するか否かを判断する。該当するグループIDが存在しない場合、グループ判断部312は、ネットワークNWのエリア内に受信したグループと同一グループが割り振られた端末装置400はないと判断する。そしてグループ判断部312は、受信したグループIDをグループ位置テーブル333に格納してグループ位置テーブル333を更新する。さらにグループ判断部312は、コンテンツ配信システム100の有する全てのキャッシュサーバ300に対して更新したグループ位置テーブル333を送信する。   Specifically, the group determination unit 312 refers to the group position table 333 of the storage unit 330, for example, and determines whether or not a group ID that matches the received group ID exists in the group position table 333. When the corresponding group ID does not exist, the group determination unit 312 determines that there is no terminal device 400 to which the same group as the received group is allocated in the area of the network NW. Then, the group determination unit 312 stores the received group ID in the group position table 333 and updates the group position table 333. Furthermore, the group determination unit 312 transmits the updated group position table 333 to all the cache servers 300 included in the content distribution system 100.

ビット配列取得部313は、グループ判断部312の判断結果に応じて、他のキャッシュサーバ300から後述するビット配列を取得する。ビット配列の詳細は後述する。本実施例のビット配列取得部313は、例えばCS管理部314が管理する他のキャッシュサーバ300のIPアドレスを参照し、ビット配列を取得する。   The bit array acquisition unit 313 acquires a bit array to be described later from another cache server 300 according to the determination result of the group determination unit 312. Details of the bit arrangement will be described later. The bit array acquisition unit 313 of this embodiment refers to the IP address of another cache server 300 managed by the CS management unit 314, for example, and acquires the bit array.

CS管理部314は、コンテンツ配信システム100の有するキャッシュサーバ300のIPアドレスが格納されたCS管理テーブル331を管理する。CS管理部314は、ビット配列取得部313に要求に応じて他のキャッシュサーバ300のIPアドレスをビット配列取得部313へ渡す。   The CS management unit 314 manages a CS management table 331 in which the IP address of the cache server 300 included in the content distribution system 100 is stored. The CS management unit 314 passes the IP address of the other cache server 300 to the bit array acquisition unit 313 in response to a request to the bit array acquisition unit 313.

問い合わせ順決定部315は、ビット配列取得部313が取得したビット配列に基づき、他のキャッシュサーバ300に対してサムネイルの取得要求を行う順序を決定する。問い合わせ順決定部315の処理の詳細は後述する。サムネイル取得部316は、他のキャッシュサーバ300から、サムネイルを取得する。   The inquiry order determination unit 315 determines the order in which thumbnail acquisition requests are made to other cache servers 300 based on the bit array acquired by the bit array acquisition unit 313. Details of the processing of the inquiry order determination unit 315 will be described later. The thumbnail acquisition unit 316 acquires thumbnails from other cache servers 300.

本実施例のサムネイル提供部320は、コンテンツ管理部321、ビット配列応答部322、サムネイル応答部323を有する。   The thumbnail providing unit 320 of this embodiment includes a content management unit 321, a bit array response unit 322, and a thumbnail response unit 323.

コンテンツ管理部321は、ストレージ301に格納されているコンテンツデータを管理する。またコンテンツ管理部321は、コンテンツ管理テーブル332の管理を行う。具体的にはコンテンツ管理部321は、例えばストレージ301の残容量が所定値以下となった場合に、参照回数の少ないコンテンツデータから順に削除し、コンテンツ管理テーブル332の更新を行う。またコンテンツ管理部321は、新たなコンテンツデータがキャッシュサーバ300にダウンロードされた際に、コンテンツ管理テーブル332の更新を行う。   The content management unit 321 manages content data stored in the storage 301. The content management unit 321 manages the content management table 332. Specifically, for example, when the remaining capacity of the storage 301 becomes equal to or less than a predetermined value, the content management unit 321 sequentially deletes content data with a smaller reference count, and updates the content management table 332. The content management unit 321 updates the content management table 332 when new content data is downloaded to the cache server 300.

コンテンツ管理部321は、ハッシュテーブル生成部324、ビット配列生成部325と、サムネイル生成部326を有する。   The content management unit 321 includes a hash table generation unit 324, a bit array generation unit 325, and a thumbnail generation unit 326.

ハッシュテーブル生成部324は、コンテンツ管理テーブル332を参照し、ハッシュテーブル334を生成する。本実施例のハッシュテーブル生成部324は、コンテンツ管理テーブル332が更新される度にハッシュテーブル334を更新しても良い。ハッシュテーブル生成部324の詳細は後述する。   The hash table generation unit 324 refers to the content management table 332 and generates a hash table 334. The hash table generation unit 324 of the present embodiment may update the hash table 334 every time the content management table 332 is updated. Details of the hash table generation unit 324 will be described later.

ビット配列生成部325は、ハッシュテーブル334を参照し、キャッシュサーバ300がどのコンテンツデータを有しているかを示すビット配列を生成する。ビット配列生成部325の詳細は後述する。   The bit array generation unit 325 refers to the hash table 334 and generates a bit array indicating which content data the cache server 300 has. Details of the bit array generation unit 325 will be described later.

サムネイル生成部326は、コンテンツデータからサムネイルを生成する。本実施例のサムネイルは、例えばコンテンツデータを代表する代表画像であり、コンテンツデータの一部である。   The thumbnail generation unit 326 generates a thumbnail from the content data. The thumbnail in this embodiment is a representative image representing content data, for example, and is a part of the content data.

ビット配列応答部322は、他のキャッシュサーバ300からのビット配列の取得要求を受けて、ビット配列生成部325により生成されたビット配列を要求元の他のキャッシュサーバ300へ送信する。   The bit array response unit 322 receives the bit array acquisition request from the other cache server 300 and transmits the bit array generated by the bit array generation unit 325 to the other cache server 300 from which the request is made.

サムネイル応答部323は、他のキャッシュサーバ300からのサムネイルの取得要求を受けて、サムネイル生成部326により生成されたサムネイルを要求元の他のキャッシュサーバ300へ送信する。   In response to the thumbnail acquisition request from the other cache server 300, the thumbnail response unit 323 transmits the thumbnail generated by the thumbnail generation unit 326 to the other cache server 300 that has made the request.

次に図5乃至図8を参照して本実施例の記憶部330に格納された各種テーブルについて説明する。図5は、CS管理テーブルの一例を示す図である。   Next, various tables stored in the storage unit 330 of this embodiment will be described with reference to FIGS. FIG. 5 is a diagram illustrating an example of the CS management table.

本実施例のCS管理テーブル331は、キャッシュサーバ300を識別するキャッシュサーバ識別情報(以下、CSID)と、各キャッシュサーバ300のIPアドレスとが対応付けられている。   In the CS management table 331 of this embodiment, cache server identification information (hereinafter referred to as CSID) for identifying the cache server 300 is associated with the IP address of each cache server 300.

図6は、コンテンツ管理テーブルの一例を示す図である。本実施例のコンテンツ管理テーブル332は、コンテンツデータを識別するコンテンツ識別情報(コンテンツID)と、コンテンツデータのタイトルを示すタイトルデータ、作者を示す作者データ、参照回数を示す回数データ及びハッシュ値が対応付けられている。本実施例のハッシュ値は、コンテンツデータのタイトルデータと作者データをハッシュ関数と呼ばれる関数で演算した結果の値であり、コンテンツデータを代表する値である。   FIG. 6 is a diagram illustrating an example of a content management table. The content management table 332 of this embodiment corresponds to content identification information (content ID) for identifying content data, title data indicating the title of the content data, author data indicating the author, count data indicating the number of references, and a hash value. It is attached. The hash value of the present embodiment is a value obtained by calculating the title data and author data of content data using a function called a hash function, and is a value representing the content data.

本実施例のコンテンツ管理部320は、例えばキャッシュサーバ300が新たなコンテンツデータを取得した場合には、コンテンツ管理テーブル332の更新の際に取得したコンテンツデータのハッシュ値を計算しても良い。   For example, when the cache server 300 acquires new content data, the content management unit 320 according to the present embodiment may calculate a hash value of the content data acquired when the content management table 332 is updated.

また本実施例のコンテンツ管理テーブル332は、端末装置400に割り振られるグループID毎に設けられていても良い。
図7は、グループ位置テーブルの一例を示す図である。本実施例のグループ位置テーブル333は、コンテンツ配信システム100の有する全てのキャッシュサーバ300が有するテーブルである。グループ位置テーブル333は、各キャッシュサーバ300と、端末装置400に割り振られたグループIDとが対応付けられている。
Further, the content management table 332 of this embodiment may be provided for each group ID assigned to the terminal device 400.
FIG. 7 is a diagram illustrating an example of the group position table. The group position table 333 according to the present embodiment is a table included in all the cache servers 300 included in the content distribution system 100. In the group position table 333, each cache server 300 is associated with the group ID assigned to the terminal device 400.

図7の例では、キャッシュサーバ300Aが接続されているネットワークNW1のエリア内と、キャッシュサーバ300Cが接続されているネットワークNW3のエリア内に、グループIDがGr1の端末装置400があることがわかる。同様に図7の例では、キャッシュサーバ300Bが接続されているネットワークNW2のエリア内と、キャッシュサーバ300Cが接続されているネットワークNW3のエリア内に、グループIDがGr2の端末装置400があることがわかる。尚本実施例では、例えばグループ1のグループIDをGr1とし、グループ2のグループIDをGr2とした。   In the example of FIG. 7, it can be seen that there is a terminal device 400 with a group ID Gr1 in the area of the network NW1 to which the cache server 300A is connected and in the area of the network NW3 to which the cache server 300C is connected. Similarly, in the example of FIG. 7, there may be a terminal device 400 having a group ID Gr2 in the area of the network NW2 to which the cache server 300B is connected and in the area of the network NW3 to which the cache server 300C is connected. Recognize. In this embodiment, for example, the group ID of group 1 is Gr1, and the group ID of group 2 is Gr2.

本実施例のキャッシュサーバ300は、グループ判断部312がグループ位置テーブル333を更新する度に、グループ位置テーブル333を全てのキャッシュサーバ300に送信する。   The cache server 300 according to the present embodiment transmits the group position table 333 to all the cache servers 300 every time the group determination unit 312 updates the group position table 333.

図8は、ハッシュテーブルの一例を示す図である。本実施例のハッシュテーブル334は、ハッシュ値とコンテンツ管理テーブル334におけるコンテンツデータのタイトルとを対応付けたものである。本実施例のハッシュテーブル334は、ハッシュテーブル生成部324により生成される。   FIG. 8 is a diagram illustrating an example of a hash table. The hash table 334 of the present embodiment associates hash values with content data titles in the content management table 334. The hash table 334 of the present embodiment is generated by the hash table generation unit 324.

図8の例は、ハッシュテーブル生成部324が図6に示すコンテンツ管理テーブル332を参照して生成したものである。ハッシュテーブル334において、ハッシュ値1のコンテンツデータのタイトルデータは、「Jet」であり、ハッシュ値3のコンテンツデータのタイトルデータは、「Foot!!」と「Church」である。   The example in FIG. 8 is generated by the hash table generation unit 324 with reference to the content management table 332 shown in FIG. In the hash table 334, the title data of the content data with the hash value 1 is “Jet”, and the title data of the content data with the hash value 3 is “Foot!” And “Church”.

尚図8の例ではハッシュ値は8までとなっているが、8より大きいハッシュ値が存在しても良い。   In the example of FIG. 8, the hash value is up to 8, but a hash value greater than 8 may exist.

以下に図9を参照して本実施例のハッシュテーブル334についてさらに説明する。図9は、ハッシュテーブルについて説明する図である。   Hereinafter, the hash table 334 of this embodiment will be further described with reference to FIG. FIG. 9 is a diagram illustrating the hash table.

本実施例のハッシュテーブル生成部324は、コンテンツ管理テーブル332を参照し、ハッシュ値と対応するコンテンツデータのタイトルデータを抽出し、ハッシュ値と対応付ける。   The hash table generation unit 324 of the present embodiment refers to the content management table 332, extracts the title data of the content data corresponding to the hash value, and associates it with the hash value.

例えばコンテンツ管理テーブル332において、ハッシュ値が1のコンテンツデータは、コンテンツID1のコンテンツデータである。よってハッシュテーブル生成部324は、コンテンツID1のタイトルデータをハッシュ値1と対応付ける。   For example, in the content management table 332, content data having a hash value of 1 is content data of content ID1. Therefore, the hash table generation unit 324 associates the title data of the content ID1 with the hash value 1.

コンテンツ管理テーブル332において、ハッシュ値が2のコンテンツデータは、存在しない。よってハッシュテーブル生成部324は、ハッシュ値2に対する対応付けは行わない。   In the content management table 332, content data having a hash value of 2 does not exist. Therefore, the hash table generation unit 324 does not associate with the hash value 2.

コンテンツ管理テーブル332において、ハッシュ値が3のコンテンツデータは、コンテンツID2とコンテンツID4のコンテンツデータである。よってハッシュテーブル生成部324は、コンテンツID2のタイトルデータとコンテンツID4のタイトルデータとをハッシュ値3と対応付ける。   In the content management table 332, content data with a hash value of 3 is content data of content ID2 and content ID4. Therefore, the hash table generation unit 324 associates the title data of the content ID 2 and the title data of the content ID 4 with the hash value 3.

次に図10を参照して本実施例のビット配列生成部325によるビット配列の生成について説明する。図10は、ビット配列の生成について説明する図である。   Next, generation of a bit array by the bit array generation unit 325 of the present embodiment will be described with reference to FIG. FIG. 10 is a diagram for explaining the generation of the bit array.

本実施例のビット配列生成部325は、ハッシュテーブル334から2ビットのビット配列を生成する。   The bit array generation unit 325 of this embodiment generates a 2-bit bit array from the hash table 334.

本実施例のビット配列生成部325は、ハッシュ値の最大値と同じビット数のビット配列を生成する。例えば図10の例では、ハッシュ値の最大値は240である。したがってビット配列生成部325により生成されるビット配列は、240ビットのビット配列となる。 The bit array generation unit 325 of this embodiment generates a bit array having the same number of bits as the maximum hash value. For example, in the example of FIG. 10, the maximum value of the hash value is 2 40. Therefore, the bit array generated by the bit array generation unit 325 is a 240- bit bit array.

本実施例のビット配列生成部325は、ビット配列において、タイトルデータが対応付けられているハッシュ値と対応するビットのビット値を1とし、タイトルデータが対応付けられていないハッシュ値と対応するビットのビット値を0とする。   In the bit array, the bit array generation unit 325 according to the present embodiment sets the bit value of the bit corresponding to the hash value associated with the title data to 1 in the bit array, and the bit corresponding to the hash value not associated with the title data. Is set to 0.

図10の例では、ハッシュ値1とハッシュ値3には、それぞれタイトルデータが対応付けられている。よってビット配列生成部325は、ビット配列の1ビット目と3ビット目のビット値を1とする。また図10の例では、ハッシュ値2にはタイトルデータが対応付けられていない。よってビット配列生成部325は、ビット配列の2ビット目のビット値を0とする。すなわち本実施例のビット配列の各ビットは、コンテンツデータの有無を示している。   In the example of FIG. 10, the hash value 1 and the hash value 3 are associated with title data, respectively. Therefore, the bit array generation unit 325 sets the bit values of the first and third bits of the bit array to 1. In the example of FIG. 10, title data is not associated with the hash value 2. Therefore, the bit array generation unit 325 sets the bit value of the second bit of the bit array to 0. That is, each bit of the bit array of this embodiment indicates the presence / absence of content data.

以上のように本実施例では、ハッシュ値と対応したコンテンツデータの有無を2ビットのビット配列により表すことで、キャッシュサーバ300自身が蓄積していないコンテンツデータを有する他のキャッシュサーバ300を短時間で検索することができる。すなわち本実施例のビット配列は、キャッシュサーバ300に蓄積されているコンテンツデータを特定する情報である。   As described above, in this embodiment, the presence / absence of the content data corresponding to the hash value is represented by a 2-bit bit arrangement, so that the other cache server 300 having the content data not stored in the cache server 300 itself can be quickly You can search with That is, the bit arrangement of this embodiment is information for specifying content data stored in the cache server 300.

図11は、第一の実施例の各キャッシュサーバの有するコンテンツデータと対応したビット配列の例を示す図である。   FIG. 11 is a diagram illustrating an example of a bit arrangement corresponding to content data included in each cache server according to the first embodiment.

図11(A)は、キャッシュサーバ300Aの有するコンテンツデータと対応したビット配列である。キャッシュサーバ300Aは、ハッシュ値が1でタイトルデータが「Jet」のコンテンツデータを有する。よってキャッシュサーバ300Aのビット配列は、1ビット目のビット値が1となり、2ビット目からはビット値は0となる。   FIG. 11A shows a bit arrangement corresponding to the content data of the cache server 300A. The cache server 300A has content data whose hash value is 1 and whose title data is “Jet”. Therefore, in the bit arrangement of the cache server 300A, the bit value of the first bit is 1, and the bit value is 0 from the second bit.

図11(B)は、キャッシュサーバ300Bの有するコンテンツデータと対応したビット配列である。キャッシュサーバ300Bは、ハッシュ値が1でタイトルデータが「Jet」のコンテンツデータと、ハッシュ値が3でタイトルデータが「Foot」のコンテンツデータとを有する。よってキャッシュサーバ300Bのビット配列は、1ビット目と3ビット目のビット値が1となり、それ以外のビット値は0となる。   FIG. 11B shows a bit arrangement corresponding to the content data of the cache server 300B. The cache server 300B has content data with a hash value of 1 and title data “Jet”, and content data with a hash value of 3 and title data “Foot”. Therefore, in the bit arrangement of the cache server 300B, the bit values of the first bit and the third bit are 1, and the other bit values are 0.

図11(C)は、キャッシュサーバ300Cの有するコンテンツデータと対応したビット配列である。キャッシュサーバ300Cは、ハッシュ値が1でタイトルデータが「Jet」のコンテンツデータと、ハッシュ値が5でタイトルデータが「Dolphin」のコンテンツデータを有する。またキャッシュサーバ300Cは、ハッシュ値が7でタイトルデータが「Egg」のコンテンツデータと、ハッシュ値が8でタイトルデータが「Apple」のコンテンツデータとを有する。よってキャッシュサーバ300Cのビット配列は、1ビット目、5ビット目、7ビット目及び8ビット目のビット値が1となり、それ以外のビット値は0となる。   FIG. 11C shows a bit arrangement corresponding to the content data of the cache server 300C. The cache server 300C has content data with a hash value of 1 and title data “Jet”, and content data with a hash value of 5 and title data “Dolphin”. The cache server 300C includes content data having a hash value of 7 and title data “Egg”, and content data having a hash value of 8 and title data “Apple”. Therefore, in the bit arrangement of the cache server 300C, the bit values of the first bit, the fifth bit, the seventh bit, and the eighth bit are 1, and the other bit values are 0.

図11(D)は、キャッシュサーバ300Dの有するコンテンツデータと対応したビット配列である。キャッシュサーバ300Dは、ハッシュ値が2でタイトルデータが「Cloud」のコンテンツデータと、ハッシュ値が3でタイトルデータが「Cat」のコンテンツデータを有する。またキャッシュサーバ300Dは、ハッシュ値が6でタイトルデータが「Bird」のコンテンツデータと、ハッシュ値が8でタイトルデータが「Apple」のコンテンツデータとを有する。よってキャッシュサーバ300Dのビット配列は、2ビット目、3ビット目、6ビット目及び8ビット目のビット値が1となり、それ以外のビット値は0となる。   FIG. 11D shows a bit arrangement corresponding to the content data of the cache server 300D. The cache server 300D includes content data with a hash value of 2 and title data “Cloud”, and content data with a hash value of 3 and title data “Cat”. The cache server 300D includes content data with a hash value of 6 and title data “Bird”, and content data with a hash value of 8 and title data “Apple”. Therefore, in the bit arrangement of the cache server 300D, the bit values of the second bit, the third bit, the sixth bit, and the eighth bit are 1, and the other bit values are 0.

以下に、各キャッシュサーバ300の有するコンテンツデータが図11に示す状態であるとき、キャッシュサーバ300Aが端末装置400から認証情報を受信した際のキャッシュサーバ300Aの動作を説明する。   The operation of the cache server 300A when the cache server 300A receives authentication information from the terminal device 400 when the content data of each cache server 300 is in the state shown in FIG.

図12は、第一の実施例のキャッシュサーバの動作を説明するシーケンス図である。図12では、端末装置400Cを有するユーザCがネットワークNW2のエリアからネットワークNW1のエリアへ移動した場合のキャッシュサーバ300Aの動作を示している。   FIG. 12 is a sequence diagram for explaining the operation of the cache server of the first embodiment. FIG. 12 shows the operation of the cache server 300A when the user C having the terminal device 400C moves from the area of the network NW2 to the area of the network NW1.

本実施例のコンテンツ配信システム100において、端末装置400Cは、キャッシュサーバ300Aに認証情報を送信する(ステップS1201)。尚本実施例の端末装置400Cは、認証情報をキャッシュサーバ300Aへ送信する際に、ユーザIDをユーザ管理サーバ200に送信しても良い。   In the content distribution system 100 of the present embodiment, the terminal device 400C transmits authentication information to the cache server 300A (step S1201). The terminal device 400C of the present embodiment may transmit the user ID to the user management server 200 when transmitting the authentication information to the cache server 300A.

キャッシュサーバ300Aにおいて認証情報受信部311により認証情報を受信すると、
グループ判断部312によるグループの判断を行う(ステップS1202)。具体的にはグループ判断部312は、グループ位置テーブル333を参照し、認証情報に含まれるグループIDと同一のグループIDが割り振られた端末装置400がネットワークNW1のエリア内に存在するか否かを判断する。
When the authentication information is received by the authentication information receiving unit 311 in the cache server 300A,
The group determination unit 312 determines a group (step S1202). Specifically, the group determining unit 312 refers to the group position table 333 and determines whether or not the terminal device 400 to which the same group ID as the group ID included in the authentication information is allocated exists in the area of the network NW1. to decide.

例えばステップS1201で受信した認証情報に含まれるグループIDがGr2である場合、グループ判断部312は、Gr2が割り振られた端末装置400がネットワークNW1のエリア内に存在するか否かを判断する。本実施例のキャッシュサーバ300Aは、Gr2が割り振られた端末装置400がネットワークNW1のエリア内に存在しない場合に後述する処理を行う。また本実施例のキャッシュサーバ300Aは、Gr2が割り振られた端末装置400がネットワークNW1のエリア内に存在する場合には、後述する処理は行わなくても良い。   For example, when the group ID included in the authentication information received in step S1201 is Gr2, the group determination unit 312 determines whether or not the terminal device 400 to which Gr2 is allocated exists in the area of the network NW1. The cache server 300A according to the present embodiment performs a process described later when the terminal device 400 to which Gr2 is allocated does not exist in the area of the network NW1. Further, the cache server 300A according to the present embodiment does not need to perform the process described later when the terminal device 400 to which Gr2 is allocated is present in the area of the network NW1.

該当するグループIDがグループ位置テーブル333に存在しない場合、キャッシュサーバ300Aは、各キャッシュサーバ300に対してビット配列の取得要求を行い、各キャッシュサーバ300からビット配列を取得する(ステップS1203〜1208)。具体的にはキャッシュサーバ300Aは、CS管理部314にCS管理テーブル331を参照させ、各キャッシュサーバ300のIPアドレスを取得する。ビット配列取得部313は、取得した各キャッシュサーバ300のIPアドレスに対し、ビット配列の取得要求を行い、各キャッシュサーバ300からビット配列を取得する。   If the corresponding group ID does not exist in the group position table 333, the cache server 300A requests the cache server 300 to acquire a bit array, and acquires the bit array from each cache server 300 (steps S1203 to 1208). . Specifically, the cache server 300A causes the CS management unit 314 to refer to the CS management table 331 and acquires the IP address of each cache server 300. The bit array acquisition unit 313 issues a bit array acquisition request to the acquired IP address of each cache server 300 and acquires the bit array from each cache server 300.

尚キャッシュサーバ300Aは、認証情報に含まれるグループIDと対応したコンテンツ管理テーブル332から生成されたビット配列の取得要求を行う。例えば認証情報に含まれるグループIDがGr2であった場合、ビット配列取得部313は、Gr2に共有される共有コンテンツデータを管理するコンテンツ管理テーブル332から生成したビット配列を取得する。   Note that the cache server 300A makes an acquisition request for the bit arrangement generated from the content management table 332 corresponding to the group ID included in the authentication information. For example, when the group ID included in the authentication information is Gr2, the bit array acquisition unit 313 acquires the bit array generated from the content management table 332 that manages the shared content data shared by Gr2.

続いてキャッシュサーバ300Aは、問い合わせ順決定部315により、自身の有するビット配列と取得したビット配列とを比較する。そして自身のビット配列の0に対して排他的論理和が1となるビット数に基づき、各キャッシュサーバ300に対する問い合わせ順を決定する(ステップS1209)。   Subsequently, the cache server 300A uses the inquiry order determination unit 315 to compare the bit arrangement of the cache server 300A with the acquired bit arrangement. Then, based on the number of bits whose exclusive OR becomes 1 with respect to 0 of its own bit array, the order of inquiry to each cache server 300 is determined (step S1209).

以下にステップS1209の処理について説明する。本実施例のキャッシュサーバ300Aは、ビット配列生成部325により、Gr2と対応するコンテンツ管理テーブル332から生成されたハッシュテーブル334を参照し、ビット配列を生成する。続いて問い合わせ順決定部315は、自身のビット配列と他のキャッシュサーバ300から取得したビット配列とを比較する。   The process of step S1209 will be described below. In the cache server 300A of this embodiment, the bit array generation unit 325 refers to the hash table 334 generated from the content management table 332 corresponding to Gr2, and generates a bit array. Subsequently, the inquiry order determination unit 315 compares its own bit arrangement with the bit arrangement acquired from the other cache server 300.

具体的には本実施例の問い合わせ順決定部315は、自身のビット配列における各ビットのビット値と、他のキャッシュサーバ300から取得したビット配列において対応する各ビットのビット値とを比較する。   Specifically, the inquiry order determination unit 315 according to the present embodiment compares the bit value of each bit in its own bit arrangement with the bit value of each corresponding bit in the bit arrangement acquired from the other cache server 300.

そして問い合わせ順決定部315は、自身のビット配列の0に対して排他的論理和が1となるビット数が多いビット配列を送信したキャッシュサーバ300から順に、サムネイルの取得要求を行うように、問い合わせ順を決定する。   Then, the inquiry order determination unit 315 makes an inquiry so as to make a thumbnail acquisition request in order from the cache server 300 that has transmitted a bit array having a large number of bits whose exclusive OR is 1 with respect to 0 of its own bit array. Determine the order.

キャッシュサーバ300Aが生成したビット配列は、1ビット目のビット値が1であり、2ビット目以降のビット値は0である(図11参照)。すなわちキャッシュサーバ300Aは、ハッシュ値1に対応するコンテンツデータを有していることがわかる。   In the bit arrangement generated by the cache server 300A, the bit value of the first bit is 1, and the bit values after the second bit are 0 (see FIG. 11). That is, it can be seen that the cache server 300A has content data corresponding to the hash value 1.

またキャッシュサーバ300Bから取得したビット配列は、1ビット目と3ビット目のビット値が1である(図11参照)。よってキャッシュサーバ300Bは、ハッシュ値1に対応するコンテンツデータと、ハッシュ値3に対応するコンテンツデータとを有する。   In the bit arrangement acquired from the cache server 300B, the bit values of the first bit and the third bit are 1 (see FIG. 11). Therefore, the cache server 300B has content data corresponding to the hash value 1 and content data corresponding to the hash value 3.

キャッシュサーバ300Bから取得したビット配列において、キャッシュサーバ300Aのビット配列のビット値0に対して排他的論理和が1となるビット数は、3ビット目のみであり、その数は1となる。すなわちキャッシュサーバ300Bは、キャッシュサーバ300Aが有していないハッシュ値3に対応するコンテンツデータを有することがわかる。   In the bit array acquired from the cache server 300B, the number of bits for which the exclusive OR is 1 for the bit value 0 of the bit array of the cache server 300A is only the third bit, and the number is 1. That is, it can be seen that the cache server 300B has content data corresponding to the hash value 3 that the cache server 300A does not have.

キャッシュサーバ300Cから取得したビット配列は、1、5、7、8ビット目のビット値が1である(図11参照)。よってキャッシュサーバ300Cは、ハッシュ値1に対応するコンテンツデータと、ハッシュ値5、7、8に対応するコンテンツデータとを有する。またキャッシュサーバ300Cから取得したビット配列において、キャッシュサーバ300Aのビット配列のビット値0に対して排他的論理和が1となるビット数は、5、7、8ビット目であり、その数は3となる。すなわちキャッシュサーバ300Cは、キャッシュサーバ300Aが有していないハッシュ値5、7、8に対応するコンテンツデータを有することがわかる。 In the bit arrangement acquired from the cache server 300C, the bit values of the first, fifth, seventh, and eighth bits are 1 (see FIG. 11). Therefore, the cache server 300C has content data corresponding to the hash value 1 and content data corresponding to the hash values 5 , 7, and 8 . In the bit array acquired from the cache server 300C, the number of bits in which the exclusive OR is 1 for the bit value 0 of the bit array of the cache server 300A is the fifth, seventh, and eighth bits, and the number is 3 It becomes. That is, it can be seen that the cache server 300C has content data corresponding to the hash values 5, 7, and 8 that the cache server 300A does not have.

キャッシュサーバ300Dから取得したビット配列は、2、3、6、8ビット目のビット値が1である(図11参照)。よってキャッシュサーバ300Dは、ハッシュ値2、3、6、8に対応するコンテンツデータを有する。またキャッシュサーバ300Dから取得したビット配列において、キャッシュサーバ300Aのビット配列のビット値0に対して排他的論理和が1となっているビット数は、2、3、6、8ビット目であり、その数は4となる。すなわちキャッシュサーバ300Dは、キャッシュサーバ300Aが有していないハッシュ値2、3、6、8に対応するコンテンツデータを有することがわかる。   In the bit arrangement acquired from the cache server 300D, the bit values of the second, third, sixth, and eighth bits are 1 (see FIG. 11). Therefore, the cache server 300D has content data corresponding to the hash values 2, 3, 6, and 8. In the bit array acquired from the cache server 300D, the number of bits whose exclusive OR is 1 with respect to the bit value 0 of the bit array of the cache server 300A is the second, third, sixth, and eighth bits. The number is four. That is, it can be seen that the cache server 300D has content data corresponding to the hash values 2, 3, 6, and 8 that the cache server 300A does not have.

以上の比較結果から、自身のビット配列においてビット値が0であり、且つ他のキャッシュサーバ300から取得したビット配列においてビット値が1となっているビット数が最も多いキャッシュサーバ300は、キャッシュサーバ300Dである。よって本実施例の問い合わせ順決定部315は、最初に問い合わせを行うキャッシュサーバ300として、キャッシュサーバ300Dを選択する(ステップS1210)。   From the above comparison results, the cache server 300 having the largest number of bits in which the bit value is 0 in its own bit array and the bit value is 1 in the bit array acquired from the other cache server 300 is the cache server 300D. Therefore, the inquiry order determination unit 315 of the present embodiment selects the cache server 300D as the cache server 300 that makes the inquiry first (step S1210).

続いてサムネイル取得部316は、選択したキャッシュサーバ300Dにサムネイルの取得要求を行う(ステップS1211)。このときサムネイル取得部316は、認証情報に含まれるグループIDと、このグループIDと対応したコンテンツ管理テーブル332に格納されたコンテンツIDをサムネイルの取得要求と共に送信する。   Subsequently, the thumbnail acquisition unit 316 issues a thumbnail acquisition request to the selected cache server 300D (step S1211). At this time, the thumbnail acquisition unit 316 transmits the group ID included in the authentication information and the content ID stored in the content management table 332 corresponding to the group ID together with a thumbnail acquisition request.

キャッシュサーバ300Dは、サムネイルの取得要求を受けると、グループIDと対応するコンテンツ管理テーブル332を参照し、受け付けたコンテンツIDを含まないコンテンツデータを抽出する。そしてキャッシュサーバ300Dは、抽出したコンテンツデータのサムネイルを生成する(ステップS1212)。続いてキャッシュサーバ300Dは、生成したサムネイルのリストをキャッシュサーバ300Aへ送信する(ステップS1213)。   When the cache server 300D receives the thumbnail acquisition request, the cache server 300D refers to the content management table 332 corresponding to the group ID, and extracts content data that does not include the received content ID. Then, the cache server 300D generates a thumbnail of the extracted content data (step S1212). Subsequently, the cache server 300D transmits the generated thumbnail list to the cache server 300A (step S1213).

キャッシュサーバ300Aは、サムネイルのリストを受け付けると、コンテンツ管理テーブル332とハッシュテーブル334を更新する(ステップS1214)。続いてキャッシュサーバ300Aは、ビット配列を取得した全てのキャッシュサーバ300からサムネイルのリストを取得したか否かを判断する(ステップS1215)。   When the cache server 300A receives the list of thumbnails, the cache server 300A updates the content management table 332 and the hash table 334 (step S1214). Subsequently, the cache server 300A determines whether a list of thumbnails has been acquired from all the cache servers 300 that have acquired the bit arrangement (step S1215).

ステップS1215において全てのキャッシュサーバ300からサムネイルのリストを取得した場合、キャッシュサーバ300Aはサムネイルの収集を終了する。ステップS1215において全てのキャッシュサーバ300からサムネイルのリストを取得していない場合、キャッシュサーバ300AはステップS1209へ戻る。このときキャッシュサーバ300Aは、問い合わせ順決定部315により、サムネイルのリストを取得したキャッシュサーバ300のビット配列との比較結果を削除しても良い。   When the thumbnail list is acquired from all the cache servers 300 in step S1215, the cache server 300A ends the collection of thumbnails. If the thumbnail list has not been acquired from all the cache servers 300 in step S1215, the cache server 300A returns to step S1209. At this time, the cache server 300A may delete the comparison result with the bit array of the cache server 300 that acquired the list of thumbnails by using the inquiry order determination unit 315.

本実施例のキャッシュサーバ300Aは、端末装置400から認証情報を受信した後に、端末装置400からコンテンツデータの参照要求を受信すると、コンテンツデータのリストとして収集したサムネイルのリストを端末装置400に表示させる。すなわち本実施例のサムネイルは、コンテンツデータを代表する代表画像である。   When the cache server 300A according to the present embodiment receives the authentication information from the terminal device 400 and then receives a content data reference request from the terminal device 400, the cache server 300A causes the terminal device 400 to display a list of thumbnails collected as a list of content data. . That is, the thumbnail in this embodiment is a representative image representing content data.

端末装置400において、サムネイルのリストからサムネイルが選択されると、キャッシュサーバ300Aは、選択されたサムネイルと対応するコンテンツデータを端末装置400へ配信する。   When the terminal device 400 selects a thumbnail from the list of thumbnails, the cache server 300A distributes the content data corresponding to the selected thumbnail to the terminal device 400.

以上のように本実施例では、キャッシュサーバ300Aの有していないコンテンツデータをより多く有しているキャッシュサーバ300から順にサムネイルを取得することで、コンテンツデータの参照要求を受けるまでの間により多くのサムネイルを収集する。   As described above, in this embodiment, thumbnails are acquired in order from the cache server 300 that has more content data that the cache server 300A does not have, so that more content data is received until the content data reference request is received. Collect thumbnails of

尚図12の例では、端末装置400が送信する認証情報にグループIDが含まれるものとして説明したが、これに限定されない。以下に図13を参照して、認証情報にグループIDが含まれない場合について説明する。   In the example of FIG. 12, the group ID is included in the authentication information transmitted from the terminal device 400, but the present invention is not limited to this. Hereinafter, a case where the authentication information does not include a group ID will be described with reference to FIG.

図13は、キャッシュサーバによるグループID取得の処理を説明するシーケンス図である。   FIG. 13 is a sequence diagram illustrating group ID acquisition processing by the cache server.

端末装置400が認証情報をキャッシュサーバ300Aへ送信すると(ステップS131)、キャッシュサーバ300Aは認証情報受信部311により、受信した認証情報にグループIDが含まれるか判断する。そして認証情報にグループIDが含まれない場合、キャッシュサーバ300Aは、ユーザ管理サーバ200に対して受信したユーザIDと共にグループID取得要求を行う(ステップS132)。   When the terminal device 400 transmits authentication information to the cache server 300A (step S131), the cache server 300A determines whether the received authentication information includes a group ID by the authentication information receiving unit 311. If the authentication information does not include a group ID, the cache server 300A makes a group ID acquisition request together with the received user ID to the user management server 200 (step S132).

本実施例のユーザ管理サーバ200は、例えばユーザIDとグループIDとが対応付けられたユーザ情報テーブルを有している。本実施例のユーザ管理サーバ200は、ユーザ情報テーブルを参照し、グループID取得要求と共に受信したユーザIDと対応するグループIDを抽出し、キャッシュサーバ300Aへ送信する(ステップS133)。キャッシュサーバ300Aは、端末装置400のグループIDを取得すると、グループ位置テーブル333を更新しても良い。   The user management server 200 of this embodiment has a user information table in which, for example, a user ID and a group ID are associated with each other. The user management server 200 according to the present embodiment refers to the user information table, extracts the group ID corresponding to the user ID received together with the group ID acquisition request, and transmits it to the cache server 300A (step S133). When the cache server 300A acquires the group ID of the terminal device 400, the cache server 300A may update the group position table 333.

本実施例では、以上のように認証情報にグループIDが含まれていなくても良い。尚本実施例のユーザ情報テーブルは、予めユーザ管理サーバ200に格納されていても良い。   In the present embodiment, the group ID may not be included in the authentication information as described above. Note that the user information table of this embodiment may be stored in the user management server 200 in advance.

以下に図14を参照して本実施例のキャッシュサーバ300Aによるサムネイルの収集にかかる時間について説明する。図14は、サムネイルの収集にかかる時間を説明する図である。図14(A)は、収集対象のコンテンツデータを有するキャッシュサーバ300に対するサムネイルの取得要求を行う順を考慮しない場合を説明する図である。図14(B)は、収集対象のコンテンツデータを多く有する順にサムネイルの取得要求を行った場合を説明する図である。図14(A)、(B)共に、横軸は時間、縦軸は収集したサムネイルの数を示している。   Hereinafter, a time required for collecting thumbnails by the cache server 300A according to the present embodiment will be described with reference to FIG. FIG. 14 is a diagram for explaining the time taken to collect thumbnails. FIG. 14A is a diagram illustrating a case where the order in which thumbnail acquisition requests are made to the cache server 300 having content data to be collected is not considered. FIG. 14B is a diagram illustrating a case where thumbnail acquisition requests are made in the order in which there are many content data items to be collected. 14A and 14B, the horizontal axis indicates time, and the vertical axis indicates the number of collected thumbnails.

図14(A)では、キャッシュサーバ300Aが認証情報を受信してサムネイルの収集を開始してから参照要求を受信するまでに間に収集できたサムネイルは、全体の40%である。したがってこの場合キャッシュサーバ300Aは、参照要求を受けるまでに収集できなかったコンテンツデータのサムネイルを広域NWに接続されたコンテンツサーバ等から取得する。よってこの場合は、キャッシュサーバ300Aがコンテンツサーバ等から残り60%のコンテンツデータを取得するまで、端末装置400に全てのコンテンツデータのサムネイルのリストを表示させることができない。   In FIG. 14A, 40% of the total thumbnails can be collected between the time when the cache server 300A receives the authentication information and the collection of the thumbnails after receiving the authentication information. Therefore, in this case, the cache server 300A obtains thumbnails of content data that could not be collected before receiving the reference request from a content server or the like connected to the wide area NW. Therefore, in this case, the thumbnail list of all content data cannot be displayed on the terminal device 400 until the cache server 300A acquires the remaining 60% of content data from the content server or the like.

図14(B)では、キャッシュサーバ300Aが認証情報を受信してサムネイルの収集を開始してから参照要求を受信するまでに間に収集できたサムネイルは、全体の80%であり、図14(A)と比べてより多くのサムネイルを収集していることがわかる。   In FIG. 14B, 80% of the total thumbnails that can be collected between the time when the cache server 300A receives the authentication information and starts the collection of thumbnails until the reference request is received is shown in FIG. It can be seen that more thumbnails are collected than in A).

図14(B)では、キャッシュサーバ300Aは、コンテンツサーバ等から残り20%のコンテンツデータを取得すれば良く、より短時間で端末装置400に全てのコンテンツデータのサムネイルのリストを表示させることができる。   In FIG. 14B, the cache server 300A only needs to acquire the remaining 20% of content data from the content server or the like, and can display a list of thumbnails of all content data on the terminal device 400 in a shorter time. .

以上のように本実施例のキャッシュサーバ300は、ビット配列を比較して特定のグループのコンテンツデータのサムネイルを収集する際に、自身が有していないコンテンツデータを多く有しているキャッシュサーバ300から順にサムネイルを収集する。よって本実施例では、コンテンツデータの代表画像であるサムネイルを端末装置400から参照要求を受けるまでの間により多く収集することができる。   As described above, when the cache server 300 according to the present embodiment collects thumbnails of content data of a specific group by comparing bit arrangements, the cache server 300 has a lot of content data that it does not have. Collect thumbnails in order. Therefore, in this embodiment, more thumbnails that are representative images of content data can be collected until a reference request is received from the terminal device 400.

(第二の実施例)
以下に図面を参照して第二の実施例について説明する。第二の実施例は、ビット配列同士の比較をビット配列の取得要求を受けたキャッシュサーバ300が行う点が第一の実施例と相違する。よって以下の第二の実施例の説明では、第一の実施例との相違点についてのみ説明し、同様の機能構成を有するものには第一の実施例の説明で用いた符号と同様の符号を付与して説明を省略する。
(Second embodiment)
The second embodiment will be described below with reference to the drawings. The second embodiment is different from the first embodiment in that the cache server 300 that receives the bit array acquisition request performs a comparison between the bit arrays. Therefore, in the following description of the second embodiment, only differences from the first embodiment will be described, and the same reference numerals as those used in the description of the first embodiment are used for those having similar functional configurations. Will be omitted.

図15は、第二の実施例のキャッシュサーバの動作を説明するシーケンス図である。   FIG. 15 is a sequence diagram for explaining the operation of the cache server according to the second embodiment.

図15のステップS1501、1502の処理は、図12のステップS1201、S1202の処理と同様であるから、説明を省略する。   The processing in steps S1501 and 1502 in FIG. 15 is the same as the processing in steps S1201 and S1202 in FIG.

キャッシュサーバ300Aは、キャッシュサーバ300Bに対してビット配列において排他的論理和が1となるビット数の取得要求を行う(ステップS1503)。キャッシュサーバ300Bは、ビット配列の取得要求を受けると、要求元であるキャッシュサーバ300Aのビット配列と自身のビット配列とを比較する。そしてキャッシュサーバ300Bは、自身のビット配列において、キャッシュサーバ300Aのビット配列のビット値0に対して排他的論理和が1となるビット数をカウントする(ステップS1504)。続いてキャッシュサーバ300Bは、カウントしたビット数をキャッシュサーバ300Aへ送信する(ステップS1505)。   The cache server 300A requests the cache server 300B to acquire the number of bits whose exclusive OR is 1 in the bit array (step S1503). When the cache server 300B receives the bit array acquisition request, the cache server 300B compares the bit array of the cache server 300A that is the request source with its own bit array. Then, the cache server 300B counts the number of bits in which the exclusive OR becomes 1 with respect to the bit value 0 of the bit array of the cache server 300A in its own bit array (step S1504). Subsequently, the cache server 300B transmits the counted number of bits to the cache server 300A (step S1505).

次にキャッシュサーバ300Aは、キャッシュサーバ300Cに対してビット配列において排他的論理和が1となるビット数の取得要求を行う(ステップS1506)。キャッシュサーバ300Cは、ビット配列の取得要求を受けると、要求元であるキャッシュサーバ300Aのビット配列と自身のビット配列とを比較する。そしてキャッシュサーバ300Cは、自身のビット配列において、キャッシュサーバ300Aのビット配列のビット値0に対して排他的論理和が1となるビット数をカウントする(ステップS1507)。続いてキャッシュサーバ300Cは、カウントしたビット数をキャッシュサーバ300Aへ送信する(ステップS1508)。   Next, the cache server 300A requests the cache server 300C to acquire the number of bits whose exclusive OR is 1 in the bit array (step S1506). When the cache server 300C receives the bit array acquisition request, the cache server 300C compares the bit array of the cache server 300A that is the request source with its own bit array. Then, the cache server 300C counts the number of bits in which its exclusive OR is 1 with respect to the bit value 0 of the bit array of the cache server 300A in its own bit array (step S1507). Subsequently, the cache server 300C transmits the counted number of bits to the cache server 300A (step S1508).

次にキャッシュサーバ300Aは、キャッシュサーバ300Dに対してビット配列において排他的論理和が1となるビット数の取得要求を行う(ステップS1509)。キャッシュサーバ300Dは、ビット配列の取得要求を受けると、要求元であるキャッシュサーバ300Aのビット配列と自身のビット配列とを比較する。そしてキャッシュサーバ300Dは、自身のビット配列において、キャッシュサーバ300Aのビット配列のビット値0に対して排他的論理和が1となるビット数をカウントする(ステップS1510)。続いてキャッシュサーバ300Dは、カウントしたビット数をキャッシュサーバ300Aへ送信する(ステップS1511)。   Next, the cache server 300A requests the cache server 300D to acquire the number of bits whose exclusive OR is 1 in the bit array (step S1509). When the cache server 300D receives the bit array acquisition request, the cache server 300D compares the bit array of the cache server 300A that is the request source with its own bit array. Then, the cache server 300D counts the number of bits in which its exclusive OR becomes 1 with respect to the bit value 0 of the bit array of the cache server 300A in its own bit array (step S1510). Subsequently, the cache server 300D transmits the counted number of bits to the cache server 300A (step S1511).

続いてキャッシュサーバ300Aは、問い合わせ順決定部315により、取得したビット数が大きい順に問い合わせを行う順を決定する(ステップS1512)。   Subsequently, in the cache server 300A, the inquiry order determination unit 315 determines the order in which the inquiry is performed in descending order of the acquired number of bits (step S1512).

ステップS1513からステップS1518までの処理は、図12のステップS1210からステップS1215までの処理と同様であるから、説明を省略する。   The processing from step S1513 to step S1518 is the same as the processing from step S1210 to step S1215 of FIG.

以上のように本実施例では、キャッシュサーバ300Aのビット配列のビット値0に対して排他的論理和が1となるビット数をカウントする処理を、他のキャッシュサーバ300に分散することができる。よって本実施例では、キャッシュサーバ300Aの処理負荷を軽減できる。   As described above, in this embodiment, the process of counting the number of bits in which the exclusive OR becomes 1 with respect to the bit value 0 of the bit array of the cache server 300A can be distributed to the other cache servers 300. Therefore, in this embodiment, the processing load on the cache server 300A can be reduced.

(第三の実施例)
以下に図面を参照して第三の実施例について説明する。第三の実施例は、ハッシュ値と対応するコンテンツデータが複数存在する点が第一の実施例と相違する。よって以下の第三の実施例の説明では、第一の実施例との相違点についてのみ説明し、同様の機能構成を有するものには第一の実施例の説明で用いた符号と同様の符号を付与して説明を省略する。
(Third embodiment)
A third embodiment will be described below with reference to the drawings. The third embodiment is different from the first embodiment in that a plurality of content data corresponding to the hash value exists. Therefore, in the following description of the third embodiment, only differences from the first embodiment will be described, and the same reference numerals as those used in the description of the first embodiment are used for those having the same functional configuration. Will be omitted.

図16は、第三の実施例の各キャッシュサーバの有するコンテンツデータと対応したビット配列の例を示す図である。   FIG. 16 is a diagram illustrating an example of a bit arrangement corresponding to content data included in each cache server according to the third embodiment.

図16(A)は、キャッシュサーバ300Aの有するコンテンツデータと対応したビット配列であり、図11(A)と同様であるから説明を省略する。   FIG. 16A shows a bit arrangement corresponding to the content data of the cache server 300A, which is the same as that shown in FIG.

図16(B)は、キャッシュサーバ300Bの有するコンテンツデータと対応したビット配列であり、図11(B)と同様であるから説明を省略する。   FIG. 16B shows a bit arrangement corresponding to the content data of the cache server 300B, which is the same as FIG.

図16(C)は、キャッシュサーバ300Cの有するコンテンツデータと対応したビット配列である。   FIG. 16C shows a bit arrangement corresponding to the content data of the cache server 300C.

本実施例のキャッシュサーバ300Cにおいて、ハッシュ値1に対応したコンテンツデータの1つであり、そのタイトルデータは「Jet」である。またハッシュ値5に対応したコンテンツデータは2つであり、そのタイトルデータは「Dolphin」と「kiwi」である。   In the cache server 300C of this embodiment, it is one of the content data corresponding to the hash value 1, and the title data is “Jet”. Further, there are two pieces of content data corresponding to the hash value 5, and the title data are “Dolphin” and “kiwi”.

またキャッシュサーバ300Cにおいて、ハッシュ値7に対応するコンテンツデータのタイトルデータが「Egg」であり、ハッシュ値8に対応するコンテンツデータのタイトルデータが「Apple」である。よってキャッシュサーバ300Cのビット配列は、1ビット目、5ビット目、7ビット目及び8ビット目のビット値が1となり、それ以外のビット値は0となる。   In the cache server 300C, the title data of the content data corresponding to the hash value 7 is “Egg”, and the title data of the content data corresponding to the hash value 8 is “Apple”. Therefore, in the bit arrangement of the cache server 300C, the bit values of the first bit, the fifth bit, the seventh bit, and the eighth bit are 1, and the other bit values are 0.

図16(D)は、キャッシュサーバ300Dの有するコンテンツデータと対応したビット配列であり、図11(D)と同様であるから説明を省略する。   FIG. 16D shows a bit arrangement corresponding to the content data of the cache server 300D, which is the same as FIG.

以下に、各キャッシュサーバ300の有するコンテンツデータが図16に示す状態であるとき、キャッシュサーバ300Aが端末装置400から認証情報を受信した際のキャッシュサーバ300Aの動作を説明する。   The operation of the cache server 300A when the cache server 300A receives authentication information from the terminal device 400 when the content data of each cache server 300 is in the state shown in FIG.

図17は、第三の実施例のキャッシュサーバの動作を説明するシーケンス図である。   FIG. 17 is a sequence diagram for explaining the operation of the cache server according to the third embodiment.

図17のステップS1701からステップS1710までの処理は、図12のステップS1201からステップS1210までの処理と同様であるから、説明を省略する。   The processing from step S1701 to step S1710 in FIG. 17 is the same as the processing from step S1201 to step S1210 in FIG.

ステップS1710に続いてキャッシュサーバ300Aは、問い合わせ順決定部315により、選択されたキャッシュサーバ300が複数存在するか否かを判断する(ステップS1711)。   Subsequent to step S1710, the cache server 300A determines whether or not there are a plurality of selected cache servers 300 by the inquiry order determination unit 315 (step S1711).

ステップS1711において複数のキャッシュサーバ300が存在する場合、問い合わせ順決定部315は、の中で最もコンテンツ数が多いキャッシュサーバ300を選択する(ステップS1712)。ステップS1711において複数のキャッシュサーバ300が存在しない場合、キャッシュサーバ300AはステップS1713へ進む。   If there are a plurality of cache servers 300 in step S1711, the inquiry order determination unit 315 selects the cache server 300 having the largest number of contents among the cache servers 300 (step S1712). If there is no plurality of cache servers 300 in step S1711, the cache server 300A proceeds to step S1713.

ステップS1713からステップS1717までの処理は、図12のステップS1211からステップS1215までの処理と同様であるから説明を省略する。   The processing from step S1713 to step S1717 is the same as the processing from step S1211 to step S1215 of FIG.

以下にステップS1711、1712の処理についてさらに説明する。   Hereinafter, the processing of steps S1711, 1712 will be further described.

本実施例において、キャッシュサーバ300Cから取得したビット配列は、キャッシュサーバ300Aのビット配列のビット値0に対して排他的論理和が1となるビット数が3となり、最もビット数が多いビット配列となる。(図16参照)。またキャッシュサーバ300Dから取得したビット配列も、キャッシュサーバ300Aのビット配列のビット値0に対して排他的論理和が1となるビット数が3である(図16参照)。よってステップS1710では、キャッシュサーバ300C,Dが選択される。   In the present embodiment, the bit array acquired from the cache server 300C has a bit number of 3 where the exclusive OR is 1 with respect to the bit value 0 of the bit array of the cache server 300A, Become. (See FIG. 16). In the bit array acquired from the cache server 300D, the number of bits for which the exclusive OR is 1 with respect to the bit value 0 of the bit array of the cache server 300A is 3 (see FIG. 16). Therefore, in step S1710, the cache servers 300C and D are selected.

この場合問い合わせ順決定部315は、キャッシュサーバ300Cとキャッシュサーバ300Dのコンテンツ管理テーブル332を参照し、両者が有しているコンテンツデータの数を取得する。具体的にはキャッシュサーバ300Aは、キャッシュサーバ300C,Dのコンテンツ管理テーブル332の一番最後に格納されたコンテンツIDを参照し、コンテンツデータの総数としても良い。   In this case, the inquiry order determination unit 315 refers to the content management table 332 of the cache server 300C and the cache server 300D, and acquires the number of content data possessed by both. Specifically, the cache server 300A may refer to the content ID stored at the end of the content management table 332 of the cache servers 300C and D, and may determine the total number of content data.

続いて問い合わせ順決定部315は、取得したコンテンツデータの総数を比較し、コンテンツデータの総数が多い順にサムネイルの取得要求を行うように問い合わせ順を決定する。この場合では、キャッシュサーバ300Cのコンテンツデータは4つであり、キャッシュサーバ300Dのコンテンツデータは3つである。よって問い合わせ順決定部315は、ステップS1712でキャッシュサーバ300Cを選択する。   Subsequently, the inquiry order determination unit 315 compares the total number of acquired content data, and determines the inquiry order so that thumbnail acquisition requests are made in descending order of the total content data. In this case, the content data of the cache server 300C is four, and the content data of the cache server 300D is three. Therefore, the inquiry order determination unit 315 selects the cache server 300C in step S1712.

尚本実施例では、問い合わせ順をコンテンツデータの総数が多い順としたが、これに限定されない。問い合わせ順は、例えばハッシュテーブル334を参照し、キャッシュサーバ300Aのビット配列のビット値0に対して排他的論理和が1となるビットと対応するハッシュ値に対応付けられたコンテンツデータの数の合計が多い順としても良い。   In the present embodiment, the order of inquiries is the order in which the total number of content data is large, but is not limited to this. For the inquiry order, for example, referring to the hash table 334, the total number of content data associated with the hash value corresponding to the bit whose exclusive OR is 1 with respect to the bit value 0 of the bit array of the cache server 300A It may be the order in which there are many.

以上のように本実施例では、保持しているコンテンツデータが多いキャッシュサーバ300から順にサムネイルの取得要求を行うことで、端末装置400から参照要求を受けるまでの間により多くのサムネイルを収集することができる。   As described above, in this embodiment, by acquiring thumbnail acquisition requests in order from the cache server 300 having a large amount of stored content data, more thumbnails are collected until a reference request is received from the terminal device 400. Can do.

(第四の実施例)
以下に図面を参照して第四の実施例について説明する。第四の実施例は、キャッシュサーバ300の応答時間に基づきサムネイルの取得要求を行う順を決定する点が第三の実施例と相違する。よって以下の第四の実施例の説明では、第三の実施例との相違点についてのみ説明し、同様の機能構成を有するものには第三の実施例の説明で用いた符号と同様の符号を付与して説明を省略する。
(Fourth embodiment)
A fourth embodiment will be described below with reference to the drawings. The fourth embodiment differs from the third embodiment in that the order in which thumbnail acquisition requests are made based on the response time of the cache server 300 is determined. Therefore, in the following description of the fourth embodiment, only differences from the third embodiment will be described, and the same reference numerals as those used in the description of the third embodiment are used for components having similar functional configurations. Will be omitted.

図18は、第四の実施例のキャッシュサーバの機能を説明する図である。   FIG. 18 is a diagram illustrating the function of the cache server according to the fourth embodiment.

本実施例のキャッシュサーバ500は、サムネイル収集部310Aと、記憶部330Aとを有する。   The cache server 500 of this embodiment includes a thumbnail collection unit 310A and a storage unit 330A.

本実施例のサムネイル収集部310Aは、CS管理部314A、問い合わせ順決定部315Aを有する。   The thumbnail collection unit 310A of this embodiment includes a CS management unit 314A and an inquiry order determination unit 315A.

CS管理部314Aは、応答時間管理部317を有する。応答時間管理部317は、キャッシュサーバ500Aが他のキャッシュサーバ500に対して行った要求に対する他のキャッシュサーバ500の応答時間を管理する。具体的には応答時間管理部317は、他のキャッシュサーバ500の応答時間を計測し、後述する応答時間テーブル335に格納する。   The CS management unit 314A includes a response time management unit 317. The response time management unit 317 manages the response time of the other cache server 500 in response to a request made by the cache server 500A to the other cache server 500. Specifically, the response time management unit 317 measures the response time of the other cache server 500 and stores it in a response time table 335 described later.

問い合わせ順決定部315Aは、選択ポリシー設定部318を有する。選択ポリシー設定部318は、問い合わせ順を決定する際の優先度を示す選択ポリシーを設定する。具体的には選択ポリシー設定部318は、後述する。選択ポリシーテーブル336を参照し、選択ポリシーを設定する。   The inquiry order determination unit 315A includes a selection policy setting unit 318. The selection policy setting unit 318 sets a selection policy that indicates the priority when determining the order of inquiry. Specifically, the selection policy setting unit 318 will be described later. With reference to the selection policy table 336, the selection policy is set.

本実施例の記憶部330Aは、第一の実施例の記憶部330の有する各テーブルに加え、応答時間テーブル335と選択ポリシーテーブル336とを有する。   The storage unit 330A according to the present exemplary embodiment includes a response time table 335 and a selection policy table 336 in addition to the tables included in the storage unit 330 according to the first exemplary embodiment.

図19は、応答時間テーブルの一例を示す図である。   FIG. 19 is a diagram illustrating an example of a response time table.

本実施例の応答時間テーブル335は、各キャッシュサーバ500のCSIDと、応答時間とが対応付けられている。図19では、例えばキャッシュサーバ500がキャッシュサーバ500Bに問い合わせを行ってから、キャッシュサーバ500Bが応答するまでに係る時間は、300msecである。この応答時間は、例えばキャッシュサーバ500A
とキャッシュサーバ500Bとの距離により変化しても良い。
In the response time table 335 of this embodiment, the CSID of each cache server 500 and the response time are associated with each other. In FIG. 19, for example, the time from when the cache server 500 makes an inquiry to the cache server 500B until the cache server 500B responds is 300 msec. This response time is, for example, the cache server 500A
And the distance between the cache server 500B and the cache server 500B.

図20は、選択ポリシーテーブルの一例を示す図である。本実施例の選択ポリシーテーブル336では、設定項目と、選択ポリシーとが対応付けられている。   FIG. 20 is a diagram illustrating an example of the selection policy table. In the selection policy table 336 of this embodiment, the setting item and the selection policy are associated with each other.

本実施例の問い合わせ順決定部315Aは、選択ポリシーテーブル336において選択優先度1が選択された場合、応答時間を優先して問い合わせ順を決定する。また本実施例の問い合わせ順決定部315Aは、選択ポリシーテーブル336において選択優先度2が選択された場合、他のキャッシュサーバ500の保持するコンテンツデータの数を優先して問い合わせ順を決定する。   When the selection priority 1 is selected in the selection policy table 336, the inquiry order determination unit 315A of this embodiment determines the inquiry order with priority on the response time. Further, when the selection priority 2 is selected in the selection policy table 336, the inquiry order determination unit 315A according to the present embodiment determines the inquiry order with priority on the number of content data held by the other cache servers 500.

以下に図21を参照して本実施例のキャッシュサーバ500の動作を説明する。図21は、第四の実施例のキャッシュサーバの動作を説明するシーケンス図である。図21では、選択ポリシーテーブル336において選択優先度1が選択された場合のキャッシュサーバ500Aの動作を説明している。尚選択ポリシーテーブル336において選択優先度2が選択された場合のキャッシュサーバ500Aの動作は、第三の実施例に説明した通りである。   The operation of the cache server 500 of this embodiment will be described below with reference to FIG. FIG. 21 is a sequence diagram for explaining the operation of the cache server according to the fourth embodiment. FIG. 21 illustrates the operation of the cache server 500A when selection priority 1 is selected in the selection policy table 336. The operation of the cache server 500A when selection priority 2 is selected in the selection policy table 336 is as described in the third embodiment.

図21のステップS2101からステップS2108までの処理は、図17のステップS1701からステップS1708までの処理と同様であるので、説明を省略する。   The processing from step S2101 to step S2108 in FIG. 21 is the same as the processing from step S1701 to step S1708 in FIG.

続いてキャッシュサーバ500Aは、応答時間管理部317により計測した各キャッシュサーバ500の応答時間を応答時間テーブル335に格納する(ステップS2109)。   Subsequently, the cache server 500A stores the response time of each cache server 500 measured by the response time management unit 317 in the response time table 335 (step S2109).

ステップS2110からステップS2112までの処理は、図17のステップS1709からステップS1711までの処理と同様であるから説明を省略する。   The processing from step S2110 to step S2112 is the same as the processing from step S1709 to step S1711 in FIG.

ステップS2112において複数のキャッシュサーバ500が存在する場合、問い合わせ順決定部315Aは、応答時間テーブル335を参照し、複数のキャッシュサーバ500のうち応答時間が最も短いキャッシュサーバ500を選択する(ステップS2113)。   When there are a plurality of cache servers 500 in step S2112, the inquiry order determination unit 315A refers to the response time table 335 and selects the cache server 500 having the shortest response time from the plurality of cache servers 500 (step S2113). .

ステップS2114からステップS2118の処理は、図17のステップS1713からステップS1717までの処理と同様であるから、説明を省略する。   The processing from step S2114 to step S2118 is the same as the processing from step S1713 to step S1717 in FIG.

以上のように本実施例では、キャッシュサーバ500Aのビット配列のビット値0に対して排他的論理和が1となるビット数が同じ複数のキャッシュサーバ500が存在した場合に、応答時間が短い順にサムネイルの取得要求を行う順を決定する。本実施例では、以上のようにサムネイルの取得要求を行う順を決定することで、端末装置400から認証情報を受信してから参照要求を受信するまでの間により多くのサムネイルを収集することができる。   As described above, in this embodiment, when there are a plurality of cache servers 500 having the same number of bits whose exclusive OR is 1 with respect to the bit value 0 of the bit array of the cache server 500A, the response time is ascending in order. Determine the order in which thumbnail acquisition requests are made. In this embodiment, by determining the order in which thumbnail acquisition requests are made as described above, more thumbnails can be collected from when authentication information is received from the terminal device 400 to when a reference request is received. it can.

開示の技術では、以下に記載する付記のような形態が考えられる。
(付記1)
コンピュータによるコンテンツ配信方法であって、該コンピュータが、
記憶部に記憶されたコンテンツデータを特定する情報と、他のコンピュータが有する他の記憶部に記憶されたコンテンツデータを特定する情報とを比較した結果を参照し、
前記記憶部に記憶されていないコンテンツデータが多く記憶された前記他の記憶部を有する前記他のコンピュータから順に、前記記憶部に記憶されていないコンテンツデータの代表画像データを収集するコンテンツ配信方法。
(付記2)
前記記憶されたコンテンツデータを特定する情報は、
前記コンテンツデータを代表する値と対応するコンテンツデータの有無を示すビット配列である付記1記載のコンテンツ配信方法。
(付記3)
前記記憶部に記憶された前記コンテンツデータに含まれるデータを用いて生成したハッシュ値と、前記ハッシュ値に代表されるコンテンツデータとが対応付けられたハッシュテーブルを参照し、
前記記憶部に前記ハッシュ値と対応付けられたコンテンツデータが存在するとき前記ハッシュ値に対応するビットのビット値を1とし、前記記憶部に前記ハッシュ値と対応付けられたコンテンツデータが存在しないとき前記ハッシュ値に対応するビットのビット値を0としたビット配列を生成する付記2記載のコンテンツ配信方法。
(付記4)
該コンピュータが生成したビット配列のビット値と、前記他のコンピュータが生成したビット配列のビット値とを比較した結果を参照し、
該コンピュータが生成したビット配列においてビット値が0のビットに対し、排他的論理和が1となるビット数が最も多いビット配列を生成した前記他のコンピュータから順に、前記代表画像データを収集する付記2又は3記載のコンテンツ配信方法。
(付記5)
該コンピュータが生成したビット配列を前記他のコンピュータへ送信し、
前記他のコンピュータにおいて、該コンピュータが生成したビット配列と前記他のコンピュータが生成したビット配列とを比較した結果を受信し、
該コンピュータが生成したビット配列においてビット値が0のビットに対し、排他的論理和が1となるビット数が最も多いビット配列を生成した前記他のコンピュータから順に、前記代表画像データを収集する付記4記載のコンテンツ配信方法。
(付記6)
該コンピュータが生成したビット配列においてビット値が0のビットに対し、排他的論理和が1となるビット数が同じ複数のビット配列が存在する場合、
前記複数のビット配列を生成したそれぞれの前記他のコンピュータのうち、記憶されているコンテンツデータの数が多い方から順に、前記代表画像データを収集する付記4記載のコンテンツ配信方法。
(付記7)
該コンピュータが生成したビット配列においてビット値が0のビットに対し、排他的論理和が1となるビット数が同じ複数のビット配列が存在する場合、
前記複数のビット配列を生成した前記他のコンピュータのうち、該コンピュータの要求に応答する応答時間が短い方から順に、前記代表画像データを収集する付記4記載のコンテンツ配信方法。
(付記8)
記憶部に記憶されたコンテンツデータを特定する情報と、他のコンピュータが有する他の記憶部に記憶されたコンテンツデータを特定する情報とを比較する比較部(315)と、
前記記憶部に記憶されていないコンテンツデータが多く記憶された前記他の記憶部を有する前記他のコンピュータから順に、前記記憶部に記憶されていないコンテンツデータの代表画像データを収集する収集部と、を有するコンテンツ配信サーバ。
(付記9)
コンピュータに、
記憶部に記憶されたコンテンツデータを特定する情報と、他のコンピュータが有する他の記憶部に記憶されたコンテンツデータを特定する情報との比較結果を参照する処理と、
前記記憶部に記憶されていないコンテンツデータが多く記憶された前記他の記憶部を有する前記他のコンピュータから順に、前記記憶部に記憶されていないコンテンツデータの代表画像データを収集する処理と、を実行させるサムネイル収集プログラム。
In the disclosed technology, forms such as the following supplementary notes are conceivable.
(Appendix 1)
A content distribution method by a computer, the computer comprising:
With reference to the result of comparing the information specifying the content data stored in the storage unit with the information specifying the content data stored in another storage unit of another computer,
A content distribution method for collecting representative image data of content data not stored in the storage unit in order from the other computer having the other storage unit in which a large amount of content data not stored in the storage unit is stored.
(Appendix 2)
The information specifying the stored content data is:
The content distribution method according to appendix 1, wherein the content distribution method is a bit array indicating presence / absence of content data corresponding to a value representing the content data.
(Appendix 3)
With reference to a hash table in which a hash value generated using data included in the content data stored in the storage unit is associated with content data represented by the hash value,
When the content data associated with the hash value exists in the storage unit, the bit value of the bit corresponding to the hash value is set to 1, and when the content data associated with the hash value does not exist in the storage unit The content distribution method according to appendix 2, wherein a bit array in which a bit value of a bit corresponding to the hash value is set to 0 is generated.
(Appendix 4)
Refer to the result of comparing the bit value of the bit sequence generated by the computer and the bit value of the bit sequence generated by the other computer,
Note that the representative image data is collected in order from the other computer that has generated the bit array having the largest number of bits in which the exclusive OR is 1 for the bit value 0 in the bit array generated by the computer 2. The content distribution method according to 2 or 3.
(Appendix 5)
Sending the bit sequence generated by the computer to the other computer;
In the other computer, the result of comparing the bit sequence generated by the computer and the bit sequence generated by the other computer is received,
Note that the representative image data is collected in order from the other computer that has generated the bit array having the largest number of bits in which the exclusive OR is 1 for the bit value 0 in the bit array generated by the computer 4. The content distribution method according to 4.
(Appendix 6)
When there are a plurality of bit arrays having the same number of bits whose exclusive OR is 1 for bits whose bit value is 0 in the computer generated bit array,
The content distribution method according to appendix 4, wherein the representative image data is collected in order from the largest number of stored content data among the other computers that have generated the plurality of bit arrays.
(Appendix 7)
When there are a plurality of bit arrays having the same number of bits whose exclusive OR is 1 for bits whose bit value is 0 in the computer generated bit array,
The content distribution method according to supplementary note 4, wherein the representative image data is collected in order from a shorter response time in response to a request from the other computers that have generated the plurality of bit arrays.
(Appendix 8)
A comparison unit (315) that compares information for specifying content data stored in the storage unit with information for specifying content data stored in another storage unit of another computer;
A collection unit that collects representative image data of content data not stored in the storage unit in order from the other computer having the other storage unit in which a large amount of content data not stored in the storage unit is stored; A content distribution server.
(Appendix 9)
On the computer,
A process of referring to a comparison result between information specifying content data stored in the storage unit and information specifying content data stored in another storage unit of another computer;
Collecting representative image data of content data not stored in the storage unit in order from the other computer having the other storage unit in which a large amount of content data not stored in the storage unit is stored. Thumbnail collection program to be executed.

本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から
逸脱することなく、種々の変形や変更が可能である。
The present invention is not limited to the specifically disclosed embodiments, and various modifications and changes can be made without departing from the scope of the claims.

100 コンテンツ配信システム
200 ユーザ管理サーバ
300,300A〜300D キャッシュサーバ
310,310A サムネイル収集部
313 ビット配列取得部
315 問い合わせ順決定部
316 サムネイル取得部
320 サムネイル提供部
322 ビット配列応答部
323 サムネイル応答部
324 ハッシュテーブル生成部
325 ビット配列生成部
330 記憶部
DESCRIPTION OF SYMBOLS 100 Content delivery system 200 User management server 300,300A-300D Cache server 310,310A Thumbnail collection part 313 Bit arrangement | sequence acquisition part 315 Query order determination part 316 Thumbnail acquisition part 320 Thumbnail provision part 322 Bit arrangement | sequence response part 323 Thumbnail response part 324 Hash Table generation unit 325 Bit array generation unit 330 Storage unit

Claims (6)

コンピュータによるコンテンツ配信方法であって、該コンピュータが、
記憶部におけるコンテンツデータの有無を示すビット配列と、他のコンピュータが有する他の記憶部におけるコンテンツデータの有無を示すビット配列とを比較した結果を参照し、
前記記憶部に記憶されていないコンテンツデータが多く記憶された前記他の記憶部を有する前記他のコンピュータから順に、前記記憶部に記憶されていないコンテンツデータの代表画像データを収集するコンテンツ配信方法。
A content distribution method by a computer, the computer comprising:
A bit sequence indicating the presence or absence of the content data in the storage unit, with reference to the result of comparing the bit sequence indicating the presence or absence of the content data in the other storage unit included in the other computer,
A content distribution method for collecting representative image data of content data not stored in the storage unit in order from the other computer having the other storage unit in which a large amount of content data not stored in the storage unit is stored.
前記ビット配列は、
前記コンテンツデータを代表する値と対応するビット配列である請求項1記載のコンテンツ配信方法。
The bit array is
Content distribution method according to claim 1, wherein a corresponding to the ruby Tsu preparative sequence the value representative of the content data.
前記記憶部に記憶された前記コンテンツデータに含まれるデータを用いて生成したハッシュ値と、前記ハッシュ値に代表されるコンテンツデータとが対応付けられたハッシュテーブルを参照し、
前記記憶部に前記ハッシュ値と対応付けられたコンテンツデータが存在するとき前記ハッシュ値に対応するビットのビット値を1とし、前記記憶部に前記ハッシュ値と対応付けられたコンテンツデータが存在しないとき前記ハッシュ値に対応するビットのビット値を0としたビット配列を生成する請求項2記載のコンテンツ配信方法。
With reference to a hash table in which a hash value generated using data included in the content data stored in the storage unit is associated with content data represented by the hash value,
When the content data associated with the hash value exists in the storage unit, the bit value of the bit corresponding to the hash value is set to 1, and when the content data associated with the hash value does not exist in the storage unit The content distribution method according to claim 2, wherein a bit array in which a bit value of a bit corresponding to the hash value is 0 is generated.
該コンピュータが生成したビット配列のビット値と、前記他のコンピュータが生成したビット配列のビット値とを比較した結果を参照し、
該コンピュータが生成したビット配列においてビット値が0のビットに対し、排他的論理和が1となるビット数が最も多いビット配列を生成した前記他のコンピュータから順に、前記代表画像データを収集する請求項2又は3記載のコンテンツ配信方法。
Refer to the result of comparing the bit value of the bit sequence generated by the computer and the bit value of the bit sequence generated by the other computer,
The representative image data is collected in order from the other computer that has generated the bit array having the largest number of bits in which the exclusive OR is 1 for the bit value 0 in the bit array generated by the computer. Item 2. A content distribution method according to item 2 or 3.
記憶部におけるコンテンツデータの有無を示すビット配列と、他のコンピュータが有する他の記憶部におけるコンテンツデータの有無を示すビット配列とを比較する比較部と
前記記憶部に記憶されていないコンテンツデータが多く記憶された前記他の記憶部を有する前記他のコンピュータから順に、前記記憶部に記憶されていないコンテンツデータの代表画像データを収集する収集部と、を有するコンテンツ配信サーバ。
A bit sequence indicating the presence or absence of the content data in the storage unit, a comparison unit for comparing the bit sequence indicating the presence or absence of the content data in the other storage unit included in the different computers,
A collection unit that collects representative image data of content data not stored in the storage unit in order from the other computer having the other storage unit in which a large amount of content data not stored in the storage unit is stored; A content distribution server.
コンピュータに、
記憶部におけるコンテンツデータの有無を示すビット配列と、他のコンピュータが有する他の記憶部におけるコンテンツデータの有無を示すビット配列とを比較した結果を参照する処理と、
前記記憶部に記憶されていないコンテンツデータが多く記憶された前記他の記憶部を有する前記他のコンピュータから順に、前記記憶部に記憶されていないコンテンツデータの代表画像データを収集する処理と、を実行させるサムネイル収集プログラム。
On the computer,
A bit sequence indicating the presence or absence of the content data in the storage unit, a process of referring to the result of comparing the bit sequence indicating the presence or absence of the content data in the other storage unit included in the other computer,
Collecting representative image data of content data not stored in the storage unit in order from the other computer having the other storage unit in which a large amount of content data not stored in the storage unit is stored. Thumbnail collection program to be executed.
JP2013120177A 2013-06-06 2013-06-06 Content distribution method, content distribution server, and thumbnail collection program Expired - Fee Related JP6201438B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013120177A JP6201438B2 (en) 2013-06-06 2013-06-06 Content distribution method, content distribution server, and thumbnail collection program
US14/270,450 US9692847B2 (en) 2013-06-06 2014-05-06 Content distribution method and content distribution server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013120177A JP6201438B2 (en) 2013-06-06 2013-06-06 Content distribution method, content distribution server, and thumbnail collection program

Publications (2)

Publication Number Publication Date
JP2014238671A JP2014238671A (en) 2014-12-18
JP6201438B2 true JP6201438B2 (en) 2017-09-27

Family

ID=52006373

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013120177A Expired - Fee Related JP6201438B2 (en) 2013-06-06 2013-06-06 Content distribution method, content distribution server, and thumbnail collection program

Country Status (2)

Country Link
US (1) US9692847B2 (en)
JP (1) JP6201438B2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9787799B2 (en) 2014-02-27 2017-10-10 Dropbox, Inc. Systems and methods for managing content items having multiple resolutions
US10885104B2 (en) 2014-02-27 2021-01-05 Dropbox, Inc. Systems and methods for selecting content items to store and present locally on a user device
US9894152B2 (en) * 2015-07-28 2018-02-13 Arris Enterprises Llc Consolidation and monitoring of consumed content
US10198355B2 (en) 2015-10-29 2019-02-05 Dropbox, Inc. Proving a dynamic digital content cache
US10983677B2 (en) 2018-11-16 2021-04-20 Dropbox, Inc. Prefetching digital thumbnails from remote servers to client devices based on a dynamic determination of file display criteria
KR102622252B1 (en) * 2019-05-27 2024-01-08 삼성에스디에스 주식회사 Apparatus and method for transmitting contents

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6681227B1 (en) * 1997-11-19 2004-01-20 Ns Solutions Corporation Database system and a method of data retrieval from the system
US7970835B2 (en) * 2006-04-04 2011-06-28 Xerox Corporation Peer-to-peer file sharing system and method using downloadable data segments
EP2055080A4 (en) * 2006-08-21 2011-11-30 Ericsson Telefon Ab L M A distributed server network for providing triple and play services to end users
JP2008102795A (en) 2006-10-19 2008-05-01 Fuji Xerox Co Ltd File management device, system, and program
CN101179389A (en) * 2006-11-07 2008-05-14 朗迅科技公司 Peer-to-peer file download system of IMS network
US20090327244A1 (en) * 2008-06-24 2009-12-31 Dharmarus Rizal Method, process, apparatus and system for peer-to-peer media sharing, transmissions and distributions
US8103718B2 (en) * 2008-07-31 2012-01-24 Microsoft Corporation Content discovery and transfer between mobile communications nodes
US8665963B2 (en) * 2008-08-25 2014-03-04 The University Of Electro-Communications Communication terminal, content reproduction method, content reproduction program, and content reproduction system for distributing and reproducing video contents with reduced stress
TWI372547B (en) * 2008-12-31 2012-09-11 Ind Tech Res Inst Method and system for peer-to-peer file transmission
KR101672349B1 (en) * 2011-12-27 2016-11-07 한국전자통신연구원 File cloud service apparatus and method

Also Published As

Publication number Publication date
US9692847B2 (en) 2017-06-27
US20140365501A1 (en) 2014-12-11
JP2014238671A (en) 2014-12-18

Similar Documents

Publication Publication Date Title
JP6201438B2 (en) Content distribution method, content distribution server, and thumbnail collection program
US20200117569A1 (en) Graphical user interface for visual correlation of virtual machine information and storage volume information
US8719340B2 (en) Information processing device, content providing method and program
Terzo et al. Data as a service (DaaS) for sharing and processing of large data collections in the cloud
US9055063B2 (en) Managing shared content with a content management system
US20110231524A1 (en) Metadata management method for nas global namespace design
JP5719323B2 (en) Distributed processing system, dispatcher and distributed processing management device
US20140188953A1 (en) Directory-level referral method for parallel nfs with multiple metadata servers
KR101435789B1 (en) System and Method for Big Data Processing of DLP System
CN103647797A (en) Distributed file system and data access method thereof
KR101689782B1 (en) Method for accessing files of a file system according to metadata and device implementing the method
US8706853B2 (en) Content processing apparatus, content processing method, and recording medium
US11799798B1 (en) Generating infrastructure templates for facilitating the transmission of user data into a data intake and query system
KR101744892B1 (en) System and method for data searching using time series tier indexing
KR101622810B1 (en) System and method for distributing big data
Lieberman et al. Supporting rapid processing and interactive map-based exploration of streaming news
TW201205320A (en) Optimizing data cache when applying user-based security
CN101472166A (en) Method for caching and enquiring content as well as point-to-point medium transmission system
CN105045905B (en) A kind of log maintenance method and system based on full-text search
CN102752294A (en) Method and system for synchronizing data of multiple terminals on basis of equipment capacity
US20140280010A1 (en) Shared media crawler database method and system
CN102006317B (en) Method for storing and inquiring object information
JP5775359B2 (en) System management server, management method and program
WO2013120412A1 (en) Data download method, terminal, server and system
JP2011242826A (en) File management system and file management program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160113

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170202

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: 20170801

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170814

R150 Certificate of patent or registration of utility model

Ref document number: 6201438

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees