以下、図面を参照して本発明の最良の実施形態について詳細に説明する。なお、以下に説明する実施の形態は、メッセージ送受信システムに対して本発明を適用した場合の実施形態である。
[1.メッセージ送受信システムの構成及び機能]
先ず、本実施形態に係るメッセージ送受信システムSの構成及び機能について、図1等を用いて説明する。
図1は、本実施形態に係るメッセージ送受信システムSの概要構成例を示す図である。
図1に示すように、メッセージ送受信システムSは、IM(インスタントメッセンジャー)サービス提供サーバSA(サーバ装置の一例)と、インターネットやイントラネット等のネットワークNW(通信回線及びルーター等の中継機器等により構成される)を通じて他のユーザ端末UTmとの間でインスタントメッセージ(以下、単に、「メッセージ」という)の送受信を行うことが可能なインスタントメッセンジャー機能(以下、単に、「メッセンジャー」という)を有する複数のユーザ端末(端末装置の一例)UTm(m=1,2・・・k)と、を含んで構成されている。
なお、図1に示す例では、一つのIMサービス提供サーバSAを示しているが、当該IMサービス提供サーバSAは、複数のサーバ群(例えば、アプリケーションサーバ、プロキシサーバ、リダイレクトサーバ、レジストラ、及びロケーションサーバ等)から構成されるものであっても良い。
IMサービス提供サーバSAは、ネットワークNWに接続されており、固有のIP(Internet Protocol)アドレス(グローバルIPアドレス)が割り当てられている。一方、各ユーザ端末UTmは、例えばインターネットサービスプロバイダのサーバを通じてネットワークNWに接続可能になっており、当該ネットワークNWに接続する際、固有のIP(Internet Protocol)アドレス(例えばグローバルIPアドレス)が割り当てられるようになっている。
ここで、IMサービス提供サーバSAの構成及び機能について、図2及び図3等を用いて説明する。
図2は、IMサービス提供サーバSAの概要構成の一例を示すブロック図であり、図3は、ユーザ情報データベース21における登録情報例を示す図である。
図2に示すように、IMサービス提供サーバSAは、ネットワークNWに接続してユーザ端末UTm等との通信状態を制御する通信部1と、オペレーティングシステム(O/S),各種プログラム(本発明のサーバ処理プログラムを含む)及びデータ等を記憶する記憶部2(例えば、ハードディスクドライブ等)と、通信部1及び記憶部2とシステム制御部8との間のインタフェース処理を行う入出力インタフェース部3と、CPU(Central Processing Unit)5,ROM(Read Only Memory)6,及びRAM(Random Access Memory)7等を備えるシステム制御部8と、を備え、システム制御部8と入出力インタフェース部3とは、システムバス4を介して接続されている。なお、入出力インタフェース部3には、オペレータ等からの操作指示を受け付け、その指示内容を指示信号としてシステム制御部8に出力する操作部、及び文字や画像等の情報を表示する表示部等が接続されるが、図示を省略している。
システム制御部8は、CPU5が、ROM6や記憶部2に記憶された各種プログラムを読み出し実行することにより、ユーザ端末UTmのアドレス情報、ユーザのユーザID、パスワード、及びニックネーム(スクリーンネームともいう、以下、「NN」と称する)、並びに当該ユーザの状態を示す状態情報等を、記憶部2に構築されたユーザ情報データベース21に登録してユーザ毎に管理すると共に、本発明における特定手段、状態情報送信手段、及び対話数判別結果取得手段(又は対話数判別手段)等として機能し、後述する処理を行うようになっている。
図3に示すユーザ情報データベース21における登録情報例では、ユーザ毎に、アドレス情報、ユーザID、パスワード、NN、友だち登録しているメンバー(以下、「友録メンバー」という)のNN、及び夫々の友録メンバーに対して提示される状態を示す状態情報が、互いに対応付けられて登録されている。なお、この他にも、各ユーザの電子メールアドレス及び、各ユーザの後述するチャットウインドウ画面の制限数やセッションの制限数を示す情報等が登録されるようにしても良い。
ここで、ユーザID、パスワード、及びNNは、例えば各ユーザ端末UTmがIMサービス提供サーバSAに接続して、当該システムSの利用するための手続処理を経て登録される。また、ユーザID及びNNは、当該システムSにおいてユーザ毎に一意に与えられるものであり、他のユーザと重複しないように登録される。
また、アドレス情報には、例えば、ネットワークNWへのユーザ端末UTmの接続時に割り当てられたIPアドレス(現在のIPアドレス)が含まれている。例えば、メッセンジャーが起動したユーザ端末UTmからのログイン(サインイン)要求(ユーザID及びパスワードを含む)に応じてログイン処理が実行され、ログインが許可された場合(つまり、ユーザID及びパスワードがユーザ情報データベース21に登録されている場合)、当該ユーザ端末UTmのアドレス情報がユーザ情報データベース21に登録される。
また、友録メンバーは、メッセージを交換する相手として互いに許可しあったユーザであり、ユーザ端末UTmからの友だち登録要求に応じて友録メンバーとなるユーザのNN(当該ユーザのユーザIDであっても良い)がユーザ情報データベース21に登録される。友録メンバーとして許可しあったユーザ同士の間では、お互いの状態表示を公開するようにすることができる。
また、各ユーザの状態情報は、友録メンバー毎に登録(例えば、ログインの際、若しくはユーザの状態の変更があった際に登録)されるようになっており、図3に示す例では、NN「aaaaa」であるユーザの状態情報は、当該ユーザの全ての友録メンバー(つまり、NN「bbbbb」、NN「ccccc」、NN「ddddd」、NN「eeeee」、及びNN「ggggg」の夫々のユーザ)に対して「オンライン」を示す状態情報が登録されている(これにより、全ての友録メンバーに対して「オンライン」の状態が提示されることになる)。なお、当該状態情報を、友録メンバー毎に異なるように個別設定できる(例えば、NN「ggggg」であるユーザに対してのみ常に「オフライン」とする設定等)ように構成しても構わない。
なお、例えば、NN「aaaaa」であるユーザがログアウトした場合には、当該ユーザの状態情報として、例えば「オフライン」を示す状態情報がユーザ情報データベース21に登録されることになる。
そして、システム制御部8は、ユーザ端末UTmからのログイン要求に応じて当該ログインを許可した際に、当該ユーザ端末UTmのユーザの友録メンバー(つまり、当該ユーザと友だち登録していている他のユーザ)の状態情報(例えば、当該メンバーがログインしているのであれば「オンライン」を示す状態情報、当該メンバーがログインしていないのであれば「オフライン」を示す状態情報)を、通信部1及びネットワークNW等を介して当該ユーザ端末UTmに送信(通知)する。また、このとき、システム制御部8は、当該ログインしたユーザの状態情報(例えば、「オンライン」を示す状態情報)を、当該ユーザの全ての友録メンバーのNNに対応付けてユーザ情報データベース21に登録し、当該ユーザの友録メンバーのうちログインしている友録メンバーのユーザ端末UTmに対して送信(通知)するようになっている(当該ユーザ端末UTmが定期的にIMサービス提供サーバSAから上記ログインしたユーザの状態情報を取得するものであっても良い)。
なお、「オンライン」を示す状態情報は、ユーザがメッセージの指示(言い換えれば、メッセージの交換)を行うことが可能な状態にあることを示す指示可能状態情報の一例であり、指示可能状態情報としては、この他にも、例えば、「使用中」、「チャット可能」を示す状態情報等があり、どれを指示可能状態情報としてユーザ情報データベース21に登録させるかは、IMサービス提供サーバSA上で予め設定されていても良いが、各ユーザはユーザ端末UTmから任意に設定可能(ユーザ自ら入力したコメントでも良い)である。
一方、「オフライン」を示す状態情報は、ユーザがメッセージの指示を行うことが困難又は不可能な状態にあることを示す指示困難状態情報の一例であり、指示困難状態情報としては、この他にも、例えば、「取り込み中」、「退席中」、「チャット困難」、「席を外しています」を示す状態情報等があり、どれを指示困難状態情報としてユーザ情報データベース21に登録させるかは、IMサービス提供サーバSA上で予め設定されていても良いが、各ユーザはユーザ端末UTmから任意に設定可能(ユーザ自ら入力したコメントでも良い)である。
また、ユーザ端末UTm間でメッセンジャーによるメッセージ交換(言い換えれば、対話(チャット))が開始される際には、当該ユーザ端末UTm上には、ユーザからメッセージの指示(入力等)を受けるためのウインドウ画面としてのチャットウインドウ画面が、対話毎(ここで、対話毎とは、2つのユーザ端末UTm間のメッセージの送受信による2人のユーザ間の対話ばかりでなく、3つ以上のユーザ端末UTm間のメッセージの送受信による3人以上のユーザ間の対話も該当する(例えば、2人のユーザ間で対話を行っている際に、他のユーザを招待して3人で一つのチャットウインドウ画面を共有する場合等))に表示されることになるが、システム制御部8は、ユーザ端末UTmにおけるユーザの対話数が、予め設定された制限数以上となった(制限数に達した、或いは制限数より大きくなった)場合、(この判断は、ユーザ端末UTmが行いIMサービス提供サーバSAに通知しても良いし、IMサービス提供サーバSAが行うようにしても良い)、夫々の対話に対応する他の(相手の)ユーザ端末UTmの友録メンバー以外の友録メンバーを特定(例えば、ユーザ端末UT1のユーザが、ユーザ端末UT3〜5の夫々のユーザ(つまり、ユーザ端末UT1のユーザの友録メンバー)とメッセージの交換を行っていた場合、当該ユーザ端末UT3〜5以外の例えばユーザ端末UT2及び7のユーザを特定)し、当該特定した友録メンバーに対してのみ、上記対話数が制限数以上となったユーザ端末UTmにおけるユーザの状態情報が指示困難状態情報(例えば、「取り込み中」(或いは、いっぱい、いっぱい)を示す状態情報)であるとしてユーザ情報データベース21に登録し、当該指示困難状態情報を、通信部1及びネットワークNW等を介して当該特定した友録メンバーのユーザ端末UTmに送信(直ちに送信しても良いし、当該ユーザ端末UTmから定期的な要求に応じて送信しても良い)するようになっている。
ここで、ユーザ端末UTmにおけるユーザの対話数が、予め設定された制限数以上となったか否かの判断は、例えば、当該ユーザ端末UTmにおいて、上述した対話を行うために現在表示されているチャットウインドウ画面及び表示されようとしているチャットウインドウ画面の少なくとも何れか一方のチャットウインドウ画面の数が、予め設定された制限数以上となったか否かを判別することにより行うことができる。かかる「表示されようとしているチャットウインドウ画面」には、例えば未だユーザ端末UTmに表示されていないが表示待機状態(例えば表示画面におけるツールバー(例えば表示画面の下端に設けられている))に、メッセージの交換相手からのメッセージ(最初のメッセージ)の受信があったことを示す情報が表示されているような状態)にあり且つユーザの指示に応じてポップアップされて表示されるチャットウインドウ画面や、例えばこれから直ちに(例えばCPU等により画面を表示するために必要な時間後に)表示されようとしているチャットウインドウ画面などが該当する。
また、上記「ユーザ端末UTmにおいて表示されているチャットウインドウ画面及び表示されようとしているチャットウインドウ画面の少なくとも何れか一方のチャットウインドウ画面の数」とは、
(1)現在表示されているチャットウインドウ画面の総数、
(2)表示されようとしているチャットウインドウ画面の総数、
(3)現在表示されているチャットウインドウ画面と表示されようとしているチャットウインドウ画面の総数、
の何れかが該当する意味である。
また、ユーザ端末UTmにおけるユーザの対話数が、予め設定された制限数以上となったか否かの判断は、例えば、上述した対話を行うユーザ端末UTm間のセッション数が、予め設定された制限数以上となったか否かを判別することによっても行うことができる。なお、ユーザ端末UTmにおけるユーザの対話数が、予め設定された制限数以上となったか否かの判断は、その他の方法により行っても良い。
図4は、ユーザの状態が「オンライン」から「取り込み中」に変わった場合のユーザ情報データベース21における登録情報例を示す図である。この図4に示す例では、上記特定されたユーザ端末UT2及び7のユーザ(つまり、NN「bbbbb」であるユーザ及びNN「ggggg」であるユーザ)に対してのみ、NN「aaaaa」であるユーザの状態が、「オンライン」から「取り込み中」に変更され登録されている。
図5は、ユーザ端末UTm間でメッセージの交換が行われる場合の概念図である。この図5(A)に示すように、NN「aaaaa」であるユーザが、NN「ccccc」であるユーザ及びNN「ddddd」であるユーザとメッセージの交換中である場合には、ユーザ端末UT1におけるチャットウインドウ画面の数が制限数(ここでは、「3」とする)に達していないため、当該NN「aaaaa」であるユーザの全ての友録メンバーは、夫々、自己のユーザ端末UTm上で当該NN「aaaaa」であるユーザの状態が「オンライン」であることを把握することになる。
一方、図5(B)に示すように、NN「aaaaa」であるユーザが、NN「ccccc」のユーザ及びNN「ddddd」であるユーザに加えてNN「eeeee」であるユーザともメッセージの交換中になった場合には、ユーザ端末UT1におけるチャットウインドウ画面の数が制限数(ここでは、「3」とする)に達したため、当該NN「aaaaa」であるユーザの友録メンバーのうち、NN「bbbbb」であるユーザ及びNN「ggggg」であるユーザのみは、夫々、自己のユーザ端末UTm上で当該NN「aaaaa」であるユーザの状態が「取り込み中」であることを把握することとなる。
これにより、メッセージの受け付けを、ユーザ端末UT1のユーザの許容範囲内に抑え、当該ユーザはより円滑にメッセンジャーを利用することができる。
そして、ユーザ端末UTmにおけるユーザの対話数(例えば、当該ユーザ端末UTmにおける上記チャットウインドウ画面の数、或いは当該ユーザ端末UTmが関わるセッション数)が、上述したように、上記制限数に達した後制限数未満になった場合又は制限数より大きくなった後制限数になった場合、システム制御部8は、上記特定した友録メンバーに対する当該ユーザ端末UTmにおけるユーザの指示困難状態情報(例えば、「取り込み中」(或いは、いっぱい、いっぱい)を示す状態情報)を、ユーザ情報データベース21上で指示可能状態情報(例えば「オンライン」を示す状態情報)に変更し、当該指示可能状態情報を、上記特定したユーザのユーザ端末UTmに送信することになる。
次に、ユーザ端末UTmの構成及び機能について、図6乃至図9を用いて説明する。
図6は、ユーザ端末UTmの概要構成の一例を示すブロック図であり、図7は、ユーザ端末UT2における表示画面例を示す図であり、図8は、ユーザ端末UT1とユーザ端末UT2がメッセージの送受信を行う際の表示画面例を示す図であり、図9は、ユーザ端末UT1においてチャットウインドウ画面の数やセッション数が制限数以上になった場合における表示画面例を示す図である。
図6に示すように、ユーザ端末UTmは、オペレータ等からの操作指示を受け付け、その指示内容を指示信号としてシステム制御部20に出力する操作部11(例えば、キーボード、マウス等)と、文字や画像等の情報を表示する表示部12(例えば、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ等)と、ネットワークNWに接続して他のユーザ端末UTm又はIMサービス提供サーバSA等との通信状態を制御する通信部13と、例えば、フレキシブルディスク、CD(Compact Disc)、DVD(Digital Versatile Disc)等のディスクDK(記録媒体)からデータ等を読み出す一方、当該ディスクDKに対してデータ等を記録するドライブ部14と、オペレーティングシステム(O/S),各種プログラム(本発明の端末処理プログラムを含む)及びデータ等(IMサービス提供サーバSAのIPアドレスやURL(Uniform Resource Locator)等を含む)を記憶する記憶部15(例えば、ハードディスクドライブ等)と、操作部11乃至記憶部15とシステム制御部20との間のインタフェース処理を行う入出力インタフェース部16と、CPU(Central Processing Unit)17,ROM(Read Only Memory)18,及びRAM(Random Access Memory)19等を備えるシステム制御部20と、を備え、システム制御部20と入出力インタフェース部16とは、システムバス21を介して接続されている。なお、本発明の端末処理プログラム等は、例えば、他のサーバ等からネットワークNWを介してダウンロードされるようにしても良いし、CD−ROM等のディスクDKに記録されてドライブ部14を介して読み込まれるようにしても良い。
システム制御部20は、CPU17が、ROM18や記憶部15に記憶された各種プログラムを読み出し実行することにより、メッセンジャーとして動作しつつ、本発明における状態情報表示手段、ウインドウ表示手段、対話数判別手段、及び対話数判別結果送信手段等として機能し、後述する各種処理を行うようになっている。
具体的には、例えばユーザ端末UT2(その他のユーザ端末UTmでも同様)においてメッセンジャーが起動しログインした後、メッセンジャーが起動していることを示す例えばアイコン(以下、「メッセンジャーアイコン」という)が表示部12上におけるツールバーに表示(図示せず)されると共に、図7(A)に示すような初期画面51が表示部12上に表示され(開き)、更に、IMサービス提供サーバSAからの友録メンバーの状態情報が通信部13を介して受信される。そして、システム制御部20は、受信された夫々の友録メンバーの状態を示す状態情報を、当該初期画面51における状態表示部51aに表示するようになっている。
ここで、図7(A)に示す初期画面51には、NN「bbbbb」であるユーザの友録メンバーの状態を示す状態情報と共に、「設定」ボタン51b、「新規メンバーの登録」ボタン51c、ログアウトするための「ログアウト」ボタン51d、初期画面51を閉じるための「×」(閉じる)ボタン51e、及び「チャット開始」ボタン51fが、ユーザにより選択可能に設けられている。なお、当該初期画面51が閉じた後、ユーザが操作部11を操作して、上記メッセンジャーアイコンを選択実行(例えば、マウスによりクリック)すると、再び初期画面51が表示されることになる。なお、図7(A)に示す初期画面51では、各友録メンバーのNNの右隣に状態情報が表示されているが、かかる表示形態はあくまでも一例であり、様々な表示形態を採っても良い(例えば、オンラインの状態の友録メンバーのNNの表示領域と、取り込み中の状態の友録メンバーのNNの表示領域と、を区別するなど)。また、図7(A)に示す初期画面51において、「オンライン」という文字の代わりに(或いは当該文字と共に)、「オンライン」を示すマークが表示されるように構成しても良い(「取り込み中」が表示される場合も同様)。
このような表示状態において、ユーザ端末UT2のユーザが操作部11を操作して「設定」ボタン51bを選択実行(例えば、マウスによりクリック)すると、各種設定を行うための設定画面(図示せず)が表示される。かかる設定画面において、当該ユーザの指示により、例えば上述した対話の制限数を設定したり、当該メッセージの交換相手からメッセージ(最初のメッセージ)が受信されたときに当該チャットウインドウ画面をポップアップして表示(以下、「メッセージ受信時のポップアップ表示」という)するか否か(ポップアップして表示しない場合、例えば表示部12上におけるツールバーに、当該メッセージの受信があったことを示す情報が表示)が設定したりすること等が可能になっており、設定内容は記憶部15に記憶される。
また、ユーザ端末UT2のユーザが操作部11を操作して「新規メンバーの登録」ボタン51cを選択実行(例えば、マウスによりクリック)すると、新たに友だち登録するための新規メンバー登録画面(図示せず)が表示される。かかる新規メンバー登録画面において、当該ユーザは、操作部11を操作して新たに友だち登録したいユーザのNN等を指定してそのユーザのユーザ端末UTm(IPアドレス宛)、或いは電子メールアドレス宛にメッセージを交換する相手(友だち)に誘う旨の情報を送信することができ、これが送信先のユーザに許可された場合には、当該友だち登録を許可したユーザのNN等が記憶部15に保存され、且つ、当該友だち登録を許可したユーザのNN等を含む友だち登録要求がIMサービス提供サーバSAに送信されて、当該友だち登録要求をしたユーザ端末UT2のユーザのユーザIDに対応付けられてユーザ情報データベース21に登録(友だち登録)されることになる。このように友だち登録することで、ユーザ端末UT2のユーザの友録メンバーが追加され、当該友録メンバーの状態が、当該ユーザ端末UT2の上記初期画面51における状態表示部51aに表示されることになる(逆に、当該友録メンバー側においても、ユーザ端末UT2のユーザが友録メンバーとして登録されることになる)。
なお、ユーザ端末UT2は、ユーザにより指示された検索条件(例えば、年齢、性別等の検索条件)により、IMサービス提供サーバSAに対して、当該検索条件を満たすユーザのNNやユーザID等の検索(ユーザ情報データベース21に登録されている中から検索)を行わせることができ、これにより、ユーザ端末UT2のユーザは、検索されたユーザの中から新たに友だち登録したいユーザのNN等を指定することができる。もちろん、ユーザ端末UT2のユーザが、新たに友だち登録したいユーザのNN等を知っている場合には、ユーザ端末UT2のユーザは、新たに友だち登録したいユーザのNN等を入力して指定することができる。
そして、ユーザ端末UT2のユーザが、自己の友録メンバーとメッセージの交換を行いたい場合、操作部11を操作してメッセージの交換を行いたいオンラインの状態にある友録メンバーのNNを状態表示部51aにて指定し、「チャット開始」ボタン51fを選択実行(例えば、マウスによりクリック、或いは、状態表示部51aにおける友録メンバーのNNをマウスによりダブルクリック)すると、システム制御部20は、図7(B)に示すようなチャットウインドウ画面52を表示部12上に表示する(開く)ようになっている。
ここで、図7(B)に示すチャットウインドウ画面52は、ユーザ端末UT2のユーザが、NN「aaaaa」であるユーザ(友録メンバー)とメッセージの交換を行うための画面であり、当該チャットウインドウ画面52には、送信メッセージ入力欄52a、「送信」ボタン52b、メッセージ出力欄52c、及びチャットウインドウ画面52を閉じるための「×」(閉じる)ボタン52d等が設けられている。なお、図7(B)に示すチャットウインドウ画面52には、図示はしないが、セッションを終了するための「終了」ボタンが設けられている(図8及び図9においても同様)。
このような表示状態において、ユーザ端末UT2のユーザが操作部11を操作して送信メッセージ入力欄52aに所望のメッセージ(例えば比較的短い文書)を入力(例えば、キーボードにより入力)して、「送信」ボタン52bを選択実行(例えば、マウスによりクリック)すると、ユーザ端末UT2がユーザ端末UT1との間でメッセンジャーによるメッセージの送受信を開始することになる。なお、「送信」ボタン52bの代わりに、キーボードの「Enter」キーを用いるようにしてもよい。具体的には、ユーザが、送信メッセージ入力欄52aに所望のメッセージを入力して、例えば、キーボードの「Enter」キーを選択することで、メッセージの送受信を開始するような構成としてもよい。
なお、例えばユーザ端末UT2がユーザ端末UT1との間でメッセンジャーによるメッセージの送受信を開始(セッション開始)する際には、ユーザ端末UT2がIMサービス提供サーバSAからユーザ端末UT1のアドレス情報を取得することで、ユーザ端末UT2はユーザ端末UT1との間でネットワークNWを通じて直接的に(一般的にはIMサービス提供サーバSAを経由することなく)メッセージの送受信(例えば、公知のSIP(Session Initiation Protocol)による)を行うことになる。かかるメッセージの送受信方法については公知であるのでこれ以上の詳しい説明を省略する。また、ユーザ端末UT2は、上記ログイン時にユーザ端末UT1のアドレス情報をユーザの状態情報と共に取得するものであっても良い。
こうしてユーザ端末UT2における送信メッセージ入力欄52aに入力されたメッセージがネットワークNWを通じてユーザ端末UT1に送信され、当該メッセージがユーザ端末UT1により受信されると、図8(B)に示すように、ユーザ端末UT1における表示部12上にチャットウインドウ画面53が表示されると共に、当該受信されたメッセージと共にユーザ端末UT2のユーザのNN「bbbbb」がメッセージ出力欄53cに表示されることになる。一方、図8(A)に示すように、ユーザ端末UT2に表示されているチャットウインドウ画面52におけるメッセージ出力欄52cにも、送信メッセージ入力欄52aに入力され送信されたメッセージ等が表示される。
なお、ユーザ端末UT1においてメッセージ受信時のポップアップ表示設定がなされていない場合には、当該メッセージが受信されたときに、例えば表示部12上におけるツールバーに、当該メッセージの受信があったことを示す情報が表示され、ユーザ端末UT1のユーザの指示(例えば当該ユーザがメッセージの受信があったことを示す情報をマウスによりクリック)に応じてチャットウインドウ画面53が表示されると共に、当該受信されたメッセージ等がメッセージ出力欄53cに表示されることになる。
このあと、ユーザ端末UT2のユーザと、ユーザ端末UT1のユーザとは、チャットウインドウ画面51,52上でメッセージの交換(対話)を行うこととなる。
ところで、上述した図5(B)に示すように、ユーザ端末UT1においてNN「aaaaa」であるユーザが、NN「ccccc」であるユーザ、NN「ddddd」であるユーザ、及びNN「eeeee」であるユーザとメッセージの交換中である場合、図9(B)に示すように、ユーザ端末UT1における表示部12上には、夫々のユーザ端末UTm3〜5のユーザ毎にチャットウインドウ画面54〜56が表示されるが、これらのチャットウインドウ画面の数やセッション数が制限数(ここでは、「3」とする)であるときには、上述の如く、図9(A)に示すように、ユーザ端末UT2のチャットウインドウ画面51における状態表示部51aに表示されたNN「aaaaa」であるユーザ(友録メンバー)の状態が「取り込み中」になる。これにより、ユーザ端末UT2のユーザは、ユーザ端末UT1のユーザに対してメッセージを送信することを自制することになる(或いは、NN「aaaaa」のユーザの状態が「取り込み中」に、ユーザ端末UT2のユーザが、ユーザ端末UT1のユーザに対してメッセージを送信する操作を行っても、メッセージが送信されないように処理される)。
なお、図9(B)に示す例では、チャットウインドウ画面54〜56が重なって表示されているが、表示部12における画面サイズが大きい場合、チャットウインドウ画面54〜56が互いに重ならずに表示される。
また、図7(A)、図8及び図9においては、一つのチャットウインドウ画面で2人のユーザが対話する場合の例を示しているが、これに限定されるものではなく、一つのチャットウインドウ画面で3人以上のユーザが対話する場合(例えば、2人のユーザ間で対話している途中に後からもう一人のユーザが加わる場合等)もある(つまり、チャットウインドウ画面は、対話毎に表示されるという趣旨である)。この場合のメッセージの送受信方法についても公知であるので詳しい説明を省略する。
[2.メッセージ送受信システムの動作]
次に、本実施形態に係るメッセージ送受信システムSの動作について説明する。
(実施例1)
先ず、実施例1では、上記チャットウインドウ画面の数が制限数に達したか否かの判断をユーザ端末UTmが行う場合の動作について、図10乃至図12を用いて説明する。
図10は、実施例1において、ユーザ端末UTmのシステム制御部20におけるメッセンジャーに係る処理を示すフローチャートであり、図11は、実施例1又は3において、ユーザ端末UTmのシステム制御部20における制限数設定処理を示すフローチャートであり、図12は、実施例1又は3において、IMサービス提供サーバSAのシステム制御部8におけるメッセンジャー応答処理を示すフローチャートである。
(ユーザ端末UTmにおける処理)
あるユーザ端末UTmにおいてメッセンジャーが起動すると、図10に示す処理が開始され、先ず、システム制御部20は、自動的に又はユーザの指示によりログイン処理を実行する(ステップS1)。
かかるログイン処理においては、上述したように、ユーザ端末UTmがネットワークNWを介してIMサービス提供サーバSAに接続し(セッション確立)、当該IMサービス提供サーバSAに対してログイン要求(メッセンジャーの起動時にユーザにより入力されたユーザID及びパスワード、或いは、以前に入力され記憶部15に保存されていたユーザID及びパスワードを含む)を行い、IMサービス提供サーバSAによりログインが許可された場合、当該ユーザ端末UTmのアドレス情報及び当該ユーザ端末UTmのユーザの状態情報(例えば、「オンライン」を示す状態情報)が、IMサービス提供サーバSAにより、当該ユーザのユーザIDに対応付けられてユーザ情報データベース21に登録(友録メンバー毎に登録)される。また、IMサービス提供サーバSAから当該ログインが許可されたユーザの友録メンバーの状態情報が当該ユーザ端末UTmに送信される。
次いで、システム制御部20は、ウインドウ画面数カウンタMを「0」に初期化し、メッセンジャーアイコン及び図7(A)に示すような初期画面51を表示部12上に表示すると共に、受信された夫々の友録メンバーの状態を示す状態情報を、当該初期画面51における状態表示部51aに表示する(ステップS2)。
次いで、システム制御部20は、他のユーザ端末UTmから送信されたメッセージ(当該対話開始に係る最初のメッセージ)を受信したか否かを判別し(ステップS3)、受信していない場合には(ステップS3:NO)、ユーザからウインドウ画面開指示(例えばユーザにより所望の友録メンバーのNNが指定された後、「チャット開始」ボタン51fの選択実行)を受け付けたか否かを判別し(ステップS4)、ウインドウ画面開指示を受け付けていない場合には(ステップS4:NO)、ユーザからウインドウ画面閉指示(例えばユーザによる「×」(閉じる)ボタン52d、或いは図7(B)に示すチャットウインドウ画面52に設けられる「終了」ボタン(図示せず)等の選択実行)を受け付けたか否かを判別する(ステップS5)。
そして、ウインドウ画面閉指示を受け付けていない場合には(ステップS5:NO)、システム制御部20は、その他の処理を行い(ステップS6)、ステップS7に移行する。かかるその他の処理においては、例えば、初期画面51における「チャット開始」ボタン51f以外のボタンが選択実行された場合の処理(設定処理や登録処理等)や、チャットウインドウ画面52における「×」(閉じる)ボタン52d以外のボタン等が選択実行された場合の処理(メッセージの送信処理等)、更には初期画面51の表示指示に応じた処理等が行われることになる。ステップS7では、システム制御部20は、ユーザからログアウト指示(例えばユーザによる「ログアウト」ボタン51dの選択実行)を受け付けたか否かを判別し、ログアウト指示を受け付けた場合には(ステップS7:YES)、当該処理を終了し、ログアウト指示を受け付けない場合には(ステップS7:NO)、ステップS3に戻る。
一方、上記ステップS3においてメッセージ(当該対話開始に係る最初のメッセージ)が受信された場合(ステップS3:YES)、システム制御部20は、ポップアップ表示設定がなされているか否かを判別し(ステップS8)、ポップアップ表示設定がなされている場合には(ステップS8:YES)、チャットウインドウ画面の表示処理を行い(ステップS9)、ステップS11に移行する。これにより、表示部12上に図7(B)に示すようなチャットウインドウ画面52が表示されることになる。
一方、ポップアップ表示設定がなされていない場合には(ステップS8:NO)、システム制御部20は、表示部12上における例えばツールバーにメッセージの受信があったことを示す情報を表示し(ステップS10)、ステップS4に移行する。そしてその後、当該メッセージの受信があったことを示す情報がユーザにより指示(例えばマウスによりクリック)された場合には、図示しないが、上記ステップS9に移行され、チャットウインドウ画面が表示されることになる。
なお、ポップアップ表示設定がなされていない場合(ステップS8:NO)、システム制御部20は、表示部12上における例えばツールバーにメッセージの受信があったことを示す情報を表示した後、ステップS11に移行するように構成しても良い。つまり、表示されようとしているチャットウインドウ画面の数もウインドウ画面数カウンタMに加算する趣旨である。この場合は、その後、当該メッセージの受信があったことを示す情報がユーザにより指示(例えばマウスによりクリック)された場合、チャットウインドウ画面が表示されることになるが、ウインドウ画面数カウンタMはカウントアップされない(2重カウントアップはされない)。
次いで、システム制御部20は、ウインドウ画面数カウンタMに「1」を加算(インクリメント)し(ステップS11)、続いて、ウインドウ画面数カウンタMが、予め設定された制限数に達したか否かを判別(或いは、当該制限数より大きくなったか否かを判別しても良い)し(ステップS12)、制限数に達していない場合(或いは、当該制限数より大きくなっていない場合)には(ステップS12:NO)、ステップS4に移行する。一方、制限数に達した場合(或いは、当該制限数より大きくなった場合)(ステップS12:YES)、つまり、チャットウインドウ画面の数が制限数に達した場合(或いは、当該制限数より大きくなった場合)には、システム制御部20は、制限数フラグをオンに設定し(ステップS13)、続いて、制限数以上となったことを示す情報の一例である制限数に達したことを示す情報(或いは、制限数を超えたことを示す情報)(以下、「ウインドウ画面制限情報」という(単に、制限情報ともいう))を、ネットワークNWを介してIMサービス提供サーバSAに送信し(ステップS14)、ステップS4に移行する。
なお、ウインドウ画面制限情報には、当該ユーザ端末UTmのユーザのユーザID等、及び表示されている又は表示されようとしているチャットウインドウ画面(言い換えれば、ウインドウ画面数カウンタMのカウントアップに関係するチャットウインドウ画面)に対応する友録メンバー(メッセージの交換中或いは交換しようとしている友録メンバー)のNNが含まれている。
一方、上記ステップS4においてウインドウ画面開指示を受け付けた場合には(ステップS4:YES)、システム制御部20は、制限数フラグがオンであるか否かを判別し(ステップS15)、制限数フラグがオンでない場合には(ステップS15:NO)、ステップS9に移行し上記と同様の処理を行う。一方、制限数フラグがオンである場合には(ステップS15:YES)、システム制御部20は、制限数フラグオン対応処理(ステップS16)を行った後、ステップS5に移行する。
かかる制限数フラグオン対応処理においては、例えばチャットウインドウ画面の数が制限数に達している(或いは、超えている)のでこれ以上チャットウインドウ画面を表示できないことを示すエラーメッセージが表示部12上に表示されることになる。
一方、上記ステップS5においてウインドウ画面閉指示を受け付けた場合には(ステップS5:YES)、システム制御部20は、チャットウインドウ画面の表示解除処理を行う(ステップS17)。これにより、当該ウインドウ画面閉指示されたチャットウインドウ画面が表示部12上から消去されることになる。
次いで、システム制御部20は、ウインドウ画面数カウンタMから「1」を減算(デクリメント)する(ステップS18)。なお、上記ステップS5において、対話相手の友録メンバーのユーザ端末UTm側でウインドウ画面閉指示が行われることにより、セッションが切れたことをシステム制御部20が検知した場合にも、チャットウインドウ画面は表示されたままの状態で、ウインドウ画面数カウンタMから「1」が減算されるように構成しても良い。
次いで、システム制御部20は、制限数フラグがオンであるか否かを判別し(ステップS19)、制限数フラグがオンでない場合には(ステップS19:NO)、ステップS6に移行し、制限数フラグがオンである場合(この場合、上記制限数に達した後当該制限数未満になった(或いは、当該制限数より大きくなった後当該制限数になった)と判断できる)には(ステップS19:YES)、制限数フラグをオフに設定し(ステップS20)、続いて、チャットウインドウ画面の許容数になったことを示す情報(以下、「ウインドウ画面許可情報」という(単に、許可情報ともいう))を、ネットワークNWを介してIMサービス提供サーバSAに送信し(ステップS21)、ステップS6に移行する。なお、上記ウインドウ画面許可情報には、当該ユーザ端末UTmのユーザのユーザID等が含まれている。
また、上記ステップS19において、制限数フラグがオンであるか否かを判別する代わりに、ウインドウ画面数カウンタMが、制限数より“1”小さくなった(或いは、制限数になった)か否かを判別し、上記制限数より“1”小さくなった(或いは制限数になった)場合に、ステップS20に移行するように構成しても良い。
以上の図10に示す処理は、ユーザ端末UTmにおける表示部12に表示されている友録メンバーの状態が「取り込み中」である場合には、当該友録メンバーに対するメッセージの送信が抑制される(ユーザが自制するか、或いはユーザ端末UTm上で「取り込み中」である友録メンバーを指定してウインドウ画面開指示をすることが禁止される、或いはチャットウンドウ画面が開けてもメッセージの送信が禁止される)ことを前提としたが、友録メンバーの状態が「取り込み中」である場合にも、ユーザ端末UTm上で「取り込み中」(ユーザがメッセージの指示を行うことが困難又は不可能な状態)である友録メンバーのNNを指定してチャットウンドウ画面が開き、当該友録メンバーのユーザ端末UTmにメッセージを送信することができる場合も想定される。かかる場合に対応するために、上記図10に示す処理におけるステップS3(YES)とステップS8との間に、制限数フラグがオンであるか否かを判別する処理を加え、上記ステップS3においてメッセージが受信された場合(ステップS3:YES)、システム制御部20は、制限数フラグがオンであるか否かを判別し、制限数フラグがオンでない場合には、ステップS8に移行し、制限数フラグがオンである場合には、例えば当該メッセージを送信したユーザ端末UTmに対して自動的に「取り込み中」であることを示すメッセージを返信して(或いは、当該メッセージを破棄する)、ステップS4に移行するように構成する。このように構成すれば、ユーザ端末UTm上で「取り込み中」である友録メンバーに対してメッセージを送信することができる場合にも、「取り込み中」であるユーザに対して負担を与えず、より円滑にメッセージャーを利用させることができる。
次に、図11に示す制限数設定処理は、例えば上記ステップS6のその他の処理において、ユーザから制限数設定指示(例えばユーザにより「設定」ボタン51bの選択実行)を受け付けた場合に開始される。先ず、システム制御部20は、設定画面(図示せず)を表示部12に表示させ(ステップS31)、当該設定画面上において、ユーザから指定されたチャットウンドウ画面の制限数(例えば、当該ユーザが制限数入力欄に制限数をキーボードにより入力して指定するか、或いは予め用意されていた複数の制限数(プルダウンされたリスト表示)の中からマウスにより選択して指定)を受け付け(ステップS32)、当該受け付けた制限数を新たに設定(例えば、当該受け付けた制限数を、過去に記憶部15における制限数設定領域に保存されていた制限数に代えて上書き保存することにより設定)し(ステップS33)、当該処理を終了する。こうして保存された制限数は上記ステップS12にて使用されることになる。
(IMサービス提供サーバSAにおける処理)
次に、IMサービス提供サーバSAにおいては図12に示すメッセンジャー応答処理が実行されており、ユーザ端末UTmから送信されてきたウインドウ画面制限情報(制限情報)が受信されると(ステップS41:YES)、システム制御部8は、上記チャットウインドウ画面の数が、予め設定された制限数以上となった(制限数に達した、或いは制限数より大きくなった)ことを認識し、受信されたウインドウ画面制限情報に含まれるユーザID(ウインドウ画面制限情報の送信元のユーザ端末UTmのユーザのユーザID)を特定する(ステップS42)。
次いで、システム制御部8は、ユーザ情報データベース21における登録情報を参照して、上記特定したユーザIDに対応付けられてNNが登録されている友録メンバーのうち、上記受信されたウインドウ画面制限情報にNNが含まれる友録メンバー以外の友録メンバーを特定し(ステップS43)、当該特定した友録メンバーに対してのみ(例えば、上記特定されたユーザIDに対応するユーザ(送信元ユーザ)のNNが「aaaaa」である場合、図4の例では、NN「bbbbb」である友録メンバー、及びNN「ggggg」である友録メンバー)、上記特定されたユーザIDに対応するユーザ(つまり、上記ウインドウ画面制限情報の送信元のユーザ端末UTmにおけるユーザ)の状態情報が指示困難状態情報であるとしてユーザ情報データベース21に登録する(ステップS44)。
そして、システム制御部8は、上記特定した友録メンバーのユーザ端末UTmのアドレス情報を特定し、当該ユーザ端末UTmに対して、上記ユーザIDに対応するユーザの指示困難状態情報を、ネットワークNWを介して送信する(ステップS45)。なお、当該指示困難状態情報は、上記特定された友録メンバーのユーザ端末UTmに対して、直ちに送信(当該友録メンバーがログインしていなければログインしたときに送信)されても良いし、当該友録メンバーのユーザ端末UTmから定期的な要求に応じて送信しても良く、特に限定されるものではない。
これにより、上記特定された友録メンバーのユーザ端末UTm上では、上記ウインドウ画面制限情報の送信元のユーザ端末UTmにおけるユーザの状態が、例えば「オンライン」から「取り込み中」に変更されて表示されることになる。
一方、ユーザ端末UTmから送信されてきたウインドウ画面許可情報(許可情報)が受信されると(ステップS46:YES)、システム制御部8は、上記チャットウインドウ画面の数が、上記制限数に達した後制限数未満になった又は制限数より大きくなった後制限数になったことを認識し、受信されたウインドウ画面許可情報に含まれるユーザID(ウインドウ画面許可情報の送信元のユーザ端末UTmのユーザのユーザID)を特定する(ステップS47)。
次いで、システム制御部8は、ユーザ情報データベース21における登録情報を参照して、上記特定したユーザIDに対応付けられてNNが登録されている友録メンバーのうち、上記ステップS43で特定された友録メンバー(すなわち、当該ユーザIDに対応するユーザの状態情報が指示困難状態情報として登録されている友録メンバー)に対する当該ユーザの指示困難状態情報を、ユーザ情報データベース21上で指示可能状態情報に変更登録する(戻す)(ステップS48)。
そして、システム制御部8は、上記特定したユーザIDに対応するユーザの状態情報が指示困難状態情報から指示可能状態情報に変更登録された友録メンバーのユーザ端末UTmのアドレス情報を特定し、当該ユーザ端末UTmに対して、上記ユーザIDに対応するユーザの指示可能状態情報を、ネットワークNWを介して送信する(ステップS49)。なお、当該指示可能状態情報は、上記友録メンバーのユーザ端末UTmに対して、直ちに送信(当該友録メンバーがログインしていなければログインしたときに送信)されても良いし、当該友録メンバーのユーザ端末UTmから定期的な要求に応じて送信しても良く、特に限定されるものではない。
これにより、上記特定された友録メンバーのユーザ端末UTm上では、上記ウインドウ画面許可情報の送信元のユーザ端末UTmにおけるユーザの状態が、例えば「取り込み中」から「オンライン」に変更されて表示されることになる。
なお、ステップS50におけるその他の処理においては、ユーザ端末UTmからのログイン要求に応じたログイン処理などの種々の処理が行われるが、詳しい説明を省略する。
以上説明したように、上記実施例1に係る実施形態によれば、ユーザ端末UTmにおいて上記チャットウインドウ画面の数が、予め設定された制限数以上となった(制限数に達した、或いは制限数より大きくなった)場合、当該チャットウインドウ画面に対応する友録メンバー以外の友録メンバーを特定し、当該特定した友録メンバーに対してのみ、上記チャットウインドウ画面の数が制限数以上となったユーザ端末UTmにおけるユーザの状態情報が指示困難状態情報であるとして、当該指示困難状態情報を、当該特定した友録メンバーのユーザ端末UTmに送信するように構成したので、当該特定された友録メンバーに対して上記ユーザ端末UTmにおけるユーザがメッセージの指示を行うことが困難又は不可能な状態にあることを、事前に(メッセージの交換前に)、迅速かつ効果的に認識させることができ、したがって、メッセージの受け付けを上記ユーザ端末UTmにおけるユーザの許容範囲内に抑え、ユーザがより円滑にメッセンジャーを利用し、複数のユーザとの間でメッセージの交換(対話)を行うことができる。また、各ユーザは、チャットウインドウ画面の制限数を任意に設定可能であるので、ユーザ毎に合った許容範囲でより円滑に複数の友録メンバーとの間でメッセージの交換を行うことができる。
また、ユーザ端末UTmにおいて上記チャットウインドウ画面の数が、上記制限数に達した後制限数未満になった場合又は制限数より大きくなった後制限数になった場合、上記特定した友録メンバーに対する当該ユーザ端末UTmにおけるユーザの指示困難状態情報を指示可能状態情報に変更し、当該指示可能状態情報を、上記特定したユーザのユーザ端末UTmに送信するように構成したので、当該特定された友録メンバーに対して上記ユーザ端末UTmにおけるユーザがメッセージの指示を行うことが可能な状態になったことを迅速かつ効果的に認識させることができ、したがって、ユーザがより円滑にメッセンジャーを利用し、複数のユーザとの間でメッセージの交換を行うことができる。
また、上記実施例1に係る実施形態では、上記チャットウインドウ画面の数が制限数に達したか否かの判断をユーザ端末UTmが行うように構成したので、IMサービス提供サーバSAに対する負担を極力低減させることができ、更に、既存のメッセージ送受信システムに対して本発明を適用し易くすることができる。
また、上記実施例1に係る実施形態では、ユーザ端末UTmにおけるユーザの対話数が制限数以上となったか否を、チャットウインドウ画面の数が当該制限数以上となったか否かにより判断しているので、各ユーザは、自己の状態が友録メンバーに対してどのように提示されているかを明確に把握することができる(実施例2でも同様)。
なお、上記ステップS15において制限数フラグがオンである場合、当該処理が実行されているユーザ端末UTmのユーザの状態は、現在メッセージ交換中の友録メンバー(つまり、現在表示されている夫々のチャットウインドウ画面に対応する友録メンバー)以外の友録メンバーに対しては、「取り込み中」として提示されていることになるが、この場合のステップS16においてエラーメッセージが表示される代わりに、ウインドウ画面開指示(例えば、所望の友録メンバーのNNが指定された後、「チャット開始」ボタン51fの選択実行)により当該ユーザがメッセージの交換をしたい友録メンバー(すなわち、チャットウインドウ画面が制限数以上になったにも拘わらずメッセージの交換をしたい友録メンバー)に対して提示される当該ユーザの状態を「取り込み中」から「オンライン」に変更するように構成しても良い。つまり、制限数フラグがオンになっていても、当該ユーザが自分で指定した友録メンバーとは、「チャット開始」ボタン51fを選択実行することで、友録メンバーに対する自分の状態を「オンライン」として通知すると共に、チャットウインドウ画面を通して対話できるように構成する。
より具体的には、上記ステップS16においてシステム制御部20は、直前のステップS4におけるウインドウ画面開指示において指定された友録メンバーのNN及び当該ユーザ端末UTmのユーザのユーザID等が含まれる状態変更情報をIMサービス提供サーバSAに送信した後、当該友録メンバーに対応するチャットウインドウ画面を表示し(この場合、ウインドウ画面数カウンタMに「1」を加算されても良いし、されなくとも良い)、ステップS5に移行する。一方、IMサービス提供サーバSAは、上記状態変更情報を受信すると、当該状態変更情報に含まれるユーザIDに対応するユーザ(つまり、状態変更情報を送信したユーザ端末UTmのユーザ)の状態のうち、当該状態変更情報に含まれるNNに対応する友録メンバーに対して提示される状態を、ユーザ情報データベース21上で「取り込み中」から「オンライン」に変更登録し、当該変更された状態情報を、上記状態変更情報に含まれる友録メンバーのNNに対応するユーザ端末UTmに対して送信する。これにより、例えば図5(B)に示すような状況になっている場合において、ユーザ端末UT1のユーザが、ユーザ端末UT2のユーザとメッセージの交換を行いたい場合に、当該ユーザ端末UT1のユーザが、ユーザ端末UT2のユーザのNN「bbbbb」を指定してウインドウ画面開指示すると、ユーザ端末UT2において、ユーザ端末UT1のユーザの状態が「取り込み中」から「オンライン」に変更することとなる。したがって、これによりチャットウインドウ画面の数が制限数以上になった場合にも、ユーザは例えば至急に話したい友録メンバーとはメッセージの交換を行うことができるので、より利便性を向上させることができる。
(実施例2)
次に、実施例2では、上記チャットウインドウ画面の数が制限数に達したか否かの判断をIMサービス提供サーバSAが行う場合の動作について、図13乃至図15を用いて説明する。
図13は、実施例2において、ユーザ端末UTmのシステム制御部20におけるメッセンジャーに係る処理を示すフローチャートであり、図14は、実施例2又は4において、ユーザ端末UTmのシステム制御部20における制限数設定処理を示すフローチャートであり、図15は、実施例2において、IMサービス提供サーバSAのシステム制御部8におけるメッセンジャー応答処理を示すフローチャートである。
なお、実施例2においては、チャットウインドウ画面の制限数及びウインドウ画面数カウンタMが、ユーザ毎に、ユーザIDに対応付けられて記憶部2に記憶保存されており、ウインドウ画面数カウンタMは、ユーザのログイン時に「0」に初期化されるようになっている。
(ユーザ端末UTmにおける処理)
あるユーザ端末UTmにおいてメッセンジャーが起動すると、図13に示す処理が開始され、先ず、システム制御部20は、実施例1と同様、自動的に又はユーザの指示によりログイン処理を実行する(ステップS61)。
次いで、システム制御部20は、実施例1と同様、メッセンジャーアイコン及び図7(A)に示すような初期画面51を表示部12上に表示すると共に、受信された夫々の友録メンバーの状態を示す状態情報を、当該初期画面51における状態表示部51aに表示する(ステップS62)。
なお、ステップS63〜S67の処理は、図10に示すステップS3〜S7と同様であるので、説明を省略する。
そして、ステップS63においてメッセージ(当該対話開始に係る最初のメッセージ)が受信された場合(ステップS63:YES)、システム制御部20は、ポップアップ表示設定がなされているか否かを判別し(ステップS68)、ポップアップ表示設定がなされている場合には(ステップS68:YES)、チャットウインドウ画面の表示処理を行い(ステップS69)、ステップS64に移行する。
一方、ポップアップ表示設定がなされていない場合には(ステップS68:NO)、システム制御部20は、表示部12上における例えばツールバーにメッセージの受信があったことを示す情報を表示し(ステップS70)、ステップS64に移行する。そしてその後、当該メッセージの受信があったことを示す情報がユーザにより指示(例えばマウスによりクリック)された場合には、図示しないが、上記ステップS69に移行され、チャットウインドウ画面が表示されることになる。
一方、ステップS64においてウインドウ画面開指示を受け付けた場合には(ステップS64:YES)、システム制御部20は、ウインドウ画面開指示があったことを示す情報(以下、「ウインドウ画面開情報」という)を、ネットワークNWを介してIMサービス提供サーバSAに送信し(ステップS71)、ステップS69に移行する。
なお、ウインドウ画面開情報には、当該ユーザ端末UTmのユーザのユーザID等、及びウインドウ画面開指示に係るチャットウインドウ画面に対応する友録メンバー(メッセージの交換しようとしている友録メンバー)のNNが含まれている。
ここで、ステップS64においてユーザ自らウインドウ画面開指示を行った場合、ウインドウ画面開情報がIMサービス提供サーバSAに送信されることになる(ステップS71)が、対話相手となる友録メンバーからの当該対話開始に係る最初のメッセージを受信した場合(ステップS64:YES)にステップS68を経てステップS69でチャットウインドウ画面が表示されるとき、ウインドウ画面開情報がIMサービス提供サーバSAに送信されない(ステップS71の処理は行われない)。これは、対話相手となる友録メンバーからの当該対話開始に係る最初のメッセージの送信がIMサービス提供サーバSAにおいて認識される(後述するステップS91による)からである。
一方、ステップS65においてウインドウ画面閉指示を受け付けた場合には(ステップS65:YES)、システム制御部20は、ウインドウ画面閉指示があったことを示す情報(以下、「ウインドウ画面閉情報」という)を、ネットワークNWを介してIMサービス提供サーバSAに送信し(ステップS72)、チャットウインドウ画面の表示解除処理を行う(ステップS73)。
なお、ウインドウ画面開情報には、当該ユーザ端末UTmのユーザのユーザID等、及びウインドウ閉指示に係るチャットウインドウ画面に対応する友録メンバーのNNが含まれている。
次に、図14に示す制限数設定処理は、例えば上記ステップS66のその他の処理において、ユーザから制限数設定指示を受け付けた場合に開始され、システム制御部20は、実施例1と同様、設定画面を表示部12に表示させ(ステップS81)、当該設定画面上において、ユーザから指定されたチャットウンドウ画面の制限数を受け付け(ステップS82)、当該受け付けた制限数を示す制限数情報(当該ユーザ端末UTmのユーザのユーザIDを含む)を、ネットワークNWを介してIMサービス提供サーバSAに送信し(ステップS83)、当該処理を終了する。
(IMサービス提供サーバSAにおける処理)
次に、IMサービス提供サーバSAにおいては図15に示すメッセンジャー応答処理が実行されており、システム制御部8は、一のユーザ端末UTmから他のユーザ端末UTmへのメッセージ(当該対話開始に係る最初のメッセージ)の送信を検知した場合には(ステップS91:YES)、当該メッセージの宛先のユーザのユーザIDを特定(例えば、当該メッセージに含まれる宛先のアドレス情報に対応するユーザIDをユーザ情報データベース21から特定)し、当該メッセージの送信元の友録メンバーのNNを一時記憶する(ステップS92)。
ここで、ユーザ端末UTm間で送受信されるメッセージがIMサービス提供サーバSAを経由する場合には、当該システム制御部8は、当該メッセージを捕捉してステップS92の処理を行うことができ、当該メッセージがIMサービス提供サーバSAを経由しない場合であっても、当該IMサービス提供サーバSAは、ユーザ端末UTm間のセッション開始及び終了を検知できるので、メッセージの送信元及び宛先のユーザのユーザID等を認識することができる。
次いで、システム制御部8は、上記特定したユーザIDに対応するウインドウ画面数カウンタMに「1」を加算し(ステップS93)、続いて、当該ウインドウ画面数カウンタMが、上記特定したユーザIDに対応して設定されたチャットウインドウ画面の制限数に達したか否かを判別(或いは、当該制限数より大きくなったか否かを判別しても良い)し(ステップS94)、当該制限数に達していない場合(或いは、当該制限数より大きくなっていない場合)には(ステップS94:NO)、ステップS102に移行する。一方、当該制限数に達した場合(或いは、当該制限数より大きくなった場合)(ステップS94:YES)には、システム制御部8は、ユーザ情報データベース21における登録情報を参照して、上記特定したユーザIDに対応付けられてNNが登録されている友録メンバーのうち、NNが一時記憶された友録メンバー以外の友録メンバーを特定し(ステップS95)、当該特定した友録メンバーに対してのみ、上記特定されたユーザIDに対応するユーザの状態情報が指示困難状態情報(例えばIMサービス提供サーバSAにおいて指示困難状態情報としてデフォルト設定されている「取り込み中」、或いは、ユーザにより指示困難状態情報として事前に設定され、ユーザIDに対応付けられて登録されていた「いっぱい、いっぱい」等を示す情報)であるとしてユーザ情報データベース21に登録(ここでは、指示可能状態情報から指示困難状態情報への変更登録となる)する(ステップS96)。
そして、システム制御部8は、上記特定した友録メンバーのユーザ端末UTmのアドレス情報を特定し、当該ユーザ端末UTmに対して、上記ユーザIDに対応するユーザの指示困難状態情報を、ネットワークNWを介して送信する(ステップS97)。なお、当該指示困難状態情報は、実施例1と同様、上記特定された友録メンバーのユーザ端末UTmに対して、直ちに送信されても良いし、当該友録メンバーのユーザ端末UTmから定期的な要求に応じて送信しても良い。
一方、ユーザ端末UTmから送信されてきたウインドウ画面開情報が受信されると(ステップS98:YES)、システム制御部8は、受信されたウインドウ画面開情報に含まれるユーザIDを特定し、当該ウインドウ画面開情報に含まれる友録メンバーのNNを一時記憶する(ステップS99)。
次いで、システム制御部8は、上記特定したユーザIDに対応するウインドウ画面数カウンタMが既に上記制限数に達しているか否かを判別し(ステップS100)、達していない場合には(ステップS100:NO)、ステップS93に移行し上記と同様の処理を行う。一方、ウインドウ画面数カウンタMが既に上記制限数に達している場合には(ステップS100:YES)、制限数以上対応処理を行う(ステップS101)。
かかる制限数対応処理においては、例えばIMサービス提供サーバSAからウインドウ画面開情報の送信元のユーザ端末UTmに対して、例えばチャットウインドウ画面の数が制限数に達している(或いは、超えている)ことを示すエラーメッセージが送信されることになる。また、かかる制限数対応処理における別の例として、実施例1と同様、ウインドウ画面開情報の送信元のユーザ端末UTmのユーザがメッセージの交換をしたい友録メンバーに対して提示される当該ユーザの状態を「取り込み中」から「オンライン」に変更するように構成しても良い。より具体的には、システム制御部8は、当該ウインドウ画面開情報に含まれるユーザIDに対応するユーザの状態のうち、当該ウインドウ画面開情報に含まれるNNに対応する友録メンバーに対して提示される状態を、ユーザ情報データベース21上で「取り込み中」から「オンライン」に変更登録し、当該変更された状態情報を、上記状態変更情報に含まれる友録メンバーのNNに対応するユーザ端末UTmに対して送信する。
一方、ユーザ端末UTmから送信されてきたウインドウ画面閉情報が受信されると(ステップS102:YES)、システム制御部8は、受信されたウインドウ画面閉情報に含まれるユーザIDを特定し、当該ウインドウ画面閉情報に含まれる友録メンバーのNNを上記一時記憶されたものの中から消去する(ステップS103)。
次いで、システム制御部8は、上記特定したユーザIDに対応するウインドウ画面数カウンタMから「1」を減算(デクリメント)し(ステップS104)、続いて、当該ウインドウ画面数カウンタMが、上記特定したユーザIDに対応して設定されたチャットウインドウ画面の制限数から「1」減ったか否かを判別(或いは、制限数より大きくなった後制限数になったか否かを判別しても良い)し(ステップS105)、減っていない(例えば、未だ当該制限数にすら達していない)場合には(ステップS105:NO)、ステップS110に移行する。
一方、上記制限数から「1」減った(或いは、制限数より大きくなった後制限数になった)場合には(ステップS105:YES)、システム制御部8は、ユーザ情報データベース21における登録情報を参照して、上記特定したユーザIDに対応付けられてNNが登録されている友録メンバーのうち、上記ステップS95で特定された友録メンバー(すなわち、当該ユーザIDに対応するユーザの状態情報が指示困難状態情報として登録されている友録メンバー)に対する当該ユーザの指示困難状態情報を、ユーザ情報データベース21上で指示可能状態情報に変更登録する(戻す)(ステップS106)。
そして、システム制御部8は、上記特定したユーザIDに対応するユーザの状態情報が指示困難状態情報から指示可能状態情報に変更登録された友録メンバーのユーザ端末UTmのアドレス情報を特定し、当該ユーザ端末UTmに対して、上記ユーザIDに対応するユーザの指示可能状態情報を、ネットワークNWを介して送信し(ステップS107)、ステップS110に移行する。
なお、当該指示可能状態情報は、実施例1と同様、上記友録メンバーのユーザ端末UTmに対して、直ちに送信されても良いし、当該友録メンバーのユーザ端末UTmから定期的な要求に応じて送信しても良い。
一方、ユーザ端末UTmから(図14のステップS83の処理により)送信されてきた制限数情報が受信されると(ステップS108:YES)、システム制御部8は、受信された制限数情報に含まれるユーザIDを特定し、当該制限数情報に含まれる制限数を新たに設定(例えば、当該制限数情報に含まれる制限数を、過去に当該ユーザIDに対応付けられて記憶部2における制限数設定領域に保存されていた制限数に代えて上書き保存することにより設定)し(ステップS109)、当該処理を終了する。こうして保存された制限数は上記ステップS94等にて使用されることになる。
なお、ステップS110におけるその他の処理においては、実施例1と同様、ユーザ端末UTmからのログイン要求に応じたログイン処理などの種々の処理が行われるが、詳しい説明を省略する。
以上説明したように、上記実施例2に係る実施形態によれば、基本的には上記実施例1に係る実施形態と同様の効果を得ることができる。
また、上記実施例2に係る実施形態では、上記チャットウインドウ画面の数が制限数に達したか否かの判断をIMサービス提供サーバSAが行うように構成したので、ユーザ端末UTmに対する負担を極力低減させることができる。
(実施例3)
次に、実施例3では、ユーザ端末UTmにおけるセンションの数が制限数に達したか否かの判断を当該ユーザ端末UTmが行う場合の動作について、図16等を用いて説明する。
図16は、実施例3において、ユーザ端末UTmのシステム制御部20におけるメッセンジャーに係る処理を示すフローチャートである。なお、図11及び図12に示す処理は実施例3においても行われる。
(ユーザ端末UTmにおける処理)
あるユーザ端末UTmにおいてメッセンジャーが起動すると、図16に示す処理が開始され、先ず、システム制御部20は、実施例1と同様、自動的に又はユーザの指示によりログイン処理を実行する(ステップS151)。
次いで、システム制御部20は、セッション数カウンタMを「0」に初期化し、メッセンジャーアイコン及び図7(A)に示すような初期画面51を表示部12上に表示すると共に、受信された夫々の友録メンバーの状態を示す状態情報を、当該初期画面51における状態表示部51aに表示する(ステップS152)。
次いで、システム制御部20は、セッション開始を検知したか否かを判別し(ステップS153)、セッション開始を検知していない場合(ステップS153:NO)、ステップS154に、セッション開始を検知した場合(ステップS153:YES)、ステップS157に移行する。
ここで、センション開始は、例えば通信が行われる2つのユーザ端末UTmの何れか一方でユーザからウインドウ画面開指示(例えばユーザにより所望の友録メンバーのNNが指定された後、「チャット開始」ボタン51fの選択実行)があった場合に実行されるセッション確立処理(例えばユーザ端末UT2がIMサービス提供サーバSAからユーザ端末UT1のアドレス情報を取得した後、ユーザ端末UT2からユーザ端末UT1へリクエストし、これに応じてユーザ端末UT1からユーザ端末UT2へレスポンスし、最後にユーザ端末UT2からユーザ端末UT1にACK(確認)を返す)を通じて、双方のユーザ端末UTm及びIMサービス提供サーバSAにおいて検知される。
ステップS157では、システム制御部20は、セッション数カウンタMに「1」を加算し、続いて、セッション数カウンタMが、予め設定された制限数に達したか否かを判別(或いは、当該制限数より大きくなったか否かを判別しても良い)し(ステップS158)、制限数に達していない場合(或いは、当該制限数より大きくなっていない場合)には(ステップS158:NO)、ステップS154に移行する。一方、制限数に達した場合(或いは、当該制限数より大きくなった場合)には(ステップS158:YES)、システム制御部20は、制限数フラグをオンに設定し(ステップS159)、続いて、制限数以上となったことを示す情報の一例である制限数に達したことを示す情報(或いは、制限数を超えたことを示す情報)(以下、「セッション制限情報」という(単に、制限情報ともいう))を、ネットワークNWを介してIMサービス提供サーバSAに送信し(ステップS160)、ステップS154に移行する。
なお、セッション制限情報には、当該ユーザ端末UTmのユーザのユーザID等、当該セッションに係るユーザ端末UTmに対応する友録メンバー(メッセージの交換中或いは交換しようとしている友録メンバー)のNNが含まれている。
こうして送信されたセッション制限情報が、IMサービス提供サーバSAにより受信されると、上記実施例1と同様、図12のステップS41〜S45に示す処理が行われる。
一方、ステップS154では、システム制御部20は、セッション終了を検知したか否かを判別し、セッション終了を検知していない場合(ステップS154:NO)、ステップS155に、セッション開始を検知した場合(ステップS154:YES)、ステップS161に移行する。
ここで、センション終了は、例えば通信が行われる2つのユーザ端末UTmの何れか一方でユーザからウインドウ画面閉指示(例えばユーザにより「×」(閉じる)ボタン52d、或いは図7(B)に示すチャットウインドウ画面52に設けられる「終了」ボタン(図示せず)等の選択実行)があった場合、又はセッション確立後一定時間(例えば30分)メッセージの送受信がない場合に、双方のユーザ端末UTm及びIMサービス提供サーバSAにおいて検知される。
ステップS161では、システム制御部20は、セッション数カウンタMから「1」を減算する。
次いで、システム制御部20は、制限数フラグがオンであるか否かを判別し(ステップS162)、制限数フラグがオンでない場合には(ステップS162:NO)、ステップS155に移行し、制限数フラグがオンである場合には(ステップS162:YES)、制限数フラグをオフに設定し(ステップS163)、続いて、セッションの許容数になったことを示す情報(以下、「セッション許可情報」という(単に、許可情報ともいう))を、ネットワークNWを介してIMサービス提供サーバSAに送信し(ステップS164)、ステップS155に移行する。なお、上記セッション許可情報には、当該ユーザ端末UTmのユーザのユーザID等が含まれている。
こうして送信されたセッション許可情報が、IMサービス提供サーバSAにより受信されると、上記実施例1と同様、図12のステップS47〜S49に示す処理が行われる。
そして、ステップS155では、実施例1と同様の処理(例えば図11に示す処理(実施例3における当該処理では、チャットウンドウ画面の制限数ではなく、セッションの制限数が新たに設定される)等)の他、チャットウインドウ画面52の表示処理や表示解除処置等が行われる。なお、ステップS156の処理は、図10のステップS7の処理と同様である。
以上説明したように、上記実施例3に係る実施形態によれば、ユーザ端末UTmにおいて上記セッションの数が、予め設定された制限数以上となった(制限数に達した、或いは制限数より大きくなった)場合、当該セッション係る他のユーザ端末UTmに対応する友録メンバー以外の友録メンバーを特定し、当該特定した友録メンバーに対してのみ、上記セッションの数が制限数以上となったユーザ端末UTmにおけるユーザの状態情報が指示困難状態情報であるとして、当該指示困難状態情報を、当該特定した友録メンバーのユーザ端末UTmに送信するように構成したので、上記実施例1に係る発明と同様の効果を得ることができる。
また、上記実施例3に係る実施形態では、上記セッションの数が制限数に達したか否かの判断をユーザ端末UTmが行うように構成したので、IMサービス提供サーバSAに対する負担を極力低減させることができ、比較的簡単な処理で本発明を実現することができる。
また、上記実施例3に係る実施形態では、ユーザ端末UTmにおけるユーザの対話数が制限数以上となったか否を、セッションの数が当該制限数以上となったか否かにより判断しているので、例えばチャットウインドウ画面を対話以外に開いている(例えば、過去の対話履歴を参照しながら、友録メンバーと対話するような場合)ユーザ等にとって、チャットウインドウ画面の数はカウント対象外となるので、利便性が高い(実施例4でも同様)。
(実施例4)
次に、実施例4では、ユーザ端末UTmにおけるセンションの数が制限数に達したか否かの判断をIMサービス提供サーバSAが行う場合の動作について、図17等を用いて説明する。
図17は、実施例4において、IMサービス提供サーバSAのシステム制御部8におけるメッセンジャー応答処理を示すフローチャートである。なお、図14に示す処理は実施例4においても行われる。
なお、実施例4においては、セッションの制限数及びセッション数カウンタMが、ユーザ毎に、ユーザIDに対応付けられて記憶部2に記憶保存されており、セッション数カウンタMは、ユーザのログイン時に「0」に初期化されるようになっている。
なお、実施例4におけるユーザ端末UTmにおいても、チャットウインドウ画面52の表示処理や表示解除処置等、更には、実施例2と同様、図14に示す処理等が行われるが説明を省略する。ただし、実施例4の場合、図14では、ウインドウ画面の制限数ではなく、セッションの数の制限数が設定されることとなる。
(IMサービス提供サーバSAにおける処理)
図17において、IMサービス提供サーバSAが、実施例3にて説明したように、ユーザ端末UTm間におけるセンション開始を検知すると(ステップS171:YES)、当該セッションに係る全てのユーザのユーザIDを特定し、当該特定したユーザID毎に友録メンバーのNNを一時記憶する(ステップS172)。
次いで、システム制御部8は、上記特定したユーザIDに対応するセッション数カウンタMに「1」を加算し(ステップS173)、続いて、当該セッション数カウンタMが、上記特定したユーザIDに対応して設定されたセッションの制限数に達したか否かを判別(或いは、当該制限数より大きくなったか否かを判別しても良い)し(ステップS174)、当該制限数に達していない場合(或いは、当該制限数より大きくなっていない場合)には(ステップS174:NO)、ステップS178に移行する。一方、当該制限数に達した場合(或いは、当該制限数より大きくなった場合)(ステップS174:YES)には、システム制御部8は、ステップS175に移行する。
なお、ステップS175〜S177の処理は、図15のステップS95〜S97の処理と同様である。
また、ステップS173〜S177の処理は、ステップS172で特定したユーザID(ユーザ)毎に行われる(つまり、ユーザ毎に別々に、セッション数カウンタMがカウントアップし、当該セッション数カウンタMが制限数に達したか等が判断される)。
そして、ステップS178において、実施例3にて説明したように、ユーザ端末UTm間におけるセンション終了が検知されると(ステップS178:YES)、当該セッションに係る全てのユーザのユーザIDを特定し、当該特定したユーザID毎に友録メンバーのNNを消去する(ステップS179)。
次いで、システム制御部8は、上記特定したユーザIDに対応するセッション数カウンタMから「1」を減算し(ステップS180)、続いて、当該セッション数カウンタMが、上記特定したユーザIDに対応して設定されたセッションの制限数から「1」減ったか否かを判別(或いは、制限数より大きくなった後制限数になったか否かを判別しても良い)し(ステップS181)、減っていない(例えば、未だ当該制限数にすら達していない)場合には(ステップS181:NO)、ステップS186に移行する。
一方、上記制限数から「1」減った(或いは、制限数より大きくなった後制限数になった)場合には(ステップS181:YES)、ステップS182に移行する。
なお、ステップS182及びS183の処理は、図15のステップS106及びS107の処理と同様である。
また、ステップS180〜S183の処理は、ステップS179で特定したユーザID(ユーザ)毎に行われる。
なお、ステップS184〜S186の処理は、図15のステップS108〜S110の処理と同様である。なお、実施例4におけるステップS109の処理では、チャットウンドウ画面の制限数ではなく、セッションの制限数が新たに設定される。
以上説明したように、上記実施例4に係る実施形態によれば、基本的には上記実施例2に係る実施形態と同様の効果を得ることができる。
また、上記実施例4に係る実施形態では、上記セッションの数が制限数に達したか否かの判断をIMサービス提供サーバSAが行うように構成したので、ユーザ端末UTmに対する負担を極力低減させることができ、比較的簡単な処理で本発明を実現することができる。