JP2012003777A - 情報処理装置、方法及びプログラム - Google Patents
情報処理装置、方法及びプログラム Download PDFInfo
- Publication number
- JP2012003777A JP2012003777A JP2011174878A JP2011174878A JP2012003777A JP 2012003777 A JP2012003777 A JP 2012003777A JP 2011174878 A JP2011174878 A JP 2011174878A JP 2011174878 A JP2011174878 A JP 2011174878A JP 2012003777 A JP2012003777 A JP 2012003777A
- Authority
- JP
- Japan
- Prior art keywords
- script
- content
- alternative
- child node
- control information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【解決手段】自身の代替を行うか、木構造上1つ上の親ノードを代替するかを示す制御情報をもつコンテンツおよび子ノードスクリプトを、少なくとも1つ含むスクリプトを複数格納する第1格納手段101と、親ノードスクリプトを解析し、必要に応じ子ノードスクリプトを取得してさらに解析する解析手段102と、コンテンツを取得しようとする第1取得手段103と、必要に応じて代替コンテンツを検索する検索手段104と、必要に応じ代替子ノードスクリプトまたは代替親ノードスクリプトを検索する検索手段107と、検索した代替コンテンツを取得する第2取得手段105と、検索した代替スクリプトを取得する第3取得手段108と、取得した代替コンテンツ、代替子ノードスクリプトおよび代替親ノードスクリプトの少なくとも1つを変更した変更スクリプトを得る変更手段110と、を具備する。
【選択図】図1
Description
(実施形態)
本発明の本実施形態に係る情報処理装置について図1を参照して説明する。本実施形態に係る情報処理装置は、端末に載せることを前提としているが、サーバにあってもよい。
本実施形態に係る情報処理装置100は、スクリプトストレージ部101、スクリプト解析部102、コンテンツ取得部103、代替コンテンツ検索部104、代替コンテンツ取得部105、スクリプトフラグチェック部106、代替スクリプト検索部107、代替スクリプト取得部108、フラグ格納部109、スクリプト変更部110、コンテンツキャッシュ部111を含む。
スクリプトストレージ部101は、複数のスクリプトを格納している。スクリプトはウェブ上のスクリプト提供者からの受信、情報処理装置100の利用者による作成や情報処理装置100内での自動生成などの方法で作成され、プレイリスト、メタデータなどを含んでいる。スクリプトについては、後に図2、図4を参照して詳細に説明する。またスクリプトストレージ部は、スクリプト解析部102と代替スクリプト取得部108へスクリプトを送る。
スクリプト解析部102は、スクリプトストレージ部101からあるスクリプトを読み出し、これを親ノードスクリプト(または親スクリプトとも呼ぶ)としてスクリプトの解析をおこなう。親ノードスクリプトは、このスクリプトがもつプレイリスト中にさらにスクリプトを含む場合をいう。この親ノードスクリプトに含まれているスクリプトを子ノードスクリプト(または子スクリプトとも呼ぶ)と呼ぶ。プレイリストがコンテンツを含むものであれば、コンテンツ取得部103に送り、プレイリストがスクリプトを含むものであれば、スクリプトストレージ部101から対応するスクリプトを取得する。また、プレイリスト中のコンテンツや子ノードスクリプトがもつフラグをフラグ格納部109へ送る。フラグは、取得に成功したか、あるいは代替となるものを取得したか等の条件を示すものであり、後に詳細に説明する。またスクリプト解析部102は、スクリプトの処理が全て終わった場合は、スクリプト変更部110から受け取ったスクリプトを外部へ出力する。
代替コンテンツ検索部104は、代替コンテンツの検索をおこなう。代替コンテンツは、はじめの親ノードスクリプトで指定されたコンテンツの同様またはそれに類似した情報内容を含むコンテンツである。代替コンテンツの検索は、コンテンツキャッシュ部111や外部にある照合情報保持サーバ153を参照して検索をおこなう。検索によって代替コンテンツが見つかった場合は、検索結果を代替コンテンツ取得部105へ送る。
代替コンテンツ取得部105は、代替コンテンツ検索部104から受け取った検索結果をもとに、代替コンテンツを外部にある代替コンテンツ提供者152から取得する。代替コンテンツの取得に成功した場合、フラグをフラグ格納部109へ送り、取得内容をスクリプト変更部110へ送る。
スクリプトフラグチェック部106は、スクリプト解析部102から受け取ったプレイリストに含まれるフラグのチェックをおこなう。チェックを終えてスクリプト(親ノードスクリプトまたは子ノードスクリプト)の代替が必要でない場合は、スクリプト解析部102へ送る。スクリプトの代替が必要である場合、代替スクリプト検索部107へ進む。
フラグ格納部109は、各コンテンツや各スクリプトが持つフラグの値を格納し、必要に応じてスクリプト変更部110へ送る。
スクリプト変更部110は、フラグ格納部109から受け取ったフラグの値に応じて、プレイリスト全体のフラグについてマージ処理を行う。マージ処理した結果によりスクリプトの変更を行う必要がある場合は、子ノードスクリプトまたは親ノードスクリプトのプレイリストを書き換える。またスクリプト変更部110は、書き換えたこれらのスクリプトをスクリプト解析部102へ送る。
コンテンツキャッシュ部111は、代替となるコンテンツのキャッシュを記録してあり、外部から取得したコンテンツのキャッシュについても更新して記録する。
プレイリスト210は、サービス・コンテンツの表示順を示しており、例えばどのコンテンツを表示させるかを示す。プレイリスト210に並べられた順にコンテンツを取得する。子ノードスクリプトへのリンクと制御情報211、コンテンツへのリンクと制御情報212を少なくとも1つ以上含む。つまりスクリプト200は、複数のスクリプトを木構造で構成して構造化することができるようになっている。子ノードスクリプトへのリンクと制御情報211は、スクリプトの木構造のリンクを表現するためと、子ノードスクリプトに対する制御情報を記述するためのものである。
木構造で構造化した一例を図3を参照して説明する。スクリプト301を基となる親ノードスクリプト(ルート;根ノードとも呼ぶ)とすれば、スクリプト301のプレイリスト中に、スクリプト302、303へのリンクがあり、これが子ノードスクリプトとなる。スクリプト303のプレイリスト中には、さらに次の子ノードスクリプトとなるスクリプト304へのリンクがなされている。スクリプト304から見れば、スクリプト303は親ノードスクリプトとなる。このように複数のスクリプトを入れ子状態で組み合わせて用いることができる。
メタデータ220は、名前、作成者、ジャンル、キーワード、権利者情報、説明文などを含む属性情報を記述するためのものであり、スクリプト200自身の属性情報を記述するスクリプト自身のメタデータ221と、プレイリスト220でリンクされた子ノードスクリプトやコンテンツのメタデータを記述するプレイリスト中の子ノードスクリプトおよびコンテンツのメタデータ222を含む。
図4は「朝のニュース情報」という名前のスクリプトであり、その内容は“daily_news”という子ノードスクリプトと、“marumaru_weather”という子ノードスクリプトと、“sports_news”という子ノードスクリプトによって構成されている。
図4のスクリプト中の子ノードスクリプトのうち、“marumaru_weather”スクリプトの記述例が図5である。“marumaru_weather”スクリプトは、“kyouasu_weather”という子ノードスクリプトと、“otenki.jp/weekly”というコンテンツと、“amederu.jp/”というコンテンツと、“typhoon.jp/”というコンテンツによって構成される。
それぞれの子ノードスクリプトにおいて、<scriptmeta>タグで囲まれた部分がスクリプト自身のメタデータ221、<playlist>タグで囲まれた部分がプレイリスト210、その子エレメントのうち、<subscript>タグで囲まれた部分が子ノードスクリプトへのリンクと制御情報211、<content>タグで囲まれた部分がコンテンツへのリンクと制御情報212となる。
<subscript>タグの属性“id”が子ノードスクリプトへのリンクで、子ノードとなるスクリプトの判別は<script>タグの属性“id”とのマッチングにより行われる。<content>タグの属性“url”はコンテンツへのリンクである。
制御情報1:取得に失敗したときに置き換えを行うかどうか
制御情報2:取得および代替に失敗したときに、呼び出し元の親ノードスクリプトそのもの代替を行うかどうか
この2つの制御情報について、制御情報1は、<control>タグの子エレメントである<alternate>タグに‘yes’または‘no’で記述している。‘yes’の場合はコンテンツおよびスクリプトの取得に失敗ときに代替による置き換えを行い、‘no’の場合は代替による置き換えを行わない。制御情報2は<content>タグの子エレメントである<mandatory>タグに‘yes’または‘no’で記述し、‘yes’の場合はコンテンツおよびスクリプトの取得および代替の取得に失敗したときに、現在注目しているスクリプトより1つ上の階層のノードである親ノードスクリプトそのものの代替を行い、‘no’の場合はその代替を行わない、とする。
以後の説明では、<subscript>タグもしくは<content>タグで囲まれたひとかたまりをプレイリスト中の1件と定義して説明を進めていくものとする。 プレイリストの再生順については、上から記述された順に処理することを基本とするが、スクリプトは繰り返しや分岐、入れ子などの制御構造を持った文法としても良い。
次に、スクリプトストレージ部101から、あるスクリプトを読み出して処理をおこなう手順を図4から図8を参照して詳細に説明する。
なお、スクリプトの処理ではプレイリストの1件ごとに以下の3つのフラグを用意して処理を進める。なお、フラグは初期ではすべて「OFF」になっているものとする。各フラグの「ON」となる条件を以下に示す。
フラグ1:「取得成功」コンテンツまたは子ノードスクリプトの取得に成功したら「ON」
フラグ2:「代替を取得」コンテンツまたは子ノードスクリプトの取得には失敗したが、代替コンテンツまたは代替子ノードスクリプトの検索または取得には成功したら「ON」
フラグ3:「親ノードスクリプトそのものの代替」コンテンツまたは子ノードスクリプトの取得および代替の両方に失敗し、さらに制御情報2が‘yes’であった場合に「ON」
なお、コンテンツの取得状況については、<content>タグの属性“url”から必要な情報が取得できたかによって決定する。
はじめに、スクリプト解析部102は、スクリプトストレージ部101からあるスクリプトを、はじめに親ノードスクリプトとして読み出す(S601)。次に、読み込んだ親ノードスクリプトのプレイリストのうち、最初に書かれている1件を読み込む(S602)。そして、読み込んだ1件の内容がコンテンツであるか、子ノードスクリプトであるかを判定する(S603)。読み込んだ1件がコンテンツである場合には、コンテンツ取得部103において「コンテンツ取得」処理を行う(S604)。
S605において、コンテンツの取得に成功した場合には、処理をスクリプト解析部102に戻し、プレイリストの処理中の1件についてについてフラグ1「取得成功」を「ON」にする。そしてプレイリストの次の1件の取得を試みるためS611へ移り、プレイリストに次の1件があるかどうかを判定する。次の1件がある場合はS602へ戻り再び処理を進める。次の1件がない場合は、S612へ進む。
S605において、コンテンツの取得に失敗した場合は、S607へ進み「代替コンテンツ検索および取得」処理をおこなう。代替コンテンツ検索および取得の処理については図7を参照して詳細に説明する。
まずプレイリストの処理中について制御情報1の内容をチェックする(S701)。制御情報1の内容を示す<alternate>タグの中身が‘yes’の場合には、置き換えを許可と判断してS702へ進み、代替コンテンツの検索を行う。制御情報1が‘no’の場合には、コンテンツの代替を行わず、制御情報2の内容チェックをおこなうためS706へ進む。
S702における代替コンテンツの検索は、スクリプトに書かれたメタデータやコンテンツのURLをキーに、外部の照合情報保持サーバ153への問い合わせ、もしくはコンテンツキャッシュ部111内のコンテンツに対するマッチングによって行う。キーのマッチング方法については完全一致を基本とするが、部分一致や、関連する単語を別の辞書により探しだし、その結果をキーに代替コンテンツを検索しても良い。代替コンテンツの検索については、スクリプト中にどのような検索方法を用いるか記述してもよい。
また、コンテンツが画像や音声、テキストなどの単一のメディアではなく、HTML(HyperText Markup Language)やXMLなどのマークアップ言語とそのリンクに記載されたマルチメデイアデータであった場合、そのうち一部のみ取得に失敗することがあり得る。この場合には、取得に失敗した一部のデータのみの代替を検索しても良い。そのとき、検索にはスクリプトに記載された情報だけでなく、取得に成功したデータをテキスト処理、信号処理を行って解析し、検索のキーを生成しても良い。さらに、代替コンテンツの検索は、照合情報保持サーバ153またはシステム内部のキャッシュ(コンテンツキャッシュ部111など)への問い合わせを想定しているが、その両方が利用できる場合、どちらを優先するかについてはシステムで決定もしくはスクリプト上で指定することが考えられる。問い合わせの優先度をスクリプト上に直接記述してもよい。
S703において、代替コンテンツが見つかった場合には、S704に進み代替スクリプト取得部108において代替コンテンツを取得する。そして、プレイリストの処理中の1件についてフラグ2「代替を取得」を「ON」にし(S705)、フラグ2をフラグ格納部109へ送り「END」からS607に戻る。
S703において代替コンテンツが見つからなかった場合には、制御情報1のチェックで‘no’だった場合と同様、制御情報2の内容チェックへと進む(S706)。制御情報2の内容が‘yes’(親ノードスクリプトそのものの代替行う)の場合には、S707に進みプレイリストの処理中の1件についてフラグ3「親ノードスクリプトそのものの代替」を「ON」にし、「END」からS607に戻る。
制御情報2の内容が‘no’(親ノードスクリプトそのものの代替を行わない)の場合は、フラグ3「親ノードスクリプトそのものの代替」は「OFF」のまま、「END」からS607に戻る。
次に、S602で読み込んだ次の1件が子ノードスクリプトであった場合のS603における処理について示す。
子ノードスクリプトであった場合には、S608に進み、子ノードスクリプトへのリンクに記述されたidをスクリプトストレージ部101から子ノードスクリプトを取得し、新たに取得したスクリプトについて、もとの子ノードスクリプト同様に図6の「START」から処理を行う。子ノードスクリプトの処理は、その子ノードスクリプトの中にさらに新たなスクリプトを含むかどうかを解析し、新たなスクリプトを含む場合は先に新たなスクリプトの処理をおこない、処理中のスクリプトのプレイリスト内に新たなスクリプトを含まない子ノードまで、つまりプレイリスト中にコンテンツのみを含んでいる子ノードにいたるまで順次先に処理を行う。子ノードスクリプトのプレイリスト中に新たなスクリプトがない場合は、その子ノードスクリプト内での処理を終えて、一つ上のノードスクリプトに処理がうつりさらに新たなスクリプトがないかどうかを解析する。このように子ノードスクリプトの再帰的な処理が終了し、処理が上のノードへ戻ってくると、スクリプトフラグチェック部106において、子ノードスクリプトの取得状況をチェックする(S609)。
子ノードスクリプトの取得状況は、子ノードスクリプトの処理の結果、子ノードスクリプトの処理結果でフラグ3が「OFF」の場合を成功、と定義する。ただし、他の実施形態においては「制御情報として代替コンテンツが入っていてはいけない」といった制御情報を追加してもよい。その場合には、子ノードスクリプトの処理の結果、子ノードスクリプトの処理結果でフラグ2が「OFF」の場合を成功、と定義されることになる。
子ノードスクリプトの取得が成功と判定された場合には、処理をスクリプトフラグチェック部106からスクリプト解析部102に戻し、プレイリストの処理中の1件についてについてフラグ1「取得成功」を「ON」にし(S606)、プレイリストの次の1件の取得を試みてS611の処理へ進む。次の1件がある場合はS602へ戻り再び処理を進める。次の1件がない場合は、S612へ進む。
S609において、子ノードスクリプトで取得失敗となったものがあった場合には、S610における「代替スクリプト検索および取得」の処理を行う。この処理を行うために図8の「START」へと処理が移る。S610における具体的な処理を図8を参照して説明する。
まず、プレイリストの処理中の1件について制御情報1の内容をチェックする(S801)。制御情報1の内容である<alternate>タグの中身が‘yes’の場合には置き換えを許可と判断し、S802へ進み代替スクリプトの検索処理に移る。制御情報1の内容が‘no’の場合には、スクリプトの代替を行わず、制御情報2の内容チェックをおこなうためS806へと進む。
代替スクリプトの検索は、スクリプトに書かれたメタデータやコンテンツのURL、もしくは子ノードスクリプトに書かれたメタデータやコンテンツのURL、取得した一部のコンテンツ内のメタデータやコンテンツそのものをキーとして、外部の照合情報保持サーバ153への問い合わせ、もしくはスクリプトストレージ部101に対するマッチングによって行う。取得のキーがテキスト情報である場合には、完全一致を基本とするが、部分一致は関連する単語を別の辞書をベースに検索し、関連する単語をベースに検索しても良い。代替スクリプトの検索については、スクリプト中にどのような検索方法を用いるか記述することも考えられる。また、スクリプト中の取得に成功した一部のコンテンツがテキスト以外のデータ(画像、音声、動画など)である場合には、画像認識および音声認識などの信号処理を行い、検索のキーとしても良い。
S803において、代替スクリプトが見つかった場合には、代替スクリプト取得部108において代替スクリプトを取得し(S804)、プレイリストの処理中の1件についてについてフラグ2「代替を取得」を「ON」にする(S805)。このフラグ2をフラグ格納部109へ送り、「END」からS610に戻る。
代替スクリプトが見つからなかった場合には、制御情報1のチェックで‘no’だった場合と同様、制御情報2の内容チェックへと進む(S806)。制御情報2の内容が‘yes’(親ノードスクリプトそのものの代替行う)の場合にはプレイリストの処理中の1件についてフラグ3「親ノードスクリプトそのものの代替」を「ON」にし(S807)、「END」からS610に戻る。
制御情報2の内容が‘no’(親ノードスクリプトそのものの代替を行わない)の場合は、フラグ3「親ノードスクリプトそのものの代替」は「OFF」のまま、「END」からS610に戻る。
プレイリストの1件の処理が終了すると、プレイリストに次のコンテンツまたは子ノードスクリプトの記述があるかどうかをチェックする(S611)。次の1件が存在する場合には、S602へ戻り、プレイリストの次の1件を読み込んで同様の処理をおこなう。
次の1件が存在しない場合には、プレイリスト中のすべてのコンテンツおよび子ノードスクリプトを処理し終わったこととなり、親ノードスクリプトのプレイリストの処理結果のフラグのマージへ移る(S612)。
フラグのマージ方法は以下の通りである。
フラグ1:「取得成功」のマージ
フラグ1はコンテンツおよび子ノードスクリプトの取得に成功したら「ON」となる。「OFF」となっているスクリプトが1つでもある場合には、完全に取得できたとはいえないため、フラグをAND演算したものを、マージ結果とする。
フラグ2:「代替を取得」のマージ
フラグ2はコンテンツおよび子ノードスクリプトの取得には失敗したが、代替コンテンツの検索および取得に成功した場合に「ON」となる。代替を取得したコンテンツおよび子ノードスクリプトが1つでもある場合には、どこかで代替が行われたことになるため、フラグをOR演算したものをマージ結果とする。
フラグ3:「親ノードスクリプトそのものの代替」のマージ
フラグ3は、コンテンツおよび子ノードスクリプトの取得および代替の両方に失敗し、さらに制御情報2、つまり親ノードスクリプトそのものの代替が‘yes’であった場合に「ON」となる。取得および代替の失敗により親ノードスクリプトそのものの代替を要求する、コンテンツおよび子ノードスクリプトが1つでもあった場合には、スクリプトそのものを代替することを示すフラグであるため、フラグをOR演算したものをマージ結果とする。
スクリプトのフラグのマージが終わると、スクリプト変更部110においてスクリプトの書き換えが行われる(S613)。なお、更新したスクリプトをスクリプトストレージ部101へ格納し、コンテンツが取得できなかったスクリプトについて書き換えてもよい。
スクリプトの書き換え処理が終わると、1つのスクリプトの処理は終了となり、スクリプト解析部102へ戻る。このとき、処理していたスクリプトに親ノードスクリプトが存在する場合には、S608の「子ノードスクリプトの処理」に戻り、親ノードスクリプトの処理を再開する。親ノードスクリプトが存在しない場合には、スクリプト全体の木構造のスクリプトの処理の終了、つまりスクリプト全体の処理が終了したと判断して外部への出力処理を行う。
ここから、スクリプトの記述例である図4、図5、および図9から図18を用い、スクリプト変更部110における実際のスクリプト書き換えの例を示す。図5のスクリプト“marumaru_weather”は、図4のスクリプト“morning_news”から子ノードスクリプトとして呼び出される関係となっている。スクリプト変更部110では、以下の3つのいずれかの場合にスクリプトの書き換えを行う。
・コンテンツの代替による書き換え
・スクリプトの代替による書き換え
・スクリプトおよびコンテンツの代替を行わず、スクリプトから削除
なお、実施形態においてスクリプト変更部110での書き換え処理は、スクリプト代替の取得条件の判定や、代替コンテンツ・スクリプトの取得などが終わった後に、1つのスクリプト単位で行われる。そのため、システムはスクリプトの変更すべき内容について、フラグ格納部109に格納したフラグを参照して書き換え処理をおこなう。なお、内部のメモリやキャッシュに保持しておき、スクリプト変更部110ではその情報を参照して書き換え処理をおこなってもよい。
まず、コンテンツの代替について図4、図5および図9から図11を用いて示す。コンテンツの代替が行われるのは、制御情報1が‘yes’であり、代替コンテンツを取得してフラグ2が「ON」になっている場合である。
図9のように、図5の2件目のコンテンツであるコンテンツURL“otenki.jp/weekly”が取得できない状態を考える。この場合、<alternate>タブが‘yes’であるため、このコンテンツの取得できない場合の代替コンテンツを検索する。図5のスクリプトの“otenki.jp/weekly”のコンテンツ記述部分が、“sankaku−tenki.jp/weekly”のコンテンツ記述に書き換えられた一例を図10に示す。このとき、コンテンツURL“sankaku−tenki.jp/weekly”というコンテンツが見つかった場合、コンテンツの構成例は図11のようになる。
次に、親ノードスクリプトの代替について図4、図5および図12から図15を用いて示す。親ノードスクリプトの代替が行われるのは、図6に示した子ノードスクリプト取得情報の確認において、親ノードスクリプトそのものの代替が必要と判断され、フラグ3が「ON」となり、親ノードスクリプトの代替を検索および取得に成功した場合である。
図5の例では、子ノードスクリプト“kyouasu_weather”に含まれる<keyword>タグとして「今日明日の天気」および「きょうあすの天気」、コンテンツURL“otenki.jp/weekly”に含まれる<keyword>タグとして「週間天気」、コンテンツURL“amederu.jp/”に含まれる<keyword>タグとして「降雨情報」および「アメデル」、コンテンツURL“typhoon.jp/”に含まれる<keyword>タグとして「台風情報」が記述されている。これらのキーを元に、子ノードスクリプトおよびコンテンツの単位で代替すべき内容が分離されていると考え、検索した結果見つかったコンテンツの例を図13の“batsubatsu_weather”の代替スクリプトの記述例に示す。また、“batsubatsu_weather”を含むように図4のスクリプトを書き換えた一例を図14に示す。このときのコンテンツの構成例は図15のようになり、「降雨情報」などの親ノードスクリプトである「○○天気予報」が、「××天気予報」に置き換わり、コンテンツ取得場所も変更される。
次に、スクリプトおよびコンテンツの代替を行わず、スクリプトから削除する場合について図4、図5および図16から図18を用いて示す。スクリプトおよびコンテンツの代替を行わずにスクリプトから削除するのは、子ノードスクリプトおよびコンテンツの取得および代替に失敗し、図7または図8の制御情報2の判定で、親ノードスクリプトそのものの代替を行わない、つまり<mandatory>タグが‘no’となっている場合である。
ここでは図16のように、コンテンツURL“typhoon.jp/”が取得できなかった場合を考える。このとき、図5のコンテンツURL“typhoon.jp/”の制御情報では、<alternate>が‘no’で、<mandatory>が‘no’となっている。そのため、“typhoon.jp/”の代替および親ノードスクリプトの代替はおこなわず、図5のスクリプトからコンテンツURL“typhoon.jp/”を削除する。図5のスクリプトからコンテンツURL“typhoon.jp/”を削除した結果のスクリプト記述例を図17に示す。このときのコンテンツの構成例は図18のようになり、「台風情報」というタイトルの記述なくなっている。
システムの大まかな処理手順は、スクリプトストレージ部101から1つのスクリプトを基となる親ノードスクリプトとして読み込み、すべての葉ノード(子ノードスクリプト)までのスクリプトの処理が終わり、全てのコンテンツの取得および代替または削除が終了したら出力するというものであるが、すべてのコンテンツを取得してからではなく、1つのスクリプト中のコンテンツを取得できればそのたびに出力してもよいし、取得に成功したコンテンツから順に出力してもよい。
また、記録媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワーク等のMW(ミドルウェア)等が本実施形態を実現するための各処理の一部を実行してもよい。
さらに、本願発明における記録媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、LANやインターネット等により伝達されたプログラムをダウンロードして記憶または一時記憶した記録媒体も含まれる。
また、記録媒体は1つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本発明における記録媒体に含まれ、媒体の構成は何れの構成であってもよい。
また、本願発明の実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の実施形態における機能を実現することが可能な機器、装置を総称している。
Claims (16)
- コンテンツへのリンクまたは他のスクリプトへのリンクにより木構造を構成するスクリプトであって、子ノードである子ノードスクリプトの取得に失敗した場合に該子ノードスクリプトの代替となる代替子ノードスクリプトを検索するか否かを示す第1スクリプト制御情報、および、該子ノードスクリプトの木構造上1つ上のノードの親ノードスクリプトの代替である第1代替親ノードスクリプトを検索するか否かを示す第2スクリプト制御情報を含む、該子ノードスクリプトへのリンクを示す第1子ノードスクリプトと、
コンテンツの取得に失敗した場合に代替となる代替コンテンツを検索するか否かを示す第1コンテンツ制御情報、および、該コンテンツの木構造上1つ上のノードの親ノードスクリプトの代替である第2代替親ノードスクリプトを検索するか否かを示す第2コンテンツ制御情報を含む、該コンテンツへのリンクを示す第1コンテンツと、を使用する情報処理装置であって、
前記木構造を構成するスクリプトを複数格納する第1格納手段と、
前記第1格納手段が格納している複数のスクリプトの中から1つのスクリプトを親ノードスクリプトとして選択し、該親ノードスクリプトの子ノードの1つであり子ノードスクリプトへのリンクである第2子ノードスクリプトに含まれる、第1スクリプト制御情報および第2スクリプト制御情報を参照してそれぞれ検索するか否かを解析し、該親ノードスクリプトの子ノードの1つでありコンテンツへのリンクである第2コンテンツに含まれる、第1コンテンツ制御情報および第2コンテンツ制御情報を参照してそれぞれ検索するか否かを解析し、前記第2子ノードスクリプトに示されているリンクにある第3子ノードスクリプトがあれば取得して、取得した第3子ノードスクリプトについてさらに解析をおこなうスクリプト解析手段と、
前記第2コンテンツに示されているリンクにある第3コンテンツがあれば取得するコンテンツ取得手段と、
前記第3コンテンツの取得に失敗して、前記第2コンテンツの第1コンテンツ制御情報が代替コンテンツを検索することを示すと解析した場合は該代替コンテンツを検索する代替コンテンツ検索手段と、
前記第3子ノードスクリプトの取得に失敗して、前記第2子ノードスクリプトの第1スクリプト制御情報が代替子ノードスクリプトを検索することを示すと解析した場合は該代替子ノードスクリプトを検索し、前記第2コンテンツの第2コンテンツ制御情報および前記第2子ノードスクリプトの第2スクリプト制御情報のいずれか一方が代替親ノードスクリプトを検索することを示す場合は代替親ノードスクリプトを検索する代替スクリプト検索手段と、
代替コンテンツが見つかった場合は該代替コンテンツを取得する代替コンテンツ取得手段と、
代替子ノードスクリプトおよび代替親ノードスクリプトが見つかった場合は、それぞれ該代替子ノードスクリプトおよび該代替親ノードスクリプトを取得する代替スクリプト取得手段と、
前記代替コンテンツの保存場所を示す第1代替コンテンツを前記第2コンテンツに反映するか、代替子ノードスクリプトへのリンクを示す第1代替子ノードスクリプトを前記第2子ノードスクリプトに反映するか、および、代替親ノードスクリプトを前記親ノードスクリプトに反映するか、の少なくとも1つを変更した変更スクリプトを得る変更手段と、を具備することを特徴とする情報処理装置。 - 前記親ノードスクリプトは、前記コンテンツおよび前記子ノードスクリプトの少なくとも1つから構成される親ノードであって、該コンテンツおよび該子ノードスクリプトの木構造上1つ上の親ノードであることを特徴とする請求項1に記載の情報処理装置。
- 第1コンテンツサーバおよび該第1コンテンツサーバとは含むコンテンツが異なる第2コンテンツサーバ、スクリプトサーバ、外部サーバと接続している情報処理装置であって、
コンテンツキャッシュをさらに具備し、
前記コンテンツ取得手段は、前記第3コンテンツを前記第1コンテンツサーバから取得し、
前記スクリプト解析手段は、前記第3子ノードスクリプトを前記第1格納手段から取得し、
前記代替コンテンツ検索手段は、前記代替コンテンツを前記外部サーバおよび前記コンテンツキャッシュから検索し、
前記代替スクリプト検索手段は、前記代替子ノードスクリプトおよび前記代替親ノードスクリプトを該外部サーバおよび前記第1格納手段から検索し、
前記代替コンテンツ取得手段は、前記代替コンテンツを前記第2コンテンツサーバから取得し、
前記代替スクリプト取得手段は、前記代替子ノードスクリプトおよび前記代替親ノードスクリプトをそれぞれ前記スクリプトサーバおよび前記第1格納手段から取得することを特徴とする請求項1または請求項2に記載の情報処理装置。 - 前記スクリプト解析手段は、スクリプト内に新たなスクリプトが含まれる場合は該新たなスクリプトがさらに新たなスクリプトを含むか否かを解析する第1手順と、スクリプト内に新たなスクリプトを含まない場合は1つ上の親ノードであるスクリプトに戻り、該スクリプト内にさらに新たなスクリプトを含むか否かを解析する第2手順とを有し、
前記第1手順と前記第2手順を前記第3子ノードスクリプトに適用することを特徴とする請求項1または請求項3のいずれか1項に記載の情報処理装置。 - 前記第3コンテンツおよび前記第3子ノードスクリプトのそれぞれの取得に成功したか否かを示す複数の第1フラグと、前記第3コンテンツおよび前記第3子ノードスクリプトのそれぞれの代替が少なくとも1つ以上あったか否かを示す複数の第2フラグと、前記第2コンテンツの第2コンテンツ制御情報および前記第2子ノードスクリプトの第2スクリプト制御情報のいずれかにより前記親ノードスクリプトそのものの代替をおこなうかを示す複数の第3フラグとを格納する第2格納手段をさらに具備し、
前記代替スクリプト検索手段は、前記第3コンテンツおよび前記第3子ノードスクリプトのいずれか1つが前記第3フラグを満たす場合は、前記親ノードスクリプトの代替親ノードスクリプトを検索することを特徴とする請求項4に記載の情報処理装置。 - 前記変更手段は、前記変更スクリプトを前記第1格納手段へ格納することを特徴とする請求項1から請求項4のいずれか1項に記載の情報処理装置。
- 前記第3コンテンツの取得に失敗することは、前記第1コンテンツサーバが一時的または恒久的に該第3コンテンツを提供しないか、該第3コンテンツの利用条件が変更され前記コンテンツの保存場所にある該第3コンテンツを利用できないかであることを特徴とする請求項1から請求項6のいずれか1項に記載の情報処理装置。
- コンテンツへのリンクまたは他のスクリプトへのリンクにより木構造を構成するスクリプトであって、子ノードである子ノードスクリプトの取得に失敗した場合に該子ノードスクリプトの代替となる代替子ノードスクリプトを検索するか否かを示す第1スクリプト制御情報、および、該子ノードスクリプトの木構造上1つ上のノードの親ノードスクリプトの代替である第1代替親ノードスクリプトを検索するか否かを示す第2スクリプト制御情報を含む、該子ノードスクリプトへのリンクを示す第1子ノードスクリプトと、
コンテンツの取得に失敗した場合に代替となる代替コンテンツを検索するか否かを示す第1コンテンツ制御情報、および、該コンテンツの木構造上1つ上のノードの親ノードスクリプトの代替である第2代替親ノードスクリプトを検索するか否かを示す第2コンテンツ制御情報を含む、該コンテンツへのリンクを示す第1コンテンツと、を使用する情報処理方法であって、
前記木構造を構成するスクリプトを複数格納する第1格納手段を用意し、
前記第1格納手段が格納している複数のスクリプトの中から1つのスクリプトを親ノードスクリプトとして選択し、該親ノードスクリプトの子ノードの1つであり子ノードスクリプトへのリンクである第2子ノードスクリプトに含まれる、第1スクリプト制御情報および第2スクリプト制御情報を参照してそれぞれ検索するか否かを解析し、該親ノードスクリプトの子ノードの1つでありコンテンツへのリンクである第2コンテンツに含まれる、第1コンテンツ制御情報および第2コンテンツ制御情報を参照してそれぞれ検索するか否かを解析し、前記第2子ノードスクリプトに示されているリンクにある第3子ノードスクリプトがあれば取得して、取得した第3子ノードスクリプトについてさらに解析し、 前記第2コンテンツに示されているリンクにある第3コンテンツがあれば取得し、
前記第3コンテンツの取得に失敗して、前記第2コンテンツの第1コンテンツ制御情報が代替コンテンツを検索することを示すと解析した場合は該代替コンテンツを検索し、 前記第3子ノードスクリプトの取得に失敗して、前記第2子ノードスクリプトの第1スクリプト制御情報が代替子ノードスクリプトを検索することを示すと解析した場合は該代替子ノードスクリプトを検索し、前記第2コンテンツの第2コンテンツ制御情報および前記第2子ノードスクリプトの第2スクリプト制御情報のいずれか一方が代替親ノードスクリプトを検索することを示す場合は代替親ノードスクリプトを検索し、
代替コンテンツが見つかった場合は該代替コンテンツを取得し、
代替子ノードスクリプトおよび代替親ノードスクリプトが見つかった場合は、それぞれ該代替子ノードスクリプトおよび該代替親ノードスクリプトを取得し、
前記代替コンテンツの保存場所を示す第1代替コンテンツを前記第2コンテンツに反映するか、代替子ノードスクリプトへのリンクを示す第1代替子ノードスクリプトを前記第2子ノードスクリプトに反映するか、および、代替親ノードスクリプトを前記親ノードスクリプトに反映するか、の少なくとも1つを変更した変更スクリプトを得ることを特徴とする情報処理方法。 - コンテンツへのリンクまたは他のスクリプトへのリンクにより木構造を構成するスクリプトであって、子ノードである子ノードスクリプトの取得に失敗した場合に該子ノードスクリプトの代替となる代替子ノードスクリプトを検索するか否かを示す第1スクリプト制御情報、および、該子ノードスクリプトの木構造上1つ上のノードの親ノードスクリプトの代替である第1代替親ノードスクリプトを検索するか否かを示す第2スクリプト制御情報を含む、該子ノードスクリプトへのリンクを示す第1子ノードスクリプトと、
コンテンツの取得に失敗した場合に代替となる代替コンテンツを検索するか否かを示す第1コンテンツ制御情報、および、該コンテンツの木構造上1つ上のノードの親ノードスクリプトの代替である第2代替親ノードスクリプトを検索するか否かを示す第2コンテンツ制御情報を含む、該コンテンツへのリンクを示す第1コンテンツと、を使用する情報処理プログラムであって、
コンピュータを、
前記木構造を構成するスクリプトを複数格納する第1格納手段と、
前記第1格納手段が格納している複数のスクリプトの中から1つのスクリプトを親ノードスクリプトとして選択し、該親ノードスクリプトの子ノードの1つであり子ノードスクリプトへのリンクである第2子ノードスクリプトに含まれる、第1スクリプト制御情報および第2スクリプト制御情報を参照してそれぞれ検索するか否かを解析し、該親ノードスクリプトの子ノードの1つでありコンテンツへのリンクである第2コンテンツに含まれる、第1コンテンツ制御情報および第2コンテンツ制御情報を参照してそれぞれ検索するか否かを解析し、前記第2子ノードスクリプトに示されているリンクにある第3子ノードスクリプトがあれば取得して、取得した第3子ノードスクリプトについてさらに解析をおこなうスクリプト解析手段と、
前記第2コンテンツに示されているリンクにある第3コンテンツがあれば取得するコンテンツ取得手段と、
前記第3コンテンツの取得に失敗して、前記第2コンテンツの第1コンテンツ制御情報が代替コンテンツを検索することを示すと解析した場合は該代替コンテンツを検索する代替コンテンツ検索手段と、
前記第3子ノードスクリプトの取得に失敗して、前記第2子ノードスクリプトの第1スクリプト制御情報が代替子ノードスクリプトを検索することを示すと解析した場合は該代替子ノードスクリプトを検索し、前記第2コンテンツの第2コンテンツ制御情報および前記第2子ノードスクリプトの第2スクリプト制御情報のいずれか一方が代替親ノードスクリプトを検索することを示す場合は代替親ノードスクリプトを検索する代替スクリプト検索手段と、
代替コンテンツが見つかった場合は該代替コンテンツを取得する代替コンテンツ取得手段と、
代替子ノードスクリプトおよび代替親ノードスクリプトが見つかった場合は、それぞれ該代替子ノードスクリプトおよび該代替親ノードスクリプトを取得する代替スクリプト取得手段と、
前記代替コンテンツの保存場所を示す第1代替コンテンツを前記第2コンテンツに反映するか、代替子ノードスクリプトへのリンクを示す第1代替子ノードスクリプトを前記第2子ノードスクリプトに反映するか、および、代替親ノードスクリプトを前記親ノードスクリプトに反映するか、の少なくとも1つを変更した変更スクリプトを得る変更手段として機能させるための情報処理プログラム。 - 複数のコンテンツをスクリプトに従って組み合わせて出力する情報処理装置であって、
いずれかのコンテンツの取得に失敗した場合、代替コンテンツを取得する取得手段と、
前記代替コンテンツを取得した場合、前記スクリプトを書き換える書き換え手段と、
を具備する情報処理装置。 - 前記スクリプトは木構造を有する複数のスクリプトからなり、各スクリプトはプレイリストを具備し、
前記プレイリストは子スクリプトへのリンク情報と、コンテンツへのリンク情報とを具備する請求項10記載の情報処理装置。 - 前記書き換え手段は、前記子スクリプトあるいはコンテンツの取得に失敗した場合、前記子スクリプトへのリンク情報あるいはコンテンツへのリンク情報を書き換える請求項11記載の情報処理装置。
- 前記子スクリプトへのリンク情報は前記子スクリプトの取得に失敗した場合に代替スクリプトの取得を行うか否かを示す第1制御情報を具備し、
前記コンテンツへのリンク情報は前記コンテンツの取得に失敗した場合に代替コンテンツの取得を行うか否かを示す第2制御情報を具備し、
前記取得手段は前記第1制御情報あるいは第2制御情報に基づいて代替スクリプトあるいは代替コンテンツの取得を行う請求項11記載の情報処理装置。 - 前記書き換え手段は、代替スクリプトの取得を行った場合は前記子スクリプトへのリンク情報を代替スクリプトに基づいて書き換え、代替スクリプトの取得を行わなかった場合は前記子スクリプトへのリンク情報を削除し、代替コンテンツの取得を行った場合は前記コンテンツへのリンク情報を代替コンテンツに基づいて書き換え、代替コンテンツの取得を行わなかった場合は前記コンテンツへのリンク情報を削除する請求項13記載の情報処理装置。
- 複数のコンテンツをスクリプトに従って組み合わせて出力する情報処理方法であって、
いずれかのコンテンツの取得に失敗した場合、代替コンテンツを取得することと、
前記代替コンテンツを取得した場合、前記スクリプトを書き換えることと、
を具備する情報処理方法。 - 複数のコンテンツをスクリプトに従って組み合わせて出力する情報処理プログラムであって、
コンピュータを、
いずれかのコンテンツの取得に失敗した場合、代替コンテンツを取得する手段と、
前記代替コンテンツを取得した場合、前記スクリプトを書き換える手段と、
して機能させるための情報処理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011174878A JP5175958B2 (ja) | 2011-08-10 | 2011-08-10 | 情報処理装置、方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011174878A JP5175958B2 (ja) | 2011-08-10 | 2011-08-10 | 情報処理装置、方法及びプログラム |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009019677A Division JP2010176489A (ja) | 2009-01-30 | 2009-01-30 | 情報処理装置、方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012003777A true JP2012003777A (ja) | 2012-01-05 |
JP5175958B2 JP5175958B2 (ja) | 2013-04-03 |
Family
ID=45535605
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011174878A Expired - Fee Related JP5175958B2 (ja) | 2011-08-10 | 2011-08-10 | 情報処理装置、方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5175958B2 (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005260554A (ja) * | 2004-03-11 | 2005-09-22 | Nissan Motor Co Ltd | 情報提供装置 |
JP2006301788A (ja) * | 2005-04-18 | 2006-11-02 | Kyocera Corp | 携帯端末、携帯端末の制御方法及びプログラム |
JP2008033925A (ja) * | 2007-07-04 | 2008-02-14 | Sharp Corp | コンテンツ再生装置、コンテンツ再生方法、コンテンツ再生システム、コンテンツデータ送信装置、コンテンツデータ送信方法、プログラム、及び、記録媒体 |
JP2008152259A (ja) * | 2006-12-14 | 2008-07-03 | Qnx Software Systems Gmbh & Co Kg | 実質的に同様のメディアコンテンツを有する複数のファイルから再生用のメディアファイルを選択するシステム |
-
2011
- 2011-08-10 JP JP2011174878A patent/JP5175958B2/ja not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005260554A (ja) * | 2004-03-11 | 2005-09-22 | Nissan Motor Co Ltd | 情報提供装置 |
JP2006301788A (ja) * | 2005-04-18 | 2006-11-02 | Kyocera Corp | 携帯端末、携帯端末の制御方法及びプログラム |
JP2008152259A (ja) * | 2006-12-14 | 2008-07-03 | Qnx Software Systems Gmbh & Co Kg | 実質的に同様のメディアコンテンツを有する複数のファイルから再生用のメディアファイルを選択するシステム |
JP2008033925A (ja) * | 2007-07-04 | 2008-02-14 | Sharp Corp | コンテンツ再生装置、コンテンツ再生方法、コンテンツ再生システム、コンテンツデータ送信装置、コンテンツデータ送信方法、プログラム、及び、記録媒体 |
Also Published As
Publication number | Publication date |
---|---|
JP5175958B2 (ja) | 2013-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9923962B2 (en) | Techniques and systems for supporting podcasting | |
JP4445509B2 (ja) | 構造化文書検索システム及びプログラム | |
JP5147947B2 (ja) | クエリ別検索コレクション生成方法およびシステム | |
KR101557294B1 (ko) | 편집 거리 및 문서 정보를 이용한 검색 결과 랭킹 | |
US8972458B2 (en) | Systems and methods for comments aggregation and carryover in word pages | |
US20060031751A1 (en) | Method for creating editable web sites with increased performance & stability | |
JP2008204444A (ja) | データ処理装置、データ処理方法及び検索装置 | |
US8244719B2 (en) | Computer method and apparatus providing social preview in tag selection | |
JP4354441B2 (ja) | 映像データ管理装置及び方法及びプログラム | |
CN100498771C (zh) | 用于管理结构化文件的系统和方法 | |
US20090019364A1 (en) | Method and apparatus for generating electronic content guide | |
RU2733482C2 (ru) | Способ и система для обновления базы данных поискового индекса | |
CN109299352B (zh) | 搜索引擎中网站数据的更新方法、装置和搜索引擎 | |
JP2010176489A (ja) | 情報処理装置、方法及びプログラム | |
KR20090025607A (ko) | 컨텐트의 메타데이터 업데이트 방법 및 그 장치 | |
JP5210970B2 (ja) | 共通クエリグラフパターン生成方法、共通クエリグラフパターン生成装置及び共通クエリグラフパターン生成プログラム | |
JP5175958B2 (ja) | 情報処理装置、方法及びプログラム | |
US7991741B2 (en) | System and method for synchronizing data record with web document in a content management system | |
JP2002197100A (ja) | 検索サービスシステムと方法及び記録媒体並びに情報仲介方法 | |
JP4469818B2 (ja) | データ管理装置、データプログラム及びデータ管理方法 | |
KR100705413B1 (ko) | 웹 페이지 지정 크롤링 가능한 웹 서버 기반의 데스크톱검색 시스템 및 방법 | |
JP2006185059A (ja) | コンテンツ管理装置 | |
JP2002082936A (ja) | コンテンツデータ表示装置とコンテンツデータ表示システム | |
JP4219125B2 (ja) | 全文検索装置、全文検索方法、プログラム、及び記録媒体 | |
JP4393498B2 (ja) | 構造化文書管理システム及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120904 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121102 |
|
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: 20121211 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130107 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5175958 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160111 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |