JP2007310596A - サービス提供装置、コンピュータプログラム及び記録媒体 - Google Patents

サービス提供装置、コンピュータプログラム及び記録媒体 Download PDF

Info

Publication number
JP2007310596A
JP2007310596A JP2006138196A JP2006138196A JP2007310596A JP 2007310596 A JP2007310596 A JP 2007310596A JP 2006138196 A JP2006138196 A JP 2006138196A JP 2006138196 A JP2006138196 A JP 2006138196A JP 2007310596 A JP2007310596 A JP 2007310596A
Authority
JP
Japan
Prior art keywords
service
execution code
configuration information
screen configuration
execution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006138196A
Other languages
English (en)
Inventor
Kanae Naoi
加奈恵 直居
Katsuya Nakagawa
克哉 中川
Hideyuki Otogawa
英之 音川
Azusa Umemoto
あずさ 梅本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to JP2006138196A priority Critical patent/JP2007310596A/ja
Priority to PCT/JP2007/059358 priority patent/WO2007132677A1/ja
Priority to US12/301,004 priority patent/US8005931B2/en
Priority to CNA2007800269266A priority patent/CN101490657A/zh
Priority to EP07742793.8A priority patent/EP2023251A4/en
Publication of JP2007310596A publication Critical patent/JP2007310596A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/02Networking aspects
    • G09G2370/022Centralised management of display operation, e.g. in a server instead of locally
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/02Networking aspects
    • G09G2370/027Arrangements and methods specific for the display of internet documents
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/04Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller
    • G09G2370/042Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller for monitor identification

Abstract

【課題】装置内に記憶された実行コード及び画面構成情報を効果的に管理しながら、サービスを提供することができるサービス提供装置を提供する。
【解決手段】サービス提供装置100は、表示装置108と、通信部101と、通信部101を介してサービス提供のための実行コードを取得する取得部151と、入手した実行コードを記憶する実行コード記憶部102と、実行コードの実行時に表示される画面の構成を定める画面構成情報を記憶する画面構成情報記憶部103と、サービスの提供時までに、サービスの提供に必要な実行コード及び画面構成情報が実行コード記憶部102及び画面構成情報記憶部103に記憶されているよう、各部を管理し、サービスの提供の指示を受けたことに応答して、実行コード記憶部102に記憶された実行コードを、画面構成情報記憶部103に記憶された画面構成情報を用いて実行する管理部104とを含む。
【選択図】 図1

Description

この発明は、サーバ側で準備された実行コードを用いて利用者にサービスを提供するサービス提供装置に関し、特に、サーバ側で準備された複数種類の画面構成情報及び実行コードと、サービス提供装置の持つ資源とを用い、画面遷移を伴うサービス利用環境を、利用者の求める環境で提供するための、サービス提供装置に関する。
ネットワーク技術を用いることにより、ネットワークに接続された装置の利用者に様々なサービスを提供する手法が提案され、実現されている。典型的な手法は、Webサーバと、サーバからアクセス可能なデータベースとをサーバ側で動作するプログラムで関連付け、利用者から入力された情報を用いてデータベースにアクセスし、利用者に提示すべき情報をHTML(HyperText Markup Language)又はXML(eXtensible Markup Language)形式で利用者端末に出力する、というものである。
このようにサーバサイドで動作するプログラムを利用するサービス提供システムを、本願ではWebサービスと呼ぶ。
Webサービスでは、入力に応じ、またデータベースのアクセス結果に応じ、多様なHTML又はXML文書を作成する必要がある。さらに、提供するサービスによって、処理がほとんど同じでも画面を全く異なる形式のものに変えたり、サービスが異なっていても画面の印象を統一させたりする必要が生じることが通常である。そうした場合に問題となるのは、従来のWebサービスシステムでは、画面を記述する部分が、サービスを提供するロジック(プログラム)部分に埋め込まれているため、例えば画面だけを変更したり、画面をそのままにしてロジックのみを変更したり、というような修正が極めて困難であるということである。また、いわゆるマルチプラットフォームにおけるプログラム開発も困難であるという問題もある。
従来からこのような問題を解決するための、種々の手法が提案されている。
特許文献1は、Webサービスを作成するのに、画面上の表示項目属性を記述する独自フォーマットのXMLプログラムと、画面のデザインを司るHTMLプログラムとを別個のものとして作成し、これらXMLプログラムとHTMLプログラムとを元に、画面の遷移先及びログ出力機能等の汎用機能を付与してWebで利用できるソースプログラムに変換するためのソースプログラムジェネレータを有するWeb開発支援装置を提案している。特許文献1に記載の技術によれば、画面デザインのみを変えたい場合にはHTMLプログラムだけを変更し、表示項目のみを変更したい場合にはXMLプログラムだけを変更し、再度ソースプログラムジェネレータを起動すれば、画面デザインのみ、又は表示項目のみが変更されたソースプログラムを得ることができる。
また、特許文献2は、表示対象となるページテンプレートに複数のコンテンツ特定情報を関連付けておき、各々のコンテンツ特定情報に関連付けられた表示条件が確定すると、その条件に応じてページテンプレートに埋め込むコンテンツを差し替える表示情報確定装置を開示している。この装置によれば、サーバプログラムの修正をすることなく、同じページテンプレートに対し条件により種々のコンテンツを埋め込んでクライアントに送信することによって、クライアントの装置における表示内容をダイナミックに変更できる。
特開2002−366352 特開2001−51821
特許文献1に記載の技術の場合、画面又はロジックを修正したりする作業は容易になると思われる。しかし、XMLプログラム又はHTMLファイルを変更した後、サーバサイドでソースプログラムジェネレータを動作させなければならない。したがって、動作時にダイナミックに表示を変更したりする用途には基本的に向いていない。またそれらプログラムはすべてサーバサイドで管理されており、クライアントの端末の状況について十分考慮して実行するようなプログラムを作成することは難しい。
特許文献2に開示の技術の場合には、同一のページテンプレートを用い、埋め込むコンテンツを条件によって変化させる。したがって、ダイナミックに表示を変更させることができる。しかし、この場合にもページテンプレート等はサーバ側で管理されており、クライアントの端末の状況について十分考慮して実行するようなプログラムを作成することは難しい。
一方、上記したようにサーバサイドのWebサービスを提供する場合には、クライアントを区別するためには、クライアントを識別するための情報、又はクライアントにとって保護されるべき情報をWebサービスに提供する必要が生じる。場合によっては、そうした情報の送信には問題が生じる可能性がある。また、サーバが異なると、同じ情報を何度も入力しなければならないという問題も生じる。
したがって、サーバにより提供されるサービスを利用することが可能でありながら、サーバには最低限の情報しか渡さずに、しかもクライアントでは多彩なサービスをクライアントの環境にあわせて享受できるようなシステムが求められている。
そうしたサービスを提供するための一つの手法として、サービスを提供するために必要な画面構成情報、及びそれらを用いた画面遷移を行ないながらサービス提供のための処理を実行するプログラムの実行コードを、クライアント装置に与えて記憶させておき、クライアント装置の環境にあわせて実行するような手法が考えられる。従来は、そのような仕組みは考えられておらず、そのために、クライアント装置でそうした画面構成情報又は実行コードを効果的に管理する仕組みは存在していない。
本発明はこうした問題に鑑みてなされてものであって、サービス提供のための情報を外部から受信して記憶し、実行する機能を有するサービス提供装置において、装置内に記憶された実行コード及び画面構成情報を効果的に管理することができるサービス提供装置を提供することを目的とする。
本発明の第1の局面に係るサービス提供装置は、実行時に画面遷移を伴う実行コードを外部より入手し実行することで、複数の画面を用いたサービスを提供するサービス提供装置であって、表示装置と、サービス提供のための実行コードの提供元である他の装置と通信を行なうための通信手段と、通信手段を介して、所定の実行コードを他の装置から取得するための第1の取得手段と、第1の取得手段の入手した実行コードを記憶するための実行コード記憶手段と、実行コードの実行時に表示装置により表示される画面の構成を定めるための画面構成情報を記憶するための画面構成情報記憶手段と、任意のサービスの提供の開始時までに、当該サービスの提供に必要な実行コード及び画面構成情報が実行コード記憶手段及び画面構成情報記憶手段に記憶されるよう、第1の取得手段、実行コード記憶手段、及び画面構成情報記憶手段を管理し、任意のサービスを指定してサービスの提供の指示を受けたことに応答して、実行コード記憶手段に記憶された、指定されたサービスに対応する実行コードを、画面構成情報記憶手段により記憶された画面構成情報を用いて実行するための管理手段とを含む。
好ましくは、管理手段は、実行コード記憶手段に記憶された所定の実行コードの実行に必要となる画面構成情報のうち、画面構成情報記憶手段に記憶されていない画面構成情報を通信手段により取得するための手段と、任意のサービスを指定してサービスの提供の指示を受けたことに応答して、実行コード記憶手段に記憶された、指定されたサービスに対応する実行コードを、画面構成情報記憶手段により記憶された画面構成情報を用いて実行するための手段とを含む。
より好ましくは、管理手段はさらに、実行コード記憶手段に記憶された所定の実行コードの実行に必要となる実行コードのうち、実行コード記憶手段に記憶されていない実行コードを通信手段により取得するための手段を含む。
実行コードはサービススクリプト及びバイナリコードのいずれでもよい。
好ましくは、実行コード及び画面構成情報の各々にはそれぞれ識別可能な識別子が付与され、サービス提供のための実行コードには、当該実行コードの実行時に使用される実行コードの識別子、又は当該実行コードの実行時に使用される画面構成情報の識別子が関連付けられており、管理手段は、実行コードの各々に関連付けられた識別子、及び画面構成情報の各々に付与された識別子に基づいて、第1の取得手段、実行コード記憶手段、及び画面構成情報記憶手段の管理を行なう。
より好ましくは、画面構成情報は、画面の構成要素となる画面構成部品と、画面構成部品の画面上のレイアウトを規定するレイアウト情報とを含む。
さらに好ましくは、レイアウト情報には、当該レイアウトにしたがって表示される画面構成部品の識別子が対応付けられており、管理手段は、サービス提供のための実行コードに含まれるレイアウト情報が使用する画面構成部品の識別子に基づき、第1の取得手段、実行コード記憶手段、及び画面構成情報記憶手段の管理を行なう。
好ましくは、実行コードは、他の実行コードを呼出すコードを含むことがあり、管理手段は、任意のサービスの提供の開始時までに、当該サービスの提供に必要な実行コード、当該実行コードによって呼出される実行コード、及び画面構成情報が実行コード記憶手段及び画面構成情報記憶手段に記憶されるよう、第1の取得手段、実行コード記憶手段、及び画面構成情報記憶手段を管理し、任意のサービスを指定してサービスの提供の指示を受けたことに応答して、実行コード記憶手段に記憶された、指定されたサービスに対応する実行コードを、画面構成情報記憶手段により記憶された画面構成情報を用いて実行するための手段を含む。
より好ましくは、管理手段は、所定の条件に応じて画面構成情報記憶手段に記憶された画面構成情報の内容を変更する。
実行コードは、所定の条件に応じてサービス実行時に使用する実行コード又は画面構成情報を変更する記述を含むことがあってもよく、管理手段は、任意のサービスの提供の開始時までに、当該サービスの提供に必要な実行コード及び画面構成情報が実行コード記憶手段及び画面構成情報記憶手段に記憶されるよう、第1の取得手段、実行コード記憶手段、及び画面構成情報記憶手段を管理するための手段と、任意のサービスを指定してサービスの提供の指示を受けたことに応答して、実行コード記憶手段に記憶された、指定されたサービスに対応する実行コードを、画面構成情報記憶手段により記憶された画面構成情報を用いて実行するための実行手段とを含む。当該実行手段は、実行対象となる実行コードの記述にしたがって、サービス実行時に使用する実行コード又は画面構成情報を変更する。
好ましくは、実行コードは、所定の条件に応じてサービス実行時に使用する実行コードの実行経路を変更する記述を含むことがある。管理手段は、任意のサービスの提供の開始時までに、当該サービスの提供に必要な実行コード及び画面構成情報が実行コード記憶手段及び画面構成情報記憶手段に記憶されるよう、第1の取得手段、実行コード記憶手段、及び画面構成情報記憶手段を管理するための手段と、任意のサービスを指定してサービスの提供の指示を受けたことに応答して、実行コード記憶手段に記憶された、指定されたサービスに対応する実行コードを、画面構成情報記憶手段により記憶された画面構成情報を用いて実行するための実行手段とを含む。当該実行手段は、実行対象となる実行コードの記述にしたがって、サービス実行時の実行コードの実行経路を変更する。
より好ましくは、サービス提供装置は、通信手段を介して、所定のサービス提供元の装置にアクセスし、当該サービス提供元の装置において新たなサービスの提供が開始されたことを検知すると、第1の取得手段に、当該新たなサービスを提供するための実行コードの取得を行なわせるためのサービス開始情報取得手段をさらに含む。
さらに好ましくは、サービス開始情報取得手段は、定期的に所定のサービス提供元の装置にアクセスし、当該サービス提供元の装置において新たなサービスの提供が開始されたことを検知すると、第1の取得手段に、所定のサービス提供元から当該新たなサービスを提供するための実行コードを取得させるための手段を含む。
サービス開始情報取得手段は、ユーザによる、サービスの取得の指示を受けるための手段と、当該ユーザの指示に応答して、指定されたサービスの提供元の装置にアクセスし、当該サービス提供元の装置から指定されたサービスを提供するための実行コードを第1の取得手段に取得させるための手段を含んでもよい。
好ましくは、サービス提供装置は、第1の取得手段が実行コードを他の装置から取得するに先立ち、第1の取得手段により取得される実行コードに付随する実行コード及び画面構成情報を記憶するために必要な容量以上の容量を実行コード記憶手段又は画面構成情報記憶手段内に確保する処理を行なうための容量確保手段をさらに含む。
容量確保手段は、第1の取得手段が実行コードを他の装置から取得するに先立ち、実行コード記憶手段に記憶された実行コードのうち、所定の条件を充足するものに付随する実行コード及び画面構成情報を、それぞれ実行コード記憶手段及び画面構成情報記憶手段から削除するための手段と、実行コード記憶手段及び画面構成情報記憶手段に、第1の取得手段により取得される実行コードに付随する実行コード及び画面構成情報を記憶するために必要な容量以上の容量が得られるまで、削除手段を繰返し動作させるための手段とを含んでもよい。
好ましくは、所定の条件は、最後に実行されてからの期間が最も長い実行コードであるという条件でもよいし、利用回数が最も少ない実行コードであるという条件でもよいし、実行コード記憶手段に記憶されてからの期間が最も長い実行コードであるという条件でもよいし、使用頻度が所定の値以下である実行コードであるという条件でもよい。
容量確保手段は、最後に使用してから所定期間以上経過したサービスについて、当該サービスを提供するための実行コード又は画面構成情報の少なくとも一部を削除するための手段を含んでもよい。
好ましくは、サービスには、サービスの提供可能期間を示す情報が付与されていることがあり、サービス提供装置は、提供可能期間が過ぎたサービスに関連する実行コード又は画面構成情報の少なくとも一部を実行コード記憶手段又は画面構成情報記憶手段から削除するための手段をさらに含む。
より好ましくは、サービスには、サービスの提供可能回数を示す情報が付与されていることがあり、サービス提供装置は、少なくともサービスの提供可能回数を示す情報が付加されているサービスについての提供回数を計数するための計数手段と、計数手段による計数によって、提供可能回数だけ提供されたサービスに関連する実行コード又は画面構成情報の少なくとも一部を削除するための手段をさらに含む。
サービス提供のための実行コードには、当該実行コードの実行に必要な他の実行コード又は画面構成情報を取得すべきときを示す取得時期情報が付されていることがあってもよい。管理手段は、第1の取得手段により取得された実行コードに記述されている他の実行コード又は画面構成情報であって、取得時期情報が付されたものを検出するための取得時期情報検出手段と、第1の取得手段により取得された実行コードに記述されている他の実行コード又は画面構成情報であって、取得時期情報が付されていないものについては、任意のタイミングで取得するための第2の取得手段と、取得時期情報検出手段により取得時期情報が付されているとして検出された他の実行コード又は画面構成情報を、当該取得時期情報にしたがった時期に取得して実行コード記憶手段又は画面構成情報記憶手段にそれぞれ記憶させるための第3の取得手段と、任意のサービスを指定してサービスの提供の指示を受けたことに応答して、実行コード記憶手段に記憶された、指定されたサービスに対応する実行コードを、画面構成情報記憶手段により記憶された画面構成情報を用いて実行するための実行手段とを含む。
より好ましくは、第2の取得手段は、第1の取得手段により取得された実行コードに記述されている他の実行コード又は画面構成情報であって、取得時期情報が付されていないものを、第1の取得手段による実行コードの取得の後、順次連続して取得するための手段を含む。
さらに好ましくは、取得時期情報は、サービス提供のための実行コードの実行時に、他の実行コード及び画面構成情報を取得すべきことを示し、第3の取得手段は、実行手段が指示を受けたことに応答して、当該指示により指定されたサービスの提供のための実行コードの実行に必要な他の実行コード及び画面構成情報を通信手段を介して他の装置から取得し実行コード記憶手段及び画面構成情報記憶手段にそれぞれ記憶させるための手段を含む。
取得時期情報は、サービス提供のための実行コードの提供元から所定の通知を受けたことに応答して、他の実行コード及び画面構成情報を当該提供元から取得すべきことを示してもよい。この場合、第3の取得手段は、通信手段によって、提供元から所定の通知を受けたことに応答して、当該通知により指定されたサービスの提供のための実行コードの実行に必要な他の実行コード及び画面構成情報を通信手段を介して提供元から取得し実行コード記憶手段及び画面構成情報記憶手段にそれぞれ記憶させるための手段を含む。
本発明の第2の局面に係るコンピュータプログラムは、表示装置及び通信装置が接続されるコンピュータにより実行されると、コンピュータを、通信装置を介して、所定のサービス提供のための実行コードを他の装置から取得するための第1の取得手段と、第1の取得手段の入手した実行コードを記憶するための実行コード記憶手段と、実行コードの実行時に表示装置により表示される画面の構成を定めるための画面構成情報を記憶するための画面構成情報記憶手段と、任意のサービスの提供の開始時までに、当該サービスの提供に必要な実行コード及び画面構成情報が実行コード記憶手段及び画面構成情報記憶手段に記憶されるよう、第1の取得手段、実行コード記憶手段、及び画面構成情報記憶手段を管理し、任意のサービスを指定してサービスの提供の指示を受けたことに応答して、実行コード記憶手段に記憶された、指定されたサービスに対応する実行コードを、画面構成情報記憶手段により記憶された画面構成情報を用いて実行するための管理手段とを含む、サービス提供装置として機能させる、コンピュータプログラムである。
本発明の第3の局面に係る記録媒体は、上記したコンピュータプログラムを記録した、コンピュータ読取可能な記録媒体である。
本発明によれば、任意のサービスの提供の開始時までに、サービスの提供に必要な実行コード及び画面構成情報が実行コード記憶手段及び画面構成情報記憶手段に記憶されるよう、管理手段が、第1の取得手段、実行コード記憶手段、及び画面構成情報記憶手段を管理する。サービス提供の開始時にはこれらが全て準備されている。したがって、装置内に記憶された実行コード及び画面構成情報を効果的に管理しながら、サービスを提供することができる。
新たなサービスのための実行コードを記憶する際には、記憶手段内の記憶容量を確保する。そのために、所定の基準にしたがって、記憶手段から消去してもよいと思われる実行コード及び画面構成情報を、所定の記憶容量が確保できるまで消去する。記憶手段の記憶容量を効率的に使用しながら、効果的にサービスを提供することができる。
実行コード内に、所定の条件に応じて実行コードの実行経路を変更させる記述を含ませたり、実行コード又は画面構成情報の内容を変更させる記述を含ませたりすることにより、限られた実行コードを用いて多彩なサービスを実現することができる。
また、実行コード内に記述される他の実行コード又は画面構成情報を、実行時に取得する制御を行なうこともできる。このサービス提供装置によれば、サービス提供のために必要なときに、最新の実行コード又は画面構成情報を入手し利用できる。その結果、装置内に記憶された実行コード及び画面構成情報を効果的に管理しながら、最新のサービスを提供することができる。
以下、本発明の実施の形態を図面を参照しながら説明する。添付の図面では、同じ部品には同じ参照番号を付してある。それらの名称及び機能も同一である。したがって、それらについての詳細な説明は繰返さない。
[第1の実施の形態]
<構成>
図1に、本発明の第1の実施の形態に係るサービス提供装置100の構成をブロック図形式で示す。図1を参照して、サービス提供装置100は、いわゆるインターネット等のネットワークを介して外部の装置からサービスに必要な情報の取得を行なう通信部101と、外部から取得したサービスを実行するときの画面の遷移情報を含む実行コードを記憶する実行コード記憶部102と、サービスを実行する際(実行コードを実行する際)の画面の構成を定めるための情報である画面構成情報を記憶する画面構成情報記憶部103と、通信部101を介して外部から、あるサービスのために実行コード及び画面構成情報を取得して、それぞれ実行コード記憶部102及び画面構成情報記憶部103に記憶させて管理し、さらに、操作卓107を用いたユーザの指示に応答して、指定されたサービスを実行するための管理部104と、管理部104に接続され、実行コード記憶部102に記憶された実行コード及び画面構成情報記憶部103に記憶された画面構成情報を管理するために管理部104が維持する管理テーブルを記憶するための管理情報記憶部111とを含む。
管理部104は、通信部101を介して、あるサービスのための実行コードを外部のサーバから取得して実行コード記憶部102に記憶するとともに、その実行コードを解析し、そのサービスの実行に必要となる実行コードが全て実行コード記憶部102に記憶され、画面構成情報が全て画面構成情報記憶部103に記憶されるように実行コード及び画面構成情報を通信部101を介して取得するための取得部151と、操作卓107を介してユーザから与えられるサービス実行の指示に応答し、管理情報記憶部111を参照して、当該サービスの実行に必要な実行コード及び画面構成情報をそれぞれ実行コード記憶部102及び画面構成情報記憶部103から読出し実行するための実行部152とを含む。
画面構成情報記憶部103は、サービスを実行したときに表示される画面のレイアウト情報を記憶するためのレイアウト情報記憶部105と、レイアウト情報に埋込まれる画像及び遷移の分岐情報等、サービス提供画面の構成に必要な画面構成部品を記憶するための画面構成部品記憶部106とを含む。
実行コード、レイアウト情報及び画面構成部品には、それぞれ、識別可能な識別子が付与されている。さらに各実行コードには、その内部で使用する別の実行コード又は画面構成情報の識別子が関連付けられている。管理部104は、識別子情報に基づいて実行コード及び画面構成情報を管理する。実行コードの実行時には、入力されたデータ等を保持しておく必要が生じる場合がある。本実施の形態では、それらはいずれも関連する画面構成部品に保持されるものとする。
サービス提供装置100はさらに、複数のキーを持ち、所定のキーが操作されると対応のキーコードを発生し管理部104に与えるための操作卓107と、所定のタイミングで通信部101を介して外部サーバにアクセスし、新しいサービスが提供されていれば、管理部104の取得部151に対し、当該サービスの実行に必要な実行コードを外部装置から受信させるための指示を与えるサービス開始情報取得部109と、サービス開始情報取得部109が参照する時刻管理部(タイマ)110と、実行部152がサービスを実行した結果生成される画面を表示するための表示装置108とを含む。
実行コード記憶部102に記憶される実行コードは、サービススクリプト又はバイナリの、いずれの形式でもよい。本実施の形態ではサービススクリプト形式であるものとする。また、後述するように、メモリを有効に利用するために、本実施の形態では、取得部151は、新たな画面構成情報を画面構成情報記憶部103に記憶する際に、記憶領域が不足すると、所定のアルゴリズムで選択した画面構成情報を削除する。そのために、管理部104は、図4に示すように、既に記憶済みのサービスについて、それぞれ最後に利用した日時を管理しており、この情報を管理情報記憶部111に記憶している。
図4を参照して、管理情報記憶部111は、サービスごとに、そのサービスを提供するために必要な実行コードの識別子、その実行コードの実行時に使用されるレイアウト情報の識別子及び画面構成部品の識別子からなる画面構成情報、並びに当該サービスが最後に実行された日からの経過日を記憶する。図4に示す例では、ある第1のサービスの実行コードは実行コードA1であり、この実行コードA1の実行時には、レイアウト情報B1〜B3、及び画面構成部品が画面構成部品C1〜C3が利用される。第2、第3のサービスについても同様である。
図2に、サービス提供装置100が新たなサービスを取得する際に行なわれる処理のフローチャートを示す。
図2を参照して、ステップ(以下単に「S」と呼ぶ。)200において、新しいサービスを取得するかどうかを判定する。サービスを取得するか否かは、本実施の形態では図1に示すサービス開始情報取得部109からの指示、又は操作卓107を用いた利用者の指示により決まる。S200の判定の結果、新しいサービスを取得しないのであればS200に戻る。取得するならばS201に進む。
S201では、サービス提供装置100に新しいサービスを取得するための十分なメモリが残っているかどうかを判定する。すなわち、このステップでは、最初にサーバに対して取得すべきサービスを特定する情報を送信し、サーバからそのサービスに必要な実行コード及び画面構成情報を記憶するために必要な記憶容量を受信する。そして受信した記憶容量と、サービス提供装置100で利用可能な、残っている記憶容量とを比較する。メモリの記憶容量が残っていればS209に進む。メモリが十分でない場合は、S202に進む。S209では新しいサービスの取得処理を行なう。この処理については図3を参照して後述する。
S202では、各サービスの最終実行日時情報から、最終利用日がもっとも古いサービスを検索する。S203では、このサービスの実行コードの1行目を解析して他の実行コード若しくは画面構成情報、又はそれらを示す識別子を探す。S204では、実行コードのうち、直前のステップで解析された行に、他の実行コード若しくは画面構成情報、又はそれらを示す識別子が含まれるかどうかを判定する。処理対象の行がそのいずれも含まなければS207に進み、いずれかを含む場合にはS205に進む。
S205では、S204で見出された実行コード若しくは画面構成情報が他のサービスにも利用されているかどうかを判定する。他のサービスにも利用されている場合はS207へ進み、他のサービスに利用されていない場合は一旦S206に進んだ後、S207に進む。
S206では、S205で他のサービスのいずれとも共有していないと判定された実行コード又は画面構成情報を実行コード記憶部102又は画面構成情報記憶部103から削除する。
S207では、処理中の実行コードに未解析の行が残っているか否かを判定する。全ての行を解析済みであればS201に戻る。未解析の行が残っていればS208に進む。S208では、実行コードの次の行を解析して、他の実行コード若しくは画面構成情報、又はそれらを示す識別子を探し、S204に進む。そして、S204〜S207及びS208の処理を、S207において全ての行について処理が終わったと判定されるまで繰返す。
S201に戻った場合、メモリが十分残っているか否かが再度判定される。まだ不十分であれば、未確認のサービスのうち、最終実行からの経過日が最も大きなサービスを検索する。以下、S201で十分なメモリが残っていると判定されるまで、S201〜S208の処理を繰返す。
図2のS209で実行される新しいサービスの取得処理を実現するための処理を実現するプログラム部分のフローチャートについて、図3を参照して説明する。図3を参照して、S301では、管理部104は通信部101を介してサーバから実行コードを全て取得して実行コード記憶部102に記憶する。
S302では、取得した実行コードの1行目を解析して画面構成情報又はそれを示す識別子を探す。
S303では、直前のステップで解析した行に画面構成情報又はそれを示す識別子が含まれているか否かを判定する。含まない場合はS306に進み、含む場合はS304に進む。
S304及びS305の処理は、S303で見出された画面構成情報又は識別子の各々について行なう処理である。図を簡単にするため、図3では一つの画面構成情報又は識別子についてこの処理を行なうように示してある。S304では、実行コードに含まれる画面構成情報が既に画面構成情報記憶部103に記憶されているかどうかを判定する。記憶されていればS306に、記憶されていなければS305に、それぞれ進む。
S305では、通信部101を通してサーバからこの画面構成情報を取得し画面構成情報記憶部103に記憶する。この後、S306に進む。
S306では、実行コードに未解析の行が残っているか判定する。最後まで解析していればこの処理を終わり、図2のS200に戻る。残っていればS307に進む。S307では、実行コードの次の行を解析して画面構成情報又はそれを示す識別子を探す。そして、S303に戻る。
<動作>
サービス提供装置100は以下のように動作する。
図1を参照して、利用者が操作卓107を操作して管理部104の取得部151に対して新しいサービスの取得することを指示した場合、管理部104はサービス取得処理を開始する。また、サービス開始情報取得部109が時刻管理部110を参照することにより、定期的に外部のサーバにアクセスして新たなサービスを発見した場合、サービス開始情報取得部109はそのサービスを取得すべき指示を取得部151に与える。この場合にも取得部151は指定されたサービスの取得処理を開始する。
具体的には、図2のS200での判定結果がYESとなり、S201に進む。S201で、最初に、新しいサービスを取得するために必要な記憶容量をサーバから取得する。そして、その容量をサービス提供装置100で利用可能なメモリの空き容量と比較する。もしもメモリが不十分であればS202〜S208の処理を繰返し実行することにより、必要なメモリを確保して、S209に進む。
S202〜S208の処理については、図2及び前述の構成の説明を参照すれば当業者であればその動作は容易に理解できると思われる。したがってここではその詳細については繰返さない。
S209での処理については、図3を参照して説明する。図3を参照して、S301でサーバから実行コードを取得する。S302で実行コードの1行目を解析し、画面構成情報又はその識別子の記述を探す。S303では、画面構成情報の記述があるか否かを判定し、一つでもあればS304に進み、全くなければS306に進む。
S304では、S303で見つけられた画面構成情報又はその識別子が画面構成情報記憶部103に記憶されているか否かを判定する。もし記憶されていなければS305に進み、記憶されていればS306に進む。
S305では、S303で見つけられた画面構成情報又はその識別子の記述に基づき、対応の画面構成情報をサーバから受信し、画面構成情報記憶部103内のレイアウト情報記憶部105又は画面構成部品記憶部106に記憶する。その後、S306に進む。
S306で、取得した実行コードに次の行があるか否かを判定する。なければ処理を終わる。あれば、S307に進んで次の行を解析し、画面構成情報又はその識別子の記述を探す。そして、S303に戻る。
以下、S306での判定結果が「NO」となるまで、すなわち、S301で取得した実行コードの全ての行について、画面構成情報の記述の探索と、記述があった場合のその画面構成情報の取得の有無の判定と、取得が必要と判定されたときのその取得の処理とが繰返し実行される。
S306での判定結果が「NO」となれば、新しいサービスの取得処理を終了する。
サービスの実行時には、図1に示す操作卓107を用い、ユーザが所望のサービスを指定し、管理部104にその情報を与える。管理部104は、管理情報記憶部111を参照し、実行コード記憶部102から必要な実行コードを読出し、レイアウト情報記憶部105及び画面構成部品記憶部106から読出した必要なレイアウト情報及び画面構成部品を用いて実行する。この実行により、指定されたサービスが、レイアウト情報記憶部105及び画面構成部品記憶部106に記憶されたレイアウト情報及び画面構成部品を用いて実行される。
<具体的動作>
具体的な例で説明する。今サービス提供装置100には、管理情報記憶部111の記憶内容(図4)により示すように、3つのサービスが記憶されているものとする。それぞれのサービスの実行に必要な実行コード及び画面構成情報は表のとおりである。また、最終実行からの経過日は、第1のサービスが10日、第2のサービスが2日、第3のサービスが37日であるものとする。
このとき、レイアウト情報記憶部105及び画面構成部品記憶部106に記憶されているレイアウト情報及び画面構成部品は、図5(A)に示すとおりである。すなわち、レイアウト情報記憶部105にはB1〜B6の6個のレイアウト情報が、画面構成部品記憶部106にはC1〜C5の5個の画面構成部品が、それぞれ記憶されている。
今、新たに図6に示すような構成のサービス4を取得するときの処理を考える。第4のサービスは、実行コードA4と、レイアウト情報B1、B2、B7及びB8と、画面構成部品C3、C5及びC6とを含む。図4及び図5(A)の表を見ると、第4のサービスを実行するために必要な情報のうち、サービス提供装置100にはすでにレイアウト情報B1及びB2、並びに画面構成部品C3及びC5が記憶されていることが分かる。したがって、ユーザが第4のサービスを取得する場合には、まだサービス提供装置100に含まれていない実行コードA4、レイアウト情報B7及びB8、並びに画面構成部品C6のみを取得すればよい。第4のサービスを取得した結果のサービス提供装置100の管理情報記憶部111の記憶内容を図7に、レイアウト情報記憶部105及び画面構成部品記憶部106の記憶内容を図5(B)に、それぞれ示す。図7において、第4のサービスの構成情報のうち斜体文字になっている構成情報は、第4のサービスを取得する前に、サービス提供装置100に記憶されていたため、取得する必要がなかった情報を示す。
このように、本実施の形態によれば、新たなサービスを取得する場合、そのサービスの構成情報の一部だけを取得すればよい。したがって無駄な通信量が発生しない。また、各サービスの構成情報の一部を他のサービスと共有できるためユーザの端末側のメモリを有効に使うことができる。
さらに本実施の形態では、構成情報が互いに独立しているため、サービス取得中に通信環境の劣化等により取得が中断した場合でも、取得が中断した構成情報から再度取得開始すればよい。したがって通信の効率がよい。
さらに、ユーザがサービスを実行するときに登録する個人情報等を保存した画面構成部品を共有で利用すれば、新しいサービス実行時でも再度個人情報を登録する必要がないので、手間を省くことができる。一部の情報を変更したい場合も、一度の変更だけで済み、サービスごとに変更を行なう必要がない。
<変形例>
本実施の形態では、メモリ確保のための処理を実行した後、新たに取得するサービスの実行コードの解析を開始する。しかし本発明はそのような実施の形態には限定されない。例えば、先に実行コードだけ取得し解析してサービスの実行に必要な情報を把握しておいて、削除の対象となるサービスを特定し、削除の対象となったサービスを構成する情報の一部が新たに取得するサービスに必要な情報であった場合、削除せずにそのまま記憶しておくようにしてもよい。また、予め実行コードを解析しておけば、取得に必要な最小限のメモリ量が分かるので、必要以上にサービスを削除することを避けることができる。
この実施の形態では、削除する対象となったサービスが複数の実行コードからなる場合、解析の対象となる実行コードにサービスに必要な情報がすべて記述されていることを前提としている。しかし、本発明はそのような実施の形態には限定されない。解析の対象となる実行コード以外の実行コードにも新たな情報が含まれているような実施の形態もあり得る。その場合は、その実行コードの解析も行ない、該実行コードに含まれる情報について、S203からS208への処理を行なう必要がある。
図2の処理、特にS204の処理から分かるように、削除の対象となったサービスにおいて、少なくとも解析の対象となった実行コードは削除せずに実行コード記憶部102に残す。これにより、もしユーザが再度そのサービスを利用したいと思ったときには、残っている実行コードを解析してそのサービスに必要な情報を新たに取得することによって簡単に再利用することができる。ただし、サービスによっては、実行コードも含めすべての情報を削除するようにしてもよい場合もあり得る。
本実施の形態では、サービスの取得のタイミングはユーザの選択か、サービス開始情報取得部109による定期的なチェックの結果によるものである。しかし本発明はそのような実施の形態には限定されない。例えば、サービスを配信するサーバから新しいサービスの配信が始まったことを示すメッセージを受信すると自動的にそのサービスに必要な情報を取得したりしてもよい。また、本実施の形態では、サービス開始情報取得部109が定期的にサーバの状態をチェックし、新しいサービスが配信されていれば管理部104に指示して自動で取得するようにしている。しかし、自動的に取得するのに代えて、ユーザに通知して取得を促すようにしてもよい。また、これらの組合せでもよい。
本実施の形態では、実行コードを1行ずつ解析し、サービス提供装置100に足りない情報があれば随時情報を取得している。しかし本発明はそのような実施の形態には限定されない。足りない情報を途中で取得するのではなく、実行コードの解析を最後までした後、まとめて取得するようにしてもよい。
本実施の形態では、取得するサービスが一つの実行コードからなる場合について述べていることを前提としている。しかし、本発明はそのような実施の形態には限定されない。一つのサービスが複数の実行コードを含む場合を許容する実施の形態も考えられる。この場合には次のようにする。すなわち、サービス取得時には、図3のS301ではまず一つ目の実行コードを取得し、S302及びS307において実行コードに関する記述があった場合、画面構成情報と同様に、該実行コードが手元にあるかどうか判定し、なければサーバから取得する。
最初の実行コードの解析が最後まで終了した後、2番目の実行コードの解析を開始し、最初の実行コードと同様に、手元にない情報を取得していく。すべての実行コードを解析したところで、サービスの取得を終了する。
この場合には、最初に解析される実行コードにサービスに必要な情報を全て記述しておき、該実行コードを解析すれば、他の実行コードを解析しなくても必要な情報の取得が終了できるようにしてもよい。
本実施の形態では、実行コードにサービスに必要な情報がすべて記述されていることを前提としている。しかし、本発明はそのような実施の形態には限定されない。レイアウト情報に、実行コードに記述されていない画面構成情報が含まれるような記述形式を許してもよい。この場合は、図3のS306において実行コードの解析が終了した後、S300へ遷移せずに、それまでに受信したレイアウト情報の解析を開始し、S303、S304、S305のように処理を行なうようにすればよい。
また、この実施の形態では、ユーザの手元にあるサービス提供装置100内の管理部104が、実行コード記憶部102及び画面構成情報記憶部103に記憶されている情報を管理し、新しいサービスに足りない情報を抽出してサーバより情報を取得している。しかし本発明はそのような実施の形態には限定されない。サーバ側で、サービス提供装置に記憶されているサービスを管理しておき、予め必要な情報だけ抽出して提供するようにしてもよい。又は、サービス提供装置が、その記憶しているサービスのリストをサーバに渡すようにしてもよい。この場合には、そのリストに基づき、必要な情報をサーバが抽出してサービス提供装置に提供するようにすればよい。
この実施の形態では、簡単のため、実行コードに画面構成情報に関する記述があった場合はすべて図3のS304に進むものとしている。しかし本発明はそのような実施の形態に限定されるわけではない。実行コードに記述されている画面構成情報の中に、サービス実行時にユーザの選択情報を記憶するとき等に新たに生成される画面構成情報も含まれるような実施の形態も考えられる。そのような情報が含まれるサービスの場合は、S304に進む前に、実行コードをさらに解析し、記述されている画面構成情報がサービス実行時に生成されるものなのかどうか判断する必要がある。
本実施の形態では、各々のサービスの情報に最終実行日時を付加情報として記憶させている。しかし、本発明はそのような実施の形態に限定されるわけではない。各々のサービスの最終実行日時情報を一つの情報にまとめて管理しておいてもよい。また、利用するごとに、実行日時の順番に基づいてサービスをソートするように管理してもよい。
なお、本実施の形態のように、サービスの取得時に、予めメモリの空き容量を確保する処理を省略してもよい。この場合、取得途中でメモリが不足し処理が終了してしまうが、手動で一部要素を削除して再度取得を試みるようにすればよい。
本実施の形態では、削除するサービスの抽出方法として最終利用日時を基準にしている。しかし、削除対象を定めるための基準となる情報はそれだけに限らない。サービスの利用頻度、取得日時等を基準にし、利用頻度が所定の値以下であるもの、利用回数が最も少ないもの、取得日時が最も古いものなどを選択して削除してもよい。また、最後に使用してから所定期間以上経過したサービスについて、そのサービスを提供するための実行コード又は画面構成情報を削除するようにしてもよい。削除するサービスをユーザが明示的に選択してもよい。ユーザ又はサーバが、自動削除してもよいかどうかを判定する付加情報を各サービスに付けられるようにしてもよい。削除する場合、サービス提供のための実行コード及び画面構成情報の全体を削除してもよいし、一部のみを削除するようにしてもよい。
この実施の形態では、サービスを削除するタイミングはメモリが不足したときである。しかし本発明はそのような実施の形態には限定されない。メモリが不足した状態ではなく、最終実行日時から所定の日数又は時間が経過したとき、又はユーザの利用頻度が所定の値以下になったとき等、何らかの条件によってサービスを自動削除するようにしてもよい。また、期間限定のサービスのように、利用できるサービスの期間が決まっている場合に、所定の日時が過ぎると自動的に削除できるようにしてもよい。試供用サービス等の場合には、取得してからある一定の日数が過ぎたり、所定の回数サービスを利用したりした場合に、自動的に削除するようにしてもよい。期間限定サービスのように、所定の日時が経過した後は利用できないようなサービスの場合は、実行コードも含めて完全に削除するようにしてもよい。こうした場合には、画面構成情報又は実行コード内にそうした条件を記載しておき、実行コードの実行時の最初に条件を調べ、削除条件が充足されていたら関連の実行コード及び画面構成情報の少なくとも一部、又は全部を削除するようにすればよい。又は定期的にそうした条件を充足するサービスを探索するプログラムを起動し、見つかったサービスに関連する実行コード及び画面構成情報の少なくとも一部、又は全部を削除するようにしてもよい。
なお、このように所定の日時や期間がすぎてサービスを削除する場合でも、一部の情報は今後も利用したい場合がある。例えば複数の商品が載った「ちらし」から欲しい商品を選択し、購入処理を行なうようなサービスを考える。この場合、ちらしに載っている商品には利用期限があるかもしれないが、取り扱う商品が変わっても、支払い方法の選択等、購入の手続きに必要となる情報は変化しないことが多い。このような場合には、所定の日時になったら商品に関する情報のように一部の所望の情報のみ自動で削除できるようにしておけばよい。このとき、実行コードについても商品選択部分と購入処理部分とを分けておけば、情報の管理が容易である。情報の一部を削除すると同時に、新たな商品情報を取得するようにしてもよい。取得時は削除のタイミングを指定せずに、サーバ側が新しい商品の提供を始めたとき、又はユーザが新しい情報に更新する手続きを行なったときに、情報の一部又はすべてを書き換えられるようにしてもよい。
一部の情報のみ自動で削除する他の例として次のような例が考えられる。サービス開始時に文字の大きさ又は背景画像等のレイアウト情報をユーザの好みに合わせて選択できるようなサービスがあり得る。この場合に、選択されなかったレイアウト情報を自動で削除することが考えられる。このとき、他のレイアウト情報に対するポインターだけ残しておけば、ユーザがレイアウト情報を変更したい場合でも柔軟に対応でき、かつメモリを有効に活用することが出来る。
実行コード記憶部102が記憶する実行コードは、サービススクリプト又はバイナリの、いずれの形式でもよい。本実施の形態では、サービススクリプトを用いている。
このように、本実施の形態の考え方によれば、様々な条件の下で、不必要な情報を適切に削除することができる。したがって、サービス提供装置内のメモリを有効に利用することができる。
自動でサービスを削除する等によって、保存するサービスの数が所定の数以下になった場合、利用頻度の高いサービスに関連したサービス、又はその実行コードのみを自動で取得するようにしてもよい。実行コードのみを取得するのであれば、それほどメモリを圧迫することはなく、ユーザに新たなサービスを知らせることが容易にできる。
[第2の実施の形態]
図8に、本発明の第2の実施の形態に係るサービス提供装置800の構成をブロック図形式で示す。サービス提供装置800は、第1の実施の形態に係るサービス提供装置100の機能に加え、さらに、ユーザの使用状況や機器の環境等によって、使用するレイアウト情報、画面構成部品又は実行コードを選択する機能を有する。そのために、実行コード記憶部102に記憶されている実行コードには、画面構成部品に保持された内容に基づいて、サービスの実行に利用するレイアウト情報、画面構成部品、又は実行コードを選択するための記述が可能である。以下、これらの記述を「サービス変更記述」と呼ぶ。サービス変更記述は、典型的には実行コードの実行経路を実行時の条件により制御するための記述により実現される。こうした記述により、実行コードの実行時に動的にサービス内容を変えることができる。
図8を参照して、本サービス提供装置800は、図1のサービス提供装置100の管理部104に代えて、実行コードの実行時にサービス変更記述に応じてサービス内容を変更する機能を持つ管理部801を含む。
管理部801は、第1の実施の形態に係る管理部104の取得部151と同じ取得部151と、第1の実施の形態の実行部152の機能に加え、さらに、実行中の実行コードにおいてサービス変更記述に遭遇すると、そのサービス変更記述における条件の判定を依頼する依頼信号を外部に出力し、その依頼信号に応答して外部から与えられる判定結果にしたがって実行コード又は画面構成情報を選択し、さらに実行コードの実行及び解析を続行する機能を持つ実行部804と、実行部804から依頼信号を受取り、当該依頼信号に対応する画面構成部品に格納された情報にしたがって、実行部804が実行中の実行コードのサービス変更記述の条件が成立するか否かを判定し、判定結果を実行部804に与えるための判定部802とを含む。
判定部802は、実行コードの実行時に、実行部804から与えられた依頼信号に応答し、画面構成部品記憶部106内の指定された画面構成部品を参照して、その画面構成部品に保持されている情報と、依頼信号により指定される条件とにしたがって、サービス変更記述に記載された条件が成立するか否かを判定し、判定結果を実行部804に与える。実行部804は、この判定結果にしたがって実行コードの実行経路を選択し、それぞれの実行経路で指定されたレイアウト情報、画面構成部品、及び実行コードを選択して実行コードを実行する。その結果、このサービス提供装置800によれば、簡単に動的にサービスの内容の一部を変更することが可能である。
図9に実行部804及び判定部802での、実行コード・画面構成情報選択処理のフローチャートを示す。この処理は、実行部804によるサービス実行時に行なわれる。図9を参照して、S900では、実行対象の実行コード内にサービス変更記述があるか否かを判定する。あればS901に進み、なければS903に進む。判定結果が「YES」であることが、上記した依頼信号の発生に対応する。
S901では、サービス変更記述に記載された条件にしたがい、サービス変更記述により指定された画面構成部品の状態がサービス変更記述により指定された所定の状態であるかどうか判定する。所定の状態であればS902に進み、所定の状態以外であればS903に進む。ここでの処理が判定部802による処理に相当する。
S902では、サービス変更記述の内容と画面構成部品の状態とに基づいて、利用する実行コード、レイアウト情報又は画面構成部品を本来の実行経路で指定されていたものから変更し、変更後の実行コード、レイアウト情報及び画面構成部品をそれぞれ使用して処理を続行する。
一方、S903では、実行コードの本来の実行経路で指定されていたものから変更することなく、それらを使用して処理を続行する。
S901において参照される画面構成部品の内容は、ユーザのサービス利用状況、提供装置の状況、サーバ側の指示、又はサービスの実行日時等、様々な条件によって、管理部801により動的に変更され得る。したがって、サービスを実行する毎に上記の判定を行なう。
管理部801によるサービスの実行は、サービス変更記述に遭遇したとき以外は、第1の実施の形態におけるものと同様である。
図10と図11とを用い、図9に示したような処理による、実行コードの実行時の処理の流れの具体定な一例を示す。サービス提供装置800には商品購入サービスが記憶されているものとする。このサービスを実行するための実行コードの簡略化した例を図10に示す。この実行コードは、図8の実行コード記憶部102に記憶されている。
ユーザが該サービスを選択して実行を命ずると、管理部801の実行部804は、実行コード記憶部102に記憶されている対応の実行コード1000を取得し、解析を始める。解析により、実行コード、レイアウト情報、又は画面構成部品に変更が必要となる可能性があるサービス変更記述がある場合、実行部804は、サービス変更記述に対応する条件判定を判定部802に対し依頼する。判定部802は、サービス変更記述で指定された条件を、画面構成部品記憶部106内の画面構成部品に保持された情報にしたがって判定し、その結果を実行部804に与える。実行部804は、この結果にしたがい、本来の実行経路により指定される実行コード、レイアウト情報、又は画面構成部品を用いて処理を続行するか、又はサービス変更の条件が成立したときの実行経路により指定される実行コード、レイアウト情報、又は画面構成部品を用いて処理を続行する。この処理により、実行コードにサービス変更記述が存在する場合、画面構成部品に保持された情報にしたがって適切な実行コード、レイアウト情報、及び画面構成部品が選択され、実行コードの実行に用いられる。実行部804は、このようにして実行コードを実行し、実行コードの最後に到達すると処理を終了する。
図10を参照して、この実行コードはコード部分1001〜1008を含むものとする。管理部801の実行部804は、コード部分1001に示されている最初の提示対象となる画面の画面構成情報を画面構成情報記憶部103から取得し、表示部108にこの画面構成情報にしたがい、例えば図11に示す商品情報画面1100を提示させる。
ユーザが商品情報画面1100で商品の購入を選択すると、実行部804は実行コードのコード部分1002を解析する。コード部分1002が図11の画面1101に示すようなメッセージ画面を表示することを示す場合、実行部804は画面構成情報記憶部103から画面1101の表示に必要な画面構成情報を読出し、表示部108の表示を画面1101に遷移させる。
ユーザの選択に伴い、実行コードの解析はコード部分1003、1004と進み、解析の進みとあわせて表示画面も図11に示す画面1102、1103と遷移する。表示画面1103において、ユーザが支払い方法を選択すると、実行コードの解析はコード部分1005に進む。
コード部分1005は、現在の時刻がサービス期間中か否かによって、コードの実行経路を変化させるコードを含む。プログラム部分1005を解析した実行部804は、コード部分1005における条件判定を行なうことを判定部802に依頼する。判定部802は、この判定に用いるために、画面構成部品記憶部106からサービス期間情報を取得する。そして、現在の月日がサービス期間情報で指定された期日内か否かを判定する。
サービスを利用した日がサービス期間情報で指定された期日内であれば、判定部802は、コード部分1006に進むように実行部804に指示し、実行部804による実行コードの解析はコード部分1006に進む。それ以外の場合、解析はコード部分1007に進む。
サービス期間情報で指定された期間内の場合、コード部分1006では、表示装置108による表示が画面1104に遷移する。この後、コード部分1007が解析される。したがって、コード部分1006、1007及び1008の解析の結果、表示画面は画面1104、1105及び1106と遷移する。
サービス期間外であれば、コード部分1006は解析せずにコード部分1007及び1008の解析が行なわれる。その結果、表示画面は画面1105、1106と遷移する。
このように、本実施の形態に係るサービス提供装置800によれば、条件に応じて簡単にサービス内容を変更することが可能である。上記した商品購入サービスで登録された情報は画面構成部品に登録されるが、第1の実施の形態で述べたようにこの画面構成部品の一部を他のサービスと共用する場合、そのサービスでもこの情報を利用することができる。例えば、最初のサービス実行時にある情報を登録したものとする。この情報は、画面構成情報として画面構成情報記憶部103に記憶される。他のサービスがこの画面構成情報を共有する場合には、同じ画面構成情報を利用することにより、予め入力済みの情報を利用でき、したがってその入力は行なわなくてもよい。
すなわち、複数のサービスにおいて共有の画面構成部品を使うことによって、その画面構成部品に保持される情報をそれらサービスにおいて共有できる。この構成により、商品購入時の送り先の住所、及び代金の支払方法のような個人情報を、利用するサービスが変わるたびに何度も入力する手間を省くことができる。また、情報の変更があった場合に、どのサービスでは変更済みで、どのサービスではさらに変更が必要なのか、等を考える手間を省くことが出来る。入力済みの情報に関する入力画面の表示を省略するように実行コードに記述することもできる。この場合には、画面の遷移数も減らすことができ、サービスの利用が容易になる。さらに、商品購入サービス等を利用するときにクレジットカードの番号入力が求められることがある。そうした情報の入力を省略したい場合、通常のWebサービスではサーバに番号を登録しておく必要がある。しかし、本実施の形態のような仕組みを使うと、通常はサービス提供装置800内でのみ情報を管理し、購入時等、サービス利用時にのみ必要な情報をサーバに渡せばよい。個人的な情報が外部のサーバに常に保持されている必要がなくなるので、安心してカード等を利用することができる。
図12を参照して、本実施の形態に係るサービス提供装置800による処理の流れの他の例を示す。サービス提供装置800には商品購入サービスが記憶されているものとする。ユーザがこのサービスを実行すると、図12に示すような商品の一覧画面1200が表示される。ユーザが商品の一覧画面1200からいずれか一つの商品を選択すると、そのときの条件により処理が分岐する。
通常は、画面は選択した商品の詳細画面1201に遷移する。この場合ユーザは、商品の詳細画面1201で商品の詳細を見た後、さらに該商品の購入画面(図示せず)に進む。ユーザがこの商品の購入処理を行なうと、管理部801の実行部804は、画面構成部品記憶部106に記憶されているユーザの購入状況情報の内容を変更する。実行部804はさらに、ユーザが購入した商品がユーザの手元に届く予定日時情報をサーバから取得し、その情報を画面構成部品記憶部106に記憶する。購入処理の後、ユーザが再度商品購入サービスを実行し、商品の一覧画面1200において、既に購入した商品を選択すると、実行部804は画面構成部品記憶部106から当該ユーザの購入状況の情報と配達予定日時情報とを参照し、実行コードの記述をもとに画面の分岐先を変更する。
すなわち、実行部804は、ユーザがこの商品を購入済みであることを購入状況情報から判定すると、さらに画面構成部品記憶部106に記憶された配達予定日時情報を参照する。参照された配達予定日時と、サービスを利用している日時とから、購入済みの商品が未配達か否かを判定する。購入済みの商品が未配達の状況であると判定されると、実行部804は、商品詳細画面1201に遷移せずに、配達状況を知らせる配達状況画面1202に遷移する。
商品の一覧画面1200で選択された商品が配達済みであると判定されると、ユーザの手元に届いてから所定の期間はアンケート画面1203へ遷移する。ユーザの手元に届いてから所定の期間が過ぎた後、又はユーザがアンケート画面に回答した後は、ここでの画面は商品詳細画面1201となる。ただしこの場合、一度購入した商品を再度選択すると、商品詳細画面1201に遷移せずに、直接に商品購入処理へ遷移してもよい。
なお、上記例では、配達予定日時情報は商品購入時にサーバより取得し記憶する。しかし本発明はそのような実施の形態には限定されない。状況によっては、ユーザの手元に商品が届く配達日に変更が生じる場合もある。このような場合にでも対応できるように、例えばサービス利用開始のたびにサーバにアクセスし配達状況を確認するようにしてもよい。
このように本実施の形態によれば、ユーザのサービス利用状況、提供装置の状況、サーバ側からの情報提供、及び日時等、さまざまな条件に応じて画面構成部品の内容を変更することができる。それによって、簡単にサービスの内容の一部を動的に変更することができる。
なお、上記実施の形態では、サービス変更記述によって実行コードの実行経路を変更することにより、実行コードの実行時に使用される実行コード、レイアウト情報、及び画面構成部品を選択している。しかし本発明はそのような実施の形態には限定されない。条件によって、実行コードの実行時に使用される実行コード、レイアウト情報、又は画面構成部品そのものを変更し、実行コードの実行経路は変更しないような実装、及びそうした方式と実行経路の変更とを組合せた実装も可能である。
[第3の実施の形態]
図13に、本願の第3の実施の形態に係るサービス提供装置1250の構成をブロック図形式で示す。図13を参照して、第3の実施の形態に係るサービス提供装置1250においては、図1のサービス提供装置100の諸機能に加え、実行コード内に、当該実行コードの実行時に使用する他の実行コード及び画面構成情報を、当該実行コードの取得時に同時に全て取得しておくか、当該実行コードの実行時に取得するかを指定する記述を含ませることができる。取得した実行コードは実行コード記憶部102に、画面構成情報は画面構成情報記憶部103に、それぞれ格納する。すなわち、本実施の形態に係るサービス提供装置では、後述するように、実行コードに実行に必要な他の実行コード及び画面構成情報を取得するタイミングを管理することができる。
図13を参照して、サービス提供装置1250は、図1に示すサービス提供装置100の管理部104に代えて、サービス取得時には、実行コード及び画面構成情報のうち実行時に取得することが示されたもの以外のものを取得し、実行時にそれら残りの実行コード及び画面構成情報を取得して実行する機能を持つ管理部1251を含む。
管理部1251は、操作卓107又はサービス開始情報取得部109から新たなサービスの取得が指示されると、当該サービスを実行するために必要な最初の実行コードをサーバから取得し、解析して、その中に記述された実行コード及び画面構成情報のうち、実行時に取得するように指示されているもの以外を取得して実行コード記憶部102及び画面構成情報記憶部103に記憶させ、管理情報記憶部111にその情報を格納するための取得部1261と、操作卓107を介してサービスの実行が指定されると、当該サービスの実行コードを実行コード記憶部102から読出し、解析して実行を開始し、実行時に取得が必要な実行コード及び画面構成情報に遭遇すると、それらを取得すべきことを示す命令を出力し、必要な実行コード及び画面構成情報が取得された時点で当該サービスの実行を再開するための実行部1262と、実行部1262から出力される命令に応答し、当該命令によって指定された実行コード及び画面構成情報を通信部101を介してサーバから取得し、それぞれ実行コード記憶部102及び画面構成情報記憶部103に格納する処理を行なうための実行時取得部1263とを含む。
図14に、サービス取得の際に、この第3の実施の形態に係るサービス提供装置1250の管理部1251の取得部1261で行なわれる処理のフローチャートを示す。図14に示すS1301〜S1303、S1305〜S1308の処理は、それぞれ図3に示すS301〜S303、S304〜S307の処理と同じである。したがって、これらについての詳細な説明は繰返さない。図14に示す処理が図3に示す処理と異なるのは、S1303(S303に相当)の後、S1304では、実行コードに含まれる他の実行コード及び画面構成情報の記述に基づき、当該他の実行コード及び画面構成情報が実行時に取得すべき情報か否かを判定する点である(取得部1261の機能に対応)。この構成情報が実行時に取得すべきものであると判定されれば、S1307に進み、それ以外の場合にはS1305に進む。すなわち、他の実行コード及び画面構成情報が実行時に取得すべきものであれば、ここでは何もしない。実行時ではなく、実行コードの取得時に取得すべきものであれば、S1305及びS1306の処理によってここで取得しておく。
図15に、サービス実行時に管理部1251の実行部1262で実行される処理を実現するためのプログラムのフローチャートを示す。図15を参照して、S1400ではサービス提供装置1250に記憶されているサービスを実行する指示を受けたかどうかを判定する。実行する指示を受けた場合はS1401に進み、受けていない場合は待ち状態となる。S1401では、選択されたサービスの実行コードを実行コード記憶部102から取得し、最初の表示画面にどの画面構成情報が必要か解析する。S1402では、最初の表示画面の表示に必要な画面構成情報が、実行時に取得すべき画面構成情報か否かを判定する。実行時に取得すべき情報であればS1403に進み、そうでなければS1404に進む。
S1403では、必要な情報を取得するよう、実行時取得部1263に指示を与える。実行時取得部1263は通信部801を介してこの情報をサーバから取得し、画面構成情報記憶部103に記憶して実行部1262に処理完了の信号を返す。この後処理はS1404に進む。
S1404では、画面構成情報記憶部103から、表示の対象となる画面構成情報を取得する。S1405では、取得した画面構成情報をもとに、表示部に画面を表示する。S1406では、実行コードにまだ解析していない部分が残っているか判定する。残っていればS1408に進み、最後まで解析が終了していればS1407に進む。S1408では、実行コードの次の表示画面に関する情報を解析し、S1402に進む。S1407では、サービスの実行を終了する。なお、例えば実行コードに条件判定によって処理を分岐させるような記述がある場合、まだ解析されていないコード部分があるにもかかわらず、実行コードの最後まで到達する場合がある。本実施の形態では、こうした場合でも、実行コードのうち実行可能な部分についての解析は全て終了したものとし、サービスを終了させる。
この例では、画面構成情報の取得のタイミングについて、サービスの取得時又はサービス実行時に限定している。しかし本発明はそのような実施の形態には限定されない。例えばサービスの取得を行なった日時が、ある所定の時期以降であった場合には、すべての実行コード及び画面構成情報をサービス取得時に取得する等、何らかの条件によって、取得のタイミングを変更できるようにしてもよい。
また上記実施の形態では、実行時に取得する以外の実行コード及び画面構成情報は、それらの実行前であれば任意のタイミングで取得してもよい。多くの場合、上記したように、そうした実行コード及び画面構成情報に遭遇した時点で取得するが、一つの実行コードの解析が終了した後、解析で見出された実行コード及び画面構成情報を、まとめて連続して取得するようにしてもよい。
この第3の実施の形態のような仕組を使えば、サービスの一部を実行時に取得することができる。したがって、一部のサービス内容が頻繁に変更されるサービスでも、変更されたサービスを実行するために必要な画面構成情報及び実行コードのみをサービス実行時に取得するようにすれば、いつでも最新のサービスを実行できる。そのため、サービス提供装置でサービス変更毎に新たにサービス一式を取得する必要がなく、通信量を軽減することができる。
上記実施の形態では、画面を切り替えるタイミングはユーザの操作によるものであることを想定している。しかし本発明はそのような実施の形態には限定されない。ある所定の時間後等、何らかの所定の条件を満たせば自動的に画面を切替えるようにしてもよい。
上記実施の形態では、S1406において、実行コードに解析していない情報が残っているかどうかでサービスの終了のタイミングを決めている。しかし本発明はそのような実施の形態には限定されない。例えば、ユーザがサービスの終了を選択した場合、又はある所定の画面まで遷移した場合、等、実行コードの最後まで到達しなくても終了させる方法も考えられる。
また、本実施の形態では、S1407において、次の表示画面に関する情報を解析している。しかしここでの「次の表示画面」とは、現在解析しているコード部分の直後のコード部分とは限らない。次の表示対象となる画面は、第2の実施の形態に記載のように、ユーザの選択や、利用状況等によって動的に変わる場合もあり得る。したがって、管理部1251の実行部1262は、次に解析すべき箇所を管理しながらS1407での解析を行なう対象となる情報を決定する。
図16〜図18を用いて、図15の処理の流れの具体定な一例を示す。図16を参照して、今、テレビジョン放送(以下「TV」と呼ぶ。)を視聴中に、番組の進行に合わせて出演者の投票を行なう投票サービスがあるものとする。ユーザは番組放送中に3回の投票を行なうものとする。サービスの実行を開始すると、管理部は画面構成情報記憶部103から画面構成情報を取得し、表示部108に画面1500を表示する。ユーザが操作すると、実行部1262は通信部101から候補者リスト情報1501を取得し、画面構成情報記憶部103に記憶させた後、候補者リスト情報1501とその他に必要な画面構成情報を取得し画面1502を表示する。
ユーザは画面1502に提示された候補者の中からいずれか一人を選択し(画面1503)、サーバに選択情報を送信してサービスを終了する(画面1504)。2回目及び3回目の投票の際も、図17に示す画面遷移1505及び図18に示す画面遷移1506のように、同様の処理が行なわれる。ただし画面遷移1505では図16の候補者リスト情報1501に代えて、一回戦の候補者の中で残った3人の候補者からなる候補者情報リストを使用し、画面遷移1506では、二回戦の候補者の中で残った2人の候補者からなる候補者情報リストを使用する。
このように本実施の形態に係るサービス提供装置によれば、ユーザが同じサービスを実行しても、実行時に取得する候補者リストの内容を変えるだけで、3回の異なる内容の処理を行なうことができる。
本実施の形態のように、TV番組の進行に合わせて視聴者からの投票を受付けるような場合、視聴者が一斉に投票を行なう。そのため、従来のように視聴者が番組のWebページにアクセスし、投票ページから投票を行なうような仕組みでは、サーバの負荷が大きくなる。ユーザがWebページにアクセスしても、ページの遷移等がスムーズに行なえず、快適にサービスが利用できなくなるおそれがある。そのため、ユーザが途中で処理を中断してしまう場合もある。また、携帯電話からサーバへアクセスしてサービスを利用しようとした場合、途中に何らかの理由で処理が中断してしまうこともある。この場合、処理を再開しようと思ったら再度最初から始めなければならない場合が多い。
しかし、本実施の形態に係る仕組みを使えば、ユーザは予めサービス利用のために必要な情報の大部分を取得しておくことができる。サービスの実行時には、必要最小限の情報だけ取得すればよい。したがってサービス実行時に多くのアクセスがサーバに集中しても、処理すべきデータ量は少なくて済み、サーバの負荷が軽減できる。したがってそのレスポンスはよくなり、ユーザはサービスを快適に利用できる。
上記実施の形態では、サーバ側ではどのユーザがどのようなサービスのための実行コード等を取得しているかについては関知していない。しかし本発明はそのような実施の形態には限定されない。サーバ側で、サービス利用に必要な実行コード等を取得済みのユーザを管理しておき、サービスの提供時にサーバから対象ユーザに情報を渡すような仕組みにしてもよい。
このように本実施の形態に係るサービス提供装置によれば、サービス実行時に、サービス実行のための一部の情報を変更することにより、最小の通信量でサービス内容を変更することができる。例えば第2の実施の形態で述べたような商品購入サービスにおいて、常にユーザに最新の商品情報を提示したり、商品の在庫情報を提示したり、新しいサービスを提供したりすることが簡単に可能である。
上記実施の形態では、実行時に画面構成情報等を取得する際には、何らの条件も課さずに取得している。しかし本発明はそのような実施の形態には限定されない。例えばサーバにある情報が、サービス提供装置に既に記憶されている情報よりも新しいかどうかを判定し、新しい場合のみ取得するようにしてもよい。また、画面構成情報等をサービス実行毎に取得するのではなく、一定期間ごとに、又は所定の条件を満たした場合のみに、取得するようにしてもよい。
なお、上記した実施の形態では、サービスの実行時に取得する画面構成情報等は、予め取得した実行コードによって定まっている。しかし本発明はそのような実施の形態には限定されない。例えば、ユーザの選択、又はサービス提供装置の環境等、何らかの条件により、サービス実行時に取得する情報を動的に変えるようにしてもよい。この機能により、例えば、サービス提供装置の表示部の画面の大きさに合わせて、提供するレイアウト情報を変える等といったサービスが可能である。
以上のように本発明の実施の形態によれば、サービス提供装置内にサービス実行に必要な実行コード及び画面構成情報を取得し、サービス提供装置においてこれらを利用してサービスを実行する。したがって、サーバに渡したくないが、利用したら各ユーザへのカスタマイズがしやすくなるような情報も利用することができる。例えば、画面の文字のサイズ、書体、背景画面の模様等を各ユーザの好みにあわせてカスタマイズできる。また、サービス提供装置がコンピュータにより実現されている場合、複数のアプリケーションを立ち上げていて、サービスを表示するための領域が狭いときには、自動でレイアウトを変える等といった対応もできる。
また、以上の実施の形態に係るサービス提供装置では、サービスの実行コードで画面構成部品を共有可能である。そのため、前述したように利用者特有の情報、例えばカードの番号、あるサービスを利用する際の識別番号等を一つの画面構成部品に記憶しておけば、実行コードはこれらの情報を用いてサービスを提供できる。その結果、Webサービスのようにサービス利用ごとにログインをする必要がなくなるという効果がある。
なお、上記した第3の実施の形態に係るサービス提供装置1250では、サービスの実行時に第2の実施の形態において行なわれたような実行コード及び構成情報の変更は行なっていない。しかし本発明はそのような実施の形態には限定されない。第3の実施の形態に係るサービス提供装置1250に、第2の実施の形態で行なわれたような実行コード又は画面構成情報の変更処理を組合わせるようにしてもよい。
上記した実施の形態に係るサービス提供装置は、いずれも汎用コンピュータにより実行されるコンピュータプログラムにより実現することができる。コンピュータは、通信装置を備えることが必要であるが、それ以外は通常の構成でよい。コンピュータプログラムの制御構造は、図2、図3、図9、図14及び図15等に示したとおりである。
今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内でのすべての変更を含む。
本発明の第1の実施の形態に係るサービス提供装置100のブロック図である。 サービス提供装置100で実行される、サービスの実行コードの取得時のプログラムのフローチャートである。 図2のS209で実行される、サービスの実行コードの取得のためのプログラムのフローチャートである。 サービス提供装置100の管理情報記憶部111の記憶内容の例を表形式で示す図である。 第1の実施の形態において、実行コードの取得前と取得後におけるレイアウト情報記憶部105及び画面構成部品記憶部106の記憶内容を示す図である。 あるサービスの実行に必要な実行コード、レイアウト情報、及び画面構成部品の例を示す図である。 図6に示すサービスを取得した後の管理情報記憶部111の記憶内容の例を表形式で示す図である。 本発明の第2の実施の形態に係るサービス提供装置800のブロック図である。 サービス提供装置800の判定部802により実行されるプログラムのフローチャートである。 実行コードの簡略化した例を示す図である。 サービス提供装置800で実行される処理の流れの一例を示す図である。 サービス提供装置800で実行される処理の流れの他の一例を示す図である。 本発明の第3の実施の形態に係るサービス提供装置1250のブロック図である。 本発明の第3の実施の形態に係るサービス提供装置1250において、サービス取得時に実行されるプログラムのフローチャートである。 第3の実施の形態に係るサービス提供装置1250のサービス実行時に実行されるプログラムのフローチャートである。 第3の実施の形態に係るサービス提供装置1250での処理の流れの一例を示す図である。 第3の実施の形態に係るサービス提供装置1250での、図16と同じサービスで、使用する画面構成情報が変化したときの処理の流れの一例を示す図である。 第3の実施の形態に係るサービス提供装置1250での、図16及び図17と同じサービスで、使用する画面構成情報がさらに変化したときの処理の流れの一例を示す図である。
符号の説明
100,800,1250 サービス提供装置、101 通信部、102 実行コード記憶部、103 画面構成情報記憶部、104,801,1251 管理部、105 レイアウト情報記憶部、106 画面構成部品記憶部、107 操作卓、108 表示装置、109 サービス開始情報取得部、110 時刻管理部、111 管理情報記憶部、151,1261 取得部、152,804,1262 実行部、802 判定部、1263 実行時取得部

Claims (30)

  1. 実行時に画面遷移を伴う実行コードを外部より入手し実行することで、複数の画面を用いたサービスを提供するサービス提供装置であって、
    表示装置と、
    サービス提供のための実行コードの提供元である他の装置と通信を行なうための通信手段と、
    前記通信手段を介して、所定の実行コードを他の装置から取得するための第1の取得手段と、
    前記第1の取得手段の入手した実行コードを記憶するための実行コード記憶手段と、
    前記実行コードの実行時に前記表示装置により表示される画面の構成を定めるための画面構成情報を記憶するための画面構成情報記憶手段と、
    任意のサービスの提供の開始時までに、当該サービスの提供に必要な実行コード及び画面構成情報が前記実行コード記憶手段及び前記画面構成情報記憶手段に記憶されるよう、前記第1の取得手段、前記実行コード記憶手段、及び前記画面構成情報記憶手段を管理し、任意のサービスを指定してサービスの提供の指示を受けたことに応答して、前記実行コード記憶手段に記憶された、指定されたサービスに対応する実行コードを、前記画面構成情報記憶手段により記憶された画面構成情報を用いて実行するための管理手段とを含む、サービス提供装置。
  2. 前記管理手段は、
    前記実行コード記憶手段に記憶された所定の実行コードの実行に必要となる画面構成情報のうち、前記画面構成情報記憶手段に記憶されていない画面構成情報を前記通信手段により取得するための手段と、
    任意のサービスを指定してサービスの提供の指示を受けたことに応答して、前記実行コード記憶手段に記憶された、指定されたサービスに対応する実行コードを、前記画面構成情報記憶手段により記憶された画面構成情報を用いて実行するための手段とを含む、請求項1に記載のサービス提供装置。
  3. 前記管理手段はさらに、前記実行コード記憶手段に記憶された所定の実行コードの実行に必要となる実行コードのうち、前記実行コード記憶手段に記憶されていない実行コードを前記通信手段により取得するための手段を含む、請求項2に記載のサービス提供装置。
  4. 前記実行コードはサービススクリプトである、請求項1〜請求項3のいずれかに記載のサービス提供装置。
  5. 前記実行コードはバイナリコードである、請求項1〜請求項3のいずれかに記載のサービス提供装置。
  6. 前記実行コード及び前記画面構成情報の各々にはそれぞれ識別可能な識別子が付与され、
    前記サービス提供のための実行コードには、当該実行コードの実行時に使用される実行コードの識別子、又は当該実行コードの実行時に使用される画面構成情報の識別子が関連付けられており、
    前記管理手段は、前記実行コードの各々に関連付けられた識別子、及び前記画面構成情報の各々に付与された識別子に基づいて、前記第1の取得手段、前記実行コード記憶手段、及び前記画面構成情報記憶手段の管理を行なう、請求項1〜請求項5のいずれかに記載のサービス提供装置。
  7. 前記画面構成情報は、画面の構成要素となる画面構成部品と、画面構成部品の画面上のレイアウトを規定するレイアウト情報とを含む、請求項1〜請求項6のいずれかに記載のサービス提供装置。
  8. 前記レイアウト情報には、当該レイアウトにしたがって表示される画面構成部品の識別子が対応付けられており、
    前記管理手段は、サービス提供のための実行コードに含まれるレイアウト情報が使用する画面構成部品の識別子に基づき、前記第1の取得手段、前記実行コード記憶手段、及び前記画面構成情報記憶手段の管理を行なう、請求項7に記載のサービス提供装置。
  9. 前記実行コードは、他の実行コードを呼出すコードを含むことがあり、
    前記管理手段は、任意のサービスの提供の開始時までに、当該サービスの提供に必要な実行コード、当該実行コードによって呼出される実行コード、及び画面構成情報が前記実行コード記憶手段及び前記画面構成情報記憶手段に記憶されるよう、前記第1の取得手段、前記実行コード記憶手段、及び前記画面構成情報記憶手段を管理し、任意のサービスを指定してサービスの提供の指示を受けたことに応答して、前記実行コード記憶手段に記憶された、指定されたサービスに対応する実行コードを、前記画面構成情報記憶手段により記憶された画面構成情報を用いて実行するための手段を含む、請求項1〜請求項8のいずれかに記載のサービス提供装置。
  10. 前記管理手段は、所定の条件に応じて前記画面構成情報記憶手段に記憶された画面構成情報の内容を変更する、請求項1〜請求項9のいずれかに記載のサービス提供装置。
  11. 前記実行コードは、所定の条件に応じてサービス実行時に使用する実行コード又は画面構成情報を変更する記述を含むことがあり、
    前記管理手段は、
    任意のサービスの提供の開始時までに、当該サービスの提供に必要な実行コード及び画面構成情報が前記実行コード記憶手段及び前記画面構成情報記憶手段に記憶されるよう、前記第1の取得手段、前記実行コード記憶手段、及び前記画面構成情報記憶手段を管理するための手段と、
    任意のサービスを指定してサービスの提供の指示を受けたことに応答して、前記実行コード記憶手段に記憶された、指定されたサービスに対応する実行コードを、前記画面構成情報記憶手段により記憶された画面構成情報を用いて実行するための実行手段とを含み、
    当該実行手段は、実行対象となる実行コードの記述にしたがって、前記サービス実行時に使用する実行コード又は画面構成情報を変更する、請求項1に記載のサービス提供装置。
  12. 前記実行コードは、所定の条件に応じてサービス実行時に使用する実行コードの実行経路を変更する記述を含むことがあり、
    前記管理手段は、
    任意のサービスの提供の開始時までに、当該サービスの提供に必要な実行コード及び画面構成情報が前記実行コード記憶手段及び前記画面構成情報記憶手段に記憶されるよう、前記第1の取得手段、前記実行コード記憶手段、及び前記画面構成情報記憶手段を管理するための手段と、
    任意のサービスを指定してサービスの提供の指示を受けたことに応答して、前記実行コード記憶手段に記憶された、指定されたサービスに対応する実行コードを、前記画面構成情報記憶手段により記憶された画面構成情報を用いて実行するための実行手段とを含み、
    当該実行手段は、実行対象となる実行コードの記述にしたがって、前記サービス実行時の実行コードの実行経路を変更する、請求項1に記載のサービス提供装置。
  13. 前記通信手段を介して、所定のサービス提供元の装置にアクセスし、当該サービス提供元の装置において新たなサービスの提供が開始されたことを検知すると、前記第1の取得手段に、当該新たなサービスを提供するための実行コードの取得を行なわせるためのサービス開始情報取得手段をさらに含む、請求項1〜請求項12のいずれかに記載のサービス提供装置。
  14. 前記サービス開始情報取得手段は、定期的に前記所定のサービス提供元の装置にアクセスし、当該サービス提供元の装置において新たなサービスの提供が開始されたことを検知すると、前記第1の取得手段に、前記所定のサービス提供元から当該新たなサービスを提供するための実行コードを取得させるための手段を含む、請求項13に記載のサービス提供装置。
  15. 前記サービス開始情報取得手段は、
    ユーザによる、サービスの取得の指示を受けるための手段と、
    当該ユーザの指示に応答して、指定されたサービスの提供元の装置にアクセスし、当該サービス提供元の装置から前記指定されたサービスを提供するための実行コードを、前記第1の取得手段に取得させるための手段を含む、請求項13に記載のサービス提供装置。
  16. 前記第1の取得手段が実行コードを他の装置から取得するに先立ち、前記第1の取得手段により取得される実行コードに付随する実行コード及び画面構成情報を記憶するために必要な容量以上の容量を前記実行コード記憶手段又は画面構成情報記憶手段内に確保する処理を行なうための容量確保手段をさらに含む、請求項1〜請求項15のいずれかに記載のサービス提供装置。
  17. 前記容量確保手段は、
    前記第1の取得手段が実行コードを他の装置から取得するに先立ち、前記実行コード記憶手段に記憶された実行コードのうち、所定の条件を充足するものに付随する実行コード及び画面構成情報を、それぞれ前記実行コード記憶手段及び画面構成情報記憶手段から削除するための手段と、
    前記実行コード記憶手段及び前記画面構成情報記憶手段に、前記第1の取得手段により取得される実行コードに付随する実行コード及び画面構成情報を記憶するために必要な容量以上の容量が得られるまで、前記削除手段を繰返し動作させるための手段とを含む、請求項16に記載のサービス提供装置。
  18. 前記所定の条件は、最後に実行されてからの期間が最も長い実行コードであるという条件である、請求項17に記載のサービス提供装置。
  19. 前記所定の条件は、利用回数が最も少ない実行コードであるという条件である、請求項17に記載のサービス提供装置。
  20. 前記所定の条件は、前記実行コード記憶手段に記憶されてからの期間が最も長い実行コードであるという条件である、請求項17に記載のサービス提供装置。
  21. 前記所定の条件は、使用頻度が所定の値以下である実行コードであるという条件である、請求項17に記載のサービス提供装置。
  22. 前記容量確保手段は、最後に使用してから所定期間以上経過したサービスについて、当該サービスを提供するための実行コード又は画面構成情報の少なくとも一部を削除するための手段を含む、請求項16に記載のサービス提供装置。
  23. サービスには、サービスの提供可能期間を示す情報が付与されていることがあり、
    前記提供可能期間が過ぎたサービスに関連する実行コード又は画面構成情報の少なくとも一部を前記実行コード記憶手段又は前記画面構成情報記憶手段から削除するための手段をさらに含む、請求項1〜請求項22のいずれかに記載のサービス提供装置。
  24. サービスには、サービスの提供可能回数を示す情報が付与されていることがあり、
    前記サービス提供装置において、少なくとも前記サービスの提供可能回数を示す情報が付加されているサービスについての提供回数を計数するための計数手段と、
    前記計数手段による計数によって、提供可能回数だけ提供されたサービスに関連する実行コード又は画面構成情報の少なくとも一部を削除するための手段をさらに含む、請求項1〜請求項23のいずれかに記載のサービス提供装置。
  25. サービス提供のための実行コードには、当該実行コードの実行に必要な他の実行コード又は画面構成情報を取得すべきときを示す取得時期情報が付されていることがあり、
    前記管理手段は、
    前記第1の取得手段により取得された実行コードに記述されている他の実行コード又は画面構成情報であって、前記取得時期情報が付されたものを検出するための取得時期情報検出手段と、
    前記第1の取得手段により取得された実行コードに記述されている他の実行コード又は画面構成情報であって、前記取得時期情報が付されていないものについては、任意のタイミングで取得するための第2の取得手段と、
    前記取得時期情報検出手段により前記取得時期情報が付されているとして検出された他の実行コード又は画面構成情報を、当該取得時期情報にしたがった時期に取得して前記実行コード記憶手段又は前記画面構成情報記憶手段にそれぞれ記憶させるための第3の取得手段と、
    任意のサービスを指定してサービスの提供の指示を受けたことに応答して、前記実行コード記憶手段に記憶された、指定されたサービスに対応する実行コードを、前記画面構成情報記憶手段により記憶された画面構成情報を用いて実行するための実行手段とを含む、請求項1に記載のサービス提供装置。
  26. 前記第2の取得手段は、前記第1の取得手段により取得された実行コードに記述されている他の実行コード又は画面構成情報であって、前記取得時期情報が付されていないものを、前記第1の取得手段による前記実行コードの取得の後、順次連続して取得するための手段を含む、請求項25に記載のサービス提供装置。
  27. 前記取得時期情報は、前記サービス提供のための実行コードの実行時に、前記他の実行コード及び前記画面構成情報を取得すべきことを示し、
    前記第3の取得手段は、前記実行手段が前記指示を受けたことに応答して、当該指示により指定されたサービスの提供のための実行コードの実行に必要な他の実行コード及び画面構成情報を、前記通信手段を介して他の装置から取得し、前記実行コード記憶手段及び前記画面構成情報記憶手段にそれぞれ記憶させるための手段を含む、請求項25に記載のサービス提供装置。
  28. 前記取得時期情報は、前記サービス提供のための実行コードの提供元から所定の通知を受けたことに応答して、前記他の実行コード及び前記画面構成情報を当該提供元から取得すべきことを示し、
    前記第3の取得手段は、前記通信手段によって、前記提供元から前記所定の通知を受けたことに応答して、当該通知により指定されたサービスの提供のための実行コードの実行に必要な他の実行コード及び画面構成情報を、前記通信手段を介して前記提供元から取得し、前記実行コード記憶手段及び前記画面構成情報記憶手段にそれぞれ記憶させるための手段を含む、請求項25に記載のサービス提供装置。
  29. 表示装置及び通信装置が接続されるコンピュータにより実行されると、前記コンピュータを、
    前記通信装置を介して、所定のサービス提供のための実行コードを他の装置から取得するための第1の取得手段と、
    前記第1の取得手段の入手した実行コードを記憶するための実行コード記憶手段と、
    前記実行コードの実行時に前記表示装置により表示される画面の構成を定めるための画面構成情報を記憶するための画面構成情報記憶手段と、
    任意のサービスの提供の開始時までに、当該サービスの提供に必要な実行コード及び画面構成情報が前記実行コード記憶手段及び前記画面構成情報記憶手段に記憶されるよう、前記第1の取得手段、前記実行コード記憶手段、及び前記画面構成情報記憶手段を管理し、任意のサービスを指定してサービスの提供の指示を受けたことに応答して、前記実行コード記憶手段に記憶された、指定されたサービスに対応する実行コードを、前記画面構成情報記憶手段により記憶された画面構成情報を用いて実行するための管理手段とを含む、サービス提供装置として機能させる、コンピュータプログラム。
  30. 請求項29に記載のコンピュータプログラムを記録した、コンピュータ読取可能な記録媒体。
JP2006138196A 2006-05-17 2006-05-17 サービス提供装置、コンピュータプログラム及び記録媒体 Pending JP2007310596A (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2006138196A JP2007310596A (ja) 2006-05-17 2006-05-17 サービス提供装置、コンピュータプログラム及び記録媒体
PCT/JP2007/059358 WO2007132677A1 (ja) 2006-05-17 2007-05-02 サービス提供装置
US12/301,004 US8005931B2 (en) 2006-05-17 2007-05-02 Service providing apparatus
CNA2007800269266A CN101490657A (zh) 2006-05-17 2007-05-02 服务提供装置
EP07742793.8A EP2023251A4 (en) 2006-05-17 2007-05-02 SERVICE PROVISION DEVICE

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006138196A JP2007310596A (ja) 2006-05-17 2006-05-17 サービス提供装置、コンピュータプログラム及び記録媒体

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2008323170A Division JP2009076099A (ja) 2008-12-19 2008-12-19 サービス提供装置

Publications (1)

Publication Number Publication Date
JP2007310596A true JP2007310596A (ja) 2007-11-29

Family

ID=38693776

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006138196A Pending JP2007310596A (ja) 2006-05-17 2006-05-17 サービス提供装置、コンピュータプログラム及び記録媒体

Country Status (5)

Country Link
US (1) US8005931B2 (ja)
EP (1) EP2023251A4 (ja)
JP (1) JP2007310596A (ja)
CN (1) CN101490657A (ja)
WO (1) WO2007132677A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11553250B2 (en) * 2008-09-02 2023-01-10 Comcast Cable Communications, Llc Updating application code
US9634918B2 (en) 2012-12-13 2017-04-25 Level 3 Communications, Llc Invalidation sequencing in a content delivery framework
US10652087B2 (en) 2012-12-13 2020-05-12 Level 3 Communications, Llc Content delivery framework having fill services
US10791050B2 (en) 2012-12-13 2020-09-29 Level 3 Communications, Llc Geographic location determination in a content delivery framework
US10701148B2 (en) 2012-12-13 2020-06-30 Level 3 Communications, Llc Content delivery framework having storage services
US10701149B2 (en) 2012-12-13 2020-06-30 Level 3 Communications, Llc Content delivery framework having origin services
US9634904B2 (en) 2012-12-13 2017-04-25 Level 3 Communications, Llc Framework supporting content delivery with hybrid content delivery services
US20140337472A1 (en) 2012-12-13 2014-11-13 Level 3 Communications, Llc Beacon Services in a Content Delivery Framework
KR20140106991A (ko) * 2013-02-27 2014-09-04 삼성전자주식회사 휴대 단말기에서 애플리케이션을 제공하는 장치 및 방법
US10348589B2 (en) * 2015-06-15 2019-07-09 Netflix, Inc. Managing networks and machines that deliver digital content

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10260873A (ja) 1997-03-18 1998-09-29 Toshiba Corp 容量管理システムおよび容量管理方法
JPH11102289A (ja) * 1997-09-26 1999-04-13 Hitachi Software Eng Co Ltd 業務処理用画面生成方法
US6230184B1 (en) 1998-10-19 2001-05-08 Sun Microsystems, Inc. Method and apparatus for automatically optimizing execution of a computer program
JP3542930B2 (ja) 1999-07-30 2004-07-14 インターナショナル・ビジネス・マシーンズ・コーポレーション 表示情報確定方法及び装置、表示情報確定のためのソフトウエア・プロダクトを格納した記憶媒体
US6546554B1 (en) 2000-01-21 2003-04-08 Sun Microsystems, Inc. Browser-independent and automatic apparatus and method for receiving, installing and launching applications from a browser on a client computer
JP2002007134A (ja) 2000-06-26 2002-01-11 Denso Corp プログラム導入システム
US20020087630A1 (en) * 2000-10-20 2002-07-04 Jonathan Wu Enhanced information and presence service
JP2002366352A (ja) 2001-06-11 2002-12-20 It Forest Corp Webアプリケーション開発支援装置
JP2003319370A (ja) 2002-04-25 2003-11-07 Oki Electric Ind Co Ltd コンテンツ提供方法及びシステム、コンテンツ提供端末、コンテンツ再生装置、コンテンツ管理システム並びにコンテンツ提供システムの制御用プログラム
US7136885B2 (en) * 2002-12-20 2006-11-14 International Business Machines Corporation Free space management
US7178101B2 (en) * 2003-06-24 2007-02-13 Microsoft Corporation Content template system
JP2005202518A (ja) 2004-01-13 2005-07-28 Sanyo Electric Co Ltd アダプタ
US7702746B2 (en) * 2005-04-21 2010-04-20 International Business Machines Corporation Web services response templates

Also Published As

Publication number Publication date
WO2007132677A1 (ja) 2007-11-22
US8005931B2 (en) 2011-08-23
EP2023251A1 (en) 2009-02-11
EP2023251A4 (en) 2014-09-03
CN101490657A (zh) 2009-07-22
US20090187647A1 (en) 2009-07-23

Similar Documents

Publication Publication Date Title
JP2007310596A (ja) サービス提供装置、コンピュータプログラム及び記録媒体
KR102255138B1 (ko) 메시지 처리 방법과 장치, 저장 매체, 및 컴퓨터 장치
US8392840B2 (en) Large sets of data
US8996711B2 (en) Controlling web page advertisement through incentives and restrictions
US20160154827A1 (en) Terminal apparatus, information processing system, and information processing method
US20230308504A9 (en) Method and system of application development for multiple device client platforms
CN102937999A (zh) 动态浏览器图标
KR20120050986A (ko) 사용자 인터페이스 표시 방법 및 그를 수행하는 장치
CN103685528A (zh) 信息展示方法和装置
KR20150083336A (ko) 서버 장치, 그 서버장치의 서비스 제공방법, 디스플레이 장치 및 그 디스플레이 장치의 표시 방법
CN103733635A (zh) 显示装置和使用该显示装置提供内容的方法
CN101978674A (zh) 用于显示由客户端生成的信息的方法
EP3125541A1 (en) Data acquisition and interaction method, set top box, server and multimedia system
US9264669B2 (en) Content management that addresses levels of functionality
CN102142004B (zh) 业务处理方法和业务引擎
JP2009076099A (ja) サービス提供装置
CN101911027A (zh) 信息提供设备、信息显示设备、信息提供系统、信息提供方法、程序、及存储有程序的计算机可读存储介质
CN112328140B (zh) 图像输入方法及其装置、设备、介质
CN115061785A (zh) 信息下发方法、装置、存储介质及服务器
CN101432735A (zh) 用于管理图形情景中的结构数据的方法、设备和系统
CN114025220A (zh) 一种多版本iptv的控制系统及方法
JP2007122647A (ja) プログラムデータ提供方法、プログラムデータ提供システム及びプログラムデータ提供装置
US20070168952A1 (en) Methods for producing, transferring, and renewing virtual machine applications using flash, and system thereof
JP5514224B2 (ja) クライアント端末、コンテンツ利用システム、データ送受信方法、プログラム、および記録媒体
EP1521174A1 (en) Service safely-extensible platform

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071005

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081021

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081212

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090310