(58)【調査した分野】(Int.Cl.,DB名)
前記特定手段は、前記通信手段による通信の結果、1つの携帯端末との通信回数が、前記記憶手段に記憶された回数の過半数となった場合には、当該携帯端末をデータ送信先の携帯端末として特定することを特徴とする請求項1または2に記載の携帯端末。
前記特定手段は、前記通信手段により前記記憶手段に記憶された回数の通信が確立された結果、最も多く通信を確立できた携帯端末が1つだった場合に、当該携帯端末をデータ送信先の携帯端末として特定することを特徴とする請求項1乃至3のいずれか1項に記載の携帯端末。
【発明を実施するための形態】
【0014】
以下、図面を参照して本発明の実施形態を詳細に説明する。
【0015】
図1は、本発明に係る情報処理システムのシステム構成の一例を示す図である。
【0016】
図1に示すように、本実施形態に係る情報処理システムは、複数の携帯端末が存在する環境において、それぞれの携帯端末が相互に通信可能となっている。
【0017】
図1に示す例では、4台の携帯端末が図示されているが、台数はいくつであってもよい。
【0018】
本実施例においては、1台を親機端末とし、残りの携帯端末を子機端末として説明する。親機端末とは、データの送信元となる端末であり、子機端末とは、親機端末からのデータを受信する(データの送信先となる)端末である。
【0019】
以下、
図2を用いて、
図1に示した携帯端末のハードウエア構成の一例について説明する。
【0020】
図2において、201はCPUで、システムバス204に接続される各デバイスやコントローラを統括的に制御する。また、ROM203あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、各サーバ或いは各PCの実行する機能を実現するために必要な各種プログラム等が記憶されている。
【0021】
202はRAMで、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をROM203あるいは外部メモリ211からRAM202にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
【0022】
また、205は入力コントローラで、入力装置209等からの入力を制御する。206はビデオコントローラで、液晶ディスプレイ等のディスプレイ装置210への表示を制御する。なお、ディスプレイ装置は、液晶ディスプレイに限られず、CRTディスプレイなどであっても良い。これらは必要に応じてクライアントが使用するものである。
【0023】
207はメモリコントローラで、ブートプログラム,各種のアプリケーション,フォントデータ,ユーザファイル,編集ファイル,各種データ等を記憶するハードディスク(HD)や、フレキシブルディスク(FD)、或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等の外部メモリ211へのアクセスを制御する。
【0024】
208は通信I/Fコントローラで、ネットワーク(例えば、
図1に示したLAN400)を介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いた通信等が可能である。
【0025】
なお、CPU201は、例えばRAM202内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ装置210上での表示を可能としている。また、CPU201は、ディスプレイ装置210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【0026】
ハードウエア上で動作する各種プログラムは、外部メモリ211に記録されており、必要に応じてRAM202にロードされることによりCPU201によって実行されるものである。
【0027】
なお、全ての装置がこれらの構成を備えているわけではなく、必要なものを夫々備えていればよい。
【0028】
次に、
図3を用いて、本発明の実施形態において親機端末および子機端末が行うデータ送受信処理について説明する。
【0029】
なお、
図3のフローチャートで示すS301〜S303の処理については、子機端末のCPU201が所定の制御プログラムを読み出して実行する処理である。また、S304〜S310の処理については、親機端末のCPU201が所定の制御プログラムを読み出して実行する処理である。
【0030】
ステップS301では、子機端末のCPU201は、親機端末からの接続要求を待機する。
【0031】
ステップS302では、子機端末のCPU201は、親機端末から送信された接続要求を受信する。
【0032】
ステップS303では、子機端末のCPU201は、接続要求の送信元である親機端末に対して自己の端末名(端末を識別するための情報)を送信する。
【0033】
ステップS304では、親機端末のCPU201は、子機端末に対して接続要求を送信する。ここでの接続要求は、ユーザによる操作によってデータの送信指示等がなされた場合に送信される。
【0034】
ステップS305では、親機端末のCPU201は、ステップS304における接続要求に対する応答として子機端末から送信された端末名を受信する。
【0035】
ステップS306では、親機端末のCPU201は、ステップS305で受信した端末名および処理回数を登録する。処理回数とは、各子機端末と通信を接続した回数の合計を意味する。例えば端末Xと3回接続、端末Yと2回接続、端末Zと1回接続した場合は、処理回数はそれぞれの合計である6回となる。
【0036】
端末名および処理回数が登録されたテーブル(リトライテーブル)の一例を、
図5〜
図8に示す。
【0037】
ステップS307では、親機端末のCPU201は、予め設定された回数(
図9)以上の処理を行ったか否かを判断する。
【0038】
設定回数以上、処理を行っている場合(ステップS307:YES)は、処理をステップS308に移行する。
【0039】
処理回数が設定回数に満たない場合(ステップS307:NO)は、処理をステップS309に移行する。
【0040】
ステップS308では、最多接続端末数が1であるか否かを判断する。
【0041】
ここで、
図5、
図6を用いてステップS308の処理について説明する。
【0042】
図5は、設定回数が10回の場合において、10回処理を行った結果が登録されている。
図5は、端末Xと5回、端末Yと3回、端末Zと2回接続された場合を示す例である。
【0043】
この場合、設定回数は10回で処理回数も10回であるので、ステップS307はYESと判定される。また、10回のうち最も多く接続したのは端末X(5回)だけである。よって、ステップS308では、YESと判定される。
【0044】
他方、
図6は
図5と同様に設定回数が10回の場合において、10回処理を行った結果が登録されている。
図6は、端末Xと4回、端末Yと4回、端末Zと2回接続された場合を示す例である。
【0045】
この場合、最も多く接続したのは、端末Xと端末Yのそれぞれ4回である。そのため、最多接続端末数は、XとYの2つとなるため、ステップS308では、NOと判断される。
【0046】
最多接続端末数が1である場合(ステップS308:YES)は、処理をステップS310に移行する。
【0047】
最多接続端末数が1ではない場合(ステップS308:NO)は、処理をステップS304に戻し、再度接続処理を実行する。
【0048】
ステップS309では、親機端末のCPU201は、予め設定された回数のうち過半数を1つの端末に接続したか否かを判断する。
【0049】
ここでステップS309における処理を、
図7、
図8を用いて説明する。
【0050】
図7は、設定回数が10回の場合において、2回処理を行った結果が登録されている。
図7は、端末Xと1回、端末Yと1回の接続がなされた場合を示す例である。
【0051】
この場合、設定回数は10回で処理回数は2回であるので、ステップS307ではNOと判定される。また、端末XもYもいずれも接続回数は1回だけなので、設定回数10回の過半数である6回接続した端末はないことから、ステップS309ではNOと判定される。
【0052】
図8は、設定回数が10回の場合において、7回処理を行った結果が登録されている。
図7は、端末Xと6回、端末Yと1回の接続がなされた場合を示す例である。
【0053】
この場合、設定回数は10回で処理回数は7回であるので、ステップS307ではNOと判定される。
【0054】
そして、設定回数10回の過半数である6回を端末Xと接続しているため、ステップS309はYESと判定される。
【0055】
このように、各端末と接続した合計回数が設定回数に満たない場合であっても、設定回数の過半数を1つの端末と接続していた場合は、設定回数に達するまで接続をしても、最多接続端末は当該過半数回数を接続した端末となる。そのため、それ以降の接続処理は、無駄な処理であるということができる。
【0056】
よって、1つの端末と過半数回数接続した時点で、当該端末を通信相手と決定することで、それ以降の通信処理を省略することができる。
【0057】
ステップS310では、親機端末のCPU201は、接続回数が最多の端末の端末名を取得する。
図5や
図7の例では、「端末X」が該当する。
【0058】
そして、ステップS310で取得した端末名で識別される端末とデータ通信を行うために、
図4に示す接続処理を行う(ステップS311)。
【0059】
次に、
図4を用いて、本発明の実施形態において親機端末、子機端末が行う接続処理について説明する。
【0060】
なお、
図4のフローチャートで示すステップS401〜S404の処理については、子機端末のCPU201が所定の制御プログラムを読み出して実行する処理である。また、ステップS405〜S409の処理については、親機端末のCPU201が所定の制御プログラムを読み出して実行する処理である。
【0061】
ステップS401では、子機端末のCPU201は、親機端末から接続要求が送信されるのを待機する。
【0062】
ステップS402では、子機端末のCPU201は、親機端末から送信された接続要求を受信する。
【0063】
ステップS403では、子機端末のCPU201は、自己の端末を識別するための情報(端末名)を接続要求の送信元である親機端末に対して送信する。
【0064】
ステップS404では、子機端末のCPU201は、親機端末から送信されたデータを受信する。
【0065】
ステップS405では、親機端末のCPU201は、接続要求を子機端末に対して送信する。
【0066】
ステップS406では、親機端末のCPU201は、ステップS405における接続要求の応答として送信された端末名を受信する。
【0067】
ステップS407では、親機端末のCPU201は、ステップS310で取得した端末名と、ステップS406で取得した端末名が一致するか否かを判断する。
【0068】
一致する場合(ステップS407:YES)は、処理をステップS408に移行する。
【0069】
一致しない場合(ステップS407:NO)は、処理をステップS405に戻し、再度接続を試みる。
【0070】
ステップS408では、親機端末のCPU201は、ステップS406で受信した端末名で識別される子機端末に対してデータを送信する。
図9は、通信回数が登録されたテーブルの一例である。
図9に示す例では、10回の通信を行うことを意味し、10回の通信の結果、最も多くの回数接続できた携帯端末をデータの送信先として特定する。
【0071】
このように、
図3のフローチャートで示す処理により、所定の回数のうち最も接続回数の多い端末を特定することができる。
【0072】
ユーザがデータの送信先としたい端末は、送信元の端末と通信しやすい位置に置かれるのが通常である。そのため、最も接続回数が多い端末は、最も通信がしやすい位置に置かれた端末であるといえ、当該端末はユーザがデータの送信先としたい端末であるといえる。
【0073】
よって、
図3の処理により、ユーザがデータの送信先としたいと考えている端末を特定することが可能となる。
【0074】
そして、
図4のフローチャートで示す処理により、
図3の処理で特定された端末に対して、データの送信をすることが可能となる。
【0075】
すなわち、
図3の処理で特定された端末と同一の端末と通信が確立できた場合のみ、当該端末にデータを送信し、異なる端末と通信が確立された場合には、データ送信を行わないことになる(ステップS407)。これにより、ユーザがデータの送信先としたい端末に対して、データの送信をすることが可能となる。
【0076】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
【0077】
また、本発明におけるプログラムは、
図3〜
図4の処理方法をコンピュータが実行可能なプログラムである。なお、本発明におけるプログラムは
図3〜
図4の各装置の処理方法ごとのプログラムであってもよい。
【0078】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読み出し、実行することによっても本発明の目的が達成されることは言うまでもない。
【0079】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した記録媒体は本発明を構成することになる。
【0080】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、DVD−ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM、シリコンディスク等を用いることが出来る。
【0081】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0082】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0083】
また、本発明は、複数の機器から構成されるシステムに適用しても、ひとつの機器から成る装置に適用しても良い。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0084】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。