(57)【要約】【課題】装置内に記憶された実行コード及び画面構成情報を効果的に管理しながら、サービスを提供することができるサービス提供装置を提供する。【解決手段】サービス提供装置１００は、表示装置１０８と、通信部１０１と、通信部１０１を介してサービス提供のための実行コードを取得する取得部１５１と、入手した実行コードを記憶する実行コード記憶部１０２と、実行コードの実行時に表示される画面の構成を定める画面構成情報を記憶する画面構成情報記憶部１０３と、サービスの提供時までに、サービスの提供に必要な実行コード及び画面構成情報が実行コード記憶部１０２及び画面構成情報記憶部１０３に記憶されているよう、各部を管理し、サービスの提供の指示を受けたことに応答して、実行コード記憶部１０２に記憶された実行コードを、画面構成情報記憶部１０３に記憶された画面構成情報を用いて実行する管理部１０４とを含む。【選択図】      図１
2007310596.tif 000002
【特許請求の範囲】
【請求項１】
実行時に画面遷移を伴う実行コードを外部より入手し実行することで、複数の画面を用いたサービスを提供するサービス提供装置であって、
表示装置と、
サービス提供のための実行コードの提供元である他の装置と通信を行なうための通信手段と、
前記通信手段を介して、所定の実行コードを他の装置から取得するための第１の取得手段と、
前記第１の取得手段の入手した実行コードを記憶するための実行コード記憶手段と、
前記実行コードの実行時に前記表示装置により表示される画面の構成を定めるための画面構成情報を記憶するための画面構成情報記憶手段と、
任意のサービスの提供の開始時までに、当該サービスの提供に必要な実行コード及び画面構成情報が前記実行コード記憶手段及び前記画面構成情報記憶手段に記憶されるよう、前記第１の取得手段、前記実行コード記憶手段、及び前記画面構成情報記憶手段を管理し、任意のサービスを指定してサービスの提供の指示を受けたことに応答して、前記実行コード記憶手段に記憶された、指定されたサービスに対応する実行コードを、前記画面構成情報記憶手段により記憶された画面構成情報を用いて実行するための管理手段とを含む、サービス提供装置。
【請求項２】
前記管理手段は、
前記実行コード記憶手段に記憶された所定の実行コードの実行に必要となる画面構成情報のうち、前記画面構成情報記憶手段に記憶されていない画面構成情報を前記通信手段により取得するための手段と、
任意のサービスを指定してサービスの提供の指示を受けたことに応答して、前記実行コード記憶手段に記憶された、指定されたサービスに対応する実行コードを、前記画面構成情報記憶手段により記憶された画面構成情報を用いて実行するための手段とを含む、請求項１に記載のサービス提供装置。
【請求項３】
前記管理手段はさらに、前記実行コード記憶手段に記憶された所定の実行コードの実行に必要となる実行コードのうち、前記実行コード記憶手段に記憶されていない実行コードを前記通信手段により取得するための手段を含む、請求項２に記載のサービス提供装置。
【請求項４】
前記実行コードはサービススクリプトである、請求項１〜請求項３のいずれかに記載のサービス提供装置。
【請求項５】
前記実行コードはバイナリコードである、請求項１〜請求項３のいずれかに記載のサービス提供装置。
【請求項６】
前記実行コード及び前記画面構成情報の各々にはそれぞれ識別可能な識別子が付与され、
前記サービス提供のための実行コードには、当該実行コードの実行時に使用される実行コードの識別子、又は当該実行コードの実行時に使用される画面構成情報の識別子が関連付けられており、
前記管理手段は、前記実行コードの各々に関連付けられた識別子、及び前記画面構成情報の各々に付与された識別子に基づいて、前記第１の取得手段、前記実行コード記憶手段、及び前記画面構成情報記憶手段の管理を行なう、請求項１〜請求項５のいずれかに記載のサービス提供装置。
【請求項７】
前記画面構成情報は、画面の構成要素となる画面構成部品と、画面構成部品の画面上のレイアウトを規定するレイアウト情報とを含む、請求項１〜請求項６のいずれかに記載のサービス提供装置。
【請求項８】
前記レイアウト情報には、当該レイアウトにしたがって表示される画面構成部品の識別子が対応付けられており、
前記管理手段は、サービス提供のための実行コードに含まれるレイアウト情報が使用する画面構成部品の識別子に基づき、前記第１の取得手段、前記実行コード記憶手段、及び前記画面構成情報記憶手段の管理を行なう、請求項７に記載のサービス提供装置。
【請求項９】
前記実行コードは、他の実行コードを呼出すコードを含むことがあり、
前記管理手段は、任意のサービスの提供の開始時までに、当該サービスの提供に必要な実行コード、当該実行コードによって呼出される実行コード、及び画面構成情報が前記実行コード記憶手段及び前記画面構成情報記憶手段に記憶されるよう、前記第１の取得手段、前記実行コード記憶手段、及び前記画面構成情報記憶手段を管理し、任意のサービスを指定してサービスの提供の指示を受けたことに応答して、前記実行コード記憶手段に記憶された、指定されたサービスに対応する実行コードを、前記画面構成情報記憶手段により記憶された画面構成情報を用いて実行するための手段を含む、請求項１〜請求項８のいずれかに記載のサービス提供装置。
【請求項１０】
前記管理手段は、所定の条件に応じて前記画面構成情報記憶手段に記憶された画面構成情報の内容を変更する、請求項１〜請求項９のいずれかに記載のサービス提供装置。
【請求項１１】
前記実行コードは、所定の条件に応じてサービス実行時に使用する実行コード又は画面構成情報を変更する記述を含むことがあり、
前記管理手段は、
任意のサービスの提供の開始時までに、当該サービスの提供に必要な実行コード及び画面構成情報が前記実行コード記憶手段及び前記画面構成情報記憶手段に記憶されるよう、前記第１の取得手段、前記実行コード記憶手段、及び前記画面構成情報記憶手段を管理するための手段と、
任意のサービスを指定してサービスの提供の指示を受けたことに応答して、前記実行コード記憶手段に記憶された、指定されたサービスに対応する実行コードを、前記画面構成情報記憶手段により記憶された画面構成情報を用いて実行するための実行手段とを含み、
当該実行手段は、実行対象となる実行コードの記述にしたがって、前記サービス実行時に使用する実行コード又は画面構成情報を変更する、請求項１に記載のサービス提供装置。
【請求項１２】
前記実行コードは、所定の条件に応じてサービス実行時に使用する実行コードの実行経路を変更する記述を含むことがあり、
前記管理手段は、
任意のサービスの提供の開始時までに、当該サービスの提供に必要な実行コード及び画面構成情報が前記実行コード記憶手段及び前記画面構成情報記憶手段に記憶されるよう、前記第１の取得手段、前記実行コード記憶手段、及び前記画面構成情報記憶手段を管理するための手段と、
任意のサービスを指定してサービスの提供の指示を受けたことに応答して、前記実行コード記憶手段に記憶された、指定されたサービスに対応する実行コードを、前記画面構成情報記憶手段により記憶された画面構成情報を用いて実行するための実行手段とを含み、
当該実行手段は、実行対象となる実行コードの記述にしたがって、前記サービス実行時の実行コードの実行経路を変更する、請求項１に記載のサービス提供装置。
【請求項１３】
前記通信手段を介して、所定のサービス提供元の装置にアクセスし、当該サービス提供元の装置において新たなサービスの提供が開始されたことを検知すると、前記第１の取得手段に、当該新たなサービスを提供するための実行コードの取得を行なわせるためのサービス開始情報取得手段をさらに含む、請求項１〜請求項１２のいずれかに記載のサービス提供装置。
【請求項１４】
前記サービス開始情報取得手段は、定期的に前記所定のサービス提供元の装置にアクセスし、当該サービス提供元の装置において新たなサービスの提供が開始されたことを検知すると、前記第１の取得手段に、前記所定のサービス提供元から当該新たなサービスを提供するための実行コードを取得させるための手段を含む、請求項１３に記載のサービス提供装置。
【請求項１５】
前記サービス開始情報取得手段は、
ユーザによる、サービスの取得の指示を受けるための手段と、
当該ユーザの指示に応答して、指定されたサービスの提供元の装置にアクセスし、当該サービス提供元の装置から前記指定されたサービスを提供するための実行コードを、前記第１の取得手段に取得させるための手段を含む、請求項１３に記載のサービス提供装置。
【請求項１６】
前記第１の取得手段が実行コードを他の装置から取得するに先立ち、前記第１の取得手段により取得される実行コードに付随する実行コード及び画面構成情報を記憶するために必要な容量以上の容量を前記実行コード記憶手段又は画面構成情報記憶手段内に確保する処理を行なうための容量確保手段をさらに含む、請求項１〜請求項１５のいずれかに記載のサービス提供装置。
【請求項１７】
前記容量確保手段は、
前記第１の取得手段が実行コードを他の装置から取得するに先立ち、前記実行コード記憶手段に記憶された実行コードのうち、所定の条件を充足するものに付随する実行コード及び画面構成情報を、それぞれ前記実行コード記憶手段及び画面構成情報記憶手段から削除するための手段と、
前記実行コード記憶手段及び前記画面構成情報記憶手段に、前記第１の取得手段により取得される実行コードに付随する実行コード及び画面構成情報を記憶するために必要な容量以上の容量が得られるまで、前記削除手段を繰返し動作させるための手段とを含む、請求項１６に記載のサービス提供装置。
【請求項１８】
前記所定の条件は、最後に実行されてからの期間が最も長い実行コードであるという条件である、請求項１７に記載のサービス提供装置。
【請求項１９】
前記所定の条件は、利用回数が最も少ない実行コードであるという条件である、請求項１７に記載のサービス提供装置。
【請求項２０】
前記所定の条件は、前記実行コード記憶手段に記憶されてからの期間が最も長い実行コードであるという条件である、請求項１７に記載のサービス提供装置。
【請求項２１】
前記所定の条件は、使用頻度が所定の値以下である実行コードであるという条件である、請求項１７に記載のサービス提供装置。
【請求項２２】
前記容量確保手段は、最後に使用してから所定期間以上経過したサービスについて、当該サービスを提供するための実行コード又は画面構成情報の少なくとも一部を削除するための手段を含む、請求項１６に記載のサービス提供装置。
【請求項２３】
サービスには、サービスの提供可能期間を示す情報が付与されていることがあり、
前記提供可能期間が過ぎたサービスに関連する実行コード又は画面構成情報の少なくとも一部を前記実行コード記憶手段又は前記画面構成情報記憶手段から削除するための手段をさらに含む、請求項１〜請求項２２のいずれかに記載のサービス提供装置。
【請求項２４】
サービスには、サービスの提供可能回数を示す情報が付与されていることがあり、
前記サービス提供装置において、少なくとも前記サービスの提供可能回数を示す情報が付加されているサービスについての提供回数を計数するための計数手段と、
前記計数手段による計数によって、提供可能回数だけ提供されたサービスに関連する実行コード又は画面構成情報の少なくとも一部を削除するための手段をさらに含む、請求項１〜請求項２３のいずれかに記載のサービス提供装置。
【請求項２５】
サービス提供のための実行コードには、当該実行コードの実行に必要な他の実行コード又は画面構成情報を取得すべきときを示す取得時期情報が付されていることがあり、
前記管理手段は、
前記第１の取得手段により取得された実行コードに記述されている他の実行コード又は画面構成情報であって、前記取得時期情報が付されたものを検出するための取得時期情報検出手段と、
前記第１の取得手段により取得された実行コードに記述されている他の実行コード又は画面構成情報であって、前記取得時期情報が付されていないものについては、任意のタイミングで取得するための第２の取得手段と、
前記取得時期情報検出手段により前記取得時期情報が付されているとして検出された他の実行コード又は画面構成情報を、当該取得時期情報にしたがった時期に取得して前記実行コード記憶手段又は前記画面構成情報記憶手段にそれぞれ記憶させるための第３の取得手段と、
任意のサービスを指定してサービスの提供の指示を受けたことに応答して、前記実行コード記憶手段に記憶された、指定されたサービスに対応する実行コードを、前記画面構成情報記憶手段により記憶された画面構成情報を用いて実行するための実行手段とを含む、請求項１に記載のサービス提供装置。
【請求項２６】
前記第２の取得手段は、前記第１の取得手段により取得された実行コードに記述されている他の実行コード又は画面構成情報であって、前記取得時期情報が付されていないものを、前記第１の取得手段による前記実行コードの取得の後、順次連続して取得するための手段を含む、請求項２５に記載のサービス提供装置。
【請求項２７】
前記取得時期情報は、前記サービス提供のための実行コードの実行時に、前記他の実行コード及び前記画面構成情報を取得すべきことを示し、
前記第３の取得手段は、前記実行手段が前記指示を受けたことに応答して、当該指示により指定されたサービスの提供のための実行コードの実行に必要な他の実行コード及び画面構成情報を、前記通信手段を介して他の装置から取得し、前記実行コード記憶手段及び前記画面構成情報記憶手段にそれぞれ記憶させるための手段を含む、請求項２５に記載のサービス提供装置。
【請求項２８】
前記取得時期情報は、前記サービス提供のための実行コードの提供元から所定の通知を受けたことに応答して、前記他の実行コード及び前記画面構成情報を当該提供元から取得すべきことを示し、
前記第３の取得手段は、前記通信手段によって、前記提供元から前記所定の通知を受けたことに応答して、当該通知により指定されたサービスの提供のための実行コードの実行に必要な他の実行コード及び画面構成情報を、前記通信手段を介して前記提供元から取得し、前記実行コード記憶手段及び前記画面構成情報記憶手段にそれぞれ記憶させるための手段を含む、請求項２５に記載のサービス提供装置。
【請求項２９】
表示装置及び通信装置が接続されるコンピュータにより実行されると、前記コンピュータを、
前記通信装置を介して、所定のサービス提供のための実行コードを他の装置から取得するための第１の取得手段と、
前記第１の取得手段の入手した実行コードを記憶するための実行コード記憶手段と、
前記実行コードの実行時に前記表示装置により表示される画面の構成を定めるための画面構成情報を記憶するための画面構成情報記憶手段と、
任意のサービスの提供の開始時までに、当該サービスの提供に必要な実行コード及び画面構成情報が前記実行コード記憶手段及び前記画面構成情報記憶手段に記憶されるよう、前記第１の取得手段、前記実行コード記憶手段、及び前記画面構成情報記憶手段を管理し、任意のサービスを指定してサービスの提供の指示を受けたことに応答して、前記実行コード記憶手段に記憶された、指定されたサービスに対応する実行コードを、前記画面構成情報記憶手段により記憶された画面構成情報を用いて実行するための管理手段とを含む、サービス提供装置として機能させる、コンピュータプログラム。
【請求項３０】
請求項２９に記載のコンピュータプログラムを記録した、コンピュータ読取可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、サーバ側で準備された実行コードを用いて利用者にサービスを提供するサービス提供装置に関し、特に、サーバ側で準備された複数種類の画面構成情報及び実行コードと、サービス提供装置の持つ資源とを用い、画面遷移を伴うサービス利用環境を、利用者の求める環境で提供するための、サービス提供装置に関する。
【背景技術】
【０００２】
ネットワーク技術を用いることにより、ネットワークに接続された装置の利用者に様々なサービスを提供する手法が提案され、実現されている。典型的な手法は、Ｗｅｂサーバと、サーバからアクセス可能なデータベースとをサーバ側で動作するプログラムで関連付け、利用者から入力された情報を用いてデータベースにアクセスし、利用者に提示すべき情報をＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）又はＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式で利用者端末に出力する、というものである。
【０００３】
このようにサーバサイドで動作するプログラムを利用するサービス提供システムを、本願ではＷｅｂサービスと呼ぶ。
【０００４】
Ｗｅｂサービスでは、入力に応じ、またデータベースのアクセス結果に応じ、多様なＨＴＭＬ又はＸＭＬ文書を作成する必要がある。さらに、提供するサービスによって、処理がほとんど同じでも画面を全く異なる形式のものに変えたり、サービスが異なっていても画面の印象を統一させたりする必要が生じることが通常である。そうした場合に問題となるのは、従来のＷｅｂサービスシステムでは、画面を記述する部分が、サービスを提供するロジック（プログラム）部分に埋め込まれているため、例えば画面だけを変更したり、画面をそのままにしてロジックのみを変更したり、というような修正が極めて困難であるということである。また、いわゆるマルチプラットフォームにおけるプログラム開発も困難であるという問題もある。
【０００５】
従来からこのような問題を解決するための、種々の手法が提案されている。
【０００６】
特許文献１は、Ｗｅｂサービスを作成するのに、画面上の表示項目属性を記述する独自フォーマットのＸＭＬプログラムと、画面のデザインを司るＨＴＭＬプログラムとを別個のものとして作成し、これらＸＭＬプログラムとＨＴＭＬプログラムとを元に、画面の遷移先及びログ出力機能等の汎用機能を付与してＷｅｂで利用できるソースプログラムに変換するためのソースプログラムジェネレータを有するＷｅｂ開発支援装置を提案している。特許文献１に記載の技術によれば、画面デザインのみを変えたい場合にはＨＴＭＬプログラムだけを変更し、表示項目のみを変更したい場合にはＸＭＬプログラムだけを変更し、再度ソースプログラムジェネレータを起動すれば、画面デザインのみ、又は表示項目のみが変更されたソースプログラムを得ることができる。
【０００７】
また、特許文献２は、表示対象となるページテンプレートに複数のコンテンツ特定情報を関連付けておき、各々のコンテンツ特定情報に関連付けられた表示条件が確定すると、その条件に応じてページテンプレートに埋め込むコンテンツを差し替える表示情報確定装置を開示している。この装置によれば、サーバプログラムの修正をすることなく、同じページテンプレートに対し条件により種々のコンテンツを埋め込んでクライアントに送信することによって、クライアントの装置における表示内容をダイナミックに変更できる。
【特許文献１】特開２００２−３６６３５２
【特許文献２】特開２００１−５１８２１
【発明の開示】
【発明が解決しようとする課題】
【０００８】
特許文献１に記載の技術の場合、画面又はロジックを修正したりする作業は容易になると思われる。しかし、ＸＭＬプログラム又はＨＴＭＬファイルを変更した後、サーバサイドでソースプログラムジェネレータを動作させなければならない。したがって、動作時にダイナミックに表示を変更したりする用途には基本的に向いていない。またそれらプログラムはすべてサーバサイドで管理されており、クライアントの端末の状況について十分考慮して実行するようなプログラムを作成することは難しい。
【０００９】
特許文献２に開示の技術の場合には、同一のページテンプレートを用い、埋め込むコンテンツを条件によって変化させる。したがって、ダイナミックに表示を変更させることができる。しかし、この場合にもページテンプレート等はサーバ側で管理されており、クライアントの端末の状況について十分考慮して実行するようなプログラムを作成することは難しい。
【００１０】
一方、上記したようにサーバサイドのＷｅｂサービスを提供する場合には、クライアントを区別するためには、クライアントを識別するための情報、又はクライアントにとって保護されるべき情報をＷｅｂサービスに提供する必要が生じる。場合によっては、そうした情報の送信には問題が生じる可能性がある。また、サーバが異なると、同じ情報を何度も入力しなければならないという問題も生じる。
【００１１】
したがって、サーバにより提供されるサービスを利用することが可能でありながら、サーバには最低限の情報しか渡さずに、しかもクライアントでは多彩なサービスをクライアントの環境にあわせて享受できるようなシステムが求められている。
【００１２】
そうしたサービスを提供するための一つの手法として、サービスを提供するために必要な画面構成情報、及びそれらを用いた画面遷移を行ないながらサービス提供のための処理を実行するプログラムの実行コードを、クライアント装置に与えて記憶させておき、クライアント装置の環境にあわせて実行するような手法が考えられる。従来は、そのような仕組みは考えられておらず、そのために、クライアント装置でそうした画面構成情報又は実行コードを効果的に管理する仕組みは存在していない。
【００１３】
本発明はこうした問題に鑑みてなされてものであって、サービス提供のための情報を外部から受信して記憶し、実行する機能を有するサービス提供装置において、装置内に記憶された実行コード及び画面構成情報を効果的に管理することができるサービス提供装置を提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明の第１の局面に係るサービス提供装置は、実行時に画面遷移を伴う実行コードを外部より入手し実行することで、複数の画面を用いたサービスを提供するサービス提供装置であって、表示装置と、サービス提供のための実行コードの提供元である他の装置と通信を行なうための通信手段と、通信手段を介して、所定の実行コードを他の装置から取得するための第１の取得手段と、第１の取得手段の入手した実行コードを記憶するための実行コード記憶手段と、実行コードの実行時に表示装置により表示される画面の構成を定めるための画面構成情報を記憶するための画面構成情報記憶手段と、任意のサービスの提供の開始時までに、当該サービスの提供に必要な実行コード及び画面構成情報が実行コード記憶手段及び画面構成情報記憶手段に記憶されるよう、第１の取得手段、実行コード記憶手段、及び画面構成情報記憶手段を管理し、任意のサービスを指定してサービスの提供の指示を受けたことに応答して、実行コード記憶手段に記憶された、指定されたサービスに対応する実行コードを、画面構成情報記憶手段により記憶された画面構成情報を用いて実行するための管理手段とを含む。
【００１５】
好ましくは、管理手段は、実行コード記憶手段に記憶された所定の実行コードの実行に必要となる画面構成情報のうち、画面構成情報記憶手段に記憶されていない画面構成情報を通信手段により取得するための手段と、任意のサービスを指定してサービスの提供の指示を受けたことに応答して、実行コード記憶手段に記憶された、指定されたサービスに対応する実行コードを、画面構成情報記憶手段により記憶された画面構成情報を用いて実行するための手段とを含む。
【００１６】
より好ましくは、管理手段はさらに、実行コード記憶手段に記憶された所定の実行コードの実行に必要となる実行コードのうち、実行コード記憶手段に記憶されていない実行コードを通信手段により取得するための手段を含む。
【００１７】
実行コードはサービススクリプト及びバイナリコードのいずれでもよい。
【００１８】
好ましくは、実行コード及び画面構成情報の各々にはそれぞれ識別可能な識別子が付与され、サービス提供のための実行コードには、当該実行コードの実行時に使用される実行コードの識別子、又は当該実行コードの実行時に使用される画面構成情報の識別子が関連付けられており、管理手段は、実行コードの各々に関連付けられた識別子、及び画面構成情報の各々に付与された識別子に基づいて、第１の取得手段、実行コード記憶手段、及び画面構成情報記憶手段の管理を行なう。
【００１９】
より好ましくは、画面構成情報は、画面の構成要素となる画面構成部品と、画面構成部品の画面上のレイアウトを規定するレイアウト情報とを含む。
【００２０】
さらに好ましくは、レイアウト情報には、当該レイアウトにしたがって表示される画面構成部品の識別子が対応付けられており、管理手段は、サービス提供のための実行コードに含まれるレイアウト情報が使用する画面構成部品の識別子に基づき、第１の取得手段、実行コード記憶手段、及び画面構成情報記憶手段の管理を行なう。
【００２１】
好ましくは、実行コードは、他の実行コードを呼出すコードを含むことがあり、管理手段は、任意のサービスの提供の開始時までに、当該サービスの提供に必要な実行コード、当該実行コードによって呼出される実行コード、及び画面構成情報が実行コード記憶手段及び画面構成情報記憶手段に記憶されるよう、第１の取得手段、実行コード記憶手段、及び画面構成情報記憶手段を管理し、任意のサービスを指定してサービスの提供の指示を受けたことに応答して、実行コード記憶手段に記憶された、指定されたサービスに対応する実行コードを、画面構成情報記憶手段により記憶された画面構成情報を用いて実行するための手段を含む。
【００２２】
より好ましくは、管理手段は、所定の条件に応じて画面構成情報記憶手段に記憶された画面構成情報の内容を変更する。
【００２３】
実行コードは、所定の条件に応じてサービス実行時に使用する実行コード又は画面構成情報を変更する記述を含むことがあってもよく、管理手段は、任意のサービスの提供の開始時までに、当該サービスの提供に必要な実行コード及び画面構成情報が実行コード記憶手段及び画面構成情報記憶手段に記憶されるよう、第１の取得手段、実行コード記憶手段、及び画面構成情報記憶手段を管理するための手段と、任意のサービスを指定してサービスの提供の指示を受けたことに応答して、実行コード記憶手段に記憶された、指定されたサービスに対応する実行コードを、画面構成情報記憶手段により記憶された画面構成情報を用いて実行するための実行手段とを含む。当該実行手段は、実行対象となる実行コードの記述にしたがって、サービス実行時に使用する実行コード又は画面構成情報を変更する。
【００２４】
好ましくは、実行コードは、所定の条件に応じてサービス実行時に使用する実行コードの実行経路を変更する記述を含むことがある。管理手段は、任意のサービスの提供の開始時までに、当該サービスの提供に必要な実行コード及び画面構成情報が実行コード記憶手段及び画面構成情報記憶手段に記憶されるよう、第１の取得手段、実行コード記憶手段、及び画面構成情報記憶手段を管理するための手段と、任意のサービスを指定してサービスの提供の指示を受けたことに応答して、実行コード記憶手段に記憶された、指定されたサービスに対応する実行コードを、画面構成情報記憶手段により記憶された画面構成情報を用いて実行するための実行手段とを含む。当該実行手段は、実行対象となる実行コードの記述にしたがって、サービス実行時の実行コードの実行経路を変更する。
【００２５】
より好ましくは、サービス提供装置は、通信手段を介して、所定のサービス提供元の装置にアクセスし、当該サービス提供元の装置において新たなサービスの提供が開始されたことを検知すると、第１の取得手段に、当該新たなサービスを提供するための実行コードの取得を行なわせるためのサービス開始情報取得手段をさらに含む。
【００２６】
さらに好ましくは、サービス開始情報取得手段は、定期的に所定のサービス提供元の装置にアクセスし、当該サービス提供元の装置において新たなサービスの提供が開始されたことを検知すると、第１の取得手段に、所定のサービス提供元から当該新たなサービスを提供するための実行コードを取得させるための手段を含む。
【００２７】
サービス開始情報取得手段は、ユーザによる、サービスの取得の指示を受けるための手段と、当該ユーザの指示に応答して、指定されたサービスの提供元の装置にアクセスし、当該サービス提供元の装置から指定されたサービスを提供するための実行コードを第１の取得手段に取得させるための手段を含んでもよい。
【００２８】
好ましくは、サービス提供装置は、第１の取得手段が実行コードを他の装置から取得するに先立ち、第１の取得手段により取得される実行コードに付随する実行コード及び画面構成情報を記憶するために必要な容量以上の容量を実行コード記憶手段又は画面構成情報記憶手段内に確保する処理を行なうための容量確保手段をさらに含む。
【００２９】
容量確保手段は、第１の取得手段が実行コードを他の装置から取得するに先立ち、実行コード記憶手段に記憶された実行コードのうち、所定の条件を充足するものに付随する実行コード及び画面構成情報を、それぞれ実行コード記憶手段及び画面構成情報記憶手段から削除するための手段と、実行コード記憶手段及び画面構成情報記憶手段に、第１の取得手段により取得される実行コードに付随する実行コード及び画面構成情報を記憶するために必要な容量以上の容量が得られるまで、削除手段を繰返し動作させるための手段とを含んでもよい。
【００３０】
好ましくは、所定の条件は、最後に実行されてからの期間が最も長い実行コードであるという条件でもよいし、利用回数が最も少ない実行コードであるという条件でもよいし、実行コード記憶手段に記憶されてからの期間が最も長い実行コードであるという条件でもよいし、使用頻度が所定の値以下である実行コードであるという条件でもよい。
【００３１】
容量確保手段は、最後に使用してから所定期間以上経過したサービスについて、当該サービスを提供するための実行コード又は画面構成情報の少なくとも一部を削除するための手段を含んでもよい。
【００３２】
好ましくは、サービスには、サービスの提供可能期間を示す情報が付与されていることがあり、サービス提供装置は、提供可能期間が過ぎたサービスに関連する実行コード又は画面構成情報の少なくとも一部を実行コード記憶手段又は画面構成情報記憶手段から削除するための手段をさらに含む。
【００３３】
より好ましくは、サービスには、サービスの提供可能回数を示す情報が付与されていることがあり、サービス提供装置は、少なくともサービスの提供可能回数を示す情報が付加されているサービスについての提供回数を計数するための計数手段と、計数手段による計数によって、提供可能回数だけ提供されたサービスに関連する実行コード又は画面構成情報の少なくとも一部を削除するための手段をさらに含む。
【００３４】
サービス提供のための実行コードには、当該実行コードの実行に必要な他の実行コード又は画面構成情報を取得すべきときを示す取得時期情報が付されていることがあってもよい。管理手段は、第１の取得手段により取得された実行コードに記述されている他の実行コード又は画面構成情報であって、取得時期情報が付されたものを検出するための取得時期情報検出手段と、第１の取得手段により取得された実行コードに記述されている他の実行コード又は画面構成情報であって、取得時期情報が付されていないものについては、任意のタイミングで取得するための第２の取得手段と、取得時期情報検出手段により取得時期情報が付されているとして検出された他の実行コード又は画面構成情報を、当該取得時期情報にしたがった時期に取得して実行コード記憶手段又は画面構成情報記憶手段にそれぞれ記憶させるための第３の取得手段と、任意のサービスを指定してサービスの提供の指示を受けたことに応答して、実行コード記憶手段に記憶された、指定されたサービスに対応する実行コードを、画面構成情報記憶手段により記憶された画面構成情報を用いて実行するための実行手段とを含む。
【００３５】
より好ましくは、第２の取得手段は、第１の取得手段により取得された実行コードに記述されている他の実行コード又は画面構成情報であって、取得時期情報が付されていないものを、第１の取得手段による実行コードの取得の後、順次連続して取得するための手段を含む。
【００３６】
さらに好ましくは、取得時期情報は、サービス提供のための実行コードの実行時に、他の実行コード及び画面構成情報を取得すべきことを示し、第３の取得手段は、実行手段が指示を受けたことに応答して、当該指示により指定されたサービスの提供のための実行コードの実行に必要な他の実行コード及び画面構成情報を通信手段を介して他の装置から取得し実行コード記憶手段及び画面構成情報記憶手段にそれぞれ記憶させるための手段を含む。
【００３７】
取得時期情報は、サービス提供のための実行コードの提供元から所定の通知を受けたことに応答して、他の実行コード及び画面構成情報を当該提供元から取得すべきことを示してもよい。この場合、第３の取得手段は、通信手段によって、提供元から所定の通知を受けたことに応答して、当該通知により指定されたサービスの提供のための実行コードの実行に必要な他の実行コード及び画面構成情報を通信手段を介して提供元から取得し実行コード記憶手段及び画面構成情報記憶手段にそれぞれ記憶させるための手段を含む。
【００３８】
本発明の第２の局面に係るコンピュータプログラムは、表示装置及び通信装置が接続されるコンピュータにより実行されると、コンピュータを、通信装置を介して、所定のサービス提供のための実行コードを他の装置から取得するための第１の取得手段と、第１の取得手段の入手した実行コードを記憶するための実行コード記憶手段と、実行コードの実行時に表示装置により表示される画面の構成を定めるための画面構成情報を記憶するための画面構成情報記憶手段と、任意のサービスの提供の開始時までに、当該サービスの提供に必要な実行コード及び画面構成情報が実行コード記憶手段及び画面構成情報記憶手段に記憶されるよう、第１の取得手段、実行コード記憶手段、及び画面構成情報記憶手段を管理し、任意のサービスを指定してサービスの提供の指示を受けたことに応答して、実行コード記憶手段に記憶された、指定されたサービスに対応する実行コードを、画面構成情報記憶手段により記憶された画面構成情報を用いて実行するための管理手段とを含む、サービス提供装置として機能させる、コンピュータプログラムである。
【００３９】
本発明の第３の局面に係る記録媒体は、上記したコンピュータプログラムを記録した、コンピュータ読取可能な記録媒体である。
【発明の効果】
【００４０】
本発明によれば、任意のサービスの提供の開始時までに、サービスの提供に必要な実行コード及び画面構成情報が実行コード記憶手段及び画面構成情報記憶手段に記憶されるよう、管理手段が、第１の取得手段、実行コード記憶手段、及び画面構成情報記憶手段を管理する。サービス提供の開始時にはこれらが全て準備されている。したがって、装置内に記憶された実行コード及び画面構成情報を効果的に管理しながら、サービスを提供することができる。
【００４１】
新たなサービスのための実行コードを記憶する際には、記憶手段内の記憶容量を確保する。そのために、所定の基準にしたがって、記憶手段から消去してもよいと思われる実行コード及び画面構成情報を、所定の記憶容量が確保できるまで消去する。記憶手段の記憶容量を効率的に使用しながら、効果的にサービスを提供することができる。
【００４２】
実行コード内に、所定の条件に応じて実行コードの実行経路を変更させる記述を含ませたり、実行コード又は画面構成情報の内容を変更させる記述を含ませたりすることにより、限られた実行コードを用いて多彩なサービスを実現することができる。
【００４３】
また、実行コード内に記述される他の実行コード又は画面構成情報を、実行時に取得する制御を行なうこともできる。このサービス提供装置によれば、サービス提供のために必要なときに、最新の実行コード又は画面構成情報を入手し利用できる。その結果、装置内に記憶された実行コード及び画面構成情報を効果的に管理しながら、最新のサービスを提供することができる。
【発明を実施するための最良の形態】
【００４４】
以下、本発明の実施の形態を図面を参照しながら説明する。添付の図面では、同じ部品には同じ参照番号を付してある。それらの名称及び機能も同一である。したがって、それらについての詳細な説明は繰返さない。
【００４５】
［第１の実施の形態］
＜構成＞
図１に、本発明の第１の実施の形態に係るサービス提供装置１００の構成をブロック図形式で示す。図１を参照して、サービス提供装置１００は、いわゆるインターネット等のネットワークを介して外部の装置からサービスに必要な情報の取得を行なう通信部１０１と、外部から取得したサービスを実行するときの画面の遷移情報を含む実行コードを記憶する実行コード記憶部１０２と、サービスを実行する際（実行コードを実行する際）の画面の構成を定めるための情報である画面構成情報を記憶する画面構成情報記憶部１０３と、通信部１０１を介して外部から、あるサービスのために実行コード及び画面構成情報を取得して、それぞれ実行コード記憶部１０２及び画面構成情報記憶部１０３に記憶させて管理し、さらに、操作卓１０７を用いたユーザの指示に応答して、指定されたサービスを実行するための管理部１０４と、管理部１０４に接続され、実行コード記憶部１０２に記憶された実行コード及び画面構成情報記憶部１０３に記憶された画面構成情報を管理するために管理部１０４が維持する管理テーブルを記憶するための管理情報記憶部１１１とを含む。
【００４６】
管理部１０４は、通信部１０１を介して、あるサービスのための実行コードを外部のサーバから取得して実行コード記憶部１０２に記憶するとともに、その実行コードを解析し、そのサービスの実行に必要となる実行コードが全て実行コード記憶部１０２に記憶され、画面構成情報が全て画面構成情報記憶部１０３に記憶されるように実行コード及び画面構成情報を通信部１０１を介して取得するための取得部１５１と、操作卓１０７を介してユーザから与えられるサービス実行の指示に応答し、管理情報記憶部１１１を参照して、当該サービスの実行に必要な実行コード及び画面構成情報をそれぞれ実行コード記憶部１０２及び画面構成情報記憶部１０３から読出し実行するための実行部１５２とを含む。
【００４７】
画面構成情報記憶部１０３は、サービスを実行したときに表示される画面のレイアウト情報を記憶するためのレイアウト情報記憶部１０５と、レイアウト情報に埋込まれる画像及び遷移の分岐情報等、サービス提供画面の構成に必要な画面構成部品を記憶するための画面構成部品記憶部１０６とを含む。
【００４８】
実行コード、レイアウト情報及び画面構成部品には、それぞれ、識別可能な識別子が付与されている。さらに各実行コードには、その内部で使用する別の実行コード又は画面構成情報の識別子が関連付けられている。管理部１０４は、識別子情報に基づいて実行コード及び画面構成情報を管理する。実行コードの実行時には、入力されたデータ等を保持しておく必要が生じる場合がある。本実施の形態では、それらはいずれも関連する画面構成部品に保持されるものとする。
【００４９】
サービス提供装置１００はさらに、複数のキーを持ち、所定のキーが操作されると対応のキーコードを発生し管理部１０４に与えるための操作卓１０７と、所定のタイミングで通信部１０１を介して外部サーバにアクセスし、新しいサービスが提供されていれば、管理部１０４の取得部１５１に対し、当該サービスの実行に必要な実行コードを外部装置から受信させるための指示を与えるサービス開始情報取得部１０９と、サービス開始情報取得部１０９が参照する時刻管理部（タイマ）１１０と、実行部１５２がサービスを実行した結果生成される画面を表示するための表示装置１０８とを含む。
【００５０】
実行コード記憶部１０２に記憶される実行コードは、サービススクリプト又はバイナリの、いずれの形式でもよい。本実施の形態ではサービススクリプト形式であるものとする。また、後述するように、メモリを有効に利用するために、本実施の形態では、取得部１５１は、新たな画面構成情報を画面構成情報記憶部１０３に記憶する際に、記憶領域が不足すると、所定のアルゴリズムで選択した画面構成情報を削除する。そのために、管理部１０４は、図４に示すように、既に記憶済みのサービスについて、それぞれ最後に利用した日時を管理しており、この情報を管理情報記憶部１１１に記憶している。
【００５１】
図４を参照して、管理情報記憶部１１１は、サービスごとに、そのサービスを提供するために必要な実行コードの識別子、その実行コードの実行時に使用されるレイアウト情報の識別子及び画面構成部品の識別子からなる画面構成情報、並びに当該サービスが最後に実行された日からの経過日を記憶する。図４に示す例では、ある第１のサービスの実行コードは実行コードＡ１であり、この実行コードＡ１の実行時には、レイアウト情報Ｂ１〜Ｂ３、及び画面構成部品が画面構成部品Ｃ１〜Ｃ３が利用される。第２、第３のサービスについても同様である。
【００５２】
図２に、サービス提供装置１００が新たなサービスを取得する際に行なわれる処理のフローチャートを示す。
【００５３】
図２を参照して、ステップ（以下単に「Ｓ」と呼ぶ。）２００において、新しいサービスを取得するかどうかを判定する。サービスを取得するか否かは、本実施の形態では図１に示すサービス開始情報取得部１０９からの指示、又は操作卓１０７を用いた利用者の指示により決まる。Ｓ２００の判定の結果、新しいサービスを取得しないのであればＳ２００に戻る。取得するならばＳ２０１に進む。
【００５４】
Ｓ２０１では、サービス提供装置１００に新しいサービスを取得するための十分なメモリが残っているかどうかを判定する。すなわち、このステップでは、最初にサーバに対して取得すべきサービスを特定する情報を送信し、サーバからそのサービスに必要な実行コード及び画面構成情報を記憶するために必要な記憶容量を受信する。そして受信した記憶容量と、サービス提供装置１００で利用可能な、残っている記憶容量とを比較する。メモリの記憶容量が残っていればＳ２０９に進む。メモリが十分でない場合は、Ｓ２０２に進む。Ｓ２０９では新しいサービスの取得処理を行なう。この処理については図３を参照して後述する。
【００５５】
Ｓ２０２では、各サービスの最終実行日時情報から、最終利用日がもっとも古いサービスを検索する。Ｓ２０３では、このサービスの実行コードの１行目を解析して他の実行コード若しくは画面構成情報、又はそれらを示す識別子を探す。Ｓ２０４では、実行コードのうち、直前のステップで解析された行に、他の実行コード若しくは画面構成情報、又はそれらを示す識別子が含まれるかどうかを判定する。処理対象の行がそのいずれも含まなければＳ２０７に進み、いずれかを含む場合にはＳ２０５に進む。
【００５６】
Ｓ２０５では、Ｓ２０４で見出された実行コード若しくは画面構成情報が他のサービスにも利用されているかどうかを判定する。他のサービスにも利用されている場合はＳ２０７へ進み、他のサービスに利用されていない場合は一旦Ｓ２０６に進んだ後、Ｓ２０７に進む。
【００５７】
Ｓ２０６では、Ｓ２０５で他のサービスのいずれとも共有していないと判定された実行コード又は画面構成情報を実行コード記憶部１０２又は画面構成情報記憶部１０３から削除する。
【００５８】
Ｓ２０７では、処理中の実行コードに未解析の行が残っているか否かを判定する。全ての行を解析済みであればＳ２０１に戻る。未解析の行が残っていればＳ２０８に進む。Ｓ２０８では、実行コードの次の行を解析して、他の実行コード若しくは画面構成情報、又はそれらを示す識別子を探し、Ｓ２０４に進む。そして、Ｓ２０４〜Ｓ２０７及びＳ２０８の処理を、Ｓ２０７において全ての行について処理が終わったと判定されるまで繰返す。
【００５９】
Ｓ２０１に戻った場合、メモリが十分残っているか否かが再度判定される。まだ不十分であれば、未確認のサービスのうち、最終実行からの経過日が最も大きなサービスを検索する。以下、Ｓ２０１で十分なメモリが残っていると判定されるまで、Ｓ２０１〜Ｓ２０８の処理を繰返す。
【００６０】
図２のＳ２０９で実行される新しいサービスの取得処理を実現するための処理を実現するプログラム部分のフローチャートについて、図３を参照して説明する。図３を参照して、Ｓ３０１では、管理部１０４は通信部１０１を介してサーバから実行コードを全て取得して実行コード記憶部１０２に記憶する。
【００６１】
Ｓ３０２では、取得した実行コードの１行目を解析して画面構成情報又はそれを示す識別子を探す。
【００６２】
Ｓ３０３では、直前のステップで解析した行に画面構成情報又はそれを示す識別子が含まれているか否かを判定する。含まない場合はＳ３０６に進み、含む場合はＳ３０４に進む。
【００６３】
Ｓ３０４及びＳ３０５の処理は、Ｓ３０３で見出された画面構成情報又は識別子の各々について行なう処理である。図を簡単にするため、図３では一つの画面構成情報又は識別子についてこの処理を行なうように示してある。Ｓ３０４では、実行コードに含まれる画面構成情報が既に画面構成情報記憶部１０３に記憶されているかどうかを判定する。記憶されていればＳ３０６に、記憶されていなければＳ３０５に、それぞれ進む。
【００６４】
Ｓ３０５では、通信部１０１を通してサーバからこの画面構成情報を取得し画面構成情報記憶部１０３に記憶する。この後、Ｓ３０６に進む。
【００６５】
Ｓ３０６では、実行コードに未解析の行が残っているか判定する。最後まで解析していればこの処理を終わり、図２のＳ２００に戻る。残っていればＳ３０７に進む。Ｓ３０７では、実行コードの次の行を解析して画面構成情報又はそれを示す識別子を探す。そして、Ｓ３０３に戻る。
【００６６】
＜動作＞
サービス提供装置１００は以下のように動作する。
【００６７】
図１を参照して、利用者が操作卓１０７を操作して管理部１０４の取得部１５１に対して新しいサービスの取得することを指示した場合、管理部１０４はサービス取得処理を開始する。また、サービス開始情報取得部１０９が時刻管理部１１０を参照することにより、定期的に外部のサーバにアクセスして新たなサービスを発見した場合、サービス開始情報取得部１０９はそのサービスを取得すべき指示を取得部１５１に与える。この場合にも取得部１５１は指定されたサービスの取得処理を開始する。
【００６８】
具体的には、図２のＳ２００での判定結果がＹＥＳとなり、Ｓ２０１に進む。Ｓ２０１で、最初に、新しいサービスを取得するために必要な記憶容量をサーバから取得する。そして、その容量をサービス提供装置１００で利用可能なメモリの空き容量と比較する。もしもメモリが不十分であればＳ２０２〜Ｓ２０８の処理を繰返し実行することにより、必要なメモリを確保して、Ｓ２０９に進む。
【００６９】
Ｓ２０２〜Ｓ２０８の処理については、図２及び前述の構成の説明を参照すれば当業者であればその動作は容易に理解できると思われる。したがってここではその詳細については繰返さない。
【００７０】
Ｓ２０９での処理については、図３を参照して説明する。図３を参照して、Ｓ３０１でサーバから実行コードを取得する。Ｓ３０２で実行コードの１行目を解析し、画面構成情報又はその識別子の記述を探す。Ｓ３０３では、画面構成情報の記述があるか否かを判定し、一つでもあればＳ３０４に進み、全くなければＳ３０６に進む。
【００７１】
Ｓ３０４では、Ｓ３０３で見つけられた画面構成情報又はその識別子が画面構成情報記憶部１０３に記憶されているか否かを判定する。もし記憶されていなければＳ３０５に進み、記憶されていればＳ３０６に進む。
【００７２】
Ｓ３０５では、Ｓ３０３で見つけられた画面構成情報又はその識別子の記述に基づき、対応の画面構成情報をサーバから受信し、画面構成情報記憶部１０３内のレイアウト情報記憶部１０５又は画面構成部品記憶部１０６に記憶する。その後、Ｓ３０６に進む。
【００７３】
Ｓ３０６で、取得した実行コードに次の行があるか否かを判定する。なければ処理を終わる。あれば、Ｓ３０７に進んで次の行を解析し、画面構成情報又はその識別子の記述を探す。そして、Ｓ３０３に戻る。
【００７４】
以下、Ｓ３０６での判定結果が「ＮＯ」となるまで、すなわち、Ｓ３０１で取得した実行コードの全ての行について、画面構成情報の記述の探索と、記述があった場合のその画面構成情報の取得の有無の判定と、取得が必要と判定されたときのその取得の処理とが繰返し実行される。
【００７５】
Ｓ３０６での判定結果が「ＮＯ」となれば、新しいサービスの取得処理を終了する。
【００７６】
サービスの実行時には、図１に示す操作卓１０７を用い、ユーザが所望のサービスを指定し、管理部１０４にその情報を与える。管理部１０４は、管理情報記憶部１１１を参照し、実行コード記憶部１０２から必要な実行コードを読出し、レイアウト情報記憶部１０５及び画面構成部品記憶部１０６から読出した必要なレイアウト情報及び画面構成部品を用いて実行する。この実行により、指定されたサービスが、レイアウト情報記憶部１０５及び画面構成部品記憶部１０６に記憶されたレイアウト情報及び画面構成部品を用いて実行される。
【００７７】
＜具体的動作＞
具体的な例で説明する。今サービス提供装置１００には、管理情報記憶部１１１の記憶内容（図４）により示すように、３つのサービスが記憶されているものとする。それぞれのサービスの実行に必要な実行コード及び画面構成情報は表のとおりである。また、最終実行からの経過日は、第１のサービスが１０日、第２のサービスが２日、第３のサービスが３７日であるものとする。
【００７８】
このとき、レイアウト情報記憶部１０５及び画面構成部品記憶部１０６に記憶されているレイアウト情報及び画面構成部品は、図５（Ａ）に示すとおりである。すなわち、レイアウト情報記憶部１０５にはＢ１〜Ｂ６の６個のレイアウト情報が、画面構成部品記憶部１０６にはＣ１〜Ｃ５の５個の画面構成部品が、それぞれ記憶されている。
【００７９】
今、新たに図６に示すような構成のサービス４を取得するときの処理を考える。第４のサービスは、実行コードＡ４と、レイアウト情報Ｂ１、Ｂ２、Ｂ７及びＢ８と、画面構成部品Ｃ３、Ｃ５及びＣ６とを含む。図４及び図５（Ａ）の表を見ると、第４のサービスを実行するために必要な情報のうち、サービス提供装置１００にはすでにレイアウト情報Ｂ１及びＢ２、並びに画面構成部品Ｃ３及びＣ５が記憶されていることが分かる。したがって、ユーザが第４のサービスを取得する場合には、まだサービス提供装置１００に含まれていない実行コードＡ４、レイアウト情報Ｂ７及びＢ８、並びに画面構成部品Ｃ６のみを取得すればよい。第４のサービスを取得した結果のサービス提供装置１００の管理情報記憶部１１１の記憶内容を図７に、レイアウト情報記憶部１０５及び画面構成部品記憶部１０６の記憶内容を図５（Ｂ）に、それぞれ示す。図７において、第４のサービスの構成情報のうち斜体文字になっている構成情報は、第４のサービスを取得する前に、サービス提供装置１００に記憶されていたため、取得する必要がなかった情報を示す。
【００８０】
このように、本実施の形態によれば、新たなサービスを取得する場合、そのサービスの構成情報の一部だけを取得すればよい。したがって無駄な通信量が発生しない。また、各サービスの構成情報の一部を他のサービスと共有できるためユーザの端末側のメモリを有効に使うことができる。
【００８１】
さらに本実施の形態では、構成情報が互いに独立しているため、サービス取得中に通信環境の劣化等により取得が中断した場合でも、取得が中断した構成情報から再度取得開始すればよい。したがって通信の効率がよい。
【００８２】
さらに、ユーザがサービスを実行するときに登録する個人情報等を保存した画面構成部品を共有で利用すれば、新しいサービス実行時でも再度個人情報を登録する必要がないので、手間を省くことができる。一部の情報を変更したい場合も、一度の変更だけで済み、サービスごとに変更を行なう必要がない。
【００８３】
＜変形例＞
本実施の形態では、メモリ確保のための処理を実行した後、新たに取得するサービスの実行コードの解析を開始する。しかし本発明はそのような実施の形態には限定されない。例えば、先に実行コードだけ取得し解析してサービスの実行に必要な情報を把握しておいて、削除の対象となるサービスを特定し、削除の対象となったサービスを構成する情報の一部が新たに取得するサービスに必要な情報であった場合、削除せずにそのまま記憶しておくようにしてもよい。また、予め実行コードを解析しておけば、取得に必要な最小限のメモリ量が分かるので、必要以上にサービスを削除することを避けることができる。
【００８４】
この実施の形態では、削除する対象となったサービスが複数の実行コードからなる場合、解析の対象となる実行コードにサービスに必要な情報がすべて記述されていることを前提としている。しかし、本発明はそのような実施の形態には限定されない。解析の対象となる実行コード以外の実行コードにも新たな情報が含まれているような実施の形態もあり得る。その場合は、その実行コードの解析も行ない、該実行コードに含まれる情報について、Ｓ２０３からＳ２０８への処理を行なう必要がある。
【００８５】
図２の処理、特にＳ２０４の処理から分かるように、削除の対象となったサービスにおいて、少なくとも解析の対象となった実行コードは削除せずに実行コード記憶部１０２に残す。これにより、もしユーザが再度そのサービスを利用したいと思ったときには、残っている実行コードを解析してそのサービスに必要な情報を新たに取得することによって簡単に再利用することができる。ただし、サービスによっては、実行コードも含めすべての情報を削除するようにしてもよい場合もあり得る。
【００８６】
本実施の形態では、サービスの取得のタイミングはユーザの選択か、サービス開始情報取得部１０９による定期的なチェックの結果によるものである。しかし本発明はそのような実施の形態には限定されない。例えば、サービスを配信するサーバから新しいサービスの配信が始まったことを示すメッセージを受信すると自動的にそのサービスに必要な情報を取得したりしてもよい。また、本実施の形態では、サービス開始情報取得部１０９が定期的にサーバの状態をチェックし、新しいサービスが配信されていれば管理部１０４に指示して自動で取得するようにしている。しかし、自動的に取得するのに代えて、ユーザに通知して取得を促すようにしてもよい。また、これらの組合せでもよい。
【００８７】
本実施の形態では、実行コードを１行ずつ解析し、サービス提供装置１００に足りない情報があれば随時情報を取得している。しかし本発明はそのような実施の形態には限定されない。足りない情報を途中で取得するのではなく、実行コードの解析を最後までした後、まとめて取得するようにしてもよい。
【００８８】
本実施の形態では、取得するサービスが一つの実行コードからなる場合について述べていることを前提としている。しかし、本発明はそのような実施の形態には限定されない。一つのサービスが複数の実行コードを含む場合を許容する実施の形態も考えられる。この場合には次のようにする。すなわち、サービス取得時には、図３のＳ３０１ではまず一つ目の実行コードを取得し、Ｓ３０２及びＳ３０７において実行コードに関する記述があった場合、画面構成情報と同様に、該実行コードが手元にあるかどうか判定し、なければサーバから取得する。
【００８９】
最初の実行コードの解析が最後まで終了した後、２番目の実行コードの解析を開始し、最初の実行コードと同様に、手元にない情報を取得していく。すべての実行コードを解析したところで、サービスの取得を終了する。
【００９０】
この場合には、最初に解析される実行コードにサービスに必要な情報を全て記述しておき、該実行コードを解析すれば、他の実行コードを解析しなくても必要な情報の取得が終了できるようにしてもよい。
【００９１】
本実施の形態では、実行コードにサービスに必要な情報がすべて記述されていることを前提としている。しかし、本発明はそのような実施の形態には限定されない。レイアウト情報に、実行コードに記述されていない画面構成情報が含まれるような記述形式を許してもよい。この場合は、図３のＳ３０６において実行コードの解析が終了した後、Ｓ３００へ遷移せずに、それまでに受信したレイアウト情報の解析を開始し、Ｓ３０３、Ｓ３０４、Ｓ３０５のように処理を行なうようにすればよい。
【００９２】
また、この実施の形態では、ユーザの手元にあるサービス提供装置１００内の管理部１０４が、実行コード記憶部１０２及び画面構成情報記憶部１０３に記憶されている情報を管理し、新しいサービスに足りない情報を抽出してサーバより情報を取得している。しかし本発明はそのような実施の形態には限定されない。サーバ側で、サービス提供装置に記憶されているサービスを管理しておき、予め必要な情報だけ抽出して提供するようにしてもよい。又は、サービス提供装置が、その記憶しているサービスのリストをサーバに渡すようにしてもよい。この場合には、そのリストに基づき、必要な情報をサーバが抽出してサービス提供装置に提供するようにすればよい。
【００９３】
この実施の形態では、簡単のため、実行コードに画面構成情報に関する記述があった場合はすべて図３のＳ３０４に進むものとしている。しかし本発明はそのような実施の形態に限定されるわけではない。実行コードに記述されている画面構成情報の中に、サービス実行時にユーザの選択情報を記憶するとき等に新たに生成される画面構成情報も含まれるような実施の形態も考えられる。そのような情報が含まれるサービスの場合は、Ｓ３０４に進む前に、実行コードをさらに解析し、記述されている画面構成情報がサービス実行時に生成されるものなのかどうか判断する必要がある。
【００９４】
本実施の形態では、各々のサービスの情報に最終実行日時を付加情報として記憶させている。しかし、本発明はそのような実施の形態に限定されるわけではない。各々のサービスの最終実行日時情報を一つの情報にまとめて管理しておいてもよい。また、利用するごとに、実行日時の順番に基づいてサービスをソートするように管理してもよい。
【００９５】
なお、本実施の形態のように、サービスの取得時に、予めメモリの空き容量を確保する処理を省略してもよい。この場合、取得途中でメモリが不足し処理が終了してしまうが、手動で一部要素を削除して再度取得を試みるようにすればよい。
【００９６】
本実施の形態では、削除するサービスの抽出方法として最終利用日時を基準にしている。しかし、削除対象を定めるための基準となる情報はそれだけに限らない。サービスの利用頻度、取得日時等を基準にし、利用頻度が所定の値以下であるもの、利用回数が最も少ないもの、取得日時が最も古いものなどを選択して削除してもよい。また、最後に使用してから所定期間以上経過したサービスについて、そのサービスを提供するための実行コード又は画面構成情報を削除するようにしてもよい。削除するサービスをユーザが明示的に選択してもよい。ユーザ又はサーバが、自動削除してもよいかどうかを判定する付加情報を各サービスに付けられるようにしてもよい。削除する場合、サービス提供のための実行コード及び画面構成情報の全体を削除してもよいし、一部のみを削除するようにしてもよい。
【００９７】
この実施の形態では、サービスを削除するタイミングはメモリが不足したときである。しかし本発明はそのような実施の形態には限定されない。メモリが不足した状態ではなく、最終実行日時から所定の日数又は時間が経過したとき、又はユーザの利用頻度が所定の値以下になったとき等、何らかの条件によってサービスを自動削除するようにしてもよい。また、期間限定のサービスのように、利用できるサービスの期間が決まっている場合に、所定の日時が過ぎると自動的に削除できるようにしてもよい。試供用サービス等の場合には、取得してからある一定の日数が過ぎたり、所定の回数サービスを利用したりした場合に、自動的に削除するようにしてもよい。期間限定サービスのように、所定の日時が経過した後は利用できないようなサービスの場合は、実行コードも含めて完全に削除するようにしてもよい。こうした場合には、画面構成情報又は実行コード内にそうした条件を記載しておき、実行コードの実行時の最初に条件を調べ、削除条件が充足されていたら関連の実行コード及び画面構成情報の少なくとも一部、又は全部を削除するようにすればよい。又は定期的にそうした条件を充足するサービスを探索するプログラムを起動し、見つかったサービスに関連する実行コード及び画面構成情報の少なくとも一部、又は全部を削除するようにしてもよい。
【００９８】
なお、このように所定の日時や期間がすぎてサービスを削除する場合でも、一部の情報は今後も利用したい場合がある。例えば複数の商品が載った「ちらし」から欲しい商品を選択し、購入処理を行なうようなサービスを考える。この場合、ちらしに載っている商品には利用期限があるかもしれないが、取り扱う商品が変わっても、支払い方法の選択等、購入の手続きに必要となる情報は変化しないことが多い。このような場合には、所定の日時になったら商品に関する情報のように一部の所望の情報のみ自動で削除できるようにしておけばよい。このとき、実行コードについても商品選択部分と購入処理部分とを分けておけば、情報の管理が容易である。情報の一部を削除すると同時に、新たな商品情報を取得するようにしてもよい。取得時は削除のタイミングを指定せずに、サーバ側が新しい商品の提供を始めたとき、又はユーザが新しい情報に更新する手続きを行なったときに、情報の一部又はすべてを書き換えられるようにしてもよい。
【００９９】
一部の情報のみ自動で削除する他の例として次のような例が考えられる。サービス開始時に文字の大きさ又は背景画像等のレイアウト情報をユーザの好みに合わせて選択できるようなサービスがあり得る。この場合に、選択されなかったレイアウト情報を自動で削除することが考えられる。このとき、他のレイアウト情報に対するポインターだけ残しておけば、ユーザがレイアウト情報を変更したい場合でも柔軟に対応でき、かつメモリを有効に活用することが出来る。
【０１００】
実行コード記憶部１０２が記憶する実行コードは、サービススクリプト又はバイナリの、いずれの形式でもよい。本実施の形態では、サービススクリプトを用いている。
【０１０１】
このように、本実施の形態の考え方によれば、様々な条件の下で、不必要な情報を適切に削除することができる。したがって、サービス提供装置内のメモリを有効に利用することができる。
【０１０２】
自動でサービスを削除する等によって、保存するサービスの数が所定の数以下になった場合、利用頻度の高いサービスに関連したサービス、又はその実行コードのみを自動で取得するようにしてもよい。実行コードのみを取得するのであれば、それほどメモリを圧迫することはなく、ユーザに新たなサービスを知らせることが容易にできる。
【０１０３】
［第２の実施の形態］
図８に、本発明の第２の実施の形態に係るサービス提供装置８００の構成をブロック図形式で示す。サービス提供装置８００は、第１の実施の形態に係るサービス提供装置１００の機能に加え、さらに、ユーザの使用状況や機器の環境等によって、使用するレイアウト情報、画面構成部品又は実行コードを選択する機能を有する。そのために、実行コード記憶部１０２に記憶されている実行コードには、画面構成部品に保持された内容に基づいて、サービスの実行に利用するレイアウト情報、画面構成部品、又は実行コードを選択するための記述が可能である。以下、これらの記述を「サービス変更記述」と呼ぶ。サービス変更記述は、典型的には実行コードの実行経路を実行時の条件により制御するための記述により実現される。こうした記述により、実行コードの実行時に動的にサービス内容を変えることができる。
【０１０４】
図８を参照して、本サービス提供装置８００は、図１のサービス提供装置１００の管理部１０４に代えて、実行コードの実行時にサービス変更記述に応じてサービス内容を変更する機能を持つ管理部８０１を含む。
【０１０５】
管理部８０１は、第１の実施の形態に係る管理部１０４の取得部１５１と同じ取得部１５１と、第１の実施の形態の実行部１５２の機能に加え、さらに、実行中の実行コードにおいてサービス変更記述に遭遇すると、そのサービス変更記述における条件の判定を依頼する依頼信号を外部に出力し、その依頼信号に応答して外部から与えられる判定結果にしたがって実行コード又は画面構成情報を選択し、さらに実行コードの実行及び解析を続行する機能を持つ実行部８０４と、実行部８０４から依頼信号を受取り、当該依頼信号に対応する画面構成部品に格納された情報にしたがって、実行部８０４が実行中の実行コードのサービス変更記述の条件が成立するか否かを判定し、判定結果を実行部８０４に与えるための判定部８０２とを含む。
【０１０６】
判定部８０２は、実行コードの実行時に、実行部８０４から与えられた依頼信号に応答し、画面構成部品記憶部１０６内の指定された画面構成部品を参照して、その画面構成部品に保持されている情報と、依頼信号により指定される条件とにしたがって、サービス変更記述に記載された条件が成立するか否かを判定し、判定結果を実行部８０４に与える。実行部８０４は、この判定結果にしたがって実行コードの実行経路を選択し、それぞれの実行経路で指定されたレイアウト情報、画面構成部品、及び実行コードを選択して実行コードを実行する。その結果、このサービス提供装置８００によれば、簡単に動的にサービスの内容の一部を変更することが可能である。
【０１０７】
図９に実行部８０４及び判定部８０２での、実行コード・画面構成情報選択処理のフローチャートを示す。この処理は、実行部８０４によるサービス実行時に行なわれる。図９を参照して、Ｓ９００では、実行対象の実行コード内にサービス変更記述があるか否かを判定する。あればＳ９０１に進み、なければＳ９０３に進む。判定結果が「ＹＥＳ」であることが、上記した依頼信号の発生に対応する。
【０１０８】
Ｓ９０１では、サービス変更記述に記載された条件にしたがい、サービス変更記述により指定された画面構成部品の状態がサービス変更記述により指定された所定の状態であるかどうか判定する。所定の状態であればＳ９０２に進み、所定の状態以外であればＳ９０３に進む。ここでの処理が判定部８０２による処理に相当する。
【０１０９】
Ｓ９０２では、サービス変更記述の内容と画面構成部品の状態とに基づいて、利用する実行コード、レイアウト情報又は画面構成部品を本来の実行経路で指定されていたものから変更し、変更後の実行コード、レイアウト情報及び画面構成部品をそれぞれ使用して処理を続行する。
【０１１０】
一方、Ｓ９０３では、実行コードの本来の実行経路で指定されていたものから変更することなく、それらを使用して処理を続行する。
【０１１１】
Ｓ９０１において参照される画面構成部品の内容は、ユーザのサービス利用状況、提供装置の状況、サーバ側の指示、又はサービスの実行日時等、様々な条件によって、管理部８０１により動的に変更され得る。したがって、サービスを実行する毎に上記の判定を行なう。
【０１１２】
管理部８０１によるサービスの実行は、サービス変更記述に遭遇したとき以外は、第１の実施の形態におけるものと同様である。
【０１１３】
図１０と図１１とを用い、図９に示したような処理による、実行コードの実行時の処理の流れの具体定な一例を示す。サービス提供装置８００には商品購入サービスが記憶されているものとする。このサービスを実行するための実行コードの簡略化した例を図１０に示す。この実行コードは、図８の実行コード記憶部１０２に記憶されている。
【０１１４】
ユーザが該サービスを選択して実行を命ずると、管理部８０１の実行部８０４は、実行コード記憶部１０２に記憶されている対応の実行コード１０００を取得し、解析を始める。解析により、実行コード、レイアウト情報、又は画面構成部品に変更が必要となる可能性があるサービス変更記述がある場合、実行部８０４は、サービス変更記述に対応する条件判定を判定部８０２に対し依頼する。判定部８０２は、サービス変更記述で指定された条件を、画面構成部品記憶部１０６内の画面構成部品に保持された情報にしたがって判定し、その結果を実行部８０４に与える。実行部８０４は、この結果にしたがい、本来の実行経路により指定される実行コード、レイアウト情報、又は画面構成部品を用いて処理を続行するか、又はサービス変更の条件が成立したときの実行経路により指定される実行コード、レイアウト情報、又は画面構成部品を用いて処理を続行する。この処理により、実行コードにサービス変更記述が存在する場合、画面構成部品に保持された情報にしたがって適切な実行コード、レイアウト情報、及び画面構成部品が選択され、実行コードの実行に用いられる。実行部８０４は、このようにして実行コードを実行し、実行コードの最後に到達すると処理を終了する。
【０１１５】
図１０を参照して、この実行コードはコード部分１００１〜１００８を含むものとする。管理部８０１の実行部８０４は、コード部分１００１に示されている最初の提示対象となる画面の画面構成情報を画面構成情報記憶部１０３から取得し、表示部１０８にこの画面構成情報にしたがい、例えば図１１に示す商品情報画面１１００を提示させる。
【０１１６】
ユーザが商品情報画面１１００で商品の購入を選択すると、実行部８０４は実行コードのコード部分１００２を解析する。コード部分１００２が図１１の画面１１０１に示すようなメッセージ画面を表示することを示す場合、実行部８０４は画面構成情報記憶部１０３から画面１１０１の表示に必要な画面構成情報を読出し、表示部１０８の表示を画面１１０１に遷移させる。
【０１１７】
ユーザの選択に伴い、実行コードの解析はコード部分１００３、１００４と進み、解析の進みとあわせて表示画面も図１１に示す画面１１０２、１１０３と遷移する。表示画面１１０３において、ユーザが支払い方法を選択すると、実行コードの解析はコード部分１００５に進む。
【０１１８】
コード部分１００５は、現在の時刻がサービス期間中か否かによって、コードの実行経路を変化させるコードを含む。プログラム部分１００５を解析した実行部８０４は、コード部分１００５における条件判定を行なうことを判定部８０２に依頼する。判定部８０２は、この判定に用いるために、画面構成部品記憶部１０６からサービス期間情報を取得する。そして、現在の月日がサービス期間情報で指定された期日内か否かを判定する。
【０１１９】
サービスを利用した日がサービス期間情報で指定された期日内であれば、判定部８０２は、コード部分１００６に進むように実行部８０４に指示し、実行部８０４による実行コードの解析はコード部分１００６に進む。それ以外の場合、解析はコード部分１００７に進む。
【０１２０】
サービス期間情報で指定された期間内の場合、コード部分１００６では、表示装置１０８による表示が画面１１０４に遷移する。この後、コード部分１００７が解析される。したがって、コード部分１００６、１００７及び１００８の解析の結果、表示画面は画面１１０４、１１０５及び１１０６と遷移する。
【０１２１】
サービス期間外であれば、コード部分１００６は解析せずにコード部分１００７及び１００８の解析が行なわれる。その結果、表示画面は画面１１０５、１１０６と遷移する。
【０１２２】
このように、本実施の形態に係るサービス提供装置８００によれば、条件に応じて簡単にサービス内容を変更することが可能である。上記した商品購入サービスで登録された情報は画面構成部品に登録されるが、第１の実施の形態で述べたようにこの画面構成部品の一部を他のサービスと共用する場合、そのサービスでもこの情報を利用することができる。例えば、最初のサービス実行時にある情報を登録したものとする。この情報は、画面構成情報として画面構成情報記憶部１０３に記憶される。他のサービスがこの画面構成情報を共有する場合には、同じ画面構成情報を利用することにより、予め入力済みの情報を利用でき、したがってその入力は行なわなくてもよい。
【０１２３】
すなわち、複数のサービスにおいて共有の画面構成部品を使うことによって、その画面構成部品に保持される情報をそれらサービスにおいて共有できる。この構成により、商品購入時の送り先の住所、及び代金の支払方法のような個人情報を、利用するサービスが変わるたびに何度も入力する手間を省くことができる。また、情報の変更があった場合に、どのサービスでは変更済みで、どのサービスではさらに変更が必要なのか、等を考える手間を省くことが出来る。入力済みの情報に関する入力画面の表示を省略するように実行コードに記述することもできる。この場合には、画面の遷移数も減らすことができ、サービスの利用が容易になる。さらに、商品購入サービス等を利用するときにクレジットカードの番号入力が求められることがある。そうした情報の入力を省略したい場合、通常のＷｅｂサービスではサーバに番号を登録しておく必要がある。しかし、本実施の形態のような仕組みを使うと、通常はサービス提供装置８００内でのみ情報を管理し、購入時等、サービス利用時にのみ必要な情報をサーバに渡せばよい。個人的な情報が外部のサーバに常に保持されている必要がなくなるので、安心してカード等を利用することができる。
【０１２４】
図１２を参照して、本実施の形態に係るサービス提供装置８００による処理の流れの他の例を示す。サービス提供装置８００には商品購入サービスが記憶されているものとする。ユーザがこのサービスを実行すると、図１２に示すような商品の一覧画面１２００が表示される。ユーザが商品の一覧画面１２００からいずれか一つの商品を選択すると、そのときの条件により処理が分岐する。
【０１２５】
通常は、画面は選択した商品の詳細画面１２０１に遷移する。この場合ユーザは、商品の詳細画面１２０１で商品の詳細を見た後、さらに該商品の購入画面（図示せず）に進む。ユーザがこの商品の購入処理を行なうと、管理部８０１の実行部８０４は、画面構成部品記憶部１０６に記憶されているユーザの購入状況情報の内容を変更する。実行部８０４はさらに、ユーザが購入した商品がユーザの手元に届く予定日時情報をサーバから取得し、その情報を画面構成部品記憶部１０６に記憶する。購入処理の後、ユーザが再度商品購入サービスを実行し、商品の一覧画面１２００において、既に購入した商品を選択すると、実行部８０４は画面構成部品記憶部１０６から当該ユーザの購入状況の情報と配達予定日時情報とを参照し、実行コードの記述をもとに画面の分岐先を変更する。
【０１２６】
すなわち、実行部８０４は、ユーザがこの商品を購入済みであることを購入状況情報から判定すると、さらに画面構成部品記憶部１０６に記憶された配達予定日時情報を参照する。参照された配達予定日時と、サービスを利用している日時とから、購入済みの商品が未配達か否かを判定する。購入済みの商品が未配達の状況であると判定されると、実行部８０４は、商品詳細画面１２０１に遷移せずに、配達状況を知らせる配達状況画面１２０２に遷移する。
【０１２７】
商品の一覧画面１２００で選択された商品が配達済みであると判定されると、ユーザの手元に届いてから所定の期間はアンケート画面１２０３へ遷移する。ユーザの手元に届いてから所定の期間が過ぎた後、又はユーザがアンケート画面に回答した後は、ここでの画面は商品詳細画面１２０１となる。ただしこの場合、一度購入した商品を再度選択すると、商品詳細画面１２０１に遷移せずに、直接に商品購入処理へ遷移してもよい。
【０１２８】
なお、上記例では、配達予定日時情報は商品購入時にサーバより取得し記憶する。しかし本発明はそのような実施の形態には限定されない。状況によっては、ユーザの手元に商品が届く配達日に変更が生じる場合もある。このような場合にでも対応できるように、例えばサービス利用開始のたびにサーバにアクセスし配達状況を確認するようにしてもよい。
【０１２９】
このように本実施の形態によれば、ユーザのサービス利用状況、提供装置の状況、サーバ側からの情報提供、及び日時等、さまざまな条件に応じて画面構成部品の内容を変更することができる。それによって、簡単にサービスの内容の一部を動的に変更することができる。
【０１３０】
なお、上記実施の形態では、サービス変更記述によって実行コードの実行経路を変更することにより、実行コードの実行時に使用される実行コード、レイアウト情報、及び画面構成部品を選択している。しかし本発明はそのような実施の形態には限定されない。条件によって、実行コードの実行時に使用される実行コード、レイアウト情報、又は画面構成部品そのものを変更し、実行コードの実行経路は変更しないような実装、及びそうした方式と実行経路の変更とを組合せた実装も可能である。
【０１３１】
［第３の実施の形態］
図１３に、本願の第３の実施の形態に係るサービス提供装置１２５０の構成をブロック図形式で示す。図１３を参照して、第３の実施の形態に係るサービス提供装置１２５０においては、図１のサービス提供装置１００の諸機能に加え、実行コード内に、当該実行コードの実行時に使用する他の実行コード及び画面構成情報を、当該実行コードの取得時に同時に全て取得しておくか、当該実行コードの実行時に取得するかを指定する記述を含ませることができる。取得した実行コードは実行コード記憶部１０２に、画面構成情報は画面構成情報記憶部１０３に、それぞれ格納する。すなわち、本実施の形態に係るサービス提供装置では、後述するように、実行コードに実行に必要な他の実行コード及び画面構成情報を取得するタイミングを管理することができる。
【０１３２】
図１３を参照して、サービス提供装置１２５０は、図１に示すサービス提供装置１００の管理部１０４に代えて、サービス取得時には、実行コード及び画面構成情報のうち実行時に取得することが示されたもの以外のものを取得し、実行時にそれら残りの実行コード及び画面構成情報を取得して実行する機能を持つ管理部１２５１を含む。
【０１３３】
管理部１２５１は、操作卓１０７又はサービス開始情報取得部１０９から新たなサービスの取得が指示されると、当該サービスを実行するために必要な最初の実行コードをサーバから取得し、解析して、その中に記述された実行コード及び画面構成情報のうち、実行時に取得するように指示されているもの以外を取得して実行コード記憶部１０２及び画面構成情報記憶部１０３に記憶させ、管理情報記憶部１１１にその情報を格納するための取得部１２６１と、操作卓１０７を介してサービスの実行が指定されると、当該サービスの実行コードを実行コード記憶部１０２から読出し、解析して実行を開始し、実行時に取得が必要な実行コード及び画面構成情報に遭遇すると、それらを取得すべきことを示す命令を出力し、必要な実行コード及び画面構成情報が取得された時点で当該サービスの実行を再開するための実行部１２６２と、実行部１２６２から出力される命令に応答し、当該命令によって指定された実行コード及び画面構成情報を通信部１０１を介してサーバから取得し、それぞれ実行コード記憶部１０２及び画面構成情報記憶部１０３に格納する処理を行なうための実行時取得部１２６３とを含む。
【０１３４】
図１４に、サービス取得の際に、この第３の実施の形態に係るサービス提供装置１２５０の管理部１２５１の取得部１２６１で行なわれる処理のフローチャートを示す。図１４に示すＳ１３０１〜Ｓ１３０３、Ｓ１３０５〜Ｓ１３０８の処理は、それぞれ図３に示すＳ３０１〜Ｓ３０３、Ｓ３０４〜Ｓ３０７の処理と同じである。したがって、これらについての詳細な説明は繰返さない。図１４に示す処理が図３に示す処理と異なるのは、Ｓ１３０３（Ｓ３０３に相当）の後、Ｓ１３０４では、実行コードに含まれる他の実行コード及び画面構成情報の記述に基づき、当該他の実行コード及び画面構成情報が実行時に取得すべき情報か否かを判定する点である（取得部１２６１の機能に対応）。この構成情報が実行時に取得すべきものであると判定されれば、Ｓ１３０７に進み、それ以外の場合にはＳ１３０５に進む。すなわち、他の実行コード及び画面構成情報が実行時に取得すべきものであれば、ここでは何もしない。実行時ではなく、実行コードの取得時に取得すべきものであれば、Ｓ１３０５及びＳ１３０６の処理によってここで取得しておく。
【０１３５】
図１５に、サービス実行時に管理部１２５１の実行部１２６２で実行される処理を実現するためのプログラムのフローチャートを示す。図１５を参照して、Ｓ１４００ではサービス提供装置１２５０に記憶されているサービスを実行する指示を受けたかどうかを判定する。実行する指示を受けた場合はＳ１４０１に進み、受けていない場合は待ち状態となる。Ｓ１４０１では、選択されたサービスの実行コードを実行コード記憶部１０２から取得し、最初の表示画面にどの画面構成情報が必要か解析する。Ｓ１４０２では、最初の表示画面の表示に必要な画面構成情報が、実行時に取得すべき画面構成情報か否かを判定する。実行時に取得すべき情報であればＳ１４０３に進み、そうでなければＳ１４０４に進む。
【０１３６】
Ｓ１４０３では、必要な情報を取得するよう、実行時取得部１２６３に指示を与える。実行時取得部１２６３は通信部８０１を介してこの情報をサーバから取得し、画面構成情報記憶部１０３に記憶して実行部１２６２に処理完了の信号を返す。この後処理はＳ１４０４に進む。
【０１３７】
Ｓ１４０４では、画面構成情報記憶部１０３から、表示の対象となる画面構成情報を取得する。Ｓ１４０５では、取得した画面構成情報をもとに、表示部に画面を表示する。Ｓ１４０６では、実行コードにまだ解析していない部分が残っているか判定する。残っていればＳ１４０８に進み、最後まで解析が終了していればＳ１４０７に進む。Ｓ１４０８では、実行コードの次の表示画面に関する情報を解析し、Ｓ１４０２に進む。Ｓ１４０７では、サービスの実行を終了する。なお、例えば実行コードに条件判定によって処理を分岐させるような記述がある場合、まだ解析されていないコード部分があるにもかかわらず、実行コードの最後まで到達する場合がある。本実施の形態では、こうした場合でも、実行コードのうち実行可能な部分についての解析は全て終了したものとし、サービスを終了させる。
【０１３８】
この例では、画面構成情報の取得のタイミングについて、サービスの取得時又はサービス実行時に限定している。しかし本発明はそのような実施の形態には限定されない。例えばサービスの取得を行なった日時が、ある所定の時期以降であった場合には、すべての実行コード及び画面構成情報をサービス取得時に取得する等、何らかの条件によって、取得のタイミングを変更できるようにしてもよい。
【０１３９】
また上記実施の形態では、実行時に取得する以外の実行コード及び画面構成情報は、それらの実行前であれば任意のタイミングで取得してもよい。多くの場合、上記したように、そうした実行コード及び画面構成情報に遭遇した時点で取得するが、一つの実行コードの解析が終了した後、解析で見出された実行コード及び画面構成情報を、まとめて連続して取得するようにしてもよい。
【０１４０】
この第３の実施の形態のような仕組を使えば、サービスの一部を実行時に取得することができる。したがって、一部のサービス内容が頻繁に変更されるサービスでも、変更されたサービスを実行するために必要な画面構成情報及び実行コードのみをサービス実行時に取得するようにすれば、いつでも最新のサービスを実行できる。そのため、サービス提供装置でサービス変更毎に新たにサービス一式を取得する必要がなく、通信量を軽減することができる。
【０１４１】
上記実施の形態では、画面を切り替えるタイミングはユーザの操作によるものであることを想定している。しかし本発明はそのような実施の形態には限定されない。ある所定の時間後等、何らかの所定の条件を満たせば自動的に画面を切替えるようにしてもよい。
【０１４２】
上記実施の形態では、Ｓ１４０６において、実行コードに解析していない情報が残っているかどうかでサービスの終了のタイミングを決めている。しかし本発明はそのような実施の形態には限定されない。例えば、ユーザがサービスの終了を選択した場合、又はある所定の画面まで遷移した場合、等、実行コードの最後まで到達しなくても終了させる方法も考えられる。
【０１４３】
また、本実施の形態では、Ｓ１４０７において、次の表示画面に関する情報を解析している。しかしここでの「次の表示画面」とは、現在解析しているコード部分の直後のコード部分とは限らない。次の表示対象となる画面は、第２の実施の形態に記載のように、ユーザの選択や、利用状況等によって動的に変わる場合もあり得る。したがって、管理部１２５１の実行部１２６２は、次に解析すべき箇所を管理しながらＳ１４０７での解析を行なう対象となる情報を決定する。
【０１４４】
図１６〜図１８を用いて、図１５の処理の流れの具体定な一例を示す。図１６を参照して、今、テレビジョン放送（以下「ＴＶ」と呼ぶ。）を視聴中に、番組の進行に合わせて出演者の投票を行なう投票サービスがあるものとする。ユーザは番組放送中に３回の投票を行なうものとする。サービスの実行を開始すると、管理部は画面構成情報記憶部１０３から画面構成情報を取得し、表示部１０８に画面１５００を表示する。ユーザが操作すると、実行部１２６２は通信部１０１から候補者リスト情報１５０１を取得し、画面構成情報記憶部１０３に記憶させた後、候補者リスト情報１５０１とその他に必要な画面構成情報を取得し画面１５０２を表示する。
【０１４５】
ユーザは画面１５０２に提示された候補者の中からいずれか一人を選択し（画面１５０３）、サーバに選択情報を送信してサービスを終了する（画面１５０４）。２回目及び３回目の投票の際も、図１７に示す画面遷移１５０５及び図１８に示す画面遷移１５０６のように、同様の処理が行なわれる。ただし画面遷移１５０５では図１６の候補者リスト情報１５０１に代えて、一回戦の候補者の中で残った３人の候補者からなる候補者情報リストを使用し、画面遷移１５０６では、二回戦の候補者の中で残った２人の候補者からなる候補者情報リストを使用する。
【０１４６】
このように本実施の形態に係るサービス提供装置によれば、ユーザが同じサービスを実行しても、実行時に取得する候補者リストの内容を変えるだけで、３回の異なる内容の処理を行なうことができる。
【０１４７】
本実施の形態のように、ＴＶ番組の進行に合わせて視聴者からの投票を受付けるような場合、視聴者が一斉に投票を行なう。そのため、従来のように視聴者が番組のＷｅｂページにアクセスし、投票ページから投票を行なうような仕組みでは、サーバの負荷が大きくなる。ユーザがＷｅｂページにアクセスしても、ページの遷移等がスムーズに行なえず、快適にサービスが利用できなくなるおそれがある。そのため、ユーザが途中で処理を中断してしまう場合もある。また、携帯電話からサーバへアクセスしてサービスを利用しようとした場合、途中に何らかの理由で処理が中断してしまうこともある。この場合、処理を再開しようと思ったら再度最初から始めなければならない場合が多い。
【０１４８】
しかし、本実施の形態に係る仕組みを使えば、ユーザは予めサービス利用のために必要な情報の大部分を取得しておくことができる。サービスの実行時には、必要最小限の情報だけ取得すればよい。したがってサービス実行時に多くのアクセスがサーバに集中しても、処理すべきデータ量は少なくて済み、サーバの負荷が軽減できる。したがってそのレスポンスはよくなり、ユーザはサービスを快適に利用できる。
【０１４９】
上記実施の形態では、サーバ側ではどのユーザがどのようなサービスのための実行コード等を取得しているかについては関知していない。しかし本発明はそのような実施の形態には限定されない。サーバ側で、サービス利用に必要な実行コード等を取得済みのユーザを管理しておき、サービスの提供時にサーバから対象ユーザに情報を渡すような仕組みにしてもよい。
【０１５０】
このように本実施の形態に係るサービス提供装置によれば、サービス実行時に、サービス実行のための一部の情報を変更することにより、最小の通信量でサービス内容を変更することができる。例えば第２の実施の形態で述べたような商品購入サービスにおいて、常にユーザに最新の商品情報を提示したり、商品の在庫情報を提示したり、新しいサービスを提供したりすることが簡単に可能である。
【０１５１】
上記実施の形態では、実行時に画面構成情報等を取得する際には、何らの条件も課さずに取得している。しかし本発明はそのような実施の形態には限定されない。例えばサーバにある情報が、サービス提供装置に既に記憶されている情報よりも新しいかどうかを判定し、新しい場合のみ取得するようにしてもよい。また、画面構成情報等をサービス実行毎に取得するのではなく、一定期間ごとに、又は所定の条件を満たした場合のみに、取得するようにしてもよい。
【０１５２】
なお、上記した実施の形態では、サービスの実行時に取得する画面構成情報等は、予め取得した実行コードによって定まっている。しかし本発明はそのような実施の形態には限定されない。例えば、ユーザの選択、又はサービス提供装置の環境等、何らかの条件により、サービス実行時に取得する情報を動的に変えるようにしてもよい。この機能により、例えば、サービス提供装置の表示部の画面の大きさに合わせて、提供するレイアウト情報を変える等といったサービスが可能である。
【０１５３】
以上のように本発明の実施の形態によれば、サービス提供装置内にサービス実行に必要な実行コード及び画面構成情報を取得し、サービス提供装置においてこれらを利用してサービスを実行する。したがって、サーバに渡したくないが、利用したら各ユーザへのカスタマイズがしやすくなるような情報も利用することができる。例えば、画面の文字のサイズ、書体、背景画面の模様等を各ユーザの好みにあわせてカスタマイズできる。また、サービス提供装置がコンピュータにより実現されている場合、複数のアプリケーションを立ち上げていて、サービスを表示するための領域が狭いときには、自動でレイアウトを変える等といった対応もできる。
【０１５４】
また、以上の実施の形態に係るサービス提供装置では、サービスの実行コードで画面構成部品を共有可能である。そのため、前述したように利用者特有の情報、例えばカードの番号、あるサービスを利用する際の識別番号等を一つの画面構成部品に記憶しておけば、実行コードはこれらの情報を用いてサービスを提供できる。その結果、Ｗｅｂサービスのようにサービス利用ごとにログインをする必要がなくなるという効果がある。
【０１５５】
なお、上記した第３の実施の形態に係るサービス提供装置１２５０では、サービスの実行時に第２の実施の形態において行なわれたような実行コード及び構成情報の変更は行なっていない。しかし本発明はそのような実施の形態には限定されない。第３の実施の形態に係るサービス提供装置１２５０に、第２の実施の形態で行なわれたような実行コード又は画面構成情報の変更処理を組合わせるようにしてもよい。
【０１５６】
上記した実施の形態に係るサービス提供装置は、いずれも汎用コンピュータにより実行されるコンピュータプログラムにより実現することができる。コンピュータは、通信装置を備えることが必要であるが、それ以外は通常の構成でよい。コンピュータプログラムの制御構造は、図２、図３、図９、図１４及び図１５等に示したとおりである。
【０１５７】
今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内でのすべての変更を含む。
【図面の簡単な説明】
【０１５８】
【図１】本発明の第１の実施の形態に係るサービス提供装置１００のブロック図である。
【図２】サービス提供装置１００で実行される、サービスの実行コードの取得時のプログラムのフローチャートである。
【図３】図２のＳ２０９で実行される、サービスの実行コードの取得のためのプログラムのフローチャートである。
【図４】サービス提供装置１００の管理情報記憶部１１１の記憶内容の例を表形式で示す図である。
【図５】第１の実施の形態において、実行コードの取得前と取得後におけるレイアウト情報記憶部１０５及び画面構成部品記憶部１０６の記憶内容を示す図である。
【図６】あるサービスの実行に必要な実行コード、レイアウト情報、及び画面構成部品の例を示す図である。
【図７】図６に示すサービスを取得した後の管理情報記憶部１１１の記憶内容の例を表形式で示す図である。
【図８】本発明の第２の実施の形態に係るサービス提供装置８００のブロック図である。
【図９】サービス提供装置８００の判定部８０２により実行されるプログラムのフローチャートである。
【図１０】実行コードの簡略化した例を示す図である。
【図１１】サービス提供装置８００で実行される処理の流れの一例を示す図である。
【図１２】サービス提供装置８００で実行される処理の流れの他の一例を示す図である。
【図１３】本発明の第３の実施の形態に係るサービス提供装置１２５０のブロック図である。
【図１４】本発明の第３の実施の形態に係るサービス提供装置１２５０において、サービス取得時に実行されるプログラムのフローチャートである。
【図１５】第３の実施の形態に係るサービス提供装置１２５０のサービス実行時に実行されるプログラムのフローチャートである。
【図１６】第３の実施の形態に係るサービス提供装置１２５０での処理の流れの一例を示す図である。
【図１７】第３の実施の形態に係るサービス提供装置１２５０での、図１６と同じサービスで、使用する画面構成情報が変化したときの処理の流れの一例を示す図である。
【図１８】第３の実施の形態に係るサービス提供装置１２５０での、図１６及び図１７と同じサービスで、使用する画面構成情報がさらに変化したときの処理の流れの一例を示す図である。
【符号の説明】
【０１５９】
１００，８００，１２５０  サービス提供装置、１０１  通信部、１０２  実行コード記憶部、１０３  画面構成情報記憶部、１０４，８０１，１２５１  管理部、１０５  レイアウト情報記憶部、１０６  画面構成部品記憶部、１０７  操作卓、１０８  表示装置、１０９  サービス開始情報取得部、１１０  時刻管理部、１１１  管理情報記憶部、１５１，１２６１  取得部、１５２，８０４，１２６２  実行部、８０２  判定部、１２６３  実行時取得部
【図１】
2007310596.tif 000003
【図２】
2007310596.tif 000004
【図３】
2007310596.tif 000005
【図４】
2007310596.tif 000006
【図５】
2007310596.tif 000007
【図６】
2007310596.tif 000008
【図７】
2007310596.tif 000009
【図８】
2007310596.tif 000010
【図９】
2007310596.tif 000011
【図１０】
2007310596.tif 000012
【図１１】
2007310596.tif 000013
【図１２】
2007310596.tif 000014
【図１３】
2007310596.tif 000015
【図１４】
2007310596.tif 000016
【図１５】
2007310596.tif 000017
【図１６】
2007310596.tif 000018
【図１７】
2007310596.tif 000019
【図１８】
2007310596.tif 000020