(58)【調査した分野】(Int.Cl.,DB名)
データベースを備えたサーバ装置と、情報通信手段を介して前記サーバ装置との間で情報の通信が可能な複数のクライアント装置と、を備えた情報通信システムを用いて行う情報通信方法であって、
前記データベースは、2以上の前記クライアント装置のユーザ間における関係であって当該関係にある任意の1のユーザのクライアント装置と1または2以上の他のユーザのクライアント装置との間において情報の通信が許容される関係である通信コネクションが存在することを示す情報として、当該通信コネクションに属する各ユーザによってそれぞれ任意に指定された当該ユーザのプロフィール情報を相互に関連付けて記憶し、
前記クライアント装置が、前記データベースに記憶されたデータに基づいて、当該クライアント装置のユーザの属する通信コネクションに属する他のユーザあって当該クライアント装置との間において情報の通信が許容されているクライアント装置のユーザの当該通信コネクションに係るプロフィール情報および/または当該プロフィール情報を示すプロフィールインデックス情報を取得して、当該クライアント装置に表示するプロフィール表示ステップと、
前記サーバ装置が、前記クライアント装置から、前記プロフィール表示ステップにおいて当該クライアント装置に表示された前記プロフィール情報またはプロフィールインデックス情報を特定して情報の通信を求める情報通信要求信号を受信すると、当該クライアント装置と、前記情報通信要求信号によって特定された相手方のクライアント装置との間における情報の通信を中継する通信中継ステップと、
前記サーバ装置が、前記クライアント装置から、当該クライアント装置のユーザの属する通信コネクションからの離脱を求めるコネクション離脱要求信号を受信すると、前記データベースに記憶されている当該ユーザの当該通信コネクションに係るプロフィール情報と当該通信コネクションに属する他のユーザの当該通信コネクションに係るプロフィール情報との関連付けを解除することで、当該クライアント装置のユーザを当該通信コネクションから離脱させるコネクション離脱ステップと、
を備えたこと、
を特徴とする、情報通信方法。
【発明を実施するための形態】
【0045】
図1は、この発明の一実施形態による情報通信システム2の構成を示すブロック図である。
【0046】
情報通信システム2は、サーバ装置4と、複数のクライアント装置6、6、・・・と、を備えており、サーバ装置4と各クライアント装置6とは、情報通信手段8を介して、文字、音声、画像、映像、制御信号等の情報の通信が可能となっている。
【0047】
図2は、サーバ装置4の構成を例示するブロック図である。
【0048】
図2に示すように、サーバ装置4は、データベース20とサーバ側通信制御部10とを備えている。
【0049】
データベース20は、2以上のクライアント装置6、6、・・・のユーザ間における関係であって当該関係にある任意の1のユーザのクライアント装置6と1または2以上の他のユーザのクライアント装置6との間において情報の通信が許容される関係である通信コネクション(以下、説明の便宜上、単に「コネクション」と表現することがある。)が存在することを示す情報として、当該コネクションに属する各ユーザによってそれぞれ任意に指定された当該ユーザのプロフィール情報を相互に関連付けて記憶する。
【0050】
データベース20は、さらに、コネクションに属するユーザごとに設定された当該コネクションの有効期限を記憶する。
【0051】
データベース20は、コネクションテーブル21と、プロフィールテーブル22と、コマンドキューテーブル23と、アップデートテーブル24と、アカウントマスタテーブル25とを備えている。
【0052】
サーバ側通信制御部10は、コネクション作成手段11と、コネクション加入手段12と、通信中継手段13と、コネクション離脱手段14と、サーバ側コネクション自動離脱手段15と、サーバ側コネクション離脱予告通知手段16と、コネクション自動延長手段17とを備えている。
【0053】
コネクション作成手段11は、2つのクライアント装置6、6から、それぞれ、コネクションの作成を求める信号であって当該クライアント装置6のユーザによって任意に指定された当該ユーザのプロフィール情報を含むコネクション作成要求信号を受信すると、双方のプロフィール情報を相互に関連付けてデータベース20に記憶することで、当該コネクションを作成する。
【0054】
コネクション加入手段12は、クライアント装置6から、既存のコネクションへの加入を求める信号であって当該クライアント装置6のユーザによって任意に指定された当該ユーザのプロフィール情報を含むコネクション加入要求信号を受信すると、当該既存のコネクションに属するユーザのクライアント装置6からの当該加入を許可する旨の加入許可信号を受信したことを条件として、当該クライアント装置6のユーザのプロフィール情報を既存のコネクションに属するユーザの当該コネクションに係るプロフィール情報と相互に関連付けてデータベース20に記憶することで、当該クライアント装置6のユーザの当該既存のコネクションへの加入を実現する。
【0055】
通信中継手段13は、クライアント装置6から、プロフィール表示手段31(後述)によって当該クライアント装置6に表示されたプロフィール情報またはプロフィールインデックス情報を特定して情報の通信を求める情報通信要求信号を受信すると、当該クライアント装置6と、情報通信要求信号によって特定された相手方のクライアント装置6との間における情報の通信を中継する。
【0056】
コネクション離脱手段14は、クライアント装置6から、当該クライアント装置6のユーザの属するコネクションからの離脱を求めるコネクション離脱要求信号を受信すると、データベース20に記憶されている当該ユーザの当該コネクションに係るプロフィール情報と当該コネクションに属する他のユーザの当該コネクションに係るプロフィール情報との関連付けを解除することで、当該クライアント装置6のユーザを当該コネクションから離脱させる。
【0057】
サーバ側コネクション自動離脱手段15は、サーバ側通信制御部10に設けられたコネクション自動離脱手段であって、ユーザについてコネクションの有効期限が切れているか否かを、データベース20に記憶されたデータに基づいて判定し、有効期限が切れていると判定した場合に、データベース20に記憶されている当該有効期限の切れているユーザの当該コネクションに係るプロフィール情報と当該コネクションに属する他のユーザの当該コネクションに係るプロフィール情報との関連付けを解除することで、当該ユーザを当該コネクションから自動的に離脱させる。
【0058】
サーバ側コネクション離脱予告通知手段16は、サーバ側通信制御部10に設けられたコネクション離脱予告通知手段であって、ユーザについてコネクションの有効期限が切れる所定期間前であるか否かを、データベース20に記憶されたデータに基づいて判定し、有効期限が切れる所定期間前であると判定した場合に、当該ユーザのクライアント装置6に、当該コネクションからの離脱予告を通知する。
【0059】
コネクション自動延長手段17は、クライアント装置6から他のクライアント装置6に対してコネクションを利用した情報の通信が実行された場合に、データベース20に記憶された当該クライアント装置6のユーザについてのコネクションの有効期限を自動的に延長する。
【0060】
図3は、クライアント装置6の構成を例示するブロック図である。
【0061】
図3に示すように、この実施形態においては、クライアント装置6は、クライアント側通信制御部30とローカルデータベース40とを備えている。
【0062】
ローカルデータベース40は、情報通信手段8を介してサーバ装置4のデータベース20から読み込まれたデータを記憶している。ローカルデータベース40には、上記データ以外に、クライアント装置6固有のデータも記憶されている。すなわち、ローカルデータベース40は、データベース20に記憶されたデータおよびクライアント装置6固有のデータに基づいて構成されている。
【0063】
ローカルデータベース40を用いることで、データベース20に記憶されたデータに基づいて実行されるクライアント装置6における処理が、データベース20にアクセスすることなく実行可能となる。
【0064】
このため、当該処理を実行する際に必要となるデータ取得のための時間を、大幅に低減することができる。また、サーバ装置4と通信不能な状態であっても、当該処理の実行が可能となる。
【0065】
なお、ローカルデータベース40を、クライアント装置6固有のデータのみに基づいて構成することもできる。ただし、この場合には、上記のクライアント装置6における処理を実行する際、サーバ装置4のデータベース20にアクセスすることが必要となる。
【0066】
ローカルデータベース40は、ローカルコネクションテーブル41と、ローカルプロフィールテーブル42と、ローカルコマンドキューテーブル43と、ローカルメンバーテーブル44と、ローカルメッセージセッションテーブル45と、ローカルメッセージ履歴テーブル46と、ローカル公開中コネクションテーブル47と、ローカルリクエスト中コネクションテーブル48とを備えている。
【0067】
このうち、ローカルコネクションテーブル41、ローカルプロフィールテーブル42、ローカルコマンドキューテーブル43は、それぞれ、データベース20のコネクションテーブル21、プロフィールテーブル22、コマンドキューテーブル23に対応する。
【0068】
クライアント側通信制御部30は、プロフィール表示手段31と、クライアント側コネクション自動離脱手段32と、クライアント側コネクション離脱予告通知手段33とを備えている。
【0069】
プロフィール表示手段31は、データベース20に記憶されたデータに基づいて、当該クライアント装置6のユーザの属するコネクションに属する他のユーザであって当該クライアント装置6との間において情報の通信が許容されているクライアント装置6のユーザの当該コネクションに係るプロフィール情報および/または当該プロフィール情報を示すプロフィールインデックス情報を取得して、当該クライアント装置6に表示する。
【0070】
クライアント側コネクション自動離脱手段32は、クライアント側通信制御部30に設けられたコネクション自動離脱手段であって、ユーザについてコネクションの有効期限が切れているか否かを、データベース20に記憶されたデータに基づいて判定し、有効期限が切れていると判定した場合に、データベース20に記憶されている当該有効期限の切れているユーザの当該コネクションに係るプロフィール情報と当該コネクションに属する他のユーザの当該コネクションに係るプロフィール情報との関連付けを解除することで、当該ユーザを当該コネクションから自動的に離脱させる。
【0071】
クライアント側コネクション離脱予告通知手段33は、クライアント側通信制御部30に設けられたコネクション離脱予告通知手段であって、ユーザについてコネクションの有効期限が切れる所定期間前であるか否かを、データベース20に記憶されたデータに基づいて判定し、有効期限が切れる所定期間前であると判定した場合に、当該ユーザのクライアント装置6に、当該コネクションからの離脱予告を通知する。
【0072】
図4は、
図2に示すサーバ装置4および
図3に示すクライアント装置6のハードウェア構成の一例を示すブロック図であって、サーバ装置4およびクライアント装置6として、それぞれ1台のコンピュータ用いた場合の例である。
【0073】
サーバ装置4は、とくに限定されるものではないが、この例では、一般的なサーバコンピュータと同様の構成である。
【0074】
サーバ装置4は、情報通信システム2のサーバ装置4側のプログラムを記憶した記録媒体であり、データベース20の記憶媒体でもあるハードディスクを備えたHDD(ハードディスクドライブ)等の補助記憶装置55、補助記憶装置55に記憶されたプログラムがロードされる主記憶装置54、主記憶装置54にロードされたプログラムを実行するサーバ側通信制御部10に対応するCPU51,LCD(液晶表示装置)等の表示装置52,キーボード、マウス、トラックパッド等の入力装置53、および、情報通信手段8を介してクライアント装置6と通信するための通信インタフェース56を備えている。
【0075】
クライアント装置6は、とくに限定されるものではなく、たとえばパーソナルコンピュータであってもよいし、タブレット型コンピュータであってもよいし、携帯情報端末装置であってもよいし、いわゆるスマートフォンに代表される携帯電話機であってもよい。
【0076】
クライアント装置6は、情報通信システム2のクライアント装置6側のプログラムを記憶した記録媒体であり、ローカルデータベース40の記憶媒体でもあるフラッシュメモリを搭載したSSD(ソリッドステートドライブ)等の補助記憶装置65、補助記憶装置65に記憶されたプログラムがロードされる主記憶装置64、主記憶装置64にロードされたプログラムを実行するクライアント側通信制御部30に対応するCPU61、LCD(液晶表示装置)等の表示装置62,入力キー、タッチパネル等の入力装置63、および、情報通信手段8を介してサーバ装置4と通信するための通信インタフェース66、を備えている。
【0077】
図4に示される1台のコンピュータ用いて構成されたクライアント装置6を、以後、クライアント端末6と表現することがある。
【0078】
情報通信手段8は、電気信号、光信号等に変換された情報を伝達するための通信手段であって、有線、無線の別を問わない。情報通信手段8として、インターネットに代表されるWAN(Wide Area Network)、LAN(Local Area Network)等のコンピュータネットワーク、電話回線(携帯電話回線を含む。)、専用回線等の通信回線、通信ケーブルや赤外線等による直接接続、あるいはこれらを組合わせたものが例示される。
【0079】
図5A、
図5B、
図5Cは、情報通信システム2におけるコネクションの各形態を模式的に表現した図面である。
【0080】
図5Aは、コネクションの基本となる形態であるプライベート(Private)コネクションを模式的に表現した図面である。
【0081】
プライベートコネクションは、1対1の関係を規定するコネクションであって、クライアント端末6、6、6、・・・・のユーザのうち、1つのユーザU1のプロフィール情報P1と、他の1つのユーザU2のプロフィール情報P2とを相互に関連付けてデータベース20に記憶することにより成立する。
【0082】
この場合、ユーザU1とユーザU2とは、クライアント端末6、6を用いて相互間で文字、音声、画像、映像などの情報の通信を行う(以後、「連絡をとり合う」と表現することがある。)ことが可能となるが、プライベートコネクションを利用して連絡をとる相手方に関する情報として、ユーザU1は、自己のクライアント端末6を介してユーザU2のプロフィール情報P2のみを知ることができ、ユーザU2は、自己のクライアント端末6を介してユーザU1のプロフィール情報P1のみを知ることができる。
【0083】
すなわち、プライベートコネクションに属する各ユーザU1、U2間においては、個人情報として、両ユーザU1、U2のプロフィール情報P1、P2が共有されるにすぎない。
【0084】
プライベートコネクションにおいては、当該プライベートコネクションに属する各ユーザU1、U2は対等であり、ともに、共有者と呼ばれる。
【0085】
図5Bは、コネクションの応用形態であるサークル(Circle)コネクションを模式的に表現した図面である。
【0086】
サークルコネクションは、多対多の関係(1対多の関係の集積。すなわち、サークルコネクションに属するいずれのユーザからみても1対多の関係が成立する関係)を規定するコネクションであって、クライアント端末6、6、6、・・・・のユーザのうち、たとえば4つのユーザU1、U2、U3、U4のそれぞれのプロフィール情報P3、P4、P5、P6を相互に関連付けてデータベース20に記憶するとともに、当該コネクションがサークルコネクションであることをデータベース20に記憶することにより成立している。
【0087】
この場合、いずれか1つのユーザたとえばユーザU1が、他の3つのユーザU2、U3、U4と個別に連絡をとり合ったり、いずれか1つのユーザたとえばユーザU1の送信した情報を、たとえば掲示板のように、同時に全員で共有したりすることができる。さらに、サークルコネクションの一部のユーザ(たとえばユーザU2、U3、U4)間で同一の情報を同時に共有するよう構成することもできる。
【0088】
そして、サークルコネクションに属する各ユーザU1、U2、U3、U4間においては、個人情報として、それぞれのプロフィール情報P3、P4、P5、P6が全員で共有される。
【0089】
さらに、サークルコネクションにおいては、サークルコネクションに属する各ユーザU1、U2、U3、U4間において、当該サークルコネクション自体のプロフィール情報を全員で共有するよう構成することもできる。
【0090】
このように構成することで、たとえば、既存のサークルコネクションに新たなユーザの加入を促す(以下、説明の便宜上「新たなユーザを招待する」のように表現することがある。)場合、既にサークルコネクションに属しているいずれのユーザが招待する場合であっても、自己のプロフィール情報に替えて、当該サークルコネクション自体のプロフィール情報を公開して、相手となるユーザを招待することができるので、好都合である。
【0091】
なお、この実施形態においては、1つのユーザ、たとえばユーザU1が所有者(発起人)となってサークルコネクションを立ち上げた後、他のユーザU2、U3、U4を招待することになる。サークルコネクションに属するユーザのうち所有者以外のユーザを、利用者と呼ぶ。
【0092】
サークルコネクションは、たとえば、趣味のサークルや学校の連絡網として用いることができる。学校の連絡網として用いる場合、たとえば、学級担任がサークルコネクションを立ち上げた後、クラスの生徒あるいは保護者を、その利用者として招待すればよい。
【0093】
この場合、当該学級のサークルコネクションについて、たとえば、当該学級が終了する時期に合わせた所定の有効期限を設けておけば(すなわち、サークルコネクションに属する各ユーザに係る有効期限を当該所定値に統一しておけば)、当該学級が終了するなどして連絡をとり合う必要がなくなった後、連絡網を自動的に消滅させることができる。
【0094】
このように、期間限定のサークルコネクションを活用することで、従来の紙ベースの電話連絡網や電子メールによる連絡網のように、不要となったあとも残る個人情報の管理に気を使う必要がなく、個人情報の拡散を有効に防止することができる。
【0095】
図5Cは、コネクションの他の応用形態であるスクエア(Square)コネクションを模式的に表現した図面である。
【0096】
スクエアコネクションは、1対多の関係を規定するコネクションであって、クライアント端末6、6、6、・・・・のユーザのうち、たとえば4つのユーザU1、U2、U3、U4のそれぞれのプロフィール情報P7、P8、P9、P10を相互に関連付けてデータベース20に記憶するとともに、当該コネクションがスクエアコネクションであることをデータベース20に記憶することにより成立している。
【0097】
スクエアコネクションにおいては、1つのユーザU1が所有者(発起人)となってスクエアコネクションを立ち上げた後、他のユーザU2、U3、U4を招待することになる。スクエアコネクション属するユーザのうち所有者以外のユーザを、利用者と呼ぶ。
【0098】
スクエアコネクションにおいては、所有者であるユーザU1は、利用者である他の3つのユーザU2、U3、U4と個別に連絡をとり合うことができるが、各利用者たとえばユーザU2は、所有者であるユーザU1との間で連絡をとり合うことはできるものの、他の利用者であるユーザU3、U4との間で個別に連絡をとり合うことはできない。また、所有者、利用者を問わず、いずれか1つのユーザの送信した情報を、たとえば掲示板のように、同時に全員で共有することができる。
【0099】
スクエアコネクションにおいては、所有者であるユーザU1は、自己のプロフィール情報P7を利用者全員に開示するが、各利用者たとえばユーザU2は、自己のプロフィール情報P8を所有者であるユーザU1に開示するが、他の利用者であるユーザU3、U4には開示しない。
【0100】
スクエアコネクションは、たとえば、企業や商店が所有者となって、顧客を利用者として招待する形で運用することができる。この場合、顧客は、自己の指定する任意のプロフィール情報を開示するだけでその利用者となることができ、さらに、いつでも簡単に当該スクエアコネクションから離脱することができるため、抵抗なく、加入することができる。また、企業や商店にとっても、顧客の個人情報の管理に気を使う必要がなく、個人情報の拡散を有効に防止することができる。
【0101】
図6は、サーバ装置4に備えられたデータベース20を構成するコネクションテーブル21のデータ構成の一例を示す図面である。
図7Aは、プロフィールテーブル22のデータ構成の一例を示す図面である。
図7Bは、アカウントマスタテーブル25のデータ構成の一例を示す図面である。
図8Aは、コマンドキューテーブル23のデータ構成の一例を示す図面である。
図8Bは、アップデートテーブル24のデータ構成の一例を示す図面である。
【0102】
図7Bに示すように、アカウントマスタテーブル25には、ユーザの属性に関するアカウント情報が記憶されている。アカウントマスタテーブル25に記憶された各レコードをアカウントレコードという。
【0103】
アカウントマスタテーブル25のフィールドのうち、ユーザID25aは、ユーザの識別標識である。
【0104】
なお、本明細書においては、とくに断らないかぎり、データベース20およびローカルデータベース40を構成する各テーブルのフィールド名に符号を付して表したもの(たとえば、「ユーザID25a」)は、当該フィールドのデータ(フィールド値)を表すものとする。
【0105】
パスワード25bは、ユーザが本システム2を利用する際のパスワード、氏名・ニックネーム25cは、本システム2を利用する際のユーザ自身の申告による通称、デフォルトメールアドレス25dは、本システム2からユーザへの連絡等に用いられるユーザの電子メールアドレスである。
【0106】
また、延長期間設定値25eは、ユーザ別コネクション(後述)の有効期限の延長期間のデフォルト値である。
【0107】
つぎに、
図6に示すコネクションテーブル21には、コネクションのうち当該コネクションに属する各ユーザに係る部分(以下、「ユーザ別コネクション」と表現することがある。)に関する情報、および、テンプレート(後述)に関する情報が記憶されている。
【0108】
コネクションテーブル21に記憶されたレコードのうち、ユーザ別コネクションに関する情報に係るレコードをユーザ別コネクションレコードといい、テンプレートに関する情報に係るレコードをテンプレートレコードという。
【0109】
コネクションテーブル21のフィールドのうち、レコードシリアル21aは、ユーザ別コネクションの識別標識、または、テンプレートの識別標識である。コネクションID21bは、ユーザ別コネクションの集合としてのコネクションの識別標識である。同一のコネクションID21bを付すことで、複数のユーザ別コネクションが相互に関連付けられる。コネクションテーブル21において、同一のコネクションID21bを有するユーザ別コネクションレコードの集合をコネクションレコードという。
【0110】
コネクションテーブル21のユーザID21cは、アカウントマスタテーブル25のユーザID25aと同一のデータであり、このユーザID21cとユーザID25aとにより、コネクションテーブル21のレコードと、アカウントマスタテーブル25のレコードとが関連付けられている。
【0111】
コネクション形態21dは、コネクションの形態を示すデータ、すなわち、"private"(プライベート)、"circle"(サークル)、もしくは"square"(スクエア)、または、当該レコードがテンプレートレコードであることを示すデータ、すなわち"template"により構成される。
【0112】
コネクション種別21eは、コネクションの種別を示す。この実施形態においては、コネクションによる相手方のユーザとの通信手段として、いわゆるSMS(Short Message Service)と同様に文字情報を用いる場合と、いわゆるインターネット電話と同様に音声情報を用いる場合とが例示されており、通信手段として前者を用いるコネクションの種別(コネクション種別)をメッセージといい、後者を用いるコネクション種別を通話という。
【0113】
なお、この発明の適用されるコネクションによる相手方のユーザとの通信手段は、上記例示に限定されるものではなく、電子メール、その他、文字、音声、画像、映像等の情報を通信する手段全般に本発明を適用することができる。
【0114】
ユーザは、通常、コネクションの作成、コネクションへの参加に際し、所望の1以上のコネクション種別を選択することができ、選択されたコネクション種別が、コネクション種別21eとして、データベース20に記憶される。
【0115】
コネクション所有状態21fは、当該ユーザ別コネクションにおけるユーザの地位を示す。
【0116】
有効期限21gは、ユーザ別コネクションの有効期限(以下、単に「有効期限」と表現することがある。)である。ユーザは、通常、自己のユーザ別コネクションについて、所望の有効期限を設定することができる。
【0117】
コネクションテーブル21の延長期間設定値21hは、ユーザ別コネクションの延長期間であって、通常、ユーザ別コネクションごとに当該ユーザによって所望の期間が設定される。
【0118】
図27に示す有効期限延長処理において、ユーザ別コネクションの延長期間として、コネクションテーブル21の延長期間設定値21hが優先的に使用され、コネクションテーブル21の延長期間設定値21hが有意なデータでない場合(たとえば、当該データが"Null"の場合)にかぎり、アカウントマスタテーブル25の延長期間設定値25eが用いられる。
【0119】
自動更新21iは、上記有効期限延長処理において、有効期限の自動更新を行うか否かを示すデータであり、このデータが"1"であれば自動更新を行い、"0"であれば自動更新を行わない。
【0120】
コネクション名21jは、ユーザ別コネクションおよびテンプレートの名称である。ユーザ別コネクションの場合、コネクション名21jは、コネクション形態ごとに、たとえば、つぎの情報がデフォルト値として用いられる。
【0121】
すなわち、プライベートコネクションの場合、相手方のプロフィール情報のうち、プロフィール代表情報(プロフィールを代表するプロフィール情報、この例では「氏名・ニックネーム」(
図7A参照))が、コネクション名21jとして用いられる。
【0122】
サークルコネクションおよびスクエアコネクションの場合、アバウトアス情報(後述)のうち、アバウトアス代表情報(アバウトアス(後述)を代表するアバウトアス情報)が、コネクション名21jとして用いられる。
【0123】
なお、ユーザ別コネクションの名称としてのコネクション名21jは、デフォルト値である相手方のプロフィール代表情報(たとえば「氏名・ニックネーム」)や、アバウトアス代表情報が、その後、プロフィール更新処理(後述)によって変更された場合であっても、当該変更がコネクション名21jに反映されることはなく、元の名称が維持される。
【0124】
相手方によるプロフィール代表情報等の更新の自由を認める一方で、自己にとって相手方等を特定する識別標識としてのコネクション名21jを元のまま維持するようにしたのである。
【0125】
もっとも、コネクション名21jは、自己が、所望の名前に変更することができる。自己にとって相手方等を特定する識別標識としてのコネクション名21jを、自己のわかり易いように変更できるようにしたのである。
【0126】
無効化21mは、ユーザ別コネクションが無効であるか否かを示すデータであり、このデータが"1"であれば当該ユーザ別通信が無効であり、"0"であれば有効であることを示す。
【0127】
ユーザ別コネクションを無効にすると、当該ユーザ別コネクションは存在しないとみなされ、その結果、当該ユーザ別コネクションに関連付けて記憶さている当該ユーザのプロフィール情報(後述)と、当該コネクションに係る他のユーザ別コネクションに関連付けて記憶さている他のユーザのプロフィール情報との関連付けが解除されることになる。これにより、当該ユーザが当該コネクションから離脱することになる。
【0128】
通知時刻21nは、当該ユーザ別コネクションに関し、当該コネクションからの離脱予告を当該ユーザの端末装置6に通知した時刻である。
【0129】
通知済21pは、上記当該コネクションからの離脱予告を当該ユーザの端末装置6に通知済みであるか否かを示すデータであり、このデータが"1"であれば通知済みであり、"0"であれば未通知である。
【0130】
つぎに、
図7Aに示すプロフィールテーブル22には、ユーザのプロフィール情報が記憶されている。
【0131】
プロフィールテーブル22のフィールドのうち、レコードシリアル22aは、コネクションテーブル21のレコードシリアル21aと同一のデータであり、このレコードシリアル21aとレコードシリアル22aとにより、コネクションテーブル21のレコードと、プロフィールテーブル22のレコードとが関連付けられている。
【0132】
項目名22bは、プロフィール情報の項目名である。項目値22cは、項目名に対応するプロフィール情報である。
【0133】
プロフィールテーブル22に記憶されたプロフィール情報のうち、コネクションの作成やコネクションへの参加に先立ってコネクションの用途や目的に応じてユーザが予め準備したものをとくにテンプレート情報という。
【0134】
なお、プロフィールテーブル22のレコードがテンプレート情報を示すものか否かは、当該レコードとリンクしているコネクションテーブル21のレコードのコネクション形態21dが"template"であるか否かによって判断することができる。
【0135】
同一のレコードシリアル22aを有するプロフィール情報の集合をプロフィールと表現し、同一のレコードシリアル22aを有するテンプレート情報の集合をテンプレートと表現することがある。
【0136】
つぎに、
図8Aに示すコマンドキューテーブル23には、コマンドキュー処理(後述)に関する情報が記憶されている。
【0137】
コマンドキューテーブル23のフィールドのうち、レコードシリアル23aは、コネクションテーブル21のレコードシリアル21aと同一のデータであり、このレコードシリアル21aとレコードシリアル23aとにより、コネクションテーブル21のレコードと、コマンドキューテーブル23のレコードとが関連付けられている。コマンドキューテーブル23のレコードをコマンドレコードという。
【0138】
コマンド23bは、コマンドキュー処理によって蓄積されたコマンド(命令)である。オプション23cは、コマンドの実行に用いるためのデータである。キュー時刻23dは、コマンドキュー処理の行われた時刻である。
【0139】
つぎに、
図8Bに示すアップデートテーブル24は、アップデート処理(後述)に関する情報が記憶されている。
【0140】
アップデートテーブル24のフィールドのうち、レコードシリアル24aは、コネクションテーブル21のレコードシリアル21aと同一のデータであり、このレコードシリアル21aとレコードシリアル24aとにより、コネクションテーブル21のレコードと、アップデートテーブル24のレコードとが関連付けられている。アップデートテーブル24のレコードをアップデートレコードという。
【0141】
通知済みフラグ24bは、サーバ装置4から該当するクライアント端末6に、アップデート処理を実行するよう通知したか否かを示すデータであり、通知した場合には"1"が書き込まれる。
【0142】
処理済みフラグ24cは、当該クライアント端末6においてアップデート処理が実行されたか否かを示すデータであり、実行された場合には"1"が書き込まれる。
【0143】
コマンド24d、オプション24e、キュー時刻24fは、それぞれ、コマンドキューテーブル23のコマンド23b、オプション23c、キュー時刻23dと同一のデータである。
【0144】
通知時刻24gは、サーバ装置4から該当するクライアント端末6に、アップデート処理を実行するよう通知した時刻である。処理完了時刻24hは、当該クライアント端末6においてアップデート処理が完了した時刻である。
【0145】
図9Aは、各ユーザのクライアント端末6に備えられたローカルデータベース40を構成するローカルコネクションテーブル41のデータ構成の一例を示す図面である。
図9Bは、ローカルプロフィールテーブル42のデータ構成の一例を示す図面である。
図10Aは、ローカルメンバーテーブル44のデータ構成の一例を示す図面である。
図10Bは、ローカルメッセージセッションテーブル45のデータ構成の一例を示す図面である。
図10Cは、ローカルメッセージ履歴テーブル46のデータ構成の一例を示す図面である。
【0146】
図9Aに示すローカルコネクションテーブル41は、データベース20のコネクションテーブル21を構成するレコードのうち、当該ユーザに係るレコードと同一内容のレコードにより構成されている。
【0147】
つぎに、
図9Bに示すローカルプロフィールテーブル42は、データベース20のプロフィールテーブル22を構成するレコードのうち、当該ユーザ、および、当該ユーザの属するコネクションに属する他のユーザであって当該ユーザの端末装置6との間において情報の通信が許容されている端末装置6のユーザ、に係るレコードと同一内容のレコードにより構成されている。
【0148】
つぎに、
図10Aに示すローカルメンバーテーブル44には、当該ユーザの属するコネクションに属するユーザが符号化して記憶されている。
【0149】
ローカルメンバーテーブル44のフィールドのうち、メンバーID44bは、当該ユーザの属するコネクションに属するユーザを符号化したデータである。この実施形態においては、コネクションごとに、自己を"0"とし、他のユーザを"1"、"2"、"3"、・・・として記憶している。
【0150】
コネクションID44a、レコードシリアル44cは、それぞれ、コネクションテーブル21のコネクションID21b、レコードシリアル21aと同一のデータであり、このレコードシリアル21aとレコードシリアル44cとにより、コネクションテーブル21のレコードと、ローカルメンバーテーブル44のレコードとが関連付けられている。
【0151】
ローカルメンバーテーブル44のレコードは、たとえば、新たなコネクション作成の際、あるいは、既存のコネクションへの新たなユーザの加入が行われた際に、追加される。
【0152】
つぎに、
図10Bに示すローカルメッセージセッションテーブル45には、メッセージセッション(後述)の構成に関する情報が記憶されている。
【0153】
ローカルメッセージセッションテーブル45のフィールドのうち、メッセージセッションID45aは、メッセージセッションの識別標識である。
【0154】
メンバーIDリスト45cは、当該メッセージセッションに参加したユーザ(以下、「参加メンバー」と表現することがある。)のリストを示すデータである。リストに含まれる各参加メンバーを示すデータは、ローカルメンバーテーブル44のメンバーID44bと同一の値が用いられる。
【0155】
コネクションID45bは、ローカルメンバーテーブルのコネクションID44aと同一のデータである。
【0156】
したがって、メンバーIDリスト45cおよびコネクションID45bと、メンバーID44bおよびコネクションID44aとにより、ローカルメッセージセッションテーブル45のレコードと、ローカルメンバーテーブル44のレコードとが関連付けられている。
【0157】
つぎに、
図10Cに示すローカルメッセージ履歴テーブル46には、メッセージセッションの履歴に関する情報が記憶されている。
【0158】
ローカルメッセージ履歴テーブル46のフィールドのうち、メッセージセッションID46aは、ローカルメッセージセッションテーブル45のメッセージセッションID45aと同一のデータであり、このメッセージセッションID45aとメッセージセッションID46aとにより、ローカルメッセージセッションテーブル45のレコードと、ローカルメッセージ履歴テーブル46のレコードとが関連付けられている。
【0159】
メンバーID46bは、当該メッセージを発信したユーザを示し、ローカルメッセージセッションテーブル45のメンバーIDリスト45cを構成する参加メンバーを示すデータと同一である。
【0160】
メッセージ46dは、当該メッセージセッションにおいてメンバーID46bで示される参加メンバーが送信したメッセージの内容である。
【0161】
受信日時46cは、上記メッセージが受信された日時である。
【0162】
図11〜
図30は、情報通信システム2における処理の流れの一例を示すフローチャートである。
図31A〜
図41Bは、情報通信システム2における処理においてクライアント端末6の表示装置62に表示される表示画面(以下、単に「画面」と表現することがある。)の例を示す図面である。
【0163】
図11〜
図41Bを参照しつつ、情報通信システム2における処理手順について説明する。
【0164】
なお、本出願に含まれる図面において、<>内に記載された文字は、データの項目名を表し、<項目名>で示されたものは、とくに断らないかぎり、当該項目名で示された項目のデータを表すものとする。項目名が、データベース20またはローカルデータベース40を構成する各テーブルにおけるフィールド名である場合は、とくに断らないかぎり、<フィールド名>は、当該テーブルにおける該当するフィールドのデータを表すものとする。また、""内に記載された文字は、データそのものを表すものとする。
【0165】
この実施形態においては、上述のように、各クライアント端末6は、それぞれ、ローカルデータベース40を備えており、これらのローカルデータベース40と、サーバ装置4のデータベース20とは、一部、同一内容のデータを記憶している。したがって、情報通信システム2における処理においては、データベース20と複数のローカルデータベース40との間における同期処理が必要となる。この同期処理に関連して、アップデート処理が実行される。
【0166】
図11は、情報通信システム2におけるアップデート処理に関連する処理の基本的な手順の概要を説明するためのフローチャートである。ここにいうアップデート処理とは、1のクライアント端末6またはサーバ装置4において発生したイベントに起因して、他のクライアント端末6において必要となる処理(コマンド)をいう。
【0167】
アップデート処理として、たとえば、コネクション破棄コマンド処理(コマンド:deleteConnection)、コネクション破棄予告通知コマンド処理(コマンド:notifyDeleteConnection)、プロフィール更新コマンド処理(コマンド:updateProfile)、メッセージ受信ローカル処理(コマンド:receiveMsg)を挙げることができる。これらの処理については後述する。
【0168】
図11に示すように、アップデート処理に関連して、まず、クライアント端末6またはサーバ装置4においてコマンド処理が実行される。すなわち、クライアント端末6またはサーバ装置4において各種イベントが発生すると、発生したイベントに対応するコマンドが、サーバ装置4のコマンドキューテーブル23に書き込まれる(ステップS1)。
【0169】
続いて、サーバ装置4において、コマンド展開処理、通知サービス処理が行われる。コマンド展開処理においては、サーバ装置4のCPU51は、コマンドキューテーブル23から1レコード分のコマンドレコードを読み出し(ステップS2)、読み出したコマンドレコードによる処理の対象となるユーザをコネクションテーブル21から抽出し(ステップS3)、抽出されたユーザ毎にコマンドを展開し、アップデートレコードとしてアップデートテーブル24に書き込む(ステップS4)。
【0170】
通知サービス処理において、サーバ装置4のCPU51は、アップデートテーブル24から、通知済みフラグ24bが"0"で、かつ、最古のアップデートレコードを読み出し(ステップS5)、読み出したアップデートレコードに該当するユーザのクライアント端末6の状態を判定し(ステップS6)、オンラインであれば、当該クライアント端末6においてアップデート処理が必要である旨の通知を、情報通信手段8を介して、当該クライアント端末6に直接行い(ステップS7)、オフラインであれば、オンラインになったときに通知を行うよう、たとえば、OS(Operating System)に標準装備されたプッシュ通知サービスに登録し(ステップS8)、当該アップデートレコードの通知済みフラグ24bを"1"にセットして当該レコードを更新したのち(ステップS9)、制御をステップS5に戻して、該当するアップデートレコードがなくなるまで、当該処理を繰り返す。
【0171】
クライアント端末6においては、クライアント端末側アップデート通知受信処理が実行される。クライアント端末側アップデート通知受信処理において、クライアント端末6のCPU61は、サーバ装置4から、アップデート処理が必要である旨の通知を受信すると(ステップS10)、サーバ装置4のアップデートテーブル24から、当該クライアント端末6のユーザに係るアップデートレコードであって、処理済みフラグ24cが"0"で、かつ、最古のアップデートレコードを読み出し(ステップS11)、読み出したアップデートレコードに係るアップデート処理を実行する(ステップS12)。
【0172】
アップデート処理が終了すると、クライアント端末6のCPU61は、当該アップデートレコードの処理済みフラグ24cを"1"にセットして当該レコードを更新したのち(ステップS13)、当該クライアント端末6に係る未処理のアップデートレコードが残っているか否かを判断し(ステップS14)、残っている場合は、制御をステップS11に戻して、該当するアップデートレコードがなくなるまで、当該処理を繰り返す。
【0173】
つぎに、
図12は、アプリ起動・メインルーチンを表すフローチャートである。
図12に基づいて、クライアント端末6におけるアプリ起動処理およびメインルーチンについて説明する。
【0174】
本システム2のクライアント端末6におけるプログラム(以下、「アプリ」と表現することがある。)が起動されると、CPU61は、まず、クライアント端末アプリ起動処理を実行する(ステップS15)。
【0175】
図13に示すように、クライアント端末アプリ起動処理において、CPU61は、まず、ローカルコネクションテーブル41に記憶されているデータに基づいて、有効期限41gが切れているユーザ別コネクションの存否を判断し、存在すれば、これを抽出し(ステップS24)、当該ユーザ別コネクションに係るコネクション破棄ローカル処理を実行する(ステップS25)。
【0176】
図14Aに示すように、コネクション破棄ローカル処理において、CPU61は、当該抽出されたユーザ別コネクションに係るレコード(図面においては、「レコードシリアルにより特定されたコネクションレコード」と表現することがある。)を当該処理の対象レコードとして特定し(ステップS32)、当該対象レコードの無効化41mに"1"をセットして当該対象レコードを更新する(ステップS33)。
【0177】
さらに、ローカルプロフィールテーブル42に記憶されている当該対象レコードと関連付けられたレコードを削除し(ステップS34)、当該対象レコード(上記ユーザ別コネクションに係るレコード)を対象とするコネクション破棄コマンド(deleteConnection)をローカルコマンドキューテーブル43に書き込む(ステップS35)。なお、とくに図示しないが、ローカルコマンドキューテーブル43のデータ構成は、サーバ装置4のコマンドキューテーブル23のそれと同様である。
【0178】
図13に戻って、CPU61は、ローカルコネクションテーブル41に記憶されているデータに基づいて、有効期限41gの所定期間前、すなわち、通知時刻に達しており、かつ、未通知のユーザ別コネクションの存否を判断し、存在すれば、これを抽出し(ステップS26)、当該ユーザ別コネクションに係るコネクション破棄予告通知ローカル処理を実行する(ステップS27)。
【0179】
図14Bに示すように、コネクション破棄予告通知ローカル処理において、CPU61は、当該抽出されたユーザ別コネクションに係るレコードを当該処理の対象レコードとして特定し(ステップS36)、当該クライアント端末6の表示装置62に、当該ユーザ別コネクションを所定期間後に破棄する旨の予告を表示する(ステップS37)。
【0180】
そして、当該対象レコードの通知済み41pに"1"をセットするとともに、通知時刻41nに当該予告通知の時刻を書き込んで当該対象レコードを更新し(ステップS38)、さらに、サーバ装置4のコネクションテーブル21に記憶されている、当該対象レコードと同一のレコードの通知済み21pに"1"をセットするコマンドをローカルコマンドキューテーブル43に書き込む(ステップS39)。
【0181】
図13に戻って、CPU61は、自己のクライアント端末6がオンラインになっているか否かを判断し(ステップS28)、オンラインになっている場合は、ローカルコマンドキューテーブル43からレコードを読み出し(ステップS29)、読み出したレコードをサーバ装置4のコマンドキューテーブル23に転送するとともに(ステップS30)、サーバ装置4に対し、当該クライアント端末6へのアップデート通知等があれば通知するよう要求して(ステップS31)、クライアント端末アプリ起動処理(ステップS15)を終了する。オフラインの場合は、何もせずに、クライアント端末アプリ起動処理を終了する。
【0182】
図12に戻って、CPU61は、つぎに、自己のクライアント端末6の表示装置62に所定の初期画面(たとえば、
図31Aに示す画面71)を表示したのち(ステップS16)、自己のクライアント端末6における各種処理(たとえば、他のユーザに対するメッセージの送信処理)を要する信号が入力装置63から入力されたか否かを監視しており、入力された場合は当該処理を実行する(ステップS17〜ステップS19)。なお、上記初期画面として、直近のアプリ終了時点における画面を用いることもできる。
【0183】
そして、自己のクライアント端末6がオンラインになっているか否かを判断し(ステップS20)、オンラインになっている場合は、ローカルコマンドキューテーブル43からレコードを読み出し(ステップS21)、読み出したレコードをサーバ装置4のコマンドキューテーブル23に転送するとともに(ステップS22)、サーバ装置4に対し、当該クライアント端末6へのアップデート通知等があれば通知するよう要求したあと(ステップS23)、制御をステップS17に戻す。オフラインの場合は、何もせずに、制御をステップS17に戻す。
【0184】
一方、上述のように(
図11参照)、サーバ装置4において、CPU51は、定期的に、コマンド展開処理、通知サービス処理を実行しており、コマンドキューテーブル23を介して、1のクライアント端末6からコマンドを受信すると、当該コマンドに応じて定められたサーバ装置4自身における処理(たとえば、データベース20の更新処理)を実行するとともに、必要に応じ、他のクライアント端末6に対し、当該コマンドに係るアップデート通知を送信する。
【0185】
当該他のクライアント端末6は、サーバ装置4からアップデート通知を受信すると、上記メインルーチン(
図12のステップS17〜ステップS23)への割り込み処理として、上記クライアント端末側アップデート通知受信処理を実行するのである。
【0186】
たとえば、上述のクライアント端末6において実行されたコネクション破棄ローカル処理(
図14A参照)のステップS35においてローカルコマンドキューテーブル43に書き込まれたコネクション破棄コマンド(deleteConnection)は、クライアント端末アプリ起動処理(
図13参照)のステップS29〜ステップS30、または、当該クライアント端末6のメインルーチン(
図12参照)のステップS21〜ステップS22において、サーバ装置4のコマンドキューテーブル23に転送される。
【0187】
コマンドキューテーブル23を介して、当該クライアント端末6からコネクション破棄コマンドを受信すると、サーバ装置4のCPU51は、当該コネクション破棄コマンドについて定められたサーバ装置4自身における処理を実行する。
【0188】
このコネクション破棄コマンドについて定められたサーバ装置4自身における処理は、コマンド展開処理(
図11参照)によって展開されてアップデート処理の対象となったコネクションテーブル21のレコード(アップデート対象レコード)について、無効化21mに"1"をセットして更新するとともに、プロフィールテーブル22に記憶されている当該アップデート対象レコードと関連付けられたレコードを削除する処理である。
【0189】
なお、上記コネクション破棄コマンドに係るアップデート対象レコードは、当該コネクション破棄コマンドの対象レコード(ユーザ別コネクションに係るレコード)のコネクション所有状態21fが"利用者"の場合は、当該対象レコードのみであり、コネクション所有状態21fが"共有"または"所有者"の場合は、当該対象レコードの属するコネクションに属する全てのレコードである。
【0190】
そして、サーバ装置4のCPU51は、当該コネクション破棄コマンドの対象レコード以外にアップデート対象レコードが存在する場合は、当該アップデート対象レコードに係る他のクライアント端末6に対し、当該コネクション破棄コマンドに係るアップデート通知を送信する(
図11、ステップS7、ステップS8参照)。
【0191】
図15Aは、当該アップデート通知を受信した当該他のクライアント端末6におけるクライアント端末側アップデート通知受信処理(
図11参照)において実行されるアップデート処理(ステップS12)のひとつであるコネクション破棄コマンド処理の流れを例示したフローチャートである。
【0192】
コネクション破棄コマンド処理において、当該他のクライアント端末6のCPU61は、ローカルコネクションテーブル41の上記アップデート対象レコードについて、無効化41mに"1"をセットして更新するとともに(ステップS40)、ローカルプロフィールテーブル42に記憶されている当該アップデート対象レコードと関連付けられたレコードを削除する(ステップS41)。
【0193】
このように、1のクライアント端末6においてコネクション破棄ローカル処理(
図14A参照)が実行されると、当該処理に関連する他のクライアント端末6およびサーバ装置4においても同様の処理が自動的に実行され、その結果、これらのクライアント端末6のローカルデータベース40とサーバ装置4のデータベース20との間(具体的には、ローカルコネクションテーブル41とコネクションテーブル21との間、および、ローカルプロフィールテーブル42とプロフィールテーブル22との間)において、同一レコード(共有レコード)に関して同期がとられ、共有レコードの同一性が維持される。コネクション破棄ローカル処理以外の処理についても、同様である。
【0194】
さて、上記においては、有効期限に基づくユーザ別コネクションの破棄および破棄予告通知に関する処理を、クライアント端末6から開始する場合(
図13参照)について説明したが、これらの処理を、サーバ装置4から開始するよう構成することもできる。
【0195】
このように、クライアント端末6における処理から開始して、サーバ装置4および/または他のクライアント端末6における処理に波及する処理を、クライアントトリガー型の処理と表現し、サーバ装置4における処理から開始して、1または2以上のクライアント端末6における処理に波及する処理を、サーバトリガー型の処理と表現することがある。
【0196】
図16は、後者(サーバトリガー型の処理)の一例である有効期限管理サービス処理を示すフローチャートである。有効期限管理サービス処理を構成するステップS43〜ステップS46における処理は、それぞれ、前者(クライアントトリガー型の処理)すなわち、
図13のステップS24〜ステップS27における処理と同種の処理である。
【0197】
つまり、前者においてローカルデータベース40の各種テーブルにアクセスする処理は、後者においては、これらに対応するデータベース20の各種テーブルにアクセスする処理となる。
【0198】
図17Aに詳記されたステップS44のコネクション破棄サーバ処理、
図17Bに詳記されたステップS46のコネクション破棄予告通知サーバ処理は、それぞれ、
図14Aに詳記されたステップS25(
図13参照)のコネクション破棄ローカル処理、
図14B図に詳記されたステップS27(
図13参照)のコネクション破棄予告通知ローカル処理と同種の処理である。
【0199】
なお、
図17B図のコネクション破棄予告通知サーバ処理においては、
図14Bのコネクション破棄予告通知ローカル処理のステップS37に替えて、対象レコードに係るユーザに対するコネクション破棄予告通知コマンドをコマンドキューテーブル23に書き込む(ステップS52)。
【0200】
また、
図17B図のコネクション破棄予告通知サーバ処理においては、
図14Bのコネクション破棄予告通知ローカル処理のステップS39に相当する処理はない。
【0201】
このようにして、サーバトリガー型の処理である、
図17Aのコネクション破棄サーバ処理および
図17B図のコネクション破棄予告通知サーバ処理が終了すると、
図11に示すサーバ装置4によるコマンド展開処理および通知サービス処理を経て、該当するユーザにおけるクライアント端末側アップデート通知受信処理が行われる。
【0202】
このクライアント端末側アップデート通知受信処理において、
図17Aのコネクション破棄サーバ処理に対応するアップデート処理(ステップS12)として、上述の
図15Aに示すコネクション破棄コマンド処理が実行される。
【0203】
また、
図17B図のコネクション破棄予告通知サーバ処理に対応するアップデート処理(ステップS12)として、
図15Bに示すコネクション破棄予告通知コマンド処理が実行される。当該処理において、当該クライアント端末6のCPU61は、表示装置62に、当該ユーザ別コネクションを所定期間後に破棄する旨の予告を表示する(ステップS42)。
【0204】
つぎに、
図18に基づいて、プライベートコネクションにおけるコネクション作成処理について説明する。たとえば、ユーザによって、画面71(
図31A参照)の「+」ボタン101が操作(タップ、クリック等)されると、クライアント端末6のCPU61は、ローカルコネクションテーブル41と関連付けられたローカルプロフィールテーブル42からテンプレート情報を抽出し(ステップS54)、抽出したテンプレート情報に基づいて表示装置62にテンプレートを含む画面72を表示する(ステップS55)。この画面をコネクション作成画面72と表現することがある。
【0205】
コネクション作成画面72のうち、テンプレートの表示されている領域をテンプレート表示領域102という。テンプレート表示領域102に表示されるテンプレートは、ユーザによりテンプレート選択ボタン103が操作されると切り換わる。
【0206】
テンプレート選択ボタン103の操作により所望のテンプレートが選択されると(ステップS56)、ユーザにより当該テンプレートの利用態様が決定される。利用態様としては、そのまま利用したり(ステップS57)、修正して利用したり(ステップS58)する他、当該テンプレートを利用せずに新たなテンプレートを作成したり(ステップS59)することができる。
【0207】
なお、新たなテンプレートが作成されると、当該テンプレートに係るテンプレートレコードがローカルコネクションテーブル41に追加され、当該テンプレートを構成するテンプレート情報が、上記テンプレートレコードと関連付けて、ローカルプロフィールテーブル42に記憶される。
【0208】
このようにして決定されたテンプレートが、当該コネクションにおける当該ユーザのプロフィールとなり、当該テンプレートを構成するテンプレート情報が、当該コネクションにおける当該ユーザのプロフィール情報となる。
【0209】
つぎに、ユーザによってコネクションの作成方法が選択される(ステップS60)。この選択は、コネクション作成画面72に表示されたコネクションの作成方法を選択するための3つのボタン、すなわち、「シェーク」ボタン104、「QRコード」ボタン105、「公開・検索」ボタン106のいずれが操作されるかによって行われる。
【0210】
「シェーク」ボタン104が操作されるとシェーク処理(ステップS61)によるコネクション作成処理が開始され、「QRコード」ボタン105が操作されるとQRコード処理(ステップS62)によるコネクション作成処理が開始され、「公開・検索」ボタン106が操作されると公開・検索処理(ステップS63)によるコネクション作成処理が開始される。
【0211】
図19は、シェーク処理によるコネクション作成処理の手順を示すフローチャートの一例である。ユーザにより、コネクション作成画面72の「シェーク」ボタン104、「コネクション作成」ボタン107がこの順に操作されると、CPU61は、シェーク待ちである旨を表示する画面(図示せず)を表示装置62に表示し(ステップS64)、ユーザによる端末装置6のシェーク操作(端末装置6を振り動かすこと)を監視する(ステップS65、ステップS66)。
【0212】
シェーク操作の監視中にユーザからのキャンセル操作の有無も監視しており(ステップS75)、キャンセル操作があった場合はその旨の表示を行い(ステップS77)、シェーク処理を終了する。
【0213】
ステップS66において、クライアント端末6に設けられた加速度センサー等(図示せず)により、端末装置6のシェーク操作を感知すると、CPU61は、クライアント端末6に装備されたGPS(Global Positioning System)機能等(図示せず)を用いて、当該クライアント端末6の現在の位置情報を取得するとともに(ステップS67)、クライアント端末6に装備された時計機能(図示せず)を用いて、現在の時刻情報を取得する(ステップS68)。
【0214】
CPU61は、取得したこれらの位置情報、時刻情報、および、当該クライアント端末6のユーザのプロフィール情報、ユーザIDを含むコネクション作成要求信号であるコネクション作成要求コマンドを、サーバ装置4に送信する(ステップS69)。コネクション作成要求コマンドに含まれるプロフィール情報は、上記ステップS56〜ステップS59において確定したものである。
【0215】
サーバ装置4のCPU51は、アカウントテーブル25等に基づいて当該コネクション作成要求コマンドの適格性等について認証を行う(ステップS78)。
【0216】
プライベートコネクションの作成方法としてシェーク処理が選択された場合、1のユーザに係る上記ステップS54(
図18参照)から上記ステップS78までの処理と同様の処理が、当該コネクションの相手方のユーザについても実行されることになる。
【0217】
サーバ装置4のCPU51は、受信した2つのコネクション作成要求コマンドに含まれる2つの位置情報および2つの時刻情報が、ともに所定の誤差範囲内であると判断した場合は、当該2つのコネクション作成要求コマンドに係る2つのクライアント端末6、6について、同一時刻に同一地点においてシェーク操作が実行されたと判断する。
【0218】
これにより、CPU51は、当該2つのコネクション作成要求コマンドが、相互にコネクションの作成を求める一対のコネクション作成要求コマンドであると判断し、コネクション設定処理を行う(ステップS79)。
【0219】
コネクション設定処理において、CPU51は、当該2つのコネクション作成要求コマンドに含まれる、2つのユーザのプロフィール情報を相互に関連付けてデータベース20に登録する。
【0220】
より具体的には、コネクション設定処理においてCPU51は、新たなコネクションID21bを発番し、当該コネクションID21bを共通にする2つのユーザ別コネクションレコードを作成してコネクションテーブル21(
図6参照)に登録する。この2つのユーザ別コネクションレコードは、相互にコネクションの作成を求める2つのユーザに係るものである。2つのユーザ別コネクションレコードには、各々の識別標識として、相異なるレコードシリアル21aが付与される。
【0221】
さらに、CPU51は、上記2つのユーザのプロフィール情報を、それぞれ、プロフィールテーブル22(
図7A参照)に登録する。プロフィールテーブル22に登録されたプロフィール情報に係るレコードシリアル22aと、上記コネクションテーブル21のレコードシリアル21aとにより、1のユーザについてのプロフィール情報とユーザ別コネクションレコードとが関連付けられている。
【0222】
そして、共通のコネクションID21bによって、2つのユーザ別コネクションレコードが関連付けられることで、2つのユーザのプロフィール情報が、データベース20において相互に関連付けられるのである。
【0223】
コネクション設定処理において、CPU51は、各ユーザのクライアント端末6に、それぞれ、当該ユーザに係るユーザ別コネクションに関する情報、および、当該コネクションに係るプロファイル情報(当該コネクションに係る双方のユーザに関するもの)を含む、コネクション作成が成功した旨の情報を送信する。
【0224】
なお、CPU51は、1のコネクション作成要求コマンドを受信したが、所定のタイムアウト期間内に他のコネクション作成要求コマンドを受信しない場合は、当該1のコネクション作成要求コマンドに係るユーザのクライアント端末6に、コネクション作成に失敗した旨の情報を送信する。
【0225】
図19に戻って、クライアント端末6のCPU61は、サーバ装置4からの応答を監視しており(ステップS70、ステップS71)、応答があった場合は、当該応答がコネクション作成が成功した旨の情報であるか否かを判断し(ステップS72)、コネクション作成が成功した旨の情報である場合は、受信した当該コネクション作成が成功した旨の情報に基づき、ローカルコネクションテーブル41に当該ユーザに係るユーザ別コネクションレコードを記憶させ、ローカルプロフィールテーブル42に、当該コネクションに係るプロファイル情報(当該コネクションに係る双方のユーザに関するもの)を記憶させる(ステップS73)。
【0226】
そして、クライアント端末6の表示装置62に当該コネクションが作成された旨の表示を行い(ステップS74)、シェーク処理を終了する。
図32Aは、ステップS74において表示される画面73を例示したものである。この例では、相手方のユーザのプロフィール情報も表示されている。
【0227】
一方、ステップS71において、サーバ装置4から応答がない場合は、所定の待ち時間が経過したか否かを判断し(ステップS76)、待ち時間経過前であれば応答を待ち続け、待ち時間経過後であれば、表示装置62に、コネクションが作成されなかった旨の表示を行い(ステップS77)、シェーク処理を終了する。
【0228】
ステップS72において、サーバ装置4から、コネクション作成に失敗した旨の情報を受信した場合も、表示装置62に、コネクションが作成されなかった旨の表示を行い(ステップS77)、シェーク処理を終了する。
【0229】
図20は、QRコード処理によるコネクション作成処理の手順を示すフローチャートの一例である。ユーザにより、コネクション作成画面72(
図31B参照)の「QRコード」ボタン105、「コネクション作成」ボタン107がこの順に操作されると、クライアント端末6のCPU61は、当該ユーザがQRコードの表示を行う側か、表示されたQRコードの読み取りを行う側かを選択するための画面74(
図32B参照)を表示装置62に表示し、ユーザの選択を待つ(ステップS80)
【0230】
画面74の「表示」ボタン108が操作されると、CPU61は、当該ユーザがQRコードの表示を行うことを選択したものと判断し、QRコード取得処理を行う(ステップS81)。
【0231】
QRコード取得処理において、CPU61は、コネクション作成要求信号であるQRコードの発行を求める信号をサーバ装置4に送信し、これに応答してサーバ装置4から送信されてくるQRコードデータを受信する。QRコードの発行を求める信号には、自己のユーザID,QRコードの有効期限等の情報が含まれる。
【0232】
サーバ装置4のCPU51は、QRコードの発行を求める信号を受信すると、当該信号に含まれる各種情報をデータベース20に記憶し、さらに、QRコードを発行し、そのQRコードをデータベース20に記憶するとともに、QRコードの発行を求める信号の送信元のクライアント端末6に、QRコードデータを送信する(ステップS101)。
【0233】
QRコードデータを受信したクライアント端末6のCPU61は、当該QRコードデータに基づいて、表示装置62にQRコードを表示する(ステップS82)。
図33Aに、QRコードの表示された画面75を例示する。
【0234】
一方、ステップS80において、画面74(
図32B参照)の「読み取り」ボタン109が操作されると、CPU61は、当該ユーザが、相手方のユーザのクライアント端末6に表示されたQRコードの読み取りを行うことを選択したものと判断し、当該クライアント端末6に装備されているカメラ(図示せず)を起動して、QRコードの読み取りを行う(ステップS91)。QRコードの読み取りに際し、表示装置62に表示される画面76を、
図33Bに例示する。
【0235】
QRコードの読み取りを行った側のクライアント端末6のCPU61は、読み取ったQRコードのQRコードデータおよび自己のユーザIDを含むコネクション作成要求信号である当該QRコードの認証を要求する信号をサーバ装置4に送信する(ステップS92)。
【0236】
QRコードの認証を要求する信号を受信したサーバ装置4のCPU51は、受信したQRコードデータと、ステップS101において発行したQRコードのQRコードデータとを比較し、同一であると判断した場合は、当該2つのクライアント端末6,6間で、当該QRコードの表示と読み取りとが行われたと判断する(ステップS102)。
【0237】
これにより、CPU51は、上記QRコードの発行を求める信号と読み取ったQRコードの認証を要求する信号とが、相互にコネクションの作成を求める一対のコネクション作成要求コマンドであると判断し、コネクション設定処理を行う(ステップS103)。
【0238】
QRコード処理におけるコネクション設定処理(ステップS103)以後の処理は、上記シェーク処理(
図19参照)におけるコネクション設定処理(ステップS79)以後の処理と略同一であるので説明を省略する。
【0239】
なお、QRコード処理においては、各クライアント端末6のCPU61は、コネクション作成前に、たとえば、表示装置62の画面74の「Cancel」(取り消し)ボタン110が操作されるか否かを監視しており(ステップS84、ステップS94)、ボタン110が操作されると、サーバ装置4におけるコネクション作成は中止され、表示装置62に所定のエラー表示がなされる(ステップS90、ステップS100)。
【0240】
図21〜
図24Bは、公開・検索処理によるコネクション作成処理の手順を示すフローチャートの一例である。ユーザにより、コネクション作成画面72(
図31B参照)の「公開・検索」ボタン106、「コネクション作成」ボタン107がこの順に操作されると、クライアント端末6のCPU61は、当該ユーザが、自己のプロフィール情報や検索用コード(後述)を公開してコネクション作成のリクエストを受け付ける側か、公開された他人のプロフィール情報や検索用コードを検索してコネクション作成のリクエストをする側かを選択するための画面77(
図34A参照)を表示装置62に表示し、ユーザの選択を待つ(ステップS104)。
【0241】
画面77の「リクエストを受け付ける」ボタン112が操作されると、CPU61は、当該ユーザが自己のプロフィール情報や検索用コードを公開してコネクション作成のリクエストを受け付けることを選択したものと判断し、プロフィール公開リクエスト処理を行う(ステップS105)。
【0242】
プロフィール公開リクエスト処理においてCPU61は、公開を希望する自己のプロフィール情報、有効期限(リクエスト受付期間)、および自己のユーザIDを含むプロフィール公開リクエスト信号をサーバ装置4に送信し、これに応答してサーバ装置4から送信されてくる公開中のプロフィール情報および検索用コードを受信する。
【0243】
サーバ装置4のCPU51は、プロフィール公開リクエスト信号を受信すると、当該信号に含まれる各種情報をデータベース20に記憶するとともに、当該信号に含まれるプロフィール情報を公開中のプロフィール情報としてクライアント端末6に送信し、さらに、検索用コードを発番し、その検索用コードをデータベース20に記憶するとともにクライアント端末6に送信する(ステップS114)。
【0244】
つぎに、クライアント端末6のCPU61は、受信した公開中のプロフィール情報および検索用コードを含むレコードをローカル公開中コネクションテーブル47(
図3参照)に保存し(ステップS106)、表示装置62にこれらの情報を表示する(ステップS107)。
図34Bに、公開中のプロフィール情報113、有効期限114および検索用コード115の表示された画面78を例示する。
【0245】
このように、自己のプロフィール情報等を公開して相手方からのコネクション作成要求を待つユーザ別コネクションの候補(未作成のコネクションに係るユーザ別コネクション)を公開中コネクションと表現することがある。
【0246】
一方、ステップS104において、画面77(
図34A参照)の「検索してリクエストする」ボタン111が操作されると、CPU61は、当該ユーザが、公開された他人のプロフィール情報や検索用コードを検索してコネクション作成のリクエストをすることを選択したものと判断し、入力装置63を介してキーワードや検索用コード等の検索条件が入力されるのを待つ(ステップS108)。
【0247】
検索条件が入力されると、自己のユーザIDおよび入力された検索条件を含む公開プロフィール一覧の発行を要求する信号をサーバ装置4に送信し、これに応答してサーバ装置4から送信されてくる公開プロフィール一覧を含む検索結果を受信する(ステップS109)。
【0248】
公開プロフィール一覧の発行を要求する信号を受信したサーバ装置4のCPU51は、受信した検索条件にしたがってデータベース20を検索し、検索条件に適合する公開プロフィールを抽出するとともに、抽出した公開プロフィールに仮コネクションIDを付与し、抽出された公開プロフィールの一覧を、付与された仮コネクションIDとともに、検索結果としてクライアント端末6に送信する(ステップS115)。
【0249】
クライアント端末6のCPU61は、受信した検索結果に基づいて、公開プロフィールの一覧を表示装置62に表示する(ステップS110)。
図35Aに、公開プロフィールの一覧116の表示された画面79を例示する。公開プロフィールの一覧116は、公開中のプロフィール情報のうち、プロフィール代表情報(各プロフィールを代表するプロフィール情報、たとえば「氏名・ニックネーム」(
図7A参照)等)を一覧表示したものである。
【0250】
画面79の公開プロフィールの一覧116から、コネクションを作成したい相手のプロフィール代表情報117を選択すると、当該プロフィール全体118が表示される(ステップS111)。
図35Bは、当該ステップにおいて表示装置62に表示される画面80の一例である。
【0251】
画面80の「コネクションをリクエストする」ボタン119が操作されると、CPU61は、当該ユーザが、表示中のプロフィールに係るユーザとの間でコネクションを作成することを望んでいるものと判断し、サーバ装置4に対し、表示中のプロフィールに係る仮コネクションIDを含むコネクション作成要求信号であるコネクションリクエスト信号を送信するとともに(ステップS112)、リクエスト中のコネクションに係るプロフィール情報および仮コネクションIDを含むレコードをローカルリクエスト中コネクションテーブル48(
図3参照)に保存する(ステップS113)。
【0252】
サーバ装置4のCPU51は、コネクションリクエスト信号を受信する(ステップS116)。
【0253】
このように、上記公開中コネクションとの間でコネクションを作成することを要求して相手方からのコネクション作成要求を待つユーザ別コネクションの候補(未作成のコネクションに係るユーザ別コネクション)をリクエスト中コネクションと表現することがある。
【0254】
図22、
図23は、それぞれ、公開・検索処理において、公開中コネクション、リクエスト中コネクションが、どのように管理されるかを詳記したフローチャートの一例を示す図面である。
【0255】
図22に示す公開中コネクション管理処理において、サーバ装置4のCPU51は、
図21のステップS116の処理に続き、受信したコネクションリクエスト信号に係る公開中コネクションに係るユーザのクライアント端末6に対し、コネクションリクエスト信号を受信した旨の通知であるコネクションリクエスト受信通知を送信するとともに(ステップS135)、受信したコネクションリクエスト信号において特定された仮コネクションIDおよび相手方のプロフィール情報を送信する(ステップS136)。
【0256】
なお、公開中コネクションの有効期限が切れている場合は、当該公開中コネクションに係るステップS135の通知は送信せず、ステップS136において、タイムアウトである旨のエラーメッセージを送信する。
【0257】
一方、クライアント端末6のCPU61は、サーバ装置4からの上記コネクションリクエスト受信通知を待つとともに(ステップS117)、ユーザ自身による公開中コネクションのキャンセル操作(たとえば、
図34Bに示す画面78の「受付中止」ボタン120の操作)が行われたか否かを監視しており(ステップS118)、公開中コネクションのキャンセル操作が行われた場合は公開キャンセル処理(ステップS129、後述)を実行したあと制御をステップS117に戻し、当該キャンセル操作が行われなかったときは、サーバ装置4からの通知の有無を判断する(ステップS119)。
【0258】
サーバ装置4からの通知があった場合は、さらに、サーバ装置4からの情報を受信するとともに(ステップS120)、受信した通知がコネクションリクエスト受信通知であるか否かを判断し(ステップS121)、コネクションリクエスト受信通知である場合は、表示装置62に相手方のプロフィール情報を表示し(ステップS123)、当該相手方からのコネクション要求を承認するか、拒否するかについて、ユーザが選択するのを待つ(ステップS124、ステップS125)。
【0259】
ユーザから、入力装置63を介して、相手方からのコネクション要求を承認する旨の信号が入力されると、コネクション作成要求信号であるリクエスト承認コマンドをサーバ装置4に送信するとともに(ステップS126)、ステップS127、ステップS128の処理を実行したあと、制御をステップS117に戻す。ステップS127、ステップS128の処理は、それぞれ、シェーク処理(
図19参照)における同等の処理(ステップS73、ステップS74)と同様であるので、説明を省略する。
【0260】
ステップS125において、ユーザから、入力装置63を介して、相手方からのコネクション要求を拒否する旨の信号が入力されると、リクエスト拒否コマンドをサーバ装置4に送信したあと、制御をステップS117に戻す(ステップS134)。
【0261】
なお、この実施形態においては、上記リクエスト承認コマンド、リクエスト拒否コマンドは、いずれも、ローカルコマンドキューテーブル43、コマンドキューテーブル23を介して、サーバ装置4に伝えられる。
【0262】
サーバ装置4のCPU51は、リクエスト承認コマンドを受信すると、当該リクエスト承認コマンドと、ステップS116(
図21参照)において受信したコネクションリクエスト信号とが、相互にコネクションの作成を求める一対のコネクション作成要求コマンドであると判断し、コネクション設定処理を行う(ステップS137)。
【0263】
コネクション設定処理(ステップS137)における処理は、上記シェーク処理(
図19参照)におけるコネクション設定処理(ステップS79)と略同一であるので説明を省略する。
【0264】
なお、
図22のステップS121において、受信した通知が、タイムアウトである旨のエラーメッセージである場合は、クライアント端末6のCPU61は、表示装置62に当該エラーメッセージを表示したあと(ステップS132)、公開キャンセル処理を実行し、制御をステップS117に戻す(ステップS129)。
【0265】
また、ステップS119において、サーバ装置4からの通知がない場合、CPU61は、公開中コネクションの有効期限が切れているか否かについて判断し(ステップS130)、切れていない場合は、そのまま、制御をステップS117に戻し、切れている場合は公開キャンセル処理を実行したあと(ステップS129)、制御をステップS117に戻す。
【0266】
つぎに、
図23に示すリクエスト中コネクション管理処理において、サーバ装置4のCPU51は、公開中コネクションに係るユーザのクライアント端末6から、リクエスト承認コマンド(ステップS126参照)またはリクエスト拒否コマンド(ステップS134参照)を受信すると、当該コマンドに係るリクエスト中コネクションに係るユーザのクライアント端末6に、当該コマンドを受信した旨の受信通知を送信するとともに(ステップS148)、ステップS137(
図22参照)において作成されたコネクションレコードのうち、当該ユーザに係るユーザ別コネクションレコード等の情報を送信する(ステップS149)。
【0267】
一方、当該クライアント端末6のCPU61は、サーバ装置4からの上記受信通知を待つとともに(ステップS138)、当該ユーザ自身によるリクエスト中コネクションのキャンセル操作が行われたか否かを監視しており(ステップS139)、リクエスト中コネクションのキャンセル操作が行われた場合はリクエストキャンセル処理(ステップS146、後述)を実行したあと制御をステップS138に戻し、当該キャンセル操作が行われなかったときは、サーバ装置4からの通知の有無を判断する(ステップS140)。
【0268】
サーバ装置4からの通知があった場合は、さらに、サーバ装置4からの情報を受信するとともに(ステップS141)、受信した通知が、リクエスト承認コマンドを受信した旨の通知であるか否かを判断し(ステップS142)、リクエスト承認コマンドを受信した旨の通知である場合は、ステップS143、ステップS144、ステップS145の処理を実行したあと、制御をステップS138に戻す。
【0269】
ステップS144において、CPU61は、ローカルリクエスト中コネクションテーブル48に記憶されている当該リクエスト中コネクションに係るレコードを削除する。当該リクエスト中コネクションに係るコネクションが作成されたため、当該レコードが不要となったためである。
【0270】
ステップS143、ステップS145の処理は、それぞれ、シェーク処理(
図19参照)における同等の処理(ステップS73、ステップS74)と同様であるので、説明を省略する。
【0271】
なお、
図23のステップS142において、受信した通知が、リクエスト拒否コマンド、または、公開キャンセルコマンド(公開中コネクションに係るユーザにおいて当該公開中コネクションがキャンセルされた旨を伝えるコマンド)を受信した旨の通知である場合、クライアント端末6のCPU61は、表示装置62にその旨のエラーメッセージを表示したあと(ステップS147)、リクエストキャンセル処理を実行し、制御をステップS138に戻す(ステップS146)。
【0272】
また、ステップS140において、サーバ装置4からの通知がない場合、CPU61は、そのまま、制御をステップS138に戻す。
【0273】
図24A、
図24Bは、それぞれ、公開キャンセル処理、リクエストキャンセル処理の一例を示すフローチャートである。
【0274】
図24Aに示す公開キャンセル処理において、クライアント端末6のCPU61は、ユーザ自身による公開中コネクションのキャンセル操作(たとえば、
図34Bに示す画面78の「受付中止」ボタン120の操作)が行われると、サーバ装置4に対し、公開キャンセルコマンドを送信するとともに(ステップS150)、ローカル公開中コネクションテーブル47から、当該公開中コネクションに係るレコードを削除する(ステップS151)。
【0275】
図24Bに示すリクエストキャンセル処理において、クライアント端末6のCPU61は、ユーザ自身によるリクエスト中コネクションのキャンセル操作が行われると、サーバ装置4に対し、リクエストキャンセルコマンドを送信するとともに(ステップS152)、ローカルリクエスト中コネクションテーブル48から、当該リクエスト中コネクションに係るレコードを削除する(ステップS153)。
【0276】
つぎに、サークルコネクションにおけるコネクション加入処理(以下、単に「コネクション加入処理」と表現することがある。)について説明する。このコネクション加入処理の場合も、基本的な処理は、上記プライベートコネクションにおけるコネクション作成処理(
図18〜
図24B参照。以下、単に「コネクション作成処理」と表現することがある。)と同じである。
【0277】
ただし、上述のように、コネクション加入処理においては、サークルコネクションが1のユーザ(以下、「所有者」と表現することがある。)によって本システム2に既に登録されている点で、コネクション作成処理の場合と異なる。
【0278】
すなわち、コネクション加入処理に先だって、コネクションテーブル21およびローカルコネクションテーブル41に、当該サークルコネクションについての当該所有者に係るユーザ別コネクションレコードが登録され、プロフィールテーブル22およびローカルプロフィールテーブル42に、当該所有者に係るプロフィール情報が記憶されている。
【0279】
また、データベース20およびローカルデータベース40には、当該サークルコネクション自体のプロフィール情報(以下、「アバウトアス情報」と表現することがある。)が記憶されている。
【0280】
コネクション加入処理は、このような状況下で、所有者が新たなユーザ(以下、「利用者」と表現することがある。)を招待する場合の処理である。
【0281】
コネクション加入処理に際し、所有者は、公開するプロフィール情報として、個人のそれではなく、既定のアバウトアス(アバウトアス情報の集合)を用いることが一般的である。したがって、所有者側の処理としては、
図18のステップS54〜ステップS59の処理は不要となる。
【0282】
たとえば、所有者のクライアント端末6のCPU61によって、表示装置62に、当該コネクションのアバウトアス121を表示する画面85(
図38A参照)が表示された状態から、「メンバー限定」ボタン122が操作されると、CPU61は、表示装置62に画面86(
図38B参照)を表示する。
【0283】
つぎに、画面86の「招待する」ボタン123が操作されると、CPU61は、表示装置62に画面87(
図39A参照)を表示する。
【0284】
画面87における「シェーク」ボタン124、「QRコード」ボタン125、「招待相手を検索」ボタン126、「リクエストを受け付ける」ボタン127は、それぞれ、上記
図31Bの画面72における「シェーク」ボタン104、「QRコード」ボタン105、
図34Aの画面77における「検索してリクエストする」ボタン111、「リクエストを受け付ける」ボタン112に対応するボタンである。
【0285】
したがって、所有者によって、画面87における「シェーク」ボタン124、「QRコード」ボタン125が操作されると、それぞれ、上述のシェーク処理(
図19参照)、QRコード処理(
図20参照)と同様の処理が、所有者側の処理として実行され、「リクエストを受け付ける」ボタン127または「招待相手を検索」ボタン126が操作されると、上述の公開・検索処理(
図21〜
図24B参照)と同様の処理が、所有者側の処理として実行される。
【0286】
一方、利用者側の処理は、上記コネクション作成処理と同様に実行される。
【0287】
図39Bに示す画面88は、コネクション加入処理の公開・検索処理において、利用者のクライアント端末6の表示装置62に表示される画面の一例である。画面88は、コネクション作成処理の公開・検索処理において、ユーザのクライアント端末6の表示装置62に表示される画面80(
図35B参照)と同様の画面である。
【0288】
画面88の「参加リクエストを送る」ボタン128は、画面80の「コネクションをリクエストする」ボタン119に相当する。
【0289】
スクエアコネクションにおけるコネクション加入処理も、サークルコネクションにおけるコネクション加入処理と同様である。ただし、この実施形態では、サークルコネクションにおいては、新規の利用者を招待できるのは、所有者または当該サークルコネクションに登録されている利用者であるのに対し、スクエアコネクションにおいては、新規の利用者を招待できるのは、所有者のみである。
【0290】
また、サークルコネクションにおいては、所有者の公開するプロフィール情報として、所有者個人のそれではなく、既定のアバウトアス情報を用いるようにしているが、スクエアコネクションにおいては、所有者の公開するプロフィール情報として、所有者個人のプロフィール情報(スクエアコネクションにおいては、これをアバウトアス情報と呼ぶことがある。)を用いる。
【0291】
なお、サークルコネクションおよびスクエアコネクションのコネクション加入処理においてクライアント端末6からサーバ装置4に対して送信される信号であって、コネクション作成処理において用いられるコネクション作成要求信号に相当する信号のうち、招待される側のユーザのクライアント端末6から送信される信号がコネクション加入要求信号に相当し、招待する側のユーザのクライアント端末6から送信される信号が加入許可信号に相当する。
【0292】
図25、
図26は、コネクション種別としてメッセージ機能を利用する場合における処理の流れの一例を示すフローチャートであって、コネクションリストからメッセージ機能を利用する場合の例を示す。
【0293】
たとえば、クライアント端末6の表示装置62に表示されている画面71の「すべてのつながり」ボタン129が操作されると、CPU61は、ローカルコネクションテーブル41からすべてのユーザ別コネクションレコードのコネクション名41jを読み出し、読み出したコネクション名41jを一覧にまとめたリスト(コネクションリスト)を、表示装置62に表示する(ステップS154、ステップS155)。表示されたコネクションリスト130を例示したものが画面81(
図36A参照)である。
【0294】
なお、メッセージによる通信(メッセージセッション)の相手を絞り込むために、画面71(
図31A参照)の「すべてのつながり」ボタン129以外のボタンを操作することもできる。
【0295】
たとえば、コネクション種別で絞り込むには、画面71の「メッセージ」ボタン141を操作すればよい。「メッセージ」ボタン141が操作されると、CPU61は、ローカルコネクションテーブル41からコネクション種別41eに"メッセージ"を含むユーザ別コネクションレコードのコネクション名41jを読み出し、読み出したコネクション名41jを一覧にまとめたコネクションリストを、表示装置62に表示する。表示されたコネクションリストを例示したものが画面82(
図36B参照)である。
【0296】
また、コネクション形態(たとえばサークルコネクション)で絞り込むには、画面71の「サークル」ボタン142を操作すればよい。「サークル」ボタン142が操作されると、CPU61は、ローカルコネクションテーブル41からコネクション形態41dが"circle"であるユーザ別コネクションレコードのコネクション名41jを読み出し、読み出したコネクション名41jを一覧にまとめたコネクションリストを、表示装置62に表示する。表示されたコネクションリストを例示したものが画面83(
図37A参照)である。
【0297】
図36Aの画面81に戻って、コネクションリスト130に表示されたコネクション名41jのうち、プライベートコネクションに係るものが、プロフィールインデックス情報に該当する。
【0298】
ユーザにより、コネクションリスト130の中から、メッセージセッションが可能なことを示す標識(この例では、吹き出しの図形)の付されたコネクション名の1つが選択されると(ステップS156)、CPU61は、選択されたコネクション名に係るコネクション形態を、ローカルコネクションテーブル41に基づいて判断する(ステップS157)。
【0299】
たとえば、コネクションリスト130の中のボタン131が選択されると、CPU61は、コネクション形態がプライベートコネクションであると判断し、ローカルメンバーテーブル44に基づいて、当該セッションの当事者(セッションメンバー)のメンバーID44bを読み出して(ステップS158)、制御をステップS161に進める。
【0300】
プライベートコネクションの場合、セッションメンバーのメンバーID44bは、当該コネクションに係るコネクションID44aに対応する2つのメンバーID44b(すなわち、自己を表す"0"、および、相手となるユーザを表す"1")となる。
【0301】
一方、たとえば、ボタン132が操作されると、CPU61は、コネクション形態がサークルコネクションであると判断し、表示装置62に、
図37Bに示す、当該サークルコネクション専用のセッション選択画面84を表示する。
【0302】
セッション選択画面84には、当該サークルコネクションに属する自己以外の各ユーザのプロフィールインデックス情報を一覧にまとめたリスト(構成メンバー個別リスト)133が表示される。構成メンバー個別リスト133を構成する各ボタン137〜140には、各ユーザのプロフィールインデックス情報が、それぞれ、表示されている。
【0303】
セッション選択画面84には、構成メンバー個別リスト133の他に、当該サークルコネクション内における各グループのインデックス情報であるグループインデックス情報を一覧にまとめたリスト(グループリスト)134も表示されている。たとえば、グループリスト134を構成するボタン135は、当該サークルコネクションに属する全ユーザを構成メンバーとするグループに係るものであり、ボタン136は、当該サークルコネクションに属する2以上の特定のユーザを構成メンバーとするグループに係るものである。
【0304】
グループリスト134を構成する各ボタンに表示されるグループインデックス情報として、当該グループを構成する各ユーザのプロフィールインデックス情報が、たとえばボタン136のように直接的に、または、たとえばボタン135のように間接的に、表示されている。このように表示することで、連絡をとろうとするグループがどのユーザで構成されているかを知ることができる。
【0305】
セッション選択画面84において、ユーザにより、ボタン135〜ボタン140のいずれかが操作されると、CPU61は、実行すべきセッションが特定されたものと判断し、ローカルメンバーテーブル44に基づいて、当該セッションに係るセッションメンバーのメンバーID44bを読み出して(ステップS159)、制御をステップS161に進める。
【0306】
ステップS159において、画面84の構成メンバー個別リスト133に属するいずれかのボタン(すなわち、ボタン137〜ボタン140のいずれか)が操作された場合、セッションメンバーのメンバーID44bは、当該コネクションに係るコネクションID44aに対応するメンバーID44bのうち当該セッションに係る2つ(すなわち、自己を表す"0"、および、相手となるユーザを表すデータ、たとえば"2")となる。
【0307】
一方、ステップS159において、画面84のグループリスト134に属するいずれかのボタン(すなわち、ボタン135またはボタン136)が操作された場合、セッションメンバーのメンバーID44bは、当該コネクションに係るコネクションID44aに対応するメンバーID44bのうち当該操作されたボタンに係るグループに属する全員のメンバーID44b(すなわち、自己を表す"0"、ならびに、その余のメンバー全員を表すデータ、たとえば"1"および"2")となる。
【0308】
コネクション形態がスクエアコネクションの場合の処理(ステップS160)は、サークルコネクションの場合の処理(ステップS159)と略同じであるため、説明を省略する。ただし、スクエアコネクションの処理においては、サークルコネクションの処理と異なり、所有者からセッションを開始する場合と、利用者からセッションを開始する場合とで処理内容が異なる。
【0309】
スクエアコネクションにおいて、所有者からセッションを開始する場合、上記セッション選択画面84(
図37B参照)に相当する画面(図示せず)には、当該スクエアコネクションに属する各利用者のプロフィールインデックス情報を一覧にまとめたリスト(選択画面84の構成メンバー個別リスト133に相当するリスト)、および、スクエアコネクションに属する全ユーザを対象とするセッションである旨を表示したボタン(選択画面84のボタン135に相当するボタン)が表示される。
【0310】
一方、利用者からセッションを開始する場合、上記セッション選択画面84(
図37B参照)に相当する画面(図示せず)には、当該スクエアコネクションの所有者のプロフィールインデックス情報が表示されたボタン(選択画面84の、たとえば、ボタン137に相当するボタン)、および、上記、所有者からセッションを開始する場合と同様の、スクエアコネクションに属する全ユーザを対象とするセッションである旨を表示したボタンが表示される。
【0311】
スクエアコネクションにおいて、全ユーザを対象とするセッションを公開セッションと表現し、特定のユーザ(使用者または特定の利用者)のみを相手とするセッションを非公開セッションと表現することがある。
【0312】
つぎに、クライアント端末6のCPU61は、ステップS158、ステップS159またはステップS160においてローカルメンバーテーブル44から読み出された当該セッションに係るセッションメンバーのメンバーID44bと、ローカルメッセージセッションテーブル45のメンバーIDリスト45cとを比較し、一致すれば、一致したレコードのメッセージセッションID45aを読み出し、一致しなければ、何も読み出さない(すなわち、"Null"を読み出す。)(ステップS161)。
【0313】
CPU61は、読み出した結果を評価し(ステップS162)、"Null"でなければ、読み出したメッセージセッションID45aと同一のメッセージセッションID46aを持つレコードのメッセージ46dを、ローカルメッセージ履歴テーブル46から読み出して(ステップS163)、表示装置62に表示したのち(ステップS164)制御をステップS166に進める。
【0314】
図41Aに、このようにして表示されたメッセージ46dを表示した画面91の一例を示す。画面91には、3つのメッセージ46dが、下から新しい順に表示されている。
【0315】
一方、ステップS162において、"Null"が読み出された場合、既存のメッセージセッションは存在しないと判断し、新たなメッセージセッションID45aを発行し、必要なデータを含む新たなレコードを作成してローカルメッセージセッションテーブル45に追加した後(ステップS165)、制御をステップS166に進める。
【0316】
図26のステップS166において、ユーザによる入力装置63からのメッセージデータである送信メッセージの入力が開始されると、クライアント端末6のCPU61は、当該送信メッセージの入力が終了したか否かを判断し(ステップS167)、終了したと判断した場合は、情報通信要求情報である、当該送信メッセージを含むメッセージ送信コマンドを、ローカルコマンドキューテーブル43を介して、サーバ装置4に送信したあと(ステップS168)、有効期限延長処理(ステップS169、後述)を行う。
【0317】
つぎに、CPU61は、入力装置63からメッセージ機能を終了する旨の入力がなされたか否かを判断し(ステップS170)、メッセージ機能を終了する旨の入力がなされたと判断した場合は、メッセージ機能の利用を終了させる。
【0318】
ステップS170において、メッセージ機能を終了する旨の入力がないと判断した場合は、サーバ装置4からのメッセージ受信通知を監視し(ステップS171)、メッセージ受信通知がない場合は、制御をステップS166に戻す。
【0319】
一方、メッセージ受信通知があった場合は、当該メッセージ受信通知に係るメッセージデータである受信メッセージを、サーバ装置4から受信して(ステップS172)、表示装置62に表示する(ステップS173)。ステップS172およびステップS173の処理が、メッセージ受信に係るアップデート処理(
図11のステップS12)である。このアップデート処理が、メッセージ受信ローカル処理(コマンド:receiveMsg)である。
【0320】
CPU61は、メッセージ受信に係るアップデート処理の後、制御をステップS166に戻す。
【0321】
一方、サーバ装置4のCPU51は、1のユーザのクライアント端末6から送信されたメッセージ送信コマンド(ステップS168参照)を、コマンドキューテーブル23を介して受信し(ステップS174)、
図11に示すコマンド展開処理、通知サービス処理を経て、相手方のクライアント端末6に、アップデート通知としてメッセージ受信通知を送信するとともに(ステップS175)、上記1のユーザのクライアント端末6から送信されたメッセージ送信コマンドに含まれていたメッセージデータを送信する(ステップS176)。
【0322】
つぎに、
図27に、上記有効期限延長処理(
図26のステップS169)の手順を例示したフローチャートを示す。
【0323】
有効期限延長処理において、クライアント端末6のCPU61は、ローカルコネクションテーブル41に記憶されている、当該メッセージ送信に係るユーザ別コネクションレコードの自動更新41iが"0"か"1"かについて判断し(ステップS177、ステップS178)、"0"であれば有効期限を延長せずに有効期限延長処理を終了し、"1"であれば、当該レコードの延長期間設定値41hが"Null"であるか否かを判断し(ステップS179)、"Null"でなければ、現在時刻に、上記延長期間設定値41hを加えたものを新たな有効期限41gとして、当該レコードを更新する(ステップS181)。
【0324】
ステップS179において、延長期間設定値41hが"Null"である場合は、サーバ装置4を介して、アカウントマスタテーブル25の延長期間設定値25eを取得し(ステップS180)、現在時刻に、取得した延長期間設定値25eを加えたものを新たな有効期限41gとして、当該レコードを更新し、サーバ装置4に対して、当該新たな有効期限のデータを送信する(ステップS181)。
【0325】
一方、サーバ装置4のCPU51は、ステップS180におけるクライアント端末6からの要求に応じて、アカウントマスタテーブル25の延長期間設定値25eをクライアント端末6に送信し(ステップS183)、ステップS181においてクライアント端末6から送信された新たな有効期限のデータを受信すると、受信したデータに基づいて、コネクションテーブル21における当該ユーザ別コネクションレコードの有効期限21gを更新する(ステップS184)。
【0326】
上記有効期限延長処理においては、ローカルコネクションテーブル41に記憶されているデータに基づいて、ローカルコネクションテーブル41に記憶されているデータの更新を行い、その後、ローカルコネクションテーブル41のデータと同期させるためにコネクションテーブル21のデータの更新を行うよう構成している。
【0327】
しかし、逆に、コネクションテーブル21に記憶されているデータに基づいて、コネクションテーブル21に記憶されているデータの更新を行い、その後、コネクションテーブル21のデータと同期させるためにローカルコネクションテーブル41のデータの更新を行うよう構成することもできる。
【0328】
つぎに、
図28は、コネクション種別としてメッセージ機能を利用する場合における処理の流れの一例を示すフローチャートであって、メッセージ履歴画面からメッセージ機能を利用する場合の例を示す。
【0329】
この場合、クライアント端末6のCPU61は、ローカルメッセージセッションテーブル45に基づいて、既存のメッセージセッションの一覧リストを表した画面(図示せず)を生成し、表示装置62に表示する(ステップS185、ステップS186)。
【0330】
ユーザによって、当該メッセージセッションの一覧リストから、所望のメッセージセッションが選択されると(ステップS187)、CPU61は、ローカルメッセージ履歴テーブル46から、上記選択されたメッセージセッションのメッセージセッションID46aに対応するメッセージ46dを読み出して(ステップS188)、表示装置62に表示する(ステップS189)。
【0331】
このようにして表示された画面は、
図25のステップS164において表示される画面91(
図41A参照)と同様の画面である。その後の処理は、
図26、
図27に示す処理と同様であるため、説明を省略する。
【0332】
なお、上記においては、コネクション種別としてメッセージ機能を利用する場合における処理について説明したが、当該処理は、メッセージ機能固有の処理を除いて、他のコネクション種別を利用する場合の処理、たとえば通話機能を利用する場合の処理に適用することができる。
図41Bは、通話機能を利用する場合において、表示装置62に表示される画面の一例である画面92を示す図面である。
【0333】
つぎに、
図29は、任意の時点でのユーザによるコネクション破棄処理の手順の一例を示すフローチャートである。
【0334】
このコネクション破棄処理において、たとえば、クライアント端末6の表示装置62に表示されている画面71(
図31A参照)の「すべてのつながり」ボタン129が操作されると、CPU61は、ローカルコネクションテーブル41からすべてのユーザ別コネクションレコードのコネクション名41jを読み出し、読み出したコネクション名41jを一覧にまとめたコネクションリストを、表示装置62に表示する(ステップS190、ステップS191)。表示されたコネクションリスト130を画面81(
図36A参照)に例示する。
【0335】
ユーザにより、コネクションリスト130の中から、コネクション名41jと関連付けて(この例ではコネクション名41jの右側近傍に)配置された、当該コネクション名41jに係るコネクション情報表示ボタン143が操作されると、CPU61は、ローカルコネクションテーブル41から、当該コネクション名41jに係るユーザ別コネクションレコードの所定のコネクション情報を読み出すとともに、ローカルプロフィールテーブル42から、当該コネクション名41jに係る相手方のユーザのプロフィール情報を読み出して、表示装置62に表示する(ステップS192)。
【0336】
図40Aに、このようにして表示されたコネクション情報画面89を例示する。コネクション情報画面89には、コネクション情報144、相手方のプロフィール情報145が表示されている。
【0337】
ユーザにより、コネクション情報144、相手方のプロフィール情報145が確認され、「コネクションを破棄する」ボタン146が操作されると、CPU61は、ローカルコネクションテーブル41の当該ユーザ別コネクションレコードの無効化41mを"1"にセットし(ステップS193)、ローカルプロフィールテーブル42の当該ユーザ別コネクションレコードと関連付けられたプロフィール情報を削除する(ステップS194)。
【0338】
つづいて、CPU61は、当該ユーザ別コネクションレコードを対象とするコネクション離脱要求信号である、コネクション破棄コマンド(deleteConnection)を、ローカルコマンドキューテーブル43を介して、サーバ装置4に送信する(ステップS195)。
【0339】
サーバ装置4のCPU51は、1のユーザのクライアント端末6から送信されたコネクション破棄コマンドを、コマンドキューテーブル23を介して受信し、
図11に示すコマンド展開処理、通知サービス処理を経て、通知対象となる相手方のクライアント端末6に、アップデート通知としてコネクション破棄コマンド通知を送信するとともに、上記1のユーザのクライアント端末6から送信されたコネクション破棄コマンドに含まれていたデータを送信する(ステップS196)。
【0340】
コネクション破棄コマンド通知を受信した相手方のクライアント端末6において、クライアント端末側アップデート通知受信処理(
図11参照)が実行される。当該処理におけるアップデート処理の内容は、
図15Aに示すコネクション破棄コマンド処理と同様であるため、説明を省略する。
【0341】
ステップS196に続き、サーバ装置4のCPU51は、コネクションテーブル21に記憶されているユーザ別コネクションレコードのうち、上記コネクション破棄コマンドに係るレコードの無効化21mを"1"にセットし(ステップS197)、プロフィールテーブル22の当該ユーザ別コネクションレコードと関連付けられたプロフィール情報を削除する(ステップS198)。
【0342】
なお、相手方のプロフィール情報145が表示されているコネクション情報画面89(
図40A参照)において、「自分の公開情報」ボタン147が操作されると、クライアント端末6のCPU51は、
図40Bに例示する、自己のプロフィール情報148が表示されているコネクション情報画面90を、表示装置62に表示する。
【0343】
コネクション情報画面90の「コネクションを破棄する」ボタン149が操作された場合も、上記コネクション情報画面89の「コネクションを破棄する」ボタン146が操作された場合と同様の処理が実行される。ユーザにおいて、自己のプロフィール情報148をも確認したうえでコネクションの破棄を検討する場合に対応するためである。
【0344】
もちろん、コネクション情報画面90の「相手」ボタン150が操作されると、表示装置62の表示は、コネクション情報画面89に戻る。
【0345】
つぎに、
図30に、プロフィール更新処理の手順を示すフローチャートの一例を示す。
【0346】
プロフィール更新処理において、まず、更新の対象となる自己のプロフィール情報を表示装置62に表示させる処理(ステップS199〜ステップS201)が必要であるが、当該処理は、たとえば、
図29のコネクション破棄処理において、自己のプロフィール情報148が表示されているコネクション情報画面90(
図40B参照)を表示装置62に表示させる処理(ステップS190〜ステップS192)と同様の手順で実行することができる。
【0347】
つぎに、コネクション情報画面90が表示された状態で、プロフィール更新ボタン(図示せず)が操作されると、プロフィール更新画面(図示せず)が表示され、ユーザによるプロフィール情報の更新(追加、変更または削除)が行われる(ステップS202)。ユーザによるプロフィール情報の更新は、たとえば、上述のコネクション作成処理における、既存のテンプレートを修正して新たなプロフィール情報を生成する場合(
図18のステップS58、
図31Bの画面72参照)と同様の手順で行うことができる。
【0348】
CPU61は、つぎに、当該ユーザ別コネクションに係るローカルプロフィールテーブル42のプロフィール情報を更新し(ステップS203)、コネクションID21b、ユーザID21c、プロフィール情報の更新内容を含むプロフィール更新コマンド(updateProfile)を、ローカルコマンドキューテーブル43を介して、サーバ装置4に送信する(ステップS204)。
【0349】
サーバ装置4のCPU51は、1のユーザのクライアント端末6から送信されたプロフィール更新コマンドを、コマンドキューテーブル23を介して受信し、
図11に示すコマンド展開処理、通知サービス処理を経て、通知対象となる相手方のクライアント端末6に、アップデート通知としてプロフィール更新コマンド通知を送信するとともに、上記1のユーザのクライアント端末6から送信されたプロフィール更新コマンドに含まれていたデータを送信する(ステップS205)。
【0350】
プロフィール更新コマンド通知を受信した相手方のクライアント端末6において、クライアント端末側アップデート通知受信処理(
図11参照)が実行される。当該処理におけるアップデート処理(すなわち、プロフィール更新コマンド処理)において、クライアント端末6のCPU61は、受信した上記データに含まれるコネクションID21b、ユーザID21c、プロフィール情報の更新内容に基づいて、該当するローカルプロフィールテーブル42のプロフィール情報を更新する(ステップS207)。
【0351】
ステップS205に続き、サーバ装置4のCPU51は、上記1のユーザのクライアント端末6から送信されたプロフィール更新コマンドに含まれるデータに基づいて、プロフィールテーブル22の該当するプロフィール情報を更新する(ステップS206)。このようにして、プロフィール更新処理が完了する。
【0352】
なお、上述の各実施形態においては、サーバ装置およびクライアント装置が、それぞれ1台のコンピュータを用いて構成されている場合を例に説明したが、この発明はこれに限定されるものではない。サーバ装置を、2台以上のコンピュータにより構成することもできる。この場合、当該2台以上のコンピュータを、上記情報通信手段8を介して接続することもできる。
【0353】
また、クライアント装置を2台以上のコンピュータにより構成することもできる。この場合も、当該2台以上のコンピュータを、上記情報通信手段8を介して接続することもできる。
【0354】
図42は、2台以上のコンピュータにより構成したクライアント装置206の構成を例示するブロック図である。このクライアント装置206は、端末装置7とウェブサーバ5とを備えている。
【0355】
端末装置7のハードウェア構成は、
図4に示すクライアント装置6の場合と同様である。ウェブサーバ5のハードウェア構成は、ウェブサーバ5が1台のコンピュータにより構成されている場合は、
図4に示すサーバ装置4の場合と同様である。ウェブサーバ5が2台以上のコンピュータにより構成されている場合は、各コンピュータの構成は、
図4に示すサーバ装置4の場合と同様である。
【0356】
端末装置7とウェブサーバ5とは、たとえば、情報通信手段8を介して通信可能となっている。ウェブサーバ5が2台以上のコンピュータで構成されている場合、これらのコンピュータ相互間も、たとえば、情報通信手段8を介して通信可能となっている。
【0357】
端末装置7は、ウェブブラウザ3を装備している。
【0358】
図42は、ユーザが、端末装置7のウェブブラウザ3を介して、ウェブサーバ5上の当該ユーザ専用のウェブページ(以下「専用ページ」という。)にログインした状態を表している。
【0359】
この状態において、ウェブサーバ5は、
図3に示すクライアント装置6のクライアント側通信制御部30およびローカルデータベース40と同様の機能を果たすよう構成されている。
図42に示すウェブサーバ5の構成要素のうち、
図3に示すクライアント装置6の構成要素と同様の機能を有するものには同一の符号を付している。
【0360】
すなわち、クライアント装置206においては、クライアント装置6におけるクライアント側通信制御部30およびローカルデータベース40に相当する機能が、ウェブサーバ5から、ASP(Application Service Provider)方式で提供されている。
【0361】
つまり、ユーザの専用ページにログインしている状態においては、上述の各処理を実行する上で、端末装置7とウェブサーバ5とにより構成されたクライアント装置206は、
図3に示すクライアント装置6と等価な装置となっている。
【0362】
このクライアント装置206は、次のようにして使用される。ここで、ユーザの専用ページにログインするための識別標識(以下、「ログインID」という。)およびログインパスワードが、予め付与されているものとする。
【0363】
ユーザは、端末装置7のウェブブラウザ3を介して、ログインIDおよびログインパスワードを入力することで、当該ユーザの専用ページにログインすることができる。
【0364】
専用ページにログインすると、ユーザの端末装置7の表示装置には、当該専用ページが表示される。この専用ページの内容は、たとえば、
図31Aに示す画面71と同様の内容である。
【0365】
ユーザが、端末装置7のウェブブラウザ3を介して、この専用ページに対する操作(クリックやタップ)を行うことで、上記クライアント端末6の場合と同様の処理が、ウェブサーバ5において実行され、その処理経過や処理結果が、端末装置7のウェブブラウザ3を介して、その表示装置に表示される。
【0366】
このように、当該ユーザの端末装置7とウェブサーバ5とが一体となって、当該ユーザのクライアント装置206を構成しているのであるが、ユーザは、ウェブサーバ5の存在を意識することなく、あたかも、端末装置7自体が、上記クライアント端末6であるかのように操作することができる。
【0367】
なお、ASP方式を利用したクライアント装置206として、
図42に示す構成を例示しているが、クライアント装置206の構成は、これに限定されるものではない。たとえば、
図42では、クライアント装置206におけるクライアント側通信制御部30およびローカルデータベース40の機能の全部を、ウェブサーバ5において実行する構成となっているが、これらの機能を、ウェブサーバ5と端末装置7とで分担して処理するよう構成することもできる。
【0368】
このように構成した場合であっても、ユーザの専用ページにログインしている状態においては、上述の各処理を実行する上で、端末装置7とウェブサーバ5とにより構成されたクライアント装置206は、クライアント装置6と等価な装置となっている。
【0369】
なお、この情報通信システム2においては、1のユーザと他のユーザの双方が、クライアント装置206を用いることもできるし、一方がクライアント装置206を用い、他方が上記クライアント端末6を用いることもできる。さらに、時に応じて、クライアント装置206とクライアント端末6とを使い分けることもできる。
【0370】
なお、上述の各実施形態においては、ユーザを通信コネクションから離脱させる際に、コネクションテーブル21において当該ユーザに係るユーザ別コネクションレコードを無効化するとともに、プロフィールテーブル22において当該ユーザ別コネクションレコードと関連付けて記憶されているレコードを削除するよう構成したが、この発明はこれに限定されるものではない。
【0371】
ユーザを通信コネクションから離脱させる際に、コネクションテーブル21において上記レコードを無効化するのみで、プロフィールテーブル22の上記レコードは削除しないよう構成することができる。このように構成したとしても、当該ユーザ別コネクションレコードを無効化することで、当該ユーザに係るユーザ別コネクションレコードと、同一の通信コネクションに属する他のユーザに係るユーザ別コネクションレコードとの関連付けが断たれるから、もはや、プロフィールテーブル22にユーザ別コネクションレコードと関連付けて記憶されている当該ユーザのレコードに、他のユーザがアクセスすることができないからである。
【0372】
さらに、ユーザを通信コネクションから離脱させる際に、コネクションテーブル21において当該ユーザに係るユーザ別コネクションレコードを無効化するよう構成しているが、クライアント装置6または206を通信コネクションから離脱させる際に、たとえば、コネクションテーブル21から当該ユーザ別コネクションレコードを削除するよう構成することもできる。
【0373】
図19に示すステップS79、
図20に示すステップS103または
図22に示すステップS137が、
図2のサーバ装置4のサーバ側通信制御部10を構成するコネクション作成手段11およびコネクション加入手段12に対応する。
図26に示すステップS174〜ステップS176が、通信中継手段13に対応する。
【0374】
図29に示すステップS197がコネクション離脱手段14に対応する。
図16に示すステップS43〜ステップS44が、サーバ側コネクション自動離脱手段15に対応する。ステップS45〜ステップS46が、サーバ側コネクション離脱予告通知手段16に対応する。
図27に示すステップS184が、コネクション自動延長手段17に対応する。
【0375】
図25に示すステップS154〜ステップS155が、
図3のクライアント装置6のクライアント側通信制御部30を構成するプロフィール表示手段31に対応する。
図13に示すステップS24〜ステップS25が、クライアント側コネクション自動離脱手段32に対応する。ステップS26〜ステップS27が、クライアント側コネクション離脱予告通知手段33に対応する。
【0376】
なお、この実施形態においては、情報通信システム2のサーバ装置4側のプログラムを記憶した記録媒体、および、クライアント装置206側のプログラムを記憶した記録媒体として、HDDに装着されたハードディスクを例示し、クライアント端末6側のプログラムを記憶した記録媒体として、SSDに装着されたフラッシュメモリを例示しているが、プログラムを記憶した記録媒体はこれらに限定されるものではなく、プログラムを記憶した記録媒体として、たとえば、外部メモリカード、CD−ROM、DVD−ROM、フレキシブルディスク、磁気テープを用いることもできる。さらに、主記憶装置もプログラムを記憶した記録媒体として用いることができる。
【0377】
また、プログラムの配布態様は特に限定されるものではなく、記録媒体にプログラムを記憶した状態で配布するほか、有線や無線の情報通信手段を介して当該プログラムを配布するようにしてもよい。
【0378】
また、プログラムの記録態様は特に限定されるものではない。直接実行できる形で記録媒体に記憶したり配布したりする他、たとえば、解凍して使用するように圧縮された形で記録媒体に記憶したり配布したりすることもできる。
【0379】
なお、上述の各実施形態においては、コンピュータを用いて
図2および
図3、または
図42の各機能を実現する場合を例に説明したが、これらの機能の一部または全部を、ハードウェアロジックを用いて構成するようにしてもよい。
【0380】
また、上述のブロック図、ハードウェア構成、フローチャート、データベースの構成、表示画面の構成等は、例として挙げたものであり、本願発明は、これらに限定されるものではない。
【0381】
上記においては、本発明を好ましい実施形態として説明したが、各用語は、限定のために用いたのではなく、説明のために用いたものであって、本発明の範囲および精神を逸脱することなく、添付のクレームの範囲において、変更することができるものである。また、上記においては、本発明のいくつかの典型的な実施形態についてのみ詳細に記述したが、当業者であれば、本発明の新規な教示および利点を逸脱することなしに上記典型的な実施形態において多くの変更が可能であることを、容易に認識するであろう。したがって、そのような変更はすべて、本発明の範囲に含まれるものである。