以下、本発明の一実施形態を図面に基づいて説明する。
[カラオケネットワークシステム1の構成の説明]
図1は、インターネット200を利用したカラオケネットワークシステム1の概略構成を示すブロック図である。
図1に示すように、カラオケネットワークシステム1は、カラオケ用ホストサーバ2、及びインターネット用ホストサーバ3に対して、カラオケサービスを提供するカラオケ店等の各カラオケルームに設置されるカラオケ装置であってカラオケ用ホストサーバ2と直接通信可能なマスタ機4a、並びにカラオケ用ホストサーバ2とは直接通信しないスレイブ機4b、及びリモコン端末5がLAN100を介して接続された店舗内のネットワークと、パーソナルコンピュータ(以下、パソコン)6a及び携帯電話6b等の情報端末からなるユーザ端末6とが、インターネット200を介して接続されることによって形成されている。
カラオケ用ホストサーバ2は、カラオケ店等に通常1台設置されているカラオケ装置のマスタ機4aに対してカラオケの楽曲データや各種コンテンツデータ等を配信するためのカラオケサービス用のホストサーバである。カラオケ用ホストサーバ2は、ホストサーバ側のルータ140とカラオケ店側のルータ120との間でインターネット200上に形成されるVPN(virtual private network)を介して、カラオケ店側のLAN100に接続されている。つまり、カラオケ用ホストサーバ2と、マスタ機4a及びリモコン端末5との間の通信は、インターネット200上のVPN及びカラオケ店側のLAN100を介して行われる。
さらに、本カラオケネットワークシステム1において、カラオケ用ホストサーバ2は、本システムを利用する権限を有するユーザに関する登録情報を蓄積するユーザ登録データベース2c(詳細は後述する)や、登録されているユーザのカラオケ歌唱に関する情報及び当該ユーザから提供される情報等をインターネット200上で公開するための個人用Webページのデータを蓄積する個人用Webページデータベース2d(詳細は後述する)等を有するデータベース2bを備えている。また、このデータベース2bには、各カラオケ店向けに配信するコンテンツのデータや、各カラオケ店の位置(住所、地図上の座標等)や電話番号等の連絡先、営業時間、各カラオケ店に設置されているマスタ機4aの識別情報等といった各種情報を含む管理データベースも格納されている。
そして、カラオケ用ホストサーバ2が備えるWebサーバ2aは、このデータベース2bと連携しており、カラオケ店側のリモコン端末4等からの要求に応じて、カラオケネットワークシステム1を利用するためにログインしようとするユーザに対する認証や、ログインしたユーザに対する個人用Webページの配信・更新サービスを行う。すなわち、ここでいう連携とは、ユーザ認証及び個人用Webページの配信をWebサーバ2aが行うために、データベース2b内に格納されたユーザ登録データベース2cや個人用Webページデータベース2dを参照したり、Webサーバ2aが受け付けた個人用Webページ更新のデータをデータベース2b内に格納された個人用Webページデータベース2dに反映させたりすることで、Webサーバ2aが行う前記サービスに利用するためのデータと、データベース2bに格納されているデータとが対応していることを指す。
インターネット用ホストサーバ3は、Webサーバ3aによってパソコン6aや携帯電話6b等の情報端末(以下、これらを総称する場合はユーザ端末6と表記する)に対してインターネット200を介して情報の送信をするためのホストサーバである。また、インターネット用ホストサーバ3は、適宜な通信回線(例えば、LANやADSL回線等)を介してカラオケ用ホストサーバ2と通信可能に構成されている。
また、インターネット用ホストサーバ3が備えるデータベース3bは、カラオケ用ホストサーバ2が備えるデータベース2bとの間でミラーリングを行うことで、上述のユーザ登録データベース2cや個人用Webページデータベース2dといった一部のデータを互いに共有(すなわち、同一のデータをそれぞれ有する)している。
そして、インターネット用ホストサーバ3が備えるWebサーバ3aは、データベース3bと(上述のWebサーバ2aと同様に)連携しており、ユーザ端末6からの要求に応じて、カラオケ用ホストサーバ2が備えるWebサーバ2aと同様にカラオケネットワークシステム1を利用するためにログインしようとするユーザに対する認証や、ログインしたユーザに対する個人用Webページの配信・更新サービスを行う。
また、Webサーバ3aは、ユーザ端末6からの特定のコンテンツの利用可否に関する問い合わせに対し、カラオケ用ホストサーバ2を介して各カラオケ店のコンテンツの取得状況に関する情報を収集し、この収集した情報に基づいて当該コンテンツの利用可否に関する情報をユーザ端末6へ配信するサービスを行う。
パソコン6aは、十分な処理能力を有する通常のコンピュータであり、適宜な通信回線を介してインターネット200に接続されている。また、パソコン6aは、インターネット200を介して受信したWebページを閲覧したり、ユーザが画面上で情報や操作指示を入力したり、アニメーション等を表示するためのアプリケーションを動作させたりするための、いわゆるWebブラウザ機能を有するアプリケーションを備えている。
携帯電話6bは、携帯電話事業者が提供するアクセスポイントや通信回線を介してインターネット200に接続可能ないわゆる第3世代以降の携帯電話であり、電話をかける・受けるといった通話機能以外に、インターネット200を介して受信したWebページを画面で閲覧したり、ユーザが画面上で情報や操作指示を入力したり、アニメーション等を表示するためのアプリケーションを動作させたりするための、いわゆるWebブラウザ機能を有するアプリケーションを備えている。
パソコン6a及び携帯電話6b等からなるユーザ端末6は、インターネット200を介してインターネット用ホストサーバ3内のWebサーバ3aへアクセスし、Webサーバ3aから受信したデータに基づいて個人用Webページの閲覧・更新や、ユーザが指定したコンテンツの利用可否に関する情報の取得及び表示を行うための各種処理を実行する。
カラオケ装置のマスタ機4a及びスレイブ機4b(以下、これらを総称するときは、単にカラオケ装置4と称する)は何れも、カラオケを利用するユーザから指定されたカラオケ楽曲や、映画、バラエティ番組、ドラマ、CMといった映像コンテンツやオーディション、クイズ等のユーザ参加型のコンテンツ、飲食物の注文といった購買コンテンツ等、様々なコンテンツの再生を行うための装置である。
カラオケ装置4は、全体の作動を制御する制御部、LAN100に接続し外部と通信を行うための通信インタフェース、カラオケ用の楽曲データや映像データ等のコンテンツデータやプログラム等の各種データを記憶するハードディスク(HDD)、複数のキースイッチからなる操作部、リモコン端末5と通信を行うための赤外線通信部、マイクロフォン、演奏データに基づく演奏再生を行うMIDI音源、MIDI音源から生成されたオーディオ信号及びマイクロフォンから入力されたオーディオ信号をスピーカへ出力する音声制御部、画像データに基づく映像の再生を制御する映像再生部、映像を表示するためのモニタ等を備える。
リモコン端末5は、カラオケルーム内で使用されるためのものであり、ユーザが再生を希望するコンテンツの再生の予約を行うための操作等の各種操作をユーザから受け付け、その操作信号を赤外線通信によってカラオケ装置4に送信する機能を有する。また、リモコン端末5は、無線LAN規格に従った無線通信によりアクセスポイント110経由でLAN100及びインターネット200上のVPNを介してカラオケ用ホストサーバ2へアクセスし、カラオケ用ホストサーバ2から受信したデータに基づいて個人用Webページの閲覧・更新するための機能も有する。
LAN100にはアクセスポイント110が接続されている。このアクセスポイント110は、無線LAN規格(例えば、IEEE802.11a/b/g規格,HomeRF規格,Bluetooth規格など)に従った無線通信で端末間を接続するための電波中継機であり、複数の端末と同時に通信を行う機能を有する。リモコン端末5とカラオケ用ホストサーバ2とは、このアクセスポイント110を中継することによって、LAN100及びインターネット200上のVPNを介して互いにデータ通信を行うことができる。
ルータ120,140は、インターネット200等の外部ネットワーク上の通信経路を暗号化して、仮想的に専用回線で接続されている状態を作り出すVPN技術を利用するためのいわゆるVPNゲートウェイである。ルータ120,140は、外部ネットワークであるインターネット200と、内部ネットワークであるLAN100及びカラオケ用ホストサーバ2側のネットワークとの接続点にそれぞれ置かれ、内部ネットワークからの通信を暗号化してインターネット200側に送出する。また、インターネット200側からの通信を復号化して内部ネットワークへ送出する。
[カラオケ用ホストサーバ2からカラオケ装置4へのコンテンツ配信の手順の説明]
ここで、本実施形態のカラオケネットワークシステム1において、カラオケ用ホストサーバ2から各カラオケ店に設置されたカラオケ装置4へコンテンツを配信する手順について説明する。図2は、カラオケ用ホストサーバ2、各カラオケ店に設置されたカラオケ装置のマスタ機4a及びスレイブ機4b間のネットワーク接続の概要を模式的に示す図である。
この図2に示すように、カラオケ用ホストサーバ2と各カラオケ店のマスタ機4aとは、WANであるインターネット200を介して接続されており、両者間で直接通信可能な構成となっている。各カラオケ店に設置されているマスタ機4aとスレイブ機4bとは、カラオケ店ごとに設置された構内通信網であるLAN100を介して接続されており、互いに通信可能な構成となっている。ここで、各カラオケ店のマスタ機4aは、インターネット200及びLAN100を介して、カラオケ用ホストサーバ2及び同一カラオケ店内のスレイブ機4bの双方に対して通信を行うことができる。これに対して、スレイブ機4bは、同一カラオケ店内のマスタ機4aあるいは他のスレイブ機4bと通信可能であるが、カラオケ用ホストサーバ2とは通信を行うことはできない構成となっている。
このように構成されたネットワークにおいて、カラオケ用ホストサーバ2から各カラオケ店に設置されたカラオケ装置4へのコンテンツの配信は、図3のラダーチャートに示すような手順で行われる。
まず、カラオケ用ホストサーバ2は、インターネット200のVPNを介してマスタ機4aに対して新しいコンテンツを配信する(S10)。マスタ機4aは、カラオケ用ホストサーバ2から取得したコンテンツをハードディスクに格納し、これを利用可能なコンテンツとして登録する(S11)。そして、カラオケ用ホストサーバ2に対して、コンテンツ配信が完了した旨を通知する(S12)。
その後、マスタ機4aは、カラオケ店内のLAN100に接続されている各スレイブ機4b(ここでは、スレイブ機a、bの2台のスレイブ機4bあると想定する)に対して、新しく取得したコンテンツを順次コピーする(S13,S14)。マスタ機4aからコンテンツを取得したスレイブ機a,bは、それぞれ自機が取得しているコンテンツのリストである取得コンテンツリスト(図4の※1参照)に、新しく取得したコンテンツに関するレコードを追加する(S15,S16)。
図4の※1は、スレイブ機4bが記憶している取得コンテンツリストの記述様式を模式的に示す図である。この取得コンテンツリストは、スレイブ機4bが取得したコンテンツのファイル名称及び当該コンテンツの利用可否を示すコンテンツ取得フラグの一覧であり、スレイブ機4bのハードディスク等に記憶されている。コンテンツ取得フラグは、コンテンツファイル名ごとに「取得」又は「利用無効」という内容を示している。このリストにおいて、コンテンツ取得フラグが「取得」を示している場合、自カラオケ装置4において当該コンテンツが利用可能な状態であることを示している。また、「利用無効」を示している場合、当該コンテンツのファイルが自カラオケ装置4のハードディスクに格納されている(すなわち、取得済みである)が、コンテンツ提供者とカラオケ店側の契約等により、自カラオケ装置4では利用できない(利用が許可されていない)状態であることを示している。なお、スレイブ機4bのハードディスクに格納されていない(すなわち、取得していない)コンテンツについては、この取得コンテンツリストにそのコンテンツに関するレコードは存在しない。
この取得コンテンツリストは、マスタ機4aから新しいコンテンツが配信されたときや、格納しているコンテンツが消去されたとき、コンテンツの利用に関する契約が変更され格納しているコンテンツの利用可否が変更されたとき等、スレイブ機4bにおけるコンテンツの取得状況が変化したときに、スレイブ機4bによって都度更新される。
[リモコン端末5及びユーザ端末6から行う「ユーザ登録」の説明]
本実施形態のカラオケネットワークシステム1では、ユーザは、予め登録された当該ユーザのアカウントによってシステムにログインすることで、個々のユーザに対応付けしたコンテンツの再生予約、個人用Webページの配信・編集、あるいは特定のコンテンツの利用可否の問い合わせ等といった各種サービスを利用することが可能になる。ここでは、ユーザがリモコン端末5やユーザ端末6を利用して、上述のような各サービスを利用するためのアカウントを取得する「ユーザ登録」の手順について説明する。
なお、以下においては説明の便宜上、例えば「リモコン端末5、ユーザ端末6からホストサーバ内のWebサーバに接続する」といった具合に、カラオケ用ホストサーバ2とインターネット用ホストサーバ3とを、又はWebサーバ2a,3aとを特に区別せずに単にホストサーバ、Webサーバ等と表記する場合、リモコン端末5はカラオケ用ホストサーバ2内のWebサーバ2aへ、ユーザ端末6はインターネット用ホストサーバ3内のWebサーバ3aへそれぞれ接続することを指す。
図5は、リモコン端末5及びユーザ端末6によって「ユーザ登録」を行う際の画面表示例を示す説明図である。
まず、ユーザからの指示入力に基づいて、図5(a)に示すようなネットワークメニュー画面71が、リモコン端末5及びユーザ端末6が備えるモニタ等の表示デバイスに表示される。なお、このネットワークメニュー画面71や後述の各種画面は、リモコン端末5やユーザ端末6が備えるユーザ登録用のアプリケーションソフトウェア等として予め格納されているデータに基づいて表示されるように構成することが考えられる。あるいは、インターネット200を介して、リモコン端末5又はユーザ端末6からホストサーバ内のWebサーバへそれぞれ接続し、各Webサーバから配信されるWebページに基づいて表示されるような構成であってもよい。
図5(a)に示すネットワークメニュー画面71は、個人用Webページの閲覧・更新サービスを利用するための操作メニューを表示する画面であり、既に登録済みのユーザがシステムにログインするためのログイン画面へ移行するための「ログイン」ボタン82や、新規のユーザがアカウントを取得するための「新規ユーザ登録」ボタン83等が表示されている。ここで、タッチパネル、キースイッチやポインティングデバイス等を介して「新規ユーザ登録」ボタン83が押下されると、図5(b)に示すようなユーザ登録画面72が表示される。
図5(b)に示すユーザ登録画面72は、新規のユーザがアカウントを取得するために、システム上でのユーザの呼称となるニックネーム及びユーザ認証用のパスワードの入力をユーザ対して要求するための画面である。ここで、ユーザからの操作によってユーザ登録画面72内の入力ボックス内にニックネーム及びパスワードが入力された後「OK」ボタン84aが押下されると、ユーザ登録を要求するための登録要求情報と共に、ユーザによって入力されたニックネーム及びパスワードを示すデータが当該端末に対応するホストサーバ内のWebサーバへインターネット200を介して送信される。
リモコン端末5又はユーザ端末6から送信された登録要求情報、当該ユーザのニックネーム及びパスワードを受信したホストサーバ内のWebサーバは、まず、ユーザごとに固有の識別情報であるユーザIDを生成する。そして、受信した内容に基づいて各ホストサーバ内のデータベース2b,3b内に設けられたユーザ登録データベース2c(詳細は後述)に当該ユーザのニックネーム、ユーザID、パスワード等の所定の情報を新たに登録する。
次に、ユーザ登録が完了した旨の情報とユーザIDとをユーザに対して通知するための登録完了情報を生成し、この登録完了情報を登録要求情報の送信元であるリモコン端末5又はユーザ端末6に対して返信する。なお、ユーザ端末6から送信される登録要求情報と共に、ユーザ所有する携帯電話6bの電話番号や電子メールアドレスが送信された場合は、登録完了情報を電子メール等で当該携帯電話6bへ送信してもよい。
リモコン端末5又はユーザ端末6がホストサーバから登録完了情報を受信すると、この受信した登録完了情報に基づいて、図5(c)に示すようなユーザ登録完了画面73が表示される。ここでは、ユーザ登録完了画面73にユーザ「Mike06」のユーザ登録が完了した旨を通知する旨のメッセージ、「Mike06」のユーザID等が表示されている。
ホストサーバ側が発行するユーザIDは、ユーザがリモコン端末5又はユーザ端末6からシステムにログインする際にパスワードと共に入力が必要となる認証用の識別情報である。したがって、ユーザは、このユーザ登録完了画面73によって自身に割り当てられたユーザIDを確認する。
そして、ユーザ登録完了画面73において、ユーザによって「OK」ボタン84bが押下されると、「ユーザ登録」が完了する。
[ユーザ登録データベース2c、個人用Webページデータベース2dの説明]
ここで、カラオケ用ホストサーバ2及びインターネット用ホストサーバ3内のデータベース2b,3bに格納されているユーザ登録データベース2c及び個人用Webページデータベース2dの具体的な内容について説明する。なお、データベース2b,3bは、それぞれ同一のユーザ登録データベース2c及び個人用Webページデータベース2dを共有している。
図6(a)は、ユーザ登録データベース2cの具体的内容を模式的に示す説明図である。このユーザ登録データベース2cは、上記「ユーザ登録」を経て登録された各ユーザのニックネーム、ユーザID、パスワード、及び当該ユーザの個人用Webページデータの格納先を示すパス等の各種情報を含むユーザ登録データのテーブルである。
本実施形態のカラオケネットワークシステム1では、各ホストサーバ内のWebサーバがこのユーザ登録データベース2cを参照することにより、ログインを要求してきたユーザに対する認証、ユーザとニックネームとの対応付け、ユーザと当該ユーザの個人用Webページとの対応付けを行う。
個人用Webページデータベース2d(図6(b)参照)は、ユーザ登録データベースに登録されている各ユーザの個人用Webページのデータを格納している。個人用Webページのデータは、個人用Webページを所定の様式でリモコン端末5やユーザ端末6が備えるWebブラウザによって表示するためのデータのまとまりで、テキストデータやHTMLによるレイアウト情報、画像・音声・動画データ等から構成される。
このような個人用Webページのデータは、上述の「ユーザ登録」が行われた際に、新規登録されたユーザのための個人用Webページの雛形のデータを自動的に生成し、この雛形のデータを個人用Webページデータベース2dに格納すると共に、この個人用Webページの雛形のデータの格納先のパスをユーザ登録データベース2cの当該ユーザのユーザ登録データに登録しておくことが考えられる。このようにすることで、後にこのユーザが個人用Webページの雛形に基づいて簡単に自身の個人用Webページを編集することができる。
個人用Webページは、カラオケ装置4を利用したユーザの歌唱履歴、十八番の楽曲、歌唱に対する採点結果等に関する情報である「カラオケ情報」や、ユーザから提供される公開情報である「プロフィール」、「メッセージ」といった情報をコンテンツとして有する。
このうち「カラオケ情報」は、システムにログインしたユーザがカラオケ装置4を利用してカラオケ歌唱を行うことで、当該ユーザが歌唱した楽曲の楽曲名、歌唱したときの音高キー、歌唱時間等を含む歌唱履歴、十八番の楽曲、採点結果等を示すデータが当該カラオケ店のマスタ機4aを介してカラオケ用ホストサーバ2へアップロードされるように構成されている。また、「カラオケ情報」に含まれる歌唱履歴や十八番の楽曲等を示すデータは、個人用Webページとして表示する以外に、カラオケ装置4に対して演奏楽曲を予約するときに、選曲リストとしてリモコン端末5や携帯電話6bでダウンロードすることで、このダウンロードした歌唱履歴や十八番の楽曲のリスト中から演奏楽曲を選択できるように構成されている。
本実施形態のカラオケネットワークシステム1では、上述の「ユーザ登録」において登録済みのユーザであれば、リモコン端末5からシステムにログインすることで、ユーザが利用するコンテンツを当該ユーザのアカウントに対応付けることができる。例えば、ユーザが、利用するコンテンツとしてカラオケ楽曲の演奏を指定して歌唱を行った場合、当該ユーザに対応する歌唱履歴等のカラオケ歌唱情報を当該カラオケ店のマスタ機4aを介してカラオケ用ホストサーバ2へ送信することで、当該ユーザのカラオケ歌唱に関する情報をカラオケ用ホストサーバ2のデータベース2bに蓄積できる。
次に、上述の「ユーザ登録」によって登録されたユーザがシステムにログインするための手順の概要について説明する。上述の「ユーザ登録」によって登録されたユーザが、リモコン端末5又はユーザ端末6を用いて個人用Webページの閲覧・更新やコンテンツの利用可否に関する情報の配信等の各種サービスを利用する場合は、まず、図5(a)に示すネットワークメニュー画面71で「ログイン」ボタン82を押下することで表示される所定のログイン画面において、登録されているユーザID及びパスワードを入力することで、システムにログインする。
このとき、ホストサーバ内のWebサーバでは、リモコン端末5又はユーザ端末6から送信されてきたユーザID及びパスワードと、データベース2bに格納されているユーザ登録データベース2c(図6(a)参照)に登録されているユーザID及びパスワードとが照合されることで、ログインを要求してきたユーザの認証が行われる。
なお、本実施形態のカラオケネットワークシステム1では、本発明における特徴的なサービスとして、パソコン6aや携帯電話6bからシステムにログインしたユーザが特定のコンテンツを指定することで、その指定されたコンテンツの利用可否に関する情報(利用可否情報)がインターネット用ホストサーバ3から当該ユーザ端末6へ配信される「コンテンツ利用可否情報配信サービス」を利用できる。インターネット用ホストサーバ3からユーザ端末へ配信される利用可否情報には、ユーザが指定したコンテンツを利用可能なカラオケ店及びそのカラオケルームの部屋番号、当該カラオケ店の位置や連絡先といった情報が含まれている。ユーザは、パソコン6aや携帯電話6bを利用してコンテンツの利用可否情報の内容を確認することで、カラオケ店に来店する前に目的のコンテンツがどのカラオケ装置で利用できるかを予め知ることができる。
[コンテンツ利用可否情報配信サービスの説明]
以下、上述の「コンテンツ利用可否情報配信サービス」に関する各種処理の手順について説明する。
図7は、「コンテンツ利用可否情報配信サービス」において、ユーザ端末6、インターネット用ホストサーバ3、カラオケ用ホストサーバ2、カラオケ装置のマスタ機4a及びカラオケ装置のスレイブ機4b間で行われる通信の流れを模式的に示すラダーチャートである。なお、このラダーチャートにおけるステップ(S)番号は、後述する各フローチャートのステップ番号と対応する。
まず、ユーザ端末6において、ユーザからの操作によりコンテンツ名やコンテンツ番号等のコンテンツ識別情報、及びインターネット用ホストサーバ3から配信される利用可否情報の内容を絞り込むための検索条件等を入力する(S101)。次に、ユーザにより入力されたコンテンツ識別情報及び検索条件に基づき、インターネット用ホストサーバ3に対して、利用可否情報の配信を要求する(S103)。
インターネット用ホストサーバ3は、ユーザ端末6からの要求を受けると、各カラオケ装置4におけるコンテンツ取得状況に関する情報の収集をカラオケ用ホストサーバ2に対して指示する(S202)。カラオケ用ホストサーバ2は、インターネット用ホストサーバ3からの指示を受けると、各カラオケ店のマスタ機4aに対してコンテンツ取得状況の配信を要求する(S303)。
マスタ機4aは、カラオケ用ホストサーバ2からの要求を受けると、自マスタ機4aのコンテンツ取得状況と、同一店舗内のLAN100に接続されている管理下のスレイブ機4bから取得した各スレイブ機4bのコンテンツ取得状況とをカラオケ用ホストサーバ2へ配信する(S410,S703)。
ここで、マスタ機4aが管理下のスレイブ機4bのコンテンツ取得状況を取得する手順について、(a)の第1実施形態と(b)の第2実施形態との2つの手順をそれぞれ説明する。
(a)の第1実施形態では、マスタ機4aに対してカラオケ用ホストサーバ2からコンテンツ取得状況の配信要求(S303)があったときに、マスタ機4aは管理下のスレイブ機4bに対してコンテンツ取得状況の配信を要求する(S402)。そして、この要求に応じて各スレイブ機4bから配信されてきたコンテンツ取得状況を取得する。その後、自マスタ機4a及び各スレイブ機4bのコンテンツ取得状況をカラオケ用ホストサーバ2へ配信する(S410)。
(b)の第2実施形態では、カラオケ用ホストサーバ2からのコンテンツ取得状況の配信要求(S303)の有無に関わらず、マスタ機4aは、所定のタイミングで管理下のスレイブ機4bに対してコンテンツ取得状況の配信を要求する(S602)。そして、この要求に応じてスレイブ機4bから配信されてきたコンテンツ取得状況を取得する。なお、マスタ機4aがスレイブ機4bに対してコンテンツ取得状況の配信を要求するタイミングは、スレイブ機4bにおいてコンテンツの取得状況が変化したときとする。スレイブ機4bにおいてコンテンツの取得状況が変化する状況としては、次の(1)〜(3)のような事例が挙げられる。
(1)マスタ機4aからスレイブ機4bに対して新たなコンテンツが配信されたとき。
(2)コンテンツ提供者とカラオケ店との間の契約変更により、スレイブ機4bで利用可能なコンテンツの種類や数量が変更されたとき。
(3)スレイブ機4bにおいてコンテンツファイルの記憶媒体であるハードディスクが交換されたとき。
(b)の第2実施形態では、マスタ機4aは、上記(1)〜(3)のケースによってスレイブ機4bにおいてコンテンツの取得状況が変化したときに、都度スレイブ機4bからコンテンツ取得状況を取得しておく。その後、マスタ機4aに対してカラオケ用ホストサーバ2からコンテンツ取得状況の配信要求(S303)があったときに、自マスタ機4aのコンテンツ取得状況と共に、予め取得したスレイブ機4bのコンテンツ取得状況をカラオケ用ホストサーバ2へ配信する。
スレイブ機4bは、マスタ機4aからの要求を受けると、自スレイブ機4bのコンテンツ取得状況をマスタ機4aへ配信する(S810)。
カラオケ用ホストサーバ2は、マスタ機4aからマスタ機4a及びスレイブ機4bのコンテンツ取得状況を取得すると、その内容に基づくコンテンツ取得状況をインターネット用ホストサーバ3へ配信する(S309)。
インターネット用ホストサーバ3は、カラオケ用ホストサーバ2からコンテンツ取得状況を取得すると、その内容に基づいてユーザにより指定された検索条件に適合する利用可否情報を作成し、これを要求元のユーザ端末6へ配信する(S211)。
ユーザ端末6は、インターネット用ホストサーバ3から取得した利用可否情報に基づき、その内容をモニタ等の表示デバイスに表示する(S106)。
図8は、上述の「コンテンツ利用可否情報配信サービス」においてユーザ端末6が実行する処理の手順を示すフローチャートである。この処理は、ユーザからの指示入力により、コンテンツ利用可否情報の配信要求及び閲覧用のアプリケーションを起動することで開始される。
まず、ユーザからの操作により、コンテンツ識別情報及び取得する利用可否情報の内容を絞り込むための検索条件等を入力する(S101)。ここで、ユーザによって入力されるコンテンツ識別情報としては、コンテンツの名称やコンテンツの再生予約に用いるコンテンツ番号の他、アーティスト名称、ジャンル名称、一貫した意図で製作されたシリーズの名称等、コンテンツを特定できる情報であれば様々な情報を入力可能に構成してもよい。また、ユーザによって入力される検索条件としては、ユーザがカラオケサービスを利用したいと考えている場所(例えば、現在位置やこれから行く場所等)の位置情報、特定の店舗の名称、店舗の営業時間等がある。
次に、ユーザ端末6がGPS(Global Positioning System)等を利用したナビゲーション機能を有する携帯電話である場合、GPSを利用してユーザ端末6の現在位置を検出する(S102)。なお、このS102の処理については、ユーザ端末6がパソコン6aやナビゲーション機能を持たない携帯電話6bである場合、実行しない。
そして、S101でユーザにより入力されたコンテンツ識別情報及び検索条件や、S102で検出した現在位置に基づき、利用可否情報配信要求データ(特許請求の範囲における第1情報に相当。図9の※2参照)を作成し、これをインターネット200経由でインターネット用ホストサーバ3へ送信する(S103)。
ここで、S103においてユーザ端末6がインターネット用ホストサーバ3へ送信する利用可否情報配信要求データの具体的な内容について説明する。図9の※2は、ユーザ端末6からインターネット用ホストサーバ3へ送信される利用可否情報配信要求データの記述様式を模式的に示す図である。図9の※2に示すように、この利用可否情報配信要求データには、「ユーザID」、「端末識別情報」、「コンテンツ識別情報」、「検索条件情報」等の各種データが含まれている。
「ユーザID」は、当該ユーザ端末6を利用して現在ログイン中のユーザに対応するユーザIDを示すデータである。「端末識別情報」は、当該利用可否情報配信要求データを送信するユーザ端末6を識別するための情報(例えば、電子メールアドレスや電話番号等)を示すデータである。「コンテンツ識別情報」は、ユーザによって入力されたコンテンツ識別情報を示すデータである。「検索条件情報」は、ユーザによって入力された検索条件やGPS等で取得した現在位置を示すデータである。なお、コンテンツ識別情報や検索条件情報が複数存在する場合は、その数の分のデータが利用可否情報配信要求データに含まれることになる。
図8の説明に戻る。S103で利用可否情報配信要求データをインターネット用ホストサーバ3へ送信した後、インターネット用ホストサーバ3から利用可否情報を受信したか否かを判定する(S104)。ここで、利用可否情報を受信していないと判定した場合(S104:NO)、S103で利用可否情報配信要求データを送信してから所定の待機時間を経過(タイムアウト)したか否かを判定する(S107)。
S107でタイムアウトしていないと判定した場合(S107:NO)、S104の処理へ戻る。そして、S104においてインターネット用ホストサーバ3から利用可否情報(特許請求の範囲における第2情報に相当。図9の※3参照)を受信したと判定した場合(S104:YES)、S105の処理へ移行する。
ここで、インターネット用ホストサーバ3からユーザ端末6へ送信されてくる利用可否情報の具体的な内容について説明する。図9の※3は、インターネット用ホストサーバ3からユーザ端末6へ送信される利用可否情報の記述様式を模式的に示す図である。図9の※3に示すように、この利用可否情報には、「コンテンツ名(コンテンツ番号)」、「利用可能店舗数」及び「利用可能部屋総数」からなるレコードに付随して、「店舗名」、「店舗位置情報」、「距離情報」、「電話番号」、「利用可能部屋数」及び「部屋番号」からなる店舗ごとの情報を含むレコードが複数(=「利用可能店舗数」)含まれている。なお、図9の※3は、コンテンツ1つ分の利用可否情報の記述様式を示している。よって、ユーザによって指定されたコンテンツが複数ある場合は、その件数分の利用可否情報がインターネット用ホストサーバ3からユーザ端末6へ送信される。
なお、「コンテンツ名(コンテンツ番号)」は、ユーザが指定したコンテンツの名称(及びコンテンツ番号)を示すデータである。「利用可能店舗数」は、当該コンテンツを利用することができる店舗の数を示すデータである。「利用可能部屋総数」は、当該コンテンツを利用することができる全店舗におけるカラオケルームの総数を示すデータである。「店舗名」は、当該コンテンツを利用できるカラオケ店の名称を示すデータである。「店舗位置情報」は、当該カラオケ店の地図上の座標や住所、周辺地図、店舗への行き方等を示すデータである。「距離情報」は、上述の検索条件情報として送信された現在位置から当該カラオケ店までの距離を示すデータである。「利用可能部屋数」は、当該カラオケ店内で当該コンテンツを利用できるカラオケルームの数を示すデータである。「部屋番号」は、当該カラオケ店内で当該コンテンツを利用できるカラオケルームの部屋番号を示すデータであり、当該コンテンツを利用できる部屋が複数存在する場合(すなわち、「利用可能部屋数」>1)、その件数分のデータが含まれる。
図8の説明に戻る。S105では、インターネット用ホストサーバ3から取得した利用可否情報に基づいて画面表示用のデータを作成する。そして、この作成した画面用表示のデータを用いて利用可否情報の内容をモニタに表示する(S106)。
一方、S107においてタイムアウトしたと判定した場合(S107:YES)、つまり、S103で利用可否情報配信要求データを送信してから所定の待機時間を経過した場合、タイムアウトした旨のメッセージをモニタに表示し(S108)、ユーザ端末6の処理を終了する。
次に、図10は、上述の「コンテンツ利用可否情報配信サービス」においてインターネット用ホストサーバ3のWebサーバ3aが実行する処理の手順を示すフローチャートである。
まず、ユーザ端末6から利用可否情報配信要求データ(図9の※2参照)を受信したか否かを判定する(S201)。この利用可否情報配信要求データは、図8のフローチャートにおけるS103の処理においてユーザ端末6からインターネット用ホストサーバ3へ送信されるものである。
S201で、利用可否情報配信要求データを受信していないと判定している間(S201:NO)、この処理を繰り返す。そして、利用可否情報配信要求データを受信したと判定した場合(S201:YES)、取得した利用可否情報配信要求データに基づき、コンテンツ取得状況収集指示データ(図11の※4参照)を作成し、これをカラオケ用ホストサーバ2へ送信する(S202)。
ここで、S202においてインターネット用ホストサーバ3がカラオケ用ホストサーバ2へ送信するコンテンツ取得状況収集指示データの具体的な内容について説明する。図11の※4は、インターネット用ホストサーバ3からカラオケ用ホストサーバ2へ送信されるコンテンツ取得状況収集指示データの記述様式を模式的に示す図である。図11の※4に示すように、コンテンツ取得状況収集指示データには、「ユーザID」、「端末識別情報」及び「コンテンツ識別情報」のデータが含まれている。これらのデータは、ユーザ端末6から取得した利用可否情報配信要求データ(図9の※2参照)から、カラオケ用ホストサーバ2へ送信すべきデータを抽出したものである。
図10の説明に戻る。S202でコンテンツ取得状況収集指示データをカラオケ用ホストサーバ2へ送信した後、カラオケ用ホストサーバ2からコンテンツ取得状況データを受信したか否かを判定する(S203)。ここで、コンテンツ取得状況データを受信していないと判定した場合(S203:NO)、S202でコンテンツ取得状況収集指示データを送信してから所定の待機時間を経過(タイムアウト)したか否かを判定する(S205)。
S205でタイムアウトしていないと判定した場合(S205:NO)、S203の処理へ戻る。そして、S203においてカラオケ用ホストサーバ2からコンテンツ取得状況データ(図11の※5参照)を受信したと判定した場合(S203:YES)、S204の処理へ移行する。
ここで、カラオケ用ホストサーバ2からインターネット用ホストサーバ3へ送信されてくるコンテンツ取得状況データの具体的な内容について説明する。図11の※5は、カラオケ用ホストサーバ2からインターネット用ホストサーバ3へ送信されるコンテンツ取得状況データの記述様式を模式的に示す図である。図11の※5に示すように、このコンテンツ取得状況データには、「コンテンツ名(コンテンツ番号)」、「利用可能店舗数」及び「利用可能部屋総数」からなるレコードに付随して、「店舗名」、「店舗位置情報」、「電話番号」、「利用可能部屋数」及び「部屋番号」からなる店舗ごとの情報を含むレコードが複数(=「利用可能店舗数」)含まれている。なお、図11の※5は、コンテンツ1つ分のコンテンツ取得状況データの記述様式を示している。よって、ユーザによって指定されたコンテンツが複数ある場合は、その件数分のコンテンツ取得状況データがカラオケ用ホストサーバ2からインターネット用ホストサーバ3へ送信される。
なお、「コンテンツ名(コンテンツ番号)」、「利用可能部屋総数」、「店舗名」、「店舗位置情報」、「電話番号」、「利用可能部屋数」、「部屋番号」の各データについては、上述の利用可否情報(図9の※2参照)の内容と同等であるため、ここでの説明は省略する。ただし、利用可否情報についてはユーザによって指定された検索条件に基づく内容の絞り込み(後述のS204〜S209の処理に相当)が行われているのに対して、カラオケ用ホストサーバ2から配信されるコンテンツ取得状況データは、検索条件に基づく内容の絞り込みを行う前のデータである。したがって、※3の利用可否情報と※5のコンテンツ取得状況データとでは、大部分で記述様式が共通であるが、共通の部分であってもその内容が両者間で異なる場合もある。
図10の説明に戻る。S204では、カラオケ用ホストサーバ2から取得したコンテンツ取得状況データ内に、ユーザ端末6から取得した利用可否情報配信要求データに含まれる検索条件情報における位置情報、店舗名称、営業日時等の各種条件に適合する店舗のデータが存在するか否か判定する。例えば、検索条件情報に、ユーザの現在位置や目的地を示す情報が含まれていれば、そこから所定の地理的範囲内にあるカラオケ店を適合する店舗としてみなす。また、店舗名称を示す情報が含まれていれば、当該名称に合致するものを適合する店舗としてみなす。また、営業日時を示す情報が含まれていれば、当該日時に営業している店舗を適合する店舗としてみなす。
ここで、検索条件情報に適合する店舗のデータが存在すると判定した場合(S204:YES)、検索条件情報にユーザ端末6の現在位置を示す情報が含まれていれば、この位置情報と上記検索条件情報に適合する店舗の地図上の座標とに基づき、ユーザ端末6の現在位置から当該店舗までの距離を算出する(S206)。なお、ユーザ端末6の現在位置から当該店舗までの距離については、両者間の直線距離を算出してもよいし、地図データ等に基づいて現在位置から道路に沿ってカラオケ店に至るまでの行程の長さを算出してもよい。
つづいて、カラオケ用ホストサーバ2から取得したコンテンツ取得状況データの中から、ユーザ端末6から取得した利用可否情報配信要求データに含まれる検索条件情報に適合する店舗に関するデータ検索してこれを抽出し、これにS206で算出した距離情報を付加することで、検索結果リストを作成する(S207)。ここでは、例えば、ユーザの現在位置や目的地により近い場所にある店舗に関するレコードから順にリストの上位にくるようにしたり、上述の個人用Webページデータベース2d(図6)におけるユーザのカラオケ歌唱に関する情報を参照し、ユーザによる利用回数がより多い店舗に関するレコードから順にリストの上位にくるようにするとよい。
そして、ユーザ端末6から取得した利用可否情報配信要求データに含まれる端末識別情報に基づき、要求元のユーザ端末がパソコン6aであるか携帯電話6bであるかを判定する(S208)。具体的には、例えば、端末識別情報であるメールアドレスのドメインネームが携帯電話会社であれば、ユーザ端末6は携帯電話6bと判定する。一方、携帯電話会社のドメインネームでなければ、ユーザ端末6はパソコン6aであると判定する。ここで、ユーザ端末6がパソコン6aであると判定した場合(S208:パソコン)、S207で作成した検索結果リストに基づき、利用可否情報(図9の※3参照)を作成する(S210)。
一方、S208でユーザ端末6が携帯電話6bであると判定した場合(S209:携帯電話)、S207で作成した検索結果リストにおける店舗ごとのレコードのうち、携帯電話6bにおける表示上限件数を超えたレコードを下位の方から削除する(S209)。そして、S209で件数を制限した検索結果リストに基づき、利用可否情報(図9の※3参照)を作成する(S210)。なお、携帯電話6bにおける表示上限件数は、携帯電話6bがCPUの演算能力やメインメモリの容量、表示能力等の面でパソコン6aと比較して大幅に劣るため、利用可否情報のデータ量が送信先の携帯電話6bの処理能力を超えないようにするための制限である。
S210で利用可否情報を作成した後、この作成した利用可否情報を要求元のユーザ端末6、すなわち当該利用可否情報配信要求データを送信してきたユーザ端末6へ配信する(S211)。
一方、S204でカラオケ用ホストサーバ2から取得したコンテンツ取得状況データ内に、ユーザ端末6から取得した利用可否情報配信要求データに含まれる検索条件情報に適合する店舗のデータが存在しないと判定した場合(S204:NO)、ユーザが指定したコンテンツあるいは検索条件に適合する店舗のデータが存在しない旨をユーザに対して通知するための利用可否情報を作成し(S210)、これを要求元のユーザ端末6へ配信する(S211)。
また、S205でタイムアウトしたと判定した場合(S205:YES)、つまり、S202でコンテンツ取得状況収集指示データを送信してから所定の待機時間を経過した場合、ユーザが指定したコンテンツの利用可否に関する情報が取得できなかった旨をユーザに対して通知するための利用可否情報を作成し(S210)、これを要求元のユーザ端末6へ配信する(S211)。
次に、図12は、上述の「コンテンツ利用可否情報配信サービス」においてカラオケ用ホストサーバ2のWebサーバ2aが実行する処理の手順を示すフローチャートである。
まず、インターネット用ホストサーバ3からコンテンツ取得状況収集指示データ(図11の※4参照)を受信したか否かを判定する(S301)。このコンテンツ取得状況収集指示データは、図10のフローチャートにおけるS202の処理においてインターネット用ホストサーバ3からカラオケ用ホストサーバ2へ送信されるものである。
S301で、コンテンツ取得状況収集指示データを受信していないと判定している間(S301:NO)、この処理を繰り返す。そして、コンテンツ取得状況収集指示データを受信したと判定した場合(S301:YES)、カラオケ用ホストサーバ2に格納されているコンテンツのデータベース2bを参照し、取得したコンテンツ取得状況収集指示データに記述されているコンテンツ識別情報を、これに対応するコンテンツファイルの名称にそれぞれ変換する(S302)。なお、コンテンツ識別情報がコンテンツの名称やコンテンツ番号のように1つのコンテンツを示す情報の場合、この情報に該当するコンテンツの実体(すなわち、データファイル)であるコンテンツファイルの名称に変換する。また、コンテンツ識別情報が、アーティスト名称、ジャンル名称、シリーズの名称等のように複数のコンテンツを示す情報である場合、これらの情報に該当する全てのコンテンツを検索し、検索したコンテンツの実体であるコンテンツファイルの名称に変換する。
次に、S302で変換したコンテンツファイルの名称に基づき、マスタ機向け要求データ(特許請求の範囲における第3情報に相当。図13の※6を参照)を、インターネット200のVPNを介して各カラオケ店のマスタ機4aへ送信する(S303)。なお、別実施形態として、インターネット用ホストサーバ3からカラオケ用ホストサーバ2へ送信されるコンテンツ取得状況収集指示データ(図11の※4参照)に、利用可否情報配信要求データ(図9の※2参照)の検索条件情報に含まれる位置情報を更に付加するように構成すれば、このS303において、マスタ機向け要求データの送信先であるマスタ機4aを、この付加された位置情報に適合するものだけに限定することもできる。このようにすることで、検索条件に適合しないマスタ機4aとの通信を省くことができ、通信負荷を低減することができる。
ここで、カラオケ用ホストサーバ2からマスタ機4aへ送信されるマスタ機向け要求データの具体的な内容について説明する。図13の※6は、カラオケ用ホストサーバ2からマスタ機4aへ送信されるマスタ機向け要求データの記述様式を模式的に示す図である。図13の※6に示すように、このマスタ機向け要求データは複数の「コンテンツファイル名」のデータで構成されている。この「コンテンツファイル名」のデータは、S302においてコンテンツ取得状況収集指示データ(図11の※4参照)に含まれる「コンテンツ識別情報」をコンテンツファイルの名称に変換したものである。
図12の説明に戻る。S303でマスタ機向け要求データをマスタ機4aへ送信した後、この送信先の全てのマスタ機4aからマスタ機報告データを受信したか否かを判定する(S304)。ここで、全てのマスタ機4aからの受信を完了していないと判定した場合(S304:NO)、S303でマスタ機向け要求データを送信してから所定の待機時間を経過(タイムアウト)したか否かを判定する(S306)。
S306でタイムアウトしていないと判定した場合(S306:NO)、S304の処理へ戻る。そして、S304において全てのマスタ機4aからマスタ機報告データ(特許請求の範囲における第4情報に相当。図13の※7参照)を受信したと判定した場合(S304:YES)、取得したマスタ機報告データの内容を各マスタ機4aに対応付けてデータベース2bに保存する(S305)。
一方、S306でタイムアウトしたと判定した場合(S306:YES)、つまり、S303でマスタ機向け要求データを送信してから所定の待機時間を経過した場合、過去にデータベース2bに保存されたマスタ機報告データの中から、データを取得できなかったマスタ機4aに対応するマスタ機報告データを抽出する(S307)。
ここで、マスタ機4aからカラオケ用ホストサーバ2へ送信されてくるマスタ機報告データの具体的な内容について説明する。図13の※7は、マスタ機4aからカラオケ用ホストサーバ2へ送信されるマスタ機報告データの記述様式を模式的に示す図である。図13の※7に示すように、このマスタ機報告データには、「コンテンツファイル名」、「利用可能部屋数」、「マスタ機シリアル番号」及びこれに付随する「部屋番号(マスタ機)」からなるレコードに続いて、「スレイブ機シリアル番号」及びこれに付随する「部屋番号(スレイブ機)」からなるレコードが複数含まれている。この「マスタ機シリアル番号」+「部屋番号(マスタ機)」からなるレコード、及び「スレイブ機シリアル番号」+「部屋番号(スレイブ機)」からなるレコードが、「コンテンツファイル名」が示すコンテンツを利用可能なカラオケルーム1部屋分の情報を示すである(当該コンテンツを利用できないカラオケルームに関するレコードは含まれていない)。なお、図13の※7は、コンテンツ1つ分のマスタ機報告データの記述様式を示している。よって、マスタ機向け要求データに複数のコンテンツファイル名が記述されている場合は、その件数分のマスタ機報告データがマスタ機4aからカラオケ用ホストサーバ2へ送信される。
なお、「利用可能部屋数」は、当該マスタ機報告データの送信元であるマスタ機4aが設置されている店舗において「コンテンツファイル名」に対応するコンテンツを利用可能なカラオケルームの数(=コンテンツを利用可能なマスタ機4a及びスレイブ機4bの総数)を示すデータである。
また、「マスタ機シリアル番号」は、当該マスタ機報告データの送信元であるマスタ機4aに割り当てられている固有の識別番号(例えば、製造番号等)を示すデータである。「スレイブ機シリアル番号」は、当該マスタ機報告データの送信元であるマスタ機4aと同一店舗に設置されている各スレイブ機4bに割り当てられている固有の識別番号を示すデータである。
また、各「マスタ機シリアル番号」及び「スレイブ機シリアル番号」に付随する「部屋番号」は、そのシリアル番号を持つカラオケ装置4が設置されているカラオケルームに割り当てられている番号(あるいは名称)を示すデータである。
図12の説明に戻る。S308では、各マスタ機4aから取得したマスタ機報告データ、あるいはS307でデータベース2bから抽出したマスタ機報告データに基づいて、コンテンツ取得状況データ(図11の※5参照)を作成する。具体的には、各マスタ機4aのシリアル番号に基づいて、データベース2bに格納されている上述の管理データベースから当該マスタ機4aが設置されている店舗の名称、位置情報、電話番号等を抽出して、これを元に各店舗のレコードを作成し、対応する店舗における利用可能部屋数及び部屋番号のデータをこのレコードに集結する。さらに、当該コンテンツを利用可能な店舗数及び利用可能な部屋数の全店舗における合計を算出する。そして、これらのデータをコンテンツ名(コンテンツ番号)に対応付けることで、コンテンツ取得状況データを作成する。
そして、この作成したコンテンツ取得状況データをインターネット用ホストサーバ3へ配信し(S309)、カラオケ用ホストサーバ2における処理を終了する。
次に、図14は、上述の「コンテンツ利用可否情報配信サービス」においてマスタ機4aの制御部が実行する処理(第1実施形態)の手順を示すフローチャートである。この処理は、図7に示すラダーチャートにおけるマスタ機4aが実行する処理に該当する部分のうち、(a)の第1実施形態に示す処理に相当する。この第1実施形態は、マスタ機4aがカラオケ用ホストサーバ2からマスタ機向け要求データ(図13の※6参照)を取得したときに、マスタ機4aが管理下のスレイブ機4bに対してコンテンツ取得状況の配信を要求することを特徴とする。
まず、カラオケ用ホストサーバ2からマスタ機向け要求データ(図13の※6参照)を受信したか否かを判定する(S401)。マスタ機向け要求データは、図12のフローチャートにおけるS303の処理においてカラオケ用ホストサーバ2からマスタ機4aへ送信されるものである。
S401で、マスタ機向け要求データを受信していないと判定している間(S401:NO)、この処理を繰り返す。そして、マスタ機向け要求データを受信したと判定した場合(S401:YES)、この取得したデータを基に店舗内のLAN100に接続されている管理下の各スレイブ機4bへスレイブ機向け要求データ(特許請求の範囲における第5情報に相当。図15の※8参照)を送信する(S402)。
ここで、マスタ機4aからスレイブ機4bへ送信されるスレイブ機向け要求データの具体的な内容について説明する。図15の※8は、マスタ機4aからスレイブ機4bへ送信されるスレイブ機向け要求データの記述様式を模式的に示す図である。図15の※8に示すように、このスレイブ機向け要求データは複数の「コンテンツファイル名」のデータで構成されている。なお、第1実施形態においては、この「コンテンツファイル名」のデータは、カラオケ用ホストサーバ2から取得したマスタ機向け要求データに含まれる「コンテンツファイル名」のデータを抽出したものである。
図14の説明に戻る。S402でスレイブ機向け要求データをスレイブ機4bへ送信した後、自マスタ機4aにおけるコンテンツの取得状況を自マスタ機4a内のデータベースに保存する(S403)。ここでは、スレイブ機4bが格納している取得コンテンツリスト(図4の※1)と同様の形式でコンテンツの取得状況を保存すればよい。
つづいて、スレイブ機向け要求データの送信先であるスレイブ機4bからスレイブ機報告データを受信したか否かを判定する(S404)。ここで、スレイブ機報告データを受信していないと判定した場合(S404:NO)、S402でスレイブ機向け要求データを送信してから所定の待機時間を経過(タイムアウト)したか否かを判定する(S406)。
S406でタイムアウトしていないと判定した場合(S406:NO)、S404の処理へ戻る。そして、S404において何れかのスレイブ機4bからスレイブ機報告データ(特許請求の範囲における第6情報に相当。図15の※9参照)を受信したと判定した場合(S404:YES)、取得したスレイブ機報告データの内容を送信元のスレイブ機4bに対応付けて自マスタ機4a内のデータベースに保存する(S405)。
ここで、スレイブ機4bからマスタ機4aへ送信されてくるスレイブ機報告データの具体的な内容について説明する。図15の※9は、スレイブ機4bからマスタ機4aへ送信されるスレイブ機報告データの記述様式を模式的に示す図である。図15の※9に示すように、このスレイブ機報告データには、送信元のスレイブ機4bに対応する「スレイブ機シリアル番号」及びこれに付随する「部屋番号」からなるレコードに続いて、「コンテンツファイル名」及びこれに付随する「取得状況フラグ」からなるレコードが複数含まれている。ここで、スレイブ機報告データに含まれる「コンテンツファイル名」の種類及び数は、マスタ機4aからスレイブ機4bへ送信されたスレイブ機向け要求データ(図15の※8)に記述されている「コンテンツファイル名」に対応している。
なお、「取得状況フラグ」は、これが付随する「コンテンツファイル名」が示すコンテンツの当該スレイブ機4bにおける取得状況を示すためのデータである。この「取得状況フラグ」において、コンテンツの取得状況を示すデータとして「取得」、「未取得」及び「利用無効」がある。「取得」とは、当該コンテンツがスレイブ機4bにおいて取得済みであり、かつ利用可能である状態を示す。「未取得」とは、当該コンテンツがスレイブ機4bに存在しない(取得に至っていない)状態であり、利用できない状態を示す。「利用無効」は、当該コンテンツがスレイブ機4bにおいて取得済みであるが、契約等により利用が禁止されている状態を示す。
図14の説明に戻る。S408ではスレイブ機向け要求データ(図15の※8参照)の送信先である全てのスレイブ機4bからスレイブ機報告データを受信したか否かを判定する。ここで、全てのスレイブ機からの受信を完了していないと判定した場合(S408:NO)、S404の処理へ戻る。そして、全てのスレイブ機4bからスレイブ機報告データを受信したと判定した場合(S408:YES)、S409の処理へ移行する。
一方、S406でタイムアウトしたと判定した場合(S406:YES)、つまり、S402でスレイブ機向け要求データを送信してから所定の待機時間を経過した場合、後述の「タイムアウト時取得処理」を実行することで、過去にマスタ機4a内のデータベースに保存されたスレイブ機報告データの中から、データを取得できなかったスレイブ機4bに対応するデータを抽出する(S407)。
ここで、上述の「タイムアウト時取得処理」の詳細な手順について、図16のフローチャートに基づいて説明する。
まず、過去にマスタ機4a内のデータベースに保存されたスレイブ機報告データの中に、スレイブ機報告データを取得できなかったスレイブ機4bに対応するデータが存在するか否かを判定する(S501)。ここで、スレイブ機報告データを取得できなかったスレイブ機4bに対応するデータが存在すると判定した場合(S501:YES)、このスレイブ機報告データの中に取得状況を取得すべきコンテンツ、すなわちマスタ機向け要求データ(図13の※6参照)に記述されているコンテンツに関するデータが含まれているか否かを判定する(S502)。
ここで、当該スレイブ機報告データの中に取得状況を取得すべきコンテンツに関するデータが含まれている場合(S502:YES)、マスタ機4a内のデータベースから当該コンテンツに関するレコード(「コンテンツファイル名」及び「取得状況フラグ」)を取得する(S503)。
一方、S501でスレイブ報告データを取得できなかったスレイブ機4bに対応するデータが存在しないと判定した場合(S501:NO)、あるいは、S502でデータベース内のスレイブ機報告データの中に取得状況を取得すべきコンテンツに関するデータが存在しないと判定した場合(S502:NO)、このスレイブ機4bにおけるコンテンツの取得状況を「未取得」とみなす(S504)。
図14の説明に戻る。S409では、各スレイブ機4bから取得したスレイブ機報告データ及びS407の「タイムアウト時取得処理」によって取得したコンテンツの取得状況に関するデータに基づき、マスタ機報告データ(図13の※7参照)を作成する。具体的には、取得したスレイブ機報告データ等を参照し、マスタ機向け要求データに記述されているコンテンツファイル名ごとに当該コンテンツを利用可能なスレイブ機4bのシリアル番号及びこれに対応する部屋番号のデータを抽出し、これを当該コンテンツファイル名に対応付けて集結する。また、自マスタ機4aが当該コンテンツを利用可能であるならば、自マスタ機4aのシリアル番号及び部屋番号のデータも当該コンテンツファイル名に対応付けて集結する。そして、コンテンツごとに当該コンテンツを利用可能な部屋の数を集計する。
そして、この作成したマスタ機報告データをカラオケ用ホストサーバ2へ配信し(S410)、マスタ機4aにおける処理(第1実施形態)を終了する。
次に、図17は、上述の「コンテンツ利用可否情報配信サービス」においてマスタ機4aの制御部が実行する処理(第2実施形態その1)の手順を示すフローチャートである。この処理は、図7に示すラダーチャートにおけるマスタ機4aが実行する処理に相当する部分のうち、(b)の第2実施形態に示す処理に相当する。この第2実施形態は、スレイブ機4bにおけるコンテンツ取得状況が変化したときに、マスタ機4aはこのスレイブ機4bに対してコンテンツ取得状況の配信を要求することを特徴とする。
図17に示すフローチャートにおいて、まず、スレイブ機4bにおけるコンテンツの取得状況が変更されたか否かを判定する(S601)。なお、本実施形態では、次の(1)〜(3)に示すケースを、スレイブ機4bにおけるコンテンツの取得状況が変更されたものとみなす。
(1)マスタ機4aが、スレイブ機4bに対して新たなコンテンツを配信したとき(コピー)。
(2)マスタ機4aが、スレイブ機4bに対して利用可能なコンテンツの種類や数量を変更したとき(契約変更)。
(3)スレイブ機4bにおいてコンテンツファイルの記憶媒体であるハードディスクが交換されたとき(HDD交換)。このとき、スレイブ機4bからマスタ機4aに対して、ハードディスクが交換された旨が通知されるものとする。
S601で、スレイブ機4bにおけるコンテンツの取得状況が変更されていないと判定している間(S601:NO)、この処理を繰り返す。そして、スレイブ機4bにおけるコンテンツの取得状況が変更されたと判定した場合(S601:YES)、すなわち、上記(1)〜(3)の何れかのケースに該当すると判定した場合、コンテンツ取得状況が変更された当該スレイブ機4bへスレイブ機向け要求データ(特許請求の範囲における第5情報に相当。図15の※8参照)を送信する(S602)。
なお、スレイブ機向け要求データの詳細な内容については既に説明したので、ここでの説明は省略する。ただし、第2実施形態においてスレイブ機向け要求データに記述されるコンテンツの種類は、第1実施形態のものとは異なる。具体的には、上述の(1),(2)のケースであれば、新たに追加されたコンテンツや利用可否を変更されたコンテンツ等、すなわちコンテンツの取得状況の変更に直接関わるコンテンツのみをスレイブ機向け要求データに記述すればよい。また、上述の(3)のケースであれば、マスタ機4aが取得しているコンテンツの全てをスレイブ機向け要求データに記述すればよい。
次に、自マスタ機4aにおけるコンテンツの取得状況を自マスタ機4a内のデータベースに保存する(S603)。ここでは、スレイブ機4bが格納している取得コンテンツリスト(図4の※1)と同様の形式でコンテンツの取得状況を保存すればよい。
そして、スレイブ機向け要求データを送信した先のスレイブ機4bからスレイブ機報告データを受信したか否かを判定する(S604)。ここで、スレイブ機報告データを受信していないと判定した場合(S604:NO)、S602でスレイブ機向け要求データを送信してから所定の待機時間を経過(タイムアウト)したか否かを判定する(S606)。
S606でタイムアウトしていないと判定した場合(S606:NO)、S604の処理へ戻る。そして、S604において何れかのスレイブ機4bからスレイブ機報告データ(特許請求の範囲における第6情報に相当。図15の※9参照)を受信したと判定した場合(S604:YES)、取得したスレイブ機報告データの内容を送信元のスレイブ機4bに対応付けて自マスタ機4a内のデータベースに保存する(S605)。なお、スレイブ機4bからマスタ機4aへ送信されてくるスレイブ機報告データの詳細な内容については既に説明したので、ここでの説明は省略する。
S607ではスレイブ機向け要求データの送信先である全てのスレイブ機4bからスレイブ機報告データを受信したか否かを判定する。ここで、全てのスレイブ機からの受信を完了していないと判定した場合(S607:NO)、S604の処理へ戻る。そして、全てのスレイブ機4bからスレイブ機報告データを受信したと判定した場合(S607:YES)、マスタ機4aの処理(第2実施形態その1)を終了する。
一方、S606でタイムアウトしたと判定した場合(S606:YES)、つまり、S602でスレイブ機向け要求データを送信してから所定の待機時間を経過した場合、上述の「タイムアウト時取得処理」(図16参照)を実行し(S608)、その結果をマスタ機4a内のデータベースに保存する(S609)。これでマスタ機4aの処理(第2実施形態その1)を終了する。なお、S608の「タイムアウト時取得処理」は、上述の第1実施形態において説明したものと同様であるので、ここでの説明は省略する。
次に、図18は、上述の「コンテンツ利用可否情報配信サービス」においてマスタ機4aの制御部が実行する処理(第2実施形態その2)の手順を示すフローチャートである。この処理は、マスタ機4aがカラオケ用ホストサーバ2からマスタ機向け要求データを取得したときに、スレイブ機4bから予め取得してある取得状況に基づいてマスタ機報告データを返信することを特徴とする。
図18に示すフローチャートにおいて、まず、カラオケ用ホストサーバ2からマスタ機向け要求データ(図13の※6参照)を受信したか否かを判定する(S701)。マスタ機向け要求データは、図12のフローチャートにおけるS303の処理においてカラオケ用ホストサーバ2からマスタ機4aへ送信されるものである。
S701で、マスタ機向け要求データを受信していないと判定している間(S701:NO)、この処理を繰り返す。そして、マスタ機向け要求データを受信したと判定した場合(S701:YES)、自マスタ機4aのデータベースに保存されているスレイブ機報告データや自マスタ機のコンテンツ取得状況、S608の「タイムアウト時取得処理」によって取得したコンテンツの取得状況に関するデータに基づき、マスタ機報告データ(図13の※7参照)を作成する(S702)。具体的には、データベースに保存されている上記各情報を参照し、マスタ機向け要求データに記述されているコンテンツファイル名ごとに当該コンテンツを利用可能なスレイブ機4bのシリアル番号及びこれに対応する部屋番号のデータを抽出し、これを当該コンテンツファイル名に対応付けて集結する。また、自マスタ機4aが当該コンテンツを利用可能であるならば、自マスタ機4aのシリアル番号及び部屋番号のデータも、当該コンテンツファイル名に対応付けて集結する。そして、コンテンツごとに当該コンテンツを利用可能な部屋の数を集計する。
そして、この作成したマスタ機報告データをカラオケ用ホストサーバ2へ配信し(S703)、マスタ機4aにおける処理(第2実施形態その2)を終了する。
次に、図19は、上述の「コンテンツ利用可否情報配信サービス」においてスレイブ機4bの制御部が実行する処理(第1,2実施形態共通)の手順を示すフローチャートである。
まず、マスタ機4aからスレイブ機向け要求データ(図15の※8参照)を受信したか否かを判定する(S801)。スレイブ機向け要求データは、図14、図17のフローチャートにおけるS402,S602の処理においてマスタ機4aからスレイブ機4bへ送信されるものである。
S801で、スレイブ機向け要求データを受信していないと判定している間(S801:NO)、この処理を繰り返す。そして、スレイブ機向け要求データを受信したと判定した場合(S801:YES)、取得したスレイブ機向け要求データに記述されているコンテンツファイルの名称を1件ずつ読み出す(S802)。そして、自スレイブ機4bが記憶している取得コンテンツリスト(図4の※1参照)を参照し、この読み出したコンテンツファイルの名称に対応するレコードが取得コンテンツリストに存在するか否かを判定する(S803)。
ここで、対応するレコードが取得コンテンツリストに存在すると判定した場合(S803:YES)、このレコードにおけるコンテンツ取得フラグの内容を参照し、当該コンテンツが利用可能であるか否かを判定する(S804)。この判定において、当該コンテンツが利用可能であると判定した場合(S804:YES)、すなわち、当該レコードにおけるコンテンツ取得フラグが「取得」を示すデータである場合、自スレイブ機4bにおける当該コンテンツの取得状況を「取得」と判定する(S806)。一方、この判定において、当該コンテンツが利用できないと判定した場合(S804:NO)、すなわち、当該レコードにおけるコンテンツ取得フラグが「利用無効」を示すデータである場合、自スレイブ機4bにおける当該コンテンツの取得状況を「利用無効」と判定する(S807)。
一方、S803において、スレイブ機向け要求データから読み出したコンテンツファイルの名称に対応するレコードが取得コンテンツリストに存在しないと判定した場合(S803:NO)、自スレイブ機4bにおける当該コンテンツの取得状況を「未取得」と判定する(S805)。
次に、S808では、スレイブ機向け要求データ(図15の※8参照)に記述されている全てのコンテンツファイルの名称について、それぞれ取得状況を判定したか否かを判定する。ここで、全てのコンテンツファイルの名称に対する判定を完了していないと判定した場合(S808:NO)、S802の処理へ戻る。その後、S802〜S807の各処理を順次繰り返す。
そして、スレイブ機向け要求データに記述されている全てのコンテンツファイルの名称について取得状況を判定した場合(S808:YES)、S805,S806,S807の各処理における判定結果を自スレイブ機4bのシリアル番号及び部屋番号に対応付けて集結し、スレイブ機報告データ(図15の※9参照)を作成する(S809)。
そして、この作成したスレイブ機報告データをマスタ機4aへ配信し(S810)、スレイブ機4bにおける処理を終了する。
[効果]
上記実施形態のカラオケネットワークシステム1によれば、次のような効果を奏する。
(1)ユーザが操作するパソコン6aや携帯電話6b等のユーザ端末6からインターネット用ホストサーバ3へアクセスし、コンテンツの名称や検索条件等を送信することで、インターネット用ホストサーバ3からユーザ端末6へ利用可否情報(図9の※3参照)が配信される。ユーザはその内容を確認することで、カラオケ店に来店する前に目的のコンテンツがどのカラオケ装置4で利用できるかをパソコン6aや携帯電話6b等で予め知ることができ、ユーザにとって大変便利である。
(2)ユーザ端末6から送信する利用可否情報配信要求データ(図9の※2参照)に、検索結果を絞り込むための検索条件を付加し、インターネット用ホストサーバ3がこの検索条件に基づいて利用可否情報(図9の※3参照)の内容を絞り込んで配信することで、ユーザが得られる情報がより一層ユーザの目的やニーズに適ったものになる。その結果、ユーザは自身にとって価値のある情報のみを得ることができるので、大変便利である。
例えば、ユーザの現在位置やユーザがこれから赴く場所等、ユーザがカラオケサービスを利用したいと考えている場所を検索条件に加えることで、当該位置の近隣に存在するカラオケ店における利用可否情報のみをユーザに対して配信するといった運用が可能である。また、店舗の特定に関する情報(例えば、店舗名や電話番号等)を検索条件に加えることで、この検索条件で指定された店舗における利用可否情報のみをユーザに対して配信するといった運用が可能である。また、ユーザがカラオケサービスを利用したい日時等を検索条件に加えることで、この検索条件で指定された日時において営業中のカラオケ店における利用可否情報のみをユーザに対して配信するといった運用が可能である。
(3)カラオケ用ホストサーバ2がマスタ機4aからコンテンツの取得状況に関する情報を取得する際、マスタ機4aからは、自マスタ機4aにおける取得状況だけでなく、マスタ機4aがスレイブ機4bから収集した取得状況もホストサーバへ配信される(マスタ機報告データ:図13の※7参照)。これにより、カラオケ用ホストサーバ2は、自装置の管理外にあるスレイブ機4bにおけるコンテンツの取得情報も取得できる。よって、たとえ同一のカラオケ店内においてカラオケ装置4ごとにコンテンツの取得状況が異なる場合であっても、カラオケ用ホストサーバ2がマスタ機4aから収集した情報に基づいて、インターネット用ホストサーバ3から正確な利用可否情報をユーザに対して提供可能である。
(4)第1実施形態のマスタ機4aは、カラオケ用ホストサーバ2からコンテンツの取得状況の配信要求(マスタ機向け要求データ:図13の※6参照)を取得したときに、自マスタ機4aの管理下にあるスレイブ機4bに対してコンテンツの取得状況の配信を要求する(スレイブ機向け要求データ:図15の※8参照)。このようにすることで、ユーザが目的のコンテンツの利用可否に関する情報を要求したタイミングでマスタ機4aが各スレイブ機4bの取得状況を収集するため、ユーザに提供する利用可否情報の即時性を確保することができるといった利点がある。
(5)第2実施形態のマスタ機4aは、スレイブ機4bにおいてコンテンツ取得状況が変化したときに、都度、当該スレイブ機4bにおける取得状況を取得しておく。そして、カラオケ用ホストサーバ2からコンテンツの取得状況の配信要求(マスタ機向け要求データ:図13の※6参照)を取得したときに、予め取得してある取得状況に基づいてマスタ機4aが即座にカラオケ用ホストサーバ2へ応答可能であるとった即応性の面で利点がある。
なお、本実施形態のカラオケネットワークシステム1と、特許請求の範囲に記載した構成との対応は次のとおりである。
実施形態のパソコン6a及び携帯電話6bが、特許請求の範囲における情報端末に相当する。詳しくは、パソコン6a及び携帯電話6bが備えるWebブラウザ機能が、第1情報送信手段、第2情報取得手段及び表示手段に相当する機能を実現する。
また、実施形態のインターネット用ホストサーバ3とカラオケ用ホストサーバ2とが協働することで、特許請求の範囲におけるホストサーバに相当する機能を実現する。詳しくは、インターネット用ホストサーバ3が備えるWebサーバ3aが、第2情報配信手段に相当する機能を実現し、カラオケ用ホストサーバ2が備えるWebサーバ2aが、第3情報送信手段及び第4情報取得手段に相当する機能を実現する。
また、実施形態のマスタ機4aの制御部が、第4情報配信手段、第5情報送信手段及び第6情報取得手段に相当する機能を実現する。また、実施形態のスレイブ機4bの制御部が、第6情報配信手段に相当する機能を実現する。
以上、本発明の実施形態について説明したが、本発明は上記の実施形態に何ら限定されるものではなく、本発明の技術的範囲に属する限り様々な態様にて実施することが可能である。
例えば、上述の実施形態は、カラオケ用ホストサーバ2とインターネット用ホストサーバ3との2台のサーバ装置によって特許請求の範囲におけるホストサーバの機能を実現する構成であったが、特許請求の範囲におけるホストサーバの機能を1台のサーバ装置で実現するような構成であってもよい。
また、上記実施形態では、ユーザ端末6としてパソコン6aや携帯電話6bを用いたが、これに限らず通信機能を有するPDAや、据置型あるいは携帯型のゲーム機等を用いてもよい。
1…カラオケネットワークシステム、2…カラオケ用ホストサーバ、2a…Webサーバ、2b…データベース、3…インターネット用ホストサーバ、3a…Webサーバ、3b…データベース、4a…カラオケ装置(マスタ機)、4b…カラオケ装置(スレイブ機)、5…リモコン端末、6…ユーザ端末、6a…パソコン、6b…携帯電話、100…LAN、110…アクセスポイント、120,140…ルータ、200…インターネット。