以上、本発明を一般的に述べたが、必ずしも正しい縮尺で描かれていない添付図面を参照して、本発明を詳細に説明する。
本発明の好ましい実施形態が示された添付図面を参照して、本発明を以下に詳細に説明する。しかしながら、本発明は、多数の異なる形態で実施でき、ここに述べる実施形態に限定されるものではなく、これら実施形態は、この開示を完全なものとして、本発明の範囲を当業者に完全に伝えるために設けられたものである。全体を通して同じエレメントは、同じ番号で示す。
図1を参照すれば、本発明から利益が得られる一形式のターミナル及びシステムが示されている。本発明のシステム、ターミナル及び方法は、主として、移動通信アプリケーションに関して説明する。しかしながら、本発明のシステム及び方法は、移動通信産業、及び移動通信産業以外の両方において、種々の他のアプリケーションに関連して使用できることを理解されたい。例えば、本発明のシステム及び方法は、ワイヤライン及び/又はワイヤレスネットワーク(例えば、インターネット)アプリケーションに関して使用することができる。
図示されたように、ターミナル10は、ベースサイト即ちベースステーション(BS)14へ信号を送信し且つそこから信号を受信するためのアンテナ12を含むことができる。ベースステーションは、ネットワークを動作するのに必要なエレメント、例えば、移動交換センター(MSC)16を備えたセルラーネットワークの一部分である。当業者に良く知られたように、セルラーネットワークは、ベースステーション/MSC/インターワーキングファンクション(BMI)とも称される。動作中に、MSCは、ターミナルがコールを発信し及び受信するときに、ターミナルへ及びターミナルからコール及びメッセージをルーティングすることができる。又、MSCは、ターミナルがコールに含まれるときに、地上ライントランクへの接続も与える。MSCは、サーバーゲートウェイ(GTW)、例えば、ワイヤレスアプリケーションプロトコル(WAP)GTWに結合され得る。WAPゲートウェイは、次いで、1つ以上のゲートウェイ、例えば、プッシュプロキシー/GTW18及びメソッドプロキシー/GTW20を含むことができる。
MSC16は、データネットワーク、例えば、ローカルエリアネットワーク(LAN)、メトロポリタンエリアネットワーク(MAN)、及び/又はワイドエリアネットワーク(WAN)に結合することができる。MSCは、データネットワークに直接的に結合することもできるし、及び/又はWAN GTWを経て(例えば、プッシュプロキシー/GTW18、及び/又はメソッドプロキシー/GTW20を経て)間接的に結合することもできる。1つの典型的な実施形態において、例えば、MSCは、WAN GTWに結合され、そしてGTWは、インターネット22のようなWANに結合される。次いで、処理エレメントのような装置(例えば、パーソナルコンピュータ、サーバーコンピュータ等)を、インターネットを経てターミナル10に結合することができる。例えば、以下に述べるように、処理エレメントは、プッシュイニシエータ24に関連した1つ以上の処理エレメントと、1つ以上の原点サーバー26に関連した1つ以上の処理エレメントとを含むことができ、図1には、各々1つが示されている。
MSC16に加えて、BS14は、シグナリングGPRS(汎用パケット無線サービス)サポートノード(SGSN)28に結合することができる。当業者に知られたように、SGSNは、通常、パケット交換サービスに対してMSC16と同様の機能を遂行することができる。SGSNは、MSCと同様に、インターネット22のようなデータネットワークに結合することができる。SGSNは、データネットワークに直接結合することができる。しかしながら、より典型的な実施形態では、SGSNは、GPRSコアネットワーク33のようなパケット交換コアネットワークに結合される。パケット交換コアネットワークは、次いで、別のGTW、例えば、GTW GPRSサポートノード(GGSN)30に結合され、そしてGGSNは、インターネットに結合される。GGSNに加えて、パケット交換コアネットワークは、WAN GTW(例えば、プッシュプロキシー/GTW18、及び/又はメソッドプロキシー/GTW20)に結合することもできる。
SGSN28をGPRSコアネットワーク33及びGGSN30に結合することにより、原点サーバー26のような装置を、インターネット22、SGSN及びGGSNを経て、ターミナル10に結合することができる。この点について、原点サーバーのような装置は、SGSN、GPRS及びGGSNを横切ってターミナルと通信することができる。例えば、原点サーバーは、マルチメディアブロードキャストマルチキャストサービス(MBMS)に基づいてターミナルへコンテンツを与えることができる。MBMSの更なる情報については、参考としてここにその全体を援用する「Multimedia Broadcast Multicast Service (MBMS)」と題する第3世代パートナーシッププロジェクト(3GPP)技術仕様書3GPPTS22.146を参照されたい。
BS14に結合されるのに加えて、ターミナル10は、1つ以上のワイヤレスアクセスポイント(AP)30にワイヤレス結合することができる。これらAPは、例えば、高周波(RF)、ブルーツース(BT)、赤外線(IrDA)、或いは多数の異なるワイヤレスネットワーク技術、WLAN技術を含む、のような技術に基づいて通信するように構成されたアクセスポイントを含むことができる。APは、インターネット22に結合されてもよい。MSC16と同様に、APは、インターネットに直結することができる。しかしながら、1つの効果的な実施形態では、APは、プッシュプロキシー/GTW及び/又はメソッドプロキシー/GTWを含むWAP GTWを経てインターネットに間接的に結合される。明らかなように、ターミナル及びプッシュイニシエータ24、原点サーバー26、並びに多数の他の装置のいずれかをインターネットに直接的又は間接的に接続することにより、ターミナルは、プッシュイニシエータ、原点サーバー等と通信できると共に、ターミナル同士で通信することができ、これにより、ターミナルの種々の機能、例えば、プッシュイニシエータ、原点サーバー等との間でのデータ、コンテンツ等の送信、及び/又はコンテンツ、データ等の受信を実行することができる。
更に、ターミナル10は、それに加えて又はそれとは別に、地上デジタルビデオブロードキャスティング(例えば、DVB−T、DVB−H、ISDB−T、ATSC等)ネットワークのようなデジタルブロードキャストネットワークを経てデジタルブロードキャスタ34に接続することができる。明らかなように、ターミナル及びデジタルブロードキャスタを間接的又は直接的に接続することにより、ターミナルは、1つ以上のテレビ、ラジオ及び/又はデータチャンネルに対するコンテンツのようなコンテンツをデジタルブロードキャスタから受信することができる。この点について、デジタルブロードキャスタは、DVB−T TXのような送信器(TX)36を含み又はそれに結合することができる。同様に、ターミナルは、DVB−T受信器(図示せず)のような受信器を含むこともできる。ターミナルは、多数の異なるエンティティのいずれかから、1つ以上の異なる数のやり方でコンテンツを受信することができる。一実施形態において、例えば、ターミナルは、DVB(例えば、DVB−T、DVB−H等)技術、並びにセルラー(例えば、1G、2G、2.5G、3G等)通信技術に基づいて、データ、コンテンツ等を送信及び/又は受信することのできるターミナル10’を含むことができる。このような実施形態では、ターミナル10’は、TXからコンテンツを受信するためのアンテナ12Aと、BS14へ信号を送信し及びそこから信号を受信するための別のアンテナ12Bとを含んでもよい。このようなターミナルの更なる情報については、参考としてここにその全体を援用する2001年6月29日に出願された「Receiver」と題する米国特許出願第09/894,532号を参照されたい。
TX36を経てデジタルブロードキャスタ34へターミナル10を直結するのに加えて又はそれに代わって、ターミナルをデジタルブロードキャスト受信ターミナル38に結合し、これを、次いで、直接的に及び/又はTXを経てデジタルブロードキャスタ34へ結合することもできる。このような場合には、デジタルブロードキャスト受信ターミナルは、セットトップボックスの形態のDVB−T受信器のようなDVB−T受信器を含むことができる。ターミナルは、例えば、パーソナルエリアネットワークを経て、デジタルブロードキャスト受信ターミナルにローカル結合することができる。しかしながら、1つの効果的な実施形態では、ターミナルは、それに加えて又はそれとは別に、インターネット22を経てデジタルブロードキャスト受信ターミナルに間接的に結合することができる。
DVB−Tのような多数のデジタルブロードキャスト技術に基づき、インターネットプロトコル(IP)データキャスト(IPDC)を使用して、オーディオ、ビデオ及び/又は他のコンテンツをターミナル10へ供給することができる。この点について、デジタルブロードキャスタ34は、デジタルブロードキャスト技術を利用してターミナルへIPデータキャストコンテンツを供給することができる。当業者に明らかなように、DVB−Tのようなデジタルブロードキャスト技術は、本質的に性質がセルラーであり、送信サイトが多数の異なるセルの各々に関連している。DVB−Tは、例えば、MPEG−2トランスポートストリームを使用し、従って、デジタルブロードキャスタ、特に、TX36から送信されたDVB送信信号にIPデータをカプセル化することができる。IPデータグラムを含むデータストリームを多数のソースから供給して、IPエンキャプスレーター(図示せず)によりカプセル化することができる。IPエンキャプスレーターは、次いで、カプセル化されたIPデータストリームをデジタルブロードキャスト(例えば、DVB−T)ネットワークへ供給することができる。
カプセル化されたIPデータストリームは、次いで、1つ以上の送信サイトへ搬送することができ、送信サイトは、デジタルブロードキャストネットワークのセルを形成する。例えば、カプセル化されたIPデータストリームは、MPEG−2トランスポートストリームにおいて1つ以上の送信サイトへ搬送することができ、その後、空気中を経てターミナルへ直接送信されるか、又は1つ以上のターミナルにサービスする受信ステーションへ送信される。明らかなように、MPEG−2トランスポートストリームは、IPエンキャプスレーターにより作成されてから、ターミナル又は受信ステーションにより受信されるまで、通常、その性質が一方向性である。この点に関して、データを含むIPパケットをマルチプロトコルカプセル化(MPE)セクションに埋め込み、これらをトランスポートストリームパケット内で搬送することができる。
IPパケットに加えて、MPEセクションは、順方向エラー修正(FEC)情報及びタイムスライス情報を含むこともできる。タイムスライス情報のような情報を含ませることにより、データを受信器(例えば、ターミナル10)で不連続に搬送して、データが受信器へ送信されないときにスイッチオフすることでバッテリ電力を節約することができる。換言すれば、1つのタイムスライス技術によれば、連続的なデジタルブロードキャスト(例えば、DVB−T)送信の現在デフォールト方法を使用するのではなく、時分割多重化形式の割り当て技術を使用することができる(例えば、DVB−H規格を参照されたい)。このような解決策では、サービスをバーストで提供することができ、受信器がデータを受信していないときに受信器がパワーダウンするのを許すと共に、必要なときにデータパケットを受信するように受信器がパワーアップするのを許す。
図2を参照すれば、本発明の一実施形態に基づき、ターミナル10、プッシュプロキシー/GTW18、メソッドプロキシー/GTW20、プッシュイニシエータ24、及び/又は原点サーバー26として動作できるエンティティのブロック図が示されている。個別のエンティティとして示されているが、ある実施形態では、論理的に分離されるがエンティティ(1つ又は複数)内で同じ位置にあるターミナル、プッシュプロキシー/GTW、メソッドプロキシー/GTW、プッシュイニシエータ及び/又は原点サーバーの1つ以上を、1つ以上のエンティティがサポートしてもよい。例えば、メソッドプロキシー/GTWと論理的に個別であるが同じ位置にあるプッシュプロキシー/GTWを単一のエンティティがサポートしてもよい。又、例えば、原点サーバーと論理的に個別であるが同じ位置にあるプッシュイニシエータを単一のエンティティがサポートしてもよい。
図示されたように、ターミナル10、プッシュプロキシー/GTW18、メソッドプロキシー/GTW20、プッシュイニシエータ24、及び/又は原点サーバー26として動作できるエンティティは、一般に、メモリ42及びインターフェイス44に接続されたプロセッサ40を含むことができる。メモリは、揮発性及び/又は不揮発性メモリで構成され、そして通常、プロセッサが本発明の実施形態に基づきエンティティのオペレーションに関連したステップを実行するためのソフトウェアアプリケーション、インストラクション等を含む。例えば、ターミナルとして、メモリは、ハイパーテキスト転送プロトコル(HTTP)、ファイル転送(例えば、FTP)アプリケーション、Telnetアプリケーション、ピア対ピアアクセスアプリケーション等に基づいて通信するための従来のウェブブラウザのようなユーザ又はホストアプリケーションを含んでもよい。又、メモリは、以下に述べるように、ターミナルへのコンテンツの完全なダウンロードを容易にすることのできるソフトウェアダウンロードエージェントを含んでもよい。更に、以下に述べるように、メモリは、ダウンロードされた不完全なコンテンツを記憶するための不揮発性メモリキャッシュ42Aと、ダウンロードされた完全なコンテンツのようなコンテンツを記憶するための不揮発性メモリ42Bとを含んでもよい。
本発明の実施形態によりターミナル10として動作できる移動ステーションの機能図である図3を参照して説明する。図示して以下に説明する移動ステーションは、本発明から利益が得られる一形式のターミナルを例示するものに過ぎず、それ故、本発明の範囲を限定するものでないことを理解されたい。移動ステーションの幾つかの実施形態を図示して、一例として以下に説明するが、他の形式の移動ステーション、例えば、ポータブルデジタルアシスタント(PDA)、ページャー、ラップトップコンピュータ、並びに他の形式の音声及びテキスト通信システムも、本発明を容易に利用できる。
移動ステーションは、送信器44と、受信器46と、これら送信器及び受信器へ信号を供給し及びそこから信号を受信するコントローラ48とを備えている。これらの信号は、適用可能なセルラーシステムのエアインターフェイス規格に基づくシグナリング情報や、ユーザスピーチ及び/又はユーザ発生データを含む。この点について、移動ステーションは、1つ以上のエアインターフェイス規格、通信プロトコル、変調形式、及びアクセス形式で動作することができる。より詳細には、移動ステーションは、多数の第1世代(1G)、第2世代(2G)、2.5G及び/又は第3世代(3G)の通信プロトコル等のいずれかに基づいて動作できる。例えば、移動ステーションは、2Gワイヤレス通信プロトコルIS−136(TDMA)、GSM及びIS−95(CDMA)に基づいて動作できるものでよい。それに加えて又はそれとは別に、移動ステーションは、多数の異なるデジタルブロードキャスト技術のいずれか、例えば、DVB技術(例えば、DVB−T、ETSI規格EN300 744)に基づいて動作することができる。又、移動ステーションは、多数の異なるブロードキャスト及び/又はマルチキャスト技術のいずれか、例えば、MBMS技術(例えば、3GPP TS22.146)に基づいて動作することもできる。更に、移動ステーションは、ISDB−T(日本地上サービス総合デジタルブロードキャスティング)、DAB(デジタルオーディオブロードキャスティング)、ATSC(アドバンストテレビジョンシステムズコミッティー)技術等に基づいて動作することができる。ある狭帯域AMPS(NAMPS)及びTACS移動ターミナルも、二重又はそれ以上のモードの電話であれば(例えば、デジタル/アナログ、又はTDMA/CDMA/アナログ電話)、本発明の教示から利益が得られる。
コントローラ48は、移動ステーションの音声及び論理機能を実施するに必要な回路を備えることが理解されよう。例えば、コントローラは、デジタル信号プロセッサ装置、マイクロプロセッサ装置、種々のアナログ/デジタルコンバータ、デジタル/アナログコンバータ、及び他のサポート回路で構成することができる。移動ステーションの制御及び信号処理機能は、各能力に基づいてこれら装置間に割り当てられる。従って、コントローラは、変調及び送信の前にメッセージ及びデータをコンボリューション的にエンコードし且つインターリーブする機能も備えている。コントローラは、更に、内部ボイスコーダ(VC)48Aを含むことができると共に、内部データモデム(DM)48Bを含んでもよい。更に、コントローラは、メモリに記憶できる1つ以上のソフトウェアアプリケーションを動作するための機能を含んでもよい。
又、移動ステーションは、従来のイヤホン又はスピーカ50、リンガー52、マイクロホン54、ディスプレイ56、及びユーザ入力インターフェイスを含むユーザインターフェイスも備え、これらは全てコントローラ48に結合される。移動ステーションがデータを受信するのを許すユーザ入力インターフェイスは、移動ステーションがデータを受信するのを許す多数の装置のいずれか、例えば、キーパッド58、タッチディスプレイ(図示せず)、又は他の入力装置を含むことができる。キーパッドを含む実施形態では、キーパッドは、従来のニューメリックキー(0−9)及び関連キー(#、*)と、移動ステーションの動作に使用される他のキーとを備えている。
又、移動ステーションは、多数の異なるワイヤライン及び/又はワイヤレス技術のいずれかに基づいて、別のターミナル10、原点サーバー26、AP32、デジタルブロードキャスト受信ターミナル38、デジタルブロードキャスタ34等の1つ以上の電子装置とローカル通信するための1つ以上の手段を含むこともできる。例えば、移動ステーションは、これが高周波及び/又は赤外線技術に基づいてローカル通信できるように高周波(RF)トランシーバ60及び/又は赤外線(IR)トランシーバ62を含むことができる。又、例えば、移動ステーションは、これがブルーツース転送技術に基づいてローカル通信できるようにブルーツース(BT)トランシーバ64を含むこともできる。図示されていないが、移動ステーションは、それに加えて又はそれとは別に、LAN及び/又はWLAN技術を含む多数の異なるワイヤライン及び/又はワイヤレスネットワーク技術に基づいて、電子装置へデータを送信し及び/又はそこからデータを受信することができる。この点に関して、ターミナル10’について図1に示すように、移動ステーションは、このような電子装置(例えば、デジタルブロードキャスタ)へデータを送信し及び/又はそこからデータを受信するために付加的なアンテナ等を含んでもよい。
更に、移動ステーションは、移動加入者に関連した情報エレメントを通常記憶する加入者認識モジュール(SIM)66、除去可能なユーザ認識モジュール(R−UIM)等のメモリを含むことができる。SIMに加えて、移動ステーションは、他のメモリを含むこともできる。この点について、移動ステーションは、データを一時的に記憶するためのキャッシュエリアを含む揮発性ランダムアクセスメモリ(RAM)のような揮発性メモリ68を含むことができる。又、移動ステーションは、埋め込みでき及び/又は除去可能であってもよい他の不揮発性メモリ70を備えることもできる。不揮発性メモリは、それに加えて又はそれとは別に、EEPROM、フラッシュメモリ、ハードディスク等を含むこともできる。メモリは、移動ステーションの機能を実施するために移動ステーションにより使用される情報及びデータの多数の断片のいずれかを記憶することができる。例えば、メモリは、ハイパーテキスト転送プロトコル(HTTP)、ファイル転送(例えば、FTP)アプリケーション、Telnetアプリケーション、ピア対ピアアクセスアプリケーション等に基づいて通信するための従来のウェブブラウザのようなユーザ又はホストアプリケーションを含んでもよい。又、メモリは、以下に述べるように、ターミナルへのコンテンツの完全なダウンロードを容易にすることのできるソフトウェアダウンロードエージェントを含んでもよい。更に、以下に述べるように、不揮発性メモリは、ダウンロードされた不完全なコンテンツを記憶するためのキャッシュ(図示せず)を含んでもよい。更に、不揮発性メモリは、ダウンロードされた完全なコンテンツのようなコンテンツを記憶するための部分を含んでもよい。
本発明の実施形態によれば、システムは、1つ以上のプッシュ技術に基づいて動作することができる。背景技術の部分で上述したように、WAPプッシュアーキテクチャーにより提供されるもののような従来のプッシュ技術は、プッシュイニシエータからクライアントへのコンテンツのダウンロードを行うためにクライアント(又はクライアントのユーザ)の相互作用を要求する(即ち、エンドユーザは、コンテンツ配送の前に、プッシュされたコンテンツを受け容れる必要がある)。又、従来のサービスロード技術は、エンドユーザの相互作用を伴わずにコンテンツをプッシュすることができるが、従来のサービスロード技術は、契約/非契約のプッシュ型サービス(例えば、eメール)に対してスパミングの傾向がある。それ故、本発明の実施形態は、エンドユーザの相互作用を伴わずにターミナル10へコンテンツをプッシュできる一方、求められていないコンテンツをターミナルが受信する見込みを減少することができる。ここで使用するコンテンツとは、ターミナルへプッシュ又は与えることができ、さもなければ、ターミナルにより受信できる多数の異なるコンテンツ、サービス等のいずれかを指すことができる。
より詳細には、本発明の実施形態のターミナル10は、プッシュイニシエータ24、原点サーバー26、及び原点サーバーからターミナルへプッシュされるコンテンツの1つ以上を、例えば、トークンベースの認証技術に基づいて、認証することができる。好都合にも、ターミナルは、コンテンツが、通常、原点サーバーからターミナルへサービスロード技術に基づいてプッシュされる前に、プッシュイニシエータ、原点サーバー及び/又はコンテンツを認証することができる。その後、ターミナルがプッシュイニシエータ、原点サーバー及び/又はコンテンツを認証した場合に、ターミナルは、プッシュされたコンテンツを受け取ることができる。しかしながら、ターミナルは、プッシュイニシエータ、原点サーバー及び/又はコンテンツの認証に失敗すると、プッシュされたコンテンツの受け取りを拒絶することができる。ターミナルがプッシュイニシエータ、原点サーバー及び/又はコンテンツを認証することを要求し、そしてターミナルがプッシュイニシエータ、原点サーバー及び/又はコンテンツを認証したときに、サービスロード技術に基づいてターミナルへコンテンツをプッシュすることにより、ターミナルは、エンドユーザの相互作用を伴わずに、プッシュされたコンテンツを受け取ることができる一方、求められていない(即ち、許可されてない)コンテンツをターミナルが受け取る見込みを低減することができる。
本発明の一実施形態に基づき、プッシュされたコンテンツをターミナル10へダウンロードする方法を実行するシステムの種々のエレメントの制御フロー図である図4を参照して説明する。図示して説明するように、この方法は、プッシュイニシエータ24を許可することを含む。しかしながら、この方法は、それに加えて又はそれとは別に、本発明の精神及び範囲から逸脱せずに、ターミナル及び/又は供給されたコンテンツにコンテンツを与える原点サーバー26を認証することを含み得ることを理解されたい。又、図示して説明するように、この方法は、トークンベースの認証技術に基づいてプッシュイニシエータを許可することを含む。しかしながら、この方法は、本発明の精神及び範囲から逸脱せずに、多数の異なるパブリック又はプライベートキー暗号化技術のような多数の異なる認証技術のいずれかに基づいてプッシュイニシエータ(原点サーバー及び/又は供給されたコンテンツ)を認証できることも理解されたい。
図4に示すように、プッシュされたコンテンツをターミナル10にダウンロードする方法は、ターミナルが、パブリックキーとも称される認証トークン又は証明書を受け取るための契約要求をプッシュイニシエータ24へ送信することを含む。この契約要求は、このようなパブリックキーを要求するのに適した多数の異なる情報断片のいずれかを含むことができる。しかしながら、一実施形態では、この契約要求は、プッシュイニシエータにより開始されたプッシュされたコンテンツをターミナルが受け取るように、ターミナルがプッシュイニシエータの認証を希望するという指示を含む。このような指示に加えて、契約要求は、1つ以上の原点サーバー26、及び/又はターミナルがプッシュされたコンテンツの受信の前に更に認証を希望するコンテンツ、を識別することができる。
契約要求を受信すると、プッシュイニシエータ24は、ターミナル10へパブリックキーを送信することで応答することができ、パブリックキーは、契約要求に関連付けられる。次いで、ターミナルは、パブリックキーを、例えば、メモリ42に記憶することができ、パブリックキーは、契約要求に対する関連性と共に記憶することができる(例えば、ターミナルが2つ以上のプッシュイニシエータを認証する場合)。当業者に明らかなように、契約要求に関連付けされるのに加えて(プッシュイニシエータ及び/又はターミナルにおいて)、パブリックキーは、それに関連したプライベートキーも有する。この点について、プッシュイニシエータは、プライベートキーをプライベート的に維持するが、パブリックキー(非機密キー)はターミナルに使用できるようにする。以下に述べるように、プッシュイニシエータは、プライベートキーを使用して、ターミナルへ送信されるデータにデジタルでサインすることができる。その後に、ターミナルは、認証されたプッシュイニシエータから発信するデータを、デジタルシグネチャー及びパブリックキーに基づいて検証することができる。
プッシュイニシエータ24がパブリックキーをターミナル10へ送信した後の任意の点において、プッシュイニシエータは、WAPサービスロードアーキテクチャーのようなサービスロードアーキテクチャーに基づいてターミナルと通信して、ターミナルへのコンテンツ配送を開始することができる。この点について、プッシュイニシエータは、例えば、プッシュアクセスプロトコル(PAP)に基づいてプッシュプロキシー/GTW18へサービスロードコンテンツを送信し、そしてそのサービスロードコンテンツをターミナル10へ送信するようプッシュプロキシー/GTWに命令することができる。しかしながら、プッシュイニシエータがサービスロードコンテンツをプッシュプロキシー/GTWへ送信する前に、プッシュイニシエータは、プライベートキーを使用して、例えば、当業者に知られた技術に基づいてサービスロードコンテンツにデジタルでサインする。このデジタルシグネチャーに加えて、サービスロードコンテンツは、通常、ターミナルにより受信されるべきコンテンツのユニフォームリソース識別子(URI)を含む。
明らかなように、種々の場合に、プッシュイニシエータ24、又は該プッシュイニシエータを制御できる別の装置、サーバー等は、1つ以上の許可された原点サーバー26及び/又は許可されたコンテンツ、及び/又は1つ以上の阻止された原点サーバー及び/又は阻止されたコンテンツを含む制限されたリストを、ターミナル10に対して維持してもよい。このような場合に、プッシュイニシエータがサービスロードコンテンツをプッシュプロキシー/GTW18へ送信する前に、且つプッシュイニシエータがサービスロードコンテンツにデジタルでサインする前に、その制限されたリストを維持するプッシュイニシエータ又は他の装置、サーバー等により、その制限されたリストをチェックして、原点サーバー及び/又はコンテンツが許可されるよう保証し、及び/又は原点サーバー及び/又はコンテンツが阻止されないよう保証することができる。制限されたリストをチェックすることで、プッシュイニシエータは、サービスロードコンテンツ、又はより詳細には、そのサービスロードコンテンツにより識別される原点サーバー及びコンテンツが、その制限されたリストを満足する場合に、サービスロードコンテンツをターミナルへ送信することができる。
プッシュイニシエータがデジタルでサインされたサービスロードコンテンツを送信した後に、ターミナル10は、そのデジタルでサインされたサービスロードコンテンツの受信時に、ユーザの相互作用を伴わずに、URIで識別されたコンテンツをプルすることができる。しかしながら、コンテンツをプルする前に、ターミナルは、この場合もユーザの相互作用を伴わずに、デジタルシグネチャーをサービスロードコンテンツで検証することにより、サービスロードコンテンツを自動的に認証することができる。この点について、ターミナルは、プッシュイニシエータがターミナルに送信したパブリックキーを使用して、デジタルシグネチャーを検証することができる。デジタルシグネチャーを検証することにより、ターミナルは、許可されたプッシュイニシエータ24においてサービスロードコンテンツが発信されたことを検証できると共に、許可された原点サーバー26における許可されたコンテンツが契約要求に指定されている場合にはそれをサービスロードコンテンツが識別することを検証できる。
ターミナルが、例えば、デジタルシグネチャーをサービスロードコンテンツで検証するのに失敗することで、サービスロードコンテンツの認証に失敗した場合には、ターミナル10は、多数の異なる仕方のいずれかで応答することができる。例えば、ターミナルは、プッシュプロキシー/GTW18との通信を中止することができる。それに加えて又はそれとは別に、ターミナルは、プッシュイニシエータ24、プッシュプロキシー/GTW、及び/又はターミナルのユーザに、ターミナルが受信したサービスロードコンテンツの検証に失敗したこと、及び必要であれば、その失敗がターミナルのスパミングによるものであるかもしれないことを通知できる。
ターミナル10が、デジタルシグネチャーをサービスロードコンテンツで検証することにより、サービスロードコンテンツの認証に成功した場合には、ターミナルは、サービスロードコンテンツで識別されたコンテンツをプルするか、さもなければ、ダウンロードすることができる。この点について、ターミナルは、例えば、ワイヤレスセッションプロトコル(WSP)に基づいてメソッドプロキシー/GTW20と通信することができる。より詳細には、ターミナルは、識別されたコンテンツに関連するか、さもなければ、そこへのアクセスを制御する原点サーバー26(URIによっても識別される)からのURIにより識別されたコンテンツを要求するようにメソッドプロキシー/GTWに命令することができる。次いで、メソッドプロキシー/GTWは、例えば、ハイパーテキスト転送プロトコル(HTTP)に基づいて原点サーバーと通信し、識別されたコンテンツを要求することができる。識別されたコンテンツに対する要求を受け取ると、原点サーバーは、それに応答して、例えば、ワイヤレスマークアップ言語(WML)に基づき、メソッドプロキシー/GTWへ識別されたコンテンツを送信することができる。次いで、メソッドプロキシー/GTWは、識別されたコンテンツをターミナルへ転送することができる。
背景技術の部分で説明したように、ターミナル10が大きなコンテンツを、例えば、原点サーバー26から(メソッドプロキシー/GTW20を経て)ダウンロードする場合に、コンテンツをダウンロードする時間が通常増加し、従って、ターミナルがダウンロードプロセス中にある形式の送信エラー又は中断に遭遇する確率が高くなる。従来、単一のダウンロードセッションにおいてコンテンツがダウンロードされるときに、ダウンロードプロセス中に送信エラー又は中断が生じると、ターミナルは、コンテンツを完全にダウンロードするためにダウンロードプロセスを再スタートしなければならない。従って、本発明の実施形態は、エンドユーザの相互作用を伴わずにクライアントにコンテンツをプッシュする一方、求められていないサービス又はコンテンツを受ける見込みを低減できるだけでなく、ターミナルエラー及びネットワークエラーに遭遇したダウンロードセッションを回復することもできる。
ここに述べるように、このシステムは、メソッドプロキシー/GTW20を経て原点サーバー26とターミナル10との間のダウンロードセッションを回復することができる。しかしながら、このシステムは、本発明の精神及び範囲から逸脱せずに、ターミナルと、該ターミナルと通信できる他の装置、サーバー等との間のダウンロードセッションを回復できることを理解されたい。例えば、このシステムは、ターミナルと、原点サーバー、ダウンロードサーバー、デジタルブロードキャスタ34(図1)等との間のダウンロードセッションを回復することができる。又、このシステムは、ターミナルと他の装置との間のダウンロードセッションを回復することができ、ここで、ダウンロードされるコンテンツは、ポイント対ポイント、ユニキャスト、マルチキャスト、及びブロードキャストコンテンツの1つ以上を含むことも理解されたい。
本発明の1つの効果的な実施形態に基づき、原点サーバー26からコンテンツをダウンロードするターミナル10の機能的なブロック図である図5を参照して説明する。図示されたように、ターミナルは、例えば、HTTPに基づき、コンテンツ74を受信できる従来のウェブブラウザのようなアプリケーション72を動作することができる。又、ターミナルは、アプリケーションへコンテンツを配送できるダウンロードエージェント76を動作することもできる。この点について、ダウンロードエージェントは、通常、コンテンツ記憶装置78(例えば、図3、記憶装置42B)、及び不完全なダウンロードコンテンツの記憶装置80(例えば、図3、キャッシュ42A)にアクセスすることができ、ここで、1つの効果的な実施形態の不完全なダウンロードコンテンツの記憶装置は、不揮発性メモリを含む。
以下に詳細に述べるように、本発明の一実施形態によれば、変更型オープンモービルアライアンス(OMA)ダウンロードオーバー・ジ・エア(OTA)セッションがダウンロード回復に使用される。OMA OTAアーキテクチャーの更なる情報については、参考としてここにその全体を援用するOpen Mobile Alliance, Generic Content Download Over the Air、OMA-Download-OTA-v1_0-20030221-Cを参照されたい。
図6の制御フロー図を参照すれば、本発明の一実施形態に基づくダウンロード回復方法は、一般に、ターミナル10が、例えば、メソッドプロキシー/GTW20を経て原点サーバー26にアクセスして、原点サーバーからコンテンツ74をダウンロードすることを含む。必要に応じて、ターミナルが原点サーバーにアクセスするときに、ターミナルは、例えば、多数の異なる仕方のいずれかに基づき、原点サーバーに対して認証することができる。又、ターミナルが原点サーバーにアクセスするとき、ターミナルは、コンテンツをダウンロードするためのアプリケーション72を使用して、原点サーバーに関連するか又は原点サーバーにより制御されるコンテンツにアクセスし、そしてダウンロードされるべきコンテンツを識別することができる。
原点サーバー26からコンテンツ74をダウンロードするために、アプリケーション72は、例えば、GetContentメッセージをダウンロードエージェントに送信することにより、コンテンツの要求をダウンロードエージェント76へ送信することができる。次いで、ダウンロードエージェントは、コンテンツの要求(例えば、GetContentメッセージ)を原点サーバーへ送信することができる。コンテンツの要求を受け取ると、原点サーバーは、ダウンロード記述子82をターミナル10へ送信することができる。ダウンロードエージェントは、ダウンロード記述子を受け取り、その後、ダウンロード記述子を不完全なダウンロードの記憶装置80に記憶することができる。このダウンロード記述子は、要求されたコンテンツをターミナルがダウンロードするのを容易にするために多数の異なる情報断片のいずれかを含むことができるが、一実施形態では、ダウンロード記述子は、要求されたコンテンツのサイズ、及びどこからコンテンツを検索すべきかの位置のユニフォームリソース識別子(URI)のような属性を含む。更に、ダウンロード記述子は、要求されたコンテンツをダウンロードするのに使用される好ましい時間、場所及び技術に関する情報を含むことができる。
ダウンロード記述子82を受信した後に、ダウンロードエージェント76は、例えば、ダウンロード記述子82に指定されたURIへGetMediaObjectインストラクションを送信することにより、要求されたコンテンツ74を検索するように原点サーバー26に命令することができる。ダウンロードエージェントからインストラクションを受信すると、原点サーバーは、要求されたコンテンツをターミナル10へ送信し、又はより詳細には、ダウンロードエージェントへ送信することができる。この点について、コンテンツは、多数のコンテンツデータパケット741、742、・・・74nにおいて原点サーバーからダウンロードエージェントへ送信することができる。次いで、ダウンロードエージェントは、そのダウンロードエージェントが各パケットを受信するときに不完全なダウンロードの記憶装置80に各パケットを記憶することができる。明らかなように、原点サーバーは、単一方向又は両方向ネットワークにわたりダウンロードエージェントへコンテンツを送信することができる。又、明らかなように、原点サーバーは、図4を参照して上述したように、ターミナルがパブリックキーを要求し、受信し又は使用するのとは独立して、コンテンツを送信することができる。
図7に示すように、ダウンロードセッション中に、1つ以上のパケットのグループ又はブロック84の間に、情報パケットをパケットストリームに追加することができる。この点について、ダウンロードエージェント76は、ダウンロード回復を容易にするために、各情報パケットを受信し、そしてその後に、例えば、不完全なダウンロードの記憶装置80に記憶することができる。各情報パケットは、一般に、一連の1つ以上の繰り返し冗長コード(CRC)のような、後続情報パケット、又はパケットに関する他の情報の前にダウンロードエージェントが受信すると予想されるパケットのブロックにおけるパケットの数に関する情報を含むことができる。或いは又、各情報パケットは、以前の情報パケット、又はパケットに関する他の情報の後にダウンロードエージェントが受信すべきパケットのブロックにおけるパケットの数に関する情報を含むことができる。情報パケットの前又は後の、パケットのブロックにおけるパケットの数に関する情報に加えて、各情報パケットは、情報パケットの前又は後のパケットを独特に記述する情報(例えば、一連のパケットCRC)と、ターミナル10、情報パケット、要求されたコンテンツ及び/又はダウンロードセッションを識別する1つ以上の識別子とを含むことができる。
ユーザデータグラムプロトコル(UDP)のような種々のプロトコルに基づいて、パケットは、原点サーバー26がパケットを送信した順序とは異なる順序でダウンロードエージェント76に到着することがある。しかしながら、従来、UDPのようなプロトコルに基づくパケットは、パケットのシーケンスに関する情報を含まず、或いはデータパケットの全数が要求されたコンテンツを構成する。従って、情報パケットの前又は後の、パケットのブロックにおけるパケットの数に加えて、各情報パケットは、コンテンツの各データパケットの、他のデータパケットに対する変位を識別する識別子を含むことができる。或いは又、各情報パケットは、各情報パケットの前又は後のパケットのブロックを独特に識別するテーブルを含むことができ、各パケットは、各情報パケット及びパケットの正しい順序により参照される。例えば、各情報パケットは、各情報パケットの前又は後のパケットのブロックにおけるパケットについてのCRC又は他の独特に記述するデータフィールドを含むテーブルを含むことができる。データパケットの順序を直接的又は間接的に識別することにより、ダウンロードエージェントは、原点サーバーがパケットを送信した同じ順序でパケットをその後に順序付けすることができる。
明らかなように、パケット(1つ又は複数)のブロックは、各々、同数のパケットを含むこともできるし、或いはパケット(1つ又は複数)の各ブロックにおけるパケット数がブロックごとに変化してもよい。又、明らかなように、パケット(1つ又は複数)のブロックが同数のパケットを含む場合には、情報パケットをダウンロードセッションの始めに一度送信すればよいが、これは必要とされない。更に、原点サーバー26は、データパケット(1つ又は複数)のブロック間に情報パケットを含ませることができるが、情報パケットに含まれる情報は、それとは別に、1つ以上のデータパケットに追加することもできる。更に、上述したように、ダウンロードエージェント76は、ダウンロード回復を容易にするために、各情報パケットを受信した後にそれを記憶することができる。しかしながら、ダウンロードエージェントは、受信した情報パケット全部を記憶装置に維持する必要はない。例えば、ダウンロードエージェントは、最後に受信した情報パケットの1つ以上を記憶するだけであるように構成されてもよい。
ダウンロードセッション中に、ダウンロードエージェント76は、情報パケットを使用して、受信したデータパケットをモニタすることができる。より詳細には、ダウンロードエージェントは、受信したデータパケットをモニタして、受信したパケット、パケット(1つ又は複数)のブロック、又は要求されたコンテンツの一部分の数及び精度を追跡することができる。この点について、受信したパケット、パケット(1つ又は複数)のブロック、又は要求されたコンテクストの一部分の数は、ダウンロードセッション中に1つ以上のポイントにおいてパケットの識別された数又は要求されたコンテンツのサイズと比較することができる。受信したパケット、パケット(1つ又は複数)のブロック、又は要求されたコンテクストの一部分の精度は、例えば、各パケットにおけるCRCデータを使用することにより、多数の異なる仕方のいずれかで検証することができる。同様に、各送信パケット、パケット(1つ又は複数)のブロック、又は要求されたコンテクストの一部分にCRC又は精度についての他の特性を含ませることができる。
受信したパケットの数及び精度を追跡することにより、ダウンロードエージェント76は、ダウンロードセッションが中断を経験する場合及びそのときを識別することができる。この点について、ダウンロードセッションの中断は、多数の異なる仕方のいずれかですることが識別できる。例えば、ダウンロードセッションは、ダウンロード記述子72及び/又は1つ以上の情報パケットにより一般に識別できる、受信したパケット、パケット(1つ又は複数)のブロック、又は要求されたコンテクストの一部分の全数が、ダウンロードセッションが終了するか又は終了されたときの受信したパケット、パケット(1つ又は複数)のブロックの全数、又は要求されたコンテクストのサイズに等しくない場合に、中断したとみなすことができる。又、ダウンロードセッションは、誤って受信したパケットの数が、ダウンロードセッションが終了するか又は終了されたときのパケットの所定数を越える場合に、中断したとみなすことができ、ここで、パケットの所定数は、ダウンロードセッションが終了するときのダウンロードされたコンテンツの形式(絶対数又は相対数)に依存し得る。更に、ダウンロードセッションは、ターミナル10のユーザがダウンロードセッションを終了する場合、或いはダウンロードセッションがターミナルにより終了された(例えば、停電により)場合に、中断とみなすことができる。
要求されたコンテンツ74のダウンロード中、例えば、第3パケットの送信中に、中断が生じたと仮定する。中断に続いて、ターミナル10、より詳細には、ダウンロードエージェント76は、原点サーバー26との通信を再確立することができ、そして必要であれば、再び認証される。この点について、中断は、原点サーバーへ通知することができる。しかしながら、中断が停電によるものであるか、或いはターミナルが原点サーバーとの通信を再確立できない他の状態によるものである場合には、ダウンロードセッションの回復を容易にすることのできるデータ、例えば、1つ以上の情報パケット及び/又はダウンロード記述子82を、不完全なダウンロードの記憶装置80に維持して、その後にターミナルが通信を再確立できるとき及びターミナルのユーザがダウンロードの回復を希望するときに、通信を再確立することができる。
ダウンロードの中断の後、例えば、原点サーバーとの通信を再確立した後に、ダウンロードエージェントは、ダウンロード記述子82及び1つ以上の情報パケットを不完全なダウンロードの記憶装置80から検索することができる。ダウンロード記述子、及び不完全なダウンロードの記憶装置に記憶された完全なパケットのリストから(これは、直接決定することもできるし又は情報パケット(1つ又は複数)から決定することもできる)、要求されたコンテンツのダウンロードを完了するためにダウンロードする必要のあるパケットを確立することができる。この点について、アプリケーション72は、例えば、GetInterruptedDL()メッセージをダウンロードエージェントへ送信することにより、不完全なダウンロードの記憶装置に記憶された完全なパケットのリストを要求することができる。又、アプリケーションから要求を受けた際に、ダウンロードエージェントは、完全なパケットのリストをアプリケーションへ送信することができる。
どれほど多くのダウンロードが完了したか決定した後に、ダウンロードエージェント76は、中断したパケットを回復すると共に、残りのパケットをターミナル10へ送信して、コンテンツのダウンロードを完了させるように命令され得る。この点に関して、アプリケーションは、ダウンロード再開メッセージのような命令をダウンロードエージェントへ送信して、中断したパケットを回復すると共に、残りのパケットをダウンロードするようにダウンロードエージェントに命令することができる。次いで、ダウンロードエージェントは、ダウンロード再開メッセージのような命令を原点サーバーへ送信することができる。この点について、この命令は、原点サーバーへのダウンロードセッションを識別するセッション識別子、要求されたコンテンツを識別するオブジェクト識別子、及び/又は中断したパケットに対するポインタを指定することができる。又、この命令は、ターミナルを識別する識別子、及び/又は中断の原因の記述も含むことができる。
ターミナル10又はより詳細にはダウンロードエージェント76から命令を受け取ると、原点サーバーは、中断したパケット、及び要求されたコンテンツ74の残りのパケットをダウンロードエージェントに送信することができる。上述したように、パケットを受け取ると、ダウンロードエージェントは、不完全なダウンロードの記憶装置80にパケットを記憶することができる。次いで、ダウンロードエージェントは、要求されたコンテンツの全てのパケットを受信した後に、ダウンロードが首尾良く完了したことを指示するメッセージを原点サーバーへ送信できるが、これは必要ではない。又、ダウンロードエージェントは、要求されたコンテンツを不完全なダウンロードの記憶装置からコンテンツ記憶装置78へ転送し、そしてコンテンツが首尾良くダウンロードされたことをアプリケーション72に通知することができる。その後、アプリケーションは、必要に応じて、そのコンテンツを使用し、そしてコンテンツのダウンロードが完了したことをターミナルのユーザに通知することができる。
本発明の1つの態様によれば、本発明のシステムの全部又は一部分、例えば、ターミナル10、プッシュイニシエータ24、及び/又は原点サーバー26の全部又は一部分は、一般に、コンピュータプログラム製品(例えば、ダウンロードエージェント76)の制御のもとで動作する。本発明の実施形態の方法を遂行するためのコンピュータプログラム製品は、不揮発性記憶媒体のようなコンピュータ読み取り可能な記憶媒体と、このコンピュータ読み取り可能な記憶媒体に埋め込まれた一連のコンピュータインストラクションのようなコンピュータ読み取り可能なプログラムコード部分とを備えている。
この点について、図4及び6は、本発明による方法、システム及びプログラム製品の制御フロー図である。この制御フロー図の各ブロック又はステップ、及びこの制御フロー図におけるブロックの組合せは、コンピュータプログラムインストラクションにより実施できることを理解されたい。これらのコンピュータプログラムインストラクションは、コンピュータ又は他のプログラム可能な装置にロードされて、マシンを形成し、コンピュータ又は他のプログラム可能な装置で実行されるインストラクションは、制御フロー図のブロック(1つ又は複数)又はステップ(1つ又は複数)で指定される機能を実施するための手段を形成する。又、これらのコンピュータプログラムインストラクションは、コンピュータ又は他のプログラム可能な装置を特定の仕方で機能させるように導くことのできるコンピュータ読み取り可能なメモリに記憶されてもよく、このコンピュータ読み取り可能なメモリに記憶されたインストラクションは、制御フロー図のブロック(1つ又は複数)又はステップ(1つ又は複数)で指定される機能を実施するためのインストラクション手段を含む製造物品である。又、コンピュータプログラムインストラクションは、コンピュータ又は他のプログラム可能な装置において一連の動作ステップを実行させるために、コンピュータ又は他のプログラム可能な装置にロードされ、コンピュータ又は他のプログラム可能な装置で実行されるインストラクションが制御フロー図のブロック(1つ又は複数)又はステップ(1つ又は複数)で指定される機能を実施するためのステップを与えるようなコンピュータ実施プロセスを形成することができる。
従って、制御フロー図のブロック又はステップは、指定の機能を遂行するための手段の組合せ、指定の機能を遂行するためのステップの組合せ、及び指定の機能を遂行するためのプログラム命令手段をサポートする。又、制御フロー図の各ブロック又はステップ、並びに制御フロー図のブロック又はステップの組合せは、指定の機能又はステップ、或いは特殊目的のハードウェア及びコンピュータインストラクションの組合せを遂行する特殊目的のハードウェアベースのコンピュータシステムにより実施できることも理解されたい。
以上の説明及び添付図面に示された本発明の教示から、当業者であれば、本発明の多数の変更や他の実施形態が明らかであろう。それ故、本発明は、上述した特定の実施形態に限定されるものでなく、且つ特許請求の範囲内に種々の変更や他の実施形態が包含されることを理解されたい。又、特定の用語を使用したが、それらは、一般的な説明上の意味で使用されるだけであり、本発明を何ら限定するものではない。