(57)【要約】【課題】情報提供者から情報の提示タイミングが指定される情報提供サービスはユーザが多いとサーバに負荷が集中し端末で同じサービスをうけられなかった。【解決手段】端末とサーバとで構成され、端末は、スケジュール等を含むデータベースと、定期的に現在時刻を監視して、ある時刻に該当するスケジュールがあったときに指示された内容に従って選択したアクションを実行するアクション実行手段と、ユーザ入力を受け付ける入力受付手段とを有する。サーバは、ユーザ属性や配信ルールを保持するデータベースと、端末からの要求に応じてスケジュールを配信するスケジュール配信手段と、コンテンツを配信するコンテンツ配信手段と、端末から通知されたユーザ入力データを処理するユーザ入力データ処理手段と、ユーザ属性と配信ルールからユーザごとのスケジュールを作成するスケジュール作成手段とを有する。【選択図】      図１
2004280670.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツを含む情報を提供するサーバと、前記サーバの提供する情報を取り出し使用する端末と、前記サーバと前記端末とを接続するネットワークとを備える情報提供システムであって、
前記端末は、前記サーバが作成した前記端末固有のコンテンツ提供スケジュールを前記サーバのデータベースから取り出し、取り出した該スケジュールを前記端末のデータベースに格納するとともに定期的に参照して指定された時刻になると、該スケジュールの規定する処理内容に従い、前記サーバからの情報の取得処理と、取得した情報の前記端末への提示処理と、提示した情報についての応答データを前記サーバへ通知する送信処理と、を行うことを特徴とするＰＵＳＨ型情報提供システム。
【請求項２】
前記スケジュールは、前記端末の処理を開始する時刻と、処理内容を規定するアクション識別子と、アクション識別子で指定された処理に必要なアクション引数とを含み、さらにアクション識別子として前記サーバからの情報の取得する処理と、取得した情報の前記端末上での再生提示をする処理と、再生提示された情報に対する応答データを前記サーバへ送信する処理と、を含むことを特徴とする請求項１記載のＰＵＳＨ型情報提供システム。
【請求項３】
コンテンツを含む情報を提供するサーバと、前記サーバの提供する情報を取り出し使用する端末と、前記サーバと前記端末とを接続するネットワークとを備える情報提供システムであって、
前記端末は、情報を処理するスケジュールと前記サーバから取り出したコンテンツとユーザ入力データを保持するデータベースと、定期的に現在時刻を監視し現在時刻に合致するスケジュールが存在すると、該スケジュールが指定する処理を実行する手段を呼び出す時刻監視手段と、前記時刻監視手段によって呼び出されスケジュールの指定する処理を実行するにあたり、サーバから情報収集を行う第１のアクション実現手段と収集した情報を前記端末上に提示する第２のアクション実現手段とサーバへ提示した情報に対する応答情報の通知を前記サーバに行う第３のアクション実現手段と、ユーザからの前記応答情報の入力を受け付ける入力受付手段と、を備え、
前記サーバは、前記スケジュールとその配信ルール、コンテンツ、端末の属性、前記端末を使用するユーザ属性を保持するデータベースと、前記端末からの要求に応じて前記スケジュールを配信するスケジュール配信手段と、コンテンツを配信するコンテンツ配信手段と、端末から通知されたユーザ入力データを処理するユーザ入力データ処理手段と、端末属性とユーザ属性と配信ルールとから端末ごとのスケジュールを作成するスケジュール作成手段と、
を備えたことを特徴とするＰＵＳＨ型情報提供システム。
【請求項４】
コンテンツを含む情報を提供するサーバと、前記サーバの提供する情報を取り出し使用する端末と、前記サーバと前記端末とを接続するネットワークとを備える情報提供システムであって、
前記端末は、情報を処理するスケジュールと前記サーバから取り出したコンテンツとユーザ入力データを保持するデータベースと、定期的に現在時刻を監視し現在時刻に合致するスケジュールが存在すると、該スケジュールが指定する処理を実行する手段を呼び出す時刻監視手段と、前記時刻監視手段によって呼び出されスケジュールの指定する処理を実行するにあたり、サーバから情報収集を行う第１のアクション実現手段と収集した情報を前記端末上に提示する第２のアクション実現手段とサーバへ提示した情報に対する応答情報の通知を前記サーバに行う第３のアクション実現手段と、ユーザからの前記応答情報の入力を受け付ける入力受付手段と、前記アクション実現手段が失敗した処理を再実行するためのスケジュールを許容される時間内において再登録するスケジュール再登録手段と、を備え、
前記サーバは、前記スケジュールとその配信ルール、コンテンツ、端末の属性、前記端末を使用するユーザ属性を保持するデータベースと、前記端末からの要求に応じて前記スケジュールを配信するスケジュール配信手段と、コンテンツを配信するコンテンツ配信手段と、端末から通知されたユーザ入力データを処理するユーザ入力データ処理手段と、端末属性とユーザ属性と配信ルールとから端末ごとのスケジュールを作成するスケジュール作成手段と、
を備えたことを特徴とするＰＵＳＨ型情報提供システム。
【請求項５】
コンテンツを含む情報を提供するサーバと、前記サーバの提供する情報を取り出し使用する端末と、前記サーバと前記端末とを接続するネットワークとを備える情報提供システムであって、
前記端末は、情報を処理する未確定時刻を含むスケジュールと前記サーバから取り出した情報とユーザ入力データを保持するデータベースと、定期的に現在時刻を監視し現在時刻に合致するスケジュールが存在すると、該スケジュールが指定する処理を実行する手段を呼び出す時刻監視手段と、前記時刻監視手段によって呼び出されスケジュールの指定する処理を実行するにあたり、サーバから情報収集を行う第１のアクション実現手段と収集した情報を前記端末上に提示する第２のアクション実現手段とサーバへ提示した情報に対するユーザによる応答情報の通知を前記サーバに行う第３のアクション実現手段と確定時刻をサーバから取得して未確定時刻の含まれるスケジュールを確定時刻によって置き換える第４のアクション実現手段と、ユーザからの前記応答情報の入力を受け付ける入力受付手段と、を備え、
前記サーバは、前記スケジュールとその配信ルール、コンテンツ、端末の属性、前記端末を使用するユーザ属性を保持するデータベースと、前記端末からの要求に応じて前記スケジュールを配信するスケジュール配信手段と、コンテンツを配信するコンテンツ配信手段と、端末から通知されたユーザ入力データを処理するユーザ入力データ処理手段と、端末属性とユーザ属性と配信ルールとから端末ごとのスケジュールを作成するスケジュール作成手段と、スケジュールに記載された未確定時刻の時刻を確定する時刻確定手段と、前記端末の要求に応じて確定時刻を配信する時刻配信手段と、
を備えたことを特徴とするＰＵＳＨ型情報提供システム。
【請求項６】
前記スケジュール作成手段は、前記端末から通知された前記端末側の時刻と前記サーバ側の時刻との差分を求め、前記サーバが作成したスケジュールの前記端末への配信時にスケジュールの時刻を差分を反映して前記端末側の時刻に修正し、前記端末のユーザが端末操作を行った時刻を前記差分によってサーバ側の時刻に修正することを特徴とする請求項３、４乃至５に記載のＰＵＳＨ型情報提供システム。
【請求項７】
前記スケジュール作成手段は、前記端末から通知された前記端末のメモリ残量を含むユーザ情報をもとに前記端末に提供するスケジュールを作成することを特徴とする請求項３、４乃至５に記載のＰＵＳＨ型情報提供システム。
【請求項８】
コンテンツを含む情報を提供するサーバと、前記サーバの提供する情報を取り出し使用する端末と、前記サーバと前記端末とを接続するネットワークとを備える情報提供システムにおける情報提供方法であって、
前記端末は、前記サーバが作成した前記端末固有の情報提供スケジュールを前記サーバのデータベースから取り出し、取り出した該スケジュールを前記端末のデータベースに格納する第１のステップと、
前記端末は、取り出したスケジュールを定期的に参照してスケジュールが指定する時刻になると、該スケジュールの規定する処理内容に従い、前記サーバからの情報の取得処理と、取得した情報の前記端末への提示処理と、提示したコンテンツについての応答データを前記サーバへ通知する送信処理と、を実行する第２のステップと、
を備えることを特徴とする情報提供方法。
【請求項９】
コンテンツを含む情報を提供するサーバと、前記サーバの提供する情報を取り出し使用する端末と、前記サーバと前記端末とを接続するネットワークとを備える情報提供システムが実行する情報提供プログラムであって、
コンピュータに、
前記端末は、前記サーバが作成した前記端末固有の情報提供スケジュールを前記サーバのデータベースから取り出し、取り出した該スケジュールを前記端末のデータベースに格納する機能と、
前記端末は、取り出したスケジュールを定期的に参照してスケジュールが指定する時刻になると、該スケジュールの規定する処理内容に従い、前記サーバからの情報の取得処理と、取得した情報の前記端末への提示処理と、提示した情報についての応答データを前記サーバへ通知する送信処理と、を行う機能と、
を実行させる情報提供プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
情報提供者が指定した時刻での端末への情報提示と、利用者の端末操作内容と操作時刻の収集を行うサービスを実施する際に、サーバ負荷を高めることなく、リソースや状態の異なる端末に対して実現可能とする、ＰＵＳＨ型情報提供システム、その提供方法及びそのプログラムに関する。
【０００２】
【従来の技術】
インターネットに接続された端末が広く普及したことにより、ニュースや天気予報、広告などのさまざまな情報提供サービスが存在する。これらのサービスは通常、「情報の提供」と「ユーザの反応収集」で成り立っている。
ここでは、特にＰＵＳＨ型の情報提供サービスを考える。ＰＵＳＨ型の情報提供とは、ユーザ（情報受信者）の要求したタイミングではなく、情報提供者が指定したタイミングで情報を提供するものを指す。ＰＵＳＨ型情報提供サービスは、情報提示タイミングの指定方法の違いで２つに分けることができる。
【０００３】
１つは提示タイミングが情報提供者から詳細に指定されないもので、例えば毎日１０時ごろにニュースを配信するサービス、新しい広告が入った時に配信するサービス、などが挙げられる。
【０００４】
もう１つは提示タイミングが詳細に指定されるもので、講師の映像に合わせたプレゼンテーション資料の提示や、放送番組やライブ映像と連携した情報提示などが挙げられる。
【０００５】
前者の提示タイミングが詳細に指定されない情報提供サービスは、電子メールによる情報提供や、端末が定期的にサーバに問い合わせることなどによって実施されている。これらの実現方法を後者の情報提供サービスに適用することは、ユーザへの情報提示タイミングを厳密に指定することが困難であるために難しい。
【０００６】
他の実現方法として、サーバ・端末間の通信を常に確立させておくことが考えられるが、通信コストやサーバの負荷コストが大きく、本発明の目的には適さない。
【０００７】
さらに、他の実現方法としては、提示情報や提示時刻をあらかじめ端末に送信して保存させ、保存した情報に従って端末が動作する方法が提案されている。例えば特許文献１には、コンテンツと提示スケジュールがあらかじめ端末に配信され、時刻に合わせて端末がコンテンツを提示するシステムである。この方法をとった場合、端末はサーバに対して、「スケジュールの取得」「コンテンツの取得」「ユーザ入力の通知」という少なくとも３種類の問い合わせをすることになる。従って、サービスに参加するユーザ数が多い時、これらの問い合わせがサーバに集中するという問題がある。また、事前に提示情報を保存させておくために、リソースの異なる端末に同じサービスを提供することが困難という問題がある。具体的には、ＰＣ向けの配信サービスをＰＤＡや携帯端末向けに提供しようとすると、保持できるデータ量が少なく事前配信された情報を読みきれないということである。更に、携帯端末やＰＤＡを対象とする場合は、電波状態が悪くデータ送信や取得に失敗する場合の対処ができていなかった。
【０００８】
特許文献２には、ユーザの入力データを暗号化してサーバに通知するシステムであり、端末にはサーバへの通知時刻を決定する手段（スケジューリング手段）があり、サーバへの通知時刻を分散させることが可能である。しかし、個々の端末が通知タイミングを決定するため、規模が大きくなると負荷分散は難しい。また、サーバが負荷を予測することができない。
【０００９】
【特許文献１】
特開２００１−２６８０２３（ページ６−１３、図１）
【特許文献２】
特開２００１−１０１１０７（ページ６−１２、図１）
【００１０】
【発明が解決しようとする課題】
情報提供者から、情報の提示タイミングが詳細に指定される情報提供サービスは、サーバの負荷が集中する問題と、リソースや状態の異なる端末で同じサービスを受けられない場合があるという問題があった。
【００１１】
本発明の第１の目的は、情報の提示時刻を指定する情報提供サービスにおいて、サーバの負荷を制御でき、更にリソースや状態の異なる端末でも同じサービスが受けられるシステムを提供することである。
【００１２】
本発明の第２の目的は、前述の情報提供サービスにおいて、通信状況が悪い場所にいるユーザが可能な限りサービスに参加できるシステムを提供することである。
【００１３】
本発明の第３の目的は、前述の情報提供サービスにおいて、端末の設定時刻に関係なく、情報提供者が指定した時刻に情報を提示し、ユーザが操作した時刻を取得することができるシステムを提供することである。
本発明の第４の目的は、前述の情報提供サービスにおいて、一連の端末動作の開始時刻が直前にならないと決まらない場合にも対応できるシステムを提供することである。
【００１４】
【課題を解決するための手段】
本発明の第１のシステムは、端末システム（図１の１００）とサーバシステム（図１の２００）とで構成される。端末システムは、スケジュール・コンテンツ・ユーザ入力データを保持するデータベース（図１の１０１）と、現在時刻を監視して、スケジュールに記述された実行時刻にアクション実行手段を呼び出す時刻監視手段（図１の１０２）と、スケジュールに記述された内容に従ってアクションを選択し、実行するアクション実行手段（図１の１０３）と、複数のアクション実現手段（図１の１０４）と、ユーザ入力を受け付ける入力受付手段（図１の１０５）とを有する。アクション実現手段には、情報提示に関わるもの（画面提示手段（図１の１０４ｄ）、音声再生手段（図１の１０４ｅ）など）と、サーバから情報を取得するもの（スケジュール取得手段（図１の１０４ａ）、コンテンツ取得手段（図１の１０４ｂ）など）、サーバへ情報を通知するもの（ユーザ入力データ送信手段（図１の１０４ｃ）など）がある。データベース（１０１）は、情報を保持できるものであれば、データベースの形態をとらなくてもよい。
サーバシステムは、端末属性、ユーザ属性、配信ルールなどを保持するデータベース（図１の２０１）と、端末からの要求を受けてスケジュール作成手段（図１の２０４）を呼び出し、取得したスケジュールを端末に配信するスケジュール配信手段（図１の２０３）と、コンテンツを配信するコンテンツ配信手段（図１の２０２）と、端末から通知されたユーザ入力データを処理するユーザ入力データ処理手段（図１の２０５）と、ユーザ属性と配信ルールからユーザごとのスケジュールを作成するスケジュール作成手段（図１の２０４）とを有する。データベース（２０１）は、情報を保持できるものであれば、データベースの形態をとらなくてもよい。
このような構成を採用し、情報提示と入力データ通知のために端末が行う様々な処理をスケジュールに従って実行する手段を端末に持たせ、更に配信ルールに基づいてスケジュールを生成する手段をサーバに持たせることによって、本発明の第１の目的を達成することができる。
【００１５】
また、本発明の第２のシステムは、第１のシステムにおける端末システムに、処理に失敗が発生した時に、同じ処理を実行するスケジュールを端末のデータベースに登録するスケジュール再登録手段（図２の１０６）を加えた構成を成す。このような構成を採用し、端末が処理を失敗してもその処理が時間をおいて再実行されることにより、本発明の第２の目的を達成することができる。
【００１６】
また、本発明の第３のシステムは、第１のシステムにおけるサーバシステムに、差分時刻算出手段（図３の２０６）を加えた構成を成す。このような構成を採用し、端末が自端末の時刻をサーバに通知し、サーバがサーバの持つ時刻と端末の時刻との差分値を算出し、算出した差分値をスケジュールやユーザの操作時刻に加味することによって、本発明の第３の目的を達成することができる。
【００１７】
また、本発明の第４のシステムは、第１のシステムにおける端末システムのアクション実現手段として、時刻取得手段（図４の１０４ｇ）を加え、更にサーバシステムに、時刻確定手段（図４の２０７）、時刻配信手段（図４の２０８）を加えた構成をなす。このような構成を採用し、実行時刻が未確定であるスケジュールをあらかじめ端末に配信し、後から確定した時刻を端末に取得させることによって、実行時刻が直前に変更する場合にも対応でき、本発明の第４の目的を達成することができる。
【００１８】
また、本発明の第５のシステムは、第１のシステムにおけるサーバシステムに、ユーザ情報取得手段（図５の２０９）を加えた構成をなす。このような構成を採用し、端末が通信のたびに自端末の状態をサーバに通知し、サーバが通知されたデータをユーザ情報として取得し、取得したユーザ情報をスケジュール作成時に利用することによって、動的に変化する状態に応じたスケジュール作成が可能となり、本発明の第１の目的を達成することができる。
【００１９】
【発明の実施の形態】
［第１の実施の形態］
次に、本発明の実施の形態について図面を参照して詳細に説明する。
【００２０】
図１を参照すると、本発明の第１の実施の形態は、端末システム１００と、サーバシステム２００と、端末システム１００とサーバシステム２００を通信で接続するインタネットを含むネットワーク３００と、で構成される。
【００２１】
〔端末機能〕
端末システム１００は、データベース１０１と、時刻監視手段１０２と、アクション実行手段１０３と、アクション群１０４と、入力受付手段１０５と、時計１０７とを含む。
【００２２】
データベース１０１は、ユーザ識別子、端末システム１００の動作制御情報を記述したスケジュール、提示された情報に対してユーザが行った操作内容を記述したユーザ入力データ、及び画面構成ファイル・画像ファイル・音声ファイルなどのコンテンツ、を保持している。これらのデータ構成例を図６に示す。
【００２３】
スケジュールは、実行時刻、アクション識別子、アクション引数からなるデータで、図６（ａ）の例では、実行時刻は年月日時分秒で記述され、アクション識別子は文字列で記述され、アクション引数はアクション実現手段ごとにフォーマットの異なる文字列で記述される。尚、アクション引数とは、各アクション実現手段に対して実行内容を指示する文字列である。アクション引数は記述しないこともある。
【００２４】
図６の（ｂ）に例示するユーザ入力データは、画面識別子と入力時刻と入力データからなる。画面識別子は、この例では画面構成ファイル名で表現する。入力時刻は年月日時分秒で記述され、入力データは文字列で記述される。入力データの記述形式は入力を行った画面によって異なる。
【００２５】
時刻監視手段１０２は、データベース１０１からスケジュールを読み出して保持しており、時計１０７から現在の時刻を取得して確認することで、それぞれのスケジュールが実行時刻になると、アクション実行手段１０３に対応するスケジュールを通知する。
【００２６】
アクション実行手段１０３は、時刻監視手段１０２から通知されたスケジュールから、アクション識別子、アクション引数を読み出し、複数のアクション実現手段１０４の中の対応するアクション実現手段１０４ａ〜１０４ｆのいずれかを選択し選択したアクション実現手段１０４にアクション引数を通知する。
【００２７】
アクション実現手段１０４のうち、音声再生手段１０４ｅはデータベース１０１からアクション引数で指定された音声ファイルを取得し、指示された回数で再生する。
【００２８】
画面提示手段１０４ｄはデータベース１０１からアクション引数で指定された画面構成ファイルやリンクされた画像ファイルを取得し、端末システム１００の画面に提示する。
【００２９】
ユーザ入力データ送信手段１０４ｃは、データベース１０１に保持されたユーザ入力データに、端末システム１００ごとに割り振られた端末ＩＤを付加してサーバシステム２００に送信する。
【００３０】
コンテンツ取得手段１０４ｂは、アクション引数で指定されたコンテンツをサーバシステム２００から取得する。
【００３１】
コンテンツ消去手段１０４ｆは、アクション引数で指定されたコンテンツをデータベース１０１から削除する。
【００３２】
スケジュール取得手段１０４ａは、端末ＩＤをサーバシステム２００に通知してサーバシステム２００からスケジュールを取得する。
【００３３】
〔端末の動作１〕
次に、図７、図８、図９、図１０を参照して、本実施の形態における端末システム１００の動作について詳細に説明する。
【００３４】
図７は、スケジュールに基づいてアクションを実行する時刻監視手段１０２の動作を示すフローチャートである。動作は図７の（ａ）、図７の（ｂ）の２通りあり、状況に応じて使い分ける。
【００３５】
図７の（ａ）は定期的に監視を行う手法である。時刻監視手段１０２はまず端末システム１００の現在時刻を時計１０７から読み出し（ステップ４０１）、実行時刻が現在時刻以前となっているスケジュールの有無を確認する（ステップ４０２）。そのようなスケジュールが存在しなければ、監視間隔Ｎの一定時間ごとの処理を中断し（ステップ４０５）、（ステップ４０１）に戻る。
【００３６】
現在時刻以前の実行時刻を持つスケジュールがあった場合、そのスケジュールをアクション実行手段に通知する（ステップ４０３）。次に、通知したスケジュールをデータベース１０１から消去する（ステップ４０４）。対象となるスケジュールが複数あった場合は（ステップ４０３）と（ステップ４０４）を繰り返す。図７（ａ）の動作において、スケジュールの実行時刻の精度を高めるためには監視間隔Ｎを小さな値にする必要があり、（ステップ４０１）、（ステップ４０２）の実行回数が増えて処理の効率が悪くなる。
【００３７】
図７の（ｂ）は次のスケジュールの実行時刻を利用して監視を行う手法である。図７（ａ）の手順と異なる点は、スケジュールそれぞれについて、監視間隔Ｎに一番近いスケジュール実行時刻と現在時刻との差を設定する（ステップ５０５）ことである。これにより、（ステップ４０１）、（ステップ４０２）はスケジュールの実行時刻が近くなった時点でのみ実行されることとなり、図７（ａ）の手法に比べて処理の効率はよい。
【００３８】
〔端末の動作２〕
図８のフローチャートは、端末システム１００がスケジュールに従って、情報の提示とユーザ入力データのサーバ通知を行う際の動作の流れを示している。
【００３９】
図９には、スケジュール（図９の（ａ））とユーザ入力データ（図９の（ｃ））、アクション識別子と対応するアクションのマッピング（図９（ｂ））を示している。
【００４０】
端末システム１００は、「毎日５時」など定期的に、もしくはスケジュールに従って、スケジュールをサーバシステム２００から取得し、データベース１０１に格納する（ステップ６０１）。ここで、取得したスケジュールが図９の（ａ）で示すものであった場合を考える。
【００４１】
図９（ａ）の最初のスケジュール（７０１）のアクション識別子“ＤｏｗｎｌｏａｄＣｏｎｔｅｎｔ”に対応するアクション実現手段１０４は、アクションのマッピングによると、コンテンツ取得手段１０４ｂであるため（図９の（ｂ）参照）、９時４５分にコンテンツ取得手段１０４ｂにスケジュール（７０１）のアクション引数が通知される。これは、図８の（ステップ６０２）に対応する。
【００４２】
コンテンツ取得手段１０４ｂは、このアクション引数で示されたコンテンツをサーバシステム２００から取得し、データベース１０１に格納する。ここでは、ａｌａｒｍ．ｍｐ３、ｙｏｙａｋｕ．ｈｔｍ、ｑｕｅｓｔｉｏｎ．ｈｔｍ、ａｌｂｕｍ．ｊｐｇというコンテンツが取得される。ここで、スケジュール（７０１）に示したアクション引数の記述形式は一例で、基本的には取得するべきコンテンツ対象が明示されている形であればよい。
【００４３】
次のスケジュールは図９（ａ）のスケジュール（７０２）、（７０３）に示すもので、１０時に音声再生手段１０４ｅにアクション引数“ｆｉｌｅ＝ａｌａｒｍ．ｍｐ３／ｒｅｐｅａｔ＝３”が通知され、同時に画面提示手段１０４ｄにアクション引数“ｆｉｌｅ＝ｗｅｌｃｏｍｅ．ｈｔｍ”が通知される。これは、図８の（ステップ６０３）に対応する。
【００４４】
音声再生手段１０４ｅは、この例においてはａｌａｒｍ．ｍｐ３というメディアデータをｒｅｐｅａｔ＝３の指定によって３回再生する。同時に画面提示手段１０４ｄはｗｅｌｃｏｍｅ．ｈｔｍに示された画面を図１０の（ａ）に例示するように画面に提示する。
【００４５】
次のスケジュールは、図９の（ａ）のスケジュール（７０４）、（７０５）に示すもので、１０時１０分に画面提示手段１０４ｄにアクション引数“ｆｉｌｅ＝ｙｏｙａｋｕ．ｈｔｍ”が、１０時２０分にアクション引数“ｆｉｌｅ＝ｑｕｅｓｔｉｏｎ．ｈｔｍ”が通知される。これらは、図８の（ステップ６０３）に対応する。
【００４６】
画面提示手段１０４ｄではスケジュール（７０３）と同様に処理が行われ、この例では、１０時１０分に図１０の（ｂ）に例示する画面が、１０時２０分に図１０の（ｃ）に例示する画面が提示される。
【００４７】
図１０の（ｂ）、図１０の（ｃ）に例示した画面は、端末システム１００を利用するユーザがなんらかの入力をできる画面である。ユーザから入力が行われると、端末システム１００の入力受付手段１０５がユーザ入力データをデータベース１０１に保存する（ステップ６０５）。ここで、保存されたユーザ入力データを図９の（ｃ）に示す。ユーザが入力を行った画面の識別子（この例では画面構成ファイル名）と、入力時刻、入力データが記述されている。
【００４８】
次のスケジュールは図９（ａ）のスケジュール（７０６）に示すもので、１０時２３分にコンテンツ消去手段１０４ｆにアクション引数“ａｌａｒｍ．ｍｐ３／ｙｏｙａｋｕ．ｈｔｍ／ｑｕｅｓｔｉｏｎ．ｈｔｍ／ａｌｂｕｍ．ｊｐｇ”が通知される。これは、図８の（ステップ６０４）に対応する。コンテンツ消去手段１０４ｆは、アクション引数に記述されているコンテンツをデータベース１０１から削除する。
【００４９】
次のスケジュールは、図９の（ａ）のスケジュール（７０７）に示すもので、１１時１５分にユーザ入力データ送信手段１０４ｃに対して実行指示される。これは、図８の（ステップ６０６）に対応する。ユーザ入力データ送信手段１０４ｃは、データベース１０１からユーザ入力データを取得し、サーバシステム２００に送信する。
【００５０】
次のスケジュールは図９の（ａ）のスケジュール（７０８）に示すもので、１１時３０分にスケジュール取得手段１０４ａが実行され、サーバシステム２００からスケジュールをダウンロードする（ステップ６０１）。
【００５１】
以上の一連の動作によって、端末システム１００への情報提示、ユーザ入力データ通知が実行される。
【００５２】
〔サーバの構成〕
サーバシステム２００は、データベース２０１と、コンテンツ配信手段２０２と、スケジュール配信手段２０３と、スケジュール作成手段２０４と、ユーザ入力処理手段２０５と、を含む。
【００５３】
データベース２０１は、ユーザの保持する端末種別やユーザ属性などの「ユーザ情報」と、ユーザごとに異なる配信スケジュールを確定する情報を含む「ルール」と、ユーザに提示する情報を構成する「コンテンツ」と、アクセス負荷分散に利用するために単位時間ごとのアクセス予定数が記録されている「アクセス予定データ」と、ユーザが端末システム１００に対して行ったデータを表す「ユーザ入力データ」と、を保持している。
【００５４】
図１１にルールとユーザ入力データ、アクセス予定データのデータ例を示す。図１１の（ａ）に示すルールの例では、個々のルールは「時刻条件」「対象ユーザ条件」「アクション識別子」「アクション引数」で構成される。
【００５５】
アクション識別子、アクション引数の組み合わせで端末システム１００に実行させたいアクションの内容を示している。これは、端末システム１００におけるスケジュール（図６の（ａ））のアクション識別子、アクション引数に対応する。
【００５６】
対象ユーザ条件には、ユーザ情報に保管されているユーザごと、及びユーザが保持している端末システム１００ごとの属性に対する条件が記述されており、条件に一致するユーザだけにそのルールからスケジュールが選択作成され、配信される。たとえば、図１１の（ａ）ルール（１００１）の例ではユーザの端末システム１００がＰＣであった場合に対応するスケジュールが配信される。また、ルール（１００７）の場合は年齢が４０歳未満の女性であった場合に当該スケジュールが配信される。
【００５７】
時刻条件には、端末システム１００によるアクション実行時刻をいくつかの形式で記述する。
【００５８】
この例では「指定時刻（“年月日時分秒”の形式で指定する場合）」「ある時刻までに（“ｕｎｔｉｌ  年月日時分秒”の形式で指定する場合）」「指定時刻からある時間の間に分散（“ｄｉｓｔｒｉｂｕｔｅ  年月日時分秒＋分”の形式で指定する場合）」の３つの形式で指定できる。
【００５９】
図１１の（ａ）のルール（１００１）の例では、２００３年１月２８日９：５５までに実行することが指示されている。ルール（１００４）は１０：００ちょうどに実行することが指示されている。ルール（１００９）は、１０：３５から３５分後までのいずれかの時点に実行することが指示されている。指定時刻を指定するルール以外のルールでは、スケジュールの実行時刻をスケジュール作成手段２０４が確定する。
【００６０】
図１１（ｂ）に示すユーザ入力データの例では、端末システム１００で保持していたユーザ入力データ（図６の（ｂ））に、端末ＩＤを加えたデータとなっている。
【００６１】
図１１（ｃ）に示すアクセス予定データの例では、単位時間（図では１０秒）毎の最大アクセス数が記述されている。アクセス予定データはスケジュール作成手段２０４が確定したスケジュールの実行時刻をもとに書き込む。
【００６２】
コンテンツには、画面構成ファイルや音声や画像・映像などのメディアデータなどがあてはまる。ユーザからのコンテンツ配信要求を受けた時に対応するコンテンツを一意に決定できるようにデータベース２０１に保管してある。
【００６３】
ユーザ情報には、端末システム１００から通知される端末ＩＤから一意に取得できる形で、端末種別や端末システム１００を利用するユーザの性別や年齢などの属性が保持されている。ユーザ入力データは、図１１の（ｂ）に示した構成で保持されている。
【００６４】
コンテンツ配信手段２０２は、端末システム１００からのコンテンツ配信要求からコンテンツ識別子を取り出し、対応する画面構成ファイルや音声・画像などのファイルを端末システム１００に返す。
【００６５】
スケジュール配信手段２０３は、端末システム１００からのスケジュール配信要求から端末ＩＤを取り出し、スケジュール作成手段２０４に通知する。スケジュール作成手段２０４から配信するスケジュール情報が返ってくるとそれをスケジュール配信要求への返答として端末システム１００に配信する。ここでいうスケジュール情報は、図６（ａ）に示したものと同じものである。
【００６６】
スケジュール作成手段２０４は、スケジュール配信手段２０３から通知された端末ＩＤに対応するユーザ情報を取り出し、ユーザ対象条件のあてはまるルールを選択し、アクセス予定データからスケジュールを確定してスケジュール配信手段２０３に返す。
【００６７】
ユーザ入力処理手段２０５は、端末システム１００からのユーザ入力データ通知を受けて、ユーザＩＤ、ユーザ入力データを取り出し、通知された端末システム１００のユーザ入力データにユーザＩＤを加えてデータベース２０１に格納する。
【００６８】
〔サーバの動作〕
次に、図１２のフローチャートを参照して、本実施の形態におけるサーバシステム２００のスケジュール配信についてその動作を詳細に説明する。
【００６９】
スケジュール配信は、スケジュール配信手段２０３と、スケジュール作成手段２０４と、によって行われる。
【００７０】
スケジュール配信手段２０３は、端末システム１００からのスケジュール配信要求から端末ＩＤを取り出し、スケジュール作成手段２０４に通知する。
【００７１】
図１２は通知された後のスケジュール作成手段２０４の動作の流れである。まず、通知された端末ＩＤから、対応するユーザ情報をデータベース２０１から取得する（ステップ１１０１）。
【００７２】
次に、データベース２０１に格納してあるルールのうち、現時点以降のルールを取得する（ステップ１１０２）。（ステップ１１０２）で取得したルールのユーザ対象条件を参照し、（ステップ１１０１）で取得したユーザ情報に当てはまるルールを選択する（ステップ１１０３）。（ステップ１１０３）で選択されたルールの実行時刻を、例えばアクセス予定データを参照して確定する（ステップ１１０４）。
【００７３】
ここで、サーバシステム２００へのアクセスを伴うルールの場合、時刻の確定は時刻条件に記述された時間範囲で、負荷を分散させるように決定する。たとえば、アクセス予定データを参照して、予定されているアクセス数が少ない時刻を選択する。図１１の（ｃ）においては、実行時刻が２００３／１／２８日の１０：００：２０の時間帯ではアクセス予定数が９７と少ないので、時刻条件で許容できればこの時間帯の時刻がスケジュールに設定される。アクセス予定データのこの時間帯の最大アクセス数が１プラスされ９８とされて更新が行われる。
【００７４】
次に、（ステップ１１０３）で選択されたそれぞれのルールについて、（ステップ１１０４）で確定した実行時刻を加えてスケジュールに変換する（ステップ１１０５）。作成されたスケジュールをスケジュール配信手段２０３に通知する（ステップ１１０６）。その後スケジュール配信手段２０３が、スケジュールを要求した端末システム１００に通知されたスケジュールを配信する。
【００７５】
以上のように、スケジュールに従って端末システム１００が動作し、サーバシステム２００が端末システム１００ごとのスケジュールを作成することによって、本発明の第１の目的である、提示タイミングを詳細に指定する情報提供サービスにおいて、サーバシステム２００の負荷を制御でき、更にリソースの異なる端末システム１００でも同じサービスが受けられるようにできる。
［第２の実施の形態］
次に、本発明の第２の実施の形態について図面を参照して詳細に説明する。
【００７６】
図２を参照すると、本発明の第２の実施の形態は、端末システム１００が、図１で示した第１の実施の形態における構成に加えて、スケジュール再登録手段１０６を有する点で異なる。
【００７７】
また、本実施の形態において端末システム１００が保持するスケジュール情報は、図６の（ａ）で示した第１の実施の形態におけるデータ構成に加えて、図１３に例示するように「タイムリミット」情報が存在する。
【００７８】
「タイムリミット」情報は、サーバシステム２００のスケジュール作成手段２０４が、ルールに記述されている時刻条件を元に算出する。
【００７９】
本実施の形態では、端末システム１００の動作のうち、サーバシステム２００と通信を行うアクション実現手段１０４の動作が異なる。図２ではユーザ入力データ送信手段１０４ｃ、コンテンツ取得手段１０４ｂ、スケジュール取得手段１０４ａなどのアクション実現手段１０４がこれにあたる。
【００８０】
それぞれのアクション実現手段１０４において、サーバシステム２００との通信に失敗した場合、通知されたスケジュール情報をそのままスケジュール再登録手段１０６に通知する。スケジュール再登録手段１０６は、通知されたスケジュールからタイムリミットを取り出し、現在時刻からタイムリミットまでの間の時刻を実行日時に設定した新しいスケジュールをデータベース１０１に登録する。
【００８１】
以上のように、あるスケジュールに対応するアクションの実行が失敗した場合、タイムリミットとして指定された時刻を経過していなければ、実行内容は同じで実行時刻が異なるスケジュールが再登録される。従って、失敗したアクションは再実行されることになり、本発明の第２の目的である、通信状況が悪い場所にいるユーザも可能な限りサービスに参加できるサービスを提供することが可能になる。
［第３の実施の形態］
次に、本発明の第３の実施の形態について図面を参照して詳細に説明する。
【００８２】
図３を参照すると、本発明の第３の実施の形態は、サーバシステム２００が、図１で示した第１の実施の形態における構成に加えて、差分時刻算出手段２０６を有する点で異なる。
【００８３】
本実施の形態では、端末システム１００の動作のうち、サーバシステム２００と通信を行うアクション実現手段１０４の動作が異なる。これらのアクション実現手段１０４は、サーバシステム２００とデータをやりとりする際に必ず、端末システム１００の時計１０７から端末時刻を取得してサーバシステム２００に通知する。
【００８４】
サーバ動作のうち、差分時刻算出手段２０６は、これらのアクション実現手段１０４からの通知を受け、端末時刻を取得して、サーバシステム２００の時計２０９から取得したサーバ時刻との差分を算出する。算出した差分時刻は、データベース２０１に保存する。
【００８５】
このほか、スケジュール配信手段２０３とユーザ入力データ処理手段２０５の処理が第１の実施の形態と異なる。スケジュール配信手段２０３は、実行時刻の確定処理（図１２のステップ１１０４）において、データベース２０１から端末システム１００とサーバシステム２００の差分時刻を取得し、確定した実行時刻に取得した差分時刻を加味する。
【００８６】
ユーザ入力データ取得手段２０５は、端末システム１００からのユーザ入力データ通知をうけて、端末ＩＤ、ユーザ入力データを取り出し、データベース２０１から対応する差分時刻を取得し、通知された端末システム１００のユーザ入力データに端末ＩＤを加え、更にユーザ入力データの入力時刻に差分時刻を加味してデータベース２０１に格納する。
【００８７】
以上のように、端末時刻とサーバ時刻との差分値をスケジュールとユーザ入力データに反映することによって、本発明の第３の目的である、端末時刻の違いに影響されずに、情報提供者の指示した時刻に情報提示が可能となり、さらに、ユーザの操作時刻をサーバシステム２００の時間軸に合わせた時刻として取得することが可能になる。
【００８８】
また、サーバシステム２００と端末システム１００の所在地に時差が存在している場合でも、誤った時刻に端末システム１００が動作することがなくなる。
［第４の実施の形態］
次に、本発明の第４の実施の形態について、図面を参照して詳細に説明する。
【００８９】
図４を参照すると、本発明の第４の実施の形態は、端末システム１００が、図１で示した第１の実施の形態における構成に加えて、アクション実現手段１０４の一つにサーバシステム２００にアクセスして未確定の時刻について確定された時刻を取り出す時刻取得手段１０４ｇが存在する点で異なる。また、サーバシステム２００が、時刻確定手段２０７、時刻配信手段２０８を有し、データベース２０１に「確定時刻」情報が含まれる点で異なる。
【００９０】
本実施の形態では、端末システム１００に配信されるスケジュールの中に、実行日時が未確定のものが含まれる。たとえば、図１４の（ａ）に示すように実行日時が「時刻識別子（ＬＡＢＥＬ）」と「オフセット値」で記述されている。このようなスケジュールは、時刻監視手段１０２における処理対象とならない。
【００９１】
本実施の形態における端末システム１００の動作について説明する。
【００９２】
スケジュールに未確定時刻の確定を行うための時刻取得手段１０４ｇを実行する記述があった場合、アクション実行手段１０３は、時刻取得手段１０４ｇに、スケジュールに記述されたアクション引数を通知する。
【００９３】
アクション実行手段１０３から時刻取得手段１０４ｇに通知されるアクション引数には、取得対象となる時刻の時刻識別子が記述されている。時刻取得手段１０４ｇはサーバシステム２００にこの時刻識別子を通知し、対応する実時刻をサーバシステム２００から取得する。取得後、データベース１０１を検索し、実行時刻およびタイムリミットに今回決定した時刻識別子が記述されているスケジュールを取得する。取得したスケジュールのそれぞれについて、実行時刻にサーバシステム２００から得た実時刻にオフセット値を加えて再設定し、データベース１０１に再登録する。
【００９４】
本実施の形態におけるサーバ動作について説明する。
【００９５】
サーバシステム２００のデータベース２０１には、「確定時刻」情報があり、ここには時刻識別子と対応する実時刻値が記述できるようになっている。時刻確定手段２０７は、情報提供者から確定した時刻を通知され、データベース２０１の「確定時刻」情報に書き込みを行う。時刻配信手段２０８は、端末システム１００からの時刻配信要求を受け、要求されている時刻識別子を取得し、データベース２０１から対応する実時刻値を検索し、端末システム１００に配信する。
【００９６】
以上のように、実行時刻が未確定であるスケジュールをあらかじめ端末システム１００に配信し、後から確定した時刻を端末システム１００に通知することによって、実行時刻が直前に変更する場合にも対応できる。
［第５の実施の形態］
次に、本発明の第５の実施の形態について図面を参照して詳細に説明する。
【００９７】
図５を参照すると、本発明の第５の実施の形態は、サーバシステム２００が、図１で示した第１の実施の形態における構成に加えて、ユーザ情報取得手段２０９を有する点で異なる。
【００９８】
本実施の形態では、端末システム１００の動作のうち、サーバシステム２００と通信を行うアクション実現手段１０４の動作が異なる。これらのアクション実現手段１０４は、サーバシステム２００とデータをやりとりする際に必ず、端末システム１００の状態を示す情報（たとえば、メモリ残量など）を取得してサーバシステム２００に通知する。
【００９９】
サーバシステム２００のユーザ情報取得手段２１０は、これらのアクション実現手段１０４からの通知を受け、ユーザ情報を取得して、データベース２０１に保存する。ここで保存されたユーザ情報は、ルールの対象ユーザ条件に記述することで、スケジュール作成手段２０４においてルールからスケジュールを作成する際に利用する。これによって、動的に変化するユーザの状態に応じて端末システム１００の動作を制御することができる。
【０１００】
以上のように、端末システム１００から通知されるユーザ情報をスケジュール作成に反映することができる。この仕組みに則り、端末システム１００やユーザの状態変化に対応して適切なアクション実行制御を行うスケジュールを用意することによって、本発明の第１の目的である、リソースや状態の異なる端末システム１００でも同じサービスを受けることが可能になる。
【０１０１】
【発明の効果】
第１の効果は、サーバシステム２００の処理負荷をサーバシステム２００が制御できることである。その理由は、端末システム１００がサーバ接続などの処理の実行をスケジュールに従って行い、サーバシステム２００が個々の端末システム１００ごとにスケジュールを作成するためである。
【０１０２】
第２の効果は、リソースや状態の異なる端末システム１００でも同じサービスが受けられることである。その理由は、サーバシステム２００が端末システム１００ごとのリソースの違いを保持し、リソースの違いに応じたスケジュールを作成するためである。また、端末システム１００から通知されるユーザ情報をサーバシステム２００が保持し、通知されたユーザ情報に応じたスケジュールをサーバシステム２００が作成することができるためである。
【０１０３】
第３の効果は、通信状況が悪い場所にいるユーザも可能な限りサービスに参加できることである。その理由は、端末システム１００は、サーバシステム２００との通信失敗時に失敗した動作を再実施するスケジュールを登録するためである。
【０１０４】
第４の効果は、端末システム１００の設定時刻に関係なく、情報提供者が指定した時刻に情報を提示できることである。その理由は、サーバがスケジュールを作成する際に、端末の設定時刻を加味して実行時刻を決定するためである。
【０１０５】
第５の効果は、一連の端末動作の開始時刻が直前に決まる場合に対応できることである。その理由は、端末に、確定した時刻をサーバから取得し、先送りしてある時刻未定のスケジュールの実行時刻部分を置き換える機能が備わっているためである。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態の構成を示すブロック図である。
【図２】本発明の第２の実施の形態の構成を示すブロック図である。
【図３】本発明の第３の実施の形態の構成を示すブロック図である。
【図４】本発明の第４の実施の形態の構成を示すブロック図である。
【図５】本発明の第５の実施の形態の構成を示すブロック図である。
【図６】本発明の端末で扱うスケジュールデータ構成例の説明図である。
【図７】本発明の端末のスケジュール実行動作を説明するフローチャートである。
【図８】本発明の端末のサービス参加動作を説明するフローチャートである。
【図９】本発明の第１の実施の形態における端末で扱うスケジュールデータ等の構成例の説明図である。
【図１０】第１の実施の形態における端末に提示される画面例の説明図である。
【図１１】第１の実施の形態におけるサーバで扱うルールデータの構成例の説明図である。
【図１２】第１の実施の形態におけるサーバのスケジュール作成動作を説明するフローチャートである。
【図１３】第２の実施の形態におけるスケジュールデータの構成例の説明図である。
【図１４】第４の実施の形態におけるスケジュールデータの構成例の説明図である。
【符号の説明】
１００    端末システム
１０１    データベース
１０２    時刻監視手段
１０３    アクション実行手段
１０４    アクション実現手段
１０４ａ    スケジュール取得手段
１０４ｂ    コンテンツ取得手段
１０４ｃ    ユーザ入力データ送信手段
１０４ｄ    画面提示手段
１０４ｅ    音声再生手段
１０４ｆ    コンテンツ消去手段
１０４ｇ    時刻取得手段
１０５    入力受付手段
１０６    スケジュール再登録手段
１０７    時計
２００    サーバシステム
２０１    データベース
２０２    コンテンツ配信手段
２０３    スケジュール配信手段
２０４    スケジュール作成手段
２０５    ユーザ入力データ処理手段
２０６    差分時刻算出手段
２０７    時刻確定手段
２０８    時刻配信手段
２０９    時計
２１０    ユーザ情報取得手段
３００    ネットワーク
【図１】
2004280670.tif 000003
【図２】
2004280670.tif 000004
【図３】
2004280670.tif 000005
【図４】
2004280670.tif 000006
【図５】
2004280670.tif 000007
【図６】
2004280670.tif 000008
【図７】
2004280670.tif 000009
【図８】
2004280670.tif 000010
【図９】
2004280670.tif 000011
【図１０】
2004280670.tif 000012
【図１１】
2004280670.tif 000013
【図１２】
2004280670.tif 000014
【図１３】
2004280670.tif 000015
【図１４】
2004280670.tif 000016