(57)【要約】【課題】  各フレームで関数を共有して利用することができると共に、必要に応じて各フレーム毎に独立して当該関数の定義を再定義して利用することができること。【解決手段】  処理装置は、フレームに表示されたコンテンツを介して所定の関数の実行要求を入力装置から受付けて、実行要求のあった関数の定義を当該コンテンツから検索する（Ｓ８５）。処理装置は、当該コンテンツに実行要求のあった関数の定義がない場合に、当該コンテンツに関連付けられたフレーム識別子をコンテンツ格納領域から読み出し、当該読み出したフレーム識別子に関連付けられた親フレームのフレーム識別子を記憶装置から読み出し（Ｓ９０）、当該読み出した親フレームのフレーム識別子に関連付けられたコンテンツをコンテンツ格納領域から読み出す（Ｓ９５）。処理装置は、実行要求のあった関数の定義を当該読み出したコンテンツから検索する（Ｓ１００）。【選択図】  図１０
2006285780.tif 000002
【特許請求の範囲】
【請求項１】
親子関係を有する複数のフレームにコンテンツを表示する端末装置に用いられる関数の利用方法であって、
前記端末装置が、入力装置、表示装置、記憶装置、及び処理装置を備え、
前記記憶装置に、
フレームを識別するフレーム識別子と、当該フレームに表示するコンテンツとを関連付けて記憶するコンテンツ格納領域を備え、さらに、
前記フレーム識別子と、当該フレーム識別子に対応するフレームを子フレームとする親フレームのフレーム識別子とを関連付けて記憶すると共に、
前記処理装置が、
ａ）フレームに表示されたコンテンツを介して所定の関数の実行要求を入力装置から受付けるステップと、
ｂ）実行要求のあった関数の定義を当該コンテンツから検索するステップと、
ｃ）当該コンテンツに実行要求のあった関数の定義がない場合に、
当該コンテンツに関連付けられたフレーム識別子を前記コンテンツ格納領域から読み出し、当該読み出したフレーム識別子に関連付けられた親フレームのフレーム識別子を記憶装置から読み出し、当該読み出した親フレームのフレーム識別子に関連付けられたコンテンツを前記コンテンツ格納領域から読み出すステップと、
ｄ）前記実行要求のあった関数の定義を当該読み出したコンテンツから検索するステップと、
ｅ）前記ｃステップ及び前記ｄステップを、前記実行要求のあった関数の定義が見つかるまで繰り返すステップと、
ｆ）前記読み出したコンテンツに前記実行要求のあった関数の定義があった場合に、当該関数の定義に基づいて所定の処理を行うステップと、
を実行することを特徴とした関数の利用方法。
【請求項２】
前記所定の関数の定義をコンテンツに関連付けられた外部ファイルに格納することを特徴とした請求項１記載の関数の利用方法。
【請求項３】
請求項１記載の端末装置に用いられる関数利用プログラムであって、
前記処理装置に、
ｇ）フレームに表示されたコンテンツを介して所定の関数の実行要求が入力装置から入力されたとき、実行要求のあった関数の定義を当該コンテンツから検索するステップと、
ｈ）当該コンテンツに実行要求のあった関数の定義がない場合に、
当該コンテンツに関連付けられたフレーム識別子を前記コンテンツ格納領域から読み出し、当該読み出したフレーム識別子に関連付けられた親フレームのフレーム識別子を記憶装置から読み出し、当該読み出した親フレームのフレーム識別子に関連付けられたコンテンツを前記コンテンツ格納領域から読み出すステップと、
ｉ）前記実行要求のあった関数の定義を当該読み出したコンテンツから検索するステップと、
ｊ）前記ｈステップ及び前記ｉステップを、前記実行要求のあった関数の定義が見つかるまで繰り返すステップと、
ｋ）前記読み出したコンテンツに前記実行要求のあった関数の定義があった場合に、当該関数の定義に基づいて所定の処理を行わせるステップと、
を実行させることを特徴とした関数利用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、親子関係を有する複数のフレームにコンテンツを表示する端末装置に用いられる関数の利用方法等に関する。
【背景技術】
【０００２】
従来、端末装置は、ウェブブラウザの画面を複数のフレームに分割してそれぞれのフレームに外部の情報提供システムから受信したウェブページを表示することができた。そして、これら複数のフレームに表示されたウェブページ（例えば、ＨＴＭＬファイル、ＤＨＴＭＬファイル等）は、Ｊａｖａ（登録商標）スクリプト等の所定のスクリプトで記述されたプログラムを含むことができた。ここで、端末装置は、ウェブブラウザを介して当該プログラムを解釈して実行し、そのＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）等を所定のフレームに表示するようになっている。
【０００３】
上記従来例では、端末装置が、フレームに表示された所定のプログラム（例えば、電卓機能を提供するプログラム等）のＧＵＩを介して所定の関数の実行要求を受付けた場合に、当該プログラムを含むウェブページに予め格納された関数の定義に基づいて所定の処理を行う。
【０００４】
これによると、一のフレームで利用される関数の定義を変更しても、別のフレームで利用される関数には影響を与えない。すなわち、フレーム毎に独立して関数の定義を変更して利用することができる。
【０００５】
一方、別の態様として、各フレームで利用される関数の定義を一つのｊｓファイル等の外部ファイルに格納し、当該格納された関数の定義を各フレームで利用する方法も知られている。
【０００６】
上記態様の従来例では、端末装置が、各フレームに表示されたウェブページに記述された「<ｓｃｒｉｐｔ>」タグに基づいて、外部の情報提供システムからｊｓファイルをダウンロードする。そして、端末装置は、当該ダウンロードしたｊｓファイルに格納された関数の定義と、上記「<ｓｃｒｉｐｔ>」タグが記述されたウェブページを表示するフレームを識別するフレーム識別子と関連付けてＲＡＭ等の記憶装置に記憶する。
【０００７】
ここで、上記「<ｓｃｒｉｔｐ>」タグが記述されたウェブページに、ｊｓファイルに格納された関数と同一名称の関数の定義が格納されている場合には、端末装置は、当該ウェブページに格納されている関数の定義と、当該ウェブページを表示するフレームに対応するフレーム識別子とを関連付けてＲＡＭ等の記憶装置に記憶する。
【０００８】
図１７は、例えば、フレーム０、フレーム１、及びフレーム３に表示するウェブページの「<ｓｃｒｉｐｔ>」タグにより関数の定義としての「ｆｕｎｃＡ（ｘ）＝ｘ」が格納された一つのｊｓファイルが指定され、かつ、フレーム３に表示するウェブページに関数の定義としての「ｆｕｎｃＡ（ｘ）＝ｘ＋１」が格納された場合における、記憶装置としてのＲＡＭに記憶された情報を概念的に示す図である。
【０００９】
端末装置は、フレームに表示された所定のプログラムのＧＵＩを介して所定の関数の実行要求を受付けた場合に、ＲＡＭに格納された当該フレームに対応するフレーム識別子に関連付けられた関数の定義に基づいて所定の処理を行う。
【００１０】
これによると、各フレームで利用可能な共通関数を提供することができると共に、必要に応じて各フレーム毎に独立して当該関数の定義を再定義して利用することができる。
【００１１】
しかし、上記従来例においては、各フレームで関数を共有して利用することができなかった。
【００１２】
これらについて記載された先行技術文献を出願人は知らない。
【発明の開示】
【発明が解決しようとする課題】
【００１３】
本発明は、かかる従来例の有する不都合を改善し、特に、各フレームで関数を共有して利用することができると共に、必要に応じて各フレーム毎に独立して当該関数の定義を再定義して利用することができることを課題とする。
【課題を解決するための手段】
【００１４】
上記課題を解決するため、本発明では次のような構成を採っている。
【００１５】
本発明は、親子関係を有する複数のフレームにコンテンツを表示する端末装置に用いられる関数の利用方法である。上記端末装置は、入力装置、表示装置、記憶装置、及び処理装置を備えている。そして、記憶装置に、フレームを識別するフレーム識別子と、当該フレームに表示するコンテンツとを関連付けて記憶するコンテンツ格納領域を備えている。さらに、記憶装置に、フレーム識別子と、当該フレーム識別子に対応するフレームを子フレームとする親フレームのフレーム識別子とを関連付けて記憶する。そして、処理装置は、フレームに表示されたコンテンツを介して所定の関数の実行要求を入力装置から受付ける。続いて、処理装置は、実行要求のあった関数の定義を当該コンテンツから検索する。そして、処理装置は、当該コンテンツに実行要求のあった関数の定義がない場合に、当該コンテンツに関連付けられたフレーム識別子をコンテンツ格納領域から読み出し、当該読み出したフレーム識別子に関連付けられた親フレームのフレーム識別子を記憶装置から読み出し、当該読み出した親フレームのフレーム識別子に関連付けられたコンテンツをコンテンツ格納領域から読み出す。また、処理装置は、実行要求のあった関数の定義を当該読み出したコンテンツから検索する。続いて、処理装置は、上記検索処理を、実行要求のあった関数の定義が見つかるまで繰り返す。そして、処理装置は、上記読み出したコンテンツに実行要求のあった関数の定義があった場合に、当該関数の定義に基づいて所定の処理を行う。
【００１６】
本発明の別の態様は、所定の関数の定義をコンテンツに関連付けられた外部ファイルに格納することを特徴とした上記関数の利用方法である。
【００１７】
本発明の別の態様は、上記端末装置に用いられる関数利用プログラムである。そして、当該関数利用プログラムを実行する上記端末装置の処理装置は以下の処理を実行する。処理装置は、フレームに表示されたコンテンツを介して所定の関数の実行要求が入力装置から入力されたとき、実行要求のあった関数の定義を当該コンテンツから検索する。続いて、処理装置は、当該コンテンツに実行要求のあった関数の定義がない場合に、当該コンテンツに関連付けられたフレーム識別子をコンテンツ格納領域から読み出し、当該読み出したフレーム識別子に関連付けられた親フレームのフレーム識別子を記憶装置から読み出し、当該読み出した親フレームのフレーム識別子に関連付けられたコンテンツをコンテンツ格納領域から読み出す。また、処理装置は、実行要求のあった関数の定義を当該読み出したコンテンツから検索する。続いて、処理装置は、上記検索処理を、実行要求のあった関数の定義が見つかるまで繰り返す。そして、処理装置は、上記読み出したコンテンツに実行要求のあった関数の定義があった場合に、当該関数の定義に基づいて所定の処理を行わせる。
【発明の効果】
【００１８】
端末装置の処理装置が、実行要求のあった関数の定義が見つかるまで、実行要求を受付けたフレームに対応するフレーム識別子に関連付けられたコンテンツ及び当該フレームの上位に属するフレームに対応するフレーム識別子に関連付けられたコンテンツから実行要求のあった関数の定義を検索するので、各フレームで関数を共有して利用することができると共に、必要に応じて各フレーム毎に独立して当該関数の定義を再定義して利用することができる。
【発明を実施するための最良の形態】
【００１９】
以下、図面を参照しながら、本発明の実施形態について説明する。
【００２０】
〔実施形態１〕
【００２１】
図１は、本実施形態のコンピュータシステムの全体構成を示すブロック図である。
【００２２】
コンテンツを閲覧するための端末装置１０と、コンテンツを提供するための情報提供システム２０とが、通信ネットワークとしてのインターネット３０に接続されている。ここで、図１では、１台の端末装置１０のみがインターネット３０に接続されているが、複数台の端末装置１０がインターネット３０に接続されていてもよい。また、端末装置１０及び情報提供システム２０と、インターネット３０との接続は有線であるか無線であるかを問わない。
【００２３】
図２は、端末装置１０の構成図である。
【００２４】
処理装置としてのＣＰＵ１２、記憶装置としてのＲＡＭ１３、ＲＯＭ１４、及びＨＤＤ１９（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、入力装置としてのキーボード１６及びマウス１７、表示装置としてのディスプレイ１８並びに通信装置としてのＮＩＣ１５（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）が、バス１１に接続されている。ＨＤＤ１９には、一般的なウェブブラウザのプログラムが記憶されている。端末装置１０のＣＰＵは、ウェブブラウザのプログラムを実行することにより、情報提供システム２０が提供するコンテンツとしてのウェブページをディスプレイに表示するようになっている。本実施形態では、端末装置１０として一般的なＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）を採用しているが、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｃｅ）、インターネット接続機能を有する携帯電話等であってもよい。
【００２５】
図３は、情報提供システム２０の構成図である。
【００２６】
処理装置としてのＣＰＵ２２、記憶装置としてのＲＡＭ２３、ＲＯＭ２４、及びＨＤＤ２６並びに通信装置としてのＮＩＣ２５（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）が、バス２１に接続されている。ＨＤＤ２６には、情報提供プログラムと、コンテンツとしてのウェブページ０、ウェブページ１及びウェブページ２を記憶している。情報提供システム２０のＣＰＵは、情報提供プログラムを実行することにより、閲覧要求のあったコンテンツを端末装置１０に提供するようになっている。情報提供プログラムとしては、「Ａｐａｔｃｈ（登録商標）」、「ＩＩＳ（登録商標）」等が該当する。
【００２７】
図４は、コンテンツとしてのウェブページ０の構造図である。
【００２８】
ウェブページ０は、他のウェブページに含まれるプログラム（スクリプト）で利用される関数（以下、共通関数という。）の定義を格納している。図４では、ウェブページ０は、共通関数としての「ｆｕｎｃＡ（）」、「ｆｕｎｃＢ（）」及び「ｆｕｎｃＣ（）」の定義を格納している。また、ウェブページ０は、フレームを識別するフレーム識別子と、コンテンツを識別するコンテンツ識別子とを関連付けて格納している。フレーム識別子としては、例えば、フレームの名称等が該当する。また、コンテンツ識別子としては、例えば、ＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）等が該当する。図４では、ウェブページ０は、フレーム識別子としての「フレーム１」と、コンテンツ識別子としての「ウェブページ１のＵＲＬ」とを関連付けて格納している。さらに、ウェブページ０は、ウェブページを構成するテキスト、アンカー等のその他の情報を格納している。ここで、上記共通関数の定義は、外部ファイルとしての「ｊｓファイル」に格納するようにしてもよい。
【００２９】
端末装置１０のＣＰＵは、情報提供システム２０から受信したウェブページ０に基づいて、ウェブブラウザを介して、フレーム１を含むウェブページ０を表示すると共に、当該フレーム１にウェブページ１を表示するようになっている。
【００３０】
図５は、コンテンツとしてのウェブページ１の構造図である。
【００３１】
ウェブページ１は、フレーム識別子としての「フレーム２」と、コンテンツ識別子としての「ウェブページ２のＵＲＬ」とを関連付けて格納している。また、ウェブページ１は、ウェブページを構成するテキスト、アンカー等のその他の情報を格納している。
【００３２】
端末装置１０のＣＰＵは、情報提供システム２０から受信したウェブページ１に基づいて、ウェブブラウザを介して、フレーム２を含むウェブページ１を表示すると共に、当該フレーム２にウェブページ２を表示するようになっている。
【００３３】
図６は、コンテンツとしてのウェブページ２の構造図である。
【００３４】
ウェブページ２は、関数利用プログラムを格納している。本実施形態では、関数利用プログラムは、Ｊａｖａ（登録商標）スクリプト等の所定のスクリプトで記述されている。端末装置１０のＣＰＵは、ウェブブラウザを介して当該関数利用プログラムを実行することにより、所定の関数を実行するようになっている。さらに、ウェブページ２は、ウェブページを構成するテキスト、アンカー等のその他の情報を格納している。
【００３５】
端末装置１０のＣＰＵは、情報提供システム２０から受信したウェブページ２に基づいて、ウェブブラウザを介して、関数利用プログラムのＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を表示するようになっている。
【００３６】
次に、本実施形態のコンピュータシステムの動作について説明する。
【００３７】
図７は、コンテンツを表示する際における、端末装置１０及び情報提供システム２０のフローチャートである。
【００３８】
端末装置１０のＣＰＵは、キーボードからウェブページ０に対応する所定のＵＲＬを受付ける。そして、端末装置１０のＣＰＵは、受付けたＵＲＬに基づいて、ウェブブラウザを介して情報提供システム２０にウェブページ０の閲覧要求を送信する（Ｓ１０）。
【００３９】
情報提供システム２０のＣＰＵは、ウェブページ０の閲覧要求を受信する。そして、情報提供システム２０のＣＰＵは、当該閲覧要求のあったウェブページ０を端末装置１０に送信する（Ｓ１５）。
【００４０】
端末装置１０のＣＰＵは、ウェブページ０を受信する。そして、端末装置１０のＣＰＵは、ウェブページ０を表示するフレームのフレーム識別子を「フレーム０」として、当該フレーム識別子と、ウェブページ０とを関連付けてコンテンツ格納領域としてのＲＡＭに記憶する（Ｓ２０）。また、端末装置１０のＣＰＵは、受信したウェブページ０をキャッシュファイルとしてＨＤＤに記憶するようになっている。
【００４１】
さらに、端末装置１０のＣＰＵは、受信したウェブページ０に基づいて、フレーム間の親子関係を決定する。本実施形態では、ウェブページ０は、フレーム識別子としての「フレーム１」を格納している。また、前述した通り、フレーム識別子としての「フレーム０」は、ウェブページ０と関連付けられている。よって、端末装置１０のＣＰＵは、フレーム識別子としての「フレーム１」と、当該フレーム識別子に対応するフレーム１を子フレームとする親フレームのフレーム識別子としての「フレーム０」とを関連付けてＲＡＭに記憶する（Ｓ２５）。そして、端末装置１０のＣＰＵは、ウェブブラウザを介して、フレーム１を含むウェブページ０をディスプレイに表示する（Ｓ３０）。
【００４２】
続いて、端末装置１０のＣＰＵは、受信したウェブページ０に格納されたフレーム識別子と、当該フレーム識別子に関連付けられたコンテンツ識別子とに基づいて、当該コンテンツ識別子に対応するコンテンツの取得要求を情報提供システム２０に送信する。本実施形態では、ウェブページ０は、フレーム識別子としての「フレーム１」と、コンテンツ識別子としての「ウェブページ１のＵＲＬ」とを関連付けて格納しているので、端末装置１０のＣＰＵは、ウェブページ１の取得要求を情報提供システム２０に送信する（Ｓ３５）。
【００４３】
情報提供システム２０のＣＰＵは、ウェブページ１の取得要求を受信する。そして、情報提供システム２０のＣＰＵは、当該取得要求のあったウェブページ１を端末装置１０に送信する（Ｓ４０）。
【００４４】
端末装置１０のＣＰＵは、ウェブページ１を受信する。そして、端末装置１０のＣＰＵは、ＲＡＭからウェブページ０を読み出す。端末装置１０のＣＰＵは、当該読み出したウェブページ０に格納されたフレーム識別子と、当該フレーム識別子に関連付けられたコンテンツ識別子とに基づいて、フレーム識別子としての「フレーム１」と、ウェブページ１とを関連付けてコンテンツ格納領域としてのＲＡＭに記憶する（Ｓ４５）。また、端末装置１０のＣＰＵは、受信したウェブページ１をキャッシュファイルとしてＨＤＤに記憶するようになっている。
【００４５】
さらに、端末装置１０のＣＰＵは、受信したウェブページ１に格納されたフレーム識別子と、当該フレーム識別子に関連付けられたコンテンツ識別子とに基づいて、フレーム間の親子関係を決定する。本実施形態では、ウェブページ１は、フレーム識別子としての「フレーム２」を格納している。また、前述した通り、フレーム識別子としての「フレーム１」は、ウェブページ１と関連付けられている。よって、端末装置１０のＣＰＵは、フレーム識別子としての「フレーム２」と、当該フレーム識別子に対応するフレーム２を子フレームとする親フレームのフレーム識別子としての「フレーム１」とを関連付けてＲＡＭに記憶する（Ｓ５０）。そして、端末装置１０のＣＰＵは、ウェブブラウザを介して、フレーム２を含むウェブページ１をフレーム１に表示する（Ｓ５５）。
【００４６】
続いて、端末装置１０のＣＰＵは、受信したウェブページ１に格納されたフレーム識別子と、当該フレーム識別子に関連付けられたコンテンツ識別子とに基づいて、当該コンテンツ識別子に対応するコンテンツの取得要求を情報提供システム２０に送信する。本実施形態では、ウェブページ１は、フレーム識別子としての「フレーム２」と、コンテンツ識別子としての「ウェブページ２のＵＲＬ」とを関連付けて格納しているので、端末装置１０のＣＰＵは、ウェブページ２の取得要求を情報提供システム２０に送信する（Ｓ６０）。
【００４７】
情報提供システム２０のＣＰＵは、ウェブページ２の取得要求を受信する。そして、情報提供システム２０のＣＰＵは、当該取得要求のあったウェブページ２を端末装置１０に送信する（Ｓ６５）。
【００４８】
端末装置１０のＣＰＵは、ウェブページ２を受信する。そして、端末装置１０のＣＰＵは、ＲＡＭからウェブページ１を読み出す。端末装置１０のＣＰＵは、当該読み出したウェブページ１に格納されたフレーム識別子と、当該フレーム識別子に関連付けられたコンテンツ識別子とに基づいて、フレーム識別子としての「フレーム２」と、ウェブページ２とを関連付けてコンテンツ格納領域としてのＲＡＭに記憶する（Ｓ７０）。また、端末装置１０のＣＰＵは、受信したウェブページ２をキャッシュファイルとしてＨＤＤに記憶するようになっている。そして、端末装置１０のＣＰＵは、ウェブブラウザを介して、フレーム２にウェブページ２を表示する。ここで、端末装置１０のＣＰＵは、ウェブページ２に格納された関数利用プログラム（スクリプト）に基づいて、ウェブブラウザを介して、関数利用プログラムのＧＵＩを表示するようになっている。
【００４９】
図８は、ウェブページ０、ウェブページ１及びウェブページ２をウェブブラウザの画面に表示した図である。また、図９は、上記処理が実行された後のＲＡＭに記憶された情報を概念的に示す図である。
【００５０】
図１０は、関数利用プログラムを実行する端末装置１０のフローチャートである。
【００５１】
端末装置１０のＣＰＵは、フレーム２に表示されたウェブページ２の関数利用プログラムのＧＵＩを介して、マウスにより所定のボタンがクリックされたことを契機として、関数としての「ｆｕｎｃＡ（）」の実行要求を受付ける（Ｓ８０）。ここで、端末装置１０のＣＰＵは、入力装置から、タイマーイベント、コンテンツとしてのウェブページ上のイベント（例えば、Ｆｌａｓｈ（登録商標）等からのＪａｖａ（登録商標）ｓｃｒｉｐｔキック、ＩＦＲＡＭＥ等のフレームに表示されるウェブページの読込み完了）を受付けたことを契機として、上記関数の実行要求を受付けてもよい。そして、端末装置１０のＣＰＵは、ウェブページ２から実行要求のあった関数としての「ｆｕｎｃＡ（）」の定義を検索する（Ｓ８５）。ここで、前述の通り、ウェブページ２は、関数としての「ｆｕｎｃＡ（）」の定義を格納していない。端末装置１０のＣＰＵは、ウェブページ２に関数としての「ｆｕｎｃＡ（）」の定義の定義が格納されていないので、ウェブページ２に関連付けられたフレーム識別子としての「フレーム２」をＲＡＭから読み出し、当該読み出したフレーム識別子としての「フレーム２」に関連付けられた親フレームのフレーム識別子としての「フレーム１」をＲＡＭから読み出す（Ｓ９０）。続いて、端末装置１０のＣＰＵは、当該読み出したフレーム識別子としての「フレーム１」に関連付けられたコンテンツとしてのウェブページ１をＲＡＭから読み出す。
【００５２】
端末装置１０のＣＰＵは、当該読み出したウェブページ１から実行要求のあった関数としての「ｆｕｎｃＡ（）」の定義を検索する（Ｓ１００）。ここで、前述の通り、ウェブページ１は、関数としての「ｆｕｎｃＡ（）」の定義を格納していない。端末装置１０のＣＰＵは、ウェブページ１に関数としての「ｆｕｎｃＡ（）」の定義の定義が格納されていないので、ウェブページ１に関連付けられたフレーム識別子としての「フレーム１」をＲＡＭから読み出し、当該読み出したフレーム識別子としての「フレーム１」に関連付けられた親フレームのフレーム識別子としての「フレーム０」をＲＡＭから読み出す（Ｓ１０５）。続いて、端末装置１０のＣＰＵは、当該読み出したフレーム識別子としての「フレーム０」に関連付けられたコンテンツとしてのウェブページ０をＲＡＭから読み出す（Ｓ１１０）。
【００５３】
端末装置１０のＣＰＵは、当該読み出したウェブページ０から実行要求のあった関数としての「ｆｕｎｃＡ（）」の定義を検索する（Ｓ１１５）。ここで、前述の通り、ウェブページ０は、共通関数としての「ｆｕｎｃＡ（）」の定義を格納している。端末装置１０のＣＰＵは、ウェブページ０に格納された共通関数としての「ｆｕｎｃＡ（）」の定義に基づいて所定の処理を行う（Ｓ１２０）。
【００５４】
これによると、各フレームで関数を共有して利用することができると共に、必要に応じて各フレーム毎に独立して当該関数の定義を再定義して利用することができる。
【００５５】
特に、関数のインスタンス（実体）を共通化することで、関数そのものを共有することができると共に、当該関数で利用される変数を共有することができる。このため、各フレームに表示されるウェブページに含まれるアプリケーションプログラムから、例えば、クリップボード機能を実装した一つの関数にアクセスすることができる。さらに、フレーム間でファイルの属性等の値を共有することで、フレームに表示されるウェブページに含まれるアプリケーションプログラム（スクリプト）のプロセス間の連携（例えば、ファイル等のドラッグアンドドロップ）が可能となる。
【００５６】
〔実施形態２〕
【００５７】
本実施形態では、実施形態１において、コンテンツとしてのウェブページ２の構造のみを変更している。
【００５８】
図１１は、本実施形態におけるコンテンツとしてのウェブページ２の構造図である。
【００５９】
ウェブページ２は、当該ウェブページに含まれるプログラム（スクリプト）で利用される関数の定義としての「ｆｕｎｃＡ（）」を格納している。ここで、当該関数としての「ｆｕｎｃＡ（）」の名称（関数識別子）は、前述したウェブページ０に格納された共通関数としての「ｆｕｎｃＡ（）」の名称と同一である。また、ウェブページ２は、関数利用プログラムを格納している。本実施形態では、関数利用プログラムは、Ｊａｖａ（登録商標）スクリプト等の所定のスクリプトで記述されている。端末装置１０のＣＰＵは、ウェブブラウザを介して当該関数利用プログラムを実行することにより、所定の関数を実行するようになっている。さらに、ウェブページ２は、ウェブページを構成するテキスト、アンカー等のその他の情報を格納している。
【００６０】
次に、本実施形態のコンピュータシステムの動作について説明する。但し、コンテンツを表示する際における、端末装置１０及び情報提供システム２０のフローチャートについては、実施形態１と同様であるので説明を省略する。
【００６１】
図１２は、本実施形態における関数利用プログラムを実行する端末装置１０のフローチャートである。
【００６２】
端末装置１０のＣＰＵは、フレーム２に表示されたウェブページ２の関数利用プログラムのＧＵＩを介して、マウスにより所定のボタンがクリックされたことを契機として、関数としての「ｆｕｎｃＡ（）」の実行要求を受付ける（Ｓ１３０）。そして、端末装置１０のＣＰＵは、ウェブページ２から実行要求のあった関数としての「ｆｕｎｃＡ（）」の定義を検索する（Ｓ１３５）。ここで、前述の通り、ウェブページ２は、関数としての「ｆｕｎｃＡ（）」の定義を格納している。端末装置１０のＣＰＵは、ウェブページ２に格納された関数としての「ｆｕｎｃＡ（）」の定義に基づいて所定の処理を行う（Ｓ１４０）。
【００６３】
これによると、各フレームで関数を共有して利用することができると共に、必要に応じて各フレーム毎に独立して当該関数の定義を再定義して利用することができる。
【００６４】
特に、各フレームに表示されるウェブページに含まれるアプリケーションプログラム（スクリプト）に基づく端末装置の動作を、当該フレーム又はその上位に属するフレームに表示するウェブページに格納された関数の定義により、制御することが可能となる。
【００６５】
上記実施形態１及び実施形態２では、端末装置１０のＣＰＵが、外部の情報提供システム２０からコンテンツを受信しているが、当該コンテンツを端末装置１０のＨＤＤに予め記憶しておいてもよい。この場合には、図９で端末装置１０のＲＡＭに記憶された情報をＨＤＤに予め記憶しておいてもよい。また、コンテンツは特にウェブページである必要はないので、本願発明による関数利用プログラムは、コンテンツと分離して端末装置１０のＨＤＤに予め記憶しておいてもよい。さらに、関数の定義も、コンテンツと分離して端末装置１０のＨＤＤに予め記憶しておいてもよい。
【００６６】
以上で説明したように、本願発明によれば、各フレームで関数を共有して利用することができると共に、必要に応じて各フレーム毎に独立して当該関数の定義を再定義して利用することができる。
【００６７】
特に、関数のインスタンス（実体）を共通化することで、関数そのものを共有することができると共に、当該関数で利用される変数を共有することができる。このため、各フレームに表示されるウェブページに含まれるアプリケーションプログラムから、例えば、クリップボード機能を実装した一つの関数にアクセスすることができる。さらに、フレーム間でファイルの属性等の値を共有することで、フレームに表示されるウェブページに含まれるアプリケーションプログラム（スクリプト）のプロセス間の連携（例えば、ファイル等のドラッグアンドドロップ）が可能となる。
【００６８】
また、関数の定義はその記載量が非常に大きくなることがあるが、最上位のフレームに表示するウェブページにのみ共通関数の定義を格納することで、当該関数を利用するアプリケーションプログラム（スクリプト）を含むウェブページの容量を小さくすることができると共に、関数を一元管理することもできる。
【００６９】
さらに、特定のフレーム（ウィンドウ）に表示するウェブページにおいて、フレームの制御（例えば、フレームの配置等）に関する関数の定義を再定義することによって、ＤＨＴＭＬ（Ｄｙｎａｍｉｃ  ＨＴＭＬ）を利用した自由配置のフレームにおいて、フレームを規則正しく並べるように変更することもできる。
【実施例１】
【００７０】
以下、本願発明の実施例について詳細に説明する。ここで、コンピュータシステムの全体構成については、前述の実施形態１と同じなので説明を省略する。
【００７１】
図１３は、端末装置１０のＣＰＵが、ウェブブラウザの画面をフレーム０、フレーム１及びフレーム２の３つのフレームに分割し、各フレームにそれぞれウェブページ０、ウェブページ１、ウェブページ２を表示した状態を示す図である。
【００７２】
ここで、ウェブページ０には、関数の定義としての「ｖａｒ  ｇ＿ｎ＝０；ｆｕｎｃｔｉｏｎ  ｓｅｔ（ｖ）｛ｇ＿ｎ＝ｖ；｝  ｆｕｎｃｔｉｏｎ  ｇｅｔ（）｛ｒｅｔｕｒｎ  ｇ＿ｎ；｝」が格納されている。また、ウェブページ２及びウェブページ３には、前述したＪａｖａ（登録商標）スクリプトで記述された関数利用プログラムが格納されている。さらに、ウェブページ１及びウェブページ２には、関数の定義は格納されていないものとする。そして、ウェブページ０には、「<ＩＦＲＡＭＥ>」タグにより、フレーム識別子としての「フレーム１」と、コンテンツ識別子としての「ウェブページ１のＵＲＬ」とを関連付けて格納すると共に、フレーム識別子としての「フレーム２」と、コンテンツ識別子としての「ウェブページ２のＵＲＬ」とを関連付けて格納しているものとする。
【００７３】
端末装置１０のＣＰＵは、前述の実施形態１により開示された方法で、フレーム識別子としての「フレーム０」と、コンテンツとしての「ウェブページ０」とを関連付けてＲＡＭに記憶する。より詳細には、ウェブページ０には、関数の定義としての「ｖａｒ  ｇ＿ｎ＝０；ｆｕｎｃｔｉｏｎ  ｓｅｔ（ｖ）｛ｇ＿ｎ＝ｖ；｝  ｆｕｎｃｔｉｏｎ  ｇｅｔ（）｛ｒｅｔｕｒｎ  ｇ＿ｎ；｝」が格納されているので、端末装置１０のＣＰＵは、フレーム識別子としての「フレーム０」と、関数のインスタンス（実体）としての「ｓｅｔ（ｖ）」とを関連付けてＲＡＭに記憶すると共に、フレーム識別子としての「フレーム０」と、関数のインスタンス（実体）としての「ｇｅｔ（）」とを関連付けてＲＡＭに記憶する。また、端末装置１０のＣＰＵは、フレーム識別子としての「フレーム１」と、コンテンツとしての「ウェブページ１」とを関連付けてＲＡＭに記憶すると共に、フレーム識別子としての「フレーム２」と、コンテンツとしての「ウェブページ２」とを関連付けてＲＡＭに記憶する。
【００７４】
また、端末装置１０のＣＰＵは、前述の実施形態１により開示された方法でフレームの親子関係を決定する。本実施例では、端末装置１０のＣＰＵは、フレーム識別子としての「フレーム１」と、当該フレーム識別子に対応するフレーム１を子フレームとする親フレームのフレーム識別子としての「フレーム０」とを関連付けてＲＡＭに記憶すると共に、フレーム識別子としての「フレーム２」と、当該フレーム識別子に対応するフレーム２を子フレームとする親フレームのフレーム識別子としての「フレーム０」とを関連付けてＲＡＭに記憶する。図１４は、上記処理が実行された後のＲＡＭに記憶された情報を概念的に示す図である。
【００７５】
〔関数ｇｅｔ（）を実行した場合〕
【００７６】
端末装置１０のＣＰＵは、フレーム１に表示されたウェブページ１の関数利用プログラムのＧＵＩを介して、マウスにより所定のボタンがクリックされたことを契機として、関数のインスタンスとしての「ｇｅｔ（）」の実行要求を受付ける。そして、端末装置１０のＣＰＵは、前述した実施形態１に開示された方法で、フレーム識別子としての「フレーム０」に関連付けられた関数のインスタンスとしての「ｇｅｔ（）」を実行し、その戻り値として「０」を得る。
【００７７】
同様に、端末装置１０のＣＰＵは、フレーム２に表示されたウェブページ２の関数利用プログラムのＧＵＩを介して、マウスにより所定のボタンがクリックされたことを契機として、関数のインスタンスとしての「ｇｅｔ（）」の実行要求を受付ける。そして、端末装置１０のＣＰＵは、前述した実施形態１に開示された方法で、フレーム識別子としての「フレーム０」に関連付けられた関数のインスタンスとしての「ｇｅｔ（）」を実行し、その戻り値として「０」を得る。
【００７８】
〔関数ｓｅｔ（ｖ）を実行した後に関数ｇｅｔ（）を実行した場合〕
【００７９】
一方、端末装置１０のＣＰＵは、フレーム１に表示されたウェブページ１の関数利用プログラムのＧＵＩを介して、マウスにより所定のボタンがクリックされたことを契機として、関数のインスタンスとしての「ｓｅｔ（１）」の実行要求を受付ける。そして、端末装置１０のＣＰＵは、前述した実施形態１に開示された方法で、フレーム識別子としての「フレーム０」に関連付けられた関数のインスタンスとしての「ｓｅｔ（１）」を実行する。これにより、端末装置１０のＣＰＵは、関数のインスタンスとしての「ｇｅｔ（）」の戻り値としての「ｇ＿ｎ」の値を「１」とし、フレーム識別子としての「フレーム０」と、当該関数のインスタンスとしての「ｇｅｔ（）」とを関連付けてＲＡＭに記憶する。
【００８０】
続いて、端末装置１０のＣＰＵは、フレーム１又はフレーム２に表示されたウェブページの関数利用プログラムのＧＵＩを介して、マウスにより所定のボタンがクリックされたことを契機として、関数のインスタンスとしての「ｇｅｔ（）」の実行要求を受付ける。そして、端末装置１０のＣＰＵは、前述した実施形態１に開示された方法で、フレーム識別子としての「フレーム０」に関連付けられた関数のインスタンスとしての「ｇｅｔ（）」を実行し、その戻り値として「１」を得る。
【００８１】
これによると、関数のインスタンス（実体）を共通化することで、関数そのものを共有することができると共に、当該関数で利用される変数を共有することができるので、フレーム間でのデータの連携が容易となる。
【実施例２】
【００８２】
以下、本願発明の別の実施例について詳細に説明する。ここで、コンピュータシステムの全体構成については、前述の実施形態１と同じなので説明を省略する。
【００８３】
図１５は、端末装置１０のＣＰＵが、ウェブブラウザの画面をフレーム０、フレーム１、フレーム２及びフレームＡの４つのフレームに分割し、各フレームにそれぞれウェブページ０、ウェブページ１、ウェブページ２、ウェブページＡを表示した状態を示す図である。
【００８４】
ここで、ウェブページ０、ウェブページ１及びウェブページ２に格納される関数は実施例１と同様であるので、説明を省略する。ウェブページＡには、関数の定義としての「ｆｕｎｃｔｉｏｎ  ｇｅｔ（）｛ｒｅｔｕｒｎ＝９９９｝」が格納されている。
【００８５】
また、ウェブページ０には、フレーム識別子としての「フレーム１」と、コンテンツ識別子としての「ウェブページ１のＵＲＬ」とを関連付けて格納すると共に、フレーム識別子としての「フレームＡ」と、コンテンツ識別子としての「ウェブページＡのＵＲＬ」とを関連付けて格納しているものとする。さらに、ウェブページＡには、フレーム識別子としての「フレーム２」と、コンテンツ識別子としての「ウェブページ２のＵＲＬ」とを関連付けて格納しているものとする。
【００８６】
端末装置１０のＣＰＵは、前述の実施形態１により開示された方法で、フレーム識別子としての「フレーム０」と、コンテンツとしての「ウェブページ０」とを関連付けてＲＡＭに記憶する。より詳細には、ウェブページ０には、関数の定義としての「ｖａｒ  ｇ＿ｎ＝０；ｆｕｎｃｔｉｏｎ  ｓｅｔ（ｖ）｛ｇ＿ｎ＝ｖ；｝  ｆｕｎｃｔｉｏｎ  ｇｅｔ（）｛ｒｅｔｕｒｎ  ｇ＿ｎ；｝」が格納されているので、端末装置１０のＣＰＵは、フレーム識別子としての「フレーム０」と、関数のインスタンス（実体）としての「ｓｅｔ（ｖ）」とを関連付けてＲＡＭに記憶すると共に、フレーム識別子としての「フレーム０」と、関数のインスタンス（実体）としての「ｇｅｔ（）」とを関連付けてＲＡＭに記憶する。また、端末装置１０のＣＰＵは、フレーム識別子としての「フレーム１」と、コンテンツとしての「ウェブページ１」とを関連付けてＲＡＭに記憶すると共に、フレーム識別子としての「フレーム２」と、コンテンツとしての「ウェブページ２」とを関連付けてＲＡＭに記憶する。さらに、端末装置１０のＣＰＵは、フレーム識別子としての「フレームＡ」と、コンテンツとしての「ウェブページＡ」とを関連付けてＲＡＭに記憶する。より詳細には、ウェブページＡには、関数の定義としての「ｆｕｎｃｔｉｏｎ  ｇｅｔ（）｛ｒｅｔｕｒｎ＝９９９｝」が格納されているので、端末装置１０のＣＰＵは、フレーム識別子としての「フレームＡ」と、当該関数のインスタンス（実体）としての「ｇｅｔ（）」とを関連付けてＲＡＭに記憶する
【００８７】
また、端末装置１０のＣＰＵは、前述の実施形態１により開示された方法でフレームの親子関係を決定する。本実施例では、端末装置１０のＣＰＵは、フレーム識別子としての「フレーム１」と、当該フレーム識別子に対応するフレーム１を子フレームとする親フレームのフレーム識別子としての「フレーム０」とを関連付けてＲＡＭに記憶すると共に、フレーム識別子としての「フレーム２」と、当該フレーム識別子に対応するフレーム２を子フレームとする親フレームのフレーム識別子としての「フレームＡ」とを関連付けてＲＡＭに記憶する。さらに、端末装置１０のＣＰＵは、フレーム識別子としての「フレームＡ」と、当該フレーム識別子に対応するフレームＡを子フレームとする親フレームのフレーム識別子としての「フレーム０」とを関連付けてＲＡＭに記憶する。図１６は、上記処理が実行された後のＲＡＭに記憶された情報を概念的に示す図である。
【００８８】
端末装置１０のＣＰＵは、フレーム２に表示されたウェブページ２の関数利用プログラムのＧＵＩを介して、マウスにより所定のボタンがクリックされたことを契機として、関数のインスタンスとしての「ｇｅｔ（）」の実行要求を受付ける。そして、端末装置１０のＣＰＵは、前述した実施形態１に開示された方法で、フレーム識別子としての「フレームＡ」に関連付けられた関数のインスタンスとしての「ｇｅｔ（）」を実行し、その戻り値として「９９９」を得る。
【００８９】
これによると、フレーム２に表示するウェブページ２を変更することなく、当該ウェブページに含まれる関数利用プログラムに基づく端末装置の動作を、その上位に属するフレームＡに表示するウェブページＡに格納された関数の定義により、制御することが可能となる。
【図面の簡単な説明】
【００９０】
【図１】コンピュータシステムの全体構成を示すブロック図である。
【図２】端末装置の構成図である。
【図３】情報提供システムの構成図である。
【図４】ウェブページ０（コンテンツ）の構造図である。
【図５】ウェブページ１（コンテンツ）の構造図である。
【図６】ウェブページ２（コンテンツ）の構造図である。
【図７】コンテンツを表示する際における、端末装置及び情報提供システムのフローチャートである。
【図８】ウェブページ０、ウェブページ１及びウェブページ２をウェブブラウザの画面に表示した図である。
【図９】ＲＡＭに記憶された情報を概念的に示す図である。
【図１０】実施形態１における関数利用プログラムを実行する端末装置のフローチャートである。
【図１１】実施形態２におけるウェブページ２（コンテンツ）の構造図である。
【図１２】実施形態２における関数利用プログラムを実行する端末装置のフローチャートである。
【図１３】実施例１における、ウェブページ０、ウェブページ１及びウェブページ２をウェブブラウザの画面に表示した図である。
【図１４】実施例１における、ＲＡＭに記憶された情報を概念的に示す図である。
【図１５】実施例２における、ウェブページ０、ウェブページ１、ウェブページ２及びウェブページＡをウェブブラウザの画面に表示した図である。
【図１６】実施例２における、ＲＡＭに記憶された情報を概念的に示す図である。
【図１７】従来例におけるＲＡＭに記憶された情報を概念的に示す図である。
【符号の説明】
【００９１】
１０  端末装置
１１  バス
１２  ＣＰＵ（処理装置）
１３  ＲＡＭ（記憶装置）
１４  ＲＯＭ（記憶装置）
１５  ＮＩＣ（通信装置）
１６  キーボード（入力装置）
１７  マウス（入力装置）
１８  ディスプレイ（表示装置）
１９  ＨＤＤ（記憶装置）
２０  情報提供システム
２１  バス
２２  ＣＰＵ（処理装置）
２３  ＲＡＭ（記憶装置）
２４  ＲＯＭ（記憶装置）
２５  ＮＩＣ（通信装置）
２６  ＨＤＤ（記憶装置）
３０  インターネット（通信ネットワーク）
【図１】
2006285780.tif 000003
【図２】
2006285780.tif 000004
【図３】
2006285780.tif 000005
【図４】
2006285780.tif 000006
【図５】
2006285780.tif 000007
【図６】
2006285780.tif 000008
【図７】
2006285780.tif 000009
【図８】
2006285780.tif 000010
【図９】
2006285780.tif 000011
【図１０】
2006285780.tif 000012
【図１１】
2006285780.tif 000013
【図１２】
2006285780.tif 000014
【図１３】
2006285780.tif 000015
【図１４】
2006285780.tif 000016
【図１５】
2006285780.tif 000017
【図１６】
2006285780.tif 000018
【図１７】
2006285780.tif 000019