JPWO2003107182A1 - サービス安全拡張プラットフォーム - Google Patents

サービス安全拡張プラットフォーム Download PDF

Info

Publication number
JPWO2003107182A1
JPWO2003107182A1 JP2004513932A JP2004513932A JPWO2003107182A1 JP WO2003107182 A1 JPWO2003107182 A1 JP WO2003107182A1 JP 2004513932 A JP2004513932 A JP 2004513932A JP 2004513932 A JP2004513932 A JP 2004513932A JP WO2003107182 A1 JPWO2003107182 A1 JP WO2003107182A1
Authority
JP
Japan
Prior art keywords
service
execution format
identification
content
dependent
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
JP2004513932A
Other languages
English (en)
Inventor
片岡 充照
充照 片岡
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Publication of JPWO2003107182A1 publication Critical patent/JPWO2003107182A1/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

実行形式に不正アクセスを引き起こす処理が含まれることを否定する必要無く、デジタルコンテンツの提供サービスを実現する実行形式による不正アクセスの排除できる、サービスの拡張可能な全く新しいサービス安全拡張プラットフォームを提供することを目的とする。サービス(S)と実行形式(DE)とが対応付けられており、前記実行形式(DE)の変更や追加によって前記サービス(S)の拡張が達成されるサービス安全拡張プラットフォーム(SEP)は、サービスの拡張を行うサービス依存APIを備え、かつ実行形式(DE)からのサービスの拡張はサービス依存APIの呼び出しによってのみ行われる。

Description

技術分野
デジタルコンテンツの提供サービスを実現する実行形式による不正アクセスの排除を、実行形式に不正アクセスを引き起こす処理が含まれることを否定する必要無く達成するという、新次元の安全性を実現した、サービスの拡張可能な全く新しい「サービス安全拡張プラットフォーム」に関する。詳述すれば、実行形式の配布元の確からしさからの推測を必要とせずに、他のサービスの状態変更、データ破壊、およびプラットフォーム自体のシステムダウンなどに代表される不正アクセスを排除できると共に、実行形式の変更や追加によってサービスの機能/諸元の変更や新規サービスの追加というサービス拡張も達成できるサービス安全拡張プラットフォームに関する。
背景技術
上述の如く、本発明が提供するものは、従来にない全く新しく提供する「サービス安全拡張プラットフォーム」であるので、従来の技術として示すべき適切な例を挙げるのは非常に困難である。それゆえに、先ず、本発明が初めて提唱すると信じるサービス安全拡張プラットフォームが固有に備える3つの主な特徴について以下に述べる。第1の特徴はサービスの拡張性であり、第2の特徴は安全性の確保であり、そして第3の特徴はサービス拡張操作のシームレス化である。
第1の特徴である「サービスの拡張性」とは、サービス毎に異なるユーザインタフェースを持ち、ユーザインタフェースの変更や予期せぬサービスの追加が任意の時点で可能であることを言う。第2の特徴である「安全性の確保」とは、実行形式に不正アクセスを引き起こす処理が含まれることの否定を必要とせずに安全性が確保されることを言う。そして、第3の特徴である「サービス拡張操作のシームレス化」とは、サービス拡張のための操作手順が、サービスの利用時と同じ操作感のもとに行えることを言う。
上述のように、これら3つの主な特徴を全て満たす「サービス安全拡張プラットフォーム」を、従来技術において見いだすことはできない。しかしながら、強いて言えば、第1の特徴のみを満たすものとして、パーソナルコンピュータを利用してインターネットによるプッシュ型サービスを従来技術の一例として挙げることができる。ポイントキャストネットワーク社のポイントキャスト(R)は、ニュース配信サービスを実現したプッシュ型サービスである。パーソナルコンピュータを利用する複数のプッシュ型サービスの利用は、機械語で記述されたサービス毎に実装したブラウザをパーソナルコンピュータへのインストールすることに可能となる。
ここで、プッシュ型サービスにおける、本発明の第1の特徴である「サービスの拡張性」について説明する。プッシュ型サービスを実現するブラウザをパーソナルコンピュータのハードディスクにインストールすることで新たなサービスを追加することができる。ブラウザは機械語で記述されたコンピュータプログラムであり、サービス毎に固有のそれぞれ異なるユーザインタフェースを提供する。
ブラウザのインストールは、従来、以下の様にして行われる。例えば、ブラウザをインストールする際には、先ず、ファイル転送プロトコル(例:ftp)のクライアントを起動しておき、ブラウザをクライアントのハードディスクなどにダウンロードし、次にダウンロードしたブラウザを起動することで実現される。また、新たなブラウザを利用する前には、ブラウザの設定を、ブラウザに組み込まれた設定メニューで操作して実現する。
次に、本発明の第2の特徴である「安全性の確保」に関しては、従来は単なる憶測に基づくものであって、具体的な方策の裏付けを有するものではない。つまり、従来、ブラウザが安全であるということは、ブラウザが公式ホームページなど正式な配布先より入手したものであるので、悪意のある第3者がコンピュータウィルスなどを感染させてないはずだという単なる願望に過ぎない。
そして、サービスによる高度な提示機能を意味する本発明の第3の特徴である「サービス拡張操作のシームレス化」に関しては、従来の技術においては、サービス毎にブラウザを変更することで異なるユーザインタフェースを実現する。結果、操作のシームレス化の一部を構成するために必要な、複数サービスに対し異なるユーザインタフェースを持つ要件は満される。
図18を参照して、上述のようなサービスの拡張は可能であるが安全ではない、従来のサービスプラットフォームについて具体的に説明する。同図に示すように、従来のサービスプラットフォームPFcは、サービス提供源1610、デリバリシステム120、および端末1630とを含む。サービス提供源1610は、実行ファイル提供器1111およびファイル転送サーバ1611を含む。実行ファイル提供器1111は実行ファイルを格納したハードディスク装置でよい。また、ファイル転送サーバ1611はWebサーバでよい。なお、実行ファイルとは、図19を参照して後述するように、端末1630のOSに直接渡して、実行されるプログラムファイルに代表されるバイナリデータである。
デリバリシステム120は、サービス提供源1610から送られる実行ファイルを空間的または時間的にはなれた端末1630に向けて伝送する。
端末1630は、エクセキュータ1133および実行ファイル格納器1132を含む。エクセキュータ1133は、実行ファイル格納器1132に格納された実行ファイルを起動することで端末1630におけるあらゆる処理を実行する。例えば、実行ファイルとしてファイル転送プログラムを起動した場合には、デリバリシステム120を経由して受信した、新たなサービスを実現する実行ファイルを実行ファイル格納器1132に格納させる。また、サービスを実現する実行ファイルを実行させれば、サービスをユーザに提供できる。
図19に、サービスプラットフォームPFcにおいて、実行ファイル格納器1132に格納されるデータを例示する。サービスS1の実行ファイルであるFE(S1)およびサービスS2の実行ファイルであるFE(S2)に並んで、実行ファイルの起動などのプラットフォーム操作を行うユーザインタフェースを提供するshellの実行ファイルFE(shell)や、新たなサービスを実現する実行ファイルFEをデリバリシステム120経由で端末1630に導入するファイル転送プログラムであるFE(ファイル転送)が実行ファイル格納器1132内に格納されている。これらの実行ファイルは何れも機械語で実装される。
図20に、サービスプラットフォームPFcのソフトウェア階層を示す。同図から読みとれるように、サービスプラットフォームPFcにおいて、ファイル転送実行ファイルを起動することで、あらゆるサービスを実現する実行ファイルを新たに導入できる。このように、OS(Operating System)が構成するOS層の直上に、実行ファイルによってアプリケーション層が構成されている。結果、サービスを実現する実行ファイルが直接OSのリソースを参照したり操作したりできる。それゆえに、OSは、悪意を持った実行ファイルに対して無防備であるので、サービスプラットフォームPFcはとうてい安全とは言えない。
また、本発明の第1の特徴である「サービスの拡張性」に関しては、新たなサービスの単純な導入は可能であるが、本発明が提供するコンテンツの視聴とシームレス化した新たなサービスの導入については、従来は不可能である。つまり、コンテンツの視聴と新たなサービスの導入とにおける操作性は、その見かけも手順も全く異なる。例えば、従来は、ブラウザをインストールする際には、ファイル転送プロトコルのクライアントを起動し、ブラウザをクライアントのハードディスクなどにダウンロードし、次にダウンロードしたブラウザを起動しなければならない。また、新たなブラウザを利用する前には、ブラウザの設定を、ブラウザによるコンテンツの視聴画面とは全く別の使い勝手の設定メニューを操作しなければならない。
また、従来は、全てのサービスに対して、共通のユーザーインタフェースを利用して機能拡張が行われる。そのために、サービス拡張するために、プログラムをインストールする際に必要な各種パラメータ(インストール先のディレクトリやユーザ名等)の入力が、全サービスで必要なパラメータの和集合となってしまう。そのために、特定のサービスの拡張プログラムをインストールするために、本来不要なパラメータの入力まで、ユーザに求めてしまうことがある。
一方、本発明にかかるサービス安全拡張プラットフォームが提供するサービスの柔軟な拡張性は、ブラウザを終了したり、コンテンツの視聴と全く異なる使い勝手の手順を踏むことなく、あくまでもコンテンツの視聴と同じ操作の使い勝手の中でサービスの拡張を行えることである。すなわち、サービスの拡張のためだけの特別な使い勝手の操作をユーザに強要することなく、ユーザが最も慣れているであろうコンテンツの視聴と同じ使い勝手で、あたかも、通常の操作の延長として、サービスが拡張されていく状況を達成するものである。しかしながら、このように拡張性は、従来のサービスプラットフォームの提供できることではないことは上述の通りであり、そのために、全く新しいサービス拡張の実現方法が求められている。
次に、本発明の第2の特徴である「安全性の確保」に関しても、正式な配布先から入手したブラウザでもバグによって、他のプッシュ型サービスの動作に悪影響を与えたり、システム全体をダウンさせたりすることも少なくないのが現実である。そのため、従来においては、ブラウザのバイナリに正当性がある、すなわち、ブラウザのバイナリに不正アクセスの処理が含まれないであろうことを少なくとも保証する必要がある。しかし、その保証はあくまでも信頼関係に基づくものであって、ブラウザのバイナリに不正アクセス処理が含まれていないことを確実にするものではない。
一方、本発明にかかるサービス安全拡張プラットフォームが提供する安全性は、如何なる実行形式(従来例でのブラウザに対応)の実行によっても、他のサービスへの悪影響や、システム全体のダウンを起こさない、全く新しい次元の安全性である。当然、従来の技術においては、このように方式は存在せず、それゆえに全く新しい実現方法が求められているものである。
さらに、本発明の第3の特徴である高度な提示機能を実現する「サービス拡張操作のシームレス化」に関しても、従来の技術ではサービス管理とコンテンツの視聴とのシームレス化は不可能である。その原因は、サービス管理はブラウザの設定メニューで行われていることにある。つまり、サービスの管理に関わることは、コンテンツの視聴画面では行えないのである。
一方、本発明にかかるサービス安全拡張プラットフォームが提供するサービスによる高度な提示機能は、コンテンツにサービスの設定を含めることで、コンテンツ視聴と同一の使い勝手の中で、コンテンツの持つ高度な表現を持ち、かつ、サーバから自由に提示内容を設定することを可能とする。
例えば、アンケートに記述しサーバに向けて回答を返信するといった、高度な記述能力を使用したコンテンツにサービスの設定機能を組み合わせることで、アンケートにユーザが興味にある内容を回答することで、自動的にコンテンツの取捨選択を行うためのユーザの嗜好情報が設定されると言った高度な提示機能を実現できる。また、ユーザにとっては、 どこまでがコンテンツなのか、サービスの設定なのかを全く意識させることなく、高度な設定を簡単な操作で行える。
当然、従来の技術においては、本発明にかかるサービス安全拡張プラットフォームが提供するサービスによる高度な提示機能を実現する方式が存在せず、それゆえに全く新しい実現方法が求められているものである。
よって、本発明は、上述の3つの特徴を実現するサービス安全拡張プラットフォームを提供することを目的とする。
発明の開示
本発明は、上記のような目的を達成するために、以下に述べるような特徴を有している。
第1の局面は、サービスと実行形式とが対応付けられており、実行形式の変更や追加によってサービスの拡張が達成されるサービス安全拡張プラットフォームであって、サービスの拡張を行うサービス依存APIを具備し、かつ実行形式からのサービスの拡張はサービス依存APIの呼び出しによってのみ行われることを特徴とする。
上述のように、第1の局面においては、実行形式の正当性に依らない安全性が確保できる。
第2の局面は、第1の局面において、サービスの拡張が新規サービスの新設であることを特徴とする。
第3の局面は、第1の局面において、サービスの拡張がサービス利用開始であることを特徴とする。
第4の局面は、第1の局面、第2の局面、および第3の局面の何れかにおいて、注目するサービスの拡張は、注目するサービスに対応付けられた実行形式からのサービス依存APIの呼び出しによってのみ行われることを特徴とする。
第5の局面は、第1の局面、第2の局面、および第3の局面の何れかにおいて、複数のサービス間に親子関係が定義され、実行形式が要求するサービス依存API呼び出しがサービスに対応付けられるサービス依存リソースを処理対象として指定した際に、実行形式に対応付けられるサービスがサービスの先祖である場合にのみ、サービス依存リソースに対して処理可能であることを特徴とする。
第6の局面は、第1の局面、第2の局面、および第3の局面の何れかにおいて、メタサービスに対応付けられた実行形式がサービス依存APIによって、サービスの少なくとも1つが拡張可能なことを特徴とする。
第7の局面は、第6の局面において、メタサービスに対応付けられた実行形式がサービス依存APIによって、サービスの全てが拡張可能であり、メタサービスに対応付けられていない実行形式(DE)はサービス依存APIによってサービスの拡張が不可能であることを特徴とする。
第8の局面は、第1の局面、第2の局面、および第3の局面の何れかにおいて、実行形式がコンテンツとして満たすべき条件を満たした制御コンテンツであり、制御コンテンツ(DC)がコンテンツの少なくとも1つと共にコンテンツとして伝送され、コンテンツ(DC)の少なくとも1つから制御コンテンツを指定する情報が伝送され、制御コンテンツによってのみサービス依存APIの処理が可能であることを特徴とする。
第9の局面は、第8の局面において、サービス依存APIによって、特定のサービスのコンテンツ(DC)の自動的な格納が制御されることを特徴とする。
第10の局面は、第1の局面、第2の局面、第3の局面、第4の局面、第5の局面、第6の局面、第7の局面、第8の局面、および第9の局面の何れかにおいて、実行形式を少なくとも1つのサービス提供部に送出し、実行形式を実行する少なくとも1つの端末で受信することを特徴とする。
なお、本局面の一実施の形態においては、ブラウザを終了したり、コンテンツの視聴と全く異なる使い勝手の手順を踏むことなく、あくまでコンテンツの視聴と同じ操作の使い勝手の中でサービスの拡張を行える。すなわち、サービスの拡張のためだけの特別の使い勝手の操作をユーザに強要することなく、ユーザが最も慣れているであろうコンテンツの視聴と同じ使い勝手のうえで、いわば、いつの間にかサービスが拡張されている状況を達成できる。
また、如何なる実行形式(従来例でのブラウザに対応)の実行によっても、他のサービスへの悪影響や、システム全体のダウンを起こさない、全く新しい次元の安全性を達成できる。
さらに、異なる実施の形態においては、コンテンツにサービスの設定を含めることで、コンテンツ視聴と同一の使い勝手の中で、コンテンツの持つ高度な表現を持ち、かつ、サーバから自由に提示内容を設定できる機能である。そして、ユーザにとっては、どこまでがコンテンツなのか、サービスの設定なのかを全く意識させることなく、高度な設定を簡単な操作で行える。
発明を実施するための最良の形態
先ず、本発明にかかるサービス安全拡張プラットフォームの基本的概念について説明する。本発明にかかるサービス安全拡張プラットフォームにおいて、サービスは、従来のようなOSによって直接実行される、例えばバイナリの実行ファイルではなく、OSに対する実行を指示するエクセキュータにより解釈されるいわばスクリプトとして構成される実行形式として構成される。そして、実行形式は、API呼び出しを含み、所定のサービスに対応付けられる。
APIは、呼び出し時に、対応付けられたサービスに依存した挙動をするサービス依存である。サービス依存APIは、含まれる実行形式に対応付けられたサービスに固有のリソースに対して処理する。また、実行形式からリソースへのあらゆる処理はAPI経由に限定され、かつ、サービス依存APIにより処理されるリソースに対して処理を行うサービス依存API以外のAPIは存在しない。また、実行形式内に記述するAPIのセットは、全てのサービスに対し共通に予め用意されたものであり、同一である。
このように構成することによって、従来における実行ファイル(あるいは本発明における実行形式)の正当性に依らない新次元の安全性を確保し、サービスの拡張が可能な全く新しい「サービス安全拡張プラットフォーム」を創出する。同プラットフォームにおいては、サービスを実現する実行形式の一例であるブラウザを動作させることで、サービスのインスタンスであるコンテンツが視聴できる。コンテンツの通常の視聴は、コンテンツに含まれるAPIを逐次的に呼び出して実現される。そのために、実行形式(ブラウザ)は、APIの一種であるサービス依存APIを含んで構成される。つまり、コンテンツの視聴の最中に、サービス依存APIが呼び出されることで、サービスが拡張される。結果、本発明においては、サービスの拡張は、ユーザにはコンテンツの視聴操作の一つとして見える。
サービスを拡張するユーザインタフェースは、サービス依存APIを含む実行形式によって決定される。実行形式をサービスに対応付けることで、個々のサービスのそれぞれに適したユーザインタフェースを利用してサービスが拡張できる。
サービス拡張のユーザインタフェースを、サービス毎に最適に構成できる。例えば、プッシュ型サービス/蓄積型放送サービスの場合、同サービスの会員の中で、特定の会員のみ加入可能なプレミアムサービスの契約を、通常のサービスのコンテンツを利用してそのような特定の会員のみに対して勧誘できる。つまり、目的などに応じてユーザインタフェースを必要十分にカスタマイズできるので、より適切且つ強力にサービスの勧誘が出来る。
携帯電話等で利用されるJavaアプリ(iアプリ等)に本発明を適応すれば、ユーザが購読しているサービスを実現するアプリケーションソフトウェアに、サービスの機能を拡張するプログラムを記述することで、同サービスの機能拡張を実現できる。例えば、スキンなどのiアプリの機能をプラグイン的に拡張する操作をiアプリ自身で実現できる。
更には、コンテンツ内に含まれるスクリプトに条件判断として、問いかけに応答して受信機の型番やメーカの種別を表す文字列を返すAPIを呼び出すようにコンテンツを記述することで、受信機の型番やメーカ毎にユーザインタフェースを変化させることができる。
また、デジタル放送におけるペイパービュー番組に適応すれば、配信コンテンツに適切なアルゴリズム記述することで、おためし無料視聴が可能な期間やチャンネルをコンテンツにプログラミングしたアルゴリズムによって管理できる。デジタル放送でのペイパービュー番組の場合、ペイパービューのチャンネルのデータ放送を通してペイパービューの契約ができる。また、データ放送のゲームで高得点をあげたユーザに対してのみ安価な料金でサービス契約するというような、契約促進に繋がる、ユーザ毎に異なるサービスの提供が可能である。
次に、コンテンツに、サービス依存APIが実行されるようにプログラミングすることによって、コンテンツの記述能力を損なうことなく、ユーザがコンテンツに対して所定の操作を行うことによって、コンテンツに関してシームレスにサービス拡張ができる。
例えば、Webブラウザのplug−inをインストールする場合には、同plug−inのインストールプログラムを入手する為に、同plug−in開発ベンダーのダウンロードページにアクセスせずに、コンテンツの受信時にPlug−inをインストール出来る。また、WebブラウザのPlug−inの商品名について、ユーザが熟知しておく必要はなく、「商品を360度の角度からみた動画」というような、コンテンツ本意の説明を選択するだけで実行できる。
また、電子ブックプレーヤやPDAに適応すれば、特定ホームページに入った時に同ホームページで必要とされる掲示板表示専用ブラウザなどが、ユーザが気づかないうちに自動的に使えるように準備される機能を提供できる。いわば、コンテンツの視聴とサービス拡張に用いられるユーザインタフェースをシームレスに構成出来る。コンテンツ操作に於けるのと同じ操作性のユーザインターフェースを利用してサービス拡張ができるので、ユーザにかかる負担が小さい。
次に、逐次的に実行されるAPIとして、サービス依存APIを追加することによって、実行形式を実行させれば、サービス依存APIも他のAPI同様逐次的に実行される。結果、自動でサービスの拡張を実行するように実行形式をプログラミングすることも可能である。また、完全に自動化することで、旅行中の専用サービスや無料試用など、その時限りのサービス拡張もユーザが無意識のうちに実現できる。
例えば、電子ブックプレーヤーやPDAの場合、ページめくりの際の画面効果をタイトルに付随し、そのタイトルでしか使えないプレミアムなプラグインとして提供できる。また、成田空港内のバーチャル施設案内など、その場でしか意味のないサービスを自動で利用できる。
次に、本発明においては、ブラウザを終了したり コンテンツの視聴と全く異なる使い勝手の手順を踏むことなく、あくまでもコンテンツの視聴と同じ操作の使い勝手の中でサービスの拡張が行えることを保証する。つまり、サービスの拡張のためだけに用意される特別の使い勝手の操作をユーザに強要することなく、ユーザが最も慣れているであろうコンテンツの視聴と同じ使い勝手で、ユーザがそれと特に意識することなく、気が付けばサービスが拡張されている環境を提供する。
例えば、プッシュ型サービス/蓄積型放送サービスの場合、ビューワのバージョンアップならそのビューワ自体のアップグレード機能、別のサービスの導入ならWebブラウザを起動してダウンロードといった複数のユーザインタフェースの作法に慣れている必要がない。
つまり、コンテンツの内容や、ユーザの好みに応じて、複数のブラウザを使い分ける必要のある場合にも、ユーザは様々なユーザインタフェースの異なる操作性に慣れる必要がない。それ故に、不慣れなユーザでも安心し、且つ容易に、機能拡張できる。そして、視聴装置の出荷後に、ユーザインタフェースが固定化されることなく、ユーザの使い勝手の応じて、その操作性を改善出来る。
更には、全てに共通するが、如何なる実行形式(従来例でのブラウザに対応)の実行によっても、他のサービスへの悪影響や、システム全体のダウンを起こさない、全く新しい次元の安全性が確保できる。
(第1の実施の形態)
図1、図2、図3、図4、図5、図6および図7を参照して、本発明の第1の実施の形態にかかるサービス安全拡張プラットフォームについて説明する。図1に示すように、本実施の形態にかかるサービス安全拡張プラットフォームSEP1は、サービス提供源110、デリバリシステム120、および端末130を含む。
サービス提供源110は、端末130が実行すべき新たなサービスを実現するための実行形式を送出する。デリバリシステム120は、サービス提供源110が送出する情報を端末130に向けて時間的かつ/あるいは空間的に移動させる。デリバリシステム120は、インターネット通信網、放送や通信の無線ネットワーク、あるいは、DVD−ROM(Digital Versatile Disk−Read Only Memory)などのパッケージメディアと物理的な物流システムの組み合わせで構成できる。
端末130は、デリバリシステム120経由で受け取った情報を用いて、サービス提供源110から提供されたサービスを実行して、実行結果をユーザに提供する。なお、図1においては、簡便化のために、サービス提供源110、デリバリシステム120、および端末130のそれぞれの台数比が1:1:1であるように表されている。しかしながら、台数比は放送の形態に類似した1:1:c(cは任意の自然数)や、インターネットなどのa:1:c(aは任意の自然数)や、あるいは複数のデリバリシステムを持つ場合のa:b:c(bは任意の自然数)であってもよい。このような、一般化は以下に述べる全ての実施の形態において当てはまる。
サービス提供源110は、実行形式提供器111、サービス識別設定器112、および送出器113を含む。実行形式提供器111は、サービスを実現する実行形式を格納し、必要に応じて出力する。この実行形式は、インターネットで用いられるHTML言語(HyperText Markup Language)や、日本のデジタル放送のデータ放送で用いられるBML言語(Broadcast Markup Language)などの、SGML(Standard Generalized Markup Language)/XML(eXtensible Markup Language)系のマークアップ言語や、仮想マシン上で動作するJava(R)言語、あるいは機械語などでよい。ただし、実行形式は、後述する端末130に備えられたエクセキュータを介して、端末130のOSに対して渡されて実行されるように構成される。
サービス識別設定器112は、実行形式提供器111の出力する実行形式DEに対して、実行形式DEの属性等の副次的な事項を表す付随情報ISを生成すると共に実行形式DEに付与して識別化実行形式DEiを生成する。付随情報ISは、対応する実行形式DEが実現するサービスとを対応付ける情報であるサービス識別情報Esと、その実行形式DEの使用条件、使用状態、および対応するサービス内容などの情報を表す副次情報αを含む。サービス識別情報Esは、例えば、重複しない数字であるIDや名称などでよい。副次情報αはテキストでもコードでもよい。また、識別化実行形式DEiは、実行形式DEと付随情報ISを一体的に生成してもよいし、互いに独立して生成してもよい。本実施の形態においては、視認性を考慮して付随情報ISは独立して生成される場合を例に説明する。
送出器113は、サービス識別設定器112から入力される識別化実行形式DEi(実行形式DEおよび付随情報IS)をデリバリシステム120に送出する。この送出を実現する伝送モデルは、いわゆるプル型およびプッシュ型の何れでもよい。
プル型とは、インターネットのホームページ閲覧に用いられる伝送プロトコルであるHTTP(HyperText Transport Protocol)などで見られるように、受信側である端末130からの要求(demand)に基づき送出する伝送モデルである。またプッシュ型とは、デジタル放送の伝送に用いられる伝送プロトコルであるDSM−CC(Digital Storage Media Command & Control)データカルーセルなどで見られるように、受信側の要求に関わらず所定のタイミングで送出側から送出する伝送モデルである。
端末130は、ダウンローダ131、識別化実行形式格納器132、エクセキュータ133、リソースセレクタ134、一般リソース管理器135、およびサービス依存リソース管理器136を含む。ダウンローダ131は、デリバリシステム120から伝送されてくる、識別化実行形式DEi(実行形式DEおよび付随情報IS)を受信し、受信した識別化実行形式DEiを識別化実行形式格納器132に書き込むと共に、識別化実行形式DEiから付随情報ISを抽出してサービス依存リソース管理器136に出力する。付随情報ISは、上述のようにサービス識別設定器112で設定されたサービス識別情報Esを含む。ダウンローダ131は、送出器113とデリバリシステム120で実現される伝送モデルに整合しており、プッシュ型でもプル型でも実施可能である。
識別化実行形式格納器132は、ダウンローダ131により書き込まれた識別化実行形式DEi(実行形式DEおよび付随情報IS)を格納する。また、識別化実行形式格納器132は、要求に応じて格納した識別化実行形式DEiをエクセキュータ133に出力する。識別化実行形式格納器132はハードディスクドライブ(HDD)やDVD−RAMなどの記録媒体や、フラッシュメモリやRAMなどの半導体メモリを用いて構成できる。
図2に、本実施の形態において、識別化実行形式DEiが識別化実行形式格納器132に格納される様子を示す。同例において、サービスS1、サービスS2乃至サービスSn(nは任意の自然数)に関して、識別化実行形式DEi(S1)はサービスS1に対応し、識別化実行形式DEi(S2)はサービスS2に対応し、識別化実行形式DEi(Sn)はサービスSnに対応する。
そして、識別化実行形式DEi(S1)は、それぞれサービスS1対応するサービス識別情報Es(S1)と副次情報α1から成る付随情報IS(S1)と実行形式DEを含む。具体的には、サービス識別情報Es(S1)が実行形式DEとサービスS1とを対応付けている。同様に、識別化実行形式DEi(S2)は、それぞれサービスS2に対応するサービス識別情報Es(S2)と副次情報α2から成る付随情報IS(S2)と実行形式DEを含む。さらに、識別化実行形式DEi(Sn)は、サービスSnに対応するサービス識別情報Es(Sn)と副次情報αnから成る付随情報IS(Sn)と実行形式DEを含む。実行形式DEはサービス識別情報Es(Sn)によってサービスS2に対応付けられている。
サービスを個々に区別する必要のない場合、識別化実行形式DEiはサービス識別情報Esおよび副次情報αから成る付随情報ISと実行形式DEで構成されると表現する。そして、サービスを個々に区別する必要のある場合は、識別化実行形式DEi(So)は、サービス識別情報Es(So)および副次情報αoから成る付随情報IS(So)と実行形式DEで構成されると表現する。なお、oはn以下の任意の自然数である。
図1に戻って、エクセキュータ133は、識別化実行形式格納器132から入力される識別化実行形式DEiに含まれる実行形式DEを解釈してサービスを実行する。ただし、識別化実行形式格納器132に格納された識別化実行形式DEiに含まれる実行形式DEは、エクセキュータ133以外では端末130内で解釈実行されることはない特徴を有していることは上述の通りである。エクセキュータ133は、また、ユーザからのキーボードやポインティングデバイスや音声入力デバイスといった入力デバイスからの入力Iuや、GUIの画面表示や音声出力などの出力デバイスへの出力、といった対話処理を実行形式DEに基づいた手順で実現する。
エクセキュータ133は、実行形式DEがJava(R)言語やマークアップ言語であれば仮想マシンや、一般にはブラウザと呼ばれる実行環境でよい。また、実行形式DEが機械語であれば、それを実行させるためのOSに付属するライブラリなどのミドルウェア群などである。
エクセキュータ133は、実行形式DEを解釈実行していく際に、実行形式DEにAPI(Application Program Interface)呼び出しCapiが含まれている場合には、リソースセレクタ134を経由して一般リソース管理器135もしくはサービス依存リソース管理器136に対してAPI呼出Capiを発行して、処理の実行を要求する。また、エクセキュータ133は、現在実行している実行形式DEに対応付けられたサービス識別情報Esをサービス依存リソース管理器136に通知する。
リソースセレクタ134は、エクセキュータ133から発行されたAPI呼出Capiに基づいて、一般リソース管理器135およびサービス依存リソース管理器136の何れに対して、API処理が要求されているのかを判断する。そして、要求されていると判断されている方に、API呼出Capiを伝達する。なお、API呼出Capiには、一般リソース管理器135が処理すべき一般のAPI(以後、「一般API」と呼ぶ)と、サービス依存リソース管理器136が処理すべきAPI(以降、「サービス依存API」)とに分類される。
リソースとは、端末130がエクセキュータ133を経由して、参照、変更、あるいは制御可能なあらゆる計算機資源を言う。すなわち、RAMへの1次記録器やHDDなどの2次記録器に格納されるデータ構造、制御可能な入出力デバイスに対するアクセス権と具体的な入出力制御、および通信制御などが含まれる。これらリソースのうち、他のサービスへの影響を与えることなく処理可能なリソースを一般リソースとし、サービス毎に存在し、かつサービスの拡張の際に処理が必要なリソースをサービス依存リソースと定義する。そして、一般リソースに対するAPIを一般APIとし、サービス依存リソースに対するAPIをサービス依存APIと定義する。
さらに、2つのAPIと同一のリソースとの関係に例をおいて説明する。そして、一方のAPIはリソースを参照して他のサービスに影響しないが、他方のAPIはリソースを変更して他のサービスに影響を及ぼすと想定する。この場合、前者が一般APIに対応し、後者がサービス依存APIに対応する。しかしながら、説明の簡便化のために、参照のためのリソースと変更のためのリソースとがそれぞれ独立に存在すると見なして、前者と後者の内容が整合されていると捉えて説明する。
サービス依存APIの具体例としては、サービスの利用状態を変更する関数(以後、「サービス利用状態操作関数」と称する)などが考えられる。サービス利用状態操作関数によって、利用者が端末130で個別のサービスを利用するのかしないのかを指定し、サービスを提供する際に端末130が行うべき処理の起動と停止などを制御する。具体的には実行形式DEあるいは識別化実行形式DEiの内部データの初期化や必要な情報の受信などの前処理や、デリバリシステムを経由したサービス提供部に対するサービス利用契約の締結、課金、およびユーザ登録などである。
一方、一般APIの具体例としては、端末受信部130の画面表示やキーボード入力といった入出力デバイスへの操作や、RAMへの一時記憶やHDDへの2次記憶に対するデータの読み書きなどがある。ただし、一般APIのリソースである画面表示を例にした場合に、複数のサービスに対応する画面表示が同時に出現する際には、サービス間で競合が発生することも考えられる。しかしながら、本実施の形態においては、実際には同時には1つのサービスのみが画面を占有するという制約を一般リソース管理器135やAPIの呼び出し方法などで実現すれば、あらゆる実行形式DEに対しても実際には競合が発生しない。
一般リソース管理器135は、一般リソースを格納および管理する。一般リソース管理器135は、さらに、リソースセレクタ134から入力されるAPI呼出Capiに基づいて、一般リソースへの参照や操作などを行う。例えば、画面描画のAPIが呼び出されると画面描画行う一般リソースであるグラフィック表示デバイスに対して命令を発する。
サービス依存リソース管理器136は、サービス依存リソースを格納および管理する。リソースセレクタ134から入力されるAPI呼出Capiに基づいて、サービス依存リソースRSへの参照や操作などを行う。また、ダウンローダ131から入力される付随情報ISに基づいて、サービス依存リソースRSの管理処理を行う。
図3を参照して、サービス依存リソース管理器136に格納されるサービス依存リソースRSを管理するために生成されるサービス依存リソース管理テーブルTrsについて説明する。同図に例示するように、サービス依存リソース管理テーブルTrsは、少なくとも、n種類のサービスS1〜Snを表す複数の行L1〜Lnと、サービスS毎の利用状態を表す2列C1およびC2からマトリックス状に構成されるデータベースである。具体的には、同図において行L1がサービスS1に対応し、行L2がサービスS2に対応し、行LnがサービスSn(この場合、nは3以上の自然数)に対応している。そして、列C1はサービス識別情報Esに対応し、列C2は利用状態に対応する。
なお、より具体的に言えば、列C1および列C2の値は、それぞれ図2に模式的に表したように、サービス識別情報Es(Sn)のSnおよび副次情報αnに基づいて決定されて書き込まれる。図3に示す例においては、行L1に示されるサービスS1は「未利用」であり、行L2に示されるサービスS2は「利用」状態であり、行Lnに示されるサービスSnは「利用」状態であることが分かる。このように行L1〜Lnのそれぞれは、異なるサービスS1〜Snのサービスを識別する情報を蓄えるために設けられている。この意味において、行L1〜Ln(行Lo)をサービス識別行と呼ぶ。
次に、新たなサービス識別行を追加する際の動作について説明する。ダウンローダ131は、サービス(識別化実行形式DEi)を受け取ると、識別化実行形式格納器132に格納されている実行形式DEが対応するサービス依存リソースRSを規定するサービス識別行がサービス依存リソース管理テーブルTrsに追加される。これらの処理によって、自動的にサービスが端末130に導入されることによって、新サービスがサービス依存リソース管理器136で登録・管理される。
以下に、図4を参照して、サービス依存リソース管理器136による新サービスの登録管理ルーチンの動作について説明する。新たなサービスに対応する識別化実行形式DEi(実行形式DEおよび付随情報IS)は、サービス提供源110から端末130に送出されて、先ずダウンローダ131に入力される。ダウンローダ131は、識別化実行形式DEiから付随情報ISを抽出して、サービス依存リソース管理器136に出力する。そして、サービス依存リソース管理器136においては、付随情報ISが入力されて時点で、本ルーチンの動作が開始される。
そのため、ステップS502において、付随情報ISがサービス依存リソース管理器136に入力されているか否かが判断される。入力されていない場合、Noと判断されて、本ステップにおける処理が繰り返される。一方Yesの場合、処理は次のステップS504に進む。つまり、サービス依存リソース管理器136は、ダウンローダ131から付随情報ISを受け取るまではサインサービスの登録管理処理は、実質的に開始されない。
ステップS504において、ステップS502で受け取った付随情報ISのサービス識別情報Esが示すサービスSが、サービス依存リソース管理器136に格納されているサービス依存リソース管理テーブルTrsに既に登録されているか否かが判断される。含まれない、つまり、未登録サービスである場合は、Noと判断されて、処理は次のステップS506に進む。
ステップS506において、サービス依存リソース管理器136において、サービス依存リソース管理テーブルTrsに新サービスに対応する新サービス識別行(Ln+1)が追記される。以降、図3に示すサービス依存リソース管理テーブルTrsを例として説明する。サービス依存リソース管理テーブルTrsには、既にサービスS1〜Snまでが登録されているので、新たなサービスS(n+1)を登録するために、サービス識別行L(n+1)が追加される。そして、処理は次のステップS508に生成される。
ステップS508において、新たに受領した付随情報ISに含まれるサービス識別情報Esに基づいて、行L(n+1)列C1にサービスS(n+1)を識別する値であるS(n+1)が記入される。そして、処理は次のステップS510に進む。
ステップS510において、サービス依存リソース管理テーブルTrsに追加された行L(n+1)列C2の利用状態の欄に「未利用」が記入される。これは、新規サービス(識別化実行形式DEi)が受信された際の初期状態としては、「未利用」を設定するようにしているからである。しかしながら、初期状態が「利用」であったり、一定期間の間デモとして試用するなどの設定にしてもよいし、また、これらの初期状態の何れを採るか示す情報を、付随情報IS(副次情報α)としてサービス識別設定器112によってサービス毎に与えてもよい。本ステップの処理の終了後、本ルーチンを終了する。
一方、上述のステップS504において、Yes、つまり含まれると判定された場合、上述のステップS506、ステップS508およびステップS510をスキップして、本ルーチンにおける処理を終了する。すなわち、ダウンローダ131が受け取ったサービスが既に導入されているサービスである場合には、サービス登録は不要であるので、本ルーチンの処理が直ちに終了される。
次に、図5を参照して、端末130によるサービス実行ルーチンの動作について説明する。具体的には、端末130において、エクセキュータ133が呼び出すAPIに対する実行形式DEが実行されることによって、サービス実行が実現される。つまり、エクセキュータ133が識別化実行形式格納器132から入力される識別化実行形式DEiに含まれる実行形式DEを実行させるために、API呼出Capiを発行した時点で、本ルーチンにおける実質的処理が開始される。
よって、ステップS512において、リソースセレクタ134によって、エクセキュータ133から発行されたAPI呼出Capiに基づいて、呼び出されたAPIがサービス依存APIであるか否かが判断される。サービス依存APIであれば、Yesと判断されて、処理は次のステップS514に進む。
ステップS514において、サービス依存リソース管理器136によって、現在実行している実行形式DEに対応付けられたサービスのサービス識別情報Esを、エクセキュータ133から得る。そして、処理は、次のステップS516に進む。
ステップS516において、サービス依存リソース管理器136によって、API呼出Capiが処理対象として指定するサービス依存リソースRSが、ステップS514で検出された現在実行中の実行形式DEに対応するサービスに対応するか否かが判断される。実行中の実行形式DEに対応するサービスに対応する場合は、Yesと判断されて処理は次のステップS518に進む。
ステップS518において、サービス依存リソース管理器136によって、サービス依存リソースに対するサービス依存APIの処理が行なわれる。そして、本ルーチンにおける処理は終了される。
一方、上述のステップS512において、No、つまりサービス依存APIではない(すなわち一般APIである)と判断される場合、処理はステップS520に進む。
ステップS520において、一般リソース管理器135によって、一般リソースに対して処理が行われる。そして、本ルーチンにおける処理は終了される。
さらに、上述のステップS516においてNo、つまり実行中の実行形式DEに対応するサービスに対応しない場合、処理はステップS521に進む。
ステップS521において、エラー処理が行われた後に、本ルーチンが終了される。このように、実行中の実行形式DEが対応しているサービス(S512でYes)であっても、操作不可能(S516でNo)なサービス依存リソースに対するAPI処理を許可しないように設定している。
言い換えれば、本実施の形態においては、実行中の実行形式DEに対応付けられたサービスに関するサービス依存リソースのみが操作可能と設定される。このため、実行形式DEによって如何なるAPI呼び出しを発行させても、サービス依存リソース管理器136は他のサービスに対する参照や操作を排除できる。つまり、他のサービスに対する参照や操作を行うようなサービスの実行形式DEが入力されても、ステップS516を経てステップS521でエラー処理が行われて、そのような参照や操作を防止すると共に、そのような要求を検出できる。
上述のように、本実施の形態においては、ステップS512において、リソースセレクタ134によって、サービス依存リソースに対する処理はサービス依存APIでのみ操作できる様に規制されている。これについて、図6に示すサービス安全拡張プラットフォームSEP1の端末130のソフトウェア階層を参照して説明する。
図6に示すように、サービス安全拡張プラットフォームSEP1の端末130をソフトウエア構成から見れば、最下層に基本ソフトウェアであるOSにより実現されるOS層が存在する。そして、OS層の直上に、それぞれ一般リソース管理器135、サービス依存リソース管理器136、および識別化実行形式格納器132を機能させる一般リソース管理ソフトウェア、サービス依存リソース管理ソフトウェア、および識別化実行形式格納ソフトウェアを有する。そして、一般リソース管理ソフトウェアおよびサービス依存リソース管理ソフトウェアの直上にはリソースセレクタ134を機能させるリソースセレクトソフトウェアを有する。これらの、一般リソース管理ソフトウェア、サービス依存リソース管理ソフトウェア、リソースセレクトソフトウェア、および識別化実行形式格納ソフトウェアは、ミドルウェア層を構成する。
ミドルウェア層のリソースセレクト層の直上には、エクセキュータ133を機能させるエクセキュートソフトウェア(エクセキュータ)が位置し、識別化実行形式格納ソフトウェアの直上にはダウンローダ131を機能させるダウンロードソフトウェア(ダウンローダ)が位置している。そして、これらのエクセキュートソフトウェアとダウンロードソフトウェアは共に、アプリケーション層を構成している。
そして、 アプリケーション層のエクセキュートソフトウェアの直上には、各サービスS1〜Snを実行するサービスS1〜Sn実行形式が位置して、コンテンツ層を構成している。
このように、図6に示されるソフトウエア構成から明らかなように、サービス安全拡張プラットフォームSEP1においては、サービスの実行形式DEはリソースセレクタ経由のAPI呼び出したリソースを参照、あるいは操作したりできない。よって、サービス依存リソースに対しては、サービス依存APIを呼び出すことが必須であるので、サービス依存リソース管理器136を経由しなければ参照したり操作したりできない。
次に、図7に示す、サービス安全拡張プラットフォームSEP1によってユーザに提示される画面例を参照して、新たに追加されたサービスを実際に利用する状態に変更する際の動作について簡単に説明する。図7には、実行形式DEにより表示される新規サービス利用開始の是非をユーザに問い合わる画面の一例が示されている。
画面SMは、新たなサービスである「マイ・ニュース・サービス」を実現する実行形式DEをエクセキュータ133で実行することで提示される画面の1例である。画面SM上にはサービスの利用を宣言するボタンBYと、利用しないことを宣言するボタンBNが配置されている。ユーザは、入力デバイスを操作してボタンBYを選択するとこのサービスの利用が開始される。
ここでボタンBYが選択された場合の動作について説明する。ボタンBYには、サービスの利用を開始を宣言するサービス依存APIを起動する様に実行形式DE中にプログラミングされている。このためボタンBYが選択されるとリソースセレクタ134を経由してサービス依存APIがサービス依存リソース管理器136に届き、サービス依存リソース管理テーブルTrsに記載されているサービス依存リソースRSに該当するサービスの利用状態の欄の値を「利用」に書き換える。
なお、図7に示す例では、サービスの単純な利用開始について述べたが、サービス提供部に対するサービス利用契約の締結やユーザ登録、あるいは蓄積型のデータ放送における視聴前の事前の自動蓄積処理開始なども同様に実施可能である。
このように、サービスの使用/未使用の状態遷移など、サービスに関する操作をサービス自身の実行形式DEによってユーザとの対話を行うことが可能となる。さらに、如何なる悪意を持った実行形式DEを他のサービスが実装された場合であっても、サービスやプラットフォームに対する、誤動作やハングアップに代表される、あらゆる悪影響を排除できる。
上述のように、本発明の第1の実施の形態にかかるサービス安全拡張プラットフォームSEP1においては、実行形式DEに不正な処理を引き起こすコードが含まれていないことを実行形式DEの配布元の身元の確からしさから類推するような不確実な安全性ではなく、どの様な実行形式DEを想定しても他のサービスやプラットフォーム自体に対する不正な処理の影響を引き起こさない、完全な安全性を、サービスの拡張性を保ったままで確保できる。
(第2の実施の形態)
以下に、図8、図9、および図11を参照して、本発明の第2の実施の形態にかかるサービス安全拡張プラットフォームについて説明する。図8に示すように、本実施の形態にかかるサービス安全拡張プラットフォームSEP2は、図1に示すサービス安全拡張プラットフォームSEP1におけるサービス提供源110がサービス提供源210に変更され、端末130が端末230に変更されている。
サービス提供源210は、サービス提供源110におけるサービス識別設定器112がメタサービス指定器212に交換されている。端末230は端末130におけるエクセキュータ133がエクセキュータ233に交換されると共に、リソースセレクタ134とサービス依存リソース管理器136との間にメタサービス判定器234が新たに設けられている。
端末230は、第1の実施の形態における端末130のダウンローダ131がダウンローダ231に置き換えられ、識別化実行形式格納器132が識別化実行形式格納器232に置き換えられ、エクセキュータ133がエクセキュータ233に置き換えられると共に、リソースセレクタ134とサービス依存リソース管理器136との間にメタサービス判定器234が新たに設けられている。
サービス提供源210において、メタサービス指定器212は、上述のサービス識別設定器112にメタサービス指定情報生成機能が付与されている。つまり、メタサービス指定器212は、サービス識別設定器112と同様に、実行形式DEの属性等の副次的な事項を表す付随情報ISを生成すると共に、メタサービスに対応付ける実行形式DEを指定するメタサービス指定情報ISmを生成する。
メタサービスとは、上述のサービスの一種であるが、実際にユーザの利用するサービスの利用開始/終了などのサービスの機能/諸元の変更や新規サービスの追加といったサービスの拡張を行うことができる唯一のサービスであり、サービスの拡張を目的として存在するものである。この意味において、本明細書においては上述の第1の実施の形態にかかるサービスSoと、本実施の形態におけるメタサービスSmetaを区別して説明する。
付随情報ISが実行形式DEに付与されて識別化実行形式DEiが生成され、メタサービス指定情報ISmが実行形式DEに付与されてメタサービス実行形式DEmが生成される。つまり、メタサービス指定器212からは、識別化実行形式DEiとメタサービス実行形式DEmが混在して出力される。そして、これらの識別化実行形式DEiとメタサービス実行形式DEmは、送出器113およびデリバリシステム120を介して端末230に入力される。そして、端末230のダウンローダ231によって、識別化実行形式DEiとメタサービス実行形式DEmは識別化実行形式格納器232に出力される。そして、ダウンローダ231は識別化実行形式DEiから付随情報ISを抽出し、メタサービス実行形式DEmからメタサービス指定情報ISmを抽出して、それぞれをサービス依存リソース管理器236に出力する。
図9に、メタサービス指定器212から出力された識別化実行形式DEiとメタサービス実行形式DEmが識別化実行形式格納器232に格納される様子を示す。同図に示す例においては、図2に示した第1の実施の形態におけるのと同様に、サービスS1、サービスS2乃至サービスSn(nは任意の自然数)に対応する識別化実行形式DEi(S1)、DEi(S2)、およびDEi(Sn)が例示されている。ただし、本図においては、サービスS3に対応する識別化実行形式DEi(S3)の位置に、初めてのメタサービス実行形式DEm(1)が表示されている。メタサービス実行形式DEm(1)は、実行形式DEに、それがメタサービスであることを示すメタサービス指定情報ISm(1)が付与されている。
メタサービス実行形式DEm(1)は、それがメタサービスm1に対応するサービス識別情報Es(Sm1)と副次情報αm1から成るメタサービス指定情報ISmと実行形式DEを含む。具体的には、サービス識別情報Es(Sm1)が実行形式DEとメタサービス1とを対応付けている。このようにサービス識別情報Es(Sm1)の「Sm1」がメタサービス1を規定する点を除けば、メタサービス指定情報ISmも基本的には付随情報ISと同じものである。
つまり、メタサービスSmは、上述のように、サービスSnの1つであるので、メタサービス実行形式DEmは、識別化実行形式DEi(Sm)と表すこともできる。よって、メタサービス指定情報ISmも付随情報ISと総称してもよいが、本明細書においては、本実施の形態における特徴をわかりやすくするために、メタサービス指定情報ISmを付随情報ISと区別して説明する。さらに、メタサービスに対応するサービス識別情報Esを、メタサービス識別情報Esmと称して、実行形式DEに対応するサービス識別情報Esと区別して説明する。
識別化実行形式格納器232の動作は、上述の第1の実施の形態にかかる識別化実行形式格納器132と基本的に同じである。ただし、識別化実行形式格納器232は、識別化実行形式DEiとメタサービス実行形式DEmとを格納し、要求に応じて、識別化実行形式DEiあるいはメタサービス実行形式DEmをエクセキュータ233に出力する。
エクセキュータ233は、識別化実行形式DEiからサービス識別情報Esを抽出し、メタサービス実行形式DEmからサービス識別情報Esmを抽出して、それぞれをメタサービス判定器234に出力する。
メタサービス判定器234は、リソースセレクタ134から入力されるAPI呼出Capiと、エクセキュータ133から入力されるサービス識別情報Esおよびサービス識別情報Esmに基づいて、実行中の実行形式DEがメタサービスに対応付けられている場合にのみ、API呼出Capiをサービス依存リソース管理器136に出力する。
サービス依存リソース管理器136は、サービス依存リソースRSを格納すると共にサービス依存リソース管理テーブルTrsによってサービス依存リソースRSを管理する。なお、サービス依存リソース管理器136に格納されるサービス依存リソースRSおよびそのサービス依存リソース管理テーブルTrsは、図3を参照して説明した第1の実施の形態におけるものと同じでよい。
そして、サービス依存リソース管理器136は、メタサービス判定器234を経由して入力されるAPI呼出Capiに応答して、サービス依存リソース管理器136に格納されているサービス依存リソースRSへの参照や操作などを行う。また、ダウンローダ131から供給される付随情報ISに基づいて、実行形式DEのそれぞれが対応するサービスの内容を認識する。
新たなサービスの追加は、サービス依存リソース管理器136が、ダウンローダ231から入力される付随情報ISおよびメタサービス指定情報ISmに基づいて、サービス依存リソース管理テーブルTrsに登録されていない新規のサービスの存在を検出した時点で、そのサービスに対する識別行を追加して、内容を記述する。つまり、サービス依存リソース管理テーブルTrsには、列C1にはメタサービスの内容が書き込まれるが、サービス識別行追加の手順だけに注目すれば、第1の実施の形態における処理内容と同様である。
次に、図10に示すフローチャートを参照して、端末230によるサービス実行ルーチンの動作について説明する。具体的には、端末230において、エクセキュータ233が呼び出すAPIに対する実行形式DEが実行されることによって、サービス実行が実現される。つまり、エクセキュータ133が識別化実行形式格納器132から入力される識別化実行形式DEiおよびメタサービス実行形式DEmに含まれる実行形式DEを実行させるために、API呼出Capiを発行した時点で、本ルーチンにおける処理が開始される。
なお、図10に示すフローチャートは、上述の図5に示すフローチャートにおいて、「実行中の実行形式DEのサービス識別情報Esを実行エンジンから取得」ステップS514が「実行中の実行形式DEのサービス識別情報Esまたはサービス識別情報Esmを取得」ステップS1014に交換され、「実行中のサービスに対する操作かを判定」ステップS516が「実行中のメタサービスに対する操作かを判定」ステップS1016に交換されている点を除いては同様に構成されている。以下、本実施の形態に固有の動作に重点をおいて説明する。
よって、ステップS512において、リソースセレクタ134によって、エクセキュータ133から発行されたAPI呼出Capiに基づいて、呼び出されたAPIがサービス依存APIであると判断されて、処理はステップS1014に進む。
ステップS1014において、メタサービス判定器234によって、エクセキュータ233から現在実行中の実行形式DEに対するサービス識別情報Esあるいはメタサービス識別情報Esmが読み出される。そして、処理は次のステップS1006に進む。
ステップS1016において、実行中の実行形式DEがメタサービスに対応付けられているか否かが判断される。Noの場合、上述のエラー処理ステップS521を経て、本ルーチンが終了される。一方、実行中の実行形式DEがメタサービスに対応付けられている場合は、Yesと判断されて、処理は上述の「サービス依存リソースに対して処理」ステップS518を経て本ルーチンが終了される。
なお、ステップS518においては、実行中のメタサービスの実行形式DEであれば(ステップS1016でYes)、全てのサービスに対するサービス依存リソースに対する処理が実行される。
上述のように、第2の実施の形態においては、実行形式DEがメタサービスであれば、全てのサービスに対するサービス依存APIが実行できる。従ってメタサービスの実行形式DEの画面上で、サービス提供部から提供可能なサービス一覧を表示し、一覧表示上で、サービスの機能/諸元の変更や新規サービスの追加に代表されるサービスの拡張が達成される。
(第3の実施の形態)
次に、図11、図12、および図13を参照して、本発明の第3の実施の形態にかかるサービス安全拡張プラットフォームについて詳細に説明する。図11に示すように、本実施の形態にかかるサービス安全拡張プラットフォームSEP3は、図1に示すサービス安全拡張プラットフォームSEP1おけるサービス提供源110がサービス提供源310に変更され、端末130が端末330に変更されている。
サービス提供源310は、サービス提供源110におけるサービス識別設定器112がサービス識別設定器312に交換されると共に、サービス識別親子管理器314が新たに設けられている。サービス識別親子管理器314は、個々のサービスに親子関係がある場合に、そのような関係を識別情報Esの間の親子関係として管理する。さらに、管理している親子関係を示すサービス親子指定情報IShをサービス識別設定器312に出力する。
端末330は、端末130におけるダウンローダ131がダウンローダ331に交換され、識別化実行形式格納器132が識別化実行形式格納器332に交換され、エクセキュータ133がエクセキュータ233に交換され、親子判定器334がリソースセレクタ134とサービス依存リソース管理器136の間に新たに設けらている。
サービス提供源310において、サービス識別親子管理器314が管理するサービスの親子関係とは、親サービスが子サービスのサービス依存リソースRsを操作可能とする関係と定義される。なお、必要に応じて、親サービスSp、子サービスSc、親サービスのサービス依存リソースRScを称して、互いに識別するのもとする。例えば、「音楽コンテンツ配信サービス」といったサービスのカテゴリに対応する親サービスに対して、「松下ミュージック配信サービス」や、「テイチクミュージック配信サービス」、および「イーピーチャンネル音楽サービス」に代表される個々のサービスの種類に対応する子サービスがある。
サービス識別設定器312は、上述のサービス識別設定器112に親子サービス識別情報生成機能が付与されている。つまり、サービス識別設定器312は、サービス識別設定器112と同様に、実行形式DEの属性等の副次的な事項を表す付随情報ISを生成する。さらに、サービス識別設定器312は、サービス識別親子管理器314から供給されるサービス親子情報Ihに基づいて、サービス識別設定器312は、サービス親子情報Escを生成する。例えば、サービス親子情報Ihに基づいて、サービス親子指定情報ISh(S1−1)が生成される。サービス親子情報Esc(S1−1)は、このサービスが親サービスS1の子サービスであることを定義する。
付随情報ISが実行形式DEに付与されて識別化実行形式DEiが生成され、サービス親子指定情報IShが実行形式DEに付与されて親子識別化実行形式DEcが生成される。つまり、サービス識別設定器312からは、識別化実行形式DEiと親子識別化実行形式DEcが混在して出力される。そして、これらの識別化実行形式DEiと親子識別化実行形式DEcは、送出器113およびデリバリシステム120を介して端末330に入力される。そして、端末330のダウンローダ331によって、識別化実行形式DEiと親子識別化実行形式DEcは識別化実行形式格納器332に出力される さらに、ダウンローダ331は、識別化実行形式DEiから付随情報ISを抽出し、親子識別化実行形式DEcからサービス親子指定情報IShを、それぞれをサービス依存リソース管理器136に出力する。
図12に、サービス識別設定器312から出力された識別化実行形式DEiと親子識別化実行形式DEcが識別化実行形式格納器332に格納される様子を示す。同図に示す例においては、図2に示した第1の実施の形態におけるのと同様に、サービスS1、サービスS2乃至サービスSn(nは任意の自然数)に対応する識別化実行形式DEi(S1)、DEi(S2)、およびDEi(Sn)が例示されている。ただし、本図においては、サービスS3に対応する識別化実行形式DEi(S3)の位置に、初めての親子識別化実行形式DEc(1)が表示されている。親子識別化実行形式DEc(1)は、実行形式DEに、それが子サービスであることを示すサービス親子指定情報ISh(1)が付与されている。
親子識別化実行形式DEc(1)は、それが親サービスSp1に対応するサービス識別情報Es(Sc1)と副次情報αc1から成るサービス親子指定情報ISh(1)と実行形式DEを含む。具体的には、親子サービス識別情報Escが実行形式DEを親サービスSp1に対する子サービスSc1として対応付けている。このようにサービス識別情報Es(Sp1)の「Sp1」が子サービス1を規定する点を除けば、サービス親子指定情報IShも基本的には付随情報ISと同じでものである。
つまり、子サービスScは、上述のように、サービスSnの1つであるので、親子識別化実行形式DEcは、識別化実行形式DEi(Sc)と表すこともできる。よって、サービス親子指定情報IShも付随情報ISと総称してもよいが、本明細書においては、本実施の形態における特徴をわかりやすくするために、サービス親子指定情報IShを付随情報ISと区別して説明する。さらに、親サービスSpに対する子サービスScを規定するサービス識別情報Esを親子サービス識別情報Escと称して、実行形式DEに対応するサービス識別情報Esと区別して説明する。
識別化実行形式格納器332の動作は、上述の第1の実施の形態にかかる識別化実行形式格納器132と基本的に同じである。ただし、識別化実行形式格納器332は、識別化実行形式DEiと親子識別化実行形式DEcとを格納し、要求に応じて、識別化実行形式DEiあるいは親子識別化実行形式DEcをエクセキュータ333に出力する。
エクセキュータ333は、識別化実行形式DEiからサービス識別情報Esを抽出し、親子識別化実行形式DEcから親子サービス識別情報Escを抽出して、それぞれを親子判定器334に出力する。
親子判定器334は、リソースセレクタ134から入力されるAPI呼出Capiと、エクセキュータ333から入力されるサービス識別情報Esおよび親子サービス識別情報Esc基づいて、実行中の実行形式DEがAPI呼出Capiの処理対象のサービス依存リソースのサービスの先祖(親、または親の親、または親の親の親...)である場合にのみ、API呼出Capiをサービス依存リソース管理器136に出力する。
つまり、親子判定器334は、実行中の実行形式DEの親子サービス識別情報Escをエクセキュータ333から得るとともに、エクセキュータ333から発行されるAPI呼出Capiをリソースセレクタ134を介して得る。さらに、ダウンローダ331からサービス間の親子関係を判定するための情報であるサービス親子指定情報IShを得る。そして、親子サービス識別情報Escが示すサービスが、サービス親子指定情報IShの示すサービスの先祖であるかを判断する。そして、先祖であると判断した場合には、サービス依存リソース管理器136に対してサービス依存APIの呼び出し要求(API呼出Capi)を伝え、先祖でないと判断した場合には伝えない。
次に、図13に示すフローチャートを参照して、端末330におけるサービス実行ルーチンの動作について説明する。具体的には、端末330において、エクセキュータ333が呼び出すAPIに対する実行形式DEおよび親子識別化実行形式DEcに含まれる実行形式DEを実行させるために、API呼出Capiを発行した時点で、本ルーチンにおける処理が開始される。
なお、図13に示すフローチャートは、上述の図5に示すフローチャートにおいて、「実行中の実行形式DEのサービス識別情報Esを実行エンジンから取得」ステップS514が「実行中の実行形式DEのサービス識別情報Esまたは親子サービス識別情報Escを取得」ステップS1314に交換され、「実行中のサービスに対する操作かを判定」ステップS516が「実行中のメタサービスに対する操作かを判定」ステップS1316に交換されている点を除いては同様に構成されている。以下、本実施の形態に固有の動作に重点をおいて説明する。
よって、ステップS512において、リソースセレクタ134によって、エクセキュータ333から発行されたAPI呼出Capiに基づいて、呼び出されたAPIがサービス依存APIであると判断されて、処理はステップS1304に進む。
ステップS1314において、親子判定器334によって、エクセキュータ333から現在実行中の実行形式DEに対するサービス識別情報Esあるいは親子サービス識別情報Escが読み出される。そして、処理は次のステップS1306に進む。
ステップS1316において、親子判定器334によって、サービス依存API呼出Capiの処理対象のサービス依存リソースに対応するサービスに対して、実行中の実行形式DEの対応するサービスが先祖のサービスであるか否かが判断される。Noの場合、上述のエラー処理ステップS521を経て、本ルーチンが終了される。一方、実行中の実行形式DEが実行中のサービスが先祖である場合は、Yesと判断されて、処理は上述の「サービス依存リソースに対して処理」ステップS518を経て本ルーチンが終了される。
なお、ステップS518においては、サービス依存リソース管理器136によって、サービス依存API呼出Capiに対応するサービス依存リソースに対する処理が実行される。すなわち、現在実行している実行形式DEのサービスの子孫(子、または子の子、または子の子の子、....)のサービス依存リソースに対して処理が可能になるように管理される。
(第4の実施の形態)
次に、図14および図15、図16、および図17を参照して、本発明の第4の実施の形態にかかるサービス安全拡張プラットフォームについて説明する。図8に示すように、本実施の形態の形態にかかるサービス安全拡張プラットフォームSEP4は、図1に示すサービス安全拡張プラットフォームSEP1におけるサービス提供源110がサービス提供源410に変更され、端末130が端末430に変更されている。
サービス提供源410は、サービス提供源110における実行形式提供器111がコンテンツ提供器411に交換され、サービス識別設定器112が制御コンテンツ指定器412に交換されている。端末430は、端末130におけるダウンローダ131がコンテンツダウンローダ431に交換され、識別化実行形式格納器132がコンテンツ格納器432に交換され、エクセキュータ133がエクセキュータ433に交換されると共に、リソースセレクタ134とサービス依存リソース管理器136との間に制御コンテンツ判定器434が新た設けられている。
コンテンツ提供器411は、サービスを実現する実行形式DEと実行形式DEが解釈しユーザに提示する目的で製作されたデータであるコンテンツDCを格納し、必要に応じて出力する。実行形式DEもコンテンツDCの満たすべき要件を備えている。例えば、共に、実行形式DEもコンテンツDCも共に、逐次動作手順をプログラミングするスクリプト記述を含めることが可能なマークアップ言語で記述する。スクリプトの言語としてJava(R)系のJavaScriptやECMAScriptなどの言語でよい。また、マークアップ言語としては、HTML言語やBML言語でよい。
制御コンテンツ指定器412は、コンテンツ提供器411が出力するコンテンツDCのうち、制御コンテンツに対して制御コンテンツであることを指定する付随情報ISCを付与して制御コンテンツDCcとして出力する。制御コンテンツDCcの定義は、サービスに対応付けられた実行形式DEとして製作されたコンテンツDCである。
コンテンツダウンローダ431は、デリバリシステム120から伝送されてくる、コンテンツDCと制御コンテンツDCcとを受信し、コンテンツ格納器432に受信した情報を書き込む。
デリバリシステム120からは実行形式DEもコンテンツDCの一種類として伝送されるため、コンテンツダウンローダ431は、コンテンツDCを格納する機能を有していればよい。
コンテンツダウンローダ431は、サービス依存リソース管理器136がサービス依存リソースとして保持する、サービスのコンテンツを自動ダウンロードすべきかを表す情報に基づきコンテンツの格納を制御する。
すなわち、コンテンツダウンローダ431は、注目するサービスに対し、自動ダウンロードすべき場合には、サービスに関するコンテンツDCを制御コンテンツDCcも含め全て格納する。一方、自動ダウンロードすべきでない場合には、制御コンテンツDCcのみを格納する。
コンテンツ格納器432は、コンテンツDCを格納する。第1の実施の形態の識別化実行形式格納器132が格納する情報が実行形式DEであるのに対し、コンテンツ格納器432はコンテンツDCを格納する。なお、コンテンツDCには制御コンテンツDCcが含まれる。
図15に、制御コンテンツ指定器412から出力されたコンテンツDCと付随情報IScがコンテンツ格納器432に格納される様子を示す。同図に示す例においては、サービスS1に対して、制御コンテンツDCcであるC(S1,DE)、コンテンツDCであるC(S1,1)、C(S1,2)、およびC(S1,3)がコンテンツ格納器432に保持されている。制御コンテンツDCcであるC(S1,E)をエクセキュータ433で実行させることで、コンテンツDCであるC(S1,1)、C(S1,2)、およびC(S1,3)を読み込んでユーザに提示する。すなわち制御コンテンツDCcであるC(S1,DE)は、コンテンツDCであるC(S1,1)、C(S1,2)、C(S1,3)に対するいわゆるブラウザと同等の動作を行う。
制御コンテンツ判定器434は、エクセキュータ433の出力から、実行しているコンテンツDCが制御コンテンツDCcであるかを判定する。そして、制御コンテンツDCcである場合のみに、リソースセレクタ134からのサービス依存APIの要求をサービス依存リソース管理器136に伝える。
図16に、本実施の形態において、サービス依存リソース管理器136が格納するサービス依存リソーステーブルTrs4の一例である。サービス依存リソーステーブルTrs4は、図3に示した、第1の実施の形態にかかるサービス依存リソース管理テーブルTrsと類似しているが、列C2には、コンテンツダウンローダ431がコンテンツDCを自動ダウンロードすべきかについての情報がサービス毎に保持されている。
次に、図17に示すフローチャートを参照して、端末430における制御コンテンツDCcの実行ルーチンの動作について説明する。具体的には、端末430において、エクセキュータ433が呼び出すAPIに対する制御コンテンツDCcを実行するために、API呼出Capiを発行した時点で本ルーチンにおける処理が開始される。
なお、図17に示すフローチャートは、上述の図5に示すフローチャートにおいて、実行中の実行形式DEのサービス識別情報Esを実行エンジンから取得」ステップS514が「実行中のコンテンツDCのサービス識別情報Esを取得」ステップS1714に交換され、「実行中のサービスに対する操作かを判定」ステップS516が「実行中のサービスに対する制御コンテンツ操作かを判定」ステップS1716に交換されている点を除いては同様に構成されている。以下、本実施の形態に固有の動作に重点をおいて説明する。
ステップS512において、リソースセレクタ134によって、エクセキュータ333から発行されたAPI呼出Capiに基づいて、呼び出されたAPIがサービス依存APIであると判断されて、処理はステップS1704に進む。
ステップS1714において、制御コンテンツ判定器434によって、エクセキュータ433から現在実行中のコンテンツDCに対するサービス識別情報Esが読み出される。そして、処理は次のステップS1716に進む。
ステップS1716において、制御コンテンツ判定器434によって、サービス依存API呼出Capiの処理対象のサービス依存リソースに対応するサービスに対して、実行中のコンテンツDCがコンテンツDCの対応するサービスに対応する制御コンテンツであるか否かが判断される。Noの場合、上述のエラー処理ステップS521を経て、本ルーチンが終了される。一方、実行中のコンテンツDCが実行中のサービスが先祖である場合は、Yesと判断されて、処理は上述の「サービス依存リソースに対して処理」ステップS518を経て本ルーチンが終了される。
なお、ステップS518においては、サービス依存リソース管理器136によって、サービス依存API呼出Capiに対応するサービス依存リソースに対する処理が実行される。
本明細書で開示したサービス安全拡張プラットフォームによれば、サービスを実現する実行形式DEによる不正アクセスの排除を、実行形式DEに不正アクセスを引き起こす処理が含まれることを否定する必要無く達成するという、新次元の安全性を実現することができる。
詳述すれば、他のサービスの状態変更やデータの破壊や、プラットフォーム自体のシステムダウンなど、サービスの正常な享受に悪影響を及ぼす挙動を引き起こす処理である不正アクセスの排除を、実行形式DEに不正アクセスを引き起こす処理が含まれることを実行形式DEの配布元の確からしさから推測するまでもなく達成する。
さらには上記の性質と同時に、実行形式DEの変更や追加によってサービスの機能/諸元の変更や新規サービスの追加といったサービスの拡張も達成する機能を実現することができる。
これにより、従来のサービスの拡張可能なプラットフォームに対して従来にない新次元の安全性と操作性とを同時に実現することができる。
産業上の利用可能性
以上のように、本発明は、「サービスの拡張性」、「サービス安全性の確保」および「サービス拡張操作のシームレス」という3つの特徴を実現する従来にない全く新しいサービス安全拡張プラットフォームに有用である。
【図面の簡単な説明】
図1は、本発明の第1の実施の形態にかかる、サービス安全拡張プラットフォームの構成を模式的に示すブロック図である。
図2は、図1に示したサービス安全拡張プラットフォームの識別化実行形式格納器に格納される識別化実行形式を示す説明図である。
図3は、図1に示したサービス安全拡張プラットフォームのサービス依存リソース管理器で管理されるサービス依存リソース管理テーブルの説明図である。
図4は、図1に示したサービス安全拡張プラットフォームのサービス依存リソース管理器による新サービスの登録管理動作を示すフローチャートである。
図5は、図1に示したサービス安全拡張プラットフォームの端末によるサービス実行動作を示すフローチャートである。
図6は、図1に示したサービス安全拡張プラットフォームの端末のソフトウェア階層を示す説明図である。
図7は、図1に示したサービス安全拡張プラットフォームによってユーザに提示される画面例を示す説明図である。
図8は、本発明の第2の実施の形態にかかるサービス安全拡張プラットフォームの構成を模式的に示すブロック図である。
図9は、図8に示したサービス安全拡張プラットフォームの識別化実行形式格納器に格納される識別化実行形式およびメタサービス実行形式を示す説明図である。
図10は、図8に示したサービス安全拡張プラットフォームの端末によるサービス実行動作を示すフローチャートである。
図11は、本発明の第3の実施の形態にかかるサービス安全拡張プラットフォームの構成を模式的に示すブロック図である。
図12は、図11に示したサービス安全拡張プラットフォームの識別化実行形式格納器に格納される識別化実行形式および親子識別化実行形式を示す説明図である。
図13は、図11に示したサービス安全拡張プラットフォームの端末によるサービス実行動作を示すフローチャートである。
図14は、本発明の第4の実施の形態にかかるサービス安全拡張プラットフォームの構成を模式的に示すブロック図である。
図15は、図14に示したサービス安全拡張プラットフォームのコンテンツ格納器に格納される制御コンテンツおよびコンテンツを示す説明図である。
図16は、図14に示したサービス安全拡張プラットフォームのサービス依存リソース管理器で管理されるサービス依存リソース管理テーブルの説明図である。
図17は、図14に示したサービス安全拡張プラットフォームの端末による制御コンテンツ実行動作を表すフローチャートである。
図18は、従来の技術における、従来のサービスプラットフォームの構成を模式的示すブロック図である。
図19は、図18に示したサービスプラットフォームの実行ファイル格納器に格納される実行ファイルを示す説明図である。
図20は、図18に示したサービスプラットフォームの端末におけるのソフトウェア階層を示す説明図である。
デジタルコンテンツの提供サービスを実現する実行形式による不正アクセスの排除を、実行形式に不正アクセスを引き起こす処理が含まれることを否定する必要無く達成するという、新次元の安全性を実現した、サービスの拡張可能な全く新しい「サービス安全拡張プラットフォーム」に関する。詳述すれば、実行形式の配布元の確からしさからの推測を必要とせずに、他のサービスの状態変更、データ破壊、およびプラットフォーム自体のシステムダウンなどに代表される不正アクセスを排除できると共に、実行形式の変更や追加によってサービスの機能/諸元の変更や新規サービスの追加というサービス拡張も達成できるサービス安全拡張プラットフォームに関する。
上述の如く、本発明が提供するものは、従来にない全く新しく提供する「サービス安全拡張プラットフォーム」であるので、従来の技術として示すべき適切な例を挙げるのは非常に困難である。
ず、本発明が初めて提唱すると信じるサービス安全拡張プラットフォームが固有に備える3つの主な特徴について以下に述べる。第1の特徴はサービスの拡張性であり、第2の特徴は安全性の確保であり、そして第3の特徴はサービス拡張操作のシームレス化である。
第1の特徴である「サービスの拡張性」とは、サービス毎に異なるユーザインタフェースを持ち、ユーザインタフェースの変更や予期せぬサービスの追加が任意の時点で可能であることを言う。第2の特徴である「安全性の確保」とは、実行形式に不正アクセスを引き起こす処理が含まれることの否定を必要とせずに安全性が確保されることを言う。そして、第3の特徴である「サービス拡張操作のシームレス化」とは、サービス拡張のための操作手順が、サービスの利用時と同じ操作感のもとに行えることを言う。
上述のように、これら3つの主な特徴を全て満たす「サービス安全拡張プラットフォーム」を、従来技術において見いだすことはできない。しかしながら、強いて言えば、第1の特徴のみを満たすものとして、パーソナルコンピュータを利用してインターネットによるプッシュ型サービスを従来技術の一例として挙げることができる。ポイントキャストネットワーク社のポイントキャスト(登録商標)は、ニュース配信サービスを実現したプッシュ型サービスである。パーソナルコンピュータを利用する複数のプッシュ型サービスの利用は、機械語で記述されたサービス毎に実装したブラウザをパーソナルコンピュータへのインストールすることに可能となる。
ここで、プッシュ型サービスにおける、本発明の第1の特徴である「サービスの拡張性」について説明する。プッシュ型サービスを実現するブラウザをパーソナルコンピュータのハードディスクにインストールすることで新たなサービスを追加することができる。ブラウザは機械語で記述されたコンピュータプログラムであり、サービス毎に固有のそれぞれ異なるユーザインタフェースを提供する。
ブラウザのインストールは、従来、以下の様にして行われる。例えば、ブラウザをインストールする際には、先ず、ファイル転送プロトコル(例:ftp)のクライアントを起動しておき、ブラウザをクライアントのハードディスクなどにダウンロードし、次にダウンロードしたブラウザを起動することで実現される。また、新たなブラウザを利用する前には、ブラウザの設定を、ブラウザに組み込まれた設定メニューで操作して実現する。
次に、本発明の第2の特徴である「安全性の確保」に関しては、従来は単なる憶測に基づくものであって、具体的な方策の裏付けを有するものではない。つまり、従来、ブラウザが安全であるということは、ブラウザが公式ホームページなど正式な配布先より入手したものであるので、悪意のある第3者がコンピュータウィルスなどを感染させてないはずだという単なる願望に過ぎない。
そして、サービスによる高度な提示機能を意味する本発明の第3の特徴である「サービス拡張操作のシームレス化」に関しては、従来の技術においては、サービス毎にブラウザを変更することで異なるユーザインタフェースを実現する。結果、操作のシームレス化の一部を構成するために必要な、複数サービスに対し異なるユーザインタフェースを持つ要件は満される。
図18を参照して、上述のようなサービスの拡張は可能であるが安全ではない、従来のサービスプラットフォームについて具体的に説明する。同図に示すように、従来のサービスプラットフォームPFcは、サービス提供源1610、デリバリシステム120、および端末1630とを含む。サービス提供源1610は、実行ファイル提供器1111およびファイル転送サーバ1611を含む。実行ファイル提供器1111は実行ファイルを格納したハードディスク装置でよい。また、ファイル転送サーバ1611はWebサーバでよい。なお、実行ファイルとは、図19を参照して後述するように、端末1630のOSに直接渡して、実行されるプログラムファイルに代表されるバイナリデータである。
デリバリシステム120は、サービス提供源1610から送られる実行ファイルを空間的または時間的にはなれた端末1630に向けて伝送する。
端末1630は、エクセキュータ1133および実行ファイル格納器1132を含む。エクセキュータ1133は、実行ファイル格納器1132に格納された実行ファイルを起動することで端末1630におけるあらゆる処理を実行する。例えば、実行ファイルとしてファイル転送プログラムを起動した場合には、デリバリシステム120を経由して受信した、新たなサービスを実現する実行ファイルを実行ファイル格納器1132に格納させる。また、サービスを実現する実行ファイルを実行させれば、サービスをユーザに提供できる。
図19に、サービスプラットフォームPFcにおいて、実行ファイル格納器1132に格納されるデータを例示する。サービスS1の実行ファイルであるFE(S1)およびサービスS2の実行ファイルであるFE(S2)に並んで、実行ファイルの起動などのプラットフォーム操作を行うユーザインタフェースを提供するshellの実行ファイルFE(shell)や、新たなサービスを実現する実行ファイルFEをデリバリシステム120経由で端末1630に導入するファイル転送プログラムであるFE(ファイル転送)が実行ファイル格納器1132内に格納されている。これらの実行ファイルは何れも機械語で実装される。
図20に、サービスプラットフォームPFcのソフトウェア階層を示す。同図から読みとれるように、サービスプラットフォームPFcにおいて、ファイル転送実行ファイルを起動することで、あらゆるサービスを実現する実行ファイルを新たに導入できる。このように、OS(Operating System)が構成するOS層の直上に、実行ファイルによってアプリケーション層が構成されている。結果、サービスを実現する実行ファイルが直接OSのリソースを参照したり操作したりできる。それゆえに、OSは、悪意を持った実行ファイルに対して無防備であるので、サービスプラットフォームPFcはとうてい安全とは言えない。
また、本発明の第1の特徴である「サービスの拡張性」に関しては、新たなサービスの単純な導入は可能であるが、本発明が提供するコンテンツの視聴とシームレス化した新たなサービスの導入については、従来は不可能である。つまり、コンテンツの視聴と新たなサービスの導入とにおける操作性は、その見かけも手順も全く異なる。例えば、従来は、ブラウザをインストールする際には、ファイル転送プロトコルのクライアントを起動し、ブラウザをクライアントのハードディスクなどにダウンロードし、次にダウンロードしたブラウザを起動しなければならない。また、新たなブラウザを利用する前には、ブラウザの設定を、ブラウザによるコンテンツの視聴画面とは全く別の使い勝手の設定メニューを操作しなければならない。
また、従来は、全てのサービスに対して、共通のユーザーインタフェースを利用して機能拡張が行われる。そのために、サービス拡張するために、プログラムをインストールする際に必要な各種パラメータ(インストール先のディレクトリやユーザ名等)の入力が、全サービスで必要なパラメータの和集合となってしまう。そのために、特定のサービスの拡張プログラムをインストールするために、本来不要なパラメータの入力まで、ユーザに求めてしまうことがある。
一方、本発明にかかるサービス安全拡張プラットフォームが提供するサービスの柔軟な拡張性は、ブラウザを終了したり、コンテンツの視聴と全く異なる使い勝手の手順を踏むことなく、あくまでもコンテンツの視聴と同じ操作の使い勝手の中でサービスの拡張を行えることである。すなわち、サービスの拡張のためだけの特別な使い勝手の操作をユーザに強要することなく、ユーザが最も慣れているであろうコンテンツの視聴と同じ使い勝手で、あたかも、通常の操作の延長として、サービスが拡張されていく状況を達成するものである。しかしながら、このように拡張性は、従来のサービスプラットフォームの提供できることではないことは上述の通りであり、そのために、全く新しいサービス拡張の実現方法が求められている。
次に、本発明の第2の特徴である「安全性の確保」に関しても、正式な配布先から入手したブラウザでもバグによって、他のプッシュ型サービスの動作に悪影響を与えたり、システム全体をダウンさせたりすることも少なくないのが現実である。そのため、従来においては、ブラウザのバイナリに正当性がある、すなわち、ブラウザのバイナリに不正アクセスの処理が含まれないであろうことを少なくとも保証する必要がある。しかし、その保証はあくまでも信頼関係に基づくものであって、ブラウザのバイナリに不正アクセス処理が含まれていないことを確実にするものではない。
一方、本発明にかかるサービス安全拡張プラットフォームが提供する安全性は、如何なる実行形式(従来例でのブラウザに対応)の実行によっても、他のサービスへの悪影響や、システム全体のダウンを起こさない、全く新しい次元の安全性である。当然、従来の技術においては、このように方式は存在せず、それゆえに全く新しい実現方法が求められているものである。
さらに、本発明の第3の特徴である高度な提示機能を実現する「サービス拡張操作のシームレス化」に関しても、従来の技術ではサービス管理とコンテンツの視聴とのシームレス化は不可能である。その原因は、サービス管理はブラウザの設定メニューで行われていることにある。つまり、サービスの管理に関わることは、コンテンツの視聴画面では行えないのである。
一方、本発明にかかるサービス安全拡張プラットフォームが提供するサービスによる高度な提示機能は、コンテンツにサービスの設定を含めることで、コンテンツ視聴と同一の使い勝手の中で、コンテンツの持つ高度な表現を持ち、かつ、サーバから自由に提示内容を設定することを可能とする。
例えば、アンケートに記述しサーバに向けて回答を返信するといった、高度な記述能力を使用したコンテンツにサービスの設定機能を組み合わせることで、アンケートにユーザが興味にある内容を回答することで、自動的にコンテンツの取捨選択を行うためのユーザの嗜好情報が設定されると言った高度な提示機能を実現できる。また、ユーザにとっては、どこまでがコンテンツなのか、サービスの設定なのかを全く意識させることなく、高度な設定を簡単な操作で行える。
当然、従来の技術においては、本発明にかかるサービス安全拡張プラットフォームが提供するサービスによる高度な提示機能を実現する方式が存在せず、それゆえに全く新しい実現方法が求められているものである。
よって、本発明は、上述の3つの特徴を実現するサービス安全拡張プラットフォームを提供することを目的とする。
本発明は、上記のような目的を達成するために、以下に述べるような特徴を有している。
第1の発明は、サービスと実行形式とが対応付けられており、実行形式の変更や追加によってサービスの拡張が達成されるサービス安全拡張プラットフォームであって、サービスの拡張を行うサービス依存APIを具備し、かつ実行形式からのサービスの拡張はサービス依存APIの呼び出しによってのみ行われることを特徴とする
第2の発明は、第1の発明において、サービスの拡張が新規サービスの新設であることを特徴とする。
第3の発明は、第1の発明において、サービスの拡張がサービス利用開始であることを特徴とする。
第4の発明は、第1の発明、第2の発明、および第3の発明の何れかにおいて、注目するサービスの拡張は、注目するサービスに対応付けられた実行形式からのサービス依存APIの呼び出しによってのみ行われることを特徴とする。
第5の発明は、第1の発明、第2の発明、および第3の発明の何れかにおいて、複数のサービス間に親子関係が定義され、実行形式が要求するサービス依存API呼び出しがサービスに対応付けられるサービス依存リソースを処理対象として指定した際に、実行形式に対応付けられるサービスがサービスの先祖である場合にのみ、サービス依存リソースに対して処理可能であることを特徴とする。
第6の発明は、第1の発明、第2の発明、および第3の発明の何れかにおいて、メタサービスに対応付けられた実行形式がサービス依存APIによって、サービスの少なくとも1つが拡張可能なことを特徴とする。
第7の発明は、第6の発明において、メタサービスに対応付けられた実行形式がサービス依存APIによって、サービスの全てが拡張可能であり、メタサービスに対応付けられていない実行形式サービス依存APIによってサービスの拡張が不可能であることを特徴とする。
第8の発明は、第1の発明、第2の発明、および第3の発明の何れかにおいて、実行形式がコンテンツとして満たすべき条件を満たした制御コンテンツであり、制御コンテンツがコンテンツの少なくとも1つと共にコンテンツとして伝送され、コンテンツの少なくとも1つから制御コンテンツを指定する情報が伝送され、制御コンテンツによってのみサービス依存APIの処理が可能であることを特徴とする。
第9の発明は、第8の発明において、サービス依存APIによって、特定のサービスのコンテンツの自動的な格納が制御されることを特徴とする。
第10の発明は、第1の発明、第2の発明、第3の発明、第4の発明、第5の発明、第6の発明、第7の発明、第8の発明、および第9の発明の何れかにおいて、実行形式を少なくとも1つのサービス提供部に送出し、実行形式を実行する少なくとも1つの端末で受信することを特徴とする。
なお、本発明においては、ブラウザを終了したり、コンテンツの視聴と全く異なる使い勝手の手順を踏むことなく、あくまでコンテンツの視聴と同じ操作の使い勝手の中でサービスの拡張を行える。すなわち、サービスの拡張のためだけの特別の使い勝手の操作をユーザに強要することなく、ユーザが最も慣れているであろうコンテンツの視聴と同じ使い勝手のうえで、いわば、いつの間にかサービスが拡張されている状況を達成できる。
また、如何なる実行形式(従来例でのブラウザに対応)の実行によっても、他のサービスへの悪影響や、システム全体のダウンを起こさない、全く新しい次元の安全性を達成できる。つまり、実行形式の正当性に依らない安全性が確保できる。
さらに、コンテンツにサービスの設定を含めることで、コンテンツ視聴と同一の使い勝手の中で、コンテンツの持つ高度な表現を持ち、かつ、サーバから自由に提示内容を設定できる機能である。そして、ユーザにとっては、どこまでがコンテンツなのか、サービスの設定なのかを全く意識させることなく、高度な設定を簡単な操作で行える。
先ず、本発明にかかるサービス安全拡張プラットフォームの基本的概念について説明する。本発明にかかるサービス安全拡張プラットフォームにおいて、サービスは、従来のようなOSによって直接実行される、例えばバイナリの実行ファイルではなく、OSに対する実行を指示するエクセキュータにより解釈されるいわばスクリプトとして構成される実行形式として構成される。そして、実行形式は、API呼び出しを含み、所定のサービスに対応付けられる。
APIは、呼び出し時に、対応付けられたサービスに依存した挙動をするサービス依存である。サービス依存APIは、含まれる実行形式に対応付けられたサービスに固有のリソースに対して処理する。また、実行形式からリソースへのあらゆる処理はAPI経由に限定され、かつ、サービス依存APIにより処理されるリソースに対して処理を行うサービス依存API以外のAPIは存在しない。また、実行形式内に記述するAPIのセットは、全てのサービスに対し共通に予め用意されたものであり、同一である。
このように構成することによって、従来における実行ファイル(あるいは本発明における実行形式)の正当性に依らない新次元の安全性を確保し、サービスの拡張が可能な全く新しい「サービス安全拡張プラットフォーム」を創出する。同プラットフォームにおいては、サービスを実現する実行形式の一例であるブラウザを動作させることで、サービスのインスタンスであるコンテンツが視聴できる。コンテンツの通常の視聴は、コンテンツに含まれるAPIを逐次的に呼び出して実現される。そのために、実行形式(ブラウザ)は、APIの一種であるサービス依存APIを含んで構成される。つまり、コンテンツの視聴の最中に、サービス依存APIが呼び出されることで、サービスが拡張される。結果、本発明においては、サービスの拡張は、ユーザにはコンテンツの視聴操作の一つとして見える。
サービスを拡張するユーザインタフェースは、サービス依存APIを含む実行形式によって決定される。実行形式をサービスに対応付けることで、個々のサービスのそれぞれに適したユーザインタフェースを利用してサービスが拡張できる。
サービス拡張のユーザインタフェースを、サービス毎に最適に構成できる。例えば、プッシュ型サービス/蓄積型放送サービスの場合、同サービスの会員の中で、特定の会員のみ加入可能なプレミアムサービスの契約を、通常のサービスのコンテンツを利用してそのような特定の会員のみに対して勧誘できる。つまり、目的などに応じてユーザインタフェースを必要十分にカスタマイズできるので、より適切且つ強力にサービスの勧誘が出来る。
携帯電話等で利用されるJavaアプリ(iアプリ等)に本発明を適応すれば、ユーザが購読しているサービスを実現するアプリケーションソフトウェアに、サービスの機能を拡張するプログラムを記述することで、同サービスの機能拡張を実現できる。例えば、スキンなどのiアプリの機能をプラグイン的に拡張する操作をiアプリ自身で実現できる。
更には、コンテンツ内に含まれるスクリプトに条件判断として、問いかけに応答して受信機の型番やメーカの種別を表す文字列を返すAPIを呼び出すようにコンテンツを記述することで、受信機の型番やメーカ毎にユーザインタフェースを変化させることができる。
また、デジタル放送におけるペイパービュー番組に適応すれば、配信コンテンツに適切なアルゴリズム記述することで、おためし無料視聴が可能な期間やチャンネルをコンテンツにプログラミングしたアルゴリズムによって管理できる。デジタル放送でのペイパービュー番組の場合、ペイパービューのチャンネルのデータ放送を通してペイパービューの契約ができる。また、データ放送のゲームで高得点をあげたユーザに対してのみ安価な料金でサービス契約するというような、契約促進に繋がる、ユーザ毎に異なるサービスの提供が可能である。
次に、コンテンツに、サービス依存APIが実行されるようにプログラミングすることによって、コンテンツの記述能力を損なうことなく、ユーザがコンテンツに対して所定の操作を行うことによって、コンテンツに関してシームレスにサービス拡張ができる。
例えば、Webブラウザのplug−inをインストールする場合には、同plug−inのインストールプログラムを入手する為に、同plug−in開発ベンダーのダウンロードページにアクセスせずに、コンテンツの受信時にPlug−inをインストール出来る。また、WebブラウザのPlug−inの商品名について、ユーザが熟知しておく必要はなく、「商品を360度の角度からみた動画」というような、コンテンツ本意の説明を選択するだけで実行できる。
また、電子ブックプレーヤやPDAに適応すれば、特定ホームページに入った時に同ホームページで必要とされる掲示板表示専用ブラウザなどが、ユーザが気づかないうちに自動的に使えるように準備される機能を提供できる。いわば、コンテンツの視聴とサービス拡張に用いられるユーザインタフェースをシームレスに構成出来る。コンテンツ操作に於けるのと同じ操作性のユーザインターフェースを利用してサービス拡張ができるので、ユーザにかかる負担が小さい。
次に、逐次的に実行されるAPIとして、サービス依存APIを追加することによって、実行形式を実行させれば、サービス依存APIも他のAPI同様逐次的に実行される。結果、自動でサービスの拡張を実行するように実行形式をプログラミングすることも可能である。また、完全に自動化することで、旅行中の専用サービスや無料試用など、その時限りのサービス拡張もユーザが無意識のうちに実現できる。
例えば、電子ブックプレーヤーやPDAの場合、ページめくりの際の画面効果をタイトルに付随し、そのタイトルでしか使えないプレミアムなプラグインとして提供できる。また、成田空港内のバーチャル施設案内など、その場でしか意味のないサービスを自動で利用できる。
次に、本発明においては、ブラウザを終了したり、コンテンツの視聴と全く異なる使い勝手の手順を踏むことなく、あくまでもコンテンツの視聴と同じ操作の使い勝手の中でサービスの拡張が行えることを保証する。つまり、サービスの拡張のためだけに用意される特別の使い勝手の操作をユーザに強要することなく、ユーザが最も慣れているであろうコンテンツの視聴と同じ使い勝手で、ユーザがそれと特に意識することなく、気が付けばサービスが拡張されている環境を提供する。
例えば、プッシュ型サービス/蓄積型放送サービスの場合、ビューワのバージョンアップならそのビューワ自体のアップグレード機能、別のサービスの導入ならWebブラウザを起動してダウンロードといった複数のユーザインタフェースの作法に慣れている必要がない。
つまり、コンテンツの内容や、ユーザの好みに応じて、複数のブラウザを使い分ける必要のある場合にも、ユーザは様々なユーザインタフェースの異なる操作性に慣れる必要がない。それ故に、不慣れなユーザでも安心し、且つ容易に、機能拡張できる。そして、視聴装置の出荷後に、ユーザインタフェースが固定化されることなく、ユーザの使い勝手の応じて、その操作性を改善出来る。
更には、全てに共通するが、如何なる実行形式(従来例でのブラウザに対応)の実行によっても、他のサービスへの悪影響や、システム全体のダウンを起こさない、全く新しい次元の安全性が確保できる。
(第1の実施の形態)
図1、図2、図3、図4、図5、図6および図7を参照して、本発明の第1の実施の形態にかかるサービス安全拡張プラットフォームについて説明する。図1に示すように、本実施の形態にかかるサービス安全拡張プラットフォームSEP1は、サービス提供源110、デリバリシステム120、および端末130を含む。
サービス提供源110は、端末130が実行すべき新たなサービスを実現するための実行形式を送出する。デリバリシステム120は、サービス提供源110が送出する情報を端末130に向けて時間的かつ/あるいは空間的に移動させる。デリバリシステム120は、インターネット通信網、放送や通信の無線ネットワーク、あるいは、DVD−ROM(Digital Versatile Disk−Read Only Memory)などのパッケージメディアと物理的な物流システムの組み合わせで構成できる。
端末130は、デリバリシステム120経由で受け取った情報を用いて、サービス提供源110から提供されたサービスを実行して、実行結果をユーザに提供する。なお、図1においては、簡便化のために、サービス提供源110、デリバリシステム120、および端末130のそれぞれの台数比が1:1:1であるように表されている。しかしながら、台数比は放送の形態に類似した1:1:c(cは任意の自然数)や、インターネットなどのa:1:c(aは任意の自然数)や、あるいは複数のデリバリシステムを持つ場合のa:b:c(bは任意の自然数)であってもよい。このような、一般化は以下に述べる全ての実施の形態において当てはまる。
サービス提供源110は、実行形式提供器111、サービス識別設定器112、および送出器113を含む。実行形式提供器111は、サービスを実現する実行形式を格納し、必要に応じて出力する。この実行形式は、インターネットで用いられるHTML言語(HyperText Markup Language)や、日本のデジタル放送のデータ放送で用いられるBML言語(Broadcast Markup Language)などの、SGML(Standard Generalized Markup Language)/XML(eXtensible Markup Language)系のマークアップ言語や、仮想マシン上で動作するJava(登録商標)言語、あるいは機械語などでよい。ただし、実行形式は、後述する端末130に備えられたエクセキュータを介して、端末130のOSに対して渡されて実行されるように構成される。
サービス識別設定器112は、実行形式提供器111の出力する実行形式DEに対して、実行形式DEの属性等の副次的な事項を表す付随情報ISを生成すると共に実行形式DEに付与して識別化実行形式DEiを生成する。付随情報ISは、対応する実行形式DEが実現するサービスとを対応付ける情報であるサービス識別情報Esと、その実行形式DEの使用条件、使用状態、および対応するサービス内容などの情報を表す副次情報αを含む。サービス識別情報Esは、例えば、重複しない数字であるIDや名称などでよい。副次情報αはテキストでもコードでもよい。また、識別化実行形式DEiは、実行形式DEと付随情報ISを一体的に生成してもよいし、互いに独立して生成してもよい。本実施の形態においては、視認性を考慮して付随情報ISは独立して生成される場合を例に説明する。
送出器113は、サービス識別設定器112から入力される識別化実行形式DEi(実行形式DEおよび付随情報IS)をデリバリシステム120に送出する。この送出を実現する伝送モデルは、いわゆるプル型およびプッシュ型の何れでもよい。
プル型とは、インターネットのホームページ閲覧に用いられる伝送プロトコルであるHTTP(HyperText Transport Protocol)などで見られるように、受信側である端末130からの要求(demand)に基づき送出する伝送モデルである。またプッシュ型とは、デジタル放送の伝送に用いられる伝送プロトコルであるDSM−CC(Digital Storage Media Command & Control)データカルーセルなどで見られるように、受信側の要求に関わらず所定のタイミングで送出側から送出する伝送モデルである。
端末130は、ダウンローダ131、識別化実行形式格納器132、エクセキュータ133、リソースセレクタ134、一般リソース管理器135、およびサービス依存リソース管理器136を含む。ダウンローダ131は、デリバリシステム120から伝送されてくる、識別化実行形式DEi(実行形式DEおよび付随情報IS)を受信し、受信した識別化実行形式DEiを識別化実行形式格納器132に書き込むと共に、識別化実行形式DEiから付随情報ISを抽出してサービス依存リソース管理器136に出力する。付随情報ISは、上述のようにサービス識別設定器112で設定されたサービス識別情報Esを含む。ダウンローダ131は、送出器113とデリバリシステム120で実現される伝送モデルに整合しており、プッシュ型でもプル型でも実施可能である。
識別化実行形式格納器132は、ダウンローダ131により書き込まれた識別化実行形式DEi(実行形式DEおよび付随情報IS)を格納する。また、識別化実行形式格納器132は、要求に応じて格納した識別化実行形式DEiをエクセキュータ133に出力する。識別化実行形式格納器132はハードディスクドライブ(HDD)やDVD−RAMなどの記録媒体や、フラッシュメモリやRAMなどの半導体メモリを用いて構成できる。
図2に、本実施の形態において、識別化実行形式DEiが識別化実行形式格納器132に格納される様子を示す。同例において、サービスS1、サービスS2乃至サービスSn(nは任意の自然数)に関して、識別化実行形式DEi(S1)はサービスS1に対応し、識別化実行形式DEi(S2)はサービスS2に対応し、識別化実行形式DEi(Sn)はサービスSnに対応する。
そして、識別化実行形式DEi(S1)は、それぞれサービスS1に対応するサービス識別情報Es(S1)と副次情報α1から成る付随情報IS(S1)と実行形式DEを含む。具体的には、サービス識別情報Es(S1)が実行形式DEとサービスS1とを対応付けている。同様に、識別化実行形式DEi(S2)は、それぞれサービスS2に対応するサービス識別情報Es(S2)と副次情報α2から成る付随情報IS(S2)と実行形式DEを含む。さらに、識別化実行形式DEi(Sn)は、サービスSnに対応するサービス識別情報Es(Sn)と副次情報αnから成る付随情報IS(Sn)と実行形式DEを含む。実行形式DEはサービス識別情報Es(Sn)によってサービスS2に対応付けられている。
サービスを個々に区別する必要のない場合、識別化実行形式DEiはサービス識別情報Esおよび副次情報αから成る付随情報ISと実行形式DEで構成されると表現する。そして、サービスを個々に区別する必要のある場合は、識別化実行形式DEi(So)は、サービス識別情報Es(So)および副次情報αoから成る付随情報IS(So)と実行形式DEで構成されると表現する。なお、oはn以下の任意の自然数である。
図1に戻って、エクセキュータ133は、識別化実行形式格納器132から入力される識別化実行形式DEiに含まれる実行形式DEを解釈してサービスを実行する。ただし、識別化実行形式格納器132に格納された識別化実行形式DEiに含まれる実行形式DEは、エクセキュータ133以外では端末130内で解釈実行されることはない特徴を有していることは上述の通りである。エクセキュータ133は、また、ユーザからのキーボードやポインティングデバイスや音声入力デバイスといった入力デバイスからの入力Iuや、GUIの画面表示や音声出力などの出力デバイスへの出力、といった対話処理を実行形式DEに基づいた手順で実現する。
エクセキュータ133は、実行形式DEがJava(登録商標)言語やマークアップ言語であれば仮想マシンや、一般にはブラウザと呼ばれる実行環境でよい。また、実行形式DEが機械語であれば、それを実行させるためのOSに付属するライブラリなどのミドルウェア群などである。
エクセキュータ133は、実行形式DEを解釈実行していく際に、実行形式DEにAPI(Application Program Interface)呼び出しCapiが含まれている場合には、リソースセレクタ134を経由して一般リソース管理器135もしくはサービス依存リソース管理器136に対してAPI呼出Capiを発行して、処理の実行を要求する。また、エクセキュータ133は、現在実行している実行形式DEに対応付けられたサービス識別情報Esをサービス依存リソース管理器136に通知する。
リソースセレクタ134は、エクセキュータ133から発行されたAPI呼出Capiに基づいて、一般リソース管理器135およびサービス依存リソース管理器136の何れに対して、API処理が要求されているのかを判断する。そして、要求されていると判断されている方に、API呼出Capiを伝達する。なお、API呼出Capiには、一般リソース管理器135が処理すべき一般のAPI(以後、「一般API」と呼ぶ)と、サービス依存リソース管理器136が処理すべきAPI(以降、「サービス依存API」)とに分類される。
リソースとは、端末130がエクセキュータ133を経由して、参照、変更、あるいは制御可能なあらゆる計算機資源を言う。すなわち、RAMの1次記録器やHDDなどの2次記録器に格納されるデータ構造、制御可能な入出力デバイスに対するアクセス権と具体的な入出力制御、および通信制御などが含まれる。これらリソースのうち、他のサービスへの影響を与えることなく処理可能なリソースを一般リソースとし、サービス毎に存在し、かつサービスの拡張の際に処理が必要なリソースをサービス依存リソースと定義する。そして、一般リソースに対するAPIを一般APIとし、サービス依存リソースに対するAPIをサービス依存APIと定義する。
さらに、2つのAPIと同一のリソースとの関係に例をおいて説明する。そして、一方のAPIはリソースを参照して他のサービスに影響しないが、他方のAPIはリソースを変更して他のサービスに影響を及ぼすと想定する。この場合、前者が一般APIに対応し、後者がサービス依存APIに対応する。しかしながら、説明の簡便化のために、参照のためのリソースと変更のためのリソースとがそれぞれ独立に存在すると見なして、前者と後者の内容が整合されていると捉えて説明する。
サービス依存APIの具体例としては、サービスの利用状態を変更する関数(以後、「サービス利用状態操作関数」と称する)などが考えられる。サービス利用状態操作関数によって、利用者が端末130で個別のサービスを利用するのかしないのかを指定し、サービスを提供する際に端末130が行うべき処理の起動と停止などを制御する。具体的には実行形式DEあるいは識別化実行形式DEiの内部データの初期化や必要な情報の受信などの前処理や、デリバリシステムを経由したサービス提供部に対するサービス利用契約の締結、課金、およびユーザ登録などである。
一方、一般APIの具体例としては、端末受信部130の画面表示やキーボード入力といった入出力デバイスへの操作や、RAMの一時記憶装置やHDDの2次記憶装置に対するデータの読み書きなどがある。ただし、一般APIのリソースである画面表示を例にした場合に、複数のサービスに対応する画面表示が同時に出現する際には、サービス間で競合が発生することも考えられる。しかしながら、本実施の形態においては、実際には同時には1つのサービスのみが画面を占有するという制約を一般リソース管理器135やAPIの呼び出し方法などで実現すれば、あらゆる実行形式DEに対しても実際には競合が発生しない。
一般リソース管理器135は、一般リソースを格納および管理する。一般リソース管理器135は、さらに、リソースセレクタ134から入力されるAPI呼出Capiに基づいて、一般リソースへの参照や操作などを行う。例えば、画面描画のAPIが呼び出されると画面描画行う一般リソースであるグラフィック表示デバイスに対して命令を発する。
サービス依存リソース管理器136は、サービス依存リソースを格納および管理する。リソースセレクタ134から入力されるAPI呼出Capiに基づいて、サービス依存リソースRSへの参照や操作などを行う。また、ダウンローダ131から入力される付随情報ISに基づいて、サービス依存リソースRSの管理処理を行う。
図3を参照して、サービス依存リソース管理器136に格納されるサービス依存リソースRSを管理するために生成されるサービス依存リソース管理テーブルTrsについて説明する。同図に例示するように、サービス依存リソース管理テーブルTrsは、少なくとも、n種類のサービスS1〜Snを表す複数の行L1〜Lnと、サービスS毎の利用状態を表す2列C1およびC2からマトリックス状に構成されるデータベースである。具体的には、同図において行L1がサービスS1に対応し、行L2がサービスS2に対応し、行LnがサービスSn(この場合、nは3以上の自然数)に対応している。そして、列C1はサービス識別情報Esに対応し、列C2は利用状態に対応する。
なお、より具体的に言えば、列C1および列C2の値は、それぞれ図2に模式的に表したように、サービス識別情報Es(Sn)のSnおよび副次情報αnに基づいて決定されて書き込まれる。図3に示す例においては、行L1に示されるサービスS1は「未利用」であり、行L2に示されるサービスS2は「利用」状態であり、行Lnに示されるサービスSnは「利用」状態であることが分かる。このように行L1〜Lnのそれぞれは、異なるサービスS1〜Snのサービスを識別する情報を蓄えるために設けられている。この意味において、行L1〜Ln(行Lo)をサービス識別行と呼ぶ。
次に、新たなサービス識別行を追加する際の動作について説明する。ダウンローダ131は、サービス(識別化実行形式DEi)を受け取ると、識別化実行形式格納器132に格納されている実行形式DEが対応するサービス依存リソースRSを規定するサービス識別行がサービス依存リソース管理テーブルTrsに追加される。これらの処理によって、自動的にサービスが端末130に導入されることによって、新サービスがサービス依存リソース管理器136で登録・管理される。
以下に、図4を参照して、サービス依存リソース管理器136による新サービスの登録管理ルーチンの動作について説明する。新たなサービスに対応する識別化実行形式DEi(実行形式DEおよび付随情報IS)は、サービス提供源110から端末130に送出されて、先ずダウンローダ131に入力される。ダウンローダ131は、識別化実行形式DEiから付随情報ISを抽出して、サービス依存リソース管理器136に出力する。そして、サービス依存リソース管理器136においては、付随情報ISが入力されて時点で、本ルーチンの動作が開始される。
そのため、ステップS502において、付随情報ISがサービス依存リソース管理器136に入力されているか否かが判断される。入力されていない場合、Noと判断されて、本ステップにおける処理が繰り返される。一方Yesの場合、処理は次のステップS504に進む。つまり、サービス依存リソース管理器136は、ダウンローダ131から付随情報ISを受け取るまでは新たなサービスの登録管理処理は、実質的に開始されない。
ステップS504において、ステップS502で受け取った付随情報ISのサービス識別情報Esが示すサービスSが、サービス依存リソース管理器136に格納されているサービス依存リソース管理テーブルTrsに既に登録されているか否かが判断される。含まれない、つまり、未登録サービスである場合は、Noと判断されて、処理は次のステップS506に進む。
ステップS506において、サービス依存リソース管理器136において、サービス依存リソース管理テーブルTrsに新サービスに対応する新サービス識別行(Ln+1)が追記される。以降、図3に示すサービス依存リソース管理テーブルTrsを例として説明する。サービス依存リソース管理テーブルTrsには、既にサービスS1〜Snまでが登録されているので、新たなサービスS(n+1)を登録するために、サービス識別行L(n+1)が追加される。そして、処理は次のステップS508に進む
ステップS508において、新たに受領した付随情報ISに含まれるサービス識別情報Esに基づいて、行L(n+1)列C1にサービスS(n+1)を識別する値であるS(n+1)が記入される。そして、処理は次のステップS510に進む。
ステップS510において、サービス依存リソース管理テーブルTrsに追加された行L(n+1)列C2の利用状態の欄に「未利用」が記入される。これは、新規サービス(識別化実行形式DEi)が受信された際の初期状態としては、「未利用」を設定するようにしているからである。しかしながら、初期状態が「利用」であったり、一定期間の間デモとして試用するなどの設定にしてもよいし、また、これらの初期状態の何れを採るか示す情報を、付随情報IS(副次情報α)としてサービス識別設定器112によってサービス毎に与えてもよい。本ステップの処理の終了後、本ルーチンを終了する。
一方、上述のステップS504において、Yes、つまり含まれると判定された場合、上述のステップS506、ステップS508およびステップS510をスキップして、本ルーチンにおける処理を終了する。すなわち、ダウンローダ131が受け取ったサービスが既に導入されているサービスである場合には、サービス登録は不要であるので、本ルーチンの処理が直ちに終了される。
次に、図5を参照して、端末130によるサービス実行ルーチンの動作について説明する。具体的には、端末130において、エクセキュータ133が呼び出すAPIに対する実行形式DEが実行されることによって、サービス実行が実現される。つまり、エクセキュータ133が識別化実行形式格納器132から入力される識別化実行形式DEiに含まれる実行形式DEを実行させるために、API呼出Capiを発行した時点で、本ルーチンにおける実質的処理が開始される。
よって、ステップS512において、リソースセレクタ134によって、エクセキュータ133から発行されたAPI呼出Capiに基づいて、呼び出されたAPIがサービス依存APIであるか否かが判断される。サービス依存APIであれば、Yesと判断されて、処理は次のステップS514に進む。
ステップS514において、サービス依存リソース管理器136によって、現在実行している実行形式DEに対応付けられたサービスのサービス識別情報Esを、エクセキュータ133から得る。そして、処理は、次のステップS516に進む。
ステップS516において、サービス依存リソース管理器136によって、API呼出Capiが処理対象として指定するサービス依存リソースRSが、ステップS514で検出された現在実行中の実行形式DEに対応するサービスに対応するか否かが判断される。実行中の実行形式DEに対応するサービスに対応する場合は、Yesと判断されて処理は次のステップS518に進む。
ステップS518において、サービス依存リソース管理器136によって、サービス依存リソースに対するサービス依存APIの処理が行なわれる。そして、本ルーチンにおける処理は終了される。
一方、上述のステップS512において、No、つまりサービス依存APIではない(すなわち一般APIである)と判断される場合、処理はステップS520に進む。
ステップS520において、一般リソース管理器135によって、一般リソースに対して処理が行われる。そして、本ルーチンにおける処理は終了される。
さらに、上述のステップS516においてNo、つまり実行中の実行形式DEに対応するサービスに対応しない場合、処理はステップS521に進む。
ステップS521において、エラー処理が行われた後に、本ルーチンが終了される。このように、実行中の実行形式DEが対応しているサービス(S512でYes)であっても、操作不可能(S516でNo)なサービス依存リソースに対するAPI処理を許可しないように設定している。
言い換えれば、本実施の形態においては、実行中の実行形式DEに対応付けられたサービスに関するサービス依存リソースのみが操作可能と設定される。このため、実行形式DEによって如何なるAPI呼び出しを発行させても、サービス依存リソース管理器136は他のサービスに対する参照や操作を排除できる。つまり、他のサービスに対する参照や操作を行うようなサービスの実行形式DEが入力されても、ステップS516を経てステップS521でエラー処理が行われて、そのような参照や操作を防止すると共に、そのような要求を検出できる。
上述のように、本実施の形態においては、ステップS512において、リソースセレクタ134によって、サービス依存リソースに対する処理はサービス依存APIでのみ操作できる様に規制されている。これについて、図6に示すサービス安全拡張プラットフォームSEP1の端末130のソフトウェア階層を参照して説明する。
図6に示すように、サービス安全拡張プラットフォームSEP1の端末130をソフトウエア構成から見れば、最下層に基本ソフトウェアであるOSにより実現されるOS層が存在する。そして、OS層の直上に、それぞれ一般リソース管理器135、サービス依存リソース管理器136、および識別化実行形式格納器132を機能させる一般リソース管理ソフトウェア、サービス依存リソース管理ソフトウェア、および識別化実行形式格納ソフトウェアを有する。そして、一般リソース管理ソフトウェアおよびサービス依存リソース管理ソフトウェアの直上にはリソースセレクタ134を機能させるリソースセレクトソフトウェアを有する。これらの、一般リソース管理ソフトウェア、サービス依存リソース管理ソフトウェア、リソースセレクトソフトウェア、および識別化実行形式格納ソフトウェアは、ミドルウェア層を構成する。
ミドルウェア層のリソースセレクト層の直上には、エクセキュータ133を機能させるエクセキュートソフトウェア(エクセキュータ)が位置し、識別化実行形式格納ソフトウェアの直上にはダウンローダ131を機能させるダウンロードソフトウェア(ダウンローダ)が位置している。そして、これらのエクセキュートソフトウェアとダウンロードソフトウェアは共に、アプリケーション層を構成している。
そして、アプリケーション層のエクセキュートソフトウェアの直上には、各サービスS1〜Snを実行するサービスS1〜Sn実行形式が位置して、コンテンツ層を構成している。
このように、図6に示されるソフトウエア構成から明らかなように、サービス安全拡張プラットフォームSEP1においては、サービスの実行形式DEはリソースセレクタ経由のAPI呼び出したリソースを参照、あるいは操作したりできない。よって、サービス依存リソースに対しては、サービス依存APIを呼び出すことが必須であるので、サービス依存リソース管理器136を経由しなければ参照したり操作したりできない。
次に、図7に示す、サービス安全拡張プラットフォームSEP1によってユーザに提示される画面例を参照して、新たに追加されたサービスを実際に利用する状態に変更する際の動作について簡単に説明する。図7には、実行形式DEにより表示される新規サービス利用開始の是非をユーザに問い合わる画面の一例が示されている。
画面SMは、新たなサービスである「マイ・ニュース・サービス」を実現する実行形式DEをエクセキュータ133で実行することで提示される画面の1例である。画面SM上にはサービスの利用を宣言するボタンBYと、利用しないことを宣言するボタンBNが配置されている。ユーザは、入力デバイスを操作してボタンBYを選択するとこのサービスの利用が開始される。
ここでボタンBYが選択された場合の動作について説明する。ボタンBYには、サービスの利用を開始を宣言するサービス依存APIを起動する様に実行形式DE中にプログラミングされている。このためボタンBYが選択されるとリソースセレクタ134を経由してサービス依存APIがサービス依存リソース管理器136に届き、サービス依存リソース管理テーブルTrsに記載されているサービス依存リソースRSに該当するサービスの利用状態の欄の値を「利用」に書き換える。
なお、図7に示す例では、サービスの単純な利用開始について述べたが、サービス提供部に対するサービス利用契約の締結やユーザ登録、あるいは蓄積型のデータ放送における視聴前の事前の自動蓄積処理開始なども同様に実施可能である。
このように、サービスの使用/未使用の状態遷移など、サービスに関する操作をサービス自身の実行形式DEによってユーザとの対話を行うことが可能となる。さらに、如何なる悪意を持った実行形式DEを他のサービスが実装された場合であっても、サービスやプラットフォームに対する、誤動作やハングアップに代表される、あらゆる悪影響を排除できる。
上述のように、本発明の第1の実施の形態にかかるサービス安全拡張プラットフォームSEP1においては、実行形式DEに不正な処理を引き起こすコードが含まれていないことを実行形式DEの配布元の身元の確からしさから類推するような不確実な安全性ではなく、どの様な実行形式DEを想定しても他のサービスやプラットフォーム自体に対する不正な処理の影響を引き起こさない、完全な安全性を、サービスの拡張性を保ったままで確保できる。
(第2の実施の形態)
以下に、図8、図9、および図11を参照して、本発明の第2の実施の形態にかかるサービス安全拡張プラットフォームについて説明する。図8に示すように、本実施の形態にかかるサービス安全拡張プラットフォームSEP2は、図1に示すサービス安全拡張プラットフォームSEP1におけるサービス提供源110がサービス提供源210に変更され、端末130が端末230に変更されている。
サービス提供源210は、サービス提供源110におけるサービス識別設定器112がメタサービス指定器212に交換されている。端末230は端末130におけるエクセキュータ133がエクセキュータ233に交換されると共に、リソースセレクタ134とサービス依存リソース管理器136との間にメタサービス判定器234が新たに設けられている。
端末230は、第1の実施の形態における端末130のダウンローダ131がダウンローダ231に置き換えられ、識別化実行形式格納器132が識別化実行形式格納器232に置き換えられ、エクセキュータ133がエクセキュータ233に置き換えられると共に、リソースセレクタ134とサービス依存リソース管理器136との間にメタサービス判定器234が新たに設けられている。
サービス提供源210において、メタサービス指定器212は、上述のサービス識別設定器112にメタサービス指定情報生成機能が付与されている。つまり、メタサービス指定器212は、サービス識別設定器112と同様に、実行形式DEの属性等の副次的な事項を表す付随情報ISを生成すると共に、メタサービスに対応付ける実行形式DEを指定するメタサービス指定情報ISmを生成する。
メタサービスとは、上述のサービスの一種であるが、実際にユーザの利用するサービスの利用開始/終了などのサービスの機能/諸元の変更や新規サービスの追加といったサービスの拡張を行うことができる唯一のサービスであり、サービスの拡張を目的として存在するものである。この意味において、本明細書においては上述の第1の実施の形態にかかるサービスSoと、本実施の形態におけるメタサービスSmetaを区別して説明する。
付随情報ISが実行形式DEに付与されて識別化実行形式DEiが生成され、メタサービス指定情報ISmが実行形式DEに付与されてメタサービス実行形式DEmが生成される。つまり、メタサービス指定器212からは、識別化実行形式DEiとメタサービス実行形式DEmが混在して出力される。そして、これらの識別化実行形式DEiとメタサービス実行形式DEmは、送出器113およびデリバリシステム120を介して端末230に入力される。そして、端末230のダウンローダ231によって、識別化実行形式DEiとメタサービス実行形式DEmは識別化実行形式格納器232に出力される。そして、ダウンローダ231は識別化実行形式DEiから付随情報ISを抽出し、メタサービス実行形式DEmからメタサービス指定情報ISmを抽出して、それぞれをサービス依存リソース管理器236に出力する。
図9に、メタサービス指定器212から出力された識別化実行形式DEiとメタサービス実行形式DEmが識別化実行形式格納器232に格納される様子を示す。同図に示す例においては、図2に示した第1の実施の形態におけるのと同様に、サービスS1、サービスS2乃至サービスSn(nは任意の自然数)に対応する識別化実行形式DEi(S1)、DEi(S2)、およびDEi(Sn)が例示されている。ただし、本図においては、サービスS3に対応する識別化実行形式DEi(S3)の位置に、初めてのメタサービス実行形式DEm(1)が表示されている。メタサービス実行形式DEm(1)は、実行形式DEに、それがメタサービスであることを示すメタサービス指定情報ISm(1)が付与されている。
メタサービス実行形式DEm(1)は、それがメタサービスm1に対応するサービス識別情報Es(Sm1)と副次情報αm1から成るメタサービス指定情報ISmと実行形式DEを含む。具体的には、サービス識別情報Es(Sm1)が実行形式DEとメタサービス1とを対応付けている。このようにサービス識別情報Es(Sm1)の「Sm1」がメタサービス1を規定する点を除けば、メタサービス指定情報ISmも基本的には付随情報ISと同じものである。
つまり、メタサービスSmは、上述のように、サービスSnの1つであるので、メタサービス実行形式DEmは、識別化実行形式DEi(Sm)と表すこともできる。よって、メタサービス指定情報ISmも付随情報ISと総称してもよいが、本明細書においては、本実施の形態における特徴をわかりやすくするために、メタサービス指定情報ISmを付随情報ISと区別して説明する。さらに、メタサービスに対応するサービス識別情報Esを、メタサービス識別情報Esmと称して、実行形式DEに対応するサービス識別情報Esと区別して説明する。
識別化実行形式格納器232の動作は、上述の第1の実施の形態にかかる識別化実行形式格納器132と基本的に同じである。ただし、識別化実行形式格納器232は、識別化実行形式DEiとメタサービス実行形式DEmとを格納し、要求に応じて、識別化実行形式DEiあるいはメタサービス実行形式DEmをエクセキュータ233に出力する。
エクセキュータ233は、識別化実行形式DEiからサービス識別情報Esを抽出し、メタサービス実行形式DEmからサービス識別情報Esmを抽出して、それぞれをメタサービス判定器234に出力する。
メタサービス判定器234は、リソースセレクタ134から入力されるAPI呼出Capiと、エクセキュータ33から入力されるサービス識別情報Esおよびサービス識別情報Esmに基づいて、実行中の実行形式DEがメタサービスに対応付けられている場合にのみ、API呼出Capiをサービス依存リソース管理器136に出力する。
サービス依存リソース管理器136は、サービス依存リソースRSを格納すると共にサービス依存リソース管理テーブルTrsによってサービス依存リソースRSを管理する。なお、サービス依存リソース管理器136に格納されるサービス依存リソースRSおよびそのサービス依存リソース管理テーブルTrsは、図3を参照して説明した第1の実施の形態におけるものと同じでよい。
そして、サービス依存リソース管理器136は、メタサービス判定器234を経由して入力されるAPI呼出Capiに応答して、サービス依存リソース管理器136に格納されているサービス依存リソースRSへの参照や操作などを行う。また、ダウンローダ31から供給される付随情報ISに基づいて、実行形式DEのそれぞれが対応するサービスの内容を認識する。
新たなサービスの追加は、サービス依存リソース管理器136が、ダウンローダ231から入力される付随情報ISおよびメタサービス指定情報ISmに基づいて、サービス依存リソース管理テーブルTrsに登録されていない新規のサービスの存在を検出した時点で、そのサービスに対する識別行を追加して、内容を記述する。つまり、サービス依存リソース管理テーブルTrsには、列C1にはメタサービスの内容が書き込まれるが、サービス識別行追加の手順だけに注目すれば、第1の実施の形態における処理内容と同様である。
次に、図10に示すフローチャートを参照して、端末230によるサービス実行ルーチンの動作について説明する。具体的には、端末230において、エクセキュータ233が呼び出すAPIに対する実行形式DEが実行されることによって、サービス実行が実現される。つまり、エクセキュータ33が識別化実行形式格納器32から入力される識別化実行形式DEiおよびメタサービス実行形式DEmに含まれる実行形式DEを実行させるために、API呼出Capiを発行した時点で、本ルーチンにおける処理が開始される。
なお、図10に示すフローチャートは、上述の図5に示すフローチャートにおいて、「実行中の実行形式DEのサービス識別情報Esを実行エンジンから取得」ステップS514が「実行中の実行形式DEのサービス識別情報Esまたはサービス識別情報Esmを取得」ステップS1014に交換され、「実行中のサービスに対する操作かを判定」ステップS516が「実行中のメタサービスに対する操作かを判定」ステップに交換されている点を除いては同様に構成されている。以下、本実施の形態に固有の動作に重点をおいて説明する。
よって、ステップS512において、リソースセレクタ134によって、エクセキュータ33から発行されたAPI呼出Capiに基づいて、呼び出されたAPIがサービス依存APIであると判断されて、処理はステップS1014に進む。
ステップS1014において、メタサービス判定器234によって、エクセキュータ233から現在実行中の実行形式DEに対するサービス識別情報Esあるいはメタサービス識別情報Esmが読み出される。そして、処理は次のステップS106に進む。
ステップS1016において、実行中の実行形式DEがメタサービスに対応付けられているか否かが判断される。Noの場合、上述のエラー処理ステップS521を経て、本ルーチンが終了される。一方、実行中の実行形式DEがメタサービスに対応付けられている場合は、Yesと判断されて、処理は上述の「サービス依存リソースに対して処理」ステップS518を経て本ルーチンが終了される。
なお、ステップS518においては、実行中のメタサービスの実行形式DEであれば(ステップS1016でYes)、全てのサービスに対するサービス依存リソースに対する処理が実行される。
上述のように、第2の実施の形態においては、実行形式DEがメタサービスであれば、全てのサービスに対するサービス依存APIが実行できる。従ってメタサービスの実行形式DEの画面上で、サービス提供部から提供可能なサービス一覧を表示し、一覧表示上で、サービスの機能/諸元の変更や新規サービスの追加に代表されるサービスの拡張が達成される。
(第3の実施の形態)
次に、図11、図12、および図13を参照して、本発明の第3の実施の形態にかかるサービス安全拡張プラットフォームについて詳細に説明する。図11に示すように、本実施の形態にかかるサービス安全拡張プラットフォームSEP3は、図1に示すサービス安全拡張プラットフォームSEP1におけるサービス提供源110がサービス提供源310に変更され、端末130が端末330に変更されている。
サービス提供源310は、サービス提供源110におけるサービス識別設定器112がサービス識別設定器312に交換されると共に、サービス識別親子管理器314が新たに設けられている。サービス識別親子管理器314は、個々のサービスに親子関係がある場合に、そのような関係を識別情報Esの間の親子関係として管理する。さらに、管理している親子関係を示すサービス親子指定情報IShをサービス識別設定器312に出力する。
端末330は、端末130におけるダウンローダ131がダウンローダ331に交換され、識別化実行形式格納器132が識別化実行形式格納器332に交換され、エクセキュータ133がエクセキュータ33に交換され、親子判定器334がリソースセレクタ134とサービス依存リソース管理器136の間に新たに設けられている。
サービス提供源310において、サービス識別親子管理器314が管理するサービスの親子関係とは、親サービスが子サービスのサービス依存リソースRsを操作可能とする関係と定義される。なお、必要に応じて、親サービスSp、子サービスSc、親サービスのサービス依存リソースRScを称して、互いに識別するのもとする。例えば、「音楽コンテンツ配信サービス」といったサービスのカテゴリに対応する親サービスに対して、「松下ミュージック配信サービス」や、「テイチクミュージック配信サービス」、および「イーピーチャンネル音楽サービス」に代表される個々のサービスの種類に対応する子サービスがある。
サービス識別設定器312は、上述のサービス識別設定器112に親子サービス識別情報生成機能が付与されている。つまり、サービス識別設定器312は、サービス識別設定器112と同様に、実行形式DEの属性等の副次的な事項を表す付随情報ISを生成する。さらに、サービス識別親子管理器314から供給されるサービス親子情報Ihに基づいて、サービス識別設定器312は、サービス親子情報Escを生成する。例えば、サービス親子情報Ihに基づいて、サービス親子指定情報ISh(S1−1)が生成される。サービス親子情報Esc(S1−1)は、このサービスが親サービスS1の子サービスであることを定義する。
付随情報ISが実行形式DEに付与されて識別化実行形式DEiが生成され、サービス親子指定情報IShが実行形式DEに付与されて親子識別化実行形式DEcが生成される。つまり、サービス識別設定器312からは、識別化実行形式DEiと親子識別化実行形式DEcが混在して出力される。そして、これらの識別化実行形式DEiと親子識別化実行形式DEcは、送出器113およびデリバリシステム120を介して端末330に入力される。そして、端末330のダウンローダ331によって、識別化実行形式DEiと親子識別化実行形式DEcは識別化実行形式格納器332に出力される。さらに、ダウンローダ331は、識別化実行形式DEiから付随情報ISを抽出し、親子識別化実行形式DEcからサービス親子指定情報IShを抽出して、それぞれをサービス依存リソース管理器136に出力する。
図12に、サービス識別設定器312から出力された識別化実行形式DEiと親子識別化実行形式DEcが識別化実行形式格納器332に格納される様子を示す。同図に示す例においては、図2に示した第1の実施の形態におけるのと同様に、サービスS1、サービスS2乃至サービスSn(nは任意の自然数)に対応する識別化実行形式DEi(S1)、DEi(S2)、およびDEi(Sn)が例示されている。ただし、本図においては、サービスS3に対応する識別化実行形式DEi(S3)の位置に、初めての親子識別化実行形式DEc(1)が表示されている。親子識別化実行形式DEc(1)は、実行形式DEに、それが子サービスであることを示すサービス親子指定情報ISh(1)が付与されている。
親子識別化実行形式DEc(1)は、それが親サービスSp1に対応するサービス識別情報Es(Sc1)と副次情報αc1から成るサービス親子指定情報ISh(1)と実行形式DEを含む。具体的には、親子サービス識別情報Escが実行形式DEを親サービスSp1に対する子サービスSc1として対応付けている。このようにサービス識別情報Es(Sp1)の「Sp1」が子サービス1を規定する点を除けば、サービス親子指定情報IShも基本的には付随情報ISと同じでものである。
つまり、子サービスScは、上述のように、サービスSnの1つであるので、親子識別化実行形式DEcは、識別化実行形式DEi(Sc)と表すこともできる。よって、サービス親子指定情報IShも付随情報ISと総称してもよいが、本明細書においては、本実施の形態における特徴をわかりやすくするために、サービス親子指定情報IShを付随情報ISと区別して説明する。さらに、親サービスSpに対する子サービスScを規定するサービス識別情報Esを親子サービス識別情報Escと称して、実行形式DEに対応するサービス識別情報Esと区別して説明する。
識別化実行形式格納器332の動作は、上述の第1の実施の形態にかかる識別化実行形式格納器132と基本的に同じである。ただし、識別化実行形式格納器332は、識別化実行形式DEiと親子識別化実行形式DEcとを格納し、要求に応じて、識別化実行形式DEiあるいは親子識別化実行形式DEcをエクセキュータ333に出力する。
エクセキュータ333は、識別化実行形式DEiからサービス識別情報Esを抽出し、親子識別化実行形式DEcから親子サービス識別情報Escを抽出して、それぞれを親子判定器334に出力する。
親子判定器334は、リソースセレクタ134から入力されるAPI呼出Capiと、エクセキュータ333から入力されるサービス識別情報Esおよび親子サービス識別情報Esc基づいて、実行中の実行形式DEがAPI呼出Capiの処理対象のサービス依存リソースのサービスの先祖(親、または親の親、または親の親の親...)である場合にのみ、API呼出Capiをサービス依存リソース管理器136に出力する。
つまり、親子判定器334は、実行中の実行形式DEの親子サービス識別情報Escをエクセキュータ333から得るとともに、エクセキュータ333から発行されるAPI呼出Capiをリソースセレクタ134を介して得る。さらに、ダウンローダ331からサービス間の親子関係を判定するための情報であるサービス親子指定情報IShを得る。そして、親子サービス識別情報Escが示すサービスが、サービス親子指定情報IShの示すサービスの先祖であるかを判断する。そして、先祖であると判断した場合には、サービス依存リソース管理器136に対してサービス依存APIの呼び出し要求(API呼出Capi)を伝え、先祖でないと判断した場合には伝えない。
次に、図13に示すフローチャートを参照して、端末330におけるサービス実行ルーチンの動作について説明する。具体的には、端末330において、エクセキュータ333が呼び出すAPIに対する実行形式DEおよび親子識別化実行形式DEcに含まれる実行形式DEを実行させるために、API呼出Capiを発行した時点で、本ルーチンにおける処理が開始される。
なお、図13に示すフローチャートは、上述の図5に示すフローチャートにおいて、「実行中の実行形式DEのサービス識別情報Esを実行エンジンから取得」ステップS514が「実行中の実行形式DEのサービス識別情報Esまたは親子サービス識別情報Escを取得」ステップS1314に交換され、「実行中のサービスに対する操作かを判定」ステップS516が「実行中のメタサービスに対する操作かを判定」ステップS1316に交換されている点を除いては同様に構成されている。以下、本実施の形態に固有の動作に重点をおいて説明する。
よって、ステップS512において、リソースセレクタ134によって、エクセキュータ333から発行されたAPI呼出Capiに基づいて、呼び出されたAPIがサービス依存APIであると判断されて、処理はステップS134に進む。
ステップS1314において、親子判定器334によって、エクセキュータ333から現在実行中の実行形式DEに対するサービス識別情報Esあるいは親子サービス識別情報Escが読み出される。そして、処理は次のステップS136に進む。
ステップS1316において、親子判定器334によって、サービス依存API呼出Capiの処理対象のサービス依存リソースに対応するサービスに対して、実行中の実行形式DEの対応するサービスが先祖のサービスであるか否かが判断される。Noの場合、上述のエラー処理ステップS521を経て、本ルーチンが終了される。一方、実行中の実行形式DEが実行中のサービスが先祖である場合は、Yesと判断されて、処理は上述の「サービス依存リソースに対して処理」ステップS518を経て本ルーチンが終了される。
なお、ステップS518においては、サービス依存リソース管理器136によって、サービス依存API呼出Capiに対応するサービス依存リソースに対する処理が実行される。すなわち、現在実行している実行形式DEのサービスの子孫(子、または子の子、または子の子の子、....)のサービス依存リソースに対して処理が可能になるように管理される。
(第4の実施の形態)
次に、図14および図15、図16、および図17を参照して、本発明の第4の実施の形態にかかるサービス安全拡張プラットフォームについて説明する。図8に示すように、本実施の形態にかかるサービス安全拡張プラットフォームSEP4は、図1に示すサービス安全拡張プラットフォームSEP1におけるサービス提供源110がサービス提供源410に変更され、端末130が端末430に変更されている。
サービス提供源410は、サービス提供源110における実行形式提供器111がコンテンツ提供器411に交換され、サービス識別設定器112が制御コンテンツ指定器412に交換されている。端末430は、端末130におけるダウンローダ131がコンテンツダウンローダ431に交換され、識別化実行形式格納器132がコンテンツ格納器432に交換され、エクセキュータ133がエクセキュータ433に交換されると共に、リソースセレクタ134とサービス依存リソース管理器136との間に制御コンテンツ判定器434が新た設けられている。
コンテンツ提供器411は、サービスを実現する実行形式DEと実行形式DEが解釈しユーザに提示する目的で製作されたデータであるコンテンツDCを格納し、必要に応じて出力する。実行形式DEもコンテンツDCの満たすべき要件を備えている。例えば、共に、実行形式DEもコンテンツDCも共に、逐次動作手順をプログラミングするスクリプト記述を含めることが可能なマークアップ言語で記述する。スクリプトの言語としてJava(登録商標)系のJavaScriptやECMAScriptなどの言語でよい。また、マークアップ言語としては、HTML言語やBML言語でよい。
制御コンテンツ指定器412は、コンテンツ提供器411が出力するコンテンツDCのうち、制御コンテンツに対して制御コンテンツであることを指定する付随情報ISCを付与して制御コンテンツDCcとして出力する。制御コンテンツDCcの定義は、サービスに対応付けられた実行形式DEとして製作されたコンテンツDCである。
コンテンツダウンローダ431は、デリバリシステム120から伝送されてくる、コンテンツDCと制御コンテンツDCcとを受信し、コンテンツ格納器432に受信した情報を書き込む。
デリバリシステム120からは実行形式DEもコンテンツDCの一種類として伝送されるため、コンテンツダウンローダ431は、コンテンツDCを格納する機能を有していればよい。
コンテンツダウンローダ431は、サービス依存リソース管理器136がサービス依存リソースとして保持する、サービスのコンテンツを自動ダウンロードすべきかを表す情報に基づきコンテンツの格納を制御する。
すなわち、コンテンツダウンローダ431は、注目するサービスに対し、自動ダウンロードすべき場合には、サービスに関するコンテンツDCを制御コンテンツDCcも含め全て格納する。一方、自動ダウンロードすべきでない場合には、制御コンテンツDCcのみを格納する。
コンテンツ格納器432は、コンテンツDCを格納する。第1の実施の形態の識別化実行形式格納器132が格納する情報が実行形式DEであるのに対し、コンテンツ格納器432はコンテンツDCを格納する。なお、コンテンツDCには制御コンテンツDCcが含まれる。
図15に、制御コンテンツ指定器412から出力されたコンテンツDCと付随情報ISがコンテンツ格納器432に格納される様子を示す。同図に示す例においては、サービスS1に対して、制御コンテンツDCcであるC(S1,DE)、コンテンツDCであるC(S1,1)、C(S1,2)、およびC(S1,3)がコンテンツ格納器432に保持されている。制御コンテンツDCcであるC(S1,E)をエクセキュータ433で実行させることで、コンテンツDCであるC(S1,1)、C(S1,2)、およびC(S1,3)を読み込んでユーザに提示する。すなわち制御コンテンツDCcであるC(S1,DE)は、コンテンツDCであるC(S1,1)、C(S1,2)、C(S1,3)に対するいわゆるブラウザと同等の動作を行う。
制御コンテンツ判定器434は、エクセキュータ433の出力から、実行しているコンテンツDCが制御コンテンツDCcであるかを判定する。そして、制御コンテンツDCcである場合のみに、リソースセレクタ134からのサービス依存APIの要求をサービス依存リソース管理器136に伝える。
図16に、本実施の形態において、サービス依存リソース管理器136が格納するサービス依存リソーステーブルTrs4の一例である。サービス依存リソーステーブルTrs4は、図3に示した、第1の実施の形態にかかるサービス依存リソース管理テーブルTrsと類似しているが、列C2には、コンテンツダウンローダ431がコンテンツDCを自動ダウンロードすべきかについての情報がサービス毎に保持されている。
次に、図17に示すフローチャートを参照して、端末430における制御コンテンツDCcの実行ルーチンの動作について説明する。具体的には、端末430において、エクセキュータ433が呼び出すAPIに対する制御コンテンツDCcを実行するために、API呼出Capiを発行した時点で本ルーチンにおける処理が開始される。
なお、図17に示すフローチャートは、上述の図5に示すフローチャートにおいて、実行中の実行形式DEのサービス識別情報Esを実行エンジンから取得」ステップS514が「実行中のコンテンツDCのサービス識別情報Esを取得」ステップS1714に交換され、「実行中のサービスに対する操作かを判定」ステップS516が「実行中のサービスに対する制御コンテンツ操作かを判定」ステップS1716に交換されている点を除いては同様に構成されている。以下、本実施の形態に固有の動作に重点をおいて説明する。
ステップS512において、リソースセレクタ134によって、エクセキュータ33から発行されたAPI呼出Capiに基づいて、呼び出されたAPIがサービス依存APIであると判断されて、処理はステップS174に進む。
ステップS1714において、制御コンテンツ判定器434によって、エクセキュータ433から現在実行中のコンテンツDCに対するサービス識別情報Esが読み出される。そして、処理は次のステップS1716に進む。
ステップS1716において、制御コンテンツ判定器434によって、サービス依存API呼出Capiの処理対象のサービス依存リソースに対応するサービスに対して、実行中のコンテンツDCがコンテンツDCの対応するサービスに対応する制御コンテンツであるか否かが判断される。Noの場合、上述のエラー処理ステップS521を経て、本ルーチンが終了される。一方、実行中のコンテンツDCが実行中のサービスが先祖である場合は、Yesと判断されて、処理は上述の「サービス依存リソースに対して処理」ステップS518を経て本ルーチンが終了される。
なお、ステップS518においては、サービス依存リソース管理器136によって、サービス依存API呼出Capiに対応するサービス依存リソースに対する処理が実行される。
本明細書で開示したサービス安全拡張プラットフォームによれば、サービスを実現する実行形式DEによる不正アクセスの排除を、実行形式DEに不正アクセスを引き起こす処理が含まれることを否定する必要無く達成するという、新次元の安全性を実現することができる。
詳述すれば、他のサービスの状態変更やデータの破壊や、プラットフォーム自体のシステムダウンなど、サービスの正常な享受に悪影響を及ぼす挙動を引き起こす処理である不正アクセスの排除を、実行形式DEに不正アクセスを引き起こす処理が含まれることを実行形式DEの配布元の確からしさから推測するまでもなく達成する。
さらには上記の性質と同時に、実行形式DEの変更や追加によってサービスの機能/諸元の変更や新規サービスの追加といったサービスの拡張も達成する機能を実現することができる。
これにより、従来のサービスの拡張可能なプラットフォームに対して従来にない新次元の安全性と操作性とを同時に実現することができる。
以上のように、本発明は、「サービスの拡張性」、「サービス安全性の確保」および「サービス拡張操作のシームレス」という3つの特徴を実現する従来にない全く新しいサービス安全拡張プラットフォームに有用である。
本発明の第1の実施の形態にかかる、サービス安全拡張プラットフォームの構成を模式的に示すブロック図 図1に示したサービス安全拡張プラットフォームの識別化実行形式格納器に格納される識別化実行形式を示す説明図 図1に示したサービス安全拡張プラットフォームのサービス依存リソース管理器で管理されるサービス依存リソース管理テーブルの説明図 図1に示したサービス安全拡張プラットフォームのサービス依存リソース管理器による新サービスの登録管理動作を示すフローチャート 図1に示したサービス安全拡張プラットフォームの端末によるサービス実行動作を示すフローチャート 図1に示したサービス安全拡張プラットフォームの端末のソフトウェア階層を示す説明図 図1に示したサービス安全拡張プラットフォームによってユーザに提示される画面例を示す説明図 本発明の第2の実施の形態にかかるサービス安全拡張プラットフォームの構成を模式的に示すブロック図 図8に示したサービス安全拡張プラットフォームの識別化実行形式格納器に格納される識別化実行形式およびメタサービス実行形式を示す説明図 図8に示したサービス安全拡張プラットフォームの端末によるサービス実行動作を示すフローチャート 本発明の第3の実施の形態にかかるサービス安全拡張プラットフォームの構成を模式的に示すブロック図 図11に示したサービス安全拡張プラットフォームの識別化実行形式格納器に格納される識別化実行形式および親子識別化実行形式を示す説明図 図11に示したサービス安全拡張プラットフォームの端末によるサービス実行動作を示すフローチャート 本発明の第4の実施の形態にかかるサービス安全拡張プラットフォームの構成を模式的に示すブロック図 図14に示したサービス安全拡張プラットフォームのコンテンツ格納器に格納される制御コンテンツおよびコンテンツを示す説明図 図14に示したサービス安全拡張プラットフォームのサービス依存リソース管理器で管理されるサービス依存リソース管理テーブルの説明図 図14に示したサービス安全拡張プラットフォームの端末による制御コンテンツ実行動作を表すフローチャート 従来の技術における、従来のサービスプラットフォームの構成を模式的示すブロック図 図18に示したサービスプラットフォームの実行ファイル格納器に格納される実行ファイルを示す説明図 図18に示したサービスプラットフォームの端末におけるのソフトウェア階層を示す説明図
符号の説明
SEP1、SEP2、SEP3、SEP4 サービス安全拡張プラットフォーム
110 サービス提供源
111 実行形式提供器
112 サービス識別設定器
113 送出器
120 デリバリシステム
130 端末
131 ダウンローダ
132 識別化実行形式格納器
133 エクセキュータ
134 リソースセレクタ
135 一般リソース管理器
136 サービス依存リソース管理器
210 サービス提供源
212 メタサービス指定器
230 端末
231 ダウンローダ
232 識別化実行形式格納器
233 エクセキュータ
310 サービス提供源
312 サービス識別設定器
314 サービス識別親子管理器
330 端末
331 ダウンローダ
332 識別化実行形式格納器
333 エクセキュータ
334 親子判定器
410 サービス提供源
411 コンテンツ提供器
412 制御コンテンツ指定器
430 端末
431 コンテンツダウンローダ
432 コンテンツ格納器
433 エクセキュータ
434 制御コンテンツ判定器
PFc サービスプラットフォーム
1111 実行ファイル提供器
1132 実行ファイル格納器
1133 エクセキュータ
1610 サービス提供源
1611 ファイル転送サーバ
1630 端末

Claims (12)

  1. サービス(S)と実行形式(DE)とが対応付けられており、前記実行形式(DE)の変更や追加によって前記サービス(S)の拡張が達成されるサービス安全拡張プラットフォーム(SEP)であって、前記サービスの拡張を行うサービス依存APIを具備し、かつ前記実行形式(DE)からの前記サービスの拡張は前記サービス依存APIの呼び出しによってのみ行われることを特徴とする、サービス安全拡張プラットフォーム(SEP)。
  2. 前記サービスの拡張が新規サービスの新設であることを特徴とする、請求項1に記載のサービス安全拡張プラットフォーム(SEP1)。
  3. 前記サービスの拡張がサービス利用開始であることを特徴とする、請求項1に記載のサービス安全拡張プラットフォーム(SEP1)。
  4. 注目する前記サービスの拡張は、注目する前記サービスに対応付けられた実行形式(DE)からの前記サービス依存APIの呼び出しによってのみ行われることを特徴とする、請求項1乃至請求項3に記載のサービス安全拡張プラットフォーム(SEP)。
  5. 複数の前記サービス間に親子関係(サービス親子指定情報ISh)が定義され、前記実行形式(DE)が要求する前記サービス依存API呼び出しが前記サービス(S)に対応付けられるサービス依存リソース(RS)を処理対象として指定した際に、前記実行形式(DE)に対応付けられるサービス(S)が前記サービス(S)の先祖である場合にのみ、サービス依存リソース(RS)に対して処理可能であることを特徴とする、請求項1乃至請求項3に記載のサービス安全拡張プラットフォーム(SEP3)。
  6. メタサービスに対応付けられた前記実行形式(DE)が前記サービス依存APIによって、前記サービス(S)の少なくとも1つが拡張可能なことを特徴とする、請求項1乃至請求項3に記載のサービス安全拡張プラットフォーム(SEP)。
  7. 前記メタサービスに対応付けられた前記実行形式が前記サービス依存APIによって、前記サービス(S)の全てが拡張可能であり、前記メタサービスに対応付けられていない前記実行形式(DE)は前記サービス依存APIによって前記サービスの拡張が不可能であることを特徴とする、請求項6に記載のサービス安全拡張プラットフォーム。
  8. 前記実行形式(DE)がコンテンツ(DC)として満たすべき条件を満たした制御コンテンツ(DCc)であり、前記制御コンテンツ(DC)が、前記コンテンツの少なくとも1つと共にコンテンツ(DC)として伝送され、前記コンテンツ(DC)の少なくとも1つから前記制御コンテンツ(DCc)を指定する情報(Es)が伝送され、前記制御コンテンツ(DC)によってのみサービス依存APIの処理が可能であることを特徴とする請求項1乃至請求項3に記載のサービス安全拡張プラットフォーム(SEP4)。
  9. 前記サービス依存APIによって、特定の前記サービスのコンテンツ(DC)の自動的な格納が制御されることを特徴とする請求項8に記載のサービス安全拡張プラットフォーム(SEP4)。
  10. 前記実行形式(DE)を少なくとも1つのサービス提供部(110、210、310、410)から送出し、前記実行形式(DE)を実行する少なくとも1つの端末(130、230、330、430)で受信することを特徴とする、請求項1乃至請求項9に記載のサービス安全拡張プラットフォーム(SEP)。
  11. 請求項1乃至請求項10に記載のサービス安全拡張プラットフォーム(SEP)を実現するサービス安全拡張方法。
  12. 請求項1乃至請求項10に記載のサービス安全拡張プラットフォーム実施するコンピュータプログラムを格納した記憶媒体。
JP2004513932A 2002-06-12 2003-06-11 サービス安全拡張プラットフォーム Pending JPWO2003107182A1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2002171338 2002-06-12
JP2002171338 2002-06-12
PCT/JP2003/007390 WO2003107182A1 (ja) 2002-06-12 2003-06-11 サービス安全拡張プラットフォーム

Publications (1)

Publication Number Publication Date
JPWO2003107182A1 true JPWO2003107182A1 (ja) 2005-10-20

Family

ID=29727805

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004513932A Pending JPWO2003107182A1 (ja) 2002-06-12 2003-06-11 サービス安全拡張プラットフォーム

Country Status (5)

Country Link
US (1) US7421713B2 (ja)
EP (1) EP1521174A4 (ja)
JP (1) JPWO2003107182A1 (ja)
CN (1) CN1327343C (ja)
WO (1) WO2003107182A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110213714A1 (en) * 2010-02-26 2011-09-01 Oracle International Corporation Service provider identifiers
US9710771B2 (en) * 2014-02-10 2017-07-18 Trimble Inc. Real-time crop processing management
US10540270B1 (en) * 2018-01-25 2020-01-21 Amazon Technologies, Inc. Representation-based automated software testing

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5412717A (en) 1992-05-15 1995-05-02 Fischer; Addison M. Computer system security method and apparatus having program authorization information data structures
DE69323926T2 (de) 1992-05-15 1999-09-30 Addison M. Fischer Verfahren und Vorrichtung zur Sicherheit eines Computersystem mit Programmberechtigungsdatenstrukturen
US6460058B2 (en) * 1996-12-06 2002-10-01 Microsoft Corporation Object-oriented framework for hyperlink navigation
AU746459B2 (en) * 1997-03-24 2002-05-02 Visa International Service Association A system and method for a multi-application smart card which can facilitate a post-issuance download of an application onto the smart card
US6275938B1 (en) 1997-08-28 2001-08-14 Microsoft Corporation Security enhancement for untrusted executable code
JP3563619B2 (ja) * 1998-12-04 2004-09-08 株式会社東芝 アプリケーション機能指定装置及び記憶媒体
US6434615B1 (en) * 1999-04-30 2002-08-13 Compaq Information Technologies Group, L.P. Method and apparatus for remote computer management using HTML in a web browser application and an internet server extension on an internet server API-compliant web server
JP2001005794A (ja) * 1999-06-18 2001-01-12 Nec Corp 分散システム
FR2801118B1 (fr) * 1999-11-17 2001-12-21 Bull Cp8 Procede de chargement d'applications dans un systeme embarque multi-application, systeme embarque correspondant, et procede d'execution d'une application du systeme embarque
EP1245108A1 (en) 2000-01-06 2002-10-02 TELEFONAKTIEBOLAGET LM ERICSSON (publ) System and method for providing value-added services (vas) in an integrated telecommunications network using a downloadable plug-in module
US6735623B1 (en) * 2000-02-09 2004-05-11 Mitch Prust Method and system for accessing a remote storage area
CA2405986A1 (en) * 2000-04-11 2002-10-24 Perot Investments, Inc. System and method for managing and tracking customer incentive securities
EP1308016A2 (en) * 2000-08-11 2003-05-07 Manugistics, Inc. System and method for integrating disparate networks for use in electronic communication and commerce
WO2002017075A2 (en) * 2000-08-22 2002-02-28 Symbian Limited A method of enabling a wireless information device to access data services
US6944868B2 (en) * 2001-08-08 2005-09-13 Hewlett-Packard Development Company, L.P. Imaging extension API for isolating web content from user resources and services
US7246349B2 (en) * 2001-08-31 2007-07-17 Telefonaktiebolaget Lm Ericsson (Publ) Migration support mechanism in open service and open mobile architecture

Also Published As

Publication number Publication date
EP1521174A1 (en) 2005-04-06
WO2003107182A1 (ja) 2003-12-24
CN1327343C (zh) 2007-07-18
CN1675620A (zh) 2005-09-28
US20050216921A1 (en) 2005-09-29
US7421713B2 (en) 2008-09-02
EP1521174A4 (en) 2006-05-10

Similar Documents

Publication Publication Date Title
AU781596B2 (en) Data entry in a GUI
US8214754B2 (en) Registration of applications and complimentary features for interactive user interfaces
US8250458B2 (en) Method, system, and software tool for emulating a portal application
CN101706796B (zh) 展现网页资源的方法及装置
CN102971688B (zh) 跨平台应用程序框架
JP5044652B2 (ja) ツールバーサービス提供方法及び装置
JP2001007840A (ja) データ配信方法及び装置、並びに、データ受信方法及び装置
US20040031041A1 (en) Remote control inputs to Java applications
JP2008117405A (ja) ネットワーク上でソフトウェアを遠隔操作でアップグレードする方法
JP2001024996A (ja) コンテンツ受信システム及びコンテンツ受信方法
JP2007323234A (ja) 情報処理装置及び情報処理方法、並びにコンピュータ・プログラム
JP2007334525A (ja) コンピュータ、クライアント−サーバコンピュータ群、サーバコンピュータ、表示プログラム、及びディスプレイ表示方法
CN111324411B (zh) 显示设备中用户界面的升级方法及显示设备
WO2015093425A1 (ja) 車載端末、コンテンツ表示システム、コンテンツ表示方法、およびコンピュータプログラム製品
CN101978674A (zh) 用于显示由客户端生成的信息的方法
US7600045B2 (en) Information processor
JPWO2003107182A1 (ja) サービス安全拡張プラットフォーム
US8342965B2 (en) Displaying a game menu screen by flash program module in an on-line game application
JP4624413B2 (ja) パソコンのデスクトップ上にユーザーインタフェースを表示するための方法及びプログラム
JP2009157901A (ja) 情報提供装置、情報表示装置、情報提供システム、情報提供方法、プログラム、およびプログラムを記録したコンピュータ読み取り可能な記録媒体
US12045631B2 (en) Page loading method and display apparatus
JP2008059385A (ja) 情報処理装置、情報処理方法、プログラム、及び情報処理装置の制御方法
Halonen Implementing a HbbTV application editor

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071127

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080123

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080702