(57)【要約】【課題】コンテンツ提供者から提供されるコンテンツの再利用を可能にして、ユーザにとって利便性の高いコンテンツ提供サービスを実現する。【解決手段】コンテンツ提供元から得られるコンテンツをログ記録するテーブルを設ける。コンテンツ提供元のアクセス方法に応じて、コンテンツ或はそのリンクをカレンダに含めて表示する。また、記録したログを検索できるようにする。【選択図】図１
2008107987.tif 000002
【特許請求の範囲】
【請求項１】
複数の登録ユーザに情報閲覧サービスの提供を行う情報提供装置であり、前記情報提供装置は、
前記登録ユーザを重複のないユーザＩＤにて管理するユーザテーブルと、
コンテンツ提供者によるコンテンツ提供サービスの一覧を保持するコンテンツテーブルと、
前記ユーザテーブルに記録されているユーザＩＤと、前記コンテンツテーブルに記録されているコンテンツ提供者を識別する情報とを関連付けるコンテンツ配信登録テーブルと、
前記登録ユーザに提供するコンテンツを前記コンテンツ提供サービスから取得するコンテンツ取得部と、
前記コンテンツ取得部から得られるコンテンツが前記コンテンツ取得部によって前記登録ユーザの前記ユーザＩＤと共に記録されるログ記録テーブルと、
前記登録ユーザが発するコンテンツ取得要求に応じて、前記コンテンツ提供サービスから得られるコンテンツが既に前記ログ記録テーブルに記録されていれば、前記ログ記録テーブルに記録済みのコンテンツを前記登録ユーザが用いるクライアント装置に送信し、前記コンテンツ提供サービスから得られるコンテンツが前記ログ記録テーブルに記録されていなければ、前記コンテンツ取得部を起動する、コンテンツ送信部と
を備えることを特徴とする情報提供装置。
【請求項２】
前記登録ユーザが発するコンテンツ取得要求の発生時点とは関係なく、前記コンテンツ提供サービスからコンテンツを定期的に収集する定期巡回コンテンツ取得部と、
前記定期巡回コンテンツ取得部から得られるコンテンツを蓄積するコンテンツ蓄積テーブルと
を更に備え、
前記コンテンツ送信部は、前記コンテンツ提供サービスに応じて前記コンテンツ取得部を起動するか、もしくは前記コンテンツ蓄積テーブルから所定のコンテンツを取得することを特徴とする、請求項１記載の情報提供装置。
【請求項３】
更に、前記ログ記録テーブルに記録されているコンテンツを、記録が行われた日時を用いて検索する機能を備えることを特徴とする、請求項１記載の情報提供装置。
【請求項４】
登録ユーザを識別するステップと、
クライアントが所定のコンテンツを表示する文書を情報提供装置へ要求するステップと、
前記情報提供装置へ要求するステップに呼応して、前記所定のコンテンツの取得が済んでいない場合は前記コンテンツを取得するステップと、
前記コンテンツを取得するステップに呼応して、前記コンテンツを前記登録ユーザを識別する情報と共にログ記録テーブルに記録するステップと、
前記情報提供装置へ要求するステップに呼応して、前記ログ記録テーブルから前記所定のコンテンツの取得が済んでいる場合は前記クライアントに前記コンテンツを送信するステップと
よりなることを特徴とする情報提供方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報提供装置及び情報提供方法に関する。
より詳細には、インターネット等を通じて提供するｗｅｂサービスに関する。
【背景技術】
【０００２】
近年、インターネットの普及により、ｗｅｂブラウザによって得られる様々な情報提供サービスが登場している。
一例としては、ポータルサイトと呼ばれる、総合的なｗｅｂサービスが挙げられる。ポータルサイトは、インターネットの入り口となる巨大なｗｅｂサイトである。検索エンジンやリンク集を核として、ニュースや株価などの情報提供サービス、ブラウザから利用できるｗｅｂメールサービス、電子掲示板、チャットなど、ユーザがインターネットで必要とする機能をすべて無料で提供して利用者数を増やし、広告や電子商取引仲介サービスなどで収入を得るサイトを指す。
また、「ＳＮＳ」と略される、ソーシャルネットワーキングサービスが挙げられる。これは、参加者が互いに友人を紹介しあって、新たな友人関係を広げることを目的に開設されたコミュニティ型のｗｅｂサイトである。
一方で、ｗｅｂブラウザを用いてスケジュール管理等を行うサービス等も存在する。
なお、特許文献１にコンテンツ配信に関する先行技術文献を記す。
【特許文献１】特開２００６−１２００５１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来のポータルサイトでは、ユーザ毎に表示内容を設定することは可能であるが、表示を設定したコンテンツを過去に遡って閲覧する、という機能は広範囲に提供されてはいない。例えば、天気予報であれば「過去の天気」として閲覧は可能であるものの、ユーザ個別の情報として表示できるものではない。
今、当該ユーザが栃木県に在住していて、当該ユーザが欲しい情報は過去の栃木県の天気であると仮定する。この場合、従来のポータルサイトでは、全国の過去の天気の情報から栃木県の天気の情報を検索する、という手間がかかる。
また、コンテンツ提供者によっては過去のコンテンツを順次削除してしまう業務形態もある。この場合、削除されたコンテンツは閲覧が不可能である。
【０００４】
本発明はかかる点に鑑みてなされたものであり、ユーザの利便性を向上したコンテンツ提供を行う情報提供装置及び情報提供方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するための本発明は、複数の登録ユーザに情報閲覧サービスの提供を行う情報提供装置である。
この情報提供装置は、登録ユーザを重複のないユーザＩＤにて管理するユーザテーブル、コンテンツ提供者によるコンテンツ提供サービスの一覧を保持するコンテンツテーブル、ユーザＩＤとコンテンツ提供者を識別する情報とを関連付けるコンテンツ配信登録テーブルを備える。
更に、登録ユーザに提供するコンテンツをコンテンツ提供サービスから取得するコンテンツ取得部、コンテンツ取得部から得られるコンテンツがコンテンツ取得部によって登録ユーザのユーザＩＤと共に記録されるログ記録テーブル、登録ユーザが発するコンテンツ取得要求に応じて、コンテンツが既にログ記録テーブルに記録されていれば、前記ログ記録テーブルに記録済みのコンテンツを登録ユーザのクライアント装置に送信し、コンテンツがログ記録テーブルに記録されていなければ、コンテンツ取得部を起動する、コンテンツ送信部を備えることを特徴とするものである。
【０００６】
従来、スケジューラというものが周知である。スケジューラは予定を記入するものである。このスケジューラに、コンテンツ配信業者が発するコンテンツを記録できれば、必要な情報を過去に遡って取得したり検索したりすることが容易に可能になる。
【発明の効果】
【０００７】
本発明により、コンテンツ提供者から得られるコンテンツサービスをログ記録し、コンテンツを再利用することのできる、ユーザにとって利便性の高い情報提供装置及び情報提供方法を提供することができる。
【発明を実施するための最良の形態】
【０００８】
以下、本発明の実施の形態を、図１〜図２３を参照して説明する。
【０００９】
本発明の実施形態を詳述する前に、本実施形態の概略を説明する。
本実施形態は、クライアント・サーバシステムである。
本実施形態の中心は、ｗｅｂサーバよりなる。
ｗｅｂサーバは、複数の登録ユーザのスケジュールや日記等の、登録ユーザに強く依存する情報と、登録ユーザが興味を持ち、継続して提供を受ける情報提供サービスから得られる情報を、日々記録し、ユーザの要求に応じて送信する。
ｗｅｂサーバは、登録ユーザのそれら情報をログ記録する。
登録ユーザはそのログをカレンダの形式にて一覧表示する。
情報提供サービスから得られる情報の一例としては、ニュース、天気予報、株式情報、就職・転職・人材派遣・アルバイト情報、音楽・テレビ・映画・演劇等の趣味的情報等、様々な情報提供サービスが挙げられる。
ｗｅｂサーバは、情報提供サービス業者との契約に応じて、カレンダ内のコンテンツ表示形態を変更する。
なお、本実施形態において「コンテンツ」とは情報を指す。本実施形態においては、後述の天気予報や音楽のヒットチャート、イベント情報等、コンテンツ提供者によって有償或は無償にて提供される情報も含まれる。コンテンツとは、電子文書の中身ともいえる。
【００１０】
図１は、本発明の一実施形態による、カレンダサービスを提供するシステムの機能ブロック図である。
本実施形態は、ｗｅｂサーバ１０２を中心とする、クライアント１０３へ情報（コンテンツ）を提供する役務である。
クライアントＰＣ１０４とｗｅｂサーバ１０２は、それぞれインターネット１０８に接続されている。
クライアントＰＣ１０４はｗｅｂブラウザ１０５を内包し、キーボード１０６やマウス１０７を介したユーザの操作によって、インターネット１０８を通じてｈｔｍｌ文書等を受信し、ディスプレイ１０９に表示する。なお、ここでは「クライアントＰＣ１０４」と、クライアント１０３はパソコンであることを想定したが、所定の条件を満たす機器であれば、パソコンには限られない。それら所定の条件を満たせば、ｗｅｂブラウザ１０５を内包する携帯電話であってもよい。この条件については後述する。
ｗｅｂサーバ１０２は、概略的にはＨＴＴＰ（Hyper Text Transfer Protocol）を用いて、クライアント１０３のｗｅｂブラウザ１０５の要求に応じて、クライアント１０３にｈｔｍｌ文書を送信する、周知のｗｅｂサーバである。
一方、ｗｅｂサーバ１０２は複数のコンテンツ提供者サーバ１１０、１１１及び１１２から有償或は無償のコンテンツの提供を受けており、ユーザの設定に応じて、それらコンテンツをコンテンツ提供者サーバからインターネット１０８を通じて受信し、加工した上でクライアントＰＣ１０４へｈｔｍｌ文書と共に送信する。
【００１１】
図２（ａ）及び（ｂ）は、本実施形態のカレンダサービス提供システムによってもたらされる、クライアントＰＣ１０４上における画面の遷移状態を示す状態遷移図と、その画面との関係を示す図である。なお、実際にはｗｅｂサーバ１０２は図２（ｂ）に示した以外に、クライアントＰＣ１０４に対して多くの表示画面を提供するのだが、本発明と直接関係しない画面については省略している。
【００１２】
図２（ａ）及び（ｂ）において、ユーザはログイン画面２０２においてユーザＩＤとパスワードを入力して「ログイン」ボタン２２０を押す。すると、ログインに成功したらカレンダ表示画面２０３に推移する。ログインに失敗したら、エラーメッセージを伴って再びログイン画面２０２が表示される。
【００１３】
カレンダ表示画面２０３において、表示月の変更を行うべく表示月変更ボタン２０４及び２０５のいずれかを押すと、ｗｅｂサーバ１０２から当該表示月のコンテンツが送信され、当該表示月がカレンダとして表示される。
カレンダ表示画面２０３において、「ログアウト」ボタン２０６を押すと、ｗｅｂサーバ１０２内部にてログアウト処理が行われ、ログイン画面２０２が表示される。
カレンダ表示画面２０３において、「コンテンツ登録」ボタン２０７を押すと、コンテンツ登録画面２０８が表示される。
【００１４】
コンテンツ登録画面２０８は、画面左側に登録可能コンテンツ表示欄２０９が設けられ、画面右側に登録済みコンテンツ表示欄２１０が設けられている。
登録可能コンテンツ表示欄２０９と登録済みコンテンツ表示欄２１０との間には右矢印ボタン（→）２１１と左矢印ボタン（←）２１２が設けられている。
登録可能コンテンツ表示欄２０９に列挙表示されているコンテンツのうちの一つをマウス１０７でクリックして選択した後、右矢印ボタン２１１を押すと、選択されたコンテンツが登録可能コンテンツ表示欄２０９から消去されると共に、登録済みコンテンツ表示欄２１０に表示される。
逆に、登録済みコンテンツ表示欄２１０に列挙表示されているコンテンツのうちの一つをマウス１０７でクリックして選択した後、左矢印ボタン２１２を押すと、選択されたコンテンツが登録済みコンテンツ表示欄２１０から消去されると共に、登録可能コンテンツ表示欄２０９に表示される。
以上のような操作によって、ユーザ固有のコンテンツ表示設定が行われる。
【００１５】
コンテンツ登録画面２０８において、「ＯＫ」ボタン２１３を押すと、登録済みコンテンツ表示欄２１０に設定したコンテンツ設定をｗｅｂサーバ１０２に登録した後、カレンダ表示画面２０３が表示される。
コンテンツ登録画面２０８において、「キャンセル」ボタン２１４を押すと、登録済みコンテンツ表示欄２１０に設定したコンテンツ設定を破棄した後、カレンダ表示画面２０３が表示される。つまり、登録済みコンテンツ表示欄２１０を変更した内容は無視され、元の設定状態のままとなる。
【００１６】
再び図１に戻って、詳細な部分を説明する。
ｗｅｂサーバ１０２は、一般的なネットワークＯＳが稼動するコンピュータである。一例としては、ＦｒｅｅＢＳＤ等のＢＳＤ系、或はＬｉｎｕｘ（登録商標）等のＰＯＳＩＸ（Portable Operating System Interface for UNIX（登録商標））系ＯＳである。
実行制御部１２１は、クライアント１０３から来る要求（コマンド）を受信し、これに応じて、ＨＴＴＰにてｈｔｍｌ文書をクライアント１０３へ送信する機能を提供する。端的にいえばｗｅｂサーバソフトウェアであり、一例としてはＡｐａｃｈｅ(http://www.apache.org/)等である。実行制御部１２１はクライアント１０３の要求に応じ、ｃｇｉ（Common Gateway Interface）の実行をも行う。
ｃｇｉは周知のプログラムである。ｃｇｉの実体は標準出力にテキストを出力するプログラムである。ｃｇｉが生成するテキストが、実行制御部１２１によってＨＴＴＰにてクライアント１０３へ送信される。ｃｇｉを構成する要素としては、どのようなプログラミング言語であってもよい。ｐｅｒｌ（http://www.perl.org/）やＰＨＰ（http://php.net/）、ｐｙｔｈｏｎ（http://www.python.org/）、ｒｕｂｙ（http://www.ruby-lang.org/ja/）等のインタプリタ言語に留まらず、ＣやＪａｖａ（登録商標）等のコンパイルを要する言語であってもよい。簡単な内容であればシェルスクリプトであってもよい。
【００１７】
各々のｃｇｉは主にｗｅｂブラウザに表示する画面を作るためのｈｔｍｌ文書を作成する。つまり、ｈｔｍｌ文書はｗｅｂブラウザを通じてＧＵＩ（Graphical User Interface）を作成する手段である。実際のｗｅｂサーバ１０２では、本発明に直接関係しない画面を多数表示するので、図１ではそれらｃｇｉを点線で示している。同様に、図２（ａ）の点線で示す内容もその一部である。
なお、図１ではｗｅｂブラウザ１０５に表示させる画面毎にｃｇｉが個別に設けられているが、単一のｃｇｉで構成することも可能である。但し、その場合は単一のｃｇｉの中に複数の表示画面を作成する機能が含まれることとなる。
【００１８】
ログイン画面ｃｇｉ１２２は、クライアント１０３からの要求に応じて実行制御部１２１によって実行され、クライアント１０３にログイン画面２０２を表示するｈｔｍｌ文書を作成する。
認証ｃｇｉ１２３は、ログイン画面２０２を表示しているクライアント１０３から、ログインボタンを押した行為によって発生する要求に応じて、実行制御部１２１によって実行される。
認証ｃｇｉ１２３は、実行されると、クライアント１０３から得られたパラメータであるユーザＩＤとパスワードをユーザテーブル１３１から検索して照合する。
ユーザテーブル１３１には、登録ユーザの重複のないユーザＩＤが記録されている。このユーザテーブル１３１は、各登録ユーザのユーザＩＤをパスワードと共に管理するためのものである。
照合の結果、ユーザＩＤとパスワードが合致していれば、正常にログインが完了したことを示すｃｏｏｋｉｅ（クッキー：ｗｅｂサイトの提供者が、ｗｅｂブラウザを通じて訪問者のコンピュータに一時的にデータを書き込んで保存させるしくみ。殆どの場合、アルファベット及び数字の１バイト文字列にて構成される。）を作成すると共に、自動的にカレンダ画面ｃｇｉ１２４に移行するためのｈｔｍｌ文書を作成する。これらは実行制御部１２１を通じてクライアント１０３に送信される。
一方、照合の結果、ユーザＩＤとパスワードが合致していなければ、ログインが失敗したことを示すエラーメッセージを付して、自動的にログイン画面ｃｇｉ１２２に移行するｈｔｍｌメッセージを作成する。これらは実行制御部１２１を通じてクライアント１０２に送信される。
【００１９】
自動的にカレンダ画面ｃｇｉ１２４に移行するｈｔｍｌメッセージとは、ＨＴＴＰのステータスコードの一種である、転送機能を用いている。
http ver.1.1の場合は「303 See Other」というステータスコードと、カレンダ画面ｃｇｉ１２４のＵＲＩを、ＨＴＴＰ応答ヘッダに記す。
http ver.1.0の場合は「302 Found」というステータスコードと、カレンダ画面ｃｇｉ１２４のＵＲＩを、ＨＴＴＰ応答ヘッダに記す。
認証ｃｇｉ１２３は、このように構成したＨＴＴＰ応答ヘッダを作成し、クライアントへ送信する。
クライアント１０３のｗｅｂブラウザは、このＨＴＴＰ応答ヘッダを解釈し、直ちに記されているＵＲＩに基づいてカレンダ画面ｃｇｉ１２４をｗｅｂサーバに要求する。
すなわち、認証ｃｇｉ１２３はｗｅｂブラウザによって表示画面に表示されるｈｔｍｌ文書を作成しない。或は、認証ｃｇｉ１２３がｈｔｍｌ文書を作成しても、ｗｅｂブラウザの機能により、ｗｅｂブラウザがＨＴＴＰ応答ヘッダ中の転送ステータスコードを検出して転送を実行するので、当該作成されたｈｔｍｌ文書はｗｅｂブラウザには表示されない。
ログイン失敗時に自動的にログイン画面ｃｇｉ１２２に移行するｈｔｍｌメッセージも、同様である。
【００２０】
カレンダ画面ｃｇｉ１２４は、ＪａｖａＳｃｒｉｐｔプログラムを実行させるタグが多数埋め込まれたｈｔｍｌ文書を作成する。
カレンダ画面ｃｇｉ１２４が作成するｈｔｍｌ文書の内容の一部を図３に示す。
図３に示されるｈｔｍｌ文書３０１は、ｈｔｍｌの文法（フォーマット）に準じてタグが記載されている。「＜ｈｔｍｌ＞」タグ３０２で始まり、「＜／ｈｔｍｌ＞」タグ３０３で終わる。
「＜ｈｔｍｌ＞」タグ３０２と「＜／ｈｔｍｌ＞」タグ３０３の中は、「＜ｈｅａｄ＞」タグ３０４から始まり「＜／ｈｅａｄ＞」タグ３０５で終わるヘッダ部分と、「＜ｂｏｄｙ＞」タグ３０６から始まり「＜／ｂｏｄｙ＞」タグ３０７で終わる本文部分で構成されている。
このうち、ヘッダ部分（図３中の「＜ｈｅａｄ＞」タグ３０４から「＜／ｈｅａｄ＞」タグ３０５まで囲まれた範囲）には、「＜ｓｃｒｉｐｔ  ・・・」にて始まり、「＜／ｓｃｒｉｐｔ＞」にて終了する「ｓｃｒｉｐｔ」タグ３０８が複数行記載されている。これらはｗｅｂサーバ１０２のＪａｖａＳｃｒｉｐｔプログラムソース１２８のＵＲＩ（Uniform Resource Identifier: インターネット１０８上に存在する情報資源の場所を指し示す記述方式）を記している。図３においては「ｓｒｃ＝」以降にダブルクォーテーション（「”」）で囲まれた文字列が、ＪａｖａＳｃｒｉｐｔプログラムソース１２８のＵＲＩを示している。
【００２１】
ＪａｖａＳｃｒｉｐｔは、Sun Microsystems社とNetscape Communications社が開発した、ｗｅｂブラウザなどでの利用に適したスクリプト言語（簡易プログラミング言語）である。今日の主要なｗｅｂブラウザには、このＪａｖａＳｃｒｉｐｔインタプリタが内蔵されている。
本実施形態の場合、先ず、カレンダ画面ｃｇｉ１２４が作成した図３のｈｔｍｌ文書をｗｅｂブラウザ１０５が読み込み、タグの記述を解釈していく。やがて、ヘッダ部分の「ｓｃｒｉｐｔ」タグ３０８に列挙記載されているＪａｖａＳｃｒｉｐｔプログラムソース１２８のＵＲＩをｗｅｂブラウザ１０５が解釈し、ｗｅｂサーバ１０２に対して、ＪａｖａＳｃｒｉｐｔプログラムソース１２８を要求する。ｗｅｂサーバ１０２はクライアント１０３のｗｅｂブラウザ１０５の要求に応じて、不揮発性ストレージ１２７に格納されているＪａｖａＳｃｒｉｐｔプログラムソース１２８を送信する。クライアント１０３のｗｅｂブラウザ１０５がＪａｖａＳｃｒｉｐｔプログラムソース１２８を読み込むと、ｗｅｂブラウザ１０５の内蔵インタプリタがこれを実行し、その結果、ディスプレイ１０９にカレンダが表示される。
【００２２】
図４はｗｅｂブラウザ１０５が図３のｈｔｍｌ文書３０１を読み込み、更にＪａｖａＳｃｒｉｐｔを実行した結果がディスプレイ１０９に表示された状態を示す。
図４中、点線で囲まれた範囲４０２が、ＪａｖａＳｃｒｉｐｔの実行結果によって表示された内容である。
より詳細には、Ａｊａｘという技術を用いている。
【００２３】
Ａｊａｘ（「エイジャックス」と読む）は、Asynchronous JavaScript + XML の略である。これは、ｗｅｂブラウザ１０５に実装されているＪａｖａＳｃｒｉｐｔのＨＴＴＰ通信機能を使って、ｗｅｂページのリロードを伴わずに、ｗｅｂサーバ１０２とＸＭＬ形式のデータのやり取りを行って処理を進めていく、対話型ｗｅｂアプリケーションの実装形態である。
従来、ｗｅｂブラウザ１０５を使ったｗｅｂアプリケーションでは、データをサーバに通知して処理結果を得るにはページ全体をロードし直さなければならず、通常のアプリケーションソフトウェアのような操作性を得ることは難しかった。Ａｊａｘでは、指定したＵＲＩからＸＭＬ文書を読み込む機能を使い、ユーザの操作や画面描画などと並行してサーバと非同期に通信を行うことで、サーバの存在を感じさせないシームレスなｗｅｂアプリケーションを実現することができる。
特に、本実施形態では、カレンダを表示するｈｔｍｌ文書を作成する際に、複数のコンテンツ提供サービスにアクセスする必要がある。アクセスに時間が掛かると、いつまで経ってもカレンダが表示されない、という不都合を生じる。そこで、ｈｔｍｌ文書の大枠は先に送信し、他の情報提供サイトにアクセスする必要がある箇所の情報は後から取得し、その部分だけ画面に表示すると、仮にコンテンツ取得に時間が掛かってもその他の箇所のボタン操作等は可能になるので、何も操作ができないという最悪の状態だけは免れることができる。
図４においては、表示月変更ボタン２０４及び２０５のいずれかを押すと、点線で囲まれたＡｊａｘ用表示範囲４０２だけが書き換えられる。したがって、ｈｔｍｌ文書全体を読み直す（リロードする）必要がなく、ＨＴＴＰのトラフィックが軽減されると共に、ｗｅｂブラウザ１０５の画面描画処理も軽くなるので、通常のアプリケーションソフトウェアに近い自然な操作感覚を得ることができる。
【００２４】
Ａｊａｘによるデータの受け渡しはＸＭＬ文書にて行われる。このＸＭＬ文書を作成する機能を提供するものが、Ａｊａｘ用データ送信ｃｇｉ１２５である。ＪａｖａＳｃｒｉｐｔによるデータ要求に呼応して、カレンダに表示するコンテンツをＸＭＬ文書の形式にて作成する。
Ａｊａｘ用データ送信ｃｇｉ１２５には、カレンダに表示するコンテンツとして、オブジェクトテーブル１３２、コンテンツオブジェクトテーブル１３３、コンテンツテーブル１３４、コンテンツ配信登録テーブル１３５、コンテンツ蓄積テーブル１３６の各種テーブルが接続されている。
また、Ａｊａｘ用データ送信ｃｇｉ１２５は、必要に応じてデータ取得クライアントプログラム１４１を起動する機能を備える。データ取得クライアントプログラム１４１は、コンテンツ提供者サーバ１００、１１１及び１１２に必要なコンテンツを取りに行くためのソフトウェアである。例えば非対話型ｗｅｂクライアント等で実装される。
【００２５】
オブジェクトテーブル１３２はｗｅｂブラウザ１０５が提供するサービスの登録ユーザ自身が記入する様々な情報を格納する。例えばスケジュールや、日記等の情報である。オブジェクトテーブル１３２は、一旦情報が記録されると、所定の条件を満たさない限り情報を保持し続ける。つまり、ユーザ自身の日々の生活等の記録であり、いわば「ログ」である。なお、オブジェクトテーブル１３２の詳細な内容は、本実施形態と直接には関係しないので、割愛する。
コンテンツオブジェクトテーブル１３３は本実施形態の中核をなすテーブルである。コンテンツオブジェクトテーブル１３３は、コンテンツ提供者サーバから得られたコンテンツを日々記録するものである。つまり、「コンテンツのログ」である。前述のオブジェクトテーブル１３２とは目的が類似しているが、記録する内容が異なる。
【００２６】
コンテンツテーブル１３４は、ｗｅｂサーバ１０２が外部のコンテンツ提供者と契約している、コンテンツ提供者サーバによって得られるサービスを列挙記載したテーブルである。
コンテンツ配信登録テーブル１３５は、ユーザがサービスの提供を受けるコンテンツ配信サービスを列挙記載したテーブルである。つまり、ユーザＩＤと契約しているコンテンツとの関係を示すテーブルである。
コンテンツ蓄積テーブル１３６は、コンテンツ配信サービスのうち、定期的に巡回してコンテンツを蓄積するためのテーブルである。コンテンツ提供時間間隔が一定である天気予報等がこれに該当する。定期巡回クライアントプログラム１４２は、コンテンツ蓄積テーブル１３６に定期的にコンテンツを追記するためのプログラムである。一例として、ＰＯＳＩＸ系ＯＳであれば、cronに登録した、非対話型ｗｅｂクライアントソフトウェア等で実装することとなるだろう。
【００２７】
なお、上述の各テーブルのうち、オブジェクトテーブル１３２、コンテンツオブジェクトテーブル１３３、コンテンツテーブル１３４、コンテンツ配信登録テーブル１３５のフィールドについては後述する。
【００２８】
図５は、クライアント１０３がカレンダを表示するに際して、クライアント１０３とｗｅｂサーバ１０２の間で送受信される情報を記したシーケンス図である。
先ず、クライアント１０３がログインに成功したり、或は他の表示画面からカレンダ画面ｃｇｉ１２４を呼び出す処理を行うと、カレンダ画面ｃｇｉ１２４を実行する要求がクライアント１０３からｗｅｂサーバ１０２へ送信される（Ｓ５０１）。
ｗｅｂサーバ１０２はこの要求を受け、カレンダ画面ｃｇｉ１２４を実行し、カレンダ表示ｈｔｍｌ文書を作成し、クライアント１０３へ送信する（Ｓ５０２）。
クライアント１０３はカレンダ表示ｈｔｍｌ文書を受信し、そのｈｔｍｌタグを解釈する。解釈の結果、ＪａｖａＳｃｒｉｐｔプログラムソース１２８の送信をｗｅｂサーバ１０２に要求する（Ｓ５０３）。
ｗｅｂサーバ１０２はクライアント１０３から送信されたＪａｖａＳｃｒｉｐｔプログラムソース１２８の要求に応じて、不揮発性ストレージ１２７に格納されているＪａｖａＳｃｒｉｐｔプログラムソース１２８をクライアント１０３へ送信する（Ｓ５０４）。
クライアント１０３はＪａｖａＳｃｒｉｐｔプログラムソース１２８を受信し、内蔵インタプリタにて実行する。実行の結果、ｗｅｂサーバ１０２のＡｊａｘ用データ送信ｃｇｉ１２５に対し、指定期間内のカレンダに表示するデータを送信すべく要求する（Ｓ５０５）。
ｗｅｂサーバ１０２はクライアント１０３から来た要求のうち、ユーザＩＤと指定期間のパラメータをＡｊａｘ用データ送信ｃｇｉ１２５に渡す。Ａｊａｘ用データ送信ｃｇｉ１２５は当該ユーザＩＤについて指定期間内のデータをオブジェクトテーブル１３２及びコンテンツオブジェクトテーブル１３３から検索し、ＸＭＬ文書にフォーマットを変換した後、クライアント１０３へ送信する（Ｓ５０６）。
クライアント１０３はＪａｖａＳｃｒｉｐｔの機能によってＸＭＬ文書を受信し、その内容をカレンダに表示する。
【００２９】
図６から図９、図１８と図１９は、前述の図５によって示される処理の流れを詳述するフローチャートである。
図６はログインからカレンダを表示する、クライアント１０３とｗｅｂサーバ１０２の両方の処理を含めた、全体的な流れを示す。
処理を開始すると（Ｓ６０１）、ユーザはクライアント１０３のキーボード１０６及びマウス１０７を用いてｗｅｂブラウザ１０５を操作して、ｗｅｂサーバ１０２のログイン画面ｃｇｉ１２２にアクセスする（Ｓ６０２）。
ｗｅｂサーバ１０２は、このクライアント１０３から発される要求に呼応して、ログイン画面ｃｇｉ１２２を実行する。ログイン画面ｃｇｉ１２２は、ログイン画面２０２のｈｔｍｌ文書を作成する。作成したｈｔｍｌ文書は実行制御部１２１（ｗｅｂサーバソフトウェア）によってクライアント１０３へ送信される（Ｓ６０３）。
【００３０】
クライアント１０３では、ユーザがｗｅｂブラウザ１０５によって表示されているログイン画面２０２のダイアログボックスにユーザＩＤとパスワードを入力して、「ログイン」ボタンを押す（Ｓ６０４）。すると、「ログイン」ボタンによって、ユーザＩＤ及びパスワードと共に認証ｃｇｉ１２３を起動する要求がｗｅｂサーバ１０２に送信され、認証ｃｇｉ１２３が実行される。認証ｃｇｉ１２３は受信したユーザＩＤとパスワードをユーザテーブル１３１にて照合する（Ｓ６０５）。
照合の結果、ユーザＩＤとパスワードが一致しなければ（Ｓ６０５のＮ）、認証ｃｇｉ１２３はエラーフラグをセットして（Ｓ６０６）、ログイン画面ｃｇｉ１２２を起動する（Ｓ６０３）。つまり、認証が成功するまで繰り返される。なお、セキュリティの向上のために、認証エラーが所定回数に達したら当該ユーザのログイン処理を一定時間拒絶する処理を加えることができる。
照合の結果、ユーザＩＤとパスワードが一致したら、認証ｃｇｉ１２３はカレンダ画面ｃｇｉ１２４を起動する。カレンダ画面ｃｇｉ１２４はカレンダ表示ｈｔｍｌを作成し、これが実行制御部１２１によってクライアント１０３へ送信され（Ｓ６０７）、一連の処理は終了する（Ｓ６０８）。
【００３１】
図７はクライアント１０３のｗｅｂブラウザ１０５における、カレンダ表示処理の動作を示すフローチャートである。
クライアント１０３のｗｅｂブラウザ１０５は、ｗｅｂサーバ１０２に対してカレンダ画面ｃｇｉ１２４の実行を要求した後（Ｓ７０１）、ｗｅｂサーバ１０２から送信されるカレンダ表示ｈｔｍｌ文書を受信する（Ｓ７０２）。
次に、ｗｅｂブラウザ１０５は受信したカレンダ表示ｈｔｍｌ文書内のｈｔｍｌタグを解析する（Ｓ７０３）。その結果、タグがＪａｖａＳｃｒｉｐｔであれば（Ｓ７０３のＹ）、これを解釈し、ＵＲＩにあるｗｅｂサーバ１０２のＪａｖａＳｃｒｉｐｔプログラムソース１２８を受信すべく、ｗｅｂサーバ１０２に要求する（Ｓ７０４）。そして、受信したＪａｖａＳｃｒｉｐｔプログラムソース１２８を内蔵インタプリタにて実行する（Ｓ７０５）。
タグがＪａｖａＳｃｒｉｐｔでなければ（Ｓ７０３のＮ）、ｈｔｍｌ文法にしたがってこれを解釈し、画面表示を行う（Ｓ７０６）。
ｈｔｍｌタグを解釈し、実行した後、カレンダ表示ｈｔｍｌ文書の終端でなければ（Ｓ７０７のＮ）、ｈｔｍｌ文書の受信を継続する（Ｓ７０２）。そうでない場合は、処理を終了する（Ｓ７０８）。
【００３２】
図８は、クライアント１０３におけるＪａｖａＳｃｒｉｐｔプログラムソース１２８の実行の詳細を示すフローチャートである。図７のＳ７０５がこれに該当する。
ＪａｖａＳｃｒｉｐｔプログラムソース１２８を内蔵インタプリタが実行すると（Ｓ８０１）、当該ＪａｖａＳｃｒｉｐｔはｗｅｂブラウザ１０５の子プロセスで稼動する、ＸＭＬ文書を受信するｗｅｂブラウザ１０５としての機能を発揮する。
先ず、ｈｔｍｌ文書のカレンダ部分の領域に表示するコンテンツをｗｅｂサーバ１０２に要求する（Ｓ８０２）。これがＡｊａｘ要求である。
ｗｅｂサーバ１０２はこれを解釈し、ＸＭＬ文書の形式にてコンテンツを送信する。
ＪａｖａＳｃｒｉｐｔよりなるｗｅｂブラウザ１０５機能は、ｗｅｂサーバ１０２から送信されたＸＭＬ文書を受信する（Ｓ８０３）。そして、ＸＭＬ文書のタグを解釈し、タグからデータ（コンテンツ）を抽出し、カレンダに表示する（Ｓ８０４）。
この処理を、ＸＭＬ文書の終端まで繰り返す（Ｓ８０５、Ｓ８０６）。
【００３３】
図９は、ｗｅｂサーバ１０２側における、クライアント１０３から発されるＡｊａｘ要求に対する応答の処理を示すフローチャートである。つまり、Ａｊａｘ用データ送信ｃｇｉ１２５の処理内容である。
Ａｊａｘ用データ送信ｃｇｉ１２５が起動されると（Ｓ９０１）、クライアント１０３からユーザＩＤとカレンダ表示期間（指定期間）を受信する（Ｓ９０２）。
次に、ユーザＩＤと指定期間をキーに、オブジェクトテーブル１３２を検索し、ヒットしたレコードをＸＭＬ文書のフォーマットに変換して出力する（Ｓ９０３）。
次に、ユーザＩＤと指定期間をキーに、コンテンツオブジェクトテーブル１３３を検索し、ヒットしたレコードをＸＭＬ文書のフォーマットに変換して出力し（Ｓ９０４）、終了する（Ｓ９０５）。
なお、上記のステップＳ９０３とステップＳ９０４の処理は並列に処理してもよい。
【００３４】
図１０から図１６は、コンテンツ提供者サーバのコンテンツ提供形態の種類と、そのコンテンツ提供の処理の流れを説明する図である。
コンテンツ提供者が、そのコンテンツをｗｅｂサーバ運営者にコンテンツ提供を許諾するに当たり、著作権等の契約体系と利便性に応じて、コンテンツ直接参照型、コンテンツ蓄積型、コンテンツバックアップ型の、三種類のコンテンツ提供手順がある。更に、コンテンツバックアップ型にはコンテンツの容量等の事情にしたがって、二つのコンテンツ提供手順がある。
【００３５】
先ず、コンテンツ提供者がコンテンツをｗｅｂサーバ１０２に記録することを許可していない場合は、クライアント１０３が直接コンテンツ提供者サーバにアクセスすることを要する。これが図１０に示す、コンテンツ直接参照型である。
図１０において、「（１）ログイン後、指定期間のコンテンツ要求」とあるのは、ｗｅｂサーバ１０２からクライアントＰＣ１０４がカレンダ表示ｈｔｍｌを受信した後、ＪａｖａＳｃｒｉｐｔを実行した結果、クライアントＰＣ１０４がｗｅｂサーバ１０２にＡｊａｘ要求（カレンダ表示のためのデータ要求）をしたことを示す。
「（２）コンテンツ参照ＵＲＩのみ返信」とあるのは、クライアントＰＣ１０４がｗｅｂサーバ１０２へ送信したＡｊａｘ要求に応じて、ｗｅｂサーバ１０２からクライアントＰＣ１０４へ送信されたＸＭＬ文書に基づいて、クライアントＰＣ１０４のディスプレイ１０９に表示されたカレンダの中身（コンテンツ）には、コンテンツ提供者サーバを参照するＵＲＩだけが埋め込まれていることを示す。（なお、実際はカレンダには複数のコンテンツが埋め込まれているが、ここではある一つのコンテンツだけを注目して言及していることに注意されたい。）
「（３）コンテンツ参照ＵＲＩを選択し、コンテンツ提供サーバにコンテンツを要求」とあるのは、コンテンツ提供者サーバ１００２を参照するＵＲＩをマウス１０７等でクリックした結果、コンテンツ取得要求がコンテンツ提供者サーバ１００２に送信される動作を示す。
「（４）コンテンツを返信」とあるのは、コンテンツ提供者サーバ１００２からクライアントＰＣ１０４へコンテンツが送信される動作を示す。
【００３６】
図１１（ａ）及び（ｂ）は、図１０に示した動作を、画面の内容の変化を伴って説明するための図である。
図１１（ａ）はディスプレイ１０９に表示されるカレンダ、つまりユーザがコンテンツ要求を発する前の段階のカレンダを示す。図１１（ａ）には一例として、２００６年１０月のカレンダが表示されている。
ここで、１０月２日(月）の欄に、星印１１０２がある。この星印１１０２には、コンテンツ直接参照型のコンテンツ提供者サーバへのＵＲＩが埋め込まれている。ユーザはこの星印１１０２をクリックすると、ＪａｖａＳｃｒｉｐｔよりなるｗｅｂブラウザ機能はコンテンツ提供者サーバ１００２へアクセスし、コンテンツを取得する。そして、その内容を図１１（ｂ）に示すように、カレンダ表示領域内にウィンドウの形態にて表示する。これが図１１（ｂ）の、コンテンツ表示ウィンドウ１１０３である。
図１１（ｂ）ではこのような契約体系に該当するコンテンツの一例として、毎週決まった曜日に配信される、音楽のヒットチャートを提供するコンテンツ提供者のコンテンツを示している。このウィンドウ内に示されるコンテンツは、ｗｅｂサーバ１０２内のコンテンツオブジェクトテーブル１３３には一切記録されない。
【００３７】
コンテンツ提供者がコンテンツをｗｅｂサーバ１０２に記録することを許可している場合は、提供されるコンテンツの配信タイミング等に応じて、複数の取得形態がある。
一つは、提供されるコンテンツの配信タイミングが必ず決まっている場合である。この場合は、ｗｅｂサーバ１０２がコンテンツ提供者サーバへ定期的にコンテンツを取得して、コンテンツ蓄積テーブル１３６に蓄積しておく。そして、クライアント１０３から要求があったら、コンテンツ蓄積テーブル１３６からコンテンツを読み出してクライアント１０３へ出力する、という形態である。これが図１２に示す、コンテンツ蓄積型である。定期巡回クライアントプログラム１４２はこのために設けられている。
図１２において、「（１）ログイン後、指定期間のコンテンツ要求」とあるのは、クライアントＰＣ１０４がｗｅｂサーバ１０２からカレンダ表示ｈｔｍｌを受信した後、ＪａｖａＳｃｒｉｐｔを実行した結果、ｗｅｂサーバ１０２にＡｊａｘ要求をしたことを示す。
「（２）コンテンツを返信」とあるのは、ｗｅｂサーバ１０２からクライアント１０３へコンテンツが送信される動作を示す。
【００３８】
図１３は、図１２に示した動作に対応する画面の内容を説明する図である。
図１３には一例として、２００６年１０月のカレンダの一部が表示されている。ここで、１０月２日(月）の欄に、傘と雲のマーク１３０２がある。このマークは、コンテンツ蓄積型によるコンテンツを示す。つまり、コンテンツ蓄積サーバに蓄積されているコンテンツが、カレンダに直接表示されているのである。
図１３ではこのような契約体系に該当するコンテンツの一例として、毎日決まった時間に配信される、天気予報と過去の天気のコンテンツを示している。これは図示しない画像データのリンク（「＜ｉｍｇ＞」タグ）が埋め込まれており、画像にマウスカーソル１３０３を重ねると、詳細な内容が吹き出しのようなウィンドウ１３０４にて表示される。これは周知のｈｔｍｌの「＜ｉｍｇ＞」タグに「ｔｉｔｌｅ」タグを付したものである。なお、このウィンドウをＪａｖａＳｃｒｉｐｔで表示させることも可能である。
【００３９】
コンテンツ提供者がコンテンツをｗｅｂサーバ１０２に記録することを許可している場合のもう一つの取得形態は、提供されるコンテンツの配信タイミングが決まっていない、不定期の取得形態である。この場合は、ｗｅｂサーバ１０２がコンテンツ提供者サーバへ定期的にコンテンツを取得しても、最新のデータが得られるとは限らない。また、今日のインターネット１０８には、多数のクライアント１０３の要求に耐え得る、強靭なｗｅｂサービスを提供する業者が多数存在する。そこで、クライアント１０３の要求に毎回呼応するように、ｗｅｂサーバ１０２が毎回コンテンツ提供者サーバにアクセスする。これがコンテンツバックアップ型である。
コンテンツバックアップ型は、配信されるコンテンツがカレンダの小さな欄内に表示可能であるか否かで、二つのアクセス方法を用意している。その一つが、図１４に示す、コンテンツバックアップ型の「アクセス方法その１」である。
「アクセス方法その１」は、表示するコンテンツの内容（バイト数）が少なく、カレンダの小さな表示欄内に表示可能である場合に、この方法が採用される。
図１４において、「（１）ログイン後、指定期間のコンテンツ要求」とあるのは、クライアントＰＣ１０４がｗｅｂサーバ１０２からカレンダ表示ｈｔｍｌを受信した後、ＪａｖａＳｃｒｉｐｔを実行した結果、ｗｅｂサーバ１０２にＡｊａｘ要求をしたことを示す。
「（２）指定期間のコンテンツを要求」とあるのは、ｗｅｂサーバ１０２がコンテンツ提供者サーバ１４０２に対して指定期間に対応するコンテンツを要求することを示す。
「（３）コンテンツを返信」とあるのは、コンテンツ提供者サーバ１４０２がｗｅｂサーバ１０２の要求に応じて、ｗｅｂサーバ１０２にコンテンツが送信されるありさまを示す。
「（４）コンテンツを返信」とあるのは、ｗｅｂサーバ１０２からクライアントＰＣ１０４へコンテンツが送信される動作を示す。
なお、表示画面の説明は図１３と等価であるので省略する。
【００４０】
コンテンツバックアップ型は、配信されるコンテンツがカレンダの小さな欄内に表示可能であるか否かで、二つのアクセス方法を用意している。そのもう一つが、図１５に示す、コンテンツバックアップ型の「アクセス方法その２」である。
「アクセス方法その２」は、表示するコンテンツの内容(バイト数）がカレンダの小さな表示欄内に表示しきれない場合に、この方法が採用される。つまり、カレンダの小さな表示欄内には、先のコンテンツ直接参照型と同様にリンクのみを記し、当該リンクをクリックすると、ｗｅｂサーバ１０２を通じてコンテンツ提供者サーバにアクセスする、という形態である。
図１５において、「（１）ログイン後、指定期間のコンテンツ要求」とあるのは、クライアントＰＣ１０４がｗｅｂサーバ１０２からカレンダ表示ｈｔｍｌを受信した後、ＪａｖａＳｃｒｉｐｔを実行した結果、ｗｅｂサーバ１０２にＡｊａｘ要求をしたことを示す。
「（２）コンテンツ参照ＵＲＩのみ返信」とあるのは、Ａｊａｘ要求に応じてディスプレイ１０９に表示されたカレンダの中身には、ｗｅｂサーバ１０２を参照するＵＲＩが埋め込まれていることを示す。このＵＲＩは、コンテンツ提供者サーバ１５０２へアクセスするためのＵＲＩ等を含むものである。
「（３）コンテンツ参照ＵＲＩを選択し、コンテンツを要求」とあるのは、前述の（２）で、カレンダに埋め込まれている、ｗｅｂサーバ１０２を参照するＵＲＩをユーザがマウス１０７等でクリックした結果、コンテンツ取得要求がｗｅｂサーバ１０２に送信される動作を示す。
「（４）指定期間のコンテンツを要求」とあるのは、ｗｅｂサーバ１０２がコンテンツ提供者サーバ１５０２に対して指定期間に対応するコンテンツを要求することを示す。
「（５）コンテンツを返信」とあるのは、コンテンツ提供者サーバ１５０２がｗｅｂサーバ１０２の要求に応じて、ｗｅｂサーバ１０２にコンテンツが送信されるありさまを示す。
「（６）コンテンツを返信」とあるのは、ｗｅｂサーバ１０２からクライアントＰＣ１０４へコンテンツが送信される動作を示す。
【００４１】
図１６（ａ）及び（ｂ）は、図１５に示した動作を、画面の内容の変化を伴って説明するための図である。
図１６（ａ）はディスプレイ１０９に表示されるカレンダ、すなわちユーザがコンテンツ要求を発する前の段階のカレンダを示す。図１６（ａ）には一例として、２００６年１０月のカレンダが表示されている。
ここで、１０月２日(月）の欄に、星印１６０２がある。この星印１６０２には、コンテンツバックアップ型の「アクセス方法その２」における、コンテンツ提供者サーバへのＵＲＩが埋め込まれている。ユーザはこの星印１６０２をクリックすると、ＪａｖａＳｃｒｉｐｔよりなるｗｅｂブラウザ１０５機能はｗｅｂサーバ１０２へアクセスする。
次に、ｗｅｂサーバ１０２はコンテンツ提供者サーバ１５０２にアクセスし、コンテンツを取得する。
次に、ｗｅｂサーバ１０２はコンテンツ提供者サーバ１５０２から取得したコンテンツをクライアントＰＣ１０４へ送信する。
そして、クライアントＰＣ１０４はその内容を図１１（ｂ）に示すように、カレンダ表示領域内にウィンドウの形態にて表示する。これが図１６（ｂ）の、コンテンツ表示ウィンドウ１６０３である。
図１６（ｂ）ではこのような契約体系に該当するコンテンツの一例として、不定期に配信される、イベント情報を提供するコンテンツ提供者のコンテンツを示している。このウィンドウ内に示されるコンテンツは、ｗｅｂサーバ１０２内のコンテンツオブジェクトテーブル１３３に記録される。
【００４２】
図１７は、本実施形態のｗｅｂサーバ１０２内に設けられている各種テーブルのうち、本発明に関係するもののフィールド名とその内容を列挙したものである。なお、オブジェクトテーブル１３２は本発明に直接的には関係しないが、後述のコンテンツオブジェクトテーブル１３３と対比して説明するために敢えて掲載している。
【００４３】
オブジェクトテーブル１３２は、ｗｅｂサーバ１０２を利用する登録ユーザ自身が、自らに関係する種々雑多な情報を記録するものである。つまり、ユーザ自身の日々の生活等の記録であり、いわば登録ユーザ自身の「ログ」である。以下、主要なフィールドの説明を記す。
「TYPE_NO」はオブジェクト種別である。記録されるコンテンツの内容に応じて、スケジュール、イベント、日記、アルバム、ライフログ、目標、メモ等の種別を記す数値データが記録される。
「NAME」はタイトルである。「DESCRIPTION」は内容である。「LINK」はリンク、つまりコンテンツに関係するＵＲＩである。つまり、この三つのフィールドが、登録ユーザが記録するコンテンツの主たる実体である。
「USERID」はユーザＩＤである。これは後述のテーブルのみならず、ユーザテーブル１３１においても共通である。
【００４４】
コンテンツオブジェクトテーブル１３３の説明の前に、コンテンツテーブル１３４の説明をする。
コンテンツテーブル１３４は、コンテンツ提供者によるコンテンツ提供サービスの一覧である。
コンテンツテーブル１３４は、コンテンツ提供サービス毎にフィールド名「NO」のコンテンツ番号が付与されている。また、コンテンツ提供サービス毎に異なるコンテンツ配信方法（コンテンツ直接参照型、コンテンツバックアップ型、コンテンツ蓄積型）に応じて、フィールド名「DELIVER_METHOD」にそれらの配信方法を認識するための数値データが記録される。
「CONTENTS_SRC」は、コンテンツバックアップ型及びコンテンツ蓄積型においては、コンテンツ提供者サーバからｗｅｂサーバ１０２がコンテンツを取得する際のＵＲＩを記載する。コンテンツ直接参照型においては、コンテンツ提供者サーバから登録ユーザが直接コンテンツを取得する際のＵＲＩを記載する。また、ＵＲＩの他に、必要に応じてコンテンツ取得の際のプロトコルやコンテンツを加工するコマンド等も記載する。
【００４５】
コンテンツ配信登録テーブル１３５は、登録ユーザが契約して利用するコンテンツ提供サービスとの関係を示すものである。したがって、「USERID」のユーザＩＤと、「CONTENTS_NO」のコンテンツ番号が記されている。
【００４６】
コンテンツオブジェクトテーブル１３３は、ｗｅｂサーバ１０２を利用する登録ユーザが、コンテンツ配信登録テーブル１３５にて登録した、コンテンツ提供者からのコンテンツを記録するものである。つまり、ユーザが利用し、提供を受けたコンテンツの記録であり、いわば登録ユーザの「コンテンツのログ」である。前述のオブジェクトテーブル１３２とは目的が類似しているが、記録する内容が異なる。以下、主要なフィールドの説明を記す。
「CONTENTS_NO」はコンテンツ番号である。コンテンツテーブル１３４の「NO」のコンテンツ番号と等しい。
「NAME」はタイトルである。「DESCRIPTION」は内容である。「LINK」はリンク、つまりコンテンツに関係するＵＲＩである。つまり、この三つのフィールドが、登録ユーザが記録するコンテンツの主たる実体である。
「READFLAG」は閲覧済みフラグである。すなわち、このコンテンツを閲覧したらフラグを上げる。
【００４７】
図１８及び図１９は、本実施形態において、ｗｅｂサーバ１０２内のＡｊａｘ用データ送信ｃｇｉ１２５の動作の主要部分である、コンテンツオブジェクトテーブル１３３を検索してＸＭＬ文書を送信するまでの詳細な流れを示すフローチャートである。図９のＳ９０４の中身に該当する。
コンテンツオブジェクトテーブル１３３の検索開始に際し（Ｓ１８０１）、ユーザＩＤと指定期間にてコンテンツオブジェクトテーブル１３３を検索し、ヒットしたレコードを一旦図示しないｗｅｂサーバ１０２のメモリに保持する（Ｓ１８０２）。
次に、コンテンツ番号をキーに、コンテンツ配信登録テーブル１３５とコンテンツテーブル１３４を関係付ける（リレーション）。その上で、ユーザＩＤにて検索を行い、ヒットしたレコードの数を変数「Ｎ」に保持する（Ｓ１８０３）。
【００４８】
これ以降はループ処理である。メモリに保持したコンテンツオブジェクトテーブル１３３のヒットしたレコード群に対し、先の検索にてヒットしたコンテンツテーブル１３４のコンテンツの種類を確認しながら、コンテンツの有無を検索する処理を行う。
最初に、カウンタを構成する変数ｉを１に初期化する（Ｓ１８０４）。
次に、先の検索にてヒットしたコンテンツテーブル１３４のレコードのうち、ｉ番目のレコードのコンテンツの種類を見る。
【００４９】
当該コンテンツがコンテンツバックアップ型であれば（Ｓ１８０５のＹ）、そのコンテンツがメモリに保持したコンテンツオブジェクトテーブル１３３のヒットしたレコード群にあるか否か、検索して確認する（Ｓ１８０６）。
もしあれば、それは既にコンテンツ提供者サーバからコンテンツを取得済みであるので、ヒットしたレコードに記録されているコンテンツをＸＭＬフォーマットに変換して出力する（Ｓ１８０７）。
もしなければ、それは未だコンテンツ提供者サーバからコンテンツを取得していないので、コンテンツ提供者サーバにアクセスし、コンテンツを取得する（Ｓ１８０８）。そして、コンテンツオブジェクトテーブル１３３に取得したコンテンツを記録すると共に、当該コンテンツをＸＭＬフォーマットに変換して出力する（Ｓ１８０９）。
【００５０】
当該コンテンツがコンテンツ蓄積型であれば（Ｓ１８１０のＹ）、そのコンテンツがメモリに保持したコンテンツオブジェクトテーブル１３３のヒットしたレコード群にあるか否か、検索して確認する（Ｓ１８１１）。
もしあれば、それは既にコンテンツ蓄積テーブル１３６からコンテンツを取得済みであるので、ヒットしたレコードに記録されているコンテンツをＸＭＬフォーマットに変換して出力する（Ｓ１８０７）。
もしなければ、それは未だコンテンツ蓄積テーブル１３６からコンテンツを取得していないので、コンテンツ蓄積テーブル１３６にアクセスし、コンテンツを取得する（Ｓ１８１２）。そして、コンテンツオブジェクトテーブル１３３に取得したコンテンツを記録すると共に、当該コンテンツをＸＭＬフォーマットに変換して出力する（Ｓ１８０９）。
【００５１】
当該コンテンツがコンテンツ直接参照型である場合は、コンテンツテーブル１３４にあるリンクのＵＲＩをＸＭＬフォーマットに変換して出力する（Ｓ１８１３）。
【００５２】
以上の処理の後（図１９の○囲みＡ）、カウンタを構成する変数ｉをインクリメントする（Ｓ１９１４）。
そして、変数ｉが最大レコード数Ｎを超えたか否かを確認し（Ｓ１９１５）、超えていなければ（図１９の○囲みＢ）再び処理を繰り返す（図１８の○囲みＢからＳ１８０５）。超えていれば、処理を終了する（Ｓ１９１６）。
【００５３】
本実施形態では、ｗｅｂサービスの提供を受ける登録ユーザに、外部の複数のコンテンツ提供サービス業者が提供するコンテンツを、登録ユーザの契約内容に応じて、単一の表示画面に一元的に提供することができる。
提供を受けたコンテンツのうち、契約内容によってはそれを登録ユーザ毎に「ログ」として記録する。このようにｗｅｂサーバを構成することにより、一旦取得したコンテンツを過去に遡って何度でも閲覧することが可能になる。更に、提供を受けたコンテンツはログとして記録されているので、コンテンツ提供サービス業者との契約開始時点、及び契約終了時点が正確にわかる。つまり、登録ユーザのコンテンツ利用料金の計算が正確になると共に一目瞭然で判るので、登録ユーザとｗｅｂサーバ運営側との間で料金関係に疑義が生じ難い。
【００５４】
本実施形態には、以下のような応用例が考えられる。
（１）コンテンツオブジェクトテーブル１３３に対する検索機能を提供することができる。検索画面ｈｔｍｌ文書を生成するｃｇｉを用意し、コンテンツ名称、コンテンツ内容、記録を行った日時、コンテンツの種別等で絞込み検索を実行できるようにする。
【００５５】
図２０はｗｅｂサーバの一部を拡大したブロック図である。
ｗｅｂサーバ２００１は、図２に示すｗｅｂサーバ１０２と構成は殆ど同じである。ｗｅｂサーバ１０２との相違点は、検索ｃｇｉ２００２が追加されていることである。
検索ｃｇｉ２００２は、クライアントから来る検索命令にしたがって、検索結果としてのコンテンツをｈｔｍｌ文書にてクライアントへ返送する。
図２１は検索画面を示す。図４のｗｅｂブラウザ表示画面４０１から、所定のボタンをマウスでクリックする等の操作を経て、検索画面が表示された結果である。
検索画面２１０１の中には、やや縮小表示処理が行われているカレンダ領域２１０２と、その左側に、検索領域２１０３とタグ領域２１０４が表示されている。
【００５６】
検索領域２１０３には、検索用語入力欄２１０５と検索ボタン２１０６とログ種類選択欄２１０７が設けられている。
検索用語入力欄２１０５はユーザが検索したいキーワードを入力する欄である。
検索ボタン２１０６は検索用語入力欄２１０５に入力されたキーワードを検索ｃｇｉ２００２に送信し、検索ｃｇｉ２００２に検索を実行させるためのユーザインターフェースである。
ログ種類選択欄２１０７は、検索対象を絞り込むためのものである。各項目はログのカテゴリ別に分類され、各項目毎にチェックボックスが設けられている。このチェックボックスをマウスでオン・オフすることで、当該ログの種類の選択或は選択解除を制御できる。ログ種類選択欄２１０７の中には、本実施形態にかかるコンテンツの項目も設けられており、その選択或は選択解除もできる。
【００５７】
タグ領域２１０４には、タグ２１０８が設けられている。
タグ２１０８は、予めユーザが自ら作成している固定キーワードである。図１７のオブジェクトテーブル１３２及びコンテンツオブジェクトテーブル１３３に設けられている「タグ」フィールドがこれに該当する。
一方、タグ領域２１０４に列挙されているタグ２１０８は、ユーザテーブル１３１に保持されている。ユーザはタグ領域２１０４内のタグ２１０８の一つを選択してマウスにてクリックすることにより、当該タグ２１０８と完全一致する文字列を、図１７のオブジェクトテーブル１３２及びコンテンツオブジェクトテーブル１３３に設けられている「タグ」フィールドから探す。
なお、タグ領域２１０８内のタグは、文字フォントの大きさが異なるものが散在する。これはｈｔｍｌ文書内のＣＳＳ（Cascading Style Sheets：ｗｅｂページのレイアウトを定義する規格。）等にて、当該タグの利用頻度に応じて文字フォントの大きさを変える指示があることによる。
【００５８】
図２２はタグ領域２１０４に列挙されているタグ２１０８にてタグの検索を実行した結果を示す。タグ検索結果画面２２０１は、検索画面２１０１とは別のウィンドウにて表示される。
図２３は検索領域２１０３にて任意のキーワード検索を実行した結果を示す。通常検索結果画面２３０１は、検索画面２１０１とは別のウィンドウにて表示される。また、再検索を可能にするため、再検索欄２３０２が画面最上位に設けられている。
【００５９】
以上に記した検索の実行に際しては、オブジェクトテーブル１３２及びコンテンツオブジェクトテーブル１３３を当該ユーザＩＤにて限定した上で検索を行うこととなる。
このような機能を提供することにより、ユーザは過去の事象を思い出したり、過去の情報を容易に利用可能になる。
【００６０】
（２）カレンダを表示する技術は、Ａｊａｘに限られない。コンテンツ提供者サーバがｗｅｂサーバと一体である場合は、Ａｊａｘを用いずにｈｔｍｌの文法のみでカレンダを表示することもできる。
また、Ａｊａｘ以外にもＭａｃｒｏｍｅｄｉａ社のＳｈｏｃｋｗａｖｅ（登録商標）やＦｌａｓｈ（登録商標）、或はＪａｖａアプレット等の技術が利用可能である。
【００６１】
（３）コンテンツ表示は月別表示のカレンダ形式には囚われない。週別表示でもよいし、日めくり、三日めくり等の形式も可能である。
【００６２】
本実施形態においては、コンテンツ提供者から得られるコンテンツサービスをログ記録し、コンテンツを再利用することのできる、ユーザにとって利便性の高い情報提供装置を実現できる。
【００６３】
以上、本発明の実施形態例について説明したが、本発明は上記実施形態例に限定されるものではなく、特許請求の範囲に記載した本発明の要旨を逸脱しない限りにおいて、他の変形例、応用例を含むことは言うまでもない。
【図面の簡単な説明】
【００６４】
【図１】本発明の一実施形態による、カレンダサービスを提供するシステムの機能ブロック図である。
【図２】本実施形態のカレンダサービス提供システムによってもたらされる、クライアントＰＣ上における画面の遷移状態を示す状態遷移図と、その画面との関係を示す図である。
【図３】カレンダ画面ｃｇｉが作成するｈｔｍｌ文書の内容の一部を示す図である。
【図４】ｗｅｂブラウザがｈｔｍｌ文書を読み込み、更にＪａｖａＳｃｒｉｐｔを実行した結果がクライアントＰＣ上のディスプレイに表示された状態を示す。
【図５】クライアントがカレンダを表示するに際して、クライアントとｗｅｂサーバの間で送受信される情報を記したシーケンス図である。
【図６】ログインからカレンダを表示する際の、クライアントとｗｅｂサーバの両方の処理を含めた、全体的な流れを示す図である。
【図７】クライアントのｗｅｂブラウザにおける、カレンダ表示処理の動作を示すフローチャートである。
【図８】クライアントにおけるＪａｖａＳｃｒｉｐｔソースファイルの実行の詳細を示すフローチャートである。
【図９】ｗｅｂサーバ側における、クライアントから発されるＡｊａｘ要求に対する応答の処理を示すフローチャートである。
【図１０】コンテンツ直接参照型における、クライアントとｗｅｂサーバとコンテンツ提供者サーバとの間の処理の流れを示す概略図である。
【図１１】コンテンツ直接参照型における、クライアントの画面の表示状態の変化とコンテンツ提供者サーバとの間の処理の流れを示す概略図である。
【図１２】コンテンツ蓄積型における、クライアントとｗｅｂサーバとコンテンツ提供者サーバとの間の処理の流れを示す概略図である。
【図１３】コンテンツ蓄積型における、クライアントの画面の表示状態を示す概略図である。
【図１４】コンテンツバックアップ型の「アクセス方法その１」における、クライアントとｗｅｂサーバとコンテンツ提供者サーバとの間の処理の流れを示す概略図である。
【図１５】コンテンツバックアップ型の「アクセス方法その２」における、クライアントとｗｅｂサーバとコンテンツ提供者サーバとの間の処理の流れを示す概略図である。
【図１６】コンテンツバックアップ型の「アクセス方法その２」における、クライアントの画面の表示状態の変化とコンテンツ提供者サーバとの間の処理の流れを示す概略図である。
【図１７】本実施形態のｗｅｂサーバ内に設けられている主要なテーブルのフィールド名とその内容を列挙した一覧表である。
【図１８】ｗｅｂサーバ内のＡｊａｘ用データ送信ｃｇｉの動作の主要部分である、コンテンツオブジェクトテーブルを検索してＸＭＬ文書を送信するまでの詳細な流れを示すフローチャートである。
【図１９】ｗｅｂサーバ内のＡｊａｘ用データ送信ｃｇｉの動作の主要部分である、コンテンツオブジェクトテーブルを検索してＸＭＬ文書を送信するまでの詳細な流れを示すフローチャートである。
【図２０】ｗｅｂサーバの一部を注目したブロック図である。
【図２１】検索画面の概略図である。
【図２２】タグ検索の結果を表示する画面の概略図である。
【図２３】通常の検索の結果を表示する画面の概略図である。
【符号の説明】
【００６５】
１０２…ｗｅｂサーバ、１０３…クライアント、１０４…クライアントＰＣ、１０５…ｗｅｂブラウザ、１０６…キーボード、１０７…マウス、１０８…インターネット、１０９…ディスプレイ、１１０、１１１、１１２…コンテンツ提供者サーバ、１２１…実行制御部、１２２…ログイン画面ｃｇｉ、１２３…認証ｃｇｉ、１２４…カレンダ画面ｃｇｉ、１２５…Ａｊａｘ用データ送信ｃｇｉ、１２７…不揮発性ストレージ、１２８…ＪａｖａＳｃｒｉｐｔプログラムソース、１３１…ユーザテーブル、１３２…オブジェクトテーブル、１３３…コンテンツオブジェクトテーブル、１３４…コンテンツテーブル、１３５…コンテンツ配信登録テーブル、１３６…コンテンツ蓄積テーブル、１４１…データ取得クライアントプログラム、１４２…定期巡回クライアントプログラム、２０２…ログイン画面、２０３…カレンダ表示画面、２０４、２０５…表示月変更ボタン、２０６…「ログアウト」ボタン、２０７…「コンテンツ登録」ボタン、２０８…コンテンツ登録画面、２０９…登録可能コンテンツ表示欄、２１０…登録済みコンテンツ表示欄、２１１…右矢印ボタン、２１２…左矢印ボタン、２１３…「ＯＫ」ボタン、２１４…「キャンセル」ボタン
【図１】
2008107987.tif 000003
【図２】
2008107987.tif 000004
【図３】
2008107987.tif 000005
【図４】
2008107987.tif 000006
【図５】
2008107987.tif 000007
【図６】
2008107987.tif 000008
【図７】
2008107987.tif 000009
【図８】
2008107987.tif 000010
【図９】
2008107987.tif 000011
【図１０】
2008107987.tif 000012
【図１１】
2008107987.tif 000013
【図１２】
2008107987.tif 000014
【図１３】
2008107987.tif 000015
【図１４】
2008107987.tif 000016
【図１５】
2008107987.tif 000017
【図１６】
2008107987.tif 000018
【図１７】
2008107987.tif 000019
【図１８】
2008107987.tif 000020
【図１９】
2008107987.tif 000021
【図２０】
2008107987.tif 000022
【図２１】
2008107987.tif 000023
【図２２】
2008107987.tif 000024
【図２３】
2008107987.tif 000025
【手続補正書】
【提出日】平成18年12月18日(2006.12.18)
【手続補正１】
【補正対象書類名】図面
【補正対象項目名】図４
【補正方法】変更
【補正の内容】
【図４】
2008107987.tif 000026
【手続補正２】
【補正対象書類名】図面
【補正対象項目名】図８
【補正方法】変更
【補正の内容】
【図８】
2008107987.tif 000027
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】図９
【補正方法】変更
【補正の内容】
【図９】
2008107987.tif 000028
【手続補正４】
【補正対象書類名】図面
【補正対象項目名】図１１
【補正方法】変更
【補正の内容】
【図１１】
2008107987.tif 000029
【手続補正５】
【補正対象書類名】図面
【補正対象項目名】図１６
【補正方法】変更
【補正の内容】
【図１６】
2008107987.tif 000030