JP6248765B2 - プログラム及びシステム - Google Patents

プログラム及びシステム Download PDF

Info

Publication number
JP6248765B2
JP6248765B2 JP2014075288A JP2014075288A JP6248765B2 JP 6248765 B2 JP6248765 B2 JP 6248765B2 JP 2014075288 A JP2014075288 A JP 2014075288A JP 2014075288 A JP2014075288 A JP 2014075288A JP 6248765 B2 JP6248765 B2 JP 6248765B2
Authority
JP
Japan
Prior art keywords
information
file
virtual server
virtual
karaoke
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014075288A
Other languages
English (en)
Other versions
JP2015197591A (ja
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.)
Brother Industries Ltd
Original Assignee
Brother Industries 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 Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2014075288A priority Critical patent/JP6248765B2/ja
Publication of JP2015197591A publication Critical patent/JP2015197591A/ja
Application granted granted Critical
Publication of JP6248765B2 publication Critical patent/JP6248765B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Reverberation, Karaoke And Other Acoustics (AREA)

Description

本発明は、楽曲情報や映像情報などの情報を合成することにより、カラオケ情報を生成する技術分野に関する。
例えば、特許文献1には、楽曲データと画像データを合成することでカラオケ用のコンテンツを生成してサーバにアップロードし、複数の出力装置が、サーバからコンテンツをダウンロードして再生する技術が開示されている。
特開2009−216876号公報
ところで、クラウドシステムを利用して、カラオケ情報を生成したい場合がある。例えば、クラウド上に、カラオケ情報生成用の仮想サーバを起動させて、仮想サーバが楽曲情報、映像情報、歌詞情報などの複数の素材情報を合成し、カラオケ情報を生成する。このとき、例えばカラオケの事業者が有するセンターサーバに全ての素材情報を一元管理させることが考えられる。この場合、各仮想サーバはセンターサーバから複数の素材情報を取得する必要あるため、センターサーバとクラウドとの間の通信負荷が増大する。そこで、仮想サーバが、一度取得した素材情報を仮想サーバに割り当てられたローカルな記憶領域に記憶しておき、記憶した素材情報をカラオケ情報の生成に再利用することが考えられる。しかしながら、素材情報の再利用のために、素材情報を記憶した仮想サーバを稼働させたままにしておくと、カラオケ情報を生成しない仮想サーバが稼働したままになることがある。そのため、クラウドから提供されるリソースの利用効率が低下する。
本発明は、以上の点に鑑みてなされたものであり、仮想サーバにより複数の素材情報からカラオケ情報を生成する場合に、クラウドのリソースの利用効率を向上させることを可能とするプログラム及びシステムを提供することを課題とする。
上記課題を解決するために、請求項1に記載の発明は、1又は複数の情報処理装置上で稼働する仮想サーバを動作させるためのプログラムであって、仮想サーバへのカラオケ情報の要求を示す要求情報を端末装置から受信する第1受信ステップと、前記第1受信ステップにより受信された前記要求情報に基づいて、前記カラオケ情報の生成に用いられる楽曲情報、映像情報及び歌詞情報をそれぞれ識別可能な複数の識別情報を取得する第1取得ステップと、前記第1取得ステップにより取得された前記複数の識別情報が示す前記楽曲情報、前記映像情報及び前記歌詞情報が、前記第1受信ステップにより前記要求情報を受信した仮想サーバがアクセス可能な第1記憶領域に記憶されているかを判定する判定ステップと、前記楽曲情報、前記映像情報及び前記歌詞情報のうち、前記判定ステップにより前記第1記憶領域に記憶されていると判定されなかった特定情報を特定する特定ステップと、前記1又は複数の情報処理装置上で稼働する1以上の他の仮想サーバの中から、前記特定情報を記憶する特定の仮想サーバを検索する検索ステップと、前記検索ステップにより検索された前記特定の仮想サーバから前記特定情報を取得する第2取得ステップと、前記第2取得ステップにより取得された前記特定情報を前記第1記憶領域に記憶させる制御ステップと、前記第1記憶領域に記憶された前記楽曲情報、前記映像情報及び前記歌詞情報を合成することにより、前記カラオケ情報を生成する生成ステップと、前記生成ステップにより生成された前記カラオケ情報を前記端末装置へ送信する送信ステップと、をコンピュータに実行させることを特徴とする。
請求項2に記載の発明は、前記生成ステップは、前記第1記憶領域に前記カラオケ情報を生成し、前記送信ステップは、前記第1記憶領域に生成された前記カラオケ情報を送信し、前記プログラムは、前記送信ステップにより送信された前記カラオケ情報を前記第1記憶領域から削除する第1削除ステップを更に前記コンピュータに実行させることを特徴とする。
請求項3に記載の発明は、前記プログラムは、前記第2取得ステップにより取得された前記特定情報の前記識別情報と、前記第1受信ステップにより前記要求情報を受信した仮想サーバの所在を示す所在情報とを、前記1以上の他の仮想サーバ又は前記1又は複数の情報処理装置上で稼働する仮想管理装置へ通知する通知ステップを更に前記コンピュータに実行させることを特徴とする。
請求項4に記載の発明は、前記プログラムは、何れかの仮想サーバから通知された前記識別情報及び前記所在情報を対応付けて第2記憶領域に記憶させる第2制御ステップを更に前記コンピュータに実行させ、前記検索ステップは、前記第2記憶領域の中から、前記特定情報を記憶する前記特定の仮想サーバを検索することを特徴とする。
請求項5に記載の発明は、前記プログラムは、所定の仮想サーバの停止指示を受信する第2受信ステップと、前記第2受信ステップにより、前記所定の仮想サーバの停止指示が受信された場合、前記所定の仮想サーバの所在を示す所在情報に対応付けられた前記識別情報を前記第2記憶領域から削除する第2削除ステップと、を更に前記コンピュータに実行させることを特徴とする。
請求項6に記載の発明は、1又は複数の情報処理装置上で稼働する仮想サーバへのカラオケ情報の要求を示す要求情報を端末装置から受信する第1受信手段と、前記第1受信手段により受信された前記要求情報に基づいて、前記カラオケ情報の生成に用いられる楽曲情報、映像情報及び歌詞情報をそれぞれ識別可能な複数の識別情報を取得する第1取得手段と、前記第1取得手段により取得された前記複数の識別情報が示す前記楽曲情報、前記映像情報及び前記歌詞情報が、前記第1受信手段により前記要求情報を受信した仮想サーバがアクセス可能な第1記憶領域に記憶されているかを判定する判定手段と、前記楽曲情報、前記映像情報及び前記歌詞情報のうち、前記判定手段により前記第1記憶領域に記憶されていると判定されなかった特定情報を特定する特定手段と、前記1又は複数の情報処理装置上で稼働する1以上の他の仮想サーバの中から、前記特定情報を記憶する特定の仮想サーバを検索する検索手段と、前記検索手段により検索された前記特定の仮想サーバから前記特定情報を取得する第2取得手段と、前記第2取得手段により取得された前記特定情報を前記第1記憶領域に記憶させる制御手段と、前記第1記憶領域に記憶された前記楽曲情報、前記映像情報及び前記歌詞情報を合成することにより、前記カラオケ情報を生成する生成手段と、前記生成手段により生成された前記カラオケ情報を前記端末装置へ送信する送信手段と、を備えることを特徴とする。
請求項1又は6に記載の発明によれば、カラオケ情報の生成に必要な情報のうち何れかの特定情報が、カラオケ情報の生成する仮想サーバに記憶されていない場合、その仮想サーバは、特定情報を記憶する他の仮想サーバを検索する。そのため、特定情報を記憶している仮想サーバのうち一部の仮想サーバが停止しても、稼働している仮想サーバからその特定情報を取得することができる。そのため、クラウドのリソースの利用効率を向上させることができる。
請求項2に記載の発明によれば、再利用されないカラオケ情報を削除することで、記憶領域を有効に利用することができる。
請求項3又は6に記載の発明によれば、他の仮想サーバ又は仮想管理装置へ通知することにより、他の仮想サーバ又は仮想管理装置が、カラオケ情報の生成に用いられる情報を記憶する仮想サーバの所在を管理することができる。
請求項4に記載の発明によれば、仮想サーバ又は仮想管理装置が特定情報の識別情報とその特性情報を記憶する仮想サーバの所在情報を記憶することで、特性情報を記憶する仮想サーバを検索することができる。
請求項5に記載の発明によれば、何れかの仮想サーバが停止しても、特性情報を送信可能な他の仮想サーバを検索することができる。
(A)は、本実施形態の通信システムSの概要構成例を示す図であり、(B)は、クラウドCCにおける仮想マシンのブロック図の一例を示す図であり、(C)は、配信サーバDの概要構成例を示すブロック図である。 配信サーバDの制御部11のウェブ処理の一例を示すフローチャートである。 配信サーバDの制御部11のファイル取得処理の一例を示すフローチャートである。 配信サーバDの制御部11のメッセージ受信処理の一例を示すフローチャートである。 配信サーバDの制御部11の仮想サーバ制御処理の一例を示すフローチャートである。
以下、本発明の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、通信システムに本発明を適用した場合の実施形態である。
[1.通信システムの構成]
始めに、図1(A)及び図1(B)を参照して、本実施形態の通信システムの構成及び動作概要について説明する。図1(A)は、本実施形態の通信システムSの概要構成例を示す図である。図1(B)は、クラウドCCにおける仮想マシンのブロック図の一例を示す図である。図1(A)に示すように、本実施形態の通信システムSは、1以上の配信サーバD、センターサーバC及び複数のクライアント端末T等により構成されている。配信サーバD、センターサーバC及びクライアント端末TはネットワークNWに接続されている。ネットワークNWは、インターネット等からなる。
配信サーバDは、本発明の情報処理装置の一例である。配信サーバDは、クラウドシステムCCを構成するサーバ装置である。クラウドシステムCCは、クラウドCCともいう。クラウドCCにおいて、各配信サーバDは、仮想マシンとして1又は複数の仮想化されたインスタンスを起動する。仮想マシンとして、例えば図1(B)に示す仮想サーバVn(n=1,2,3・・・k)がある。クラウドシステムCCを構成する配信サーバDのうち、1又は複数の配信サーバD上で複数の仮想サーバVnが稼働する。仮想サーバVnとして動作する配信サーバDは、クライアント端末Tにカラオケファイルを配信する。カラオケファイルは、カラオケの楽曲及び映像を再生するための動画データである。カラオケファイルは、楽曲の音声、背景、歌詞のテロップ等を含む。カラオケファイルは、本発明のカラオケ情報の一例である。
センターサーバCは、仮想サーバVnへカラオケファイルの部品又は素材となる元データファイルを配信するサーバ装置である。元データファイルとして、例えば、楽曲ファイル、映像ファイル、テロップ情報ファイル、ピアノロール情報ファイル等がある。楽曲ファイルは、カラオケの楽曲を再生するための音声データ又は演奏データである。楽曲ファイルは、本発明の楽曲情報の一例である。映像ファイルは、カラオケの背景として表示される動画のデータである。映像ファイルは、本発明の映像情報の一例である。テロップ情報ファイルは、楽曲の歌詞のテロップを表示するためのデータである。テロップ情報ファイルは、例えば歌詞の文字を示すテキスト、歌詞が表示される再生位置等を含む。再生位置は、楽曲の再生が開始してから経過した時間である。テロップ情報ファイルは、本発明の歌詞情報の一例である。ピアノロール情報ファイルは、楽曲の音高をピアノロール表示するためのデータである。ピアノロール情報ファイルは、例えば楽曲の開始から終了まで時系列に沿った音高と音価との組み合わせを示す情報を含む。
クライアント端末Tは、カラオケファイルを再生する端末装置である。クライアント端末Tの利用者は、クライアント端末Tを用いてカラオケを楽しむことができる。クライアント端末Tとして、例えば、カラオケ装置、パーソナルコンピュータ、スマートフォン、タブレット型コンピュータ、携帯電話機、PDA(Personal Digital Assistant)、テレビゲーム機、テレビ受像機、STB(Set Top Box)等がある。
[2.カラオケファイル配信の動作概要]
各仮想サーバVnは、クライアント端末Tから送信されるカラオケファイル要求に応じて、カラオケファイルを配信する。カラオケファイル要求は、カラオケファイルの要求を示すメッセージである。カラオケファイル要求は、本発明の要求情報の一例である。カラオケファイル要求は、例えば、楽曲番号、キー情報、スピード情報、端末解像度、ピアノロール有無情報を含む。楽曲番号は、楽曲を識別可能な識別情報である。例えば、楽曲番号は、楽曲を識別可能な番号と、背景を識別可能な番号とで構成されてもよい。これにより、仮想サーバVnは、楽曲番号に基づいて、楽曲ファイル、映像ファイル、テロップ情報ファイル及びピアノロール情報ファイルのファイル名を取得することができる。なお、カラオケファイル要求に、各元データファイルのファイル名が含まれていてもよい。キー情報は、例えば楽曲の原曲の音高と、カラオケファイルにより実際に楽曲を再生するときの音高との差をオクターブ等で表す情報である。スピード情報は、例えば、楽曲の原曲の再生速度と、カラオケファイルにより実際に楽曲を再生するときの再生速度との差を、再生速度の比率等で表す情報である。端末解像度は、カラオケファイル要求を送信したクライアント端末Tが背景を表示するための画面のサイズを縦方向及び横方向の画素数等で示す情報である。ピアノロール有無情報は、背景にピアノロールを表示するか否かを示す情報である。楽曲番号、キー情報、スピード情報、及びピアノロール有無情報は、例えばクライアント端末Tの利用者により指定される。
クライアント端末Tが再生するカラオケファイルは、クライアント端末Tが送信するカラオケファイル要求ごと、又はクライアント端末Tごとに異なる。例えば、クライアント端末Tの利用者は、カラオケファイルを再生させようとするたびに、楽曲、キー情報、奏スピード情報等を指定することができる。また例えば、利用者は、背景として、例えば本人映像、特別映像、一般映像等を指定することができる。本人映像は、例えば楽曲のプロモーションビデオ映像等である。特別映像は、例えば楽曲に対応した特別な映像である。一般映像は、例えば様々な楽曲の背景に利用可能な映像である。また例えば、クライアント端末Tによって、背景を表示するための画面のサイズが異なる。そこで、仮想サーバVnは、カラオケファイル要求を受信するごとにカラオケファイルを生成する。具体的に、仮想サーバVnは、楽曲ファイル、映像ファイル、テロップ情報ファイル等の元データファイルを合成することにより、カラオケファイルを生成する。
全ての元データファイルは、センターサーバCにより記憶されている。カラオケファイルを生成する都度、仮想サーバVnがセンターサーバCから必要な元データファイルを取得していたのでは、クラウドCCとセンターサーバC間の通信負荷や、センターサーバCの負荷が増大する。そこで、仮想サーバVnは、取得した元データファイルをその仮想サーバVnのローカルストレージに記憶させる。ローカルストレージは、配信サーバDが備える記憶部12から仮想サーバVnに割り当てられた記憶領域である。ローカルストレージは、本発明の第1記憶領域及び第2記憶領域の一例である。1つの配信サーバD上で複数の仮想サーバVnが稼働している場合、仮想サーバVnごとに異なる記憶領域がローカルストレージに割り当てられる。仮想サーバVnは、カラオケファイルを生成するための元データファイルを取得するとき、その仮想サーバVnのローカルストレージに元データファイルが記憶されているか否かを判定する。これにより、ローカルストレージに記憶されていない元データファイルを特定する。元データファイルがローカルストレージに記憶されている場合、仮想サーバVnは、ローカルストレージから元データファイルを取得する。元データファイルがローカルストレージに記憶されていない場合、仮想サーバVnは、元データファイルを記憶する他の仮想サーバを検索する。そして、仮想サーバVnは、検索した仮想サーバVnのローカルストレージから元データファイルを取得する。元データファイルを記憶している仮想サーバVnのうち一部の仮想サーバVnが停止したとしても、他の仮想サーバVnから元データを取得することができる。そのため、必要に応じて仮想サーバVnを起動又は停止することができる。これにより、クラウドのリソースの利用効率を向上させることができる。
他の仮想サーバからの元データファイルの取得を可能とするため、何れか1以上の配信サーバD上で、仮想管理装置Mが稼働する。仮想管理装置Mは、本発明の仮想管理装置の一例である。仮想管理装置Mは、元データファイルを記憶する仮想サーバVnの所在を管理する仮想マシンである。具体的に、仮想管理装置Mのローカルストレージには、データ保持リストが記憶される。データ保持リストには、元データファイルを記憶した仮想サーバVnに割り当てられたIPアドレス及び記憶された元データファイルの組み合わせが1又は複数登録される。仮想サーバVnのIPアドレスは、本発明の所在情報の一例である。仮想サーバVnが元データファイルを取得するとき、仮想サーバVnはアドレス要求を仮想管理装置Mへ送信する。アドレス要求は、元データファイルを記憶する仮想サーバVnの所在の要求を示す。アドレス要求は、元データファイルのファイル名を含む。アドレス要求を送信する仮想サーバVnを、リクエスタという。仮想管理装置Mは、リクエスタから受信したアドレス要求に含まれるファイル名に対応するIPアドレスをデータ保持リストから取得する。そして、仮想管理装置Mは、取得したIPアドレスをリクエスタへ送信する。リクエスタが取得しようとする元データファイルを記憶する仮想サーバを、データホルダという。ファイル名に対応するIPアドレスがデータ保持リストに登録されていない場合、仮想管理装置Mは、センターサーバCのIPアドレスをリクエスタへ送信する。リクエスタは、受信したIPアドレスに基づいて、データホルダ又はセンターサーバCから元データファイルを取得する。元データファイルを取得した仮想サーバVnは、データ取得通知を仮想管理装置Mへ送信する。データ取得通知は、元データファイルを取得したことを通知するメッセージである。データ取得通知は、リクエスタのIPアドレス及び取得した元データファイルのファイル名を含む。仮想管理装置Mは、リクエスタから受信したデータ取得通知に含まれるIPアドレス及びファイル名を対応付けてデータ保持リストに登録する。なお、稼働している仮想サーバVnのうち、1又は複数の仮想サーバVnが仮想管理装置Mの機能を有していてもよい。すなわち、何れかの仮想サーバVnが、ファイル保持リストを記憶して、元データファイルを記憶する仮想サーバVnの所在を管理してもよい。また、複数の仮想サーバVn又は複数の仮想管理装置Mがファイル保持リストを分散して記憶してもよい。例えば、元データファイル又は所定の規則によって区分けされた元データファイル群ごとに、対応するファイル保持リストを記憶する仮想サーバVn又は仮想管理装置Mが定められてもよい。この場合、リクエスタは、取得しようとする元データファイルのファイル保持リストを記憶する仮想サーバVn又は仮想管理装置Mへアドレス要求を送信する。また例えば、クラウドCCを構成する配信サーバDとは異なる所定のサーバ装置が、仮想管理装置Mの機能を有していてもよい。この場合、リクエスタは、所定のサーバ装置へアドレス要求を送信する。
仮想サーバVnは、カラオケファイルをローカルストレージに記憶する。仮想サーバVnは、生成したカラオケファイルをクライアント端末Tへ送信すると、カラオケファイルをローカルストレージから削除する。上述したように、生成されるカラオケファイルは、カラオケファイル要求ごと、又はクライアント端末Tごとに異なる蓋然性が高い。そのため、生成されたカラオケファイルをローカルストレージに記憶しておいても、そのカラオケファイルを再度クライアント端末Tへ送信する可能性が低い。再利用される可能性が低いカラオケファイルを削除することで、ローカルストレージを効率よく利用することができる。
仮想サーバVnが他の仮想サーバVnから元データファイルを取得するためには、その元データファイルを記憶している仮想サーバVnが稼働している必要がある。また、クラウドCCの仕組みとして、仮想サーバVnを停止又は終了させると、その仮想サーバVnのローカルストレージに記憶されていた元データファイルが削除される場合がある。ローカルストレージに記憶されていた元データファイルを再利用するため、仮想サーバVnを稼働させたままにしておくと、カラオケファイル要求を受信しない仮想サーバが稼働したままになることがある。そこで、仮想管理装置Mが、稼働する仮想サーバVnの起動及び停止を制御する。具体的に、仮想管理装置Mは、クライアント端末Tから複数の仮想サーバVnへのアクセス数に応じて、必要稼働数を決定する。アクセス数は、仮想サーバVnが現在処理中であるカラオケファイル要求の数である。すなわち、アクセス数は、仮想サーバVnへ送信されたカラオケファイル要求のうち、カラオケファイル要求に対応するカラオケファイルが未だクライアント端末Tへ送信されていないカラオケファイル要求の数である。必要稼働数は、稼働させるべき仮想サーバVnの数である。仮想管理装置Mは、例えばアクセス数が多いほど、多い必要稼働数を決定する。仮想管理装置Mは、決定した必要稼働数に応じて、何れかの仮想サーバを停止させ、又は新規の稼働サーバを起動させる。各仮想サーバVnは、その仮想サーバVnに対するアクセス数及びその仮想サーバVnのIPアドレスを例えば定期的に仮想管理装置Mへ送信する。仮想管理装置Mは、仮想サーバVnから受信したアクセス数及びIPアドレスを対応付けて仮想管理装置Mのローカルストレージに記憶させる。仮想管理装置Mは、ローカルストレージに記憶されたアクセス数を定期的に合計することにより、全仮想サーバVnに対するアクセス数を計算する。
仮想管理装置Mの指示に基づき何れかの仮想サーバVnが停止した場合、その仮想サーバVnから元データファイルを取得することができない。そこで、仮想管理装置Mは、ファイル保持リストから、停止した仮想サーバVnのIPアドレス及びそのIPアドレスに対応するファイル名の組み合わせを全て削除する。なお、クラウドCCを構成する配信サーバDとは異なる所定のサーバ装置が、仮想管理装置Mの機能を有していてもよい。すなわち、所定のサーバ装置が、仮想サーバリストを記憶して、アクセス数に基づいて仮想サーバVnの起動、停止を制御してもよい。
[3.仮想サーバ、仮想管理装置のソフトウェア構成]
次に、仮想サーバVn及び仮想管理装置Mのソフトウェア構成について、図1(B)を用いて説明する。図1(B)に示すように、仮想サーバVnは、1又は複数のウェブアプリケーション1、ファイル取得プロセス2、ローカルストレージ3、及び負荷監視プロセス4等により構成されている。ウェブアプリケーション1は、クライアント端末Tからのカラオケファイル要求に応じて、カラオケファイルの生成及び配信を行うためのプロセスである。ファイル取得プロセス2は、ウェブアプリケーション1から要求された元データファイルをウェブアプリケーション1へ受け渡すためのプロセスである。具体的に、ファイル取得プロセス2は、元データファイルをローカルストレージ3、他の仮想サーバVn又はセンターサーバCから取得するためのプロセスである。ローカルストレージ3には、元データファイルが記憶される。また、ローカルストレージ3には、そのローカルストレージ3が割り当てられた仮想サーバVnのIPアドレスが記憶される。負荷監視プロセス4は、クライアント端末Tから仮想サーバVnへのアクセス数を仮想管理装置Mへ送信するためのプロセスである。具体的に、負荷監視プロセス4は、ウェブアプリケーション1がクライアント端末Tからカラオケファイル要求を受信するごとに、アクセス数を1増加させる。また、負荷監視プロセス4は、ウェブアプリケーション1からクライアント端末Tへカラオケファイルが送信されるごとに、アクセス数を1減少させる。負荷監視プロセス4は、定期的に、現在のアクセス数と仮想サーバVnのIPアドレスとを仮想管理装置Mへ送信する。
仮想管理装置Mは、ホルダ管理プロセス5、仮想サーバ制御プロセス6、ローカルストレージ7等により構成されている。ホルダ管理プロセス5は、仮想サーバVnからのアドレス要求に応じてデータホルダのIPアドレスを送信するためのプロセスである。また、ホルダ管理プロセス5は、データ取得通知に基づいてファイル保持リストを更新するためのプロセスである。仮想サーバ制御プロセス6は、負荷監視プロセス4から送信されたアクセス数に基づいて必要稼働数を決定し、仮想サーバの停止又は起動を指示するためのプロセスである。ローカルストレージ7には、データ保持リスト、仮想サーバリスト等が記憶される。仮想サーバリストには、現在稼働している仮想サーバVnのIPアドレスが登録される。
[4.仮想サーバの構成]
次に、図1(C)を参照して、配信サーバDの構成及び機能について説明する。図1(C)は、配信サーバDの概要構成例を示すブロック図である。配信サーバDは、制御部11、記憶部12、通信部13等を備えて構成される。制御部11〜通信部13はバス14を介して相互に接続されている。記憶部12は、例えばハードディスクドライブ等から構成される。記憶部12には、配信サーバDのOS、仮想化環境を構築するためのプログラム、仮想マシン起動停止制御プログラム等が記憶される。仮想マシン起動停止制御プログラムは、仮想マシンを起動させたり停止させたりするためのプログラムである。また、記憶部12には、各種のマシンイメージファイルが記憶される。マシンイメージファイルは、仮想マシンで実行されるOS及びアプリケーションプログラムを含む。制御部11は、マシンイメージファイルに基づいて、仮想マシンを起動させる。マシンイメージファイルとして、仮想サーバ用のイメージファイル、仮想管理装置用のイメージファイル等がある。仮想サーバ用のイメージファイルは、Webアプリケーションプロセス1、ファイル取得プロセス2、及び負荷監視プロセス4のプログラム等を含む。仮想管理装置用のイメージファイルは、ホルダ管理プロセス5、及び仮想サーバ制御プロセス6のプログラム等を含む。なお、マシンイメージファイルは、例えば、ネットワークNWに接続された所定のサーバからダウンロードされるようにしてもよい。また、マシンイメージファイルは、例えば、光ディスク等の記録媒体に記録されてドライブ装置を介して読み込まれるようにしてもよい。仮想サーバVn又は仮想管理装置Mが起動する場合、記憶部12から仮想サーバVn又は仮想管理装置Mに対してローカルストレージが割り当てられる。
通信部13は、ネットワークNWを通じて、他の配信サーバD、クライアント端末T、センターサーバC等との間の通信制御を行う。制御部11は、演算機能を有するCPU、作業用RAM、及びROM等から構成される。また、制御部11は、時計機能及びタイマー機能を備える。そして、制御部11は、コンピュータとしてのCPUが、仮想サーバ用のイメージファイルに含まれるプログラムを読み出して実行することにより、第1受信ステップ、第1取得ステップ、判定ステップ、特定ステップ、検索ステップ、第2取得ステップ、制御ステップ、生成ステップ、送信ステップを少なくとも実行する。
[5.通信システムの動作]
次に、図2から図5を参照して、本実施形態の通信システムSの動作について説明する。図2は、配信サーバDの制御部11のウェブ処理の一例を示すフローチャートである。ウェブ処理は、ウェブアプリケーションプロセス1で実行される処理である。ウェブ処理は、仮想サーバが起動することにより、ウェブアプリケーションプロセス1が起動したときに開始される。図2に示すように、制御部11は、クライアント端末Tからカラオケファイル要求を受信したか否かを判定する(ステップS1)。このとき、制御部11は、カラオケファイル要求を受信したと判定した場合には(ステップS1:YES)、ステップS2に進む。
ステップS2において、制御部11は、ファイル取得プロセス2から楽曲ファイルを取得する。具体的に制御部11は、カラオケファイル要求に含まれる楽曲番号から楽曲を識別するための番号を取得し、取得した番号に、楽曲ファイル用の所定の文字列を付加することにより、楽曲ファイルのファイル名を生成する。次いで、制御部11は、生成したファイル名をファイル取得プロセス2に通知する。ファイル取得プロセス2は、ファイル名に対応する楽曲ファイルをローカルストレージ3から取得する。ローカルストレージ3に楽曲ファイルが記憶されていない場合、ファイル取得プロセス2は、他の仮想サーバVn又はセンターサーバCから楽曲ファイルを取得する。
次いで、制御部11は、カラオケファイル要求に含まれるキー情報及びスピード情報に基づいて、取得した楽曲ファイルを変換することにより、キー情報及びスピード情報に対応した楽曲ファイルを生成する(ステップS3)。例えば、制御部11は、楽曲ファイルを解析することにより、楽曲の開始から終了まで時系列に沿ってサンプリング間隔ごとに音声周波数又は音高を特定する。サンプリング間隔は、楽曲データのサンプリング周波数の逆数である。そして、制御部11は、キー情報に基づいて、キー変更後の音声周波数又は音高を計算する。また、制御部11は、スピード情報に基づいて、サンプリング間隔ごとの再生位置が、再生速度の変更後にどの再生位置に変更されるかを計算する。制御部11は、計算された再生位置に基づき、再生速度の変更後におけるサンプリング間隔ごとの音声周波数又は音高を決定する。そして、決定したサンプリング間隔ごとの音声周波数又は音高に基づき、変換された楽曲ファイルを生成する。
次いで、制御部11は、ファイル取得プロセス2から映像ファイルを取得する(ステップS4)。具体的に、制御部11は、楽曲番号から背景を識別するための番号を取得する。取得した番号が本人映像又は特別映像を示す場合、制御部11は、取得した番号に、映像ファイル用の所定の文字列を付加することにより、映像ファイルのファイル名を生成する。取得した番号が一般映像を示す場合、制御部11は、例えば、一般映像の映像ファイルのファイル名をランダムに生成する。その理由は、一般映像としての背景をカラオケファイルの生成ごとに変えるためである。次いで、制御部11は、生成したファイル名をファイル取得プロセス2に通知することにより、ファイル取得プロセス2により映像ファイルを取得させる。
次いで、制御部11は、カラオケファイル要求に含まれるスピード情報及び端末解像度に基づいて、取得した映像ファイルを変換することにより、スピード情報及び端末解像度に対応した映像ファイルを生成する(ステップS5)。例えば、制御部11は、スピード情報に基づいて、フレーム間隔ごとの再生位置が、再生速度の変更後にどの再生位置に変更されるかを計算する。フレーム間隔は、映像ファイルのフレームレートの逆数である。制御部11は、計算された再生位置と、映像ファイルに含まれるフレーム画像に基づき、再生速度の変更後において、フレーム間隔ごとのフレーム画像を生成する。また、制御部11は、生成した各フレーム画像を、端末解像度に含まれる縦方向及び横方向の画素数が示すサイズのフレーム画像に変換する。そして、制御部11は、変換された複数のフレーム画像を接続することにより、変換された映像ファイルを生成する。
次いで、制御部11は、カラオケファイル要求に含まれるピアノロール有無情報がピアノロールありを示すか否かを判定する(ステップS6)。このとき、制御部11は、ピアノロール有無情報がピアノロールありを示していないと判定した場合には(ステップS6:NO)、ステップS7に進む。ステップS7において、制御部11は、ファイル取得プロセス2からテロップ情報ファイルを取得する。具体的に、制御部11は、楽曲番号から楽曲を識別するための番号を取得する。制御部11は、取得した番号に、テロップ情報ファイル用の所定の文字列を付加することにより、テロップ情報ファイルのファイル名を生成する。次いで、制御部11は、生成したファイル名をファイル取得プロセス2に通知することにより、ファイル取得プロセス2によりテロップ情報ファイルを取得させる。
次いで、制御部11は、制御部11は、変換された映像ファイルとテロップ情報ファイルを合成する(ステップS8)。具体的に、制御部11は、テロップ情報ファイルに含まれるテキストが示す歌詞の文字を、映像ファイルを構成するフレーム画像に合成する。このとき、制御部11は、スピード情報と、テロップ情報ファイルにテキストと対応付けられた再生位置とに基づいて、歌詞の文字を合成するフレーム画像を特定する。次いで、制御部11は、ステップS11に進む。
一方、制御部11は、ピアノロール有無情報がピアノロールありを示していると判定した場合には(ステップS6:YES)、ステップS9に進む。ステップS9において、制御部11は、ファイル取得プロセス2から、テロップ情報ファイルとピアノロール情報ファイルを取得する。テロップ情報ファイルの取得方法はステップS7と同様である。また、制御部11は、楽曲番号から楽曲を識別するための番号を取得する。制御部11は、取得した番号にピアノロール情報ファイル用の所定の文字列を付加することにより、ピアノロール情報ファイルのファイル名を生成する。次いで、制御部11は、生成したファイル名をファイル取得プロセス2に通知することにより、ファイル取得プロセス2によりピアノロール情報ファイルを取得させる。
次いで、制御部11は、変換された映像ファイル、テロップ情報ファイル及びピアノロール情報ファイルを合成する(ステップS10)。具体的に、制御部11は、ピアノロール情報ファイルに基づいて、ピアノロールの画像を生成する。制御部11は、生成した画像を、映像ファイルを構成するフレーム画像に合成する。また、制御部11は、ステップS8と同様に、歌詞の文字を、映像ファイルを構成するフレーム画像に合成する。このとき、制御部11は、歌詞の文字がピアノロールの画像と重ならないように、合成を行う。次いで、制御部11は、ステップS11に進む。
ステップS11において、制御部11は、変換した映像ファイル及び変換した楽曲ファイルを合成してカラオケファイルを生成し、生成したカラオケファイルをローカルストレージ3に記憶する。例えば、制御部11は、MPEG-2、MPEG-4等のコンテナフォーマットの規格に従い、映像ファイルの動画と楽曲ファイルの音声とを多重化して、カラオケファイルを生成する。次いで、制御部11は、生成したカラオケファイルをクライアント端末Tへ送信する(ステップS12)。次いで、制御部11は、生成したカラオケファイルをローカルストレージ3から削除する(ステップS13)。次いで、制御部11は、ステップS1に進む。
ステップS1において、制御部11は、カラオケファイル要求を受信していないと判定した場合には(ステップS1:NO)、ステップS14に進む。ステップS14において、制御部11は、仮想管理装置Mからの停止の指示に基づいて仮想サーバVnが停止するか否かを判定する。このとき、制御部11は、仮想サーバVnが停止しないと判定した場合には(ステップS14:NO)、ステップS1に進む。一方、制御部11は、仮想サーバVnが停止すると判定した場合には(ステップS14:YES)、ウェブ処理を終了させる。
図3は、配信サーバDの制御部11のファイル取得処理の一例を示すフローチャートである。ファイル取得処理は、ファイル取得プロセス2で実行される処理である。ウェブアプリケーション1からファイル取得プロセス2へ元データファイルのファイル名が通知されたとき、制御部11はファイル取得処理を開始させる。具体的に、図2に示すウェブ処理のステップS2、S4、S7及びS9においてファイル取得プロセスが呼び出されるたびに、ファイル取得処理が実行される。図3に示すように、制御部11は、通知されたファイル名に対応する元データファイルがローカルストレージ3に記憶されているか否かを判定する(ステップS21)。このとき、制御部11は、元データファイルが記憶されていると判定した場合には(ステップS21:YES)、ステップS22に進む。ステップS22において、制御部11は、ローカルストレージ3からファイル名に対応する元データファイルを取得して、作業RAMに記憶させる。次いで、制御部11は、ステップS28に進む。ステップS28において、制御部11は、取得した元データファイルの作業RAM上の格納場所を示すアドレス等をウェブアプリケーション1へ通知することにより、元データファイルをウェブアプリケーション1へ受け渡す。ステップS28を終えると、制御部11は、ファイル取得処理を終了させる。
一方、制御部11は、元データファイルが記憶されていないと判定した場合には(ステップS21:NO)、ステップS23に進む。ステップS23において、制御部11は、通知されたファイル名を含むアドレス要求を生成する。そして、制御部11は、ホルダ管理プロセス5へアドレス要求を送信する。次いで、制御部11は、アドレス要求に応じてホルダ管理プロセス5から送信されたIPアドレスを受信する(ステップS24)。次いで、制御部11は、受信したIPアドレスに対応する他の仮想サーバVn又はセンターサーバCから元データファイルを取得する(ステップS25)。具体的に、制御部11は、通知されたファイル名を含むファイル要求を、受信したIPアドレスに従って仮想サーバVn又はセンターサーバCへ送信する。ファイル要求を受信した仮想サーバVn又はセンターサーバCは、ファイル要求に含まれるファイル名に対応する元データファイルを送信する。そして、制御部11は、送信された元データファイルを受信して、作業RAMに記憶させる。次いで、制御部11は、取得した元データファイルをローカルストレージ3に記憶させる(ステップS26)。次いで、制御部11は、ローカルストレージ3から、そのローカルストレージ3が割り当てられた仮想サーバVnのIPアドレスを取得する。そして、制御部11は、取得したIPアドレス及び通知されたファイル名を含むファイル取得通知を、ホルダ管理プロセス5へ送信する(ステップS27)。次いで、制御部11は、ステップS28に進む。ステップS28を終えると、制御部11は、ファイル取得処理を終了させる。
図4は、配信サーバDの制御部11のメッセージ受信処理の一例を示すフローチャートである。メッセージ受信処理は、ホルダ管理プロセス5で実行される処理である。メッセージ受信処理は、仮想サーバが起動することにより、ホルダ管理プロセス5が起動したときに開始される。
メッセージ受信処理は、図2に示すウェブ処理、図3に示すファイル取得処理、及び図5に示す後述の仮想サーバ制御処理と並行して動作する。図4に示すように、制御部11は、何れかの仮想サーバVnのファイル取得プロセス2からファイル取得通知を受信したか否かを判定する(ステップS31)。このとき、制御部11は、ファイル取得通知を受信したと判定した場合には(ステップS31:YES)、ステップS32に進む。ステップS32において、制御部11は、受信したファイル取得通知に含まれるファイル名及びIPアドレスを対応付けて、ファイル保持リストに追加する。次いで、制御部11は、ステップS37に進む。
一方、制御部11は、ファイル取得通知を受信していないと判定した場合には(ステップS31:NO)、ステップS33に進む。ステップS33において、制御部11は、何れかの仮想サーバVnのファイル取得プロセス2からアドレス要求を受信したか否かを判定する(ステップS33)。このとき、制御部11は、アドレス要求を受信していないと判定した場合には(ステップS33:NO)、ステップS37に進む。一方、制御部11は、アドレス要求を受信したと判定した場合には(ステップS33:YES)、ステップS34に進む。ステップS34において、制御部11は、受信したアドレス要求からファイル名を取得する。そして、制御部11は、取得したファイル名がファイル保持リストに登録されているか否かを判定する。このとき、制御部11は、取得したファイル名がファイル保持リストに登録されていると判定した場合には(ステップS34:YES)、ステップS35に進む。ステップS35において、制御部11は、取得したファイル名に対応するIPアドレスをファイル保持リストから取得する。そして、制御部11は、取得したIPアドレスを、アドレス要求を送信してきた仮想サーバVnへ送信する。次いで、制御部11は、ステップS37に進む。一方、制御部11は、取得したファイル名がファイル保持リストに登録されていないと判定した場合には(ステップS34:NO)、ステップS36に進む。ステップS36において、制御部11は、センターサーバCのIPアドレスを、アドレス要求を送信してきた仮想サーバVnへ送信する。次いで、制御部11は、ステップS37に進む。
ステップS37において、制御部11は、仮想管理装置Mが停止するか否かを判定する。例えば、通信システムSの管理者等がセンターサーバCを操作すること等により、センターサーバCが停止の指示を示すメッセージを仮想管理装置Mへ送信する。例えば、このメッセージを仮想管理装置Mが受信したとき、制御部11は、仮想管理装置Mが停止すると判定する。このとき、制御部11は、仮想管理装置Mが停止しないと判定した場合には(ステップS37:NO)、ステップS31に進む。一方、制御部11は、仮想管理装置Mが停止すると判定した場合には(ステップS37:YES)、メッセージ受信処理を終了させる。
図5は、配信サーバDの制御部11の仮想サーバ制御処理の一例を示すフローチャートである。仮想サーバ制御処理は、仮想サーバ制御プロセス6で実行される処理である。仮想サーバ制御処理は、仮想管理装置が起動することにより、仮想サーバ制御プロセス6が起動したときに開始される。図5に示すように、制御部11は、ローカルストレージ7に記憶されている各仮想サーバVnのアクセス数を足し合わせることにより、全仮想サーバのアクセス数を計算する。また、制御部11は、仮想サーバリストに登録されているIPアドレスをカウントすることにより、現在稼働している仮想サーバVnの数を計算する。各仮想サーバVnの負荷監視プロセス4は、その仮想サーバVnのアクセス数をカウントし、アクセス数及び仮想サーバVnのIPアドレスを定期的に仮想管理装置Mへ送信する。仮想管理装置Mは、アクセス数及びIPアドレスを受信するごとに、アクセス数及びIPアドレスを対応付けてローカルストレージ7に記憶させる。そして、制御部11は、計算したアクセス数が、仮想サーバVnの数のN倍よりも多いか否かを判定する(ステップS41)。Nは、予め設定された値である。例えば、Nは10等であってもよい。制御部11は、アクセス数が仮想サーバVnの数のN倍よりも多いと判定した場合には(ステップS41:YES)、ステップS42に進む。ステップS42において、制御部11は、新規の仮想サーバVnを起動させる。例えば、制御部11は、仮想マシン起動停止制御プログラムへ仮想サーバVnの起動を要求する。仮想マシン起動停止制御プログラムは、仮想サーバVnを起動させる配信サーバD及び仮想サーバVnのIPアドレスを決定する。そして、仮想マシン起動停止制御プログラムは、決定した配信サーバDへ、仮想サーバVnを起動させるためのメッセージを送信する。メッセージを受信した配信サーバDは、記憶部12に記憶されている仮想サーバ用のイメージファイルに基づいて、仮想サーバVnを起動させる。仮想マシン起動停止制御プログラムは、決定したIPアドレスを制御部11へ通知する。次いで、制御部11は、通知されたIPアドレスを仮想サーバリストに追加する(ステップS43)。次いで、制御部11は、ステップS48に進む。
一方、制御部11は、アクセス数が仮想サーバVnの数のN倍よりも多くはないと判定した場合には(ステップS41:NO)、ステップS44に進む。ステップS44において、制御部11は、計算したアクセス数が仮想サーバVnの数のN−1倍よりも少ないか否かを判定する。このとき、制御部11は、アクセス数が仮想サーバVnの数のN−1倍よりも少なくはないと判定した場合には(ステップS44:NO)、ステップS48に進む。一方、制御部11は、アクセス数が仮想サーバVnの数のN−1倍よりも少ないと判定した場合には(ステップS44:YES)、ステップS45に進む。ステップS45において、制御部11は、稼働している仮想サーバVnのうち何れかの仮想サーバVnを停止させる。例えば、制御部11は、仮想サーバリストから、停止させる仮想サーバVnのIPアドレスを決定する。例えば、制御部11はランダムにIPアドレスを決定してもよい。または、制御部11は、ローカルストレージ7に記憶されている各仮想サーバVnのアクセス数を元に決定してもよい。例えば、アクセス数が0である仮想サーバVnのIPアドレスを決定してもよい。そして、制御部11は、例えば仮想マシン起動停止制御プログラムへ仮想サーバVnの停止を要求する(ステップS45)。仮想マシン起動停止制御プログラムは、決定されたIPアドレスに基づいて、停止させる仮想サーバVnを稼働している配信サーバDを特定する。そして、仮想マシン起動停止制御プログラムは、特定した配信サーバDへ、決定されたIPアドレスを含む停止要求を送信する。停止要求を受信した配信サーバDは、停止要求に含まれるIPアドレスに対応する仮想サーバVnを停止させる。次いで、制御部11は、仮想サーバリストから、停止させた仮想サーバVnのIPアドレスを削除する(ステップS46)。次いで、制御部11は、ファイル保持リストから、停止させた仮想サーバVnのエントリを削除させる(ステップS47)。具体的に、制御部11は、停止させた仮想サーバVnのIPアドレスを含む削除通知を、ホルダ管理プロセス5へ送信する。削除通知は、本発明の停止指示の一例である。削除通知を受信したホルダ管理プロセス5は、ファイル保持リストから、停止させた仮想サーバVnのIPアドレス、及びそのIPアドレスに対応付けられたファイル名を全て削除する。次いで、制御部11は、ステップS48に進む。
ステップS48において、制御部11は、仮想管理装置Mが停止するか否かを判定する。例えば、センターサーバCから停止の指示を示すメッセージを仮想管理装置Mが受信したとき、制御部11は、仮想管理装置Mが停止すると判定する。このとき、制御部11は、仮想管理装置Mが停止しないと判定した場合には(ステップS48:NO)、ステップS41に進む。一方、制御部11は、仮想管理装置Mが停止すると判定した場合には(ステップS48:YES)、仮想サーバ制御処理を終了させる。
なお、制御部11は、ステップS41において、アクセス数と稼働している仮想サーバVnの数のN倍とを比較し、ステップS44において、アクセス数と稼働している仮想サーバVnの数のN−1倍とを比較していた。しかしながら、アクセス数と比較する数は、仮想サーバVnの数のN倍又はN−1倍ではなくてもよい。制御部11は、比較する数を、仮想サーバVnの数に応じて決定すればよい。具体的に、仮想サーバVnの数の値が大きいほど、比較する数の値が大きくなれるように設定されてもよい。また、ステップS41でアクセス数と比較する数の値が、ステップS44でアクセス数と比較する数の値よりも大きく設定されてもよい。
以上説明したように、制御部11が、カラオケファイル要求に基づいて、楽曲ファイル、映像ファイル及びテロップ情報ファイルのファイル名を取得する。また、制御部11が、楽曲ファイル、映像ファイル及びテロップ情報ファイルがローカルストレージ3に記憶されているかを判定する。また、制御部11が、特定の元データファイルが記憶されていないと判定された場合には、元データファイルを記憶する仮想サーバを検索する。また、制御部11が、検索された仮想サーバから元データを取得してローカルストレージ3へ記憶させる。また、制御部11が、楽曲ファイル、映像ファイル及びテロップ情報ファイルを合成することにより、カラオケファイルを生成する。そのため、クラウドのリソースの利用効率を向上させることができる。
11 制御部
12 記憶部
13 通信部
D 配信サーバ
C センターサーバ
T クライアント端末
Vn 仮想サーバ
M 仮想管理装置
CC クラウド
NW ネットワーク
S 通信システム

Claims (6)

  1. 1又は複数の情報処理装置上で稼働する仮想サーバを動作させるためのプログラムであって、
    仮想サーバへのカラオケ情報の要求を示す要求情報を端末装置から受信する第1受信ステップと、
    前記第1受信ステップにより受信された前記要求情報に基づいて、前記カラオケ情報の生成に用いられる楽曲情報、映像情報及び歌詞情報をそれぞれ識別可能な複数の識別情報を取得する第1取得ステップと、
    前記第1取得ステップにより取得された前記複数の識別情報が示す前記楽曲情報、前記映像情報及び前記歌詞情報が、前記第1受信ステップにより前記要求情報を受信した仮想サーバがアクセス可能な第1記憶領域に記憶されているかを判定する判定ステップと、
    前記楽曲情報、前記映像情報及び前記歌詞情報のうち、前記判定ステップにより前記第1記憶領域に記憶されていると判定されなかった特定情報を特定する特定ステップと、
    前記1又は複数の情報処理装置上で稼働する1以上の他の仮想サーバの中から、前記特定情報を記憶する特定の仮想サーバを検索する検索ステップと、
    前記検索ステップにより検索された前記特定の仮想サーバから前記特定情報を取得する第2取得ステップと、
    前記第2取得ステップにより取得された前記特定情報を前記第1記憶領域に記憶させる制御ステップと、
    前記第1記憶領域に記憶された前記楽曲情報、前記映像情報及び前記歌詞情報を合成することにより、前記カラオケ情報を生成する生成ステップと、
    前記生成ステップにより生成された前記カラオケ情報を前記端末装置へ送信する送信ステップと、
    をコンピュータに実行させることを特徴とするプログラム。
  2. 前記生成ステップは、前記第1記憶領域に前記カラオケ情報を生成し、
    前記送信ステップは、前記第1記憶領域に生成された前記カラオケ情報を送信し、
    前記プログラムは、
    前記送信ステップにより送信された前記カラオケ情報を前記第1記憶領域から削除する第1削除ステップを更に前記コンピュータに実行させることを特徴とする請求項1に記載のプログラム。
  3. 前記プログラムは、
    前記第2取得ステップにより取得された前記特定情報の前記識別情報と、前記第1受信ステップにより前記要求情報を受信した仮想サーバの所在を示す所在情報とを、前記1以上の他の仮想サーバ又は前記1又は複数の情報処理装置上で稼働する仮想管理装置へ通知する通知ステップを更に前記コンピュータに実行させることを特徴とする請求項1又は2に記載のプログラム。
  4. 前記プログラムは、
    何れかの仮想サーバから通知された前記識別情報及び前記所在情報を対応付けて第2記憶領域に記憶させる第2制御ステップを更に前記コンピュータに実行させ、
    前記検索ステップは、前記第2記憶領域の中から、前記特定情報を記憶する前記特定の仮想サーバを検索することを特徴とする請求項3に記載のプログラム。
  5. 前記プログラムは、
    所定の仮想サーバの停止指示を受信する第2受信ステップと、
    前記第2受信ステップにより、前記所定の仮想サーバの停止指示が受信された場合、前記所定の仮想サーバの所在を示す所在情報に対応付けられた前記識別情報を前記第2記憶領域から削除する第2削除ステップと、
    を更に前記コンピュータに実行させることを特徴とする請求項4に記載のプログラム。
  6. 1又は複数の情報処理装置上で稼働する仮想サーバへのカラオケ情報の要求を示す要求情報を端末装置から受信する第1受信手段と、
    前記第1受信手段により受信された前記要求情報に基づいて、前記カラオケ情報の生成に用いられる楽曲情報、映像情報及び歌詞情報をそれぞれ識別可能な複数の識別情報を取得する第1取得手段と、
    前記第1取得手段により取得された前記複数の識別情報が示す前記楽曲情報、前記映像情報及び前記歌詞情報が、前記第1受信手段により前記要求情報を受信した仮想サーバがアクセス可能な第1記憶領域に記憶されているかを判定する判定手段と、
    前記楽曲情報、前記映像情報及び前記歌詞情報のうち、前記判定手段により前記第1記憶領域に記憶されていると判定されなかった特定情報を特定する特定手段と、
    前記1又は複数の情報処理装置上で稼働する1以上の他の仮想サーバの中から、前記特定情報を記憶する特定の仮想サーバを検索する検索手段と、
    前記検索手段により検索された前記特定の仮想サーバから前記特定情報を取得する第2取得手段と、
    前記第2取得手段により取得された前記特定情報を前記第1記憶領域に記憶させる制御手段と、
    前記第1記憶領域に記憶された前記楽曲情報、前記映像情報及び前記歌詞情報を合成することにより、前記カラオケ情報を生成する生成手段と、
    前記生成手段により生成された前記カラオケ情報を前記端末装置へ送信する送信手段と、
    を備えることを特徴とするシステム。
JP2014075288A 2014-04-01 2014-04-01 プログラム及びシステム Active JP6248765B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014075288A JP6248765B2 (ja) 2014-04-01 2014-04-01 プログラム及びシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014075288A JP6248765B2 (ja) 2014-04-01 2014-04-01 プログラム及びシステム

Publications (2)

Publication Number Publication Date
JP2015197591A JP2015197591A (ja) 2015-11-09
JP6248765B2 true JP6248765B2 (ja) 2017-12-20

Family

ID=54547292

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014075288A Active JP6248765B2 (ja) 2014-04-01 2014-04-01 プログラム及びシステム

Country Status (1)

Country Link
JP (1) JP6248765B2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002287776A (ja) * 2001-03-26 2002-10-04 Victor Co Of Japan Ltd 異機種の情報端末を接続したデータ配信システム
JP4935879B2 (ja) * 2009-09-30 2012-05-23 ブラザー工業株式会社 カラオケネットワークシステム
JP5206719B2 (ja) * 2010-03-26 2013-06-12 ブラザー工業株式会社 カラオケネットワークシステム及び集中管理装置

Also Published As

Publication number Publication date
JP2015197591A (ja) 2015-11-09

Similar Documents

Publication Publication Date Title
US9055193B2 (en) System and method of a remote conference
US9712590B2 (en) Method and device for transmitting streaming media
CN109168020A (zh) 基于直播的视频处理方法、装置、计算设备和存储介质
WO2009119394A1 (ja) 映像取得方法、映像取得装置、映像取得システム及び映像取得用プログラム
JP2014082582A (ja) 視聴装置、コンテンツ提供装置、視聴プログラム、及びコンテンツ提供プログラム
JP2016009925A (ja) データ処理装置、データ処理方法、及びプログラム
TWI533678B (zh) 即時轉播同步方法以及使用該方法的系統
JP2015056855A (ja) 配信管理装置、及び配信管理システム
JP2017069636A (ja) 情報処理装置、配信方法、及びプログラム
JP4796377B2 (ja) コンテンツ提供サーバ及びコンテンツ提供プログラム
JPWO2008129600A1 (ja) コンテンツ再生装置、コンテンツ配信装置、コンテンツ配信システム及びメタデータ生成方法
JP6248765B2 (ja) プログラム及びシステム
JPWO2010100913A1 (ja) メタデータ生成管理装置、メタデータ生成システム、メタデータ生成管理用集積回路、メタデータ生成管理方法、及びプログラム
JP2016091436A (ja) 通信装置、通信方法、及び、プログラム
JP2010087717A (ja) 動画ファイル送信サーバおよびその動作制御方法
JP2018198746A (ja) 端末およびサーバ
JP2008217123A (ja) 通信システム、端末装置、サーバ、端末装置の制御方法及びそのプログラム
JP4946132B2 (ja) ネットワーク型コンテンツ再生システム、コンテンツ管理装置、コンテンツ管理方法、及び、プログラム
KR101805302B1 (ko) 멀티미디어 컨텐츠 재생 장치 및 방법
JP2019129540A (ja) 情報処理装置、データ生成方法およびプログラム
KR102432376B1 (ko) 콘텐츠 재생 방법 및 시스템
EP2530945A2 (en) Server, data distribution system and data distribution method
JP6089315B2 (ja) 端末装置、プログラムおよび端末装置の制御方法
JP5580097B2 (ja) 索引コンテンツ生成装置および映像検索システム
KR20060057047A (ko) 컨텐츠 제공 방법 및 그 방법을 수행하는 이동 통신 단말기

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170912

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171106

R150 Certificate of patent or registration of utility model

Ref document number: 6248765

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150