JP2008502233A - 通信をルーティングする方法および装置 - Google Patents

通信をルーティングする方法および装置 Download PDF

Info

Publication number
JP2008502233A
JP2008502233A JP2007526107A JP2007526107A JP2008502233A JP 2008502233 A JP2008502233 A JP 2008502233A JP 2007526107 A JP2007526107 A JP 2007526107A JP 2007526107 A JP2007526107 A JP 2007526107A JP 2008502233 A JP2008502233 A JP 2008502233A
Authority
JP
Japan
Prior art keywords
endpoint
communication
virtual
caller
protocol
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
JP2007526107A
Other languages
English (en)
Other versions
JP4724717B2 (ja
Inventor
マーク トレバリン−ジョーンズ,ニコラス
アン トレバリン−ジョーンズ,メレディス
Original Assignee
ナインティー9.コム ピーティーワイ リミテッド
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
Priority claimed from AU2004903034A external-priority patent/AU2004903034A0/en
Application filed by ナインティー9.コム ピーティーワイ リミテッド filed Critical ナインティー9.コム ピーティーワイ リミテッド
Publication of JP2008502233A publication Critical patent/JP2008502233A/ja
Application granted granted Critical
Publication of JP4724717B2 publication Critical patent/JP4724717B2/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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • 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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L45/308Route determination based on user's profile, e.g. premium 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/06Message adaptation to terminal or network requirements
    • H04L51/066Format adaptation, e.g. format conversion or compression
    • 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/56Unified messaging, e.g. interactions between e-mail, instant messaging or converged IP messaging [CPM]
    • 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/56Provisioning of proxy services
    • H04L67/564Enhancement of application control based on intercepted application data
    • 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/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • 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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • 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
    • 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/2876Pairs of inter-processing entities at each side of the network, e.g. split proxies

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephonic Communication Services (AREA)

Abstract

【課題】通信をルーティングする。
【解決手段】電話通信またはデータ通信等の通信が、発信者(1)と受信者(5)との間で、発信者の嗜好または発信者および受信者の双方の嗜好に基づいてルーティングされる。仮想エンドポイント(61、66)が各ユーザ(1、5)に割り当てられる。各仮想エンドポイント(61、66)は、各ユーザに対する1つ以上のエンドポイントを、典型的には、ユーザの通信装置のアドレスを表すアドレス/プロトコルの対として記憶する。仮想エンドポイント(61、66)は、発信者および受信者の通信装置(2、6)が通信を行う1つまたは複数のネットワーク(80、85)と通信を行うゲートウェイ(100)によってアクセス可能なデータ記憶機構(60)に記憶される。嗜好は、各仮想エンドポイントに対応付けられ、その仮想エンドポイントのエンドポイントが属するプロトコルのカテゴリを特定する。ある基準に合致した場合に各仮想エンドポイントのエンドポイントの内のいずれを通信ルーティングパスに用いるかは、嗜好によって特定されることができる。ゲートウェイ(100)のルーティングエンジン(30)は、発信者エンドポイント(82)と受信者エンドポイント(86)との間のルーティングパスを、例えば、ルールに基づく処理を用いて、発信者および受信者に対する仮想エンドポイントに対応付けられた嗜好に応じて決定する。要求に応じて、ゲートウェイ(100)は、通信のプロトコルまたはフォーマットを、発信者のエンドポイントのものから受信者のエンドポイントのものへと変換する。
【選択図】図1

Description

本発明は、発信者および/または受信者が複数の可能なエンドポイントを有し、発信者および受信者に対するプロトコルが異なりうる場合の、通信、特に電話通信およびデータ通信をルーティングする方法および装置に関する。
電話ネットワークおよびデータネットワーク等の通信ネットワークにより、様々な種類の電話通信およびデータ通信が行われてきている。通信ネットワークは、他の通信ネットワークと相互接続される場合もある。これらのネットワークでの通信には、種々の異なったプロトコルが用いられており、それぞれ、通信のエンドポイントを記述しその場所を特定する方法、および両者が許容でき理解できるような通信の形態を定義している。例えば、Eメールプロトコルは、Eメールアドレスがどのようにトレイ中の実際のEメールにリゾルブするのか、どのようにEメールメッセージをパッケージ化し、伝送し、配信するのかを定義している。また、電話プロトコルは、電話番号がどのように実際の電話にリゾルブするのか、どのように電話接続を確立し音声情報を伝送するのかを定義している。(当該分野において用いられる「リゾルブ」という語は、アドレスとの関連において、アドレスを解釈して実際の配信先を決定することを意味する。)
あるプロトコルに対して、各エンドポイントはアドレス/プロトコルの対として定義される。そのため、ユーザは、プロトコルが分からない場合、エンドポイントを宛先指定できず、似ていても異なるプロトコルを用いて他のユーザと通信することも通常不可能である。異なるプロトコルを接続する手段がない場合、通信を望む2者のユーザは、同一の通信ネットワークまたは相互接続されたネットワークを既に利用していたとしても、通信を行うために共通に有しているプロトコルを選択しなくてはならない。しばしば起こることであるが、選択されたプロトコルが特定の装置の利用を要求する場合、各ユーザは、その種類の装置にアクセスでき、かつその装置を利用可能である必要がある。従って、通信の選択が制限される。通信が不可能となること、または利用可能なプロトコルおよび装置のために、好適なプロトコルの選択に関して妥協を行うことがしばしばある。
用いられているプロトコルが多様であるということは以下のことを意味する。すなわち、ユーザは、一般的に、通信を望む相手ユーザそれぞれに数多くの連絡先アドレスを記憶している必要があり、他のユーザとの通信を望むユーザは、その時点においてどのアドレス/プロトコルの対が適切であるかを推定し、アドレス/プロトコルの対を順次試してみるという処理を行わなくてはならない。
異なるプロトコルを接続する公知の方法および装置がある。1つの方法においては、特定のプロトコル対を接続する特製(受注生産)アダプタが用いられる。特許文献1および特許文献2にこのアダプタの例が記載されている。これらのアダプタによって、他のプロトコルの対応する機能にマップ可能なプロトコルの機能が抽出され、対応する機能間に有効な経路を生成する機構が提供される。
米国特許第6020980号 米国特許第6625642号
特製アダプタの不利な点の1つとして、接続されている2つのプロトコルによってアダプタが定義され、アドレスがプロトコルに特定のものであるため、受信者に対する出力プロトコルおよびその出力プロトコルにおけるアドレスは、変換前に特定されなくてはならないという点がある。変換前に出力アドレス/プロトコルの対を確実に特定するためには、通信の発信者が出力アドレス/プロトコルの対を特定して与えなければならないか、またはその情報を受信者のアドレスに何らかの方法で構築することが必要であった。
発信者がその情報を特定して与える例として、ショートメッセージサービス(SMS)からEメールへのアダプタは、受信者のEメールアドレスを、アダプタへと送信されるSMSメッセージの最初の部分としてタイプ入力することを発信者に要求し、アダプタがこのEメールアドレスにSMSメッセージの残りをEメールとして配信することを可能とする。受信者のアドレスに情報を構築する例として、SMSアダプタへのEメールでは、特別なEメールアドレスの携帯電話ユーザへの割り当てが要求され、この特別なEメールアドレスにEメールとして送信されたテキストをアダプタへと配信して、処理を施し、1つ以上のSMSメッセージの形態で受信者の携帯電話へと転送する(特定のルールの適用に依存する可能性が高い)。
公知の特製アダプタの他の不利な点として、共通の機能をマップし、両者に共通ではない機能を用いないために、典型的には性能が下がってしまう点がある。例えば、長いメッセージまたは添付ファイルに出力プロトコルが対応していないのに対して入力プロトコルが対応している場合、通信の問題および情報の消失が起こる。情報の消失を避けるために、情報消失なしに変換することが不可能な受信した通信を記憶し、目的の受信者に、受信者が第3のプロトコルを用いると完全な通信の受け取りが可能となることを受信者のプロトコルを用いて通知するアダプタもある。
この手法の一例として、マルチメディアメッセージサービス(MMS)に対応している携帯電話のユーザは、MMSに対応していないがSMSには対応している他の携帯電話に、写真データを含むMMSメッセージを送信することができる。受信者へのメッセージ配信を担当するMMSセンターは、ウェブサイトにMMSメッセージを記憶し、目的の受信者に、受信者がインターネットに接続し、(HTTPプロトコルを利用する)ウェブブラウザを用いてこのウェブサイトにアクセスするとMMSメッセージの閲覧が可能となることを通知するSMSテキストメッセージを送信してもよい。この手法では、情報は実際に消失しないものの、配信されるのは配信エラー通知のみである。通信が受信者に受け取られないこともあり、完全な通信の配信そのものは不明である。
異なるプロトコルを接続する他の公知の方法においては、共通の中間プロトコルが用いられる。この方法によって、接続しようとするプロトコル対それぞれに新しい特製アダプタを製造する必要なしに数多くのプロトコルを接続することが可能となる(これは、資源集約的な処理である)。しかしながら、受信者に対する出力プロトコルおよびその出力プロトコルにおけるアドレスは、やはり変換前に特定されなくてはならない。
受信したメッセージとは異なるプロトコルを用いた通信メッセージの検索を可能とするユニファイドメッセージングの公知の方法がある。米国特許第6711154号にこのユニファイドメッセージング装置の例が記載されている。これらの共通の中間プロトコルおよびユニファイドメッセージングの方法では、通信の動的ルーティングおよびプロトコル変換を実行することができない。
通信のルーティングに対する受信者の嗜好および/または受信者用通信装置の利用可能性に基づいて、通信における制限的な動的ルーティングおよびプロトコル変換を実行する方法もある。典型的には、これらの方法は、通常の固定された通信装置の場所に居るとは限らない受信者に、通信をルーティングすることを目的にしている。米国特許第6606647号および同5742905号にその例が記載されている。これらの方法の不利な点は、受信者の嗜好のみが考慮される点にある。これの方法には、典型的には、動的ルーティングを実現可能とするために、特別な受信者アドレスの利用が要求され、かつ/または特定のクライアントソフトウェアを実行し中央サーバと通信を行うパーソナルコンピュータまたは無線PDA(personal digital assistant)等のクライアント装置の利用が要求されるという他の制限もある。
これら公知の方法全てに共通する不利な点は、発信者および受信者の双方の必要性に最も合致する通信プロトコルについて交渉する機会がない点にある。
本発明の目的は、予め決定された出力プロトコルおよびそのプロトコルにおけるアドレスに関する上記の問題、ならびに異なるプロトコルを接続する公知の方法に内在する他の制限の少なくともいくつかを実質的に解決または改善する、通信をルーティングする方法および装置を提供することにあり、ひいてはユーザにとってより有効な通信システムを提供することにある。
広義において、本発明は、発信者と受信者との間の電話通信またはデータ通信等の通信を、前記発信者および前記受信者の嗜好に基づいてルーティングする方法であって、
ユーザに対する複数のエンドポイントを、そのユーザに対する仮想エンドポイントとして記憶する記憶ステップであって、前記ユーザは前記通信の発信者または受信者であり、各エンドポイントはそれぞれのユーザ間の通信の発信元および/または送信先を表す記憶ステップと、
ある基準に合致した場合に前記各仮想エンドポイントの前記複数のエンドポイントの内のどのエンドポイントを通信のルーティングパスに用いるかを特定する嗜好を、前記仮想エンドポイントに対応付けるステップと、
発信者エンドポイントと受信者エンドポイントとの間のルーティングパスを、前記受信者および前記発信者に対する前記仮想エンドポイントに対応付けられた前記嗜好に応じて決定するステップと、を含む方法を提供する。
さらに、本発明は、発信者と受信者との間の電話通信またはデータ通信等の通信を、前記発信者および前記受信者の嗜好に基づいてルーティングする装置であって、
ユーザに対する複数のエンドポイントを、そのユーザに対する仮想エンドポイントとして記憶し、かつ各仮想エンドポイントに対応付けられた嗜好に関するデータを記憶する記憶手段であって、前記ユーザは前記通信の発信者または受信者であり、各エンドポイントはそれぞれのユーザ間の通信の発信元および/または送信先を表す記憶手段と、
発信者エンドポイントと受信者エンドポイントとの間のルーティングパスを、前記受信者および前記発信者に対する前記仮想エンドポイントに対応付けられた前記嗜好に応じて決定する手段とを含む装置を提供する。
ルーティングパスが一旦決定されると、決定されたルーティングパスを介して、発信者(または発信側)エンドポイントと受信者(または受信側)エンドポイントとの間に通信が確立可能である。
受信者エンドポイントが、発信者エンドポイントとは異なる通信プロトコルおよび/またはフォーマットを有している場合、通信のプロトコルおよび/またはフォーマットは、発信者のエンドポイントのものから受信者のエンドポイントのものへと変換される。これには、発信者のエンドポイントのプロトコルおよび/またはフォーマットを、まず中間プロトコルへ、次いで受信者のエンドポイントのものへと変換することが含まれてもよい。
本発明に係る好適な実施形態においては、交渉用ゲートウェイが1つ以上の通信ネットワークに接続される。交渉用ゲートウェイは、データ記憶機構を用いてデータの対応を記憶する手段を含む。エンドポイントの対応は、仮想エンドポイントとしてデータ記憶機構に記憶される。各仮想エンドポイントは、通信の発信者または受信者であるユーザに対するエンドポイントの集合体である。エンドポイントは、通信の発信元および/または送信先を表し、典型的には電話番号またはEメールアドレス等のアドレス/プロトコルの対である。各仮想エンドポイントは、ある基準に合致した場合にエンドポイントの対応の内のどのエンドポイントをルーティングパスに用いるかを特定する嗜好に対応付けられる。
ゲートウェイは、通信を受信および送信する手段を有する。受信された通信はゲートウェイに宛先指定されてもよく(行為要求等)、そうでない場合、ゲートウェイによって配信される通信となる。ゲートウェイへの要求は、ルーティングパスの要求であっても、他の何らかの要求であってもよい。要求の結果は、任意には受信した要求の発信元であるエンドポイントへと戻されてもよい。
通信がゲートウェイに受信されると、ゲートウェイは、1つ以上の発信側エンドポイント(示唆されることもある)、および1つ以上の受信側エンドポイントを識別する(「識別された」エンドポイント)。エンドポイントは、通信によって定義されてもよく(すなわち、エンドポイントは通信の「発信元」および「送信先」アドレスとなる)、通信内に(メタデータ等として)指定されてもよい。エンドポイントは、仮想エンドポイントの識別子を含んでいてもよい。
受信された通信は、1つ以上のプロトコルに従って1つ以上のフォーマットに符号化された任意の種類のテキスト、画像、音声、映像、デジタルデータ、またはこれらの組合せを含んでいてもよい。受信された各通信は共通の中間プロトコルへと変換される。
受信された通信がゲートウェイに宛先指定されない場合、またはルーティングパス要求である場合、ゲートウェイはルーティングパスの決定に移行する。続いて、ゲートウェイは、識別された各エンドポイントに対して0または1つの仮想エンドポイントを識別する。見つからない場合、または(例えば、エンドポイントがルーティングパスに無関係であるために)特定のエンドポイントに対して仮想エンドポイントが要求されていないとゲートウェイが判断した場合、仮想エンドポイントはそのエンドポイントに対して識別されなくてもよい。識別された各仮想エンドポイントに対して、ゲートウェイは対応付けられた嗜好を検索する。
検索された嗜好は、他の仮想エンドポイントおよび/またはエンドポイント、プロトコルおよびフォーマットを含む通信の種類、ならびに動的データに関する基準を含むことが可能である。嗜好は、エンドポイントのカテゴリの構造化された順位を含む。動的データは、各仮想エンドポイントまたはエンドポイントに対して検索されてもよく、典型的には、通信ネットワークからのエンドポイントの状態等の、ルーティングパスの決定に関係する情報を含む。
ルーティングパスは、検索された嗜好、検索された動的データ、および識別されたエンドポイントの関数として決定される。識別された嗜好における最も合致するカテゴリを有するエンドポイントが、ルーティングパスに含まれるものとして選択される。(このエンドポイントは、カテゴリについて最も合致したものでもよく、最も合致するカテゴリ内で最も合致したものでもよく、または最も合致するカテゴリ内で最も合致するエンドポイントであってもよい。)
ルーティングパスは、ルールに基づく処理を用いてルールエンジンによって決定されることが好ましい。
受信された通信がルーティングパス要求である場合、ルーティングパスは、典型的には、受信した要求の発信元であるエンドポイントへと戻される。通信がゲートウェイによって配信される場合、通信はルーティングパスにおける送信先エンドポイントのプロトコルへ変換され、その送信先エンドポイントと対応付けられた通信ネットワークへと送信される。
決定されたルーティングパスはキャッシュされることが好適である。既存のキャッシュエントリに合致する後続の通信は、データのさらなる検索または処理を要求されることなしに、そのキャッシュエントリのデータに応じて直接的にルーティングされる。
受信された通信は、多数の受信者エンドポイントを含んでいてもよく、この場合、発信側エンドポイントと受信側エンドポイントとの各組合せに対して1つずつ、多数のルーティングパスが決定される(すなわち、通信が「マルチキャスト」である)。
多数のルーティングパスは、単一の受信側仮想エンドポイントに対して決定されてもよく、検索された嗜好に依存する通信の全体または一部は、決定されたルーティングパスのそれぞれによって配信されてもよい。
受信された通信は、ゲートウェイによる行為の実行を求める、ユーザからの要求を含んでいてもよい。例えば、要求は、ユーザの記憶された仮想エンドポイントまたは嗜好を変更する要求であってもよい。
別の実施形態においては、データ交換が可能なように、適切な通信ネットワークによって2つ以上のゲートウェイが相互接続される。嗜好およびデータを検索するステップは、データのプライバシーを保護する適切な処理を含むことが好ましい。
別の実施形態においては、ゲートウェイが単一のプロトコルにおける通信に対するルーティングパスを決定する。
本発明の変形例においては、発信者エンドポイントと受信者エンドポイントとの間のルーティングパスは、発信者のみに対する仮想エンドポイントに対応付けられた嗜好に応じて決定される。例えば、受信者は多数のエンドポイントを有していてもよく、受信者エンドポイントは、発信者に対する仮想エンドポイントに対応付けられた嗜好に応じて選択される。
本発明は、発信者、または発信者および受信者に対応付けられた嗜好の関数としてルーティングパスを動的に決定する方法を提供する。よって、プロトコル変換を実行可能とするために、受信者の出力プロトコルおよびその出力プロトコルにおけるアドレスを(例えば、発信者がメッセージの一部に含めること、または受信者のアドレスに構築することによって)特定する必要はない。従来技術と比較して、発信者が記憶していなくてはならない連絡先アドレスの数、およびアドレス/プロトコルの対を推定し試してみる処理を実行する必要性の両方が実質的に減少可能である一方、発信者にとって利用可能な通信プロトコル、ひいては装置の選択が実質的に増加可能である。
本発明のさらなる有利な点を以下に列挙する。
a 発信者および受信者の双方の嗜好により合致し、よりよく、より一貫した通信制御をユーザに提供するルーティングの決定が可能となる。例えば、いずれかのユーザからのメッセージは受信者の携帯電話へとルーティングされ、他のユーザからのメッセージはEメールへとルーティングされ、さらに他のユーザからのメッセージは消去されるように受信されたテキストメッセージを処理することを、受信者の嗜好によって特定してもよい。嗜好はユーザに応じて決定可能であるため、例えば特定のユーザからの通信が配信されないように受信者が特定を行うことも可能である。
b 発信者による送信先アドレス/プロトコルの対の特定が必要ではないため、アドレス/プロトコルの対の他のユーザに対する提供に関して受信者がより柔軟であるために、プライバシーをより制御することができる。
c 実際の通信の配信から独立した形態でルーティングパスが動的に決定可能であるため、これまで対応不可能であったシステム間において、動的に決定されたルーティングパスを実現可能とする。例えば、本発明に係る好適な実施形態においては、電話、郵便、または配達システムが、ボイスメールのEメールとしての配信、電子メッセージの印刷および郵便による配達、または小包の動的に決定されたルーティングパスに応じた配達を可能とするシステムに含まれてもよい。これは、ルーティングパスを決定するシステムが通常その通信を実行しなくてはならない従来の方法よりも向上した点である。
d 通信が動的にルーティングされるために、ルーティングパスがキャッシュされた場合、ユーザの嗜好における変更は直ちに有効となる。これは、接続を切断することなしにエンドポイントの詳細が変更可能であるということを意味する。例えば、ユーザは、交信途中で通信装置またはプロトコルを切替可能である。
e ルーティングロジック内でルールに基づく処理が用いられる場合、発信者および/または受信者に対する嗜好およびルールに基づいて、ユーザに特定の行為が実行されてもよい。
f 共通の中間プロトコルが用いられる場合、データの暗号化、圧縮、または監視等の処理を、処理された通信全てに均一に適用してもよい。これは、このようなロジックを中央に備えることなく、プロトコルを別々に取扱い、各プロトコル対の変換を別々に取扱う従来の方法よりも向上した点である。
g 通信を、別々のエンドポイントへと配信されるいくつかの部分に分割してもよい。これは、通信の全体または一部を記憶して受け取ること、あるいは一部の配信を全く行わないことに比して、向上した点である。例えば、ユーザは、2つに分割可能な添付文書付きの緊急Eメールを送信し、受信者の嗜好において特定された通りに、Eメールのテキストを受信者の緊急テキスト用装置(携帯電話等)へと配信し、添付を受信者の仕事用Eメールアドレスへと配信することができる。
本発明の理解及び実施を補助するために、同じ参照番号が同じ要素を指す添付の図面を参照しながら本発明の実施形態を例示する。
本発明は、異なるプロトコルを用いる異なる通信ユーザに、相手のユーザに用いられる装置またはプロトコルの詳細を気にすることなく円滑な接続及び通信を行うこと可能とする。
図1を参照して、ユーザ1および5は、人間、コンピュータプログラム、コンピュータロジックの実行部、または情報を送信および/または受信可能な他の作用者(物)を指す。ユーザ1および5は、それぞれ装置2および6を含む複数の通信装置を利用可能である。装置2および6は、それぞれネットワーク80および85に接続され、電話、携帯電話、またはポケットベル等の有形デバイス、あるいはEメールまたはインスタントメッセンジャーのクライアントまたはサーバ等のソフトウェアを含む無形デバイスであってもよい。
ネットワーク80および85はゲートウェイ100に接続され、電子的手段によってインターフェースをとり、電話ネットワーク(PSTNまたは携帯電話ネットワーク等)ならびにデータネットワーク(LAN、WAN、およびインターネット等)等の1つ以上のプロトコルに従って通信の伝送を行うことが可能な任意の種類のネットワークであってもよい。破線で示すように、ユーザ1および5の装置は、異なるネットワークに接続されてもよく、ネットワーク80および85は相互接続されていてもいなくてもよい。
ネットワーク上の装置への通信チャネルは、そのネットワークにおけるエンドポイントとして表される。エンドポイント82および86は、それぞれ装置2および6へのチャネルを表し、電話番号、ポケットベル番号、およびEメールアドレス等の通信アドレス/プロトコルの対によってそれぞれ識別される。なお、単一の装置は多数のエンドポイントによって表されてもよく、これらのエンドポイントは異なるネットワーク上にあってもよい(例えば、携帯電話を電話番号およびEメールアドレスによって表してもよい)。
要素間のデータの流れを矢印で示す。ゲートウェイ100と、エンドポイント82および86との間の通信は、それぞれプロトコル90および95にフォーマットされる。ゲートウェイ100と、ネットワーク80および85上の他のエンドポイントとの間の通信は、プロトコル90および95以外のプロトコルにフォーマットされてもよい。
ゲートウェイ100は、通信ポート20と、データインターフェース50と、キャッシュ70(任意)と、ルーティングエンジン30とを含む。
通信ポート20は、ゲートウェイ100をネットワーク80および85等の外部装置、外部システム300(任意)、ならびにデータ記憶機構60に接続するために用いられる。本明細書において、これらのような外部装置と通信を行っているゲートウェイ100への言及は、それらの通信に通信ポート20が用いられていることを非明示的に意味する。通信ポートは、当該分野において公知であり、イーサネット(登録商標)ポート、USBポート、およびシリアルポート等がある。
ルーティングエンジン30およびデータインターフェース50は、1つ以上のコンピュータプログラム、プログラム可能なマイクロプロセッサに対する機械コード、または1つ以上の集積回路等の電子回路(以上は全て当該分野において公知である)において具現化されうるロジックを実現する。新しい定義およびロジックをプラグインモジュールの形態で追加して、新しいプロトコルまたは外部システム300に対応させることが好適である。全ての場合において、ロジックは単一の実行部において実行されてもよく、多数の実行部において同時に実行されてもよい。さらに、多数のゲートウェイ装置を1つにまとめて単一の並行処理ゲートウェイ100にしてもよい。
データインターフェース50は、データ記憶機構60および0以上の外部システム300等の他の構成要素との間で情報の送信および検索を行うために用いられる。データインターフェース50のロジックは、要求される情報の源(データ記憶機構60または外部システム300の1つ等)を識別し、要求をその源に合ったプロトコルへとフォーマットし、次いで応答をその要求元(ルーティングエンジン30または外部システム300の1つ等)に合ったプロトコルへとフォーマットすることで、情報要求に応答する。
本発明に係る好適な実施形態において、データインターフェース50のロジックが、ハッシュテーブルまたは辞書索引等の、当該分野において公知の機構を用いて要求に対する情報源およびプロトコル変換器を識別する。
データ記憶機構60は、仮想エンドポイント61および66を含むデータを記憶し、対応付けられた識別子を用いて仮想エンドポイントを検索することが可能である。このような識別子は、仮想エンドポイント「アドレス」と見做すことができる。
データ記憶機構60は、インデックスファイルまたはデータベース等の当該分野において公知のソフトウェアを用いて、あるいは他のコンピュータプログラム、機械コード、または1つ以上の集積回路等の電子回路を用いて実現され、ランダムアクセスメモリ、ディスク、またはテープ等の不揮発性電子記憶装置を管理してもよい。データ記憶機構60の全体または一部がゲートウェイ100に含まれる実施形態もある。
仮想エンドポイント61および66は、それぞれユーザに対する通信アドレス(携帯電話番号、ポケットベル番号、および/またはEメールアドレス等)の対応等の、エンドポイントの対応が記憶されたものを表す。仮想エンドポイント61は、ユーザ1に対する、知られている全てのエンドポイントを表すデータを含む。仮想エンドポイント66は、ユーザ5に対する、知られている全てのエンドポイントを表すデータを含む。
外部システム300は、要求に基づいて情報を提供する。外部システムの一例として、エンドポイントの現在状況に関する動的データを提供するネットワークがある。各外部システムは、要求を受信する1つまたは複数のプロトコルを定義する。
キャッシュ70は、キャッシュ70内に記憶され、ルーティングエンジン30によって検索される、仮想接続71等の一時エントリを含む。キャッシュ70は、1つ以上の集積回路等の電子回路、またはランダムアクセスメモリ(RAM)等のコンピュータメモリを含む、当該分野において公知の技術を用いて実現されてもよい。キャッシュ70を管理するロジックのいくつかまたは全ては、ルーティングエンジン30のロジックにおいて実現されてもよい。バッテリーバックアップを用いて、電源に異常が発生した場合にもキャッシュ70の内容を保存することが好適である。
ルーティングエンジン30は、以下に示すように、エンドポイントに対応付けられた嗜好の関数としてエンドポイント間のルーティングパスを決定するロジックを実現する。
通信がゲートウェイ100に受信されると、通信の処理を完了するために、ルーティングエンジン30が通信から情報を検索する。一般的に、ルーティングエンジン30は、通信を処理するために要求される情報の検索が不可能である場合はその通信をいずれも無視する。よって、ゲートウェイ100は、ゲートウェイが構成されていないプロトコルにおける通信をいずれも無視することとなる。ゲートウェイ100は、プラグイン・ロジック・モジュールを用いて、個々のプロトコルに対して構成可能であることが好適である。
通信はゲートウェイ100に宛先指定されてもよい。この場合、通信は行為要求として処理され、その結果は、任意には受信した要求の発信元であるエンドポイントへと戻される。要求は、ルーティングパス決定要求、および/または通信の送信要求であってもよい。受信した通信が他の何らかの行為要求(仮想エンドポイントを変更する要求等)である場合、ゲートウェイはその行為を本明細書には記載していない方法で実行する。受信した通信がゲートウェイ100に宛先指定されない場合、またはルーティングパスの決定要求を含んでいる場合、ゲートウェイは図2に示すロジックを用いてルーティングパスを決定する。
さらに、好適な実施形態においては、決定されたルーティングパスに応じて通信を動的に変換および配信することが可能である。これら好適な実施形態においては、ルーティングエンジン30は1つ以上のプロトコル変換器を用いて、通信をあるプロトコルから他のプロトコルへと変換する。プロトコル変換器は、当該分野において公知であり、好適な実施形態においてはプラグイン・ロジック・モジュールとして実現される。各プロトコル変換器は、1つ以上の外部プロトコルと共通の中間プロトコルとの間で変換を行うことが好適である。
一実施例においては、ユーザ1によって装置2を用いてユーザ5に宛てて発信された通信は、ネットワーク80を介して送信され、ネットワーク80によってゲートウェイ100へと転送される。ルーティングエンジン30は、以下に詳説するようにエンドポイント82からエンドポイント86へのルーティングパスを動的に決定し、通信をエンドポイント86へと転送する。よって、ネットワーク85が通信を装置6すなわちユーザ5へと配信することとなる。
ユーザ1によって装置2を用いてユーザ5に宛てて発信される通信に関する他の実施例として、以下のものがある。通信に応答して、ネットワーク80は、ユーザ1と5との間に適切なルーティングパスを要求するさらなる通信をゲートウェイ100に発信する。ルーティングエンジン30は、エンドポイント82と86との間のルーティングパスを動的に決定し、これがネットワーク80へと戻される。続いて、ネットワーク80は、このルーティングパスに応じて、自らが接続されているネットワーク85へと通信を転送し、ネットワーク85が通信を装置6すなわちユーザ5へと配信する。ネットワーク80は、ゲートウェイ100によって決定されたルーティングパスに基づいてネットワーク85への接続を確立し、この接続に対応付けられたさらなる通信が自動的にこの接続に応じてネットワーク間で伝送されてもよいことが理解されるであろう。
ネットワーク80および85がゲートウェイ100へのインターフェースをとることが可能であれば、電子ネットワークである必要がないことも理解されるであろう。例えば、郵便ネットワークまたは配達ネットワークは、1つ以上の電子装置(コンピュータ、コンピュータ端末、バーコードリーダ、またはプリンタ等)を用いてゲートウェイ100へのインターフェースをとり、ルーティングパスの決定を要求して手紙や小包などの電子化されていない通信を配信することもできる。
図2は、通信用ルーティングパスを決定するために、ルーティングエンジン30において実行されるロジックを説明するフローチャートである。一例として、通信用ルーティングパスの動的決定、ならびに通信の変換および配信を説明する。プロトコル変換および/または配信が要求されていない通信に対しても同様のロジックを用いてもよいことが理解されるであろう。ロジックは、ブロック2010で開始される。ブロック2010においては、ルーティングエンジンが通信10を受信し、通信10のプロトコルを共通の中間プロトコルへと変換し、通信11を作成する。ルーティングエンジンは、通信11におけるメタデータとして発信側および受信側エンドポイントに関する全てのデータを含む。このデータは、ルーティングパスを決定するために用いられる、メッセージ10において指定されるいかなる仮想エンドポイントアドレスおよびエンドポイントのみならず、通信10において非明示の発信側および受信側エンドポイントをも含む。仮想エンドポイントアドレスは、仮想エンドポイントの識別子であり、本発明に係る実施形態において用いられる際に定義されているように、典型的には番号または文字列を含む。
ルーティングエンジン30が、通信10に対するいずれの受信側エンドポイントをも識別(ブロック2020)できない場合、配信不可能と判定され、ルーティングエンジンはブロック2080へと進む。本発明に係る好適な実施形態においては、ルーティングエンジンは、発信者が作成する通信19のプロトコルへと変換される(ブロック2090)エラーメッセージ17を作成し(ブロック2080)、次いでこれが発信者へと配信される。他の好適な実施形態においては、ルーティングエンジン30が発信側エンドポイントを識別できない場合、通信10は配信不可能と判定され、破棄される。
ルーティングエンジン30は、通信11のメタデータにおいて発信側および受信側仮想エンドポイントアドレスを探す(ブロック2030)。見つからなかった各仮想エンドポイントアドレスに対して、ルーティングエンジン30は、対応する指定されたエンドポイント、それができない場合は、通信10の対応する非明示のエンドポイントをデータインターフェース50に提供し、仮想エンドポイントアドレスを要求する。データインターフェース50は、要求された情報をデータ記憶機構60から検索してもよい。0、1つ、または2つの仮想エンドポイントアドレスが検索され、検索される仮想エンドポイントアドレスがない場合には、本方法は単に2つのエンドポイント間のルーティングとなることが理解されるであろう。
ルーティングエンジン30は、外部データインターフェース50に照会を行い、外部データインターフェース50がデータ記憶機構60および/または1つ以上の外部システム300から情報を検索することによって、ルーティングパスを決定するためのデータを検索する(ブロック2040)。要求されるデータには最初から、他のエンドポイントまたは仮想エンドポイントに係る通信に対して適用される、各仮想エンドポイントに対する嗜好が少なくとも含まれている。また、さらなる嗜好、ならびに種々のエンドポイントの状態および時刻等の動的データを含む情報が要求されてもよい。
続いて、ルーティングエンジン30は、ブロック2040で検索したデータに応じて通信11に対するルーティングパスを決定する(ブロック2050)。決定されたルーティングパスは、少なくとも1つの送信先エンドポイントを含むエンドポイントのベクトルから構成される。ルーティングパスのエンドポイントは、図3を参照して説明されるように、最も合致する基準を有する嗜好においてエンドポイントを見つけることにより決定される。
ルーティングエンジン30が、最適な合致を決定するためにさらなるデータを要求(ブロック2060)する場合、ロジックはブロック2040へと戻る。例えば、ルーティングエンジンは、ブロック2040へと進み、現在「利用可能」である送信先エンドポイントが、可能なルーティングパスリスト内のどのルーティングパスに含まれているかという情報を検索することによって、このリストからの選択を行うことも可能である。
さらなるデータが要求されない場合、ルーティングエンジン30は、そのルーティングパスにより通信11が配信可能かどうか(ブロック2070)を判断する。通信が配信不可能となる際に考えられる理由の1つとして、検索した嗜好が配信を行うべきではないと示しており、ルーティングパスが同内容を示すように設定されている場合がある。配信が不可能な場合、ロジックは、ブロック2080へと進む。
配信が不可能な場合、ルーティングエンジン30は、通信11をそのルーティングパスの送信先エンドポイントに対応付けられたプロトコルへと変換して(ブロック2090)、通信12を作成し、次いでこれが配信される。
ルーティングエンジン30は、多数の受信側エンドポイントおよび/または受信側仮想エンドポイントを検索してもよい(ブロック2030)(すなわち、通信が「マルチキャスト」である)。この場合、発信側エンドポイントまたは仮想エンドポイントと受信側エンドポイントまたは仮想エンドポイントとの各組合せに対して1つずつ、多数のルーティングパスが決定される。
ルーティングエンジン30は、多数のルーティングパスを単一の受信側仮想エンドポイントに対して決定してもよい(ブロック2050)。この場合、通信11の全体または一部は、多数のルーティングパスのそれぞれによって配信される。例えば、ユーザの嗜好により、任意のファクシミリ・エンドポイント宛てに受信したファクシミリを、多数のファクシミリ・エンドポイントへと配信することができる。メッセージと添付ファイルとの間またはメッセージとヘッダーとの間等の容易に識別可能な境界、あるいはテキスト10行毎または音声30秒毎等の任意の境界に沿って、通信を多数の部分に分割してもよい。例えば、添付ファイル付きのEメールを、メッセージは携帯電話へと配信され、添付ファイルは1つのEメールアドレスへと配信され、Eメール全体は異なるEメールアドレスへと配信されるように、多数のエンドポイントへと配信してもよい。
一実施形態においては、ルーティングエンジン30が、完了通知15を作成し、通信10のプロトコルへと変換(ブロック2090)して、通信16を作成し、これが通信10の発信者へと配信されることによって、完了通知が発信者へと送信されてもよい。
別の実施例においては、通信10がルーティングパスの決定要求である。この場合、通信10はゲートウェイ100に宛先指定され、要求したルーティングパスに対して指定されたエンドポイントまたは仮想エンドポイント識別子を含む。ルーティングエンジン30は、指定されたエンドポイントまたは仮想エンドポイントに対するルーティングパスを決定し、決定されたルーティングパスを通信10の発信者へと配信する。ルーティングエンジン30は、ルーティングパスの発信側エンドポイントを動的に決定してもよい。例えば、ユーザ1は、特定のプロトコル(SMTP等)の代わりにプロトコルのカテゴリ(テキスト等)を特定して、ユーザ5へのルーティングパスを要求することができる。続いて、ルーティングエンジン30は、そのプロトコルのカテゴリに関して、ユーザ双方の嗜好に最も合致するルーティングパスのエンドポイントを決定する。別の実施形態においては、発信者のみに対する仮想エンドポイントが含まれ、発信者に対する仮想エンドポイントに対応付けられた嗜好の関数としてルーティングパスが決定されてもよいことが理解されるであろう。
ゲートウェイ100による他の何らかの行為の実行を求める、ユーザからの要求等の他の種類の要求も可能である。、例えば、ユーザは、本明細書には記載していない方法でゲートウェイによって処理されるユーザの仮想エンドポイントの変更を要求してもよい。
ゲートウェイ100への要求は、ゲートウェイ100によって理解されるいかなるプロトコルでもよく、よって、ユーザは、SMS、Eメール、インスタントメッセージ、およびHTTP等を用いて要求を送信できることが理解されるであろう。
図3は、ユーザ1(人物A)およびユーザ5(人物B)それぞれに対する2つの仮想エンドポイント61および66の例を示す。各仮想エンドポイントにおける情報の列により、構造リストが形成される。左余白から同一の距離にインデントされた2つの列はいずれも構造の同一レベルにある。1列目が2列目よりも上にあり、2列目よりもインデント幅が小さく、かつ1列目と同等またはそれよりも小さい幅でインデントされる列が両者の間にない場合、1列目は2列目を包括すると考えられる。例えば、列3012は列3011よりも内側にあり、列3011が列3012を含む、より大まかなカテゴリであることを示している。このように、エンドポイントはプロトコルのグループにカテゴリ化され、ここで、より大まかなカテゴリ(列3011、3021、3023等)は、事実上仮想プロトコルを表す。従って、発信者および受信者の嗜好は、物理的なプロトコルレベル([email protected]等)のみというよりは、仮想プロトコルレベル(人物A/テキスト等)で合致させることが可能である。
本発明の適用例において、人物Aは、SMSプロトコルを用いてテキストメッセージを人物Bへと送信する。本実施例において、人物Aは、テキストを処理可能な人物Bの装置のアドレスを全く知らないため、メッセージを人物Bの自宅電話番号に宛先指定する。図2のロジックフローチャートに示したように、ルーティングエンジン30は、メッセージを共通の中間プロトコルへと変換し、人物Aおよび人物Bに対する仮想エンドポイントを決定し、人物Aからの通信に関する人物Bの嗜好および人物Bへの通信に関する人物Aの嗜好を検索する。本実施例において、検索された嗜好は図3に示されるようなものであるが、人物Aおよび人物Bに関する特定のルールとデフォルト値との組合せでもよい。
ルーティングパスを決定するために、ルーティングエンジン30は、まず発信側エンドポイント(列3012によって表される)と受信側エンドポイント(列3022によって表される)との間の合致を探す。列3012のカテゴリ(SMS、テキスト)が列3022のカテゴリ(自宅、電話、音声)のいずれにも合致しないため、これらの列(ひいては、これらのエンドポイント)はプロトコルが対応しない。従って、ルーティングエンジン30は、人物Bの嗜好の最も特定されたカテゴリに合致する、列3012の最も特定されたカテゴリを見つける。ここでは、列3012と3024とがそれに該当する。続いて、ルーティングエンジンは、データインターフェース50から情報を検索して、列3024のエンドポイントが現在利用可能かどうかを判断する。そのエンドポイントが現在利用可能ではない場合、その次に大まかな合致を検討する。この場合、列3012と3025、次に列3012と3026、列3012と3027、次に列3012と3028となる。これらの合致の内、現在利用可能なエンドポイントに対応付けられた最初の合致が、ルーティングパスにおいて選択される。
プロトコル90および95は同様のものである必要はないことが理解されるであろう。例えば、SMSが列3028へとルーティングされる場合、テキストを音声へと変換する変換器を用いて、通信11を音声に符号化された通信12へと変換することができる。人物Aのおよび人物Bの嗜好では列3012と3028とのプロトコルが対応可能であるため、人物Aが人物Bの職場電話番号へとSMSを送信する場合、直ちに変換され配信されることも理解されるであろう。
カテゴリについての発信者および受信者の双方の嗜好の合致では、カテゴリについて合致する、それぞれの仮想エンドポイントにおけるエンドポイントの数の積に該当する数の可能なルーティングパスの組が生成されることが理解されるであろう。従って、単一の仮想エンドポイントを用いた場合、または物理的なプロトコルのみを用いた場合よりも多い数の、可能なルーティングパスの組が得られることとなる。本実施例において、テキストカテゴリに対する可能なルーティングパスの組は全部で10組(人物Aの選択肢2つに人物Bの選択肢5つを乗算する)となる。これに対して、2つの仮想エンドポイント(列3012と3024)間には単一のSMS合致しかなく、SMSに対応可能であると従来考えられてきた物理的な受信者エンドポイントは4つ(列3024、3025、3026、および3027)しかない。
本発明に係る好適な実施形態は、ここに記載したロジックの変形例を実現する。例えば、利用可能なエンドポイントを用いて第1のルーティングパスを選択する代わりに、カテゴリ合致がよく、記憶/転送機能を有する利用不可能なエンドポイントを用いたパスを、カテゴリ合致がよくない利用可能なエンドポイントを用いるパスよりも優先して選択するという重み付けされた決定を行ってもよい。別の好適な実施形態においては、ルールに基づく処理を用いて、ロジックを実現または改良する。例えば、勤務時間およびその時間内に配信される通信に関して、人物Bに対する嗜好にルールを追加することができる。ルールに基づく処理においては、ある基準を行為の契機としてもよい。例えば、ルールによって、あるユーザから大容量の添付ファイル付きEメールを受信した場合は必ずSMSアラートを生成するようにしてもよい。ルールに基づく処理は当該分野において公知であり、説明された嗜好がルールに変換可能であることが理解されるであろう。
確実に、仮想エンドポイント等のユーザのデータの機密保護を行い、許可されたユーザ、装置、またはエンドポイントに対して特定の行為を制限するのに適したロジックまたはソフトウェアを提供することが可能である。
本発明に係る別の実施形態においては、以下に示すようなさらなる種類の嗜好を可能にするために、外部システム300からのさらなるデータを含む決定処理のロジックを実現してもよいことが理解されるであろう。
・この通信にいずれかのユーザがいくら支払う用意があるか
・ユーザらが共に要求された通りに通信を完了させることを望むか、または通信を他の方法で完了させることをより望むかどうか(例えば、リアルタイム接続要求を、メッセージキュー接続要求へと変更する)
・ユーザらが共に通信を完了させることを望むかどうか(例えば、ユーザが多忙である、不在である、応対不可である)
・通信を記憶および請求の目的で分類する(例えば、仕事用接続か私用接続か)
このロジックにより、ユーザの仮想エンドポイント内のいずれのアドレスを用いても、利用可能ないずれかのプロトコルにおいてユーザの宛先指定が可能となることが理解されるであろう。さらに、仮想エンドポイントのアドレスは、グローバルプロトコルから独立したアドレスとして用いることが可能である。これは、既存のプロトコルにおけるアドレスを仮想エンドポイントアドレスにマップすること、または仮想エンドポイントを直接的に宛先指定するように通信装置を変更することによって実現されてもよい。また、さらなる仮想アドレスを仮想エンドポイントに含めることも可能である。例えば、[email protected]または[email protected]等の役割に基づく1つ以上のアイデンティティを仮想エンドポイントに含めて、役割に基づくルーティングを可能としてもよい。従って、連絡先アドレスを他のユーザに渡す場合に、適切に制御されたアドレスを選択することによって、コンタクトを受付可能とする度合いを制御できることとなる。
一実施形態においては、ルーティングされている通信に関して、請求、ログインまたは監視等の取引情報が送信および/または受信されるように、ルーティングエンジン30がデータインターフェース50を用いてさらなる外部システム300へ接続されてもよいことも理解されるであろう。従って、ルーティングエンジン30で作成される情報が、外部システム300と共有可能となる。
共通の中間プロトコルにおける通信の処理にさらなる機能を追加してもよい。例えば、ルーティングエンジン30のロジックを改良して、機密保護チェック、圧縮、または暗号化等を実行可能である。このような処理はいずれも、その行為がその種類の通信に合理的に適用可能である限りにおいては、受信された通信のプロトコルまたは送信された通信のプロトコルに関わらず、ルーティングエンジン30に取扱われるいずれの通信に対しても利用可能となる。
図4は、ルーティングエンジン30が、以前に決定されたルーティングパスのキャッシュを保持している付加的なロジックを示している。本実施例では、通信に対するルーティングパスの動的な決定、ならびに通信の変換および配信を説明する。到着した通信10のプロトコルは、ブロック2010において共通の中間プロトコルへと変換され、通信11が作成される。続いて、ルーティングエンジン30は、送信側および受信側エンドポイント等の通信11内の情報を索引基準として用いて、キャッシュ70のエントリを探す(ブロック2015)。ルーティングエンジンが通信11に合致するエントリを見つけると、ロジックはブロック2077へと進む。
キャッシュ中に合致するエントリが見つからない場合、ロジックはブロック2020へと進み、図2に示すようにブロック2070までを実行する。ルーティングエンジン30が、通信11が配信可能であると判断(ブロック2070)した場合、ルーティングエンジンは通信11に対するルーティングパスを記憶するキャッシュ70にエントリを追加する(図4のブロック2075)。このキャッシュされたルーティングパスは、エンドポイント間の仮想接続(図1に仮想接続71として示す)を表している。
ルーティングエンジン30が、送信先プロトコルが通信10のものと同一であると判断(ブロック2077)した場合、通信10は直接配信される。プロトコルが異なる場合、ルーティングエンジンは、通信11のプロトコルを送信先プロトコルへと変換して(ブロック2090)、通信12を作成し、次いでこれが配信される。
仮想接続71が一旦確立されると、通信がエンドポイント82と86との間にルーティング可能であり、ルーティングパスは仮想接続71に記憶された情報を用いて決定され、よって処理時間が短縮されることが理解されるであろう。
いずれの構成要素、エンドポイント82、エンドポイント86、プロトコル90、またはプロトコル95も、仮想接続71によって独立的に定義されるそれらの間の接続を遮断することなしに変更可能であることも理解されるであろう。例えば、エンドポイントの変更要求を、エンドポイント82またはユーザ1に許可された他のいずれかのエンドポイントからルーティングエンジン30へと送信してもよい。ルーティングエンジン30は、図4に示したものを含むロジックを用いてこの要求を処理し、その結果、仮想エンドポイント61に対する嗜好において特定される通りに仮想接続71を変更することができる。ルーティングエンジン30に受信され、仮想接続71に対応付けられる後続の通信は、変更したルーティングパスに応じて配信される。行為要求に応じて、キャッシュ70から仮想接続71を消去してもよい。例えば、動的に決定されたルーティングパスに応じて確立された接続が切断された場合、その接続を担当しているネットワークは、キャッシュ70の対応する仮想接続を消去するように要求してもよい。
図5は、本発明に係る別の実施形態による、別々かつ相互接続された2つのゲートウェイ100および105を示す。ユーザ1は、エンドポイント82によって表され、ネットワーク80を介してゲートウェイ100に接続される装置2を用いる。ユーザ5は、エンドポイント86によって表され、ネットワーク85を介してゲートウェイ105に接続される装置6を用いる。ゲートウェイ100の構成要素は図1に示した通りである。ルーティングエンジン35、データインターフェース55、データ記憶機構65、および外部システム305は、ゲートウェイ105においてそれぞれ対応するルーティングエンジン、データインターフェース、データ記憶機構、および外部システムである。ゲートウェイ105にも通信ポート20が含まれる。仮想エンドポイント61はユーザ1を表し、仮想エンドポイント66はユーザ5を表し、仮想エンドポイント67はルーティングエンジン35を表す。プロトコル99は共通の中間プロトコルである。
一実施例においては、ユーザ1は、通信10の形態をとるルーティングパス要求を、エンドポイント82を用いてユーザ5に対応付けられたエンドポイントへと送信する。本実施例において、通信10は、インスタントメッセージ(「チャット」)セッション要求等の接続要求であり、配信されるべきメッセージおよびルーティングパス要求の両方を含む。図2および図4のルーティングロジックを参照して説明したように、ルーティングエンジン30は、通信10を通信11へと変換する(ブロック2010)。ルーティングエンジン30は、データインターフェース50を用いて、発信者および受信者に対する仮想エンドポイントアドレスを識別する(ブロック2030)。本実施例においては、データインターフェース50は、ユーザ1に対する仮想エンドポイント61をデータ記憶機構60から検索するが、ユーザ5に対する情報をデータ記憶機構60から見つけることはない。続いて、データインターフェース50は、外部システム300の1つであるユーザからシステムへのグローバルサーバに照会を行い、ルーティングエンジン35のアドレスを得る。データインターフェース50は、このアドレスを、通信11に対する受信側仮想エンドポイントとしてルーティングエンジン30に戻す。(ユーザからシステムへのグローバルサーバは、DNSまたはLDAPサーバのロジック等の当該分野において公知のロジックを用いて実現されることが好ましい。)
ルーティングエンジン30は、各仮想エンドポイントに関連するデータを検索する(ブロック2040)。データインターフェース50は、データ記憶機構60から仮想エンドポイント61のデータを検索し、データインターフェース55を介して仮想エンドポイント67のデータを検索する。仮想エンドポイント67に対して検索されたデータから、ルーティングエンジン30は、ルーティングパスの送信先エンドポイントがルーティングエンジン35となり、プロトコル99が用いられると判断する(ブロック2050)。ルーティングエンジン30は、このルーティングパスを仮想接続71に記憶する(ブロック2075)。
ルーティングエンジン30は、共通の中間プロトコル99を用いて通信11をルーティングエンジン35へと配信する(ブロック2090)。この配信プロトコルは通信11のものと同一であるため、変換を実際に行う必要はない。
ルーティングエンジン35も、図2および図4に示すロジックを実行する。通常、ルーティングエンジン35は、通信を共通の中間プロトコルへと変換して(ブロック2010)、通信11を作成する。しかしながら、ルーティングエンジン30は通信を共通の中間プロトコルで送信するため、変換を実際に行う必要はない。
ルーティングエンジン35は、データ記憶機構65に仮想エンドポイント66を見つけるデータインターフェース55を用いて、通信11の発信者および受信者双方に対する指定された仮想エンドポイントアドレスを識別する(ブロック2030)。ルーティングエンジン30は、仮想エンドポイント61のアドレスを、通信11におけるメタデータとして含むことが好ましい。しかしながら、ルーティングエンジン35は、データインターフェース55および外部システム305を用いても発信者の仮想エンドポイントを識別可能であることが理解されるであろう。
ルーティングエンジン35は、データインターフェース55に照会を行うことによって、仮想エンドポイント61および66に関連するデータを検索する(ブロック2040)。データインターフェース55は、データインターフェース50を介して仮想エンドポイント61に対する嗜好を検索し、データ記憶機構65から仮想エンドポイントに対する嗜好を検索する。
ルーティングエンジン35も、検索された嗜好から、ユーザ5への接続に関するユーザ1の嗜好およびユーザ1からの接続要求に関するユーザ5の嗜好を決定し、送信先エンドポイントはプロトコル95によるエンドポイント86であると判断する(ブロック2050)。
ルーティングエンジン35は、プロトコル95における仮想接続71とエンドポイント86との間のルーティングパスを含めるように仮想接続76を確立または変更し(ブロック2075)、ルーティングエンジン30に接続が完了した旨を通知する。ルーティングエンジン30は、仮想接続76へと向かうように仮想接続71を更新する。ルーティングエンジン35は、通信11をプロトコル95へと変換して(ブロック2090)、エンドポイント86へと配信される通信12を作成する。
この段階で仮想接続71および76が、エンドポイント82と86との間のルーティングパスを定義するマップされた仮想接続111を定義していること、およびエンドポイント82、プロトコル90、エンドポイント86、またはプロトコル95の詳細は接続を遮断することなしに変更可能であることが理解されるであろう。
しかしながら、ルーティングエンジン30および35は、仮想接続71および76を確立することなしにエンドポイント82と86との間の通信を動的にルーティング可能である。
本発明に係る変形された実施形態においては、ゲートウェイ100および105が、単一のゲートウェイ上に任意に置かれる単一の仮想接続(71または76)を共有する。
本発明に係るさらに変形された実施形態においては、ルーティングエンジン35が、通信11をさらなる交渉用ゲートウェイへと配信する(すなわち、本発明に係る実施形態において、エンドポイント86がルーティングエンジンとなる)。実施にあたっては、任意の数のゲートウェイを連接して発信者と受信者との間のパスを定義してもよい。
本発明は、異なるプロトコルを用いる異なる通信ユーザに、相手のユーザに用いられる装置またはプロトコルの詳細を気にすることなく円滑な接続及び通信を行うこと可能とする。さらに、ユーザにとっては以下のような利点がある。
・各ユーザの嗜好に応じた接続についての交渉により、制御がさらに可能となる。
・交信の途中で装置またはプロトコルを変更する能力が得られる。
・全てのプロトコルおよび装置に自動的に適用可能な追加機能が得られる。
上記においては、本発明に係る実施形態のいくつかのみを説明した。当業者にとって明白な変更及び追加は、発明の範囲から逸脱することなく実施することができる。
例えば、受信した通信を共通の中間プロトコルへと変換する代わりに、ルーティングパスが決定するまでバッファに保存し、(発信側エンドポイントのプロトコルと送信先エンドポイントのプロトコルとが異なる場合は)送信先エンドポイントのプロトコルに直接変換することも可能である。
本発明は、通信エンドポイント間のルーティングパスの決定に特に言及して説明されたが、エンドポイント間の通信は他の情報を組み込むことも可能であることが理解されるであろう。例えば、金銭取引等の金融取引を、銀行口座等の動的に決定された金融エンドポイント間でルーティング可能である。
本発明に係る一実施形態による、2者の通信ユーザに用いられる2つの通信ネットワークに接続されるゲートウェイのブロック図である。 図1のゲートウェイがルーティングパスを決定するために実行するロジックを説明するフローチャートである。 図2に示すロジックを説明するために用いられる2つの仮想エンドポイントの例である。 図1のゲートウェイが、動的に決定されたルーティングパスの詳細を含むキャッシュエントリを記憶および検索するために実行するロジックを説明するフローチャートである。 本発明に係る別の実施形態による、図2、図3、および図4に示すロジックを実行し、2つの通信ネットワークにそれぞれ1つずつ接続され、2者のユーザにそれぞれ1つずつ用いられる、相互接続された2つのゲートウェイのブロック図である。

Claims (21)

  1. 発信者と受信者との間の電話通信またはデータ通信等の通信を、前記発信者および前記受信者の嗜好に基づいてルーティングする方法であって、
    ユーザに対する複数のエンドポイントを、そのユーザに対する仮想エンドポイントとして記憶する記憶ステップであって、前記ユーザは前記通信の発信者または受信者であり、各エンドポイントはそれぞれのユーザ間の通信の発信元および/または送信先を表す記憶ステップと、
    ある基準に合致した場合に前記各仮想エンドポイントの前記複数のエンドポイントの内のどのエンドポイントを通信のルーティングパスに用いるかを特定する嗜好を、前記仮想エンドポイントに対応付けるステップと、
    発信者エンドポイントと受信者エンドポイントとの間のルーティングパスを、前記受信者および前記発信者に対する前記仮想エンドポイントに対応付けられた前記嗜好に応じて決定するステップと、を含む方法。
  2. 前記通信は、1つ以上の受信者エンドポイントを有し、ルーティングパスは、前記発信者エンドポイントと各受信者エンドポイントとの間で、前記発信者および前記各受信者に対する前記仮想エンドポイントに対応付けられた前記嗜好に応じて決定される、請求項1に記載の方法。
  3. 前記通信から少なくとも1つの付加的な通信を引き出すステップと、
    前記発信者エンドポイントと各付加的な通信に対する各受信者エンドポイントとの間のルーティングパスを決定するステップと、
    をさらに含む請求項1に記載の方法。
  4. 発信者と受信者との間の電話通信またはデータ通信等の通信を、前記発信者の嗜好に基づいてルーティングする方法であって、
    前記発信者に対する複数のエンドポイントを、その発信者に対する仮想エンドポイントとして記憶する記憶ステップであって、各エンドポイントは発信者との間の通信の発信元および/または送信先を表す記憶ステップと、
    ある基準に合致した場合に前記発信者の仮想エンドポイントの前記複数のエンドポイントの内のどのエンドポイントを通信のルーティングパスに用いるかを特定する嗜好を、前記発信者の仮想エンドポイントに対応付けるステップと、
    発信者エンドポイントと受信者エンドポイントとの間のルーティングパスを、前記受信者に対する前記仮想エンドポイントに対応付けられた前記嗜好に応じて決定するステップと、を含む方法。
  5. 前記受信者は多数のエンドポイントを有し、
    前記ルーティングパスを決定するステップは、前記発信者に対する前記仮想エンドポイントに対応付けられた前記嗜好に応じて、受信者エンドポイントを選択することを含む、請求項4に記載の方法。
  6. 仮想エンドポイントに対する前記嗜好は、その仮想エンドポイントの前記エンドポイントが属するカテゴリを特定し、
    前記ルーティングパスを決定するステップは、カテゴリを参照することにより最も合致するエンドポイントを決定することを含む、請求項1〜4のいずれかに記載の方法。
  7. 前記決定されたルーティングパスを介して、前記発信者エンドポイントと前記受信者エンドポイントとの間の通信を可能とするステップをさらに含む、請求項1〜6のいずれかに記載の方法。
  8. 前記受信者エンドポイントは、前記発信者エンドポイントとは異なる通信プロトコルおよび/またはフォーマットを有し、
    前記通信の前記プロトコルおよび/またはフォーマットを、前記発信者のエンドポイントのものから前記受信者のエンドポイントのものへと変換するステップをさらに含む、請求項1〜8のいずれかに記載の方法。
  9. 前記プロトコルおよび/またはフォーマットを変換するステップは、前記通信の前記プロトコルおよび/またはフォーマットを、前記発信者のエンドポイントのものから、中間プロトコルへ、さらに前記受信者のエンドポイントのものへと変換することを含む、請求項8に記載の方法。
  10. 前記ルーティングパスは、ルールに基づく処理を用いて決定される、請求項1〜9のいずれかに記載の方法。
  11. 前記決定されたルーティングパスは、キャッシュメモリに記憶される、請求項1〜10のいずれかに記載の方法。
  12. 仮想エンドポイントにおける各エンドポイントは、アドレス/プロトコルの対である、請求項1〜11のいずれかに記載の方法。
  13. 各仮想エンドポイントに対する前記嗜好は、
    (i)他の仮想エンドポイントおよび/またはエンドポイントに関する基準、
    (ii)プロトコルおよびフォーマットを含む通信の種類に関する基準、
    (iii)前記エンドポイントのカテゴリに関する基準、ならびに
    (iv)動的データに関する基準の1つ以上、
    を含む、請求項1〜12のいずれかに記載の方法。
  14. 発信者と受信者との間の電話通信またはデータ通信等の通信を、前記発信者および前記受信者の嗜好に基づいてルーティングする装置であって、
    ユーザに対する複数のエンドポイントを、そのユーザに対する仮想エンドポイントとして記憶し、かつ各仮想エンドポイントに対応付けられた嗜好に関するデータを記憶する記憶手段であって、前記ユーザは前記通信の発信者または受信者であり、各エンドポイントはそれぞれのユーザ間の通信の発信元および/または送信先を表す記憶手段と、
    発信者エンドポイントと受信者エンドポイントとの間のルーティングパスを、前記受信者および前記発信者に対する前記仮想エンドポイントに対応付けられた前記嗜好に応じて決定する手段と、を含む装置。
  15. 発信者と受信者との間の電話通信またはデータ通信等の通信を、前記発信者の嗜好に基づいてルーティングする装置であって、
    前記発信者に対する複数のエンドポイントをその発信者に対する仮想エンドポイントとして記憶し、かつ前記仮想エンドポイントに対応付けられた嗜好に関するデータを記憶し、各エンドポイントは発信者との間の通信の発信元および/または送信先を表す記憶手段と、
    発信者エンドポイントと受信者エンドポイントとの間のルーティングパスを、前記受信者に対する前記仮想エンドポイントに対応付けられた前記嗜好に応じて決定する手段と、を含む装置。
  16. 前記装置は、1つ以上の通信ネットワークに接続され、前記ネットワークを介して前記発信者エンドポイントおよび前記受信者エンドポイントと通信を行うように構成されている、請求項14または15に記載の装置。
  17. 前記決定されたルーティングパスを介し、前記発信者エンドポイントと前記受信者エンドポイントとの間の通信を確立する手段をさらに含む、請求項14〜16のいずれかに記載の装置。
  18. 前記受信者エンドポイントは、前記発信者エンドポイントとは異なる通信プロトコルおよび/またはフォーマットを有し、
    前記通信の前記プロトコルおよび/またはフォーマットを、前記発信者のエンドポイントのものから前記受信者のエンドポイントのものへと変換する手段をさらに含む、請求項14〜17のいずれかに記載の装置。
  19. 前記変換手段は、前記通信の前記プロトコルおよび/またはフォーマットを、前記発信者のエンドポイントのものから、中間プロトコルへ、さらに前記受信者のエンドポイントのものへと変換する、請求項18に記載の装置。
  20. 前記ルーティングパスを決定する手段は、ルールに基づく処理が可能なルールエンジンを含む、請求項14〜19のいずれかに記載の装置。
  21. 前記決定されたルーティングパスを記憶するキャッシュメモリをさらに含む、請求項14〜20のいずれかに記載の装置。
JP2007526107A 2004-06-07 2005-06-07 通信をルーティングする方法および装置 Expired - Fee Related JP4724717B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
AU2004903034A AU2004903034A0 (en) 2004-06-07 Method and Apparatus for Routing Communications
AU2004903034 2004-06-07
PCT/AU2005/000816 WO2005122510A1 (en) 2004-06-07 2005-06-07 Method and apparatus for routing communications

Publications (2)

Publication Number Publication Date
JP2008502233A true JP2008502233A (ja) 2008-01-24
JP4724717B2 JP4724717B2 (ja) 2011-07-13

Family

ID=35503480

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007526107A Expired - Fee Related JP4724717B2 (ja) 2004-06-07 2005-06-07 通信をルーティングする方法および装置

Country Status (5)

Country Link
US (1) US20070237135A1 (ja)
EP (1) EP1766903A4 (ja)
JP (1) JP4724717B2 (ja)
CN (1) CN1973504A (ja)
WO (1) WO2005122510A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013514001A (ja) * 2009-12-15 2013-04-22 クアルコム,インコーポレイテッド アドホックピアトゥピア接続のために分散メッセージバスを使用するための方法および装置
WO2014138369A1 (en) * 2013-03-06 2014-09-12 Ringcentral, Inc. Persistent format conversions

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8204941B1 (en) * 2005-09-22 2012-06-19 Sprint Communications Company L.P. Presence updating with preferred service determination
US7873032B2 (en) 2006-03-02 2011-01-18 Tango Networks, Inc. Call flow system and method use in VoIP telecommunication system
US7873001B2 (en) 2006-03-02 2011-01-18 Tango Networks, Inc. System and method for enabling VPN-less session setup for connecting mobile data devices to an enterprise data network
US8175053B2 (en) 2006-03-02 2012-05-08 Tango Networks, Inc. System and method for enabling VPN-less session setup for connecting mobile data devices to an enterprise data network
US11405846B2 (en) 2006-03-02 2022-08-02 Tango Networks, Inc. Call flow system and method for use in a legacy telecommunication system
US8023479B2 (en) 2006-03-02 2011-09-20 Tango Networks, Inc. Mobile application gateway for connecting devices on a cellular network with individual enterprise and data networks
US7890096B2 (en) 2006-03-02 2011-02-15 Tango Networks, Inc. System and method for enabling call originations using SMS and hotline capabilities
US7751542B2 (en) * 2006-05-04 2010-07-06 Avaya Inc. Feeble ring tones
WO2008095123A2 (en) * 2007-01-31 2008-08-07 Advanced Technologies Holdings, Llc A gateway switch for hybrid wired and wireless communications
EP2115978A2 (en) * 2007-01-31 2009-11-11 Advanced Technologues Holdings, Inc. A hybrid wired and wireless universal access network
EP2081361B1 (en) * 2008-01-21 2014-03-26 Alcatel Lucent Converged information systems
KR101361885B1 (ko) * 2009-10-23 2014-02-12 후지쯔 가부시끼가이샤 통신 시스템
US8903847B2 (en) * 2010-03-05 2014-12-02 International Business Machines Corporation Digital media voice tags in social networks
US8688090B2 (en) 2011-03-21 2014-04-01 International Business Machines Corporation Data session preferences
US20120246238A1 (en) 2011-03-21 2012-09-27 International Business Machines Corporation Asynchronous messaging tags
US20120244842A1 (en) 2011-03-21 2012-09-27 International Business Machines Corporation Data Session Synchronization With Phone Numbers
US9292351B2 (en) * 2012-06-15 2016-03-22 Verizon Patent And Licensing Inc. Distributed fabric architecture in a cloud computing environment
US9819621B2 (en) 2013-12-27 2017-11-14 Entefy Inc. Apparatus and method for optimized multi-format communication delivery protocol prediction
US9930002B2 (en) * 2013-12-27 2018-03-27 Entefy Inc. Apparatus and method for intelligent delivery time determination for a multi-format and/or multi-protocol communication
US20170193009A1 (en) 2015-12-31 2017-07-06 Entefy Inc. Systems and methods for filtering of computer vision generated tags using natural language processing
US10394966B2 (en) 2014-02-24 2019-08-27 Entefy Inc. Systems and methods for multi-protocol, multi-format universal searching
US11755629B1 (en) 2014-02-24 2023-09-12 Entefy Inc. System and method of context-based predictive content tagging for encrypted data
US10169447B2 (en) 2014-02-24 2019-01-01 Entefy Inc. System and method of message threading for a multi-format, multi-protocol communication system
US10630505B2 (en) * 2015-01-28 2020-04-21 Umbra Technologies Ltd. System and method for a global virtual network
EP3356912A1 (en) 2015-09-28 2018-08-08 Microsoft Technology Licensing, LLC Unified virtual reality platform
EP3357205B1 (en) * 2015-09-28 2022-01-05 Microsoft Technology Licensing, LLC User assistant for unified messaging platform
US10135764B2 (en) 2015-12-31 2018-11-20 Entefy Inc. Universal interaction platform for people, services, and devices
US10353754B2 (en) 2015-12-31 2019-07-16 Entefy Inc. Application program interface analyzer for a universal interaction platform
US10491690B2 (en) 2016-12-31 2019-11-26 Entefy Inc. Distributed natural language message interpretation engine
US20200106735A1 (en) * 2018-09-27 2020-04-02 Salvatore Guerrieri Systems and Methods for Communications & Commerce Between System Users and Non-System Users
US11948023B2 (en) 2017-12-29 2024-04-02 Entefy Inc. Automatic application program interface (API) selector for unsupervised natural language processing (NLP) intent classification
US10587553B1 (en) 2017-12-29 2020-03-10 Entefy Inc. Methods and systems to support adaptive multi-participant thread monitoring
US11573990B2 (en) 2017-12-29 2023-02-07 Entefy Inc. Search-based natural language intent determination
CN111064716B (zh) * 2019-12-05 2022-03-11 深圳猛犸电动科技有限公司 消息转换方法、装置、存储介质及服务器

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04167040A (ja) * 1990-10-26 1992-06-15 Data General Corp ネットワーク通信システム
JPH10322397A (ja) * 1997-03-25 1998-12-04 At & T Corp アクティブユーザレジストリサービス運用方法
JP2002374318A (ja) * 2001-03-15 2002-12-26 Microsoft Corp コミュニケーションのための優先モダリティまたはチャネルを、参加者のプリファレンスとコンテキストに基づいて特定し、確立するためのシステムおよび方法
JP2004229296A (ja) * 2003-01-20 2004-08-12 Avaya Technology Corp プレゼンス・アウェア・ネットワークでのメッセージング・アドバイス

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5825865A (en) * 1991-10-04 1998-10-20 Motorola, Inc. Temporary message routing and destination selection
US5509000A (en) * 1994-06-10 1996-04-16 Motorola, Inc. Method and apparatus for routing information in a communication system
US5742905A (en) * 1994-09-19 1998-04-21 Bell Communications Research, Inc. Personal communications internetworking
JP3699744B2 (ja) * 1995-03-30 2005-09-28 株式会社東芝 協調型推論装置
US6020980A (en) * 1996-09-30 2000-02-01 Mci Communications Corporation Facsimile delivery to electronic mail
GB9621248D0 (en) * 1996-10-11 1996-11-27 Univ Cambridge Tech Switching system
US6335927B1 (en) * 1996-11-18 2002-01-01 Mci Communications Corporation System and method for providing requested quality of service in a hybrid network
US6813346B2 (en) * 1998-08-10 2004-11-02 Sbc Properties, L.P. System and method for selecting a destination number upon receiving a dialed number from a calling party
US6625642B1 (en) * 1998-11-06 2003-09-23 J2 Global Communications System and process for transmitting electronic mail using a conventional facsimile device
US6606647B2 (en) * 1999-01-11 2003-08-12 Infospace, Inc. Server and method for routing messages to achieve unified communications
US6711154B1 (en) * 1999-01-29 2004-03-23 Microsoft Corporation Apparatus and method for device independent messaging notification
US6751459B1 (en) * 1999-04-20 2004-06-15 Nortel Networks Limited Nomadic computing with personal mobility domain name system
US6564261B1 (en) * 1999-05-10 2003-05-13 Telefonaktiebolaget Lm Ericsson (Publ) Distributed system to intelligently establish sessions between anonymous users over various networks
US20020065894A1 (en) * 1999-12-03 2002-05-30 Dalal Siddhartha R. Local presence state and user-controlled presence and message forwarding in unified instant messaging
US6625258B1 (en) * 1999-12-27 2003-09-23 Nortel Networks Ltd System and method for providing unified communication services support
US20010036258A1 (en) * 2000-06-01 2001-11-01 Binay Sugla Telecommunication service for prioritizing and enhancing privacy of incoming calls
WO2001093551A2 (en) * 2000-06-01 2001-12-06 Pika Media Method and apparatus for advertising in telecommunications networks
WO2002007456A1 (en) * 2000-07-14 2002-01-24 Tekelec Triggerless screening services
US6988132B2 (en) * 2001-03-15 2006-01-17 Microsoft Corporation System and method for identifying and establishing preferred modalities or channels for communications based on participants' preferences and contexts
US20030076816A1 (en) * 2001-04-26 2003-04-24 At Comm Corporation Automatic route selection
US6925155B2 (en) * 2002-01-18 2005-08-02 Sbc Properties, L.P. Method and system for routing calls based on a language preference
US20040218748A1 (en) * 2003-04-30 2004-11-04 Stephen Fisher Method and system for providing and using telephone call routing rules
US7372953B2 (en) * 2003-05-28 2008-05-13 Tekelec Methods and systems for default routing in a signaling network
EP1531595A1 (en) 2003-11-17 2005-05-18 Hewlett-Packard Development Company, L.P. Communication system and method supporting format conversion and session management
US6987850B1 (en) * 2004-03-02 2006-01-17 Sprint Communications Company L.P. Communication system for telecommunication relay services
US7512090B2 (en) * 2004-04-19 2009-03-31 Alcatel-Lucent Usa Inc. System and method for routing calls in a wireless network using a single point of contact
US7616753B2 (en) * 2004-05-03 2009-11-10 Sprint Communications Company L.P. System and method for providing intercept of international calls to reroute the call from the default international routing

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04167040A (ja) * 1990-10-26 1992-06-15 Data General Corp ネットワーク通信システム
JPH10322397A (ja) * 1997-03-25 1998-12-04 At & T Corp アクティブユーザレジストリサービス運用方法
JP2002374318A (ja) * 2001-03-15 2002-12-26 Microsoft Corp コミュニケーションのための優先モダリティまたはチャネルを、参加者のプリファレンスとコンテキストに基づいて特定し、確立するためのシステムおよび方法
JP2004229296A (ja) * 2003-01-20 2004-08-12 Avaya Technology Corp プレゼンス・アウェア・ネットワークでのメッセージング・アドバイス

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013514001A (ja) * 2009-12-15 2013-04-22 クアルコム,インコーポレイテッド アドホックピアトゥピア接続のために分散メッセージバスを使用するための方法および装置
US9043478B2 (en) 2009-12-15 2015-05-26 Qualcomm Innovation Center, Inc. Methods and apparatus for using a distributed message bus for ad hoc peer-to-peer connectivity
WO2014138369A1 (en) * 2013-03-06 2014-09-12 Ringcentral, Inc. Persistent format conversions
US9219772B2 (en) 2013-03-06 2015-12-22 Ringcentral, Inc. Persistent format conversions
US9614795B2 (en) 2013-03-06 2017-04-04 Ringcentral, Inc. Persistent format conversions
US9906629B2 (en) 2013-03-06 2018-02-27 Ringcentral, Inc. Persistent format conversions

Also Published As

Publication number Publication date
WO2005122510A1 (en) 2005-12-22
US20070237135A1 (en) 2007-10-11
EP1766903A4 (en) 2007-12-19
CN1973504A (zh) 2007-05-30
JP4724717B2 (ja) 2011-07-13
EP1766903A1 (en) 2007-03-28

Similar Documents

Publication Publication Date Title
JP4724717B2 (ja) 通信をルーティングする方法および装置
US6301609B1 (en) Assignable associate priorities for user-definable instant messaging buddy groups
US8031846B2 (en) Electronic mail distribution system for integrated electronic communications
US9398461B2 (en) Handling information
US8467505B2 (en) Voicemail filtering software
US9049287B2 (en) Method and system for resolving phone numbers for filtering voice calls
US20120220279A1 (en) Updating contact information for mobile traffic
US6084952A (en) System and method for communicating electronic messages over a telephone network using acoustical coupling
US20060265587A1 (en) Method and servers for managing address information of user session initiation protocol terminal
US8634411B2 (en) Integration of voice chat services
WO2008052476A1 (fr) Procédé de gestion de conversation, client de message universel et serveur de message universel associés
KR100779012B1 (ko) 타 메신저간 통신 시스템 및 방법
US6732143B1 (en) Method and system for integrating telephone voice communications into a client-server architecture
US8930466B2 (en) Method for internet-based messaging
US9900353B2 (en) Method and apparatus for enabling communications between users
EP2293534A1 (en) Method and apparatus for forwarding voicemail
KR100430910B1 (ko) 지정된 응용 모듈의 기능을 차용하는 그룹-독립형 메시지전송 방법 및 시스템
JP5031766B2 (ja) Ip電話サービスの相互接続
AU2005253170B2 (en) Method and apparatus for routing communications
EP1783982B1 (en) Service creation via presence messaging
KR101302775B1 (ko) 통합 커뮤니케이션 시스템에서 멀티미디어 데이터 제공 장치 및 방법
SE518175C3 (sv) Server och förfarande för att tillhandahålla information till en abonnents terminal
JPH05308376A (ja) 電子メールアドレス指定方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080606

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100730

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100810

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101109

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101116

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110111

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110210

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

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

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

Free format text: PAYMENT UNTIL: 20140415

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees