JP7175788B2 - 中継ポイント割り当てサーバ、チャットシステム、クライアント端末、チャットサーバ、およびチャット空間構築方法 - Google Patents

中継ポイント割り当てサーバ、チャットシステム、クライアント端末、チャットサーバ、およびチャット空間構築方法 Download PDF

Info

Publication number
JP7175788B2
JP7175788B2 JP2019020859A JP2019020859A JP7175788B2 JP 7175788 B2 JP7175788 B2 JP 7175788B2 JP 2019020859 A JP2019020859 A JP 2019020859A JP 2019020859 A JP2019020859 A JP 2019020859A JP 7175788 B2 JP7175788 B2 JP 7175788B2
Authority
JP
Japan
Prior art keywords
chat
server
client terminal
request
space
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.)
Active
Application number
JP2019020859A
Other languages
English (en)
Other versions
JP2020129207A (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.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Interactive Entertainment Inc
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 Sony Interactive Entertainment Inc filed Critical Sony Interactive Entertainment Inc
Priority to JP2019020859A priority Critical patent/JP7175788B2/ja
Priority to US17/428,022 priority patent/US20220029842A1/en
Priority to EP20752171.7A priority patent/EP3923147A4/en
Priority to PCT/JP2020/003718 priority patent/WO2020162364A1/ja
Publication of JP2020129207A publication Critical patent/JP2020129207A/ja
Application granted granted Critical
Publication of JP7175788B2 publication Critical patent/JP7175788B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1818Conference organisation arrangements, e.g. handling schedules, setting up parameters needed by nodes to attend a conference, booking network resources, notifying involved parties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1827Network arrangements for conference optimisation or adaptation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/214Monitoring or handling of messages using selective forwarding

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、ネットワークを介して複数のユーザが会話をするチャットシステムと、それに含まれる中継ポイント割り当てサーバ、クライアント端末、チャットサーバ、およびそこでなされるチャット空間構築方法に関する。
近年の情報処理技術の発展、ネットワークの充実化などにより、パーソナルコンピュータや携帯端末など、ユーザが操作する装置の性能や使用環境によらず、多様なコンテンツを容易に楽しむことができるようになってきた。例えばコンテンツ提供サーバから送信されるデータを個々人で受信して楽しむばかりでなく、離れているユーザ同士がコミュニケーションをとりつつ一緒に楽しむことのできるコンテンツも増えている。ユーザ同士がネットワークを介して文字、音声、映像により会話する手段としてチャットシステムが知られている(例えば特許文献1参照)。
特許第5534469号公報
チャットシステムにおいて対面での会話と同様の自然な会話を実現するには、発した言葉が即時に相手側に伝わることが望ましい。ネットゲームや動画配信など、並行して実施しているコンテンツについての会話であれば特に、会話の到達遅延はユーザにとって多大なストレスとなり得る。しかしながら個々のユーザが用いる端末の種類やネットワーク環境、参加するユーザの人数など、様々な状況に対応させようとするほど、通信に要する時間が増加しやすいというジレンマがある。
本発明はこのような課題に鑑みてなされたものであり、その目的は、安定的して遅延の少ないチャット環境を実現することにある。
本発明のある態様は中継ポイント割り当てサーバに関する。この中継ポイント割り当てサーバは、各チャット空間に参加している複数のメンバーが、クライアント端末を用いてネットワークを介した会話を実現するチャットシステムにおいて、クライアント端末のいずれかから、チャット空間の開設要求を取得する通信部と、当該開設要求に応じて、分散して配置され、前記クライアント端末間での発言データの伝送を中継する複数のチャットサーバのうち、所定の規則に基づき選択した一のチャットサーバに、開設要求に対応するチャット空間における発言データの中継を要求するチャットサーバ選択部と、を備えることを特徴とする。
本発明の別の態様はチャットシステムに関する。このチャットシステムは、各チャット空間に参加している複数のメンバーによるネットワークを介した会話を実現するチャットシステムであって、メンバーの発言データをネットワークに出力するとともに、他のメンバーの発言データをネットワークから取得して出力装置に出力させる複数のクライアント端末と、分散して配置され、クライアント端末間での発言データの伝送を中継する複数のチャットサーバと、クライアント端末のいずれかからのチャット空間の開設要求に応じて、複数のチャットサーバのうち、所定の規則に基づき選択した一のチャットサーバに、開設要求に対応するチャット空間における発言データの中継を要求する中継ポイント割り当てサーバと、を備えることを特徴とする。
本発明のさらに別の態様はクライアント端末に関する。このクライアント端末は、各チャット空間に参加している複数のメンバーが、ネットワークを介した会話を実現するチャットシステムにおいて用いるクライアント端末であって、当該クライアント端末を用いているメンバーの発言を取得する入力情報取得部と、分散して配置され、クライアント端末間での発言データの伝送を中継する複数のチャットサーバから所定の規則に基づき選択された一のチャットサーバと通信を確立することにより、発言データの送受信を行う通信部と、各メンバーの発言データを所定のフォーマットで順次出力装置に出力する出力部と、を備え、通信部は、入力情報取得部が取得したチャット開始要求に応じて、チャットサーバを選択する中継ポイント割り当てサーバに対し、チャット空間の開設要求を発行し、その結果として中継ポイント割り当てサーバから送信された情報に基づき、選択された前記チャットサーバと通信を確立することを特徴とする。
本発明のさらに別の態様はチャットサーバに関する。このチャットサーバは、各チャット空間に参加している複数のメンバーが、クライアント端末を用いてネットワークを介した会話を実現するチャットシステムにおいて、分散して配置され、クライアント端末間での発言データの伝送を中継するチャットサーバであって、クライアント端末のいずれかが発行したチャット空間の開設要求に応じて所定の規則に基づき一のチャットサーバを選択する中継ポイント割り当てサーバからの要求に従い、チャット空間を開設するチャット空間開設部と、クライアント端末ごとに発行される、チャット空間への参加要求を中継ポイント割り当てサーバから受け付け、所定の条件を満たしたクライアント端末と直接通信を確立することにより、発言データを中継するチャット処理部と、を備えたことを特徴とする。
本発明のさらに別の態様はチャット空間構築方法に関する。このチャット空間構築方法は、各チャット空間に参加している複数のメンバーが、クライアント端末を用いてネットワークを介した会話を実現するチャットシステムにおいて、クライアント端末のいずれかが、チャット空間の開設要求を発行するステップと、中継ポイント割り当てサーバが、開設要求に応じて、分散して配置され、クライアント端末間での発言データの伝送を中継する複数のチャットサーバのうち、所定の規則に基づき選択した一のチャットサーバに、開設要求に対応するチャット空間における発言データの中継を要求するステップと、選択されたチャットサーバがチャット空間を開設したうえ、クライアント端末と直接通信を確立することにより、前記発言データを中継するステップと、を含むことを特徴とする。
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
本発明によると、状況変化に応じた好適な情報処理の形態を常時提供できる。
一般的なチャットシステムの構成を例示する図である。 本実施の形態におけるチャットシステムの構成を示す図である。 本実施の形態におけるクライアント端末の内部回路構成を示す図である。 本実施の形態におけるクライアント端末の機能ブロックの構成を示す図である。 本実施の形態におけるゲートウェイおよび中継ポイント割り当てサーバの機能ブロックの構成を示す図である。 本実施の形態におけるチャットサーバの機能ブロックの構成を示す図である。 本実施の形態においてチャットルームを開設する処理手順を示すタイムチャートである。 本実施の形態において、開設されたチャットルームに参加する際の処理手順を示すタイムチャートである。 本実施の形態において、開設されたチャットルームに参加する際の処理手順を示すタイムチャートである。 本実施の形態における中継ポイント割り当てサーバの選択規則記憶部に格納されるデータの構造例を示す図である。 本実施の形態における中継ポイント割り当てサーバのチャット情報記憶部に格納されるデータの構造例を示す図である。 本実施の形態におけるチャットサーバのチャット情報記憶部に格納されるデータの構造例を示す図である。 本実施の形態において中継ポイント割り当てサーバが、チャットルームを開設させるチャットサーバあるいはその地域を選択するポリシーを説明するための図である。 本実施の形態において、通信速度の実測値に基づきチャットサーバを選択する態様における、クライアント端末の機能ブロックの構成を示す図である。 本実施の形態において、複数のクライアント端末との通信速度の平均値に基づきチャットサーバを選択する処理手順を示すフローチャートである。
まず本実施の形態の有意性を明らかにするため、従来の一般的なチャット技術について説明する。なお本実施の形態では、ネットワークを介して音声または音声を伴う映像によって会話することを想定するが、文字による会話でもよいし、文字、音声、映像の2つ以上を組み合わせてもよい。以後、データの種類によらず、チャットにおいて相手の端末に送信すべき会話の内容を示すデータを「発言データ」と呼ぶ。
図1は、一般的なチャットシステムの構成を例示している。チャット参加者はそれぞれのクライアント端末200a、200b、200c、200dを介して他の参加者と会話する。例えばクライアント端末200aを用いる参加者が発言した場合、クライアント端末200aはその発言データを適宜符号化し、インターネットなどのネットワークを介して他の参加者のクライアント端末200b、200c、200dに送信する。
詳細には発言データは、クライアント端末200aが属するローカルなネットワークからインターネットを経由して、宛先のクライアント端末200b、200c、200dがそれぞれ属するローカルなネットワークに伝送される。異なるネットワーク間のデータ伝送には、NAT(Network Address Translation)によるIPアドレスの変換や、プロトコルの変換などを行う必要がある。図示するようにクライアント端末同士が通信を確立し、データのやりとりを直接行う方式はピアツーピア(Peer to Peer)と呼ばれる。
この方式によれば、発言データを相手に直接伝送できるため、一般的には発言が相手に伝わるまでの遅延時間が少ないという利点がある。一方で、各クライアント端末がチャット相手の数だけ通信経路を確保する必要があるため、チャットに参加する人数が増えるほど、各クライアント端末やそれが属するネットワークにおけるリソースの消費が増大する。これにより、例えばゲームや動画などのコンテンツを別途処理しつつ会話をするような形態においては、参加人数の変動がコンテンツ自体の応答性に影響を及ぼす場合もある。
また伝送経路上のネットワークインターフェースにおける、NATなど変換機構の組み合わせによっては、通信の確立に時間を要したり、通信が困難であったりすることも考えられる。さらに直接的な通信によりセキュリティー上の問題も生じやすい。そこで本実施の形態では、発言データを中継するチャットサーバを設けることによりこれらの問題を克服する。このとき、チャットサーバを異なる地域に複数配置し、クライアント端末の位置情報などに応じて適切なサーバを選択することにより、安定的かつ遅延時間の少ないチャットシステムを実現する。
図2は、本実施の形態におけるチャットシステムの構成を示す。チャットシステム1はクライアント端末10a、10b、10c、・・・(以下、それらを総称してクライアント端末10とも呼ぶ)、チャットサーバ18a、18b、18c、・・・(以下、それらを総称してチャットサーバ18とも呼ぶ)、ゲートウェイ12、中継ポイント割り当てサーバ14、およびロードバランサ16a、16b、・・・(以下、それらを総称してロードバランサ16とも呼ぶ)を含む。
クライアント端末10はそれぞれのユーザが操作する装置であり、少なくともチャットに係る入力および出力を行う。クライアント端末10はそのほか、ゲームや動画など各種コンテンツを自身で処理したり、コンテンツ提供サーバからデータの配信を受けたりして、その結果である画像や音声を出力してもよい。クライアント端末10はタブレット、携帯電話、携帯端末、パーソナルコンピュータなど、一般的な装置や端末のいずれでもよい。
チャットサーバ18は、クライアント端末10a、10b、10c、・・・を操作する複数のユーザからなるグループが会話を実現するチャット空間を生成する。チャット空間は実際には、個別に識別情報が与えられ、チャット参加者やそれぞれのクライアント端末10が関連付けられたデータ、あるいはその記憶領域の単位である。以後、各チャットグループが会話をする個々の空間を「チャットルーム」と呼ぶ。チャットサーバ18はチャットルームに参加している全てのユーザのクライアント端末10と通信を確立し、各ユーザの発言データを他のユーザのクライアント端末10に転送する。
本実施の形態では上述のとおり、チャットサーバ18a、18b、18c、・・・を異なる地域に分散させて設ける。図示する例では、チャットサーバ18a、18bは地域「A」に、チャットサーバ18cは地域「B」に設けられていることを、破線で囲んで示している。ここで「地域」とは例えば大陸や国といった単位が考えられるが、州、市、町、施設など単位の大きさや分割の基準は特に限定されない。また、1つの地域に1つのチャットサーバ18を設けてもよいし、複数のチャットサーバ18を設けてもよい。
中継ポイント割り当てサーバ14は、クライアント端末10のいずれかからのチャットルーム開設要求に応じて、開設に適したチャットサーバ18を選択する。ネットゲームのプレイヤなどと比較して、チャットの参加者は共通の言語で会話をするという特性上、母国語が同じである確率が高い。母国語が同じユーザは地理的にも近い位置にいる可能性が高いため、上述のとおり「地域」ごとにチャットサーバを配置すれば、一つのチャットルームに参加する全ユーザに共通して近いチャットサーバがおよそ定まることに本発明者は想到した。
これを踏まえゲートウェイ12は、送信されたチャットルームの開設要求信号から、要求元のクライアント端末10の位置情報を取り出す。そして中継ポイント割り当てサーバ14は例えば、要求元のクライアント端末10が存在する地域のチャットサーバ18を選択する。上記知見によれば、そのようにチャットサーバ18を選択すれば、後から参加するユーザにとっても、近いチャットサーバ18である確率が高いということになる。結果として、当該チャットサーバ18を介してなされる会話において、通信遅延を最小限に抑えることができる。
ロードバランサ16は各地域に配置され、中継ポイント割り当てサーバ14からの要求に従い、同じ地域に配置されている複数のチャットサーバ18a、18bのうち、処理負荷の低いサーバを選択してチャットルームを開設させることにより、チャット中継処理の負荷を適切に分散させる。なお本実施の形態では上述のとおり、並行してゲームなどのコンテンツを処理するシステムが存在してよいが、従来技術を適用できるためここでの説明は省略する。
図3は、クライアント端末10の内部回路構成を示している。クライアント端末10は、CPU(Central Processing Unit)23、GPU(Graphics Processing Unit)24、メインメモリ26を含む。これらの各部は、バス30を介して相互に接続されている。バス30にはさらに入出力インターフェース28が接続されている。入出力インターフェース28には、USBやIEEE1394などの周辺機器インターフェースや、有線又は無線LANのネットワークインターフェースからなる通信部32、ハードディスクドライブや不揮発性メモリなどの記憶部34、表示装置へデータを出力する出力部36、入力装置からデータを入力する入力部38、磁気ディスク、光ディスクまたは半導体メモリなどのリムーバブル記録媒体を駆動する記録媒体駆動部40が接続される。
CPU23は、記憶部34に記憶されているオペレーティングシステムを実行することによりクライアント端末10の全体を制御する。CPU23はまた、リムーバブル記録媒体から読み出されてメインメモリ26にロードされた、あるいは通信部32を介してダウンロードされた各種プログラムを実行する。通信部32はまた、ゲートウェイ12およびチャットサーバ18と通信を確立し、チャットに必要な各種データを送受信する。
GPU24は、ジオメトリエンジンの機能とレンダリングプロセッサの機能とを有し、CPU23からの描画命令に従って描画処理を行い、表示画像を図示しないフレームバッファに格納する。そしてフレームバッファに格納された表示画像をビデオ信号に変換して出力部36に出力する。メインメモリ26はRAM(Random Access Memory)により構成され、処理に必要なプログラムやデータを記憶する。なお中継ポイント割り当てサーバ14およびチャットサーバ18の内部回路構成も同様でよい。
図4は、本実施の形態におけるクライアント端末10の機能ブロックの構成を示している。同図および後述する図5、6、14においてさまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、図3に示したようにCPU、GPU、メインメモリ、その他のLSIで構成することができ、ソフトウェア的には、記録媒体や記憶装置に格納されメモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
クライアント端末10は、入力装置を介してユーザ操作を受け付ける入力情報取得部42、受け付けた操作の内容に応じてチャットに係る処理を実施するチャット処理部44、出力すべき画像や音声のデータを生成し表示装置やスピーカーなどの出力装置に出力する出力部46、ゲートウェイ12やチャットサーバ18などの外部装置と通信を確立しデータの送受を行う通信部50、チャットに係る各種情報を記憶するチャット情報記憶部48含む。
入力情報取得部42は、チャットの開始や終了、チャット相手の選択、発言や会話の様子を表すデータを入力装置から取得する。ここで入力装置はクライアント端末10に接続されたコントローラ、タッチパネル、キーボード、カメラ、マイクなど、チャットを実施するために必要な一般的な装置でよい。チャット処理部44は、入力情報取得部42が取得したユーザ操作に従い、チャットの開始/終了、チャット相手の招待、チャットへの参加/離脱などの処理に従い、表示すべき画像や外部に送信すべき信号を生成する。チャット処理部44はまた、自装置のユーザの発言やチャット相手の発言のデータを取得し、所定の形式で出力データを生成する。
すなわちボイスチャットであれば、マイクやカメラが取得した、自装置のユーザの音声データや映像データを圧縮符号化して送信可能な形式にするとともに、圧縮符号化されて送信された相手の音声データや映像データを復号伸張する。チャット相手が複数の場合は、それらの音声や映像を適宜合成したりつなげたりする。テキストチャットであれば、送信された相手の発言を表すテキストデータを、自装置のユーザが入力したテキストとともに、時系列順など所定のフォーマットで表した画像を生成する。これらの処理は一般的なチャットの処理と同様でよい。
出力部46は、そのようにして生成された画像や音声のデータを順次、出力装置に出力する。出力装置はクライアント端末10に接続された、液晶ディスプレイや有機ELディスプレイなどの一般的な表示装置、およびスピーカーなどの一般的な音響装置のいずれかまたは組み合わせでよい。通信部50は、チャットの開始やチャットへの参加を要求する信号をゲートウェイ12に送信する。特にチャットの開始、すなわちチャットルームの開設にあたっては、クライアント端末10の位置情報を当該要求信号に含めることにより、適切なチャットサーバ18にチャットルームを開設できるようにする。
通信部50はさらに、自装置のユーザによる発言データを、対応するチャットルームが開設されているチャットサーバ18に送信するとともに、相手の発言データを当該チャットサーバ18から受信する。通信部50はまた、チャットの終了やチャットからの離脱を要求する信号をチャットサーバ18に送信するとともに、チャットに招待したい相手のクライアント端末10に対し、直接的あるいは間接的にその旨を示す信号を送信する。チャット情報記憶部48は、開設されたチャットルームの識別情報や、そこにアクセスするためのキーとなる情報を格納する。チャット情報記憶部48はまた、自装置のユーザが事前に登録した、チャット相手の候補者に係る情報も格納する。
図5は、本実施の形態におけるゲートウェイ12および中継ポイント割り当てサーバ14の機能ブロックの構成を示している。ゲートウェイ12は、クライアント端末10や中継ポイント割り当てサーバ14と通信を確立しデータの送受信を行う通信部72、および、クライアント端末10から送信された信号から、当該クライアント端末10の位置情報を読み出す位置情報取得部74を含む。
通信部72は、チャットルームの開設や既存のチャットルームへの参加などの要求信号をクライアント端末10から取得し、中継ポイント割り当てサーバ14へ送信する。このとき位置情報取得部74は、チャットルームの開設要求信号を通信部72から取得し、信号送信元のクライアント端末10の位置情報を読み出して通信部72へ通知する。通信部72は当該位置情報も中継ポイント割り当てサーバ14へ送信する。通信部72はまた、開設されたチャットルームの識別情報や、そこにアクセスするためのキーとなる情報を中継ポイント割り当てサーバ14から取得し、クライアント端末10に送信する。通信部72はさらに、クライアント端末10とチャットサーバ18が通信を確立するまでに必要な信号を中継する。
中継ポイント割り当てサーバ14は、ゲートウェイ12、ロードバランサ16、およびチャットサーバ18と通信を確立しデータの送受信を行う通信部76、クライアント端末10と、チャットサーバ18あるいはその地域をマッチングするチャットサーバ選択部78、マッチングの根拠となるデータを格納する選択規則記憶部80、チャットサーバ18とチャットルームの対応を管理するチャット管理部82、およびその対応関係を記憶するチャット情報記憶部84を含む。
通信部76は、クライアント端末10から送信された、チャットルームの開設や既存のチャットルームへの参加などの要求信号を、ゲートウェイ12を介して取得するとともに、開設されたチャットルームに係る情報を、ゲートウェイ12を介してクライアント端末10に返す。通信部76はまた、選択されたチャットサーバ18、またはその地域にあるロードバランサに、チャットルームの開設要求信号を送信し、その結果を受信する。後者の場合は、適切なチャットサーバ18を選択してチャットルームを開設させるように要求する。通信部76はさらに、クライアント端末10とチャットサーバ18が通信を確立するまでに必要な信号を中継する。
チャットサーバ選択部78は、チャットルームの開設を要求したクライアント端末10と適合するチャットサーバ18、あるいはそのようなチャットサーバ18が存在する地域を選択する。地域を選択した場合はロードバランサ16がさらに、処理の負荷に応じてチャットサーバ18を選択してよいが、以後、このような場合も含め、「チャットサーバの選択」と表現する場合がある。選択の根拠となる情報はあらかじめ選択規則記憶部80に格納しておく。
基本的には上述のとおり、クライアント端末10の近傍にあるチャットサーバ18が選択されるように、クライアント端末10の位置情報とチャットサーバ18の地域を対応づけておく。一方、近くにあるチャットサーバ18であっても、通信環境によっては遠くのチャットサーバ18より通信速度が遅くなることが考えられる。
またチャットサーバ18の地域を選択する場合、クライアント端末10が属する地域より、それに隣接する地域にあるチャットサーバ18の方が、当該クライアント端末10に近かったり通信速度が速かったりすることも考えられる。これらを踏まえ好適には、実際の距離や通信速度を踏まえてチャットサーバ18を選択できるように選択規則を作成しておく。あるいはさらに、チャット相手のクライアント端末10の位置情報や通信速度も考慮してよい。具体例は後に述べる。
チャット管理部82は、クライアント端末10からの要求に応じてチャットルームが開設されたチャットサーバ18と当該チャットルームの識別情報とを紐付け、チャット情報記憶部84に格納する。そしてチャット管理部82は、各クライアント端末10からチャットへの参加要求がなされた場合に、当該要求信号に含まれるチャットルームの識別情報に基づき、参加要求の送信先であるチャットサーバ18を特定して要求を転送する。この手続きにより、複数あるチャットサーバ18から選択されたチャットサーバ18とクライアント端末10がやがては直接、通信できるようにする。
図6は、本実施の形態におけるチャットサーバ18の機能ブロックの構成を示している。チャットサーバ18は、クライアント端末10、中継ポイント割り当てサーバ14、ロードバランサ16と通信を確立しデータの送受信を行う通信部90、チャットルームを開設するチャットルーム開設部92、発言データを適切に転送するチャット処理部94、およびチャットに係る情報を記憶するチャット情報記憶部96を含む。
通信部90は、中継ポイント割り当てサーバ14から直接、あるいはロードバランサ16を介してチャットルームの開設要求信号を取得するとともに、それに応じて開設されたチャットルームの識別情報と、そこにアクセスするためのキーとなる情報を中継ポイント割り当てサーバ14に返す。以後、チャットルームごとに一意に決定され付与される、アクセスのためのキーを「トークン」と呼ぶ。
通信部90はさらに、クライアント端末10からの通信確立要求、すなわちチャットへの参加要求を中継ポイント割り当てサーバ14から取得し、その結果を中継ポイント割り当てサーバ14、ゲートウェイ12を介してクライアント端末10へ返す。通信部90はまた、通信が確立されたクライアント端末10から発言データを取得し、同じチャットに参加している他のユーザのクライアント端末10に転送する。
チャットルーム開設部92は、チャットルーム開設要求に従いチャットルームを開設する。具体的にはチャットルームの識別情報とトークンを生成し、それらを対応づけてチャット情報記憶部96に格納する。そしてクライアント端末10がチャットへの参加要求を発行した際、当該信号に含まれるチャットルームの識別情報とトークンを、チャット情報記憶部96に格納しておいた情報と照合し、双方が合致した場合にチャットへの参加を許可する。参加を許可したクライアント端末10の識別情報は、チャットルームの識別情報と対応づけてチャット情報記憶部96に格納する。
参加を許可したクライアント端末10へは、通信の確立に要する情報を生成し、通信部90、中継ポイント割り当てサーバ14、ゲートウェイ12を介してクライアント端末10に送信する。所定の手続きを経てクライアント端末10と直接的な通信が確立されたら、チャット処理部94は、各クライアント端末10から発言データを随時取得する。そして当該データに付加されるチャットルームの識別情報に基づき、チャットに参加している他のユーザのクライアント端末10を特定したうえ、それを宛先として発言データを転送する。
チャットから離脱する旨の要求信号がクライアント端末10から送信されたら、チャット処理部94は、チャット情報記憶部96の該当チャットルームに対応づけられた、要求元のクライアント端末10のエントリを抹消し通信を終了させる。チャット自体の終了要求信号が送信されたら、チャット処理部94はチャット情報記憶部96における当該チャットルームのエントリを抹消し通信を終了させる。
次に、これまで述べた構成によって実現できる、チャット空間の構築方法について説明する。図7は、本実施の形態においてチャットルームを開設する処理手順を示すタイムチャートである。まずクライアント端末10aは、チャットを開始する要求をユーザから受け付ける(S8)。するとクライアント端末10aは、図示しない認証サーバに対して所定の手順で認証を要求し、チャットシステムへのアクセス権を取得する(S10)。このアクセス権には、認証処理において特定された、クライアント端末10aの位置情報が含まれる。クライアント端末10aがインターネットプロバイダに接続することにより取得したグローバルIPアドレスには位置情報が含まれるため、これを利用してもよい。
そしてクライアント端末10aは、当該アクセス権を含むチャットルームの開設要求を発行する(S12)。当該要求はまず、ゲートウェイ12により取得され、要求信号に含まれる位置情報が取り出されうえ、中継ポイント割り当てサーバ14へ転送される(S14)。すると中継ポイント割り当てサーバ14のチャットサーバ選択部78は、選択規則記憶部80を参照して、クライアント端末10aに適合するチャットサーバ18a、あるいはその地域を選択する(S16)。なお同図では地域を選択する場合を示している。
中継ポイント割り当てサーバ14は、選択した地域に設けられたロードバランサ16aのアドレスを選択規則記憶部80からさらに取得し、当該ロードバランサ16aにチャットルームの開設要求を転送する(S18)。図では複数のロードバランサ16のうち、選択された地域のロードバランサ16aを実線、その他を破線で示している。ロードバランサ16aは、自らが管理するチャットサーバ18のうち、処理の負荷が偏らないように選択したチャットサーバ18aに、チャットルームの開設要求を転送する(S20)。図では複数のチャットサーバ18のうち、選択されたチャットサーバ18aを実線、その他を破線で示している。
チャットルームの開設要求を受信したチャットサーバ18aは、チャットルームの開設処理を実施する。すなわちチャットルームの識別情報(ルームID)および、当該チャットルームに参加するためのトークンを生成する。そしてチャットサーバ18aは開設要求の結果としてそれらの情報を、チャットサーバ18a自体のプライベートIPアドレス(サーバIP)とともにロードバランサ16aに返す(S22)。ロードバランサ16aは、取得した開設要求結果を中継ポイント割り当てサーバ14へ転送する(S24)。
なお中継ポイント割り当てサーバ14が直接、チャットサーバ18aを選択する場合は当然、ロードバランサ16aの処理を省略できる。チャットルームの開設要求結果を受信した中継ポイント割り当てサーバ14は、ルームIDとサーバIPを対応づけてチャット情報記憶部84に格納する。これにより以降、ルームIDのみが指定された要求信号がクライアント端末10から送信されても、中継ポイント割り当てサーバ14は適切なチャットサーバ18aに当該要求信号を転送できる。そのうえで中継ポイント割り当てサーバ14はチャットルーム開設要求の結果として、ルームIDとトークンを、ゲートウェイ12を介してクライアント端末10aへ返す(S26、S28)。
図8、9は、図7の処理に続き、開設されたチャットルームに参加する際の処理手順を示すタイムチャートである。すなわちチャットルームの開設を要求したクライアント端末10aは、この時点でチャットルームのルームIDとトークンを取得済みである。クライアント端末10aはまず、開設されたチャットルームへの参加要求を発行する(S30)。クライアント端末10aはこの際、送信する信号にチャットルームのルームIDとトークンを含める。
参加要求信号はゲートウェイ12を介して中継ポイント割り当てサーバ14に送信される(S32)。すると中継ポイント割り当てサーバ14は、チャット情報記憶部84を参照し、送信されたルームIDに対応づけられたチャットサーバ18aのサーバIPを特定したうえ、当該チャットサーバ18aに参加要求信号を転送する(S34)。チャットサーバ18aは当該要求信号に応じて、チャットの一ノードとしてクライアント端末10aに識別情報(ピアID)を付与し、ルームIDと対応づけてチャット情報記憶部96に格納する(S35)。この際、チャットサーバ18aは、要求信号に含まれるルームIDとトークンのペアを、チャット情報記憶部96に格納されたものと比較し、両者が合致しているときに限り登録を行う。
そしてチャットサーバ18aは、付与したピアIDを中継ポイント割り当てサーバ14、ゲートウェイ12を介して要求元のクライアント端末10aに送信する(S36、S38、S40)。次にクライアント端末10aは、自身のSDP(Session Description Protocol)を取得し、ゲートウェイ12を介して中継ポイント割り当てサーバ14に送信する(S42、S44)。SDPは送信するデータの種類や自身のIPアドレス、ポート番号など、通信の確立に必要な一般的な情報である。
クライアント端末10aはこの際、送信する信号にチャットルームのルームIDおよび自身に付与されたピアIDを含める。この場合も中継ポイント割り当てサーバ14は、チャット情報記憶部84を参照して対応するチャットサーバ18aを特定し、当該チャットサーバ18aにSDPを転送する(S46)。チャットサーバ18aは送信されたSDPを、送信元のクライアント端末のピアIDと対応づけてチャット情報記憶部96に格納したうえ、自身のSDPを取得し、中継ポイント割り当てサーバ14、ゲートウェイ12を介してクライアント端末10aに送信する(S48、S50、S52)。
続いてクライアント端末10aおよびチャットサーバ18aは、互いのSDPを用いて通信経路を探索し通信を確立する(S54)。この処理は実際には、クライアント端末10aとチャットサーバ18a間でICE(Interactive Connectivity Establishment)の候補を交換する処理を含む。ICEは接続可能な通信経路を表す情報である。この処理においてもクライアント端末10aが、送信信号にルームIDを含めることにより、中継ポイント割り当てサーバ14はそれに対応づけられたチャットサーバ18aへ信号を転送する。これらの手続きにより、クライアント端末10aとチャットサーバ18aとの間で直接的なデータの送受が可能になる。
図9に移り、クライアント端末10aは、チャット相手を選択する操作入力をユーザより受け付ける(S56)。例えばチャット情報記憶部48に登録済みの友達のリストを表示装置に表示させ、ユーザによる選択操作を受け付ける。するとクライアント端末10aは、選択されたユーザ、または当該ユーザが操作するクライアント端末10bの識別情報をチャット情報記憶部48から読み出し、それを宛先としてチャットへの招待通知を発行する(S58)。図示する例では、当該通知を一旦、「セッションマネージャ」が受け取り、相手ユーザに転送している(S60)。
ここでセッションマネージャは、本実施の形態のチャットシステムとは別に準備され、メッセージの送受信を実現する一般的な構成としており、具体的な通知手順は特に限定されない。ただしセッションマネージャの機能を本実施の形態のチャットシステムに含めてもよい。いずれにしろクライアント端末10aは、招待通知にチャットルームのルームIDとトークンを含める。通知を見た相手ユーザがクライアント端末10bに対しチャットへの参加操作を行うと、クライアント端末10bはそれを受け付け(S62)、チャットルームへの参加要求を発行する(S64)。クライアント端末10bはこの際、送信する信号にチャットルームのルームIDとトークンを含める。
以降、クライアント端末10aの参加処理と同様、中継ポイント割り当てサーバ14を介してチャットサーバ18aに参加要求が送信され(S66、S68)、チャットサーバ18aからはクライアント端末10bのピアIDが返される(S70、S72、S74)。クライアント端末10bについても当然、ルームIDとトークンのペアが正当な場合にのみ参加登録がなされピアIDが送信される。その後、図8を参照して上述したのと同様の手続きを経て(図示せず)、クライアント端末10bとチャットサーバ18aとの通信が確立される(S76)。
図9に示したクライアント端末10bに係る手続きは、チャット参加者候補として指定された全てのユーザのクライアント端末10についても同様に実施する。そしてチャットサーバ18aが、各クライアント端末10におけるユーザの発言データを他のクライアント端末10に転送することにより、チャットサーバ18aを中継ポイントとして会話が成立することになる。この構成によれば、各クライアント端末10がチャットのために接続すべき相手が、1つのチャットサーバ18に限定されるため、チャットの参加人数によらず安定した通信が可能になる。
図10は、中継ポイント割り当てサーバ14の選択規則記憶部80に格納されるデータの構造例を示している。この例で選択規則100は、クライアント端末10が存在する地域の識別情報を示す端末地域フィールド102と、チャットサーバ18が存在する地域の識別情報を示すサーバ地域フィールド104とを対応づけた構造を有する。例えばクライアント端末10のコード「0001」の地域に対し、識別情報「A」なるチャットサーバの地域が対応づけられている。
クライアント端末10の位置情報から判明する地域の単位と、チャットサーバ18に与えられる地域の単位は同じでも異なっていてもよい。また両者の地域の単位は一方が他方に包含される関係にあってもよいし、一部が重複していても、全く重複していなくてもよい。いずれにしろクライアント端末10の単位地域ごとに、なるべく高速に通信を行えるチャットサーバ18の地域をあらかじめ求めておき、選択規則100として準備しておく。
中継ポイント割り当てサーバ14のチャットサーバ選択部78は選択規則100を参照し、チャットルーム開設要求の信号に含まれるクライアント端末10の位置情報に対応するチャットサーバ18の地域を取得することで、最適なチャットサーバ18を選択できる。なお図10および後述する図11、12において示される各種パラメータや、その表示形式は一例に過ぎず、図示するものに限定されない。例えば選択規則100において、サーバ地域フィールド104の代わりにチャットサーバ18の識別情報を示すフィールドを設け、チャットサーバ18を直接選択できるようにしてもよい。またサーバ地域フィールド104に格納する地域はそれぞれ、当該地域に配置されたロードバランサ16あるいはチャットサーバ18と別途対応づけておく。
図11は、中継ポイント割り当てサーバ14のチャット情報記憶部84に格納されるデータの構造例を示している。この例でチャット情報110は、チャットサーバ18のIPアドレスを示すサーバIPフィールド112と、それぞれで開設されたチャットルームの識別情報を示すルームIDフィールド114を対応づけた構造を有する。例えばサーバIPが「100.100.100.111」のチャットサーバ18において、ルームID「01」、「03」、「08」なる3つのチャットルームが開設されている。
中継ポイント割り当てサーバ14は、チャットルームを開設したチャットサーバ18からの返答に基づき、チャット情報110のエントリを更新していく。これによりルームIDからサーバIPを導出でき、クライアント端末10からの以後の要求信号を適切なチャットサーバ18へ転送できる。なおユーザ操作によりチャットが終了した際は、中継ポイント割り当てサーバ14はチャットサーバ18からその旨の通知を取得することで、ルームIDフィールド114から該当エントリを抹消する。
図12は、チャットサーバ18のチャット情報記憶部96に格納されるデータの構造例を示している。この例でチャット情報120は、自装置で開設されているチャットルームの識別情報を示すルームIDフィールド122、各チャットへの参加に必要なキー情報を示すトークンフィールド124、および、各チャットに参加しているクライアント端末10の識別情報を示すピアIDフィールド126を対応づけた構造を有する。例えばルームID「01」のチャットルームのトークンは「2A」であり、それに参加しているのはピアID「01aa」、「02ac」、「00cv」、「04ka」、「02pp」なる5つのクライアント端末10である。
チャットサーバ18はチャットルームの開設にあたりルームIDとトークンを発行し、それらを対応づけてルームIDフィールド122およびトークンフィールド124に格納する。そしてクライアント端末10からのチャット参加要求に含まれる、ルームIDとトークンのペアが合致する場合に限り参加を許可し、要求元のクライアント端末10にピアIDを発行したうえピアIDフィールド126に登録する。各ピアIDは、その後に実際に通信を確立した際に決定したSDPやICEなど、データの送受信に必要な情報と別途対応づけておく。チャット中、クライアント端末10はルームIDとピアIDをユーザの発言データに付加したうえでチャットサーバ18に送信する。
これを受けてチャットサーバ18は、チャット情報120を参照してルームIDに対応するピアIDを取得することにより、チャットに参加しているその他のクライアント端末10に発言データを転送する。ピアIDがエントリされているクライアント端末10のいずれかにおいて、ユーザがチャットから離脱する操作を行ったら、チャットサーバ18はピアIDフィールド126から該当エントリを抹消する。またチャットを終了させる操作がなされたら、チャットサーバ18は該当ルームIDとそれに対応づけられた各フィールドのエントリを抹消する。
図13は、本実施の形態において中継ポイント割り当てサーバ14が、チャットルームを開設させるチャットサーバ18あるいはその地域を選択するポリシーを説明するための図である。同図はクライアント端末10a、10b、10cとチャットサーバ18a、18b、18cの位置関係を示している。例えば図の領域を世界全体としてもよいし、それより狭い範囲としてもよい。チャットサーバの選択基準として最もシンプルには、距離のみを考慮することが考えられる。例えばクライアント端末10aに最も近いチャットサーバはチャットサーバ18bであるので、チャットサーバ18bを選択してチャットルームを開設させる。
一方、クライアント端末10a、あるいはそれが属する地域aの多くの部分あるいは全てが、チャットサーバ18aが属する地域Aに含まれている場合、地域Aのチャットサーバ18aを選択することも考えられる。このポリシーは、上述したチャットの特性との親和性が高い。例えば地域Aを国とした場合、同じ言語で会話する参加者は同じ国にいる確率が高いため、後から参加したり離脱したりして参加者に変動があったとしても、参加者から見て総じて距離が近いのはチャットサーバ18aである可能性が高い。
そのような距離または面積的な観点に加え、通信帯域を考慮に入れてもよい。例えばクライアント端末10aに最も近いチャットサーバがチャットサーバ18bであっても、十分な通信環境が整備されているのはチャットサーバ18aとの間のネットワークであることが考えられる。この場合も、チャットサーバ18aを選択することにより低遅延でのチャットを実現できる。
このようにチャットシステムの構築においては、距離、地域の包含関係、通信帯域のいずれかまたは組み合わせを考慮して選択規則100を準備する。上述のとおりチャットにより同一言語で会話をするユーザのクライアント端末10a、10b、10cは、世界の中でも同じ国などある程度近い距離に存在する確率が高いため、クライアント端末10aによるチャットルーム開設要求に従い、チャットサーバ18aあるいはチャットサーバ18bを選択すれば、その他の参加者のクライアント端末10b、10cに対しても、高速通信を実現できる可能性が高くなる。
すなわちクライアント端末10a、10b、10cのいずれからも遠いチャットサーバ18cが選択されるのを回避でき、無駄な経路による通信遅延を抑えることができる。ただし同じ通信経路であっても使用状況によって通信速度が変化するため、選択規則は固定としなくてもよい。例えば各クライアント端末10a、10b、10cは、全てのチャットサーバ18a、18b、18cと定期的に通信して通信速度を測定し、その結果を、ゲートウェイ12を介して中継ポイント割り当てサーバ14に通知する。中継ポイント割り当てサーバ14は当該結果に基づき選択条件における対応づけを更新する。
例えばクライアント端末10aが計測した結果、通信速度が最高となるチャットサーバがチャットサーバ18bからチャットサーバ18aに変化したら、中継ポイント割り当てサーバ14は選択規則100において端末地域aに対応づけられたサーバ地域をチャットサーバ18bの地域からチャットサーバ18aの地域Aに更新する。このようにすることで、チャットルームの開設時点で最も高速に通信を行えるチャットサーバ18を利用することができる。
これを応用すると、チャットルームの開設を要求したクライアント端末10aばかりでなく、チャット相手のクライアント端末10b、10cとチャットサーバ18との通信速度も考慮してチャットサーバ18を選択することもできる。すなわちあらかじめチャットに参加するユーザまたは参加しそうなユーザがおよそ判明している場合、チャットサーバ18ごとに、各クライアント端末10との通信速度の平均値を算出する。そして平均速度が最も速いチャットサーバ18を選択すれば、全体として最も遅延の少ないチャットを実現できる。
図14は、通信速度の実測値に基づきチャットサーバ18を選択する態様における、クライアント端末10の機能ブロックの構成を示している。なお図4に示したクライアント端末10と同じ機能を有するブロックには同じ符号を付し、説明を省略する。図示するクライアント端末10aは、図4に示したクライアント端末10と同様に、入力情報取得部42、チャット処理部44、出力部46、およびチャット情報記憶部48を備える。この態様ではさらに、チャットサーバ18との通信速度を定期的に計測する速度計測部51を備えた通信部50aを含む。
速度計測部51は、全てのチャットサーバ18、あるいは距離や通信帯域などに基づき絞り込まれた、候補となるチャットサーバ18と定期的に通信を確立し、所定のデータの送受信を行うことにより通信速度を測定する。この測定処理自体には一般的な技術を適用できる。通信部50aは基本的には、図4で示したクライアント端末10の通信部50と同様に機能するが、速度計測部51が通信速度を計測した際は、そのデータもゲートウェイ12を介して中継ポイント割り当てサーバ14に送信する。
中継ポイント割り当てサーバ14の機能ブロックは、図5で示したものと同様でよいが、選択規則記憶部80には、各クライアント端末10から送信された通信速度の実測値を、クライアント端末10とチャットサーバ18の組み合わせごとに格納する。そしてチャットサーバ選択部78は上述のとおり、図10で示した選択規則100の対応づけを更新する必要があれば、すなわち最速のチャットサーバに変更があれば、情報を更新する。
あるいは選択規則100を準備せずに、チャットルームの開設要求がなされた時点で、開設要求を発行したクライアント端末10aにとって最速のチャットサーバ18を選択するようにしてもよい。または上述のとおり、チャットに参加する予定のクライアント端末10全てで平均した通信速度が最速のチャットサーバ18を選択するようにしてもよい。ここで参加予定のユーザは、チャットルームの開設を要求したユーザが指定してもよいし、過去の履歴などから推定してもよい。
図15は、複数のクライアント端末との通信速度の平均値に基づきチャットサーバ18を選択する処理手順を示すフローチャートである。このチャートは、図7のS12~S16の処理に対応する。まず各クライアント端末10a、10bの速度計測部51は、チャットサーバごとに通信を確立し、それぞれの通信速度を計測したうえ(S80a、S80b)、計測結果を中継ポイント割り当てサーバ14に送信する(S82a、S82b)。ここで計測、送信する対象は、通信の速さを直接的または間接的に表すパラメータであればその種類は特に限定されない。
また、図では2つのクライアント端末10a、10bのみを代表させて示しているが、この処理は、全てのクライアント端末10が定期的に実施する。中継ポイント割り当てサーバ14では、クライアント端末10とチャットサーバ18の組み合わせごとに、直近に計測された通信速度を格納していく。ユーザからチャットの開始を要求する操作がなされたクライアント端末10aは、中継ポイント割り当てサーバ14にチャットルームの開設要求を送信する(S84)。この際、チャットに参加予定の相手ユーザまたはそれぞれのクライアント端末10b、10c、・・・の識別情報も同時に送信する。
中継ポイント割り当てサーバ14は当該要求を受信したら、チャットサーバ18ごとに、参加予定のユーザのクライアント端末10と当該チャットサーバ18との通信速度の平均値を算出する(S86)。ここで参加予定のユーザのクライアント端末10のうちn番目のクライアント端末とN番目のチャットサーバとの通信速度をS(n,N)と表記すると、N番目のチャットサーバに対して算出される平均通信速度Save(N)は次の式で得られる。
ave(N)=ΣS(n,N)
そして中継ポイント割り当てサーバ14は、最速の平均速度Save(N)が得られるチャットサーバ18を、チャットルームを開設するサーバとして選択する(S88)。
なお図示する例では、通信速度の実測値に基づきチャットサーバの有意性を比較したが、チャットに参加予定のユーザのクライアント端末10と各チャットサーバ18との距離に基づきチャットサーバを選択してもよい。この場合、クライアント端末10がモバイル端末であれば、中継ポイント割り当てサーバ14は通信速度と同様に、各クライアント端末10と各チャットサーバ18との距離を収集していく。クライアント端末10が据え置き型の端末であれば、距離は固定となるため事前に取得が可能である。
いずれにしろ中継ポイント割り当てサーバ14は、参加予定者のクライアント端末からの距離の平均値が最も小さいチャットサーバ18を選択すればよい。なお発言が伝わるまでの遅延時間に影響を与えるものであれば、チャットサーバ選択の根拠となるパラメータは通信速度や距離に限定されない。いずれの場合も、同様にクライアント端末全体での平均値を比較することにより、チャットサーバを一意に決定できる。あるいは複数のパラメータの平均値の重みづけ和をスコアとして比較することで、多角的な観点からチャットサーバを選択してもよい。
以上述べた本実施の形態によれば、複数のユーザがネットワークを介して会話するチャットシステムにおいて、クライアント端末が発信した発言データを中継するチャットサーバを異なる地域に複数設けるとともに、好適なチャットサーバを選択する中継ポイント割り当てサーバを設ける。チャットサーバが中継することにより、クライアント端末が確保すべき通信経路が単純化されるため、ピアツーピア接続のケースと比較し参加人数によらず安定したチャット環境を提供できる。またチャットに必要な通信経路が限定されるため、並行して他のコンテンツを楽しむ場合にチャットの影響を受けにくい。さらに、クライアント端末から見て相手の端末の実体は抽象化されるため、悪意のあるユーザからの攻撃やなりすましなどセキュリティー上の問題を回避しやすい。
ここで中継ポイント割り当てサーバが、距離、通信帯域、通信速度などに基づき適切なチャットサーバを選択することにより、チャットサーバを経由しても発言が相手に伝わるまでの遅延を最低限に抑えることができる。チャットが一つの言語で交わされる会話であるという特性上、チャット参加者は地理的に近い位置に存在する確率が高いため、クライアント端末から見たチャットサーバの優劣は、人数によらずチャット参加者でおよそ共通となる。それを利用し最適なチャットサーバを一つ選択することにより、安定的かつ遅延の少ないチャットシステムを実現できる。
以上、本発明を実施の形態をもとに説明した。上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
1 チャットシステム、 10 クライアント端末、 12 ゲートウェイ、 14 中継ポイント割り当てサーバ、 16 ロードバランサ、 18 チャットサーバ、 42 入力情報取得部、 44 チャット処理部、 46 出力部、 48 チャット情報記憶部、 50 通信部、 72 通信部、 74 位置情報取得部、 76 通信部、 78 チャットサーバ選択部、 80 選択規則記憶部、 82 チャット管理部、 84 チャット情報記憶部、 90 通信部、 92 チャットルーム開設部、 94 チャット処理部、 96 チャット情報記憶部。

Claims (9)

  1. 各チャット空間に参加している複数のメンバーが、クライアント端末を用いてネットワークを介した会話を実現するチャットシステムにおいて、
    前記クライアント端末のいずれかから、前記チャット空間の開設要求を取得する通信部と、
    前記開設要求に応じて、分散して配置され、前記クライアント端末間での発言データの伝送を中継する複数のチャットサーバのうち、前記チャット空間の開設要求が発行された時点における、前記チャット空間に参加予定のメンバーが使用する前記クライアント端末と各チャットサーバとの平均通信速度に基づき選択した一のチャットサーバに、前記開設要求に対応するチャット空間における発言データの中継を要求するチャットサーバ選択部と、
    を備えることを特徴とする中継ポイント割り当てサーバ。
  2. 前記チャットサーバ選択部は、前記クライアント端末と前記チャットサーバの存在する地域との位置関係と、前記平均通信速度との組み合わせに基づき、前記チャットサーバを選択することを特徴とする請求項1に記載の中継ポイント割り当てサーバ。
  3. 前記チャットサーバ選択部は、前記チャットサーバを選択するための根拠となるパラメータを継続して収集し、前記開設要求が発行された時点における前記パラメータに応じて、前記チャットサーバを選択することを特徴とする請求項1または2に記載の中継ポイント割り当てサーバ。
  4. 前記発言データの中継要求に応じて前記チャットサーバが生成したチャット空間の識別情報と、当該チャットサーバの識別情報とを対応づけて記憶するチャット情報記憶部と、
    前記クライアント端末から前記チャットサーバへの通信確立に係る要求信号を取得し、前記チャット空間の識別情報に基づき、前記要求信号を当該チャットサーバへ転送するチャット管理部と、
    をさらに備えたことを特徴とする請求項1からのいずれかに記載の中継ポイント割り当てサーバ。
  5. 各チャット空間に参加している複数のメンバーによるネットワークを介した会話を実現するチャットシステムであって、
    メンバーの発言データをネットワークに出力するとともに、他のメンバーの発言データをネットワークから取得して出力装置に出力させる複数のクライアント端末と、
    分散して配置され、前記クライアント端末間での前記発言データの伝送を中継する複数のチャットサーバと、
    前記クライアント端末のいずれかからの前記チャット空間の開設要求に応じて、前記複数のチャットサーバのうち、前記チャット空間の開設要求が発行された時点における、前記チャット空間に参加予定のメンバーが使用する前記クライアント端末と各チャットサーバとの平均通信速度に基づき選択した一のチャットサーバに、前記開設要求に対応するチャット空間における発言データの中継を要求する中継ポイント割り当てサーバと、
    を備えることを特徴とするチャットシステム。
  6. 各チャット空間に参加している複数のメンバーが、ネットワークを介した会話を実現するチャットシステムにおいて、メンバーの発言データをネットワークに出力するとともに、他のメンバーの発言データをネットワークから取得して出力装置に出力させるクライアント端末であって、
    散して配置され、前記クライアント端末間での発言データの伝送を中継する複数のチャットサーバのうち、前記クライアント端末のいずれかから前記チャット空間の開設要求が発行された時点における、前記チャット空間に参加予定のメンバーが使用する前記クライアント端末と各チャットサーバとの平均通信速度に基づき選択された一のチャットサーバと通信を確立することにより、発言データの送受信を行うとともに、前記複数のチャットサーバとの通信速度を継続して測定し、計測結果が得られる都度、前記一のチャットサーバを選択する中継ポイント割り当てサーバに当該計測結果を送信することにより、前記チャットサーバの選択に利用させる通信部備えことを特徴とするクライアント端末。
  7. 各チャット空間に参加している複数のメンバーが、クライアント端末を用いてネットワークを介した会話を実現するチャットシステムにおいて、分散して配置され、前記クライアント端末間での発言データの伝送を中継するチャットサーバであって、
    前記クライアント端末のいずれかが発行した前記チャット空間の開設要求に応じて、当該開設要求が発行された時点における、前記チャット空間に参加予定のメンバーが使用する前記クライアント端末と各チャットサーバとの平均通信速度に基づき一のチャットサーバを選択する中継ポイント割り当てサーバからの要求に従い、チャット空間を開設するチャット空間開設部と、
    前記クライアント端末ごとに発行される、前記チャット空間への参加要求を前記中継ポイント割り当てサーバから受け付け、所定の条件を満たした前記クライアント端末と直接通信を確立することにより、前記発言データを中継するチャット処理部と、
    を備えたことを特徴とするチャットサーバ。
  8. 各チャット空間に参加している複数のメンバーが、クライアント端末を用いてネットワークを介した会話を実現するチャットシステムにおいて、
    前記クライアント端末のいずれかが、前記チャット空間の開設要求を発行するステップと、
    中継ポイント割り当てサーバが、前記開設要求に応じて、分散して配置され、前記クライアント端末間での発言データの伝送を中継する複数のチャットサーバのうち、前記チャット空間の開設要求が発行された時点における、前記チャット空間に参加予定のメンバーが使用する前記クライアント端末と各チャットサーバとの平均通信速度に基づき選択した一のチャットサーバに、前記開設要求に対応するチャット空間における発言データの中継を要求するステップと、
    選択された前記チャットサーバがチャット空間を開設したうえ、前記クライアント端末と直接通信を確立することにより、前記発言データを中継するステップと、
    を含むことを特徴とするチャット空間構築方法。
  9. 各チャット空間に参加している複数のメンバーが、クライアント端末を用いてネットワークを介した会話を実現するチャットシステムにおける中継ポイント割り当てサーバに、
    前記クライアント端末のいずれかから、前記チャット空間の開設要求を取得する機能と、
    前記開設要求に応じて、分散して配置され、前記クライアント端末間での発言データの伝送を中継する複数のチャットサーバのうち、前記チャット空間の開設要求が発行された時点における、前記チャット空間に参加予定のメンバーが使用する前記クライアント端末と各チャットサーバとの平均通信速度に基づき選択した一のチャットサーバに、前記開設要求に対応するチャット空間における発言データの中継を要求する機能と、
    を実現させることを特徴とするコンピュータプログラム。
JP2019020859A 2019-02-07 2019-02-07 中継ポイント割り当てサーバ、チャットシステム、クライアント端末、チャットサーバ、およびチャット空間構築方法 Active JP7175788B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2019020859A JP7175788B2 (ja) 2019-02-07 2019-02-07 中継ポイント割り当てサーバ、チャットシステム、クライアント端末、チャットサーバ、およびチャット空間構築方法
US17/428,022 US20220029842A1 (en) 2019-02-07 2020-01-31 Relay point allocation server, chat system, client terminal, chat server, and chat space construction method
EP20752171.7A EP3923147A4 (en) 2019-02-07 2020-01-31 RELAY POINT ALLOCATION SERVER, ONLINE CHAT SYSTEM, CLIENT TERMINAL, ONLINE CHAT SERVER AND METHOD FOR CONSTRUCTING ONLINE CHAT SPACE
PCT/JP2020/003718 WO2020162364A1 (ja) 2019-02-07 2020-01-31 中継ポイント割り当てサーバ、チャットシステム、クライアント端末、チャットサーバ、およびチャット空間構築方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019020859A JP7175788B2 (ja) 2019-02-07 2019-02-07 中継ポイント割り当てサーバ、チャットシステム、クライアント端末、チャットサーバ、およびチャット空間構築方法

Publications (2)

Publication Number Publication Date
JP2020129207A JP2020129207A (ja) 2020-08-27
JP7175788B2 true JP7175788B2 (ja) 2022-11-21

Family

ID=71947028

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019020859A Active JP7175788B2 (ja) 2019-02-07 2019-02-07 中継ポイント割り当てサーバ、チャットシステム、クライアント端末、チャットサーバ、およびチャット空間構築方法

Country Status (4)

Country Link
US (1) US20220029842A1 (ja)
EP (1) EP3923147A4 (ja)
JP (1) JP7175788B2 (ja)
WO (1) WO2020162364A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7020580B1 (ja) * 2021-09-29 2022-02-16 凸版印刷株式会社 翻訳提供管理システム、および翻訳提供管理方法
JPWO2024084633A1 (ja) 2022-10-19 2024-04-25
US11895198B1 (en) * 2022-10-28 2024-02-06 Jonathon Anderson Universal session protocol
CN116506244B (zh) * 2023-05-24 2023-11-17 北京比邻星空科技有限公司 一种自适应房间人数的聊天室配置方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002291017A (ja) 2001-03-28 2002-10-04 Fujitsu Ltd 移動網を利用した中継サービス処理方法
JP2003022226A (ja) 2001-07-05 2003-01-24 Nec Commun Syst Ltd ネットワークにおける負荷分散システム及び負荷分散方式
US20040210636A1 (en) 2000-07-06 2004-10-21 Microsoft Corporation Load balancing of chat servers based on gradients

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030208610A1 (en) * 2002-05-01 2003-11-06 Rochetti Robert J. Method and apparatus for facilitating content distribution across a network
CN100518068C (zh) * 2006-06-02 2009-07-22 阿里巴巴集团控股有限公司 一种通过浏览器实现即时通信的方法及系统
WO2010025343A1 (en) * 2008-08-28 2010-03-04 Jonas Lawrence A System for integrating multiple im networks and social networking websites
US9154735B2 (en) * 2013-03-15 2015-10-06 Blue Jeans Network Provision of video conferencing with load balancing
RU2017111344A (ru) * 2016-02-19 2018-10-05 Самадхи Ко., Лтд. Система создания портфолио
US10567217B2 (en) * 2016-02-29 2020-02-18 Whatsapp Inc. Techniques to perform the dynamic configuration of load-balanced relay operations

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040210636A1 (en) 2000-07-06 2004-10-21 Microsoft Corporation Load balancing of chat servers based on gradients
JP2002291017A (ja) 2001-03-28 2002-10-04 Fujitsu Ltd 移動網を利用した中継サービス処理方法
JP2003022226A (ja) 2001-07-05 2003-01-24 Nec Commun Syst Ltd ネットワークにおける負荷分散システム及び負荷分散方式

Also Published As

Publication number Publication date
US20220029842A1 (en) 2022-01-27
EP3923147A1 (en) 2021-12-15
WO2020162364A1 (ja) 2020-08-13
EP3923147A4 (en) 2022-10-12
JP2020129207A (ja) 2020-08-27

Similar Documents

Publication Publication Date Title
JP7175788B2 (ja) 中継ポイント割り当てサーバ、チャットシステム、クライアント端末、チャットサーバ、およびチャット空間構築方法
JP5711849B2 (ja) 異なるサービスプロバイダー間のピア・ツー・ピア接続を管理する装置及び方法
JP5904682B2 (ja) セキュアなインスタントメッセージングのためのシステム及び方法
TWI458369B (zh) 用於建立及使用備用通信頻道之裝置及方法
US9078128B2 (en) System and method for secure identity service
US9148333B2 (en) System and method for providing anonymity in a session initiated protocol network
CN104125540B (zh) 多方通话终端及从多方通话转换为一对一通话的方法
JP5579189B2 (ja) 通信ネットワークにおいてゲームを有効化する方法及び装置
US11470023B2 (en) Session initiation method and device
US12095880B2 (en) Data processing method and apparatus, device and medium
KR20020038229A (ko) 실시간 음성/화상 채팅 서비스를 제공하는 온라인 게임시스템 및 그 운영 방법
JP2005100419A (ja) ピアツーピア通信のサーバ制御方法及び制御システム
US11979571B1 (en) Low-latency, peer-to-peer streaming video
JP2023508061A (ja) アカウントアクセス方法及びその装置、記憶媒体、並びに電子機器
TW200931917A (en) Authentication system and method
ES2549635T3 (es) Lanzamiento de sesión en un servidor de comunicaciones
US20190089754A1 (en) System and method for providing audio conference between heterogenious networks
KR101788075B1 (ko) Telegram API를 이용한 화상회의 초대 방법
Triebel et al. Peer-to-peer voice communication for massively multiplayer online games
KR20200132310A (ko) 멀티미디어 통신을 위한 단말 연결 방법 및 시스템
KR20130105004A (ko) 인스턴트 메시지를 이용한 온라인게임제공시스템 및 온라인게임제공방법
KR100668386B1 (ko) 모바일 im 서비스 기반의 단말 대 단말 게임 구동 방법
JP4573135B2 (ja) 情報処理装置、情報処理方法、及びプログラム
Bhardwaj et al. Real time information and communication center based on webrtc
Ho A WebRTC Video Chat Implementation Within the Yioop Search Engine

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210826

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220531

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220729

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: 20221018

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221109

R150 Certificate of patent or registration of utility model

Ref document number: 7175788

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150