(58)【調査した分野】(Int.Cl.,DB名)
複数の通信インターフェース装置と接続し、複数の端末の各々に割り当てられた素数と、前記複数の端末の各々について当該端末に送信するための通信インターフェース装置の識別子とを記憶する記憶部を有するコンピュータにより実行される配信方法であって、
前記複数の通信インターフェース装置の各々について、前記複数の端末に含まれる2以上の配信先端末のうち、当該通信インターフェース装置の識別子に対応する配信先端末の各々に割り当てられた素数の積を算出し、
前記複数の通信インターフェース装置の各々について、前記積を含む通知データを当該通信インターフェース装置を介してブロードキャストする
処理を含む配信方法。
【発明を実施するための形態】
【0010】
[実施の形態1]
本実施の形態では、会場(例えば、抽選会場)に集まった参加者のうち、一部の参加者(例えば、当選者)が所持する無線端末に通知(例えば、当選通知)を送ることを想定する。
【0011】
図1に、ネットワーク構成例を示す。アプリケーションサーバ101と配信サーバ103とは、第1ネットワークを介して接続している。第1ネットワークは、例えばインターネット或いはLANである。
【0012】
アプリケーションサーバ101は、参加者が所持する無線端末107のIDを保持している。そして、アプリケーションサーバ101は、一部の無線端末107に伝達する通知を生成する。アプリケーションサーバ101は、第1ネットワークを介して、配信サーバ103に一部の無線端末107への通知を依頼する。
【0013】
配信サーバ103は、第2ネットワークを介して通信インターフェース装置105と接続している。第2ネットワークは、例えばインターネット或いはLANである。第2ネットワークは、第1ネットワークと共通であってもよい。また、配信サーバ103は、アプリケーションサーバ101と一体であってもよい。
【0014】
通信インターフェース装置105は、無線端末107へのブロードキャストを行う装置である。通信インターフェース装置105は、例えばBLEビーコンである。BLEビーコンによる通信は、アドバタイズ型通信と呼ばれることがある。ブロードキャストは、近距離無線通信以外の方式によって行われるようにしてもよい。例えば、可視光通信方式或いは超音波通信方式によってブロードキャストを行うようにしてもよい。
【0015】
配信サーバ103は、アプリケーションサーバ101から通知依頼を受けると、当該依頼で指定された無線端末107を配信先とする通知メッセージを生成する。そして、配信サーバ103は、通信インターフェース装置105を介して通知メッセージをブロードキャストする。
【0016】
本実施の形態では、このようにしてブロードキャストされる通知メッセージに設定されている配信先が、他人に推測されにくいように工夫する。
【0017】
図2に、無線端末107の配置例を示す。図示した円は、通信インターフェース装置105による無線通信の範囲を示している。つまり、無線端末107a乃至無線端末107fは、通信インターフェース装置105からの電波を受信する位置に存在する。
【0018】
この例で、アプリケーションサーバ101によって指定された配信先に該当する無線端末107は、塗りつぶされている。図示するように、無線端末107a、無線端末107c及び無線端末107dは、配信先に該当する。一方、配信先に該当しない無線端末107は、塗りつぶされていない。図示するように、無線端末107b、無線端末107e及び無線端末107fは、配信先に該当しない。この例では、6台の無線端末107を示しているが、より多い無線端末107が通信対象であってもよい。
【0019】
各無線端末107には、一意の素数が割り当てられる。そして、その素数は配信サーバ103に登録されていることが、前提となる。また、無線端末107は自身に割り当てられている素数を記憶している。
【0020】
図3に、通知メッセージの概要を示す。アプリケーションサーバ101が送信する通知依頼には、配信先を示す端末IDが設定されている。この例では、端末ID「Ta」、「Tc」及び「Td」が設定されている。また、通知依頼には、配信先の無線端末107に伝達する通知内容も設定されている。通知内容は、任意である。通知内容は、例えば無線端末107に表示される文字や画像であってもよいし、コンテンツの格納先を表すURLであってもよい。
【0021】
配信サーバ103は、端末ID「Ta」に割り当てられている素数「Pa」、端末ID「Tc」に割り当てられている素数「Pc」及び端末ID「Td」に割り当てられている素数「Pd」の積を求める。そして、その積が通知メッセージに設定される。通知メッセージには、通知内容も設定される。
【0022】
図4に、配信サーバ103で保持する端末テーブルの構成例を示す。この例における端末テーブルは、端末に対応するレコード(以下、端末レコードという。)を有している。端末レコードは、端末IDを設定するためのフィールドと、素数を設定するためのフィールドとを有している。端末IDは、素数が割り当てられている無線端末107のIDである。素数は、当該無線端末107に割り当てられている素数である。
【0023】
図示した1番目の端末レコードは、ID「Ta」で識別される無線端末107aに、素数「Pa」が割り当てられていることを示している。同じく2番目の端末レコードは、ID「Tb」で識別される無線端末107bに、素数「Pb」が割り当てられていることを示している。同じく3番目の端末レコードは、ID「Tc」で識別される無線端末107cに、素数「Pc」が割り当てられていることを示している。同じく4番目の端末レコードは、ID「Td」で識別される無線端末107dに、素数「Pd」が割り当てられていることを示している。
【0024】
続いて、シーケンスについて説明する。以下では、登録フェーズと配信フェーズとに分けて説明する。登録フェーズでは、配信サーバ103において無線端末107に割り当てられた素数を登録する。
【0025】
図5に、登録フェーズにおけるシーケンス例を示す。無線端末107aは、配信サーバ103に登録要求を送る(S501)。登録要求は、無線端末107aの端末IDを含む。無線端末107は、例えばセルラー方式、無線LAN方式或いは近距離無線方式によって登録要求を送る。
【0026】
配信サーバ103は、登録要求を受けると、要求元の無線端末107aに素数を割り当てる。そして、配信サーバ103は、当該素数を無線端末107aのIDと対応付けて端末テーブルに登録する(S503)。
【0027】
配信サーバ103は、無線端末107aに割り当てた素数を含む応答を返す(S505)。配信サーバ103は、例えばセルラー方式、無線LAN方式或いは近距離無線方式によって応答を送る。無線端末107aは、当該素数を記憶する。
【0028】
同様に、無線端末107bは、配信サーバ103に登録要求を送る(S507)。登録要求は、無線端末107bの端末IDを含む。
【0029】
配信サーバ103は、登録要求を受けると、要求元の無線端末107bに素数を割り当てる。無線端末107bに割り当てられる素数は、既に無線端末107aに割り当てられた素数と重複しないようにする。そして、配信サーバ103は、当該素数を無線端末107bのIDと対応付けて端末テーブルに登録する(S509)。
【0030】
配信サーバ103は、無線端末107bに割り当てた素数を含む応答を返す(S511)。無線端末107bは、当該素数を記憶する。
【0031】
同様に、無線端末107cは、配信サーバ103に登録要求を送る(S513)。登録要求は、無線端末107cの端末IDを含む。
【0032】
配信サーバ103は、登録要求を受けると、要求元の無線端末107cに素数を割り当てる。無線端末107cに割り当てられる素数は、既に無線端末107aに割り当てられた素数及び無線端末107bに割り当てられた素数と重複しないようにする。そして、配信サーバ103は、当該素数を無線端末107cのIDと対応付けて端末テーブルに登録する(S515)。
【0033】
配信サーバ103は、無線端末107cに割り当てた素数を含む応答を返す(S517)。無線端末107cは、当該素数を記憶する。無線端末107d乃至無線端末107fについては、説明を省く。このようにして、端末テーブルに各無線端末107に割り当てた素数を登録する。
【0034】
図5では、配信サーバ103が素数を決める例を示したが、無線端末107で候補となる素数を決めるようにしてもよい。その場合には、無線端末107は、仮に決めた素数を配信サーバ103へ送り、配信サーバ103は、当該素数が登録済みの他の素数と重複するか否かを判定する。当該素数が登録済みの他の素数と重複しなければ、当該素数は正式に割り当てられたものとして扱われる。当該素数が登録済みの他の素数と重複する場合には、改めて無線端末107で候補となる素数を決めて、同じ手順を繰り返す。
【0035】
続いて、配信フェーズについて説明する。配信フェーズでは、アプリケーションサーバ101からの通知依頼を受けて、配信サーバ103から無線端末107へ通知を配信する。
図6に、配信フェーズにおけるシーケンス例を示す。アプリケーションサーバ101は、配信サーバ103に通知依頼を送る(S601)。通知依頼は、上述したように配信先の端末ID及び通知内容を含んでいる。
【0036】
配信サーバ103は、通知依頼を受けると、通知メッセージを生成する(S603)。通知メッセージには、配信先を特定するための積及び通知内容が含まれる。
【0037】
配信サーバ103は、通信インターフェース装置105を介して通知メッセージを、無線端末107a乃至107cに送信する(S605)。図示していないが、他の無線端末107d乃至107fにも同様に、通知メッセージが送信される。つまり、通知メッセージは、一括送信される。
【0038】
通知メッセージに含まれる積は、無線端末107aに割り当てられている素数で割り切れる。従って、無線端末107aは、自身が配信先に該当すると判定する(S607)。そして、無線端末107aは、通知メッセージに含まれる通知内容を読む(S609)。更に、無線端末107aは、通知内容に応じた処理を行うようにしてもよい。
【0039】
一方、通知メッセージに含まれる積は、無線端末107bに割り当てられている素数で割り切れない。従って、無線端末107bは、自身が配信先に該当しないと判定する(S611)。そのため、無線端末107bは、通知メッセージに含まれる通知内容を読まない。
【0040】
無線端末107cは、無線端末107aの場合と同様に、自身が配信先に該当すると判定する(S613)。そして、無線端末107cは、通知メッセージに含まれる通知内容を読む(S615)。更に、無線端末107cは、通知内容に応じた処理を行うようにしてもよい。
【0041】
無線端末107dについては、無線端末107a及び無線端末107cの場合と同様である。無線端末107e及び無線端末107fについては、無線端末107bの場合と同様である。以上で、本実施の形態に係る概要の説明を終える。
【0042】
図7に、配信サーバ103のモジュール構成例を示す。配信サーバ103は、登録部701、受付部703、抽出部705、特定部707、算出部709、送信部711及び端末テーブル記憶部721を有する。
【0043】
登録部701は、端末テーブルに端末IDと素数とを対応付けて登録する。受付部703は、アプリケーションサーバ101から通知依頼を受け付ける。抽出部705は、通知依頼から配信先端末を示す端末IDを抽出する。特定部707は、配信先端末の端末IDに割り当てられている素数を特定する。算出部709は、素数の積を求める。送信部711は、通知メッセージを送信する。端末テーブル記憶部721は、端末テーブルを記憶する。
【0044】
上述した登録部701、受付部703、抽出部705、特定部707、算出部709及び送信部711は、ハードウエア資源(例えば、
図29)と、以下で述べる処理をプロセッサに実行させるプログラムとを用いて実現される。
【0045】
上述した端末テーブル記憶部721は、ハードウエア資源(例えば、
図29)を用いて実現される。
【0046】
配信サーバ103における配信処理について説明する。
図8に、配信処理(A)フローを示す。受付部703は、アプリケーションサーバ101から通知依頼を受け付ける(S801)。抽出部705は、通知依頼から配信先端末の端末IDを抽出する(S803)。
【0047】
特定部707は、端末テーブルに基づいて、配信先端末の端末IDに割り当てられている素数を特定する(S805)。算出部709は、特定した素数の積を求める(S807)。算出部709は、従来の可逆圧縮方式によって積をデータ圧縮してもよい。
【0048】
送信部711は、算出部709によって算出された積を含む通知メッセージを生成し、通信インターフェース装置105を介して当該通知メッセージを無線送信する(S809)。このときの送信態様は、ブロードキャスト方式による。上述したように、生成された通知メッセージは、通知内容も含む。そして、S801に示した処理に戻って、上述した処理を繰り返す。
【0049】
図9に、無線端末107のモジュール構成例を示す。無線端末107は、要求部901、受信部903、判定部905、読取部907及び素数記憶部921を有する。
【0050】
要求部901は、配信サーバ103に自端末の登録を要求する。受信部903は、通信インターフェース装置105から通知メッセージを受信する。判定部905は、自らが配信先に該当するか否かを判定する。読取部907は、通知メッセージに含まれる通知内容を読む。素数記憶部921は、当該無線端末107に割り当てられた素数を記憶する。
【0051】
上述した要求部901、受信部903、判定部905及び読取部907は、ハードウエア資源(例えば、
図28)と、以下で述べる処理をプロセッサに実行させるプログラムとを用いて実現される。
【0052】
上述した素数記憶部921は、ハードウエア資源(例えば、
図28)を用いて実現される。
【0053】
無線端末107における受付処理について説明する。
図10に、受付処理(A)フローを示す。受信部903は、待機して、通信インターフェース装置105から通知メッセージを受信する(S1001)。判定部905は、当該通知メッセージに設定されている積を、無線端末107自らに割り当てられている素数で割り切れるか否かを判定する(S1003)。積が圧縮されている場合には、S1003において、判定部905は積を復元するようにしてもよい。
【0054】
当該積を当該素数で割り切れる場合には、判定部905は、自らが配信先に該当すると判定する(S1005)。そして、読取部907は、通知メッセージに含まれる通知内容を読む(S1007)。この後、通知内容に応じた処理を行うようにしてもよい。この例では、そのままS1001に示した処理に戻って、上述した処理を繰り返す。
【0055】
一方、当該積を当該素数で割り切れない場合には、判定部905は、配信先に該当しないと判定する(S1009)。そして、S1001に示した処理に戻って、上述した処理を繰り返す。
【0056】
本実施の形態によれば、ブロードキャスト方式による一括通知の配信先を推測され難くなる。また、配信先の数を推測され難くなる面もある。
【0057】
[実施の形態2]
本実施の形態では、配信先に該当する無線端末の割合が多い場合に、配信先に該当しない無線端末に割り当てられた素数の積が用いられる。
【0058】
図11に、配信先端末が少ない配置例を示す。この例で、無線端末107a及び無線端末107cは、配信先に該当する。一方、無線端末107b、無線端末107d、無線端末107e及び無線端末107fは、配信先に該当しない。つまり、配信先に該当する無線端末107の数が、配信先に該当しない無線端末107の数よりも少ない。このような場合には、配信先に該当する無線端末107を特定する方が、積の値が小さくて済む。
図11で例示した場合は、通常モードで配信先に該当する無線端末107を特定するようにする。
【0059】
図12に、非配信先端末が少ない配置例を示す。この例で、無線端末107b、無線端末107d、無線端末107e及び無線端末107fは、配信先に該当する。一方、無線端末107a及び無線端末107cは、配信先に該当しない。つまり、配信先に該当しない無線端末107の数が、配信先に該当する無線端末107の数よりも少ない。このような場合には、配信先に該当しない無線端末107を特定する方が、積の値が小さくて済む。
図12で例示した場合は、逆転モードで配信先に該当しない無線端末107を特定するようにする。
【0060】
図13に、通常モードの通知メッセージの概要を示す。通常モードの通知メッセージには、通常モード識別子が設定される。積及び通知内容については、実施の形態1の場合と同様である。つまり、通常モードにおける積は、配信先端末に対応する素数を乗算することによって求められる。
【0061】
図14に、配信フェーズにおける通常モードのシーケンス例を示す。アプリケーションサーバ101は、配信サーバ103に通知依頼を送る(S1401)。
【0062】
配信サーバ103は、通知依頼を受けると、通知依頼で指定された配信先に該当する無線端末107(つまり、配信端末)の数と、当該配信先に該当しない無線端末107(つまり、非配信端末)の数とを比べる。この例では、配信サーバ103は、非配信先端末よりも配信端末が少ないと判定する(S1403)。
【0063】
非配信先端末よりも配信端末が少ないと判定した場合には、通常モードで処理が行われる。配信サーバ103は、通常モードの通知メッセージを生成する(S1405)。
【0064】
通常モードは、実施の形態1と実質的に同様である。配信サーバ103は、通信インターフェース装置105を介して通常モードの通知メッセージを、通信範囲内の無線端末107に送信する(S1407)。
【0065】
通常モードの通知メッセージに関しては、
図6に示したS607乃至S615と同様に処理される(S1409乃至S1417)。
【0066】
図15に、逆転モードの通知メッセージの概要を示す。逆転モードの通知メッセージには、逆転モード識別子が設定される。逆転モードにおける積は、非配信先端末に対応する素数を乗算することによって求められる。この例では、「Tb」「Td」「Te」及び「Tf」が配信先端末のIDである。そして、「Ta」及び「Tc」が非配信先端末のIDである。そして、端末ID「Ta」に対応する素数「Pa」及び端末ID「Tc」に対応する素数「Pc」の積が求められる。
【0067】
図16に、配信フェーズにおける逆転モードのシーケンス例を示す。アプリケーションサーバ101は、配信サーバ103に通知依頼を送る(S1601)。
【0068】
この例では、配信サーバ103は、配信先端末よりも非配信端末が少ないと判定する(S1603)。配信先端末よりも非配信端末が少ないと判定した場合には、逆転モードで処理が行われる。配信サーバ103は、逆転モードの通知メッセージを生成する(S1605)。逆転モードの通知メッセージには、非配信端末に割り当てられている素数の積が設定される。
【0069】
配信サーバ103は、通信インターフェース装置105を介して逆転モードの通知メッセージを、通信範囲内の無線端末107に送信する(S1607)。
【0070】
通知メッセージに含まれる積は、無線端末107aに割り当てられている素数で割り切れる。逆転モードにおいて割り切れる場合には、無線端末107aは、自身が配信先に該当しないと判定する(S1609)。そのため、無線端末107aは、通知メッセージに含まれる通知内容を読まない。
【0071】
一方、通知メッセージに含まれる積は、無線端末107bに割り当てられている素数で割り切れない。逆転モードにおいて割り切れない場合には、無線端末107bは、自身が配信先に該当すると判定する(S1611)。そして、無線端末107bは、通知メッセージに含まれる通知内容を読む(S1613)。
【0072】
無線端末107cは、無線端末107aの場合と同様に、自身が配信先に該当しないと判定する(S1615)。そのため、無線端末107cは、通知メッセージに含まれる通知内容を読まない。
【0073】
無線端末107d、無線端末107e及び無線端末107fは、無線端末107bの場合と同様に処理する。
【0074】
本実施の形態で、配信サーバ103は配信処理(B)を実行する。
図17に、配信処理(B)フローを示す。S801及びS803の処理は、配信処理(A)の場合と同様である。
【0075】
特定部707は、端末テーブルに基づいて、非配信先端末の端末IDを特定する(S1701)。具体的には、端末テーブルに設定されている端末IDのうち、配信先端末の端末IDに該当しないものが非配信先端末の端末IDである。
【0076】
特定部707は、非配信先端末の数が配信先端末の数よりも少ないか否かを判定する(S1703)。
【0077】
非配信先端末の数が配信先端末の数よりも少なくないと判定した場合、つまり配信先端末の方が少ない場合には、特定部707は、配信先端末の端末IDに割り当てられている素数を特定する(S1705)。算出部709は、S1705で特定した素数の積を求める(S1707)。送信部711は、通常モード識別子と、S1707で求めた積とを含む通知メッセージを無線送信する(S1709)。そして、S801に示した処理に戻って、上述した処理を繰り返す。
【0078】
一方、非配信先端末の数が配信先端末の数よりも少ないと判定した場合には、特定部707は、非配信先端末の端末IDに割り当てられている素数を特定する(S1711)。算出部709は、S1711で特定した積を求める(S1713)。送信部711は、逆転モード識別子と、S1713で求めた積とを含む通知メッセージを無線送信する(S1715)。そして、S801に示した処理に戻って、上述した処理を繰り返す。
【0079】
本実施の形態で、無線端末107は受付処理(B)を実行する。
図18に、受付処理(B)フローを示す。S1001の処理は、受付処理(A)の場合と同様である。
【0080】
判定部905は、受信した通知メッセージに逆転モード識別子が設定されているか否かを判定する(S1801)。
【0081】
当該通知メッセージに逆転モード識別子が設定されていないと判定した場合、つまり通常モードである場合には、判定部905は、当該通知メッセージに設定されている積を、無線端末107自らに割り当てられている素数で割り切れるか否かを判定する(S1803)。当該積を当該素数で割り切れる場合には、判定部905は、自らが配信先に該当すると判定する(S1805)。そして、読取部907は、通知メッセージに含まれる通知内容を読む(S1807)。この後、通知内容に応じた処理を行うようにしてもよい。この例では、そのままS1001に示した処理に戻って、上述した処理を繰り返す。一方、当該積を当該素数で割り切れない場合には、判定部905は、配信先に該当しないと判定する(S1809)。そして、S1001に示した処理に戻って、上述した処理を繰り返す。
【0082】
S1801に示した処理の説明に戻る。当該通知メッセージに逆転モード識別子が設定されていると判定した場合には、判定部905は、当該通知メッセージに設定されている積を、無線端末107自らに割り当てられている素数で割り切れるか否かを判定する(S1811)。当該積を当該素数で割り切れる場合には、判定部905は、配信先に該当しないと判定する(S1813)。そして、S1001に示した処理に戻って、上述した処理を繰り返す。一方、当該積を当該素数で割り切れない場合には、判定部905は、自らが配信先に該当すると判定する(S1815)。そして、読取部907は、通知メッセージに含まれる通知内容を読む(S1817)。この後、通知内容に応じた処理を行うようにしてもよい。この例では、そのままS1001に示した処理に戻って、上述した処理を繰り返す。
【0083】
本実施の形態によれば、配信端末の割合が多い場合に、積データを小さくすることができる。
【0084】
[実施の形態3]
本実施の形態では、配信先に該当する無線端末が多い場合に、配信先端末を複数のグループに分ける。そして、グループ毎に当該グループに属する配信先端末に割り当てられている素数の積を生成し、当該積を含むメッセージを送信する。
【0085】
図19に、実施の形態3における通知メッセージの概要を示す。この例における通知依頼には、配信先を示す端末ID「Ta」乃至「Tf」が設定されている。この例では、配信先を示す端末IDを2つのグループに分け、グループ毎に通知メッセージを生成する。具体的には、端末ID「Ta」「Tb」及び「Tc」を第1グループとする。端末ID「Td」「Te」及び「Tf」を第2グループとする。
【0086】
第1グループに含まれる端末ID「Ta」に対応する素数「Pa」、同じく端末ID「Tb」に対応する素数「Pb」及び同じく端末ID「Tc」に対応する素数「Pc」の積「D1」が求められる。積「D1」は、第1通知メッセージに設定される。
【0087】
第2グループに含まれる端末ID「Td」に対応する素数「Pd」、同じく端末ID「Te」に対応する素数「Pe」及び同じく端末ID「Tf」に対応する素数「Pf」の積「D2」が求められる。積「D2」は、第2通知メッセージに設定される。
【0088】
第1通知メッセージに設定される通知内容と、第2通知メッセージに設定される通知内容は同じである。
【0089】
図20に、実施の形態3の配信フェーズにおけるシーケンス例を示す。アプリケーションサーバ101は、配信サーバ103に通知依頼を送る(S2001)。
【0090】
この例では、配信サーバ103は、通知依頼で指定されている配信先端末を、上述したように2つのグループに分ける。
【0091】
配信サーバ103は、第1グループに含まれる無線端末107を対象とする第1通知メッセージを生成する(S2003)。つまり、第1通知メッセージには、無線端末107a乃至無線端末107cの各々に割り当てられている素数の積が設定される。第1通知メッセージには、更に通知内容が設定される。
【0092】
配信サーバ103は、通信インターフェース装置105を介して第1通知メッセージを、通信範囲内の無線端末107に送信する(S2005)。
【0093】
第1通知メッセージに含まれる積は、無線端末107aに割り当てられている素数で割り切れる。従って、無線端末107aは、自身が配信先に該当すると判定する(S2007)。そして、無線端末107aは、通知メッセージに含まれる通知内容を読む(S2009)。
【0094】
一方、第1通知メッセージに含まれる積は、無線端末107dに割り当てられている素数で割り切れない。従って、無線端末107dは、自身が配信先に該当しないと判定する(S2011)。そのため、無線端末107dは、第1通知メッセージに含まれる通知内容を読まない。
【0095】
配信サーバ103は、第2グループに含まれる無線端末107を対象とする第2通知メッセージを生成する(S2013)。つまり、第2通知メッセージには、無線端末107d乃至無線端末107fの各々に割り当てられている素数の積が設定される。第2通知メッセージに設定される通知内容は、第1通知メッセージの場合と同様である。
【0096】
配信サーバ103は、通信インターフェース装置105を介して第2通知メッセージを、通信範囲内の無線端末107に送信する(S2015)。
【0097】
第2通知メッセージに含まれる積は、無線端末107aに割り当てられている素数で割り切れない。従って、無線端末107aは、自身が配信先に該当しないと判定する(S2017)。そのため、無線端末107aは、第2通知メッセージに含まれる通知内容を読まない。
【0098】
一方、第2通知メッセージに含まれる積は、無線端末107dに割り当てられている素数で割り切れる。従って、無線端末107dは、自身が配信先に該当すると判定する(S2019)。そして、無線端末107dは、通知メッセージに含まれる通知内容を読む(S2021)。
【0099】
無線端末107b及び無線端末107cは、無線端末107aの場合と同様に処理する。無線端末107e及び無線端末107fは、無線端末107dの場合と同様に処理する。
【0100】
本実施の形態で、配信サーバ103は配信処理(C)を実行する。
図21に、配信処理(C)フローを示す。S801及びS803の処理は、配信処理(A)の場合と同様である。
【0101】
特定部707は、配信先端末の数が閾値を超えるか否かを判定する(S2101)。閾値は、グループに含める端末の最大数に相当する。
【0102】
配信先端末の数が閾値を超えないと判定した場合には、特定部707は、配信先端末の端末IDに割り当てられている素数を特定する(S2103)。算出部709は、S2103で特定した素数の積を求める(S2105)。送信部711は、S2105で求めた積を含む通知メッセージを無線送信する(S2107)。つまり、実施の形態1と同様の処理を行う。そして、S801に示した処理に戻って、上述した処理を繰り返す。
【0103】
S2101に示した処理の説明に戻る。配信先端末の数が閾値を超えると判定した場合には、特定部707は、配信先端末の端末IDを複数のグループに分ける(S2109)。
【0104】
特定部707は、グループを1つ特定する(S2111)。特定部707は、当該グループに含まれる端末IDに割り当てられている素数を特定する(S2113)。算出部709は、S2113で特定した素数の積を求める(S2115)。送信部711は、S2115で求めた積を含む通知メッセージを無線送信する(S2117)。
【0105】
特定部707は、未特定のグループがあるか否かを判定する(S2119)。未特定のグループがあると判定した場合には、S2111に示した処理に戻って、上述した処理を繰り返す。一方、未特定のグループがないと判定した場合には、S801に示した処理に戻って、上述した処理を繰り返す。
【0106】
尚、無線端末107は、実施の形態1の場合と同様に、受付処理(A)を実行する。
【0107】
本実施の形態によれば、配信端末が多い場合に、積データを小さくすることができる。
【0108】
[実施の形態4]
本実施の形態では、配信先に該当する無線端末が少ない場合に、ダミー素数を更に乗じる例について説明する。このようにすれば、素因数分解の困難性が高まり、配信先端末を推測し難くなる。
【0109】
図22に、実施の形態4における通知メッセージの概要を示す。この例における通知依頼には、配信先を示す端末ID「Ta」及び「Tc」が設定されている。この例では、配信先を示す端末IDの数「2」が閾値「3」を下回るので、ダミー素数「Px」を積算の項とする。つまり、端末ID「Ta」に対応する素数「Pa」、端末ID「Tc」に対応する素数「Pc」及びダミー素数「Px」の積が求められる。
【0110】
本実施の形態で、配信サーバ103は配信処理(D)を実行する。
図23に、配信処理(D)フローを示す。S801乃至S805の処理は、配信処理(A)の場合と同様である。
【0111】
算出部709は、配信先端末の数が閾値を超えるか否かを判定する(S2301)。配信先端末の数が閾値を超えると判定した場合には、算出部709は、S805で特定した素数の積を求める(S2305)。
【0112】
一方、配信先端末の数が閾値を超えないと判定した場合には、算出部709は、ダミー素数を特定する(S2303)。ダミー素数は、いずれの端末にも割り当てられていない素数である。特定されるダミー素数は、1つでも複数でもよい。
【0113】
算出部709は、S805で特定した素数と、S2303で特定した1つ又は複数のダミー素数との積を求める(S2305)。
【0114】
送信部711は、S2305で求めた積を含む通知メッセージを無線送信する(S2307)。そして、S801に示した処理に戻って、上述した処理を繰り返す。
【0115】
尚、無線端末107は、実施の形態1の場合と同様に、受付処理(A)を実行する。
【0116】
本実施の形態によれば、配信端末が少ない場合であっても、配信先を推測され難くなる。また、配信端末が少ない場合であっても、配信先の数を推測され難くなるという面もある。
【0117】
[実施の形態5]
本実施の形態では、複数の通信インターフェース装置105を用いて、広い通信範囲をカバーする。
【0118】
図24に、実施の形態5におけるネットワーク構成例を示す。この例で、配信サーバ103は、第2ネットワークを介して通信インターフェース装置105a乃至通信インターフェース装置105cに接続している。会場が広い場合や会場が複数個所に分かれている場合には、このように複数の通信インターフェース装置105によって通信範囲を拡げるようにしてもよい。
【0119】
無線端末107は、通信インターフェース装置105a乃至通信インターフェース装置105cから繰り返し送出されている信号を受信することによって、通信対象となる通信インターフェース装置105を探索する。そして、無線端末107は、探索した通信インターフェース装置105から通知メッセージを受信する。
【0120】
図25に、実施の形態5における端末テーブルの構成例を示す。実施の形態5における端末レコードは、更にインターフェースIDを設定するためのフィールドを有している。インターフェースIDは、当該レコードで特定される端末に無線送信を行う位置にある通信インターフェース装置105を示す。
【0121】
この例は、ID「F1」で識別される通信インターフェース装置105aが、ID「Ta」で識別される無線端末107a及びID「Tb」で識別される無線端末107bに無線送信を行うことを示している。更に、「F2」で識別される通信インターフェース装置105bが、ID「Tc」で識別される無線端末107c及びID「Td」で識別される無線端末107dに無線送信を行うことを示している。
【0122】
尚、各無線端末107の通信範囲が重複しなければ、異なる通信インターフェース装置105から受信する無線端末107同士では、夫々割り当てられる素数が重複してもかまわない。
【0123】
図26に、実施の形態5の登録フェーズにおけるシーケンス例を示す。無線端末107aは、探索した通信インターフェース装置105aを識別するインターフェースIDを含む登録要求を配信サーバ103に送信する(S2601)。
【0124】
配信サーバ103は、当該インターフェースIDを、無線端末107aに割り当てた素数と共に登録する(S2603)。配信サーバ103は、無線端末107aに割り当てた素数を含む応答を返す(S2605)。
【0125】
同様に、無線端末107bは、探索した通信インターフェース装置105aを識別するインターフェースIDを含む登録要求を配信サーバ103に送信する(S2607)。
【0126】
配信サーバ103は、当該インターフェースIDを、無線端末107bに割り当てた素数と共に登録する(S2609)。配信サーバ103は、無線端末107bに割り当てた素数を含む応答を返す(S2611)。
【0127】
同様に、無線端末107cは、探索した通信インターフェース装置105bを識別するインターフェースIDを含む登録要求を配信サーバ103に送信する(S2613)。
【0128】
配信サーバ103は、当該インターフェースIDを、無線端末107cに割り当てた素数と共に登録する(S2615)。配信サーバ103は、無線端末107cに割り当てた素数を含む応答を返す(S2617)。無線端末107d乃至無線端末107fについては、説明を省く。
【0129】
本実施の形態で、配信サーバ103は配信処理(E)を実行する。
図27に、配信処理(E)フローを示す。S801及びS803の処理は、配信処理(A)の場合と同様である。
【0130】
特定部707は、通信インターフェース装置を1つ特定する(S2701)。特定部707は、当該通信インターフェースに対応する端末IDに割り当てられている素数を特定する(S2703)。算出部709は、S2703で特定した素数の積を求める(S2705)。送信部711は、当該通信インターフェース装置を介して、S2705で求めた積を含む通知メッセージを無線送信する(S2707)。
【0131】
特定部707は、未特定の通信インターフェース装置があるか否かを判定する(S2709)。未特定の通信インターフェース装置があると判定した場合には、S2701に示した処理に戻って、上述した処理を繰り返す。一方、未特定の通信インターフェース装置がないと判定した場合には、S801に示した処理に戻って、上述した処理を繰り返す。
【0132】
尚、無線端末107は、実施の形態1の場合と同様に、受付処理(A)を実行する。
【0133】
本実施の形態によれば、広い通信範囲をカバーする場合にも、積データを小さくすることができる。
【0134】
図28に、無線端末107のハードウエア構成例を示す。無線端末107は、例えばCPU(Central Processing Unit)2801、記憶回路2803、第1無線通信用アンテナ2811、第1無線通信制御回路2813、第2無線通信用アンテナ2815、第2無線通信制御回路2817、第3無線通信用アンテナ2819、第3無線通信制御回路2821、LCD(Liquid Crystal Display)制御回路2823、LCD2825、タッチセンサ2827、キー群2829を有している。
【0135】
CPU2801は、記憶回路2803に記憶されているプログラムを実行する。記憶回路2803は、例えば、ROM(Read Only Memory)2805とRAM(Random Access Memory)2807とフラッシュメモリ2809とを有している。ROM2805は、例えば基礎的なプログラムや初期データを格納している。RAM2807は、プログラムを展開する領域を含んでいる。RAM2807は、一時的なデータを格納する領域も含んでいる。フラッシュメモリ2809は、例えば、アプリケーションなどのプログラムやユーザデータを格納している。
【0136】
第1無線通信用アンテナ2811は、セルラー方式による無線電波を受信する。第1無線通信制御回路2813は、セルラー方式による無線通信の制御を行う。第2無線通信用アンテナ2815は、無線LAN方式による無線電波を受信する。第2無線通信制御回路2817は、無線LAN方式による無線通信の制御を行う。第3無線通信用アンテナ2819は、近距離無線方式によって通信インターフェース装置105からの無線電波を受信する。第3無線通信制御回路2821は、近距離無線方式による無線通信の制御を行う。
【0137】
LCD制御回路2823は、LCD2825を駆動させる。LCD2825は、各種画面を表示する。タッチセンサ2827は、例えば、LCD2825の表示面上に配置されたパネル状のセンサであり、タッチ操作による指示を受け付ける。具体的には、LCD2825とタッチセンサ2827とを一体としたタッチパネルとして用いられる。キー群2829の各ハードキーは、筐体の一部に設けられている。
【0138】
以上本発明の実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上述の機能ブロック構成はプログラムモジュール構成に一致しない場合もある。
【0139】
また、上で説明した各記憶領域の構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ、処理の順番を入れ替えることや複数の処理を並列に実行させるようにしても良い。
【0140】
なお、上で述べた配信サーバ103は、コンピュータ装置であって、
図29に示すように、メモリ2501とCPU(Central Processing Unit)2503とハードディスク・ドライブ(HDD:Hard Disk Drive)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーション・プログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【0141】
以上述べた本発明の実施の形態をまとめると、以下のようになる。
【0142】
本実施の形態に係る通信システムは、通信処理装置と端末とを有する。当該通信処理装置は、(A)複数の端末の各々に割り当てられた素数を記憶する記憶部と、(B)上記複数の端末のうち、2以上の配信先端末の各々に割り当てられた素数の第1積を算出する算出部と、(C)第1積を含む第1通知データをブロードキャストする送信部とを含む。また、当該端末は、(D)第1通知データを受信する受信部と、(E)受信した第1通知データに含まれる第1積を、自らに割り当てられた素数で割り切れる場合に、自らが当該第1通知データの配信先に該当すると判定する判定部とを含む。
【0143】
このようにすれば、ブロードキャスト方式による一括通知の配信先を推測され難くなる。また、配信先の数を推測され難くなる面もある。
【0144】
また、上記複数の端末のうち、上記2以上の配信先端末以外の非配信先端末の数が上記2以上の配信先端末の数がよりも少ない場合に、算出部は、非配信先端末に割り当てられた素数の第2積を算出し、更に、送信部は、逆転モード識別子が設定され、且つ第2積を含む第2通知データをブロードキャストするようにしてもよい。判定部は、受信した第2通知データに逆転モード識別子が設定されており、且つ当該第2通知データに含まれる第2積を、自らに割り当てられた素数で割り切れない場合に、自らが当該第2通知データの配信先に該当すると判定するようにしてもよい。
【0145】
このようにすれば、配信端末の割合が多い場合に、積データを小さくすることができる。
【0146】
また、2以上の配信先端末の数が閾値を超える場合に、2以上の配信先端末を分けた複数のグループの各々について、算出部は、当該グループに含まれる配信先端末の各々に割り当てられた素数の第3積を算出し、更に、送信部は、当該第3積を含む第3通知データをブロードキャストするようにしてもよい。判定部は、受信した第3通知データのいずれかについて、当該第3通知データに含まれる第3積を、自らに割り当てられた素数で割り切れる場合に、自らが当該第3通知データの配信先に該当すると判定するようにしてもよい。
【0147】
このようにすれば、配信端末が多い場合に、積データを小さくすることができる。
【0148】
また、上記2以上の配信先端末の数が閾値を下回る場合に、算出部は、上記2以上の配信先端末の各々に割り当てられた素数と、上記複数の端末のいずれにも割り当てられていない1又は複数の素数との第4積を算出し、更に、送信部は、第4積を含む第4通知データをブロードキャストするようにしてもよい。判定部は、受信した第4通知データに含まれる第4積を、自らに割り当てられた素数で割り切れる場合に、自らが当該第4通知データの配信先に該当すると判定するようにしてもよい。
【0149】
このようにすれば、配信端末が少ない場合であっても、配信先を推測され難くなる。また、配信端末が少ない場合であっても、配信先の数を推測され難くなるという面もある。
【0150】
また、通信処理装置は、複数の通信インターフェース装置と接続し、記憶部は、上記複数の端末の各々について、当該端末に送信するための通信インターフェース装置の識別子を記憶してもよい。算出部は、上記複数の通信インターフェース装置の各々について、上記2以上の配信先端末のうち、当該通信インターフェース装置の識別子に対応する配信先端末の各々に割り当てられた素数の第5積を算出し、更に、送信部は、第5積を含む第5通知データを、当該通信インターフェース装置を介してブロードキャストするようにしてもよい。判定部は、受信した第5通知データに含まれる第5積を、自らに割り当てられた素数で割り切れる場合に、自らが当該第5通知データの配信先に該当すると判定する
【0151】
このようにすれば、広い通信範囲をカバーする場合にも、積データを小さくすることができる。
【0152】
なお、上で述べた通信処理装置における処理をコンピュータに行わせるためのプログラムを作成することができる。また、上で述べた端末における処理をプロセッサに行わせるためのプログラムを作成することができる。これらのプログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納されるようにしてもよい。尚、中間的な処理結果は、一般的にメインメモリ等の記憶装置に一時保管される。
【0153】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【0154】
(付記1)
複数の端末の各々に割り当てられた素数を記憶する記憶部と、
前記複数の端末のうち、2以上の配信先端末の各々に割り当てられた素数の第1積を算出する算出部と、
前記第1積を含む第1通知データをブロードキャストする送信部と
を含む通信処理装置と、
前記第1通知データを受信する受信部と、
受信した前記第1通知データに含まれる前記第1積を、自らに割り当てられた素数で割り切れる場合に、自らが当該第1通知データの配信先に該当すると判定する判定部と
を含む端末と
を有する通信システム。
【0155】
(付記2)
前記複数の端末のうち、前記2以上の配信先端末以外の非配信先端末の数が前記2以上の配信先端末の数がよりも少ない場合に、前記算出部は、前記非配信先端末に割り当てられた素数の第2積を算出し、更に、前記送信部は、逆転モード識別子が設定され、且つ前記第2積を含む第2通知データをブロードキャストし、
前記判定部は、受信した前記第2通知データに前記逆転モード識別子が設定されており、且つ当該第2通知データに含まれる前記第2積を、自らに割り当てられた前記素数で割り切れない場合に、自らが当該第2通知データの配信先に該当すると判定する
付記1記載の通信システム。
【0156】
(付記3)
前記2以上の配信先端末の数が閾値を超える場合に、前記2以上の配信先端末を分けた複数のグループの各々について、前記算出部は、当該グループに含まれる前記配信先端末の各々に割り当てられた素数の第3積を算出し、更に、前記送信部は、当該第3積を含む第3通知データをブロードキャストし、
前記判定部は、受信した前記第3通知データのいずれかについて、当該第3通知データに含まれる前記第3積を、自らに割り当てられた前記素数で割り切れる場合に、自らが当該第3通知データの配信先に該当すると判定する
付記1記載の通信システム。
【0157】
(付記4)
前記2以上の配信先端末の数が閾値を下回る場合に、前記算出部は、前記2以上の配信先端末の各々に割り当てられた素数と、前記複数の端末のいずれにも割り当てられていない1又は複数の素数との第4積を算出し、更に、前記送信部は、前記第4積を含む第4通知データをブロードキャストし、
前記判定部は、受信した前記第4通知データに含まれる前記第4積を、自らに割り当てられた前記素数で割り切れる場合に、自らが当該第4通知データの配信先に該当すると判定する
付記1記載の通信システム。
【0158】
(付記5)
前記通信処理装置は、複数の通信インターフェース装置と接続し、
前記記憶部は、前記複数の端末の各々について、当該端末に送信するための通信インターフェース装置の識別子を記憶し、
前記算出部は、前記複数の通信インターフェース装置の各々について、前記2以上の配信先端末のうち、当該通信インターフェース装置の識別子に対応する配信先端末の各々に割り当てられた素数の第5積を算出し、更に、前記送信部は、前記第5積を含む第5通知データを、当該通信インターフェース装置を介してブロードキャストし、
前記判定部は、受信した前記第5通知データに含まれる前記第5積を、自らに割り当てられた前記素数で割り切れる場合に、自らが当該第5通知データの配信先に該当すると判定する
付記1記載の通信システム。
【0159】
(付記6)
複数の端末の各々に割り当てられた素数を記憶する記憶部と、
前記複数の端末のうち、2以上の配信先端末の各々に割り当てられた素数の積を算出する算出部と、
前記積を含む通知データをブロードキャストする送信部と
を有する通信処理装置。
【0160】
(付記7)
複数の端末の各々に割り当てられた素数を記憶する記憶部を有するコンピュータにより実行される配信方法であって、
前記複数の端末のうち、2以上の配信先端末の各々に割り当てられた素数の積を算出し、
前記積を含む通知データをブロードキャストする
処理を含む通知配信方法。
【0161】
(付記8)
複数の端末の各々に割り当てられた素数を記憶するための記憶部を有するコンピュータに、
前記複数の端末のうち、2以上の配信先端末の各々に割り当てられた素数の積を算出し、
前記積を含む通知データをブロードキャストする
処理を実行させるプログラム。
【0162】
(付記9)
通知データを受信する受信部と、
受信した前記通知データに含まれる値を、自らに割り当てられた素数で割り切れる場合に、自らが当該通知データの配信先に該当すると判定する判定部と
を有する端末。
【0163】
(付記10)
通知データを受信し、
受信した前記通知データに含まれる値を、自らに割り当てられた素数で割り切れる場合に、自らが当該通知データの配信先に該当すると判定する
処理を含み、プロセッサにより実行される通知受付方法。
【0164】
(付記11)
通知データを受信し、
受信した前記通知データに含まれる値を、自らに割り当てられた素数で割り切れる場合に、自らが当該通知データの配信先に該当すると判定する
処理をプロセッサに実行させるプログラム。