JP2011530953A - メッセージ経路指定プラットフォーム - Google Patents

メッセージ経路指定プラットフォーム Download PDF

Info

Publication number
JP2011530953A
JP2011530953A JP2011522941A JP2011522941A JP2011530953A JP 2011530953 A JP2011530953 A JP 2011530953A JP 2011522941 A JP2011522941 A JP 2011522941A JP 2011522941 A JP2011522941 A JP 2011522941A JP 2011530953 A JP2011530953 A JP 2011530953A
Authority
JP
Japan
Prior art keywords
packet
node
server
recipient
registry
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.)
Granted
Application number
JP2011522941A
Other languages
English (en)
Other versions
JP5441041B2 (ja
Inventor
ジョン, アンソニー アンダーウッド,
クリストファー, エドワード キーズ,
マーク ケロ,
レイナー レイノネン,
アルヴィン デラゴン,
Original Assignee
サード ブランド プライベート リミテッド
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 サード ブランド プライベート リミテッド filed Critical サード ブランド プライベート リミテッド
Publication of JP2011530953A publication Critical patent/JP2011530953A/ja
Application granted granted Critical
Publication of JP5441041B2 publication Critical patent/JP5441041B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • 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/222Monitoring or handling of messages using geographical location information, e.g. messages transmitted or received in proximity of a certain spot or area
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/54Presence management, e.g. monitoring or registration for receipt of user log-on information, or the connection status of the users
    • 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]
    • H04L51/043Real-time or near real-time messaging, e.g. instant messaging [IM] using or handling presence information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

通信ネットワークにおいてメッセージの経路指定を行うためのシステム及び方法が開示される。このシステムは、対象受信者に配送されるパケットを受信するための複数のノードを備え、このシステムは、対象受信者が複数のノード内の第1の選択されたノードに接続されているかどうかを判定し、対象受信者が第1の選択されたノードに接続されている場合にパケットを配送するように構成され、対象受信者が複数のノード内の第1の選択されたノードに接続されていないと判定された場合には、対象受信者が複数のノードのうちのどのノードに接続されているかを判定し、対象受信者が接続されているノードにパケットを回送するようにさらに構成される。
【選択図】 図1

Description

本願は、情報の経路指定を行うためのシステム及び方法に関する。特に、本発明は、限定はしないが、モバイル通信ネットワークにおいてメッセージ及びデータの経路指定を行うことに関する。
SMS、MMS、VOIP、電子メール、インスタントメッセージング、ビデオメッセージング、ライブビデオストリーミングなどのメッセージング及びモバイルデータフォーマットの衰えを知らない人気のせいで、ネットワーク容量に対する負担は増大する一方である。トラヒックの増加は、ネットワーク効率に影響を及ぼす。データスループットを改善するために、多くのプロバイダが、設定されているデータ使用量限度を超えるさまざまなユーザに提供されるデータ転送速度が制限されるシェーピングを採用している。
データトラヒック増大の影響は、現在のモバイル通信プラットフォームの多くにかなり顕著に表れている。本質的に、モバイル技術が第1世代のモバイルデバイスから、第2世代、第2.5世代、そしてより最近の第3世代へと進歩するにつれ、データトラヒックは指数関数的に増大してきた。これは、主に、帯域幅の増加によるものであった。しかし、モバイルネットワーク上のデータ転送の効率は、ネットワークのハードウェアコンポーネントによる速度制限を受ける。ハードウェアは、データ転送速度を制限するだけでなく、ネットワークを用いる1つのノードが特定の時点においてサービスを提供できるユーザの数も制限する。
モバイル通信ネットワーク上に送り出されるデータの量が増える一方であるとすれば、明らかに、現在のネットワークデータトラヒックを処理する能力を有するだけでなく、データの増大に応じて容易に拡張可能であるメッセージングシステム及び方法が必要である。
そこで、本発明の一態様において、通信ネットワーク内のメッセージの経路指定を行うためのシステムが構成され、前記システムは、対象受信者に配送されるパケットを受信するための複数のノードを備え、このシステムは、対象受信者が複数のノード内の第1の選択されたノードに接続されているかどうかを判定し、その受信者が第1の選択されたノードに接続されている場合にパケットを配送するように構成され、その受信者が複数のノード内の第1の選択されたノードに接続されていないと判定された場合には、対象受信者が複数のノードのうちのどのノードに接続されているかを判定し、対象受信者が接続されているノードにパケットを回送するようにさらに構成される。
好ましくは、複数のノードのうちのそれぞれのノードは、互いに結合された複数のサーバを含む。適切には、それぞれのノードは、複数のサーバのうちの第1のサーバを含み、前記第1のサーバは、対象受信者がノード上の複数のサーバの中の少なくとも1つのサーバに接続されているかどうかを判定するように構成されている。第1のサーバは、パケットの経路指定先となるノードの宛先アドレスを含んでいるかどうかを判定するように構成されうる。好ましくは、第1のサーバは、パケットを所望の宛先に回送するとパケット内の経路指定情報をクリアするように構成される。
メッセージパケットが、経路指定情報を含まず、第1のサーバが、そのノードに対象受信者が接続されていないと判定した場合、第1のサーバはレジストリへのメッセージパケットの経路指定を行うように構成される。レジストリには、1つ又は複数のサーバを含むことができる。適切には、レジストリは、対象受信者の接続先だった最後のノードのロケーションに関する情報について少なくとも1つのデータベースに問い合わせを行うように構成されている第1のサーバを含む。少なくとも1つのデータベースに、対象受信者の最後の知られているロケーションに関する情報が格納されている場合、最初のレジストリサーバが、パケットを識別されたノードの第1のサーバに回送する。
適切には、レジストリは、複数のデータベースに対して同時に、又は順次的に問い合わせを行うことができる。データベースは、単一のロケーションに置くか、又はネットワーク全体にわたって分散配置することができる。
好ましくは、それぞれのノード及び/又はそれぞれのレジストリ内の複数のサーバが、同じ物理的ロケーションを占有するとよい。或いは、それぞれのノード及び/又はレジストリ内のサーバをそのノード/レジストリ内の異なるロケーションにわたって分散させることができ、このような場合、サーバは複数のクラスタにグループ化される。
これらのパケットとしては、メッセージパケット、情報パケット、又はプレゼンスパケットが挙げられる。パケットがメッセージパケットであり、このシステムが受信者のロケーションを判定することができない場合、このシステムは、所定のルールセットに従ってパケットを配送しようと試みる。配送ルールは、(限定はしないが)SMS配送、電子メール配送、及び/又は他の代替媒体を介した配送を含んでいてもよく、また含むことができる。パケットが情報パケットである場合、このシステムは、「not found」エラーパケットをメッセージ発信元に送り返す。メッセージパケットがプレゼンスパケットである場合、このシステムは、そのパケットを破棄する。
本発明の他の態様において、通信システム内のメッセージの経路指定を行うための方法が提供され、前記方法は、
対象受信者に対する1つのパケットを複数のノードのうちの第1のノードにおいて受信するステップと、
対象受信者がそのノードに接続されているかどうかを判定し、対象受信者がそのノードに接続されている場合にパケットを対象受信者に配送し、その受信者が第1のノードに接続されていない場合には、対象受信者が複数のノードのうちのどのノードに接続されているかを判定し、対象受信者が接続されているノードにパケットを回送するステップとを含む。
この方法は、判定するステップが対象受信者の接続先であるノードを識別するのに失敗した場合にパケットをレジストリに回送するステップをさらに含むことができる。
この方法は、1つ又は複数のデータベースに問い合わせを行い、対象受信者がどのノードに最後に接続したかを判定し、前記1つ又は複数のデータベースから取り出した情報に基づいてそのノードにパケットを回送するステップを含むこともできる。
好ましくは、この方法は、所定のルールに基づいてパケットを受信者に回送するステップを含む。
本発明を理解しやすくし、実用上の効果をもたらすために、本発明の好ましい実施形態を例示する、付属の図面を参照する。
本発明の一実施形態によるパケットの経路指定を行うためのシステムを例示する略図である。 本発明の一実施形態による経路指定プロセスを例示する流れ図である。 本発明の一実施形態による経路指定プロセスの下にあるネットワークコンポーネント間の接続関係を例示する略図である。 本発明の一実施形態によるデータシャードを配置するためにレジストリサーバによって使用されるプロセスを例示する略図である。
本明細書の説明全体を通して、「接続」及び「レジストリ」という用語は、システムアーキテクチャの説明に関連して用いられる場合には、エンドユーザ/デバイス(接続)の接続性及びデータベース/永続的データアクセス(レジストリ)を処理する論理サーバコンポーネントを指すことは理解されるであろう。同様に、「ロケーション」という用語は、上で定義されているように「接続」の一意的識別子と称される、「ユーザ又はデバイスの位置」を表すために使用される。これは、例えば、IPアドレスとすることができるが、このアーキテクチャは、他のアドレッシング方式をも対象とする。「データベース」という用語は、単にデータの記憶域程度の意味合いでも使用され、データ(SQLデータベースなどの)を格納する特定の方法、又は特定のデータベース管理システム若しくは製品を意味するわけではない。
図1を参照すると、そこには、本発明の一実施形態によるパケット102を経路指定するためのシステム100の一例が示されている。この特定の例におけるパケットとして、メッセージパケット、情報パケット、及びプレゼンスパケットが挙げられる。XMPPプロトコルを使用する場合、これらは<message>、<iq>、及び<presence>スタンザとそれぞれ相関する。
この例では、発信元クライアント101は、パケット102をフォーマットし、複数のノード103a、103b、103c、及び103d(ネットワーク)のうちの第1の選択されたノード103a内の複数のサーバ(クラスタ)104a、104b、104cのうちの第1の選択されたサーバ104aに回送し、対象受信者108に配送する。パケット102が、選択されたノード103a内の第1のサーバ104aに配送された後、第1のサーバ104aは、対象受信者108が第1のサーバ104aに接続されているかどうかを判定する。受信者が、サーバ104aに接続されている場合、サーバは、対象受信者108にパケットを配送(ローカル配送)するステップに進む。
受信者108が、クラスタ内のサーバ104a、104b、104cに接続されていない場合、第1のサーバ104aは、パケット102が宛先アドレスを含んでいるかどうかチェックするステップに進む。例えば、パケット102は、ノード103c内のサーバ104cを宛先アドレスとして指定することができ、その場合、ノード103a内のサーバ104aはパケット102をノード103c内のサーバ104cに直接送るように経路指定する。当業者であれば、パケットを、ノード103b、103d、103cを通してノード103c内のサーバ104cに間接的に送るように経路指定することが可能であり、次いで、ノード103c内の第1のサーバ104aは、パケット102の配送を受け取ってから、パケット102をサーバ104cに回送し、受信者108に配送することが可能であることを理解するであろう。
受信者108が、サーバ104aに接続されておらず、パケットが指定された宛先アドレスを含んでいない場合、ノード103a内のサーバ104aは、パケットをレジストリ105に回送する。説明を明確にし、わかりやすくするために、この例は、ただ1つのレジストリ105のみを含むように示されているが、当業者であれば、システムは任意の数のレジストリ105を備えることができることを理解するであろう。
図示されているように、レジストリ105は、複数のサーバ106a、106b、106c(レジストリサーバのクラスタ)を含む。パケット102が、複数サーバ(クラスタ)106a、106b、106cから第1のサーバ106aに配送された後、サーバ106aは、1つ又は複数のデータベース107a、107b、107cに、対象受信者108の最後の知られているロケーションに関する情報を問い合わせる。対象受信者108の最後のロケーションに関する情報が利用可能である場合、第1のサーバ106aは、パケットを受信者108が最後に接続されたしかるべきノード103a、103b、103c、及び103d内のサーバ104a、104b、104cに回送する。この例では、データベースから得られた情報は、受信者108がノード103d内のサーバ104aに最後に接続されたことを示しており、この場合、サーバ106aは、パケット102を配送のためノード103d内のサーバ104aに回送する。受信者108が、それ以降にロケーションを移動した場合、サーバ104aは、上述のようにパケットを処理するか、又はさらに経路指定を行うことができる。さまざまなノード間のパケットの経路指定など方法の詳細について、以下において図2を参照しつつ説明する。
本発明の他の実施形態では、第1のサーバ104aは、対象受信者108が第1のサーバ104aに接続されていないと判定した後、ノード103aに含まれるクラスタ内の残りのサーバ104b、104cの探索を最初に実行して、対象受信者108が残りのサーバ104b、104cのうちの1つに接続されているかどうかを判定することが可能である。対象受信者が、残りのサーバ104b、104cのうちの1つに接続されている場合、サーバ104aは、受信者108が接続されているサーバ(この場合、サーバ104b)にパケットを回送する。次いで、サーバ104bは、パケットを受信者108に配送する。
上述のように、ノード103a、103b、103c、及び103d内のサーバ、及びレジストリ105はクラスタ構成をとっている。これらのクラスタは、通常、サーバ同士の間で少なくとも1つのネットワーク接続が利用可能になっている多数のサーバからなる。したがって、サーバは、サーバ間のネットワーク接続が利用可能であるという条件の下でノードのサービスエリア上に地理的に分散されうる。上記の説明では、レジストリとノードとの間に区別をつけているが、当業者であれば、この区別は説明を明確にするためにのみつけられているのであって、与えられたノード内のサーバのクラスタはどれも接続又はレジストリタイプのクラスタであってもよいことは理解するであろう。
図2を参照すると、上述の図1のシステムにおいて使用されうる経路指定プロセスの一例を示す流れ図であることがわかる。ここで、パケット102がフォーマットされ、ノード103a内の「接続」サーバ104aに配送される。ネットワーク内には、複数のノード103a、103b、103c、103dがあるので、受信者108は、与えられたノードに含まれるサーバのクラスタ内の接続サーバ104a、104b、104cのうちの1つに接続されうる。したがって、パケットを扱う接続サーバ104aは、チェック201を実行して、対象受信者がパケットを処理するサーバ104aにローカル接続されているかを確認する。このチェックの結果が「はい」であれば、パケット受信者が見つかっており、そのパケット受信者は現在処理を扱っているサーバ104aに接続されることを意味する。したがって、サーバ104aは、パケット102のローカル配送202を続ける(つまり、受信者108がサーバ104に接続されている場合)。
「いいえ」がチェック201から返された場合、接続サーバ104aは、対象受信者203のロケーションを判定するための探索手順を開始しなければならない。この探索手順では、接続サーバ104aは、パケット102が「経路指定宛先」203を含むかどうかをチェックするステップに進む。この例における経路指定情報は、パケットの回送先となるクラスタ104a、104b、104c(これは、例えば、前記サーバのIPアドレスとすることができるが、他のアドレッシング方式も適用可能である)内の与えられ接続サーバを指定する一意的な識別子である。したがって、送信側クライアントは、パケット102内の任意選択の「経路指定宛先」フィールドを使用して、クライアントに認識されている特定の接続サーバへの経路指定を要求することができるか、又は受信者108が接続される接続サーバ104a、104b、104cを含むノード103a、103b、103c、103dのロケーション若しくはそうである可能性の高いロケーションを推論することができる。
パケット102が経路指定情報を含んでいる場合、パケット102の処理を扱う接続サーバ104aは、そのパケット102を経路指定情報において識別される接続サーバ104a、104b、104cに回送する。次いで、経路指定情報が「クリアされる」、つまり削除され(204)、これにより、パケット102が関連する宛先ノード内の関連する接続サーバによってパケットが処理されるときにループ内の同じ宛先にそって無限に経路指定されることが防止される。
宛先受信者が、処理を行っている接続サーバ104aに接続されていない場合、またパケット102において指定されている経路指定宛先がない場合、対象受信者108のロケーションを確認するために、接続サーバ104aはパケット102をレジストリサーバ106a、106b、106cのクラスタ内の選択されたレジストリサーバ106aに回送する(ステップ205)。所望の方式を使用してこれに適したレジストリサーバ106a、106b、106cを決定するための処理を実行するのは、接続サーバ104aの役目である(これは、最も近いレジストリサーバ、若しくは負荷の最も少ないサーバであるか、又は知られている利用可能なレジストリ、若しくは他の方法からランダムに単純に選択することが可能である)。
パケット102がレジストリサーバ106aに到達すると、レジストリサーバ1006aは、1つ又は複数のデータベース107a、107b、107c内の受信者データ(例えば、受信者のユーザアカウントなど)を検索する。データベース107a、107b、107cは、接続及びレジストリサーバと同様のものであってもよく、ネットワーク全体に分散されるクラスタで構成され、これにより、受信者データをネットワーク内の複数のデータベースに保存することができる。このような場合、すべてのレジストリサーバ106a、106b、106cは、与えられたユーザデータが格納される場所及びそれに接続する方法を決定するために必要な情報とともに構成される。パケット102を処理するレジストリサーバ106aは、その構成情報を使用して、適切なデータベース107a、107b、107cに接続し(それ以前に接続されていなければ)、対象受信者108のユーザプロファイルデータをデータベース206に問い合わせる。
レジストリサーバ106aが、関連するデータベース107a、107b、107c内にユーザプロファイルデータを配置した後、レジストリサーバ106aは、受信者のユーザアカウントの最新のロケーションが知られているかチェックするステップに進む(207)(「ロケーション」は、ここでは、上で決定されているように使用され、これはネットワーク内の与えられたノードにおける接続サーバの一意的な識別子である)。同様に、「最新のロケーション」とは、ここでは、対象受信者108に最近サービスを提供した接続サーバ104a、104b、104cのことである。レジストリサーバ106aによってパケット102を、対象受信者に最後にサービスを提供した最後の知られている接続サーバ104a、104b、104cに回送する前に、パケットがレジストリサーバ106a、106b、106cによって接続サーバ104a、104b、104cにすでに回送されているかどうかを判定するさらなるチェックを実行する(208)。すでに回送されていれば、パケットは、再び回送されることはない。
パケット102が、レジストリ106a、106b、106cによってまだ回送されていない場合、現在パケットを処理している最中のレジストリ106aは、パケットを現在処理している最中のレジストリサーバ106aによってパケットが回送されたことを示す情報をパケット102にタグとして付ける。次いで、レジストリサーバ106aが、パケット102を適切な接続サーバ104a、104b、104cに回送する(209)。次いで、関連する接続サーバ104a、104b、104cが、上述のようにパケットの処理を続行する。このようにしてパケット102にタグ付けすることにより、次回パケット102がレジストリと接続サーバとの間でパケットを返す無限ループが形成されないことのチェック208を通ることが確実になる。
レジストリサーバ106aによって受信者のロケーションを決定できない場合、パケットの受信者108は、現時点210において接続サーバ104a、104b、104cに接続されていないと結論される。ある意味で、対象受信者108は「オフライン」になっているのである。次いで、プロトコルによって、パケット102が属している(211)クラス(つまり、メッセージ、情報、又はプレゼンス)が判定される。パケットがどのようなタイプに属しているかに応じて、経路指定プロセスがパケットを扱う方法は異なる。
「最も重要である」と考えられる、「メッセージパケット」の場合、システムは、一組の経路指定ルール212を調べて、パケットがそのときに配送される方法に関して適切な決定を下す。メッセージを配送する方法を定める経路指定ルール212は、(限定はしないが)SMS配送、電子メール配送、及び/又は他の代替媒体を介した配送を含むことができる。
「情報パケット」(XMPPプロトコルにおけるIQスタンザに対応する)の場合、「not found」エラーパケット(一般に404エラーとも称される)が、元のパケット213の送信者に送り返される。次いで、エラーパケットの配送はまた、本明細書で説明されているのと同じメッセージ経路指定アルゴリズムに従う。エラーパケットは、元のパケットがすでにエラーパケットであった場合には送信されない(つまり、エラー応答に対してエラー応答は送信されない)。このこともまた、無限ループの発生を防ぐ。
「プレゼンスパケット」の場合、これらのパケットは、情報の受信者がクラスタに接続されていない場合は無関係であるとみなされる。したがって、これらのパケットは、情報を送信者214に送り返すことなく黙って破棄される。
上記の説明からわかるように、本発明の一実施形態による経路指定プロセスは、以下の主要コンポーネントからなるネットワーク接続されたシステムを対象とする。
・クライアント(複数可)101、108
・接続(複数可)104a、104b、104c
・レジストリ(複数可)106a、106b、106c
・データベース(複数可)107a、107b、107c
これらのコンポーネント間の接続関係は、図3に示されている。経路指定アルゴリズムでは、以下の接続関係を指定する。発信側101及び受信側108のクライアントは、接続サーバ104a、104b、104cにのみ接続する。図示されているように、1つ又は複数のクライアント101、108が1つの接続サーバ104aに接続することができる。クライアントは、任意の与えられた時点においていくつでも接続できるが、1つのクライアント/ユーザアカウントは、一度に1つの接続サーバ104aにしか接続できない。任意の与えられた時点において接続サーバ104a、104b、104cはいくつでも使用可能にできる。任意の接続サーバが、任意のレジストリサーバ106a、106b、106cに接続することができる。接続サーバ104aは、必要ならば複数のレジストリに同時に接続することができる。任意のレジストリサーバ106a、106b、106cが、任意のデータベース107a、107b、107cにアクセスすることができる。レジストリは、必要ならば複数のデータベースに同時に接続することができる。任意のレジストリサーバが、任意の接続サーバに接続することができる(上述のようにメッセージ回送のため)。
「接続」、「レジストリ」、及び「データベース」は、上では、システムの論理的コンポーネントとして使用されており、単一の物理的サーバ上に配備される場合も、配備されない場合もあるか、又は一連のハードウェア上に配備することもできる。一般に、容量要件は、所望のシステムの物理的レイアウトを決定付ける。
本発明の経路指定プロセスでは、特定のデータベース管理システム又は方法への依存は不要である。しかし、本発明の一実施形態では、このプロセスは、以下でさらに詳しく説明される、データベースのシャーディング及びレプリケーションの組合せを利用することができる。
「シャード(shard)」は、本明細書では、複数の個別にインストールされたデータストレージバックエンド上に大量のデータを分散させる方法を表す、「データベースパーティション」を指すために使用される。「データストレージバックエンド」は、本明細書では、RDBMS(リレーショナルデータベース管理システム)を実行する特定のサーバを指すために通常使用されるが、これは、必ずしもそうではなく、本明細書では、データを格納するいかなる方法も許容される。
図4に示されているように、共有環境では、レジストリサーバ106aは、与えられたアクションに対する正しいデータ格納先を常に決定し、適切なシャードに対しオペレーションを実行する必要がある。例えば、要求されるシャードがシャード「2番」である場合、レジストリサーバ106aは、シャードがデータベース107a内に格納されていると判定する。次いで、レジストリサーバ106aは、データベース107aからシャードを取り出し、必要なアクションを実行する。要求されるシャードがシャード「1番」であり、オペレーションがリードオペレーションである場合、レジストリサーバ106aは、データベース107b、107cのいずれかが関係するシャードを含んでいると判定し、要求されるシャードが「1番」であるが、オペレーションがライトオペレーション(データの追加又は修正)である場合、レジストリサーバ106aは、データベース107bを選択する(レプリケーションがマスター−スレーブタイプであると仮定する)。シャードの選択は、シャードが分散される3つの別々のデータベースへのアクセスに関して説明されているが、当業者であれば、複数の位置を含む単一のデータベースを利用できることを理解するであろう。
上で述べたように、大きなデータベースを、データベース内のレコード毎に、多数のシャード(又は「パーティション」)上にパーティション分割することができ、シャーディングアルゴリズムが、どのパーティションがそのレコードを所有するかを決定する。シャーディングアルゴリズムは、さまざまな方法で実装することができ、ここでもまた、ふさわしいアルゴリズムは、拡張性要件によって規定されるべきである。シャーディングアルゴリズムに対する一般的ガイドラインは以下の通りとすることができる。
・システム内の特定のユーザアカウントに関係するデータについて、最初に、このユーザアカウントに対する一意的な識別子(「ユーザid」)を決定する。
・適当なハッシュ関数を使用してユーザidのハッシュを計算する(「ハッシュ」は、コンピュータ関係で使用される専門用語であり、文字列の数値表現を指すために使用されることが多く、「ハッシュ関数」は、この表現を与える特定のアルゴリズムを決定する関数である)。これにより、それ自体数値である場合も数値でない場合もある、ユーザidの数値表現が与えられる。
・ハッシュ数をシャードを割り振るステップの基礎として使用する。利用可能なシャードの数が知られている場合、値は、単純除算を行い、剰余を求めることで簡単に得られる。例えば、次の通りである。
1.システムが8つのデータベースシャードを持つとする。
2.ハッシュ(userid)=84529823
3.このuseridレコードを所有するデータベースシャード数は、84529823 % 8=7とすることができる(表記「a % b」は、ここでは、除算「a/b」を実行し、次いで、計算結果の剰余を取り出すことを意味する)
4.この場合、データベースシャードは、シャード数7となる。
シャーディングアルゴリズムに加えて、レジストリサーバ106a、106b、106cが与えられたシャードにどのように到達するかを決定するためにシステム内に他のメカニズムが必要である。読み出し及び書き込みのオペレーションがマスター−スレーブ構成でデータベースレプリケーションに対応できるように異なるメカニズムを構成することができる(1つの物理的サーバにのみ書き込むことができるが、リードオペレーションについては複数のサーバにアクセスすることができる)。
シャードを配置するためのこのメカニズムは、レジストリサーバ106a内の単純な構成テーブルを介して実行することができ、その際に、それぞれのシャードインデックスは、与えられたシャードに対するデータベースノードとして動作することができるサーバの(IP)アドレスで構成される。これらのアドレスは、任意に与えられた時点においてデータベース要件が与えられた場合にレジストリがどこに接続するかを認識するように「リード」及び/又は「ライト」フラグを介してタグ付けすることができる。
上記の実施形態は、本発明の例示によってのみ提示されており、またそれに対するさらなる修正及び改善は、当業者には明らかなように、本明細書で説明されている本発明の広い範囲及び分野内に収まるとみなされることは理解されるであろう。

Claims (16)

  1. 通信ネットワークにおいてメッセージの経路指定を行うためのシステムであって、
    対象受信者に配送されるパケットを受信するための複数のノードを備え、
    前記対象受信者が前記複数のノード内の第1の選択されたノードに接続されているかどうかを判定し、前記対象受信者が前記第1の選択されたノードに接続されている場合に前記パケットを配送するように構成され、
    前記対象受信者が前記複数のノード内の前記第1の選択されたノードに接続されていないと判定された場合には、前記対象受信者が前記複数のノードのうちのどのノードに接続されているかを判定し、前記対象受信者が接続されているノードに前記パケットを回送するようにさらに構成されている、システム。
  2. 前記複数のノードのうちのそれぞれのノードが、互いに結合された複数のサーバを含む、請求項1に記載のシステム。
  3. それぞれのノードが、前記複数のサーバのうちの第1のサーバを含み、前記第1のサーバは前記対象受信者が前記ノード上の前記複数のサーバの中の少なくとも1つのサーバに接続されているかどうかを判定するように構成されている、請求項2に記載のシステム。
  4. 前記複数のサーバのうちの前記第1のサーバが、前記パケットの経路指定先となるノードの宛先アドレスを含んでいるかどうかを判定するように構成されている、請求項3に記載のシステム。
  5. 前記複数のサーバのうちの前記第1のサーバが、前記パケットを前記所望の宛先に回送すると前記パケット内の前記経路指定情報をクリアするように構成されている、請求項2〜4のいずれか一項に記載のシステム。
  6. 前記対象受信者の前記ロケーションを決定することができない場合に前記パケットをレジストリに回送するように構成されている、請求項1に記載のシステム。
  7. 前記レジストリが、互いに結合された複数のサーバを含む請求項6に記載のシステム。
  8. 前記レジストリが、前記対象受信者の接続先だった最後のノードのロケーションに関する情報を少なくとも1つのデータベースから読み出すように構成されている第1のサーバを含む、請求項7に記載のシステム。
  9. 前記レジストリが、前記パケットを前記対象受信者の前記最後の知られているロケーションに回送するように構成されている、請求項8に記載のシステム。
  10. 前記複数のサーバが、それぞれのノード内で同じ物理的ロケーションを占有する請求項2〜5のいずれか一項に記載のシステム。
  11. 前記複数のサーバが、それぞれのレジストリ内で同じ物理的ロケーションを占有する、請求項7〜9のいずれか一項に記載のシステム。
  12. 前記パケットは、メッセージパケット、情報パケット、又はプレゼンスパケットというパケットクラスのうちの少なくとも1つから選択される、請求項1〜11のいずれか一項に記載のシステム。
  13. 通信システムにおいてメッセージの経路指定を行うための方法であって、
    対象受信者に対する1つのパケットを複数のノードのうちの第1のノードにおいて受信するステップと、
    前記対象受信者が前記第1のノードに接続されているかどうかを判定し、前記対象受信者が前記第1のノードに接続されている場合に前記パケットを前記対象受信者に配送し、前記対象受信者が前記第1のノードに接続されていない場合には、前記対象受信者が前記複数のノードのうちのどのノードに接続されているかを判定し、前記対象受信者が接続されている前記ノードに前記パケットを回送するステップと
    を含む方法。
  14. 前記対象受信者の前記ロケーションが決定することができない場合に前記パケットをレジストリに回送するステップをさらに含む、請求項13に記載の方法。
  15. 前記レジストリが、1つ又は複数のデータベースに問い合わせて、前記対象受信者の接続先だった最後のノードのロケーションに関する情報を取り出すように構成されている、請求項14に記載の方法。
  16. 前記パケットを前記対象受信者の接続先だった前記最後のノードに回送するステップをさらに含む、請求項15に記載の方法。
JP2011522941A 2008-08-13 2009-07-29 メッセージ経路指定プラットフォーム Expired - Fee Related JP5441041B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
SG200805997-4 2008-08-13
SG200805997-4A SG159399A1 (en) 2008-08-13 2008-08-13 Message routing platform
PCT/SG2009/000266 WO2010019105A1 (en) 2008-08-13 2009-07-29 Message routing platform

Publications (2)

Publication Number Publication Date
JP2011530953A true JP2011530953A (ja) 2011-12-22
JP5441041B2 JP5441041B2 (ja) 2014-03-12

Family

ID=41669090

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011522941A Expired - Fee Related JP5441041B2 (ja) 2008-08-13 2009-07-29 メッセージ経路指定プラットフォーム

Country Status (18)

Country Link
US (1) US8798001B2 (ja)
EP (1) EP2316205B1 (ja)
JP (1) JP5441041B2 (ja)
KR (1) KR101384794B1 (ja)
CN (1) CN102124702B (ja)
AU (1) AU2009282526B2 (ja)
CA (1) CA2734048C (ja)
CO (1) CO6351836A2 (ja)
ES (1) ES2567272T3 (ja)
HK (1) HK1157966A1 (ja)
MX (1) MX2011001608A (ja)
MY (1) MY161672A (ja)
RU (1) RU2483457C2 (ja)
SG (1) SG159399A1 (ja)
TW (1) TWI466502B (ja)
UA (1) UA100582C2 (ja)
WO (1) WO2010019105A1 (ja)
ZA (1) ZA201100748B (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110249667A1 (en) * 2010-04-13 2011-10-13 Rebelvox, Llc Apparatus and method for transmitting media using either network efficient protocol or a loss tolerant transmission protocol
US8924472B1 (en) 2011-08-20 2014-12-30 Datastax, Inc. Embedding application services in a distributed datastore
US10354310B2 (en) * 2013-05-10 2019-07-16 Dell Products L.P. Mobile application enabling product discovery and obtaining feedback from network
EP2887589A1 (en) * 2013-12-20 2015-06-24 Rovio Entertainment Ltd Stateless message routing
US10523619B2 (en) 2013-12-20 2019-12-31 Rovio Entertainment Ltd. Stateless message routing
US9560315B1 (en) * 2015-12-07 2017-01-31 Dell Software, Inc. Reducing videoconferencing bandwidth usage

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003158535A (ja) * 2001-11-22 2003-05-30 Nec System Technologies Ltd 双方向通信システムおよび方法
JP2003333178A (ja) * 2002-05-15 2003-11-21 Takeshi Aoki 一般電話機によるインターネット電話システム
US20040062267A1 (en) * 2002-03-06 2004-04-01 Minami John Shigeto Gigabit Ethernet adapter supporting the iSCSI and IPSEC protocols
JP2005080176A (ja) * 2003-09-03 2005-03-24 Uniden Corp ゲートウェイ装置及びその制御方法
US20060083241A1 (en) * 2004-10-15 2006-04-20 Utstarcom, Inc. Method and apparatus for implementing direct routing
US20070180123A1 (en) * 2006-01-27 2007-08-02 Bennett James D Multi user client terminals operable to support network communications
US20080059579A1 (en) * 2006-08-29 2008-03-06 Oracle International Corporation Techniques for applying policies for real time collaboration

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6006272A (en) * 1998-02-23 1999-12-21 Lucent Technologies Inc. Method for network address translation
US6452915B1 (en) * 1998-07-10 2002-09-17 Malibu Networks, Inc. IP-flow classification in a wireless point to multi-point (PTMP) transmission system
US8085813B2 (en) * 1999-10-28 2011-12-27 Lightwaves Systems, Inc. Method for routing data packets using an IP address based on geo position
US7102996B1 (en) * 2001-05-24 2006-09-05 F5 Networks, Inc. Method and system for scaling network traffic managers
ATE384387T1 (de) * 2001-12-28 2008-02-15 Motorola Inc Kommunikation über einen ausgewählten teil eines netzwerkes
US7050416B2 (en) * 2002-05-14 2006-05-23 Thomson Licensing Technique for IP communication among wireless devices
CA2512834A1 (en) * 2003-01-09 2004-07-29 Siemens Aktiengesellschaft Method and mobile radio communication network for the transmission of packet data
KR20040070557A (ko) * 2003-02-04 2004-08-11 주식회사 케이티프리텔 이동통신 시스템에서 메시지 전송 방법 및 장치
CN100454882C (zh) * 2003-12-19 2009-01-21 华为技术有限公司 多isp局域网的出口选择方法及装置
US7181217B2 (en) * 2004-08-30 2007-02-20 Talara Systems, Inc. Mobile services control platform providing a message forwarding service
EP1864523B1 (en) * 2005-03-29 2013-02-13 Research In Motion Limited System and method for personal identification number messaging
US7496678B2 (en) * 2005-05-11 2009-02-24 Netapp, Inc. Method and system for unified caching of media content
US7567553B2 (en) * 2005-06-10 2009-07-28 Swift Creek Systems, Llc Method, system, and data structure for providing a general request/response messaging protocol using a presence protocol
KR100727069B1 (ko) * 2005-10-27 2007-06-12 주식회사 케이티프리텔 Sip 기반의 무선 패킷 교환망 시스템에서의 타망 연동방법 및 그 시스템
GB0623621D0 (en) * 2006-11-27 2007-01-03 Skype Ltd Communication system
US8782274B2 (en) * 2007-10-19 2014-07-15 Voxer Ip Llc Method and system for progressively transmitting a voice message from sender to recipients across a distributed services communication network
WO2009111786A2 (en) * 2008-03-07 2009-09-11 Tekelec Methods, systems, and computer readable media for routing a message service message through a communications network
US8149840B2 (en) * 2008-06-02 2012-04-03 Huawei Technologies Co., Ltd. Method, system and processor for processing network address translation service

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003158535A (ja) * 2001-11-22 2003-05-30 Nec System Technologies Ltd 双方向通信システムおよび方法
US20040062267A1 (en) * 2002-03-06 2004-04-01 Minami John Shigeto Gigabit Ethernet adapter supporting the iSCSI and IPSEC protocols
JP2003333178A (ja) * 2002-05-15 2003-11-21 Takeshi Aoki 一般電話機によるインターネット電話システム
JP2005080176A (ja) * 2003-09-03 2005-03-24 Uniden Corp ゲートウェイ装置及びその制御方法
US20060083241A1 (en) * 2004-10-15 2006-04-20 Utstarcom, Inc. Method and apparatus for implementing direct routing
US20070180123A1 (en) * 2006-01-27 2007-08-02 Bennett James D Multi user client terminals operable to support network communications
US20080059579A1 (en) * 2006-08-29 2008-03-06 Oracle International Corporation Techniques for applying policies for real time collaboration

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
CSND200500062027; '通話はこうして実現されている IP電話のプロトコル' NETWORK MAGAZINE 第9巻,第7号, 20040701, pp.128-131, 株式会社アスキー *
CSND200800338008; 'びじねす玉手箱 NTTソフトウェア' ビジネスコミュニケーション 第45巻,第4号, 20080401, pp.64-65, 株式会社ビジネスコミュニケーション社 *
CSNG200201222010; 会田雅樹、高橋紀之: 'データ通信のアドレスキャッシュテーブル設計法' 電子情報通信学会技術研究報告 第97巻,第296号, 19970930, pp.61-66, 社団法人電子情報通信学会 *
JPN6012057737; 会田雅樹、高橋紀之: 'データ通信のアドレスキャッシュテーブル設計法' 電子情報通信学会技術研究報告 第97巻,第296号, 19970930, pp.61-66, 社団法人電子情報通信学会 *
JPN6012057740; 'びじねす玉手箱 NTTソフトウェア' ビジネスコミュニケーション 第45巻,第4号, 20080401, pp.64-65, 株式会社ビジネスコミュニケーション社 *
JPN6013018735; '通話はこうして実現されている IP電話のプロトコル' NETWORK MAGAZINE 第9巻,第7号, 20040701, pp.128-131, 株式会社アスキー *

Also Published As

Publication number Publication date
ZA201100748B (en) 2012-05-01
TWI466502B (zh) 2014-12-21
AU2009282526A1 (en) 2010-02-18
CA2734048C (en) 2015-10-13
EP2316205B1 (en) 2016-01-06
SG159399A1 (en) 2010-03-30
US8798001B2 (en) 2014-08-05
AU2009282526B2 (en) 2014-08-14
KR20110044273A (ko) 2011-04-28
KR101384794B1 (ko) 2014-04-24
CN102124702B (zh) 2014-04-09
ES2567272T3 (es) 2016-04-21
US20120002601A1 (en) 2012-01-05
RU2483457C2 (ru) 2013-05-27
CN102124702A (zh) 2011-07-13
MY161672A (en) 2017-05-15
MX2011001608A (es) 2011-04-07
TW201025943A (en) 2010-07-01
CO6351836A2 (es) 2011-12-20
EP2316205A1 (en) 2011-05-04
JP5441041B2 (ja) 2014-03-12
RU2011104073A (ru) 2012-09-20
UA100582C2 (uk) 2013-01-10
HK1157966A1 (en) 2012-07-06
CA2734048A1 (en) 2010-02-18
WO2010019105A1 (en) 2010-02-18
EP2316205A4 (en) 2013-09-11

Similar Documents

Publication Publication Date Title
KR101337039B1 (ko) 통신 네트워크 내의 패킷을 라우팅하는 방법 및 통신 네트워크 내의 패킷을 라우팅하기 위한 네트워크 노드
JP5441041B2 (ja) メッセージ経路指定プラットフォーム
US20160087881A1 (en) Method, apparatus, and system for routing and forwarding
CN102668505B (zh) 用于定位对等网络中的服务的方法和设备
JP2018164285A (ja) エニーキャストデータトラフィックをロードバランシングするための方法およびシステム
US20140280823A1 (en) Wire-speed pending interest table
EP2560321B1 (en) Ethernet multicast method and device
US20040044790A1 (en) Heuristics-based peer to peer message routing
KR20160076445A (ko) 정보 중심 네트워크들에서 링크 상태 정보를 사용한 효율적인 이름 기반 콘텐츠 라우팅을 위한 시스템 및 방법
KR20170037818A (ko) 작은 다중 경로 또는 단일 경로 포워딩 상태를 이용한 정보 중심 네트워킹
KR20140127876A (ko) 고속 및 대규모 최장 프리픽스 정합을 위한 방법 및 시스템
JP2009508410A (ja) マルチデスティネーション・ルーティングを利用したピアツーピア・オーバーレイ通信の並列実行
KR20140081025A (ko) 컨텐트 중심 네트워크에서의 통신 방법 및 장치
US9407687B2 (en) Method, apparatus, and network system for acquiring content
US7680950B1 (en) Efficient search for storage objects in a network
KR101094033B1 (ko) 분산 네트워크를 이용한 노드 등록 및 유동 ip 검색 방법 및 장치
Li et al. ANBR: An aggregatable name based routing for information-centric network
Gulzar et al. A New Tier Based Approach for Clustered Content Centric Networks Implementing Cloud Computing
CN102148847A (zh) 基于reload的客户端接入对等网络的方法和系统
KR20140115155A (ko) 컨텐츠 중심 네트워크에서 블룸 필터를 이용하여 라우팅을 수행하는 노드 및 그 방법

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121106

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130206

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130306

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130423

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130822

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131003

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20131025

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131209

R150 Certificate of patent or registration of utility model

Ref document number: 5441041

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees