JP4363942B2 - サーバ、通信制御方法、および、プログラム - Google Patents

サーバ、通信制御方法、および、プログラム Download PDF

Info

Publication number
JP4363942B2
JP4363942B2 JP2003340692A JP2003340692A JP4363942B2 JP 4363942 B2 JP4363942 B2 JP 4363942B2 JP 2003340692 A JP2003340692 A JP 2003340692A JP 2003340692 A JP2003340692 A JP 2003340692A JP 4363942 B2 JP4363942 B2 JP 4363942B2
Authority
JP
Japan
Prior art keywords
session
message
user
bot
terminal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2003340692A
Other languages
English (en)
Other versions
JP2005107893A (ja
JP2005107893A5 (ja
Inventor
重俊 横山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Data Group Corp
Original Assignee
NTT Data Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NTT Data Corp filed Critical NTT Data Corp
Priority to JP2003340692A priority Critical patent/JP4363942B2/ja
Publication of JP2005107893A publication Critical patent/JP2005107893A/ja
Publication of JP2005107893A5 publication Critical patent/JP2005107893A5/ja
Application granted granted Critical
Publication of JP4363942B2 publication Critical patent/JP4363942B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Description

本発明は、サーバ、通信制御方法、および、プログラムに関し、特に、容易にアプリケーションの共有を可能にするサーバ、通信制御方法、および、プログラムに関する。
従来より、特定の相手とのリアルタイムなメッセージ交換を容易に行うことができる「インスタントメッセージ」(IM:Instant Message)が普及している。このようなIMでは、ユーザ端末からユーザの状態を示すプレゼンス情報(状態情報)が発信されており、これによって、所望する相手が現在通信可能か知ることができる。そして、現在通信可能な相手に対してメッセージを送信することにより、リアルタイムなメッセージ交換を実現している。
IMは、通常、人同士のコミュニケーション手段として用いるが、近時では、アプリケーションを提供する装置などが、擬似的なユーザとしてIMに参加する場合もある。このような装置は、人同士のメッセージ交換と同様に、会話文形式でアプリケーション実行結果などを提供するので、あたかも人であるユーザのようにIMに参加する。このため、このような装置のことを「ロボット(robot)」と呼び、略称である「BOT」が呼称として用いられている。
IMを利用するためのユーザ端末として、パーソナルコンピュータ(PC)や携帯電話などの移動体通信端末が多く用いられている。PCによる二者間以上の通信においては、各参加者の間でアプリケーションを共有し、コミュニケーションの幅を持たせることがなされている。例えば、ビデオデータ、音声データ、テキストデータなどを用いて会議を行いながら、プレゼンテーション資料を共有し、共同で編集するなどといったことが実現されている。この場合、プレゼンテーション資料の表示や編集をおこなうためのアプリケーションが共有されている。このような動作は、各PCにインストールされているアプリケーションを必要に応じて同時に実行する、いわゆる「Fat-Client方式」により実現するものである。
一方で、携帯電話などの移動体通信端末によっても、上記のようなアプリケーション共有の実現が望まれている。しかしながら、記憶容量やアプリケーション連携上の制約、および、ユーザインタフェースの制約などにより、上述のようなFat-Client方式によってアプリケーションを共有することは困難であった。これに対し、サーバ側で共有アプリケーションを起動し、その画面イメージを端末側に転送する方式(いわゆる、Thin-Client方式)も考えられるが、イメージ転送の際にパケット料金がかかってしまうため、ユーザにとって実用的な方法ではない。
このような問題を解消するため、アプリケーションを実行するBOTと複数のユーザとをIMの多者通話機能で結ぶことでアプリケーション共有をおこなう仕組みが提案されている(例えば、特許文献1)。しかしながら、このような方式では、アプリケーションを共有する際に、BOTをセッションに取り込む(インバイトする)ためのアプリケーションを起動させる特殊キーを押下する必要がある。すなわち、アプリケーション共有を実行するための特別な構成をユーザ端末上に備える必要があるため、そのような構成の端末を用意しなければならず、汎用性が低く実用的なものではなかった。また、物理的な特殊キーを用いるため、拡張性にも乏しく、例えば、複数のアプリケーションを同時に共有するなどといった柔軟なアプリケーション共有環境を実現することができなかった。
特開2003−99382号公報
本発明は上記実状に鑑みてなされたもので、大幅な構成変更をすることなく、複雑なアプリケーション共有を実現することを目的とする。
上記目的を達成するため、本発明の第の観点にかかるサーバは、
インスタントメッセージのメッセージ交換を中継するサーバであって、
メッセージ交換をおこなうユーザ端末で確立しているセッションおよび当該セッションにおけるメッセージ送信先を識別する情報を、各ユーザ端末のプレゼンス情報として随時取得するプレゼンス取得手段と、
前記プレゼンス取得手段が取得したプレゼンス情報に示されるメッセージ送信先が、当該ユーザ端末で確立しているセッションのメンバであるか否かを判別する送信先判別手段と、
メッセージ送信先が当該セッションのメンバ以外の場合、当該送信先を含んだ多者間通信を中継するセッション制御手段と、を備え、
前記セッション制御手段は、
多者間通信のメンバに複数のアプリケーション提供手段が含まれる場合、メッセージ送信先を識別する情報を含んだ前記プレゼンス情報に基づいて、一のアプリケーション提供手段での実行結果を他のアプリケーション提供手段に中継し、該中継先のアプリケーション提供手段で前記実行結果を用いた実行の結果を、メッセージ送信元に中継する、
ことを特徴とする。
上記サーバにおいて、
前記送信先判別手段は、メッセージ送信先が所定のアプリケーション提供手段であるか否かを判別し、
前記セッション制御手段は、メッセージ送信先がアプリケーション提供手段である場合、前記セッションのメンバと当該アプリケーション提供手段との多者間通信を中継することで、前記セッションメンバに当該アプリケーション提供手段が提供するアプリケーションを共有させる、ことが望ましい。
上記サーバにおいて、
前記セッション制御手段は、前記アプリケーション提供手段のアプリケーション実行結果を前記セッションメンバの各ユーザ端末に中継することが望ましい。
上記目的を達成するため、本発明の第の観点にかかる通信制御方法は、
コンピュータを用いて、インスタントメッセージシステムで多者間通信をおこなうための通信制御方法であって、
確立したセッションを示す情報と、当該セッションでのメッセージ送信先を示す情報とを、インスタントメッセージのプレゼンス情報として各ユーザ端末から随時取得するプレゼンス取得ステップと、
取得したプレゼンス情報に示されるメッセージ送信先に基づいてセッションを制御するセッション制御ステップと、を備え、
前記セッション制御ステップは、ユーザ端末間のセッションに、アプリケーション提供手段とのセッションを取り込むことで、当該ユーザ端末間で該アプリケーション提供手段が提供するアプリケーションを共有させるとともに前記メッセージ送信先を示す情報を含むプレゼンス情報に基づいて、前記ユーザ端末と前記アプリケーション提供手段とのセッションに他のアプリケーション提供手段とのセッションを取り込むことで、前記アプリケーション提供手段の実行結果を前記他のアプリケーション提供手段に中継し、該実行結果を用いた該アプリケーション提供手段の実行結果を前記ユーザ端末に中継する、
ことを特徴とする。
上記通信制御方法において、
前記セッション制御ステップは、ユーザ端末とアプリケーション提供手段とのセッションに、他のユーザ端末とのセッションを取り込むことで、当該ユーザ端末間で該アプリケーション提供手段が提供するアプリケーションを共有させることが望ましい。
上記目的を達成するため、本発明の第の観点にかかるプログラムは、
コンピュータを、上記サーバとして機能させることを特徴とする。
上記目的を達成するため、本発明の第4の観点にかかるプログラムは、
コンピュータに、上記通信制御方法の各ステップを実行させることを特徴とする。
本発明によれば、携帯電話などの移動体通信端末によるインスタントメッセージ利用時に、複数の端末間での複雑なアプリケーション共有を容易に実現することができる。
本発明にかかる実施の形態を、以下図面を参照して説明する。
(第1の実施の形態)
図1は、本発明の実施の形態にかかる「インスタントメッセージシステム」(以下、「IM(Instant Message)システム」とする)の構成を示す図である。図示するように、IMシステム1は、サーバ100と、複数のユーザ端末200と、複数のBOT300と、から構成され、通信ネットワーク10を介して相互に接続されている。この構成において、サーバ100がインスタントメッセージ(IM)サービスを提供し、ユーザ端末200間あるいはユーザ端末200−BOT300間でリアルタイムなメッセージ交換をおこなう。すなわち、ユーザ端末200とBOT300は、サーバ100が提供するIMサービスを利用する「IMクライアント」であり、サーバ100の仲介により任意のIMクライアント間のセッションが確立され、メッセージ交換がおこなわれる。
通信ネットワーク10は、所定の通信プロトコル(例えば、TCP/IP(Transmission Control Protocol/Internet Protocol)など)を用いて情報伝達を行う通信ネットワーク(例えば、インターネット)である。
サーバ100は、例えば、メインフレームやワークステーションなどといったコンピュータ装置から構成され、主にユーザ端末200にIMサービスを提供するIMサーバである。より詳細には、ユーザ端末200からプレゼンス情報(状態情報)を随時取得し、取得したプレゼンス情報に基づいてセッションを確立させてメッセージを中継することで、ユーザ端末200間のメッセージ交換を仲介する。さらに、所定のBOT300とユーザ端末200とを中継し、BOT300が提供するアプリケーションをユーザ端末200で利用可能とする。このようなサーバ100の構成を図2を参照して説明する。
図2は、サーバ100の構成を示すブロック図である。図示するように、サーバ100は、制御部110と、通信制御部120と、入力制御部130と、出力制御部140と、プログラム格納部150と、記憶部160と、から構成される。
制御部110は、例えば、CPU(Central Processing Unit:中央演算処理装置)やワークエリアとなる所定の記憶装置(RAM(Random Access Memory)など)から構成され、サーバ100の各部を制御するとともに、プログラム格納部150に格納されている所定の動作プログラムに基づいて後述する各処理を実行する。
通信制御部120は、例えば、ルータなどの所定の通信装置から構成され、サーバ100と通信ネットワーク10とを接続し、ユーザ端末200やBOT300との通信を行う。
入力制御部130は、例えば、キーボードやポインティング・デバイスなどの所定の入力装置13を接続し、入力装置13から入力された、制御部110への指示などを受け付けて制御部110に伝達する。
出力制御部140は、例えば、ディスプレイ装置やプリンタなどの所定の出力装置14を接続し、制御部110の処理結果などを必要に応じて出力装置14に出力する。
プログラム格納部150は、例えば、ハードディスク装置やROM(Read Only Memory)などの所定の記憶装置から構成され、制御部110が実行する種々の動作プログラムが格納されている。プログラム格納部150に格納される動作プログラムは、サーバ100の基本動作を司る任意のOS(Operating System:基本ソフトウェア)の他に、OSと協働して後述する各処理を実現するための、以下に示すような動作プログラムが格納されているものとする。後述するサーバ100による各処理は、制御部110がこれらの動作プログラムを実行することで実現される。
(1)「セッション制御プログラム」:ユーザ端末200間やユーザ端末200とBOT300とのセッションを制御してメッセージ中継等を行うためのプログラム。
(2)「プレゼンス管理プログラム」:各ユーザ端末200のプレゼンス情報を通信ネットワーク10を介して随時取得し、プレゼンスに応じたサービスを提供するためのプログラム。
(3)「IMクライアント制御プログラム」:セッションの参加メンバやそれらのプレゼンスに応じて、各参加メンバのIMクライアントでの表示画面等を制御するプログラム。
記憶部160は、例えば、RAMやハードディスク装置などの記憶装置などから構成され、サーバ100が提供するIMサービスを提供するユーザ情報や各ユーザ端末200から取得したプレゼンス情報などを格納する。記憶部160には、図3に示すように、ユーザ情報DB161、BOT情報DB162、セッション情報DB163、プレゼンス情報DB164、などのデータベース(リレーショナル・データベース)が構成され、各データベースに所定の情報が随時蓄積される。各データベースの詳細を以下説明する。
ユーザ情報DB161は、サーバ100が提供するIMサービスを利用するユーザに関する情報を蓄積する。ユーザ情報DB161には、図4(a)に示すような「ユーザ情報テーブル」が作成される。図示するように、ユーザ情報テーブルには、サーバ100が提供するIMサービスを利用するユーザに一意に割り当てられる識別子である「ユーザID」を主キーとしたレコードが作成され、各レコードは、例えば、「端末ID」、「端末アドレス」、「登録メンバ」、などの項目から構成される。
「端末ID」には、当該ユーザがIMサービスを利用する際に用いるユーザ端末200の識別情報が記録される。「端末アドレス」には、当該ユーザ端末200に通信ネットワーク10を介して接続するために必要な、例えば、電話番号やIPアドレスなどといったアドレス情報が記録される。
また、「登録メンバ」には、当該ユーザ端末200のユーザがメッセージ交換の相手として所望する他のユーザを示す情報、および、アプリケーションの提供元として所望するBOT300を示す情報が登録される。ここで、他のユーザを示す情報として、当該ユーザの「ユーザID」が記録され、BOT300を示す情報として、当該BOT300の「BOT ID」(後述)が記録される。「登録メンバ」に他のユーザおよびBOT300(以下、「相手ユーザ」とする)を登録することで、当該ユーザのユーザ端末200に登録した相手ユーザのプレゼンス情報がサーバ100から随時提供される。また、「登録メンバ」には、当該ユーザが所望する、相手ユーザの表示名(ニックネーム、愛称、など)が、ユーザIDやBOT IDに対応付けられて記録される。
なお、本実施の形態では、アプリケーション提供装置であるBOT300も、IMサービスを利用するユーザとしてIMサービスに参加するものとする。すなわち、BOT300を擬似的にユーザとし、メッセージ交換の相手(会話相手)としてIMセッションに参加させるものである。
BOT情報DB162は、サーバ100が提供するIMサービスに参加するBOT300に関する情報を蓄積する。BOT情報DB162には、図4(b)に示すような「BOT情報テーブル」が作成される。図示するように、BOT情報テーブルには、各BOT300に一意に割り当てられた「BOT ID」を主キーとしたレコードが作成され、各レコードは、例えば、「アプリケーション」、「BOTアドレス」、などの項目から構成される。「アプリケーション」には、当該BOT300が提供するアプリケーション種別を示す情報が記録され、「BOTアドレス」には、当該BOT300に通信ネットワーク10を介して接続するための、例えば、IPアドレスなどのアドレス情報が記録される。
セッション情報DB163は、サーバ100が提供するIMサービスにより確立しているセッションに関する情報を随時格納する。セッション情報DB163には、図5(a)に示すような「セッション情報テーブル」が作成される。図示するように、セッション情報テーブルには、セッションの確立毎に一意に割り当てられる「セッションID」を主キーとしたレコードが作成され、各レコードは、例えば、「セッション参加メンバ」、「開始日時」、「終了日時」、などの項目から構成される。「セッション参加メンバ」には、当該セッションに参加しているIMクライアントを示す識別情報(ユーザIDおよびBOT ID)が記録される。「開始日時」には当該セッションの開始日時を示す情報が、「終了日時」には当該セッションの終了日時を示す情報がそれぞれ記録される。
プレゼンス情報DB164は、各ユーザ端末200から取得したプレゼンス情報を随時格納する。プレゼンス情報DB164には、図5(b)に示すような「プレゼンス情報テーブル」が作成される。図示するように、プレゼンス情報テーブルには、IMクライアントID(ユーザ情報テーブルに登録されている各ユーザ「ユーザID」、および、BOT情報テーブルに登録されているBOT300のBOT ID)を主キーとしたレコードが作成され、各レコードは、例えば、「プレゼンス」などの項目から構成される。「プレゼンス」には、当該ユーザ端末200またはBOT300から取得したプレゼンス情報がリアルタイムに記録・更新される。ここで、プレゼンス情報テーブルには、図示するように、各IMクライアント端末毎に現在いずれのプレゼンスに該当しているかが記録される。
ここで「プレゼンス情報」は、サーバ100が提供するIMサービスを利用する各IMクライアント(ユーザ端末200およびBOT300)の現在の状態を示す情報であり、少なくとも、当該IMクライアントが現在メッセージ受信可能な状態であるか否かを示す情報(「受信可」、「受信不可」)が含まれる。「プレゼンス情報」は、IMクライアントからサーバ100に随時送信されるものであり、サーバ100は、プレゼンス情報をIMクライアントから随時受信して、リアルタイムにプレゼンス情報テーブルを更新する。
一般的なIMシステムでは、このようなプレゼンス情報に基づいて、現在通信可能なIMクライアントを検出し、通信可能なIMクライアント同士のセッションを確立させてメッセージ交換をおこなう。本実施の形態では、このような一般的なプレゼンス情報に加え、当該IMクライアントでセッションが確立していることを示す「セッション中」がプレゼンス情報として含まれるものとする。図示するように、「セッション中」を示すプレゼンス情報には、例えば、当該セッションを示す「セッションID」、セッション相手のIMクライアントを示す「セッション相手」、などの項目が含まれる。「セッション相手」には、セッション相手のユーザを示す「ユーザID」、もしくは、セッション相手のBOT300を示す「BOT ID」が記録される。
図1に戻り、IMシステム1の他の構成について説明する。
ユーザ端末200は、サーバ100が提供するIMサービス利用するための端末装置であり、例えば、携帯電話やPHS(Personal Handyphone System)などの移動体通信端末から構成される。ユーザ端末200は、通信ネットワーク10を介してサーバ100にアクセスし、サーバ100が提供するIMサービスを利用可能な構成を有する。すなわち、当該IMサービスを利用する「IMクライアント」として機能するものであり、少なくとも、サーバ100との通信機能、当該IMサービスに対応するメッセージ送受信機能、プレゼンス情報送信機能、を有する。
「通信機能」は、所定の通信プロトコル(例えば、TCP/IPなど)に基づいて、通信ネットワーク10を介してサーバ100と通信する機能である。
「メッセージ送受信機能」は、他のユーザ端末200やBOT300とのメッセージ送受信をおこなう機能であり、送信するメッセージをユーザに作成させる機能や、受信したメッセージを表示する機能、などを含む。
「プレゼンス情報送信機能」は、当該ユーザ端末200における、IMサービス利用に関しての状態を示すプレゼンス情報を随時サーバ100に送信する機能である。ここで「プレゼンス情報」として、少なくとも、現在IMサービスでメッセージ受信可能な状態であるか否かを示す情報(以下、「受信可否情報」とする)、メッセージ送信時の送信先を示す情報(以下、「送信先情報」とする)、および、サーバ100から付与された「セッションID」を含む。ユーザ端末200は、プレゼンス情報を所定時間毎にサーバ100に送信する他、所定のアクションの際にも送信する。例えば、IM用プログラムの起動および終了、サーバ100に対する利用要求、セッションの確立および終了、などのアクション時にプレゼンス情報を送信する。本実施の形態では、これらの他に、メッセージ送受信時にもプレゼンス情報をサーバ100に送信するものとする。
ここで、「受信可否情報」は、ユーザの現在の状態(例えば、「仕事中」、「外出中」など)に応じて、ユーザが任意に設定できる他、ユーザ端末200の状態(例えば、IM用アプリケーションの実行停止、ユーザ端末200の電源断、など)に応じてユーザ端末200が自動的に設定する。また「送信先情報」は、メッセージ送信先として指定したIMクライアント(ユーザ端末200あるいはBOT300)の識別情報(端末IDもしくはBOT ID)が設定される。
なお、ユーザ端末200は、通信ネットワーク10を介して提供されるアプリケーションを利用可能な構成を有し、後述するBOT300などが提供するアプリケーションやアプリケーションの実行結果などを利用する。上記各機能は、それぞれを実現するためのプログラム(アプリケーションプログラム)をユーザ端末200の制御部(CPU(Central Processing Unit:中央演算処理装置)など)が実行することで得られるものであり、このようなプログラムは、例えば、サーバ100から通信ネットワーク10を介してユーザ端末200に提供される。
BOT300は、例えば、所定のサーバ装置などから構成され、通信ネットワーク10を介して所定のアプリケーションを提供するアプリケーション提供装置である。ここでBOT300は、例えば、検索ロボットなどといった、アプリケーションを自動的に提供するロボット(roBOT)であり、通信ネットワーク10を介して入力されるユーザからの要求に応じて、アプリケーションサービスやアプリケーション実行結果などを通信ネットワーク10を介してユーザに提供する。本実施の形態では、BOT300は、サーバ100が提供するIMサービスに参加できるアプリケーション提供装置であり、「擬似的なユーザ」としてIMサービスに参加してアプリケーションを提供するものである。このように、IMサービスのユーザとしてIMサービスに参加するため、他のユーザ端末200と同様のプレゼンス情報を随時サーバ100に送信する。すなわち、少なくとも、「受信可否情報」および「送信先情報」がBOT300のプレゼンス情報に含まれる。なお、本実施の形態では、BOT300が検索ロボットである場合を例に以下説明する。この場合の検索ロボットは、例えば、会話文形式の入力に基づいて検索を実行し、検索結果を会話文形式でユーザに提供するものとする。これにより、BOT300があたかもユーザであるかのようにIMサービスに参加するものである。
上記のように構成されたIMシステム1における動作および処理を以下説明する。
まず、本実施の形態にかかるIMシステム1によるIMサービスの概要を説明するため、サーバ100による通常のメッセージ交換処理を図6に示すフローチャートを参照して説明する。ここでは、二者のユーザ端末200同士(以下、一方を「端末A」、他方を「端末B」とし、端末Aのユーザを「ユーザA」、端末Bのユーザを「ユーザB」とする)でメッセージ交換をおこなう場合を例に説明する。また、「メッセージ交換処理」はいずれかのユーザ端末200からサーバ100へのIMサービス利用要求を契機に開始されるものであり、ここでは、端末Aから利用要求があったものとして以下説明する。なお、ユーザ端末200からのIMサービス利用要求は、ユーザ端末200でIM用プログラムを起動させることを契機におこなわれるものとし、このとき、当該ユーザ端末200のユーザを示すユーザIDおよび当該ユーザ端末200でメッセージ受信可能であることを示すプレゼンス情報がサーバ100に送信されるものとする。
このようにして端末AからIMサービス利用要求があると、サーバ100の制御部110は、ユーザ情報DB161にアクセスし、端末Aから送信されたユーザIDをキーとするレコードから、「登録メンバ」として登録されているユーザIDおよびBOT IDを抽出する。制御部110はさらに、プレゼンス情報DB164にアクセスし、抽出した登録メンバの識別情報(ユーザIDまたはBOT ID)をキーとするレコードの「プレゼンス」を参照し、登録メンバのうち現在メッセージ受信可能なメンバ(通信可能なメンバ)を特定する(ステップS1)。
制御部110は、ステップS1で特定したメンバのプレゼンス情報と各メンバのユーザIDを、要求元の端末Aに送信する(ステップS2)。端末Aでは、サーバ100から通信可能なメンバのプレゼンス情報を受信すると、当該通信可能メンバを一覧表示する(図7(a))。ここでは、端末Aのユーザがサーバ100に登録した表示名でメンバが表示される。端末Aのユーザは、メッセージ交換(会話)の相手として所望するメンバを一覧の中から選択する。この操作に応じて、端末Aは選択されたメンバを示す情報(以下、「選択メンバ情報」とする)をサーバ100に送信する。ここでは、当該メンバのユーザIDが選択メンバ情報として送信される。ここで選択されたメンバが使用するユーザ端末200を「端末B」として以下説明する。また、サーバ100から受信した通信可能メンバのプレゼンス情報とユーザIDは、端末Aの所定のメモリなどに保持される。
サーバ100では、端末Aから選択メンバ情報を受信すると(ステップS3)、制御部110がユーザ情報DB161にアクセスし、選択メンバ情報に示されるユーザIDをキーとするレコードから、当該ユーザが使用するユーザ端末200(端末B)を特定する。さらに、特定された端末Bのアドレス情報に基づいて、端末Aと端末Bとのセッションを確立する(ステップS4)。
セッションが確立すると、制御部110は、当該セッションにセッションIDを割り当てるとともに、セッション情報DB163にアクセスし、割り当てたセッションIDを主キーとする新規レコードをセッション情報テーブルに作成し、端末Aおよび端末Bの端末IDを「セッション参加メンバ」に記録するとともに、セッション開始日時情報を「開始日時」に記録する。
また、制御部110は、プレゼンス情報DB164にアクセスし、端末Aと端末Bの端末IDをキーとする各レコードの「プレゼンス」を「セッション中」とし、互いの端末IDを記録する。
セッションが確立すると、サーバ100の制御部110は、割り当てたセッションIDを端末Aおよび端末Bに送信することでセッションが確立したことを通知する(ステップS5)。端末Aおよび端末Bでは、サーバ100からセッションIDを受信すると、図7(b)に示すように、セッションが確立した旨のメッセージなどを表示して各ユーザ(図7(b)の例では、ユーザAの表示名を「Aさん」、ユーザBの表示名を「Bくん」としている)にセッション確立を通知する。また、受信したセッションIDを所定のメモリなどに保持する。また、図8に示すようなメッセージ入力画面MCを表示して、ユーザによるメッセージ入力および送信を可能にする。
ここで、ユーザ端末200に表示されるメッセージ入力画面MCには、図8に示すように、メッセージを入力するためのメッセージ領域IAの他、入力したメッセージの送信を指示するための送信ボタンSBが用意される。送信ボタンSBはさらに、現在確立しているセッションの通信相手への送信を指示するための送信ボタンSB1と、他の登録メンバへの送信を指示するための送信ボタンSB2とを含む。図8では、端末Aでの表示例を示すが、端末Aは端末Bとのセッションが確立しているため、「Bくんに送信」と表記された送信ボタンSB1が用意されている。また、送信ボタンSB2には「他のメンバに送信」と表記されている。
ここで、ユーザ端末200に表示される送信ボタンSBは、そのときのセッションに応じて、サーバ100によって選択的に表示される。より詳細には、サーバ100の制御部110が「IMクライアント制御プログラム」を実行することで、ユーザ端末200上での表示画面を制御するものであり、例えば、当該ユーザ端末200が現在参加しているセッションの他のIMクライアントの種類に応じて、IMクライアント上の表示画面(送信ボタンSBの表記)を制御する。上記「端末A」の例では、現在セッション中の他のIMクライアントは、ユーザ端末200である「端末B」である。このようなセッション相手を、サーバ100は、セッション情報DB163に記録されている情報に基づいて判別すると、それに応じたボタン等の表示を各IMクライアントに指示する。上記「端末A」の例では、セッション相手もユーザ端末200であるため、ユーザ間のメッセージ交換が想定され、「Bくんに送信」や「他のメンバに送信」といった表記の送信ボタンSBを表示するようサーバ100が端末Aを制御する。一方、例えば、端末Aのセッション相手が検索ロボットのBOT300である場合、例えば、「この内容を検索する」などといった表記のボタンを表示するよう制御されることになる。
なお、上記のようにサーバ100がIMクライアントでの表示画面を全面的に制御する場合の他、IMクライアント上で実行されているIM用プログラムとの協働によって、表示ボタン等の制御をおこなってもよい。すなわち、サーバ100は、当該IMクライアントのセッション相手を示す情報を各IMクライアントに提供し、提供されたセッション相手を示す情報に基づいて、各IMクライアントでボタン等の表示制御をおこなってもよい。
端末Aにおいて、メッセージ領域IAにメッセージが入力され、送信ボタンSBが選択操作されると、端末Aは、入力されたメッセージとともにプレゼンス情報をサーバ100に送信する。送信されるプレゼンス情報には、少なくとも、端末Aのユーザを示すユーザID、現在のセッションに割り当てられているセッションID、および、メッセージの送信先を示す送信先情報が含まれる。ここで、送信ボタンSB1が選択された場合は、ユーザBのユーザIDを送信先情報とする。一方、送信ボタンSB2が選択された場合は、メモリに保持されている通信可能メンバを示す情報を再度一覧表示して他のメンバを選択させ、選択されたメンバのユーザIDを送信先情報とする。
サーバ100は、当該セッションの参加メンバ間(すなわち、ユーザAおよびユーザB)で交換されるメッセージを、端末Aあるいは端末Bから受信する。上述のように、メッセージ送信時にプレゼンス情報も送信されているため、サーバ100は、メッセージとともにプレゼンス情報を受信する(ステップS6)。メッセージが到着すると、制御部110は、メッセージとともに受信したプレゼンス情報を参照して、当該メッセージの送信先が、現在確立しているセッションでの通信相手宛であるか否かを判別する(ステップS7)。より詳細には、プレゼンス情報に含まれているユーザIDとセッションIDとに基づいて、現在のセッションにおける通信相手を特定し、プレゼンス情報に含まれている送信先情報が特定した通信相手のユーザIDと一致するか否かを判別する。端末Aがメッセージ送信した場合であれば、そのメッセージの送信先が端末Bであるか否かを判別する。
ここで、メッセージの送信先が現在確立しているセッションの通信相手である場合(ステップS7:Yes)、サーバ100は、受信したメッセージを当該通信相手に中継する(ステップS8)。すなわち、端末Aにおいて送信ボタンSB1選択された場合は、入力されたメッセージが端末Bに中継される。
このように、メッセージの送信先を現在のセッションにおける通信相手としている場合、サーバ100の仲介によって、端末A−端末B間でのメッセージ交換が、セッション終了まで順次おこなわれる(ステップS9:No)。
上記のような、セッションが確立しているユーザ同士でのメッセージ交換が一般的なIMサービスである。本実施の形態では、現在のセッションにおける通信相手以外をメッセージの送信先とした場合(ステップS7:No)、当該送信先のユーザをセッションに取り込む(インバイトする)「多者間通信処理」(ステップS100)がサーバ100によって実行される。この「多者間通信処理」を図9に示すフローチャートを参照して説明する。なお、本実施の形態では、メッセージ送信先として、端末Aの登録メンバとして登録されているBOT300が指定されている場合を例に以下説明する。また、本例においては、メッセージ送信先に指定されているBOT 300を以下「BOT X」(表示名は「検索くん」)と表記する。
まず、サーバ100の制御部110は、プレゼンス情報DB164にアクセスし、ステップS6で受信した「プレゼンス情報」に含まれている「送信先情報」に基づいて、当該送信先のユーザ(以下、「取込対象ユーザ」とする)が現在通信可能であるか否かを判別する(ステップS101)。
取込対象ユーザが通信可能である場合(ステップS101:Yes)、制御部110は、当該取込対象ユーザに、セッションへの参加要請(取込要請)がある旨を通知する(ステップS102)。ここでは、当該セッションの現在の参加メンバ(本例では「端末A」と「端末B」)を示す情報やセッションへの参加要請を示すメッセージ、および、当該セッションに割り当てられているセッションID、などの情報(以下、「セッション参加要請通知」とする)が取込対象ユーザに送信される。
一方、取込対象ユーザが通信可能でない場合(ステップS101:No)、その旨を示すメッセージ(以下、「参加不可通知」とする)を端末Aと端末Bに送信し、BOT Xがセッションに参加できない旨をユーザAとユーザBに通知する(ステップS111)。
取込対象ユーザ(本例では「BOT X」)は、セッション参加要請通知を受信すると、当該セッションへの参加が可能である場合は、参加可能である旨を示す情報(以下、「参加受諾通知」とする)をサーバ100に送信する。また、参加受諾通知を送信した場合、受信した「セッション参加要請通知」を所定のメモリなどに保持し、サーバ100にプレゼンス情報を送信する際に必要な情報を含ませる。
サーバ100では、取込対象ユーザから参加受諾通知を受信すると(ステップS103:Yes)、制御部110が、当該参加受諾通知をセッション参加メンバ(本実施の形態では、「端末A」と「端末B」)に転送し、取込対象ユーザがセッション参加を受諾した旨を通知する。
サーバ100はまた、取込対象ユーザからの参加受諾通知の受信を契機に、当該セッションに取込対象ユーザを取り込む(ステップS104)。本例では、「端末A」、「端末B」、および、「BOT X」の三者間のセッション(多者間通信)を確立する。
多者間通信が確立されると、サーバ100の制御部110は、セッション情報DB163にアクセスし、当該セッションのセッションIDをキーとするレコードの「セッション参加メンバ」項目に、BOT XのBOT IDを追加する(ステップS105)。また、プレゼンス情報DB164にアクセスして、当該BOT XのBOT IDをキーとするレコードの「プレゼンス」を「セッション中」にし、端末Aと端末Bの端末IDを記録する(ステップS106)。
制御部110は、ステップS6で受信したメッセージを、BOT Xに中継する(ステップS107)。すなわち、端末Aが「BOT X」を送信先として送信したメッセージがBOT Xに中継される。ここでは、ユーザA(端末A)とユーザB(端末B)の間での二者間セッションにおける会話中に、例えば、何か検索したい事項が発生し、ユーザA(端末A)が、その検索対象を含んだメッセージを検索ロボットであるBOT Xに送信したものとする。
BOT Xでは、サーバ100の中継により、端末Aが送信したメッセージを受信すると、メッセージに含まれている検索対象の検索を実行し、検索結果を含んだメッセージを作成して、サーバ100に送信する。このとき、作成したメッセージとともに、プレゼンス情報を送信する。ここでは、当該BOT Xの「BOT ID」、および、セッション参加通知に含まれている「セッションID」をプレゼンス情報としてサーバ100に送信する。
サーバ100では、BOT Xからメッセージとプレゼンス情報を受信すると(ステップS108)、受信したメッセージを他のセッション参加メンバ(すなわち、「端末A」と「端末B」)に中継する(ステップS109)。より詳細には、受信したプレゼンス情報に含まれているセッションIDに基づいて、サーバ100の制御部110は、セッション情報DB163を参照して他の参加メンバを特定する。このように、アプリケーション提供装置であるBOT Xからのメッセージを他のセッションメンバに中継することで、BOT Xによる検索結果をユーザA(端末A)とユーザB(端末B)が共有することとなる。サーバ100は、上記のような多者間(三者間)でのメッセージ中継をセッションが終了するまで順次行うことで(ステップS110:No)、多者間でのメッセージ交換がおこなわれる。
なお、取込対象ユーザがセッション参加要請を受諾しない場合は、その旨をサーバ100に通知することができる(以下、「参加不可通知」とする)。すなわち、サーバ100が、取込対象ユーザから「参加不可通知」を受信した場合(ステップS103:No)は、当該「参加不可通知」を端末Aと端末Bに送信し、BOT Xがセッションに参加しない旨をユーザAとユーザBに通知する(ステップS111)。この場合、メッセージ送信元のユーザ端末200(本例では「端末A」)では、他の通信可能な登録メンバを表示するなどして、メッセージ送信先の変更やメッセージ送信の中止などをおこなう。
以上説明したように、上記実施の形態によれば、確立しているセッションに割り当てられているセッションID、および、メッセージの送信先を示す送信先情報をIMクライアント(ユーザ端末200およびBOT300)のプレゼンス情報に含ませ、サーバ100が、各IMクライアントから取得するプレゼンス情報に基づいて、セッションメンバの取り込みや、アプリケーション実行結果の中継をおこなう。また、プレゼンス情報に基づいて、ユーザ端末200上の表示をセッションやメッセージの送信先に応じて制御する。これにより、既存のIMシステムにおけるインタフェースや物理的構成を大幅に改変させることなくアプリケーション共有を実現することができる。
すなわち、サイズやメモリ容量などに制限のある携帯電話などのユーザ端末200に、アプリケーション共有を利用するための特別な構成(端末上に配置される物理的なボタンやキーなど)を備える必要がないため、ユーザは通常のメッセージ送受信と同様の操作でアプリケーション共有を利用することができる。また、ユーザ端末200においては、IM用のプログラムを更新することで、セッションIDやメッセージ送信先情報をプレゼンス情報に含ませることができるため、既存のIMシステムの構成を大幅に変更させることなく、上記のようなアプリケーション共有を実現することができる。さらに、IMクライアントが送信するプレゼンス情報に基づいて、サーバ100がアプリケーション共有できるようセッション管理をおこなっているので、ユーザ端末200は、単にセッションIDや送信先情報をプレゼンス情報に付加するだけでよく、携帯電話などの処理能力が比較的高くないユーザ端末200であっても、過負荷をかけることなくアプリケーション共有を実現することができる。
上記実施の形態では、ユーザ端末200同士(上記の例では「端末A」と「端末B」)で確立しているセッションにBOT300を取り込む場合を説明したが、上記と同様の処理により、ユーザ端末200とBOT300とのセッションに他のユーザ端末200を取り込むこともできる。上記の例でいえば、例えば、端末AとBOT300との間でセッションが確立しており、このセッションに端末Bを取り込むことができる。この場合、例えば、ユーザAが検索をおこなうためにBOT300と会話をおこなっており、得られた検索結果をユーザBに教えたい(共有したい)場合に、ユーザBをセッションに取り込むことで、ユーザA(端末A)とユーザB(端末B)でBOT300の検索結果を共有することができる。
すなわち、既に確立しているセッションの参加メンバは、ユーザ端末200同士に限られず、ユーザ端末200とBOT300のうちのいずれであってもよい。また、セッションに他のユーザを取り込んだ後に、さらに他のユーザを取り込んでもよい。すなわち、既に確立しているセッションの参加メンバ数は「2」に限られず任意である。このような場合、例えば、ユーザ端末200とBOT300の二者間で確立されたセッションに、他のBOT300を取り込むこともできる。このように、複数のBOT300が参加するセッションにおいて、BOT300同士の連携によりアプリケーションを提供してもよい。このような形態を第2の実施の形態として以下説明する。
(第2の実施の形態)
本実施の形態における各構成は、上記第1の実施の形態と同一である。したがって、同一の構成には同一の参照符号を付すが、本実施の形態では、2つのBOT300を連携させる場合を例示し、一方を「BOT X」、他方を「BOT Y」と表記する。
本実施の形態にかかる「BOT連携処理」を図10に示すフローチャートを参照して説明する。この「BOT連携処理」は、サーバ100が実行するものであり、「端末A」と「BOT X」との間で確立しているセッションに「BOT Y」を取り込む場合を例に以下説明する。この「BOT連携処理」は、第1の実施の形態における「メッセージ交換処理」と同様、IMクライアントのいずれかからのIMサービス利用要求を契機に開始されるものであり、ここでは、端末Aから利用要求があったものとして以下説明する。
サーバ100は、図6に示すステップS1〜S5と同様の処理により、端末AとBOT Xとのセッションを確立し、割り当てられたセッションIDが端末AとBOT Xに通知される(ステップS201)。すなわち、端末Aには図7(a)に示すように現在通信可能なメンバが一覧表示されるが、ここでは、検索ロボットであるBOT X(図7(a)の例では、BOT Xの表示名を「検索くん」、BOT Yの表示名を「検索さん」としている)を会話相手として指定する。会話相手が指定されると、第1の実施の形態と同様に、端末Aにメッセージ入力画面MCが表示される(図12(a))。
ここで、送信ボタンSBも表示されるが、サーバ100による表示制御により、第1の実施の形態とはボタンの表記内容が異なる。すなわち、本実施の形態ではセッション相手がBOT Xであり、また、BOT Xは検索ロボットであるから、図12(a)に示すように、現在のセッション相手への送信を指定する送信ボタンSB1には「検索くんで検索」と表記され、他のメンバへの送信を指定する送信ボタンSB2には「他のメンバに送信」と表記される。より詳細には、サーバ100は、プレゼンス情報に含まれる送信先情報に基づいて、送信先がユーザ端末200であるかBOT300であるかを判別し、BOT300である場合には、BOT情報DB162を参照することで、当該BOT300が提供するアプリケーションを特定する。本例では指定されたBOT Xが検索ロボットなので、送信ボタンSB1の表記が「検索くんで検索」となるように表示制御している。なお、第1の実施の形態と同様に、このような表示制御を端末Aで実行されているIM用プログラムでおこなってもよい。
ユーザAは、検索したい事項を示す会話文(メッセージ)を入力し、送信ボタンSBを選択すると、入力されたメッセージとともに端末Aのプレゼンス情報がサーバ100に送信される。ここで、送信ボタンSB1が選択された場合は、BOT XのBOT IDを送信先情報としてプレゼンス情報に含ませる。一方、送信ボタンSB2が選択された場合は、メモリに保持されている通信可能メンバを示す情報を再度一覧表示して他のメンバを選択させ、選択されたメンバのユーザIDもしくはBOT IDを送信先情報としてプレゼンス情報に含ませる。また、割り当てられているセッションIDもプレゼンス情報に含まれる。
サーバ100は、上記第1の実施の形態のステップS6〜S8と同様の処理により、確立したセッションの参加メンバ間でのメッセージ交換をおこなう(ステップS202)。ここで、サーバ100の制御部110は、プレゼンス情報に基づいてセッション情報DB163やプレゼンス情報DB164を参照することで、当該セッションの参加メンバ、および、当該メッセージの送信元を特定し(ステップS203)、メッセージの流れが「セッションに参加しているBOT300からユーザ端末200」であるか否かを判別する(ステップS204)。本例でいえば、「BOT X」から「端末A」へのメッセージであるか否かが判別される。
ここで、BOT300はアプリケーション提供装置であるので、BOT300からユーザ端末200に流れるメッセージには、アプリケーション実行結果が含まれているものとすることができる。したがって、メッセージの流れがBOT300(BOT X)からユーザ端末200(端末A)である場合(ステップS204:Yes)、サーバ100の制御部110は、当該メッセージに検索結果が含まれているものとして、端末Aの表示制御をおこなう(ステップS205)。
ここでは、図12(b)に示すような、BOT Xからのメッセージ(検索結果)を示すメッセージ表示画面MDが表示される。なお、メッセージ表示画面MDでは、メッセージ表示領域DAにメッセージが表示されるが、このメッセージは端末A上で編集可能な状態となっており、メッセージを編集して(あるいは未編集のまま)送信元に返信したり、他のIMクライアントに転送することができる。すなわち、メッセージ表示画面MDには、メッセージの他に、当該メッセージの転送を指示するための転送ボタンFBが用意される。転送ボタンFBはさらに、送信元への返信を指定するための転送ボタンFB1、他のIMクライアントへの転送を指定するための転送ボタンFB2、当該メッセージ(検索結果)を用いて他のBOT300でのアプリケーション実行を指定するための転送ボタンFB3、などを含む。
図12(b)の例では、転送ボタンFB1には「検索くんに返信」と、転送ボタンFB2には「他のメンバに転送」と、転送ボタンFB3には「BOT連携」と表記されている。これらのボタン表記は、ステップS203で特定されたセッション参加メンバおよびメッセージ送信元に応じてサーバ100が実行する表示制御によって決定されるものである。なお、上記第1の実施の形態と同様に、このような表示制御はユーザ端末200のIM用プログラムによって実行されてもよい。
本例においては、例えば、BOT Xの検索結果に基づいて、検索条件を変更して再度BOT Xに検索させる場合などに転送ボタンFB1を指定する。また、BOT Xの検索結果を他のユーザに通知したい場合などには転送ボタンFB2を指定する。さらに、BOT Xの検索結果を用いて、他のBOT300(本例では「BOT Y(検索さん)」とする)に検索させたい場合には転送ボタンFB3を指定する。
ここで、転送ボタンFB1が指定された場合、端末Aは、返信対象メッセージとともに、「BOT X」を送信先とした送信先情報を含んだプレゼンス情報をサーバ100に送信する。また、転送ボタンFB2が指定された場合、端末Aは、ユーザAが登録した「登録メンバ」であって、現在通信可能な他のユーザをリスト表示し(図7(a)参照)、ユーザに転送先を指定させる。転送先のユーザが指定されると、当該ユーザを送信先とした送信先情報を含んだプレゼンス情報を、メッセージとともにサーバ100に送信する。また、転送ボタンFB3が指定された場合、端末Aは、ユーザAが登録した「登録メンバ」であって、BOT X(検索くん)以外の現在通信可能なBOT300をリスト表示し、連携させるBOT300をユーザに指定させる。連携させるBOT300が指定されると、当該BOT300を送信先とした送信先情報を含んだプレゼンス情報を、メッセージとともにサーバ100に送信する。サーバ100に送信されるプレゼンス情報には、当該セッションに割り当てられているセッションID、および、送信元を示す識別情報(端末ID)も含まれる。
一方、メッセージの流れがBOT Xから端末Aでない場合(ステップS204:No)は、ステップS206に進み、メッセージとプレゼンス情報を受信する。
サーバ100は、端末Aからメッセージを受信すると(ステップS206)、制御部110は、メッセージとともに受信したプレゼンス情報を分析する(ステップS207)。すなわち、プレゼンス情報に含まれる送信先情報、セッションID、送信元端末IDに基づいて、メッセージの送信先がセッション参加メンバであるか否かや、メッセージ送信先がBOT300であるか否か、などを判別する。
まず、メッセージ送信先がセッション参加メンバである場合(ステップS208:Yes)は、当該メッセージを指定された送信先に中継する(ステップS209)。本例では、端末Aで転送ボタンFB1が指定された場合が該当し、端末AからBOT Xにメッセージが中継される。メッセージ送信先にセッション参加メンバを指定している場合は、セッションが終了するまで、上記のようなメッセージ交換が順次おこなわれる(ステップS216:No)。
一方、メッセージ送信先が参加メンバでない場合(ステップS208:No)、上記第1の実施の形態における「多者間通信処理」(図9)と同様の処理により、指定された送信先(取込対象ユーザ)を現在のセッションに取り込む(ステップS210(図11))。
この場合、サーバ100の制御部110はさらに、プレゼンス情報に基づいて、メッセージの送信先がユーザ端末200(本例では、ユーザBの端末Bとする)であるかBOT300であるかを判別する(ステップS211)。ここで、送信先が端末Bである場合(ステップS211:Yes)、当該メッセージを端末Bに中継する(ステップS212)。これは、端末Aで転送ボタンFB2が指定された場合に該当するものであり、BOT Xの検索結果を2ユーザ(本例では、ユーザAとユーザB)で共有することになる。
一方、メッセージ送信先がBOT300(BOT Y)である場合(ステップS211:No)は、当該メッセージをBOT Y(連携対象BOT)に中継し(ステップS213)、BOT Yに当該メッセージを用いた検索を実行させる。これは、端末Aで転送ボタンFB3を指定した場合に該当し、BOT Xの検索結果を使って、BOT Yでさらに検索をおこなうものである。すなわち、端末Aで指定された送信先に基づいて、アプリケーション提供装置であるBOT XとBOT Yとを擬似的に連携させて、アプリケーションを実行させたものである。
サーバ100は、ステップS212またはS213でメッセージを中継した端末BまたはBOT Yからメッセージを受信すると(ステップS214)、メッセージとともに受信したプレゼンス情報に基づいて、当該メッセージを端末Aに中継する(ステップS215)。すなわち、端末Aでは、ユーザBからの返信やBOT Yによる検索結果を受信する。ここで、BOT Yからの検索結果を受信した場合は、BOT XとBOT Yの連携によって得られた検索結果を得ることになる。
上記のようなメッセージ中継を、セッションが終了するまで継続する(ステップS216:No(図10))。
以上説明したように、本発明の第2の実施の形態によれば、BOT300との会話で得られたメッセージを他のBOT300に送信することで、複数のBOT300を連携させることができる。この場合、ユーザ端末200では、通常のメッセージ送信と同様の操作によってメッセージをBOT300に送信すればよい。すなわち、メッセージ送信の際に付加されるプレゼンス情報に基づいて、サーバ100が通信制御をおこなうので、ユーザ端末200に特別なボタン等の構成を備える必要がなく、従来のIMシステムのハードウェア構成を大幅に変更することなく、BOT連携などの複雑な動作を実現することができる。
上記実施の形態のように、検索ロボットであるBOT300を連携させることにより、例えば、一般的な事項を検索対象とするBOT300による検索結果を用いて、専門分野に特化した他のBOT300に検索させることで、的確な検索結果を得ることができる。上記実施の形態では、BOT300が検索ロボットである場合を例示したが、BOT300は検索ロボットに限られず、種々のアプリケーション提供装置とすることができる。例えば、各種ファイルの表示・編集をおこなうアプリケーションを共有して、複数のユーザが共同でファイルを編集する一方、作業中に生じた疑問点などを検索ロボットで調べ、その結果を各ユーザが共有することができる。このような、異なるアプリケーションを共有するといった複雑な動作であっても、通常のメッセージ送受信と同様の簡単な操作で複数のBOTを連携させ、容易に実現することができる。
上記実施の形態では、ユーザ端末200として移動体通信端末の場合を例示したが、ユーザ端末200はこれに限られず任意の端末装置(例えば、パーソナルコンピュータやPDA(Personal Data Assistance:携帯情報端末)など)とすることができる。すなわち、これらの端末装置に所定のプログラムをインストールすることで、上記実施の形態にかかるユーザ端末200を構成することができる。この場合、種々の方法によりプログラムを配布することができ、例えば、CD−ROMなどの記憶媒体に格納して配布可能であることはもとより、プログラムを搬送波に重畳することで、所定の通信媒体(例えば、インターネットなど)を介して配布することもできる。なお、ユーザ端末200が移動体通信端末である場合には、IMサービスを提供するサーバ100からプログラムをダウンロードしてインストールしてもよい。
また、サーバ100は専用装置から構成可能であることはもとより、例えば、パーソナルコンピュータなどの汎用コンピュータ装置などで構成することができる。この場合、上述したサーバ100の動作を実現するためのプログラムをコンピュータ装置にインストールし、OS(Operating System)などとの協働により実行することで、上記のようなサーバ100を構成することができる。このようなプログラムの配布方法は上記と同様に任意であり、記録媒体に格納して配布したり、通信媒体を介して配布することができる。
本発明によれば、移動体通信端末などを用いたインスタントメッセージシステムにおいて、アプリケーション提供装置が提供するアプリケーションの共有や、アプリケーション提供装置の連携動作などを容易に実現することができる。
本発明の実施の形態にかかるIMシステムの構成を模式的に示す図である。 図1に示すサーバの構成を示すブロック図である。 図2に示す記憶部に構成されるデータベースを説明するための図である。 図3に示すデータベースに蓄積される情報の例を示す図であり、(a)は「ユーザ情報DB」に記録される情報の例を示し、(b)は「BOT情報DB」に記録される情報の例を示す。 図3に示すデータベースに蓄積される情報の例を示す図であり、(a)は「セッション情報DB」に記録される情報の例を示し、(b)は「プレゼンス情報DB」に記録される情報の例を示す。 本発明の実施の形態にかかる「メッセージ交換処理」を説明するためのフローチャートである。 図6に示す処理によりユーザ端末に表示される画面の例を示す図であり、(a)は通信可能メンバの一覧画面の表示例であり、(b)はセッション確立通知画面の表示例である。 図6に示す処理によりユーザ端末に表示される「メッセージ入力画面」の表示例を示す図である。 本発明の第1の実施の形態にかかる「多者間通信処理」を説明するためのフローチャートである。 本発明の第2の実施の形態にかかる「BOT連携処理」を説明するためのフローチャートである。 本発明の第2の実施の形態にかかる「BOT連携処理」を説明するためのフローチャートである。 図10、11に示す処理によってユーザ端末に表示される画面の表示例を示す図であり、(a)は「メッセージ入力画面」の表示例を示し、(b)は「メッセージ表示画面」の表示例を示す。
符号の説明
1 IM(インスタントメッセージ)システム
10 通信ネットワーク
100 サーバ
200 ユーザ端末
300 BOT

Claims (7)

  1. インスタントメッセージのメッセージ交換を中継するサーバであって、
    メッセージ交換をおこなうユーザ端末で確立しているセッションおよび当該セッションにおけるメッセージ送信先を識別する情報を、各ユーザ端末のプレゼンス情報として随時取得するプレゼンス取得手段と、
    前記プレゼンス取得手段が取得したプレゼンス情報に示されるメッセージ送信先が、当該ユーザ端末で確立しているセッションのメンバであるか否かを判別する送信先判別手段と、
    メッセージ送信先が当該セッションのメンバ以外の場合、当該送信先を含んだ多者間通信を中継するセッション制御手段と、を備え、
    前記セッション制御手段は、
    多者間通信のメンバに複数のアプリケーション提供手段が含まれる場合、メッセージ送信先を識別する情報を含んだ前記プレゼンス情報に基づいて、一のアプリケーション提供手段での実行結果を他のアプリケーション提供手段に中継し、該中継先のアプリケーション提供手段で前記実行結果を用いた実行の結果を、メッセージ送信元に中継する、
    ことを特徴とするサーバ。
  2. 前記送信先判別手段は、メッセージ送信先が所定のアプリケーション提供手段であるか否かを判別し、
    前記セッション制御手段は、メッセージ送信先がアプリケーション提供手段である場合、前記セッションのメンバと当該アプリケーション提供手段との多者間通信を中継することで、前記セッションメンバに当該アプリケーション提供手段が提供するアプリケーションを共有させる、
    ことを特徴とする請求項に記載のサーバ。
  3. 前記セッション制御手段は、前記アプリケーション提供手段のアプリケーション実行結果を前記セッションメンバの各ユーザ端末に中継する、
    ことを特徴とする請求項1または2に記載のサーバ。
  4. コンピュータを用いて、インスタントメッセージシステムで多者間通信をおこなうための通信制御方法であって、
    確立したセッションを示す情報と、当該セッションでのメッセージ送信先を示す情報とを、インスタントメッセージのプレゼンス情報として各ユーザ端末から随時取得するプレゼンス取得ステップと、
    取得したプレゼンス情報に示されるメッセージ送信先に基づいてセッションを制御するセッション制御ステップと、を備え、
    前記セッション制御ステップは、ユーザ端末間のセッションに、アプリケーション提供手段とのセッションを取り込むことで、当該ユーザ端末間で該アプリケーション提供手段が提供するアプリケーションを共有させるとともに前記メッセージ送信先を示す情報を含むプレゼンス情報に基づいて、前記ユーザ端末と前記アプリケーション提供手段とのセッションに他のアプリケーション提供手段とのセッションを取り込むことで、前記アプリケーション提供手段の実行結果を前記他のアプリケーション提供手段に中継し、該実行結果を用いた該アプリケーション提供手段の実行結果を前記ユーザ端末に中継する、
    ことを特徴とする通信制御方法。
  5. 前記セッション制御ステップは、前記ユーザ端末と前記アプリケーション提供手段とのセッションに、他のユーザ端末とのセッションを取り込むことで、当該ユーザ端末間で該アプリケーション提供手段が提供するアプリケーションを共有させる、
    ことを特徴とする請求項に記載の通信制御方法。
  6. コンピュータを、請求項乃至のいずれか1項に記載のサーバとして機能させることを特徴とするプログラム。
  7. コンピュータに、請求項4または5に記載の通信制御方法の各ステップを実行させることを特徴とするプログラム。
JP2003340692A 2003-09-30 2003-09-30 サーバ、通信制御方法、および、プログラム Expired - Lifetime JP4363942B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003340692A JP4363942B2 (ja) 2003-09-30 2003-09-30 サーバ、通信制御方法、および、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003340692A JP4363942B2 (ja) 2003-09-30 2003-09-30 サーバ、通信制御方法、および、プログラム

Publications (3)

Publication Number Publication Date
JP2005107893A JP2005107893A (ja) 2005-04-21
JP2005107893A5 JP2005107893A5 (ja) 2006-03-30
JP4363942B2 true JP4363942B2 (ja) 2009-11-11

Family

ID=34535510

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003340692A Expired - Lifetime JP4363942B2 (ja) 2003-09-30 2003-09-30 サーバ、通信制御方法、および、プログラム

Country Status (1)

Country Link
JP (1) JP4363942B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105933202A (zh) * 2016-04-13 2016-09-07 郑州悉知信息科技股份有限公司 一种消息处理方法及装置

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100496027C (zh) * 2005-11-01 2009-06-03 中国移动通信集团公司 即时消息数据共享的方法
US7831262B2 (en) * 2006-08-03 2010-11-09 Sharp Laboratories Of America, Inc. Systems and methods for indicating presence for an online service with a mobile telecommunications device based on movement
US8145708B2 (en) * 2006-11-10 2012-03-27 Microsoft Corporation On-line virtual robot (bot) security agent
JP4897611B2 (ja) 2007-08-10 2012-03-14 インターナショナル・ビジネス・マシーンズ・コーポレーション インスタント・メッセージング・システム、方法、およびプログラム
KR20090132704A (ko) * 2008-06-23 2009-12-31 삼성전자주식회사 네트워크 기반의 서비스 제공 시스템 및 방법
US8255453B2 (en) 2009-09-14 2012-08-28 International Business Machines Corporation Public BOT management in private networks
US9036545B2 (en) * 2010-12-08 2015-05-19 Qualcomm Incorporated Exchanging presence information in a communications network
KR101402506B1 (ko) 2011-12-01 2014-06-03 라인 가부시키가이샤 인스턴트 메시징 어플리케이션을 이용한 대화형 정보제공 시스템 및 방법
KR20130071958A (ko) * 2011-12-21 2013-07-01 엔에이치엔(주) 인스턴트 메시징 어플리케이션에서 메시지 통번역을 제공하는 시스템 및 방법
KR101821358B1 (ko) * 2013-01-22 2018-01-25 네이버 주식회사 다자간 메신저 서비스를 제공하는 방법 및 시스템
JP6219744B2 (ja) * 2014-02-19 2017-10-25 Kddi株式会社 携帯端末、メッセージ交換システム及び携帯端末用プログラム
US10009311B2 (en) 2014-03-28 2018-06-26 Alcatel Lucent Chat-based support of multiple communication interaction types
US20160021038A1 (en) * 2014-07-21 2016-01-21 Alcatel-Lucent Usa Inc. Chat-based support of communications and related functions
JP2018156608A (ja) * 2017-03-21 2018-10-04 株式会社リコー 情報処理システム、情報処理装置及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105933202A (zh) * 2016-04-13 2016-09-07 郑州悉知信息科技股份有限公司 一种消息处理方法及装置

Also Published As

Publication number Publication date
JP2005107893A (ja) 2005-04-21

Similar Documents

Publication Publication Date Title
JP4363942B2 (ja) サーバ、通信制御方法、および、プログラム
US7086005B1 (en) Shared virtual space conversation support system using virtual telephones
US9391932B2 (en) Including a plurality of users in a conversation over a communication network
JP2004102547A (ja) コミュニケーションシステム、コミュニケーションサーバ、及び、コミュニケーション方法
CN101304326B (zh) 计算机系统和管理计算机
JP2005318503A (ja) プレゼンスサーバ、セッション制御サーバ、パケット中継システム、サーバ、及びシステム
JP2012048708A (ja) コミュニケーション支援装置およびプログラム
JP2004153352A (ja) マルチメディアコミュニケーションシステム
WO2000008813A1 (fr) Systeme et procede de communication de messages avec caracteres
CN101494620A (zh) 用于改进即时消息递送系统的控制的方法和系统
US20070299852A1 (en) Information sharing control system
EP3026844B1 (en) Apparatus, system, and method of selecting relay device in conferencing system, and carrier medium
JP2008259153A (ja) 通信端末、通信方法選択方法、通信方法及びこれらを実現するサーバ
JP2017050687A (ja) 制御装置、通信制御システム、及びプログラム
JP2004054340A (ja) インスタントメッセージング装置、インスタントメッセージングシステム、インスタントメッセージング方法、プログラム及び記録媒体
EP2846540A1 (en) Apparatus, system, and method of managing data, and carrier means
JP2003216777A (ja) プログラム、及び情報処理装置
WO2002054750A1 (fr) Systeme de communication
US20220070231A1 (en) Information processing device, communication method, and communication system
EP3029933B1 (en) Apparatus, system, and method of controlling session, and carrier means
JP4725247B2 (ja) ワークプレース提供システムおよび方法
EP3029882B1 (en) Apparatus, system, and method for determining destination for state information and carrier means
JP4025042B2 (ja) データ転送システム、データ転送方法、通信管理サーバおよびプログラム
JP2001160022A (ja) チャットシステム、チャット制御方法およびプログラムを記録した記録媒体
JP7398248B2 (ja) ネットワークシステム、サーバ、および情報処理方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060210

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080908

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080924

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081125

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090818

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090818

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120828

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4363942

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120828

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130828

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term