情報端末、プログラム配布システム、およびプログラム配布方法
【課題】プログラム配信サーバ12の負荷を軽減することができるプログラム配信システム10を提供する。
【解決手段】情報端末20は、無線通信部200と、プログラムおよび当該プグラムの付帯情報を格納するプログラム格納部206と、無線通信部200を介して、プログラム配信サーバ12または他の情報端末20からプログラムおよび付帯情報を取得し、プログラム格納部206内の付帯情報が、取得した付帯情報と異なる場合に、取得したプログラムおよび付帯情報で、プログラム格納部206内のプログラムおよび付帯情報を更新するプログラム取得部202と、プログラム格納部206内のプログラムおよび付帯情報を、無線通信部200を介して他の情報端末20へ転送するプログラム転送部204と、プログラム格納部206内のプログラムを実行するプログラム実行部208とを備える。
【解決手段】情報端末20は、無線通信部200と、プログラムおよび当該プグラムの付帯情報を格納するプログラム格納部206と、無線通信部200を介して、プログラム配信サーバ12または他の情報端末20からプログラムおよび付帯情報を取得し、プログラム格納部206内の付帯情報が、取得した付帯情報と異なる場合に、取得したプログラムおよび付帯情報で、プログラム格納部206内のプログラムおよび付帯情報を更新するプログラム取得部202と、プログラム格納部206内のプログラムおよび付帯情報を、無線通信部200を介して他の情報端末20へ転送するプログラム転送部204と、プログラム格納部206内のプログラムを実行するプログラム実行部208とを備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム等のデータを情報端末に配布する技術に関する。
【背景技術】
【0002】
従来、情報端末のプログラムを更新する場合、プログラムを配信するサーバは、ケーブルを介して1対1に接続された情報端末に対して、当該ケーブルを介して更新プログラムを供給していた。また、CD−ROM等の記録媒体に記録された情報を読み込む機能を有する情報端末においては、更新プログラムを記録した記録媒体を介して更新プログラムを読み込ませることにより、情報端末のプログラムが更新されていた。
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかし、ケーブルを介したプログラムの更新において、車や冷蔵庫、PDP(Plasma Display Panel)等を用いたテレビ等の大型の機器に搭載されている状態で、情報端末のプログラムの更新を行う場合、接続するケーブルが長くなり、プログラム配布サーバとケーブルとのインターフェイスの強度を高める必要があり、当該インターフェイスがさらに大型化する場合があった。また、プログラムを更新する場合に、当該長いケーブルを接続する必要があり、プログラムの更新のための準備に時間がかかる場合があった。
【0004】
また、機器に搭載されている状態で情報端末に更新プログラムを供給する場合、機器のデザイン上の制約から、CD−ROM等の可搬性の記録媒体を情報端末に読み込ませるインターフェイスを外部に設けることができない場合がある。そのため、更新プログラムを情報端末に供給することができない場合があった。
【0005】
上記した問題を解決するために、IrDA等の近距離無線通信を用いて、機器に搭載された状態で、情報端末に更新プログラムを供給する場合がある。しかし、このような構成においては、更新プログラムを配布するサーバが、プログラムの更新を必要とする情報端末のそれぞれへ更新プログラムを供給するので、当該サーバの処理負荷が高くなる場合があった。
【0006】
そこで本発明は、上記の課題を解決することのできる情報端末、プログラム配布システム、およびプログラム配布方法を提供することを目的とする。例えば、配布すべきプログラムを情報端末に容易に供給することができるようにする。
【課題を解決するための手段】
【0007】
上記課題を解決するために、情報端末は、プログラム配布サーバから更新プログラムを取得すると共に、無線通信によって、他の情報端末へ転送する。
【0008】
例えば、本発明の第1の態様は、プログラム配布サーバによって配布されたプログラムに基づいて動作する情報端末であって、プログラム配布サーバおよび他の情報端末との間で無線通信が可能な無線通信部と、プログラム配布サーバによって配布されたプログラムおよびプログラムの付帯情報を格納するプログラム格納部と、無線通信部を介して、プログラム配布サーバおよび他の情報端末からプログラムおよびプログラムの付帯情報を取得し、プログラム格納部を参照して、プログラム格納部に既に格納されている付帯情報が、プログラム配布サーバまたは他の情報端末から取得した付帯情報と異なる場合に、プログラム配布サーバまたは他の情報端末から取得したプログラムおよび付帯情報で、プログラム格納部に格納されているプログラムおよび付帯情報を更新するプログラム取得部と、プログラム取得部が取得したプログラムおよび付帯情報で、プログラム格納部に格納されているプログラムおよび付帯情報を更新した場合、およびプログラム格納部に既に格納されている付帯情報が、プログラム取得部がプログラム配布サーバまたは他の情報端末から取得した付帯情報と同一である場合に、プログラム格納部に格納されているプログラムおよび付帯情報を、無線通信部を介して他の情報端末へ転送するプログラム転送部と、プログラム格納部に格納されているプログラムを実行するプログラム実行部とを備えることを特徴とする情報端末を提供する。
【0009】
また、本発明の第2の態様は、プログラム配布サーバによって配布されたプログラムに基づいて動作する情報端末であって、プログラム配布サーバおよび他の情報端末との間で無線通信が可能な無線通信部と、プログラム配布サーバによって配布されたプログラムを格納するプログラム格納部と、無線通信部を介して、プログラムと共に、プログラムを格納すべき情報端末の識別情報を含む格納指示およびプログラムの転送先の情報端末の識別情報を含む転送指示を、プログラム配布サーバまた他の情報端末から取得し、格納指示内に自身の識別情報が含まれている場合に、格納指示と共に取得したプログラムで、プログラム格納部に格納されているプログラムを更新するプログラム取得部と、プログラム取得部が取得したプログラムで、プログラム格納部に格納されているプログラムを更新した場合、およびプログラム取得部が取得した格納指示内に自身の識別情報が含まれていない場合に、プログラム取得部が取得したプログラム、格納指示、および転送指示を、転送指示に含まれる識別情報に対応する他の情報端末へ、無線通信部を介して転送するプログラム転送部と、プログラム格納部に格納されているプログラムを実行するプログラム実行部とを備えることを特徴とする情報端末を提供する。
【発明の効果】
【0010】
本発明によれば、更新プログラムを配布する場合のプログラム配布サーバの処理負荷を低減することができる。
【発明を実施するための最良の形態】
【0011】
以下に、本発明の第1の実施の形態について説明する。
【0012】
図1は、本発明の一実施形態に係るプログラム配信システム10の構成を示す。プログラム配信システム10は、プログラム配信サーバ12および複数の情報端末20を備える。プログラム配信サーバ12は、情報端末20へ配布するプログラムを格納しており、例えばBluetooth(登録商標)と呼ばれる無線通信方式に基づいて、複数の情報端末20と通信を行い、格納しているプログラムを、当該Bluetoothを用いて情報端末20へ配布する。
【0013】
ここで、Bluetoothとは、2.4GHz帯の電波を用いて、10から100m程度の通信範囲を有する通信方式である。互いに通信可能な範囲内にあるBluetooth対応機器のそれぞれは、電源が投入された後のシーケンスに基づいて、アクセスポイントの役割を担うマスタまたは当該マスタを介して他のBluetooth対応機器との間で通信を行うスレーブとして動作する。マスタは、最大7つのスレーブとの間で同時に無線通信を行うピコネットを形成することができる。また、Bluetoothでは、複数のピコネットどうしが相互接続されたスキャタネットを形成することができる。これにより、複数のBluetooth対応機器のそれぞれが互いに通信可能な範囲内にある場合、これら複数のBluetooth対応機器のみで無線ネットワークを形成することができる。従って、基地局やアクセスポイント等のBluetooth対応機器以外の設備を必要としないので、Bluetoothに基づく通信方式を採用することにより、無線通信ネットワークを低いコストで容易に形成することができる。
【0014】
複数の情報端末20のそれぞれは、それぞれの自動車22に設けられる、例えばカーナビゲーション装置である。他の例として、情報端末20は、冷蔵庫や、PDPを用いたテレビ等の大型の装置や、稼動中の装置等に搭載されてもよい。それぞれの情報端末20は、プログラム配信サーバ12および他の情報端末20との間でBluetoothを用いて通信を行うことができる。
【0015】
本実施形態において、情報端末20aおよび情報端末20bは、Bluetoothを用いてプログラム配信サーバ12が通信可能なエリア内に置かれており、プログラム配信サーバ12、情報端末20a、および情報端末20bは、例えば、プログラム配信サーバ12をマスタとするピコネットを形成することができる。
【0016】
また、プログラム配信サーバ12、情報端末20c、および情報端末20dは、Bluetoothを用いて情報端末20aが通信可能なエリア内に置かれており、プログラム配信サーバ12、情報端末20a、情報端末20c、および情報端末20dは、例えば、情報端末20aをマスタとするピコネットを形成することができる。
【0017】
同様に、プログラム配信サーバ12および情報端末20eは、Bluetoothを用いて情報端末20bが通信可能なエリア内に置かれており、プログラム配信サーバ12、情報端末20b、および情報端末20eは、例えば、情報端末20bをマスタとするピコネットを形成することができる。
【0018】
プログラム配信サーバ12および情報端末20a〜eは、スキャタネットを形成しており、直接または情報端末20を介して、互いに通信することができる。このように、プログラム配信サーバ12および情報端末20a〜eがスキャタネットを形成しているので、Bluetoothを用いてプログラム配信サーバ12が通信可能なエリアの外部に配置されている情報端末20c、情報端末20d、および情報端末20eに対しても、プログラム配信サーバ12が格納しているプログラムを配布することができる。また、プログラム配信サーバ12がBluetoothを用いて複数の情報端末20と通信を行うので、携帯電話や無線LANを用いる無線通信ネットワークよりも安価にかつ容易に無線通信ネットワークを形成することができる。
【0019】
図2は、本発明の第1実施形態に係るプログラム配信サーバ12の詳細な構成の一例を示すブロック図である。プログラム配信サーバ12は、プログラム格納部120、プログラム送信部122、付帯情報送信部124、および無線通信部126を備える。プログラム格納部120は、情報端末20に配布するプログラムおよび当該プログラムのバージョン等の情報である付帯情報を格納する。
【0020】
無線通信部126は、Bluetoothを用いて情報端末20と無線通信を行う。付帯情報送信部124は、情報端末20へのプログラムの配布に先立って、配布すべきプログラムの例えばバージョン情報等の付帯情報を、プログラム格納部120から読み出し、読み出した付帯情報を、無線通信部126を介して情報端末20へ送信する。プログラム送信部122は、付帯情報送信部124が送信した付帯情報に応答して、無線通信部126を介して情報端末20から受信要求を受信した場合に、配布すべきプログラムをプログラム格納部120から読み出し、読み出したプログラムを、無線通信部126を介して情報端末20へ送信する。
【0021】
図3は、プログラム格納部120に格納されるデータの構造の一例を示す。プログラム格納部120は、プログラムを識別するプログラムID1200、プログラムID1200で識別されるプログラムの付帯情報1202、およびプログラムID1200で識別されるプログラムのプログラム本体1204を格納する。プログラム格納部120は、配布すべきプログラムを、例えば圧縮した状態で格納している。
【0022】
図4は、本発明の第1実施形態に係る情報端末20の詳細な構成の一例を示すブロック図である。情報端末20は、無線通信部200、プログラム取得部202、プログラム転送部204、プログラム格納部206、およびプログラム実行部208を備える。プログラム格納部206は、製造時に予め格納されたプログラム、あるいはプログラム配信サーバ12から取得したプログラムを、その付帯情報と共に格納する。プログラム実行部208は、プログラム格納部206に格納されているプログラムを実行する。無線通信部200は、Bluetoothを用いてプログラム配信サーバ12および他の情報端末20と無線通信を行う。
【0023】
プログラム取得部202は、無線通信部200を介して、プログラム配信サーバ12または他の情報端末20からプログラムに先立って送信されるプログラムの付帯情報を取得し、プログラム格納部206に既に格納されている付帯情報が、プログラム配信サーバ12または他の情報端末20から取得した付帯情報と同一か否かを判定する。そして、プログラム格納部206に既に格納されている付帯情報が、プログラム配信サーバ12または他の情報端末20から取得した付帯情報と異なる場合に、プログラム取得部202は、付帯情報を送信したプログラム配信サーバ12または他の情報端末20へ当該プログラムの受信要求を送信する。そして、当該受信要求に応答してプログラム配信サーバ12または他の情報端末20からプログラムを受信した場合に、プログラム取得部202は、受信したプログラムおよび付帯情報で、プログラム格納部206に格納されているプログラムおよび付帯情報を更新する。
【0024】
本例において、プログラム取得部202は、プログラム配信サーバ12または他の情報端末20から受信した付帯情報が、既にプログラム格納部206に格納されている付帯情報と同一でない場合に、受信した付帯情報に対応するプログラムの受信要求を送信するので、付帯情報がプログラムのバージョンである場合に、情報端末20は、プログラムのバーッジョンアップだけでなく、プログラムのバージョンダウンにも対応することができる。また、他の例として、プログラム取得部202は、付帯情報がプログラムのバージョンである場合に、プログラム配信サーバ12または他の情報端末20から受信したプログラムのバージョンが、既にプログラム格納部206に格納されているプログラムのバージョンよりも新しい場合にのみ、受信した付帯情報に対応するプログラムの受信要求を送信してもよい。
【0025】
プログラム取得部202によって、プログラム格納部206に格納されているプログラムおよび付帯情報が更新された場合、プログラム転送部204は、プログラム格納部206に格納されているプログラムの付帯情報を、無線通信部200を介して他の情報端末20へ転送する。一方、プログラム取得部202によって、プログラム格納部206に既に格納されている付帯情報と、プログラム配信サーバ12または他の情報端末20から取得した付帯情報とが同一であると判定された場合、プログラム転送部204は、プログラム格納部206に格納されているプログラムの付帯情報を、無線通信部200を介して他の情報端末20へ転送する。
【0026】
そして、プログラム転送部204は、転送した付帯情報に応答して、他の情報端末20からプログラムの受信要求を、無線通信部200を介して受信したか否かを判定する。転送した付帯情報に応答して、他の情報端末20からプログラムの受信要求を受信した場合、プログラム転送部204は、転送した付帯情報に対応するプログラムを、受信要求を送信した他の情報端末20へ転送する。
【0027】
このように、プログラム配信サーバ12または他の情報端末20から送信されるプログラムを他の情報端末20へ転送するので、プログラム配信サーバ12によって通信可能なエリアの外部に配置されている情報端末20に対しても、プログラム配信サーバ12はプログラムを配信することができる。また、プログラムの配布に先立って、付帯情報を転送するので、既に保持しているプログラムを受信することなく、配布されるプログラムを受信すべきか否か判断することができる。これにより、プログラムを受信させるべき情報端末20へ、より迅速にプログラムを配信することができる。
【0028】
図5は、プログラム格納部206に格納されるデータの構造の一例を示す。プログラム格納部206は、プログラムを識別するプログラムID2060、付帯情報2062、配布形式のプログラム2064、および実行形式のプログラム2066を格納する。
【0029】
配布形式のプログラム2064とは、プログラム配信サーバ12または他の情報端末20から取得したプログラムの状態であり、例えば圧縮された状態のプログラムである。配布形式のプログラム2064を参照することにより、プログラム転送部204は、他の情報端末20へ転送するプログラムを取得することができる。また、実行形式のプログラム2066とは、例えば圧縮されて配布されたプログラムを展開した状態である。実行形式のプログラム2066を参照することにより、プログラム実行部208は、実行可能な状態のプログラムを取得することができる。
【0030】
図6は、本発明の第1実施形態に係るプログラム配信サーバ12の動作の一例を示すフローチャートである。プログラム配信サーバ12の電源が投入される等の所定のタイミングで、本フローチャートに示すプログラム配信サーバ12の動作が開始する。まず、無線通信部126は、通信可能な情報端末20との間で、例えばBluetoothを用いて無線通信リンクを確立する(S100)。ステップ100において、少なくとも1台の情報端末20との間で無線通信リンクが確立されない場合、本フローチャートに示すプログラム配信サーバ12の処理は終了する。
【0031】
次に、付帯情報送信部124は、配布すべきプログラムの付帯情報を、プログラム格納部120から読み出し、読み出した付帯情報を、無線通信部126を介して無線通信リンクを確立している情報端末20へ送信する(S102)。そして、プログラム送信部122は、情報端末20から受信要求を受信したか否かを判定する(S104)。少なくとも1台の情報端末20から受信要求を受信した場合(S104:Yes)、プログラム送信部122は、プログラム格納部120から配布すべきプログラムを読み出し、読み出したプログラムを、受信要求を返信した情報端末20へ無線通信部126を介して送信し(S106)、本フローチャートに示したプログラム配信サーバ12の動作は終了する。
【0032】
ステップ104において、受信要求を受信しなかった場合、すなわち付帯情報送信部124が付帯情報を送信してから所定時間経過した場合(S104:No)、本フローチャートに示したプログラム配信サーバ12の動作は終了する。
【0033】
図7は、本発明の第1実施形態に係る情報端末20の動作の一例を示すフローチャートである。情報端末20の電源が投入される等の所定のタイミングで、本フローチャートに示す情報端末20の動作が開始する。まず、無線通信部200は、プログラム配信サーバ12および他の情報端末20のうち、無線通信が可能なものとの間で、例えばBluetoothを用いて無線通信リンクを確立する(S200)。ステップ200において、プログラム配信サーバ12または少なくとも1台の情報端末20との間で無線通信リンクが確立されない場合、本フローチャートに示す情報端末20の処理は終了する。
【0034】
次に、プログラム取得部202は、無線通信リンクを確立しているプログラム配信サーバ12または他の情報端末20から、無線通信部200を介して付帯情報を受信したか否かを判定する(S202)。付帯情報を受信していない場合(S202:No)、プログラム取得部202は、付帯情報を受信するまで、ステップ202を所定時間繰り返す。なお、所定時間が経過しても付帯情報を受信しなかった場合、本フローチャートに示す情報端末20の動作は終了する。
【0035】
ステップ202において、付帯情報を受信した場合(S202:Yes)、プログラム取得部202は、プログラム格納部206を参照して、受信した付帯情報がプログラム格納部206に格納されている付帯情報と同一か否かを判定する(S204)。受信した付帯情報がプログラム格納部206に格納されている付帯情報と異なる場合(S204:No)、プログラム取得部202は、付帯情報を送信したプログラム配信サーバ12または他の情報端末20へ、無線通信部200を介して受信要求を送信する(S206)。受信した付帯情報がプログラム格納部206に格納されている付帯情報と同一である場合(S204:Yes)、プログラム転送部204は、後述するステップ212に示す処理を行う。
【0036】
次に、プログラム取得部202は、送信した受信要求に応答して、プログラム配信サーバ12または他の情報端末20からプログラムを受信したか否かを判定する(S208)。プログラム配信サーバ12または他の情報端末20からプログラムを受信していない場合(S208:No)、プログラム取得部202は、プログラム配信サーバ12または他の情報端末20からプログラムを受信するまで、ステップ208を所定時間繰り返す。なお、所定時間が経過しても、プログラム配信サーバ12または他の情報端末20からプログラムを受信しなかった場合、本フローチャートに示す情報端末20の動作は終了する。
【0037】
ステップ208において、プログラム配信サーバ12または他の情報端末20からプログラムを受信した場合(S208:Yes)、プログラム取得部202は、受信したプログラムおよび付帯情報で、プログラム格納部206に格納されているプログラムおよび付帯情報を更新する(S210)。次に、プログラム転送部204は、プログラム格納部206に格納されているプログラムの付帯情報を、プログラム格納部206から読み出し、読み出した付帯情報を、無線通信部200を介して他の情報端末20へ送信する(S212)。
【0038】
そして、プログラム転送部204は、送信した付帯情報に応答して、他の情報端末20から受信要求を受信したか否かを判定する(S214)。他の情報端末20から受信要求を受信していない場合(S214:No)、プログラム転送部204は、他の情報端末20から受信要求を受信するまで、ステップ214を所定時間繰り返す。なお、所定時間が経過しても、通信可能な他の情報端末20から受信要求を受信しなかった場合、本フローチャートに示す情報端末20の動作は終了する。
【0039】
ステップ214において、通信可能な他の情報端末20のいずれかから受信許可を受信した場合(S214:Yes)、プログラム転送部204は、プログラム格納部206に格納されているプログラムを、無線通信部200を介して受信要求を返信した他の情報端末20へ転送し(S216)、本フローチャートに示す情報端末20の動作は終了する。
【0040】
図8は、本発明の第1実施形態に係る情報端末20のハードウェア構成の一例を示す。情報端末20は、無線通信部220、ROM222、RAM224、CPU226、HDD228、およびインターフェイス230を備える。
【0041】
CPU226は、ROM222およびRAM224に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM222は、例えば情報端末20の起動時にCPU226が実行するブートプログラムや、情報端末20のハードウェアに依存するプログラム等を格納する。RAM224は、CPU226が実行するプログラムおよびCPU226が使用するデータ等を格納する。インターフェイス230は、入力装置等の外部機器から操作情報等を取得してCPU226へ送信すると共に、CPU226が生成した画像情報等のデータをディスプレイ等の外部機器へ出力する。
【0042】
HDD228は、無線通信部220がプログラム配信サーバ12または他の情報端末20から受信したプログラムおよび当該プログラムの付帯情報を格納し、格納したプログラムを、RAM224を介してCPU226に供給する。無線通信部220は、CPU226によって制御され、無線通信を用いてプログラム配信サーバ12および他の情報端末20と通信を行い、プログラム配信サーバ12または他の情報端末20から付帯情報およびプログラムを受信し、受信した付帯情報およびプログラムをHDD228に格納すると共に、HDD228に格納された付帯情報およびプログラムを他の情報端末20へ転送する。
【0043】
無線通信部220は、CPU226によって制御され、無線通信部200、プログラム取得部202、およびプログラム転送部204として機能する。また、HDD228は、CPU226によって制御され、プログラム格納部206として機能する。また、ROM222、RAM224、CPU226、インターフェイス230は、プログラム実行部208として機能する。
【0044】
以上、本発明の第1の実施形態について説明した。上記説明から明らかなように、本発明のプログラム配信システム10によれば、プログラムを配信する場合に、プログラム配信サーバ12は、プログラム配信サーバ12と直接通信が可能な情報端末20に対してのみプログラムを配信すればよいので、プログラム配信サーバ12の処理負荷を低減することができる。
【0045】
次に、本発明の第2の実施形態について説明する。
【0046】
図9は、本発明の第2実施形態に係るプログラム配信サーバ12の詳細な構成の一例を示すブロック図である。プログラム配信サーバ12は、プログラム格納部120、プログラム送信部122、無線通信部126、報告指示送信部130、および転送指示テーブル生成部132を備える。なお、以下に説明する点を除き、図9において、図2と同じ符号を付した構成は、図2における構成と同一または同様の機能を有するため説明を省略する。
【0047】
報告指示送信部130は、プログラムの配布に先立って、通信可能な他の情報端末20の識別情報である機器IDを報告すべき旨の報告指示を、無線通信部126を介して情報端末20へ送信する。転送指示テーブル生成部132は、報告指示送信部130が送信した報告指示に応答して、情報端末20から返信された報告応答に基づいて、プログラムを格納すべき情報端末20の機器IDおよびプログラムの転送先の情報端末20の機器IDを含む転送指示テーブルを生成する。
【0048】
プログラム送信部122は、配布すべきプログラムをプログラム格納部120から読み出し、読み出したプログラムを、転送指示テーブル生成部132が生成した転送指示テーブルと共に、無線通信部126を介して情報端末20へ送信する。
【0049】
図10は、本発明の第2実施形態に係る情報端末20の詳細な構成の一例を示すブロック図である。情報端末20は、無線通信部200、プログラム取得部202、プログラム転送部204、プログラム格納部206、プログラム実行部208、報告指示受信部210、報告指示転送部212、報告応答生成部214、および報告応答転送部216を備える。なお、以下に説明する点を除き、図10において、図4と同じ符号を付した構成は、図4における構成と同一または同様の機能を有するため説明を省略する。
【0050】
報告指示受信部210は、プログラム配信サーバ12または他の情報端末20から、通信可能な他の情報端末20を報告すべき旨の報告指示を、無線通信部200を介して受信する。報告指示転送部212は、報告指示受信部210が受信した報告指示に自身の機器IDが付加されているか否かを判定する。報告指示受信部210が受信した報告指示に自身の機器IDが付加されていない場合、報告指示転送部212は、自身の機器IDおよびプログラム格納部206に格納されている付帯情報を当該報告指示に付加して他の情報端末20へ、無線通信部200を介して転送する。一方、報告指示受信部210が受信した報告指示に自身の機器IDが付加されている場合、報告指示転送部212は、報告指示受信部210が受信した報告指示を破棄する。
【0051】
報告応答生成部214は、報告指示転送部212が転送した報告指示に対して、他の情報端末20から報告応答を、所定期間以内に受信したか否かを判定する。他の情報端末20から所定期間以内に報告応答を受信しなかった場合、転送した報告指示を含む報告応答を生成し、生成した報告応答を、無線通信部200を介して他の情報端末20へ送信する。前記他の情報端末を介して前記報告応答を前記プログラム配布サーバへ返信する。
【0052】
報告応答転送部216は、他の情報端末20から報告応答を受信した場合に、報告応答に含まれる報告指示を参照して、受信した報告応答を転送する。当該報告指示には、転送される都度、転送を行った情報端末20の機器IDが付加されているので、当該報告応答に含まれる報告指示を参照することにより、報告指示を転送した経路を逆にたどり、受信した報告応答を対応する情報端末20へ転送する。これにより、報告応答は、最終的にプログラム配信サーバ12へ転送される。
【0053】
プログラム取得部202は、無線通信部200を介して、プログラム、当該プログラムの付帯情報、および転送指示テーブルを、プログラム配信サーバ12または他の情報端末20から取得する。そして、自身の機器IDに対応付けて、プログラムを格納する旨が、受信した転送指示テーブル内に格納されている場合、転送指示テーブルと共に取得したプログラムおよび付帯情報で、プログラム格納部206に格納されているプログラムおよび付帯情報を更新する。
【0054】
プログラム転送部204は、プログラム取得部202が取得したプログラムおよび付帯情報で、プログラム格納部206に格納されているプログラムおよび付帯情報が更新された場合、またはプログラム取得部202が取得した転送指示テーブル内に自身の機器IDが格納されていない場合に、プログラム取得部202が取得したプログラム、付帯情報、および転送指示テーブルを、転送指示テーブルに含まれる機器IDに従って他の情報端末20情報端末へ、無線通信部200を介して転送する。
【0055】
図11は、転送指示テーブル34が生成される過程を説明するための概念図である。通信トポロジ30は、本例におけるプログラム配信サーバ12と複数の情報端末20とが形成する無線通信リンクの一例を示す。本例の通信トポロジ30において、プログラム配信サーバ12は、情報端末20aおよび情報端末20bと直接通信が可能である。同様に、本例の通信トポロジ30において、例えば、情報端末20hは、情報端末20d、情報端末20m、情報端末20n、および情報端末20oと直接通信が可能である。なお、通信トポロジ30は、情報端末20どうしの距離が等しくなるように模式的に表現しており、実際の情報端末20の配置とは無関係である。
【0056】
プログラム配信サーバ12は、報告指示を情報端末20aおよび情報端末20bへ送信する。情報端末20aは、プログラム配信サーバ12から受信した報告指示に自身の機器IDを付加して情報端末20cおよび情報端末20dへ転送する。情報端末20bは、プログラム配信サーバ12から受信した報告指示に自身の機器IDを付加して情報端末20eおよび情報端末20fへ転送する。情報端末20kは、情報端末20gから報告指示を受信した場合、受信した報告指示に応答して、報告応答を生成し、生成した報告応答を情報端末20gへ送信する。情報端末20e、情報端末20i、情報端末20j、情報端末20l、情報端末20m、情報端末20n、および情報端末20oの通信トポロジ30の末端に位置する情報端末20についても、情報端末20kと同様に、受信した報告指示に応答して報告応答を生成する。
【0057】
報告応答32は、報告指示320および付帯情報322を有する。報告指示320は、プログラム配信サーバ12から送信された報告指示を転送した情報端末20の機器IDが付加された後に、通信トポロジ30の末端に位置する情報端末20の機器IDが付加されたものである。通信トポロジ30の末端に位置する情報端末20は、報告指示320を含む報告応答32を生成し、自身の機器IDに対応する付帯情報322の欄に、自身が有するプログラムの付帯情報を格納して、当該報告指示320に格納された機器IDを参照して、次に報告応答32を転送する情報端末20の機器IDを特定し、対応する情報端末20へ当該報告応答32を転送する。
【0058】
本例において、通信トポロジ30の末端に位置する情報端末20kは、自身の機器IDを付加した報告指示320を含む報告応答32を生成し、自身の機器IDであるkに対応する付帯情報322の欄に、自身が有するプログラムの付帯情報を格納する。そして、情報端末20kは、報告指示320に格納された機器IDを参照して、機器IDがgである情報端末20へ当該報告応答32を転送する。情報端末20cは報告応答32kを20gから受信し、当該報告応答に含まれる報告指示320を参照して、情報端末20cは、受信した報告応答を情報端末20aへ転送する。このようにして、報告応答32に含まれる報告指示320を参照して、受信した報告応答32を転送するので、通信トポロジ30の末端に位置する情報端末20が生成した報告応答32をプログラム配信サーバ12へ届けることができる。
【0059】
プログラム配信サーバ12は、受信した報告応答32に基づいて、転送指示テーブル34を生成する。転送指示テーブル34は、機器ID340および対応する機器IDの情報端末20が、当該転送指示テーブル34と共に受信したプログラムを格納するか否かを示す格納フラグ342を有する。本例において、格納フラグ342は、1ならば転送指示テーブル34と共に受信したプログラムを報告応答生成部214に格納し、0ならば、当該プログラムを格納せずに、転送指示テーブル34に従って他の情報端末20へ転送する。転送指示テーブル34は、通信トポロジ30の末端に位置する情報端末20の数だけ生成される。
【0060】
なお、本例では、プログラム配信サーバ12が配布するプログラムの付帯情報は、Ver1.0.1.1であることを仮定している。そのため、情報端末20cは配布されたプログラムを必要としない。しかし、情報端末20g、情報端末20k、および情報端末20lは、情報端末20cを介さなければ格納すべきプログラムを取得することができないので、情報端末20cは、格納はしないものの、配布されたプログラム取得して、情報端末20gへ転送する。そのため、情報端末20cがプログラムと共に転送する全ての転送指示テーブル34内の、情報端末20cに対応する格納フラグ342には0が設定される。
【0061】
また、本例において、転送指示テーブル34kは、情報端末20aに対する格納フラグを1に設定している。そのため、転送指示テーブル34k以外の転送指示テーブル34であって、情報端末20aを介して配布される転送指示テーブル34の情報端末20aに対応する機器IDには格納フラグとして0が格納される。このようにして、転送指示テーブル34を通信トポロジ30の末端に位置する情報端末20の数だけ生成し、配布すべきプログラムと共に送信することにより、プログラム配信サーバ12は、直接通信することができない情報端末20に対しても配布すべきプログラムを供給することができる。
【0062】
また、プログラム配信サーバ12は、プログラムの配布を許可されている情報端末20の機器IDのリストを格納し、プログラムと共に送信する転送指示テーブル34の格納フラグを、当該リストで許可されている情報端末20についてのみ1に設定してもよい。これにより、プログラム配信サーバ12は、プログラムの配布を許可されている情報端末20にのみプログラムを配布することができる。さらに、転送指示テーブル内の格納フラグを制御することにより、プログラム配信サーバ12は、通信トポロジ30内の特定の情報端末20にのみプログラムを供給することができる。
【0063】
図12は、本発明の第2実施形態に係るプログラム配信サーバ12の動作の一例を示すフローチャートである。プログラム配信サーバ12の電源が投入される等の所定のタイミングで、本フローチャートに示すプログラム配信サーバ12の動作が開始する。まず、無線通信部126は、通信可能な情報端末20との間で、例えばBluetoothを用いて無線通信リンクを確立する(S300)。ステップ300において、少なくとも1台の情報端末20との間で無線通信リンクが確立されない場合、本フローチャートに示すプログラム配信サーバ12の処理は終了する。
【0064】
次に、報告指示送信部130は、報告指示を、無線通信部126を介して直接通信可能な情報端末20へ送信する(S302)。そして、転送指示テーブル生成部132は、報告指示送信部130が送信した報告指示に応答して、直接通信可能な全ての情報端末20から報告応答を受信したか否かを判定する(S304)。直接通信可能な全ての情報端末20から報告応答を受信した場合(S304:Yes)、転送指示テーブル生成部132は、受信した報告応答のそれぞれに対応する転送指示テーブルを生成する(S306)。
【0065】
ステップ306において、転送指示テーブル生成部132は、受信した報告応答に含まれている、それぞれの情報端末20が既に有しているプログラムの付帯情報を参照して、当該付帯情報が、プログラム格納部120に格納されているプログラムの付帯情報と異なる場合に、当該異なる付帯情報のプログラムを有する情報端末20に対応する格納フラグを1に設定する。これにより、付帯情報がプログラムのバージョンである場合に、情報端末20は、プログラムのバーッジョンアップだけでなく、プログラムのバージョンダウンにも対応することができる。また、他の例として、転送指示テーブル生成部132は、付帯情報がプログラムのバージョンである場合に、情報端末20が既に有しているプログラムのバージョンが、プログラム格納部120に格納されているプログラムのバージョンより古い場合にのみ、対応する情報端末20の格納フラグを1に設定してもよい。
【0066】
次に、プログラム送信部122は、プログラム格納部120から配布すべきプログラムを読み出し、転送指示テーブル生成部132が生成した転送指示テーブルのそれぞれに、読み出したプログラムを添付して、転送指示テーブルを送信すべき情報端末20へ送信し(S308)、本フローチャートに示すプログラム配信サーバ12の動作は終了する。
【0067】
図13は、本発明の第2実施形態に係る情報端末20の動作の一例を示すフローチャートである。情報端末20の電源が投入される等の所定のタイミングで、本フローチャートに示す情報端末20の動作が開始する。まず、無線通信部200は、プログラム配信サーバ12および他の情報端末20のうち、無線通信が可能なものとの間で、例えばBluetoothを用いて無線通信リンクを確立する(S400)。ステップ400において、プログラム配信サーバ12または少なくとも1台の情報端末20との間で無線通信リンクが確立されない場合、本フローチャートに示す情報端末20の処理は終了する。
【0068】
次に、報告指示受信部210は、無線通信リンクを確立しているプログラム配信サーバ12または他の情報端末20から、無線通信部200を介して報告指示を受信したか否かを判定する(S402)。報告指示を受信していない場合(S402:No)、報告指示受信部210は、報告指示を受信するまで、ステップ402を所定時間繰り返す。なお、所定時間が経過しても付帯情報を受信しなかった場合、本フローチャートに示す情報端末20の動作は終了する。
【0069】
ステップ402において、無線通信リンクを確立しているプログラム配信サーバ12または他の情報端末20から報告指示を受信した場合(S402:Yes)、報告指示転送部212は、報告指示受信部210が受信した報告指示に、既に自身の機器IDが付加されているか否かを判定する(S404)。受信した報告指示に、既に自身の機器IDが付加されている場合(S404:Yes)、報告応答生成部214および報告応答転送部216は、ステップ402において受信した報告指示の送信元とは異なる他の情報端末20から報告応答を受信したか否かを判定する(S408)。
【0070】
ステップ404において、受信した報告指示に、自身の機器IDが付加されていない場合(S404:No)、報告指示転送部212は、受信した報告指示に自身の機器IDを付加し、自身の機器IDを付加した報告指示を、ステップ402において受信した報告指示の送信元とは異なる他の情報端末20へ転送し(S406)、ステップ408で示した処理を行う。
【0071】
ステップ408において、ステップ402において受信した報告指示の送信元とは異なる他の情報端末20から報告応答を受信していない場合(S408:No)、報告応答生成部214および報告応答転送部216は、報告指示転送部212が報告指示を転送してから所定時間が経過したか否かを判定する(S410)。所定時間が経過していない場合(S410:No)、報告応答生成部214および報告応答転送部216は、再びステップ408に示した処理を行う。所定時間が経過した場合(S410:Yes)、報告応答生成部214は、転送した報告指示を含む報告応答を生成し、生成した報告応答を、ステップ402において受信した報告指示の送信元の情報端末20へ送信し(S414)、ステップ416に示す処理を行う。
【0072】
ステップ408において、ステップ402において受信した報告指示の送信元とは異なる他の情報端末20から報告応答を受信した場合(S408:Yes)、報告応答転送部216は、受信した報告応答に含まれる報告指示を参照して、受信した報告応答を、ステップ402において受信した報告指示の送信元の情報端末20へ転送する(S412)。そして、プログラム取得部202は、プログラム配信サーバ12または他の情報端末20からプログラムと共に送信された転送指示テーブルを、無線通信部200を介して受信したか否かを判定する(S416)。プログラム取得部202は、プログラム配信サーバ12または他の情報端末20がプログラムと共に送信された転送指示テーブルを受信するまで、ステップ416を所定時間繰り返す。なお、所定時間が経過してもプログラムと共に送信された転送指示テーブルを受信しなかった場合、本フローチャートに示す情報端末20の動作は終了する。
【0073】
ステップ416において、プログラム配信サーバ12または他の情報端末20からプログラムと共に送信された転送指示テーブルを受信した場合(S416:Yes)、プログラム取得部202は、受信した転送指示テーブル内の、自身の機器IDに対応する格納フラグが1か否かを判定する(S418)。受信した転送指示テーブル内の、自身の機器IDに対応する格納フラグが0である場合(S418:No)、報告指示受信部210は、ステップ422に示す処理を行う。
【0074】
ステップ418において、受信した転送指示テーブル内の、自身の機器IDに対応する格納フラグが1である場合(S418:Yes)、報告指示受信部210は、転送指示テーブルと共に取得したプログラムおよび付帯情報で、プログラム格納部206に格納されているプログラムおよび付帯情報を更新する(S420)。そして、報告指示受信部210は、転送指示テーブルに格納された機器IDに基づいて、受信したプログラムおよび転送指示テーブルを、他の情報端末20へ転送し(S422)、本フローチャートに示した情報端末20の動作は終了する。
【0075】
以上、本発明の第2の実施形態について説明した。上記説明から明らかなように、本実施形態においても、プログラム配信システム10は、プログラムを配信する場合のプログラム配信サーバ12の処理負荷を低減することができる。
【0076】
なお、本発明は上記の実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。
【0077】
例えば、情報端末20の無線通信部200、プログラム取得部202、プログラム転送部204、報告指示受信部210、報告指示転送部212、報告応答生成部214、および報告応答転送部216は、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の集積ロジックICによりハード的に実現されるものでもよく、DSP(Digital Signal Processor)や汎用計算機によりソフトウェア的に実現されてもよく、あるいは、部分的にハードウェアまたはソフトウェアで実現させた機能ブロックを組み合わせてもよい。
【0078】
また、本実施形態では、サーバから情報端末20へ配信される情報を、プログラムを例に説明したが、本発明はこれに限られない。他の例として、サーバから情報端末20へ配信される情報は、プログラムの差分情報、情報端末20が取り扱うデータ、または情報端末20の稼動の許可/不許可を指示する情報等であってもよい。
【0079】
また、本実施形態では、プログラム配信サーバ12および情報端末20は、互いに無線によって通信する構成を例に説明したが、他の例として、プログラム配信サーバ12および情報端末20が、通信ネットワークを介して互いに通信を行う構成であってもよい。この場合、プログラム配信サーバ12が情報端末20と通信するために用いる通信回線の通信容量が少ない場合に、一部の情報端末20へ配信したプログラムを、当該一部の情報端末20が、他の情報端末20へ転送することにより、プログラム配信サーバ12のプログラム配信に伴う処理負荷を低減すると共に、プログラムの更新を必要としている全ての情報端末20へ、より迅速にプログラムを配信することができる。
【図面の簡単な説明】
【0080】
【図1】本発明の一実施形態に係るプログラム配信システム10の構成を示す図である。
【図2】本発明の第1実施形態に係るプログラム配信サーバ12の詳細な構成の一例を示すブロック図である。
【図3】プログラム格納部120に格納されるデータの構造の一例を示す図である。
【図4】本発明の第1実施形態に係る情報端末20の詳細な構成の一例を示すブロック図である。
【図5】プログラム格納部206に格納されるデータの構造の一例を示す図である。
【図6】本発明の第1実施形態に係るプログラム配信サーバ12の動作の一例を示すフローチャートである。
【図7】本発明の第1実施形態に係る情報端末20の動作の一例を示すフローチャートである。
【図8】本発明の第1実施形態に係る情報端末20のハードウェア構成の一例を示す図である。
【図9】本発明の第2実施形態に係るプログラム配信サーバ12の詳細な構成の一例を示すブロック図である。
【図10】本発明の第2実施形態に係る情報端末20の詳細な構成の一例を示すブロック図である。
【図11】転送指示テーブル34が生成される過程を説明するための概念図である。
【図12】本発明の第2実施形態に係るプログラム配信サーバ12の動作の一例を示すフローチャートである。
【図13】本発明の第2実施形態に係る情報端末20の動作の一例を示すフローチャートである。
【符号の説明】
【0081】
10・・・プログラム配信システム、12・・・プログラム配信サーバ、120・・・プログラム格納部、1200・・・プログラムID、1202・・・付帯情報、1204・・・プログラム本体、122・・・プログラム送信部、124・・・付帯情報送信部、126・・・無線通信部、130・・・報告指示送信部、132・・・転送指示テーブル生成部、20・・・情報端末、200・・・無線通信部、202・・・プログラム取得部、204・・・プログラム転送部、206・・・プログラム格納部、2060・・・プログラムID、2062・・・付帯情報、2064・・・配布形式のプログラム、2066・・・実行形式のプログラム、208・・・プログラム実行部、210・・・報告指示受信部、212・・・報告指示転送部、214・・・報告応答生成部、216・・・報告応答転送部、220・・・無線通信部、222・・・ROM、224・・・RAM、226・・・CPU、228・・・HDD、230・・・インターフェイス、22・・・自動車、30・・・通信トポロジ、32・・・報告応答、320・・・機器ID、322・・・付帯情報、34・・・転送指示テーブル、340・・・機器ID、342・・・格納フラグ
【技術分野】
【0001】
本発明は、プログラム等のデータを情報端末に配布する技術に関する。
【背景技術】
【0002】
従来、情報端末のプログラムを更新する場合、プログラムを配信するサーバは、ケーブルを介して1対1に接続された情報端末に対して、当該ケーブルを介して更新プログラムを供給していた。また、CD−ROM等の記録媒体に記録された情報を読み込む機能を有する情報端末においては、更新プログラムを記録した記録媒体を介して更新プログラムを読み込ませることにより、情報端末のプログラムが更新されていた。
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかし、ケーブルを介したプログラムの更新において、車や冷蔵庫、PDP(Plasma Display Panel)等を用いたテレビ等の大型の機器に搭載されている状態で、情報端末のプログラムの更新を行う場合、接続するケーブルが長くなり、プログラム配布サーバとケーブルとのインターフェイスの強度を高める必要があり、当該インターフェイスがさらに大型化する場合があった。また、プログラムを更新する場合に、当該長いケーブルを接続する必要があり、プログラムの更新のための準備に時間がかかる場合があった。
【0004】
また、機器に搭載されている状態で情報端末に更新プログラムを供給する場合、機器のデザイン上の制約から、CD−ROM等の可搬性の記録媒体を情報端末に読み込ませるインターフェイスを外部に設けることができない場合がある。そのため、更新プログラムを情報端末に供給することができない場合があった。
【0005】
上記した問題を解決するために、IrDA等の近距離無線通信を用いて、機器に搭載された状態で、情報端末に更新プログラムを供給する場合がある。しかし、このような構成においては、更新プログラムを配布するサーバが、プログラムの更新を必要とする情報端末のそれぞれへ更新プログラムを供給するので、当該サーバの処理負荷が高くなる場合があった。
【0006】
そこで本発明は、上記の課題を解決することのできる情報端末、プログラム配布システム、およびプログラム配布方法を提供することを目的とする。例えば、配布すべきプログラムを情報端末に容易に供給することができるようにする。
【課題を解決するための手段】
【0007】
上記課題を解決するために、情報端末は、プログラム配布サーバから更新プログラムを取得すると共に、無線通信によって、他の情報端末へ転送する。
【0008】
例えば、本発明の第1の態様は、プログラム配布サーバによって配布されたプログラムに基づいて動作する情報端末であって、プログラム配布サーバおよび他の情報端末との間で無線通信が可能な無線通信部と、プログラム配布サーバによって配布されたプログラムおよびプログラムの付帯情報を格納するプログラム格納部と、無線通信部を介して、プログラム配布サーバおよび他の情報端末からプログラムおよびプログラムの付帯情報を取得し、プログラム格納部を参照して、プログラム格納部に既に格納されている付帯情報が、プログラム配布サーバまたは他の情報端末から取得した付帯情報と異なる場合に、プログラム配布サーバまたは他の情報端末から取得したプログラムおよび付帯情報で、プログラム格納部に格納されているプログラムおよび付帯情報を更新するプログラム取得部と、プログラム取得部が取得したプログラムおよび付帯情報で、プログラム格納部に格納されているプログラムおよび付帯情報を更新した場合、およびプログラム格納部に既に格納されている付帯情報が、プログラム取得部がプログラム配布サーバまたは他の情報端末から取得した付帯情報と同一である場合に、プログラム格納部に格納されているプログラムおよび付帯情報を、無線通信部を介して他の情報端末へ転送するプログラム転送部と、プログラム格納部に格納されているプログラムを実行するプログラム実行部とを備えることを特徴とする情報端末を提供する。
【0009】
また、本発明の第2の態様は、プログラム配布サーバによって配布されたプログラムに基づいて動作する情報端末であって、プログラム配布サーバおよび他の情報端末との間で無線通信が可能な無線通信部と、プログラム配布サーバによって配布されたプログラムを格納するプログラム格納部と、無線通信部を介して、プログラムと共に、プログラムを格納すべき情報端末の識別情報を含む格納指示およびプログラムの転送先の情報端末の識別情報を含む転送指示を、プログラム配布サーバまた他の情報端末から取得し、格納指示内に自身の識別情報が含まれている場合に、格納指示と共に取得したプログラムで、プログラム格納部に格納されているプログラムを更新するプログラム取得部と、プログラム取得部が取得したプログラムで、プログラム格納部に格納されているプログラムを更新した場合、およびプログラム取得部が取得した格納指示内に自身の識別情報が含まれていない場合に、プログラム取得部が取得したプログラム、格納指示、および転送指示を、転送指示に含まれる識別情報に対応する他の情報端末へ、無線通信部を介して転送するプログラム転送部と、プログラム格納部に格納されているプログラムを実行するプログラム実行部とを備えることを特徴とする情報端末を提供する。
【発明の効果】
【0010】
本発明によれば、更新プログラムを配布する場合のプログラム配布サーバの処理負荷を低減することができる。
【発明を実施するための最良の形態】
【0011】
以下に、本発明の第1の実施の形態について説明する。
【0012】
図1は、本発明の一実施形態に係るプログラム配信システム10の構成を示す。プログラム配信システム10は、プログラム配信サーバ12および複数の情報端末20を備える。プログラム配信サーバ12は、情報端末20へ配布するプログラムを格納しており、例えばBluetooth(登録商標)と呼ばれる無線通信方式に基づいて、複数の情報端末20と通信を行い、格納しているプログラムを、当該Bluetoothを用いて情報端末20へ配布する。
【0013】
ここで、Bluetoothとは、2.4GHz帯の電波を用いて、10から100m程度の通信範囲を有する通信方式である。互いに通信可能な範囲内にあるBluetooth対応機器のそれぞれは、電源が投入された後のシーケンスに基づいて、アクセスポイントの役割を担うマスタまたは当該マスタを介して他のBluetooth対応機器との間で通信を行うスレーブとして動作する。マスタは、最大7つのスレーブとの間で同時に無線通信を行うピコネットを形成することができる。また、Bluetoothでは、複数のピコネットどうしが相互接続されたスキャタネットを形成することができる。これにより、複数のBluetooth対応機器のそれぞれが互いに通信可能な範囲内にある場合、これら複数のBluetooth対応機器のみで無線ネットワークを形成することができる。従って、基地局やアクセスポイント等のBluetooth対応機器以外の設備を必要としないので、Bluetoothに基づく通信方式を採用することにより、無線通信ネットワークを低いコストで容易に形成することができる。
【0014】
複数の情報端末20のそれぞれは、それぞれの自動車22に設けられる、例えばカーナビゲーション装置である。他の例として、情報端末20は、冷蔵庫や、PDPを用いたテレビ等の大型の装置や、稼動中の装置等に搭載されてもよい。それぞれの情報端末20は、プログラム配信サーバ12および他の情報端末20との間でBluetoothを用いて通信を行うことができる。
【0015】
本実施形態において、情報端末20aおよび情報端末20bは、Bluetoothを用いてプログラム配信サーバ12が通信可能なエリア内に置かれており、プログラム配信サーバ12、情報端末20a、および情報端末20bは、例えば、プログラム配信サーバ12をマスタとするピコネットを形成することができる。
【0016】
また、プログラム配信サーバ12、情報端末20c、および情報端末20dは、Bluetoothを用いて情報端末20aが通信可能なエリア内に置かれており、プログラム配信サーバ12、情報端末20a、情報端末20c、および情報端末20dは、例えば、情報端末20aをマスタとするピコネットを形成することができる。
【0017】
同様に、プログラム配信サーバ12および情報端末20eは、Bluetoothを用いて情報端末20bが通信可能なエリア内に置かれており、プログラム配信サーバ12、情報端末20b、および情報端末20eは、例えば、情報端末20bをマスタとするピコネットを形成することができる。
【0018】
プログラム配信サーバ12および情報端末20a〜eは、スキャタネットを形成しており、直接または情報端末20を介して、互いに通信することができる。このように、プログラム配信サーバ12および情報端末20a〜eがスキャタネットを形成しているので、Bluetoothを用いてプログラム配信サーバ12が通信可能なエリアの外部に配置されている情報端末20c、情報端末20d、および情報端末20eに対しても、プログラム配信サーバ12が格納しているプログラムを配布することができる。また、プログラム配信サーバ12がBluetoothを用いて複数の情報端末20と通信を行うので、携帯電話や無線LANを用いる無線通信ネットワークよりも安価にかつ容易に無線通信ネットワークを形成することができる。
【0019】
図2は、本発明の第1実施形態に係るプログラム配信サーバ12の詳細な構成の一例を示すブロック図である。プログラム配信サーバ12は、プログラム格納部120、プログラム送信部122、付帯情報送信部124、および無線通信部126を備える。プログラム格納部120は、情報端末20に配布するプログラムおよび当該プログラムのバージョン等の情報である付帯情報を格納する。
【0020】
無線通信部126は、Bluetoothを用いて情報端末20と無線通信を行う。付帯情報送信部124は、情報端末20へのプログラムの配布に先立って、配布すべきプログラムの例えばバージョン情報等の付帯情報を、プログラム格納部120から読み出し、読み出した付帯情報を、無線通信部126を介して情報端末20へ送信する。プログラム送信部122は、付帯情報送信部124が送信した付帯情報に応答して、無線通信部126を介して情報端末20から受信要求を受信した場合に、配布すべきプログラムをプログラム格納部120から読み出し、読み出したプログラムを、無線通信部126を介して情報端末20へ送信する。
【0021】
図3は、プログラム格納部120に格納されるデータの構造の一例を示す。プログラム格納部120は、プログラムを識別するプログラムID1200、プログラムID1200で識別されるプログラムの付帯情報1202、およびプログラムID1200で識別されるプログラムのプログラム本体1204を格納する。プログラム格納部120は、配布すべきプログラムを、例えば圧縮した状態で格納している。
【0022】
図4は、本発明の第1実施形態に係る情報端末20の詳細な構成の一例を示すブロック図である。情報端末20は、無線通信部200、プログラム取得部202、プログラム転送部204、プログラム格納部206、およびプログラム実行部208を備える。プログラム格納部206は、製造時に予め格納されたプログラム、あるいはプログラム配信サーバ12から取得したプログラムを、その付帯情報と共に格納する。プログラム実行部208は、プログラム格納部206に格納されているプログラムを実行する。無線通信部200は、Bluetoothを用いてプログラム配信サーバ12および他の情報端末20と無線通信を行う。
【0023】
プログラム取得部202は、無線通信部200を介して、プログラム配信サーバ12または他の情報端末20からプログラムに先立って送信されるプログラムの付帯情報を取得し、プログラム格納部206に既に格納されている付帯情報が、プログラム配信サーバ12または他の情報端末20から取得した付帯情報と同一か否かを判定する。そして、プログラム格納部206に既に格納されている付帯情報が、プログラム配信サーバ12または他の情報端末20から取得した付帯情報と異なる場合に、プログラム取得部202は、付帯情報を送信したプログラム配信サーバ12または他の情報端末20へ当該プログラムの受信要求を送信する。そして、当該受信要求に応答してプログラム配信サーバ12または他の情報端末20からプログラムを受信した場合に、プログラム取得部202は、受信したプログラムおよび付帯情報で、プログラム格納部206に格納されているプログラムおよび付帯情報を更新する。
【0024】
本例において、プログラム取得部202は、プログラム配信サーバ12または他の情報端末20から受信した付帯情報が、既にプログラム格納部206に格納されている付帯情報と同一でない場合に、受信した付帯情報に対応するプログラムの受信要求を送信するので、付帯情報がプログラムのバージョンである場合に、情報端末20は、プログラムのバーッジョンアップだけでなく、プログラムのバージョンダウンにも対応することができる。また、他の例として、プログラム取得部202は、付帯情報がプログラムのバージョンである場合に、プログラム配信サーバ12または他の情報端末20から受信したプログラムのバージョンが、既にプログラム格納部206に格納されているプログラムのバージョンよりも新しい場合にのみ、受信した付帯情報に対応するプログラムの受信要求を送信してもよい。
【0025】
プログラム取得部202によって、プログラム格納部206に格納されているプログラムおよび付帯情報が更新された場合、プログラム転送部204は、プログラム格納部206に格納されているプログラムの付帯情報を、無線通信部200を介して他の情報端末20へ転送する。一方、プログラム取得部202によって、プログラム格納部206に既に格納されている付帯情報と、プログラム配信サーバ12または他の情報端末20から取得した付帯情報とが同一であると判定された場合、プログラム転送部204は、プログラム格納部206に格納されているプログラムの付帯情報を、無線通信部200を介して他の情報端末20へ転送する。
【0026】
そして、プログラム転送部204は、転送した付帯情報に応答して、他の情報端末20からプログラムの受信要求を、無線通信部200を介して受信したか否かを判定する。転送した付帯情報に応答して、他の情報端末20からプログラムの受信要求を受信した場合、プログラム転送部204は、転送した付帯情報に対応するプログラムを、受信要求を送信した他の情報端末20へ転送する。
【0027】
このように、プログラム配信サーバ12または他の情報端末20から送信されるプログラムを他の情報端末20へ転送するので、プログラム配信サーバ12によって通信可能なエリアの外部に配置されている情報端末20に対しても、プログラム配信サーバ12はプログラムを配信することができる。また、プログラムの配布に先立って、付帯情報を転送するので、既に保持しているプログラムを受信することなく、配布されるプログラムを受信すべきか否か判断することができる。これにより、プログラムを受信させるべき情報端末20へ、より迅速にプログラムを配信することができる。
【0028】
図5は、プログラム格納部206に格納されるデータの構造の一例を示す。プログラム格納部206は、プログラムを識別するプログラムID2060、付帯情報2062、配布形式のプログラム2064、および実行形式のプログラム2066を格納する。
【0029】
配布形式のプログラム2064とは、プログラム配信サーバ12または他の情報端末20から取得したプログラムの状態であり、例えば圧縮された状態のプログラムである。配布形式のプログラム2064を参照することにより、プログラム転送部204は、他の情報端末20へ転送するプログラムを取得することができる。また、実行形式のプログラム2066とは、例えば圧縮されて配布されたプログラムを展開した状態である。実行形式のプログラム2066を参照することにより、プログラム実行部208は、実行可能な状態のプログラムを取得することができる。
【0030】
図6は、本発明の第1実施形態に係るプログラム配信サーバ12の動作の一例を示すフローチャートである。プログラム配信サーバ12の電源が投入される等の所定のタイミングで、本フローチャートに示すプログラム配信サーバ12の動作が開始する。まず、無線通信部126は、通信可能な情報端末20との間で、例えばBluetoothを用いて無線通信リンクを確立する(S100)。ステップ100において、少なくとも1台の情報端末20との間で無線通信リンクが確立されない場合、本フローチャートに示すプログラム配信サーバ12の処理は終了する。
【0031】
次に、付帯情報送信部124は、配布すべきプログラムの付帯情報を、プログラム格納部120から読み出し、読み出した付帯情報を、無線通信部126を介して無線通信リンクを確立している情報端末20へ送信する(S102)。そして、プログラム送信部122は、情報端末20から受信要求を受信したか否かを判定する(S104)。少なくとも1台の情報端末20から受信要求を受信した場合(S104:Yes)、プログラム送信部122は、プログラム格納部120から配布すべきプログラムを読み出し、読み出したプログラムを、受信要求を返信した情報端末20へ無線通信部126を介して送信し(S106)、本フローチャートに示したプログラム配信サーバ12の動作は終了する。
【0032】
ステップ104において、受信要求を受信しなかった場合、すなわち付帯情報送信部124が付帯情報を送信してから所定時間経過した場合(S104:No)、本フローチャートに示したプログラム配信サーバ12の動作は終了する。
【0033】
図7は、本発明の第1実施形態に係る情報端末20の動作の一例を示すフローチャートである。情報端末20の電源が投入される等の所定のタイミングで、本フローチャートに示す情報端末20の動作が開始する。まず、無線通信部200は、プログラム配信サーバ12および他の情報端末20のうち、無線通信が可能なものとの間で、例えばBluetoothを用いて無線通信リンクを確立する(S200)。ステップ200において、プログラム配信サーバ12または少なくとも1台の情報端末20との間で無線通信リンクが確立されない場合、本フローチャートに示す情報端末20の処理は終了する。
【0034】
次に、プログラム取得部202は、無線通信リンクを確立しているプログラム配信サーバ12または他の情報端末20から、無線通信部200を介して付帯情報を受信したか否かを判定する(S202)。付帯情報を受信していない場合(S202:No)、プログラム取得部202は、付帯情報を受信するまで、ステップ202を所定時間繰り返す。なお、所定時間が経過しても付帯情報を受信しなかった場合、本フローチャートに示す情報端末20の動作は終了する。
【0035】
ステップ202において、付帯情報を受信した場合(S202:Yes)、プログラム取得部202は、プログラム格納部206を参照して、受信した付帯情報がプログラム格納部206に格納されている付帯情報と同一か否かを判定する(S204)。受信した付帯情報がプログラム格納部206に格納されている付帯情報と異なる場合(S204:No)、プログラム取得部202は、付帯情報を送信したプログラム配信サーバ12または他の情報端末20へ、無線通信部200を介して受信要求を送信する(S206)。受信した付帯情報がプログラム格納部206に格納されている付帯情報と同一である場合(S204:Yes)、プログラム転送部204は、後述するステップ212に示す処理を行う。
【0036】
次に、プログラム取得部202は、送信した受信要求に応答して、プログラム配信サーバ12または他の情報端末20からプログラムを受信したか否かを判定する(S208)。プログラム配信サーバ12または他の情報端末20からプログラムを受信していない場合(S208:No)、プログラム取得部202は、プログラム配信サーバ12または他の情報端末20からプログラムを受信するまで、ステップ208を所定時間繰り返す。なお、所定時間が経過しても、プログラム配信サーバ12または他の情報端末20からプログラムを受信しなかった場合、本フローチャートに示す情報端末20の動作は終了する。
【0037】
ステップ208において、プログラム配信サーバ12または他の情報端末20からプログラムを受信した場合(S208:Yes)、プログラム取得部202は、受信したプログラムおよび付帯情報で、プログラム格納部206に格納されているプログラムおよび付帯情報を更新する(S210)。次に、プログラム転送部204は、プログラム格納部206に格納されているプログラムの付帯情報を、プログラム格納部206から読み出し、読み出した付帯情報を、無線通信部200を介して他の情報端末20へ送信する(S212)。
【0038】
そして、プログラム転送部204は、送信した付帯情報に応答して、他の情報端末20から受信要求を受信したか否かを判定する(S214)。他の情報端末20から受信要求を受信していない場合(S214:No)、プログラム転送部204は、他の情報端末20から受信要求を受信するまで、ステップ214を所定時間繰り返す。なお、所定時間が経過しても、通信可能な他の情報端末20から受信要求を受信しなかった場合、本フローチャートに示す情報端末20の動作は終了する。
【0039】
ステップ214において、通信可能な他の情報端末20のいずれかから受信許可を受信した場合(S214:Yes)、プログラム転送部204は、プログラム格納部206に格納されているプログラムを、無線通信部200を介して受信要求を返信した他の情報端末20へ転送し(S216)、本フローチャートに示す情報端末20の動作は終了する。
【0040】
図8は、本発明の第1実施形態に係る情報端末20のハードウェア構成の一例を示す。情報端末20は、無線通信部220、ROM222、RAM224、CPU226、HDD228、およびインターフェイス230を備える。
【0041】
CPU226は、ROM222およびRAM224に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM222は、例えば情報端末20の起動時にCPU226が実行するブートプログラムや、情報端末20のハードウェアに依存するプログラム等を格納する。RAM224は、CPU226が実行するプログラムおよびCPU226が使用するデータ等を格納する。インターフェイス230は、入力装置等の外部機器から操作情報等を取得してCPU226へ送信すると共に、CPU226が生成した画像情報等のデータをディスプレイ等の外部機器へ出力する。
【0042】
HDD228は、無線通信部220がプログラム配信サーバ12または他の情報端末20から受信したプログラムおよび当該プログラムの付帯情報を格納し、格納したプログラムを、RAM224を介してCPU226に供給する。無線通信部220は、CPU226によって制御され、無線通信を用いてプログラム配信サーバ12および他の情報端末20と通信を行い、プログラム配信サーバ12または他の情報端末20から付帯情報およびプログラムを受信し、受信した付帯情報およびプログラムをHDD228に格納すると共に、HDD228に格納された付帯情報およびプログラムを他の情報端末20へ転送する。
【0043】
無線通信部220は、CPU226によって制御され、無線通信部200、プログラム取得部202、およびプログラム転送部204として機能する。また、HDD228は、CPU226によって制御され、プログラム格納部206として機能する。また、ROM222、RAM224、CPU226、インターフェイス230は、プログラム実行部208として機能する。
【0044】
以上、本発明の第1の実施形態について説明した。上記説明から明らかなように、本発明のプログラム配信システム10によれば、プログラムを配信する場合に、プログラム配信サーバ12は、プログラム配信サーバ12と直接通信が可能な情報端末20に対してのみプログラムを配信すればよいので、プログラム配信サーバ12の処理負荷を低減することができる。
【0045】
次に、本発明の第2の実施形態について説明する。
【0046】
図9は、本発明の第2実施形態に係るプログラム配信サーバ12の詳細な構成の一例を示すブロック図である。プログラム配信サーバ12は、プログラム格納部120、プログラム送信部122、無線通信部126、報告指示送信部130、および転送指示テーブル生成部132を備える。なお、以下に説明する点を除き、図9において、図2と同じ符号を付した構成は、図2における構成と同一または同様の機能を有するため説明を省略する。
【0047】
報告指示送信部130は、プログラムの配布に先立って、通信可能な他の情報端末20の識別情報である機器IDを報告すべき旨の報告指示を、無線通信部126を介して情報端末20へ送信する。転送指示テーブル生成部132は、報告指示送信部130が送信した報告指示に応答して、情報端末20から返信された報告応答に基づいて、プログラムを格納すべき情報端末20の機器IDおよびプログラムの転送先の情報端末20の機器IDを含む転送指示テーブルを生成する。
【0048】
プログラム送信部122は、配布すべきプログラムをプログラム格納部120から読み出し、読み出したプログラムを、転送指示テーブル生成部132が生成した転送指示テーブルと共に、無線通信部126を介して情報端末20へ送信する。
【0049】
図10は、本発明の第2実施形態に係る情報端末20の詳細な構成の一例を示すブロック図である。情報端末20は、無線通信部200、プログラム取得部202、プログラム転送部204、プログラム格納部206、プログラム実行部208、報告指示受信部210、報告指示転送部212、報告応答生成部214、および報告応答転送部216を備える。なお、以下に説明する点を除き、図10において、図4と同じ符号を付した構成は、図4における構成と同一または同様の機能を有するため説明を省略する。
【0050】
報告指示受信部210は、プログラム配信サーバ12または他の情報端末20から、通信可能な他の情報端末20を報告すべき旨の報告指示を、無線通信部200を介して受信する。報告指示転送部212は、報告指示受信部210が受信した報告指示に自身の機器IDが付加されているか否かを判定する。報告指示受信部210が受信した報告指示に自身の機器IDが付加されていない場合、報告指示転送部212は、自身の機器IDおよびプログラム格納部206に格納されている付帯情報を当該報告指示に付加して他の情報端末20へ、無線通信部200を介して転送する。一方、報告指示受信部210が受信した報告指示に自身の機器IDが付加されている場合、報告指示転送部212は、報告指示受信部210が受信した報告指示を破棄する。
【0051】
報告応答生成部214は、報告指示転送部212が転送した報告指示に対して、他の情報端末20から報告応答を、所定期間以内に受信したか否かを判定する。他の情報端末20から所定期間以内に報告応答を受信しなかった場合、転送した報告指示を含む報告応答を生成し、生成した報告応答を、無線通信部200を介して他の情報端末20へ送信する。前記他の情報端末を介して前記報告応答を前記プログラム配布サーバへ返信する。
【0052】
報告応答転送部216は、他の情報端末20から報告応答を受信した場合に、報告応答に含まれる報告指示を参照して、受信した報告応答を転送する。当該報告指示には、転送される都度、転送を行った情報端末20の機器IDが付加されているので、当該報告応答に含まれる報告指示を参照することにより、報告指示を転送した経路を逆にたどり、受信した報告応答を対応する情報端末20へ転送する。これにより、報告応答は、最終的にプログラム配信サーバ12へ転送される。
【0053】
プログラム取得部202は、無線通信部200を介して、プログラム、当該プログラムの付帯情報、および転送指示テーブルを、プログラム配信サーバ12または他の情報端末20から取得する。そして、自身の機器IDに対応付けて、プログラムを格納する旨が、受信した転送指示テーブル内に格納されている場合、転送指示テーブルと共に取得したプログラムおよび付帯情報で、プログラム格納部206に格納されているプログラムおよび付帯情報を更新する。
【0054】
プログラム転送部204は、プログラム取得部202が取得したプログラムおよび付帯情報で、プログラム格納部206に格納されているプログラムおよび付帯情報が更新された場合、またはプログラム取得部202が取得した転送指示テーブル内に自身の機器IDが格納されていない場合に、プログラム取得部202が取得したプログラム、付帯情報、および転送指示テーブルを、転送指示テーブルに含まれる機器IDに従って他の情報端末20情報端末へ、無線通信部200を介して転送する。
【0055】
図11は、転送指示テーブル34が生成される過程を説明するための概念図である。通信トポロジ30は、本例におけるプログラム配信サーバ12と複数の情報端末20とが形成する無線通信リンクの一例を示す。本例の通信トポロジ30において、プログラム配信サーバ12は、情報端末20aおよび情報端末20bと直接通信が可能である。同様に、本例の通信トポロジ30において、例えば、情報端末20hは、情報端末20d、情報端末20m、情報端末20n、および情報端末20oと直接通信が可能である。なお、通信トポロジ30は、情報端末20どうしの距離が等しくなるように模式的に表現しており、実際の情報端末20の配置とは無関係である。
【0056】
プログラム配信サーバ12は、報告指示を情報端末20aおよび情報端末20bへ送信する。情報端末20aは、プログラム配信サーバ12から受信した報告指示に自身の機器IDを付加して情報端末20cおよび情報端末20dへ転送する。情報端末20bは、プログラム配信サーバ12から受信した報告指示に自身の機器IDを付加して情報端末20eおよび情報端末20fへ転送する。情報端末20kは、情報端末20gから報告指示を受信した場合、受信した報告指示に応答して、報告応答を生成し、生成した報告応答を情報端末20gへ送信する。情報端末20e、情報端末20i、情報端末20j、情報端末20l、情報端末20m、情報端末20n、および情報端末20oの通信トポロジ30の末端に位置する情報端末20についても、情報端末20kと同様に、受信した報告指示に応答して報告応答を生成する。
【0057】
報告応答32は、報告指示320および付帯情報322を有する。報告指示320は、プログラム配信サーバ12から送信された報告指示を転送した情報端末20の機器IDが付加された後に、通信トポロジ30の末端に位置する情報端末20の機器IDが付加されたものである。通信トポロジ30の末端に位置する情報端末20は、報告指示320を含む報告応答32を生成し、自身の機器IDに対応する付帯情報322の欄に、自身が有するプログラムの付帯情報を格納して、当該報告指示320に格納された機器IDを参照して、次に報告応答32を転送する情報端末20の機器IDを特定し、対応する情報端末20へ当該報告応答32を転送する。
【0058】
本例において、通信トポロジ30の末端に位置する情報端末20kは、自身の機器IDを付加した報告指示320を含む報告応答32を生成し、自身の機器IDであるkに対応する付帯情報322の欄に、自身が有するプログラムの付帯情報を格納する。そして、情報端末20kは、報告指示320に格納された機器IDを参照して、機器IDがgである情報端末20へ当該報告応答32を転送する。情報端末20cは報告応答32kを20gから受信し、当該報告応答に含まれる報告指示320を参照して、情報端末20cは、受信した報告応答を情報端末20aへ転送する。このようにして、報告応答32に含まれる報告指示320を参照して、受信した報告応答32を転送するので、通信トポロジ30の末端に位置する情報端末20が生成した報告応答32をプログラム配信サーバ12へ届けることができる。
【0059】
プログラム配信サーバ12は、受信した報告応答32に基づいて、転送指示テーブル34を生成する。転送指示テーブル34は、機器ID340および対応する機器IDの情報端末20が、当該転送指示テーブル34と共に受信したプログラムを格納するか否かを示す格納フラグ342を有する。本例において、格納フラグ342は、1ならば転送指示テーブル34と共に受信したプログラムを報告応答生成部214に格納し、0ならば、当該プログラムを格納せずに、転送指示テーブル34に従って他の情報端末20へ転送する。転送指示テーブル34は、通信トポロジ30の末端に位置する情報端末20の数だけ生成される。
【0060】
なお、本例では、プログラム配信サーバ12が配布するプログラムの付帯情報は、Ver1.0.1.1であることを仮定している。そのため、情報端末20cは配布されたプログラムを必要としない。しかし、情報端末20g、情報端末20k、および情報端末20lは、情報端末20cを介さなければ格納すべきプログラムを取得することができないので、情報端末20cは、格納はしないものの、配布されたプログラム取得して、情報端末20gへ転送する。そのため、情報端末20cがプログラムと共に転送する全ての転送指示テーブル34内の、情報端末20cに対応する格納フラグ342には0が設定される。
【0061】
また、本例において、転送指示テーブル34kは、情報端末20aに対する格納フラグを1に設定している。そのため、転送指示テーブル34k以外の転送指示テーブル34であって、情報端末20aを介して配布される転送指示テーブル34の情報端末20aに対応する機器IDには格納フラグとして0が格納される。このようにして、転送指示テーブル34を通信トポロジ30の末端に位置する情報端末20の数だけ生成し、配布すべきプログラムと共に送信することにより、プログラム配信サーバ12は、直接通信することができない情報端末20に対しても配布すべきプログラムを供給することができる。
【0062】
また、プログラム配信サーバ12は、プログラムの配布を許可されている情報端末20の機器IDのリストを格納し、プログラムと共に送信する転送指示テーブル34の格納フラグを、当該リストで許可されている情報端末20についてのみ1に設定してもよい。これにより、プログラム配信サーバ12は、プログラムの配布を許可されている情報端末20にのみプログラムを配布することができる。さらに、転送指示テーブル内の格納フラグを制御することにより、プログラム配信サーバ12は、通信トポロジ30内の特定の情報端末20にのみプログラムを供給することができる。
【0063】
図12は、本発明の第2実施形態に係るプログラム配信サーバ12の動作の一例を示すフローチャートである。プログラム配信サーバ12の電源が投入される等の所定のタイミングで、本フローチャートに示すプログラム配信サーバ12の動作が開始する。まず、無線通信部126は、通信可能な情報端末20との間で、例えばBluetoothを用いて無線通信リンクを確立する(S300)。ステップ300において、少なくとも1台の情報端末20との間で無線通信リンクが確立されない場合、本フローチャートに示すプログラム配信サーバ12の処理は終了する。
【0064】
次に、報告指示送信部130は、報告指示を、無線通信部126を介して直接通信可能な情報端末20へ送信する(S302)。そして、転送指示テーブル生成部132は、報告指示送信部130が送信した報告指示に応答して、直接通信可能な全ての情報端末20から報告応答を受信したか否かを判定する(S304)。直接通信可能な全ての情報端末20から報告応答を受信した場合(S304:Yes)、転送指示テーブル生成部132は、受信した報告応答のそれぞれに対応する転送指示テーブルを生成する(S306)。
【0065】
ステップ306において、転送指示テーブル生成部132は、受信した報告応答に含まれている、それぞれの情報端末20が既に有しているプログラムの付帯情報を参照して、当該付帯情報が、プログラム格納部120に格納されているプログラムの付帯情報と異なる場合に、当該異なる付帯情報のプログラムを有する情報端末20に対応する格納フラグを1に設定する。これにより、付帯情報がプログラムのバージョンである場合に、情報端末20は、プログラムのバーッジョンアップだけでなく、プログラムのバージョンダウンにも対応することができる。また、他の例として、転送指示テーブル生成部132は、付帯情報がプログラムのバージョンである場合に、情報端末20が既に有しているプログラムのバージョンが、プログラム格納部120に格納されているプログラムのバージョンより古い場合にのみ、対応する情報端末20の格納フラグを1に設定してもよい。
【0066】
次に、プログラム送信部122は、プログラム格納部120から配布すべきプログラムを読み出し、転送指示テーブル生成部132が生成した転送指示テーブルのそれぞれに、読み出したプログラムを添付して、転送指示テーブルを送信すべき情報端末20へ送信し(S308)、本フローチャートに示すプログラム配信サーバ12の動作は終了する。
【0067】
図13は、本発明の第2実施形態に係る情報端末20の動作の一例を示すフローチャートである。情報端末20の電源が投入される等の所定のタイミングで、本フローチャートに示す情報端末20の動作が開始する。まず、無線通信部200は、プログラム配信サーバ12および他の情報端末20のうち、無線通信が可能なものとの間で、例えばBluetoothを用いて無線通信リンクを確立する(S400)。ステップ400において、プログラム配信サーバ12または少なくとも1台の情報端末20との間で無線通信リンクが確立されない場合、本フローチャートに示す情報端末20の処理は終了する。
【0068】
次に、報告指示受信部210は、無線通信リンクを確立しているプログラム配信サーバ12または他の情報端末20から、無線通信部200を介して報告指示を受信したか否かを判定する(S402)。報告指示を受信していない場合(S402:No)、報告指示受信部210は、報告指示を受信するまで、ステップ402を所定時間繰り返す。なお、所定時間が経過しても付帯情報を受信しなかった場合、本フローチャートに示す情報端末20の動作は終了する。
【0069】
ステップ402において、無線通信リンクを確立しているプログラム配信サーバ12または他の情報端末20から報告指示を受信した場合(S402:Yes)、報告指示転送部212は、報告指示受信部210が受信した報告指示に、既に自身の機器IDが付加されているか否かを判定する(S404)。受信した報告指示に、既に自身の機器IDが付加されている場合(S404:Yes)、報告応答生成部214および報告応答転送部216は、ステップ402において受信した報告指示の送信元とは異なる他の情報端末20から報告応答を受信したか否かを判定する(S408)。
【0070】
ステップ404において、受信した報告指示に、自身の機器IDが付加されていない場合(S404:No)、報告指示転送部212は、受信した報告指示に自身の機器IDを付加し、自身の機器IDを付加した報告指示を、ステップ402において受信した報告指示の送信元とは異なる他の情報端末20へ転送し(S406)、ステップ408で示した処理を行う。
【0071】
ステップ408において、ステップ402において受信した報告指示の送信元とは異なる他の情報端末20から報告応答を受信していない場合(S408:No)、報告応答生成部214および報告応答転送部216は、報告指示転送部212が報告指示を転送してから所定時間が経過したか否かを判定する(S410)。所定時間が経過していない場合(S410:No)、報告応答生成部214および報告応答転送部216は、再びステップ408に示した処理を行う。所定時間が経過した場合(S410:Yes)、報告応答生成部214は、転送した報告指示を含む報告応答を生成し、生成した報告応答を、ステップ402において受信した報告指示の送信元の情報端末20へ送信し(S414)、ステップ416に示す処理を行う。
【0072】
ステップ408において、ステップ402において受信した報告指示の送信元とは異なる他の情報端末20から報告応答を受信した場合(S408:Yes)、報告応答転送部216は、受信した報告応答に含まれる報告指示を参照して、受信した報告応答を、ステップ402において受信した報告指示の送信元の情報端末20へ転送する(S412)。そして、プログラム取得部202は、プログラム配信サーバ12または他の情報端末20からプログラムと共に送信された転送指示テーブルを、無線通信部200を介して受信したか否かを判定する(S416)。プログラム取得部202は、プログラム配信サーバ12または他の情報端末20がプログラムと共に送信された転送指示テーブルを受信するまで、ステップ416を所定時間繰り返す。なお、所定時間が経過してもプログラムと共に送信された転送指示テーブルを受信しなかった場合、本フローチャートに示す情報端末20の動作は終了する。
【0073】
ステップ416において、プログラム配信サーバ12または他の情報端末20からプログラムと共に送信された転送指示テーブルを受信した場合(S416:Yes)、プログラム取得部202は、受信した転送指示テーブル内の、自身の機器IDに対応する格納フラグが1か否かを判定する(S418)。受信した転送指示テーブル内の、自身の機器IDに対応する格納フラグが0である場合(S418:No)、報告指示受信部210は、ステップ422に示す処理を行う。
【0074】
ステップ418において、受信した転送指示テーブル内の、自身の機器IDに対応する格納フラグが1である場合(S418:Yes)、報告指示受信部210は、転送指示テーブルと共に取得したプログラムおよび付帯情報で、プログラム格納部206に格納されているプログラムおよび付帯情報を更新する(S420)。そして、報告指示受信部210は、転送指示テーブルに格納された機器IDに基づいて、受信したプログラムおよび転送指示テーブルを、他の情報端末20へ転送し(S422)、本フローチャートに示した情報端末20の動作は終了する。
【0075】
以上、本発明の第2の実施形態について説明した。上記説明から明らかなように、本実施形態においても、プログラム配信システム10は、プログラムを配信する場合のプログラム配信サーバ12の処理負荷を低減することができる。
【0076】
なお、本発明は上記の実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。
【0077】
例えば、情報端末20の無線通信部200、プログラム取得部202、プログラム転送部204、報告指示受信部210、報告指示転送部212、報告応答生成部214、および報告応答転送部216は、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の集積ロジックICによりハード的に実現されるものでもよく、DSP(Digital Signal Processor)や汎用計算機によりソフトウェア的に実現されてもよく、あるいは、部分的にハードウェアまたはソフトウェアで実現させた機能ブロックを組み合わせてもよい。
【0078】
また、本実施形態では、サーバから情報端末20へ配信される情報を、プログラムを例に説明したが、本発明はこれに限られない。他の例として、サーバから情報端末20へ配信される情報は、プログラムの差分情報、情報端末20が取り扱うデータ、または情報端末20の稼動の許可/不許可を指示する情報等であってもよい。
【0079】
また、本実施形態では、プログラム配信サーバ12および情報端末20は、互いに無線によって通信する構成を例に説明したが、他の例として、プログラム配信サーバ12および情報端末20が、通信ネットワークを介して互いに通信を行う構成であってもよい。この場合、プログラム配信サーバ12が情報端末20と通信するために用いる通信回線の通信容量が少ない場合に、一部の情報端末20へ配信したプログラムを、当該一部の情報端末20が、他の情報端末20へ転送することにより、プログラム配信サーバ12のプログラム配信に伴う処理負荷を低減すると共に、プログラムの更新を必要としている全ての情報端末20へ、より迅速にプログラムを配信することができる。
【図面の簡単な説明】
【0080】
【図1】本発明の一実施形態に係るプログラム配信システム10の構成を示す図である。
【図2】本発明の第1実施形態に係るプログラム配信サーバ12の詳細な構成の一例を示すブロック図である。
【図3】プログラム格納部120に格納されるデータの構造の一例を示す図である。
【図4】本発明の第1実施形態に係る情報端末20の詳細な構成の一例を示すブロック図である。
【図5】プログラム格納部206に格納されるデータの構造の一例を示す図である。
【図6】本発明の第1実施形態に係るプログラム配信サーバ12の動作の一例を示すフローチャートである。
【図7】本発明の第1実施形態に係る情報端末20の動作の一例を示すフローチャートである。
【図8】本発明の第1実施形態に係る情報端末20のハードウェア構成の一例を示す図である。
【図9】本発明の第2実施形態に係るプログラム配信サーバ12の詳細な構成の一例を示すブロック図である。
【図10】本発明の第2実施形態に係る情報端末20の詳細な構成の一例を示すブロック図である。
【図11】転送指示テーブル34が生成される過程を説明するための概念図である。
【図12】本発明の第2実施形態に係るプログラム配信サーバ12の動作の一例を示すフローチャートである。
【図13】本発明の第2実施形態に係る情報端末20の動作の一例を示すフローチャートである。
【符号の説明】
【0081】
10・・・プログラム配信システム、12・・・プログラム配信サーバ、120・・・プログラム格納部、1200・・・プログラムID、1202・・・付帯情報、1204・・・プログラム本体、122・・・プログラム送信部、124・・・付帯情報送信部、126・・・無線通信部、130・・・報告指示送信部、132・・・転送指示テーブル生成部、20・・・情報端末、200・・・無線通信部、202・・・プログラム取得部、204・・・プログラム転送部、206・・・プログラム格納部、2060・・・プログラムID、2062・・・付帯情報、2064・・・配布形式のプログラム、2066・・・実行形式のプログラム、208・・・プログラム実行部、210・・・報告指示受信部、212・・・報告指示転送部、214・・・報告応答生成部、216・・・報告応答転送部、220・・・無線通信部、222・・・ROM、224・・・RAM、226・・・CPU、228・・・HDD、230・・・インターフェイス、22・・・自動車、30・・・通信トポロジ、32・・・報告応答、320・・・機器ID、322・・・付帯情報、34・・・転送指示テーブル、340・・・機器ID、342・・・格納フラグ
【特許請求の範囲】
【請求項1】
プログラム配布サーバによって配布されたプログラムに基づいて動作する情報端末であって、
前記プログラム配布サーバおよび他の前記情報端末との間で無線通信が可能な無線通信部と、
前記プログラム配布サーバによって配布されたプログラムおよび当該プログラムの付帯情報を格納するプログラム格納部と、
前記無線通信部を介して、前記プログラム配布サーバおよび前記他の情報端末から前記プログラムおよび前記プログラムの付帯情報を取得し、前記プログラム格納部を参照して、前記プログラム格納部に既に格納されている付帯情報が、前記プログラム配布サーバまたは前記他の情報端末から取得した付帯情報と異なる場合に、前記プログラム配布サーバまたは前記他の情報端末から取得したプログラムおよび付帯情報で、前記プログラム格納部に格納されているプログラムおよび付帯情報を更新するプログラム取得部と、
前記プログラム取得部によって取得されたプログラムおよび付帯情報で、前記プログラム格納部に格納されているプログラムおよび付帯情報が更新された場合、または前記プログラム格納部に既に格納されている付帯情報が、前記プログラム取得部が前記プログラム配布サーバまたは前記他の情報端末から取得した付帯情報と同一である場合に、前記プログラム格納部に格納されているプログラムおよび付帯情報を、前記無線通信部を介して前記他の情報端末へ転送するプログラム転送部と、
前記プログラム格納部に格納されているプログラムを実行するプログラム実行部と
を備えることを特徴とする情報端末。
【請求項2】
請求項1に記載の情報端末であって、
前記プログラム転送部は、
前記プログラムの転送に先立って、前記付帯情報を前記他の情報端末へ転送し、前記他の情報端末から前記付帯情報に対応する前記プログラムの受信要求を、前記無線通信部を介して受信した場合に、転送した前記付帯情報に対応する前記プログラムを、前記受信要求を送信した前記他の情報端末へ転送し、
前記プログラム取得部は、
前記プログラム配布サーバまたは前記他の情報端末から前記付帯情報を受信した場合に、前記プログラム格納部に既に格納されている前記付帯情報が、前記プログラム配布サーバから取得した前記付帯情報と異なる場合に、前記付帯情報を送信した前記他の情報端末へ前記受信要求を送信し、前記受信要求に応答して前記プログラム配布サーバまたは前記他の情報端末から前記付帯情報に対応する前記プログラムを受信した場合に、受信した前記プログラムおよび前記付帯情報で、前記プログラム格納部に格納されている前記プログラムおよび前記付帯情報を更新する
ことを特徴とする情報端末。
【請求項3】
情報端末にプログラムを配布するプログラム配布システムであって、
配布された前記プログラムに基づいて動作する複数の情報端末と、
前記情報端末へ前記プログラムを配布するプログラム配布サーバと
を備え、
前記複数の情報端末のそれぞれは、
前記プログラム配布サーバおよび他の前記情報端末との間で無線通信が可能な機器側無線通信部と、
前記プログラム配布サーバによって配布された前記プログラムおよび前記プログラムの付帯情報を格納する機器側プログラム格納部と、
前記機器側無線通信部を介して、前記プログラム配布サーバまたは前記他の情報端末から前記プログラムおよび前記プログラムの付帯情報を取得し、前記機器側プログラム格納部を参照して、前記機器側プログラム格納部に既に格納されている前記付帯情報が、前記プログラム配布サーバまたは前記他の情報端末から取得した前記付帯情報と異なる場合に、前記プログラム配布サーバまたは前記他の情報端末から取得した前記プログラムおよび前記付帯情報で、前記機器側プログラム格納部に格納されている前記プログラムおよび前記付帯情報を更新するプログラム取得部と、
前記プログラム取得部が取得した前記プログラムおよび前記付帯情報で、前記機器側プログラム格納部に格納されている前記プログラムおよび前記付帯情報を更新した場合、および前記機器側プログラム格納部に既に格納されている前記付帯情報が、前記プログラム取得部が前記プログラム配布サーバまたは前記他の情報端末から取得した前記付帯情報と同一である場合に、前記機器側プログラム格納部に格納されている前記プログラムおよび前記付帯情報を、前記機器側無線通信部を介して前記他の情報端末へ転送するプログラム転送部と、
前記機器側プログラム格納部に格納されている前記プログラムを実行するプログラム実行部と
を有し、
前記プログラム配布サーバは、
前記複数の情報端末のいずれかとの間で無線通信が可能なサーバ側無線通信部と、
配布すべき前記プログラムおよび前記配布すべきプログラムの前記付帯情報を格納するサーバ側プログラム格納部と、
前記情報端末への前記プログラムの配布に先立って、前記サーバ側プログラム格納部から前記プログラムの付帯情報を読み出し、読み出した前記付帯情報を、前記サーバ側無線通信部を介して前記情報端末へ送信する付帯情報送信部と、
前記付帯情報送信部が送信した前記プログラムの付帯情報に応答して、前記情報端末から前記受信要求を受信した場合に、前記配布すべきプログラムを前記サーバ側プログラム格納部から読み出し、読み出した前記配布すべきプログラムを、前記サーバ側無線通信部を介して前記情報端末へ送信するプログラム送信部と
を有することを特徴とするプログラム配布システム。
【請求項4】
配布されたプログラムに基づいて動作する複数の情報端末および前記情報端末にプログラムを配布するプログラム配布サーバを備えるプログラム配布システムのプログラム配布方法であって、
前記複数の情報端末のそれぞれは、
前記プログラムおよび前記プログラムの付帯情報を機器側プログラム格納部に格納するステップと、
前記プログラム配布サーバまたは他の前記情報端末から、無線通信を用いて前記プログラムおよび前記プログラムの付帯情報を取得し、前記機器側プログラム格納部を参照して、前記機器側プログラム格納部に既に格納されている前記付帯情報が、前記プログラム配布サーバまたは前記他の情報端末から取得した前記付帯情報と異なる場合に、前記プログラム配布サーバまたは前記他の情報端末から取得した前記プログラムおよび前記付帯情報で、前記機器側プログラム格納部に格納されている前記プログラムおよび前記付帯情報を更新するステップと、
取得した前記プログラムおよび前記付帯情報で、前記機器側プログラム格納部に格納されている前記プログラムおよび前記付帯情報を更新した場合、および前記機器側プログラム格納部に既に格納されている前記付帯情報が、前記プログラム配布サーバまたは前記他の情報端末から取得した前記付帯情報と同一である場合に、前記機器側プログラム格納部に格納されている前記プログラムおよび前記付帯情報を、無線通信を用いて前記他の情報端末へ転送するステップと、
前記機器側プログラム格納部に格納されている前記プログラムを実行するステップと
を行い、
前記プログラム配布サーバは、
配布すべき前記プログラムおよび前記配布すべきプログラムの前記付帯情報をサーバ側プログラム格納部に格納するステップと、
前記情報端末への前記プログラムの配布に先立って、前記サーバ側プログラム格納部から前記プログラムの付帯情報を読み出し、読み出した前記付帯情報を、無線通信を用いて前記情報端末へ送信するステップと、
送信した前記付帯情報に応答して、前記情報端末から前記受信要求を受信した場合に、前記配布すべきプログラムを前記サーバ側プログラム格納部から読み出し、読み出した前記配布すべきプログラムを、無線通信を用いて前記情報端末へ送信するステップと
を行うことを特徴とするプログラム配布方法。
【請求項5】
プログラム配布サーバによって配布されたプログラムに基づいて動作する情報端末であって、
前記プログラム配布サーバおよび他の前記情報端末との間で無線通信が可能な無線通信部と、
前記プログラム配布サーバによって配布された前記プログラムを格納するプログラム格納部と、
前記無線通信部を介して、前記プログラムと共に、前記プログラムを格納すべき前記情報端末の識別情報を含む格納指示および前記プログラムの転送先の前記情報端末の識別情報を含む転送指示を、前記プログラム配布サーバまた前記他の情報端末から取得し、前記格納指示内に自身の前記識別情報が含まれている場合に、前記格納指示と共に取得した前記プログラムで、前記プログラム格納部に格納されている前記プログラムを更新するプログラム取得部と、
前記プログラム取得部が取得した前記プログラムで、前記プログラム格納部に格納されている前記プログラムを更新した場合、および前記プログラム取得部が取得した前記格納指示内に前記自身の識別情報が含まれていない場合に、前記プログラム取得部が取得した前記プログラム、前記格納指示、および前記転送指示を、前記転送指示に含まれる前記識別情報に対応する前記他の情報端末へ、前記無線通信部を介して転送するプログラム転送部と、
前記プログラム格納部に格納されている前記プログラムを実行するプログラム実行部と
を備えることを特徴とする情報端末。
【請求項6】
請求項5に記載の情報端末であって、
前記プログラム配布サーバまたは前記他の情報端末から、通信可能な前記他の情報端末を報告すべき旨の報告指示を、前記無線通信部を介して受信する報告指示受信部と、
前記報告指示受信部が受信した前記報告指示に自身の前記識別情報が付加されていない場合には、前記自身の識別情報を付加して、前記自身の識別情報を付加した報告指示を、前記無線通信部を介して前記他の情報端末へ転送し、前記報告指示受信部が受信した前記報告指示に前記自身の識別情報が付加されている場合には、受信した前記報告指示を破棄する報告指示転送部と、
所定期間経過しても、前記報告指示転送部が転送した前記報告指示に応答して、前記他の情報端末から報告応答を受信ない場合には、転送した前記報告指示および前記自身の識別情報を含む報告応答を生成し、生成した前記報告応答を、前記機器側無線通信部を介して前記他の情報端末へ送信する報告応答生成部と、
前記他の情報端末から前記報告応答を受信した場合に、前記報告応答に含まれる前記報告指示を参照して、前記報告応答を送信した前記情報端末へ送信した前記報告指示を受信した前記情報端末へ、受信した前記報告応答を転送する報告応答転送部と
をさらに備えることを特徴とする情報端末。
【請求項7】
請求項5または6に記載の情報端末であって、
前記プログラム格納部は、
前記プログラムの付帯情報をさらに格納し、
前記報告指示転送部は、
前記自身の識別情報に加えて、前記プログラム格納部に格納されている前記付帯情報をさらに付加すること
を特徴とする情報端末。
【請求項8】
請求項1から7のいずれかに記載の情報端末であって、
前記無線通信部は、Bluetoothの規格に基づく無線通信方式を用いて通信を行うことを特徴とする情報端末。
【請求項9】
情報端末にプログラムを配布するプログラム配布システムであって、
配布された前記プログラムに基づいて動作する複数の情報端末と、
前記情報端末へ前記プログラムを配布するプログラム配布サーバと
を備え、
前記複数の情報端末のそれぞれは、
前記プログラム配布サーバおよび他の前記情報端末との間で無線通信が可能な無線通信部と、
前記プログラム配布サーバによって配布された前記プログラムを格納する機器側プログラム格納部と、
前記無線通信部を介して、前記プログラムと共に、前記プログラムを格納すべき前記情報端末の識別情報を含む格納指示および前記プログラムの転送先の前記情報端末の識別情報を含む転送指示を、前記プログラム配布サーバまたは前記他の情報端末から取得し、前記格納指示内に自身の前記識別情報が含まれている場合に、前記格納指示と共に取得した前記プログラムで、前記機器側プログラム格納部に格納されている前記プログラムを更新するプログラム取得部と、
前記プログラム取得部が取得した前記プログラムで、前記機器側プログラム格納部に格納されている前記プログラムを更新した場合、および前記プログラム取得部が取得した前記格納指示内に前記自身の識別情報が含まれていない場合に、前記プログラム取得部が取得した前記プログラム、前記格納指示、および前記転送指示を、前記転送指示に含まれる前記識別情報に対応する前記他の情報端末へ、前記無線通信部を介して転送するプログラム転送部と、
前記機器側プログラム格納部に格納されている前記プログラムを実行するプログラム実行部と
を有し、
前記プログラム配布サーバは、
前記複数の情報端末のいずれかとの間で無線通信が可能なサーバ側無線通信部と、
配布すべき前記プログラムを格納するサーバ側プログラム格納部と、
前記サーバ側プログラム格納部から前記プログラムを読み出し、読み出した前記プログラムを、前記格納指示および前記転送指示と共に、前記サーバ側無線通信部を介して前記情報端末へ送信するプログラム送信部と
を有することを特徴とするプログラム配布システム。
【請求項10】
配布されたプログラムに基づいて動作する複数の情報端末および前記情報端末にプログラムを配布するプログラム配布サーバを備えるプログラム配布システムのプログラム配布方法であって、
前記複数の情報端末のそれぞれは、
前記プログラムを機器側プログラム格納部に格納するステップと、
前記プログラムと共に、前記プログラムを格納すべき前記情報端末の識別情報を含む格納指示および前記プログラムの転送先の前記情報端末の識別情報を含む転送指示を、前記プログラム配布サーバまたは他の前記情報端末から無線通信を用いて取得し、前記格納指示内に自身の前記識別情報が含まれている場合に、前記格納指示と共に取得した前記プログラムで、機器側プログラム格納部に格納されている前記プログラムを更新するステップと、
取得した前記プログラムで、前記機器側プログラム格納部に格納されている前記プログラムを更新した場合、および取得した前記格納指示内に前記自身の識別情報が含まれていない場合に、取得した前記プログラム、前記格納指示、および前記転送指示を、前記転送指示に含まれる前記識別情報に対応する前記他の情報端末へ、無線通信を用いて転送するステップと、
前記機器側プログラム格納部に格納されている前記プログラムを実行するステップと
を行い、
前記プログラム配布サーバは、
配布すべき前記プログラムをサーバ側プログラム格納部に格納するステップと、
前記格納指示を生成するステップと、
前記転送指示を生成するステップと、
前記サーバ側プログラム格納部から前記プログラムを読み出し、読み出した前記プログラムを、生成した前記格納指示および前記転送指示と共に、無線通信を用いて前記情報端末へ送信するステップと
を行うことを特徴とするプログラム配布方法。
【請求項1】
プログラム配布サーバによって配布されたプログラムに基づいて動作する情報端末であって、
前記プログラム配布サーバおよび他の前記情報端末との間で無線通信が可能な無線通信部と、
前記プログラム配布サーバによって配布されたプログラムおよび当該プログラムの付帯情報を格納するプログラム格納部と、
前記無線通信部を介して、前記プログラム配布サーバおよび前記他の情報端末から前記プログラムおよび前記プログラムの付帯情報を取得し、前記プログラム格納部を参照して、前記プログラム格納部に既に格納されている付帯情報が、前記プログラム配布サーバまたは前記他の情報端末から取得した付帯情報と異なる場合に、前記プログラム配布サーバまたは前記他の情報端末から取得したプログラムおよび付帯情報で、前記プログラム格納部に格納されているプログラムおよび付帯情報を更新するプログラム取得部と、
前記プログラム取得部によって取得されたプログラムおよび付帯情報で、前記プログラム格納部に格納されているプログラムおよび付帯情報が更新された場合、または前記プログラム格納部に既に格納されている付帯情報が、前記プログラム取得部が前記プログラム配布サーバまたは前記他の情報端末から取得した付帯情報と同一である場合に、前記プログラム格納部に格納されているプログラムおよび付帯情報を、前記無線通信部を介して前記他の情報端末へ転送するプログラム転送部と、
前記プログラム格納部に格納されているプログラムを実行するプログラム実行部と
を備えることを特徴とする情報端末。
【請求項2】
請求項1に記載の情報端末であって、
前記プログラム転送部は、
前記プログラムの転送に先立って、前記付帯情報を前記他の情報端末へ転送し、前記他の情報端末から前記付帯情報に対応する前記プログラムの受信要求を、前記無線通信部を介して受信した場合に、転送した前記付帯情報に対応する前記プログラムを、前記受信要求を送信した前記他の情報端末へ転送し、
前記プログラム取得部は、
前記プログラム配布サーバまたは前記他の情報端末から前記付帯情報を受信した場合に、前記プログラム格納部に既に格納されている前記付帯情報が、前記プログラム配布サーバから取得した前記付帯情報と異なる場合に、前記付帯情報を送信した前記他の情報端末へ前記受信要求を送信し、前記受信要求に応答して前記プログラム配布サーバまたは前記他の情報端末から前記付帯情報に対応する前記プログラムを受信した場合に、受信した前記プログラムおよび前記付帯情報で、前記プログラム格納部に格納されている前記プログラムおよび前記付帯情報を更新する
ことを特徴とする情報端末。
【請求項3】
情報端末にプログラムを配布するプログラム配布システムであって、
配布された前記プログラムに基づいて動作する複数の情報端末と、
前記情報端末へ前記プログラムを配布するプログラム配布サーバと
を備え、
前記複数の情報端末のそれぞれは、
前記プログラム配布サーバおよび他の前記情報端末との間で無線通信が可能な機器側無線通信部と、
前記プログラム配布サーバによって配布された前記プログラムおよび前記プログラムの付帯情報を格納する機器側プログラム格納部と、
前記機器側無線通信部を介して、前記プログラム配布サーバまたは前記他の情報端末から前記プログラムおよび前記プログラムの付帯情報を取得し、前記機器側プログラム格納部を参照して、前記機器側プログラム格納部に既に格納されている前記付帯情報が、前記プログラム配布サーバまたは前記他の情報端末から取得した前記付帯情報と異なる場合に、前記プログラム配布サーバまたは前記他の情報端末から取得した前記プログラムおよび前記付帯情報で、前記機器側プログラム格納部に格納されている前記プログラムおよび前記付帯情報を更新するプログラム取得部と、
前記プログラム取得部が取得した前記プログラムおよび前記付帯情報で、前記機器側プログラム格納部に格納されている前記プログラムおよび前記付帯情報を更新した場合、および前記機器側プログラム格納部に既に格納されている前記付帯情報が、前記プログラム取得部が前記プログラム配布サーバまたは前記他の情報端末から取得した前記付帯情報と同一である場合に、前記機器側プログラム格納部に格納されている前記プログラムおよび前記付帯情報を、前記機器側無線通信部を介して前記他の情報端末へ転送するプログラム転送部と、
前記機器側プログラム格納部に格納されている前記プログラムを実行するプログラム実行部と
を有し、
前記プログラム配布サーバは、
前記複数の情報端末のいずれかとの間で無線通信が可能なサーバ側無線通信部と、
配布すべき前記プログラムおよび前記配布すべきプログラムの前記付帯情報を格納するサーバ側プログラム格納部と、
前記情報端末への前記プログラムの配布に先立って、前記サーバ側プログラム格納部から前記プログラムの付帯情報を読み出し、読み出した前記付帯情報を、前記サーバ側無線通信部を介して前記情報端末へ送信する付帯情報送信部と、
前記付帯情報送信部が送信した前記プログラムの付帯情報に応答して、前記情報端末から前記受信要求を受信した場合に、前記配布すべきプログラムを前記サーバ側プログラム格納部から読み出し、読み出した前記配布すべきプログラムを、前記サーバ側無線通信部を介して前記情報端末へ送信するプログラム送信部と
を有することを特徴とするプログラム配布システム。
【請求項4】
配布されたプログラムに基づいて動作する複数の情報端末および前記情報端末にプログラムを配布するプログラム配布サーバを備えるプログラム配布システムのプログラム配布方法であって、
前記複数の情報端末のそれぞれは、
前記プログラムおよび前記プログラムの付帯情報を機器側プログラム格納部に格納するステップと、
前記プログラム配布サーバまたは他の前記情報端末から、無線通信を用いて前記プログラムおよび前記プログラムの付帯情報を取得し、前記機器側プログラム格納部を参照して、前記機器側プログラム格納部に既に格納されている前記付帯情報が、前記プログラム配布サーバまたは前記他の情報端末から取得した前記付帯情報と異なる場合に、前記プログラム配布サーバまたは前記他の情報端末から取得した前記プログラムおよび前記付帯情報で、前記機器側プログラム格納部に格納されている前記プログラムおよび前記付帯情報を更新するステップと、
取得した前記プログラムおよび前記付帯情報で、前記機器側プログラム格納部に格納されている前記プログラムおよび前記付帯情報を更新した場合、および前記機器側プログラム格納部に既に格納されている前記付帯情報が、前記プログラム配布サーバまたは前記他の情報端末から取得した前記付帯情報と同一である場合に、前記機器側プログラム格納部に格納されている前記プログラムおよび前記付帯情報を、無線通信を用いて前記他の情報端末へ転送するステップと、
前記機器側プログラム格納部に格納されている前記プログラムを実行するステップと
を行い、
前記プログラム配布サーバは、
配布すべき前記プログラムおよび前記配布すべきプログラムの前記付帯情報をサーバ側プログラム格納部に格納するステップと、
前記情報端末への前記プログラムの配布に先立って、前記サーバ側プログラム格納部から前記プログラムの付帯情報を読み出し、読み出した前記付帯情報を、無線通信を用いて前記情報端末へ送信するステップと、
送信した前記付帯情報に応答して、前記情報端末から前記受信要求を受信した場合に、前記配布すべきプログラムを前記サーバ側プログラム格納部から読み出し、読み出した前記配布すべきプログラムを、無線通信を用いて前記情報端末へ送信するステップと
を行うことを特徴とするプログラム配布方法。
【請求項5】
プログラム配布サーバによって配布されたプログラムに基づいて動作する情報端末であって、
前記プログラム配布サーバおよび他の前記情報端末との間で無線通信が可能な無線通信部と、
前記プログラム配布サーバによって配布された前記プログラムを格納するプログラム格納部と、
前記無線通信部を介して、前記プログラムと共に、前記プログラムを格納すべき前記情報端末の識別情報を含む格納指示および前記プログラムの転送先の前記情報端末の識別情報を含む転送指示を、前記プログラム配布サーバまた前記他の情報端末から取得し、前記格納指示内に自身の前記識別情報が含まれている場合に、前記格納指示と共に取得した前記プログラムで、前記プログラム格納部に格納されている前記プログラムを更新するプログラム取得部と、
前記プログラム取得部が取得した前記プログラムで、前記プログラム格納部に格納されている前記プログラムを更新した場合、および前記プログラム取得部が取得した前記格納指示内に前記自身の識別情報が含まれていない場合に、前記プログラム取得部が取得した前記プログラム、前記格納指示、および前記転送指示を、前記転送指示に含まれる前記識別情報に対応する前記他の情報端末へ、前記無線通信部を介して転送するプログラム転送部と、
前記プログラム格納部に格納されている前記プログラムを実行するプログラム実行部と
を備えることを特徴とする情報端末。
【請求項6】
請求項5に記載の情報端末であって、
前記プログラム配布サーバまたは前記他の情報端末から、通信可能な前記他の情報端末を報告すべき旨の報告指示を、前記無線通信部を介して受信する報告指示受信部と、
前記報告指示受信部が受信した前記報告指示に自身の前記識別情報が付加されていない場合には、前記自身の識別情報を付加して、前記自身の識別情報を付加した報告指示を、前記無線通信部を介して前記他の情報端末へ転送し、前記報告指示受信部が受信した前記報告指示に前記自身の識別情報が付加されている場合には、受信した前記報告指示を破棄する報告指示転送部と、
所定期間経過しても、前記報告指示転送部が転送した前記報告指示に応答して、前記他の情報端末から報告応答を受信ない場合には、転送した前記報告指示および前記自身の識別情報を含む報告応答を生成し、生成した前記報告応答を、前記機器側無線通信部を介して前記他の情報端末へ送信する報告応答生成部と、
前記他の情報端末から前記報告応答を受信した場合に、前記報告応答に含まれる前記報告指示を参照して、前記報告応答を送信した前記情報端末へ送信した前記報告指示を受信した前記情報端末へ、受信した前記報告応答を転送する報告応答転送部と
をさらに備えることを特徴とする情報端末。
【請求項7】
請求項5または6に記載の情報端末であって、
前記プログラム格納部は、
前記プログラムの付帯情報をさらに格納し、
前記報告指示転送部は、
前記自身の識別情報に加えて、前記プログラム格納部に格納されている前記付帯情報をさらに付加すること
を特徴とする情報端末。
【請求項8】
請求項1から7のいずれかに記載の情報端末であって、
前記無線通信部は、Bluetoothの規格に基づく無線通信方式を用いて通信を行うことを特徴とする情報端末。
【請求項9】
情報端末にプログラムを配布するプログラム配布システムであって、
配布された前記プログラムに基づいて動作する複数の情報端末と、
前記情報端末へ前記プログラムを配布するプログラム配布サーバと
を備え、
前記複数の情報端末のそれぞれは、
前記プログラム配布サーバおよび他の前記情報端末との間で無線通信が可能な無線通信部と、
前記プログラム配布サーバによって配布された前記プログラムを格納する機器側プログラム格納部と、
前記無線通信部を介して、前記プログラムと共に、前記プログラムを格納すべき前記情報端末の識別情報を含む格納指示および前記プログラムの転送先の前記情報端末の識別情報を含む転送指示を、前記プログラム配布サーバまたは前記他の情報端末から取得し、前記格納指示内に自身の前記識別情報が含まれている場合に、前記格納指示と共に取得した前記プログラムで、前記機器側プログラム格納部に格納されている前記プログラムを更新するプログラム取得部と、
前記プログラム取得部が取得した前記プログラムで、前記機器側プログラム格納部に格納されている前記プログラムを更新した場合、および前記プログラム取得部が取得した前記格納指示内に前記自身の識別情報が含まれていない場合に、前記プログラム取得部が取得した前記プログラム、前記格納指示、および前記転送指示を、前記転送指示に含まれる前記識別情報に対応する前記他の情報端末へ、前記無線通信部を介して転送するプログラム転送部と、
前記機器側プログラム格納部に格納されている前記プログラムを実行するプログラム実行部と
を有し、
前記プログラム配布サーバは、
前記複数の情報端末のいずれかとの間で無線通信が可能なサーバ側無線通信部と、
配布すべき前記プログラムを格納するサーバ側プログラム格納部と、
前記サーバ側プログラム格納部から前記プログラムを読み出し、読み出した前記プログラムを、前記格納指示および前記転送指示と共に、前記サーバ側無線通信部を介して前記情報端末へ送信するプログラム送信部と
を有することを特徴とするプログラム配布システム。
【請求項10】
配布されたプログラムに基づいて動作する複数の情報端末および前記情報端末にプログラムを配布するプログラム配布サーバを備えるプログラム配布システムのプログラム配布方法であって、
前記複数の情報端末のそれぞれは、
前記プログラムを機器側プログラム格納部に格納するステップと、
前記プログラムと共に、前記プログラムを格納すべき前記情報端末の識別情報を含む格納指示および前記プログラムの転送先の前記情報端末の識別情報を含む転送指示を、前記プログラム配布サーバまたは他の前記情報端末から無線通信を用いて取得し、前記格納指示内に自身の前記識別情報が含まれている場合に、前記格納指示と共に取得した前記プログラムで、機器側プログラム格納部に格納されている前記プログラムを更新するステップと、
取得した前記プログラムで、前記機器側プログラム格納部に格納されている前記プログラムを更新した場合、および取得した前記格納指示内に前記自身の識別情報が含まれていない場合に、取得した前記プログラム、前記格納指示、および前記転送指示を、前記転送指示に含まれる前記識別情報に対応する前記他の情報端末へ、無線通信を用いて転送するステップと、
前記機器側プログラム格納部に格納されている前記プログラムを実行するステップと
を行い、
前記プログラム配布サーバは、
配布すべき前記プログラムをサーバ側プログラム格納部に格納するステップと、
前記格納指示を生成するステップと、
前記転送指示を生成するステップと、
前記サーバ側プログラム格納部から前記プログラムを読み出し、読み出した前記プログラムを、生成した前記格納指示および前記転送指示と共に、無線通信を用いて前記情報端末へ送信するステップと
を行うことを特徴とするプログラム配布方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2006−178896(P2006−178896A)
【公開日】平成18年7月6日(2006.7.6)
【国際特許分類】
【出願番号】特願2004−374071(P2004−374071)
【出願日】平成16年12月24日(2004.12.24)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Bluetooth
【出願人】(591132335)株式会社ザナヴィ・インフォマティクス (745)
【Fターム(参考)】
【公開日】平成18年7月6日(2006.7.6)
【国際特許分類】
【出願日】平成16年12月24日(2004.12.24)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Bluetooth
【出願人】(591132335)株式会社ザナヴィ・インフォマティクス (745)
【Fターム(参考)】
[ Back to top ]