(58)【調査した分野】(Int.Cl.,DB名)
前記表示制御手段は、前記リストに含まれる各コンテンツの情報の表示態様を、各コンテンツが前記コンテンツ記憶手段に格納されているか否かに応じて決定する、請求項1に記載の端末装置。
前記表示制御手段は、前記コンテンツ記憶手段において、前記通信手段が取得した前記リストに情報を含まれないコンテンツが格納されている場合には、前記リストにおいて、当該情報を含まれないコンテンツの情報を、当該コンテンツのアップロードを指示するための情報とともに表示する、請求項7に記載の端末装置。
コンテンツを格納するためのコンテンツ記憶手段、および、コンテンツを再生するための再生手段を備える端末装置のコンピュータにおいて実行される制御プログラムであって、
前記制御プログラムは、前記コンピュータに、
操作情報の入力を受け付けるステップと、
前記端末装置のユーザが使用権を有するコンテンツのリストをサーバ装置から取得するステップと、
前記リストに含まれる各コンテンツの情報を表示装置に表示させるステップとを実行させ、
前記リストを表示させるステップは、前記リストに含まれる各コンテンツの情報を、各コンテンツの格納場所に応じた態様で、前記表示装置に表示させ、
前記取得するステップは、前記入力を受け付けるステップにおいて前記リストの表示を要求する操作情報の入力を受け付けた場合に、前記リストを格納する装置から当該リストを取得することを含み、
前記リストを表示させるステップは、前記リストの表示を要求する操作情報の入力が受け付けられた場合であって前記取得するステップにおいて当該リストを格納する装置から当該リストが取得できないときには、前記リスト記憶手段に格納された前記リストを前記表示装置に表示させることを含む、端末装置の制御プログラム。
【発明を実施するための形態】
【0026】
以下、本発明の端末装置およびサーバ装置の実施の形態について、図面を参照して説明する。なお、以下の説明において、同一の機能および作用を有する要素については、各図を通して同じ符号を付し、重複する説明を繰返さない。
【0027】
[第1の実施の形態]
<システムの全体構成>
図1は、本発明の端末装置およびサーバ装置の一実施の形態を含むコンテンツ配信システムの全体構成を模式的に示す図である。なお、本明細書では、「端末装置」を、便宜上単に「端末」と呼ぶ場合もある。
【0028】
図1に示されたシステムでは、端末100A〜100Cのそれぞれが、ネットワーク1000を介して、コンテンツ配信サーバ200A,200Bと通信する。これにより、端末100A〜100Cのそれぞれでは、コンテンツがダウンロードされ、格納され、再生される。なお、端末100A〜100Cにおけるコンテンツの再生は、ダウンロードとともに行われるものに限らず、ストリーミングで行われる場合もあり得る。
【0029】
端末100A〜100Cは、たとえば、同一のユーザによって所有される場合もある。当該ユーザは、自己が購入等することにより使用権を有するコンテンツについて、端末100A〜100Cのうちの1以上の端末でコンテンツをダウンロードし、それぞれの端末において当該コンテンツを再生することができる。
【0030】
本明細書において、「ユーザがコンテンツの使用権を有する」とは、当該ユーザが当該コンテツを購入した場合に限らず、特定のグループの会員になることによってコンテンツの再生をする資格を有している場合や、自己が制作したコンテンツを自己がアクセス可能な記憶装置に格納していることによって当該コンテンツを再生させることができる場合、万人に提供されるいわゆるフリーコンテンツについて当該フリーコンテンツの再生が可能である場合などを含む。
【0031】
図1のシステムにおいて、端末100A〜100Cは、同一のユーザによって所有され、また、当該ユーザは、コンテンツ901,902,903の使用権を有する。そして、
図1のシステムにおいて、当該ユーザは、端末100Aで、コンテンツ配信サーバ200Bが配信するコンテンツ901をダウンロードし、端末100Bで、コンテンツ配信サーバ200Bが配信するコンテンツ902をダウンロードし、そして、端末100Cで、コンテンツ配信サーバ200Aが配信するコンテンツ903をダウンロードしている。
【0032】
本実施の形態において、コンテンツとは、電子書籍や音声ファイル、動画ファイル、テキストファイルなど、種々の形式のファイルを意味する。本明細書では、コンテンツの再生の一例として、主に、電子書籍の閲覧について説明する。なお、本発明において再生の対象となるコンテンツの種類は、電子書籍に限定されず、音楽コンテンツや、動画像コンテンツ、静止画像コンテンツ等の種々の形態のファイルが対象となるものとする。
【0033】
図1のシステムには、ユーザ購入履歴データベース(DB)311と、書誌情報DB312とが設けられている。
【0034】
ユーザ購入履歴DB311は、各ユーザが購入したコンテンツを特定する情報を格納する。書誌情報DB312は、各コンテンツの格納場所などの情報を格納する。
【0035】
また、
図1のシステムでは、コンテンツリスト配信サーバ300が設けられている。コンテンツリスト配信サーバ300は、ユーザ購入履歴DB311および書誌情報DB312に格納された情報に基づいて、各ユーザが使用権を有するコンテンツのリスト(コンテンツリスト)を生成し、端末100A〜100Cに配信する。本実施の形態では、コンテンツリスト配信サーバ300によって、ユーザが再生可能なコンテンツのリストを配信するサーバ装置が構成される。
【0036】
端末100A〜100Cのそれぞれは、コンテンツリスト配信サーバ300から、各端末のユーザが使用権を有するコンテンツについてのコンテンツリストを取得する。
【0037】
本明細書では、端末100A〜100Cを、総称して「端末100」と呼ぶ場合もある。また、コンテンツ配信サーバ200A,200Bを、総称して「コンテンツ配信サーバ200」と呼ぶ場合もある。
【0038】
<システムのブロック構成>
図2は、
図1に示したシステムのブロック構成を模式的に示す図である。
【0039】
図2を参照して、本実施の形態のシステムでは、端末100A〜100Cのそれぞれが、ネットワーク1000を介して、コンテンツリスト配信サーバ300およびコンテンツ配信サーバ200と通信可能である。なお、上記のように、コンテンツリスト配信サーバ300は、ユーザ購入履歴DB311および書誌情報DB312に格納された情報を使用して、各ユーザについてのコンテンツリストを生成し、配信する。
【0040】
<端末ブロック構成>
図3は、端末100のハードウェア構成を模式的に示す図である。
【0041】
端末100は、当該端末100の動作を全体的に制御する処理部101と、液晶表示装置等の表示装置によって構成される表示部102と、タッチセンサ等の入力デバイスによって構成される操作部103と、ハードディスク等の記録媒体によって構成される記憶部104と、モデム等の通信装置によって構成される通信部105と、フラッシュメモリ106とを含む。
【0042】
処理部101は、CPU(Central Processing Unit)等のプロセッサを含む。
記憶部104は、コンテンツ本体のデータを格納するコンテンツ記憶部104Aと、コンテンツの書誌的な情報を格納するためのコンテンツDB104Bと、端末100のユーザに関する情報を記憶するためのユーザ情報記憶部104Cとを含む。記憶部104は、端末100の本体に固定されたものであってもよいし、端末100の本体に対して着脱可能なものであってもよい。当該記録媒体の具体例としては、たとえば、CD−ROM(Compact Disk - Read Only Memory)、DVD−ROM(Digital Versatile Disk - Read Only Memory)、USB(Universal Serial Bus)メモリ、メモリカード、FD(Flexible Disk)、ハードディスク、磁気テープ、カセットテープ、MO(Magnetic Optical Disk)、MD(Mini Disk)、IC(Integrated Circuit)カード(メモリカードを除く)、光カード、マスクROM、EPROM、EEPROM(Electronically Erasable Programmable Read Only Memory)などの、不揮発的にプログラムを格納する媒体が挙げられる。
【0043】
処理部101は、その機能として、コンテンツ記憶部104A等に格納されたコンテンツを再生するためのコンテンツ再生部101Aと、コンテンツリストに含まれるコンテンツの情報を表示部102等の表示装置に表示するためのリスト表示部101Bとを含む。
【0044】
端末100は、表示装置を備えていなくてもよい。この場合、リスト表示部101Bは、端末100に接続された表示装置に、コンテンツの情報を表示させる。表示部102は、当該表示装置のドライバソフトウェアやドライバ回路によって実現される。また、この場合、コンテンツ再生部101Aは、当該表示装置に、映像(または、画像)の再生画面を表示させる。
【0045】
再生対象となるコンテンツが音声データを含む場合、コンテンツ再生部101Aは、端末100の内部、または、外部のスピーカに、当該音声データに基づく音声を出力させる。
【0046】
処理部101は、さらに、その機能として、コンテンツ取得部101Cと、コンテンツリスト取得部101Dとを含む。
【0047】
コンテンツ取得部101Cは、通信部105およびネットワーク1000を介して、コンテンツ配信サーバ200から、所望のコンテンツを取得する。取得されたコンテンツは、記憶部104のコンテンツ記憶部104Aに格納される。コンテンツリスト取得部101Dは、通信部105およびネットワーク1000を介して、コンテンツリスト配信サーバ300から、コンテンツリストを取得する。取得されたコンテンツリストは、コンテンツDB104Bへ格納される。
【0048】
フラッシュメモリ106は、電源を切っても記憶した内容の消えない不揮発性メモリであり、後述するようにコンテンツリスト配信サーバ300からダウンロードされたコンテンツリストをキャッシュデータとして一時的に記録するキャッシュメモリとして機能する(キャッシュデータ以外のデータを記録するデータメモリとしても機能する)。また、フラッシュメモリ106のうちのキャッシュデータの記録されていない領域には、キャッシュデータ以外のデータを記録することができる。
【0049】
ここで、「キャッシュデータ」とは、フラッシュメモリ106上に格納されたデータのことである。また、「キャッシュメモリ」とは、上記したコンテンツリストを一時的に記録すると共に、記憶部104へのデータの読み出しがあった場合には、そのデータを記憶部104からではなくフラッシュメモリから読み出す機能を有するメモリのことである。上記フラッシュメモリ106としては、NAND型のフラッシュメモリを用いてもよいし、NOR型のフラッシュメモリを用いてもよい。
【0050】
<コンテンツ配信サーバのブロック構成>
図4は、コンテンツ配信サーバ200のハードウェア構成を模式的に示す図である。
【0051】
コンテンツ配信サーバ200は、当該サーバの動作を全体的に制御する処理部201と、配信されるコンテンツの本体のデータを格納する記憶部202と、ネットワーク1000を介して端末100等と通信するための通信部203とを含む。
【0052】
処理部201は、CPU(Central Processing Unit)等のプロセッサを含む。記憶部202は、ハードディスク等の記録媒体によって構成される。通信部203は、モデムなどの通信装置によって構成される。
【0053】
<コンテンツリスト配信サーバのブロック構成>
図5は、コンテンツリスト配信サーバ300のハードウェア構成を模式的に示す図である。
【0054】
図5を参照して、コンテンツリスト配信サーバ300は、当該コンテンツリスト配信サーバ300の動作を全体的に制御する処理部301と、記録媒体によって構成される記憶部302と、モデム等の通信装置によって構成される通信部303とを含む。
【0055】
記憶部302は、ユーザ購入履歴DB311と、書誌情報DB312とを含む。
処理部301は、CPU等のプロセッサを含む。そして、処理部301は、その機能として、リスト生成部301Aとリスト配信部301Bとを含む。
【0056】
リスト生成部301Aは、ユーザ購入履歴DB311と書誌情報DB312に格納された情報に基づいて、ユーザ毎のコンテンツリストを生成する。リスト配信部301Bは、送信を要求されたユーザのコンテンツリストを、通信部303およびネットワーク1000を介して、端末100等に送信する。
【0057】
図5に示された例では、コンテンツリスト配信サーバ300がユーザ購入履歴DB311および書誌情報DB312を備えるように記載されているが、これらのデータベースは、コンテンツリスト配信サーバ300とは異なる装置で構成されてもよい。この場合、リスト生成部301Aは、当該装置の適切な記憶領域にアクセスすることにより、コンテンツリストを生成するための情報を取得する。
【0058】
<端末内のコンテンツDB>
端末100の記憶部104におけるコンテンツDB104Bの記憶内容について説明する。表1は、当該記憶内容を模式的に示す。
【0060】
コンテンツDB104Bには、コンテンツIDと、コンテンツファイル名と、コンテンツ保存先と、表紙画像ファイル名と、表紙画像保存先とが、互いに関連付けられて記憶されている。
【0061】
コンテンツIDは、各コンテンツを特定する情報である。
コンテンツファイル名は、各コンテンツの本体のファイルのファイル名である。
【0062】
コンテンツ保存先は、各コンテンツの本体のファイルの、コンテンツ記憶部104Aにおける記憶場所を特定する情報である。
【0063】
表紙画像ファイル名は、端末100においてコンテンツの情報が、(後述する本棚画面等において)一覧表示される際に、各コンテンツの概要を示す画像として表示されるファイルのファイル名である。たとえば、当該コンテンツが電子書籍である場合には、表紙画像ファイル名の一例として、当該電子書籍に対応する実書籍の表紙のサムネイル画像のファイル名が挙げられる。また、当該コンテンツが音楽コンテンツである場合には、表紙画像ファイル名の一例として、当該コンテンツが収録されるアルバムのジャケット画像のサムネイル画像が挙げられる。
【0064】
表紙画像保存先は、上記表紙画像の、コンテンツ記憶部104Aにおける記憶場所を特定する情報である。
【0065】
コンテンツリスト配信サーバから配信されるコンテンツリストには、コンテンツIDとコンテンツファイル名と表紙画像ファイル名とが関連付けられている。そして、当該コンテンツおよびその表紙画像がダウンロードされて記憶部104のコンテンツ記憶部104Aに格納されると、上記コンテンツID等の情報に、コンテンツ保存先と表紙画像保存先とが追加されて、コンテンツDB104Bに格納される。
【0066】
<ユーザ購入履歴DB>
次に、ユーザ購入履歴DB311の記憶内容について説明する。表2に、当該記憶内容を模式的に示す。
【0068】
ユーザ購入履歴DBでは、ユーザIDと、購入済コンテンツIDとが、互いに関連付けられて格納されている。
【0069】
ユーザIDは、
図1のシステムを利用する各ユーザを特定する情報である。
購入済コンテンツIDとは、コンテンツ購入サイト等において各ユーザが購入したコンテンツのコンテンツIDである。なお、購入済コンテンツIDとして、ユーザが使用権を有するコンテンツのコンテンツIDが格納される場合もあり得る。
【0070】
表2によれば、ユーザID「SC0001」のユーザは、コンテンツID「ABCD1234」とコンテンツID「ABCD1235」の、少なくとも2つのコンテンツを購入したことが記録されている。
【0071】
<書誌情報DB>
次に、書誌情報DB312における記憶内容について説明する。表3には、当該記憶内容が模式的に示されている。
【0073】
書誌情報DBには、コンテンツIDと、タイトルと、著者と、出版社名と、発売日と、価格と、商品概要と、ファイル名と、ダウンロードURL(1)と、表紙画像ファイル名と、ダウンロードURL(2)とが、互いに関連付けられて記憶されている。
【0074】
コンテンツIDは、各コンテンツを特定するための情報である。
タイトルおよび著者は、各コンテンツのタイトルおよび著者である。
【0075】
出版社名は、対象となるコンテンツが電子書籍である場合には、当該電子書籍を出版した企業を特定する情報であり、対象となるコンテンツが音楽コンテンツである場合には、レーベル等である。
【0076】
発売日および価格は、対象となるコンテンツの発売日および販売された価格である。
商品概要とは、対象となるコンテンツの内容等の概要を表わす情報である。
【0077】
ファイル名とは、対象となるコンテンツの本体のファイル名である。
ダウンロードURL(1)とは、対象となるコンテンツの本体のファイルをダウンロードするためにアクセスするURL(Uniform Resource Locator)である。
【0078】
表紙画像ファイル名とは、上記した表紙画像のファイル名である。
ダウンロードURL(2)とは、対象となるコンテンツの表紙画像のファイルをダウンロードするためにアクセスするURLである。
【0079】
<コンテンツリスト>
上記したように、本実施の形態のシステムでは、コンテンツリスト配信サーバ300は、端末100に、当該端末100のユーザについてのコンテンツリストを送信する。
【0080】
リスト生成部301Aは、端末100からコンテンツリストの対象となるユーザIDを取得する。これに応じて、リスト生成部301Aは、ユーザ購入履歴DB311において、取得したユーザIDに関連付けられている購入済コンテンツIDを抽出する。そして、リスト生成部301Aは、書誌情報DB312において、購入済コンテンツIDとして抽出したコンテンツIDに関連付けられている情報を抽出して、コンテンツリストを生成する。
【0081】
たとえば、コンテンツリストの対象としてユーザID「SC0001」を取得すると、リスト生成部301Aは、ユーザ購入履歴DB311において、当該ユーザIDに関連付けられているコンテンツID「ABCD1234」とコンテンツID「ABCD1235」を取得する。そして、書誌情報DB312から、これらのコンテンツIDに対応する情報(表3に示されたこれらのコンテンツIDに関連付けられた情報)を抽出し、当該抽出した情報を、コンテンツリストとする。
【0082】
つまり、コンテンツリストは、表2のユーザ購入履歴DBにおいて対象となるユーザのユーザIDに関連付けられたコンテンツについての、表3の書誌情報DBにおける各項目のデータを含む。
【0083】
<メタ情報ファイル>
リスト生成部301Aは、コンテンツリストの生成とともに、当該コンテンツリストのメタ情報ファイルを生成する。メタ情報ファイルの内容の一例を、
図6に示す。
【0084】
図6を参照して、メタ情報ファイルは、たとえば、HTML(HyperText Markup Language)5に準拠したマニフェストファイルによって構成される。
【0085】
図6に示されたメタ情報ファイルは、「# Version cid=」以下に示されるコンテンツリストのバージョンを示す情報や、「# Valid until on」以下に示されるコンテンツリストの有効期限を示す情報を含む。
【0086】
なお、リスト生成部301Aは、コンテンツリストと別ファイルとして
図6に示したような情報を生成することもできるし、コンテンツリストにそのような情報を含めることもできる。
【0087】
<コンテンツの再生>
次に、端末100におけるコンテンツの再生について説明する。本実施の形態では、端末100は、ユーザに電子書籍を閲覧させるために、当該コンテンツを再生する。
【0088】
本実施の形態の端末100では、電子書籍の閲覧に関し、「ローカルモード」と「オンラインモード」の2つのモードで動作が可能であるとする。端末100は、操作部103に対する操作や端末100本体の姿勢の変化等に基づいてこれらの間で動作モードが切り替わるように構成されている場合もあれば、いずれかのモードで動作可能である場合もある。
【0089】
「ローカルモード」とは、コンテンツ記憶部104Aに格納されたコンテンツを閲覧するモードである。「オンラインモード」とは、端末100のユーザが使用権を有するコンテンツであって、当該端末100のコンテンツ記憶部104Aに格納されていないコンテンツを閲覧するためのモードである。
【0090】
なお、「オンラインモード」について、コンテンツ記憶部104Aに格納されていないコンテンツとは、当該ユーザが所有する他の端末100のコンテンツ記憶部104Aに格納されていても、現にユーザが操作するコンテンツ記憶部104Aには格納されていないコンテンツも含む。より具体的には、端末100Aを操作している場合に、端末100Bのコンテンツ記憶部104Aに格納されているコンテンツであっても、端末100Aのコンテンツ記憶部104Aに格納されていないコンテンツであれば、端末100Aにおけるオンラインモードの操作においては、コンテンツ記憶部104Aに格納されていないコンテンツということになる。
【0091】
端末100は、オンラインでは、ローカルモードとオンラインモードのいずれのモードでも動作可能である。一方、オフラインでは、ローカルモードでのみ、動作が可能である。
【0092】
<本棚画面(端末保存済みのコンテンツを表示するための画面)>
図7は、端末100がローカルモードで動作しているときに表示装置(表示部102)に表示される本棚画面の一例を示す図である。
【0093】
本棚画面500は、閲覧可能なコンテンツのリストを表示する画面である。
本棚画面500には、表示形式を指定するための表示欄501と、モードを指定するための表示欄502と、電子書籍のタイトル等の情報をリスト表示するための表示欄511〜517とを含む。表示欄511〜517に情報を表示された各コンテンツは、コンテンツ記憶部104Aにその本体のデータを格納されたコンテンツである。また、表示欄501では、「タイトル」が選択されている。これにより、表示欄511〜517には、コンテンツ記憶部104Aに本体を格納されたコンテンツが、タイトルの50音順に、配列されて表示されている。
【0094】
また、本棚画面500には、ソフトウェアボタン521〜525が表示されている。ソフトウェアボタン521は、各書籍の詳細な情報を表示させるためのボタンである。ソフトウェアボタン522は、各コンテンツのシリーズを構成するコンテンツを検索するために操作されるボタンである。ソフトウェアボタン523は、各コンテンツをお気に入り登録するためのボタンである。ソフトウェアボタン524は、各コンテンツを指定したユーザが操作するときのみ表示させるための登録(シークレット登録)をするためのボタンである。ソフトウェアボタン525は、各コンテンツについて、ネットワーク上の特定のサイトに感想等の共有情報を投稿するために操作されるボタンである。
【0095】
本棚画面500の表示欄502には、ローカルモードであることを表す「端末に保存」が示されている。表示欄502の表示内容を視認することにより、ユーザは、本棚画面500がローカルモードの本棚画面であることを認識することができる。
【0096】
<本棚画面(サーバ保管のコンテンツを表示するための画面)>
図8は、端末100がオンラインモードで動作しているときに表示装置(表示部102)に表示される本棚画面の一例である。
【0097】
図8を参照して、本棚画面600は、
図7の表示欄501,502のそれぞれに対応する表示欄601,602を含む。また、本棚画面600は、
図7のソフトウェアボタン521〜525のそれぞれと同じ機能を有するソフトウェアボタン621〜625を含む。
【0098】
そして、本棚画面600には、表示欄611〜617が含まれる。表示欄611〜617は、コンテンツリスト配信サーバ300から受信したコンテンツリストに含まれるコンテンツであって、当該端末100のコンテンツ記憶部104Aに格納されていないコンテンツを示す。
【0099】
本棚画面600の表示欄602には、オンラインモードであることを表す「サーバに保存」が示されている。表示欄602の表示内容を視認することにより、ユーザは、本棚画面600がオンラインモードの本棚画面であることを認識することができる。
【0100】
<本棚画面表示処理>
図9は、端末100において
図7または
図8を参照して説明したような本棚画面を表示させるために処理部101が実行する処理のフローチャートである。
【0101】
図9を参照して、端末100において電子書籍を閲覧するためのアプリケーション(以下、「電子書籍アプリ」と称する)が起動されると、処理部101は、ステップS10で、当該電子書籍アプリのホーム画面を表示装置(表示部102)に表示させて、ステップS20へ処理を進める。
【0102】
ステップS20では、処理部101は、操作部103に対して本棚画面の表示を要求する操作がなされたか否かを判断し、そのような操作がなされたと判断するとステップS30へ処理を進める。
【0103】
ステップS30では、処理部101は、電子書籍アプリにおける動作モードの選択を受付ける。そして、処理部101は、オンラインモードが選択された場合にはステップS60へ処理を進め、ローカルモードが選択された場合にはステップS40へ処理を進める。
【0104】
ステップS40では、処理部101は、当該端末100内のコンテンツDB104Bから、コンテンツ記憶部104Aに格納されているコンテンツのデータ(表1に示された端末内コンテンツDB)を読出して、ステップS50へ処理を進める。
【0105】
ステップS50では、処理部101は、
図7を参照して説明したような本棚画面を表示させるためのデータを生成して、ステップS90へ処理を進める。
【0106】
なお、
図7の本棚画面500の表示欄501内の情報は、デフォルトで設定された情報である。当該情報は、電子書籍アプリの起動中のユーザ操作等によって、変更することができる。
【0107】
表示欄511〜517に表示する情報としては、表1に示されたような端末内コンテンツDBに格納される情報が利用される。具体的には、表示欄511〜517のそれぞれには、端末内コンテンツDBの各コンテンツについて登録された情報(タイトル、著者、出版社、等)が抽出されて、表示される。
【0108】
図9に戻って、ステップS60では、処理部101は、コンテンツリスト配信サーバ300から配信されるコンテンツリストを読出して、ステップS70へ処理を進める。なお、ステップS60におけるコンテンツリストの読出については、
図10を参照して後述する。
【0109】
ステップS70では、処理部101は、コンテンツリスト配信サーバ300から受信したコンテンツリストと端末100内のコンテンツDB104Bに格納されたコンテンツDBのデータとの差分を算出して、ステップS80へ処理を進める。ステップS70の処理により、コンテンツリスト配信サーバ300から送信されたコンテンツリストに登録されているコンテンツであって、当該端末100のコンテンツ記憶部104Aに格納されていないコンテンツが抽出される。
【0110】
ステップS80では、処理部101は、ステップS70で抽出したコンテンツについて、
図8を参照して説明したような本棚画面を表示するためのデータを生成して、ステップS90へ処理を進める。
【0111】
ステップS90では、処理部101は、ステップS50またはステップS80で表示用のデータを生成した本棚画面を表示装置(表示部102)に表示させて、処理を終了する。
【0112】
以上、
図9を参照して説明した処理によれば、選択された動作モード(ローカルモードまたはオンラインモード)に対応した本棚画面が、表示装置(表示部102)に表示される。
【0113】
<コンテンツリスト配信サーバから送信されるコンテンツリストの読出>
図10は、
図9のステップS60における処理のサブルーチンのフローチャートである。
【0114】
なお、当該処理は、コンテンツリスト配信サーバ300における処理と協働して実現される。したがって、
図10では、端末100側の処理のフローチャートに加えて、コンテンツリスト配信サーバ300における処理のフローチャートも示されている。
【0115】
図10を参照して、処理部101は、ステップSA10で、その時点で当該端末100がコンテンツリスト配信サーバ300と接続が可能か否かを判断し、接続が可能であると判断するとステップSA20へ処理を進め、当該サーバに接続できないと判断するとステップSA60へ処理を進める。
【0116】
ステップSA60では、処理部101は、それまでにコンテンツリスト配信サーバ300から受信したコンテンツリストであって、キャッシュメモリに格納されたコンテンツリストを読出して、
図9へ処理を戻す。
【0117】
ステップSA20では、処理部101は、コンテンツリスト配信サーバ300に、コンテンツリストのメタ情報ファイルの送信取得を要求する。このとき、処理部101は、コンテンツリスト配信サーバ300に対して、ユーザを特定する情報(たとえば、ユーザID)を送信する。ユーザIDは、たとえば、ユーザ情報記憶部104Cに格納されている。なお、処理部101は、端末100の利用に際して、ユーザにログイン情報の入力を求めてもよい。このような場合には、ステップSA20では、処理部101は、当該ログイン情報として入力されたユーザIDを、コンテンツリスト配信サーバ300へ送信する。
【0118】
端末100からメタ情報ファイルの取得の要求を受けると、コンテンツリスト配信サーバ300の処理部301は、ステップSB10で、ユーザ購入履歴DB311において、端末100から送信されたユーザIDに関連付けられたコンテンツIDを取得する(購入履歴問合せ)。
【0119】
なお、ユーザ購入履歴DB311が、コンテンツリスト配信サーバ300とは別の装置によって構成される場合には、処理部301は、当該装置に対して、問合せを、端末100から受信したユーザIDの送信とともに行なう。これに応じて、当該装置は、ステップSC10で、受信したユーザIDに関連付けられたコンテンツIDを送信する(購入履歴送信)。
【0120】
また、処理部301は、ステップSB10で取得したコンテンツIDに対応する書誌情報を、書誌情報DB312から取得する。なお、書誌情報DB312がコンテンツリスト配信サーバ300とは別の装置で構成されている場合には、処理部301は、当該装置に対して、ステップSB10で取得したコンテンツIDを送信とともに、書誌情報の問合せを行なう。当該装置は、これに応じて、コンテンツリスト配信サーバ300から受信したコンテンツIDに対応する書誌情報を送信する。
【0121】
処理部101は、ステップSB20の処理によって取得した書誌情報に基づいて、ステップSB10で取得したユーザIDに対応するコンテンツリストを生成し、そして、当該生成したコンテンツリストについてのメタ情報ファイルを生成して、ステップSB40へ処理を進める。
【0122】
ステップSB40では、処理部301は、端末100に対して、ステップSB30で生成したメタ情報ファイルを送信する。
【0123】
端末10の処理部101は、これに応じて、ステップSA30で、コンテンツリスト配信サーバ300から受信したメタ情報ファイルが、既にキャッシュメモリに格納されているコンテンツリストのメタ情報ファイルと一致するか否かを判断し、一致すると判断するとステップSA60へ処理を進め、一致しないと判断するとステップSA40へ処理を進める。
【0124】
ステップSA40では、処理部101は、コンテンツリスト配信サーバ300に対してコンテンツリストの取得を要求する。
【0125】
ステップSA40におけるコンテンツリスト取得要求に応じて、コンテンツリスト配信サーバ300の処理部301は、端末100に対してステップSB30で生成したコンテンツリストを送信する。
【0126】
コンテンツリスト配信サーバ300からのコンテンツリストの送信に応じて、端末100の処理部101は、ステップSA50で、受信したコンテンツリストを読出して、処理を
図9へリターンさせる。
【0127】
以上、
図10を参照して説明した処理によれば、オンラインモードで本棚画面が表示される際には、まず端末100がコンテンツリスト配信サーバ300に接続可能か否かが判断され(ステップSA10)、接続できない場合にはキャッシュメモリに登録されたコンテンツリストが読出される(ステップSA60)。
【0128】
一方、コンテンツリスト配信サーバ300に接続可能な場合、端末100からコンテンツリスト配信サーバ300に対して、コンテンツリストのメタ情報ファイルの取得要求がなされる(ステップSA20)。
【0129】
これに応じて、コンテンツリスト配信サーバ300では、改めてコンテンツリストが生成され(ステップSB30)、そして、当該コンテンツリストのメタ情報ファイルが端末100へ送信される(ステップSB40)。
【0130】
当該メタ情報ファイルを受信した端末100では、キャッシュメモリに既に格納されているコンテンツリストのメタ情報ファイルと、受信したメタ情報ファイルが一致するか否かが判断される(ステップSA30)。そして、一致する場合には、改めてコンテンツリスト配信サーバ300からコンテンツリストを受信することなく、既にキャッシュメモリに格納されているコンテンツリストを読出す(ステップSA60)。一方、メタ情報ファイルが一致しなかった場合には、端末100はコンテンツリスト配信サーバにコンテンツリストの取得を要求する(ステップSA40)。
【0131】
そして、端末100では、コンテンツリスト配信サーバ300から受信したコンテンツリストが読出される(ステップSA50)。
【0132】
なお、コンテンツリスト配信サーバ300では、ステップSB10〜ステップSB30で示したように、端末100からメタ情報ファイルの取得要求がなされるたびにコンテンツリストおよびそのメタ情報ファイルが生成されたが、これらの生成は、このタイミングは
図10を参照して説明されたものに限定されない。たとえば、ユーザ購入履歴DB311において対象となるユーザIDについての履歴情報が更新されたとき、前回コンテンツリスト等が生成されてから一定の時間が経過したとき、等であってもよい。このように、端末100からのメタ情報ファイルの取得要求の受信とは異なるタイミングでコンテンツリストおよびそのメタ情報ファイルが生成される場合には、コンテンツリスト配信サーバ300の処理部301は、ステップSA20による要求を受信すると、既に生成され記憶部302等に格納された、対象となるユーザIDに対応するメタ情報ファイルを、ステップSB40で、端末100へ送信する。そして、ステップSA40のコンテンツリスト取得要求を受けると、処理部301は、ステップSB50の処理として、既に記憶部302等に格納されているコンテンツリストを、端末100へ送信する。
【0133】
<コンテンツ表示処理>
端末100の電子書籍アプリでは、
図7または
図8を参照して説明したように、本棚画面が表示される。本棚画面500,600のそれぞれには、各コンテンツを選択するための表示欄511〜517,611〜617が表示される。
【0134】
そして、本棚画面500,600のそれぞれにおいて、表示欄511〜517,611〜617のいずれかが選択されると、当該表示欄に対応するコンテンツを表示するための処理が実行される。
【0135】
図11は、処理部101が実行する当該処理のフローチャートである。
図11を参照して、本棚画面500,600のいずれかにおいて、表示欄511〜517,611〜617のいずれかを選択する操作がなされると、処理部101は、ステップSA110において、選択されたコンテンツが端末100のコンテンツ記憶部104A内に格納されているか否かが判断され、格納されている判断するとステップSA150へ処理を進め、格納されていない、つまり、コンテンツ配信サーバ200に格納されていると判断するとステップSA120へ処理を進める。
【0136】
ステップSA150では、処理部101は、コンテンツ記憶部104Aに格納されたコンテンツであって、選択されたコンテンツを、ビューアで表示装置(表示部102)に表示させて、処理を終了する。
【0137】
一方、ステップSA120では、処理部101は、コンテンツ配信サーバ200に対して、選択されたコンテンツの本体のファイルのダウンロード要求を送信する。
【0138】
これに応じて、コンテンツ配信サーバ200の処理部201は、要求されたコンテンツを端末100へ配信する(ステップSE110)。
【0139】
これに応じて、端末100の処理部101は、ステップSA130で、コンテンツを受信し、コンテンツ記憶部104Aに格納するとともに、格納後の情報に応じてコンテンツDB104Bの情報を更新して、ステップSA140へ処理を進める。これにより、新たにコンテンツ記憶部104Aに格納されたコンテンツの情報が、端末内コンテンツDB(表1参照)に追加される。
【0140】
ステップSA140では、処理部101は、ステップSA130で受信したコンテンツを、ビューアで表示装置(表示部102)に表示させて、処理を終了する。
【0141】
図12は、表示部にコンテンツが表示された状態の一例を示す図である。コンテンツがビューアで表示装置(表示部102)に表示されることにより、表示部102には、画面1100のような、コンテンツの表示画面が表示される。
【0142】
[第2の実施の形態]
本実施の形態の端末100において表示される本棚画面では、当該端末100のコンテンツ記憶部104Aに格納されたコンテンツと、当該コンテンツ記憶部104Aには格納されていないが当該端末100のユーザが使用権を有しコンテンツ配信サーバ200に格納されているコンテンツの情報が、同じ画面に表示される。
【0143】
図13は、本実施の形態の端末100において表示される本棚画面の一例を示す図である。
【0144】
図13を参照して、本棚画面700には、電子書籍アプリにおいて取得されたメッセージを表示する表示欄710と、広告情報を表示する表示欄720と、コンテンツ情報の表示におけるソートの条件などを設定するための操作ボタンを表示する表示欄730とともに、ユーザが使用権を有するコンテンツの情報を表示する表示欄740を含む。
【0145】
表示欄740には、個々のコンテンツに対応する表示欄741〜749を含む。なお、
図13では、表示欄741〜745にのみ、コンテンツの情報が示されている。
【0146】
表示欄741〜745のそれぞれには、コンテンツのタイトルが表示されている。
図7では、コンテンツのタイトルの例示として、「タイトルPA(1)」等の文字列が示されている。
【0147】
また、表示欄741〜745のうち、表示欄742,743,745については、当該端末100のコンテンツ記憶部104Aにコンテンツが格納されていることを示すボタン740Aが示されている。なお、ボタン740Aの中には、端末100へのコンテンツのダウンロードが完了していることを示す文字列(「DL済」)が表示されている。
【0148】
つまり、
図13に示された本棚画面700の表示欄740に情報を表示されたコンテンツ(表示欄741〜745のそれぞれに対応するコンテンツ)のうち、ボタン740Aを表示されている表示欄742,743,745に対応するコンテンツについては、端末100内に格納され、それ以外のコンテンツ、つまり、表示欄741,744に対応するコンテンツについては、端末100には格納されておらずコンテンツ配信サーバ200に格納されていることを、ユーザは視認することができる。
【0149】
図14は、
図13に示したような本棚画面700を表示するために、端末100において実行される処理のフローチャートである。
【0150】
図14を参照して、端末100において電子書籍アプリを起動する操作がなされると、処理部101は、ステップS10で、表示部102に電子書籍アプリのホーム画面を表示させ、ステップS20へ処理を進める。
【0151】
ステップS20では、処理部101は、操作部103への操作等によって本棚画面を表示するための要求がなされたか否かを判断し、そのような要求がなされたと判断するとステップS60へ処理を進める。
【0152】
ステップS60では、処理部101は、
図9を参照して説明したように、コンテンツリスト配信サーバ300に格納されているコンテンツリストを読出して、ステップS70へ処理を進める。なお、本実施の形態においても、コンテンツリストの読出については、たとえば
図10を参照して説明した処理によって実現される。
【0153】
ステップS70では、処理部101は、コンテンツDB104Bに格納されたコンテンツDBのデータを読出し、ステップS60で取得したコンテンツリストとの差分を算出して、ステップS81へ処理を進める。
【0154】
ステップS81では、処理部101は、
図13を参照して説明した本棚画面700のような、端末100のコンテンツ記憶部104Aに格納されているコンテンツと、コンテンツ記憶部104Aには格納されていないがコンテンツ配信サーバ200に格納されているコンテンツの情報とを含めた本棚画面を表示するためのデータを生成して、ステップS90へ処理を進める。
【0155】
なお、当該表示データでは、
図13を参照して説明したように、ユーザが使用権を有するコンテンツの情報は、コンテンツ記憶部104Aに格納されているものといないものとを区別して(
図13のボタン740A等)表示される。
【0156】
ステップS90では、処理部101は、ステップS81で生成した表示データに基づいて本棚画面を表示装置(表示部102)に表示させて、処理を終了する。
【0157】
以上説明した本実施の形態の端末100によれば、本棚画面700を視認したユーザは、自己が使用権を有するすべてのコンテンツを1つの画面で見ることができ、そして、その中でどのコンテンツが操作中の端末100に格納され、どのコンテンツが当該端末100には格納されていないかを視認することができる。
【0158】
また、本実施の形態においても、各コンテンツに対応する表示欄(
図13の表示欄741〜745)のいずれかに対して操作がなされると、各コンテンツについて、ビューアで表示がなされたり、コンテンツ配信サーバ200に対してダウンロード要求がなされたりする。
【0159】
具体的には、たとえば表示欄742に対して操作がなされると、当該表示欄に対応するコンテンツが、コンテンツ記憶部104Aから読出されて、ビューアで表示される。
【0160】
一方、表示欄741に対して操作がなされると、処理部101は、当該表示欄に対応するコンテンツについて、コンテンツ配信サーバ200に対してダウンロード要求をする。なお、コンテンツ配信サーバ200に対するダウンロード要求を行なう前に、処理部101は、ユーザに対してダウンロードの要否を問合せてもよい。
【0161】
当該問合せに際して、処理部101は、たとえば
図15に示すような画面を表示する。
図15の本棚画面750では、本棚画面700が全体的にグレーアウトされ、その上にウィンドウ751が表示されている。ウィンドウ751は、操作された表示欄741に対応するコンテンツ(「タイトルPA(1)」をタイトルとするコンテンツ)のダウンロードの要否を問合せる画面である。ウィンドウ751には、OKボタンとキャンセルボタンとが含まれる。OKボタンを操作されれば、処理部101は、当該コンテンツについて、コンテンツ配信サーバ200に対してダウンロード要求をする。一方、キャンセルボタンが操作されれば、処理部101は、当該要求を行なうことなく、
図13に示したような本棚画面700を表示装置(表示部102)に表示させる状態に、制御を戻す。
【0162】
[第3の実施の形態]
本実施の形態の端末100は、コンテンツ配信サーバ200からのダウンロード以外によって取得したコンテンツのコンテンツ配信サーバ200でのアップロードが可能である。
【0163】
図16は、本実施の形態の端末100において表示される本棚画面の一例を示す図である。
【0164】
図16を参照して、本棚画面701では、
図13の本棚画面700に対して、表示欄740において、表示欄746に、さらに、コンテンツに対応する情報が表示されている。
【0165】
表示欄746に情報を表示されたコンテンツ(タイトル「タイトルPF(1)」のコンテンツ)は、(操作対象となっている)端末100において制作された、もしくは当該端末100以外の情報処理装置において作成されコンテンツ配信サーバ200に格納されることなく当該端末100に転送されたコンテンツ(いわゆる、自炊コンテンツ)である。
【0166】
このようなコンテンツについては、コンテンツリスト配信サーバ300から配信されるコンテンツリストには情報が登録されていない。
【0167】
本実施の形態の端末100では、このようなコンテンツについて、その情報を本棚画面の表示欄746として、本棚画面に表示するとともに、コンテンツ配信サーバ200には当該コンテンツが格納されてコンテンツ配信サーバ200へのアップロードを促すためのボタン740Bを表示する。
【0168】
そして、端末100は、ボタン740Bを操作されると、対応するコンテンツを、コンテンツ配信サーバ200へとアップロードする。
【0169】
図17は、
図16の本棚画面701に示したような本棚画面を表示するための処理のフローチャートである。
【0170】
図17を参照して、本実施の形態では、
図17を参照した第2の実施の形態の端末100における処理においてと同様にステップS60で読出したコンテンツリストに情報を格納されたコンテンツとコンテンツDB104Bに情報を格納されたコンテンツとの差分を算出した場合、コンテンツ配信サーバ200とコンテンツ記憶部104Aの双方に格納されているコンテンツと、コンテンツ配信サーバ200には格納されているがコンテンツ記憶部104Aには格納されていないコンテンツと、コンテンツ配信サーバ200に格納されてはいないがコンテンツ記憶部104Aには格納されているコンテンツ、という3種類のコンテンツが存在することになる。
【0171】
そして、本実施の形態では、ステップS82において、これらの3種類のコンテンツの情報を表示するための本棚画面の表示データが生成される。
【0172】
そして、ステップS82で生成された表示データに基づく表示が、ステップS90でなされる。
【0173】
これにより、
図16の本棚画面701のような本棚画面が、表示装置(表示部102)に表示される。
【0174】
図18は、本棚画面701においてボタン740Bが操作されたときに実行される処理のフローチャートである。
【0175】
図18を参照して、ボタン740Bが操作されることによってコンテンツのアップロードが支持されると、処理部101は、ステップSA210において、当該操作の対象となったコンテンツが、コンテンツリスト配信サーバ300から受信したコンテンツリストの存在するか否かを判断し、存在すると判断するとステップSA250へ処理を進める。
【0176】
なお、ステップSA210における判断は、その時点で、処理部101は、コンテンツリスト配信サーバ300に対してコンテンツリストを要求してもよいし、その時点で、キャッシュメモリに格納されているコンテンツリストを参照して実現されてもよい。
【0177】
ステップSA250では、処理部101は、操作の対象となったコンテンツを、ビューアで表示装置(表示部102)に表示させて、処理を終了させる。
【0178】
一方、ステップSA210において、ボタン740Bの操作の対象となったコンテンツが、コンテンツリストに存在しないと判断すると、処理部101はステップSA220へ処理を進める。
【0179】
ステップSA220では、処理部101は、コンテンツ配信サーバ200に対して、当該コンテンツのアップロード要求をする。これに応じて、コンテンツ配信サーバ200の処理部201は、当該コンテンツを記憶部202に格納するとともに、ステップSB210で、ユーザ購入履歴DB311において、上記のように格納したコンテンツの情報を追加するように、購入履歴DB311に対してデータの更新を要求する。
【0180】
これに応じて、ユーザ購入履歴DB311では、アップロードを要求したユーザについての購入履歴に、アップロードされたコンテンツの情報を追加するようにデータベースを更新し、当該更新が完了すると、その旨をコンテンツ配信サーバ200へ通知する。
【0181】
また、コンテンツ配信サーバ200の処理部201は、ステップSB220で、アップロードによって新たに格納されたコンテンツの書誌情報を追加するように、書誌情報DB312に対して、データベースの更新を要求する。
【0182】
これに応じて、書誌情報DB312では、データベースが更新され(ステップSD210)、完了すると、その旨を、コンテンツ配信サーバ200へ通知する。
【0183】
コンテンツ配信サーバ200の処理部201は、ユーザ購入履歴DB311からの完了通知と書誌情報DB312からの完了通知を受信すると、ステップSB230で、端末100に対して、ステップSA220で要求されたアップロードが終了したことを通知する。
【0184】
これに応じて、端末100の処理部101は、ステップSA230で、コンテンツ配信サーバ200からの終了通知を受信して、ステップSA240へ処理を進める。
【0185】
ステップSA240では、処理部101は、ステップSA220でアップロードを要求したコンテンツを、ビューアで表示装置(表示部102)に表示させて、処理を終了する。
【0186】
[その他の変形例等]
以上説明した本実施の形態において、端末100は、コンテンツの再生機能を有する情報処理装置であれば、種々の機器によって実現することができる。
【0187】
たとえば、端末100は、
図19に示されるように、タブレット端末によって実現されてもよい。
【0188】
図19に示されたタブレット端末(端末100)では、その筐体に、表示部102とともに、操作ボタン103Aが備えられている。
図19に示された端末100では、表示部102と重ねられてタッチセンサが設けられ、操作部103は、当該タッチセンサおよび/または操作ボタン103Aによって、構成される。
【0189】
また、端末100は、
図20に示されるように、スマートフォン端末によって、つまり、通話機能を有するような端末によって実現される場合もある。
【0190】
図20に示されたスマートフォン端末(端末100)では、その筐体に、表示部102とともに、操作ボタン103B〜103Dが備えられている。
図20に示された端末100では、表示部102と重ねられてタッチセンサが設けられ、操作部103は、当該タッチセンサおよび/または操作ボタン103B〜103Dによって、構成される。
【0191】
また、端末100は、
図21に示されるように、携帯性を備えた端末ではなく、オフィス等において設置されるパーソナルコンピュータによって実現される場合もあり得る。
【0192】
パーソナルコンピュータによって実現される端末100には、モニタ102Aと、キーボード103Eおよびマウス103Fとが、接続されている。この場合、表示部102は、モニタ102Aにおける表示を制御する。つまり、モニタ102Aのドライバソフトウェアまたはドライバ回路基板によって、実現される。この例では、キーボード103Eおよび/またはマウス103Fによって、操作部103が構成される。
【0193】
また、端末100は、
図22に示されるように、テレビジョン受像機によって実現される端末100は、モニタと、リモートコントローラ(以下、「リモコン」と称する)とを含む。このような例では、リモコンによって操作部103が構成され、また、モニタによって表示部102が構成される。
【0194】
また、以上説明した各実施の形態において、ユーザ購入履歴DBは、ユーザが使用権を有するコンテンツの情報が格納されるべきデータベースである。本明細書では、主に、ユーザ購入履歴DBにユーザが購入したコンテンツの情報が格納される旨の説明がなされたが、ユーザが積極的に購入等の行為を行ったコンテンツの情報に限らず、いわゆるフリーコンテンツの情報についても、ユーザ購入履歴DBに格納されてもよい。これにより、コンテンツリストには、このようなフリーコンテンツの情報も含まれる場合もあり得る。
【0195】
また、以上説明した
図10のステップSA30において、処理部101は、キャッシュメモリに格納されたメタ情報ファイルとコンテンツリスト配信サーバ300から受信したメタ情報ファイルが一致しなければ、ステップSA40で、コンテンツリスト配信サーバ300に対して、コンテンツリストの送信を要求した。なお、メタ情報ファイルには、
図6を参照して説明したように、当該メタ情報ファイルの有効期限も含まれる場合があり得る。そして、処理部101は、ステップSA30において、コンテンツリスト配信サーバ300から受信したメタ情報ファイルにおいて有効期限が切れていればステップSA40でコンテンツリストの送信を要求し、有効期限が切れていなければステップSA60でキャッシュメモリからコンテンツリストを読み出してもよい。これにより、無駄にコンテンツリスト配信サーバ300から端末100へコンテンツリストが送信されることを回避できる。
【0196】
今回開示された各実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。また、各実施の形態およびその変形例は、可能な限り組み合わせて実施されることが意図される。